Download presentation
Presentation is loading. Please wait.
Published byHenry Denis Page Modified over 8 years ago
1
Solving problems by searching Chapter 3, part 2 Modified by Vali Derhami
2
2/43 Implementation: general tree search انتخاب گره از مجموعه لبه براي گسترش بر اساس استراتژی جستجو. بررسي رسيدن به هدف براي گره انتخابي. بسط گره انتخابي و درج در صف
3
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
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
5/43 Breadth-first search جستجوي اول سطح Expand shallowest unexpanded node گسترش دادن سطحي ترين گره هاي گسترش نيافته Implementation: fringe is a FIFO queue, i.e., new successors go at end
6
6/43 Breadth-first search جستجوي اول سطح Expand shallowest unexpanded node گسترش دادن سطحي ترين گره هاي گسترش نيافته Implementation: fringe is a FIFO queue, i.e., new successors go at end
7
7/43 Breadth-first search جستجوي اول سطح Expand shallowest unexpanded node گسترش دادن سطحي ترين گره هاي گسترش نيافته Implementation: fringe is a FIFO queue, i.e., new successors go at end
8
8/43 Breadth-first search جستجوي اول سطح Expand shallowest unexpanded node گسترش دادن سطحي ترين گره هاي گسترش نيافته Implementation: fringe is a FIFO queue, i.e., new successors go at end
9
9/43 Properties of breadth-first search Complete? Yes (if b is finite) Time? :تعداد گره هاي توليد شدهb+b 2 +b 3 +… +b d + b(b d -1) = O(b d+1 ) Space? O(b d+1 ) (keeps every node in memory) Optimal? Yes (if cost = 1 per step) Space is the bigger problem (more than time) مسائل با جستجوي پيچيدگي نمايي به جز براي نمونه هاي كوچك توسط روشهاي ناآگاهانه قابل حل نيستند
10
10/43
11
11/43 Uniform-cost search جستجوي هزينه يكنواخت Expand least-cost unexpanded node Implementation: fringe = queue ordered by path cost Equivalent to breadth-first if step costs all equal 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 O(b [1+(C*/ ε)] ) can be much greater than O(b d ) Space? # of nodes with g ≤ cost of optimal solution, O(b [(C*/ ε)] ) Optimal? Yes –if step cost ≥ ε
12
12/43 Depth-first search جستجوي عمق اول Expand deepest unexpanded node گسترش عميق ترين گره گسترش نيافته Implementation: fringe = LIFO queue, i.e., put successors at front
13
13/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
14
14/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
15
15/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
16
16/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
17
17/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front اين سه گره مشكي ازحافظه پاك مي شود.
18
18/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
19
19/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
20
20/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
21
21/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
22
22/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
23
23/43 Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front
24
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(b m ): terrible if m is much larger than d mحداكثر عمق هر گره but if solutions are dense, may be much faster than breadth-first Space? bm+1, O(bm), i.e., linear space! Optimal? No
25
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
26/43 Depth-limited search = depth-first search with depth limit l,i.e., nodes at depth l اگر d>l آنگاه كامل نيست حتي اگر m محدود باشد اگر d<l انتخاب شود غير بهينه است. Time? O(b l ), Space? bl+1, O(bl), L=∞ => Depth firth
27
27/43 Depth-limited search Recursive implementation:
28
28/43 Iterative deepening search جستجوي عميق شونده تكراري جستجوي اول عمق كه بهترين محدوديت عمق را با افزايش تدريجي محدوديت تا زماني كه به هدف رسد ،مي يابد. مزاياي هر دو روش اول عمق و جستجوي سطح اول.
29
29/43 Iterative deepening search l =0
30
30/43 Iterative deepening search l =1
31
31/43 Iterative deepening search l =2
32
32/43 Iterative deepening search l =3
33
33/43 Iterative deepening search Number of nodes generated in a depth-limited search to depth d with branching factor b: N DLS = b 1 + b 2 + … + b d-2 + b d-1 + b d Number of nodes generated in an iterative deepening search to depth d with branching factor b: N IDS = d b 1 + (d-1)b 2 + … + 3b d-2 +2b d-1 + 1b d For b = 10, d = 5, N IDS = 50 + 400 + 3,000 + 20,000 + 100,000 = 123,450 N BFS = 10 + 100 + 1,000 + 10,000 + 100,000 + 999,990 = 1,111,100. Overhead = (123,456 - 111,111)/111,111 = 11%
34
34/43 Properties of iterative deepening search Complete? Yes Time? d b 1 + (d-1)b 2 + … + b d = O(b d ) Space? O(bd) Optimal? Yes, if step cost = 1
35
35/43 Bidirectional search جستجوي دو طرفه انجام جستجوي همزمان يكي از حالت اوليه به سمت جلو و ديگري از هدف به سمت عقب توقف وقتي كه دو جستجو به هم مي رسند. Time: O(b d/2 )+ O(b d/2 )= O(b d/2 ) << O(b d ) Space: O(b d/2 ) مهمترين ضعف هم اين نياز به فضا است. Complete and optimal (for uniform step costs) if both searches are breadth-first; other combinations may sacrifice completeness, optimality, or both.
36
36/43 Summary of algorithms
37
37/43 Repeated states Failure to detect repeated states can turn a linear problem into an exponential one!
38
38/43 Graph search
39
39/43 انواع مساله 1- مسايل تك حالته در محيط هاي قطعي و كاملا رويت پذير Deterministic, fully observable عامل اطلاعات كامل (Global information)از محيط و اثر عمليات خود را مي داند. 2- مسايل بدون حس گر (منطبق) (چند حالته هم ناميده مي شود.) در محيطهاي قطعي عامل وضعيت فعلي خود را نميداند ولي اثر عمليات خود را مي داند. 3- مسايل اقتضايي Contingency محيط نيمه رويت پذير و يا غير قطعي عامل اثر عمليات خود را نمي داند. اگر نايقيني ناشي از اقدام عامل ديگر مساله را تخاصمي (Adversarial) گويند. 4- مسايل اكتشافي exploration Problem حالتها و اقدامات ناشناخته
40
40/43 Example: vacuum world Single-state, start in #5. Solution?
41
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
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/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]
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.