توضیحانه: رابینسون کروزوئه نقاش می شود
توسط کمانگیر در روز ۲۱ آذر ۱۳۸۷آذر ۲۱
این "توضیحانه" در مورد این پست دکتر مجیدی عزیز است: روند تدریجی تکامل را در یک عکس تجربه کنید.
الگوریتم ارایه شده در این صفحه یک تصویر را به کمک روی هم گذاشتن 50 شش ضلعی (؟) ِ شفاف Transparent بازسازی می کند. برای حل این مساله، که اساسا یک مساله ی بهینه سازی دشوار است، از الگوریتم ژنتیک استفاده می شود.
بطور خلاصه، در یک الگوریتم ژنتیک، "راه حل" بصورت یک کروموزوم کد می شود که از تعدادی ژن تشکیل شده است. در مساله ی ما، گوشه های چندضلعی ها، رنگ آنها، و میزان شفافیت آنها، ژنهای مساله هستند (بنظر می رسد از شش ضلعی استفاده شده است). با فشردن Export DNA این ساختار را ببینید.
طبق توضیح صفحه، در هر "نسل" یک ژن بطور تصادفی تغییر می کند و اگر این تغییر "مناسب" بود حفظ می شود. به همین دلیل شما evolving یعنی موجود فعلی و best یعنی بهترین موجود تاحال را می بینید. تعریف "بهترین" در این مساله "شبیه ترین به تصویر داده شده به لحاظ پیکسلی" است.
الگوریتم ارایه شده در عمل تنها از جهش mutation تک ژنی استفاده میکند و از ابزار اساسی crossover (آمیخته شدن ژنهای پدر و مادر و تولید بچه) استفاده ای نمی برد. به عبارت ساده تر، آقای رابینسون کروزوئه مشغول تولید مثل با حضرت خودش است و منتظر است که موجود برتری از این روند پدیدار شود.
الگوریتم نوشته شده همینطور به شدت خشن است و بنظر می رسد تنها بهترین بچه را حفظ می کند. در عمل مناسب است که بچه های "نسبتا خوب" هم شانس زندگی داشته باشند. با اینحال، کد نوشته شده نمایش تصویری بسیار جالبی از نحوه ی عمل یک الگوریتم ژنتیک ارایه می دهد.




سلام . شرمنده کمی نامرتبطه کمانگیر جان
اما خبر دارم وردپرس ۲٫۷ منتشر شده و گفتم بد نیست یه نگاهی به اینجا بندازی ، شاید به دردت خورد :
http://forum.gsmaria.com/showthread.php?p=49112#post49112
چقدر جالب … مرسی حاج کمانگیر
مشکل بزرگ الگوریتم پیاده سازی شده به نظر من اینه که با دقیق تر شدن تصویر اندازه ۶- ضلعی ها کوچکتر نمیشه. در نتیجه عملا به تصویر نمیرسیم.
الگوریتم ژنتیکی کلا به سمت جواب بهینه می ره و لزوما به جواب اصلی نمی رسه. و این پیاده سازی هم یک پیاده سازی ساده و ابتدایی الگوریتم ژنتیکیه. اینکه اندازه چند ضلعی ها کوچکتر بشه، یک استراتژیه که در پیاده سازی ای پیچیده تر، می تونه به الگوریتم اضافه بشه. برای الگوریتمی به این سادگی، نتیجه بالای ۹۰% خوب به نظر می رسه.
WoW !!!