• 沒有找到結果。

Problem-Solving Agents

N/A
N/A
Protected

Academic year: 2022

Share "Problem-Solving Agents"

Copied!
10
0
0

加載中.... (立即查看全文)

全文

(1)

20070315 chap3 1

Chapter3

Solving Problems by Searching

20070315 chap3 2

Problem-Solving Agents

• Reflex agents cannot work well in those environments - state/action mapping too large

- take too long to learn

• Problem-solving agent

- is one kind of goal-based agent

- decides what to do by finding sequences of actions that lead to desirable states

20070315 chap3 3

Problem Solving Agents

(cont.)

• Formulation

- Goal formulation (final state)

- Problem formulation (decide what actions and states to consider)

• Search (look for solution i.e.action sequence)

• Execution (follow states in solution)

Assume the environment isstatic, observable, discrete, deterministic

20070315 chap3 4

Well-defined Problems and Solutions

A problemcan be defined by - Initial state In(Arad)

- Possible actions (or successor function)

{<Go(Sibiu), In(Sibiu)>, <Go(Timi), In(Timi)>, <Go(Zerind), In(Zerind)>}

- Goal test {In(Bucharest)}

- Path cost function

Step cost: c(x, a, y)

taking action a to go from state x to state y

Optimal solution

the lowest path cost among all solutions state spaceof a problem

5

Example: Romania

6

Example Problems

Toy problems

Vacuum World, 8-Puzzle, 8-Queens Problem, Cryptarithmetic, Missionaries and Cannibals

Real-world problems

Route finding, Touring problems Traveling salesman problem, VLSI layout, Robot navigation, Assembly sequencing,

Protein Design, Internet Searching

(2)

20070315 chap3 7

Vacuum World

20070315 chap3 8

Vacuum World

(cont.)

States:

agent location, each location might or might not contain dirt

# of possible states = 2* 2 2 = 8

Initial state: any possible state

Successor function: possible actions (left, Right, Suck)

Goal test: check whether all the squares are clean

Path cost:the number of steps, each step cost 1

20070315 chap3 9

The 8-Puzzle

• States: location of each of the eight tiles and the blank tile

# of possible states = 9!/2 = 181,440 --- 9!/4 ???

• Initial state: any state

• Successor function: blank moves(left, Right, Up, Down)

• Goal test: check whether the state match as the goal configuration

• Path cost:the number of steps, each step cost 1

20070315 chap3 10

The 8-Queens

Incremental formulation vs.

complete-stateformulation

States-I-1: 0-8 queens on board

• Successor function-I-1:

add a queen to any square

# of possible states = (64*63*…*57= )

• States-I-2: 0-8 non-attacking queens on board

• Successor function-I-2:

add a queen to a non-attacking square in the left-most empty column

# of possible states = 2057 --- ???

• Goal test: 8 queens on board, none attacked

• Path cost:of no interest (since only the final state count) 1014

* 3

Robotic Assembly

• States: real-valued coordinates of robot joint angles

Basic Search Algorithms

How do we find the solutions of previous problems?

- Search the state space (remember complexity of space depends on state representation)

- Here: search through explicittreegeneration ROOT= initial state.

(3)

20070315 chap3 13

Tree Search Algorithms

20070315 chap3 14

Simple Tree Search Example

function TREE-SEARCH(problem, strategy) return a solution or failure Initialize search tree to the initial state of the problem loop do

if no candidates for expansion then return failure choose leaf node for expansion according to strategy if node contains goal state then return solution

else expand the node and add resulting nodes to the search tree end

20070315 chap3 15

Simple tree search example

function TREE-SEARCH(problem, strategy) return a solution or failure Initialize search tree to the initial state of the problem

loop do

if no candidates for expansion then return failure choose leaf node for expansion according to strategy if node contains goal state then return solution

else expand the node and add resulting nodes to the search tree end

20070315 chap3 16

Simple tree search example

function TREE-SEARCH(problem, strategy) return a solution or failure Initialize search tree to the initial state of the problem

loop do

if no candidates for expansion then return failure choose leaf node for expansion according to strategy if node contains goal state then return solution

else expand the node and add resulting nodes to the search tree end

← Determines search process!!

17

State Space vs. Search Tree

State: a (representation of) a physical configuration

