Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Computer Group Engineering Department University of Science and Culture S. H. Davarpanah

Similar presentations


Presentation on theme: "1 Computer Group Engineering Department University of Science and Culture S. H. Davarpanah"— Presentation transcript:

1 1 Computer Group Engineering Department University of Science and Culture S. H. Davarpanah

2 2 A problem is represented by a triple (I, O, G) where: I - initial state, O - a set of operators on states (successor function), G - goal states. A solution to the problem is a finite sequence of applications of operators that changes the initial state into a goal state. The state-space representation of a problem Which is a solution for this (I, O, G) problem?

3 3 چرا جستجو؟ روندهاي جستجو در بسياري از زمينه ‌ هاي هوش مصنوعي بكار مي آيند، چرا كه خصوصيت سرياليتي كامپيوترهايي كه حل كننده اين مسائل مي ‌ باشند، ايجاب مي ‌ كند كه از الگوريتم ‌ هاي جستجو جهت يافتن جواب ‌ ها در بازه بسيار وسيعي از مسائل استفاده شود. از این رو يك مسئله مي ‌ تواند به مثابه يك هدف و مجموعه ‌ اي از فعاليت ‌ هاي به خدمت گرفته شده در جهت رسيدن به آن هدف باشد. لذا راه حل آن مسئله چیزی جستجحو در فضای حالات آن مسئله می باشد.

4 4 انواع مسائل مسائل به چهار دسته تقسیم می شوند : 1. مسائل تک حالته (Single State Problems) : حسگرها کاملا قوی می باشند، بطوریکه تمام محیط را بطور کامل دریافت می کنند. نتیجه هر عمل دقیقا مشخص می باشد. 2. مسائل چند حالته (Multiple State Problems) : حسگرها ضعیف بوده و یا اصلا حسگر نداریم. نتیجه هر عمل کاملا مشخص است. 3. مسائل احتمالی (Contingency Problems) : حسگرها وضعیت کامل محیط را نمی دهند. عامل از نتیجه عملش نیز مطلع نمی باشد. نکته : برای حل این مسائل باید از برنامه ریزی استفاده نمود. 4. مسائل اکتشافی (Exploration Problems) : حسگرها هیچ نقصی ندارند. کوچکترین اطلاعی از نتیجه عمل نداریم. نکته : تنها راه حل کسب تجربه است.

5 5 جستجوهاي داده محور يا هدف محور دو دسته عمده جستجوي يك درخت جستجو وجود دارد. اين دسته ‌ بندي تا حدودي بر همان روشهاي پايين به بالا و بالا به پايين منطبق است. جستجوهاي داده محور (Data-Driven Search ) از وضعيت اوليه شروع مي ‌ كنند و از عملگرها به منظور پيش ‌ روي تا رسيدن به وضعيت هدف استفاده مي ‌ نمايند. اين روش ‌ ها همچنين تحت عنوان زنجيره جلورونده (Forward Chaining ) نيز ناميده مي ‌ شوند. در عوض، جستجو مي ‌ تواند از وضعيت هدف شورع شود و به عقب برگردد تا به حالت اوليه برسد. در هنگام حركات بايد به سمت حالاتي برگشت كه بدانيم در جهت معكوس به هدف مي ‌ رسد. اين يك روش جستجو هدف محور (Goal-Driven Search) است و تحت عنوان زنجيره عقب رونده (Backward Chaining) نيز ناميده مي ‌ شود.

6 6 جستجوهاي داده محور يا هدف محور جستجوي هدف محور در مواقعي بيشتر مفيد مي ‌ باشد، چرا كه در آنها، هدف كاملاً مشخص است. جستجوي داده محور زماني مفيد است كه داده ‌ هاي اوليه در دسترس باشند و در عين حال مشخص نباشد كه هدف چيست. الگوریتمهای ارائه شده در این درس جستجوهای داده گرا می باشند.

7 Generic search algorithm Fringe = set of nodes generated but not expanded fringe := {initial state} loop: – if fringe empty, declare failure – choose and remove a node v from fringe – check if v’s state s is a goal state; if so, declare success – if not, expand v, insert resulting nodes into fringe Key question in search: Which of the generated nodes do we expand next?

