Uninformed search strategies

Similar documents
Uninformed Search Strategies

Solving Problems by Searching chap3 1. Problem-Solving Agents

Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) Computer Science Department

Artificial Intelligence. Uninformed Search Strategies

Uninformed Search (Ch )

Uninformed search methods II.

Real World Search Problems. CS 331: Artificial Intelligence Uninformed Search. Simpler Search Problems. Example: Oregon. Search Problem Formulation

Uninformed Search (Ch )

CSE 3401: Intro to AI & LP Uninformed Search II

Uninformed search methods

Problem Solving Agents

Problem Solving as Search - I

Search I. Tuomas Sandholm Carnegie Mellon University Computer Science Department. [Read Russell & Norvig Chapter 3]

Uninformed search methods

COMP9414: Artificial Intelligence Uninformed Search

Representation. Representation. Representation. Representation. 8 puzzle.

Better Search Improved Uninformed Search CIS 32

CSE 3402: Intro to Artificial Intelligence Uninformed Search II

Uninformed search methods II.

CENG 466 Artificial Intelligence. Lecture 4 Solving Problems by Searching (II)

SEARCH TREE. Generating the children of a node

SEARCH SEARCH TREE. Node: State in state tree. Root node: Top of state tree

CS 4649/7649 Robot Intelligence: Planning

Introduction. AI and Searching. Simple Example. Simple Example. Now a Bit Harder. From Hammersmith to King s Cross

COMP219: Artificial Intelligence. Lecture 8: Combining Search Strategies and Speeding Up

Overview. Depth Limited Search. Depth Limited Search. COMP219: Artificial Intelligence. Lecture 8: Combining Search Strategies and Speeding Up

CSC384: Introduction to Artificial Intelligence. Search

SIDDHARTH INSTITUTE OF ENGINEERING & TECHNOLOGY :: PUTTUR (AUTONOMOUS) Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE)

Depth-bounded Discrepancy Search

Provably Secure Camouflaging Strategy for IC Protection

Aryeh Rappaport Avinoam Meir. Schedule automation

/435 Artificial Intelligence Fall 2015

Algorithms and Data Structures

CS Lecture 5. Vidroha debroy. Material adapted courtesy of Prof. Xiangnan Kong and Prof. Carolina Ruiz at Worcester Polytechnic Institute

Decision Trees. an Introduction

G53CLP Constraint Logic Programming

Transposition Table, History Heuristic, and other Search Enhancements

Spider Search: An Efficient and Non-Frontier-Based Real-Time Search Algorithm

A new Decomposition Algorithm for Multistage Stochastic Programs with Endogenous Uncertainties

Lesson 22: Average Rate of Change

Computational Models: Class 6

Advanced Search Hill climbing

Dispatching Universität Karlsruhe, System Architecture Group

Problem-Solving: A* and Beyond. CSCI 3202, Fall 2010

6.034 Artificial Intelligence

Decision Trees. Nicholas Ruozzi University of Texas at Dallas. Based on the slides of Vibhav Gogate and David Sontag

The Evolution of Transport Planning

CS472 Foundations of Artificial Intelligence. Final Exam December 19, :30pm

Lesson 18: There Is Only One Line Passing Through a Given Point with a Given Slope

A Proof-Producing CSP Solver 1

DESIGN AND ANALYSIS OF ALGORITHMS (DAA 2017)

Ocean Observatories Initiative. Coastal & Global Scale Nodes. Hydrogen Safety. OOI Surface Mooring Hydrogen Safety Review

4. Please Do Break the Crystal

Heap Sort. Lecture 35. Robb T. Koether. Hampden-Sydney College. Mon, Apr 25, 2016

Building an NFL performance metric

Critical Systems Validation

A SEMI-PRESSURE-DRIVEN APPROACH TO RELIABILITY ASSESSMENT OF WATER DISTRIBUTION NETWORKS

CS 4649/7649 Robot Intelligence: Planning

SURFACE CASING SELECTION FOR COLLAPSE, BURST AND AXIAL DESIGN FACTOR LOADS EXERCISE

Ammonia Synthesis with Aspen Plus V8.0

