Artificial Intelligence and expert systems

Artificial Intelligence and Expert Systems  | Types of expert systems | Expert systems components | Expert systems technologies | Development tools for building the expert system | Web-enabled expert systems

 

Artificial Intelligence and Expert Systems -  Artificial Intelligence (AI) is a branch of computer science,  which  focuses on the development of computer systems to simulate the processes of problem solving and duplicate human brain functions. Expert systems (ES) are a category of programs based on the  theory and methods of  artificial intelligence.

The first expert systems appeared in the late sixties. Today, they exist in many forms, from medical diagnosis to investment  analysis and from counseling to production control. Due to the advances of the last  decade, today's expert systems users can choose from dozens of commercial software packages. At present, we accept as routine such expert systems as weather forecasting, online mapping and driving directions, diagnostic systems for automotive repair shops, and so on.

Many large corporations use expert systems in their business.  The list of the companies  using  expert systems technology is long and varied: NASA, HP,  Lockheed,  Boing, DaimlerChrysler AG, various power, gas and oil stations, etc.

Expert systems tend to be more effective than other computer based applications, because they:

Types of expert systems:  Expert systems fall into a number of major categories (not exclusive) described below. There are many applications not covered , and some manufacturers and vendors  could fit in multiple categories, but due to space limitations, they are only included in one.

Acquisition  and interpretation  of data. These  categories   retrieve, analyze, filter  and restore missed data, as well as mine data, transform data  in another format, and so on.. Examples  of this category include:

Diagnosis and Abnormal Condition Management - These categories recognize the condition of human health or  the technical condition of complex industrial systems. Among them:

Decision-making or decision support - These categories  include the following subcategories: Decision management, Decision optimization, Customer and Account management, Fraud management, Scoring and predictive modeling, Risk management, etc. Examples include:

Design and management solutions - After consideration  of a large number of variable parameters for solving innovation tasks, it enables  optimization of design, and find the best management decisions. Here are Goldfire Innovation and Goldfire Intelligence developed by Invention machine. Some companies use for design goals  the  TRIZ (see below).

Control and Monitoring - These categories help  monitor operation and control certain functions of machinery for heavy industry.  Many corporations that developed Supervisory Control and Data Acquisition Systems (SCADA), used the expert systems for different control levels of industrial plants. Here there are  companies such as: Emerson Process Management, Matricon, REDUCT & Lobbe Technologies, etc.

Prediction - This category allows  to forecast possible  outcomes of observable situations. Here are  weather forecasting, scoring and predictive modeling, risk management and other financial forecasting:  

Analysis and Reporting tools: There  are a number  of applications including the following:

Manufacturing- One of most active area of expert systems and AI related activities:

Marketing  and trade management - A key use of artificial intelligence to determine marketing potential and business opportunities.

Human Resource Management Systems (HRMS)- The use of AI technology to find human technical talent.

e-Learning Systems (ELS)- supply  individual or group education and training for different disciplines on the basis of special tools. These learning tools and services  allow to learn faster and adapt quicker to the challenges of today's business world.   ELS can include Learning Management Systems and Course Management systems.  Here are some  developers and providers of   e-Learning systems:

Expert system components

Generally,  an expert system includes several key components:

The main component of the expert system  is knowledge base  - an organized collection of facts, heuristics and other information  on the subject of system's domain. An ES is built in a process known as knowledge engineering, during which knowledge about the domain is acquired from human experts and other sources. The part of the expert system that applies the knowledge to the problem's solving, is called the inference engine. The explanation system explains the  basis for the  conclusion, reached  by the expert system. The intellectual editor  is a tool for correction,  learning or self learning of the knowledge base. A friendly user interface  enables inexperienced users to specify problems for the system to solve and to understand the system's conclusions.

Expert systems technologies are typically based on the types of  knowledge bases or mathematical (logical) models used for problem solving  with the help of inference engines. Here are some examples of different types of technologies:

Model Based Reasoning - Using a modeling environment to explore data , create algorithms, and create custom rules that offer early insights and competitive advantages

Case-Based Reasoning (CBR): A CBR system compares the problem with previous cases, and then suggests the most successful course of action. Typically, in addition  to manually built CBR systems, data mining methods also used.. You can find  the list of the CBR's software vendors on the AI-CBR site

Evolutionary  model reasoning - An evolutionary algorithm  is a class of algorithms that finds approximate solutions to difficult-to-solve problems. They are inspired by mechanisms from biological evolution  such as natural selection, mutation and recombination to find the best  configuration for a specific system within specific constraints.

