Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

AI Expert Newsletter


Dr. Dobb's AI Expert Newsletter - 12/06/02

AI - The art and science of making computers do interesting things that are not in their nature.



Is AI Practical?

Thanks for the e-mail.

A number of people asked if AI was practical and if there were commercial applications.

The very fact that the question needs to be asked, and that there are those who see the need to catalog affirmative answers, indicates that there is some uncertainty. I haven't seen anyone ask if there were commercial applications of databases, or Java.

So, are there commercial applications of AI? Yes. Are there as many as those in the field would like to see? No.

Why not? I believe it has to do with the fundamental premise of this newsletter, that AI is NOT in a computer's nature.

Java was a tremendous success with programmers because it was both new and familiar. It was familiar because it was based on the well-understood CPU-and-memory model of computers. It was new because it had easier semantics and syntax than previous languages. In short, it was a better tool for the familiar job of programming.

An AI tool is based on a virtual machine that does NOT work like a normal computer. In order to get competent with a given AI tool, a programmer has to learn the language of the tool AND the way the underlying virtual machine works. Further, the language of an AI tool is more difficult to learn because it is, in essence, programming an unfamiliar type of machine.

In other words, it's simply harder to get started with an AI tool. Which means there is going to be more inertia to overcome in getting a commercial information technology (IT) shop to implement an AI-based solution to a particular problem. Given the vast application backlog of most shops, it's just human nature to tackle the familiar problems first.

However, if a problem is pressing enough, and AI is the best solution, then there is motivation to overcome that inertia. Consider for example, all the stock brokers in the world using neural net applications (I hope that link still works) to predict stock prices.

Two of my favorite motivations of early adopters were those of Frito Lay and Lazy Boy. Frito Lay wanted fewer broken potato chips in their bags; Lazy Boy wanted more efficient distribution and shipping of recliners. They both achieved their goals with Rete-based production planning systems. Something to think about when you relax with a bag of chips watching the Super Bowl.

And how did expert systems first get out of the laboratory and into commercial use? It was insurance companies screaming for a way to automate underwriting. They brought IBM and a bunch of entrepreneurs into the rule-based business in a hurry.

Each month I'll try to cover some practical/commercial AI application, so if you have any favorite ones, please let me know. This month, it's Egyptian Cucumbers.

As always, any and all feedback is appreciated.

[email protected]


Evolving Machine Intelligence

"Everything we know about life is based on one example of life: Life on Earth. Everything we know about intelligence is based on one example of intelligence: Human intelligence. This limited experience burdens us with preconceptions and limits our imaginations." — Tom Ray in his critique of Kurzweil's book "The Age of Spiritual Machines."

One of the things I found fascinating about the Hyperion Trilogy was the concept of the "AIs," the intelligences that evolved in the information networks of the future. Not AIs built by humans to human design specifications, but rather AIs that evolved in the primordial digital soup of a vast information network.

Tom Ray's work on evolving machine intelligence was the basis for that bit of science fiction. What is refreshingly different about Ray's work is how he tries to escape from anthropomorphic thinking about artificial intelligence.

It is his claim that biological intelligent beings were produced by evolution, and the best way to create silicon intelligent beings is the same. To this end he developed the first Tierra program. It had a mechanism to let programs evolve, but there was no "artificial" human motivation, like searching for food, that drove the evolution. Rather, these were just programs trying to reproduce themselves, competing for CPU cycles and memory.

In other words, Ray's work goes exactly opposite to the working definition of AI for this newsletter. Rather than building a virtual machine antithetical to a computer's nature, he was seeking to evolve intelligence totally within the realm of "data" and "processing."

Of course, he had to write a virtual machine to do it.

His virtual machine had a machine language designed to support evolutionary change, and an original program that made replicas of itself in memory. But mutation would enter into the replicas from time to time. The result was replicating programs that were much smaller and faster than the original. Also parasitic programs evolved that used code from other programs, as well as hostile and friendly programs.

Wow.

But his programs never got much beyond that, and he figured the problem was the limitation of a single machine. This gave rise to Network Tierra, whereby the unused cycles of all the machines on the Internet could be used to house a "game preserve" where digital creatures were free to evolve.

Tom Ray's work is an excellent example of what can happen when disciplines cross. Ray is not a programmer; he's a zoologist. And his interest in evolving intelligence in a digital medium was motivated to a large degree by the possibility of creating a laboratory where the mechanism of evolution could be better studied.

Based on his latest writings, it appears as if Network Tierra has bogged down due to technical difficulties. His creatures were consuming too much bandwidth. Ray has also moved his focus to some other evolutionary software projects that more closely model organic evolution. These have yielded some very visually pleasing pictures and movies, but that's for a later newsletter.

Egyptian Cucumbers, Citrus Fruit, and Cherry Tomatoes

The question of commercial applications of AI might be a peculiarly American one, exacerbated by America's dramatic separation of government, academic and private institutions. The three sectors work more closely together in other parts of the World.

The Central Laboratory for Agricultural Expert Systems (CLAES) was established by the Egyptian Ministry of Agriculture to optimize the use of agricultural resources and maximize food production. The director of the laboratory is Dr. Ahmed Rafea, who is also chair of the computer science department of Cairo University.

Workers at CLAES have fielded a number of expert systems related to agriculture, including systems that seek to optimize production of crops such as cucumbers, citrus fruits, and cherry tomatoes, as well as other agriculturally-related expert systems. These systems are in different states of deployment, some working in the field, others still in the research state.

Probably because of the tight relationship between government funding, academia, and commercial application, CLAES has had the ability to develop their own set of specialized tools for agricultural expert systems.

