Uninformed Search (Ch )

Similar documents
Uninformed Search (Ch )

Uninformed search methods II.

Problem Solving Agents

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

Uninformed search methods

Uninformed Search Strategies

Uninformed search methods II.

Problem Solving as Search - I

Solving Problems by Searching chap3 1. Problem-Solving Agents

Uninformed search methods

Uninformed search strategies

Representation. Representation. Representation. Representation. 8 puzzle.

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

CSE 3401: Intro to AI & LP Uninformed Search II

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

Artificial Intelligence. Uninformed Search Strategies

CS 4649/7649 Robot Intelligence: Planning

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

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

Better Search Improved Uninformed Search CIS 32

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

SEARCH TREE. Generating the children of a node

CSE 3402: Intro to Artificial Intelligence Uninformed Search II

COMP9414: Artificial Intelligence Uninformed Search

CSC384: Introduction to Artificial Intelligence. Search

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

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

Advanced Search Hill climbing

/435 Artificial Intelligence Fall 2015

Transposition Table, History Heuristic, and other Search Enhancements

Optimization and Search. Jim Tørresen Optimization and Search

Depth-bounded Discrepancy Search

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

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

Aryeh Rappaport Avinoam Meir. Schedule automation

G53CLP Constraint Logic Programming

6.034 Artificial Intelligence

Analysis of Professional Cycling Results as a Predictor for Future Success

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

CS 4649/7649 Robot Intelligence: Planning

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

If you need to reinstall FastBreak Pro you will need to do a complete reinstallation and then install the update.

Decision Trees. an Introduction

AGA Swiss McMahon Pairing Protocol Standards

Algorithms and Data Structures

COMP 406 Lecture 05. Artificial. Fiona Yan Liu Department of Computing The Hong Kong Polytechnic University

Efficient Minimization of Routing Cost in Delay Tolerant Networks

Breaking Up is Hard to Do: An Investigation of Decomposition for Assume-Guarantee Reasoning

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

AN AUTONOMOUS DRIVER MODEL FOR THE OVERTAKING MANEUVER FOR USE IN MICROSCOPIC TRAFFIC SIMULATION

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

The Rule of Right-Angles: Exploring the term Angle before Depth

Provably Secure Camouflaging Strategy for IC Protection

EE582 Physical Design Automation of VLSI Circuits and Systems

Introduction to Algorithms

The Traveling NET Trainer Problem

Building an NFL performance metric

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

Automating Injection Molding Simulation using Autonomous Optimization

Machine Learning an American Pastime

Maximum CPU utilization is obtained by multiprogramming. CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait

Estimating the Probability of Winning an NFL Game Using Random Forests

Application of Dijkstra s Algorithm in the Evacuation System Utilizing Exit Signs

Planning and Acting in Partially Observable Stochastic Domains

The system design must obey these constraints. The system is to have the minimum cost (capital plus operating) while meeting the constraints.

A Minimal Span-Based Neural Constituency Parser. Mitchell Stern, Jacob Andreas, Dan Klein UC Berkeley

Self-Organizing Signals: A Better Framework for Transit Signal Priority

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

Computational Models: Class 6

Has no formal authority but Coaches the Development Team in self-organization and crossfunctionality

JPEG-Compatibility Steganalysis Using Block-Histogram of Recompression Artifacts

Enhanced Discussion of Requirements for Commercial Fishing Vessels

ECE 697B (667) Spring 2003

Transition from Scrum to Flow

4. Please Do Break the Crystal

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

CMPUT680 - Winter 2001

TERMINATION FOR HYBRID TABLEAUS

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

CS 4649/7649 Robot Intelligence: Planning

On the Impact of Garbage Collection on flash-based SSD endurance

The Incremental Evolution of Gaits for Hexapod Robots

SAFE EGRESS FROM DEEP STATIONS Flawed Criteria in NFPA 130

Online Companion to Using Simulation to Help Manage the Pace of Play in Golf

ENHANCED PARKWAY STUDY: PHASE 2 CONTINUOUS FLOW INTERSECTIONS. Final Report

Extensive Games with Perfect Information

Technical Working Group November 15, 2017

VLSI Design 14. Memories

A new Decomposition Algorithm for Multistage Stochastic Programs with Endogenous Uncertainties

Predicting Results of a Match-Play Golf Tournament with Markov Chains

TASK 4.2.1: "HAMILTON'S ROBOT" ==============================

Dispatching Universität Karlsruhe, System Architecture Group

Quadratic Probing. Hash Tables (continued) & Disjoint Sets. Quadratic Probing. Quadratic Probing Example insert(40) 40%7 = 5

Three New Methods to Find Initial Basic Feasible. Solution of Transportation Problems

3 ROADWAYS 3.1 CMS ROADWAY NETWORK 3.2 TRAVEL-TIME-BASED PERFORMANCE MEASURES Roadway Travel Time Measures

KISSsoft 03/2016 Tutorial 9

Queue analysis for the toll station of the Öresund fixed link. Pontus Matstoms *

TOP:001.3 U.S. Fish and Wildlife Service TECHNICAL OPERATING PROCEDURE

