Artificial Intelligence and Expert Systems





What is Artificial Intelligence?


Artificial Intelligence (AI) is usually defined as the science of making computers do things that require intelligence when done by humans. AI has had some success in limited, or simplified, domains. However, the five decades since the inception of AI have brought only very slow progress, and early optimism concerning the attainment of human-level intelligence has given way to an appreciation of the profound difficulty of the problem.

Note that AI simulates human intelligence (ie. the output of our intelligence, decisions made). It does not simulate the human thought process. This article on IBM replicating the human brain is an exception to most developments in AI.

The Turing Test - Can computers really think?

Alan Turing proposed an operational test of intelligence as a replacement for the philosophical question, "Can machines think?"
Based on a imitation game between a human and a machine where an interrogator, who cannot see either, attempts to tell the difference.
Turing thought machines would be able to pass the test but, so far, has been proven wrong.

The podcast below details the Turing Test in a bit more detail (less than 5 mins)
Computerworld Techcast: The Turing Test

The short clip below shows some recent research in getting machines to think for themselves




Some applications of Artificial Intelligence:


Game playing
Chess versus a computer opponent - Man versus Machine (Kasparov versus Deep Blue)

Watson in action
http://www.youtube.com/watch?v=__OTUQq-Ch0&feature=relmfu

Watson - Why Jeopardy?
http://www.youtube.com/watch?v=_1c7s7-3fXI&feature=relmfu

Watson After Jeopardy
http://www.youtube.com/watch?v=dQmuETLeQcg&feature=relmfu


How computer games may change in their animation with the introduction of AI


Big Dog Reflexes
http://www.youtube.com/watch?v=3gi6Ohnp9x8

Think you're good at walking? Try QWOP


Voice recognition

The 1990s saw the first commercialization of spoken language understanding systems. Computers can now understand and react to humans speaking in a natural manner in ordinary languages within a limited domain. Basic and applied research in signal processing, computational linguistics and artificial intelligence have been combined to open up new possibilities in human-computer interfaces.

Experts use AI to help GI's learn Arabic


Understanding natural language

The term natural language processing encompasses a broad set of techniques for automated generation, manipulation, and analysis of natural or human languages. e.g. Eliza, written by Joseph Weizenbaum at MIT, simulated a human therapist.

Today ELIZA has been developed as an iPhone app - Eliza AI iPhone app

Chatbots or Virtual Agents
Definition: - An artificial living entity designed to have conversations with real human beings. That can be a text conversation via computers, a spoken conversation or even a non-verbal conversation.



Ikea USA have developed a chatbot for enquiries: -
Ikea chatbot Anna

The technology still has a long way to go - Meet Geogre

Chat bots have been used in dating forums to try to mine information from the unsuspecting.
Warning sounded over 'flirting robots'

Imagine if companies could set up chatbots to reply to forums? Not so surprising when you consider 'word of mouth marketing' is worth $1.9 billion.

external image benrik-large.jpg
http://static.guim.co.uk/sys-images/Media/Pix/pictures/2009/04/12/benrik-large.jpg

The convergence of chatbots, robotics, facial recognition has allowed for developments in trying to replicate individual personalities.
BINA - Introduction
But there is still some way to go.
BINA - Interview

Computer vision

Vision involves both the acquisition and processing of visual information. AI powered technologies have made possible such astounding achievements as vehicles that are able to safely steer themselves along our superhighways, and computers that can recognize and interpret facial expressions.



Computer vision intelligence brings about a new type of data mining - facemining
Facemining Star Trek

Smart CCTV could track rioters

Expert systems

A simple definition for an expert system is - Having a computer find the solution to a problem for you or make a decision replicating human brain function

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.

Introduction to Expert Systems - Your car won't start

Another example of an expert system and machine learning. 20q.net

Domains

In software engineering, domain refers to a field of study that defines a set of common requirements, terminology, and functionality for any software program constructed to solve a problem in that field.

