There probably are many personal computer users who might want to put artificial intelligence (AI) traits to use in office applications, but who cannot justify spending thousands on one of the many expert systems that appear in software ads.
For those who would like to get an idea of the concepts behind AI without taking out a second mortgage, there are some lower-cost ways. If you're comfortable with a minimum-to-moderate level of programming, Borland's Turbo Prolog will introduce you to one of the premier languages designed to handle AI-type tasks, at a cost of around $100. But before you run out and pull Turbo Prolog off the shelves of your local software dealer, a few words about the world you'll be getting into are appropriate.
If you've worked with more conventional PC-based languages like Microsoft BASIC, Turbo Pascal, or even a version of C, you're in for a language that looks very different. While Prolog is not what purists would call a "pure" AI language, it is about as capable as you can get given the limits of IBM-compatible PC hardware sitting on the average desk.
What purists call true AI takes lots of computational horsepower; a machine like a $10,000 Sun work station or a dedicated LISP minicomputer is what it takes to run the high-powered AI languages with full flexibility. But even its critics say that Prolog has the basic tools of AI, and you can do a lot with it if you know how.
Prolog is a "declarative" language, while most others for the PC (including Pascal and C) are "procedural" languages, and this is what makes Prolog look so different. In Pascal, for example, you can attack a problem by telling the computer how to look for a solution. In declarative languages designed for AI, the computer finds its way to a solution and comes back with one of two possibilities: 1) "I've reached a conclusion," or 2) "I can't find the answer."
Chess is an excellent example of an application that can use the power of AI, because of its complexity. If you move first, you must decide between moving any one of 10 pieces. For each of the 10, your opponent can respond by moving one of 10 pieces, so a computer playing the game is now looking at more than 100 scenarios, since each piece can be moved in more than one way -- and it gets worse as a computer tries to analyze more possibilities.
In Pascal or BASIC, you handle possibilities with lots of "IF-THEN" logic -- "IF scenario A occurs, THEN perform response B." In a language like Prolog or LISP, you list the possibilities, and let the computer arrive at a reasonable conclusion.