CS344: Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture– 4, 5, 6: A* properties 9 th,10 th and 12 th January,

Slides:



Advertisements
Similar presentations
Solving Problem by Searching
Advertisements

1 Heuristic Search Chapter 4. 2 Outline Heuristic function Greedy Best-first search Admissible heuristic and A* Properties of A* Algorithm IDA*
CS344 : Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 15, 16, 17- Completeness Proof; Self References and.
CS621 : Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 12- Completeness Proof; Self References and Paradoxes 16 th August,
Introduction to Artificial Intelligence A* Search Ruth Bergman Fall 2002.
Artificial Intelligence
Lecture 3 Informed Search CSE 573 Artificial Intelligence I Henry Kautz Fall 2001.
Problem Solving and Search in AI Heuristic Search
CS344: Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture–2,3: A* 3 rd and 5 th January, 2012.
CSC344: AI for Games Lecture 4: Informed search
Class of 28 th August. Announcements Lisp assignment deadline extended (will take it until 6 th September (Thursday). In class. Rao away on 11 th and.
Informed Search Idea: be smart about what paths to try.
CS344 : Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 1 - Introduction.
Vilalta&Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
CS344: Introduction to Artificial Intelligence (associated lab: CS386) Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 5: Monotonicity 13 th Jan, 2011.
Informed search algorithms
CS 344 Artificial Intelligence By Prof: Pushpak Bhattacharya Class on 15/Jan/2007.
Informed search algorithms Chapter 4. Outline Best-first search Greedy best-first search A * search Heuristics.
1 Shanghai Jiao Tong University Informed Search and Exploration.
Informed search algorithms Chapter 4. Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most.
Informed search strategies Idea: give the algorithm “hints” about the desirability of different states – Use an evaluation function to rank nodes and select.
Informed searching. Informed search Blind search algorithms do not consider any information about the states and the goals Often there is extra knowledge.
CS621 : Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 12- Completeness Proof; Self References and Paradoxes 16 th August,
CS344: Introduction to Artificial Intelligence (associated lab: CS386)
Review: Tree search Initialize the frontier using the starting state While the frontier is not empty – Choose a frontier node to expand according to search.
Heuristic Search Andrea Danyluk September 16, 2013.
CSC3203: AI for Games Informed search (1) Patrick Olivier
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 3 - Search.
CS 312: Algorithm Design & Analysis Lecture #37: A* (cont.); Admissible Heuristics Credit: adapted from slides by Stuart Russell of UC Berkeley. This work.
Informed Search and Heuristics Chapter 3.5~7. Outline Best-first search Greedy best-first search A * search Heuristics.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 5: Power of Heuristic; non- conventional search.
Feng Zhiyong Tianjin University Fall  Best-first search  Greedy best-first search  A * search  Heuristics  Local search algorithms  Hill-climbing.
Best-first search Idea: use an evaluation function f(n) for each node –estimate of "desirability"  Expand most desirable unexpanded node Implementation:
Informed Search II CIS 391 Fall CIS Intro to AI 2 Outline PART I  Informed = use problem-specific knowledge  Best-first search and its variants.
Informed Search CSE 473 University of Washington.
CS621 : Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 2 - Search.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 13– Search 17 th August, 2010.
A* optimality proof, cycle checking CPSC 322 – Search 5 Textbook § 3.6 and January 21, 2011 Taught by Mike Chiang.
CS621 : Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 3 - Search.
Chapter 3.5 and 3.6 Heuristic Search Continued. Review:Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
CS344: Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 17– Theorems in A* (admissibility, Better performance.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lectures 18, 19, 20– A* Monotonicity 2 nd, 6 th and 7 th September, 2010.
CS344: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 1 to 8– Introduction, Search, A* (has the associated lab course: CS386)
CPSC 420 – Artificial Intelligence Texas A & M University Lecture 5 Lecturer: Laurie webster II, M.S.S.E., M.S.E.e., M.S.BME, Ph.D., P.E.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 3: Search, A*
For Monday Read chapter 4 exercise 1 No homework.
Chapter 3.5 Heuristic Search. Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
Review: Tree search Initialize the frontier using the starting state
Artificial Intelligence Problem solving by searching CSC 361
Discussion on Greedy Search and A*
Discussion on Greedy Search and A*
CS 4100 Artificial Intelligence
CS344: Artificial Intelligence
EA C461 – Artificial Intelligence
Informed search algorithms
Informed search algorithms
Artificial Intelligence
CS621: Artificial Intelligence
CS621: Artificial Intelligence
CSE 473 University of Washington
HW 1: Warmup Missionaries and Cannibals
Informed Search Idea: be smart about what paths to try.
Heuristic Search Generate and Test Hill Climbing Best First Search
HW 1: Warmup Missionaries and Cannibals
CS621 : Artificial Intelligence
CS621: Artificial Intelligence
Artificial Intelligence
Informed Search Idea: be smart about what paths to try.
Informed Search.
Presentation transcript:

CS344: Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture– 4, 5, 6: A* properties 9 th,10 th and 12 th January, 2012

A* Algorithm – Definition and Properties f(n) = g(n) + h(n) The node with the least value of f is chosen from the OL. f*(n) = g*(n) + h*(n), where, g*(n) = actual cost of the optimal path (s, n) h*(n) = actual cost of optimal path (n, g) g(n) ≥ g*(n) By definition, h(n) ≤ h*(n) S s n goal State space graph G g(n) h(n)

8-puzzle: heuristics sng Example: 8 puzzle h*(n) = actual no. of moves to transform n to g 1.h 1 (n) = no. of tiles displaced from their destined position. 2.h 2 (n) = sum of Manhattan distances of tiles from their destined position. h 1 (n) ≤ h*(n) and h 1 (n) ≤ h*(n) h* h2h2 h1h1 Comparison

Key point about A* search S Statement: Let S -n 1 -n 2 -n 3 …n i …-n k-1 - n k (=G) be an optimal path. At any time during the search: 1. There is a node n i from the optimal path in the OL 2. For n i all its ancestors S,n 1,n 2,…,n i-1 are in CL 3. g(n i ) = g*(n i ) S | n 1 | n 2 |. n i. n k-1 | n k =g

Эn | g(n) = g*(n) and forall n, h(n) <= h*(n) Эn | f(n) <= f*(s) A* will terminate in optimal path g(G) = g(G*) A node with f(n)<f*(s) will have to be expanded If a node is not expanded, f(n) >= f*(s) If h(n) <= h*(n) + c, then g(G)<=g*(G) +c on termination If a node is expanded, f(n)<=f*(s)

Proof of the statement Proof by induction on iteration no. j Basis : j = 0, S is on the OL, S satisfies the statement Hypothesis : Let the statement be true for j = p (p th iteration) Let n i be the node satisfying the statement

Proof (continued) Induction : Iteration no. j = p+1 Case 1 : n i is expanded and moved to the closed list Then, n i+1 from the optimal path comes to the OL Node n i+1 satisfies the statement (note: if n i+1 is in CL, then n i+2 satisfies the property) Case 2 : Node x ≠ n i is expanded Here, n i satisfies the statement

Admissibility: An algorithm is called admissible if it always terminates and terminates in optimal path Theorem: A* is admissible. Lemma: Any time before A* terminates there exists on OL a node n such that f(n) <= f*(s) Observation: For optimal path s → n 1 → n 2 → … → g, 1.h*(g) = 0, g*(s)=0 and 2.f*(s) = f*(n 1 ) = f*(n 2 ) = f*(n 3 )… = f*(g) A* Algorithm- Properties

f*(n i ) = f*(s),n i ≠ s and n i ≠ g Following set of equations show the above equality: f*(n i ) = g*(n i ) + h*(n i ) f*(n i+1 ) = g*(n i+1 ) + h*(n i+1 ) g*(n i+1 ) = g*(n i ) + c(n i, n i+1 ) h*(n i+1 ) = h*(n i ) - c(n i, n i+1 ) Above equations hold since the path is optimal. A* Properties (contd.)

Admissibility of A* A* always terminates finding an optimal path to the goal if such a path exists. Intuition S g(n) n h(n) G (1) In the open list there always exists a node n such that f(n) <= f*(S). (2) If A* does not terminate, the f value of the nodes expanded become unbounded. 1) and 2) are together inconsistent Hence A* must terminate

