Essay 1

Language and the Craft of AI Programming

Intelligent Systems

An AI program is a program. You can write one in assembly language, BASIC, Python, Java, Ada, or C. You can use a more dynamic language, such as Lisp, Scheme, Smalltalk, or Ruby. Or you can use an even higher-level language, one aimed at a specific kind of intelligent system, such as an rule-based interpreter or a logic system.

We can think about language at a number of different levels, from the purely syntactic view of keywords and punctuation all of the way up to the semantic view of knowledge organization and control. At each level, a particular language offers particular benefits and imposes particular costs.

Write a two- to three-page essay discussing the trade-offs between using a standard, off-the-shelf language to write intelligent systems and using a special-purpose or higher-level language.

It can be difficult to discuss programs and languages in the abstract. Without concrete examples, we sometimes don't have anything concrete tothink about! It is also tempting to draw conclusions that sound good in theory but don't hold in practice.

So: Ground your discussion in the context of a particular task to be performed by the program. Use particular languages as examples.

The issues on which you focus can be at any point on the continuum, from issues of lowest-level syntax to issues of the highest-level abstractions. (I hope that students in the class write papers about several different issues, so that we have several different perspectives to discuss in class.

Eugene Wallingford ..... ..... January 27, 2011