Solving problems by searching

43
Solving problems by searching Chapter 3, part 2 Modified by Vali Derhami

description

Solving problems by searching. Chapter 3, part 2 Modified by Vali Derhami. Implementation: general tree search. انتخاب گره از مجموعه لبه براي گسترش بر اساس استراتژی جستجو. بررسي رسيدن به هدف براي گره انتخابي. بسط گره انتخابي و درج در صف. Search strategies. - PowerPoint PPT Presentation

Transcript of Solving problems by searching

Solving problems by searching

Chapter 3, part 2Modified by Vali Derhami

2/43

Implementation: general tree search

بر انتخاب گره از مجموعه لبه براي گسترش

اساس استراتژی جستجو.

.بررسي رسيدن به هدف براي گره انتخابي

بسط گره انتخابي و درج در صف

3/43

Search strategies

A search strategy is defined by picking the order of node expansion Strategies are evaluated along the following dimensions:

completeness: does it always find a solution if one exists? time complexity: How long does it take to find solution (number of nodes generated) space complexity: How much memory is needed to perform the search? maximum

number of nodes in memory optimality: does it always find a optimal solution?

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

طوالني ترين مسير در فضاي حالت

4/43

Uninformed search strategies

Uninformed search strategies use only the information available in the problem definition

Breadth-first search Uniform-cost search Depth-first search Depth-limited search Iterative deepening search

5/43

Breadth-first searchجستجوي اول سطح

Expand shallowest unexpanded nodeگسترش دادن سطحي ترين گره هاي گسترش نيافته

Implementation: fringe is a FIFO queue, i.e., new successors

go at end

6/43

Breadth-first searchجستجوي اول سطح

Expand shallowest unexpanded nodeگسترش دادن سطحي ترين گره هاي گسترش نيافته

Implementation: fringe is a FIFO queue, i.e., new successors

go at end

7/43

Breadth-first searchجستجوي اول سطح

Expand shallowest unexpanded nodeگسترش دادن سطحي ترين گره هاي گسترش نيافته

Implementation: fringe is a FIFO queue, i.e., new successors

go at end

8/43

Breadth-first searchجستجوي اول سطح

Expand shallowest unexpanded nodeگسترش دادن سطحي ترين گره هاي گسترش نيافته

Implementation: fringe is a FIFO queue, i.e., new successors

go at end

9/43

Properties of breadth-first search

Complete? Yes (if b is finite) Time?

b+b2+b3+… +bd + b(bd-1) = O(bd+1)تعداد گره هاي توليد شده: Space? O(bd+1) (keeps every node in memory)

Space is the bigger problem (more than time) براي جز به نمايي پيچيدگي جستجوي با مسائل

حل قابل ناآگاهانه روشهاي توسط كوچك هاي نمونهنيستند

Optimal? Yes (if cost = 1 per step)

10/43

11/43

Uniform-cost searchجستجوي هزينه يكنواخت

Expand least-cost unexpanded node fringe = queue ordered by path cost

Equivalent to breadth-first if step costs all equal O(b[1+(C*/ ε)]) can be much greater than O(bd) Space? # of nodes with g ≤ cost of optimal solution, O(b [(C*/ ε)]) Optimal? Yes –if step cost ≥ ε

Complete? Yes, if step cost ≥ ε Time? # of nodes with g ≤ cost of optimal solution,

O(b[1+(C*/ ε)]) where C* is the cost of the optimal solution

Implementation:

12/43

Depth-first searchجستجوي عمق اول

Expand deepest unexpanded node Implementation:

fringe = LIFO queue, i.e., put successors at front

نيافته گسترش گره ترين عميق گسترش

13/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

14/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

15/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

16/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

17/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

اين سه گره مشكي ازحافظه پاك مي

.شود

18/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

19/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

20/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

21/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

22/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

23/43

Depth-first search

Expand deepest unexpanded node fringe = LIFO queue, i.e., put successors at front

Implementation:

24/43

Properties of depth-first search

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

complete in finite spaces

Time? O(bm): terrible if m is much larger than dmحداكثر عمق هر گره

but if solutions are dense, may be much faster than breadth-first

Space? bm+1, O(bm), i.e., linear space! Optimal? No

