Slashdot Mirror


Patent Invention Machines

kryzx writes: "Here's one to tickle your imagination: using genetic programming to come up with new, patentable solutions to problems. Could be happening very soon. Here's an article at MIT Technology Review. This work, being done at Stanford and Genetic Programming Inc. by John Koza and company has already succeeded at reproducing quite a few ideas for existing patents, ranging from old to very recent. It's apparently much easier to compare against existing patents than sift through hundreds of surviving algorithms to determine if they are useful, original, and patentable.) Also, this company is a good target for your tech envy, with their 1,000-node Beowulf-style cluster of Pentium II 350's and 70-node cluster of 533 MHz DEC Alpha's. (There are pix, too. PII cluster on the main page, Alphas here.) Wanna play with the toys? They have job openings for programmers. :-)"

3 of 116 comments (clear)

  1. Patent term is 20 years by yerricde · · Score: 3, Informative

    The owner of a small consulting firm I used to work for patented a method of software assembly using genetic algorithms about two decades ago

    It'd be in the public domain by now. The term for the patent monopoly was 17 years after the patent is granted or 20 years after it's filed; those are about the same because it typically takes 3 years to approve a patent.

    Just thank goodness Sonny Bono[?] never touched patents.

    --
    Will I retire or break 10K?
  2. If you want more information.. by Monkeyman334 · · Score: 4, Informative

    If you want more information on genetic programming, check out these articles posted on slashdot a couple days ago.

  3. Hill-climbing by Animats · · Score: 3, Informative
    Genetic algorithms, neural nets, and simulated annealing are all examples of hill-climbing algorithms. In fact, they're all hill-climbing algorithms which search bumpy N-dimensional spaces. use a multiplicity of working points, and don't use derivatives. All such algorithms suffer from common problems - a tendency to get stuck in local minima, and dependence on a reasonably useful evaluation function. The evaluation function, which determines whether one possible solution is better than another, is the main sticking point. It's usually created by humans, and to some extent, it encodes the answer.

    There's a class of problems for which such algorithms work. And there are problems for which it doesn't do much. Koza's main contribution has been to find more useful problems for which this approach works. Analog circuit design is a good choice, because tweaking on circuit parameters and connections works in that domain.

    Koza's system works on some of the same types of problems as Lenat's Eurisko, from 1978. Eurisko was a search system that worked on LISP S-expressions. It was used for simple program creation, digital circuit design, and trouncing humans in the Traveller strategy game. The basic concept was to take a representation of the solution, apply various plausible operations to it, and see what made things better. Many of the same concepts recur in genetic programming, although the search strategy is very different. Eurisko used heuristics thought to be clever. Genetic programming just bashes on the problem with compute power. (That's why Eurisko worked on a single time-shared DEC-10 and genetic programming needs a Beowulf cluster.)

    It's worth noting that the re-invention of early electronic circuits is easy today because you can now use a simulator (typically SPICE) to test them. This makes automated brute-force searches possible.

    It's not clear that this approach leads to strong AI. But it's a big hammer that can definitely crack some problems.