Applied AI Unit 1
Applied AI Unit 1
Applied AI Unit 1
1- Review of AI
What is Artificial Intelligence (AI) ?
Artificial Intelligence (AI) is a branch of Science which deals with helping machines
finding Solutions to complex problems in a more human-like fashion.
This generally involves borrowing characteristics from human intelligence, and applying
them as algorithms in a computer friendly way.
AI is generally associated with Computer Science, but it has many important links with
other fields such as Maths, Psychology, Cognition, Biology and Philosophy, among many
others.
AI currently encompasses a huge variety of subfields, from general-purpose areas such as
perception and logical reasoning, to specific tasks such as playing chess, proving
mathematical theorems, writing poetry, and diagnosing diseases.
HISTORY OF AI
The origin of artificial intelligence lies in the earliest days of machine computations.
During the 1940s and 1950s,
AI begins to grow with the emergence of the modern computer.
Among the first researchers t attempt to build intelligent programs were Newell and
Simon.
Their first well known program, logic theorist, was a program that proved statements
using the accepted rules of logic and a problem solving program of their own design.
By the late fifties, programs existed that could do a passable job of translating technical
documents and it was seen as only a matter of extra databases and more computing power
to apply the techniques to less formal, more ambiguous texts.
Most problem solving work revolved around the work of Newell, Shaw and Simon, on
the general problem solver (GPS).
Unfortunately the GPS did not fulfill its promise and did not because of some simple
lack of computing capacity.
In the1970’s the most important concept of AI was developed known as Expert System
which exhibits as set rules the knowledge of an expert. The application area of expert
system is very large. The 1980’s saw the development of neural networks as a method
learning examples.
Prof. Peter Jackson (University of Edinburgh) classified the history of AI into three
periods as:
1. Classical
2. Romantic
3. Modern
COMPONENTS OF AI
There are three types of components in AI
1) Hardware Components of AI
a. Pattern Matching
b. Logic Representation
c. Symbolic Processing
d. Numeric Processing
e. Problem Solving
f. Heuristic Search
g. Natural Language processing
h. Knowledge Representation
i. Expert System
j. Neural Network
k. Learning
l. Planning
m. Semantic Network
2) Software Components
a. Machine Language
b. Assembly language
c. High level Language
d. LISP Language
e. Fourth generation Language
f. Object Oriented Language
g. Distributed Language
h. Natural Language
i. Particular Problem Solving Language
3) Architectural Components
a. Uniprocessor
b. Multiprocessor
There are two conceptual thoughts about AI namely the Weak AI and Strong AI. The
strong AI is very much promising about the fact that the machine is almost capable of
solve a complex problem like an intelligent man. They claim that a computer is much
more efficient to solve the problems than some of the human experts. According to strong
AI, the computer is not merely a tool in the study of mind, rather the appropriately
programmed computer is really a mind. Strong AI is the supposition that some forms of
artificial intelligence can truly reason and solve problems. The term strong AI was
originally coined by John Searle.
In contrast, the weak AI is not so enthusiastic about the outcomes of AI and it simply
says that some thinking like features can be added to computers to make them more
useful tools. It says that computers to make them more useful tools. It says that
computers cannot be made intelligent equal to human being, unless constructed
significantly differently. They claim that computers may be similar to human experts but
not equal in any cases. Generally weak AI refers to the use of software to study or
accomplish specific problem solving that do not encompass the full range of human
cognitive abilities. An example of weak AI would be a chess program. Weak AI
programs cannot be called “intelligent” because they cannot really think.
Robotics
Although industrial robots have been expensive, robot hardware can be cheap The limiting
factor in application of robotics is not the cost of the robot hardware itself. What is
needed is perception and intelligence to tell the robot what to do; ``blind'' robots are
limited to very well-structured tasks
Planning
Expert Systems
Expert Systems attempt to capture the knowledge of a human expert and make it
available through a computer program.
Theorem Proving
Symbolic Mathematics
Games are good vehicles for research because they are well formalized, small, and
self-contained. They are therefore easily programmed. Games can be good models of
competitive situations, so principles discovered in game-playing programs may be
applicable to practical problems.
2-Extert System
What is Expert System?
An expert system is a computer program that is designed to solve complex problems and
to provide decision-making ability like a human expert.
It performs this by extracting knowledge from its knowledge base using the reasoning
and inference rules according to the user queries.
The expert system is a part of AI, and the first ES was developed in the year 1970, which
was the first successful approach of artificial intelligence.
It solves the most complex issue as an expert by extracting the knowledge stored in its
knowledge base.
The system helps in decision making for complex problems using both facts and
heuristics like a human expert.
It is called so because it contains the expert knowledge of a specific domain and can
solve any complex problem of that particular domain.
These systems are designed for a specific domain, such as medicine, science, etc.
The performance of an expert system is based on the expert's knowledge stored in its
knowledge base.
The more knowledge stored in the KB, the more that system improves its performance.
One of the common examples of an ES is a suggestion of spelling errors while typing in
the Google search box.
Phases in Building Expert System
The phase in Expert System are:
1. Identification
2. Conceptualisation
3. Formalisation (Designing)
4. Implementation
5. Testing (Validation, Verification and Maintenance).
1. Identification:
Before we can begin to develop an expert system, it is important to describe, with as
much precision as possible, the problem which the system is intended to solve.
Conceptualization:
Formalization (Designing):
In the preceding stages, no effort has been made to relate the domain problem to the
artificial intelligence technology which may solve it.
During the identification and formalization stages, the focus is entirely on understanding
the problem.
Now, during the formalization stage, the problem is connected to its proposed solution,
an expert system is supplied by analyzing the relationships depicted in the
conceptualization stage.
The knowledge engineer begins to select the techniques which are appropriate for
developing this particular expert system.
Implementation:
During the implementation stage the formalized concepts are programmed into the
computer which has been chosen for system development, using the predetermined
techniques and tools to implement a ‘first-pass’ (prototype) of the expert system.
Knowledge Base
It contains domain-specific and high-quality knowledge.
Knowledge is required to exhibit intelligence. The success of any ES majorly depends
upon the collection of highly accurate and precise knowledge.
What is Knowledge?
The data is collection of facts. The information is organized as data and facts about the
task domain. Data, information, and past experience combined together are termed as
knowledge.
Knowledge representation
It is the method used to organize and formalize the knowledge in the knowledge base. It
is in the form of IF-THEN-ELSE rules.
Knowledge Acquisition
The success of any expert system majorly depends on the quality, completeness, and
accuracy of the information stored in the knowledge base.
The knowledge base is formed by readings from various experts, scholars, and
the Knowledge Engineers.
The knowledge engineer is a person with the qualities of empathy, quick learning, and
case analyzing skills.
Backward Chaining
With this strategy, an expert system finds out the answer to the question, “Why this
happened?”
On the basis of what has already happened, the Inference Engine tries to find out which
conditions could have happened in the past for this result.
This strategy is followed for finding out cause or reason. For example, diagnosis of
blood cancer in humans.
User Interface
User interface provides interaction between user of the ES and the ES itself.
It is generally Natural Language Processing so as to be used by the user who is well-
versed in the task domain.
The user of the ES need not be necessarily an expert in Artificial Intelligence.
Medical Domain Diagnosis Systems to deduce cause of disease from observed data,
conduction medical operations on humans.
Monitoring Systems Comparing data continuously with observed system or with prescribed
behavior such as leakage monitoring in long petroleum pipeline.
Generally in expert systems, the use of knowledge is vital. But in conventional system
data is used more efficiently than knowledge.
Conventional systems are not capable of explaining a particular conclusion for a problem.
These systems try to solve in a straight forward manner. But expert systems are capable
of explaining how a particular conclusion is reached and why requested information is
needed during a process. However, the problems are solved more efficiently than a
conventional system by an expert system.
Generally in an expert system, it uses the symbolic representations for knowledge i.e. the
rules, different forms of networks, frames, scripts etc. and performs their inference
through symbolic computations. But conventional systems are unable to express these
terms.
Perform knowledge and decision reasoning tasks vs. performing programmed step-by-
step procedures
Applications
A classic example of a rule-based system is the domain-specific expert system that uses rules to
make deductions or choices.
For example, an expert system might help a doctor choose the correct diagnosis based on a
cluster of symptoms, or select tactical moves to play a game.
Rule-based systems can be used to perform analysis to compile or interpret computer programs,
or in natural language processing.
Rule-based programming attempts to derive execution instructions from a starting set of data
and rules.
This is a more indirect method than that employed by an imperative programming language,
which lists execution steps sequentially.
Rule Base
The rule base (also called the knowledge base) is the set of rules which represents the
knowledge about the domain. The general form of a rule is:
If cond1
and cond2
and cond3
...
then action1, action2, ...
Some systems would allow disjunctions in the antecedents. For example, rules like the following would
be allowed.
...
Such rules are interpreted to mean that if the antecedents of the rule together evaluate to true
(i.e., if the Boolean combination of the conditions is true), the actions in the consequents (i.e.,
action1, action2, etc.) can be executed.
For example, an antecedent in a rule in a medical expert system could be: the patient has
previously undergone heart surgery.
The complexity of antecedents can vary a lot depending on the type of language used. For
instance, in some languages.
In this chapter we will consider rules with only one consequent and one or more antecedents
which are combined with the operator and. We will use a representation of the form:
For instance, to represent the rule that all birds can fly, we use:
f1: If bird(X) then can_fly(X)
if you want to represent the knowledge that either a bird or 1 a plane can fly, you can do this by
using two rules f1 and f2 as follows:
Therefore the disjunction (ORing) of a set of antecedents can be achieved by having different
rules with the same consequent.
Similarly, if multiple consequents follow from the conjunction (ANDing) of a set of antecedents,
this knowledge can be expressed in the form of a set of rules with one consequent each. Each
rule in this set will have the same set of antecedents.
Because of the uniform syntax, the meaning and interpretation of each rule can be easily analyzed.
1. Homogeneity
Because of the uniform syntax, the meaning and interpretation of each rule can be easily
analyzed.
Simplicity Since the syntax is simple, it is easy to understand the meaning of rules.
Domain experts can often understand the rules without an explicit translation.
Rules therefore can be self-documenting to a good extent.
2. Independence
While adding new knowledge one need not be worried about where in the rule base the rule is
added, or what the interactions with other rules are.
In theory, each rule is an independent piece of knowledge about the domain.
However, in practice, this is not completely true, as we shall see in the next section.
Modularity The independence of rules leads to modularity in the rule base.
You can create a prototype system fairly quickly by creating a few rules.
This can be improved by modifying the rules based on performance and adding new rules.
Blackboard System
A blackboard system can be viewed as a group of sitting human specialists next to a large
blackboard. They are working cooperatively in order to solve the problem and they use the
blackboard as a workplace for solution development.
Problem solving begins with announcement of a problem and writing initial data onto the
blackboard. The specialists are watching the blackboard looking for an opportunity in order to
make contribution for solution development.
When a specialist finds this opportunity, he records the contribution on the blackboard, in hope
that others will use his contribution for final problem solving. This process continues until the
problem is solved.