Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > محاسبات نرم > الگوریتم ژنتیک(Genetic Algorithm)


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۲-۱۵-۱۳۹۲, ۰۵:۳۹ بعد از ظهر   #1 (لینک دائم)
عضو جدید
 
آواتار shama
 
تاريخ عضويت: ارديبهشت ۱۳۹۱
پست ها: 2
تشكرها: 2
0 تشكر در 0 پست
پيش فرض نرخ جهش در الگوریتم ژنتیک

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

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۰۲-۱۵-۱۳۹۲, ۰۸:۴۳ بعد از ظهر   #2 (لینک دائم)
Moderator
 
آواتار babak_1234
 
تاريخ عضويت: شهريور ۱۳۸۸
محل سكونت: تهران
پست ها: 252
تشكرها: 1
140 تشكر در 108 پست
My Mood: Khonsard
پيش فرض

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

نرخ جهش میزان تغییراتی که توسط عملگر جهش بر روی کروموزوم اعمال میشه رو تعیین میکنه.
استراتژی های مختلفی برای تعیین کردن این پارامتر وجود داره اما در اکثر موارد این مقدار ۲۰٪ تعیین میشه. گاهی هم در ابتدای اجرای الگوریتم این مقدار زیاد هست و در طول اجرا کمتر میشه تا فضای جستجو خیلی جا به جا نشه.
عملگر جهش روی همه کروموزوم ها اعمال نمیشه و فقط ۲۰٪ اونها شامل جهش میشن. البته من دیدم که در برخی موارد با احتمال ۲۰٪ روی یک کروموزوم اعمال میشه.

موفق باشی
babak_1234 آفلاين است   پاسخ با نقل قول
از babak_1234 تشكر كرده است:
shama (۰۲-۱۶-۱۳۹۲)
قديمي ۰۲-۱۵-۱۳۹۲, ۱۰:۱۴ بعد از ظهر   #3 (لینک دائم)
Super Moderator
 
آواتار raha_hakhamanesh
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: دنیا
پست ها: 281
تشكرها: 28
253 تشكر در 147 پست
My Mood: Zodranj
پيش فرض

نقل قول:
نوشته اصلي بوسيله shama نمايش پست
سلام کسی میتونه توضیح بده که نرخ جهش تو الگوریتم یعنی چی؟جهش رو همه ی کروموزوم های حاصل از ترکیب اعمال میشه ؟برای اعمال عملگر ترکیب آیا همه کروموزوم هایی که تو چرخ رولت انتخاب میشن ترکیب میشن یا شرایطی داره ؟ممنون میشم اگه زودتر جواب بدین
با سلام
جهش یک عملگر ژنتیکی است که معمولا برای حفظ تنوع ژنتیکی (Genetic diversity) مورد استفاده قرار می گیرد.
جهش مقدار یک یا چند ژن از کروموزوم را تغییر می دهد. (Mutation alters one or more gene values in a chromosome from its initial state)
نرخ جهش یعنی چه تعدادی (چند درصد) از ژن های یک کروموزوم تغییر می یابند و مسلما یک پارامتر آماری است یعنی وقتی می گوییم نرخ جهش 2% است یعنی از هر 100 ژن توقع داریم 2 ژن تغییر وضعیت داده باشند اما این کاملا به احتمال رخدادن آن 2% ربط دارد و لذا ممکن است حتی 3 ژن یا بیشتر، یا کمتر از 2 ژن تغییر وضعیت داده شود اما وقتی تعداد ژن ها به سمت بینهایت میل کنند مسلما این مقدار هم به سمت عدد 2 میل می کند. (بطور کلی یک پدیده احتمالی است نه قطعی)

اما اینکه نرخ جهش چقدر باشد، باید بگویم بر خلاف نظر دوستم بابک، توصیه می شود نرخ جهش بزرگ نباشد اگر چه این موضوع می تواند بسته به نوع مسئله تفاوت بکند ولی معمولا نرخ جهش عددی کوچکتر از 2% و حتی 1.5% درنظر گرفته می شود؛ دلیل آن هم کاملا مشخص است فرض کنید

قرار است با هر تکامل (چرخه) الگوریتم ژنتیک از یک کوه بالا برویم، عملگر Crossover سرعت گام های ما را تنظیم می کند ولی جهش ما را از یک تپه به تپه دیگری می برد، جهش برای زمانی است که در یک قله محلی (و نه گلوبال) به دام افتاده ایم و پیشرفتی حاصل نمی شود آنوقت باید منتظر یک جهش خوب بود تا ما را از آن تپه محلی به یک محل دیگر برده و اصطلاحا نجاتمان دهد تا شاید در آن تپه جدید پیشرفت بهتری داشته باشیم،
پس
مسلما اگر مقدار جهش زیاد باشد ممکن است زمانیکه بخوبی در حال بالا رفتن از قله گلوبال هستیم در اثر یک جهش بی مورد (که الان نرخش هم مثلا زیاد بوده) به یک موقعیت بدتر انتقال یابیم، در مقابل اگر مقدار جهش کوچک باشد مثلا 2%، و باز فرض کنیم در قله محلی به دام افتاده ایم مطمئن هستیم پس از 50 بار (2% یعنی 1 بار در 50 مرتبه) بالاخره از این قله محلی فرار می کنیم بنابراین نرخ جهش را نباید بزرگ انتخاب کنیم.


هنگام ترکیب، همه کروموزوم ها ترکیب می شوند ولی در مرحله نخبه گرائی تعدادی (و نه همه) کروموزم ها بعنوان نخبه انتخاب می شوند.

