28

I'm new to the domain of understanding the law behind patenting, and I want to start a company that uses machine learning algorithms. Unfortunately, almost every concept is patented by the top companies.

Aren't computer algorithms mathematical equations? Any algorithm can be represented mathematically. People may argue that even physical objects like engines can be expressed mathematically, but physical objects are obviously different from mathematical expressions. But how are algorithms different from mathematical equations? Many machine learning algorithms exactly satisfy the definition of mathematical equations, as they were directly derived from statistical methods used in the past (which I believe were not patentable before the software era). Of course, an animation created by an artist, cannot be considered as a mathematical work, even if the software uses multiple mathematical methods to make it function.

I have been reading the article in this link: https://www.gnu.org/philosophy/software-patents.en.html and here the author states that the public key encryption method was patented. Don't encryption algorithms precisely come under the definition of mathematical equations?

  • 5
    Programmes aren't patentable, they're copyrighted. If you mean algorithms, say algorithms. And no, programmes clearly aren't equations any more than humans are, regardless of how they can be represented. – Nij May 4 '18 at 20:00
  • 4
    @markb: Turing-Church thesis, yes they can. There are multiple way to represent programs, but there no specific way that is most powerful. There is a very broad class ("Turing complete") of programming languages that are equally powerful. – MSalters May 5 '18 at 1:37
  • 1
    We have an sx for patents and it has questions like this: What constitutes an original patentable idea in software?. – Reinstate Monica - M. Schröder May 5 '18 at 12:12
  • 3
    “Aren't computer algorithms mathematical equations?” No. – Andrea Lazzarotto May 5 '18 at 19:33
  • 1
    Computer programs are just mathematical equations in the same way paintings are just colors and books are just letters. You can't patent letters so why does plagiarism even exist!? – Clay07g May 6 '18 at 3:45
30

Aren't computer programs mathematical equations? Any program can be represented mathematically. . . . But how are programs different from mathematical equations? . . . Don't encryption algorithms precisely come under the definition of mathematical equations?

In the context of patent law, the "mathematical equations" that aren't patentable are those that are discovered and are mathematical laws of Nature.

For example, you cannot patent a mathematical equation which is the equivalent of the Fundamental Theorem of Algebra (which tells you how many solutions there are to all possible polynomial equations), because it is a statement about what is fundamentally true about something, not about how to do something that works better than other possible ways of doing something.

An algorithm, in contrast, in patent law, is a method of doing something that is not inherently the only way of doing something as a consequence of the laws of mathematics or other laws of Nature (although it could very well be the "best" way of doing something).

For example, the simplex method of linear programming would probably be patentable if it hadn't been publicly disclosed prior to anyone obtaining a patent on this method.

Most computer programs are the digital embodiment of algorithms, rather than of equations that were discovered that represent fundamental truths that are always and uniquely true about numbers or reality.

Notably, recent governing U.S. Supreme Court case law has now made it categorically true that there mere fact of embodying an algorithm or other business method in digital form with a computer program, as a matter of law, does not make an idea that would not be patentable if not embodied in a computer program patentable. The underlying idea that is embodied digitally in a computer program must, itself, be patentable.

