• Keine Ergebnisse gefunden

9. State-Space Search: Tree Search and Graph Search

N/A
N/A
Protected

Academic year: 2022

Aktie "9. State-Space Search: Tree Search and Graph Search"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Foundations of Artificial Intelligence

9. State-Space Search: Tree Search and Graph Search

Malte Helmert

University of Basel

March 15, 2021

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 1 / 23

Foundations of Artificial Intelligence

March 15, 2021 — 9. State-Space Search: Tree Search and Graph Search

9.1 Introduction 9.2 Tree Search 9.3 Graph Search

9.4 Evaluating Search Algorithms 9.5 Summary

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 2 / 23

State-Space Search: Overview

Chapter overview: state-space search I 5.–7. Foundations

I 8.–12. Basic Algorithms

I 8. Data Structures for Search Algorithms I 9. Tree Search and Graph Search I 10. Breadth-first Search

I 11. Uniform Cost Search

I 12. Depth-first Search and Iterative Deepening I 13.–19. Heuristic Algorithms

9. State-Space Search: Tree Search and Graph Search Introduction

9.1 Introduction

(2)

9. State-Space Search: Tree Search and Graph Search Introduction

Search Algorithms

General Search Algorithm I Starting with initial state,

I repeatedly expand a state by generating its successors.

I Stop when a goal state is expanded

I or all reachable states have been considered.

In this chapter, we study two essential classes of search algorithms:

I tree search and I graph search

(Each class consists of a large number of concrete algorithms.) German: expandieren, erzeugen, Baumsuche, Graphensuche

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 5 / 23

9. State-Space Search: Tree Search and Graph Search Tree Search

9.2 Tree Search

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 6 / 23

9. State-Space Search: Tree Search and Graph Search Tree Search

Tree Search

Tree Search

I possible paths to be explored organized in a tree (search tree) I search nodes correspond 1:1 to paths from initial state I duplicates (also: transpositions) possible,

i.e., multiple nodes with identical state I search tree can have unbounded depth German: Suchbaum, Duplikate, Transpositionen

9. State-Space Search: Tree Search and Graph Search Tree Search

Generic Tree Search Algorithm

Generic Tree Search Algorithm open := new OpenList

open.insert(make root node()) while not open.is empty():

n := open.pop() if is goal(n.state):

return extract path(n) for each ha, s

0

i ∈ succ(n.state):

n

0

:= make node(n, a, s

0

) open.insert(n

0

)

return unsolvable

(3)

9. State-Space Search: Tree Search and Graph Search Tree Search

Generic Tree Search Algorithm: Discussion

discussion:

I generic template for tree search algorithms for concrete algorithm, we must (at least) decide how to implement the open list

I concrete algorithms often conceptually follow template, (= generate the same search tree),

but deviate from details for efficiency reasons

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 9 / 23

9. State-Space Search: Tree Search and Graph Search Graph Search

9.3 Graph Search

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 10 / 23

9. State-Space Search: Tree Search and Graph Search Graph Search

Reminder: Tree Search

reminder:

Tree Search

I possible paths to be explored organized in a tree (search tree) I search nodes correspond 1:1 to paths from initial state I duplicates (also: transpositions) possible,

i.e., multiple nodes with identical state I search tree can have unbounded depth

9. State-Space Search: Tree Search and Graph Search Graph Search

Graph Search

Graph Search

differences to tree search:

I recognize duplicates: when a state is reached on multiple paths, only keep one search node I search nodes correspond 1:1 to reachable states I search tree bounded, as number of states is finite remarks:

I some graph search algorithms do not immediately eliminate all duplicates ( later)

I one possible reason: find optimal solutions when a path

(4)

9. State-Space Search: Tree Search and Graph Search Graph Search

Generic Graph Search Algorithm

Generic Graph Search Algorithm open := new OpenList

open.insert(make root node()) closed := new ClosedList while not open.is empty():

n := open.pop()

if closed.lookup(n.state) = none:

closed.insert(n) if is goal(n.state):

return extract path(n) for each ha, s

0

i ∈ succ(n.state):

n

0

:= make node(n, a, s

0

) open.insert(n

0

)

return unsolvable

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 13 / 23

9. State-Space Search: Tree Search and Graph Search Graph Search

