|
Authored by: PolR on Wednesday, June 13 2012 @ 04:54 PM EDT |
You have never seen in math a definition by case? There are math functions which
are defined to take one value when some condition is true and some other value
when the condition is false. This is an If in math.
There is a branch of mathematics which doesn't look like calculus at all which
is called computation theory. This part of mathematics is one of the
mathematical foundation of computer science. This is the part of mathematics
where the concept of algorithm is defined and studied. The ability to make
conditional decisions is one of the elementary notions. In particular it is
required to established Turing completeness which is one of the most important
concept in the math of software.
I am afraid that without software patents the protection you seek won't be
available. For most of us, this is considered a good thing.
[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Wednesday, June 13 2012 @ 05:36 PM EDT |
That is, the inventions discussed are methods involving real inputs and
instructions for creating real outputs doing real things for utilitarian
purposes....software/math...
I am on the fence: Inventors of such things (such as myself -- thinking about
how to virus-proof computer systems) DESERVE some help. But the system doesn't
create justice -- 15+ years for Novell vs Microsoft, and counting....so maybe we
need to toss the patent system.
Moi: The patent office is clearly incompetent at this, so are the courts. How
about a specific, limited (2-3 year) software/algorithm patent category,
preferably with high standards of non-obviousness and a completely different set
of examiners?
Oh, and one more thing: If you put it into a recognised public standard,
(H.264, etc) that's a license for the public. [Don't get me started on ANSI/ISO
standards and their fees!!!!!]
(Christenson)
[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Wednesday, June 13 2012 @ 06:26 PM EDT |
I had a look at the claims of US Patent
5,454,069.
Claims 1-12 are "method claims" that cover nothing but a
mathematical algorithm plus one step at the end that says "produce a physical
object using the output from this algorithm".
Claim 13-15 start with the
magic words "An apparatus", but then proceed to describe the same math algorithm
as Claim 1 using clauses that begin with "Means for ...". The first clause is
"means for acquiring and storing the series of serial section images" and the
last clause is "means for producing the physical three-dimensional model of the
object from the plurality of vectors representing pixels of the object".
Between those two, are approximately a dozen other "means for" clauses which
just describe mathematics used in Claim 1.
I think this is a great example
of a "software patent". I think it should be considered a junk patent. There's
nothing innovative or novel or non-obvious in it except for the mathematics,
which is not supposed to be patentable.
This patent effectively prevents
ANYBODY from using this particular pile of mathematics if they then proceed to
make a physical object using the results of the algorithm. What this patent
covers is basically "do a bunch of math on some numbers, and then send the
result to a standard output device". The output device might be interesting
enough to deserve a patent, but I don't see why we should let anybody patent
doing math and then sending the results to an output device, that's just stupid
(and dangerous). I don't care how narrowly tailored it is, this is still a
patent on mathematics and that is just unacceptable.
Okay, on to US Patent
7,986,859.
Claims 1-5 of this one are "method" claims, and claims 6-10
are "system" claims. All of these claims just describe math performed on RGB
values, except that the RGB values must be "sensor values" from "[..] a Bayer
array of pixel elements".
So similar to the first one you cited. This is a
patent on "get numbers from input device, do some math on the numbers", which is
ridiculous (and dangerous). Mr. Fischer now owns a patent on some standard
image-processing math. Photoshop probably infringes, if you can prove that it
ever gets used on images that came from a Bayer array of pixel elements.
Yay.
Claim 11 of this patent starts with the magic words "An apparatus
comprising:" and then lists (1) "a memory holding [.. RGB] sensor values output
by a Bayer array of pixel elements .." and (2) "a processor configured to" [do
all of the math described earlier in the patent].
So I'd say Claim 11 is
even more offensive to me than the first ten, because it reads on a
general-purpose computer whose memory holds both the "sensor values.." and
executable program code that performs this standard image-processing
mathematics.
See, this is why software patents are so dangerous! I
propose that we fix the problem by (1) locking all patent lawyers at the bottom
of an elevator shaft, and (2) dumping printed copies of software patents on top
of them until they are crushed or suffocate. We have to stop these parasites
from locking up mathematics and making it unusable, before it's too late (and
all our innovators flee to countries where they can use mathematics without risk
of a life-ruining lawsuit). [ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Wednesday, June 13 2012 @ 06:37 PM EDT |
Do you think that there should not have been any patent, because it
is
just math?
Yes
I say the program is making
decisions and that puts it outside of pure math.
Sorry, but that's
nonsense. Everything the program does is math, including any "decisions" it
might make. Moreover,
all it does is manipulate symbols in some particular
way.
The "meaning" we assign to those symbols is not part of the
mathematics and plays no part of the calculation. This is a problem, because
the last step of the patent (5,454,069) is basically "use these numbers to make
a physical object". But that requires that the physical machine that makes the
physical object, interpret the mathematical symbols in some way -- numbers
(abstract mathematical symbols) are fed into the machine, and a physical object
comes out. (Inside the machine, the numbers are used in some way to control
physical devices--motors, etc. which are doing something in the physical world
as the object gets made... so thats what I mean by "interpret" the numbers, and
its very low-level and mundane.)
Anyway, here is where the problem comes in:
Suppose I want to make my own device which also produces some kind of physical
object at the end, even in a very different way from the one in the patented
invention? It can't use this patented mathematics now.
So this patent
doesn't cover just a specific invention (a specific physical machine that I
made) or equivalent machines that make a physical object at the end. It covers
ALL POSSIBLE SOLUTIONS TO THIS PROBLEM that involve this patented math and end
with making a physical object. That makes it a barrier to innovation rather
than an encouragement. [ Reply to This | Parent | # ]
|
|
Authored by: Tkilgore on Wednesday, June 13 2012 @ 07:17 PM EDT |
Sorry, I am going to rant a little bit, too. Don't take it personally.
> I only got through calculus, but I do not recall an "If" in
math.
Most of programming is just math, but the "If" allows decisions to be
made. I think this is a profound difference between math and programming.
Wow. This is your problem, right here. And, alas, it seems to be a fundamental
problem with the legal system and the patent system, too.
I am a research mathematician. I do that for a living and get paid for it. I
also work in a university where I teach calculus among other things, which my
colleagues usually lump together in the category of "service courses."
What do we do in "service courses"? Speaking from the point of view of
someone with inside knowledge of the field of mathematics, what we do in such
courses is to provide the pre-digested and regurgitated results of real
mathematics, which took a lot of people a long time to discover and put
together, and we do this for a large audience of people who are actually not
interested in what we do, where any of this came from, what the logical
underpinnings are, nothing like that. They just want some quickie results and
formulas and/or they have to take those courses because they think they want to
be scientists, engineers, or MBAs and some administrator or academic counselor
has explained to them that certain of our courses are a prerequisite.
Mathematicians spend their actual time at work on mathematics with *proving*
things. This can not be done without serious application of logical thinking and
without, sometimes, very long chains of argument and analysis which are filled
with if-then statements from one end to another. Pages and pages in articles,
whole books filled with it -- which students who only learn to do a bit of
differentiation and integration never see and for the most part don't want to
see. From experience any one of us could tell you that the most unpopular parts
of those courses, the parts which the students think are "hard" and
which they complain about the most and learn the worst are such things as
infinite series, their convergence, divergence, and their relationship to
functions by way of such methods as Taylor and Maclaurin series. Oh, and I did
not even mention that much of the rest of what we do is to construct algorithms.
We mathematicians often fear the consequences on society of the half-knowledge
that the system forces us to pass along. We fear decisions made at the top of
the social pyramid by people who think they know our subject because they were
vaccinated against it at a very superficial level in a calculus course. We fear
that the shortcuts we are forced to take by the system, which demands from us
the mass education of large numbers of students, will come back and bite us.
I have also written a good bit of code. I have even, for example, been involved
in writing a Bayer demosaicing algorithm myself. It is in the Gphoto project.
Mercifully, as far as I know not all methods for carrying out Bayer demosaicing
are patented, and the algorithm used was based upon something which was
published in a journal article. So I do not believe it would have been patented.
Needless to say, I certainly hope not.
The bayer demosaicing problem is one of the fundamental problems of digital
imaging, given the way that digital cameras are constructed. The Bayer array for
collecting the data is patentable. It is a physical device which has
microsensors all over it. That is understandable. But a patent on methods of
processing the data which comes out of a Bayer array, which is a standard piece
of hardware in the digital camera industry, is definitely not funny.
Alas, your ignorance of what I have been doing for a living for the last 35
years or so seems to be equal to the ignorance of what programmers do for a
living, on the part of judges, attorneys, and patent examiners. Sorry again if
this seems harsh. As I said, I do not mean it personally.[ Reply to This | Parent | # ]
|
- I love this part - Authored by: Anonymous on Wednesday, June 13 2012 @ 10:08 PM EDT
|
Authored by: Wol on Wednesday, June 13 2012 @ 07:52 PM EDT |
I'll ignore the argument about whether philosophy is a subset of mathematics, or
mathematics is a subset of philosophy.
But philosophy is all about logic. And logic most definitely is part of
mathematics.
And without boolean, if-then-else type logic, you cannot reason. You cannot be
logical. YOU CAN'T DO MATHS.
The "if" statement is at the heart of mathematics. Without it,
mathematics could not exist.
Cheers,
Wol[ Reply to This | Parent | # ]
|
|
Authored by: Wol on Wednesday, June 13 2012 @ 08:04 PM EDT |
Taking the C code and rewriting it in another language is a derivative work. If
you can show that somebody else saw your work and re-implemented it, then they
copied it. Plain and simple.
Whether they copied it enough to infringe copyright is another matter, but if
they used your work as a reference then that is a pretty clear infringement.
If they used your work as an "oh - it's possible - I'll work out how to do
it my way" then it's not a copyright violation, and even if the patent were
valid (and if it's software it's not) it *shouldn't* be a patent violation. And
if the method isn't obvious, then I shouldn't come up with the same method so it
won't be a patent violation anyway.
But the problem with ALL software patents is that once you successfully define
the problem, the solution is *always* trivial, and *usually* obvious. Is your
method "obvious in hindsight"? I'll be surprised if you say no.
Cheers,
Wol[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Wednesday, June 13 2012 @ 10:54 PM EDT |
Here is my response to your comments.
I would like to see congress step in with real patent reform. Part of that
reform needs to be a definition of math for patents. Do they mean all math
including computation theory, or the lay definition of just formulas. If
congress does not do it, the Supremes will. Other parts of the reform need to
include getting rid of submarine patents, but that is another post.
The problem of over claiming is real and part of every patent I have ever looked
at. For 5,454,069 and 7,986,859, I know what was sent to the patent lawyer, and
how it expanded. Both started off with just one claim (a method for finding
unsupported objects in 3D images and a method for converting a Bayer filter
image to an RGB image with an intermediate step of converting the image to HSI).
Part of the problem lies with the patent office not rejecting enough claims and
some form of punishment for over claiming. Not sure how you do that, but it
needs to be done.
I posted my math education to show that I have the typical math knowledge of a
programmer. I agree that most programmers do not care about understanding the
math they use. I would even say a lot of programmers (myself included
sometimes) do not even know how to do the mechanics of the math they use. We
have enough knowledge to know that what we need can be done, and the skill to
pray to Google to find a routine that does it. An example would be finding the
vessel edges in an angiogram. I can look up and find that the edges are 2/3 of
the way between the peak of the first and second derivatives. Now I just need
to find a function that calculates derivatives from real data and tells me the
peak between two points.
Yes, I think the solution in both example patents is obvious after finding it.
I think that is true for almost any patent (ever see a drawing of variable valve
timing?). Once you know how to do something it is easy. As was stated in
another reply, some of the math that we take for granted took a long time to
discover and prove. It was not obvious until it was done.
If the cost of getting rid of bad software patents is the end of all software
patents, then so be it. I agree that the bad patents are killing innovation and
small companies (like me). I would like to give it one more try to fix the
patent system as Dr. Michael Risch has suggested, but if it cannot be done or
fails, kill it.
[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Thursday, June 14 2012 @ 07:47 PM EDT |
I only got through calculus, but I do not recall an "If" in math. Most
of programming is just math, but the "If" allows decisions to be made.
I think this is a profound difference between math and programming.
You are wrong precisely because your experience of "math" is limited
to that small field known as "calculus" or "real analysis".
It is "set theory" that deals with predicates.
The "profound difference" you see is between "calculus" and
"math", not between "calculus" and "programming."
Or, perhaps more fundamentally, MATH IS NOT ABOUT NUMBERS! NOT AT ALL!
It is about formal sets. It just happens that one of the most simplistic of the
interesting formal sets around, is the set of all counting numbers. (More
complex sets include, well, complex numbers...integers, real numbers, imaginary
numbers, etc. )
What did your calculus course say about, say, prime numbers--a most fascinating
set in many fields of mathematics! or mstrices ... or manifolds ... or integer
division rings ... or sequences (beyond, of course, the distinction between
"converging" and "nonconverging" and a warning that the
latter are toxic)?
The list is (literally) endless.
Math is not numbers. Software is not numbers. It's just that, for various
reasons, numbers provide a useful shorthand for representing a number of
interesting sets. And so computers are built with an inherent bias towards
interpreting specific bit patterns based on numeric relationships. But there is
nothing inherently "numeric" about any bit pattern: "Hello
World" is a valid, non-numeric value that would be treated as a sequence of
arbitrary elements (characters), possibly part of a "language" (a most
interesting kind of non-numeric set!), possibly even part of a
"program" (again, a most interesting kind of non-numeric set, also
subject to formal kinds of analysis).
Math is not "numbers". Math is "sets" upon which interesting
formal relationships ("logic") can be defined. And I've heard more
than one mathematics teacher decry the fact that logic is not taught before
arithmetic in elementary schools.
Nobody is saying programming is calculus. It is not.
What mathematicians are saying is: there is more to math than is dreamt of in
your calculus syllabus.[ Reply to This | Parent | # ]
|
|
|
|
|