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

بدست اوردن پیچیدگی زمانی ومکانی الگوریتمهای RBFS و IDA* و SMA*

ارسال:
  

saho پرسیده:

بدست اوردن پیچیدگی زمانی ومکانی الگوریتمهای RBFS و IDA* و SMA*

سلام به دوستان
کسی میتونه راه حل بدست اوردن پیچیدگی زمانی ومکانی الگوریتم های Rbfsوida*وsma*رو برام بنویسه؟
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

yaser_ilam_com پاسخ داده:

بدست اوردن پیچیدگی زمانی ومکانی

دو تا مقاله قرار دادم امیدوارم بدردت بخوره البته در مورد ida,sma


منبع ویکی پیدا :

A * Search

در جستجوی حریصانه با انتخاب تابع تخمین(h(n که هزینهٔ تخمینی رسیدن از نود فعلی به نود هدف بود سعی می‌کردیم که سریع تر به سمت هدف حرکت نماییم و همچنین فضای حالت را کاهش دهیم اما این روش نه کامل بود و نه بهینه. از طرفی در جستجو با هزینهٔ یکسان با انتخاب تابع(g(n که هزینهٔ واقعی مسیر از ریشه تا نود n بود در پی یافتن مسیری با حداقل هزینه بود که روشی بود کامل و بهینه اما می‌توانست بسیار زمان بر بوده و در برخی موارد بی فایده باشد. برای دستیابی به مزایای هر دو جستجو از ترکیب این دو روش تحت عنوان جستجوی A* استفاده می‌کنیم که تابع ارزیابی آن به صورت زیر است:

(f(n)=h(n)+g(n

(h(nهزینه تخمینی برای رسیدن از نود n ازارزانترین راه به هدف

(g(n :هزینهٔ رسیدن از نود ریشه به نود n == جستجوی *Intractive deeping A*) IDA) == می‌دانیم که جستجوی عمیق کننده تکراری تکنیکی مفید برای کاهش درخواست حافظه‌است حال می‌توانیم از این تکنیک استفاده نموده و هر بار یک جستجوی عمقی تا هزینهٔ f-cost را جستجو کنیم. اگر به جواب نرسیدیم هزینه f-cost را افزایش داده و از اول به بسط فضای حالت می‌پردازیم.

نکته ۱: محدودیت هزینه در هر مرحله به گونه‌ای انتخاب می‌شود که در مراحل قبلی ثابت شده‌است که جوابی با هزینهٔ کمتر از این مقدار وجود ندارد.

نکته ۲: می‌توان هزینه مرحله جدید را برابر با کمترین هزینهٔ نودی که در مرحله قبلی بسط داده نشده قرار داد از آنجا که این روش به صورت عمقی است پس پیچیدگی فضایی آن در بدترین حالت (S(b.d است.

نکته ۳: پیچیدگی زمانی بستگی به تابع اکتشافی دارد.

نکته ۴: این روش نیز مشابه *A کامل و بهینه‌است

جستجوی *Simplified Memory Bounded A*) SMA) [ویرایش]

در روش قبلی(*IDA)استفاده بسیار جزئی از حافظه داشت و بین تکرارها این جستجو فقط یک عدد خاص از محدوده جاری را نگه می‌داشت (f-cost) و چون نمی‌توانست تاریخچه اش را به خاطر آورد مجبور به تکرار می‌شد الگوریتم *SMA قادر خواهد بود تا از تمام حافظه موجود برای اجرای جستجو استفاده نماید هرچه حافظه بیشتر باشد کارآیی جستجو بالاتر خواهد بود.

ویژگی ها

۱ می‌توان از تمام حافظه مورد دسترس خود استفاده کرد.

۲ تا جایی که حافظ اجازه می‌دهد از تولید حالات تکراری جلوگیری می‌کند.

۳ در صورتی کامل است که حافظه برای ذخیره کم عمق‌ترین مسیر راه حل وجود داشته باشد.

۴ در صورتی بهینه‌است که حافظهٔ کافی برای ذخیره کم عمق‌ترین مسیر راه حل وجود داشته باشد.

الگوریتم:

زمانی که نیاز به تولید فرزند باشد ولی حافظه‌ای در اختیار نداشته باشیم نیاز به نوشتن مجدد به روی حافظه قبلی است برای انجام این امر الگوریتم یک گره را حذف می‌کند و فرزند جدید از حافظه آن استفاده خواهد کرد گره‌هایی که بدین طریق حذف می‌شوند گره‌های فراموش شده نام دارند. همیشه گره‌هایی برای حذف شدن انتخاب می‌شوند که هزینهٔ آﻧﻬا بالا است. برای جلوگیری از جستجوی مجدد زیر درخت‌هایی که از حافظه حذف شده‌اند، در گره پدر آﻧﻬا اطلاعاتی در مورد کیفیت بهترین مسیر در زیر درخت فراموش شده نگهداری می‌شود. بدین طریق فقط زمانی زیر درخت‌ها دوباره تولید می‌شوند که ثابت شود تمام مسیرهای دیگر بدتر از مسیر فراموش شده باشد.


فایل‌(های) پیوست شده
۵۸۰f11SiminFahimIDAStar.pdf
اندازه فایل: ۳۴۶/۲۳ KB
SMA search.pdf
اندازه فایل: ۹۱۴/۷ KB
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Exclamation سلام لطفاً یکی به من بگه مرتبه زمانی ها چطوری به log تبدیل میشن فرمول داره؟؟ Azadam ۶ ۴,۰۰۲ ۰۶ دى ۱۴۰۰ ۰۹:۰۲ ق.ظ
آخرین ارسال: Soldier's life
  حل مساله مرتبه زمانی حلقه های تو در تو sarashahi ۱۶ ۲۱,۴۳۰ ۱۹ خرداد ۱۳۹۹ ۰۱:۱۶ ب.ظ
آخرین ارسال: gillda
  مرتبه زمانی Sanazzz ۱۷ ۱۹,۴۸۰ ۰۹ اردیبهشت ۱۳۹۹ ۰۶:۴۶ ب.ظ
آخرین ارسال: mohsentafresh
  پیچیدگی زمانی اکشن های قابل اعمال در یک وضعیت اsepid8994 ۰ ۱,۵۹۸ ۲۹ اسفند ۱۳۹۸ ۱۲:۵۱ ب.ظ
آخرین ارسال: اsepid8994
  مرتبه زمانی یافتن قطر Sepideh96 ۲ ۳,۴۷۸ ۰۸ آذر ۱۳۹۸ ۰۴:۳۴ ب.ظ
آخرین ارسال: erfan30
Question یافتن دو عدد پیچیدگی زمانی O(n) porseshgar ۲ ۳,۵۶۲ ۱۵ بهمن ۱۳۹۷ ۱۲:۱۶ ب.ظ
آخرین ارسال: porseshgar
  مرتبه زمانی Sanazzz ۰ ۱,۸۶۳ ۰۴ بهمن ۱۳۹۷ ۰۵:۴۱ ب.ظ
آخرین ارسال: Sanazzz
  مشکل در پیچیدگی زمانی ماهی ۲۵۸ ۲ ۲,۷۷۳ ۲۳ تیر ۱۳۹۷ ۱۲:۱۸ ق.ظ
آخرین ارسال: Alisalar
  درخواست(محاسبه پیچیدگی زمانی)(بخش روابط بازگشتی) Saman ۶ ۶,۹۱۸ ۲۷ خرداد ۱۳۹۷ ۰۳:۲۴ ب.ظ
آخرین ارسال: saeed_vahidi
  الگوریتم IDA* کامپیوتر ۹۵ Hopegod ۵ ۸,۲۲۴ ۰۵ اردیبهشت ۱۳۹۷ ۱۰:۴۳ ق.ظ
آخرین ارسال: mzi

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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