300 likes | 463 Views
In The Name of GOD Artificial Intelligence. Lecture 6 : informed search strategies. Saeidirad. مفاهیم. راهبردهای جستجوی آگاهانه توابع هیوریستیک جستجوی محلی. راهبردهای جستجوی آگاهانه. جستجوي اول بهترين :
E N D
In The Name of GOD Artificial Intelligence Lecture 6: informed search strategies Saeidirad
مفاهیم • راهبردهای جستجوی آگاهانه • توابع هیوریستیک • جستجوی محلی
راهبردهای جستجوی آگاهانه جستجوي اول بهترين: اين استراتژي به اين صورت بيان ميشود که در يک درخت، زماني که گرهها مرتب ميشوند، گرهاي که بهترين ارزيابي را داشته باشد، قبل از ديگر گرهها بسط داده ميشود. هدف: يافتن راهحلهاي کمهزينه است، اين الگوريتمها عموماً از تعدادي معيار تخمين براي هزينه راهحلها استفاده ميکنند و سعي بر حداقل کردن آنها دارند.
جستجوی اول بهترین تابع ارزیابی : f(n) تابع ارزیابی گره n ، تابعی است که فاصله گره n تا هدف را تخمین می زند. توابع هیوریستیک : معمولیترین شکل رساندن اطلاعات اضافی مساله به الگوریتم جستجو هستند. h(n) هزینه تخمینی کوتاهترین(ارزانترین) مسیر از گره n به هدف است.
انواع جستجوهای آگاهانه اول بهترین جستجوي حریصانه جستجوي A* جستجوي IDA* جستجويبازگشتی RBFS
جستجوی حریصانه حداقل هزينه تخمين زده شده براي رسيدن به هدف: يکي از سادهترين استراتژيهاي جستجوي بهترين، به حداقل رساندن هزينه تخمين زده شده براي رسيدن به هدف است. بدين صورت که حالت گرهاي که به حالت هدف نزديکتر است، ابتدا بسط داده ميشود. جستجوي حريصانه: جستجوي بهترين که h را به منظور انتخاب گره بعدي براي بسط استفاده ميکند، جستجوي حريصانه (greedy search) ناميده ميشود.
جستجوی حریصانه تابع هیوریستیک در مثال رسیدن به شهر بخارست:
جستجوی A* تابع کشفکنندگي قابل قبول: تابع hاي را که هزينهاي بيش از تخمين براي رسيدن به هدف نداشته باشد، يک کشفکنندگي قابل قبول (admissible heuristic) گويند.
جستجوی(Iterative deepening A*)IDA* ساده ترين راه براي کاهش حافظه مورد نياز A* استفاده از عميق کننده تکرار در زمينه جست و جوي اکتشافي است. الگوريتم عميق کننده تکرار A* در جستجوي IDA* مقدار برش مورد استفاده، عمق نيست بلکه هزينه f(g+h) است. IDA* براي اغلب مسئله هاي با هزينه هاي مرحله اي، مناسب است و از سربار ناشي از نگهداري صف مرتبي از گره ها اجتناب ميکند.
جستجوی RBFS ساختار آن شبيه جست و جوي عمقي بازگشتي است، اما به جاي اينکه دائما به طرف پايين مسير حرکت کند، مقدار f مربوط به بهترين مسير از هر جد گره فعلي را نگهداري ميکند، اگر گره فعلي از اين حد تجاوز کند، بازگشتي به عقب برميگردد تا مسير ديگري را انتخاب کند. اين جستجو اگر تابع اکتشافي قابل قبولي داشته باشد، بهينه است. پيچيدگي فضايي آن O(bd) است تعيين پيچيدگي زماني آن به دقت تابع اکتشافي و ميزان تغيير بهترين مسير در اثر بسط گره ها بستگي دارد.
جستجوی RBFS RBFS تا حدي از IDA* کارآمدتر است، اما گره هاي زيادي توليد ميکند. IDA* و RBFS در معرض افزايش تواني پيچيدگي قرار دارند که در جست و جوي گرافها مرسوم است، زيرا نميتوانند حالتهاي تکراري را در غير از مسير فعلي بررسي کنند. لذا، ممکن است يک حالت را چندين بار بررسي کنند.
جستجوی SMA* الگوريتم SMA*، حافظه محدود A* ساده شده (Simplified-Memory-BoundedA*) ميباشد. اين الگوريتم، قادر است تا از تمام حافظه موجود براي اجراي جستجو استفاده کند. استفاده از حافظه بيشتر کارايي جستجو را وسعت ميبخشد.
جستجوی SMA* طراحي SMA* ساده است: زماني که نياز به توليد فرزند داشته باشد ولي حافظهاي نداشته باشد، نياز به ساختن فضا بر روي صف دارد. براي انجام اين امر، يک گره را حذف ميکند. گرههايي که به اين طريق از صف حذف ميشوند، گرههاي فراموششده يا (forgotten nodes) ناميده ميشوند. براي اجتناب از جستجوي مجدد زيردرختهايي که از حافظه حذف شدهاند، در گرههاي اجدادي، اطلاعاتي در مورد کيفيت بهترين مسير در زير درخت فراموش شده، نگهداري ميشود.