0% found this document useful (0 votes)
28 views153 pages

Unit-1 Introduction To Ai

The document provides an introduction to Artificial Intelligence (AI), defining it as a branch of science focused on creating machines that can solve complex problems in a human-like manner. It outlines the history of AI, highlighting key milestones from the development of early neural models to modern applications across various industries such as healthcare, finance, and entertainment. Additionally, it discusses AI techniques, branches, and its problem-solving capabilities, emphasizing the importance of AI in contemporary society.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views153 pages

Unit-1 Introduction To Ai

The document provides an introduction to Artificial Intelligence (AI), defining it as a branch of science focused on creating machines that can solve complex problems in a human-like manner. It outlines the history of AI, highlighting key milestones from the development of early neural models to modern applications across various industries such as healthcare, finance, and entertainment. Additionally, it discusses AI techniques, branches, and its problem-solving capabilities, emphasizing the importance of AI in contemporary society.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 153

UNIT-1

INTRODUCTIO
N TO
ARTIFICIAL
INTELLIGENCE
What is AI
?
What is AI ?
 Artificial Intelligence (AI) is a branch of Science which deals with
helping machines
find 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.
 A more or less flexible or efficient approach can be taken
depending on the requirements established, which influences how
artificial the intelligent behavior appears
 Artificial intelligence can be viewed from a variety of perspectives.
 From the perspective of intelligence artificial intelligence is
making machines "intelligent" -- acting as we would expect people to
act.
 The inability to distinguish computer responses from human responses
is called the
Turing test.
 Intelligence requires knowledge
 Expert problem solving - restricting domain to allow including
significant relevant knowledge
What is AI
?
 Object-oriented languages are a class of languages more recently
used for AI programming. Important features of object-oriented
languages include: concepts of objects and messages, objects bundle
data and methods for manipulating the data, sender specifies what is
to be done receiver decides how to do it, inheritance (object hierarchy
where objects inherit the attributes of the more general class of
objects). Examples of object-oriented languages are Smalltalk,
Objective C, C++. Object oriented extensions to LISP (CLOS -
Common LISP Object System) and PROLOG (L&O - Logic & Objects) are
also used.
 Artificial Intelligence is a new electronic machine that stores large
amount of information and process it at very high speed
 The computer is interrogated by a human via a teletype It
passes if the human cannot tell if there is a computer or human at the
other end
 The ability to solve problems
 It is the science and engineering of making intelligent machines,
especially intelligent computer programs. It is related to the similar
task of using computers to understand human intelligence -
History of Artificial
Intelligence
 Artificial Intelligence is not a new word and not a new technology for
researchers. This technology is much older than you would imagine.
Even there are the myths of Mechanical men in Ancient Greek and
Egyptian Myths. Following are some milestones in the history of AI
which defines the journey from the AI generation to till date
development

-
History of Artificial
Intelligence
Maturation of Artificial Intelligence (1943-1952)
 Year 1943: The first work which is now recognized as AI was done by
Warren McCulloch and Walter pits in 1943. They proposed a model
of artificial neurons.
 Year 1949: Donald Hebb demonstrated an updating rule for
modifying the
connection strength between neurons. His rule is now called Hebbian
learning.
 Year 1950: The Alan Turing who was an English mathematician and
pioneered Machine learning in 1950. Alan Turing publishes "Computing
Machinery and Intelligence" in which he proposed a test. The test can
check the machine's ability to exhibit intelligent behavior equivalent
to human intelligence, called a Turing test.

The birth of Artificial Intelligence (1952-1956)


 Year 1955: An Allen Newell and Herbert A. Simon created the "first
artificial intelligence program"Which was named as "Logic Theorist". -
This program had proved 38 of 52 Mathematics theorems, and find
new and more elegant proofs for some theorems.
History of Artificial
Intelligence
 Year 1956: The word "Artificial Intelligence" first adopted by American
Computer scientist John McCarthy at the Dartmouth Conference. For
the first time, AI coined as an academic field.
 At that time high-level computer languages such as FORTRAN, LISP, or
COBOL were invented. And the enthusiasm for AI was very high at that
time.

The golden years-Early enthusiasm (1956-1974)

 Year 1966: The researchers emphasized developing algorithms which


can solve mathematical problems. Joseph Weizenbaum created the
first chatbot in 1966, which was named as ELIZA.
 Year 1972: The first intelligent humanoid robot was built in Japan which
was named as WABOT-1.

-
History of Artificial
Intelligence
The first AI winter (1974-1980)
 The duration between years 1974 to 1980 was the first AI winter
duration. AI winter refers to the time period where computer
scientist dealt with a severe shortage of funding from
government for AI researches.
 During AI winters, an interest of publicity on artificial intelligence
was decreased.

A boom of AI (1980-1987)

 Year 1980: After AI winter duration, AI came back with "Expert


System". Expert systems were programmed that emulate the
decision-making ability of a human expert.
 In the Year 1980, the first national conference of the American
Association of Artificial Intelligence was held at Stanford
University.
-
History of Artificial
Intelligence
The second AI winter (1987-1993)
 The duration between the years 1987 to 1993 was the second AI
Winter duration.
 Again Investors and government stopped in funding for AI research as
due to high cost but not efficient result. The expert system such as
XCON was very cost effective.

The emergence of intelligent agents (1993-2011)

 Year 1997: In the year 1997, IBM Deep Blue beats world chess
champion, Gary Kasparov, and became the first computer to beat a
world chess champion.
 Year 2002: for the first time, AI entered the home in the form of
Roomba, a vacuum
cleaner.
 Year 2006: AI came in the Business world till the year 2006. -
Companies like Facebook, Twitter, and Netflix also started using
AI.
History of Artificial
Intelligence
Deep learning, big data and artificial general intelligence (2011-present)
 Year 2011: In the year 2011, IBM's Watson won jeopardy, a quiz show,
where it had to solve the complex questions as well as riddles.
Watson had proved that it could understand natural language and
can solve tricky questions quickly.
 Year 2012: Google has launched an Android app feature "Google now",
which was able to provide information to the user as a prediction.
 Year 2014: In the year 2014, Chatbot "Eugene Goostman" won a
competition in the
infamous "Turing test."
 Year 2018: The "Project Debater" from IBM debated on complex
topics with two master debaters and also performed extremely well.
 Google has demonstrated an AI program "Duplex" which was a
virtual assistant and which had taken hairdresser appointment on call,
and lady on other side didn't notice that she was talking with the
machine. Now AI has developed to a remarkable level. The
concept of Deep learning, big data, and data science are now
-
trending like a boom. Nowadays companies like Google, Face book,
IBM, and Amazon are working with AI and creating amazing devices.
The future of Artificial Intelligence is inspiring and will come with high
intelligence.
Branches of
AI
1. Game Playing
You can buy machines that can play master level chess for a few hundred
dollars.
There is some AI in them, but they play well against people mainly through
brute
force computation--looking at hundreds of thousands of positions. To
beat a world champion by brute force and known reliable heuristics
requires being able to look at 200 million positions per second.

2. Speech Recognition
In the 1990s, computer speech recognition reached a practical level for
limited
purposes. Thus United Airlines has replaced its keyboard tree for
flight information by a system using speech recognition of flight
numbers and city names. It is quite convenient. On the other hand, -

while it is possible to instruct some computers using


speech, most users have gone back to the keyboard and the mouse as
Branches of
AI
3. Understanding Natural Language
Just getting a sequence of words into a computer is not enough. Parsing
sentences is not enough either. The computer has to be provided with
an understanding of the
domain the text is about, and this is presently possible only for very
limited domains.
4. Computer Vision
The world is composed of three-dimensional objects, but the inputs to
the human eye
and computers' TV cameras are two dimensional. Some useful programs
can work solely in two dimensions, but full computer vision requires
partial three-dimensional information that is not just a set of two-
dimensional views. At present there are only limited ways of
representing three-dimensional information directly, and they are not
-
as good as what humans evidently use.
Branches of
AI
5. Expert Systems
A ``knowledge engineer'' interviews experts in a certain domain and
tries to embody their knowledge in a computer program for carrying
out some task. How well this
works depends on whether the intellectual mechanisms required for
the task are within the present state of AI. When this turned out not
to be so, there were many disappointing results.
6. Heuristic Classification
One of the most feasible kinds of expert system given the present
knowledge of AI is
to put some information in one of a fixed set of categories using
several sources of
information. An example is advising whether to accept a proposed credit
card purchase. Information is available about the owner of the credit
card, his record of payment and also about the item he is buying and -
about the establishment from which he is buying it (e.g., about whether
there have been previous credit card frauds at this establishment).
Applications of
AI
 Artificial Intelligence has various applications in today's society. It
is becoming essential for today's time because it can solve complex
problems with an efficient way in multiple industries, such as
Healthcare, entertainment, finance, education, etc. AI is making our
daily life more comfortable and fast.
 Following are some sectors which have the application of Artificial
Intelligence:

-
Applications of
AI
1. AI in Astronomy
 Artificial Intelligence can be very useful to solve complex universe
problems. AI technology can be helpful for understanding the universe
such as how it works, origin, etc.
2.AI in Healthcare
 In the last, five to ten years, AI becoming more advantageous for
the healthcare industry and going to have a significant impact on
this industry.
 Healthcare Industries are applying AI to make a better and faster
