1 / 79

الگوريتم هاي جستجوي آگاهانه

الگوريتم هاي جستجوي آگاهانه. تهيه کننده: عبدالرضا ميرزايي. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر. سرفصل مطالب. جستجوي اول-بهترين جستجوي حريصانه جستجوي A* جستجوي A* حافظه محدود جستجوي عميق كننده تكراري A* جستجوي اول بهترين بازگشتي ( RBFA* ) SMA* هيوريستيك ها

kara
Download Presentation

الگوريتم هاي جستجوي آگاهانه

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. الگوريتم هاي جستجوي آگاهانه تهيه کننده: عبدالرضا ميرزايي دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  2. سرفصل مطالب • جستجوي اول-بهترين • جستجوي حريصانه • جستجوي A* • جستجوي A*حافظه محدود • جستجوي عميق كننده تكراريA* • جستجوي اول بهترين بازگشتي(RBFA*) • SMA* • هيوريستيك ها • الگوريتم هاي جستجوي محلي • جستجوي simulated annealing • الگوريتم هاي ژنتيك • جستجوي online دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  3. مرور: جستجوي درخت • استراتژي توسط ترتيب گسترش يافتن گره ها تعريف مي شود. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  4. جستجوي اول - بهترين • نمونه اي از الگوريتم عمومي tree-searchيا graph-search است که در ان يک گره بر اساس يک تابع ارزيابي f(n) براي گسترش انتخاب مي شود. • تابع ارزيابي evaluation functionتخمين ”ميزان مطلوب بودن“ گره • هربار مطلوب ترين گره گسترش نيافته را بسط مي دهد. • پياده سازي: • گره ها در fringeبه ترتيب نزولي ميزان مطلوبيت مرتب مي شوند. • يك صف اولويت • حالت هاي خاص • جستجوي حريصانه Greedy search • جستجوي A* دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  5. جستجوي اول -بهترين حريصانه • تابع هيوريستيك h(n) • هزينة تخميني مسير از گره nتا نزديکترين گره هدف • براي مثال، در نقشه روماني مي توان هزينة مسير از هر شهري به بخارست را از طريق مسافت يك خط مستقيم از آن شهر به بخارست تخمين زد. hSLD(n) فاصله مستقيم از nتا بخارست جستجوي اول -بهترين حريصانه • جستجوي حريصانه گره اي را گسترش مي دهد كه به نظر مي رسد نزديكترين گره به هدف ( بخارست) باشد. • تابع ارزيابي f(n)= h(n) دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  6. نقشه روماني به همراه هزينه مراحل برحسب km دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  7. جستجوي اول -بهترين حريصانه

  8. جستجوي اول -بهترين حريصانه

  9. جستجوي اول -بهترين حريصانه

  10. جستجوي اول -بهترين حريصانه

  11. خواص جستجوي اول -بهترين حريصانه • كامل؟ –خير (ممکن است در حلقه بينهايت گير کند) • پيچيدگي زماني؟ O(bm) –اما با يک هيوريستيک خوب مي تواند به شدت بهبود يابد • پيچيدگي حافظه؟ –O(bm)تمام گره ها را در حافظه نگه مي دارد. • بهينه؟ – خير (مثلا در مثال قبل مسير بهينه اي وجود دارد که از ديد جستجوي حريصانه مخفي مي ماند). دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  12. حلقه بينهايت در جستجوي حريصانه شروع پايان Iasi Neamt Iasi Neamt دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  13. جستجوي A* • ايده: از گسترش مسيرهايي كه تاكنون مشخص شده پرهزينه مي باشند، اجتناب كن. • تابع ارزيابي f(n) = g(n) + h(n) • هزينة رسيدن به گره n هزينة ارزانترين مسير گذرنده از گره n به هدف هزينة تخميني ارزانترين مسير از گره n به هدف دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  14. مثال جستجوي A*

  15. مثال جستجوي A*

  16. مثال جستجوي A*

  17. مثال جستجوي A*

  18. مثال جستجوي A*

  19. مثال جستجوي A*

  20. هيوريستيك قابل قبول • يك هيوريستيك h(n)قابل قبول است اگر براي هر گره nداشته باشيم : • h(n) ≤ h*(n) • که h*(n)هزينه واقعي براي رسيدن به هدف از گره n مي باشد. • يك هيوريستيك قابل قبول هرگز هزينه رسيدن به هدف را بيش از حد تخمين نمي زند، يعني خوش بينانه است. • مثال: هيوريستيكhSLD(n) هيچگاه فاصله را بيش از حد واقعي تخمين نمي زند. • قضيه: اگر h(n)قابل قبول باشد، A* با استفاده از TREE-SEARCH بهينه است دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  21. اثبات بهينگي A* • فرض كنيد يك جواب زير بهينه مانند G2ايجاد شده و در fringeقرار دارد. همچنين فرض کنيد nيك گره گسترش نيافته روي كوتاهترين مسير به هدف بهينه Gباشد. f(G2) = g(G2) since h(G2) = 0 g(G2) > g(G) since G2 is suboptimal f(G) = g(G) since h(G) = 0 f(G2) > f(G) from above دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  22. اثبات بهينگي A* • فرض كنيد يك جواب زير بهينه مانند G2ايجاد شده و در fringeقرار دارد. همچنين فرض کنيد nيك گره گسترش نيافته روي كوتاهترين مسير به هدف بهينه Gباشد. f(G2) > f(G) from above h(n) ≤ h*(n) since h is admissible g(n) + h(n) ≤ g(n) + h*(n) f(n) ≤ f(G) چون f(G2) > f(n) است A* هيچگاه G2 را براي گسترش انتخاب نمي کند دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  23. بهينگي A* • اگر به جايTREE–SEARCH از GRAPH–SEARCHاستفاده كنيم، آنگاه قضيه قبل ديگر صدق نمي كند. • ممكن است راه حلهاي نيمه بهينه برگردانده شوند، زيرا GRAPH–SEARCH مي تواند ميسر بهينه به يك حالت تكراري را كنار بگذارد، اگر اولين گره توليدي نباشد. • دو راهکار براي حل اين مشكل: • اولين راه حل، اين است كه GRAPH–SEARCHرا به نحوي توسعه بدهيم كه از بين مسيري كه به يك گره مي رسد آن مسيري كه پرهزينه تر است را كنار بگذارد. اين روش فضاي زيادي اشغال مي كند، اما بهينگي را تضمين مي كند. • راه حل دوم، اطمينان از اين موضوع است كه مسير بهينه به هر حالت تكراري، هميشه اولين مسيري است كه دنبال مي شود.شرط سازگاري (يا يكنواختي) دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  24. هيوريستيک هاي سازگار • يك هيوريستيك سازگارconsistentاست اگر h(n) ≤ c(n,a,n') + h(n') • شكلي از قانون كلي نامساوي مثلث است كه تصريح مي كند هيچ ضلعي از يك مثلث نمي تواند بلندتر از مجموع دو ضلع ديگر باشد. • هر هيوريستيك سازگار، قابل قبول نيز هست. • قضيه: اگر h(n) سازگار باشد، A* با استفاده از GRAPH–SEARCH بهينه است دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  25. هيوريستيک هاي سازگار • اگر h(n) سازگار باشد آنگاه f(n) در طول هر مسيري، غيرنزولي است. f(n') = g(n') + h(n') = g(n) + c(n,a,n') + h(n') ≥ g(n) + h(n) = f(n) • مي توان نتيجه گرفت كه رشته اي از گره ها كه توسطA* با استفاده از GRAPH–SEARCH گسترش يافته اند به ترتيب غيرنزولي f(n) مي باشد. • در نتيجه، اولين گره هدفي كه براي گسترش انتخاب مي شود بايد يك راه حل بهينه باشد، زيرا تمامي گره هاي بعدي حداقل به همان اندازه هزينة خواهند داشت. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  26. بهينگي A* • A* به تدريج f-contour ها را اضافه مي کند. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  27. خواص جستجوي A* • اولين راه حل پيداشده، بايد يك راه حل بهينه باشد • زيرا گره هاي هدف در تمامي contourهاي بعدي داراي هزينه f بيشتري خواهند بود و در نتيجه هزينة Gبالاتري نيز دارند (زيرا تمامي گره هاي هدف داراي h(n)=0هستند). • جستجوي A* كامل است. • همان طور كه نوارهاي با f در حال افزايش را اضافه مي كنيم، بايد بالاخره به نواري برسيم كه در آنجا f مساوي هزينة مسير تا يك حالت هدف است. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  28. خواص جستجوي A* • كامل؟ –بله، مگر اينكه تعدادي نامحدود گره با f ≤ f(G)وجود داشته باشد. A* –در گراف هاي متناهي محلي ( با فاكتور انشعاب محدود) كامل مي باشد • پيچيدگي زماني؟ – نمايي • پيچيدگي حافظه؟ – نمايي تمام گره ها را در حافظه نگه مي دارد. • بهينه؟ – بله دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  29. خواص جستجوي A* • بهينه؟ – بله نمي تواند fi+1 را گسترش دهد مگر آنکه fi تمام شده باشد. A* – تمام گره ها با f(n) <f*را گسترش مي دهد. A* – برخي گره ها با f(n) =f*را گسترش مي دهد. A* – هرگز گره اي با f(n) >f*را گسترش نمي دهد. • A* داراي كارآيي بهينه optimally efficientمي باشد • يعني هيچ الگوريتم بهينة ديگري تضمين نمي كند كه تعداد گره هايي كه گسترش مي دهد از A* كمتر باشد. • علت اين امر آن است كه هر الگوريتمي كه تمامي گره ها را با f(n) <f*را گسترش ندهد خطر از دست دادن راه حل بهينه را دارد. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  30. جستجوي A* با حافظه محدود • زمان محاسبه، نقطه ضعف اصليA* نيست. • از آنجا كه اين الگوريتم، تمامي گره هاي توليد شده را در حافظه نگهداري مي كند معمولاً بسيار بيشتر از آنكه وقت كم بياورد، حافظه كم مي آورد. • در مورد بسياري از مسائل بزرگ، عملي نيست. • چند راه حل براي مسأله حافظه در A* • جستجوي عميق كننده تكراري A*(IDA*) • جستجوي اول-بهترين بازگشتي(RBFS) • جستجوي (ساده شده)A*با حافظه محدود ((S)MBA*) دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  31. IDA* • ايدة استفاده از راهکار عميق کننده تكراري در زمينة جستجوي آگاهانه • تفاوت اصلي بين IDS و IDA* • درIDA* به جاي محدوده عمقي از محدوده f (يعني g+h) استفاده مي شود. • در هر تكرار، مقدار برش، كوچكترين هزينة f ميان تمام گره هايي است که از برش تكرار قبلي بيشتر باشند. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  32. جستجوي اول -بهترين بازگشتي (RBFS) • يك الگوريتم بازگشتي با فضاي خطي كه سعي مي كند از جستجوي اول- بهترين استاندارد تقليد كند. • ساختارRBFSمشابه جستجوي اول عمق بازگشتي است، اما به جاي ادامه دادن مسير فعلي به طور نامشخص، خود را از مقدار بهترينf مسير جايگزين قابل دسترس از تمام اجداد گره فعلي مطلع نگه مي دارد. • اگر گره فعلي از اين محدوده فراتر رود، تابع بازگشتي آن را به عقب برمي گرداند تا روي يك مسير جايگزين ديگر قرار گيرد. • در بازگشت به عقب مقدار fمربوط به هر گره موجود در مسير را با بهترين مقدار fفرزندانش جايگزين مي کند. • بنابراين گسترش مجدد نتيجه فعلي هنوز ممكن مي باشد. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  33. جستجوي اول -بهترين بازگشتي (RBFS) دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  34. جستجوي اول -بهترين بازگشتي (RBFS) دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  35. جستجوي اول -بهترين بازگشتي (RBFS) دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  36. جستجوي اول -بهترين بازگشتي (RBFS) دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  37. خواص جستجوي RBFS • RBFSكمي كارآتر ازIDA* مي باشد – هنوز گسترش اضافي گره ها وجود دارد( تغيير عقيده) • پيچيدگي زماني؟ – بيان پيچيدگي زماني آن نسبتاً مشكل است: هم به دقت تابع هيوريستيك بستگي دارد و هم به اين كه در حين گسترش گره ها، بهترين مسير هر چند وقت يكبار تغيير مي كند. – مانند IDA*در معرض افزايش نمايي پيچيدگي زماني قرار دارد • پيچيدگي حافظه؟ –O(bd) • بهينه؟ – همانند A* ، الگوريتم RBFSنيز يك الگوريتم بهينه است اگر تابع هيوريستيك h قابل قبول باشد. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  38. خواص جستجوي RBFS • RBFS و IDA* هر دو • ممكن است در معرض افزايش نمايي بالقوه در پيچيدگي همراه با جستجو در گرافها قرار بگيرند. • آنها نمي توانند حالتهاي تكراري، به جز آنهايي را كه بر روي مسير فعلي قرار دارند بررسي كنند. در نتيجه، ممكن است يك حالت را چندين بار اكتشاف كنند. • از ميزان بسيار كم حافظه رنج مي برند. • IDA*فقط يك عدد را نگهداري مي كند (محدوديت مقدار فعلي f) • RBFSاطلاعات بيشتري را در حافظه نگهداري مي كند، ولي فقط از O(bd)حافظه استفاده مي کند. • حتي اگر حافظه بيشتري در دسترس باشد نمي توانند از آن استفاده كنند. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  39. (Simplified) Memory Bounded A* ايده: استفاده از تمامي حافظه موجود – يعني، گسترش بهترين گره هاي برگي تا زماني كه حافظه موجود پر شود. • SMA* دقيقا مثل A*عمل مي كند، يعني تا زماني كه حافظه پر شود، بهترين گره را گسترش مي دهد. • در صورت پر شدن حافظه هميشه بدترين گره برگي (گرهي با بيشترين مقدار f) را از حافظه حذف مي كند • اطلاعات گره هاي فراموش شده را در پدرشان ذخيره مي كند دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  40. (Simplified) Memory Bounded A* • SMA* • كامل است، اگر راه حل دست يافتني وجود داشته باشد (يعني اگر عمق كم عمقترين گره هدف كمتر از اندازة حافظه باشد). • اين الگوريتم بهينه است در صورتي كه راه حل بهينة دست يافتني وجود داشته باشد. در غير اين صورت بهترين راه حل دستيافتني را برمي گرداند. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  41. هيوريستيك هاي قابل قبول • مثال براي پازل 8 تايي: h1 تعداد كاشيهايي كه در جاي خود قرار نگرفته اند. h2 مجموع فواصل افقي و عمودي كاشيها از موقعيتهاي هدفشان (فاصله city blockيا Manhattan هر دو قابل قبول h1(S) = 8 h2(S) = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18 دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  42. اگر بازاء هر nداشته باشيم h2(n) ≥ h1(n)(و هر دو هيوريستيك قابل قبول باشند) آنگاه h2 بر h1 تسلط دارد و براي جستجو بهتر مي باشد. • مثال هزينه جستجو: تعداد گره هاي توليد شده در عمق هاي مختلف: • d=12 IDS = 3,644,035 nodesA*(h1) = 227 nodes A*(h2) = 73 nodes • d=24 IDS = too many nodesA*(h1) = 39,135 nodes A*(h2) = 1,641 nodes دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  43. ضريب انشعاب موثر b* ضريب انشعاب موثر:(EBF) اگر تعداد گره هاي گسترش يافته توسط روال جستجو N و عمق راه حل d باشد b* به صورت زير محاسبه مي شود: N+1 = 1+b* + (b*)2+ … + (b*)d مثال: اگر A*راه حلي را در عمق 5 با استفاده از 52 گره پيدا كند، ضريب انشعاب موثر؟ 53 = 1 + b* + (b*)2 +…(b*)5 b* = 1.92 • در يك هيوريستيك هر چه فاكتور انشعاب به يك نزديكتر باشد، بهتر است و آن هيوريستيك كيفيت كشف كنندگي بيشتري دارد. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  44. رابطه بين هزينه جستجو و ضريب انشعاب موثر دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  45. ابداع توابع هيوريستيك • مسأله اي كه تعداد كمتري محدوديت براي اقدامات دارد، يك مسألةتعديل شده relaxedناميده مي شود. • هزينة يك راه حل بهينه براي يك مسألة تعديل شده، يك هيوريستيک قابل قبول براي مسألة اصلي است. • هزينه راه حل بهينه يك مسأله تعديل شده، بيشتر از هزينه راه حل بهينه در مسأله واقعي نيست. • مثال: پازل 8 تايي. يك كاشي مي تواند از خانه A به خانه B برود اگر A مجاور B باشد و B خالي باشد. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  46. ابداع توابع هيوريستيك • مثال: پازل 8 تايي. يك كاشي مي تواند از خانه A به خانه B برود اگر A مجاور B باشد و B خالي باشد. ميتوانيم با حذف يك يا هر دو شرط، سه مسألة تعديل شده توليد كنيم: • يك كاشي مي تواند از خانه A به خانه Bبرود اگر A مجاور B باشد. (h2) • يك كاشي مي تواند از خانه A به خانه B برود اگر B خالي باشد. • يك كاشي مي تواند از خانه A به خانه B برود. (h1) دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  47. الگوريتم هاي جستجوي محلي و مسائل بهينه سازي • در بسياري از مسائل بهينه سازي، مسير راه حل اهميت ندارد؛ خود حالت هدف پاسخ مسأله مي باشد. • فضاي حالت = مجموعه پيكره بندي هاي كامل • هدف = يافتن يك پيكره بندي كه محدوديت هاي مسأله را ارضاء كند، مانند مساله n- وزير • در چنين مواردي مي توان از الگوريتم هاي جستجوي محلي بهره گرفت. • يك حالت ”فعلي“ را به تنهايي در نظر بگير؛ سعي كن آن را بهبود ببخشي. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  48. الگوريتم هاي جستجوي محلي و مسائل بهينه سازي • جستجوي محلي = استفاده از يك حالت فعلي و حركت به حالت هاي همسايه • مزايا: – استفاده از حافظه بسيار كم – يافتن راه حل هاي معقول در اغلب موارد در فضاهاي حالت بزرگ و يا نامحدود • مفيد براي مسائل بهينه سازي محض – يافتن بهترين حالت بر طبق تابع هدف (objective function) دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  49. State space landscape • يك landscapeهم شامل "محل" (كه توسط حالت تعريف مي شود) و هم شامل "ارتفاع" (كه توسط مقدار تابع هيوريستيک هزينه يا تابع هدف تعريف مي شود) مي باشد. • اگر ارتفاع متناظر هزينه باشد، آنگاه هدف يافتن عميقترين دره (يك كمينة سراسري) است و اگر ارتفاع متناظر با تابع هدف باشد، آنگاه هدف يافتن بلندترين قله (يك بيشينة سراسري) است. • يك الگوريتم جستجوي محلي كامل، هدف را (در صورت وجود) پيدا مي كند و يك الگوريتم بهينه يك كمينه يا بيشينة سراسري را پيدا مي كند. دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

  50. State space landscape دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر

More Related