Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Absolutely. A method shouldn't be patentable just because it's too boring for a human to perform a mindless computation over and over again. Multiply a 3x3 matrix is simple for me to do by hand; multiplying a 1000x1000 matrix is no different in process but is much more time consuming; should the latter be patentable? (In my mind the answer is clearly no.)

I can see where there might be some concern that you could claim anything that could be done on a computer could also be done more slowly by a human with a pencil and paper. Frankly, I don't have much of a problem with this: automating simple tasks doesn't seem like an invention, it sounds like a land-grab. Certainly there are nontrivial tasks that a computer can perform but which cannot be done well enough or fast enough by a person, e.g., closing a control loop in software (delay leads to instability; if you can't perform a computation fast enough, you cannot perform the control function, thus, certain such tasks could not be performed by a human with pencil and paper).

It's arguable whether even something like this ("implement an equation... but really fast!") really ought to be patentable, and while I'm a named inventor on at least a few patents in this area, I'm doubtful. Of course, my employer has no such qualms, and is happy to hold said patents.



> closing a control loop in software (delay leads to instability; if you can't perform a computation fast enough, you cannot perform the control function, thus, certain such tasks could not be performed by a human with pencil and paper).

I agree with your point but I find a certain irony in the fact that a pilot is clearly closing a highly delay-sensitive control loop without doing any math whatsoever.


It's not delay sensitive on the same order of magnitude as something like a dc/dc converter. The relevant time constants in the pilot->controls->control surfaces->attitude->pilot loop are measured in fractional seconds (and when they're not, e.g., in fly-by-wire designs, the loops aren't closed by a person).

The fastest relevant time constant for the control loop of a switching power converter with meager 1 kHz closed-loop bandwidth is measured in fractional milliseconds (you care about poles up to, say, 10x your crossover frequency). For a pretty run-of-the-mill analog circuit like an op-amp, the relevant time constants are often measured in nanoseconds. Heck, even something slow like an audio amplifier has relevant time constants in the tens of microsecond range.

Also, don't underestimate the amount of subconscious math you're doing even for a simple task like walking. Your body's subconscious understanding of physics is pretty damn impressive. The problem is that our brains are pretty specific in the types of problems they're adapted to solving. Riding a bike, sure. Induction motor controller, probably not so much :)


The problem is that our brains are pretty specific in the types of problems they're adapted to solving. Riding a bike, sure. Induction motor controller, probably not so much :)

I suspect that it would be possible to map most control problems onto a problem that the human mind can solve, either consciously or instinctively. I don't think the speed of the loop should be a deciding factor at all, at least when a computer is doing the control. For example, you could map maintaining power supply stability to standing upright just by slowing the problem down and converting the input variables into axes of motion.

To sum up, bumping up the clock speed on something a human could do (even if it took them a thousand years) seems like a very poor criterion for patentability, and I hope the issue is revisited and clarified.


The point parent was making is you can't slow the induction controller problem down because it would yield a completely different output due to the instability.

Slowing down the sort of pen and paper calculation the court ruled on does not change the result, it simply yields the same result more slowly.

I still agree this is probably not a sufficient criterion for patentability though. There are plenty open loop systems that intuitively seem like they should be patentable... for example video encoding methods.


"The problem is that our brains are pretty specific in the types of problems they're adapted to solving"

Brain in fact can adapt it's physic coprocesor to solve many problems it was not originaly intended to solve - see extreme sports, arcade games, steering vehicles, playing live music (and imrpovising it).

I think we could perform many task currently thought to be too computation intesive for human, if there was some clever interface, allowing us to use our coprocessor to solve it.

Like somehow translating problem of controlling induction motor into problem of keeping balance on the bicycle :)


I was going to say the same thing kwantam did about piloting: airplanes generally fly themselves. In the vast majority of situations, all the pilot (ideally) does is add slow and small perturbations. Airplanes without inherent stability, like some fighter jets, are without exception flown by computers, with the pilot providing control inputs to the loop.


I had a professor who was a control systems engineer. They had a helicopter simulation hooked up where you could attempt to fly it both with and without the control system. I don't think I was able to move it more than a few feet without having it flip over when I wasn't using the control system.

And if you want to bring math into it, he was also damn good at solving the matrices filled with hairy PDEs that described the whole system.


> without doing any math whatsoever.

The pilot is doing a lot of calculations. It's just not representing sensory inputs and muscular outputs as numbers.


> A method shouldn't be patentable just because it's too boring for a human to perform a mindless computation over and over again.

That's not the effect here, it doesn't ensure patentability. It's excluding the low hanging fruit of tasks that can obviously be done by a human.

Maybe we want to exclude the large class of obvious and simple methods from patentability, but simplicity is hard to decide in a general way for any given algorithm. With this test, we can quickly make that decision for a special subset of those obvious and simple operations, the ones that are so obvious and simple that they can be done by hand.

I think it's a tiny incremental change, maybe that deserves criticism: it doesn't go nearly far enough. But hey, the law grinds fine, and exceedingly slow.


This issue is related to a similar issue in copyright – is the "sweat of your brow" enough to render a protected work? The classic example is the white pages.


* ... multiplying a 1000x1000 matrix is no different in process but is much more time consuming; should the latter be patentable?*

A naive algorithm for multiplying square matrices runs in O(N^4). A slightly less naive algorithm runs in O(N^3). There is an especially clever algorithm that runs in O(N^2.807).

If somebody discovers a practical algorithm that runs in O(N^2.1), should it be patentable? I say yes. No amount of grinding away with pencil and paper is equivalent to a clever divide and conquer algorithm.


I'm not a lawyer, but I'm pretty sure Gottschalk v. Benson makes it clear that the algorithm itself is not patentable.

http://en.wikipedia.org/wiki/Gottschalk_v._Benson

EDIT: It occurs to me upon reflecting on my reply that you're making a statement unqualified by present legal precedent. In that case, I respectfully disagree. Patenting fundamental mathematical truths seems like a very bad idea to me, and I'm glad that nominally such things are not allowed (though of course practically it goes on all the time).

Perhaps another way to say this: the problem most people have with software patents is that it's more or less patenting little pieces of math. I think it's more or less well known how most "practitioners of the art" feel about this.


Sorry. By "patentable" I meant when embodied by a clearly-defined machine.

And anyway, why not patent algorithms in the abstract? There are an infinity of "fundamental mathematical truths", but only a few are spectacularly useful. If a given algorithm truly is obvious and trivial, then you can evade the patent by spending 30 seconds to find another obvious and trivial algorithm. (I note that most of the people complaining about the trivial obviousness of all software patents are not cranking out 50 algorithms a day like RSA or the fast Fourier transform. When they talk about software being obvious, they're talking about other people's software.)


> And anyway, why not patent algorithms in the abstract?

Because the costs outweigh the benefits, unless you're a patent lawyer.

Software patents already create huge legal risks to businesses that did nothing wrong except come up with a simple idea that someone patented first, they're ridiculously expensive to enforce, and most of the money ends up driving more lawsuits rather than more research.


So Carl Friedrich Gauss could have patented his FFT algorithm, since it would take 160 years for the next guys to come up with it on their own?


It's possible for an algorithm to be obvious and trivial, and also the only way to do it.


No amount of grinding away with pencil and paper is equivalent to a clever divide and conquer algorithm.

Unless that grinding is to reproduce the algorithm's steps. Which is a rather important issue in this case (that and people object to the idea of having patent law restrict use of an organized thought process).


A bit offtopic -- what O(n^4) naive algorithm have you in mind? I cannot really think of any -- just implementing the definition gives you O(n^3).


Oops. Thanks for the correction.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: