CS344 : Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 2 - Search.

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

Artificial Intelligence
Lecture Notes on AI-NN Chapter 5 Information Processing & Utilization.
Lecture Notes on AI-NN Chapter 5 Information Processing & Utilization.
CS344: Principles of Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 7, 8, 9: Monotonicity 16, 17 and 19 th Jan, 2012.
Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal.
An Introduction to Artificial Intelligence
Inconsistent Heuristics
Greedy best-first search Use the heuristic function to rank the nodes Search strategy –Expand node with lowest h-value Greedily trying to find the least-cost.
Solving Problem by Searching
CSE 373, Copyright S. Tanimoto, 2001 Graphs Graphs 2 Incidence and Adjacency Representing a graph with an adjacency matrix, an incidence matrix,
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,
Artificial Intelligence Chapter 9 Heuristic Search Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
Problem Solving and Search Andrea Danyluk September 9, 2013.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.4) January, 14, 2009.
Artificial Intelligence Lecture No. 7 Dr. Asad Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Using Search in Problem Solving
CS344: Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture–2,3: A* 3 rd and 5 th January, 2012.
Using Search in Problem Solving
1 Tree Searching Strategies. 2 The procedure of solving many problems may be represented by trees. Therefore the solving of these problems becomes a tree.
1 Heuristic Search 4 4.0Introduction 4.1An Algorithm for Heuristic Search 4.2Admissibility, Monotonicity, and Informedness 4.3Using Heuristics in Games.
1 Structures and Strategies for State Space Search 3 3.0Introduction 3.1Graph Theory 3.2Strategies for State Space Search 3.3Using the State Space to Represent.
For Friday Finish chapter 3 Homework: –Chapter 3, exercise 6 –May be done in groups. –Clarification on part d: an “action” must be running the program.
Artificial Intelligence Course outline Introduction Problem solving Generic algorithms Knowledge Representation and Reasoning Expert Systems Uncertainty.
Informed Search Idea: be smart about what paths to try.
Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the.
3.0 State Space Representation of Problems 3.1 Graphs 3.2 Formulating Search Problems 3.3 The 8-Puzzle as an example 3.4 State Space Representation using.
Problem Solving and Search Andrea Danyluk September 11, 2013.
CS344 : Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 1 - Introduction.
Tree Searching Breadth First Search Dept First Search.
CS344: Introduction to Artificial Intelligence (associated lab: CS386) Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 5: Monotonicity 13 th Jan, 2011.
Chapter 4 Search in State Spaces Xiu-jun GONG (Ph. D) School of Computer Science and Technology, Tianjin University
CS 344 Artificial Intelligence By Prof: Pushpak Bhattacharya Class on 15/Jan/2007.
State-Space Searches. 2 State spaces A state space consists of A (possibly infinite) set of states The start state represents the initial problem Each.
CS.462 Artificial Intelligence SOMCHAI THANGSATHITYANGKUL Lecture 02 : Search.
For Friday Finish reading chapter 4 Homework: –Lisp handout 4.
For Monday Read chapter 4, section 1 No homework..
CS344: Introduction to Artificial Intelligence (associated lab: CS386)
Lecture 3: Uninformed Search
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
For Friday Read chapter 4, sections 1 and 2 Homework –Chapter 3, exercise 7 –May be done in groups.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 3 - Search.
Basic Problem Solving Search strategy  Problem can be solved by searching for a solution. An attempt is to transform initial state of a problem into some.
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.
0 The animation which I am proposing here will be a 2D animation and can be developed in JAVA or Flash.
CS621 : Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 3 - Search.
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.
February 18, 2016Introduction to Artificial Intelligence Lecture 8: Search in State Spaces III 1 A General Backtracking Algorithm Sanity check function.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 3: Search, A*
Solving problems by searching Uninformed search algorithms Discussion Class CS 171 Friday, October, 2nd (Please read lecture topic material before and.
Best-first search is a search algorithm which explores a graph by expanding the most promising node chosen according to a specified rule.
Dijkstra’s Algorithm Run by hand Dijkstra's Algorithm (as stated in slide 68 at on the example.
BEST FIRST SEARCH -OR Graph -A* Search -Agenda Search CSE 402
CSE (c) S. Tanimoto, 2001 Search-Introduction
CS621: Artificial Intelligence
CS621: Artificial Intelligence
Artificial Intelligence Chapter 9 Heuristic Search
A General Backtracking Algorithm
CSE (c) S. Tanimoto, 2002 State-Space Search
HW 1: Warmup Missionaries and Cannibals
HW 1: Warmup Missionaries and Cannibals
CS621 : Artificial Intelligence
CS621: Artificial Intelligence
CSE (c) S. Tanimoto, 2004 State-Space Search
Presentation transcript:

CS344 : Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 2 - Search

Algorithmics of Search

General Graph search Algorithm S ACB F ED G Graph G = (V,E)

1) Open List : S (Ø, 0) Closed list : Ø 2) OL : A (S,1), B (S,3), C (S,10) CL : S 3) OL : B (S,3), C (S,10), D (A,6) CL : S, A 4) OL : C (S,10), D (A,6), E (B,7) CL: S, A, B 5) OL : D (A,6), E (B,7) CL : S, A, B, C 6) OL : E (B,7), F (D,8), G (D, 9) CL : S, A, B, C, D 7) OL : F (D,8), G (D,9) CL : S, A, B, C, D, E 8) OL : G (D,9) CL : S, A, B, C, D, E, F 9) OL : Ø CL : S, A, B, C, D, E, F, G

