جستجوي حريصانه
Download
Report
Transcript جستجوي حريصانه
راهبرد جستجوی آگاهانه از دانش مربوط به مساله استفاده
می کند
2
اين راهبرد به اين صورت بيان ميشود که در يک درخت ،زماني که گرهها مرتب
ميشوند ،گرهاي که بهترين ارزيابي را براساس یک تابع ارزیابی ) f(nداشته باشد،
قبل از ديگر گرهها بسط داده ميشود.
هدف :يافتن راهحلهاي کمهزينه است ،اين الگوريتمها عموما از تعدادي معيار
تخمين براي هزينه راهحلها استفاده ميکنند و سعي بر حداقل کردن آنها دارند.
3
3
به حداقل رساندن هزينه تخمين زده شده براي رسيدن به هدف.
بسط نزديکترین گره به هدف
تابع کشفکننده :هزينه رسيدن به هدف از يک حالت ويژه ميتواند تخمين زده شود اما دقيقا
تعيين نميشود .تابعي که چنين هزينههايي را محاسبه ميکند تابع کشفکننده hناميده ميشود.
)F(n) = h(n
جستجوي حريصانه :جستجوي بهترين که hرا به منظور انتخاب گره بعدي براي بسط استفاده
ميکند ،جستجوي حريصانه ) (greedy searchناميده ميشود.
4
4
روش اکتشافی فاصله خط مستقیم
5
5
hSLD
6
6
• جستجوي حريصانه از لحاظ دنبال کردن يک مسير ويژه در تمام طول راه به طرف هدف ،مانند
جستجوي عرض ی است ،اما زماني که به بنبست ميرسد ،برميگردد.
• اين جستجو بهينه نيست و ناکامل است.
• پيچيدگي زماني در بدترين حالت براي جستجوي حريصانه ) ،O(bmکه mحداکثر عمق
فضاي جستجو است.
• جستجوي حريصانه تمام گرهها را در حافظه نگه ميدارد ،بنابراين پيچيدگي فضاي آن مشابه
پيچيدگي زماني آن است.
• ميزان کاهش پيچيدگي به مسئله و کيفيت تابع hبستگي دارد.
7
7
با ترکيب دو تابع ارزيابي داريم:
)f(n) = g(n) + h(n
) :g(nهزينه مسير از گره آغازين به گره nرا به ما ميدهد.
) :h(nهزينه تخمين زده شده ارزانترين مسير از nبه هدف است
و ما داريم:
هزينه تخمين زده شده ارزانترين راه حل از طريق f(n) = n
8
8
9
9
10
10
کشفکنندگي قابل قبول:
تابع hاي را که هزينهاي بيش از تخمين براي رسيدن به هدف نداشته باشد ،يک کشفکنندگي
قابل قبول ) (admissible heuristicگويند.
جستجوي *:A
جستجوي بهترين که fبه عنوان تابع ارزياب و يک تابع hقابل قبول استفاده ميکند ،به عنوان
جستجوي * Aشناخته ميشود.
11
11
رفتار جستجوي *A
نگاهي گذرا به اثبات کامل و بهينه بودن *:A
مشاهده مقدماتي:
تقريبا تمام کشفکنندگيهاي مجاز داراي اين ويژگي هستند که در طول هر مسيري از ريشه،
هزينه fهرگز کاهش پيدا نميکند.
اين خاصيت براي کشفکنندگي ،خاصيت يکنوايي ) (monotonicityگفته ميشود.
اگر يکنوا نباشد ،با ايجاد يک اصالح جزئي آن را يکنوا ميکنيم.
12
12
بنابراين هر گره جديدي که توليد ميشود ،بايد کنترل کنيم که آيا هزينة fاين گره از هزينه f
پدرش کمتر است يا خير .اگر کمتر باشد ،هزينة fپدر به جاي فرزند مينشيند:
بنابراين:
fهميشه در طول هر مسيري از ريشه غيرکاهش ي خواهد بود ،مشروط بر اينکه hامکانپذير
باشد.
* Aمعمول قبل از اينکه دچار کمبود زمان شود ،دچار کمبود فضا ميشود .زيرا اين جستجو
تمام گرههاي توليد شده را در حافظه ذخيره ميکند.
13
13
معماي 8يکي از مسائل اوليه اکتشاف بود.
هدف :لغزاندن چهارخانهها به طور افقي يا عمودي به طرف فضاي خالي است تا زماني که
ساختار کلي مطابق با هدف ) (goalباشد .فاکتور انشعاب در حدود 3است.
2
1
5
4
3
6
8
7
6
1
Goal State
14
14
4
2
7
5
3
Start State
8
= h1تعداد چهارخانههايي که در مکانهاي نادرست هستند h1 .قابل قبول است ،زيرا واضح
است که هر چهارخانهاي که خارج از مکان درست باشد حداقل يکبار بايد جابجا شود.
= h2مجموع فواصل چهارخانهها از مکانهاي هدف صحيحشان است .مجموع فواصل عمودي و
افقي است که بعض ي وقتها city block distanceو يا Manhattan distanceناميده
ميشود h2قابل قبول است ،زيرا هر جابجایی که می تواند انجام پذیرد یک مرحله به هدف
نزدیک می شود
15
15
7
2
5
8
3
Start State
4
1
2
6
3
4
5
1
6
7
8
Goal State
h1 = 8
h2 = 18
(3+1+2+2+2+3+3+2)
16
16
يک راه براي تشخيص کيفيت اکتشاف فاکتور انشعاب مؤثر * bاست .اگر مجموع تعداد
گرههاي بسط داده شده توسط * Aبراي يک مسئله ويژه Nباشد و عمق راه حل ،dسپس*b
فاکتور انشعابي است که يک درخت يکنواخت با عمق dخواهد داشت تا حاوی N+1گره باشد.
بنابراين:
N+1 = 1+ b*+( b*)2…+( b*)d
معمول فاکتور انشعاب مؤثر که توسط اکتشاف نمايش داده ميشود ،مقدار ثابتي دارد.
/طراحي شده b* ،در حدود 1دارد.
17
17
18
18
• مساله راحت ( :)Relaxed problemمساله ای که فعالیتهایش محدودیتهای کمتری داشته باشد.
• هزینه حل بهینه مساله راحت ،اکتشاف قابل قبولی برای مساله است.
فعالیتهای معمای 8
کاش ی می تواند از مربع Aبه مربع Bحرکت کند
اگر Aهمجوار افقی یا عمودی Bباشد و Bخالی باشد.
مساله های راحت:
الف :کاش ی می تواند از مربع Aبه مربع Bمنتقل شود اگر Aهمجوار Bباشد
ب :کاش ی می تواند از مربع Aبه مربع Bمنتقل شود اگر Bخالی باشد
پ :کاش ی می تواند از مربع Aبه مربع Bمنتقل شود
19
19
بهترين راه براي فهم الگوريتمهاي اصالح تکراري درنظر داشتن تمام حالتي
است که روي سطح يک دورنمايي در معرض ديد قرار داده شده است .ارتفاع
هر نقطه در دورنما مطابق با تابع ارزياب حالت آن نقطه است .ايده اصالح
تکراري ،حرکت کردن در اطراف دورنما و سعي بر يافتن قلههاي مرتفع است،
که همانا راهحلهاي بهينه هستند.
الگوريتمهاي اصالح تکراري معمول اثر حالت جاري را فقط حفظ ميکنند ،و
توجهي فراتر از همسايگي آن حالت ندارند.
20
20
evaluation
Current
state
الگوريتمهاي اصالح تکراري سعي بر يافتن قلههايي بروي سطح حاالت دارند،
جائي که ارتفاع توسط تابع ارزيابي تعريف ميشود.
21
21
اين الگوريتمها به دو گره اصلي تقسيم ميشوند.
الگوريتمهاي تپهنوردي )(Hill-climbing
Simulated annealing
22
22
• اگر مسیر رسیدن به هدف مهم نباشد الگوریتهای جست و جوی محلی با استفاده از حالت فعلی
عمل می کنند و فقط به همسایه های آن حالت منتقل می شوند.
• الگوریتمهای جست و جوی محلی عالوه بر یافتن هدف برای حل مسئله های بهینهسازی نیز
مفیدند .در این مسئله ها هدف یافتن بهترین حالت بر اساس تابع هدف است.
جست و جوی تپه نوردی (جست و جوی محلی حریصانه)
این الگوریتم حلقه ای است که در جهت افزایش مقدار حرکت می کند وقتی به قله ای
رسید که هیچ همسایه ای از آن بلند تر نیست خاتمه می یابد .
23
23
• Apply the rule that increases the most the
current state value
• Move in the direction of the greatest
gradient
f-value
states
while f-value(state) > f-value(best-next(state))
state := next-best(state)
24
24
جست و جوی تپه نوردی (جست و جوی محلی حریصانه)
اين سياست ساده ،سه زيان عمده دارد:
:Local Maxima يک ماکزيمم محلي ،برخالف ماکزيمم عمومي ،قلهاي است که پائينتر از
بلندترين قله درفضاي حالت است .زماني که روي ماکزيمم محلي هستيم ،الگوريتم توقف خواهد نمود.
اگرچه راه حل نيز ممکن است دور از انتظار باشد.
:Plateau يک فالت محوطهاي از فضاي حالت است که تابع ارزياب يکنواخت باشد .جستجو
يک قدم تصادفي را برخواهد داشت.
:Ridges نوک کوه ،داراي لبههاي سراشيب است .بنابراين جستجو به بالي نوک کوه به آساني
ميرسد ،اما بعد با ماليمت به سمت قله ميرود .مگر اينکه عملگرهايي موجود باشند که مستقيما به
سمت بالي نوک کوه حرکت کنند .جستجو ممکن است از لبهاي به لبه ديگر نوسان داشته باشد و
پيشرفت کمي را حاصل شود.
25
25
جست و جوی تپه نوردی (جست و جوی محلی حریصانه)
بیشینه عمومی
شانه
بیشینه محلی هموار
فضای حالت
حالت فعلی
26
26
تابع هدف
جست و جوی تپه نوردی (جست و جوی محلی حریصانه)
در هر مورد ،الگوريتم به نقطهاي ميرسد که هيچ پيشرفتي نيست .اگر اين اتفاق بيفتد ،تنها کار
ممکن براي انجام دادن آغاز مجدد از نقطه شروع ديگري دوباره آغاز ميشود.
موفقيت hill-climbingخيلي به ظاهر فضاي حالت «سطح» بستگي دارد :اگر فقط
ماکزيممهاي محلي کمي وجود داشته باشد ،تپهنوردي با شروع تصادفي خيلي سريع راهحل
خوبي را پيدا خواهد کرد.
27
27
استفاده از فرمول بندی کامل
هر حالت 56جانشین دارد
تابع اکتشافی hتعداد جفت هایی از وزیران است که به طور مستقیم و
غیر مستقیم به یکدیگر گارد می دهند.
28
28
h = 17
h=1
29
29
تپه نوردی مرکب با حرکت تصادفی است
حرارت دادن فرایندی است که فلزهای سخت و شیشه را تا درجه باالیی حرارت می دهند و به
تدریج سرد می کنند.
مثال :توپ پینگ پنگ در سطح ناصاف
در اين گروه از الگوريتمها به جاي شروع دوباره به طور تصادفي ،زماني که در يک ماکزيمم محلي
گیر افتاديم ،ميتوانيم اجازه دهيم که جستجو چند قدم به طرف پائین بردارد تا از ماکزيمم محلي
فرار کند.
30
30
• Proceed like hill climbing, but pick at each step a
random move
• If the move improves the f-value, it is always executed
• Otherwise, it is executed with a probability that
decreases
exponentially as improvement is not
found
• Probability function:
– T is the number of steps since improvement
–
is the amount of decrease at each step
31
31
پارامترهاي مؤثر به شرح زير ميباشند:
: E -1چگونگي ارزيابي.
:T -2تعيين احتمال.
الگوريتم شباهت صريحي با ( annealingپردازش ي که به طور آهسته مايعي را تا زماني که
يخ ببندد سرد ميکند) ،گسترش يافته است .مقدار تابع مطابق با انرژي ورودي اتمهاي ماده
است ،و Tبا دما مطابقت دارد .جدول ميزان دما را در جايي که پائين آمده است ،تعيين
ميکند.
32
32
• نگهداری Kحالت به جای یک حالت
• شروع الگوریتم با kحالت تصادفی
• تولید تمام جانشين های همه حالتها
• انتخاب بهترین جانشين تا رسیدن به هدف
جست و جوی پرتو غير قطعی
• به جای انتخاب بهترین kاز جانشين ها k ،جانشين به طور تصادفی انتخاب می شود.
• احتمال انتخاب یک جانشين ،تابع صعودی از مقدار آن است.
33
33
)1شروع الگوریتم با مجموعه ای از kحالت تصادفی به نام جمعیت
• نمایش هر حالت یا رشته یا فرد ( )chromosomeبه صورت رشته ای بر روی الفبای
متناهی
نمایش مساله هشت وزیر
34
34
)2انتخاب (:)Selection
• استفاده از تابع ارزیابی یا تابع برازش ()fitness function
• انتخاب بر اساس بهترین ها یا به طور تصادفی
35
35
)3تقاطع یا تولید (:)Generation
• انتخاب تصادفی نقاط تقاطع و تولید دو فرد جدید از دو فرد موجود
36
36
)4جهش (:)Mutation
• احتمال جهش در یک مکان تصادفی در هر رشته تولید شده به طور مستقل
37
37
نسل بعدی
38
38
نسل اولیه