Stochastic model reasoning -Bayesian Belief Network (BBN) use a  tree-based structure rather than  a logical "if-then", Bayesian  systems  iteratively use probabilities  for finding any solutions. 

Fuzzy Logic  reasoning -  Fuzzy logic is the emulation of human reasoning on computers. The key concepts in fuzzy logic are the linguistic variable and membership function. A linguistic variable is a variable whose value is  a word. (for example, the linguistic variable "temperature" might have the values: "normal", "high," "cold," "huge", "danger" ,"freezing," and so on). A membership function describes these linguistic values in terms of numerals. For example, to describe the word "cold", we can say, "If  temperature is below 40 degrees, we can say it's definitely cold."  The linguistic variables and their membership functions allow fuzzy logic to perform the imprecise, non-numerical reasoning performed in the same manner as humans.

 Brain  simulation reasoning -Artificial  Neural Networks (ANN) are named after the cells in the human brain, that include  billions of neuron cells. ANN are formed from hundreds or thousands of simulated neurons connected together in much the same way as the brain's neurons.  Neural networks are fast, tolerant of imperfect data, and do not need formulas or rules. ANN are good at pattern recognition, generalization, and trend prediction. Neural networks learn from experience, because they are trained by repeatedly reviewing examples. Each example includes both inputs (information you would use to make a decision) and outputs (the resulting decision, prediction, or response).

TRIZ systems (TRIZ  is a Russian acronym for Theory of Inventive Problem Solving), that provides systematic methods for solving design and technological problems. This practical problem-solving paradigm was invented and developed by Genrich Altshuller, who discovered that technological systems evolve according to specific laws. TRIZ is rapidly gaining popularity with worldwide innovation communities by virtue of its success in guiding creative thinking and innovative product development.

Hybrid technologies - Many industrial expert systems combine different technologies, taking advantage of the strengths of each technology.


Tools for Expert System Development

There are a number of different programming approaches, programming languages and development environment. Here are a few:

Programming languages for expert systems - Almost  every high level programming language ever created, and many lower languages, have been used to develop AI and ES applications. The most common seems to be: LISP, Prolog, C/C++ followed  by Java.  Here are some information on   two programming languages Prolog and LISP, that  were key to programming languages for Artificial Intelligence for the last two decades.  Prolog is a full, industry-standard programming language, ideally suited to writing rules.  Common Lisp is well suited to large programming projects, dynamic modifications and explorative programming. 

In the 1980s several versions of Prolog came out, including Cogent Prolog, Turbo Prolog (Borland), Amzi! Prolog, and LPA (Logic Programming and Associates). AMZI and LPA are medium-priced Prolog implementations with excellent integration with Delphi, Java, and many other programming environments and platforms. Another successful and  attractively priced implementation is also available from Visual Prolog - from the Prolog Development Center  (PDC), the successor of Turbo Prolog . 

The two major dialects of LISP in use today are Common Lisp and Scheme.

Franz Inc. is currently the primary supplier of LISP development  environment , created Allegro CL, a dynamic object-oriented development environment for Common Lisp/CLOS.

Shells - A shell is an expert system without a knowledge base. A shell furnishes the ES developer with the inference engine, user interface, and the explanation and knowledge acquisition facilities. All of this makes it unnecessary to rebuild the components for each new expert system.

SDK and environments - Using shells to write expert systems generally greatly reduces the cost and time of development (compared with writing the expert system from scratch). Software Development Kits (SDK) expand the capabilities of shells in various directions.  Here are  come  examples of SDK and environments, all though most AI products provide an some form of environment.

Machine learning systems (MLS)- are becoming  an important part of the expert system environment. In contrast to performance systems that acquire knowledge from human experts, machine learning systems acquire knowledge automatically from examples, i.e., from source data.  MLS are frequently  used for learning neural network, knowledge bases, using inductive rule based  algorithms, and evolution-based genetic algorithms, etc. MLS usually use data-driven, hypothesis-driven, and multi-strategy constructive induction.  

Web-enabled expert systems.

Here are some popular products and services:

Conclusion: Although technical progress in the last decade has been satisfactory, as shown in examples above (far from complete), the number of widespread expert systems in use today is less than was expected.   Now embedded expert systems  tend to be more successful than advisory systems. In my opinion, the primary  reason for the lower usage of  expert system  in  advisory type roles  is the  very expensive procedures of retrieving knowledge in a short time. Developments in  the machine learning systems could accelerate the number of new expert systems we see in the  future.

 

Copyright © 2002-2007, Clever Ace.       All Rights Reserved.