Node: a data structure belong to a search tree

< State, Parent-Node, Action, Path-Cost, Depth>

Fringe: contains generated nodes which are not yet expanded.

18

General Tree-Search Algorithm

(4)

20070315 chap3 19

Search Strategies

A strategy is defined bypicking the order of node expansion

Strategies are evaluated along

-Completeness---Is it guaranteed that a solution will be found (if one exists)?

-Time complexity--- How long does it take to find a solution?

-Space complexity--- How much memory is needed to perform a search?

-Optimality--- Is the best solution found when several solutions exist?

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 ∞)

20070315 chap3 20

Uninformed Search Strategies

• Breadth-first search

-Tree-Search( problem, FIFO-Queue() ) - Expand the shallowestnode in the fringe.

- It is both optimal and complete.

• Uniform-cost search

• Depth-first search

- Expand the deepest node in the fringe.

- It is neither complete nor optimal. Why?

• Depth-limited search

• Iterative deepening search

- Try all possible depth limits in depth limited search.

- It is both optimal and complete.

use only the information available in the problem definition

do not use state information to decide the order on which nodes are expanded

20070315 chap3 21

Breadth-First Search

Tree-Search(problem, FIFO-Queue())

• Fringe is a FIFO queue, i.e., new successors go at end

• Expand the shallowestunexpanded node

20070315 chap3 22

Analysis of Breadth-First Search

Complete?? Yes (if b is finite)

Time??

expand all but the last node at level d i.e. exp. in d

Space??

keep every node in memory

Optimal??Yes (if cost = 1 per step);

