Abstract
Current programming languages and software engineering paradigms are proving insufficient for building intelligent multi-agent systems--such as interactive games and narratives--where developers are called upon to write increasingly complex behavior for agents in dynamic environments. A promising solution is to build adaptive systems; that is, to develop software written specifically to adapt to its environment by changing its behavior in response to what it observes in the world. In this paper we describe a new programming language, An Adaptive Behavior Language (A2BL), that implements adaptive programming primitives to support partial programming, a paradigm in which a programmer need only specify the details of behavior known at code-writing time, leaving the run-time system to learn the rest. Partial programming enables programmers to more easily encode software agents that are difficult to write in existing languages that do not offer language-level support for adaptivity. We motivate the use of partial programming with an example agent coded in a cutting-edge, but non-adaptive agent programming language (ABL), and show how A2BL can encode the same agent much more naturally.
- David Andre and Stuart Russell. Programmable reinforcement learning agents. In Advances in Neural Information Processing Systems, volume 13, 2001.Google Scholar
- David Andre and Stuart Russell. State abstraction for programmable reinforcement learning agents. In AAAI-02, Edmonton, Alberta, 2002. AAAI Press. Google Scholar
Digital Library
- Sooraj Bhat, Charles Isbell, and Michael Mateas. On the difficulty of modular reinforcement learning for real-world partial programming. In Proceedings of the Twenty-First National Conference on Artificial Intelligence (AAAI-06), Boston, MA, USA, July 2006. Google Scholar
Digital Library
- Thomas G. Dietterich. The MAXQ method for hierarchical reinforcement learning. In Proc. 15th International Conf. on Machine Learning, pages 118--126. Morgan Kaufmann, San Francisco, CA, 1998. Google Scholar
Digital Library
- Leslie Pack Kaelbling, Michael L. Littman, and Andrew P. Moore. Reinforcement learning: A survey. Journal of Artificial Intelligence Research}, 237--285, 1996. Google Scholar
Digital Library
- A. B. Loyall and J. Bates. Hap: A reactive adaptive architecture for agents. Technical Report CMU-CS-91-147, 1991.Google Scholar
- Michael Mateas and Andrew Stern. Facade: An experiment in building a fully-realized interactive drama. In Game Developers Conference: Game Design Track, San Jose, CA, March 2003.Google Scholar
- Michael Mateas and Andrew Stern. Life-like Characters. Tools, Affective Functions and Applications, chapter A Behavior Language: Joint Action and Behavioral Idioms. Springer, 2004.Google Scholar
- Tom Mitchell. Machine Learning. McGraw-Hill, 1997. Google Scholar
Digital Library
- Peter Norvig. Decision theory: The language of adaptive agent software. Presentation, March 1998. http://www.norvig.com/adaptive/index.htmGoogle Scholar
- Peter Norvig and David Cohn. Adaptive software, 1998. http://norvig.com/adapaper-pcai.html Google Scholar
Digital Library
- Ronald Parr and Stuart Russell. Reinforcement learning with hierarchies of machines. In Michael I. Jordan, Michael J. Kearns, and Sara A. Solla, editors, Advances in Neural Information Processing Systems, volume 10. The MIT Press, 1998. Google Scholar
Digital Library
- Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. Prenticce Hall, Upper Saddle River, NJ, 2003. Google Scholar
Digital Library
- R.S. Sutton and A.G. Barto. Reinforcement Learning: An Introduction. MIT Press, Cambridge, MA, 1998. Google Scholar
Digital Library
- Sprague, N., and Ballard, D. Multiple-Goal Reinforcement Learning with Modular Sarsa(0). In Proceedings of the Eighteenth International Joint Conference on Artificial Intelligence, 2003. Workshop paper. Google Scholar
Digital Library
Index Terms
Towards adaptive programming: integrating reinforcement learning into a programming language
Recommendations
Towards adaptive programming: integrating reinforcement learning into a programming language
OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applicationsCurrent programming languages and software engineering paradigms are proving insufficient for building intelligent multi-agent systems--such as interactive games and narratives--where developers are called upon to write increasingly complex behavior for ...
What Is Object-Oriented Programming?
The meaning of the term 'object oriented' is examined in the context of the general-purpose programming language C++. This choice is made partly to introduce C++ and partly because C++ is one of the few languages that supports data abstraction, object-...
Towards a 3D Virtual Game for Learning Object-Oriented Programming Fundamentals and C++ Language
CSEDU 2015: Proceedings of the 7th International Conference on Computer Supported Education - Volume 2Object-Oriented Programming (OOP) paradigm is one of the most common paradigm in introductory programming courses. However, novices often have difficulties to understand the basic concepts which are of a high level of abstraction. Either tangible and ...







Comments