Uninformed Search. Chapter 3. (Based on slides by Stuart Russell, Dan Weld, Oren Etzioni, Henry Kautz, and other UW-AI faculty)

Similar documents
AI: A Modern Approach, Chpts. 3-4 Russell and Norvig

Problem solving and search

Measuring the Performance of an Agent

Informed search algorithms. Chapter 4, Sections 1 2 1

Search methods motivation 1

CS MidTerm Exam 4/1/2004 Name: KEY. Page Max Score Total 139

SOLVING PROBLEMS BY SEARCHING

CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Game playing. Chapter 6. Chapter 6 1

Smart Graphics: Methoden 3 Suche, Constraints

Sense Making in an IOT World: Sensor Data Analysis with Deep Learning

Alexander Reinefeld, Thorsten Schütt, ZIB 1

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Course Outline Department of Computing Science Faculty of Science. COMP Applied Artificial Intelligence (3,1,0) Fall 2015

An Introduction to The A* Algorithm

Data Mining Practical Machine Learning Tools and Techniques

Chapter 7 Memory Management

Data Mining on Streams

Artificial Intelligence Exam DT2001 / DT2006 Ordinarie tentamen

Algorithms and Data S tructures Structures Stack, Queues, and Applications Applications Ulf Leser

CSE 326: Data Structures B-Trees and B+ Trees

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) Total 92.

PPD: Scheduling and Load Balancing 2

Computer Game Programming Intelligence I: Basic Decision-Making Mechanisms

Analysis of Micromouse Maze Solving Algorithms

IAI : Expert Systems

6.099, Spring Semester, 2006 Assignment for Week 13 1

Complete Solution of the Eight-Puzzle and the Benefit of Node Ordering in IDA*

PLANET: Massively Parallel Learning of Tree Ensembles with MapReduce. Authors: B. Panda, J. S. Herbach, S. Basu, R. J. Bayardo.

CSC384 Intro to Artificial Intelligence

Load balancing. David Bindel. 12 Nov 2015

Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park

Efficient Parallel Graph Exploration on Multi-Core CPU and GPU

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Why? A central concept in Computer Science. Algorithms are ubiquitous.

KS3 Computing Group 1 Programme of Study hours per week

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

Analysis of Algorithms, I

Integrating Vehicle Routing and Motion Planning

2 SYSTEM DESCRIPTION TECHNIQUES

Graph Database Proof of Concept Report

Data Structures. Chapter 8

csci 210: Data Structures Recursion

Chess Algorithms Theory and Practice. Rune Djurhuus Chess Grandmaster / October 3, 2012

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit

CompSci-61B, Data Structures Final Exam

Chapter 6. Decoding. Statistical Machine Translation

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

Data Structures and Algorithms Written Examination

Dynamic programming formulation

Advanced Oracle SQL Tuning

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Neural Networks and Support Vector Machines

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Cpt S 223. School of EECS, WSU

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Binary Search Trees CMPSC 122

Y. Xiang, Constraint Satisfaction Problems

Security-Aware Beacon Based Network Monitoring

Feature Selection with Monte-Carlo Tree Search

ontune SPA - Server Performance Monitor and Analysis Tool

A Fast Algorithm For Finding Hamilton Cycles

2) Write in detail the issues in the design of code generator.

Decision Trees from large Databases: SLIQ

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

International Journal of Software and Web Sciences (IJSWS)

Approximation Algorithms

Computational Models Lecture 8, Spring 2009

DEVELOPMENT OF A VULNERABILITY ASSESSMENT CODE FOR A PHYSICAL PROTECTION SYSTEM: SYSTEMATIC ANALYSIS OF PHYSICAL PROTECTION EFFECTIVENESS (SAPE)

Binary Heap Algorithms

AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS

Binary Number System. 16. Binary Numbers. Base 10 digits: Base 2 digits: 0 1

QLIKVIEW SERVER LINEAR SCALING

CAs and Turing Machines. The Basis for Universal Computation

Automata-based Verification - I

IT 3202 Internet Working (New)

Large-Scale Parallel Breadth-First Search

Social Media Mining. Graph Essentials

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis

Algorithmic Software Verification

Envox CDP 7.0 Performance Comparison of VoiceXML and Envox Scripts

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Transport Layer Protocols

Week_11: Network Models

Scalable Data Analysis in R. Lee E. Edlefsen Chief Scientist UserR! 2011

