|
|
||||
|
|
AFABL: A Language and Tools for Agent Modeling
My Ph.D. focuses on developing a language and tools for agent modeling. Agent modeling languages are not new; my contribution will be to bring the power of advanced agent modeling to people who are not experts in computer science or artificial intelligence, and to simplify the task for those who are. Like most science, this effort does not begin from nothing. Fortunately, there are towering shoulders on which to stand: Michael Mateas's ABL agent programming language, and Charles Isbell's A2BL machine learning extensions. We will begin from ABL and A2BL in designing our new language and tools, which we call AFABL, for "A Friendly Adaptive Behavior Language." The Current State of the Art: ABL ABL represents the cutting edge of agent modeling languages. ABL supports sequential and parallel behaviors in a reactive planning framework. Connected to a game or simulation engine, it supports multi-agent play with collaborative and adversarial interactions within a distributed decision-making framework. ABL supports action and goal conflicts as well as the representation of team intentionality that can be used for modeling and reasoning. ABL gives behaviors reflective access to the current state, supporting meta- behaviors that modify other behaviors. Meta-behaviors are useful for modeling intermixed chains of communication that arise in group decision-making and adversarial reasoning. From the foundation of these ABL features, there are many possible directions for AFABL. Usability Because "behavior" is a part of the ABL acronym, one might believe that ABL is designed for experts in human behavior, such as psychologists or sociologists. While ABL can support the needs of such designers, ABL is a complex language that exposes many technical details to agent authors, making it suitable mainly for programming experts. So far, mainly senior undergraduate and graduate students in computer science have been productive with ABL. Thus, bringing the power of ABL to non-programming experts is a major research challenge that requires that we answer difficult questions:
Adaptability One of the promises of machine learning is that it allows designers to specify problems in broad strokes while allowing a machine to do further parameter fine-tuning. Typically, one thinks of building a system or agent for some specific task and then providing it some kind of feedback, allowing it to learn. In this case, the agent is the point of the exercise. A2BL embeds this notion within a programming language itself by extending ABL with adaptive behaviors. The power of such a merger of machine learning and a programming language is that it allows for what has become known as partial programming; that is, it allows a designer to specify what he knows how to express exactly and leave the system to learn how to do the rest. Building or extending a programming language so that it has learning as a primitive operator invites many interesting research questions:
Software Engineering At the end of the day, a AFABL agent is a kind of computer program running in a run-time environment. Whatever language features AFABL supports, computer programs (or computational agent models) will need to be written and debugged. Given the complexity of individual agents and our desire to support real world-scale multi-agent system modeling, the task of writing AFABL agents and multi-agent systems is likely to be a significant effort, akin to that of a large software engineering project. It is likely, therefore, that the field of software engineering will have much to offer us in the design of AFABL. Several research questions need to be addressed:
|
|||
Copyright © 2009 by Chris Simpkins
<simpkins at cc dot gatech dot edu>Made with BlogMax
|
||||