Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   الگوریتم ژنتیک(Genetic Algorithm) (http://artificial.ir/intelligence/forum24.html)
-   -   مساله ژنتیک n وزیر (http://artificial.ir/intelligence/thread11407.html)

intermanch ۱۰-۳۰-۱۳۹۱ ۱۱:۵۴ بعد از ظهر

مساله ژنتیک n وزیر
 
می خواهیم 4 وزیر را در یک صفحه شطرنج به ابعاد 7 در 7 قرار دهیم به نحوی که هیچ کدام از وزیرها همدیگر را تهدید نکرده
و
"همچنین"
در صورتیکه هر مهره دیگری را در هر یک از خانه های شطرنج قرار دهیم توسط وزیرها مورد تهدید قرار گیرد"

می خواهیم این مسئله را با الگوریتم ژنتیک شبیه سازی کنیم. مطلوبست:
الف- ساختار ژن
ب- ساختار کرموزوم
ج- تعدادی مثال به عنوان نسل اولیه
د-تابع شایستگی
ه- عملگر تقاطع(به همراه مثال)
و- عملگر جهش(به همراه مثال)


:104::63::42:
راهنمایی بفرمایید لطفاااااااااااااااااااااا
من بهش نیاز فوری دارم هرکی جواب درست حسابی نداره الکی اسم هشت وزیرو نیاره:20:

raha_hakhamanesh ۱۱-۱-۱۳۹۱ ۱۱:۴۱ قبل از ظهر

با سلام
مسئله ساده ولی خوبیست برای بحث.

ساختار ژن: بیت (البته شما می توانید در برنامه نویسی از کوچکترین واحد زبان برنامه نویسی مثل یک بیت استفاده کنید)

ساختار کروموزوم: هر کروموزوم باید بیانگر وضعیت یک عنصر در مساله باشد یعنی باید بتواند موقعیت یک عنصر را توصیف کند بعبارتی بتواند مکان وزیر یا عناصر دیگر را مشخص کند. مثلا اگر مساله در یک صفحه 32*32 باشد می توان با کروموزومهای 10 بیتی (5 بیت برای x و 5 بیت برای y) کار را انجام داد.

تعدادی مثال: بیان مثال در قالب صفر و یک که فایده ای ندارد درک آن هم سخت است به همین علت مثلا سه نمونه در قالب دستگاه دهدهی عرض می کنم که باید به بیت در دستگاه دودویی بیان شود => (1و1) | (3و2) | (4و3) در مثال 4*4

تابع شایستگی: یک تابع ساده که وضعیت وزیرها را نسبت به یکدیگر ارزیابی کند و پاسخ دهد آیا یکدیگر را تهدید می کنند یا خیر؟ من اگر بخواهم این را طراحی کنم تعداد تهدیدها را بعنوان خروجی تابع بر میگردانم. همچنین میزان تهدید یا عدم تهدید سایر عناصر می تواند در یک تابع ارزیابی دومی قرار گیرد (بطور مشابه) و از آن نیز استفاده شود.

عملگر تقاطع: هر روشی که دوست دارید، فقط این مهم است که ژن ها ترکیب شوند مثلا از روش ترکیب یک نقطه ای استفاده کنید که ساده ترین است.

جهش: تغییر یک بیت از کروموزوم ها که مسلما باعث تغییر موقعیت x یا y (موقعیت مهره) خواهد شد.

موفق باشید

intermanch ۱۱-۱-۱۳۹۱ ۱۲:۵۴ بعد از ظهر

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

اام اینجا اولا 4 وززیره و 7 خانه یعنی اصلا اینقد جا دارند که بهم نخوردند اما در عین حال باید هر مهره ای در بین انها قرار گیرد در تهدید باشد دقت کنید هیچ دو وزیری همو تهددی نکنند ولی هیچ مهرهای از دست انها در امان نباشد

من فکرم اینه ولی کمک کنید اصلاح و کامل شه

1/4/2/5
4/2/5/3
2/5/3/1
2/5/3/4
چهارمی فقط دو خانه در امان میماند پس مناسب برای کراس اور با کرموزوم های دیگست

بعد از تقاطع یک نقطهای اولی و چهارمی مثلا
چی میشه کرموزوم های بدست اومده چه ارزشی دارند اون وخ برای جهش کدومو باید انتخاب کنم؟:62:


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۹:۱۵ قبل از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.