Skip to content
Angular-Angel edited this page Aug 9, 2024 · 29 revisions

Welcome to the Eurisko wiki! It's open for people to post their knowledge & discoveries about the original code base.

Small snippets of info & observations are welcome on this page, larger pages can be found on the right.

RLL

It appears that RLL was an editing environment of sorts, and one that Lenat et al did not feel met its goals, particularly to separate Eurisko's Unit representation from Lisp, to be able to run in faster environments. There's no indication of any RLL input files in the saildart archive which might have generated EUR file content. I grepped the entire thing for unique Unit names, and nothing but EUR and dribble files came up. So the Units established in the EUR file were likely created in situ and don't have a smaller canonical representation that expanded into the large DEFPROPS forms. - wf

Traveller

Similar grepping also makes it highly unlikely that the Traveller heuristics are present in SAILDART, unless by chance the respective RLL edit state were held in a binary image somewhere. Only 2 files, FLEET.C and FLEET.Q in [AM,DBL], contain Traveller specs, and those appear to be output reports that Doug was analyzing. The EURISKO files also only date up to February 1981, over 4 months before the first TCS championships he attended. According to Feigenbaum's talk referenced below, Lenat ran his EURISKO TCS searches on Xerox PARC machines nightly for months at their facility, not on the Stanford campus. - wf

Execution

"EURISKO would run all night, said Feigenbaum. Each morning, Lenat would pick a few best moves. EURISKO continued searching; Lenat continued evaluating and pruning the searches daily, for months. Together, Lenat and EURISKO found an unexpected winning move in the huge game search space that he took to the world championship, and won." From nih.gov

Link to the talk this is from: https://youtu.be/gE1WCGeBRSc?t=2434

AM simply ran until it ran out of RAM, streaming its "interesting" finds to its output as it found them. Eurisko might operate the same way, with no noticeable exit state. The Medley Interlisp version blows the stack at some point, meaning the datastructures might have gotten too large to traverse recursively... or it could be a bug. - wf

So new concepts, conjectures, theorems, etc emerge all the time; as they are investigated, some turn out to be useful and some turn out to be dead-ends; using a fixed set of guiding heuristics, the rate at which useful new discoveries are made will decline gradually over time; eventually it's worth pausing in the search for domain-specific knowledge, and turning instead to the problem of finding new heuristics (perhaps by abstracting recent experiences in the task domain). The discoverer later returns to his original task, armed with new and hopefully more powerful heuristics. He keeps his eye on the new ones, trying to gain enough experience with them to evaluate just how useful they really are. -Lenat, Nature of Heuristics, Page 15.

Interactive Usage of the Medley Interlisp Version

On starting, answer no when it asks if you're ready to start. You can then type (START) to proceed manually, without being in eternal mode, which means that it will regularly pause to let you read the logs - and during these pauses, you can press CTRL-D to return to the lisp prompt. There, you can use general lisp commands to examine the state of the system, including ones defined by Eurisko, such as GatherExamples, like so: (GatherExamples 'Heuristic), which will show a list of currently known heuristics. Once you're satisfied with your examinations and/or changes to the system, you can make Eurisko continue by calling (START) again.

Files

From Stephen Kaisler: "For EUR: AllHEU-1 and AllHEU-2 are related to its operation, FLEETC and FLEETQ are specifications for ships for the Naval competition that Doug used EURISKO for." - wf