0% found this document useful (0 votes)
20 views66 pages

CHAPTER 5 AI

Uploaded by

gosatilahun2017
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)
20 views66 pages

CHAPTER 5 AI

Uploaded by

gosatilahun2017
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/ 66

CHAPTER FIVE

P R O B L E M S O LV I N G A N D S E A R C H I N G
S T R AT E G I ES I N A RT I F I C I A L
I N T E L L I G EN C E
Outline

 Solving Problems by Searching and planning


 Constraint Satisfaction Problem
 Problem Solving Agents
 Problem spaces and search
 Knowledge and rationality
 Heuristic search strategies
 Search and optimization (gradient descent)
 Adversarial search
 Planning and scheduling
 Avoiding Repeated States
Introduction

 Problem-solving is commonly known as the method to reach the

desired goal or finding a solution to a given situation.


 It refers to artificial intelligence techniques, including various

techniques such as forming efficient algorithms, heuristics, and


performing root cause analysis to find desirable solutions.
 In Artificial Intelligence, the users can solve the problem by

performing logical algorithms, utilizing polynomial and differential


equations, and executing them using modeling paradigms.
 There can be various solutions to a single problem, which are

achieved by different heuristics.


 Also, some problems have unique solutions.
Problem-solving in Artificial Intelligence

 The reflex agents are known as the simplest agents because

they directly map states into actions.


 Unfortunately, these agents fail to operate in an environment

where the mapping is too large to store and learn.


 Goal-based agent, on the other hand, considers future

actions and the desired outcomes.


 Here, we will discuss one type of goal-based agent known as

a problem-solving agent, which uses atomic representation


with no internal states visible to the problem-solving
algorithms.
What is Problem-solving agent?

 Problems are the issues which comes across any system.

 A solution is needed to solve that particular problem.

 The problem-solving agent performs precisely by defining problems and

its several solutions.


 According to psychology, “a problem-solving refers to a state where we

wish to reach to a definite goal from a present state or condition.”


 According to computer science, a problem-solving is a part of artificial

intelligence which encompasses a number of techniques such as


algorithms, heuristics to solve a problem.
Cont…
 Therefore, a problem-solving agent is a goal-driven
agent and focuses on satisfying the goal.
Steps performed by Problem-solving agent
 Goal Formulation: It is the first and simplest step in

problem-solving.
 It organizes the steps/sequence required to formulate
one goal out of multiple goals as well as actions to
achieve that goal.
 Goal formulation is based on the current situation and
the agent’s performance measure

 Problem Formulation: It is the most important step

of problem-solving which decides what actions should


be taken to achieve the formulated goal.
Components involved in problem formulation:

 Initial State: It is the starting state or initial step of the agent towards its

goal.

 Actions: It is the description of the possible actions available to the agent.

 Transition Model: It describes what each action does.

 Goal Test: It determines if the given state is a goal state.

 Path cost: It assigns a numeric cost to each path that follows the goal.

 Remember, an optimal solution has the lowest path cost among all

the solutions.

 Note: Initial state, actions, and transition model together define

the state-space of the problem implicitly.


Examples of Problems in Artificial Intelligence:

 Travelling Salesman Problem


 Tower of Hanoi Problem
 Water-Jug Problem
 N-Queen Problem
 Chess
 Sudoku
 Crypt-arithmetic Problems
 Magic Squares
 Logical Puzzles and so on.
Measuring problem-solving performance

 Before discussing different search strategies, the performance

measure of an algorithm should be measured.


 Consequently, There are four ways to measure the performance of

an algorithm:
 Completeness: It measures if the algorithm guarantees to find a
solution (if any solution exist).
 Optimality: It measures if the strategy searches for an optimal solution.

 Time Complexity: The time taken by the algorithm to find a solution.


 Space Complexity: Amount of memory required to perform a search.
Cont….

Basically, there are two types of problem approaches:


 Toy Problem: It is a concise and exact description of the

problem which is used by the researchers to compare the


performance of algorithms.
Example:8-puzzle and 8-Queens problem
 Real-world Problem: It is real-world based problems

which require solutions.


 Unlike a toy problem, it does not depend on descriptions, but we can
have a general formulation of the problem.
 E.g Travel salesman problem, VLSI layout problem
Search Strategies

 Artificial Intelligence is the study of building agents

that act rationally.


 Most of the time, these agents perform some kind of

search algorithm in the background in order to achieve


their tasks.
 The Solution to a search problem is a sequence of

actions, called the plan that transforms the start state to


the goal state.
 This plan is achieved through search algorithms.
Search Algorithm Terminologies:

 Searching is a process to find the solution for a given set of

problems
 Searching is 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 where agent begins the
search.
 Goal test: It is a function which observe the current state
and returns whether the goal state is achieved or not.
Terminology
 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.
Properties of Search Algorithms:

 Following are the four essential properties of search algorithms to

compare the efficiency of these 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 Strategies:

 Based on the search problems we can classify the search

algorithms into
 Uninformed (Blind search) search and
 Informed search (Heuristic search) algorithms
Uninformed Search (Blind Search)

 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.


Cont…

It can be divided into the following main types:


 Breadth-first search
 Uniform cost search
 Depth-first search
 Iterative deepening depth-first search
 Bidirectional 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.
Example:
Cont…

 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.
 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
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.

Note: Backtracking is an algorithm technique for finding all


possible solutions using recursion.
Example

 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.
Cont…

 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).


 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.


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.
 It defines no solution for the problem within a given depth limit.
 Advantages:
 Depth-limited search is Memory efficient.
 Disadvantages:
 Depth-limited search also has a disadvantage of
incompleteness.
 It may not be optimal if the problem has more than one
solution.
Example:
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.
Cont…

 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
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.