Recursive Algorithms. Recursion. Motivating Example Factorial Recall the factorial function. { 1 if n = 1 n! = n (n 1)! if n > 1

Teaching Introductory Artificial Intelligence with Pac-Man

Croatian Open Competition in Informatics, contest 3 December 16, 2006

Introduction to Learning & Decision Trees

Model Checking: An Introduction

In-Place Computing. For Big and Complex Data

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

Decision Mathematics 1 TUESDAY 22 JANUARY 2008

Sources: On the Web: Slides will be available on:

The Secret of Hydraulic Schematics. BTPHydraulics

ARTIFICIAL INTELLIGENCE (CSCU9YE) LECTURE 6: MACHINE LEARNING 2: UNSUPERVISED LEARNING (CLUSTERING)

Transcription:

Uninformed Search Chapter 3 (Based on slides by Stuart Russell, Dan Weld, Oren Etzioni, Henry Kautz, and other UW-AI faculty)

What is Search? Search is a class of techniques for systematically finding or constructing solutions to problems. Example technique: generate-and-test. Example problem: Combination lock. 1. Generate a possible solution. 2. Test the solution. 3. If solution found THEN done ELSE return to step 1. 2

Search thru a Problem Space/State Space Input: Set of states Operators [and costs] Start state Goal state [test] Output: Path: start a state satisfying goal test [May require shortest path] 3

Why is search interesting? Many (all?) AI problems can be formulated as search problems! Examples: Path planning Games Natural Language Processing Machine learning 4

Example: The 8-puzzle states? actions? goal test? path cost? 5

Example: The 8-puzzle states? locations of tiles actions? move blank left, right, up, down goal test? = goal state (given) path cost? 1 per move [Note: optimal solution of n-puzzle family is NP-hard] 6

Search Tree Example: Fragment of 8-Puzzle Problem Space 7

Example: robotic assembly states?: real-valued coordinates of robot joint angles parts of the object to be assembled actions?: continuous motions of robot joints goal test?: complete assembly path cost?: time to execute 8

Example: Romania On holiday in Romania; currently in Arad. Flight leaves tomorrow from Bucharest Formulate goal: be in Bucharest Formulate problem: states: various cities actions: drive between cities Find solution: sequence of cities, e.g., Arad, Sibiu, Fagaras, Bucharest 9

Example: N Queens Input: Set of states Operators [and costs] Q Q Q Q Start state Goal state (test) Output 10

Implementation: states vs. nodes A state is a (representation of) a physical configuration A node is a data structure constituting part of a search tree includes state, parent node, action, path cost g(x), depth The Expand function creates new nodes, filling in the various fields and using the SuccessorFn of the problem to create the corresponding states. 11

Search strategies A search strategy is defined by picking the order of node expansion Strategies are evaluated along the following dimensions: completeness: does it always find a solution if one exists? time complexity: number of nodes generated space complexity: maximum number of nodes in memory optimality: does it always find a least-cost solution? systematicity: does it visit each state at most once? Time and space complexity are measured in terms of b: maximum branching factor of the search tree d: depth of the least-cost solution m: maximum depth of the state space (may be ) 12

Uninformed search strategies Uninformed search strategies use only the information available in the problem definition Breadth-first search Depth-first search Depth-limited search Iterative deepening search 13

Repeated states Failure to detect repeated states can turn a linear problem into an exponential one! 14

Depth First Search Maintain stack of nodes to visit Evaluation Complete? Yes except for infinite spaces Time Complexity? Space Complexity? O(b^m) O(bm) b a e c d f g h http://www.youtube.com/watch?v=dtofavtve4u 15

Breadth First Search Maintain queue of nodes to visit Evaluation Complete? Yes (b is finite) Time Complexity? O(b^d) a Space Complexity? O(b^d) b c d e f g h http://www.youtube.com/watch?v=z6lunb9ktke 16

Suppose: 2 GHz CPU Memory Limitation 1 GB main memory 100 instructions / expansion 5 bytes / node 200,000 expansions / sec Memory filled in 100 sec < 2 minutes 17

Iterative deepening search 18

Iterative deepening search l =0 19

Iterative deepening search l =1 20

Iterative deepening search l =2 21

Iterative deepening search l =3 22

Iterative deepening search Number of nodes generated in a depth-limited search to depth d with branching factor b: N DLS = b 0 + b 1 + b 2 + + b d-2 + b d-1 + b d Number of nodes generated in an iterative deepening search to depth d with branching factor b: N IDS = (d+1)b 0 + d b^1 + (d-1)b^2 + + 3b d-2 +2b d-1 + 1b d For b = 10, d = 5, N DLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111 N IDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456 Overhead = (123,456-111,111)/111,111 = 11% 23

iterative deepening search Complete? Yes Time? (d+1)b 0 + d b 1 + (d-1)b 2 + + b d = O(b d+1 ) Space? O(bd) Optimal? Yes, if step cost = 1 Systematic? 24

Summary of algorithms 26

Forwards vs. Backwards 27

vs. Bidirectional 28

Problem All these methods are slow (blind) Solution add guidance ( heuristic estimate ) informed search 29