تالار گفتمان مانشت
مشکل در حل یک مثال با الگوریتم *SMA - نسخه‌ی قابل چاپ

مشکل در حل یک مثال با الگوریتم *SMA - pooyaa - 09 آذر ۱۳۹۲ ۱۰:۴۴ ق.ظ

سلام

میشه یه نفر مقدار دهی به گره ها رو تو هرمرحله توضیح بده-مثلا چرا مقدار گره A که تو مرحله۱ ۱۲هست در مرحله۳ میشه ۱۳؟؟


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


RE: مشکل در حل یک مثال با الگوریتم *SMA - pooyaa - 18 آذر ۱۳۹۲ ۰۲:۴۹ ق.ظ

کسی نمیتونه کمک کنه؟

الگوریتمشم بالای عکس هست...

این عکس رو از کتاب پوران گرفتم ولی مثالش رو کتاب راهیان ارشدام داره

اگر کسی بلده یه توضیح مختصر بده ممنونش میشم

RE: مشکل در حل یک مثال با الگوریتم *SMA - amin222 - 18 آذر ۱۳۹۲ ۱۰:۱۵ ق.ظ

دوست عزیز سلام
توی مرحله ۳ و ۶ گره A کامل بسط داده شده و مقدار تابع f بهترین فرزندش رو جایگزین مقدار f خودش میکنه توی هر مرحله هم که به دلیل کمبود حافظه میخواد گرهی رو حذف کنه مقدار گرهی رو که حذف میشه توی پرانتز کنار مقدار گره پدر مینویسه اگه حین بسط عمق درخت خواست یشتر از حافظه موجود بشه مقدار f اون آخرین گره که میخواسته عمق رو افزایش بده میشه بینهایت مثل مرحله ۴ که f گره h شده بینهایت

RE: مشکل در حل یک مثال با الگوریتم *SMA - pooyaa - 18 آذر ۱۳۹۲ ۰۳:۵۹ ب.ظ

(۱۸ آذر ۱۳۹۲ ۱۰:۱۵ ق.ظ)amin222 نوشته شده توسط:  دوست عزیز سلام
توی مرحله ۳ و ۶ گره A کامل بسط داده شده و مقدار تابع f بهترین فرزندش رو جایگزین مقدار f خودش میکنه توی هر مرحله هم که به دلیل کمبود حافظه میخواد گرهی رو حذف کنه مقدار گرهی رو که حذف میشه توی پرانتز کنار مقدار گره پدر مینویسه اگه حین بسط عمق درخت خواست یشتر از حافظه موجود بشه مقدار f اون آخرین گره که میخواسته عمق رو افزایش بده میشه بینهایت مثل مرحله ۴ که f گره h شده بینهایت

آهان یادم اومد Big Grin
قبلا ۱بار حلش کرده بودم ولی الان هرچقد بهش وررفتم فایده نداشتDodgy

مرسی ی یWink

RE: مشکل در حل یک مثال با الگوریتم *SMA - teraktor2003 - 22 دى ۱۳۹۳ ۱۲:۳۰ ق.ظ

یک سوال در مورد این الگوریتم دارم
تو مرحله ۶ چرا اول گره c بسط داده شده و نه اول گره D?
مگه این الگوریتم بر حسب f به صورت صعودی نیس؟
fc=25 و fd=20 ئه...پس چطور اول گره c که f بیشتری داره بسط داده شده؟

RE: مشکل در حل یک مثال با الگوریتم *SMA - shamim_70 - 22 دى ۱۳۹۳ ۰۵:۴۷ ب.ظ

فرزندان هر نود ب ترتیب بررسی میکنه ! مثلا اینجا اولین نود مابعد Bنود Cهست ک مقدارشم ۲۵/ولی چون ما تو عمق ۳هستیم و این حداکثر عمق هست و درضمن هم Bهدف ما نیس...از نود Cبه بعد ادامه نمیتونیم بدیم از طرفی مقدار Cرو بی نهایت میزاریم تا دوباره به این نود برنگردیم!
حالا بسراغ نود بعدی Bمیریم ک مقدار ۲۰داره!می بینیم که اولا Dیکی از نودهای هدف هس ثانیا مقدار F که از شاخه های دیگه در جد Bنگه داشتیم مقدار ۲۴داشته!این یعنی هر نود دیگ تو شاخه ها دیگه مقدار Fبیشتری نسبت به این نود Dداشتن!..پس به هدف با کمترین مقدار Fرسیدیم.
این پی دی اف هم خیلی خوب مراحل رو توضیح داده..بخونی کاملا متوجه میشی

RE: مشکل در حل یک مثال با الگوریتم *SMA - teraktor2003 - 22 دى ۱۳۹۳ ۰۹:۱۴ ب.ظ

