Lecture 1B: Search.

Slides:



Advertisements
Similar presentations
Solving problems by searching Chapter 3. Outline Problem-solving agents Problem types Problem formulation Example problems Basic search algorithms.
Advertisements

Additional Topics ARTIFICIAL INTELLIGENCE
Solving problems by searching
Review: Search problem formulation
Announcements Course TA: Danny Kumar
Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007.
1 Chapter 3 Solving Problems by Searching. 2 Outline Problem-solving agentsProblem-solving agents Problem typesProblem types Problem formulationProblem.
Solving Problem by Searching Chapter 3. Outline Problem-solving agents Problem formulation Example problems Basic search algorithms – blind search Heuristic.
Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first.
UNINFORMED SEARCH Problem - solving agents Example : Romania  On holiday in Romania ; currently in Arad.  Flight leaves tomorrow from Bucharest.
CS 380: Artificial Intelligence Lecture #3 William Regli.
Review: Search problem formulation
CS 188: Artificial Intelligence Fall 2009 Lecture 3: A* Search 9/3/2009 Dan Klein – UC Berkeley Multiple slides from Stuart Russell or Andrew Moore.
CS 188: Artificial Intelligence Spring 2006 Lecture 2: Queue-Based Search 8/31/2006 Dan Klein – UC Berkeley Many slides over the course adapted from either.
Announcements Project 0: Python Tutorial
Solving problems by searching
CS 188: Artificial Intelligence Fall 2009 Lecture 2: Queue-Based Search 9/1/2009 Dan Klein – UC Berkeley Multiple slides from Stuart Russell, Andrew Moore.
CSE 473: Artificial Intelligence Spring 2014 Hanna Hajishirzi Problem Spaces and Search slides from Dan Klein, Stuart Russell, Andrew Moore, Dan Weld,
CSE 511a: Artificial Intelligence Spring 2012
How are things going? Core AI Problem Mobile robot path planning: identifying a trajectory that, when executed, will enable the robot to reach the goal.
Quiz 1 : Queue based search  q1a1: Any complete search algorithm must have exponential (or worse) time complexity.  q1a2: DFS requires more space than.
Advanced Artificial Intelligence Lecture 2: Search.
SOLVING PROBLEMS BY SEARCHING Chapter 3 August 2008 Blind Search 1.
A General Introduction to Artificial Intelligence.
Solving problems by searching 1. Outline Problem formulation Example problems Basic search algorithms 2.
CE 473: Artificial Intelligence Autumn 2011 A* Search Luke Zettlemoyer Based on slides from Dan Klein Multiple slides from Stuart Russell or Andrew Moore.
CHAPTER 2 SEARCH HEURISTIC. QUESTION ???? What is Artificial Intelligence? The study of systems that act rationally What does rational mean? Given its.
CS 343H: Artificial Intelligence
AI Adjacent Fields  Philosophy:  Logic, methods of reasoning  Mind as physical system  Foundations of learning, language, rationality  Mathematics.
WEEK 5 LECTURE -A- 23/02/2012 lec 5a CSC 102 by Asma Tabouk Introduction 1 CSC AI Basic Search Strategies.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Artificial Intelligence Search Instructors: David Suter and Qince Li Course Harbin Institute of Technology [Many slides adapted from those.
Artificial Intelligence Solving problems by searching.
Chapter 3.5 Heuristic Search. Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
Solving problems by searching Chapter 3. Types of agents Reflex agent Consider how the world IS Choose action based on current percept Do not consider.
Lecture 3: Uninformed Search
Review: Tree search Initialize the frontier using the starting state
Announcements Homework 1 Questions 1-3 posted. Will post remainder of assignment over the weekend; will announce on Slack. No AI Seminar today.
Solving problems by searching
Problem Solving Agents
Announcements Homework 1 will be posted this afternoon. After today, you should be able to do Questions 1-3. Python 2.7 only for the homework; turns.
EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS
Last time: Problem-Solving
Department of Computer Science
Problem Solving by Searching
Problem Solving as Search
Artificial Intelligence (CS 370D)
Solving problems by searching
CAP 5636 – Advanced Artificial Intelligence
CS 188: Artificial Intelligence Spring 2007
CS 188: Artificial Intelligence Fall 2008
CS 4100 Artificial Intelligence
Problem Solving and Searching
EA C461 – Artificial Intelligence
Problem Solving and Searching
Principles of Computing – UFCFA3-30-1
Artificial Intelligence
CSE 473: Artificial Intelligence Spring 2012
CS 188: Artificial Intelligence Fall 2006
Announcements This Friday Project 1 due Talk by Jeniya Tabassum
Solving problems by searching
HW 1: Warmup Missionaries and Cannibals
HW 1: Warmup Missionaries and Cannibals
Artificial Intelligence
CMSC 471 Fall 2011 Class #4 Tue 9/13/11 Uninformed Search
Solving Problems by Searching
Artificial Intelligence: Theory and Practice Ch. 3. Search
CS440/ECE 448 Lecture 4: Search Intro
Solving problems by searching
Presentation transcript:

Lecture 1B: Search

Outline Problem-solving agents (Book: 3.1) Problem types and problem formulation Search trees and state space graphs (3.3) Uninformed search (3.4) Depth-first, Breadth-first, Uniform cost Search graphs Informed search (3.5) Greedy search, A* search Heuristics, admissibility

Agents act = AgentFn(percept) sensors agent fn actuators

Problem types Fully observable, deterministic Non-observable single-belief-state problem Non-observable sensorless (conformant) problem Partially observable/non-deterministic contingency problem interleave search and execution Unknown state space exploration problem execution first

Search Problems A search problem consists of: A state space A transition model A start state, goal test, and path cost function A solution is a sequence of actions (a plan) which transforms the start state to a goal state N, 1 E, 1

Transition Models Successor function Actions and Results Successors( ) = {(N, 1, ), (E, 1, )} Actions and Results Actions( ) = {N, E} Result( , N) = ; Result( , E) = Cost( , N, ) = 1; Cost( , E, ) = 1

Example: Romania State space: Successor function: Start state: Cities Successor function: Go to adj city with cost = dist Start state: Arad Goal test: Is state == Bucharest? Solution?

Ridiculously tiny search graph for a tiny search problem State Space Graphs State space graph: A mathematical representation of a search problem For every search problem, there’s a corresponding state space graph The successor function is represented by arcs This can be large or infinite, so we won’t create it in memory S G d b p q c e h a f r Ridiculously tiny search graph for a tiny search problem

Search Trees A search tree: N, 1 E, 1 A search tree: This is a “what if” tree of plans and outcomes Start state at the root node Children correspond to successors Nodes contain states, correspond to paths to those states For most problems, we can never actually build the whole tree

Another Search Tree Search: Expand out possible plans Maintain a frontier of unexpanded plans Try to expand as few tree nodes as possible

General Tree Search Important ideas: Frontier (aka fringe) Expansion Exploration strategy Main question: which frontier nodes to explore?

State Space vs. Search Tree Each NODE in in the search tree is an entire PATH in the state space. S G d b p q c e h a f r S a b d p c e h f r q G We construct both on demand – and we construct as little as possible.

States vs. Nodes State Space Graph Search Tree Nodes in state space graphs are problem states Represent an abstracted state of the world Have successors, can be goal / non-goal, have multiple predecessors Nodes in search trees are paths Represent a path (sequence of actions) which results in the node’s state Have a problem state and one parent, a path length, (a depth) & a cost The same problem state may be achieved by multiple search tree nodes State Space Graph Search Tree Parent Depth 5 Action Node Depth 6

Breadth First Search Strategy: expand shallowest node first Implementation: Fringe is a FIFO queue S G d b p q c e h a f r Search Tiers S a b d p c e h f r q G

Santayana’s Warning “Those who cannot remember the past are condemned to repeat it.” – George Santayana Failure to detect repeated states can cause exponentially more work (why?)

Graph Search In BFS, for example, we shouldn’t bother expanding the circled nodes (why?) S a b d p c e h f r q G

Graph Search Very simple fix: never expand a state twice Can this wreck completeness? Lowest cost?

Graph Search Hints Graph search is almost always better than tree search (when not?) Implement explored as a dict or set Implement frontier as priority Q and set

Depth First Search S G Strategy: expand deepest node first b p q c e h a f r a Strategy: expand deepest node first Implementation: Frontier is a LIFO stack b c e d f h p r q S a b d p c e h f r q G

Costs on Actions START GOAL d b p q c e h a f r 2 9 8 1 3 4 15 Notice that BFS finds the shortest path in terms of number of transitions. It does not find the least-cost path. We will quickly cover an algorithm which does find the least-cost path.

Uniform Cost Search S G 2 Expand cheapest node first: b p q c e h a f r 2 Expand cheapest node first: Frontier is a priority queue 1 8 2 2 3 9 1 8 1 1 15 S a b d p c e h f r q G 9 1 3 4 5 17 11 16 11 Cost contours 6 13 7 8 11 10

Uniform Cost Issues Remember: explores increasing cost contours The good: UCS is complete and optimal! The bad: Explores options in every “direction” No information about goal location … c  1 c  2 c  3 python pacman.py -l contoursMaze -p SearchAgent -a fn=ucs --frameTime -1 python pacman.py -p SearchAgent -a fn=ucs -l smallMaze --frameTime -1 Start Goal

Uniform Cost Search What will UCS do for this graph? What does this mean for completeness? b 1 START a 1 GOAL

AI Lesson To do more, Know more

Heuristics

Greedy Best First Search Expand the node that seems closest to goal… What can go wrong?

Greedy goes wrong S G

Combining UCS and Greedy Uniform-cost orders by path cost, or backward cost g(n) Best-first orders by distance to goal, or forward cost h(n) A* Search orders by the sum: f(n) = g(n) + h(n) 5 e h=1 1 1 3 2 S a d G h=6 h=5 1 h=2 h=0 1 c b h=7 h=6

When should A* terminate? Should we stop when we enqueue a goal? No: only stop when we dequeue a goal A 2 2 h = 2 G S h = 3 h = 0 B 3 2 h = 1

Is A* Optimal? 1 A 3 S G 5 What went wrong? Actual bad path cost (5) < estimate good path cost (1+6) We need estimates (h=6) to be less than actual (3) costs!

Admissible Heuristics A heuristic h is admissible (optimistic) if: where is the true cost to a nearest goal Never overestimate!

Other A* Applications Path finding / routing problems Resource planning problems Robot motion planning Language analysis Machine translation Speech recognition …

Summary: A* A* uses both backward costs, g(n), and (estimates of) forward costs, h(n) A* is optimal with admissible heuristics A* is not the final word in search algorithms (but it does get the final word for today)