0% found this document useful (0 votes)
34 views

Practical # 4

This document discusses informed search algorithms including A* search. It provides examples of running A* search on a Romania map to find the shortest path from Arad to Bucharest. Key steps include initializing the starting node Arad, expanding nodes and calculating f(n) values, and recursively expanding the node with the lowest f(n) until the goal of Bucharest is reached. The heuristic used is straight-line distance from each city to the goal, which is admissible. Students are assigned to implement A* search on their own map data and submit it by the deadline.

Uploaded by

yumna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Practical # 4

This document discusses informed search algorithms including A* search. It provides examples of running A* search on a Romania map to find the shortest path from Arad to Bucharest. Key steps include initializing the starting node Arad, expanding nodes and calculating f(n) values, and recursively expanding the node with the lowest f(n) until the goal of Bucharest is reached. The heuristic used is straight-line distance from each city to the goal, which is admissible. Students are assigned to implement A* search on their own map data and submit it by the deadline.

Uploaded by

yumna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

PRACTICAL # 4

TO BECOME FAMILIAR WITH INFORMED SEARCHED


ALGORITHMS

EMAN SHAHID
INFORMED SEARCH STRATEGIES

(Heuristic Search)
• Best-first search
• Greedy Search
• Beam search
• Algorithm A
• Algorithm A*
• Hill climbing
A HEURISTIC FUNCTION

• [dictionary]“A rule of thumb, simplification, or educated guess that reduces or


limits the search for solutions in domains that are difficult and poorly
understood.”
• h(n) = estimated cost of the cheapest path from node n to goal node.
• If n is goal then h(n)=0

More information later.

3
A* SEARCH

• Best-known form of best-first search.


• Idea: avoid expanding paths that are already expensive.
• Evaluation function f(n)=g(n) + h(n)
• g(n) the cost (so far) to reach the node.
• h(n) estimated cost to get from the node to the goal.
• f(n) estimated total cost of path through n to goal.

4
A* SEARCH

• A* search uses an admissible heuristic


• A heuristic is admissible if it never overestimates the cost to reach the goal
• It is optimistic

Formally:
1. h(n) <= h*(n) where h*(n) is the true cost from n
2. h(n) >= 0 so h(G)>= 0 for any goal G.

e.g. hSLD(n) never overestimates the actual road distance

5
ROMANIA WITH STEP COSTS IN KM
• hSLD=straight-line distance.
• hSLD can NOT be computed
from the problem
description itself

6
In this example f(n)=h(n)
Expand node that is closest to goal
ROMANIA EXAMPLE

7
A* SEARCH EXAMPLE

• Find Bucharest starting at Arad


• f(Arad) = g(??,Arad)+h(Arad)=0+366=366

8
A* SEARCH EXAMPLE

• Expand Arrad and determine f(n) for each node


• f(Sibiu)=g(Arad,Sibiu)+h(Sibiu)=140+253=393
• f(Timisoara)=g(Arad,Timisoara)+h(Timisoara)=118+329=447
• f(Zerind)=g(Arad,Zerind)+h(Zerind)=75+374=449
• Best choice is Sibiu 9
A* SEARCH EXAMPLE

• Expand Sibiu and determine f(n) for each node


• f(Arad)=g(Sibiu,Arad)+h(Arad)=280+366=646
• f(Fagaras)=g(Sibiu,Fagaras)+h(Fagaras)=339+176=415
• f(Oradea)=g(Sibiu,Oradea)+h(Oradea)=291+380=671
• f(Rimnicu Vilcea)=g(Sibiu,Rimnicu Vilcea)+
h(Rimnicu Vilcea)=220+192=413
• Best choice is Rimnicu Vilcea
10
A* SEARCH EXAMPLE

• Expand Rimnicu Vilcea and determine f(n) for each node


• f(Craiova)=c(Rimnicu Vilcea, Craiova)+h(Craiova)=360+160=526
• f(Pitesti)=c(Rimnicu Vilcea, Pitesti)+h(Pitesti)=317+100=417
• f(Sibiu)=c(Rimnicu Vilcea,Sibiu)+h(Sibiu)=300+253=553
• Best choice is Fagaras
11
A* SEARCH EXAMPLE

• Expand Fagaras and determine f(n) for each node


• f(Sibiu)=c(Fagaras, Sibiu)+h(Sibiu)=338+253=591
• f(Bucharest)=c(Fagaras,Bucharest)+h(Bucharest)=450+0=450
• Best choice is Pitesti !!!

12
A* SEARCH EXAMPLE

• Expand Pitesti and determine f(n) for each node


• f(Bucharest)=c(Pitesti,Bucharest)+h(Bucharest)=418+0=418

• Best choice is Bucharest !!!


• Optimal solution (only if h(n) is admissable)
• Note values along optimal path !!

13
• The heuristics that we are using here is the straight-line distance from the
city to the goal(Here, Bucharest). Note that, this straight line distance is
obtained only by knowing the map coordinates of the 2 cities.
• Input
• Input is taken from the file
• Graph.txt
• Each line in the input is of the form
• city1 city2 dis
• Heuristic
• city dis
GRAPH.TXT
HEURISTIC.TXT
NETWORK GRAPH
OUTPUT
LAB TASKS

Note: this code will be execute on python version 2.7


• Execute the code for A* provided in the handouts.
• Execute the A* algorithm on any map of your own choice.
Deadline: 1st week after vacations

You might also like