CS344: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 1 to 8– Introduction, Search, A* (has the associated lab course: CS386)

Slides:



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

Presentation on Artificial Intelligence
CS344 : Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 9,10,11- Logic; Deduction Theorem 23/1/09 to 30/1/09.
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,
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.
CS344: Introduction to Artificial Intelligence (associated lab: CS386) Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture–1: Introduction.
Slide 1 Heuristic Search: BestFS and A * Jim Little UBC CS 322 – Search 5 September 19, 2014 Textbook § 3.6.
CS344: Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture–1: Introduction 2 nd January
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.
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.
CS344: Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 13– Search.
State-Space Searches.
CS344 : Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 1 - Introduction.
CS621: Introduction to Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture–1: Introduction 22 nd July 2010.
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.
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.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture–1: Introduction.
CS621 : Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 1 - Introduction.
CS344: Introduction to Artificial Intelligence (associated lab: CS386) Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture–39: Recap.
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)
1 The main topics in AI Artificial intelligence can be considered under a number of headings: –Search (includes Game Playing). –Representing Knowledge.
Advanced Artificial Intelligence Lecture 2: Search.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 3 - Search.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 5: Power of Heuristic; non- conventional search.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture–2: Introduction: Search+Logic.
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 1 - Introduction.
Knowledge Representation Fall 2013 COMP3710 Artificial Intelligence Computing Science Thompson Rivers University.
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.
Artificial Intelligence Lecture No. 8 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Computing & Information Sciences Kansas State University Wednesday, 04 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 17 of 42 Wednesday, 04 October.
CS621: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 3: Search, A*
Computing & Information Sciences Kansas State University Friday, 13 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 21 of 42 Friday, 13 October.
For Monday Read chapter 4 exercise 1 No homework.
Knowledge Representation
Artificial Intelligence
CS 621 Artificial Intelligence Lecture 1 – 28/07/05
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
Informed search algorithms
Informed search algorithms
Artificial Intelligence
Introduction to Artificial Intelligence Lecture 9: Two-Player Games I
CS621: Artificial Intelligence
CS621: Artificial Intelligence
Knowledge Representation
HW 1: Warmup Missionaries and Cannibals
Artificial Intelligence
State-Space Searches.
State-Space Searches.
HW 1: Warmup Missionaries and Cannibals
CS621: Artificial Intelligence
Artificial Intelligence
State-Space Searches.
Presentation transcript:

CS344: Artificial Intelligence Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 1 to 8– Introduction, Search, A* (has the associated lab course: CS386)

Perspective

Areas of AI and their inter- dependencies Search Vision Planning Machine Learning Knowledge Representation Logic Expert Systems RoboticsNLP

Allied Disciplines PhilosophyKnowledge Rep., Logic, Foundation of AI (is AI possible?) MathsSearch, Analysis of search algos, logic EconomicsExpert Systems, Decision Theory, Principles of Rational Behavior PsychologyBehavioristic insights into AI programs Brain ScienceLearning, Neural Nets PhysicsLearning, Information Theory & AI, Entropy, Robotics Computer Sc. & Engg.Systems for AI

Foundational Points Church Turing Hypothesis Anything that is computable is computable by a Turing Machine Conversely, the set of functions computed by a Turing Machine is the set of ALL and ONLY computable functions

Turing Machine Finite State Head (CPU) Infinite Tape (Memory)

Foundational Points (contd) Physical Symbol System Hypothesis (Newel and Simon) For Intelligence to emerge it is enough to manipulate symbols

Foundational Points (contd) Society of Mind (Marvin Minsky) Intelligence emerges from the interaction of very simple information processing units Whole is larger than the sum of parts!

Foundational Points (contd) Limits to computability Halting problem: It is impossible to construct a Universal Turing Machine that given any given pair of Turing Machine M and input I, will decide if M halts on I What this has to do with intelligent computation? Think!

Foundational Points (contd) Limits to Automation Godel Theorem: A “sufficiently powerful” formal system cannot be BOTH complete and consistent “Sufficiently powerful”: at least as powerful as to be able to capture Peano’s Arithmetic Sets limits to automation of reasoning

Foundational Points (contd) Limits in terms of time and Space NP-complete and NP-hard problems: Time for computation becomes extremely large as the length of input increases PSPACE complete: Space requirement becomes extremely large Sets limits in terms of resources

Two broad divisions of Theoretical CS Theory A Algorithms and Complexity Theory B Formal Systems and Logic

AI as the forcing function Time sharing system in OS Machine giving the illusion of attending simultaneously with several people Compilers Raising the level of the machine for better man machine interface Arose from Natural Language Processing (NLP) NLP in turn called the forcing function for AI

Topics to be covered (Basic) Search General Graph Search, A* Iterative Deepening, α-β pruning, probabilistic methods Logic Formal System Propositional Calculus, Predicate Calculus Inductive Logic Programming Knowledge Representation Predicate calculus, Semantic Net, Frame Script, Conceptual Dependency, Uncertainty

More Advanced Statistical Methods Markov Processes and Random Fields Has been applied to computer vision for a long time Recent applications in Natural Language Processing Machine Learning Planning

Course Seminars Web and AI Robotic Algorithms Prediction, Forecasting Brain Science and AI Computer Games

Persons involved Faculty instructor: Dr. Pushpak Bhattacharyya ( TAs: Shitanshu, Prasad, Nilesh, Sriram, Prashanth, Saurabh Course home page Venue: CSE Building Seminar Hall

Resources Main Text: Artificial Intelligence: A Modern Approach by Russell & Norvik, Pearson, Other Main References: Principles of AI - Nilsson AI - Rich & Knight Knowledge Based Systems – Mark Stefik Journals AI, AI Magazine, IEEE Expert, Area Specific Journals e.g, Computational Linguistics Conferences IJCAI, AAAI

Structure of lectures Should be interactive Ask as many questions as you can and want No question is stupid Make sure the concepts discussed in the class are clear 1 hour lectures 3 times a week: Mon , Tue-11.30, Thu-8.30

Evaluation (i) Exams Midsem Endsem Class test (ii) Study Seminar (iii) Work Assignments (as part of the lab course cs386) Groups of 3-4 for (ii) and (iii): but very clear division of task Weightage will be announced soon

Search Search is present everywhere

Planning (a) which block to pick, (b) which to stack, (c) which to unstack, (d) whether to stack a block or (e) whether to unstack an already stacked block. These options have to be searched in order to arrive at the right sequence of actions. ACBA B C Table

Vision A search needs to be carried out to find which point in the image of L corresponds to which point in R. Naively carried out, this can become an O(n2) process where n is the number of points in the retinal images. World Two eye system RL

Robot Path Planning searching amongst the options of moving Left, Right, Up or Down. Additionally, each movement has an associated cost representing the relative difficulty of each movement. The search then will have to find the optimal, i.e., the least cost path. O1O1 R D O2O2 Robot Path

Natural Language Processing search among many combinations of parts of speech on the way to deciphering the meaning. This applies to every level of processing- syntax, semantics, pragmatics and discourse. The man would like to play. Noun Verb NounVerb Preposition

Expert Systems Search among rules, many of which can apply to a situation: If-conditions the infection is primary-bacteremia AND the site of the culture is one of the sterile sites AND the suspected portal of entry is the gastrointestinal tract THEN there is suggestive evidence (0.7) that infection is bacteroid (from MYCIN)

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

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*: Definitions and Properties

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

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

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)

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.