Unit 5: Prioritize and Manage Hazards and Risks STUDENT GUIDE

Transcription:

1 Uninformed Search (Ch. 3-3.4)

7 Small examples 8-Queens: how to fit 8 queens on a 8x8 board so no 2 queens can capture each other Two ways to model this: Incremental = each action is to add a queen to the board (1.8 x 10 14 states) Complete state formulation = all 8 queens start on board, action = move a queen (2057 states)

8 Real world examples Directions/traveling (land or air) Model choices: only have interstates? Add smaller roads, with increased cost? (pointless if they are never taken)

10 Real world examples Traveling salesperson problem (TSP): Visit each location exactly once and return to start Goal: Minimize distance traveled

11 Search algorithm To search, we will build a tree with the root as the initial state Any problems with this?

12 Search algorithm

13 Search algorithm 8-queens can actually be generalized to the question: Can you fit n queens on a z by z board? Except for a couple of small size boards, you can fit z queens on a z by z board This can be done fairly easily with recursion (See: nqueens.py)

14 Search algorithm We can remove visiting states multiple times by doing this: But this is still not necessarily all that great...

15 Search algorithm Next we will introduce and compare some tree search algorithms These all assume nodes have 4 properties: 1. The current state 2. Their parent state (and action for transition) 3. Children from this node (result of actions) 4. Cost to reach this node (from root)

16 Search algorithm When we find a goal state, we can back track via the parent to get the sequence To keep track of the unexplored nodes, we will use a queue (of various types) The explored set is probably best as a hash table for quick lookup (have to ensure similar states reached via alternative paths are the same in the hash, can be done by sorting)

17 Search algorithm The search algorithms metrics/criteria: 1. Completeness (does it terminate with a valid solution) 2. Optimality (is the answer the best solution) 3. Time (in big-o notation) 4. Space (big-o) b = maximum branching factor d = minimum depth of a goal m =maximum length of any path(depth of tree)

18 Uninformed search Today, we will focus on uninformed search, which only have the node information (4 parts) (the costs are given and cannot be computed) Next time we will continue with informed searches that assume they have access to additional structures of the problem (i.e. if costs were distances between cities, you could also compute the distance as the bird flies )

19 Breadth first search Breadth first search checks all states which are reached with the fewest actions first (i.e. will check all states that can be reached by a single action from the start, next all states that can be reached by two actions, then three...)

(see: https://www.youtube.com/watch?v=5ufmu9tsoem) (see: https://www.youtube.com/watch?v=ni0dt288vls) 20 Breadth first search

21 Breadth first search BFS can be implemented by using a simple FIFO (first in, first out) queue to track the fringe/frontier/unexplored nodes Metrics for BFS: Complete (i.e. guaranteed to find solution if exists) Non-optimal (unless uniform path cost) Time complexity = O(b d ) Space complexity = O(b d )

22 Breadth first search Exponential problems are not very fun, as seen in this picture:

23 Uniform-cost search Uniform-cost search also does a queue, but uses a priority queue based on the cost (the lowest cost node is chosen to be explored)

24 Uniform-cost search The only modification is when exploring a node we cannot disregard it if it has already been explored by another node We might have found a shorter path and thus need to update the cost on that node We also do not terminate when we find a goal, but instead when the goal has the lowest cost in the queue.

25 Uniform-cost search UCS is.. 1. Complete (if costs strictly greater than 0) 2. Optimal However... 3&4. Time complexity = space complexity = O(b 1+C*/min(path cost) ), where C* cost of optimal solution (much worse than BFS)

26 Depth first search DFS is same as BFS except with a FILO (or LIFO) instead of a FIFO queue

27 Depth first search Metrics: 1. Might not terminate (not correct) (e.g. in vacuum world, if first expand is action L) 2. Non-optimal (just... no) 3. Time complexity = O(b m ) 4. Space complexity = O(b*m) Only way this is better than BFS is the space complexity...

29 Depth limited search DFS by itself is not great, but it has two (very) useful modifications Depth limited search runs normal DFS, but if it is at a specified depth limit, you cannot have children (i.e. take another action) Typically with a little more knowledge, you can create a reasonable limit and makes the algorithm correct

30 Depth limited search However, if you pick the depth limit before d, you will not find a solution (not correct, but will terminate)

31 Iterative deepening DFS Probably the most useful uninformed search is iterative deepening DFS This search performs depth limited search with maximum depth 1, then maximum depth 2, then 3... until it finds a solution

32 Iterative deepening DFS

33 Iterative deepening DFS The first few states do get re-checked multiple times in IDS, however it is not too many When you find the solution at depth d, depth 1 is expanded d times (at most b of them) The second depth are expanded d-1 times (at most b 2 of them) Thus

34 Iterative deepening DFS Metrics: 1. Complete 2. Non-optimal (unless uniform cost) 3. O(b d ) 4. O(b*d) Thus IDS is better in every way than BFS (asymptotically) Best uninformed we will talk about

35 Bidirectional search Bidirectional search starts from both the goal and start (using BFS) until the trees meet This is better as 2*(b d/2 ) < b d (the space is much worse than IDS, so only applicable to small problems)

36 Uninformed search