Next: Support for Exploratory Up: Artificial Intelligence Programming Previous: Artificial Intelligence Programming

Support for Symbolic Computation:

First, AI programming involves (mainly) manipulating symbols, and not numbers. These symbols might represent objects in the world, and relationships between those objects - complex structures of symbols are needed to capture our knowledge about the world.

Symbol structures are often represented using the list data structure, where an element of a list may be either a symbol, or another list. For example, (friends jim (joe mary anne)) is a list. Manipulating symbol structures often involves pattern matching, where two patterns which partially specify symbol structures are matched against each other to test for compatibility. For example (friends jim X) might be matched with the above list, where X is a variable which can match anything. AI languages should therefore support flexible list-based data structures and pattern matching.


alison@
Fri Aug 19 10:42:17 BST 1994