A Web Page


Teleo-Reactive Programs

Nils J. Nilsson.

Kumagai Professor of Engineering, Emeritus

Artificial Intelligence Laboratory

Department of Computer Science

Stanford University

Stanford, CA 94305-9010


A teleo-reactive (T-R) program is a mid-level agent control program that robustly directs an agent toward a goal in a manner that continuously takes into account the agent's changing perceptions of a dynamic environment. T-R programs are written in a production-rule-like language and require a specialized interpreter.


Descriptions of some of our work on T-R programs can be found in the following papers and web documents:

1. A Stanford Technical Note introducing T-R programs:

Nilsson, N., Toward Agent Programs with Circuit Semantics, (1.1 MB .pdf File), Technical Report STAN-CS-92-1412, Stanford University Computer Science Department, 1992.


2. The first published paper about T-R programs:

Nilsson, N., "Teleo-Reactive Programs for Agent Control," Journal of Artificial Intelligence Research,  1:139-158, 1994. (All JAIR articles are available in PDF, PostScript, and compressed PostScript from the Journal of Artificial Intelligence Research web site.)


3. An early paper describing learning and architectural ideas:

Benson, S., and Nilsson, N., "Reacting, Planning and Learning in an Autonomous Agent, "

in Machine Intelligence 14, K. Furukawa, D. Michie, and S. Muggleton, (eds.), Oxford: the Clarendon Press, 1995, PostScript version (327K);  PDF version (281 K).


4. Scott Benson's PhD thesis explored how T-R programs can be generated by an automatic planning system using action effect descriptions learned through experience by an extension of inductive logic programming methods:


Benson, S., Learning Action Models for Reactive Autonomous Agents, PhD Thesis, Department of Computer Science, Stanford University, 1996, PDF version (964K).


5. The following draft memo discusses prospects for learning T-R programs, describes some initial experiments, and makes some proposals. The memo may be updated and corrected from time to time.

Nilsson, N. J., "Learning Strategies for Mid-Level Robot Control: Some Preliminary Considerations and Results," May, 2000, PostScript version (5.6M); PDF version (368K).


6. The following paper presents the "triple-tower" agent architecture. The perceptual tower consists of rules that create ever more abstract predicates from the base predicates created by the agent's sensors. The model tower stores this hierarchy of predicates. The action tower consists of a hierarchy of T-R programs whose conditions are evaluated by referring to predicates in the model tower. A blocks-world example of such a system is included.

Nilsson, N. J. Teleo-Reactive Programs and the Triple-Tower Architecture,” Electronic Transactions on Artificial Intelligence, Vol. 5 (2001), Section B, pp. 99-110.

7.  Mykel  Kochenderfer describes the evolution of hierarchical and recursive T-R programs for block-stacking using genetic programming.


Kochenderfer, M.,  Evolving Hierarchical and Recursive Teleo-reactive Programs through Genetic Programming,” Springer Lecture Notes on Computer Science, 2003.


T-R Demonstration Programs:

1.  To run an animated Java applet (with lots of online descriptions and help) of a block-stacking robot using the triple-tower architecture and T-R programs visit:


(The applet requires the Java 2 Runtime Environment (JRE), version 1.3 or above. Visiting the website should allow you to download the runtime environment or you can download it from Sun's website.)

Please send any comments about the applet to nilsson@cs.stanford.edu

2. To run (and re-program if you would like) ten individually T-R controlled soccer-playing robots, with nice graphics, visit the site:


and download the program plus environment. Follow instructions for installing on Windows machines.  The program assumes you will be running on a machine with a fast graphics board.

Additional Papers, Sources, and Articles:

1. Katz, E. P., “Extending the Teleo-Reactive Paradigm for Robotic Agent Task Control Using Zadehan (Fuzzy) Logic,”Proceedings of the 1997 IEEE International Symposium on Computational Intelligence in Robotics and Automation (CIRA '97) , 1997. (Abstract: http://www.computer.org/proceedings/cira/8138/81380282abs.htm; paper: katz-fuzzy.pdf)

2. Katz, E. P., “A Simplifying Diagrammatic Representation Of Crisp And Fuzzy Teleo-Reactive Semantic Circuitry For Application In Robotic Agent Task Control,” 1998 IEEE International Conference on Systems, Man, and Cybernetics (SMC '98), San Diego, California, October 1998. (Paper: katz-trdiagram.pdf)

3. Luger, G., et al., T-R programs for accelerator beam tuning: http://www.cs.unm.edu/research/ai/projects/ic.html

4.  Malcolm Ryan uses a combination of planning and hierarchical reinforcement learning to decide which RLTOPs (reinforcement learning teleo-operators) are applicable to solve a high-level goal. The planner produces an extended TR-tree with all possible paths to the goal. He uses reinforcement learning to decide which behavior to execute.  You can access some of his papers through:

5.  Gordon, E., and Logan, B.,  GRUE: A Goal Processing Architecture for Game Agents, Computer Science Technical Report No. NOTTCS-WP-2003-1, School of Computer Science and Information Technology, 

University of Nottingham, 2003.

6.  Patrick Bailey wrote an article featuring T-R programs entitled “The Age of Purposeful Machines” for the May 18, 2004 issue of the online magazine Betterhumans.  See: http://www.betterhumans.com/Features/Reports/report.aspx?articleID=2004-05-18-1.

7.  The following is a teleo-reactive integrated development environment:


8.  Blanca Vargas, B.,  and Morales, E., "Learning Navigation Teleo-Reactive Programs using
Behavioural Cloning,"
IEEE International Conference on Mechatronics (ICM 2009), Málaga, Spain, 2009.


Please send me any comments or T-R links that you would like to see on this page.

 (E-mail: nilsson@cs.stanford.edu)