25/43

Depth-first search

Back tracking search: A type of Depth- firt

search

Back Traking: only one successor is

generated at a time rather than all

successors Space: O(m)

26/43

Depth-limited search

= depth-first search with depth limit l,i.e., nodes at depth l

محدود باشد m آنگاه كامل نيست حتي اگر d>lاگر انتخاب شود غير بهينه است. d<lاگر

Time? O(b l ), Space? bl+1, O(bl), L=∞ => Depth firth

27/43

Depth-limited search

Recursive implementation:

28/43

Iterative deepening searchجستجوي عميق شونده تكراري

جستجوي اول عمق كه بهترين محدوديت عمق را با افزايش تدريجي محدوديت تا زماني كه

به هدف رسد ،مي يابد. مزاياي هر دو روش اول عمق و جستجوي

.سطح اول

29/43

Iterative deepening search l =0

30/43

Iterative deepening search l =1

31/43

Iterative deepening search l =2

32/43

Iterative deepening search l =3

33/43

Iterative deepening search Number of nodes generated in a depth-limited search to depth

d with branching factor b: NDLS = b1 + b2 + … + bd-2 + bd-1 + bd

Number of nodes generated in an iterative deepening search to depth d with branching factor b:

NIDS = d b1 + (d-1)b2 + … + 3bd-2 +2bd-1 + 1bd

For b = 10, d = 5, NIDS = 50 + 400 + 3,000 + 20,000 + 100,000 = 123,450 NBFS = 10 + 100 + 1,000 + 10,000 + 100,000 + 999,990 =

1,111,100.

Overhead = (123,456 - 111,111)/111,111 = 11%

34/43

Properties of iterative deepening search

Complete? Yes Time? d b1 + (d-1)b2 + … + bd = O(bd) Space? O(bd) Optimal? Yes, if step cost = 1

35/43

Bidirectional searchجستجوي دو طرفه

انجام جستجوي همزمان يكي از حالت اوليه به سمتجلو و ديگري از هدف به سمت عقب

.توقف وقتي كه دو جستجو به هم مي رسند Time: O(bd/2)+ O(bd/2)= O(bd/2) << O(bd) Space: O(bd/2)

.مهمترين ضعف هم اين نياز به فضا است Complete and optimal (for uniform step

costs) if both searches are breadth-first; other combinations may sacrifice completeness, optimality, or both.

36/43

Summary of algorithms

37/43

Repeated states

Failure to detect repeated states can turn a linear problem into an exponential one!

38/43

Graph search

39/43

انواع مساله

- مسايل تك حالته1 در محيط هاي قطعي و كامال رويت پذيرDeterministic, fully observable عامل اطالعات كامل)Global information( از محيط و اثر عمليات خود را

مي داند.- مسايل بدون حس گر (منطبق) (چند حالته هم ناميده مي شود.)2

در محيطهاي قطعي.عامل وضعيت فعلي خود را نميداند ولي اثر عمليات خود را مي داند

Contingency- مسايل اقتضايي 3محيط نيمه رويت پذير و يا غير قطعي.عامل اثر عمليات خود را نمي داند اگر نايقيني ناشي از اقدام عامل ديگر مساله را تخاصمي)Adversarial (.گويند

exploration Problem- مسايل اكتشافي 4 حالتها و اقدامات ناشناخته

40/43

Example: vacuum world

Single-state, start in #5. Solution?

41/43

Example: vacuum world

Single-state, start in #5. Solution? [Right, Suck]

Sensorless, start in {1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution?

42/43

Example: vacuum world

Sensorless, start in {1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution? [Right,Suck,Left,Suck]

Contingency Nondeterministic: Suck may

dirty a clean carpet Partially observable: location, dirt at current location. Percept: [L, Clean], i.e., start in #5 or #7

Solution?

43/43

Example: vacuum world

Sensorless, start in {1,2,3,4,5,6,7,8} e.g., Right goes to {2,4,6,8} Solution? [Right,Suck,Left,Suck]

Contingency Nondeterministic: Suck may

dirty a clean carpet Partially observable: location, dirt at current location. Percept: [L, Clean], i.e., start in #5 or #7

Solution? [Right, if dirt then Suck]