گروه تلگرامی برنامه نویسان advertise
advertise
دانلود مجموعه 70 پروژه مفید و کاربردی سی شارپ #C

دانلود مجموعه 70 پروژه مفید و کاربردی سی شارپ #C

9500 تومان
دانلود سورس پروژه سی شارپ شبیه سازی صف بانک تحت شبکه

دانلود سورس پروژه سی شارپ شبیه سازی صف بانک تحت شبکه

15000 تومان
دانلود پروژه معمای 8 با الگوریتم ژنتیک در سی شارپ

دانلود پروژه معمای 8 با الگوریتم ژنتیک در سی شارپ

3000 تومان
دانلود سورس هوش مصنوعی رنگ آمیزی گراف با ژنتیک در #C

دانلود سورس هوش مصنوعی رنگ آمیزی گراف با ژنتیک در #C

4800 تومان
دانلود پروژه پایانی طراحی وب سایت مخابرات با Asp.net

دانلود پروژه پایانی طراحی وب سایت مخابرات با Asp.net

14000 تومان

الگوریتم جست وجوی تپه نوردی hill-climbimg

الگوریتم جست وجوی تپه نوردی از ابتدایی ترین تکنیک جست وجوی محلی است. در هر مرحله گره فعلی با بهترین همسایه جایگزین میشود. اگر "تخمین هزینه ابتکاری h" استفاده شود، همسایه ای با کمترین h انتخاب میگردد
الگوریتم جست وجوی تپه نوردی hill-climbimg

الگوریتم جست وجوی تپه نوردی hill-climbimg

الگوریتم جست وجوی تپه نوردی از ابتدایی ترین تکنیک جست وجوی محلی است. در هر مرحله گره فعلی با بهترین همسایه جایگزین میشود. اگر "تخمین هزینه ابتکاری h" استفاده شود، همسایه ای با کمترین h انتخاب میگردد.

الگوریتم جست وجوی تپه نوردی، حلقه ای است که در جهت افزایش مقدار حرکت میکند (به طرف بالای تپه). وقتی به "قله ای" رسید که هیچ همسایه ای از آن بلندتر نیست، خاتمه می یابد. در این الگوریتم، درخت جست وجو را نگهداری نمیکند، لذا گره داده فعلی فقط باید حالت و مقدار تابع هدف را نگهداری کند. تپه نوردی به همسایه های حالت فعلی نگاه میکند. مثل تلاش برای یافتن قله کوه اورست در مه گرفتگی غلیط، در حالیکه دچار فراموشی هستید.

الگوریتم جست وجوی محلی معمولا از فرموله کردن حالت کامل استفاده میکنند.

تپه نوردی گاهی جست وجوی محلی حریصانه نام دارد، زیرا بدون اینکه قبلا فکر کند به کجا برود، حالت همسایه خوبی را انتخاب میکند. تپه نوردی معمولا به سرعت به سمت جواب پیش می رود زیرا به راحتی میتواند حالت بد را بهبود بخشد.

متاسفانه تپه نوردی به دلایل زیر متوقف میشود:

  • ماکزیمم محلی (local maxima). قله ای است که بلندتر از هر یک از همسایه هایش می باشد، اما از ماکزیمم سراسری کوتاهتر است. الگوریتم های تپه نوردی که به مجاورت ماکزیمم محلی میرسند، به طرف بالا و به سمت قله حرکت میکنند، ولی از آن پس متوقف میشوند و به جایی نمیرود.
  • برآمدگی ها (ridges). برآمدگی ها منجر به دنباله ای از ماکزیمم های محلی می شوند که عبور از آن برای الگوریتم های حریصانه دشوار است.
  • فلات(Plateaux). فلات ناحیه همواری از دورنمای فضای حالت است. فلات میتواند یک ماکزیمم محلی هموار باشد که هیچ خروجی به سمت بالا وجود ندارد، یا یک شانه باشد که از طریق آن میتوان پیشروی کرد. جست وجوی تپه نوردی ممکن است نتواند راه خروج را در فلات پیدا کند و مفقود شود.

در هر یک از این موارد، الگوریتم به نقطه ای میرسد که پیشروی از آن ممکن نیست. هر وقت الگوریتم به یک "ماکزیمم محلی هموار" میرسد که شانه نیست، یک حلقه تکرار بی نهایت بوجود خواهد آمد. یک راه حل متداول، محدود کردن تعداد حرکت های فرعی متداول است.   

شکلهای گوناگونی از تپه نوردی اختراع شده اند. تپه نوردی اتفاقی، بطور تصادفی حرکت هایی را به سمت بالای تپه انتخاب میکند. روش تپه نوردی اولین انتخاب، تپه نوردی اتفاقی را به این صورت پیاده سازی میکند که پسین ها را بطور تصادفی تولید میکند تا اینکه یکی از آنها بهتر از حالت فعلی باشد. اگر یک حالت دارای پسین های زیادی باشد این راهبرد مناسب است.

الگوریتم های جست وجوی تپه نوردی که تاکنون شرح دادیم، کامل نیستند، چون در ماکزیمم های محلی متوقف میشوند، با وجود هدف، موفق به یافتن آن نمیشوند. تپه نوردی با شروع مجدد از این ضرب المثل پیروی میکند "اگر موفق نشدید، دوباره و دوباره سعی کنید." این الگوریتم دنباله ای از جست وجوهای تپه نوردی را از "حالت های شروعی" که بطور تصادفی تولید شدند، اجرا میکنند تا هدفی را پیدا کنند. با احتمال نزدیک به 1، این الگوریتم کامل است، زیرا سرانجام حالت هدف را به عنوان حالت شروع تولید میکند.

موفقیت تپه نوردی به شکل "دورنمای فضای حالت" بستگی دارد: اگر تعداد ماکزیمم های محلی و فلات ها کم باشد، "تپه نوردی با شروع مجدد تصادفی" سریعا راه حل خوبی را می یابد.

 

شبه کد الگوریتم جست وجوی تپه نوردی:

 

function    HILL-CLIMBING (problem)  returns  a state  that is a local maximum

      Current <-- MAKE-NODE (problem.INITIAL-STATE)

      loop  do

                      neighbor <- -  a highest-valued successor of current

                      if  neighbor.VALUE ≤ current.VALUE  then return current.SATTE

                       current <-- neighbor

 

 



1
نظرات
  • user avatar سجاذ:
    ۱۰:۰۵:۱۶ __ ۱۳۹۴/۰۵/۲۲

    سلامممنون لطفا منابع رو هم ذکر کنید ممنون

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
جست وجوی محلی حریصانه hill-climbimgاستراتژی های جست وجوی محلی hill-climbimgدانلود شبه کد الگوریتم جست وجوی hill-climbimgدانلود رایگان شبه کد hill-climbimg searchالگوریتم جست وجوی hill-climbimgالگوریتم های جست وجوی محلی hill-climbimgالگوریتم جست وجوی تپه نوردی چیست؟آشنایی با الگوریتم hill-climbimg searchشبه کد الگوریتم جست وجوی تپه نوردیآموزش پیاده سازی الگوریتم جست وجوی تپه نوردی hill-climbimg search algorithmدانلود سورس کد الگوریتم hcs hill-climbimg searchالگوریتم تپه نوردی hill-climbimg لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php