diagnosis than humans. AI can help doctors with diagnoses and can
inform when patients are worsening so that medical help can reach
to the patient before hospitalization.
3. AI in Gaming
 AI can be used for gaming purpose. The AI machines can play
strategic games like chess, where the machine needs to think of a
large number of possible places.
-
Applications of
AI
4. AI in Finance
 AI and finance industries are the best matches for each other. The finance
industry is implementing automation, chatbot, adaptive intelligence,
algorithm trading, and machine learning into financial processes.
5. AI in Data Security
 The security of data is crucial for every company and cyber-attacks are
growing very rapidly in the digital world. AI can be used to make your
data more safe and secure. Some examples such as AEG bot, AI2
Platform, are used to determine software bug and cyber-attacks in a
better way.
6. AI in Social Media
 Social Media sites such as Facebook, Twitter, and Snapchat contain billions of
user profiles, which need to be stored and managed in a very efficient way.
AI can organize and manage massive amounts of data. AI can analyze lots of
data to identify the latest trends, hashtag, and requirement of different
users.
-
Applications of
AI
7. AI in Travel & Transport
 AI is becoming highly demanding for travel industries. AI is capable of
doing various travel related works such as from making travel
arrangement to suggesting the hotels, flights, and best routes to the
customers. Travel industries are using AI- powered chatbots which can
make human-like interaction with customers for better and fast
response.
8.AI in Automotive Industry
 Some Automotive industries are using AI to provide virtual assistant to
their user for better performance. Such as Tesla has introduced
TeslaBot, an intelligent virtual assistant.
 Various Industries are currently working for developing self-driven
cars which can make your journey more safe and secure.
9. AI in Robotics:
 Artificial Intelligence has a remarkable role in Robotics. Usually,
general robots are programmed such that they can perform some
experiences
repetitive without
task, pre- the help of AI, we can
but with - create intelligent
programmed.
robots which can perform tasks with their own
 Humanoid Robots are best examples for AI in robotics, recently the
intelligent Humanoid robot named as Erica and Sophia has been
developed which can talk and behave like humans.
10. AI in Entertainment
 We are currently using some AI based applications in our daily
life with some entertainment services such as Netflix or Amazon.
With the help of ML/AI algorithms, these services show the
recommendations for programs or shows.
11. AI in Agriculture
 Agriculture is an area which requires various resources, labor, money,
and time for best result. Now a day's agriculture is becoming digital,
and AI is emerging in this field. Agriculture is applying AI as
agriculture robotics, solid and crop monitoring, predictive analysis.
AI in agriculture can be very helpful for farmers.

-
Applications of
AI
12. AI in E-commerce
 AI is providing a competitive edge to the e-commerce industry, and
it is becoming more demanding in the e-commerce business. AI is
helping shoppers to discover associated products with recommended
size, color, or even brand.
13.AI in education:
 AI can automate grading so that the tutor can have more time to
teach. AI chatbot
can communicate with students as a teaching assistant.
 AI in the future can be work as a personal virtual tutor for students,
which will be accessible easily at any time and any place.

-
AI Problem &
Techniques
Followin are problems that can be solved by
g AI.
someFollowing using
categories of problems are considered as AI
problems.

Ordinary Problems
1.Perception
 Vision
 Voice Recognition
 Speech Recognition
2.Natural Language
 Understanding
 Generation
 Translation
3.Robot Control

-
AI Problem &
Techniques
Followin are problems that can be solved by
g AI.
someFollowing using
categories of problems are considered as AI
problems.

Formal Problems
 Game Playing
 Solving complex mathematical Problem

Expert Problems
 Design
 Fault Finding
 Scientific Analysis
 Medical Diagnosis
 Financial Analysis

-
AI Problem &
Techniques
There are three important AI techniques:
 Search — Provides a way of solving problems for which no direct
approach is available. It also provides 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 structure of the objects that are involved.

 Abstraction — Provides a way of separating important features and


variations from many unimportant ones that would otherwise
overwhelm any process.

-
Thanks
!!!

-
Chapter 2: Problem
Spaces &
 The objective
Search
of this lesson is to provide an overview
problem
of representation techniques i.e.
 Representing AI problems as a mathematical model
 Representing AI problems as a production system
 Defining AI problems as a state space search
 Thislesson also gives in depth knowledge about searching
the
techniques BFS and DFS search algorithm with
advantages

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Setps Used to solve AI
Problems
To solve different types of AI problems, there are different types of AI
techniques. These techniques use followingsteps
1. Define the problem : This definition must include precise
specifications of what the initial situation(s) will be as well as what
final situations constitute. By defining it properly, one can convert it
into the real workable states.
2. Analyze the problem: Identify the techniques to be used to solve the
given problem. A few important features can have
different techniques for solving the problem
3. Isolate and represent the task knowledge that is necessary to solve the
problem
4. Choose the best problem solving technique and apply on particular
problem

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
AI Problem as State Space
 A setSearch
of all possible states for a given problem is known as state
space of the problem.
 Representation of states is highly beneficial in AI because they
provide all possible states, operations and the goals.
 If the entire sets of possible states are given, it is possible to
trace the path from the initial state to the goal state and
identify the sequence of operators necessary for doing it.
 Representation allows for a formal definition of a problem using
a set of permissible operations as the need to convert
some given situation into some desired situation.
 We are free to define the process of solving a particular problem
as a combination of known techniques, each of which
are represented as a rule defining a single step in the space,
and search, the general technique of exploring the space
to try to find some path from the current state to a goal
state.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Water Jug Problem
 Statement :- We are given 2 jugs, a 4 liter one and a 3-
liter one. Neither has any measuring markers on it. There is
a pump that can be used to fill the jugs with water. we can
pour water out of a jug to the ground. We can pour water
from one jug to another. How can we get exactly 2 liters of
water in to the 4-liter jugs?
 Solution:-The state space for this problem can be defined
