PDA

View Full Version : ژنتیک و مسئله n وزیر



hjran abdpor
چهارشنبه 21 دی 1390, 17:22 عصر
با سلام به دوستان گل.
من خیلی به این مسئله و جوابش نیاز دارم ، البته نحوه ی کد کردن را با ژنتیک برام توضیح بده ، خیلی ممنون میشم.
با تشکر

hjran abdpor
پنج شنبه 22 دی 1390, 12:03 عصر
کسی نیست ؟

mohan21
جمعه 30 دی 1390, 01:21 صبح
سلام من هم در حال نوشتن این برنامه هستم، البته n وزیر به روش عقب گرد رو نوشتم و الآن هم نوبت ژنتیک هست،

کمی از این الگوریتم متوجه شدم، اینکه ::

1. n وزیر رو بطور تصادفی در صفحه n*n قرار میدهیم .... هر سطر یک وزیر
2. محاسبه برازش هر یک از وزیرها با فرمول
MaxGuard = n*(n-1)/2
fitness[i] = 1 - X / MaxGuard
X تعداد گارد وزیر iام با دیگر وزیران ...

خوب بعدش چه باید کرد ؟؟؟؟؟؟؟

مسعود اقدسی فام
جمعه 30 دی 1390, 14:05 عصر
سلام من هم در حال نوشتن این برنامه هستم، البته n وزیر به روش عقب گرد رو نوشتم و الآن هم نوبت ژنتیک هست،

کمی از این الگوریتم متوجه شدم، اینکه ::

1. n وزیر رو بطور تصادفی در صفحه n*n قرار میدهیم .... هر سطر یک وزیر
2. محاسبه برازش هر یک از وزیرها با فرمول
MaxGuard = n*(n-1)/2
fitness[i] = 1 - X / MaxGuard
X تعداد گارد وزیر iام با دیگر وزیران ...

خوب بعدش چه باید کرد ؟؟؟؟؟؟؟

کروموزم چطور تعریف شده؟
مرحله بعد انتخاب نسل میانی و عملیات تقاطع و جهش و تولید نسل جدید از روی نسل میانی هستن.

mohan21
جمعه 30 دی 1390, 14:29 عصر
یک آرایه یک بعدی به اندازه N، که بطور تصادفی به خونه هایش عدد 1 تا N میدیم و هر خانه i نشان دهنده اینکه وزیر i در سطر i در ستون عدد خانه i هست،

من هم در انتخاب نسل و حرکت و جابجایی دچار مشکل شدم ....

مسعود اقدسی فام
شنبه 01 بهمن 1390, 13:07 عصر
یک آرایه یک بعدی به اندازه N، که بطور تصادفی به خونه هایش عدد 1 تا N میدیم و هر خانه i نشان دهنده اینکه وزیر i در سطر i در ستون عدد خانه i هست،

من هم در انتخاب نسل و حرکت و جابجایی دچار مشکل شدم ....

پس 12345677 یعنی وزیرها روی قطر اصلی هستن، غیر از آخری که ستون هفتم قرار داره؟

این تعریف خوبه، ولی بهتر از اون اینه که کروموزوم ژن تکراری نداشته باشه. چون وزیرها به صورت ستونی هم همدیگه رو تهدید می‌کنن. مثلا 12345678. در این حالت با روش PMX می‌تونی CrossOver رو انجام بدی که صرفا یه جایگشت انجام می‌شه و مثلا مورد بالا با کمک یه والد دیگه تبدیل می‌شه به 67234158. برای جهش هم می‌تونی جای دو عدد رو عوض کنی. مثلا 12745638.

mohan21
شنبه 01 بهمن 1390, 19:06 عصر
مکان وزیرها بطور تصادفی انتخاب میشه، 12463721 یا 14273568 یا .....

من بعد از محاسبه fitness برای هر یک از وزیران چکار باید کنم ؟؟؟؟

مسعود اقدسی فام
شنبه 01 بهمن 1390, 20:41 عصر
مکان وزیرها بطور تصادفی انتخاب میشه، 12463721 یا 14273568 یا .....

من بعد از محاسبه fitness برای هر یک از وزیران چکار باید کنم ؟؟؟؟

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

بعدش باید چرخه رو تکرار کنید و سعی کنید با روش انتخاب‌هایی مثل چرخه رولت جواب‌های بهتر رو بیشتر به نسل بعدی منتقل کنید که به جواب بهتری برسید.

mohan21
یک شنبه 02 بهمن 1390, 00:23 صبح
بله می‌دونم تصادفی انتخاب می‌شه. ولی همونطور که اجازه نمی‌دید روی یه سطر دو تا وزیر وجود داشته باشه، می‌تونید تصادفی شدن رو طوری انجام بدید که روی یه ستون هم یه وزیر باشه فقط. البته اختیاره. صرفا سرعت رسیدن به جواب رو بالا می‌بره. الزامی نیست.

بعدش باید چرخه رو تکرار کنید و سعی کنید با روش انتخاب‌هایی مثل چرخه رولت جواب‌های بهتر رو بیشتر به نسل بعدی منتقل کنید که به جواب بهتری برسید.


بله، این رو اِعمال می کنم ....

حالا که fitness رو محاسبه کردم کدام وزیر رو باید جابجا کنم به چه صورت ... !

مسعود اقدسی فام
یک شنبه 02 بهمن 1390, 17:48 عصر
بله، این رو اِعمال می کنم ....

حالا که fitness رو محاسبه کردم کدام وزیر رو باید جابجا کنم به چه صورت ... !

این که کدوم وزیر و به چه صورت، باید الگوریتم ژنتیک و مراحل CrossOver و Mutation و احتمالا Repair را مطالعه کنید.

seyedeh samin
سه شنبه 12 اردیبهشت 1391, 10:05 صبح
سلام دوستان
من کد برنامه 8 وزیر و با ژنتیک در متلب میخوام
فوری فوری

seyedeh samin
سه شنبه 12 اردیبهشت 1391, 10:10 صبح
یعنی کسی نیست

HollyGhost
یک شنبه 01 مرداد 1391, 09:24 صبح
اینجا:
http://blog.salarcode.com/2012/01/ai-genetic-algorithm-nminister-and.html

i-nostalgic
شنبه 21 مرداد 1391, 12:26 عصر
اینجا در مورد مساله ای که میخواهید مطالبی هست
http://artificial.ir/intelligence/thread619.html