The program Eurisko was developed by Douglas Lenat in the late 70s and 80s. It's allegedly adept at learning general patterns and heuristics, and at improving it's own performance. Naturally, Lenat has never released the source code, and has published very little information about the exact inner workings of the program. So, in lieu of an official explanation, how might a program like Eurisko be designed? What open source technologies available today might make an implementation more practical?
+2
A:
Actually, Lenat published a fair amount on Eurisko (I was pretty interested in this 20 years ago). IIRC correctly, he published a number of papers in the AI literature, (here's a key one: "Why Eurisko appears to work" http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89.1269&rep=rep1&type=pdf
Eurisko is based on his PhD thesis on AM ("A Mathematician") and that you can get through Stanford.
I'd go look at those first :-}
I don't know about "open source", but I'd certainly consider using LISP (Lenat did), or Prolog (because it has good symbolic manipulation support), and Eurisko is about symbolic computation.
Ira Baxter
2010-03-26 14:58:43
Thanks. I was actually in the process of reading that paper when you posted it. An interesting read, but sadly it doesn't shed much light on Eurisko's implementation. In my experience, academic papers are a poor substitute for source code.
Chris S
2010-03-26 18:00:02
I find the other way better. Of course, you could send an email message to Doug Lenat at cyc.com (I don't know his actual email address). I'm sure he'd be flattered. Dunno whether he has the code or would offer it to you. More interesting would be a response in which he told you why he quit working on it :-}
Ira Baxter
2010-03-26 21:34:32
Google shows others have asked for the code. They've either been ignored, refused, or told the code was "lost". I don't think he ever explicitly said he stopped working on it. I've heard it said that Cyc was born out from his work on Eurisko, so he may have just taken it in another direction. In any case, after reading more of his papers, it looks like Eurisko is essentially a genertic algorithm, with an additional "meta" genetic algorithm that modifies the mutators and selectors of the first to speed up knowledge discovery. Still curious in how he pulled that off.
Chris S
2010-03-29 17:56:33
CYC I think was a response to the fact that AM/Eurisko needed lots of background knowledge. While CYC does apparantly apply inferencing to its existing fact base (often in the context of specific facts you may have for a specific problem) I don't think CYC tries to compute any new hueristics for solving problems.
Ira Baxter
2010-03-29 19:06:49