From - Wed Apr 23 09:47:01 1997 Path: news.uakom.sk!news.cesnet.cz!news.radio.cz!voskovec.radio.cz!newsbreeder.radio.cz!news.radio.cz!newsbastard.radio.cz!news.radio.cz!CESspool!europa.clark.net!news.mathworks.com!rill.news.pipex.net!pipex!netcom.net.uk!nntpfeed.doc.ic.ac.uk!sunsite.doc.ic.ac.uk!warwick!news.nott.ac.uk!usenet Newsgroups: comp.ai,sci.cognitive,sci.psychology.theory Subject: Soar FAQ: Latest release Date: Mon, 14 Apr 1997 13:14:03 +0100 Organization: Univ. of Nottingham Lines: 545 NNTP-Posting-Host: vpsyc.psychology.nottingham.ac.uk Mime-Version: 1.0 Xref: news.uakom.sk comp.ai:40808 sci.cognitive:12159 sci.psychology.theory:4761 Soar: Frequently Asked Questions List Last updated 14-April-97 ---------------------------------------------------------------------------- Table of Contents * Section 0: Introduction * Section 1: General Questions o (G0) Where can I get hold of the Soar FAQ? o (G1) What is Soar? o (G2) Where can I get more information about Soar? o (G3) What does Soar stand for? o (G4) What do I need to be able to run Soar? o (G5) Where can I get hold of Soar? o (G6) Who uses Soar for what? o (G7) How can I learn Soar? o (G8) Is Soar the right tool for me? o (G9) How can I make my life easier when programming in Soar? o (G10) Is there any support documentation available for Soar? o (G11) How can I find out what bugs are outstanding in Soar? ---------------------------------------------------------------------------- Section 0: Introduction ---------------------------------------------------------------------------- This is the introduction to a list of frequently asked questions (FAQ) about Soar with answers. The FAQ is posted as a guide for finding out more about Soar. It is intended for use by all levels of people interested in Soar, from novices through to experts. This abridged version of the FAQ only deals with general Soar issues. There is a longer version, which includes questions on technological and programming issues in Soar. It also serves as a repository of the canonical "best" answers to these questions. If, however, you know of a better answer or can suggest improvements, please feel free to make suggestions. This FAQ is updated and posted roughly every three months. Full instructions for getting the current version of the FAQ are given in question G0. In order to make it easier to spot what has changed since last time around, new and significantly changed items have been tagged with the "new" icon. Suggestions for new questions, answers, re-phrasing, deletions etc., are all welcomed. Please include the word "FAQ" in the subject of any e-mail correspondence you may send. Please use the mailing lists noted below for general questions, but if they fail or you do not know which one to use, contact one of us. This FAQ is not just our work, but includes numerous answers from the Soar community. The initial versions were supported by the DERA and the ESRC Centre for Research in Development, Instruction and Training. The views expressed here are those of the authors and should not necessarily be attributed to the Ministry of Defence. Back to Table of Contents ---------------------------------------------------------------------------- Section 1: General Questions ---------------------------------------------------------------------------- (G0) Where can I get hold of the Soar FAQ? The latest version of the list of Frequently Asked Questions (FAQ) for the Soar cognitive architecture is posted approximately every three months to the soar-group and EU-SOAR mailing lists, and to the following newsgroups: * comp.ai * sci.cognitive * sci.psychology.theory If you are reading a plain text version of this FAQ, there is also an html version available, via the following URL: http://www.psyc.nott.ac.uk/users/ritter/soar-faq.html which you can access using any Web browser. There are ongoing plans for mirroring this FAQ on the Soar home pages at ISI. Back to Table of Contents ---------------------------------------------------------------------------- (G1) What is Soar? Soar means different things to different people, but it can basically be considered in three different ways: 1. A theory of cognition. As such it provides the principles behind the implemented Soar system. 2. A set of principles and constraints on (cognitive) processing. Thus, it provides a (cognitive) architectural framework, within which you can construct cognitive models. In this view it can be considered as an integrated architecture for knowledge-based problem solving, learning and interacting with external environments. 3. An AI programming language. Soar incorporates * problem spaces as a single framework for all tasks and subtasks to be solved * production rules as the single representation of permanent knowledge * objects with attributes and values as the single representation of temporary knowledge * automatic subgoaling as the single mechanism for generating goals * and chunking as the single learning mechanism. Back to Table of Contents ---------------------------------------------------------------------------- (G2) Where can I get more information about Soar? Books For an introduction to the idea of Soar as a Unified Theory of Cognition read: * Newell, A. (1990) Unified Theories of Cognition. Cambridge, MA: Harvard. To find out some of the sorts of things that people have modelled using Soar look at: * Rosenbloom, P.S., Laird, J.E. & Newell, A. (1993) The Soar Papers: Readings on Integrated Intelligence.Cambridge, MA: MIT Press. Journal Articles and Book Chapters Recent and forthcoming publications related to Soar include: * Huffman, S., & Laird, J.E. (1995) Flexibly instructable agents. Journal of Artificial Intelligence Research * Laird, J.E., & Rosenbloom, P.S. (1996) The evolution of the Soar cognitive architecture. In T. Mitchell (ed.) Mind Matters. * Lehman, J.F., Laird, J.E., & Rosenbloom, P.S. (In press) A gentle introduction to Soar, an architecture for human cognition. In S. Sternberg & D. Scarborough (eds.) Invitation to Cognitive Science, Volume 4. * Tambe, M., Johnson, W.L., Jones, R.M., Koss, F., Laird, J.E., Rosenbloom, P.S., & Schwamb, K. (1995) Intelligent agents for interactive simulation environments. AI Magazine 16(1). Web Sites There are a number of Web sites available that provide information about Soar at varying levels: The Information Sciences Institute at the University of Southern California maintain a collection of Soar-related web pages including the Soar home page, the Soar group at ISI, and the Soar archive which contains a publication bibliography, document abstracts, official software releases, software manuals, support tools, and information about members of the Soar community. The Artificial Intelligence lab at the University of Michigan has a collection of Web pages about Cognitive Architectures per se. This includes a section on Soar; there is also a Web page available for the Soar group at UMich. Carnegie Mellon University - where Soar was originally developed - has its own Soar projects page. There is also a site at the Ohio State University's School of Medical Informatics. Mailing Lists There are a number of mailing lists that exist within the Soar community as forums for discussion, and places to raise queries. The main ones are: one subgroup of soar-group If you send e-mail to the soar-group mailing list it is automatically sent to the EU-SOAR mailing list. To subscribe to the soar-group mailing list, you should send an e-mail to you decide that you wish to unsubscribe from soar-group, you should send an the mailing list. To subscribe to the EU-SOAR mailing list you need to send an e-mail to EU-SOAR" as the body of the message. To unsubscribe from the list, you with the text "SIGNOFF EU-SOAR" as the body of the message. Newsgroups At present there is no Soar newsgroup. There has occasionally been talk about starting one, but the mailing lists tend to serve for most purposes. Matters relating to Soar occasionally appear on the comp.ai newsgroup. Soar Workshops There are two workshops, one based in the USA and one based in Europe. [NEW] The next North American Workshop (Soar Workshop 17) will be held at The Ohio State University from June 27-29, and is being organised by Rick Lewis. [NEW] The details of the next EuroSoar Workshop have also yet to be completely finalised. It is likely to be held in conjunction with the Second European Workshop on Cognitive Modelling, in 1998. Soar Training Typically a one day psychology oriented Soar tutorial is offered before EuroSoar workshops, and often at AISB conferences. [NEW]There will be a one day tutorial on Soar given at AAAI later this year. Back to Table of Contents ---------------------------------------------------------------------------- (G3) What does Soar stand for? Historically Soar stood for State, Operator And Result because all problem solving in Soar is regarded as a search through a problem space in which you apply an operator to a state to get a result. Over time, the community no longer regarded Soar as an acronym: this is why it is no longer written in upper case. Back to Table of Contents ---------------------------------------------------------------------------- (G4) What do I need to be able to run Soar? There are a number of versions of Soar available for different combinations of machine and operating system. The latest releases only are listed below: * Unix - Soar 7.0.4. This requires of the order of 10Mb of disk space (including source code) for most of what you will need, although the file that you retrieve via ftp is much smaller, since it is archived and compressed. The Unix version of Soar 7 is compiled with Tcl/Tk, which allows users to easily add commands and displays to their environment. The Soar Development Environment (SDE), which is a set of extensions to GNU Emacs, offers a programming support environment for earlier versions of Soar, and can still be used albeit in a more limited way for more recent versions. * Mac - MacSoartk 7.0.4 + CUSP - the latest MacSoar comes with Tk included, along with a number of extensions added by Ken Hughes to improve the usability of Soar on the Mac. You will require around 10 Mb of disk space to run this version, and will need version 7 of Mac OS (version 7.5 is recommended). Some versions of Soar can also be run under MacUnix. * [NEW] PC - There is now a version of Soar which will run under Windows 95 and Windows NT, which is under ongoing development. It is a port of Soar to WIN32, and includes Tcl 7.6/Tk 4.2, and is available as a zipped binary file. You should read the notes carefully, since there may be a problem with the Win32 binary release of Tcl/Tk. In addition there is an older, unsupported PC version called WinSoar, based on Soar version 6.1.0, which includes a simple editing and debugging environment, runs under Microsoft Windows 3.x. It is also known as IntelSoar. Several people have also successfully managed to install the Unix version of Soar on a PC running under the Linux operating system. If you decide to get hold of one of these versions of Soar, please send an retrieved. This will allow your name to be added to the appropriate mailing list so that you can be kept informed of future developments. Back to Table of Contents ---------------------------------------------------------------------------- (G5) Where can I get hold of Soar? The simplest way is to simply click on the version you want on the ISI Soar archive software Web page. This will initiate the transfer of the selected file to your machine. A slightly more up to date server is kept at CMU at the Soar software archive. You can also use ftp to retrieve the file. You need to log into cs.cmu.edu using the name "anonymous" and your full e-mail address as your password. Then change directory to /afs/cs/project/soar/public and from there choose the appropriate directory, and then the file that you wish to transfer. Do not forget to make use of the README files that exist in the directories: these will help to explain something about the contents of that particular directory. There is now also a European mirror site at the University of Nottingham of the CMU Soar software archive and the ISI Soar papers archive. Back to Table of Contents ---------------------------------------------------------------------------- (G6) Who uses Soar for what? Soar is used by AI researchers to construct integrated intelligent agents, and by cognitive scientists for cognitive modelling. The Soar research community is distributed across a number of sites throughout the world. A brief overview of each of these is given below, in no particular order. Carnegie Mellon University There are two basic strands of research. The NL-Soar explores a range of issues in natural language processing within a unified framework. Particular projects in the recent past and present include real-time comprehension and generation, learning discourse operators, and models of second language acquisition and simultaneous translation. For further information contact Jill Fain Lehman Development of models for quantitatively predicting human performance, including GOMS. More complex, forward-looking and sophisticated models are built using Soar. For more information contact Bonnie John Information Sciences Institute, University of Southern California Soar projects cover five main areas of research: development of automated agents for simulated environments (in collaboration with CMU, and UMich); learning (including explanation-based learning); planning; implementation technology (e.g., production system match algorithms); and virtual environments for training. For more information contact Paul Rosenbloom University of Michigan The Soar work at UMich has four basic research thrusts: Learning from external environments including learning to recover from incorrect domain knowledge, learning from experience in continuous domains, compilation of hierarchical execution knowledge, and constructive induction to improve problem solving and planning; Cognitive modelling of psychological data involving learning to perform multiple tasks and learning to recall declarative knowledge; Complex, knowledge-rich, real time control of autonomous agents within the context of tactical air engagements (the TacAir-Soar project); Basic architectural research in support of the above research topics. The Ohio State University There are two basic strands of Soar research. NL-Soar work at OSU focuses on modeling real-time human sentence processing, research on word sense disambiguation, and experimental tests of NL-Soar as a psycholinguistic theory. Other cognitive work in Soar includes modelling learning and performance in human-device interaction. The other work involves looking at the use of cognitive models of complex problem solving to guide the development of decision support systems and effective training techniques. Specific projects include developing a hybrid learning model of tactical decision making (using Soar and ECHO). University of Nottingham The general area of research involves using Soar models as a way to test theories of learning, and improving human-computer interaction. Other projects include the development of the Psychological Soar Tutorial and the Soar FAQ! For more information contact Frank Ritter Medical Research Council's Applied Psychology Unit Soar research includes modelling aspects of human-computer interaction. For Back to Table of Contents ---------------------------------------------------------------------------- (G7) How can I learn Soar? Probably the best way to learn Soar is to actually visit a site where people are actively using Soar, and stay for as long as you can manage (months rather than days). In order to help people, however, there are two tutorials available for Soar. The more general of these tutorials was developed for anyone interested in learning Soar, and is based on Soar 7. It was developed by Peter Hastings at the University of Michigan. The other tutorial was developed mainly with psychologists in mind, and is now also based on Soar version 7. The Web version of this tutorial was developed by Frank Ritter, Richard Young and Gary Jones. There is no text book, as such, on how to program using Soar, although John Rieman has written a set of notes entitled An Introduction to Soar Programming. Even though thenotes are based on version 6 of Soar (NNPSCM) they provide a useful bare bones introduction to Soar as a programming language. From version 7 onwards, Soar is closely linked to Tcl/Tk. If you wish to get hold of a Tcl Tutorial computer aided instruction package, you should start by looking at Clif Fynt's home page. There is a set of notes on experiences with using Tcl/Tk to construct external environments, written by Richard Young. These may be useful to anyone who is heading down this line, since they highlight some of the good and bad points about Tcl/Tk. Back to Table of Contents ---------------------------------------------------------------------------- (G8) Is Soar the right tool for me? For cognitive modelling: Soar's strengths are in modelling deliberate cognitive human behavior at time scales greater than 50 msec. Example tasks that have been explored include human computer interaction tasks, typing, arithmetic, video game playing, natural language understanding, concept acquisition, learning by instruction, and verbal reasoning. Soar has also been used for modelling learning in many of these tasks; however, learning adds significant complexity to the structuring of the task and is not for the casual user. Although many of these tasks involve interaction with external environments, Soar does not yet have standard models for low-level perception or motor control. For building AI systems: Soar's strengths are in integrating knowledge, planning, reaction, search and learning within a very efficient architecture. Example tasks include production scheduling, diagnosis, natural language understanding, learning by instruction, robotic control, and flying simulated aircraft. If all you want to do is create a small production rule system, then Soar may not be right for you. Also, if you only have limited time that you can spend developing the system, then Soar is probably not the best choice. It currently appears to require a lot of effort to learn Soar, and more practice before you become proficient than is needed if you use other, simpler, systems. There are, however, a number of basic capabilities that Soar provides as standard. If you need to use these, then Soar may not only be just what you want, but may also be the only system available: * learning and its integration with problem solving * interruptibility * large production rule systems * parallel reasoning * a knowledge description and design approach based on problem spaces Back to Table of Contents ---------------------------------------------------------------------------- (G9) How can I make my life easier when programming in Soar? There are a number of ways to make your life easier when programming in Soar. Some simple high level considerations are: * Re-use existing code * Cut and paste productions and code * Work mainly on the top level problem space, using incremental problem space expansion * Turn the learning mechanism off * Use the integrated Emacs environment, SDE * Use the Tcl/Tk to write simulations for the model to talk to. * [NEW] Use the Tcl/Tk Soar Interface (TSI), which will be officially released in Soar 7.1. Contact Gordon Baxter, Frank Ritter, or Randy Jones if you wish to use it before then. There is now an extension to the Soar FAQ, which is currently called The Soar less than Frequently Asked Questions List. The intention is that this will eventually give rise to a casebook of examples of useful utilities programmed in Soar, as well as providing hints, tips and tricks to get around some of the less common problems of using Soar. Back to Table of Contents ---------------------------------------------------------------------------- (G10) Is there any support documentation available for Soar? There are now two reference manuals available for Soar 7 in printed form: 1. The Soar 7 User Manual. 2. The Soar Advanced Applications Manual. Although these manuals are not quite finished, they still provide lots of useful information about programming in Soar, and, in particular, version 7. There are a number of caveats which should be borne in mind when using these manuals. The Soar 6 User Manual is still available for browsing on the Web. For paper Back to Table of Contents ---------------------------------------------------------------------------- (G11) How can I find out what bugs are outstanding in Soar? [NEW] You can find out the information about the current status of bugs by one of the following, depending on which information you require: Subject Line Action ------------ ------ Subject: help Returns this message Subject: bug list Returns the current bug list Subject: bug ref n Returns explicit information about Soar bug number n, where n is an integer Back to Table of Contents ----------------------------------------------------------------------------