جستجوی حریصانه
Download
Report
Transcript جستجوی حریصانه
Saeidirad
مفاهیم
راهبردهای جستجوی آگاهانه
توابع هیوریستیک
جستجوی محلی
راهربدهای جستجوی آگاهانه
جستجوي اول بهترين:
این استراتژي به این صورت بیان ميشود که در یک درخت ،زماني که گرهها
مرتب ميشوند ،گرهاي که بهترین ارزیابي را داشته باشد ،قبل از دیگر گرهها
بسط داده ميشود.
هدف :یافتن راهحلهاي کمهزینه است ،این الگوریتمها عموما ً از تعدادي معیار
تخمین براي هزینه راهحلها استفاده ميکنند و سعي بر حداقل کردن آنها دارند.
تابع ارزیاابی f(n) :تاابع ارزیاابی گاره ، nتاابعی اسات کاه فاصاله
گره nتا هدف را تخمین می زند.
توابااع هیوریسااتیک :معمااولیترین شااسل رساااندن اطالعااات ا اافی
مساله به الگوریتم جستجو هستند.
) h(nهزینااه تخمیناای کوتاااهترین(ارزانتاارین) مساایر از گااره nبااه
هدف است.
انواع جستجوهای آگاهانه اول هبرتین
جستجوي حریصانه
جستجوي *A
جستجوي *IDA
جستجوي بازگشتی RBFS
حداقل هزينه تخمين زده شده براي رسيدن به هدف:
یسي از سادهترین استراتژيهاي جستجوي بهترین ،به حداقل رساندن هزینه تخمین
زده شده براي رسیدن به هدف است .بدین صورت که حالت گرهاي که به حالت
هدف نزدیک تر است ،ابتدا بسط داده ميشود.
جستجوي حریصانه :جستجوي بهترین که hرا به منظور انتخاب گره بعدي براي
بسط استفاده ميکند ،جستجوي حریصانه ) (greedy searchنامیده ميشود.
تابع هیوریستیک در مثال رسیدن به شهر بخارست:
جستجوی حریصانه
13
14
18
جستجوی *A
جستجوی *A
21
جستجوی *A
تابع کشفکنندگي قابل قبو ل:
تابع hاي را که هزينهاي بيش از تخمين براي رسيدن به هدف نداشته باشد ،يک کشفکنندگي
قابل قبول ) (admissible heuristicگويند.
جستجوی *A
جستجوی *A
جستجوی *(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نامیده ميشوند.
براي اجتناب از جستجوي مجدد زیردرختهایي که از حافظه حذف شدهاند ،در
گرههاي اجدادي ،اطالعاتي در مورد کیفیت بهترین مسیر در زیر درخت فراموش
شده ،نگهداري ميشود.
The End