Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
News

Patent Invention Machines 116

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. :-)"
This discussion has been archived. No new comments can be posted.

Patent Invention Machines

Comments Filter:
  • Imagine (Score:1, Redundant)

    by nEoN nOoDlE ( 27594 )
    Imagine a beowulf cluster of there... oh wait, nevermind.

  • Some time ago, Discover Magazine (and later, Slashdot) featured a chip designer who was doing just this sort of thing: giving it problems to solve, having it randomize and then naturally-select software models of chips to solve certain problems. Physical chips were built after a hundred software simulations or so to test the creations in real-life. Eventually they produced reliable results, at least to simple problems, and the best part was they did so with fewer logic gates than a human-designed circuit would. This happened because the evolved chips used certain tricks, like letting the magnetic flux of one wire affect the flow through another, to solve their problems.

    However, the evolved solutions were limited in their scope. If the chip created through natural selection was tested in an environment of a moderately different humidity or temperature, it's tricks wouldn't work. Just like real-life animals, their niche tricks worked only in a niche environment. In a way, it's all a problem of chaos theory -- sensitivity to initial conditions.

    I expect these evolved patents will face similar difficulties. Yes, they'll work great, but only in the specific environment or parameters for which the software originally was programmed. Change things just a little bit, and it has to start all over again. Which makes for great demonstrations of the software, but poor practial, patentable solutions that people will buy.

  • Its probably a bit off topic from this article, but i think this whole thing about being able to patent algorithms is just a stupid thing. Algos are not some kind of inventions, they are LOGIC, no one should be able to patent logic. The patent bureau play god by giving patents for algorithms, they decide who can use logic for free and who must pay.
    • Let's face it, if you can't put chains on it, if you can't put a fence around it, or lock it up in some manner, it does not belong to you. Software, ideas, drawings, music, plans, it makes no difference. Once you release it, it becomes like the air that we breathe. It belongs to nobody and to everybody.

      The only way that IP laws will be enforceable in the age of the internet is to institute Orwellian laws whereby the governement is given fascist powers to spy on everybody. Already, hundreds of millions of copies of copyrighted software are being used freely around the world and there is nothing the manufacturers can do about it, short of instituting full blown fascism.

      Wait a minute, aren't they doing that already? Aren't all ISPs in the US and Europe already keeping a log of all user activities? A government that finds it necessary to spy on its own people, not only does not deserve to last, but cannot possibly last. A house divided and all that...

      Hit them where it hurt the most, the pocket book. It's our money that is being used to enact stupid laws like the DMCA. Without money, they have no power. There is only one solution against fascist IP laws: Download it all and copy it all! And use it all for free! Don't give them your money so they can turn around and use it against you.
      • There's but one flaw in your logic. In order for people to copy and download everything, someone still has to buy the original. But wait, there's a way to get past that. Just STEAL the original and then let everyone download it...or is that going a little far?
  • Here's a compromise for those who want to patent emergent solutions: useful GeneticAlg output should be allowed to be patented, but only if a human can also understand it; that includes the means and the ends. That's only fair, since patents were meant to reward human ingenuity in the first place, not some multi-million dollar darwin cluster breeding the shape of a square peg into a round hole.

    I recall reading an interesting article [feedmag.com] from FeedMag [feedmag.com] (now on ice) about a "simple" GA that produced an amazingly fast sort algorithm, but that no human could decipher how it worked. Call me crazy, but that's an example of something that simply should not be patentable.

    At least I can rest easy in the knowledge that nanotech and AI-assisted design/engineering will probably negate the need for patents a few decades down the road anyway. Who needs a monopoly on an idea -- of human orgin or not -- once the rat race has ended and everyone is able to live like a king? (answer: only the regressively selfish--but that's a whole other rant.)

    • The sorting program sounds interesting, but how does he know it works for any data set? If he can't understand it, he can't prove that.

      Most likely, he evolved a program that sorts the data sets he fed it, and not much else. Even if it sorts a few other sets, I still wouldn't want to rely on it sorting my data.

      That's the problem with most GA programs--they tend to be *very* sensitive to specific conditions. A while back there was an article about a tone descriminator designed using GA. It only worked within a very narrow temperature range, which was the range in the lab at which it was designed.

      • It's called the "Tyranny of Dimensions".

        You need thousands of samples to even dream of creating a general solution to a problem with even 3 inputs. For something with a lot more inputs, you're in serious trouble.

        Imagine how many "solutions" there would be to create a generalization rule for two points in 3D space. What is the liklihood the generated solution will bear any resemblence to the solution you desire? Not much.

        Not only do you have that problem, but also the problem of the GA simply learning each different sample instance, and not generalizing meaningfully at all.

    • Here's a compromise for those who want to patent emergent solutions: useful GeneticAlg output should be allowed to be patented, but only if a human can also understand it; that includes the means and the ends. That's only fair, since patents were meant to reward human ingenuity in the first place, not some multi-million dollar darwin cluster breeding the shape of a square peg into a round hole.

      This is wrong for several reasons. Patents were not invented to "reward human ingenuity"; they were invented to promote the development of useful arts. The original goal of patents was to encourage inventors to disclose their discoveries rather than keep them secret. The inventor was given a limited term monopoly as an inducement but at the price of publishing his methods. That way other people would eventually be able to benefit from the invention and it wouldn't be lost when its inventor died. Understanding exactly how it works is completely secondary. And, of course, publishing the idea is one very good way of helping to figure out how it works; even if the original inventor doesn't understand it, the chances are good that somebody else will be able to figure it out and develop it further. That's an argument in favor of allowing patents of non-understood ideas.

      More importantly, requiring that software patents be understood applies a much stronger standard to them than other fields. People in other fields patent things that they have little or no coherent understanding of all the time in other fields. Chemical engineering is a great example of this. There are lots and lots of chemical processes that are understood poorly if at all. I'm not sure if anyone really understands a lot of forms of heterogeneous catalysis, for instance, and most forms are certainly patented before people understand them clearly. People know as a matter of experience that following certain recipies will produce the results they want, but exactly how those procedures work is anyone's guess. Asking software to adhere to the higher standard that the inventor be able to explain exactly how it works is unfair.

      That's not to say that I'd necessarily run right out and use an algorithm whose operating principles were not clearly understood! After all, if you're not really sure how it arrives at its results, you'll never be sure that it will always arrive at the right result. But you're unlikely to gain anything by preventing people from patenting non-understood algorithms. All you'll accomplish is to stifle the chance that somebody will learn how they work and thus how they can be made to work better.

      • Why should I spend research time on some obscure process that has already been patented but not formalized? I would still have to license the technology that I did my research on! You talked about unfair? I talk about stifling research.

        Therefore, I completely disagree with you. Software technology is not like chemistry, and shouldn't adhere to the same rules. You can only stretch an analogy so far, and in this case it snapped. Or else, would you REALLY like software engineering to become even more black arts and enshrouded in mystery as it already is? Is it good to have robber barons with lots of CPU-power get monopoly on not-yet-understood algorithms and ideas? An algorithm like that is completely worthless in most scenarios. Of course we should use our common sense to discriminate between what cases. Ie, text-to-speech will never be perfect.

        I still think it's a neat idea though. But this patenting computer-made ideas just keeps screaming RAMBUS! in my poor ears.. People have come up with all sorts of get-rich-by-doing-nothing schemes. None of these are a benefit to humanity and society, except as a moral lesson. We'll see what sorts of patent they release though. I know patents can be a necessary evil.

        - Steeltoe
  • by Apuleius ( 6901 ) on Sunday August 12, 2001 @03:03PM (#2115297) Journal
    I'd rather keep my soul.
  • by roxytheman ( 463262 ) on Sunday August 12, 2001 @03:54PM (#2118612) Homepage
    This article must be one of the more fascinating I have read the last month. This might be due to my over worked imagination, but this seems like the idea of making computers do the work for us is taken to the next level. (oh long sentence)
    One thing I am agains though are all those (b)anal patents around. Americans seem to be the worst, but Europe is getting there.
    Why are they making the computers invent things to patent? I feel the reason for running this project is wrong. "Let's start a project so we can register loads of patents" should instead be "Let's start a project to benefit humanity"

    • I feel the reason for running this project is wrong. "Let's start a project so we can register loads of patents" should instead be "Let's start a project to benefit humanity"

      Omigosh! You mean... the guys who run this experiment are... ALIENS?!

      In all seriousness, some of the *worst* disasters have been brought about by people trying to "benefit humanity". Crack-dealer infested housing projects, Eugenics etc...

      That's not to say that capitalists don't screw up too, but I maintain a healthy skepticism towards altruists. So these guys want to patent stuff. Big deal. At least we know where we stand with them. When the idealists get a hold of things, you never know how they are going to f*** you.

      This reminds me of teachers in school. There were many different kinds of teachers, but I'm thinking of two specific types. The first was the stern old man with the ruler. On the first day of class you thought it was going to be miserable, but then you got to know him, learned a lot, and by the last day you missed him. The second was the hippy teacher with the tie-die and the long hair. On the first day, you thought it would be an easy class, but then he had to lay down the law and it turned out that he wasn't very competent either.

      Such is the way with capitalists and idealists.

      • You sound just like an idealist to me though. ;-)

        - Steeltoe
        • I thought I did a fair job expositing the flaws of both capitalists and idealists, the implication being that they will both f*** you, just in different ways and at different times. How is that idealist?

          • Sorry, I thought you were saying capitalists wouldn't do it. I may have read too many "free market" and "true capitlist" posts lately.. ;-) Sorry.

            However, instead of focusing on flaws in other people. How about focusing on their good qualities? :-) Focus on negativity is a self-fullfilling prophecy.

            - Steeltoe
      • That's not to say that capitalists don't screw up too, but I maintain a healthy skepticism towards altruists. So these guys want to patent stuff. Big deal. At least we know where we stand with them. When the idealists get a hold of things, you never know how they are going to f*** you.

        maybe the idealists don't want to fuck you? yeah it doesn't fit in with the capitalists' view of human nature, I know. idealists may make mistakes, but if they admit them right away without trying to hide them, then I at least feel better with the idealists.

        • The idealists may not start out wanting to f*** you, but all too often they enter what I like to call the "dictator's delusion".

          It works something like this:

          Step 1. "The World would be great if everybody (blank)ed". This is the essence of idealism.

          Step 2. A few people will (blank) but not everybody. Laws are passed to encourage people to (blank).

          Step 3. Encouraging people to (blank) becomes a proxy for making the world a better place.

          Step 4. The delusion is complete. The leaders of the revolution totally forget about making the world a better place, and cling stubbornly to the ideal that (blank) will do that. They forget the fundamental laws like "love thy neighbor" and cling to their preconceived notions of what is best, even when it is demonstrably flawed. Two famous examples: The Pharisees in the Bible and the leaders of any "communist" nation refusing to reform while the proletariat starves. Both groups started out with an ideal. In the first case it was religious, and in the second place political. The result is the same though.

          I hope you get this. I can't tell you how many times I've frustrated people who try to pigeon-hole me into either a "leftist" or "rightest" category. Both are "ideals" and flawed because There is no algorithm for right living.

          I think I probably summed it up best in this rather off-the-wall essay. [vrml3d.com]

    • I feel the reason for running this project is wrong. "Let's start a project so we can register loads of
      patents" should instead be "Let's start a project to benefit humanity"

      Which pays better? Which lets you eat and breed and produce new copies of yourself and your kind (geekoids)?


      Apply GA. Which dominates in 50 generations - OS or MS?

  • by rgmoore ( 133276 ) <glandauer@charter.net> on Sunday August 12, 2001 @03:14PM (#2119726) Homepage

    The real question is whether they're going to try to pantent the idea of running a computer program to generate patentable ideas. That meta-patent would be the really valuable idea to come from this research.

  • But can they make a machine that'll come up with creative ways to train your wife for you?
  • If a computer can 'invent' something by simply extrapolating rules, the devices it produces are clearly not innovative and fail 'Obviousness' test.
  • I had a beowulf clu . . . er well anyway

  • "They have job openings for programmers. :-)"

    The link is to a website that was last updated last November.

  • Well, yeah... (Score:4, Insightful)

    by update() ( 217397 ) on Sunday August 12, 2001 @03:00PM (#2129302) Homepage
    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.

    Or, as the article puts it:

    "I imagine we have done that but we don't know it," laughs Koza. To identify valuable, original results rather than simply matching patents, he explains, a human expert in the given field would need to evaluate tens of thousands of survivors.

    In other words, it turns out that an infinite number of monkeys really will stumble into everything given infinite time. Frequently, solutions are simple -- it's identifying the need and fitting a solution to it that' s worthy of a patent.

    • Don't think evolution is the work of an infinite number of monkeys. 1000 Pentiums is not a lot in the grand scheme of things. Enumeration just doesn't work.

      The best way someone phrased it was to compare evolution with the well-known 'infinite improbability drive'.

      Improbable stuff happens all the time, the trick is to keep the good improbable stuff and get rid of the fluff. Then build on the improbable stuff and wait for more improbability to happen (which it will). Repeat.

      Figuring which of the improbable stuff is improbable enough to get rewarded a monopoly by the state is indeed a whole other issue. You might not want an expert but a patent lawyer would come in handy.

    • How patently obvious ;).
  • I hope the first thing they did was patent the very idea of using genetic algorithms to search for new patentable algorithms.
    If so, then they are definitely going to be rolling in dough soon...

  • by Monkeyman334 ( 205694 ) on Sunday August 12, 2001 @03:14PM (#2135966)
    If you want more information on genetic programming, check out these articles [slashdot.org] posted on slashdot a couple days ago.
  • Banalities (Score:3, Insightful)

    by Blackheart2 ( 161473 ) on Sunday August 12, 2001 @03:13PM (#2135967) Homepage
    The fact that a machine can come up with patentable software only goes to show how banal most software patents are.
  • Actually for someone wanting to get on-the-job training, John is a pretty good employer - the productivity of his small teams has always been spectacular. For someone wanting to do a year's work before going on to a PhD at Stanford, I think he would be perfect.
  • Personally, I'm a bit annoyed with Koza.

    He came and gave a talk about GP at UCI, so I went to see it. He gave an interesting song and dance about the great results they've gotten with it. I have no reason to doubt that the results are really good for some problem domains.

    I got kind of excited about trying GP for a go engine, one of the hardest AI problems around. It's been tried once before, but I suspect the programmers didn't have that much domain-specific knowledge to help along the project.

    What Koza didn't tell us, and what I didn't find out until I'd already invested a fair amount of time into studying GP, is this:

    GP itself is patented.

    So you can't really use GP as a way of coming up with patents to defend free software, unless you license the patent for GP.

    BTW, I wrote Koza and asked him if I could use GP in a free software project for that go engine I was drooling about. I offered to split that $1M+ prize with him if I came up with something decent. He didn't even reply.
  • by NoOneInParticular ( 221808 ) on Sunday August 12, 2001 @04:25PM (#2138356)
    One of the things that was not mentioned in the article and as far as I know never made it into Koza's writing is that for some of their older stuff, they came up with some particular patent so regularly that they started to write a patent avoidance filter.

    What the thing does it take some existing patents and when the evolution hits on something that is close to it, the solution get punished for that. In think this is on par with patent invention, particularly as it seems you can circumvent any patent by just entering it in the machine and end up with a different device that circumvents it. Might be good idea for some GNU projects to have.
  • by plool ( 90691 )
    So, has someone patented the patent making machine?
  • by A Commentor ( 459578 ) on Sunday August 12, 2001 @02:57PM (#2140532) Homepage

    So if a computer is able to determine the algorithm, How can it be argued that this is not something that someone trained in the art would not come up with?

    If someone could program a computer to iterate over possible solutions, this SHOULD NOT meet the requirements for Patentability.

    • So if a computer is able to determine the algorithm, How can it be argued that this is not something that someone trained in the art would not come up with?
      Actually, it sounds as though a substantial part of the cleverness of their system is that it focuses on areas that are notoriously difficult for people to come up with good answers. They mention specifically that they've looked mostly at areas that are viewed as being black arts- i.e. areas where the most reliable approach for human inventors is trial and error. That means that essentially nothing in those fields is obvious, even to experts in the field, so just about everything is patentable.
    • honestly, does it matter anyway? They are giving away patents left and right. Other countries don't accept them. They are basically worthless.

      I say we need to do some work and improve the system before we start expoiting it.
    • I agree. I think it would cut down on a lot of useless patents if companies needed a working implementation of something before they could patent it. I have heard of companies that had working implementations of things, but since they weren't first at the patent office, they were only allowed to stay in business during the one to two year period it took for the patentholder to actually figure out how to implement the patent.

    • by Anonymous Coward
      Exactly. Excuse me while I get a patent on all bit strings of length N.
    • This is actually correct, but beware of what governing bodies might do upon hearing cha-ching and seeing $$$. Here's a link to some excerpts of patent information. What is and not patentable. Patent Clips [mindspring.com] and notice the red text under "Inventions" near the bottom.
    • Okay, listen. The Genetic Algorythm is NOT merely the act of analysing absolutely everything that is possible. That is not feasable. It is not iteration, either. The GA is a process that sets very specific 'fitness' functions and models a limited set of variables that can be changed randomly in order to work towards the highest fitness possible. Each genetic (should be called evolutionary, but it seems that I have already lost that battle) program is usually tailored for a specific problem. If you think that you can write a program that models absolutely every possible invention, then go ahead and try. I have been working on a limited algorythm as a hobby project, and a decent fitness function is a very difficult creature to track down.
  • Imagine it inventing a Beowulf cluster of itself! It ... it would ....

    Dammit. Less coffee, more sleep.

  • by Perianwyr Stormcrow ( 157913 ) on Sunday August 12, 2001 @03:08PM (#2142287) Homepage
    On the philosophical ground, these Stanford folks seem to have created a device capable of sifting the Akashic data banks. After all, where do these ideas come from? But like any chaotic concept, we reform it along the lines we expect to see.

    So we have a machine that we can give a problem, and it will give us an answer, as long as we know what we want to hear.

    This sounds an awful lot like most human-made software development (especially "community" development) in that it's really good at optimization, but it slows down significantly once new ground begins to be charted.

    It of a conversation I recently had about this very idea- that GNU projects (GNOME was the example) tend to have this habit of just mulling around and looking funny for a long while before jelling into something usable- but once that happens, the thing created is a war-hardened program capable of getting the job done. Who knows, though, if it would have even existed had it not had previous environments' headlights to chase?

    There's definitely a parallel here worthy of more observation.
    • So we have a machine that we can give a problem, and it will give us an answer, as long as we know what we want to hear.

      "Hm, tricky."
      "But can you do it?"
      "Yes, but the program will take a little while to run."
      "How long?"
      "Seven and a half million years."
      "Seven and a half million years!?"
      "I said it would take a while, didn't I? And it occurs to me that ... so long as you can keep disagreeing with each other violently enough, you can keep yourselvs on the gravy train for life. How does that sound?"
      "Now that's what I call thinking."

      Or maybe this is less like Deep Thought, and more like the nutrimatic, which after analyzing the person's likes and dislikes, inevitably failed to produce anything but a liquid which was almost, but not quite, entirely unlike tea.

  • Hill-climbing (Score:3, Informative)

    by Animats ( 122034 ) on Monday August 13, 2001 @01:05AM (#2143756) Homepage
    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 [agorics.com], 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.

    • > It's not clear that this approach leads to strong AI

      That's a lot funnier than you think.
      Supposedly we're a product of genetic algorithms (in the broadest sense). Does this approach lead to intelligence, I doubt it: "...Because there's bugger all down here on earth"

      I did some commercial work with GA's for a while. They're ok, the only effective way we currently know of to solve certain classes of problem, but I now sincerely doubt that darwinism is correct. I don't think evolution from Apes to humans in 1000000 years with the kind of population that existed is feasible using a GA approach. There's something else going on that hasn't been identified yet, survival of fittest (or sexual selection) and genetic mutation/crossover just doesn't cover it.

      • I did some commercial work with GA's for a while. They're ok, the only effective way we currently know of to solve certain classes of problem, but I now sincerely doubt that darwinism is correct. I don't think evolution from Apes to humans in 1000000 years with the kind of population that existed is feasible using a GA approach. There's something else going on that hasn't been identified yet

        Monoliths.

        Sumner

      • There's something else going on (in biological evolution) that hasn't been identified yet, survival of fittest (or sexual selection) and genetic mutation/crossover just doesn't cover it.

        I agree. A decade ago, I remarked in Koza's lunch discussion group that we're missing something in understanding how evolution works, and there's a Nobel Prize for whomever finds it. This sparked some interest, since the people in attendance were academic researchers. But a decade later, there's been no big insight.

        Observing that most of the variety in biological evolution appeared during a short (in evolutionary terms) period, I have a speculation of my own. Perhaps during the period after viruses emerged, but before self/nonself recognizing immune systems, evolution worked much faster. With viruses to carry information around, some forms of evolution could take place during the organism's lifetime. This is vaguely plausible, but unconfirmed.

        It's very frustrating trying to do AI via hill-climbing techniques. Almost invariably, you knock off some of the easy problems, then hit a wall. Your algorithm churns and churns but doesn't improve. Searching on a broad front, or introducing randomness, helps a little, but mostly just gets you out of local minima.

        I tell people working on broad-front hill-climbing methods like genetic algorithms to validate them by comparing them against the two extremes - simple greedy hill climbing, and totally random search. If simple greedy hill-climbing works, you didn't need a GA or a neural net in the first place. If totally random search works, the search space is so small you don't need anything fancy.

      • I really have little-to-no clue about GA, although I tried to make something like this a couple of years back using x86 assembly. I believe the problem is ultimately one of processing power. Nature, as magnificent as it is, has tremendous computing power and detail. So, whatever we accomplish with our clunky serial/SMP processors (a tiny part of the universe) today is not comparable at all.

        Nature being very flexible, could also speed up evolution by changing the evolving process itself. This is opposed to our computers and software, which remain pretty static.

        However, just like you. I cannot really understand how everything has come to be just because of evolution. And if I can accept that I possess a mind, why shouldn't I be able to accept that there might be a bigger mind of some sorts behind the universe? To me, the essential building block of the universe seems to be consciousness - the dreamer. However, I'm perfectly aware that this only remains an idea/concept and shouldn't stop us from searching for more scientific or other spiritual answers.

        - Steeltoe
  • I'm really surprised that everyone is so concerned about Koza's GA approach to invention. If you have been reading Scientific American, New Scientist, and Business Week, you will discover that I have been pioneering a unique kind of neural network system called a "Creativity Machine" that has been actively engaged in developing new inventions (some of which are now patented). Although many are accused of thinking with their genes, real invention comes from biological neurons. The Creativity Machine similarly invents using synthetic neurons. I guess that the Stanford Technology Transfer Office is vigorously marketing a technology that emulates the extremely slow, wasteful, and laborious processes of mutation and natural selection (genetic algorithms). To see a better way, go to http://www.imagination-engines.com.
  • No no, this is just the beginning. Because if you've invented a computer to generate patentable things for you, you are going to want to make money out of them; as much as is humanly possible.

    So, what we end up with is another generation of computers; not to scan patents but to compare marketing strategies and come up with new ones which will do the best job of selling the crappy new stuff.

    No doubt someone will eventually complain that their patent was actually infringed, and at that time we can look forward to lawyer-computers which will generate new legal strategies by comparing the best ones from the past...

    Well, that's my conspiracy theory anyway.

  • by ben_tarval ( 512334 ) on Sunday August 12, 2001 @03:55PM (#2144918)
    This device could actually be used to help bring an end to the incredibly stupid notion of software patents.

    Suppose we had a GNU project to do something similar; and published each and every solution which resulted - distributing this effort among thousands of GNU advocates.

    These solutions could be used to blunt future patents based upon the resulting "prior art" from this effort. And software would be free to progress as it once did.

    • Yeah,

      It's about time the patent office had a DOS attack.

    • These solutions could be used to blunt future patents based upon the resulting "prior art" from this effort.

      Check out PriorArt.org [priorart.org] -- they are collecting submissions from the community, for free, to create a database of prior art to combat absurd patents with.

      It was created with the help of the Foresight Institute [foresight.org] , which also runs a Slashdot-like interface at NanoDot.org [nanodot.org] .

      (PS NanoDot appears to currently be down.)

    • Maybe they could contest pending patent applications on grounds of obviousness, based on the inventions the computer managed to duplicate. Trouble is, their investors probably wouldn't support such an agenda.
    • Suppose we had a GNU project to do something similar; and published each and every solution which resulted - distributing this effort among thousands of GNU advocates.

      That would be lovely. All that you would need to do is sort through the trillions of outputs to see if any of them were valuable.

      This is a field test of an AI trial solution. The entirety of the attempt is to learn whether the GA is capable of coming up with inventions that are as sophisticated as those designed manually. If you stop using existing patents as the fitness function, you now need to have a method of learning which among the generated solutions is superior.

      In the case of software patents, that means you need to be able to tell the computer what the ideal piece of software will do and how. That means, finally, that you have to detail every single part of the program before you can start evolving it. So, you might as well just write the code. You need to do this for every single piece of software you are trying to evolve.

      Otherwise this would have already been done. What's more, if you want a complicated program, you'll probably need a lot more than a 1000-node cluster. Think about this, an evolutionary approach to Apache means that you would need to store in hard drive a large number of Apache prototypes which are in the process of evolving, then you would need to stress test these Apache prototypes one by one, and decide which one worked best. You would need to run a few hundreds of thousands of generations, minimum. That's a damn hell of a lot of processor usage.

  • by sane? ( 179855 ) on Sunday August 12, 2001 @03:56PM (#2144919)
    I always thought that for something to be patented it had to be non obvious, and the product of creative thought.

    Anything that this array of GP computers can create by a process of natural selection must by definition be an obvious consequence of the basic building blocks. After all, no creative thought it being exercised here, just a purely mechanical process.

    If so, those patents must have been granted in error (not an uncommon thing for the patent system), and so should be revoked immediately.

    That goes for anything else that can be evolved in a similar way.

    Maybe we have an automatic way of weeding the many bad patents out of the system. I wonder if the powers that be will be interested ...

    • I always thought that for something to be patented it had to be non obvious, and the product of creative thought.

      For me the main message of this article is that what is 'human creativity' and what is 'mechanicial number crunching' is a moving target.

      Remember when mere machines couldn't ... play grandmaster level chess ... prove geometry theorems .. add numbers together.

      I've said it before (actually others said it first) but 'that which makes us human' is usually equivalent to 'that which we can't get a machine to do ... yet'.

      And this technique will in time, I hope, collide head on with the patent system.


    • Anything that this array of GP computers can create by a process of natural selection must by definition be an obvious consequence of the basic building blocks. After all, no creative thought it being exercised here, just a purely mechanical process.


      By this logic any and all software patents are a logical consequences of a particular configuration of nand gates and should not exist.
      The primitive building blocks in GP are just those: primitive. Simple logical and arithmatical functions, loops, iterations, things a programmer needs. Configuring them is called programming and whether it is done by automatic means is irrelevant.

      The stuff genetic programming produces is quite often highly non-obvious and takes an expert quite some creative thought to understand how it does what it does.

      There is a point that should be stressed though. Genetic programming works by using inductive processes to find the answer. Inductive processes are creative by nature, this in contrast with deductive logic that is not creative at all (Cyc is the prototypical example).

      If a machine arrives at an answer through deductive reasoning (theorem proving), then by definition it is a logical consequence of the inputs. Generate and test is however not deductive.

      And please define the phrase 'creative thought' and while you're at it prove that it is not mechanical.
      • By this logic any and all software patents are a logical consequences of a particular configuration of nand gates and should not exist.

        I think that this sums it up perfectly, to be honest. The trouble with patents and copyrights is that they prevent other people from taking and idea and extending it into something else. Thus, by having them, you simply slow down invention.

        Think of the open standards that are emerging _because_ patents have been put on ideas, such as PNG because of patents behind GIF, Ogg Vorbis because of patents behind MP3's...

        And to put it another way, if someone else can take your idea and do it cheaper, and more economically than you can, then by stopping them doing this and making your own version more expensive, you are screwing a hell of a lot of other people out of more money than they really need to spend.

        Is that really how things should happen?

    • I always thought that for something to be patented it had to be non obvious, and the product of creative thought.

      Non-obvious, yes. More precisely unobvious to one with ordinary skill in the art.

      Product of creative thought? No. Aside from the difficulty of coming up with a definition of something so metaphysical as 'creative thought', (an who can say this computer was not in fact engaging in such) there is specific language in the patent statutes that says the method of coming up with the patent is not to be considered when judging if the material is patentable. In other words, it's the result that counts, not how you got there. Sensibly pragmatic IMHO.

  • gp and ga (Score:3, Interesting)

    by jon_c ( 100593 ) on Sunday August 12, 2001 @04:21PM (#2145166) Homepage
    Bahh, I just woke up and it's to early for me to post.

    About 2 years ago I started getting interested in genetic programming, all one had to do was define the problem well enough give the computers the right pieces and boom you have the next perfect speech to text engine, or Pac-man ghost logic.

    The first think you'll realize when you get into this field is that there are two type of genetic programming; "Genetic Algorithms" and "Genetic Programming". The first is really just defining an answer set, like trying to re-arrange a DNA strand so it fits a certain criteria, the latter is actually having the computer create some "code" or an actual algorithm. Naturally I was more interested in "Genetic Programming".

    The first thing I set out my test program to do was find an algorithm to find prime numbers, just a little test before I moved on to bigger and better things (like Pac-man ghost logic). I plugged in a few operations for the GP to work with, Add, Sub, Mul, Dev, Mod etc.. and gave it a fitness saying "your fit if you have an algorithm that given N you return Nth prime number". Well this didn't work.

    The GP would come up with the most retarded algorithms; long lines of Add/Sub etc.. Some of them worked moderately well, all could have been reduced to a more finite set. Either way it wasn't going to work. The problem was that I needed to give the GP better tools then basic arithmetic, it needed for loops, if branches, variables! Maybe if I could figure out how to give the GP the right set of tools, and defined the problem we'll enough it could have gotten further.

    You'll find GP successful in a limited range of problems. This is defined by the tools you can give them to work with, and by how well you can grade its "fitness. Fitness becomes very limited when the user most be evolved, imagine trying to have a GP come up with a good text to speech, ever time a new "generation" of code was produced you could have to personally grade the static garble it came out with.

    -Jon
    • I'm curious, since I know little about hardcore programming, about how you program this kind of thing... How does it run? Forever until forced quit? And how do you record the results? And what if you stop the program, and run it again, will it remember what answers it already found? Hmm, very interesting indeed... (OT) I wonder if a computer can learn how to play games as well as people using genetic programming... Heh I'm a firm believer that a computer can do things way better than people once taught. =P
  • im actually more interesting in the solutions they are coming up with rather than if the results are patentable. this does bring up quite a few interesting AI problems (solutions?) on making computers duplicate (or perhaps surpass) human problem-solving methods (kind of reminds me of wargames).
  • Hey, I'm f-ing bored, and it's only Wednesday. I bet my friend that I could post complete B.S. on /. and not get modded down. What do you think? Have a sense of humor? Mod me up. It's a good f-ing joke, and I might get 50 smackers out of it!

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...