(۲۲ دى ۱۳۹۳ ۰۵:۴۷ ب.ظ)shamim_70 نوشته شده توسط:  فرزندان هر نود ب ترتیب بررسی میکنه ! مثلا اینجا اولین نود مابعد Bنود Cهست ک مقدارشم ۲۵/ولی چون ما تو عمق ۳هستیم و این حداکثر عمق هست و درضمن هم Bهدف ما نیس...از نود Cبه بعد ادامه نمیتونیم بدیم از طرفی مقدار Cرو بی نهایت میزاریم تا دوباره به این نود برنگردیم!
حالا بسراغ نود بعدی Bمیریم ک مقدار ۲۰داره!می بینیم که اولا Dیکی از نودهای هدف هس ثانیا مقدار F که از شاخه های دیگه در جد Bنگه داشتیم مقدار ۲۴داشته!این یعنی هر نود دیگ تو شاخه ها دیگه مقدار Fبیشتری نسبت به این نود Dداشتن!..پس به هدف با کمترین مقدار Fرسیدیم.
این پی دی اف هم خیلی خوب مراحل رو توضیح داده..بخونی کاملا متوجه میشی

پس این الگوریتم از f=g+h به صورت صعودی استفاده نمی کنه؟مثل اول عمق عمل می کنه؟!!!

RE: مشکل در حل یک مثال با الگوریتم *SMA - shamim_70 - 22 دى ۱۳۹۳ ۰۹:۵۲ ب.ظ

این الگوریتم گره برگ با کم ترینf_costرو بسط میده.
مثلا گره AگرهBرو تولید میکنه و بعدم گرهG.ولی فقط میره سراغG و اونو بسط میده.اما مقدارBرو در گره Aنگه میداره.دلیلش چیه؟واسه اینه ک ما همیشه دنبال بسط گره ای هستیم کهf_costکم باشه تا اگ نیاز بود برگردم رو همون شاخه ای ک بهتره .ک اینجا هم میبینید دوباره ب گشته سراغB.
ببخشید طولانی شد

فرستاده شده از SM-T211ِ من با Tapatalk

RE: مشکل در حل یک مثال با الگوریتم *SMA - teraktor2003 - 22 دى ۱۳۹۳ ۱۰:۵۸ ب.ظ

(۲۲ دى ۱۳۹۳ ۰۹:۵۲ ب.ظ)shamim_70 نوشته شده توسط:  این الگوریتم گره برگ با کم ترینf_costرو بسط میده.
مثلا گره AگرهBرو تولید میکنه و بعدم گرهG.ولی فقط میره سراغG و اونو بسط میده.اما مقدارBرو در گره Aنگه میداره.دلیلش چیه؟واسه اینه ک ما همیشه دنبال بسط گره ای هستیم کهf_costکم باشه تا اگ نیاز بود برگردم رو همون شاخه ای ک بهتره .ک اینجا هم میبینید دوباره ب گشته سراغB.
ببخشید طولانی شد

فرستاده شده از SM-T211ِ من با Tapatalk

دقیقا درسته
ولی من باز هم متوجه نشدم
اگه گره با کمترین fcost رو بسط بخواد بده,گره d مقدارش کمتر از گره c هست
پس چی شده که اول c رو بسط داده؟

RE: مشکل در حل یک مثال با الگوریتم *SMA - shamim_70 - 22 دى ۱۳۹۳ ۱۱:۳۵ ب.ظ

ببنید من یکی دوتا سوال مث اینو ی چک کردم بنظرم اینجور میاد که:
مجبوریم بصورت سطری از چپ حرکت کنیم و گره های فرزند رو در نظر بگیریم،اگ همون دفعه اول گره باfکمترو بسط بدی متوجه این نمیشی ک ممکنه شاخه ی دیگ ای مثلا تو زیر درخت چپ باشه ک در ادامه fکمتری رو برات فراهم کنه!
حالا ابنجا بین گره یcوDشاید جریان فرق نکنه!ولی گره Aاگ همون دفعه اول بری سراغ G اون وقت چجوری میفهمی ک تو شاخهB،هزینهFکمتری نصیبت میشه؟؟
نمیدونم تونستم خوب توضبح بدم یا نه!

فرستاده شده از SM-T211ِ من با Tapatalk

RE: مشکل در حل یک مثال با الگوریتم *SMA - ƊƦЄƛM - 22 دى ۱۳۹۳ ۱۱:۵۱ ب.ظ

اینجارو هم ببینید
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


RE: مشکل در حل یک مثال با الگوریتم *SMA - falcon7 - 26 دى ۱۳۹۳ ۰۶:۴۹ ب.ظ

(۲۲ دى ۱۳۹۳ ۱۲:۳۰ ق.ظ)teraktor2003 نوشته شده توسط:  یک سوال در مورد این الگوریتم دارم
تو مرحله ۶ چرا اول گره c بسط داده شده و نه اول گره D?
مگه این الگوریتم بر حسب f به صورت صعودی نیس؟
fc=25 و fd=20 ئه...پس چطور اول گره c که f بیشتری داره بسط داده شده؟

منم همین سوال رو دارم! چرا سری اول G رو بسط داد ولی اینجا اول c که هزینه بیشتری نسبت به D داره رو بسط داده؟

RE: مشکل در حل یک مثال با الگوریتم *SMA - amir_ghanati - 07 شهریور ۱۳۹۶ ۰۱:۳۶ ق.ظ

سلام دوست عزیز

به نظر میاد که الگوریتم به ترتیب حروف الفبا پیمایش شده نه به ترتیب صعودی و نزولی بودن