A method for doing something, even if it can be or is represented mathematically, is not inherently not subject to being patented. But, not every method of doing something is patentable either. The "business method" must still clear the hurdles of being original (you can't patent ideas that have already been disclosed publicly by someone else, or by yourself for that matter), of having "utility" rather than merely aesthetic value, and of not being obvious to a person of ordinary skill if the field in which the invention arises.

For example, anything that would follow as a lemma or corollary of an existing aspect of prior art would not be eligible for a patent either, even if it is novel and useful.

Now, there is some room for sophistry here.

For example, you could call a computer equation that calculated a Lorentz transform a method for calculating the relationship between two coordinate frames to which relativistic mechanics apply. But, because that relationship is a law of Nature which is always true, even if it isn't the only means to calculating that relationship, it would not be patentable even if it were not prior art.

I want to start a company that uses machine learning algorithms.

While it is a risky business model, it is worth considering that over the last 10-15 years the legal threshold necessary to patent a computer program has gotten much, much higher.

The Patent and Trademark Office used to routinely grant these applications, but due to a string of important statutory and case law changes, software patents are now denied at a very high rate, and existing software patents are routinely determined to be invalid in litigation.

If there is serious reason to doubt that an existing patent that would be important for your business is really patentable, you should consult a patent lawyer to consider the possibility of bringing an interpartes review action in the Patent and Trademark Office to have a previously issued patent revoked. This is an expensive and time consuming process, but it is much cheaper than losing a patent infringement lawsuit after having invested time and money into running a business using a patent you know to be infringing because you believe that it won't hold up in court.

  • 1
    I agree with your remarks about equations; however, in fairness (if not in law), sometimes systems of equations seem like they ought to be patentable. Consider, e.g., Maxwell's equations, which immediately led to Heinrich Hertz's early radio experiments, followed by Marconi's radio. Lots and lots of radio-related patents. But seems like Maxwell deserves some slice of that pie -- the engineers ultimately baked the pie, so to speak, but it was Maxwell who came up with its necessary ingredients. The engineers get all the patents, but they totally rely on foundations developed by physics/math. – John Forkosh May 4 '18 at 23:21
  • 3
    @JohnForkosh That is a feature, not a bug. If Maxwell had patented Maxwell's equations, nobody else could create any electromagnetic system without paying him a royalty until the patent expired, bringing every field of applied science involving electromagnetic forces to a screeching halt for a couple of decades. And, honestly, most top scientists live pretty decent lives with a very different tenured professor business model, and lots of top scientists also invent things that they patent and do earn royalties upon. – ohwilleke May 5 '18 at 2:58
  • 1
    This is a good answer, but I think that in some programming languages, the distinction between algorithm and equation is more blurred. For instance, the length of a list could be expressed by the equations length([]) = 0; length([head|tail]) = 1 + length(tail). It could also be expressed by the equations length(list) = len(list,0); len([],x) = x; len([head|tail], y) = len(tail, y+1). In a language like Prolog, while these are logically equivalent, the algorithm is distinct (one is a simple recursive definition requiring linear stack space, and the other is tail recursive and essentially – Joshua Taylor May 5 '18 at 4:00
  • 2
    a loop). If your programming language is essentially a system for evaluating equations, then different ways of writing the equations really are the different algorithms. – Joshua Taylor May 5 '18 at 4:01
  • 2
    This may well be the legal perspective, but I'm not convinced that it's a proper grasp of the nature of math, science, and their relationship. Consider this excerpt of a Feynman lecture: youtu.be/YaUlqXRPMmY It also doesn't seem to consider that all mathematical theories must necessarily start from a set of unproven axioms, which means none of them are really "fundamental properties of nature." – jpmc26 May 6 '18 at 1:11
8

To add to the existing answer, what a company will patent is what they think will cost too much for a competitor to try to challenge. It does not have to be original, novel, or even discovered by them. It just has to be enough of an obstacle for competitors to defend their space - or (more commonly) to negotiate a mutual non-aggression pact with a competitor who has a similar portfolio of equally iffy patents.

A case study here. Closed-loop control is a standard concept from before Victorian times - you decide where you want something to be, monitor the current state, and feed more or less juice to your output until it gets there. Suppose you wanted to run your car at a constant speed. It would be natural to think of closed-loop control. Measure speed, apply more or less torque depending on whether you're faster or slower than you want to be, and job done. It's a standard concept, after all.

Not so fast. GM own a patent for closed-loop control of vehicle speed by choosing a setpoint in position, velocity or acceleration and measuring that quantity such that you close the loop based on the error. Unless you've licensed GM's patent, they can sue you. So if you're in the business, you pony up and pay your vig like a good boy.

Or you can work out a way around the patent. Ford decided to avoid this. Based on legal advice, the controller is split into two parts. One block looks at measured speed versus desired speed, but instead of producing an error term directly, it goes into a map which produces a desired acceleration. The next block in the firmware takes that acceleration and uses it in the torque demand map, and then things go on as normal. The lawyers decided that this was not producing an error term in speed, therefore GM's patent doesn't apply. It's too much effort for GM to try to sue Ford, and the patent would probably be struck down anyway, so the result is a standoff.

I realise this sounds unbelievable, but I've actually worked in Ford on the exact code I'm talking about here. It's not just an urban legend, it's personal experience.

  • 2
    An interesting story, but how does it relate to the OP's question? – Robert Harvey May 4 '18 at 22:28
  • 4
    He's asking about patenting a simple algorithm. I've given him an example of how the most basic control algorithm with centuries of prior art can still be patented, and why companies get away with it - and an example of how this can be countered by a similarly-motivated competitor. – Graham May 4 '18 at 23:59
  • I have a similar anecdote. A company had a patent on marking video snippets by using a start timestamp and end timestamp and then labeling it. We worked around the patent by flagging everything except the content to be marked, and by using a "not" label. It's stupid but the courts said it was different enough to get around the patent. – Thane Brimhall May 5 '18 at 1:06
2

Algorithms are not (in the USA) patentable.

You can build a machine that does something in a new way that hasn't been done before, and patent it. Part of building the machine may be an algorithm. The machine may actually use a novel algorithm and nothing else that is novel, and be patentable. That doesn't mean the algorithm itself is patentable, only in conjunction with the real invention.

The example of the Simplex algorithm was given. You might make an invention that solves a problem by finding an optimal solution to a system of linear equations and inequalities, using the Simplex algorithm, and patent the invention. I might then make an invention that solves a completely different problem using the Simplex algorithm, and patent it. It doesn't infringe on your patent. Algorithms are not patentable, only inventions which may use algorithms.

-2

I am not a lawyer or a politician so I can't answer those parts of the question of why the law is the way it is. But I can attempt to answer the necessary distinction of mathematical problem and algorithms.

There is a big difference between a mathematical problem and implementation of an algorithm to solve that problem. There can exist millions of ways to try and solve a problem. Maybe a few thousand would work at all with our current technology, a few hundred would work quite ok and a few ten would work awesomely.

What algorithms work well often also depend on the data involved in the problem at hand and not only on the formulation of the problem.

Already the problem of solving the equation x^3 +kx^2 + lx + m = 0 is not obvious which method is the best unless you tell me the circumstances.

  1. What do we know about k,l,m? Can this knowledge help us find a direction?
  2. How often do we need to solve the equation for our application?
  3. Can we use any other data we have in helping to find a solution?
  4. What kind of computational hardware do we have available?
  5. How fast do we need to solve it?
  6. How precise a solution do we need?

Answers to the questions will influence which technical solution would be best or even feasible.

  • 1
    This does not address the legal question at all and is not an answer to it. – Nij May 5 '18 at 21:27
  • My point is to suggest that the law may not be competent in which case there may be no answer. – Aethelbald May 21 '18 at 17:57
  • @Nij : I know, but I felt it could be useful for people to see the technical & mathematical side of things. – mathreadler May 21 '18 at 18:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.