This is Paul Leopardi's Typepad Profile.
Join Typepad and start following Paul Leopardi's activity
Join Now!
Already a member? Sign In
Paul Leopardi
Recent Activity
Dear step back, Your effective method is perfectly legitimate, and non-deterministic. Although your insistence in 3. is peculiar, it is essentially the same as terminating in a random but finite number of steps, with some probability distribution, within some upper bound. The answer to "what does the method compute" is essentially some character string in the alphabet you specified, whose distribution can be estimated from the description you have given. I cannot understand why you would say that a mathematician or computer scientist would say "no fair"? Have you not heard of nondeterministic algorithms? In fact, there are quite legitimate uses for the generation of a random string in a finite alphabet. One of them is testing the tests for random number generators. See my paper on this subject.
1 reply
OK, here's one for all you legal geniuses out there. If I take a patent claim which is purely a description of an algorithm, and implement that algorithm by hand, am I violating the patent? What if I translate the claim into source code in my favorite programming language, say lambda calculus, and hand it to my friend who uses the source code to implement the algorithm by hand, am I violating the patent, or is my friend violating it? What happens if my friend is a programning genius who can correctly read machine instructions and I compile my code and give the resulting machine instructions to my friend to execute by hand? What if my friend gets lazy and uses a machine to execute the instructions instead? Does it matter what sort of machine? Would the use of a billiard-ball computer violate the patent? Would the use of a universal computing machine violate it? Where is the line drawn? When is the patent violated? To make things more concrete, consider Claim 1 of US 7146604 "Program operators for composing abstractions": "1. A method for composing programming abstractions, comprising: defining a composition operation for composing a first abstraction and a second abstraction with a selected composition operator; each abstraction having a form, a prefix, and at least one expression; unfolding the expressions from the first and the second abstractions by: (a) removing the prefix of each abstraction, and (b) substituting formal parameter names in each expression with a common parameter name to define open variables; transforming the unfolded expressions to a reduced expression using a composition pattern that tunes semantics of the selected composition operator; selecting a prefix that depends on the selected composition operator and the form of the first abstraction and the second abstraction; the selected prefix having a formal parameter with a type; and nesting the reduced expression in a third abstraction that composes the first abstraction and the second abstraction by: (i) appending the selected prefix to the reduced expression, (ii) binding the open variables of the reduced expression to the formal parameter of the selected prefix, and (iii) computing the type of the formal parameter of the selected prefix." For those unfamiliar with the claim, read the rest of the patent. It seems to be describing a typed lambda calculus.
1 reply
Hi again folks. First, my background. I have degrees in Computer Science, Information Systems and Mathematics. In Computer Science way back in 1981 I learnt about logic, and in 1982 I learnt about the denotational semantics of programming languages. In 2000 I went back to university to learn numerical analysis and computational mathematics. Before anyone can categorically assert whether something is or is not mathematics, it would be wise to understand the scope of mathematics and mathematical thinking. The relevant subject here is the design, implementation and analysis of algorithms. Algorithms of all types. The key question (to my mind) is whether an algorithm implemented on a general purpose computer is essentially different from the same algorithm implemented manually. If it is not, I suggest that you need to look for patentable subject matter elsewhere. Adding a general purpose computer should not make an unpatentable algorithm patentable. Unfortunately, there are already too many examples of US patents which are essentially patents on "unpatentable" algorithms.
1 reply
Dear step back, It does not matter what you believe you are doing when you write a program. The denotational semantics of programming languages, the existence of Lambda calculus, and the Church-Turing thesis ensures that any time you write, compile and run a program, the entire process can be reduced to computing a computable function.
1 reply
Paul Leopardi is now following The Typepad Team
Nov 30, 2009