23.08.2015 Views

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

entirely new rules from sample solutions encountered, as well as updating theutilities <strong>of</strong> existing rules from ongoing experience. While not a programminglanguage per se, ACT-R learning is nevertheless quite related in that Q-Learningis also used to learn rule preferences. SOAR [30] also uses production rules tocapture procedural knowledge about the domain. It uses a process called chunkingto create new production rules based on the results <strong>of</strong> subgoals, in a kind<strong>of</strong> explanation-based learning. SOAR-RL [31] integrates reinforcement learningto improve operator selection based on experience, similar to learnt utilities inACT-R. ICARUS [32] is a cognitive architecture that incorporates ideas from workon production systems, hierarchical task networks, and logic programming. Ituses a form <strong>of</strong> explanation-based learning to find the task hierarchy in hierarchicaltask networks. Overall, ACT-R, SOAR and our work share similarities in theway reinforcement learning is used to learn rule preferences, however the motivationsare quite different. While ACT-R is heavily used in cognitive psychologyresearch to model human behaviour, and SOAR is a general cognitive architecturefor building intelligent systems, Goal is an agent programming languagein the BDI tradition. For us, the key motivation for integrating learning is tomake adaptive technologies more accessible to agent programmers.4 The GOAL Agent Programming LanguageGoal is a logic-based agent programming language similar to 2APL [8] and Jason[4]. Goal agents maintain a dynamic mental state consisting <strong>of</strong> beliefs and goalsthat are represented in Prolog. Goal agents also have a static knowledge basethat is part <strong>of</strong> their mental state and consists <strong>of</strong> domain knowledge. They mayperform built-in actions that update their mental state or send a message as wellas actions that are available in the environment that the agent is connected to.Environment actions are specified using a STRIPS-like pre- and post-conditionspecification. A Goal agent derives its choice <strong>of</strong> action from its beliefs andgoals (in combination with its knowledge) by means <strong>of</strong> rules. Rules consist <strong>of</strong> acondition that is evaluated on the mental state <strong>of</strong> the agent and one or moreactions that may be executed if the condition holds. In addition, Goal supportsmultiple types <strong>of</strong> rules, rule evaluation strategies, and modules that facilitatestructured programming.Figure 1 provides a listing <strong>of</strong> a simple example Goal agent program for theBlocks World [33]. We have used this program also in our experiments to evaluatethe learning mechanism we have added to the language. The Blocks World is awell studied toy domain that has been used extensively in artificial intelligenceresearch. The setup consists <strong>of</strong> a fixed number <strong>of</strong> blocks that are sitting on a tablebig enough to hold them all. Each block exists on top <strong>of</strong> exactly one other objectthat can either be another block or the table itself. Each block is considered tobe clear when no other block exists on top <strong>of</strong> it. There is only one type <strong>of</strong> actionthat is possible in this domain: move a single clear block, either from anotherblock onto the table, or from an object onto another clear block. A problemspecification in this domain consists <strong>of</strong> an initial configuration <strong>of</strong> blocks, as well153

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!