Michael Cating, MCSD, MCDBA
mcating@catingsystems.com
(510) 332-6426
Home Interests Reading List Certifications Resources

Databases
Data Access
Middleware
Client-Side
AI

Most of the topics found under the banner of Artificial Intelligence still fall solely in the realm of academic research. Neural networks, genetic algorithms and fuzzy logic all show "potential" in solving real-world problems, but there are scant examples of these advanced topics in computer science actually being used in production environments.

The reasons for this lack of real-world development have been around since the advent of the term Artificial Intelligence. AI solutions are complicated and expensive, often requiring either human experts in a problem domain or very sophisticated programmers, in the case of neural nets and genetic algorithms. Furthermore, there's no guarantee that an approach will always give "good-enough" answers for all input sets, since not all possible inputs can be tested. Would you trust a "black box" neural net to provide the correct safeguards for a nuclear power plant in all cases? Most people would sound a resounding no to such a question.

Classical AI, also commonly referred to as expert systems, have some famous disastrous examples from industry. I recall a story from VMS, in which they had a very sophisticated AI program for putting together hardware/software platforms for clients. This program grew so unwieldy and unmaintainable that VMS was actually shipping out completely unusable configurations that could easily be identified through a simple checklist. Horror stories like these have set back commercial applications of AI many years, I'm sure!

Still, newer topics in AI, like neural networks and genetic algorithms, show promise in industry applications. Neural nets do not specify a precise output for each input set at development time. Rather, they try to "learn" mappings from inputs to outputs explicitly via a set of training inputs/outputs. Then, they use these mappings to extrapolate outputs for inputs not yet encountered. In many cases, the mappings learned by the neural nets provide reasonable outputs for "new" inputs. Note, however, that I didn't say all cases, which is one of the inherent problems with neural nets. Even if they perform flawlessly for 99.9% of the input domain, there's still that 0.1% of inputs that could cause problems.

Genetic algorithms (GA's) attempt to simulate natural selection in improving the mappings from inputs to outputs. Generally, the programmer defines a "performance function" that takes a set of inputs and a set of internal parameters. For example, the internal parameters could represent the learned mappings of a neural net. Then, the internal parameters are used to map the inputs to a set of outputs. This is done with several instances of internal parameters. The outputs are then compared to identify "better" output sets. The internal parameter sets that produced the highest-rated output sets are selected by the genetic algorithm, and the parameters are mutated, switched and changed according to a series of genetic "rules." A new population of internal parameters arise, and these are retested in the performance function. Thus, over time, the internal parameter sets will improve to produce better output sets. Of course, the problem with this approach is that the internal parameter sets are limited by the performance function: if the performance function is deficient or incomplete, so too will the parameter sets be limited.

The interesting detail in genetic algorithms and neural nets is that the transformation function from inputs to outputs is never explicitly declared. Rather, the neural net or GA implicitly defines an internal mapping by altering its own internal parameters. This is very similar to how a human brain works: individual neurons fire in response to stimuli, and suddenly a series of individual retinal inputs are transformed into the visual perception of a ball, for example.

Despite the lack of real-world AI applications, the entire field of AI is gaining credibility. I expect more and more commercial applications to use AI, especially the machine learning algorithms, in the coming years.

 

 
Send mail to webmaster@catingsystems.com with questions or comments about this web site.
Last modified: December 15, 2002