Chapter 4 (sort of): How Universal Are Turing Machines? CS105: Great Insights in Computer Science

Robust Task Execution: Procedural and Model-based. Outline. Desiderata: Robust Task-level Execution

CS 4649/7649 Robot Intelligence: Planning

Avoiding Short Term Overheat Failures of Recovery Boiler Superheater Tubes

Module 3 Developing Timing Plans for Efficient Intersection Operations During Moderate Traffic Volume Conditions

Draw Shot Primer Part II: aiming

Evacuation Time Minimization Model using Traffic Simulation and GIS Technology

IAEA Training in Level 2 PSA MODULE 8: Coupling Source Terms to Probabilistic Event Analysis (CET end-state binning)

CSC242: Intro to AI. Lecture 21

Automating Injection Molding Simulation using Autonomous Optimization

Pedestrian Dynamics: Models of Pedestrian Behaviour

CMPUT680 - Winter 2001

United States Freestyle Ski Team World Cup and Team Qualification Criteria

Introduction to Algorithms

Inquiry Investigation: Factors Affecting Photosynthesis

Lossless Comparison of Nested Software Decompositions

Analysis of Professional Cycling Results as a Predictor for Future Success

CENTER PIVOT EVALUATION AND DESIGN

GMS 10.0 Tutorial SEAWAT Viscosity and Pressure Effects Examine the Effects of Pressure on Fluid Density with SEAWAT

CS145: INTRODUCTION TO DATA MINING

Neo4j Exercise 2. Spatial Procedures

Algebra Date Lesson Independent Work Computer Tuesday, Introduction (whole class) Problem with Dice

Improving WCET Analysis for Synthesized Code from Matlab/Simulink/Stateflow. Lili Tan Compiler Design Lab Saarland University

CS 4649/7649 Robot Intelligence: Planning

Planning and Acting in Partially Observable Stochastic Domains

Bulgarian Olympiad in Informatics: Excellence over a Long Period of Time

CMSC131. Introduction to Computational Thinking. (with links to some external Scratch exercises) How do you accomplish a task?

DECISION-MAKING ON IMPLEMENTATION OF IPO UNDER TOPOLOGICAL UNCERTAINTY

Phase Changes * OpenStax

Results and conclusions of a floating Lidar offshore test

Optimization and Search. Jim Tørresen Optimization and Search

CT PET-2018 Part - B Phd COMPUTER APPLICATION Sample Question Paper

Addition and Subtraction of Rational Expressions

Battle of the Waves Sound vs Light

CS 221 PROJECT FINAL

Efficient Minimization of Routing Cost in Delay Tolerant Networks

Lab 4: Root Locus Based Control Design

A IMPROVED VOGEL S APPROXIMATIO METHOD FOR THE TRA SPORTATIO PROBLEM. Serdar Korukoğlu 1 and Serkan Ballı 2.

Iteration: while, for, do while, Reading Input with Sentinels and User-defined Functions

Agilent Dimension Software for ELSD User Manual

Transcription:

AIMA sections 3.4,3.5 search use only the information available in the problem denition Breadth-rst search Uniform-cost search Depth-rst search Depth-limited search Iterative deepening search

Breadth-rst search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end Breadth-rst search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end

Breadth-rst search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end Breadth-rst search Expand shallowest unexpanded node Implementation: fringe is a FIFO queue, i.e., new successors go at end

Properties of breadth-rst search Complete?? Yes (if b is nite) Time?? 1 + b + b 2 + b 3 +... + b d + b(b d 1) = O(b d+1 ), i.e., exp. in d Space?? O(b d+1 ) (keeps every node in memory) Optimal?? Yes (if cost = 1 per step); not optimal in general Space is the big problem; can easily generate nodes at 100MB/sec so 24hrs = 8640GB. Uniform cost search Expand least-cost unexpanded node (i.e., minimum step cost) Implementation: fringe = queue ordered by path cost, lowest rst Equivalent to breadth-rst if step costs all equal Complete?? Yes, if step cost ɛ Time?? # of nodes with g cost of optimal solution, O(b C /ɛ ) where C is the cost of the optimal solution Space?? # of nodes with g cost of optimal solution, O(b C /ɛ ) Optimal?? Yesnodes expanded in increasing order of g(n)

