Search  Exhaustive/Blind Search Methods Depth First Search Breadth First Search  Heuristic Methods Hill Climbing Beam Search Best First Search…

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

Review: Search problem formulation
Jecho and Donatus Depth First and Breadth First Search.
Uninformed search strategies
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal.
CS203 Lecture 15.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 14, 2012.
Traveling Salesperson Problem
Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007.
Tree Searching. Tree searches A tree search starts at the root and explores nodes from there, looking for a goal node (a node that satisfies certain conditions,
Problem Solving Agents A problem solving agent is one which decides what actions and states to consider in completing a goal Examples: Finding the shortest.
G5BAIM Artificial Intelligence Methods Graham Kendall Blind Searches.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.4) January, 14, 2009.
Artificial Intelligence (CS 461D)
Uninformed Search Jim Little UBC CS 322 – Search 2 September 12, 2014
UnInformed Search What to do when you don’t know anything.
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
1 Tree Searching Strategies. 2 The procedure of solving many problems may be represented by trees. Therefore the solving of these problems becomes a tree.
Find a Path s A D B E C F G Heuristically Informed Methods  Which node do I expand next?  What information can I use to guide this.
Using Search in Problem Solving
Blind Search-Part 2 Ref: Chapter 2. Search Trees The search for a solution can be described by a tree - each node represents one state. The path from.
Using Search in Problem Solving
1 Tree Searching Strategies. 2 The procedure of solving many problems may be represented by trees. Therefore the solving of these problems becomes a tree.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Breadth-first search (BFS) 8-puzzle problem The breadth-first search uses a queue to hold all expanded nodes.
Uninformed Search (cont.)
1 Structures and Strategies for State Space Search 3 3.0Introduction 3.1Graph Theory 3.2Strategies for State Space Search 3.3Using the State Space to Represent.
Problem-solving agents
For Friday Finish chapter 3 Homework: –Chapter 3, exercise 6 –May be done in groups. –Clarification on part d: an “action” must be running the program.
CS261 Data Structures DFS and BFS – Edge List Representation.
Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the.
3.0 State Space Representation of Problems 3.1 Graphs 3.2 Formulating Search Problems 3.3 The 8-Puzzle as an example 3.4 State Space Representation using.
Informed Search Strategies
Search: Heuristic &Optimal Artificial Intelligence CMSC January 16, 2003.
Tree Searching Breadth First Search Dept First Search.
Artificial Intelligence LECTURE 3 ARTIFICIAL INTELLIGENCE LECTURES BY ENGR. QAZI ZIA 1.
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l inference l all learning.
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l all learning algorithms,
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.
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
For Friday Finish reading chapter 4 Homework: –Lisp handout 4.
For Monday Read chapter 4, section 1 No homework..
10 Copyright © William C. Cheng Data Structures - CSCI 102 Graph Terminology A graph consists of a set of Vertices and a set of Edges C A B D a c b d e.
Lecture 3: Uninformed Search
Searching for Solutions Artificial Intelligence CMSC January 15, 2008.
For Friday Read chapter 4, sections 1 and 2 Homework –Chapter 3, exercise 7 –May be done in groups.
Basic Problem Solving Search strategy  Problem can be solved by searching for a solution. An attempt is to transform initial state of a problem into some.
CSCI 4310 Lecture 2: Search. Search Techniques Search is Fundamental to Many AI Techniques.
1 Directed Graphs Chapter 8. 2 Objectives You will be able to: Say what a directed graph is. Describe two ways to represent a directed graph: Adjacency.
Searching for Solutions
CPSC 322, Lecture 6Slide 1 Uniformed Search (cont.) Computer Science cpsc322, Lecture 6 (Textbook finish 3.5) Sept, 17, 2012.
Breadth First Search and Depth First Search. Greatest problem in Computer Science Has lead to a lot of new ideas and data structures Search engines before.
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.5) Sept, 13, 2013.
For Monday Read chapter 4 exercise 1 No homework.
Lecture 3 Problem Solving through search Uninformed Search
Last time: Problem-Solving
Search Methods – Lecture 5 Prof. Dieter Fensel (& James Scicluna)
Problem Solving by Searching
HW #1 Due 29/9/2008 Write Java Applet to solve Goats and Cabbage “Missionaries and cannibals” problem with the following search algorithms: Breadth first.
Depth-First Searches Introduction to AI.
Artificial Intelligence
Heuristic Search Methods
Introducing Underestimates
CPSC 322 Introduction to Artificial Intelligence
UNINFORMED SEARCH -BFS -DFS -DFIS - Bidirectional
CMSC 471 Fall 2011 Class #4 Tue 9/13/11 Uninformed Search
Tree Searching Strategies
Lecture 4: Tree Search Strategies
Basic Search Methods How to solve the control problem in production-rule systems? Basic techniques to find paths through state- nets. For the moment: -
Depth-First Searches.
Presentation transcript:

Search  Exhaustive/Blind Search Methods Depth First Search Breadth First Search  Heuristic Methods Hill Climbing Beam Search Best First Search…

Goal  You should be able to tell if search is the best way to solve a problem and  If so, which search method is most suitable

Find a Path s A D B E C F G

 Shortest Path  Any Path  Blind Search BFS DFS

Search Tree  List all possible paths  Eliminate cycles from paths  Result: A search tree A special kind of semantic tree where each node denotes a path

Search Tree – Terminology  Root Node  Leaf Node  Ancestor/Descendant  Branching factor  Complete path/Partial path  Expanding open nodes results in closed nodes

Search Trees - Analysis  Exponential explosion of possible paths  Branching factor b, Depth d, how many possible paths?

Depth First Search (DFS)  Form a one element queue consisting of a zero- length path that only contains root  Until the first path in the queue terminates at the goal node or the queue is empty Remove the first path from the queue; create new paths by extending the first path to all neighbors of the terminal node Reject all new paths with loops Add the new paths if any to the FRONT of the queue  If the goal node is found  success; else failure

Breadth First Search (BFS)  Form a one element queue consisting of a zero- length path that only contains root  Until the first path in the queue terminates at the goal node or the queue is empty Remove the first path from the queue; create new paths by extending the first path to all neighbors of the terminal node Reject all new paths with loops Add the new paths if any to the BACK of the queue  If the goal node is found  success; else failure

BFS or DFS  DFS is good when partial paths quickly reach dead ends or become complete paths. DFS is bad when there are long paths (infinite)  BFS works on trees that are effectively infinitely deep, bad when all paths lead to the goal node at more or less the same depth. BFS is not good when b is large

NonDeterministic Search  Form a one element queue consisting of a zero- length path that only contains root  Until the first path in the queue terminates at the goal node or the queue is empty Remove the first path from the queue; create new paths by extending the first path to all neighbors of the terminal node Reject all new paths with loops Add the new paths at RANDOM places in the queue  If the goal node is found  success; else failure

NDFS  When you do not have enough information to choose between BFS and DFS