Today's expert systems deal with domains of narrow specialization. It is very important to understand the narrow specialization of the typical expert system. An expert system designed to determine whether a person applying for a loan is a good loan risk cannot diagnose infectious diseases, and vice versa. An expert system designed to help a lawyer deal with case law cannot help a literature professor analyze poetry.

There are many different types of expert system domains including but not limited to: -

Diagnosis. Diagnosis types of expert systems are used to recommend remedies to illnesses, trouble-shoot electronic or mechanical problems or as debugging tools.

Repair. Expert systems that define repair strategies are also very common. As well as diagnosing the problem they can suggest a plan for the repair of the item. The repair plan typically contains a scheduling structure and some control structure to validate the repair process. Such systems have been employed in the automotive repair field and similar areas.

Interpretation. Interpretive expert systems have the ability to analyse data to determine its significance or usefulness. The knowledge base often contains models of real world situations which it compares to its data. These are often used in exploration for mineral, gas and oil deposits as well as in surveillance, image analysis and speech understanding.

Prediction. Predictive expert systems are used as a method to “guess” at the possible outcomes of observed situations, usually providing a probability factor. This is used often in weather forecasting.

Design and Planning. This allows experts to quickly develop solutions that save time. These systems do not replace experts but act as a tool by performing tasks such as costing, building design, material ordering and magazine design.

Monitoring and Control. In certain applications expert systems can be designed to monitor operations and control certain functions. These are particularly useful where speed of decision making is vitally important, for example in the nuclear energy industry, air traffic control and the stock market.

These knowledge-based applications of artificial intelligence have enhanced productivity in business, science, engineering, and the military. With advances in the last decade, today's expert systems clients can choose from dozens of commercial software packages with easy-to-use interfaces.

The knowledge base

All experts systems require a knowledge base, which stores all the facts and rules about a particular problem domain. It makes these available to the inference engine in a form that it can use. The facts may be in the form of background information built into the system or facts that are input by the user during a consultation. The rules include both the production rules that apply to the domain of the expert system and the heuristics or rules-of-thumb that are provided by the domain expert in order to make the system find solutions more efficiently by taking short cuts. The most important part of a knowledge base is not the quantity of information that is contained but its quality.

The inference engine is the program that locates the appropriate knowledge in the knowledge base, and infers new knowledge by applying logical processing and problem-solving strategies.

The knowledge engineer builds, maintains and develops the knowledge based systems. They have a big responsibility in the ‘health’, progress, work, durability and many other factors of the expert system.

Inference Engines

This "engine" tries to act like a human brain. This results in instructions with If…Then statements – IF Grades are dropping, THEN study harder.

Fuzzy logic - The need for Fuzzy Logic

The concept computers operating as inference engines is quite simple:

Thinking about the way an inference engine works with the IF......THEN logic; computers normally only have two possible values for a certain variable – 1 (true or on) and 0 (false or off).

Consider the following:
  • Bob has a house with two rooms, a kitchen and a bedroom.
  • If Bob is in the kitchen, the variable "kitchen" is 1 and "bedroom" is 0, and if Bob is in the bedroom, "bedroom" is 1 and "kitchen" is 0.
  • We can now explain where he is in his house at all times using only ones and zeroes… if he is in either of the two rooms.
  • What happens if he is standing in the doorway between the rooms? This is where fuzzy logic comes in.
  • Fuzzy logic allows decimal places for true and false equations; thus, if bob sits in the bedroom and sticks his toe into the kitchen, "bedroom" can be 0.95 and "kitchen" can be 0.05. Thus, we can now explain the location of bob anywhere in the house.

Fuzzy logic is a mathematical technique that deals with imprecise data and problems that have more than one solution. An example of a machine that uses fuzzy logic is an industrial clothes-washing machine. Using fuzzy logic systems, these machines detected and adapted to patterns of water movement during a wash cycle in order to decrease the consumption of water and increase efficiency.

Fuzzy logic was conceived as a better method for sorting and handling data but has proven to be a excellent choice for many control system applications since it mimics human control logic. It can be built into anything from small, hand-held products to large computerized process control systems. It uses an imprecise but very descriptive language to deal with input data more like a human operator. It is very robust and forgiving of operator and data input and often works when first implemented with little or no tuning.

