زمان کنونی: ۱۵ اردیبهشت ۱۴۰۳, ۱۱:۱۱ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

نکات و خلاصه جست و جوی آگاهانه

ارسال:
  

makalo پرسیده:

نکات و خلاصه جست و جوی آگاهانه

*جست وجوی اول بهترین(best-first) مثالی از الگوریتم های Tree searchو Graph search است.
نودها برای گسترش، بر اساس یک تابع ارزیابی مثل [tex]f(n)[/tex] انتخاب می شود، یعنی در هرمرحله گره ای که کم ترین مقدار ارزیابی را دارد برای گسترش انتخاب می شود.

*تابع اکتشافی با [tex]H(n)[/tex] نمایش داده می شود.

هزینه تخمینی ارزان ترین مسیر از حالت n تا هدف [tex]H(n)=[/tex]

* اگر n هدف باشد،آنگاه [tex]H(n)=0[/tex] است.

انواع جست وجوی آگاهانه:

) اول- بهترین حریصانه
)جست و جوی [tex][tex]A^{*}[/tex][/tex] (با استفاده از Tree search وgraph search)
)[tex]RBFS[/tex]
)[tex]SMA^{*}[/tex]
)[tex]IDA^{*}[/tex]
)الگوریتم های جست و جوی محلی
)...

جست و جوی اولین بهترین حریصانهGreedy best-first

* نودی را گسترش می دهد که به هدف نزدیک تر است.
*از روش اول-عمق استفاده می کند.
*این روش، گره ها را فقط بر اساس تابع هیورستیک ارزیابی می کند یعنی [tex]f(n)=h(n)[/tex]
*جست و جوی اول بهترین حریصانه، مانند جست و جوی اول عمق ترجیح می دهد که برای رسیدن به هدف یک مسیر را دنبال کند و در صورتی که به بن بست رسید به بالا برگردد،لذا این روش بهینه و کامل نیست.

*چرا بهینه و کامل نیست؟زیرا ممکن است یک مسیر متناهی به سمت پایین شروع کند و هرگز برای بررسی بقیه برنگردد.
*
پیچیدگی مکانی و زمانی آن[tex]O(b^{m})[/tex] که m عمق ماکزیمم فضای حالت است.
*کاهش پیچیدگی به
نوع مسئله و کیفیت تابع هیورستیک بستگی دارد.
*
تفاوت مهم این روش با روش اول عمق آن است که، در بین فرزندان گره جاری، گره ای انتخاب می شود که کوچک ترین مقدار f را داشته باشد.

جست جوی [tex][tex]A^{*}[/tex][/tex]

* معروف ترین فرم جست و جوی اول -بهترین الگوریتم[tex][tex]A^{*}[/tex][/tex] نامیده می شود اگر[tex]\forall h(n)\leq h^{*}(n)[/tex]

*نحوه ارزیابی گره ها:
[tex]f(n)=g(n) h(n)[/tex]

[tex]f(n)[/tex] = هزینه تخمینی ارزان ترین راه حل از طریق نود n
[tex]g(n)[/tex]= هزینه مسیر از نود شروع تا نود n
[tex]h(n)[/tex]= هزینه تخمینی ارزان ترین مسیر از n تا هدف


*اگر تابع هیورستیک شرایط لازم را داشته باشد، جست و جوی [tex][tex]A^{*}[/tex][/tex]
کامل و بهینه است.

پیاده سازی [tex][tex]A^{*}[/tex][/tex] با استفاده از الگوریتم Tree search

*در این مورد [tex][tex]A^{*}[/tex][/tex] زمانی بهینه است که [tex]h(n)[/tex] قابل قبول باشد.

*تابع هیورستیکی در صورتی قابل قبول است که:هرگز هزینه رسیدن به هدف را بیشتر از هزینه واقعی تخمین نزند.

پیاده سازی[tex][tex]A^{*}[/tex][/tex] با استفاده از الگوریتم Graph search

* در چه صورتی تابع هیورستیک سازگار با یکنواست؟ تابع [tex]h(n)[/tex] یکنواست،
اگر [tex]h(n)< C(n,a,n{}') h(n{}')[/tex]

[tex]n{}'[/tex] = با استفاده از عمل a بر روی حالت n تولید شده است.
[tex]C(n,a,n{}')[/tex] =هزینه عمل a را نشان می دهد.

*[tex][tex]A^{*}[/tex][/tex] که با الگوریتم Graph search پیاده سازی می شود، در صورتی بهینه است که [tex]h(n)[/tex] یکنوا باشد.
*اگر[tex]h(n)[/tex] یکنوا باشد، مقادیر[tex]f(n)[/tex] درهر مسیر غیرکاهشی است.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

makalo پاسخ داده:

RE: نکات و خلاصه جست و جوی آگاهانه

*خصوصیت غیرکاهشی f ، امکان تعریف و ترسیم کانتورها را فراهم می نماید.

*کانتورها متحدالمرکز بوده و در جست و جو با هزینه یکنواخت در اطراف حالت اولیه، حلقوی اند.

* هرچه [tex]h(n)[/tex] به[tex]h^{*}(n)[/tex] نزدیک تر باشد، کانتورها به سمت حالت هدف کشیده شده و در اطراف مسیر
بهینه، باریک تر می شود.

چه الگوریتمی امکان پذیر است؟الگوریتمی که کامل و بهینه باشد.

*الگوریتم [tex]A^{*}[/tex] امکان پذیر است.

*شروط امکان پذیری:

۱) فاکتور انشعابb باید متناهی باشد.