Lemma Any time before A* terminates there exists in the open list a node n' such that f(n') <= f*(S) S n1n1 n2n2 G Optimal path For any node n i on optimal path, f(n i ) = g(n i ) + h(n i ) <= g*(n i ) + h*(n i ) Also f*(n i ) = f*(S) Let n' be the first node in the optimal path that is in OL. Since all parents of n' in the optimal have gone to CL, g(n') = g*(n') and h(n') <= h*(n') => f(n') <= f*(S)

If A* does not terminate Let e be the least cost of all arcs in the search graph. Then g(n) >= e.l(n) where l(n) = # of arcs in the path from S to n found so far. If A* does not terminate, g(n) and hence f(n) = g(n) + h(n) [h(n) >= 0] will become unbounded. This is not consistent with the lemma. So A* has to terminate.

2 nd part of admissibility of A* The path formed by A* is optimal when it has terminated Proof Suppose the path formed is not optimal Let G be expanded in a non-optimal path. At the point of expansion of G, f(G) = g(G) + h(G) = g(G) + 0 > g*(G) = g*(S) + h*(S) = f*(S) [f*(S) = cost of optimal path] This is a contradiction So path should be optimal

Summary on Admissibility 1. A* algorithm halts 2. A* algorithm finds optimal path 3. If f(n) < f*(S) then node n has to be expanded before termination 4. If A* does not expand a node n before termination then f(n) >= f*(S)

Exercise-1 Prove that if the distance of every node from the goal node is “known”, then no “search:” is necessary Ans: For every node n, h(n)=h*(n). The algo is A*. Lemma proved: any time before A* terminates, there is a node m in the OL that has f(m) <= f*(S), S= start node (m is the node on the optimal path all whose ancestors in the optimal path are in the closed list). For m, g(m)=g*(m) and hence f(m)=f*(S). Thus at every step, the node with f=f* will be picked up, and the journey to the goal will be completely directed and definite, with no “search” at all. Note: when h=h*, f value of any node on the OL can never be less than f*(S).

Exercise-2 If the h value for every node over-estimates the h* value of the corresponding node by a constant, then the path found need not be costlier than the optimal path by that constant. Prove this. Ans: Under the condition of the problem, h(n) <= h*(n) + c. Now, any time before the algo terminates, there exists on the OL a node m such that f(m) <= f*(S)+c. The reason is as follows: let m be the node on the optimal path all whose ancestors are in the CL (there has to be such a node). Now, f(m)= g(m)+h(m)=g*(m)+h(m) <= g*(m)+h*(m)+c = f*(S)+c When the goal G is picked up for expansion, it must be the case that f(G)<= f*(S)+c=f*(G)+c i.e., g(G)<= g*(G)+c, since h(G)=h*(G)=0.

Better Heuristic Performs Better

Theorem A version A 2 * of A* that has a “better” heuristic than another version A 1 * of A* performs at least “as well as” A 1 * Meaning of “better” h 2 (n) > h 1 (n) for all n Meaning of “as well as” A 1 * expands at least all the nodes of A 2 * h*(n) h 2 (n) h 1 (n) For all nodes n, except the goal node

Proof by induction on the search tree of A 2 *. A* on termination carves out a tree out of G Induction on the depth k of the search tree of A 2 *. A 1 * before termination expands all the nodes of depth k in the search tree of A 2 *. k=0. True since start node S is expanded by both Suppose A 1 * terminates without expanding a node n at depth (k+1) of A 2 * search tree. Since A 1 * has seen all the parents of n seen by A 2 * g 1 (n) <= g 2 (n) (1)

Proof for g 1 (n k+1 ) <= g 2 (n k+1 ) (1/3) All nodes expanded by A 2 * S n k+ 1 nknk

Proof for g 1 (n k+1 ) <= g 2 (n k+1 ) (2/3) Case 1: n k is the parent of n k+1 even in A 1 * g 1 (n k+1 ) = g 1 (n k ) + cost (n k, n k+1 ) <= g 2 (n k ) + cost (n k, n k+1 ) <= g 2 (n k+1 ) (1) -> g 1 (n k ) has to be less than g 2 (n k ) as all nodes expanded by A 2 * have been expanded by A 1 * too. Therefore, it can only find a path better than A 1 * to n k. …………….(1)

Proof for g 1 (n k+1 ) <= g 2 (n k+1 )(3/3) All nodes expanded by A 2 * S n k+ 1 nknk Case 2: n k is not the parent of n k+1 in A 1 * Since A 1 * has already expanded all nodes expanded by A 2 *, if it finds an alternative path through some node(s) other than the ones expanded by A 2 *, then it has to be better than the path as per A 2 *. Thus, g 1 (n k+1 ) <= g 2 (n k+1 ) Extra nodes expanded by A 1 *

k+1 S G Since A 1 * has terminated without expanding n, f 1 (n) >= f*(S) (2) Any node whose f value is strictly less than f*(S) has to be expanded. Since A 2 * has expanded n f 2 (n) <= f*(S) (3) From (1), (2), and (3) h 1 (n) >= h 2 (n) which is a contradiction. Therefore, A 1 * has to expand all nodes that A 2 * has expanded. Exercise If better means h 2 (n) > h 1 (n) for some n and h 2 (n) = h 1 (n) for others, then Can you prove the result ?

Lab assignment Implement A* algorithm for the following problems: 8 puzzle Missionaries and Cannibals Robotic Blocks world Specifications: Try different heuristics and compare with baseline case, i.e., the breadth first search. Violate the condition h ≤ h*. See if the optimal path is still found. Observe the speedup.