8 8 Measuring the performance of the search methods Completeness Is the algorithm guaranteed to find a solution when there is one? Optimality Does the algorithm find the optimal solution (i.e. a solution with a minimum path cost)? Time complexity How long does it take to find a solution? Space complexity How much memory is needed to perform the search? What performance measures are important for a search method? مقبولیت الگوریتمی مقبول است که بهترین جواب را در بهترین زمان بیابد. برگشت ناپذیری روشهايي كه از برگشت به عقب استفاده مي ‌ كنند روشهاي سعي و خطا تلقي مي ‌ شوند. روشهايي كه از روش برگشت عقب استفاده نمي ‌ كنند و فقط يك مسير را امتحان مي ‌ نمايند، برگشت ‌ ناپذير ناميده مي ‌ شوند.

9 9 Complexity estimation factors Branching factor b – maximum number of successors of a node Depth d of the shallowest goal node Maximum length m of a path in the graph For a problem represented as an implicit graph (i.e. an initial state and a successor function) Time – measured in terms of the number of nodes generated during search Space – measured in terms of the maximum number of nodes stored in memory Search cost – based on time complexity and memory usage Total cost – combines search cost and path cost

10 10 Find a path from the city S to the city G: Another search problem Two broad classes of search methods: - uninformed (or blind) search methods; - heuristically informed search methods.

11 11 جستجوی کور و بینا اطلاعات الگوریتمهای کور در حد نحوه جابجايي در درخت جستجو مي باشد. در مورد اينكه چطور در داخل درخت جستجو جابجا شود و يا حتي نحوه تعيين برگ و يا هدف بودن يك نود محدود است و بايد بدون هيچ محدوديتي تك تك نودها را به ترتيبي خاص جستجو نمايد تا به هدف برسد. يك روش جستجو، مكاشفه ‌ اي آگاه است اگر اطلاعات اضافي درباره نودهايي كه هنوز بيان و بسط داده نشده ‌ اند داشته باشد تا بتواند تصميم بگيرد كه كدام نود را ابتدا بررسي نمايد. به عبارت ديگر، روشهاي جستجويي كه از مكاشفه ‌ ها استفاده مي ‌ نمايند آگاه هستند. لزومی ندارد که مکاشفه ها و در نتیجه نودهای انتخاب شونده کاملا درست باشند.

12 Uninformed search Given a state, we only know whether it is a goal state or not Cannot say one nongoal state looks better than another nongoal state Can only traverse state space blindly in hope of somehow hitting a goal state at some point – Also called blind search – Blind does not imply unsystematic!

13 13 (Generate and Test) توليد و تست الگوریتم ساده ‌ ترين راه براي جستجو، توليد و تست ناميده مي ‌ شود. براساس اين روش هر نود در فضاي جستجو توليد مي ‌ شود و تست مي ‌ گردد كه نود هدف است يا خير. اگر هدف است كه جستجو با موفقيت انجام شده است و نيازي به ادامه كار نيست. در غير اين صورت همين روال براي نود بعدي تكرار خواهد شد. به منظور موفقت، الگوريتم توليد و تست احتياج به يك توليدكننده مناسب دارد كه داراي سه خاصيت زير باشد : 1 - بايد كامل باشد يعني هر راه حل ممكن را توليد نمايد. چرا كه در غير اين صورت ممكن است يك راه حل مناسب را از دست بدهد. 2 - بايد افزونگي نداشته باشد. يعني يك راه حل را دو مرتبه توليد ننمايد. 3 - بايد مطلع باشد. يعني فقط بايد راه ‌ حل ‌ هاي مناسب پيشنهاد دهد و هر راه حلي را كه با فضاي جستجو سازگار نيست مورد بررسي قرار ندهد.

14 14 (Generate and Test) توليد و تست الگوریتم در زندگي روزمره مردم نيز در هنگامي كه اطلاعات اضافي در مورد راه حل يك مسئله وجود ندارد، اين روش مورد استفاده قرار مي ‌ گيرد.

15 15 Find a path from S to G: Look for the goal node G among all the nodes at a given level before using the children of those nodes to push on. Uninformed search: Breadth-first

16 16 Breadth-first search: Discussion Complete?: Optimal?: Time complexity: Space complexity: Yes, if b is finite Yes, if steps costs are identical O(b d+1 ) Where: d - depth of the shallowest goal node b – maximum number of successors of a node

17 17 S AD BD DF Uninformed search: Depth-first search CE Find a path from S to G: Look for the goal node among all the children of the current node before using the sibling of this node to push on. G