Cont…

 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:
Cont…

 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.
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,
Cont..

 Advantages:

 Bidirectional search is fast.

 Bidirectional search requires less memory

 Disadvantages:

 Implementation of the bidirectional search tree is

difficult.
 In bidirectional search, one should know the goal state in

advance.
Example

 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.
Cont….

 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.


Informed Search Algorithms
Introduction ….

 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.
Cont…

 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).
 Were, 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.
Cont…

 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.
Cont…

 In this search example, we are using two lists which are


OPEN and CLOSED Lists.
 Following are the iteration for traversing the above example.
Cont…

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


Cont…

 Time Complexity: The worst case time complexity of Greedy

best first search is O(bm).

 Space Complexity: The worst case space complexity of

Greedy best first search is O(bm). 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.

 Optimal: Greedy best first search algorithm is not optimal.


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).
Cont…

 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.

 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.
 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.
Cont…
 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.

 The main drawback of A* is memory requirement as it keeps all

generated nodes in the memory, so it is not practical for various


large-scale problems.
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.
Solution:
 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.
Cont…
 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)
Adversarial Search

 Adversarial search is a search, where we examine the

problem which arises when we try to plan ahead of the world


and other agents are planning against us.
 Searches in which two or more players with conflicting goals

are trying to explore the same search space for the solution,
are called adversarial searches, often known as Games.
 Games are modeled as a Search problem and heuristic

evaluation function, and these are the two main factors which
help to model and solve games in AI.
Types of Games in AI:
Cont….
 Perfect information: A game with the perfect information is that in which agents can

look into the complete board. Agents have all the information about the game, and they

can see each other moves also. Examples are Chess, Checkers, Go, etc.

 Imperfect information: If in a game agents do not have all information about the

game and not aware with what's going on, such type of games are called the game with

imperfect information, such as tic-tac-toe, Battleship, blind, Bridge, etc.

 Deterministic games: Deterministic games are those games which follow a strict

pattern and set of rules for the games, and there is no randomness associated with

them. Examples are chess, Checkers, Go, tic-tac-toe, etc.

 Non-deterministic games: Non-deterministic are those games which have various

unpredictable events and has a factor of chance or luck. This factor of chance or luck is

introduced by either dice or cards. These are random, and each action response is not

fixed. Such games are also called as stochastic games.

Example: Backgammon, Monopoly, Poker, etc.


Zero-Sum Game

 Zero-sum games are adversarial search which involves pure

competition.
 In Zero-sum game each agent's gain or loss of utility is exactly

balanced by the losses or gains of utility of another agent.


 One player of the game try to maximize one single value, while

other player tries to minimize it.


 Each move by one player in the game is called as ply.

 Chess and tic-tac-toe are examples of a Zero-sum game.


Zero-sum game: Embedded thinking

 The Zero-sum game involved embedded thinking in which

one agent or player is trying to figure out:


 What to do.

 How to decide the move

 Needs to think about his opponent as well

 The opponent also thinks what to do

 Each of the players is trying to find out the response of his

opponent to their actions.


 This requires embedded thinking or backward reasoning to

solve the game problems in AI.


Formalization of the problem:

 A game is a type of AI search that can be structured into the following elements:

 Initial state:This specifies how the game is set up at the beginning.

 Player (s): indicates which player(s) has moved in the state space.

 Action(s): It returns the set of allowed moves in state space as an action.

 Result(s, a): The transition model defines the outcome of moves in the state space.

 Terminal-Test(s): If the game is over, the terminal test is true; otherwise, it is false.

Terminal states are the states in which the game comes to a finish.

 Utility(s, p): The final numeric value for a game that finishes in terminal states s for

player p is returned by a utility function. It's also known as the payout function.

 Chess has three possible outcomes: win, defeat, or draw, with payoff values of +1, 0,

and 12. In addition, tic-tac-toe, utility values are +1, -1, and 0.
Game tree:

 A game tree is a tree in which the nodes represent game

states and the edges represent player moves.


 Initial state, actions function, and result function are all part of the

game tree.
Example: Tic-Tac-Toe game tree:
 The following are some of the game's most important
features of Tic-Tac-Toe game tree.
 There are two players MAX and MIN.
 Players have an alternate turn and start with MAX.
 MAX maximizes the result of the game tree
 MIN minimizes the result.
Cont…
Example Explanation of Game tree:

 MAX has 9 possible moves from the start because he is the first
player. Both players alternately place x and o until we reach a leaf
node where one player has three in a row or all squares are filled.
 Both players will compute the best possible utility versus an
optimum adversary for each node, called the minimax value.
 Assume that both players are well-versed in tic-tac-toe and are
playing their best game. Each player is trying everything he can to
keep the other from winning. In the game, MIN is working against
Max.
 So, in the game tree, we have a Max layer, a MIN layer, and each
layer is referred to as Ply. The game proceeds to the terminal
node, with Max placing x and MIN placing o to prevent Max from
winning.
 Either MIN or MAX wins, or the game ends in a tie. This game-
tree represents the whole search space of possibilities in which
MIN and MAX alternately play tic-tac-toe.
Cont…

 As a result, the adversarial Search for the Minimax

technique is:
 It is designed to determine the best strategy for MAX to

win the game.


 It employs a depth-first search strategy.

 The ideal leaf node in the game tree could appear at any

level of the tree.


 Minimax values should be propagated up the tree until

the terminal node is found.


Cont…

 The optimal strategy in a particular game tree can be


determined by looking at the minimax value of each node,
which can be expressed as MINIMAX (n).
 MAX prefers to move to a maximum value state, while MIN
prefers to move to a minimum value state, so:
Reading assignment

 Planning and scheduling


 Avoiding Repeated States
 Dynamic game theory

You might also like