Key data structures : Open List, Closed list Nodes from open list are taken in some order, expanded and the children are put into open list and parent is put into closed list. Assumption: Monotone restriction is satisfied. That is, the estimated cost of reaching the goal node for a particular node is no more than the cost of reaching a child and the estimated cost of reaching the goal from the child GGS Data Structures S n1n1 n2n2 g C(n 1,n 2 ) h(n 2 ) h(n 1 )

Description of GGS (Principles of AI, N.J. Nilsson, 1980) 1. Create a search graph G, consisting solely of the start node S. Put S on a list called OPEN 2. Create a list called CLOSED that is initially empty 3. LOOP: if OPEN is empty exit with failure 4. Select the first node on OPEN, remove it from OPEN and put it on CLOSED. Call this node n 5. If n is a goal node, exit successfully with the solution obtained by tracing a path along the pointers n to s in G (pointers are established in step 7)

Description of GGS (contd) 6. Expand node n, generating the set M of its successors that are not ancestors of n. Install these members of M as successors of n in G 7. Establish a pointer to n from those members of M that were not already in G (i.e., not already on either OPEN or CLOSED). Add these members of M to OPEN. For each member of M that was already on OPEN or CLOSED, decide whether or not to redirect its pointer to n. For each member of M already on CLOSED, decide for each of its descendents in G whether or not to redirect its pointer 8. Reorder the list OPEN, either according to some arbitrary scheme or according to heuristic merit 9. Go LOOP

Redirection of pointers for nodes already in CLOSED (before expanding 1) S

Redirection of pointers for nodes already in CLOSED (after expanding 1) S

GGS OL is a queue (BFS) OL is stack (DFS) OL is accessed by using a functions f= g+h (Algorithm A) BFS, DFS – Uninformed / Brute Force Search methods

Algorithm A A function f is maintained with each node f(n) = g(n) + h(n), n is the node in the open list Node chosen for expansion is the one with least f value For BFS: h = 0, g = number of edges in the path to S For DFS: h = 0, g =

Algorithm A* One of the most important advances in AI g(n) = least cost path to n from S found so far h(n) <= h*(n) where h*(n) is the actual cost of optimal path to G(node to be found) from n S n G g(n) h(n) Optimism leads to optimality

Search building blocks State Space : Graph of states (Express constraints and parameters of the problem) Operators : Transformations applied to the states. Start state : S 0 (Search starts from here) Goal state : {G} - Search terminates here. Cost : Effort involved in using an operator. Optimal path : Least cost path

Examples Problem 1 : 8 – puzzle S0S0 2 G Tile movement represented as the movement of the blank space. Operators: L : Blank moves left R : Blank moves right U : Blank moves up D : Blank moves down C(L) = C(R) = C(U) = C(D) = 1

Problem 2: Missionaries and Cannibals Constraints The boat can carry at most 2 people On no bank should the cannibals outnumber the missionaries River R L Missionaries Cannibals boat Missionaries Cannibals

State : #M = Number of missionaries on bank L #C = Number of cannibals on bank L P = Position of the boat S0 = G = Operations M2 = Two missionaries take boat M1 = One missionary takes boat C2 = Two cannibals take boat C1 = One cannibal takes boat MC = One missionary and one cannibal takes boat

C2MC Partial search tree

Problem 3 BBWWW B G: States where no B is to the left of any W Operators: 1) A tile jumps over another tile into a blank tile with cost 2 2) A tile translates into a blank space with cost 1 All the three problems mentioned above are to be solved using A*

A*

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

3 missionaries (m) and 3 cannibals (c) on the left side of the river and only one boat is available for crossing over to the right side. At any time the boat can carry at most 2 persons and under no circumstance the number of cannibals can be more than the number of missionaries on any bank Missionaries and Cannibals Problem

Missionaries and Cannibals Problem: heuristics Start state: Goal state: h 1 (n) = (no. of m + no. of c) / 2, on the left side h 2 (n) = no. of m + no. of c – 1 h 1 (n) h*(n) and h 1 (n) h*(n)

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 fist node in the optimal path that is in OL. Since all parents of n' 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

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)

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 Black and White tiles 3 black and 3 white tiles are given in some initial configuration. Aim is to arrange the tiles such that all the white tiles are to the left of all the black tiles. The cost of a translation is 1 and cost of a jump is 2. 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.