These tools were developed to support the KADS development methodology for expert systems. KADS is the result of a European Esprit-II research project that provides a framework for thinking about and implementing knowledge-based solutions.

The tools illustrate the wide range of options available for building tools. Their primary expert system shell is KROL, or Knowledge Representation Object Language, which was built on top of the logic programming language Prolog. They have a case base reasoning (CBR) tool written using a relatively new high order language, Mozart; they also have KSR, a Knowledge Sharing and Reuse tool, implemented in C++. (See expert system links below to access postscript documentation on KROL and KSR.)

Their choices of tools for building tools make sense. Prolog and Mozart are both higher level languages with abstractions that make it easy to model different types of knowledge representations and the reasoning engines that deal with that knowledge. They are good tools for building expert system and case-based tools.

The KSR system is more of a library and editing utility, something that fits well within the more conventional programming capabilities of C++.

Thus we see in CLAES the two aspects of AI: the development of virtual machines for a particular task, and the application of those virtual machines to a particular problem domain.

Organizationally, the Egyptian Ministry of Agriculture has leveraged CLAES's expertise and tools for a dozen or so applications. Given the tremendous potential for spreading agricultural knowledge using expert systems, the investment in team and tool building has paid off for them.


Request Line

A few readers asked about connectionism and neural nets. I've included some links on these topics below and will hopefully cover the topics more in later newsletters.

Another reader was interested in high performance workflow expert systems in network applications. As always, there are two issues, the tool itself and the use of the tool. For this type of application a tool is needed that can represent the workflow knowledge, and meet the performance constraints of the application.

In this case I see three tool options, based on the performance constraints: 1) pure compiled Prolog rules (as opposed to something layered on top of Prolog); 2) a Rete algorithm-based production system (efficient rule indexing); or 3) a custom knowledge representation and reasoning system written in C++ and tailored to the application.

Given the need for a user-friendly front-end for knowledge engineering, a hybrid approach probably makes the most sense. A front-end designed for expressive, easily-maintained knowledge development and maintenance could compile into a back-end form suitable for high performance execution.

For example, user friendly rules could be compiled to either pure Prolog or CLIPS (Rete network production rules) rules.

One commercial site I have worked with provides their users with a spreadsheet for expressing pricing and business rules for the mortgage loan industry. The spreadsheet rules are then translated, based on application area, to either Prolog or JESS (CLIPS in Java).

What decides whether Prolog or JESS is used? Prolog is used for the more formally precise rules, such as pricing rules. JESS is used for more subjective business rules.

I welcome any thoughts or experiences from readers on this application.


Links

The Best of AI Expert

Each month selected articles from AI Expert are republished on the DDJ AI Expert Web site. Here are some related to this month's issues.

In Practice - "AI at Amex" - Jan 93, pg 39 — Harvey P. Newquist III's study of Amex's use of AI, emphasizing the business mechanisms put in place to ensure a successful program.

In Practice - "American Express 2" - Feb 93, pg 59 — Part two of the above article.

"The Practical Applications of Prolog" - Apr 93, pg 25 — Al Roth, who was at the time the head of a Prolog advocacy group, provided this summary of Prolog applications.

"The Rete Matching Algorithm" - Dec 92, pg 24 — Bruce Schneier explains the Rete algorithm and the hows and whys of its importance in high-performance expert systems.

General AI

Cognitive Systems at Pacific Northwest National Laboratory — This Department of Energy multiprogram national laboratory does work in AI and provides an excellent site covering many branches of AI. When I first found this site, it had long lists of commercial applications in each area, but as I write this, most of those pages are under construction, although commercial neural networks were alive and well. Oh well, here's the link; keep it for a later date.

Artificial Life

Zen and the Art of Creating Life — There are a number of summaries of Tom Ray's work, but this one from his earlier days is one of the best.

Tierra Home — The home page for the Tierra project, with many associated links.

Aesthetically Evolved Virtual Pets — If you're tired of looking at code and want to see some neat pictures and even movies, this is an article on work using genetic algorithms to steer evolution of three-dimensional creatures moving in a simulated physical world. The creatures swim and walk in imaginative ways.

Knowledge Base Systems

KADS — The European Esprit II research projects included one whose goal was to move to the next generation of sophistication of expert system development by providing a taxonomy and a methodology for expert systems. KADS is the result of that work.

Knowledge Representation Object Language KROL — An expert system tool from CLAES built on top of Prolog that supports the KADS methodology for developing expert systems. This link leads to a download for a postscript document.

Knowledge Sharing and Reuse (KSR) — A system designed to allow reuse of "chunks" of knowledge, again from CLAES. This link leads to a download for a postscript document.

CLIPS — C Language Integrated Production System is, as the name implies, a fast C implementation of the Rete algorithm for production rule systems. It is a very popular tool for many expert system applications.

JESS — Java Expert System Shell is, as the name hints, CLIPS in Java.

Logic Programming

Prolog course — A good Prolog introduction from the Department of Computational Linguistics, University of the Saarland, Denmark, in the center of the Scandinavian hotbed of Prolog implementations. There are many free and commercial implementations of Prolog.

Mozart — A relatively new language that is designed to support constraint and concurrent programming. It supports logic programming features as well, but in a more general manner. Mozart is freely available for both academic and commercial use.

Connectionism

History of Connectionism — This "brief" history by David Medler provides an excellent background into neural networks.

Tutorial On Neural Nets — Dr. Kevin Gurney of the University of Sheffield provides an excellent set of notes on neural nets. A more complete version is available in book form, as explained on the Web site.

Philosophy

Kurzweil's Turing Fallacy — Tom Ray's critique of Kurzweil's "The Age of Spiritual Machines." You don't need to have read the book to enjoy the critique.


Until next month,

Dennis Merritt
[email protected]


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.