موفق باشید

رجوع شود به: Multiobjective Genetic Algorithms for Clustering: Applications in Data Mining and Bioinformatics, 2011؛ صفحه 30
__________________
.
.
.
برای تشکر دکمه مخصوص وجود دارد لطفا پست هرز ایجاد نکنید
.
.
اینقدر از دسترسی نداشتن به مقاله شیون نکنید

مقالات انگلیسی: ایران سای (ISI, IEEE, ACM)
مقالات فارسی: سیویلیکا (کنفرانس داخلی)
مقالات فارسی: مگ ایران (ژورنالهای داخلی)
raha_hakhamanesh آفلاين است   پاسخ با نقل قول
از raha_hakhamanesh تشكر كرده است:
shama (۰۲-۱۶-۱۳۹۲)
قديمي ۰۲-۱۶-۱۳۹۲, ۰۸:۴۳ بعد از ظهر   #4 (لینک دائم)
عضو جدید
 
آواتار shama
 
تاريخ عضويت: ارديبهشت ۱۳۹۱
پست ها: 2
تشكرها: 2
0 تشكر در 0 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله raha_hakhamanesh نمايش پست
با سلام
جهش یک عملگر ژنتیکی است که معمولا برای حفظ تنوع ژنتیکی (genetic diversity) مورد استفاده قرار می گیرد.
جهش مقدار یک یا چند ژن از کروموزوم را تغییر می دهد. (mutation alters one or more gene values in a chromosome from its initial state)
نرخ جهش یعنی چه تعدادی (چند درصد) از ژن های یک کروموزوم تغییر می یابند و مسلما یک پارامتر آماری است یعنی وقتی می گوییم نرخ جهش 2% است یعنی از هر 100 ژن توقع داریم 2 ژن تغییر وضعیت داده باشند اما این کاملا به احتمال رخدادن آن 2% ربط دارد و لذا ممکن است حتی 3 ژن یا بیشتر، یا کمتر از 2 ژن تغییر وضعیت داده شود اما وقتی تعداد ژن ها به سمت بینهایت میل کنند مسلما این مقدار هم به سمت عدد 2 میل می کند. (بطور کلی یک پدیده احتمالی است نه قطعی)

اما اینکه نرخ جهش چقدر باشد، باید بگویم بر خلاف نظر دوستم بابک، توصیه می شود نرخ جهش بزرگ نباشد اگر چه این موضوع می تواند بسته به نوع مسئله تفاوت بکند ولی معمولا نرخ جهش عددی کوچکتر از 2% و حتی 1.5% درنظر گرفته می شود؛ دلیل آن هم کاملا مشخص است فرض کنید

قرار است با هر تکامل (چرخه) الگوریتم ژنتیک از یک کوه بالا برویم، عملگر crossover سرعت گام های ما را تنظیم می کند ولی جهش ما را از یک تپه به تپه دیگری می برد، جهش برای زمانی است که در یک قله محلی (و نه گلوبال) به دام افتاده ایم و پیشرفتی حاصل نمی شود آنوقت باید منتظر یک جهش خوب بود تا ما را از آن تپه محلی به یک محل دیگر برده و اصطلاحا نجاتمان دهد تا شاید در آن تپه جدید پیشرفت بهتری داشته باشیم،
پس
مسلما اگر مقدار جهش زیاد باشد ممکن است زمانیکه بخوبی در حال بالا رفتن از قله گلوبال هستیم در اثر یک جهش بی مورد (که الان نرخش هم مثلا زیاد بوده) به یک موقعیت بدتر انتقال یابیم، در مقابل اگر مقدار جهش کوچک باشد مثلا 2%، و باز فرض کنیم در قله محلی به دام افتاده ایم مطمئن هستیم پس از 50 بار (2% یعنی 1 بار در 50 مرتبه) بالاخره از این قله محلی فرار می کنیم بنابراین نرخ جهش را نباید بزرگ انتخاب کنیم.


هنگام ترکیب، همه کروموزوم ها ترکیب می شوند ولی در مرحله نخبه گرائی تعدادی (و نه همه) کروموزم ها بعنوان نخبه انتخاب می شوند.

موفق باشید

رجوع شود به: Multiobjective genetic algorithms for clustering: Applications in data mining and bioinformatics, 2011؛ صفحه 30


ممنون از پاسختون. پس همون طور که آقای بابک گفتن جهش روی همه ی فرزندان تولید شده اعمال نمیشه؟
shama آفلاين است   پاسخ با نقل قول
قديمي ۰۵-۲۹-۱۳۹۲, ۰۲:۲۲ قبل از ظهر   #5 (لینک دائم)
عضو جدید
 
آواتار aaavvv
 
تاريخ عضويت: مرداد ۱۳۹۲
پست ها: 1
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

با سلام
الگوریتم ژنتیک در طبیعت را در نظر بگیرید. هر ژن در موجود زنده، ممکن است از اجداد قبلی آن باشد ولی برای فرزندان (این موجود زنده) ممکن است جهش ژنتیکی اتفاق بیفتد نه برای اجداد آن. پس اگر موجود زنده را نخبه ها در نظر بگیریم عملگر ترکیب روی همه کروموزوم ها انجام می شود ولی جهش روی کروموزوم های نخبه
aaavvv آفلاين است   پاسخ با نقل قول
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




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


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

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

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

Inactive Reminders By Icora Web Design