18 18 Uninformed search: Depth-first with backtracking Expand only one successor of the current node, and backtrack when there is no other successor.

19 19 Depth-first search: Discussion Complete?: Optimal?: Time complexity: Space complexity: Yes No O(b m ) Depth-first Depth-first with backtracking O(m) Yes No O(b m ) (if it does not have an unbounded depth) Where: m - maximum length of a path in the graph b – maximum number of successors of a node

20 20 Complementarity of Breadth-first and Depth-first search Complete?: Optimal?: Time complexity: Space complexity: Yes O(b d+1 ) Yes No O(b m ) Breadth-first Depth-first Where: d - depth of the shallowest goal node m - maximum length of a path in the graph b – maximum number of successors of a node الگوریتم اول عمق ممکن است در یک شاخه بینهایت گیر کند و هرگز به جوای نرسد. چه کنیم؟

21 21 Depth Limited search Depth-limited-first S AD BD DF CECE G L Find a path from S to G: Look for the goal node among all the children of the current node before using the sibling of this node to push on. The depth of these children nodes must be less than L.

22 22 Complementarity of Breadth-first and Depth-first search Complete?: Optimal?: Time complexity: Space complexity: Yes O(b d+1 ) Yes if L>=d No O(b L ) Breadth-first Depth-limited-first Where: d - depth of the shallowest goal node m - maximum length of a path in the graph b – maximum number of successors of a node L – limited length of a path in the graph How to define a search strategy that takes advantage of this complementarity?

23 23 Iterative deepening depth-first search Performs successive depth-first searches, considering increasing depth searches, until a goal node is reached. Depth 1: Depth 0: S D AE A BD S S A S DA Depth 2: S A B S A BD S D A A BD Depth 3: S A B C S A B CE S A B CE D E S A B CE D E D A B …

24 24 Iterative deepening depth-first search: Discussion Complete?: Optimal?: Time complexity: Space complexity: Yes, if b is finite Yes* O(b d ) Complete?: Optimal?: Time complexity: Space complexity: Yes O(b d+1 ) Yes No O(b m ) Breadth-first Depth-first Compare with: Yes* * if steps costs are all identical Remark: Time complexity is better than for breadth-first search because breadth- first expands also some nodes at level d+1

25 25 براي يك درخت از عمق d با فاكتور شاخه شاخه شدن برابر b ، مجموع تعداد نودها در روش اول سطح برابر است با ۱ نود ريشه b نود در سطح اول b2 نود در سطح دوم.... نود در سطح n ام از اين رو، مجموع تعداد نودها برابر است با كه يك تصاعد هندسي است و مجموع آن برابر است با : Iterative deepening depth-first search – Time Complexity

26 26 و برای روش الگوریتم گام به گام این مقدار برابر است با مثلا زمان مورد نياز براي يك درخت با عمق 4 و فاكتور شاخه شاخه شدن 10 برابر است با : نود 12345= × × ×10 + (1+4) DFID نيز تعداد نودهايي به قرار زير لازم دارد : حداکثر تعداد نودهای بررسی شونده در الگوریتم جدید 10% بیشتر است که با زیاد شدن تعداد سطوح و فاکتورشاخه شاخه شدن از مقدار این تفاوت کاسته می شود. Iterative deepening depth-first search – Time Complexity

27 27 C(i,j) = cost of an arc from node i to node j C(x,z) = C(x,y) + C(y,z) Uninformed search: Uniform-cost Find the minimum cost path from S to G: S AD BD CE G 3 13 BF AE step 1 step 2 step 3 step 4 step 5 step 6 Always expands the node that has the smallest cost to S.

28 28 Uniform-cost search: Discussion Complete?: Optimal?: Time complexity: Space complexity: Yes, if b is finite and all steps have positive costs Yes O(b [C*/e] ), where C* is the cost of the optimal solution, and every action costs at least e O(b [C*/e] )

29 29 Bidirectional Search (if applicable) Complete?: Optimal?: Time complexity: Space complexity: Yes O(b d/2 ) Where: d - depth of the shallowest goal node b – maximum number of successors of a node S A D FG B B E A ED


Download ppt "1 Computer Group Engineering Department University of Science and Culture S. H. Davarpanah"

Similar presentations


Ads by Google