الگوریتم تپه نوردی - نسخهی قابل چاپ |
الگوریتم تپه نوردی - sepid - 19 آذر ۱۳۹۲ ۱۲:۱۷ ق.ظ
سلام دوستان از روی این مثالی که توی لینک زیر اومده کسی میتونه توضیح بده که چجوری با تپه نوردی حل شده و اصولا فرق تپه نوردی و الگوریتم حریصانه چی هست. مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید. |
RE: الگوریتم تپه نوردی - Somayeh_Y - 19 آذر ۱۳۹۲ ۰۷:۰۶ ب.ظ
(۱۹ آذر ۱۳۹۲ ۱۲:۱۷ ق.ظ)sepid نوشته شده توسط: سلام دوستان سلام در این مثال مسیر در حریصانه اینه s-->A-->I--->J--->L-->K--->L--->K--->M--->G در تپه نوردی این s-->A-->I--->J--->L-->K--->M--->G از S تا L فرآیند انتخاب مسیر در هر دو الگوریتم یکی هست در هر مرحله کمترین هیوریستیک انتخاب شده و اون گره باز میشه. حالا در تپه نوردی وقتی در گره L (هیوریستیک =۴) هستیم از بین همسایه هاش کمترین هیوریستیک مربوط به گره K (هیوریستیک =۶) هست. اونو باز میکنیم. چه اتفاقی می افته؟ مقدار هیوریستیک بیشتر شد، الگوریتم به حالت بدتری رفت. پس بر می گردیم سرجامون یعنی همون گره L و همسایه بعدی اش رو باز می کنیم (M) و بعد هم G و تمام. و اما تفاوت این دو تا الگوریتم یک تفاوت آشکارشون که توی همین مثال بالا مشخصه. و دیگه اینکه تپه نوردی با یک حالت اولیه که به صورت تصادفی انتخاب میشه شروع میکنه و از اونجایی که ممکنه در بیشینه محلی گیر کنه، جوابی که به دست میاره قطعی نیست. اما حریصانه اگر داخل حلقه گیر نکنه و به جواب برسه. اون جواب قطعی هست چون در هر مرحله نزدیک ترین نود به هدف رو باز میکنه. |