as
x -represents the number of liters of water in the 4-liter jug
y -represents the number of liters of water in the 3-liter jug
Therefore, x =0,1,2,3 or 4 and y=0,1,2 or 3
The initial state is ( 0,0) .The goal state is to get ( 2,n) for any
value of ‘n’.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
The various Production Rules that are available to solve this
problem may be stated as given in the following table .
Rule No Production Rule Action
1 (x,y) if x<4 => (4,y) Fill the 4 Liter jug
2 (x,y) if y<3 => (x,3) Fill the 3 Liter jug
3 (x,y) if x>0 =>(0,y) Empty 4 Liter jug on ground
4 (x,y) if y>0 =>(x,0) Empty 3 Liter jug on ground
5 (x,y) if x+y<=4 =>(x+y,0) Pour all the water from 3 liter jug into 4 liter
jug
6 (x,y) if x+y<=3 =>(0,x+y) Pour all the water from 4 liter jug into 3 liter
jug
7 (x,y) if x+y>=4 => (4,y- Pour water from 3 liter jug to 4 liter jug until 4
(4-x) liter jug is full
8 (x,y) if x+y>=3 =>(x- Pour water from 4 liter jug to 3 liter jug
(3- y),3) until 3 liter jug is full
9 (0,2) =>(2,0) Pour 2 liter from 3 liter
Mrs.Harsha Patil,jug
Dr. D.to 4 liter
Y. Patil jug Pimpri
ACS College,
Pune.
Solution 1
One solution to water jug problem is given
as
Liter in 4 Liter in 3 Rule Applied
Liter Liter
Jug Jug
0 0
0 3 2
3 0 5
3 3 2
4 2 7
0 2 3
2 0 5
Solution 1
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Solution 2
Liter in 4 Liter in 3 Rule Applied
Liter Liter
Jug Jug
0 0
4 0 1
1 3 8
1 0 4
0 1 6
4 1 1
2 3 8
Solution 2
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Solution 3
Liter in 4 Liter Jug Liter in 3 Liter Jug Rule Applied

0 0
4 0 1
1 3 8
0 3 3
3 0 5
3 3 2
4 2 7
0 2 3
2 0 5

Solution 3
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Water Jug Problem of 8,5 and 3
The Ltr Jug
following is a problem which can be solved by using state
space search technique. “we have 3 jugs of capacities 3,5, and
8 liters respectively. There is no scale on the jugs. So it is only
their capacities that we certainly know. Initially the 8 liter jug
is full of water, the other two are empty. We can pour water
from one jug to another, and the goal is to have exactly 4 liters
of water in any of the jug. There is no scale on the jug and we
do not have any other tools that would help. The amount of
water in the other two jugs at the end is irrelevant.
Formalize the above problem as state space search . You should
1. Suggest suitable representation of the problem
2. State the initial and goal state of this problem
3. Specify the production rules for getting from one state to
another
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Water Jug Problem of 8,5 and 3
Ltr Jug
Solution:-
The state space for this problem can be defined as
x -represents the number of liters of water in the 8-liter
jug
y -represents the number of liters of water in the 5-liter
jug
Therefore, x =0,1,2,3,5,6,70r
z –represent the8number of liters of water in he 3-liter jug
y=0,1,2 ,3,4 or 5
The initial statez=0,1,2 or 3.The goal state is to get 4 liter of water
is ( 8,0,0)
in any jug.
The goal state can be defined as (4,n,n) or (n,4,n) for any value of
n

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
8,5,3 Liter water jug problem
Rule variousProduction
The ProductionRuleRules that
Action
are available to solve
1 (x,y,z) if x+y<=5 =>(0,x+y,z) Pour all water from 8 liter jug to 5 liter jug
thisthe
problem may be stated as in following
2 given
(x,y,z) if x+z<=3 =>(0,y,x+z) Pour
tableall. water from 8 liter jug to 3 liter jug
3 (x,y,z) if x+y<=8 =>(x+y,0,z) Pour all water from 5 liter jug to 8 liter jug
4 (x,y,z) if y+z<=3 =>(x,0,y+z) Pour all water from 5 liter jug to 3 liter jug
5 (x,y,z) if x+z<=8 =>(x+z,y,0) Pour all water from 3 liter jug to 8 liter jug
6 (x,y,z) if y+z<=5 =>(x,y+z,0) Pour all water from 3 liter jug to 5 liter jug
7 (x,y,z) if x+y>=5 => (x-(5-y),5,z) Pour water from 8 liter jug to 5 liter
jug until 5 liter jug is full
8 (x,y,z) if x+z>=3 => (x-(3-z),y,3) Pour water from 8 liter jug to 3 liter jug
until 3 liter jug is full
9 (x,y,z) if y+z>=3 => (x,y-(3-z),3) Pour water from 5 liter jug to 3 liter
jug until 3 liter jug is full
10 (x,y,z) if y+z>=5 => (x,5,z-(5-y)) Pour water from 3 liter jug to 5 liter jug
until 5 liter jug is full
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Solution
One solution to water jug problem is given
as
Liter in Liter in Liter in Rule
8 Liter 5 Liter 3 Liter Applie
Jug Jug Jug d
8 0 0
3 5 0 7
3 2 3 9
6 2 0 5
6 0 2 4
1 5 2 7
1 4 3 9
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Thus, to solve any difficult, unstructured problems, we have to provide a
formal description to solve a problem and for that we have to do following
1. Specify one or more states within that space that describes possible
situations from which the problem solving process may start,
called as initial state
2. Specify one or more states that would be acceptable as solution to the
problem. These states are called as goal state
3. Define a state space that contains all the possible configuration of the
relevant objects
4. Specify a set of rules that describes the action available thus the
problem can be solved by using the rules and also with appropriate
control strategy.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Tiger, Goat and Grass Problem
Statement:
“A Farmer has a tiger, a goat and a bundle of grass. He is
standing at one side of the river with a very week boat which
can hold only one of his belongings at a time. His goal is to
take all three of his belongings to the other side. The constraint
is that the farmer cannot leave either goat and tiger, or goat and
grass, at any side of the river unattended because one of them
will eat the other”
Formalize the above problem in terms of state space search.
You should
i. Suggest a suitable representation for the problem
ii. State the initial state and final state
iii. List the actions for getting from one state to another state

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Solution:
Let F represent Farmer, T represent Tiger, G represent Goat, Gr
represent Grass, A and B represent sides of the river
respectively
Initial State: Side A(T, G, Side B( )
Gr) SideB(T,G,Gr)
Goal possible
One State: solution
Side A( )is
1. The F takes G from Side A to side B of theriver
Side A(T, Gr) Side B(G)
2. The F crosses the river from side B to side
A Side A(T, Gr) Side B(G)
3. The F takes Gr from Side A to Side B of
theriver
Side A(T) Side B(G,Mrs.Harsha
Gr) Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
4. The F takes G from Side B to Side A of theriver
Side A(T, G) Side B(Gr)
5. The F takes T from Side Ato Side B of the
river Side A(G) Side B(Gr, T)
6. The F crosses the river from Side B to Side
A Side A(G) Side B(Gr, T)
7. The F takes G from Side A to Side B of theriver
Side A( ) Side B(Gr, T, G)

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Missionaries and Cannibals Problem
Statement:
Three missionaries and three cannibals find themselves on one
side of a river. They have would like to get to the other side,
such that the number of missionaries on either side of the river
should never less than the number of cannibals who are on the
same side. The only boat available can holds only two at a
time. How can everyone cross the river without the
missionaries risking being eaten?
Formalize the above problem in terms of state space search.
You should
i. Suggest a suitable representation for the problem
ii. State the initial state and final state
iii. List the actions for getting from one state to another state

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Solution:-The state space for this problem can be defined
as
Let, i represents the number missionaries in one side of a river
Therefore i=0,1,2 or 3

j represents the number of cannibals in the same side of river


Therefore j=0,1,2 or 3

The initial state (i,j) is (3,3) i.e. three missionaries and three
cannibals on side A of a river and ( 0,0) on side B of the river.

The goal state is to get (3,3) at Side B and (0,0) at Side A.


Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
The various Production Rules that are available to solve
this problem may be stated as given in the following table .
Rule Production Rule Action
No
1 (i,j) if i-1>=j on one One missionary can cross the river
side and i+1>=j on
other side
2 (i,j) if j-1<=i or i=0 on one side One cannibal can cross the river
and j+1<=i or j=0 on other side
3 (i,j) if i-2>=j or i-2=0 on one side Two missionary can cross the river
and i+2>=j on other side
4 (i,j) if j-2<=i or i=0 on one Two cannibals can cross the river
side
and j+2<=i or i=0 on other side
5 (i,j) if i-1>=j-1 or i=0 on one side One missionary and one cannibal
and i+1>=j+1 or i=0 on other side can cross the river
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Solution of Missionary Canibal Problem
Side Bo Side Rule Applied
A at B
(M, (M, (M,
C) C) C)
(3,3) Empty (0,0)
(3,1) (0,2) (0,2) 4
(3,2) (0,1) (0,1) 2
(3,0) (0,2) (0,3) 4
(3,1) (0,1) (0,2) 2
(1,1) (2,0) (2,2) 3
(2,2) (1,1) (1,1) 5
(0,2) (2,0) (3,1) 3
(0,3) (0,1) (3,0) 2
(0,1) (0,2) (3,2) 4
(0,2) (0,1) (3,1) 2
(0,0) (0,2) (3.3)Mrs.Harsha Patil, Dr. D. Y. Patil4 ACS College, Pimpri
Pune.
Tower of Hanoi Problem
Problem Statement:

The Tower of Hanoi is a mathematical game or puzzle.It consist of


three rods and a no. Of disks of different sizes, which can slide onto
any rod. The puzzle start with the disks in a stack in ascending order of
size on one rod, the smallest at the top,thus making a conical shape.
The objectives of the puzzel is to move the entire stack into another
rod, using following simple constraint.

1. Only one disk can be moved at a time.


2. Each move consist of taking the upper disk from one of the stacks
and placing it on top of another stack or on an empty rod.
3. No larger disk may be placed on top of a smaller disk.
The minimal no of moves required to solve these
problem. Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Tower of Hanoi Problem
Solution:

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Tower of Hanoi Problem
1. Disk 1 moved from R1 to R3
2. Disk 2 moved from R1 to R2
3. Disk 1 moved from R3 to R2
4. Disk 3 moved from R1 to R3
5. Disk 1 moved from R2 to R1
6. Disk 2 moved from R2 to R3
7. Disk 1 moved from R1 to R3
The state is represented as a tuple , (rod no, Sequence of
disks)
->{(R1,1,2,3),(R2,Nil),(R3,Nil}Initial State
->{(R1,2,3),(R2,NIL)(R3,1)}
->{(R1,3),(R2,2),(R3,1)}
->{(R1,3),(R2,1,2),(R3,NIL)}
->{(R1,NIL),(R2,1,2),(R3,3)}
->{(R1,1),(R2,NIL),(R3,2,3)}
->{(R1,NIL),(R2,NIL),(R3,1,2,3)}Goal State
Total No of moves are 6. Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
8 Puzzle Problem
1 2 3
7 8 4
6 5

1 2 3 1 2 3 1 2 3
7 8 4 7 8 4 7 4
6 5 6 5 6 8 5

Which move is Best?


A Simple 8-puzzle heuristic
 Number of tiles in the correct position.
 The higher the number the better.
 Easy to compute (fast and takes little
memory).
 Probably the simplest possible heuristic.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
8 Puzzle Problem
Problem Definition:
In 8 puzzle problem there are 9 squares arranged in 3*3 matrix
format. Out of the 9 squares, 8 squares contain the values from
1-8 and one square is empty. We can slide the numbers in
empty square from left, right, top, bottom of empty square.
Initially the numbers are arranged in random order and we
have to arrange them as

1 2 3
8 4
7 6 5

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
8 Puzzle Problem
Sate space representation for 8 puzzle problem:
Initial state: Initially the numbers are placed in random order

2 8 3
1 6 4
7 5

Goal State: We have to place the numbers is following order

1 2 3
8 4
7 6 5

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
8 Puzzle Problem
2 8 3 2 3
1 6 4 1 8 4
7 5 7 6 5

2 8 3 1 2 3
1 4 8 4
7 6 5 7 6 5

2 3 1 2 3
1 8 4 8 4
7 6 5 7 6 5

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Search and Control
Strategies
Problem-solving agents:
In Artificial Intelligence, Search techniques are universal problem-solving
methods. Rational agents or Problem-solving agents in AI mostly used
these search strategies or algorithms to solve a specific problem and
provide the best result. Problem-solving agents are the goal-based agents
and use atomic representation. In this topic, we will learn various problem-
solving search algorithms.

Search Algorithm Terminologies:


1. Search: Searching is a step by step procedure to solve a search-problem
in a given search space. A search problem can have three main factors:
 Search Space: Search space represents a set of possible solutions, which
a system may have.
 Start State: It is a state from begins the search.
 Goal test: It is a function which where agent observe the current state
and returns whether the goal state is achieved or not.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Search and Control
Strategies
Search tree: A tree representation of search problem is called Search tree.
The root of the search tree is the root node which is corresponding to the
initial state.

Actions: It gives the description of all the available actions to the agent.

Transition model: A description of what each action do, can be


represented as a transition model.

Path Cost: It is a function which assigns a numeric cost to each path.

Solution: It is an action sequence which leads from the start node to the
goal node.

Optimal Solution: If a solution has the lowest cost among all solutions.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Search and Control
Strategies
Properties of Search Algorithms:

Completeness: A search algorithm is said to be complete if it guarantees to


return a solution if at least any solution exists for any random input.
Optimality: If a solution found for an algorithm is guaranteed to be the
best solution (lowest path cost) among all other solutions, then such a
solution for is said to be an optimal solution.
Time Complexity: Time complexity is a measure of time for an algorithm
to complete its task.
Space Complexity: It is the maximum storage space required at any point
during the search, as the complexity of the problem.

Types of search algorithms


Based on the search problems we can classify the search algorithms
into uninformed (Blind search) search and informed search (Heuristic
search) algorithms.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Search and Control Strategies

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Search and Control
Strategies
Uninformed/Blind Search:
The uninformed search does not contain any domain knowledge such as
closeness, the location of the goal. It operates in a brute-force way as it
only includes information about how to traverse the tree and how to
identify leaf and goal nodes. Uninformed search applies a way in which
search tree is searched without any information about the search space like
initial state operators and test for the goal, so it is also called blind search.
It examines each node of the tree until it achieves the goal node.

It can be divided into five main types:


Breadth-first search
Uniform cost search
Depth-first search
Iterative deepening depth-first search
Bidirectional Search

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Search and Control Strategies
Uninformed Search Algorithms

 Uninformed search is a class of general-purpose search algorithms which


operates in brute force-way.
 Uninformed search algorithms do not have additional information about
state or search space other than how to traverse the tree, so it is also called
blind search.

Following are the various types of uninformed search algorithms:

Breadth-first Search
Depth-first Search
Depth-limited Search
Iterative deepening depth-first search
Uniform cost search
Bidirectional Search
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Issues in the design of search
programs
Issues in the design of search programs :

 The direction in which to conduct search (forward versus backward reasoning). If the search
proceeds from start state towards a goal state, it is a forward search or we can also search from the
goal.

 How to select applicable rules (Matching). Production systems typically spend most of their time
looking for rules to apply. So, it is critical to have efficient procedures for matching rules against
states.

 How to represent each node of the search process (knowledge representation problem).

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Breadth-first Search
1. Breadth-first Search:

 Breadth-first search is the most common search strategy for traversing a


tree or graph. This algorithm searches breadth wise in a tree or graph, so it
is called breadth-first search.
BFS algorithm starts searching from the root node of the tree and expands
all successor node at the current level before moving to nodes of next level.
 The breadth-first search algorithm is an example of a general-graph search
algorithm.
Breadth-first search implemented using FIFO queue data structure.

Advantages:
BFS will provide a solution if any solution exists.
 If there are more than one solutions for a given problem, then BFS will
provide the minimal solution which requires the least number of steps.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Breadth-first Search
Disadvantages:
 It requires lots of memory since each level of the tree must be saved into
memory to expand the next level.
BFS needs lots of time if the solution is far away from the root node.

Example:
In the below tree structure, we have shown the traversing of the tree using
BFS algorithm from the root node S to goal node K. BFS search algorithm
traverse in layers, so it will follow the path which is shown by the dotted
arrow, and the traversed path will be:

S---> A--->B---->C--->D---->G--->H--->E---->F---->I---->K

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Breadth-first Search

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Breadth-first Search
Time Complexity: Time Complexity of BFS algorithm can be obtained by
the number of nodes traversed in BFS until the shallowest Node. Where the
d= depth of shallowest solution and b is a node at every state.
T (b) = 1+b2+b3+.......+ bd= O (bd)

Space Complexity: Space complexity of BFS algorithm is given by the


Memory size of frontier which is O(bd).

Completeness: BFS is complete, which means if the shallowest goal node


is at some finite depth, then BFS will find a solution.

Optimality: BFS is optimal if path cost is a non-decreasing function of the


depth of the node.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Depth-first Search
2. Depth-first Search

 Depth-first search is a recursive algorithm for traversing a tree or graph


data structure.
 It is called the depth-first search because it starts from the root node and
follows each path to its greatest depth node before moving to the next path.
DFS uses a stack data structure for its implementation.
The process of the DFS algorithm is similar to the BFS algorithm.

Advantage:
DFS requires very less memory as it only needs to store a stack of the
nodes on the path from root node to the current node.
 It takes less time to reach to the goal node than BFS algorithm (if it
traverses in the right path).

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Depth-first Search
Disadvantage:
There is the possibility that many states keep re-occurring, and there is no
guarantee of finding the solution.
 DFS algorithm goes for deep down searching and sometime it may go to
the infinite loop.

Example:
In the below search tree, we have shown the flow of depth-first search, and
it will follow the order as:

Root node--->Left node ----> right node.

It will start searching from root node S, and traverse A, then B, then D and
E, after traversing E, it will backtrack the tree as E has no other successor
and still goal node is not found. After backtracking it will traverse node C
and then G, and here it will terminate as it found goal node.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Depth-first Search

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Depth-first Search
Completeness: DFS search algorithm is complete within finite state space as
it will expand every node within a limited search tree.

Time Complexity: Time complexity of DFS will be equivalent to the node


traversed by the algorithm. It is given by:
T(n)= 1+ n2+ n3 +.........+ nm=O(nm)
Where, m= maximum depth of any node and this can be much larger
than d (Shallowest solution depth)

Space Complexity: DFS algorithm needs to store only single path from the
root node, hence space complexity of DFS is equivalent to the size of the
fringe set, which is O(bm).

Optimal: DFS search algorithm is non-optimal, as it may generate a large


number of steps or high cost to reach to the goal node.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Difference between BFS &
DFS BFS DFS

BFS stands for Breadth First Search. DFS stands for Depth First Search.

BFS(Breadth First Search) uses Queue data structure for


DFS(Depth First Search) uses Stack data structure.
finding the shortest path.

BFS can be used to find single source shortest path in an


In DFS, we might traverse through more edges to reach a
unweighted graph, because in BFS, we reach a vertex with
destination vertex from a source.
minimum number of edges from a source vertex.

BFS is more suitable for searching vertices which are DFS is more suitable when there are solutions away from
closer to the given source. source.

DFS is more suitable for game or puzzle problems. We


BFS considers all neighbors first and therefore not suitable make a decision, then explore all paths through this
for decision making trees used in games or puzzles. decision. And if this decision leads to win situation, we
stop.

The Time complexity of BFS is O(V + E) when The Time complexity of DFS is also O(V + E) when
Adjacency List is used and O(V^2) when Adjacency Adjacency List is used and O(V^2) when Adjacency
Matrix is used, where V stands for vertices and E stands Matrix is used, where V stands for vertices and E stands
for edges. for edges.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Depth-Limited Search
3. Depth-Limited Search Algorithm:

 A depth-limited search algorithm is similar to depth-first search with a


predetermined limit. Depth-limited search can solve the drawback of the
infinite path in the Depth-first search. In this algorithm, the node at the
depth limit will treat as it has no successor nodes further.
Depth-limited search can be terminated with two Conditions of failure:
 Standard failure value: It indicates that problem does not have any
solution.
 Cutoff failure value: It defines no solution for the problem within a given
depth limit.

Advantages:
Depth-limited search is Memory efficient.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Depth-Limited Search
Disadvantages:

Depth-limited search also has a disadvantage of incompleteness.


It may not be optimal if the problem has more than one solution.
Example:

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Depth-Limited Search
Completeness: DLS search algorithm is complete if the solution is above
the depth-limit.

Time Complexity: Time complexity of DLS algorithm is O(bℓ).

Space Complexity: Space complexity of DLS algorithm is O(b×ℓ).

Optimal: Depth-limited search can be viewed as a special case of DFS, and


it is also not optimal even if ℓ>d.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Uniform-cost Search
4. Uniform-cost Search Algorithm:

 Uniform-cost search is a searching algorithm used for traversing a


weighted tree or graph.
 This algorithm comes into play when a different cost is available for
each edge. The primary goal of the uniform-cost search is to find a path to
the goal node which has the lowest cumulative cost.
 Uniform-cost search expands nodes according to their path costs form
the root node.
It can be used to solve any graph/tree where the optimal cost is in
demand.
A uniform-cost search algorithm is implemented by the priority queue.
It gives maximum priority to the lowest cumulative cost.
Uniform cost search is equivalent to BFS algorithm if the path cost of
all edges is the same.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Uniform-cost Search
Advantages:
 Uniform cost search is optimal because at every state the path with the
least cost is chosen.

Disadvantages:
 It does not care about the number of steps involve in searching and only
concerned about path cost. Due to which this algorithm may be stuck in an
infinite loop.
Example:

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Uniform-cost Search

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Completeness:
Uniform-cost Search
Uniform-cost search is complete, such as if there is a solution, UCS will find it.

Time Complexity:
Let C* is Cost of the optimal solution, and ε is each step to get closer to the
goal node. Then the number of steps is = C*/ε+1. Here we have taken +1, as we
start from state 0 and end to C*/ε.Hence, the worst-case time complexity of
Uniform-cost search isO(b1 + [C*/ε])/.

Space Complexity:
The same logic is for space complexity so, the worst-case space complexity of
Uniform-cost search is O(b1 + [C*/ε]).

Optimal:
Uniform-cost search is always optimal as it only selects a path with the lowest
path cost.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Iterative deepening depth-first
Search
5. Iterative deepening depth-first Search:

 The iterative deepening algorithm is a combination of DFS and BFS


algorithms. This search algorithm finds out the best depth limit and does it
by gradually increasing the limit until a goal is found.
 This algorithm performs depth-first search up to a certain "depth limit",
and it keeps increasing the depth limit after each iteration until the goal
node is found.
 This Search algorithm combines the benefits of Breadth-first search's fast
search and depth-first search's memory efficiency.
The iterative search algorithm is useful uninformed search when search
space is large, and depth of goal node is unknown.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Iterative deepening depth-
first Search
Advantages:
It combines the benefits of BFS and DFS search algorithm in terms of fast
search and memory efficiency.

Disadvantages:
The main drawback of IDDFS is that it repeats all the work of the
previous phase.

Example:

Following tree structure is showing the iterative deepening depth-first


search. IDDFS algorithm performs various iterations until it does not find
the goal node. The iteration performed by the algorithm is given as:

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Iterative deepening depth-first
Search

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Iterative deepening depth-first
Search
1'st Iteration-----> A
2'nd Iteration----> A, B, C
3'rd Iteration------>A, B, D, E, C, F, G
4'th Iteration------>A, B, D, H, I, E, C, F, K, G
In the fourth iteration, the algorithm will find the goal node.

Completeness:
This algorithm is complete is if the branching factor is finite.
Time Complexity:
Let's suppose b is the branching factor and depth is d then the worst-case
time complexity is O(bd).
Space Complexity:
The space complexity of IDDFS will be O(bd).
Optimal:
IDDFS algorithm is optimal if path cost is a non- decreasing function of
the depth of the node.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Bidirectional Search
6. Bidirectional Search Algorithm:

 Bidirectional search algorithm runs two simultaneous searches, one form


initial state called as forward-search and other from goal node called as
backward-search, to find the goal node.
 Bidirectional search replaces one single search graph with two small sub
graphs in which one starts the search from an initial vertex and other starts
from goal vertex.
The search stops when these two graphs intersect each other.
 Bidirectional search can use search techniques such as BFS, DFS, DLS,
etc.

Advantages:
Bidirectional search is fast.
Bidirectional search requires less memory

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Bidirectional Search
Disadvantages:
Implementation of the bidirectional search tree is difficult.
In bidirectional search, one should know the goal state in advance.

Example:
In the below search tree, bidirectional search algorithm is applied. This
algorithm divides one graph/tree into two sub-graphs. It starts traversing
from node 1 in the forward direction and starts from goal node 16 in the
backward direction.
The algorithm terminates at node 9 where two searches meet.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Bidirectional Search

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Bidirectional Search
Completeness: Bidirectional Search is complete if we use BFS in both
searches.

Time Complexity: Time complexity of bidirectional search using BFS


is O(bd).

Space Complexity: Space complexity of bidirectional search is O(bd).

Optimal: Bidirectional search is Optimal.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Informed Search Algorithms
The informed search algorithm is more useful for large search space.
Informed search algorithm uses the idea of heuristic, so it is also called
Heuristic search.

Heuristics function: Heuristic is a function which is used in Informed


Search, and it finds the most promising path. It takes the current state of the
agent as its input and produces the estimation of how close agent is from the
goal. The heuristic method, however, might not always give the best
solution, but it guaranteed to find a good solution in reasonable time.
Heuristic function estimates how close a state is to the goal. It is represented
by h(n), and it calculates the cost of an optimal path between the pair of
states. The value of the heuristic function is always positive.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Informed Search Algorithms
Admissibility of the heuristic function is given as:

h(n) <= h*(n)

Here h(n) is heuristic cost, and h*(n) is the estimated cost. Hence heuristic
cost should be less than or equal to the estimated cost.

Pure Heuristic Search:


Pure heuristic search is the simplest form of heuristic search algorithms. It
expands nodes based on their heuristic value h(n). It maintains two lists,
OPEN and CLOSED list. In the CLOSED list, it places those nodes which
have already expanded and in the OPEN list, it places nodes which have yet
not been expanded.
On each iteration, each node n with the lowest heuristic value is expanded
and generates all its successors and n is placed to the closed list. The
algorithm continues unit a goal state is found.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Concept of Heuristic Search
 In AI there are some problems that are too complex solve by
to direct search techniques.
 Direct techniques (Blind search or Uninformed search)
like Breadth First Search and Depth First Search are not
always possible as they require too much time or memory.
 BFS and DFS are uninformed in that they did not take into
account
the goal.
trying They
to get do not
to unless usehappen
they any information
to about
stumble on a where they
are
goal. applied
 Weak techniques like heuristic search can be effective if
 correctly
A heuristiconisthe right kinds
a method that of tasks.
might not always find the best
solution but guarantees to find reasonable solution in
reasonable time

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Concept of Heuristic
Search Continue
 The basic idea of heuristic search is that, rather than trying all
possible search paths, you try and focus on paths that seem
to be getting you nearer your goal state.
 Of course, you generally can't be sure that you are really near
your goal state, but you might be able to have a good guess.
Heuristics are used to help us make that guess.
 To use heuristic search you need an evaluation function
(Heuristic function) that scores a node in the search
tree according to how close to the target/goal state it seems
to be.
 Basically heuristic function guides the search process in the
most profitable direction by suggesting which path to
follow first when more than one is available.
 The more accurately the heuristic function estimates the true
merits of each node in the search tree (or graph), the more direct
the solution process.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Concept of Heuristic

Search Continue
In the extreme, the heuristic function would be so good that
essentially no search would be required. The system would
move directly to a solution. But for many problems, the
cost of computing the value of such a function would outweigh
the effort saved in the search process.
 Hence heuristic is a technique, which sometimes will work, but
not always. Heuristics are the approximations used to
minimize the searching process.
 The heuristic function is a way to inform the search about the
direction to a goal. It provides an informed way to guess
which neighbour of a node will lead to a goal.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Best-first Search
In the informed search we will discuss two main algorithms which are given below:

Best First Search Algorithm(Greedy search) A* Search Algorithm

1) Best-first Search Algorithm (Greedy Search):

Greedy best-first search algorithm always selects the path which appears best at that moment. It is
the combination of depth-first search and breadth- first search algorithms. It uses the heuristic
function and search. Best-first search allows us to take the advantages of both algorithms. With the
help of best-first search, at each step, we can choose the most promising node. In the best first
search algorithm, we expand the node which is closest to the goal node and the closest cost is
estimated by heuristic function, i.e.
f(n)= g(n).

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Best-first Search
Where, h(n)= estimated cost from node n to the goal.
The greedy best first algorithm is implemented by the priority queue.

Best first search algorithm:

Step 1: Place the starting node into the OPEN list.


Step 2: If the OPEN list is empty, Stop and return failure.
Step 3: Remove the node n, from the OPEN list which has the lowest value
of h(n), and places it in the CLOSED list.
Step 4: Expand the node n, and generate the successors of node n.
Step 5: Check each successor of node n, and find whether any node is a goal
node or not. If any successor node is goal node, then return success and
terminate the search, else proceed to Step 6.
Step 6: For each successor node, algorithm checks for evaluation function
f(n), and then check if the node has been in either OPEN or CLOSED list. If
the node has not been in both list, then add it to the OPEN list.
Step 7: Return to Step 2.
Best-first Search
Advantages:
Best first search can switch between BFS and DFS by gaining the
advantages of both the algorithms.
This algorithm is more efficient than BFS and DFS algorithms.

Disadvantages:
It can behave as an unguided depth-first search in the worst case scenario.
It can get stuck in a loop as DFS.
This algorithm is not optimal.

Example:
Consider the below search problem, and we will traverse it using greedy
best-first search. At each iteration, each node is expanded using evaluation
function f(n)=h(n) , which is given in the below table.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Best-first Search

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
In this search example, we are using two lists which are OPEN and CLOSED Lists. Following
are the iteration for traversing the above example.
Best-first Search
Expand the nodes of S and put in the CLOSED list
Initialization: Open [A, B], Closed [S]
Iteration 1: Open [A], Closed [S, B]
Iteration 2: Open [E, F, A], Closed [S, B]
: Open [E, A], Closed [S, B, F]
Iteration 3: Open [I, G, E, A], Closed [S,
B, F]
: Open [I, E, A], Closed [S, B,
F, G]
Hence the final solution path will be:
S----> B----->F----> G
Time Complexity: The worst case time complexity of Greedy best first
search is O(bd).
Space Complexity: The worst case space complexity of Greedy best
first
search is O(bd). Where, m is the maximum depth of the search space.
Complete: Greedy best-first search is also incomplete, even if the given
state space is finite.
BFS search tree

Fig. A Best First


Search Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Generate and Test Algorithm
Generate and Test algorithm:
1. Generate a possible solution. For some problems, this means
generating a point in the problem space or generating a
path from the initial state
2. Test to see if this is the expected solution.
3. If the solution has been found quit else go to step 1.

There are two forms of generate and test algorithm


 Exhaustive generate-and-test: The most simplest way to
implement exhaustive generate and test algorithm is a
depth first search tree with backtracking.
 Heuristic generate-and-test: not consider paths that seem
unlikely to lead to a solution.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Generate and Test Algorithm
Advantages of generate and test algorithm
 It solves the problem with multiple solution
 It is acceptable for simple problems

Disadvantages of generate and test algorithm


 Inefficient for problems with large space
 There is no absolute assurance that algorithm will
find global optimum

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
A* Search
2) A* Search Algorithm:

A* search is the most commonly known form of best-first search. It uses


heuristic function h(n), and cost to reach the node n from the start state g(n).
It has combined features of UCS and greedy best-first search, by which it
solve the problem efficiently. A* search algorithm finds the shortest path
through the search space using the heuristic function. This search algorithm
expands less search tree and provides optimal result faster. A* algorithm is
similar to UCS except that it uses g(n)+h(n) instead of g(n).
In A* search algorithm, we use search heuristic as well as the cost to reach
the node. Hence we can combine both costs as following, and this sum is
called as a fitness number.

Mrs.Harsha Patil,Dr. D. Y. Patil ACS College, Pimpri Pune.


A* Search
Note-At each point in the search space, only those node is expanded which
have the lowest value of f(n), and the algorithm terminates when the goal
node is found.

Algorithm of A* search:
Step1: Place the starting node in the OPEN list.
Step 2: Check if the OPEN list is empty or not, if the list is empty then
return failure and stops.
Step 3: Select the node from the OPEN list which has the smallest value of
evaluation function (g+h), if node n is goal node then return success and
stop, otherwise
Step 4: Expand node n and generate all of its successors, and put n into the
closed list. For each successor n', check whether n' is already in the OPEN
or CLOSED list, if not then compute evaluation function for n' and place
into Open list.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
A*
Search
Step 5: Else if node n' is already in OPEN and CLOSED, then it should be
attached to the back pointer which reflects the lowest g(n') value.

Step 6: Return to Step 2.

Advantages:
A* search algorithm is
the best algorithm than
other search algorithms.
A* search algorithm is optimal and complete.
This algorithm can solve very complex problems.

Disadvantages:
It does not always produce the shortest path as it
mostly based on heuristics
and approximation.
A* search algorithm has some complexity issues. Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
The main drawback of A* is memory
A * Search
Example:
In this example, we will traverse the given graph using the A* algorithm.
The heuristic value of all states is given in the below table so we will
calculate the f(n) of each state using the formula f(n)= g(n) + h(n), where
g(n) is the cost to reach any node from start state.
Here we will use OPEN and CLOSED list.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
A* Search
Solution:
A * Search
Initialization: {(S, 5)}
Iteration1: {(S--> A, 4), (S-->G, 10)}
Iteration2: {(S--> A-->C, 4), (S--> A-->B, 7), (S-->G, 10)}
Iteration3: {(S--> A-->C--->G, 6), (S--> A-->C--->D, 11), (S--> A-->B,
7), (S-->G, 10)}
Iteration 4 will give the final result, as S--->A--->C--->G it provides the
optimal path with cost 6.

Points to remember:

 A* algorithm returns the path which occurred first, and it does not search
for all remaining paths.
 The efficiency of A* algorithm depends on the quality of heuristic.
 A* algorithm expands all nodes which satisfy the condition f(n)

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
A* Search
Complete: A* algorithm is complete as long as:
Branching factor is finite.
Cost at every action is fixed.
Optimal: A* search algorithm is optimal if it follows below two conditions:
 Admissible: the first condition requires for optimality is that h(n) should
be an admissible heuristic for A* tree search. An admissible heuristic is
optimistic in nature.
 Consistency: Second required condition is consistency for only A* graph-
search.
If the heuristic function is admissible, then A* tree search will always find
the least cost path.
Time Complexity: The time complexity of A* search algorithm depends on
heuristic function, and the number of nodes expanded is exponential to the
depth of solution d. So the time complexity is O(b^d), where b is the
branching factor.
Space Complexity: The space complexity of A* search algorithm
is O(b^d)
A* Algorithm Example
Node Heuristi
c Cost
A 223
B 222
C 166
D 192
E 166
F 136
G 122
H 111
I 100
J 60
K 32
L 102
Using A* Algorithm find least cost path form A to M 0
M
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
 Put initial
A* Algorithm Example
node i. e A in START list and calculate its f
value
F(A) =g(A)+h(A)
= 0+223=223

Therefore START =[A(223)]


 Remove the Bestnode form START i.e A which is not our goal
node and hence generate its Successor i.e B and C and
calculate their f value
F(A-B) =g(B)+h(B) f(A-C) =g(C)+h(C)
= 36+222= 258 =61+166=227
 Put these node in START list and sort the list
Therefore START list = [C(227),B(258)]
 Remove Bestnode from START i.e C which is not our
goal node and hence generate its successor i.e D, F and L
and calculate their f values

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
A* Algorithm Example
F(A-C-D)=g(D)+h(D) f(A-C-F)=g(F)+h(F)
=93+192=285 = 92+136=228
F(A-C-L)=g(L)+h(L)
=141+102=243
 Put these node in START list and sort the list
Therefore START list = [ F(228),L(243),B(258),D(285)]
 Remove Bestnode from START i.e F which is not our goal
node and hence generate its successor i.e J and K and
calculate their f values
F(A-C-F-J)=g(J)+h(J) f(A-C-F-K)=g(k)+h(k)
= 104+60=164 =204+32=236

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
A* Algorithm Example
 Put these node in START list and sort the list
Therefore START =[ J(164), K(236),L(243),B(258),D(285)]
 Remove Bestnode from START i.e J which is not our goal
node and hence generate its successor i.e K and I and
calculate its f values
F(A-C-F-J-K)=g(k)+h(k) F(A-C-F-J-I)= g(I)+h(I)
=140+32=172

=149+100=249
 Put these node in START list and sort the list
hence START = [ K(172),L(243),I(249),B(258),D(285)]
 Remove Bestnode from START i.e K which is not our goal
node and hence generate its successor i.e M and calculate
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
its f values Pune.
A* Algorithm Example
F(A-C-F-J-K-M) = g(m)+h(m)
=172+0=172
 Put these node in START list
and sort the list
Therefore START =
[ M(172),L(243),B(258),D(2
85)]
 Remove Bestnode from START i.e M which is our
goal node

 Hence least cost path from A to Mis


A-C-F-J-K-M with cost 172
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
AO*or AND-OR
Search
AO* Algorithm = (AND/OR),Problem Decomposition)

 AND-OR graphs are useful for certain problems where the solution