Common-sense knowledge

Computers versus commonsense knowledge


One of the fundamental problems encountered in AI has become known as the commonsense knowledge problem. While researchers were aware that in an AI system, knowledge would have to be explicitly represented, they did not anticipate the vast amount of implicit knowledge we all share about the world and ourselves.

Designers of AI systems did not consider producing rules like "If President Clinton is in Washington, then his left foot is also in Washington," or
"If a father has a son, then the son is younger than the father and remains younger for his entire life." This is implicit knowledge and we never stop to state this explicitly.

It is plain to see that commonsense knowledge represents an enormous hurdle for the development of general purpose intelligent systems. It is clear that not all human knowledge is represented in such an explicit or declarative form. Imagine writing everything we know formulated as a series of if-then rules?

One of the most important aspects of commonsense knowledge is that it is gained through experience. If computers were to develop commonsense knowledge, then this would have huge implications for storage requirements.

Machine learning

Part of a response to the commonsense knowledge problem has been to create AI systems that are evolutionary i.e. machines that develop through learning.

Machine learning is associated with the development of techniques that allow a computer to learn things. In general, machine learning is understood as a subtopic of artificial intelligence and can be divided further into two categories, inductive and deductive. Machine learning is generally used to help with data mining and statistical analysis.

Pattern recognition

One of the techniques developed in machines to enable them to learn things is pattern recognition. This is is the act of the computer taking in raw data and taking an action based on the category of the data. A good example of pattern recognition software is the fingerprint based security system. The system works by recognizing a person's fingerprint to that of a fingerprint stored in its memory.

Parallel Processing

To run AI systems requires considerable processing power, as in essence we are trying to replicate the human brain.



Many AI applications have real-time constraints e.g. real-time speech understanding, warning and navigation systems. Thus, high speed processing requirements need to be met.

The human brain can perform tasks remarkably well using slow neurons working in parallel. With carefully considered architecture, the use of parallel processors in computers, we perhaps can achieve similar in AI.

Issues with Artificial Intelligence


  • Who takes responsibility for the performance of an expert system—knowledge engineer, informant, programmer (software engineer), company that sold it, the buyer / consumer?

Should we stop a company from unplugging an expert system?

  • What is the value of the development of AI as a field? For example, is it an appropriate place to put economic resources?

Raise a glass to the woderful and underappreciated AI
It's Alive, the benefits of AI

  • What are ethical issues associated with various applications of AI, for example, replacement of human workers, handing decision-making tasks to a computer?

Robotic Nation
When do you allow computers to make decisions for you?
Can computers make a life-or-death medical decision?

  • What is the social impact of the use of "smart" machines on everyday life?

We have the technology
Smart Machines - what is the worst thing that could happen?

  • What are the ethical issues related to military applications of AI, for example, smart weapons, reconnaissance, decision making?

Who do you trust more G.I. Joe or A.I. Joe?
The Unmanned Army

  • What are the implications of creative production by computers using AI, for example, Aaron, an expert system, creates visual art?

external image aaron-18.png


"AARON exists; it generates objects that hold their own more than adequately, in human terms, in any gathering of similar, but human-produced, objects, and it does so with a stylistic consistency that reveals an identity as clearly as any human artist's does. It does these things, moreover, without my own intervention. I do not believe that AARON constitutes an existence proof of the power of machines to think, or to be creative, or to be self-aware, to display any of those attributes coined specifically to explain something about ourselves. It constitutes an existence proof of the power of machines to do some of the things we had assumed required thought, and which we still suppose would require thought, and creativity, and self-awareness, of a human being.
If what AARON is making is not art, what is it exactly, and in what ways, other than its origin, does it differ from the "real thing?" If it is not thinking, what exactly is it doing?" Harold Cohen (1995)

Source: The Further Exploits of AARON, Painter

  • Who controls the access to the knowledge base underlying an inference engine in an expert system? Should people affected by decisions made using an expert system have access to the rules by which the decision was made?