Soar Expert System Tools Team W09 Daniel Nelson, Emily Schwarz, and Sean Lydon
Motivation Soar is a unified architecture for developing intelligent systems Soar is a unified architecture for developing intelligent systems Soar’s purpose is to be an architecture that supports all the capabilities required of a general intelligent agent Soar’s purpose is to be an architecture that supports all the capabilities required of a general intelligent agent First developed in 1987 at Carnegie Mellon First developed in 1987 at Carnegie Mellon –Now on version 9.0
Functionality Represents knowledge as objects (structures with multiple attributes) Represents knowledge as objects (structures with multiple attributes) Goal oriented Goal oriented Production rules can be stated explicitly, but are most often broken down into propose rules and operator rules Production rules can be stated explicitly, but are most often broken down into propose rules and operator rules –Propose rules state when an operator should be used –Operator rules perform actions (like modifying working memory) –Operations can be proposed by multiple rules –Eliminates duplication of the RHS of rules. Comes with an editor and a debugger Comes with an editor and a debugger –Both are well fleshed out with a lot of functionality Represents the working memory in a hierarchical manner (as a tree structure) Represents the working memory in a hierarchical manner (as a tree structure) Multiple mechanisms for learning Multiple mechanisms for learning
Example of a production rule General Format General Format sp {rule*name (condition-1)(condition-2)…(condition-n)-->(action-1)(action-2)…(action-n)}
Example of the corresponding propose and operator rules
Strengths and Weaknesses Strengths Strengths –Can be used for production systems and has learning functionality built in –Mature application Constant development Constant development Committed users Committed users Weaknesses Weaknesses –Lacks a simple way to interact with the user. No “(read)” function –Lack of documentation on how to build expert systems with it
Evaluation for use in CSC/CPE 481 While there is quite a bit of documentation, it mostly covers more complex topics like learning While there is quite a bit of documentation, it mostly covers more complex topics like learning –Might be suitable for a high level general ai class –No resources online from other institutions that have tried teaching Soar Lacks simple console based i/o and would therefore be unsuitable for most of our homework assignments Lacks simple console based i/o and would therefore be unsuitable for most of our homework assignments Steep learning curve, compounded by the lack of simple examples Steep learning curve, compounded by the lack of simple examples While Soar is extremely powerful, it is not suitable for the purpose of teaching knowledge based systems While Soar is extremely powerful, it is not suitable for the purpose of teaching knowledge based systems
References Soar Manual (available with the Soar download, at wnloads) Soar Manual (available with the Soar download, at wnloads) wnloads wnloads Soar Tutorial ( nd_links) Soar Tutorial ( nd_links) nd_linkshttp://sitemaker.umich.edu/soar/documentation_a nd_links A gentle Introduction to Soar: 2006 update JF Lehman, JE Laird, PS Rosenbloom, University of Michigan, 2006 A gentle Introduction to Soar: 2006 update JF Lehman, JE Laird, PS Rosenbloom, University of Michigan, 2006