involves decomposing the problem into smaller problems. This is called
Problem Reduction.
 Here, alternatives involves branches where some or all must be satisfied
before we can progress.
 In case of A* algorithm, we use the open list to hold nodes that have been
generated but not expanded & the closed list to hold nodes that have been
expanded.
 It requires that nodes traversed in the tree be labelled as, SOLVED or
UNSOLVED in the solution process to account for AND node solutions
which requires solutions to all successor nodes.
A solution is found when the start node is labelled as SOLVED.
AO* is best algorithm for solving cyclic AND-OR graphs.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
AO*
Example:
Search
TV Set

Steal TV Earn Money Buy TV Set

AND

OR

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
AO*
Algorithm: Search
Step 1: Place the starting node into OPEN.
Step 2: Compute the most promising solution tree say T0.
Step 3: Select a node n that is both on OPEN and a member of T0. Remove
it from OPEN and place it in
CLOSE
Step 4: If n is the terminal goal node then leveled n as solved and leveled
all the ancestors of n as solved. If the starting node is marked as solved then
success and exit.
Step 5: If n is not a solvable node, then mark n as unsolvable. If starting
node is marked as unsolvable, then return failure and exit.
Step 6: Expand n. Find all its successors and find their h (n) value, push
them into OPEN.
Step 7: Return to Step 2.
Step 8: Exit.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
AO*Search
Advantages:

It is an optimal algorithm.


If traverse according to the ordering of nodes. It can be used for both OR
and AND graph.

Disadvantages:

Sometimes for unsolvable nodes, it can’t find the optimal path. Its
complexity is than other algorithms.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
AO*Search
AND-OR
Graphs
Following figure shows AND-OR
graph

Matrix multiplication of A1*A2*A3 can be represented by AND-


OR graph as
A1*A2*A3

OR

(A1*A2)*A3 AND AND A1*(A2*A3)

A1*A2 A3 A1 A2*A3

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
AND-OR AO*Search Graph
appropriately.
Continue
To find the solution in AND-OR graph it must handle AND area

1 1
1

In figure the top node A has been expanded producing two area one leading to B
and leading to C- . The numbers at each node represent heuristic cost (h at that
node (cost of getting to the goal state from current state). For simplicity, it is
assumed that every operation(i.e. applying a rule) has unit cost, i.e., each arc with
single successor will have a cost of 1 and each of its components. With the
available information till now , it appears that C is the most promising node to
expand since its h = 3 , the lowest but going through B would be better since to
use C we must also use D and the cost would be 9(3+4+1+1). Through B it
would be 6(5+1).

Thus the choice of the next node to expand depends not only on a value but also
on whether that node is part of the current best path form the initial node.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
AO*Search
AND-OR Graph
Continue

In figure the node G appears to be the most promising node, with


the least f ' value. But G is not on the current best path, since to use G
we must use GH with a cost of 9 and again this demands that arcs be
used (with a cost of 27). The path from A through B, E-F is better
with a total cost of (17+1=18).

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
AND-OR AO*Search
Graph
Thus we canContinue
see that to search an AND-OR graph, the following
three things must be done.
1. Traverse the graph starting at the initial node and following the
current best path, and accumulate the set of nodes that are
on the path and have not yet been expanded.

2. Pick one of these unexpanded nodes and expand it. Add


its successors to the graph and computer f (cost of the
remaining distance) for each of them.

3. Change the f estimate of the newly expanded node to reflect


the new information produced by its successors. Propagate this
change backward through the graph. Decide which of the
current best path.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Hill Climbing
3) Hill Climbing Algorithm:

1.Hill climbing algorithm is a local search algorithm which


continuously moves in the direction of increasing elevation/value to
find the peak of the mountain or best solution to the problem. It
terminates when it reaches a peak value where no neighbor has a higher
value.

2.Hill climbing algorithm is a technique which is used for optimizing


the mathematical problems. One of the widely discussed examples of
Hill climbing algorithm is Traveling-salesman Problem in which we
need to minimize the distance traveled by the salesman.

3.It is also called greedy local search as it only looks to its


good immediate neighbor state and not beyond that.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Hill Climbing
4. A node of hill climbing algorithm has two components which are
state and value.
5. Hill Climbing is mostly used when a good heuristic is available.
6. In this algorithm, we don't need to maintain and handle the search
tree or graph as it only keeps a single current state.

Features of Hill Climbing:

Generate and Test variant: Hill Climbing is the variant of


Generate and Test method. The Generate and Test method produce
feedback which helps to decide which direction to move in the search
space.
Greedy approach: Hill-climbing algorithm search moves in
the direction which optimizes the cost.
No backtracking: It does not backtrack the search space, as it does
not remember the previous states.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Hill Climbing
Types of Hill Climbing Algorithm:
1. Simple hill Climbing:
2. Steepest-Ascent hill-climbing:
3. Stochastic hill Climbing:

1. Simple Hill Climbing:

Simple hill climbing is the simplest way to implement a hill


climbing algorithm. It only evaluates the neighbor node state at a
time and selects the first one which optimizes current cost and
set it as a current state. It only checks it's one successor state, and
if it finds better than the current state, then move else be in the same
state. This algorithm has the following features:
1. Less time consuming
2. Less optimal solution and the solution is not guaranteed
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Hill Climbing
Algorithm for Simple Hill Climbing:

Step 1: Evaluate the initial state, if it is goal state then return success and
Stop.
Step 2: Loop Until a solution is found or there is no new operator left to
apply.
Step 3: Select and apply an operator to the current state.
Step 4: Check new state:
a. If it is goal state, then return success and quit.
b.Else if it is better than the current state then assign new state
as a current state.
c. Else if not better than the current state, then return to step2.
Step 5: Exit.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Hill Climbing
2. Steepest-Ascent hill climbing:

The steepest-Ascent algorithm is a variation of simple hill climbing


algorithm. This algorithm examines all the neighboring nodes of the
current state and selects one neighbor node which is closest to the
goal state. This algorithm consumes more time as it searches for
multiple neighbors

Algorithm for Steepest-Ascent hill climbing:

Step 1: Evaluate the initial state, if it is goal state then return


success and stop, else make current state as initial state.
Step 2: Loop until a solution is found or the current state does
not change

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Hill Climbing
Step 3:Let SUCC be a state such that any successor of the current
state will be better than it.
Step 4: For each operator that applies to the current state:
a. Apply the new operator and generate a new state.
b. Evaluate the new state.
c. If it is goal state, then return it and quit, else compare it to the
SUCC.
d. If it is better than SUCC, then set new state as SUCC.
e.If the SUCC is better than the current state, then set current state
to SUCC.
Step 5: Exit.

3. Stochastic hill climbing:

Stochastic hill climbing does not examine for all its neighbor before moving.
Rather, this search algorithm selects one neighbor node at random and
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
decides whether to choose it as a current state or
Pune.examine another state.
Hill Climbing
Problems in Hill Climbing Algorithm:

1. Local Maximum: A local maximum is a peak state in the landscape


which is better than each of its neighboring states, but there is another state
also present which is higher than the local maximum.
Solution: Backtracking technique can be a solution of the local maximum
in state space landscape. Create a list of the promising path so that the
algorithm can backtrack the search space and explore other paths as well.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Hill Climbing
2. Plateau: A plateau is the flat area of the search space in which all the
neighbor states of the current state contains the same value, because of this
algorithm does not find any best direction to move. A hill-climbing search
might be lost in the plateau area.
Solution: The solution for the plateau is to take big steps or very little steps
while searching, to solve the problem. Randomly select a state which is far
away from the current state so it is possible that the algorithm could find
non-plateau region.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Hill Climbing
3. Ridges: A ridge is a special form of the local maximum. It has an area
which is higher than its surrounding areas, but itself has a slope, and cannot
be reached in a single move.
Solution: With the use of bidirectional search, or by moving in different
directions, we can improve this problem.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Hill Climbing
Simulated Annealing:

A hill-climbing algorithm which never makes a move towards a lower


value guaranteed to be incomplete because it can get stuck on a local
maximum. And if algorithm applies a random walk, by moving a successor,
then it may complete but not efficient. Simulated Annealing is an
algorithm which yields both efficiency and completeness.

In mechanical term Annealing is a process of hardening a metal or glass to


a high temperature then cooling gradually, so this allows the metal to reach
a low-energy crystalline state. The same process is used in simulated
annealing in which the algorithm picks a random move, instead of picking
the best move. If the random move improves the state, then it follows the
same path. Otherwise, the algorithm follows the path which has a
probability of less than 1 or it moves downhill and chooses another path.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Search tree for 8 Puzzle
problem
Here a heuristic function is
used which return number
1 2 3 The “best” move is the one with
the lowest number returned by the
of tiles in the incorrect 7 8 4
position heuristic function
6 5

1 2 3 1 2 3 1 2 3
H=4 7 8 4 7 8 4 7 4
H=2 H=3
6 5 6 5 6 8 5

1 2 3 1 2 3 1 2 3
7 8 H=1 8 4 7 8 4 H=3
H=5
6 5 4 7 6 5 6 5

2 3 1 2 3
Search tree for 8
1 8 4 H=0 8 4
H=2 puzzle problem by hill
7 6 5 Goal State 7 6 5 climbing procedure
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Tower of Hanoi Problem
Problem Statement:

The Tower of Hanoi is a mathematical game or puzzle.It consist of


three rods and a no. Of disks of different sizes, which can slide onto
any rod. The puzzle start with the disks in a stack in ascending order of
size on one rod, the smallest at the top,thus making a conical shape.
The objectives of the puzzel is to move the entire stack into another
rod, using following simple constraint.

1. Only one disk can be moved at a time.