not optimal in general (unless actions have different cost) ) ( ) (

1+b+b2+L+bd+ bd+1b =Obd+1

) (bd+1 O

Analysis of Breadth-First Search

(cont.)

Spaceis the bigger problem (more than time) If d = 8, it will take 31 hours with 1 terabytes.

Exponential complexity search problems cannot be solved by uninformed search methods for any but the smallest instances.

1 megabyte 0.11

seconds 1100 2

MEMORY TIME

NODES DEPTH

Uniform Cost Search

• Each node n has a path cost g(n).

• Expand lowest path costunexpanded node.

• Fringe is queue ordered by path cost.

• It will find the cheapestsolution provided that

i.e. Every operator has a nonnegative cost.

) ( )) ( (

.gSuccessorn g n

n

(5)

20070315 chap3 25

Uniform Cost Search

(cont.)

20070315 chap3 26

Analysis of Uniform Cost Search

Complete?? Yes (if step cost >= ε) Time??

Where C*is the cost of the optimal solution Space??

Optimal??Nodes expanded in increasing order of g(n) Yes, if complete

⎡ ⎤) (bC*/ε O

⎡ ⎤) (bC*/ε O

20070315 chap3 27

Depth-First Search

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

20070315 chap3 28

Depth-First Search

(cont.-1)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

29

Depth-First Search

(cont.-2)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

30

Depth-First Search

(cont.-3)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

(6)

20070315 chap3 31

Depth-First Search

(cont.-4)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

20070315 chap3 32

Depth-First Search

(cont.-5)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

20070315 chap3 33

Depth-First Search

(cont.-6)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

20070315 chap3 34

Depth-First Search

(cont.-7)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

Depth-First Search

(cont.-8)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

Depth-First Search

(cont.-9)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

(7)

20070315 chap3 37

Depth-First Search

(cont.-10)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

20070315 chap3 38

Depth-First Search

(cont.-11)

Tree-Search(problem, LIFO-Queue())

• Fringe is a LIFO queue,

i.e., stack, put successors at front.

• Expand the deepest unexpanded node

20070315 chap3 39

Analysis of Depth-First Search

Complete??

No: fails in indefinite-depth spaces, spaces with loops Modify to avoid repeated states along path

⇒ Complete in finite spaces

Time?? : terrible if m is much larger than d (m: the maximum depth of any node,

d: depth of the shallowest solution)

But if solutions are dense, may be much faster than breadth-first Space?? O(bm), i.e., linear space

Optimal??No

If d = 12, b= 10,

Space: 10 petabytes for BFS; 118 KB for DFS )

(bm O

20070315 chap3 40

Analysis of Depth-First Search

(cont.)

• Time requirement:

- Goal at the far left: d+1 - Goal at the far right:

- Average: (How is the average derived?)

) 1 ( 2

1 2

− + +

+

b d b bd bd

1

1 1

+b bd

41

Depth-limited Search

The unbounded trees can be alleviated by supplying depth-first search with a predetermined depth limit l.

Failure (no solution) / Cutoff (no solution within the depth limit)

42

Analysis of Depth-Limit Search

Complete??Yes, if l >= d

if l <=d , the shallowest goal is beyond the depth limit.

Time??

Space?? O(bl) Optimal??No

DFS can be viewed as

a special case of depth-limit search with l =

Diameterof state space is a better depth limit, which leads to a more efficient depth-limit search e.g. diameter = 9, for the map of Romania of 20 cities

) (

2 ...

1

0 l l

b O b b b

b + + + + =

(8)

20070315 chap3 43

Iterative Deepening Search

20070315 chap3 44

Iterative Deepening Search

(cont.-1)

20070315 chap3 45

Iterative Deepening Search

(cont.-2)

20070315 chap3 46

Iterative Deepening Search

(cont.-3)

Iterative Deepening Search

(cont.-4)

Analysis of Iterative Deepening Search

Complete?? Yes.

Time??

Space?? O(bd)

Optimal??Yes, if step cost = 1

Can be modified to explore uniform-cost tree.

If b = 10, d = 5,

) ( ...

) 1 ( ) 1

(d+ b0+db1+ db2+ +bd=Obd

NBFS= 1 + 10 + 100 + 1,000 + 10,000 + 999,990 = 1,111,101 N = 1 + 10 + 100 +1,000 + 10,000 + 100,000 = 111,111

(9)

20070315 chap3 49

Bidirectional Search

• Search forward from the initial state.

Generate successors to the current node.

• Search backward from the goal.

Generate predecessors to the current node.

• Stop when two searches meet in the middle.

20070315 chap3 50

Bidirectional Search

(cont.-1)

Two simultaneous searches from start an goal.

- Motivation:

Check whether the node belongs to the other fringe before expansion.

Space complexity is the most significant weakness.

Complete and optimal if both searches are BF.

bd / 2+ bd / 2≠ bd

20070315 chap3 51

Bidirectional Search

(cont.-2)

Issues:

• If all operators are reversible, predecessor(n) = successor(n)

• Multiple goal states

• Cost of checking if a node exists

• Search strategy for each half ?

20070315 chap3 52

Comparing Uninformed Search Strategies

• b: the branching factor

• d: the depth of the shallowest solution

• m: the maximum depth of the search tree

• l: the depth limit

53

Comparing Uninformed Search Strategies

(cont.)

Issues considered in selecting search strategies:

• size of the search space

• depth of the solution

• solution density

• finite vs. infinite depth

• any vs. all solutions

• optimality?

• predecessors?

54

Avoid Repeated States

• Do not return to the previous state.

• Do not create paths with cycles.

• Do not generate the same state twice.

- Store states in a hash table.

- Check for repeated states.

(10)

20070315 chap3 55

Graph Search

• To modify “Tree Search Algorithm” by adding closed list--- to store every expanded node

參考文獻

相關文件

if no candidates for expansion then return failure choose leaf node for expansion according to strategy if node contains goal state then return solution. else expand the node and

In computer science, the treap and the randomized binary search tree are two closely related forms of binary search tree data structures that maintain a dynamic set of ordered keys

Motivated by recent work of Hajela, we here reconsider the problem of determining the minimum distance between output sequences of an ideal band-limiting channel,

Even if the distribution of search key is skewed, the choice of a good hashing function typically yields a fairly uniform distribution of hash values; skew is therefore not a

Chun-Chuan Chou, A Study Of Stamp problem, Thesis for Master of Science, De- partment of Applied Mathematics, National Chiao Tung University, Hsinchu,

The cross-section is a hexagon, and the shape of the solid looks like the union of two umbrellas..

W ANG , A general projection neural network for solving monotone variational inequalities and related optimization problems, IEEE Transactions on Neural Networks, 15 (2004)

(1996), Global behaviour of a class of merit functions for the nonlinear complementarity problem, Journal of Optimization Theory and Applications, vol.. (2000), A new