Depth-rst search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front Properties of depth-rst search Complete?? No: fails in innite-depth spaces, spaces with loops Modify to avoid repeated states along path complete in nite spaces Time?? O(b m ): terrible if m is much larger than d but if solutions are dense, may be much faster than breadth-rst Space?? O(bm), i.e., linear space! Optimal?? No!

Depth-limited search DFS + depth limit l: nodes at depth l have no successors Recursive implementation: function Depth-Limited-( problem, limit) returns soln/fail/cuto Recursive-DLS(Make-Node(Initial-State[problem]), problem, limit) function Recursive-DLS(node, problem, limit) returns soln/fail/cuto cuto-occurred? false if Goal-Test(problem, State[node]) then return node else if Depth[node] = limit then return cuto else for each successor in Expand(node, problem) do result Recursive-DLS(successor, problem, limit) if result = cuto then cuto-occurred? true else if result failure then return result if cuto-occurred? then return cuto else return failure Iterative deepening search function Iterative-Deepening-( problem) returns a solution inputs: problem, a problem for depth 0 to do result Depth-Limited-( problem, depth) if result cuto then return result end

Iterative deepening search Iterative deepening search

Iterative deepening search Iterative deepening search

Properties of iterative deepening search Complete?? Yes Time?? (d + 1)b 0 + db 1 + (d 1)b 2 +... + b d = O(b d ) Space?? O(bd) Optimal?? Yes, if step cost = 1 Can be modied to explore uniform-cost tree BFS Vs IDS Numerical comparison for b = 10 and d = 5, solution at far right leaf: N(IDS) = 6 + 50 + 400 + 3, 000 + 20, 000 + 100, 000 = 123, 456 N(BFS) = 1 + 10 + 100 + 1, 000 + 10, 000 + 100, 000 + 999, 990 = 1, 111, 101 IDS does better because other nodes at depth d are not expanded BFS can be modied to apply goal test when a node is generated

Summary of algorithms Criterion BF UC DF DL ID Complete? Yes Yes, No Yes, if l d Yes Time b d+1 b C /ɛ b m b l b d Space b d+1 b C /ɛ bm bl bd Optimal? Yes Yes No Yes, if l d Yes *: complete if branching factor is nite : complete if step cost is ɛ : optimal if step costs are all identical Repeated states Failure to detect repeated states can turn a linear problem into an exponential one!

Graph search function Graph-( problem, fringe) returns a solution, or failure closed an empty set fringe Insert(Make-Node(Initial-State[problem]), fringe) loop do end if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test(problem, State[node]) then return node if State[node] is not in closed then add State[node] to closed fringe InsertAll(Expand(node, problem), fringe) Summary Variety of uninformed search Iterative deepening search uses only linear space and not much more time than other uninformed algorithms Graph search can be exponentially more ecient than tree search

Exercise: Space Dimension BFS vs IDS Assume: i) a well balanced search tree; ii) the goal state is the last one to be expanded in its level (e.g., the rightmost). if the branching factor is 3, the shallowest goal state is at depth 3 (root has depth 0) and we proceed breadth rst how many nodes are generated? if the branching factor is 4, the shallowest goal state is at depth 3 (root has depth 0) we proceed with an iterative deepening approach, how many nodes are generated? what happens if goal test is performed when inserting in the fringe instead of when removing (as it is in tree-search)? Exercise: formalizing and solving problem through search The Wolf Sheep and Cabbage Problem A man owns a wolf, a sheep and a cabbage: He is on a river bank with a boat that can carry him with only one of his goodies at a time. The man wants to reach the other bank with his wolf, sheep and cabbage, but he knows that wolves eat sheeps, and sheeps eat cabbages, so he cannot leave them alone on a bank. Formalize the WSC problem as a search problem Use breadth rst to nd a solution

Exercise: formalizing and solving problem through search The Missionaries and Cannibals Three missionaries and three cannibals are on the same river bank, and want to cross it. They have a boat that can carry two people at most. Cannibals should never outnumber missionaries, on any bank, as they could eat them. Formalize the MC problem as a search problem Give a solution