2. Each move consist of taking the upper disk from one of the stacks
and placing it on top of another stack or on an empty rod.
3. No larger disk may be placed on top of a smaller disk.
The minimal no of moves required to solve these
problem. Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Tower of Hanoi Problem
Solution:

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Tower of Hanoi Problem
1. Disk 1 moved from R1 to R3
2. Disk 2 moved from R1 to R2
3. Disk 1 moved from R3 to R2
4. Disk 3 moved from R1 to R3
5. Disk 1 moved from R2 to R1
6. Disk 2 moved from R2 to R3
7. Disk 1 moved from R1 to R3
The state is represented as a tuple , (rod no, Sequence of
disks)
->{(R1,1,2,3),(R2,Nil),(R3,Nil}Initial State
->{(R1,2,3),(R2,NIL)(R3,1)}
->{(R1,3),(R2,2),(R3,1)}
->{(R1,3),(R2,1,2),(R3,NIL)}
->{(R1,NIL),(R2,1,2),(R3,3)}
->{(R1,1),(R2,NIL),(R3,2,3)}
->{(R1,NIL),(R2,NIL),(R3,1,2,3)}Goal State
Total No of moves are 6. Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Means-Ends Analysis
Mean-Ends Analysis :

 We have studied the strategies which can reason either in forward or


backward, but a mixture of the two directions is appropriate for solving a
complex and large problem. Such a mixed strategy, make it possible that
first to solve the major part of a problem and then go back and solve the
small problems arise during combining the big parts of the problem. Such a
technique is called Means-Ends Analysis.
 Means-Ends Analysis is problem-solving techniques used in Artificial
intelligence for limiting search in AI programs.
It is a mixture of Backward and forward search technique.
 The MEA technique was first introduced in 1961 by Allen Newell, and
Herbert A. Simon in their problem-solving computer program, which was
named as General Problem Solver (GPS).
The MEA analysis process centered on the evaluation of the difference
between the current state and goal state.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Means-Ends Analysis
How means-ends analysis Works:

The means-ends analysis process can be applied recursively for a problem.


It is a strategy to control search in problem-solving. Following are the main
Steps which describes the working of MEA technique for solving a
problem.

 First, evaluate the difference between Initial State and final State.
 Select the various operators which can be applied for each difference.
 Apply the operator at each difference, which reduces the difference
between the current state and goal state.

Algorithm for Means-Ends Analysis:


Let's we take Current state as CURRENT and Goal State as GOAL, then
following are the steps for the MEA algorithm.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Means-Ends Analysis
Step 1: Compare CURRENT to GOAL, if there are no differences between
both then return Success and Exit.
Step 2: Else, select the most significant difference and reduce it by doing
the following steps until the success or failure occurs.
Select a new operator O which is applicable for the current difference,
and if there is no such operator, then signal failure.
Attempt to apply operator O to CURRENT. Make a description of two
states.
i) O-Start, a state in which O?s preconditions are satisfied.
ii) O-Result, the state that would result if O were applied In O-start.
If
(First-Part <------ MEA (CURRENT, O-START)
And
(LAST-Part <----- MEA (O-Result, GOAL), are successful, then
signal Success and return the result of combining FIRST-PART, O, and
LAST-PART.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Means-Ends Analysis
Example of Mean-Ends Analysis:
Let's take an example where we know the initial state and goal state as
given below. In this problem, we need to get the goal state by finding
differences between the initial state and goal state and applying operators.

Solution:
To solve the above problem, we will first find the differences between initial
states and goal states, and for each difference, we will generate a new state
and will apply the operators. The operators we have for this problem are:
Move
Delete
Expand
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Means-Ends Analysis
1. Evaluating the initial state: In the first step, we will evaluate the initial state and
will compare the initial and Goal state to find the differences between both states.

2. Applying Delete operator: As we can check the first difference is that in goal state
there is no dot symbol which is present in the initial state, so, first we will apply the
Delete operator to remove this dot.

3. Applying Move Operator: After applying the Delete operator, the new state occurs
which we will again compare with goal state. After comparing these states, there is
another difference that is the square is outside the circle, so, we will apply the
Move Operator.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Means-Ends Analysis

4. Applying Expand Operator: Now a new state is generated in the third step, and we will
compare this state with the goal state. After comparing the states there is still one difference
which is the size of the square, so, we will apply Expand operator, and finally, it will
generate the goal state.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Example of MEA
Problem Definition:
consider a household robot whose task is to move a desk with
two objects upon it from one room to another. The desk can only be
moved if clear and the two objects must be placed upon the desk
when it is in the other room. Following operators are available
Operator Preconditions Result
PUSH(obj,loc) At(robot,obj)^large(obj)^ at(obj, loc)^at(robot, loc)
clear(obj)^armempty
CARRY(obj, loc) At(robot,obj)^small(obj) at(obj, loc)^at(robot, loc)
WALK(loc) None At(robot,loc)
PICKUP(obj) At(robot,obj)^small(obj) Holding(obj)
PUTDOWN(obj) Holding(obj) !(holding obj)
PLACE(obj1,obj2) At(robot,obj1)^holding(obj2) On(obj1,obj2)

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Example of
Solution:
MEA
Let R1 and R2 Represent Room1 and Romm2 respectively
A, B represent small objects Object 1 and Object 2
respectively
D represent large object Desk

START
1 2 3 4 5 6 7
WALK(R1) PICKUP(A) PUTDOWN(A) PICKUP(B) PUTDOWN(B) PUSH(D,R2) WALK (R1)

8 9 10 11 12 13 14
PICKUP(A) CARRY(A,R2) PUTDOWN(A) WALK(R1) PICKUP(B) CARRY (B,R2) PLACE(A,B )
GOAL

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Constraint Satisfaction
Problem
Constraint Satisfaction Problem:
 Constraint satisfaction is a problem solving technique. It is a finite choice
decision problem, where one is given a fixed set of decisions to make. Each
decision involved choosing among a fixed set of options.
 Each constraint restrict the combination of choices that can be taken
simultaniously. The task is to make all decisions such that all the constraints
are satisfied. Many real life problems can be solved by CSP. E.g.
timetabling, planning.
Following are the CSP’s:
1. Cryptarithmatic problem.
2. The N-Queen problem.
3. A Crossword problem.
4. A map colouring problem.
5. Latin Square problem.
6.8-queen puzzle problem.
7.Sudoku problem.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Cryptarithmetic Problem
A Crypt arithmetic is a mathematical puzzle in which the digits
are replaced by alphabet.

Consider an arithmetic problem represented in alphabets. Assign a


digit to each of the alphabet in a such way that the answer to the
problem is correct. If the same alphabet occurs more than once, it
must be assigned the same digit each time. No two different
alphabets may be assigned the same digit.

Eg.

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Cryptarithmatic Problem
 Since the result is one digit more than the numbers, it is quite
obvious that there is a carry over and therefore M must be
equal to 1. Hence M=1.
 Now S+M=O, as M=1 S can not be less than or equal to 8
as there is carry over next level. Therefore S=9 and hence
O=0
 E+O=N i.e E+0=N is not possible as E !=N, Therefore it
should be 1+E+0=N where 1 is carry from
N+E=R. Hence E=N-1
 Now for N+R=E ,the possible cases are,
N + R = 10 + E - - - (1) or
1 + N + R = 10 + E - - - (2)
Substituting E = N -1 in the first equation, N + R = 10 + N -
1, we get R = 9 which is not possible as S=9.
Substituting E = N - 1 in the second equation,
1 + N + R = 10 + N - 1, we get R = 8. Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Cryptarithmatic Problem
 Now E=N-1 means that N and E are consecutive numbers
and N is larger
 Taking (N,E)=(6,5) satisfies the condition of 1+N+R=10+E
and 1+E+0=N
 Now Hence N=6 andAs
D+E=10+Y E=5E=5, D must be greater than 5
Therefore D=7 as 6,8,9 are already assigned to N,R,S
resp. Y=D+E-10
=7+5-10 Therefore Y=2. Hence the result
is

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Cryptarithmatic Problem
Q.) Solve the following crypt arithmetic
problem

Solution:
 From first row of multiplication it is clear that B=1
as JE*B=JE
 As in the multiplication, second row should start from 0
at tenth's place. So A = 0.
 Now in the hundred's place, J + Something = 10.
When you add something to the single digit number that
results in
10. So J = 9.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Cryptarithmatic Problem
Now J+E=10+D i.e 9+E=10+D . Here E can not be 0,1
as these digits are assigned to A and Bresp.
Assume E=2 which gives 9+2=11 means D=1 which is
not possible therefore E can not be 2
Assume E=3 which gives 9+3=12 hence D=2
Hence the solution is

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Cryptarithmatic Problem
Q.) Solve the following crypt arithmetic
problem

Solution:
From the first row of multiplication, H =1 is clear, As HE x H =
HE.
Now, H+A=M i.e 1+A=10+M as there is carry over next level
Therefore A=9 ,M=0 and N=2
Now, HE*E=HHA i.e 1E*E=119 so by trial and error we get E=7

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
N- Queen Problem
Problem Definition:
This problem consists of n queens which are to be arranged on n*n
chess board such that, no two queen can attack each other

Q. Give state space representation of n queen problem

Initial state: Initially the board is empty

Goal State: All queen should be arranged in a manner such that


no two queens should attack each other

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
N- Queen Problem
Solution of n queen problem:
* *
*
*

* *
* *
*
*

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
8 Puzzle Problem
1 2 3
7 8 4
6 5

1 2 3 1 2 3 1 2 3
7 8 4 7 8 4 7 4
6 5 6 5 6 8 5

Which move is Best?


A Simple 8-puzzle heuristic
 Number of tiles in the correct position.
 The higher the number the better.
 Easy to compute (fast and takes little
memory).
 Probably the simplest possible heuristic.
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
8 Puzzle Problem
Problem Definition:
In 8 puzzle problem there are 9 squares arranged in 3*3 matrix
format. Out of the 9 squares, 8 squares contain the values from
1-8 and one square is empty. We can slide the numbers in
empty square from left, right, top, bottom of empty square.
Initially the numbers are arranged in random order and we
have to arrange them as

1 2 3
8 4
7 6 5

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
8 Puzzle Problem
Sate space representation for 8 puzzle problem:
Initial state: Initially the numbers are placed in random order

2 8 3
1 6 4
7 5

Goal State: We have to place the numbers is following order

1 2 3
8 4
7 6 5

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
8 Puzzle Problem
2 8 3 2 3
1 6 4 1 8 4
7 5 7 6 5

2 8 3 1 2 3
1 4 8 4
7 6 5 7 6 5

2 3 1 2 3
1 8 4 8 4
7 6 5 7 6 5

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
BFS Tree for 8 Puzzle Problem

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Map or GraphColoring
Constraint Satisfaction
Problem
cont.
Map coloring problem
Problem Definition: Consider a following map of a state which you
have to color with Red, Green and Blue color such that no
adjacent city have the same color.

Solution:
Set of variables Xi=[Pune, Mumbai, Nasik, Jalgaon, Nagpur] Set
of
domain Di=[Red, Green, Blue] for each xi
Constraint: No adjacent city have the same color
Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri
Pune.
Map or GraphColoring
Problem
City/ Operation Pune Nasik Mumbai Nagpur Jalgaon
Initial Domain RGB RGB RGB RGB RGB
Assign Red to Pune R GB GB RGB RGB
Assign Green to Nasik R G B RG RG
Assign Red to Nagpur R G B R G
Assign Green to R G B R G
Jalgaon

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.
Thank You

Mrs.Harsha Patil, Dr. D. Y. Patil ACS College, Pimpri


Pune.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy