You may want to skim these sections on first reading.
Most of the AI I describe this term is ``symbolic AI'' in the above sense, including the memory models (lists, semantic nets, Schank); rule-based systems (expert systems, production systems and Soar); and miscellaneous examples such as Evans' Analogy Program and GPS. Beer's cockroach and Cliff's evolving robots are not.
In symbolic AI, we assume there to be a fixed set or alphabet of elementary symbols which is known in advance. These symbols may be combined in various ways, but not all combinations are allowed. So we need some rules of syntax to specify which combinations are valid. This gives us our basic notation or ``language of thought''. (We don't need to assume that an intelligence only uses one notation: PopBeast and many other programs use more than one.)
The alphabet is finite, and arbitrary crosses between elementary symbols are not allowed. For example, there is nothing between an O and a P. Hence ``discrete'' in the previous section. Furthermore, the symbols are not analogue - there's nothing in the shape of a symbol which relates it to the thing it symbolises.
As well as syntax, we have also rules of semantics which specify how the meaning of these combinations depends on the meaning of the component symbols. These syntax and semantics rules need not themselves be explicitly present. If they were, we'd have to encode them too, presumably in some other notation, and we'd hit an infinite regress. Instead, the rules of syntax and semantics emerge from properties of the ``hardware''. Actually, this isn't quite true. As a later section shows, you can have hierarchies of symbol system, and the syntax and semantics of a higher level can be encoded in a lower-level system. But ultimately, this descent stops at the hardware.
Finally, there are rules for manipulating these symbol combinations, which derive new combinations from old. The symbol manipulation system is no use unless it ``runs'' or ``computes'': these rules might be hard-wired into some hardware, or might be software - a program.
Example of symbol manipulation system: decimal arithmetic. Alphabet
contains the digits, brackets, plus, minus, etc. Syntax specifies that
12(* is invalid, but
12+3*(45) is valid.
Semantics specifies the meaning of addition, the fact that the
123 is ten times more than that in
12, and so on. The
rules of manipulation tell us that we can replace
127, and so on.