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

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   الگوریتم ژنتیک(Genetic Algorithm) (http://artificial.ir/intelligence/forum24.html)
-   -   نقش احتمال جهش در الگوریتم ژنتیک چیست؟ (http://artificial.ir/intelligence/thread9588.html)

hbree ۰۵-۵-۱۳۹۰ ۱۲:۰۵ بعد از ظهر

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

aminkop ۰۵-۵-۱۳۹۰ ۰۲:۵۶ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله hbree (پست 19542)
با سلام!!
دوستان من دارم روی الگوریتم ژنتیک کار می کنم و چند تا مقاله هم راجع بهش خوندم.اما چیزی که هست من هنوز نمیدونم که احتمال حهش توی این الگوریتم کارش چیه و به چه درد میخوره.و اصلا این رو چطور باید اوکی کنیم.
مثلا نرخ انتخاب یعنی متا مشخص می کنیم از هر نسل چند نفر برای تولید نسل جدید انتخاب شن اما چیزی که هست این احتمال جهش چه چیزی رو مشخص میکنه؟
اگر کمکم کنید خیلی ممنون میشم!!!

سلام
بطور کلی الگوریتم ژنتیک و کلا تکاملی ها بر اساس جستجوئی تصادفی بنا نها شده اند. استفاده از روش انتخاب برای تولید تصادفی نقاطی در فضای جواب و اعمال بازترکیبی و جهش برای جستجوی در فضای جواب مساله می باشد که معمولا بازترکیبی برای جستجوی عمومی و جهش برای جستجوی محلی است. حالا این جستجوی محلی نیاز به نرخی (یک مقدار احتمالی) برای اعمال شدن روی فرزندان در هر مرحله دارد چون نمی خواهید همه فرزندان حتما مقدارشان توسط جهش تغییر کنه و شاید درست روی جواب باشید این نرخ با مقدار کمتری نسبت به بازترکیبی و معمولا با یک احتمال کوچک اعمال میشه تا بطور تصادفی جهش انجام شود.

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

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

aminkop ۰۵-۵-۱۳۹۰ ۰۶:۵۱ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله hbree (پست 19546)
ممنون دوست عزیز!!
ببینید من درست فهمیدم؟
من اینطور متوجه شدم که این نرخ جهش یا همون احتمال جهش مشخص کننده اینه که مثلا هر چند مرحله یکبار و روی چند کروموزوم عمل جهش صورت بگیره. درسته؟
و این که خب به قول خودتون هم این باید کاملا تصادفی باشه، پس من این رو چطور باید توی کدم بگنجونم؟
ببخشید تورو خدا من اینقدر سوال می کنم.من یه کم مبتدی ام تو این مساله ببخشید دیگه!!!

سلام
این جمله ای که بیان کردید صحیح نیست و اینطوری اصلاح میشه که این نرخ جهش میگه در هر مرحله, جهش با یک احتمالی بر روی هر کروموزوم اعمال شود یا نمی شود.
یک مثال که نزدیک به پیاده سازی هم باشه بزنم: فرض کنید Pm نرخ جهش است که مثلا شما 0.1 انتخاب کرده اید و 5 بازمانده (کروموزم) هم پس از انتخابتان حالا می خواهید
روی آنها جهش اعمال کنید به ازای هر کروموزوم یعنی 5 بار یک عدد تصادفی تولید می کنید اگر آن عدد از 0.1 (Pm) کوچکتر بود جهش را اعمال کن و اگر بزرگتر نبود اعمال نکن.
اینطوری شما به هر کروموزوم به اندازه 0.1 شانس انجام شدن جهش را بر رویش داده اید.

hbree ۰۵-۸-۱۳۹۰ ۰۱:۲۹ بعد از ظهر

بسیار بسیار ممنون دوست عزیز!!
فکر کنم یه چیزایی فهمیدم.
ببین این طور که فهمیدم یعنی الام مثلا ما 5 تا کروموزوم داریم 5تام عدد تصادفی درست می کنیم که هرکدوم واسه یکی از این کروموزوم هاست که عدد تصادفی مربوط به هر کدوم اگه کوچکتر از احتمال جهش امون بود روش جهش می دیم.واگرنه که هیچی!!
فقط یه چیزی اینطوری باید بازه تولید عدد تصادفی امون تو بازه 0 تا 1 باشه که واقعا احتمال وقوع اش یک دهم باشه. درسته؟

aminkop ۰۵-۸-۱۳۹۰ ۰۱:۵۱ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله hbree (پست 19581)
بسیار بسیار ممنون دوست عزیز!!
فکر کنم یه چیزایی فهمیدم.
ببین این طور که فهمیدم یعنی الام مثلا ما 5 تا کروموزوم داریم 5تام عدد تصادفی درست می کنیم که هرکدوم واسه یکی از این کروموزوم هاست که عدد تصادفی مربوط به هر کدوم اگه کوچکتر از احتمال جهش امون بود روش جهش می دیم.واگرنه که هیچی!!
فقط یه چیزی اینطوری باید بازه تولید عدد تصادفی امون تو بازه 0 تا 1 باشه که واقعا احتمال وقوع اش یک دهم باشه. درسته؟

سلام
بله کاملا درسته.
در اکثر محیط های برنامه نویسی از جمله متلب توابعی که برای تولید عدد تصادفی بصورت پیشفرض
در نظر گرفته شده در بازه 0-1 عدد تولید میکنه به هر حال این بازه را هم می توانید تغییر دهید.

hbree ۰۵-۸-۱۳۹۰ ۱۰:۳۱ بعد از ظهر

خیلی خیلی ممنون!!!
ببخشید که من انقدر سوال میکنم.خب یه کم مبتدی ام دیگه ببخشید.
یه سوال هم در مورد عمل ترکیب داشتم.
خوشبختانه من با توضیحات و کمک های شما عملگر جهش رو کاملا درک کردم و فهمدیم که چطور کار میکنه و پیاده سازی میشه.اما خب می خواستم بدونم که آیا در مورد ترکیب هم اطلاعاتم درسته یا نه.
طوری که من فهمیدم عملگر ترکیب یا ازدواج در یک نسل به این صورت کار میکنه که مثلا ما با یه نرخ ترکیبی که مشخص میکنه چند زوج کروموزم باید ترکیب شن کروموزوم هارو از قسمت با برازش بیشتر با هم ترکیب می کنیم و نتیجه اش رو به جمعیت اضافه می کنیم.
مثلا من 8 تا کروموزوم دارم وقتی نرخ انتخابم 2 باشه چهار تا از اونا که امتیاز یا همون برازش بالاتری دارن رو انتخاب میکنم و دو به دو با هم مزدوج اشون میکنم و جواب های بدست اومده ارو به جمعیت ام اضافه میکنم.و جمعیت رو سرت میکنم.انقدر این کار رو در کنار عمل جهش انجام میدم تا به جواب بهینه برسم!
درسته؟
یا باز اشتباه فهمیدم؟
ممنون میشم اگه بازم کمکم کنید.خیلی خیلی ممنون.

hbree ۰۵-۱۰-۱۳۹۰ ۰۹:۴۶ قبل از ظهر

سلام!!!
دوستان اگر کسی می تونه کمکم کنه لطفا دریغ نکنه!!
خیلی ممنون!!!

aminkop ۰۵-۱۰-۱۳۹۰ ۱۲:۱۸ بعد از ظهر

سلام

بازترکیبی و جهش عملگرها هستند و هیچ تاثیری در نوع انتخاب ندارند و نرخ بازترکیبی هم مانند نرخ جهش فقط
نمایش دهنده احتمال ترکیب کروموزومها است. اینکه نسل جاری بر اساس رتبه یا شایستگی مرتب بشوند یا
هر جور دیگر مسائل مربوط به بحث انتخاب و نوع روش های آن است. نکته ای که وجود داره اینه که جهش یک عملگر
که روی یک کروموزوم عمل میکنه و بازترکیبی روی 2 یا چند کروموزوم بصورت 2 به 2 انجام میشه.
در پست زیر ترتیب عملکرد این الگوریتم ها بطور کلی و اکثر روش ها برای انجام هر کدام نام برده شده است.

http://artificial.ir/intelligence/thread9113.html

موفق باشید  


زمان محلي شما با تنظيم 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.