Catalogue of Artificial Intelligence Techniques
Agenda Based Systems
Categories: Problem Solving
Author(s): Helen Lowe
An agenda is a data structure containing tasks to be performed during a problem solving process, which may have attached justifications (for performing that particular task, see Truth Maintenance Systems) and/or ratings of importance. Agenda based systems are a means of controlling inference, using some method of adding tasks to the agenda and of selecting, executing, and deleting tasks from the agenda. Tasks may be placed on the agenda simply as they are generated, either directly or as subtasks of existing tasks, with the agenda functioning simply as a stack. Otherwise, the usual control sequence for processing in agenda based systems, assuming tasks on the agenda are sorted by rating (importance), is:
- Choose the most promising task from the agenda.
- Execute this task.
- If subtasks are generated then:
- If a subtask is already on the agenda then add any new
justifications (resulting from the current task) to its
list of justifications.
If a subtask is not on the agenda, then insert it, together with its justifications.
- Compute the new ratings for all the tasks on the agenda.
- If a subtask is already on the agenda then add any new justifications (resulting from the current task) to its list of justifications.
- Re-sort the agenda by rating.
- Rich, E., Artificial Intelligence
, McGraw-Hill, New York, 1991 (second edition