۲) وزن(هزینه) تمامی لبه های گراف فضای حالت باید مثبت باشد.(یعنی فاقد گذر تهی و وزن منفی باشد.)

۳)شرط [tex]A^{*}[/tex] [tex]\forall h(n)\leq h^{*}(n)[/tex] برای تمامی گره های گراف برقرار باشد.


*اگرخطای تابع هیورستیک از لگاریتم هزینه واقعی بیشتر نباشد، تعداد نودها در جست و جوی [tex]A^{*}[/tex] رشد نمایی ندارد.

[tex]\left | h(n)-h^{*}(n) \right |\leq O(log h^{*}(n))[/tex]

معایب [tex]A^{*}[/tex]

* نمایی بودن زمان

* از آن جایی که [tex]A^{*}[/tex] تمام نودهای تولید شده را در حافظه نگه می دارد، حافظه ی بسیار زیادی مصرف می کند.به همین دلیل در مسائل کاربردی دشوار، قابل استفاده نیست.

** اگرچه الگوریتم [tex]A^{*}[/tex] امکان پذیر است، ولی ممکن است حین برخورد با گره های قبلا ملاقات شده، مسیر بهتری از مسیر اولیه پیدا شود و این امر منجر به اصلاح مسیر خواهد شد،که این اصلاحات سنگین بوده و با استفاده از خاصیت سازگاری این مشکل حل می شود.

* اگر دو نسخه از الگوریتم [tex]A^{*}[/tex] به نام های[tex]A_{1}^{*}[/tex] و[tex]A_{2}^{*}[/tex] برای حل یک مسئله داشته باشیم، به طوری که [tex]\forall n h_{1}(n)\leq h_{2}(n)[/tex] آنگاه [tex]A_{2}^{*}[/tex] آگاه تر از[tex]A_{1}^{*}[/tex] نامیده می شود.
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  جزوه ی خلاصه مدار های منطقی HamidReza1 ۰ ۷۴۵ ۰۶ اسفند ۱۴۰۱ ۱۱:۵۶ ب.ظ
آخرین ارسال: HamidReza1
  جزوه خلاصه نکات مهم فصول ابتدایی درس مهندسی نرم افزار Happiness.72 ۱ ۳,۵۵۷ ۱۳ خرداد ۱۴۰۱ ۰۶:۲۸ ب.ظ
آخرین ارسال: M o h m m @ d
  جزوه ی خلاصه ی درس مدار منطقی HamidReza1 ۱ ۲,۸۳۸ ۲۳ اسفند ۱۳۹۸ ۰۲:۱۱ ب.ظ
آخرین ارسال: marvelous
  نکات کنکوری روز خواستگاری Fardad-A ۳۷ ۳۲,۴۰۵ ۰۵ دى ۱۳۹۸ ۰۶:۳۳ ب.ظ
آخرین ارسال: Behnam‌
  [دانلود] خلاصه درس کامپایلر و مهندسی نرم افزار baran.r ۵ ۱۰,۲۳۷ ۲۱ مهر ۱۳۹۸ ۱۱:۰۸ ب.ظ
آخرین ارسال: rray
  خلاصه داده الگوریتم boshbosh ۷ ۱۰,۱۹۹ ۲۲ بهمن ۱۳۹۷ ۱۲:۳۷ ق.ظ
آخرین ارسال: sajjad_s84
  نکات کتاب طراحی الگوریتم نارنجی پوران پژوهش(نوشته ی خود آقای یوسفی) Milad_Hosseini ۱ ۴,۶۸۹ ۱۵ آبان ۱۳۹۷ ۰۶:۳۷ ب.ظ
آخرین ارسال: asdasdasdasd
  نکات کلیدی در چاپ کاتالوگ (قسمت اول) melinaa ۰ ۱,۷۹۰ ۰۴ شهریور ۱۳۹۷ ۱۰:۲۸ ق.ظ
آخرین ارسال: melinaa
  درخواست معرفی یک منبع خوب و خلاصه برای استفاده در حداقل زمان! hrh_fourtyseven ۷ ۸,۶۸۷ ۱۴ خرداد ۱۳۹۷ ۰۴:۱۴ ب.ظ
آخرین ارسال: mevm
Lightbulb نکات کاربردی جهت پایان نامه/مقاله نویسی αɾια ۱۳ ۸,۱۴۷ ۱۹ فروردین ۱۳۹۷ ۰۹:۴۶ ب.ظ
آخرین ارسال: nlp@2015

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close