What Is Artificial Intelligence?: The AI Problem
What Is Artificial Intelligence?: The AI Problem
Intelligence: It is the knowledge in operation towards the solution – how to do? How to apply the solution?
Artificial Intelligence: Artificial intelligence is the study of how make computers to do things which people do better at the moment. It
refers to the intelligence controlled by a computer machine.
One View of AI is
• About designing systems that are as intelligent as humans
• Computers can be acquired with abilities nearly equal to human intelligence
• How system arrives at a conclusion or reasoning behind selection of actions
• How system acts and performs not so much on reasoning process.
The AI Problem
There are some of the problems contained within AI.
1. Game Playing and theorem proving share the property that people who do them well are considered to be displaying intelligence.
2. Another important foray into AI is focused on Commonsense Reasoning. It includes reasoning about physical objects and their relationships
to each other, as well as reasoning about actions and other consequences.
3. To investigate this sort of reasoning Nowell Shaw and Simon built the General Problem
Solver (GPS) which they applied to several common sense tasks as well as the problem of performing symbolic manipulations of logical
expressions. But no attempt was made to create a program with a large amount of knowledge about a particular problem domain. Only
quite simple tasks were selected.
The following are the figures showing some of the tasks
Perception of the world around us is crucial to our survival. Animals with much less intelligence than people are capable of more sophisticated
visual perception. Perception tasks are difficult because they involve analog signals. A person who knows how to perform tasks from several
of the categories shown in figure learns the necessary skills in standard order.
First perceptual, linguistic and commonsense skills are learned. Later expert skills such as engineering, medicine or finance are acquired.
Computers provide the perfect medium for this experimentation since they can be programmed to simulate physical symbol system we like.
The importance of the physical symbol system hypothesis is twofold. It is a significant theory of the nature of human intelligence and so is of
great interest to psychologists.
What is an AI Technique?
Artificial Intelligence problems span a very broad spectrum. They appear to have very little in common except that they are hard. There are
techniques that are appropriate for the solution of a variety of these problems. The results of AI research tells that
Intelligence requires Knowledge. Knowledge possesses some less desirable properties including:
➢ It is voluminous
➢ It is hard to characterize accurately
➢ It is constantly changing
➢ It differs from data by being organized in a way that corresponds to the ways it will be used.
AI technique is a method that exploits knowledge that should be represented in such a way that:
• The knowledge captures generalizations. In other words, it is not necessary to represent each individual situation. Instead
situations that share important properties are grouped together.
• It can be understood by people who must provide it. Most of the knowledge a program has must ultimately be provided by people in
terms they understand.
• It can be easily be modified to correct errors and to reflect changes in the world and in our world view.
• It can be used in a great many situations even if it is not totally accurate or complete.
• It can be used to help overcome its own sheer bulk by helping to narrow the range of possibilities that must usually be considered.
It is possible to solve AI problems without using AI techniques. It is possible to apply AI techniques to solutions of non-AI problems.
Important AI Techniques:
❑ Search: Provides a way of solving problems for which no more direct approach is available as well as a framework into which any
direct techniques that are available can be embedded.
❑ Use of Knowledge: Provides a way of solving complex problems by exploiting the structures of the objects that are involved.
❑ Abstraction: Provides a way of separating important features and variations from the many unimportant ones that would otherwise
overwhelm any process.
One person A plays the role of the interrogator, who is in a separate room from the computer and
the other person. The interrogator can ask set of questions to both the computer Z and person X
by typing questions and receiving typed responses. The interrogator knows them only as Z and X
and aims to determine who the person is and who the machine is.
The goal of machine is to fool the interrogator into believing that it is the person. If the machine succeeds we conclude that the machine can
think. The machine is allowed to do whatever it can do to fool the interrogator.
For example, if asked the question “How much is 12,324 times 73,981?” The machine could wait several minutes and then respond with wrong
answer.
The interrogator receives two sets of responses, but does not know which set comes from human and which from computer. After careful
examination of responses, if interrogator cannot definitely tell which set has come from the computer and which from human, then the
computer has passed the Turing Test. The more serious issue is the amount of knowledge that a machine would need to pass the Turing test.
We will see the introduction of the systems which equal or exceed human abilities and see them because an important part of most business
and government operations as well as our daily activities.
Definition of AI: Artificial Intelligence is a branch of computer science concerned with the study and creation of computer systems that exhibit
some form of intelligence such as systems that learn new concepts and tasks, systems that can understand a natural language or perceive and
comprehend a visual scene, or systems that perform other types of feats that require human types of intelligence.
AI is not the study and creation of conventional computer systems. The study of the mind, the body, and the languages as customarily found
in the fields of psychology, physiology, cognitive science, or linguistics.
In AI, the goal is to develop working computer systems that are truly capable of performing tasks that require high levels of intelligence.
State space is a set of legal positions, starting at the initial state, using the set of rules to move from one state to another and attempting to end up in a goal
state.
Production System
The entire procedure for getting a solution for AI problem can be viewed as “Production System”. It provides the desired goal. It is a basic
building block which describes the AI problem and also describes the method of searching the goal. Its main components are:
❑ A Set of Rules, each consisting of a left side (a pattern) that determines the applicability of the rule and right side that describes the operation to
be performed if the rule is applied.
❑ Knowledge Base – It contains whatever information is appropriate for a particular task. Some parts of the database may be permanent,
while the parts of it may pertain only to the solution of the current problem.
❑ Control Strategy – It specifies the order in which the rules will be compared to the database and the way of resolving the conflicts that arise
when several rules match at one.
o The first requirement of a goal control strategy is that it is cause motion; a control strategy that does not cause motion will never lead
to a solution.
o The second requirement of a good control strategy is that it should be systematic.
❑ A rule applier: Production rule is like below
if(condition) then
consequence or action
The answer for the first question can be considered with the following definitions of classes of production systems:
A monotonic production system is a production system in which the applications of a rule never prevents the later application of another
rule that could also have been applied at the time the first rule was selected.
A partially commutative production system is a production system with the property that if the application of a particular sequence of
rules transforms state X into state Y, then any permutation of those rules that is allowable also transforms state X into state Y.
A commutative production system is a production system that is both monotonic and partially commutative.
In a formal sense, there is no relationship between kinds of problems and kinds of production of systems, since all problems can be solved by
all kinds of systems. But in practical sense, there definitely is such a relationship between kinds of problems and the kinds of systems that
led themselves naturally to describing those problems.
The following figure shows the four categories of production systems produced by the two dichotomies, monotonic versus non-monotonic and
partially commutative versus non-partially commutative along with some problems that can be naturally be solved by each type of system.
Monotonic Non-monotonic
❑ Partially commutative, monotonic production systems are useful for solving ignorable problems that involves creating new things rather
than changing old ones generally ignorable. Theorem proving is one example of such a creative process partially commutative, monotonic
production system are important for a implementation stand point because they can be implemented without the ability to backtrack to
previous states when it is discovered that an incorrect path has been followed.
❑ Non-monotonic, partially commutative production systems are useful for problems in which changes occur but can be reversed and in
which order of operations is not critical.
This is usually the case in physical manipulation problems such as “Robot navigation on a flat plane”. The 8-puzzle and blocks world
problem can be considered partially commutative production systems are significant from an implementation point of view because
they tend to read too much duplication of individual states during the search process.
❑ Production systems that are not partially commutative are useful for many problems in which changes occur. For example “Chemical
Synthesis”
❑ Non-partially commutative production system less likely to produce the same node many times in the search process.
Problem Characteristics
In order to choose the most appropriate method (or a combination of methods) for a particular problem, it is necessary to analyze the
problem along several key dimensions:
• Is the problem decomposable?
• Can solution steps be ignored or undone?
• Is the universe predictable?
• Is a good solution absolute or relative?
• Is the solution a state or a path?
• What is the role of knowledge?
• Does the task require human-interaction?
• Problem Classification
We can solve this problem by breaking it down into these smaller problems, each of which we can then solve by using a small collection of
specific rules the following figure shows problem tree that as it can be exploited by a simple recursive integration program that works as
follows.
At each step it checks to see whether the problem it is working on is immediately solvable. If so, then the answer is returned directly. If the
problem is not easily solvable, the integrator checks to see whether it can decompose the problem into smaller problems. It can create those
problems and calls itself recursively on using this technique of problem decomposition we can often solve very large problem easily.
Now consider the 8-puzzle game. A sample game using the 8-puzzle is shown below:
In attempting to solve the 8 puzzle, we might make a stupid move for example; we slide the tile 5 into an empty space. We actually want to slide the tile 6 into empty
space but we can back track and undo the first move, sliding tile 5 back to where it was then we can know tile 6 so mistake and still recovered from but not
quit as easy as in the theorem moving problem. An additional step must be performed to undo each incorrect step.
Now consider the problem of playing chess. Suppose a chess playing problem makes a stupid move and realize a couple of moves later. But here solutions
steps cannot be undone.
The above three problems illustrate difference between three important classes of problems:
1) Ignorable: in which solution steps can be ignored. Example: Theorem Proving
2) Recoverable: in which solution steps can be undone. Example: 8-Puzzle
3) Irrecoverable: in which solution steps cannot be undone. Example: Chess
The recoverability of a problem plays an important role in determining the complexity of the control structure necessary for problem solution.
Ignorable problems can be solved using a simple control structure that never backtracks. Recoverable problems can be solved by slightly
complicated control strategy that does sometimes make mistakes using backtracking. Irrecoverable problems can be solved by recoverable
style methods via planning that expands a great deal of effort making each decision since the decision is final.
We can do fairly well since we have available accurate estimates of a probabilities of each of the possible outcomes. A few examples of such
problems are
➢ Controlling a robot arm: The outcome is uncertain for a variety of reasons. Someone might move something into the path of the arm. The
gears of the arm might stick.
➢ Helping a lawyer decide how to defend his client against a murder charge. Here we probably cannot even list all the possible outcomes,
which leads outcome to be uncertain.
➢ For certain-outcome problems, planning can used to generate a sequence of operators that is guaranteed to lead to a solution.
➢ For uncertain-outcome problems, a sequence of generated operators can only have a good probability of leading to a solution.
Plan revision is made as the plan is carried out and the necessary feedback is provided.
Consider the problem of answering questions based on a database of simple facts, such as the following:
1) Marcus was a man.
2) Marcus was a Pompeian.
3) Marcus was born in 40 A.D.
4) All men are mortal.
5) All Pompeian’s died when the volcano erupted in 79 A.D.
6) No mortal lives longer than 150 years.
7) It is now 1991 A.D.
Suppose we ask a question “Is Marcus alive?” By representing each of these facts in a formal language such as predicate logic, and then
using formal inference methods we can fairly easily derive an answer to the question.
Since we are interested in the answer to the question, it does not matter which path we follow. If we do follow one path successfully to the
answer, there is no reason to go back and see if some other path might also lead to a solution. These types of problems are called as “Any
path Problems”.
Now consider the Travelling Salesman Problem. Our goal is to find the shortest path route that visits each city exactly once.
Suppose we find a path it may not be a solution to the problem. We also try all other paths. The shortest path (best path) is called as a solution
to the problem. These types of problems are known as “Best path” problems. But path problems are computationally harder than any path
problems.
There are several components of this sentence, each of which may have more than one interpretation. Some of the sources of ambiguity in
this sentence are the following:
➢ The word “Bank” may refer either to a financed institution or to a side of river. But only one of these may have a President.
➢ The word “dish” is the object of the word “eat”. It is possible that a dish was eaten.
➢ But it is more likely that the pasta salad in the dish was eaten.
Because of the interaction among the interpretations of the constituents of the sentence some search may be required to find a complete
interpreter for the sentence. But to solve the problem of finding the interpretation we need to produce only the interpretation itself. No record
of the processing by which the interpretation was found is necessary. But with the “water-jug” problem it is not sufficient to report the final
state we have to show the “path” also.
So the solution of natural language understanding problem is a state of the world. And the solution of “Water jug” problem is a path to a
state.
The above two problems illustrate the difference between the problems for which a lot of knowledge is important only to constrain the
search for a solution and those for which a lot of knowledge is required even to be able to recognize a solution.
For Example:
• Solitary problem, in which there is no intermediate communication and no demand for an explanation of the reasoning process.
• Conversational problem, in which intermediate communication is to provide either additional assistance to the computer or additional
information to the user.
Problem Classification
When actual problems are examined from the point of view all of these questions it becomes apparent that there are several broad classes into
which the problem fall. The classes can be each associated with a generic control strategy that is approached for solving the problem. There is a
variety of problem-solving methods, but there is no one single way of solving all problems. Not all new problems should be considered as
totally new. Solutions of similar problems can be exploited.
PROBLEMS
Water-Jug Problem
Problem is “You are given two jugs, a 4-litre one and a 3-litre one. One neither has any measuring markers on it. There is a pump that can be
used to fill the jugs with water. How can you get exactly 2 litres of water into 4-litre jug?”
Solution:
The state space for the problem can be described as a set of states, where each state represents the number of gallons in each state. The game
start with the initial state described as a set of ordered pairs of integers:
• State: (x, y)
– x = number of lts in 4 lts jug
– y = number of lts in 3 lts jug
x = 0, 1, 2, 3, or 4 y = 0, 1, 2, 3
• Start state: (0, 0) i.e., 4-litre and 3-litre jugs is empty initially.
• Goal state: (2, n) for any n that is 4-litre jug has 2 litres of water and 3-litre jug has any value from 0-3 since it is not specified.
• Attempting to end up in a goal state.
• Production Rules: These rules are used as operators to solve the problem. They are represented as rules whose left sides are used to
describe new state that result from approaching the rule.
Chess Problem
Problem of playing chess can be defined as a problem of moving around in a state space where each state represents a legal position of the
chess board.
The game start with an initial state described as an 8x8 of each position contains symbol standing for the appropriate place in the official chess
opening position. A set of rules is used to move from one state to another and attempting to end up on one of a set of final states which is
described as any board position in which the opponent does not have a legal move as his/her king is under attacks.
The state space representation is natural for chess. Since each state corresponds to a board position i.e. artificial well organized.
Production Rules:
These rules are used to move around the state space. They can be described easily as a set of rules consisting of two parts:
1. Left side serves as a pattern to be matching against the current board position.
2. Right side that serves decides the chess to be made to the board position to reflect the move.
To describe these rules it is convenient to introduce a notation for pattern and substitutions
E.g.:
1. White pawn at square (file1,rank2)
Move pawn from square (file i, rank2) AND square (file i, rank2)
AND
Square (file i,rank3) is empty → To square (file i,rank4)
AND
Square (file i,rank4) is empty
2. White knight at square (file i,rank1)
move Square(1,1) to → Square(i-1,3)
AND
Empty Square(i-1,3)
3. White knight at square (1,1)
move Square(1,1) to → Square(i-1,3)
AND
Empty Square(i-1,3)
8-Puzzle Problem
The Problem is 8-Puzzle is a square tray in which 8 square tiles are placed. The remaining 9th square is uncovered. Each tile has a number on it.
A file that is adjacent to the blank space can be slide into that space. The goal is to transform the starting position into the goal position by
sliding the tiles around.
Solution:
State Space: The state space for the problem can be written as a set of states where each state is position of the tiles on the tray.
Initial State: Square tray having 3x3 cells and 8 tiles number on it that are shuffled
2 8 3
1 6 4
7 5
Goal State
1 2 3
8 4
7 6 5
Production Rules: These rules are used to move from initial state to goal state. These are also defined as two parts left side pattern should
match with current position and left side will be resulting position after applying the rule.
Solution:
Solution:
State Space: The state space for this problem represents states in which the cities traversed by salesman and state described as salesman
starting at any city in the given list of cities. A set of rules is applied such that the salesman will not traverse a city traversed once. These rules
are resulted to be states with the salesman will complex the round trip and return to his starting position.
Initial State
. Salesman starting at any arbitrary city in the given list of cities
Goal State
➢ Visiting all cities once and only and reaching his starting state
Production rules:
These rules are used as operators to move from one state to another. Since there is a path between any pair of cities in the city list, we write
the production rules for this problem as
• Visited(city[i]) AND Not Visited(city[j])
– Traverse(city[i],city[j])
• Visited(city[i],city[j]) AND Not Visited(city[k])
– Traverse(city[j],city[k])
• Visited(city[j],city[i]) AND Not Visited(city[k])
– Traverse(city[i],city[k])
• Visited(city[i],city[j],city[k]) AND Not Visited(Nil)
Traverse(city[k],city[i])
Initial State:
Production Rules:
These are rules used to reach the Goal State. These rules use the following operations:
▪ POP(x) → Remove top element x from the stack and update top
▪ PUSH(x,y) → Push an element x into the stack and update top. [Push an element x on to the y]
Now to solve the problem the production rules can be described as follows:
1. Top(T1)<Top(T2) → PUSH(POP(T1),T2)
2. Top(T2)<Top(T1) → PUSH(POP(T2),T1)
3. Top(T1)<Top(T3) → PUSH(POP(T1),T3)
4. Top(T3)<Top(T1) → PUSH(POP(T3),T1)
5. Top(T2)<Top(T3) → PUSH(POP(T2),T3)
6. Top(T3)<Top(T2) → PUSH(POP(T3),T2)
7. Empty(T1) → PUSH(POP(T2),T1)
8. Empty(T1) → PUSH(POP(T3),T1)
9. Empty(T2) → PUSH(POP(T1),T3)
10.Empty(T3) → PUSH(POP(T1),T3)
11.Empty(T2) → PUSH(POP(T3),T2)
12.Empty(T3) → PUSH(POP(T2),T3)
Solution: Example: 3 Disks, 3 Towers
1) T1 → T2
2) T1 → T3
3) T2 → T3
4) T1 → T2
5) T3 → T1
6) T3 → T2
7) T1 → T2
Solution: The state space for this problem is a set of states representing the position of the monkey, position of chair, position of the stick
and two flags whether monkey on the chair & whether monkey holds the stick so there is a 5-tuple representation.
(M, C, S, F1, F2)
– M: position of the monkey
– C: position of the chair
Production Rules:
These are the rules which have a path for searching the goal state here we assume that when monkey hold a stick then it will swing it this
assumption is necessary to simplify the representation.
Some of the production rules are:
1) (M,C,S,0,0) → (A,C,S,0,0) {An arbitrary position A}
2) (M,C,S,0,0) → (C,C,S,0,0) {monkey moves to chair position}
3) (M,C,S,0,0) → (S,S,S,0,0) {monkey brings chair to stick position}
4) (C,C,S,0,0) → (A,A,S,0,0) {push the chair to arbitrary position A}
5) (S,C,S,0,0) → (A,C,A,0,1) {Taking the stick to arbitrary position}
6) (S,C,S,0,0) → (C,C,S,0,0) {monkey moves from stick position to chair position}
7) 7) (C,C,C,0,1) → (C,C,C,1,1)
• {monkey and stick at the chair position, monkey on the chair and holding stick}
8) (S,C,S,0,1) → (C,C,C,0,1)
Solution:
1) (M,C,S,0,0)
2) (C,C,S,0,0)
3) (G,G,S,0,0)
4) (S,G,S,0,0)
5) (G,G,G,0,0)
6) (G,G,G,0,1)
7) (G,G,G,1,1)
Solution:
The state space for the problem contains a set of states which represent the present number of cannibals and missionaries on the either side
of the bank of the river.
(C,M,C1,M1,B)
– C and M are number of cannibals and missionaries on the starting bank
– C1 and M1 are number of cannibals and missionaries on the destination bank
– B is the position of the boat wither left bank (L) or right bank (R)
Production System: These are the operations used to move from one state to other state. Since at any bank the number of cannibals must less
than or equal to missionaries we can write two production rules for this problem as follows:
• (C,M,C1,M1,L / C=3, M=3) → (C-2,M,C1+2,M1,R)
• (C,M,C1,M1,L / C=3, M=3) → (C-1,M-1,C1+1,M1+1,R)
• (C,M,C1,M1,L / C=3, M=3) → (C-1,M,C1+1,M1,R)
• (C,M,C1,M1,R / C=1, M=3) → (C+1,M,C1-1,M1,L)
• (C,M,C1,M1,R / C=0, M=3,C1=3,M1=0) → (C+1,M,C1-1,M1,L)
• The solution path is
C M BOAT POSITION C1 M1
3 3 0 0
1 3 → 2 0
2 3 1 0
0 3 → 3 0
1 3 2 0
1 1 → 2 2
2 2 1 1
2 0 → 1 3
3 0 0 3
1 0 → 2 3
2 0 1 3
0 0 → 3 3
Control Strategy
The question arises
"How to decide which rule to apply next during the process of searching for a solution to a problem?"
Algorithm:
1) Create a variable called NODE_LIST and set it to the initial state.
2) Until a goal state is found or NODE_LIST is empty do:
a. Remove the first element from NODE_LIST and call it E. If NODE_LIST was empty quit.
b. For each way that each rule can match the state described in E do:
i. Apply the rule to generate a new state
ii. If the new state is goal state, quit and return this state
3.Otherwise add the new state to the end of NODE_LIST
Algorithm:
1) If the initial state is the goal state, quit return success.
2) Otherwise, do the following until success or failure is signaled
a. Generate a successor E of the initial state, if there are no more successors, signal failure
b. Call Depth-First Search with E as the initial state
c. If success is returned, signal success. Otherwise continue in this loop.
Another strategy is, begin generating complete paths, keeping track of the shorter path so far and neglecting the paths where partial length is
greater than the shortest found. This method is better than the first but it is inadequate.
HEURISTIC SEARCH
Heuristic:
Heuristic Function:
– It is a function applied to a state in a search space to indicate a likelihood of success if that state is selected
– It is a function that maps from problem state descriptions to measures of desirability usually represented by numbers
– Heuristic function is problem specific.
The purpose of heuristic function is to guide the search process in the most profitable direction by suggesting which path to follow first when more
than one is available (best promising way).
We can find the TSM problem in less exponential items. On the average Heuristic improve the quality of the paths that are explored. Following
procedure is to solve TRS problem
– Select a Arbitrary City as a starting city
– To select the next city, look at all cities not yet visited, and select one closest to the current city
– Repeat steps until all cities have been visited
– Heuristic search methods which are the general purpose control strategies for controlling search is often known as "weak methods" because of
their generality and because they do not apply a great deal of knowledge.
Weak Methods
a) Generate and Test
b) Hill Climbing
c) Best First Search
d) Problem Reduction
e) Constraint Satisfaction
f) Means-ends analysis
Generate and Test
The generate-and-test strategy is the simplest of all the approaches. It consists of the following steps:
Algorithm:
1. Generate a possible solution. For some problems, this means generating a particular point in the problem space. For others, it means
generating a path from a start state.
2. Test to see if this is actually a solution by comparing the chosen point or the endpoint of the chosen path to the set of acceptable goal states.
3. Ifasolutionhasbeenfound,quit.Otherwisereturntostep1
Examples:
- Searchingaballinabowl(Pickagreenball)-State
- Water Jug Problem – State andPath
Hill Climbing
A GENERATE and TEST procedure, if not only generates the alternative path but also the
directionofthepathinthealternativeswhichbenear,thanallthepathsinGenerateandTest
procedurestheheuristicfunctionrespondsonlyyesornobutthisheuristicfunctionrespondsonly
yeswillgenerateanestimateofhowcloseagivenstateistoagoalstate.
Searchingforagoalstate=Climbingtothetopofahill
HillClimbingisGenerate-and-test+directiontomove.
Bothe basic and steepest-ascent hill climbing may fail to find a solution. Either algorithm may
terminatenotbyfindingagoalstatebutbygettingastatefromwhichnobetterstatescanbe
generated.Thiswillhappeniftheprogramhasreachedalocalmaximum,aplateauoraridge.
Alocalmaximumisastatethatisbetterthanallitsneighbors
butitnotbetterthansomeotherstatesfartheraway.Atthe
localmaximum,allmovesappeartomakethingsworse.Local maxima are particularly frustrating because they
oftenoccur almostwithinsightofasolution.Inthiscase,theyarecalled foothills.
A plateau is a flat area of the search space in which a whole setof neighboring states has the same value. In this,
it is not possible to determine the best direction in which to move by making local comparisons.
There are some ways of dealing with these problems, although these methods are by no means guaranteed:
➢ Backtracktosomeearliernodeandtrygoinginadifferentdirection.Thisisparticularly
reasonableifatthatnodetherewasanotherdirectionthatlookedaspromisingoralmost as promising as the one that was chosen earlier. This is a
fairly good way to deal with local maxima.
➢ Makeabigjumpinsomedirectiontotrytogettoanewsectionofthesearchspace.This is a good way of dealing withplateaus.
➢ Apply two or more rules before doing the test. This corresponds to moving in several
directionsatonce.Thisisagoodstrategyfordealingwithridges.
Simulated Annealing:
A variation of hill climbing in which, at the beginning of the process, some downhill moves may be made.
In this we attempt to minimize rather than maximize the value of the objective function. Thus this process is one of valley descending in
which the object function is the energy level.
Physical Annealing
• Physicalsubstancesaremeltedandthengraduallycooleduntilsomesolidstateisreached.
• The goal is to produce a minimal-energystate.
• Annealingschedule:ifthetemperatureisloweredsufficientlyslowly,thenthegoalwillbe attained.
• Nevertheless,thereissomeprobabilityforatransitiontoahigherenergystate:e-E/kT.
Theprobabilitythatatransactiontoahigherenergystatewilloccurandsogivenbyafunction:
P = e–∆E/kT
❑ E is the +ve level in the energylevel
❑ T is the temperature
❑ k is Boltzmann’sconstant
Therateatwhichthesystemiscoolediscalledannealingscheduleinananalogousprocess.The
unitsforbothEandTareartificial.ItmakessensetoincorporatekintoT.
Algorithm:
1. Evaluatetheinitialstate.Ifitisalsoagoalstatethenreturnandquit.Otherwisecontinue with the initial state as a currentstate.
2. Initialize Best-So-Far to the currentstate.
3. Initialize T according to the annealingschedule.
4. Loopuntilasolutionisfoundoruntiltherearenonewoperatorslefttobeappliedinthe currentstate:
a. Selectanoperatorthathasnotyetbeenappliedtothecurrentstateandapplyit to produce a newstate.
b. Evaluate the new state.Compute
∆E = (value of current) − (value of new state)
(i) Ifthenewstateisgoalstatethenreturnitandquit
Note:
Foreachstepwechecktheprobabilityofthesuccessorwiththecurrentstate.Ifitisgreaterthan
thecurrentstatethemoveisaccepted.Otherwisemoveisrejectedandsearchinotherdirection.
Best-First Search
Best-First Search (BFS) is a way of combining the advantages of both depth-first search and
breadthfirstsearchintoasinglemethod,i.e.,istofollowasinglepathatatimebutswitchpaths
whenevercompletingpathlooksmorepromisingthanthecurrentonedoes.
Theprocessistoselectthemostpromisingofthenewnodeswehavegeneratedsofar.Wethen
expandthechosennodebyusingtherulestogenerateitssuccessors.Ifoneofthemisasolution,
thenwecanquit,elserepeattheprocessuntilwesearchgoal.
InBFS,onemoveisselected,butothersarekeptaroundsothattheycanberevisitedlaterifthe
selectedpathbecomeslesspromising.Thisisnotthecasesteepestascentclimbing.
OR Graphs
A graph is called OR graph, since each of its branches represents alternative problems solving path.
To implement such a graph procedure, we will need to use lists of nodes:
1) OPEN:nodesthathavebeengeneratedandhavehadtheheuristicfunctionappliedto them which have not yet been examined. It is a priority
queue in which the elements withhighestpriorityarethosewiththemostpromisingvalueoftheheuristicfunction.
2) CLOSED: nodes that have already been examined whenever a new node isgenerated
we need to check whether it has been generated before.
3) Aheuristicfunctionfwhichwillestimatethemeritsofeachnodewegenerate.
Algorithm:
1. Start with OPEN containing just the initialstate
2. Until a goal is found or there are no nodes left on OPENdo:
a. Pick the best node onOPEN
b. Generateitssuccessors
c. Foreachsuccessordo:
i. Ifitisnotbeengeneratedbefore,evaluateit,addittoOPENandrecord its parent.
ii. Ifithasbeengeneratedbefore,changetheparentifthisnewpathisbetter
thanthepreviousone.Inthatcaseupdatethecostofgettingtothisnode andto anysuccessorsthatthisnodemayalreadyhave.
Step 1:
A →NIL
Step2:
A →NIL
B →A
C →A
D →A
Step3:
A →NIL
B →A
C →A
D →A
E →D
Step4:
A →NIL
B →A
C →A
D →A
E →D
F →D
G →B
H →B
Step5:
A →NIL
B →A
C →A
D →A
E →D
F →D
G →B
H →B
I →E
J →E
The Element with the low cost is the first element. The new states are added according tothe costvalue.
A Algorithm:
A* algorithm is a best first graph search algorithm that finds a least cost path from a given initial node to one goal node. The simplification of Best
First Search is called A* algorithm. Thisalgorithmusesf u ,gandℎ ufunctionsaswellasthelistsOPENandCLOSED.
For many applications, it is convenient to define function as the sum of two components thatwecallgandh’
• g:
– Measuresofthecostofgettingfromtheinitialstatetothecurrentnode.
– Itisnottheestimate;itisknowntobeexactsumofthecosts.
• h’:
• isanestimateoftheadditionalcostofgettingfromcurrentnodetogoalstate.
Algorithm:
1) StartwithOPENcontainingonlytheinitialstate(node)setthatnodegvalue0itsℎ’value
towhateveritisanditsf’valueℎ’+0orℎ’.SetCLOSEDtotheemptylist.
2) Until a goal node is found repeat the following procedure: If there are no nodes on OPEN,reportfailure.OtherwisepickthenodeonOPENwith
lowestf’value.CALLit BESTNODE. Remove from OPEN. Place it on CLOSED. If BESTNODE is the goal node, exit and report a solution.
Otherwise, generate the successors of BESTNODE. For each successor, do thefollowing
a) SetsuccessorstopointbacktoBESTNODEthisbackwardslinkswillmakepossibleto recover the path once a solution isfound.
b) Compute
g(successor)=g(BESTNODE)+costofgettingfromBESTNODEtosuccessor
c) If successor is already exist in OPEN call that node as OLD and we must decide whetherOLD’sparentlinkshouldresettopointto
BESTNODE(graphsexistinthis case)
IfOLDischeaperthenweneeddonothing.Ifsuccessorischeaperthenreset OLD’s parent link to point to BESTNODE. Record the
new cheaper path in g(OLD)andupdatef’(OLD).
d) If SUCCESSOR was not on OPEN, see if it is on CLOSED. If so, call node on CLOSED
OLDandaddOLDtothelistofBESTNODEsuccessors.Calculatealltheg,f’andh’
valuesforsuccessorsofthatnodewhichisbetterthenmovethat.
Sotopropagatethenewcostdownward,doadepthfirsttraversalofthetree starting atOLD,changing each
nodesvalue(andthusalsoitsf’value), terminatingeachbranchwhenyoureacheitheranodewithnosuccessorora
nodewhichanequivalentorbetterpathhasalreadybeenfound.
e) If successor was not already on either OPEN or CLOSED, then put it on OPEN and add it to the list of BESTNODE
successors.Compute
f’(successor)=g(successor)+ℎ’(successor)
Problem Reduction:
• Planning how best to solve a problem that can be recursively decomposed into sub- problems in multipleways.
• There can be more than one decompositions of the same problem. We have to decide
whichisthebestwaytodecomposetheproblemsothatthetotalsolutionorcostofthe solution isgood.
• Examples:
o MatrixMultiplication
o Towers ofHanoi
o Blocks WorldProblem
o TheoremProving
• Formulations: (AND/ORGraphs)
o AnORnoderepresentsachoicebetweenpossibledecompositions.
o An AND node represents a givendecomposition.
The AND-OR graph (or tree) is useful for representing the solution of problems that can be solved by decomposing them into a set of smaller
problems, all of which must then be solved. This decomposition or reduction generate arcs that we call AND arcs.
To see why our Best-First search is not adequate for searching AND-OR graphs, consider Fig (a).
– The top node A has been expanded, producing 2 arcs, one leading to B and one leading
toCandD.Thenumbersateachnoderepresentthevalueoff'atthatnode.
– We assume for simplicity that every operation has a uniform cost, so each arc with a
singlesuccessorhasacostof1andeachANDarcwithmultiplesuccessorshasacostof1 for each of itscomponents.
– If we look just at the nodes and choose for expansion the one with the lowest f' value, we must select C. It would be better to explore the
path going through B since to use C we must also use D, for a total cost of 9 (C+D+2) compared to the cost of 6 that we get throughB.
– The choice of which node to expand next must depend not only on the f' value of that
nodebutalsoonwhetherthatnodeispartofthecurrentbestpathfromtheinitialnode.
The tree shown in Fig (b)
– The most promising single node is G with an f' value of 3. It is even part of the most promisingarcG-
H,withatotalcostof9.Butthatarcisnotpartofthecurrentbestpath sincetouseitwemustalsouse the arcI-J,withacostof27.
– ThepathfromA,throughB,toEandFisbetter,withatotalcostof18.Soweshouldnot expand G next; rather we should examine either E orF.
In order to describe an algorithm for searching an AND-OR graph we need to exploit a value that we call FUTILITY. If the estimated cost of a
solution becomes greater than the value of FUTILITY,thenweabandonthesearch.FUTILITYshouldbechosentocorrespondtoathreshold such any
solution with a cost above it is too expensive to be practical even if it could ever be found.
Algorithm:
1. Initialize the graph to the startingnode.
2. LoopuntilthestartingnodeislabeledSOLVEDoruntilitscostgoesaboveFUTILITY:
a. Traversethegraph,startingattheinitialnodefollowingthecurrentbestpathand accumulate the set of nodes that are on that path and have
not yet been expanded or labeledsolved.
b. Pickuponeofthoseunexpandednodesandexpandit.Iftherearenosuccessors, assign FUTILITY as the value of this node. Otherwise
add the successors to the graph and each of this compute f’ (use only h’ and ignore g). If f’ of any node is “0”, mark the node
asSOLVED.
c. Change the f’ estimate of the newly expanded node to reflect the new information provided by its successors. Propagate this
❑ At Step 1, A is the only node, so it is at the end of the current best path. It is expanded,
yieldingnodesB,CandD.ThearctoDislabeledasthemostpromisingoneemergingfrom A, since it costs 6 compared to B and C, which costs9.
❑ In Step 2, node D is chosen for expansion. This process produces one new arc, the AND arc
toEandF,withacombinedcostestimateof10.Soweupdatethef'valueofDto10.
❑ We see that the AND arc B-C is better than the arc to D, so it is labeled as the currentbest
path.AtStep3,wetraversethatarcfromAanddiscovertheunexpandednodesBandC.If we are going to find a solution along this path, we will have
to expand both B and C eventually. SO explore Bfirst.
❑ This generates two new arcs, the ones to G and to H. Propagating their f' values backward, we update f' to B to 6. This requires updating the
cost of AND arc B-C to 12 (6+4+2). Now thearctoDisagainthebetterpathfromA,sowerecord thatasthecurrentbestpathand
eithernodeEorFwillbechosenfortheexpansionatStep4.
This process continues until either a solution is found or all paths have led to dead ends, indicating that there is no solution.
Limitations :
1. A longer path may bebetter
In Fig (a), the nodes were generated. Now suppose that node J is expanded at the next step and that one of its successors is node E,
producing the graph shown in Fig (b). The new path to E is longer than the previous path to E going through C. Since the path
through C will only lead to a solution if there is also a solution to D, which there is not. The path through J is better.
Whilesolvinganyproblempleasedon’ttrytotravelthenodeswhicharealreadylabeled
assolvedbecausewhileimplementingitmaybestruckinloop.
2. InteractiveSub-goals
Another limitation of the algorithm fails to take into account any interaction between sub-goals. Assume in
figure thatboth nodeCandnodeEultimatelyleadtoasolution, ouralgorithm
willreportacompletesolutionthatincludesbothofthem.The AND-OR graph states that for A to be solved, both C
andD
must be solved. But the algorithm considers the solution of D as a completely separate process from the solution of C.
AO Algorithm:
AO Algorithm is a generalized algorithm, which will always find minimum cost solution. It is used for solving cyclic AND-OR graphs The AO
will use a single structure GRAPH representing thepartofthesearchgraphthathasbeenexplicitlygeneratedsofar.Eachnodeinthegraphwill point
both down to its immediate successors and up to immediate predecessors. The top down traversing of the best-known path which guarantees
that only nodes that are on the best path willeverbeconsideredforexpansion.Soh’willserveastheestimateofgoodnessofanode.
Algorithm (1):
1) Initialize: Set G = {s}, f(s) =h(s).
If s ∈ T, label s as SOLVED, where T is terminal node.
3) Select: Selectanon-terminalleafnodenfromthemarkedsubtree
4) Expand: Make explicit the successors ofn.
Foreachnewsuccessor,m:Setf(m)=h(m) IfmisTerminal,labelmasSOLVED.
5) CostRevision: Callcost-revise(n)
Cost Revision
1. Create Z = { n}
2. Z = { }return
3. Otherwise:SelectanodemfromzsuchthatmhasnodescendantsinZ
4. IfmisanANDnodewithsuccessors r1, r2, …,rk
1. r2, …,rk
Means-Ends Analysis:
Onegeneral-purposetechniqueusedinAIismeans-endanalysis,astep-by-step,orincremental, reduction of the difference between the current
state and the final goal. The program selects actions from a list of means—in the case of a simple robot this might consist of PICKUP,
PUTDOWN, MOVEFORWARD, MOVEBACK, MOVELEFT, and MOVERIGHT—until thegoal is
reached. This means we could solve major parts of a problem first and then return to smaller problems when assembling the final solution.
Usually, we search strategies that can reason either forward or backward. Often, however a
mixtureofthetwodirectionsisappropriate.Suchmixedstrategywouldmakeitpossibletosolve the major parts of problem first and solve the
smaller problems arise when combining them together.Suchatechniqueiscalled"Means-EndsAnalysis".
Thisprocesscentersonthedetectionofdifferencebetweenthecurrentstateandgoalstate.After
thedifferencehadbeenfound,weshouldfindanoperatorwhichreducesthedifference.Butthis operator cannot be applicable to the current state.
Then we have to set up a sub-problem of getting to the state in which it can be applied if the operator does not produce the goal state
whichwewant.Thenweshouldsetupasub-programofgettingfromstateitdoesproducethe goal. If the chosen inference is correct, the operator is
effective, then the two sub-problems should be easier to solve than the originalproblem.
The means-ends analysis process can be applied recursively to them. In order to focus system
attentiononthebigproblemsfirst,thedifferencecanbeassignedprioritylevels,inwhichhigh priority can be considered before lowerpriority.
Like the other problems, it also relies on a set of rules rather than can transform one state to
anothertheserulesarenotrepresentedwithcompletestatedescription.Therulesarerepresented
asaleftsidethatdescribestheconditionsthatmustbemetfortheruleapplicableandrightside
whichdescribethoseaspectsoftheproblemstatethatwillbechangedbytheapplicationofthe rule.
Consider the simple HOLD ROBOT DOMAIN. The available operators are as follows:
To reduce the difference either PUSH or CARRY can be chosen. If the CARRY is chosen first its precondition must be met. These results in
two more differences that must be reduced; the location of the robot and the size of the desk. The location of the robot can be handled by
applyingWALK,buttherearenooperatorsthatcanchangethesizeoftheobjects.Sotheirpath problem solve program will be shown above AND here
also the thing does not get it quit to the goalstate.SonowthedifferencebetweenA,BandbetweenC,Dmustbereduced.
PUSHhas4-preconditions.Twoofwhichproducedifferencebetweenstartandgoalstatessince
thedesksisalreadylarge.Onepreconditioncreatesnodifference.TheROBOTcanbebroughtto
thelocationbyusingWALK,thesurfacecanbeclearedbytwousesofpickupbutafteronepick- upthesecondresultsinanotherdifference–
thearmmustbeempty.PUTDOWNcanbeusedto reduce thedifference.
OnePUSHisperformed;theproblemstateisclosetothegoalstate,butnotquite.Theobjects must be placed back on the desk. PLACE will put them
there. But it cannot be applied immediately.Anotherdifferencemustbeeliminated,sincetherobotisholdingtheobjects.Then
wewillfindtheprogressasshownabove.ThefinaldifferencebetweenCandEcanbereduced by using WALK to get the ROBOT back to the objects
followed by PICKUP andCARRY.
Algorithm:
1. Untilthegoalisreachedornomoreprocedures areavailable:
– Describethecurrentstate,thegoalstateandthedifferencesbetweenthetwo.
– Usethedifferencethedescribeaprocedurethatwillhopefullygetnearertogoal.
– Use the procedure and update currentstate.
Ifgoalisreachedthensuccessotherwisefail.
Constraint Satisfaction
• Searchprocedureoperatesinaspaceofconstraintsets.Initialstatecontainstheoriginal constraints given in the problemdescription.
• Agoalstateisanystatethathasbeenconstrainedenough–Cryptarithmetic:“enough” meansthateachletterhasbeenassignedauniquenumericvalue.
• Constraint satisfaction is a 2-stepprocess:
o Constraintsare discovered and propagated as far as possible.
o Ifthereisstillnotasolution,thensearchbegins.Aguessaboutismadeandadded as a newconstraint.
• Toapplytheconstraintsatisfactioninaparticularproblemdomainrequirestheuseof2 kinds ofrules:
o Rules that define valid constraintpropagation
o Rules that suggest guesses whennecessary
Goal State:
Wehavetoassignuniquedigitfortheabovespecifiedalphabets