Generic Graph Search Algorithm: Discussion

discussion:

I same comments as for generic tree search apply I in “pure” algorithm, closed list does not actually

need to store the search nodes

I sufficient to implement closed as set of states I advanced algorithms often need access to the nodes,

hence we show this more general version here

I some variants perform goal and duplicate tests elsewhere (earlier) following chapters

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 14 / 23

9. State-Space Search: Tree Search and Graph Search Evaluating Search Algorithms

9.4 Evaluating Search Algorithms

9. State-Space Search: Tree Search and Graph Search Evaluating Search Algorithms

Criteria: Completeness

four criteria for evaluating search algorithms:

Completeness

Is the algorithm guaranteed to find a solution if one exists?

Does it terminate if no solution exists?

first property: semi-complete both properties: complete

German: Vollst¨ andigkeit, semi-vollst¨ andig, vollst¨ andig

(5)

9. State-Space Search: Tree Search and Graph Search Evaluating Search Algorithms

Criteria: Optimality

four criteria for evaluating search algorithms:

Optimality

Are the solutions returned by the algorithm always optimal?

German: Optimalit¨ at

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 17 / 23

9. State-Space Search: Tree Search and Graph Search Evaluating Search Algorithms

Criteria: Time Complexity

four criteria for evaluating search algorithms:

Time Complexity

How much time does the algorithm need until termination?

I usually worst case analysis

I usually measured in generated nodes often a function of the following quantities:

I b: (branching factor) of state space (max. number of successors of a state) I d : search depth

(length of longest path in generated search tree) German: Zeitaufwand, Verzweigungsgrad, Suchtiefe

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 18 / 23

9. State-Space Search: Tree Search and Graph Search Evaluating Search Algorithms

Criteria: Space Complexity

four criteria for evaluating search algorithms:

Space Complexity

How much memory does the algorithm use?

I usually worst case analysis

I usually measured in (concurrently) stored nodes often a function of the following quantities:

I b: (branching factor) of state space (max. number of successors of a state) I d : search depth

(length of longest path in generated search tree)

9. State-Space Search: Tree Search and Graph Search Evaluating Search Algorithms

Analyzing the Generic Search Algorithms

Generic Tree Search Algorithm

I Is it complete? Is it semi-complete?

I Is it optimal?

I What is its worst-case time complexity?

I What is its worst-case space complexity?

Generic Graph Search Algorithm

I Is it complete? Is it semi-complete?

I Is it optimal?

I What is its worst-case time complexity?

(6)

9. State-Space Search: Tree Search and Graph Search Summary

9.5 Summary

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 21 / 23

9. State-Space Search: Tree Search and Graph Search Summary

Summary (1)

tree search:

I search nodes correspond 1:1 to paths from initial state graph search:

I search nodes correspond 1:1 to reachable states duplicate elimination

generic methods with many possible variants

M. Helmert (University of Basel) Foundations of Artificial Intelligence March 15, 2021 22 / 23

9. State-Space Search: Tree Search and Graph Search Summary

Summary (2)

evaluating search algorithms:

I completeness and semi-completeness I optimality

I time complexity and space complexity

Referenzen

ÄHNLICHE DOKUMENTE

recognize duplicates: when a state is reached on multiple paths, only keep one search node search nodes correspond 1:1 to reachable states search tree bounded, as number of states

breadth-first search ( this chapter) uniform cost search ( Chapter 11) depth-first search ( Chapter 12) depth-limited search ( Chapter 12) iterative deepening search ( Chapter

I breadth-first search ( this chapter) I uniform cost search ( Chapter 11) I depth-first search ( Chapter 12) I depth-limited search ( Chapter 12) I iterative deepening search (

breadth-first search optimal if all action costs equal otherwise no optimality guarantee example:.. remedy: uniform

uniform cost search: expand nodes in order of ascending path costs. I usually as a

Theorem (time complextive of iterative deepening DFS) Let b be the branching factor and d be the minimal solution length of the given state space. State-Space Search: Depth-first

Helmert (University of Basel) Foundations of Artificial Intelligence March 24, 2021 2 / 16.. State-Space

I In IDDFS, we grow the limit from the smallest limit that gives a non-empty search tree (0) by 1 at a time. I This usually leads to exponential growth of