1 / 45

Solving problems by searching

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

carsyn
Download Presentation

Solving problems by searching

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Implementation: general tree search • انتخاب گره از مجموعه لبه براي گسترشبر اساس استراتژی جستجو. • بررسي رسيدن به هدف براي گره انتخابي. • بسط گره انتخابي و درج در صف

  3. Implementation: general tree search • The operations on a queue are as follows: • MAKE-QUEUE(elemen,...) creates a queue with the given element(s). • EMPTY?(queue) returns true only if there are no more elements in the queue. • FlRST(queue) returns the first element of the queue. • REMOVE-FiRST (queue) returns First(queue) and removes it from the queue. • lNSERT(element, queue) inserts an element into the queue and returns the resulting queue. (We will see that different types of queues insert elements in different orders.) • Insert- ALL(elements, queue) inserts a set of elements into the queue and returns the resulting queue.

  4. Implementation: general tree search

  5. 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 ∞) طولاني ترين مسير در فضاي حالت

  6. 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

  7. Breadth-first searchجستجوي اول سطح • Expand shallowest unexpanded node گسترش دادن سطحي ترين گره هاي گسترش نيافته • Implementation: • fringe is a FIFO queue, i.e., new successors go at end

  8. Breadth-first searchجستجوي اول سطح • Expand shallowest unexpanded node گسترش دادن سطحي ترين گره هاي گسترش نيافته • Implementation: • fringe is a FIFO queue, i.e., new successors go at end

  9. Breadth-first searchجستجوي اول سطح • Expand shallowest unexpanded node گسترش دادن سطحي ترين گره هاي گسترش نيافته • Implementation: • fringe is a FIFO queue, i.e., new successors go at end

  10. Breadth-first searchجستجوي اول سطح • Expand shallowest unexpanded node گسترش دادن سطحي ترين گره هاي گسترش نيافته • Implementation: • fringe is a FIFO queue, i.e., new successors go at end

  11. 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) Optimal? Yes (if cost = 1 per step) • Space is the bigger problem (more than time) مسائل با جستجوي پيچيدگي نمايي به جز براي نمونه هاي كوچك توسط روشهاي ناآگاهانه قابل حل نيستند

  12. 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(bd) • Space? # of nodes with g≤ cost of optimal solution, O(b [(C*/ ε)])Optimal? Yes –if step cost ≥ ε

  13. Depth-first searchجستجوي عمق اول • Expand deepest unexpanded node گسترش عميق ترين گره گسترش نيافته • Implementation: • fringe = LIFO queue, i.e., put successors at front

  14. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  15. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  16. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  17. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  18. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front اين سه گره مشكي ازحافظه پاك مي شود.

  19. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  20. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  21. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  22. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  23. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  24. Depth-first search • Expand deepest unexpanded node Implementation: • fringe = LIFO queue, i.e., put successors at front

  25. 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 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

  26. 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)

  27. 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

  28. Depth-limited search Recursive implementation:

  29. Iterative deepening searchجستجوي عميق شونده تكراري جستجوي اول عمق كه بهترين محدوديت عمق را با افزايش تدريجي محدوديت تا زماني كه به هدف رسد ،مي يابد. مزاياي هر دو روش اول عمق و جستجوي سطح اول.

  30. Iterative deepening search l =0

  31. Iterative deepening search l =1

  32. Iterative deepening search l =2

  33. Iterative deepening search l =3

  34. 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%

  35. 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

  36. 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.

  37. Summary of algorithms

  38. Repeated states • Failure to detect repeated states can turn a linear problem into an exponential one!

  39. Graph search

  40. انواع مساله 1- مسايل تك حالته • در محيط هاي قطعي و كاملا رويت پذير Deterministic, fully observable • عامل اطلاعات كامل (Global information)از محيط و اثر عمليات خود را مي داند. 2- مسايل بدون حس گر (منطبق) (چند حالته هم ناميده مي شود.) • در محيطهاي قطعي • عامل وضعيت فعلي خود را نميداند ولي اثر عمليات خود را مي داند. 3- مسايل اقتضايي Contingency • محيط نيمه رويت پذير و يا غير قطعي • عامل اثر عمليات خود را نمي داند. • اگر نايقيني ناشي از اقدام عامل ديگر مساله را تخاصمي (Adversarial) گويند. 4- مسايل اكتشافي exploration Problem • حالتها و اقدامات ناشناخته

  41. Example: vacuum world • Single-state, start in #5. Solution?

  42. 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?

  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 #7Solution?

  44. 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 #7Solution?[Right, if dirt then Suck]

More Related