Expert Systems and Squeak

ssadams at us.ibm.com ssadams at us.ibm.com
Wed Jan 6 05:04:39 UTC 1999



Russell wrote:
<<
on a slightly different note, does anyone know any Smalltalk
implementations of either an expert system engine, or alternatively logic
packages (predicate etc - a la prolog)?
>>
Don't know what you want exactly but here's a few:

Humble, the expert system shell done by Xerox XSIS for The Analyst package.
Backward chaining rule system with certainty factors and a nice explanation
facility.  Code may still be available from XSIS.  I have a personal
license.

Kent Beck did a neat little Prolog system in Tek Smalltalk-80 that sported
an animated logic debugger.  Not industrial strength but a good starting
point and lots of cool ideas.  I have a copy of the code but check with
Kent.

There's also the old Smalltalk/V Prolog system, but I think that had some
special Digitalk dependencies.

If I recall, there are some other prototypes in the Smalltalk Archives at
UIUC.

NeuralAgents, the system Abdul Nabi and I created in 1989 (see OOPSLA 89
proceedings).  A hybrid OO/Agent/Expert system that supported a network of
collaborating agents as the "brain" for any Smalltalk object.  The system
used the change/update mechanism for active-value style event notification
and provided rule objects with special Smalltalk blocks for both conditions
and actions.  Forward and backward chaining was supported, along with a
certainty and "trust" factors for agent suggestions.  Each agent was an
expert system on its own, and you constructed networks of agents to provide
subsumption-style conflict resolution.  Code has been mostly ported to
Squeak and is functional....and available.  I've toyed with the idea of
integrating this with the Morphic notion of  scripts, but there's so little
time.

I know there are other Squeaker's who knew the chill of the "AI winter" out
there.  Fess up, y'all.  Better yet, port and /or share your old code!

Also, any of you old Apple/Vivarium folks thought of porting the Playground
code?   Hmmmm, come to think of it, you could do something very similar by
coupling a Morphic Construction environment (like Alan's car demo) with the
"Telemorphic" functionality.  Think of a simple multi-user network car race
as a start.

Regards,
Sam


Sam S. Adams, Distinguished Engineer, IBM Network Computing Software
Division
tie line 444-0736, outside 919-254-0736, email: ssadams at us.ibm.com
<<Hebrews 11:6, Proverbs 3:5-6, Romans 1:16-17, I Corinthians 1:10>>





More information about the Squeak-dev mailing list