# The Soar Cognitive Architecture

IJCAI 2016

### Monday July 11th @ 1:45-3:30, 4:00-5:45 (Beekman)

This tutorial provides a whirlwind tour of Soar, including its historical background and context within the cognitive architecture research community. The focus will be on how and why Soar works, including syntax/structure for agents and Soar-enabled applications, as well as hands-on experience with the new components that have been developed over the past few years: reinforcement learning, semantic/episodic long-term memory, and mental imagery.

#### John E. Laird (laird@umich.edu)

John E. Laird is the John L. Tishman Professor of Engineering at the University of Michigan, where he has been since 1986. He received his Ph.D. in Computer Science from Carnegie Mellon University in 1983 working with Allen Newell. From 1984 to 1986, he was a member of research staff at Xerox Palo Alto Research Center. He is one of the original developers of the Soar architecture and leads its continued evolution, including the recent development and integration of reinforcement learning, episodic memory, semantic memory, visual and spatial mental imagery, and appraisal-based emotion. He was a founder of Soar Technology, Inc. and he is a Fellow of AAAI, AAAS, ACM, and the Cognitive Science Society.

#### Nate Derbinsky (derbinskyn@wit.edu)

Nate Derbinsky is an Assistant Professor in the Computer Science and Networking department at the Wentworth Institute of Technology, where he has been since 2014. He received his Ph.D. in Computer Science and Engineering from the University of Michigan in 2012 working with John Laird. In 2012 he worked as a Visiting Research Associate at the University of Hartfordshire, where he researched applications of cognitive architecture for scalable Human-Robotic Interaction studies. From 2012-2014 he was a Postdoctoral Associate at Disney Research, where he developed and evaluated optimization and machine-learning algorithms for a variety of domains, including multi-robotic systems. He is an active member of the Soar research community and has helped develop scalable algorithms for many of the recent mechanisms of Soar, including reinforcement learning, episodic memory, semantic memory, and working memory activation/forgetting.

### Rough Schedule & Slides

- 1:45-1:50

  #### Welcome

  Introductions, download software
1:50-2:05

#### Overview

Cognitive architecture as an area of research, Soar in context 2:05-2:50

#### Soar Basics

Working memory, rules, decision cycle, operators, preferences 2:50-3:10

#### Reinforcement Learning (RL)

Architectural integration, example agents 3:10-3:30

#### Impasses/Substates

Types & uses, results/resolution, example agents
- 3:30-4:00

  #### Coffee Break

4:00-4:20

#### Chunking

Deliberation to reaction via explanation-based-learning (EBL), integration with RL 4:20-4:40

#### Semantic Memory (SMem)

Architectural integration, example agents 4:40-4:50

#### Episodic Memory (EpMem)

Architectural integration, example agents 4:50-5:00

#### Spatial Visual System (SVS)

Capabilities, architectural integration 5:00-5:10

#### Soar Markup Language (SML)

Overview, example environment
- 5:10-5:30

  #### Summing Up

  Rosie, resources
- 5:30-5:45

  #### Q&A

### Tutorial Software

Click the button to download all the software you'll need for this tutorial. Once downloaded, unzip - ideally the path does not contain spaces and is short (e.g. `c:\temp\tutorial` or `/home/user/tutorial`).

The only software dependency is Oracle Java 8. The software should "just work" on Windows, Mac OS, and Ubuntu (>= 14). Some platform-specific notes:

#### Windows

- To run: double-click `debugger.bat` or `eater.bat`
- Depending on existing applications, you may need to download and install the Visual C++ Redistributable for Visual Studio 2015
- Spaces or very long paths may cause the software not to run

#### Mac OS

- To run: open the `Terminal` application, run `path/to/tutorial/eater.sh` or `debugger.sh` (you can also right-click, Open With, Other, select Terminal from Applications/Utilities)

#### Ubuntu Linux

- To run: open the `Terminal` application, run `path/to/tutorial/eater.sh` or `debugger.sh`
- To install the Oracle JDK, execute the following commands in the terminal:

      sudo add-apt-repository ppa:webupd8team/java
      sudo apt-get update
      sudo apt-get install oracle-java8-installer

### WordNet for Semantic Memory

Right-click the button and choose "Save As" to download a file that adds the contents of WordNet to Soar's Semantic Memory.

Note: the file is quite large (>80MB), so this process may take several minutes on a slow connection.

### Useful Links

#### Soar Home

A source for news, publications, and downloads.

#### The MIT Press: The Soar Cognitive Architecture

The definitive presentation of Soar from theoretical and practical perspectives, providing comprehensive descriptions of fundamental aspects and new components.