This article introduces the concept of Artificial Intelligence (AI) and knowledge-based systems in a world where AI is now the buzzword. In doing so, this first part of the article looks at AI’s historical origin. In a subsequent article, the generic architecture that embraces such systems and a reasoning strategy based on fuzzy logic concepts will be discussed.
Historically, the concept of Artificial Intelligence (AI), is hardly well understood, but has pre-occupied researchers in the quest for, and development of, "Intelligent" machines. The notion of artificially intelligent machines is far from being a new idea, conceived from the recent developments in computers, computing techniques, intelligent platforms, and smartphone APPS. Its origin can be traced back to the early mythical stories of humankind. In Greek mythology, robotized taxmen and Iron fighters were regarded as being of a supreme form of intelligence, being products of ‘gods’. Man's pre-occupation with man-like machines is evident from his determined effort to turn fiction into reality ranging from stories of flying and fighting gods to the ICARUS, LEONARD DI VINCI flying machines, and to the WRIGHTS brothers first airplane.
If systems designed to emulate the behavior and problem-solving abilities to live things in well-defined domains are classified as artificially intelligent, then the Automata and toys developed by enthusiasts of the nineteenth and twentieth centuries must be the pioneers of artificial intelligence. Such systems include the Droz Brother's writing, drawing and playing machine, Leonardo di Vinci automatic lion, the automatic game playing and talking machines and the robot. Turing's remote databank spearheaded the first work into machine intelligence which has since been enhanced by the recent advances in microelectronics and related areas of computer science. Others developed computer programs and languages for symbolic processing in their theorem proving theorist. The introduction of specific computer languages also brought with it the now famous name of Artificial Intelligence (AI) and a new discipline for scientific research and applications.
Artificial Intelligence & the Expert Systems Structure
Artificial Intelligence is the study of methods by which computers can be instructed to perform tasks which are largely performed, effectively and efficiently, only by humans. Such an intelligent system would exhibit characteristics normally associated with human behavior and would include understanding, reasoning, learning, and problem-solving. The result is a knowledge-based system employing programs that capture expertise and model the human mind as a means of performing problem-solving tasks. Embedded in this structure, are the concepts of:
- Replication of human abilities
- Theoretical modeling of observed behavior
- Construction of intelligent artifacts
Which when implemented utilizing specialized assets, presents a system able to acquire knowledge and make intelligent experiential decisions.This concept of human learning, reasoning and problem-solving abilities can be created by means of AI methodologies. An AI program is a software representation incorporating general knowledge as well as specific knowledge regarding the solution of a set of problems in the chosen domain. Identifiable problem domains of AI include:
- Expert systems
- Natural language processing
- Vision systems
The application of AI methodologies in a particular problem area requires highly focused knowledge templates relating to a finite set of application domains. Such knowledge must be coded in formats or structures capable of being used by programs or systems requiring them. Three of the structures or techniques available are:
- Production rules,
- Semantic nets,
- Slot-and-filler structures (frames).
These structures embody a broad scope of techniques which can provide solutions to problems from incomplete and imprecise information (commonly referred to as ‘heuristics’). A brief explanation of one of these techniques is given below.
Production rules represent the ‘natural’ way of expressing ‘rules of thumb’ (heuristics). They represent patterns containing clauses which are linked by logical connectives specifying an action. Conceptually, production systems represent rules as condition proposition statements with the logical format:
IF (Predicate ^ Condition ^ Premise ^ Antecedent)
THEN (Action ^ Consequent ^ Conclusion)
Rule-sets in productions systems are condition-act pairs; which execute an action (firing) when the current situation matches the condition as defined in the database of facts in use. The successive firing of rules produces an inference chain.
- Requires no advance knowledge about the flow of control and as such can better deal with variable conditions, and
- Allows for multiple lines of reasoning.
The adoption of any of these techniques/structures for use in a specific application requires an in-depth consideration of the strengths and weaknesses of the knowledge representation as well as the reasoning procedures associated with the chosen method.
Artificial Intelligence may be regarded as a set of which an Expert System constitutes one element. The attributes of an Expert System enable solutions to specific problems to be found for a wide range of scientific, engineering and commercial applications. A number of computer tools rival or closely emulate human performance in ‘specialized’ and ‘constrained’ problem-solving situations, based on experience gained in highly specialized fields.
Most AI or Expert Systems utilize the production rules (rule-based systems) as well as some reasoning when applied to a specific problem(s). There are some expert program tools that combine two structures, for example, ‘slot-and-filler’ and ‘production rules’, in their design. This enhances the ability to capture the knowledge and experience of a practitioner and is an attempt to improve the overall capability of the reasoning Engine. Unfortunately, the expert system will only be as effective as the “expert” from whom the knowledge is captured. The expanding capability of huge data collection and mining (inferencing) applications is clearly bridging the gap between ‘experts’ and what an Expert System is capable of doing. The constitution and architecture of such Expert Systems will be examined in a subsequent article.