تور لحظه آخری
امروز : شنبه ، 10 آذر 1403    احادیث و روایات:  حضرت زهرا (س):کسی که عبادت های خالصانه خود را به سوی خدا فرستد، پروردگار بزرگ ...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

خرید نهال سیب

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

رفع تاری و تشخیص پلاک

پرگابالین

دوره آموزش باریستا

«مهاجرت به آلمان»

 






آمار وبسایت

 تعداد کل بازدیدها : 1835916121




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مروری بر الگوریتم ژنتیک


واضح آرشیو وب فارسی:فان پاتوق: این الگوریتم برای یافتن راه حل های تقریبی برای بهینه سازی و مسائل جستجو بکار میره و همچنین از نظریه تکامل در علم ژنتیک و نظریه داروین الهام می گیره



واژگان پرکاربرد:

کروموزوم یا افراد:
هر یک از نقاط و یا جواب.های ممکن برای مسأله که به صورت رشته.هایی از حروف و ارقام کدگذاری می.شوند را کروموزوم گویند. متداولترین حالت نمایش به صورت ارقام صفر و یک است.

همانطور که پیش تر بیان شد این الگوریتم با جواب.های کدگذاری شده کار می.کند نه با خود جواب.ها. در واقع کروموزوم.ها همان جواب.هایی اند که الگوریتم طراحی شده در هر نسل با آنها کار می.کند.

جمعیت:
مجموعه.ای از کروموزوم.ها را یک جمعیت گویند.

نسل:
هر تکرار از الگوریتم را نسل گویند.




در واقع الگوریتم.های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش.بینی یا تطبیق الگو استفاده می.کنند.الگوریتم.های ژنتیک اغلب گزینه خوبی برای تکنیک.های پیش.بینی بر مبنای رگرسیون هستند. مختصراً گفته می شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه.نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می.کند.مسئله.ای که باید حل شود ورودی است و راه.حلها طبق یک الگو کد گذاری می شوند که تابع fitness نام دارد هر راه حل کاندید را ارزیابی می.کند که اکثر آنها به صورت تصادفی انتخاب می.شوند.

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

برای مثال اگر بخواهیم نوسانات قیمت نفت را با استفاده از عوامل خارجی و ارزش رگرسیون خطی ساده مدل کنیم،این فرمول را تولید خواهیم کرد : قیمت نفت در زمان t = ضریب 1 نرخ بهره در زمان t + ضریب 2 نرخ بیکاری در زمان t + ثابت 1 . سپس از یک معیار برای پیدا کردن بهترین مجموعه ضرایب و ثابت.ها جهت مدل کردن قیمت نفت استفاده خواهیم کرد. در این روش 2 نکته اساسی وجود دارد. اول این که روش خطی است و مسئله دوم این است که ما به جای اینکه در میان "فضای پارامترها" جستجو کنیم، پارامترهای مورد استفاده را مشخص کرده.ایم.

با استفاده از الگوریتم.های ژنتیک ما یک ابر فرمول یا طرح، تنظیم می.کنیم که چیزی شبیه "قیمت نفت در زمان t تابعی از حداکثر 4 متغیر است" را بیان می.کند. سپس داده.هایی برای گروهی از متغیرهای مختلف، شاید در حدود 20 متغیر فراهم خواهیم کرد. سپس الگوریتم ژنتیک اجرا خواهد شد که بهترین تابع و متغیرها را مورد جستجو قرار می.دهد. روش کار الگوریتم ژنتیک به طور فریبنده.ای ساده، خیلی قابل درک و به طور قابل ملاحظه.ای روشی است که ما معتقدیم حیوانات آنگونه تکامل یافته.اند. هر فرمولی که از طرح داده شده بالا تبعیت کند فردی از جمعیت فرمول.های ممکن تلقی می.شود.

متغیر.هایی که هر فرمول داده.شده را مشخص می.کنند به عنوان یکسری از اعداد نشان داده.شده.اند که معادل [دی ان ای|دی.ان.ای](DNA) آن فرد را تشکیل می دهند.

موتور الگوریتم ژنتیک یک جمعیت اولیه از فرمول ایجاد می.کند. هر فرد در برابر مجموعه.ای از داده.ها.ی مورد آزمایش قرار می.گیرند و مناسبترین آنها (شاید 10 درصد از مناسبترین.ها) باقی می.مانند؛ بقیه کنار گذاشته می.شوند. مناسبترین افراد با هم جفتگیری (جابجایی عناصر دی ان ای) و تغییر (تغییر تصادفی عناصر دی ان ای) کرده.اند. مشاهده می.شود که با گذشت از میان تعداد زیادی از نسلها، الگوریتم ژنتیک به سمت ایجاد فرمول.هایی که دقیقتر هستند، میل می.کنند. در حالی که شبکه.های عصبی هم غیر.خطی و غیر.پارامتریک هستند، جذابیت زیاد الگوریتم.های ژنتیک این است نتایج نهایی قابل ملاحظه.ترند. فرمول نهایی برای کاربر انسانی قابل مشاهده خواهد بود، و برای ارائه سطح اطمینان نتایج می.توان تکنیک.های آماری متعارف را بر روی این فرمول.ها اعمال کرد. فناوری الگوریتم.های ژنتیک همواره در حال بهبود است و برای مثال با مطرح کردن معادله ویروس.ها که در کنار فرمول.ها و برای نقض کردن فرمول.ها.ی ضعیف تولید می.شوند و در نتیجه جمعیت را کلاً قویتر می.سازند.

مختصراً گفته می.شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه.نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می.کند. مسئله.ای که باید حل شود ورودی است و راه حلها طبق یک الگو کد.گذاری می.شوند که تابع fitness نام دارد و هر راه حل کاندید را ارزیابی می.کند که اکثر آنها به صورت تصادفی انتخاب می.شوند.

الگوریتم ژنتیک (GA) یک تکنیک جستجو در علم رایانه برای یافتن راه حل بهینه و مسائل جستجو است. الگوریتم.های ژنتیک یکی از انواع الگوریتم.های تکاملی.اند که از علم زیست.شناسی مثل وراثت، جهش، [انتخاب ناگهانی(زیست.شناسی)|انتخاب ناگهانی]، انتخاب طبیعی و ترکیب الهام گرفته شده.

عموماً راه.حلها به صورت 2 تایی 0 و 1 نشان داده می.شوند، ولی روشهای نمایش دیگری هم وجود دارد. تکامل از یک مجموعه کاملاً تصادفی از موجودیت.ها شروع می.شود و در نسلهای بعدی تکرار می.شود. در هر نسل، مناسبترین.ها انتخاب می.شوند نه بهترین.ها.

یک راه.حل برای مسئله مورد نظر، با یک لیست از پارامترها نشان داده می.شود که به آنها کروموزوم یا ژنوم می.گویند. کروموزوم.ها عموماً به صورت یک رشته ساده از داده..ها نمایش داده می.شوند، البته انواع ساختمان داده.های دیگر هم می.توانند مورد استفاده قرار گیرند. در ابتدا چندین مشخصه به صورت تصادفی برای ایجاد نسل اول تولید می.شوند. در طول هر نسل، هر مشخصه ارزیابی می.شود وارزش تناسب (fitness) توسط تابع تناسب اندازه.گیری می.شود.

گام بعدی ایجاد دومین نسل از جامعه است که بر پایه فرآیندهای انتخاب، تولید از روی مشخصه.های انتخاب شده با عملگرهای ژنتیکی است: اتصال کروموزوم.ها به سر یکدیگر و تغییر.

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

معمولاً الگوریتم.های ژنتیک یک عدد احتمال اتصال دارد که بین 0.6 و 1 است که احتمال به وجود آمدن فرزند را نشان می.دهد. ارگانیسم.ها با این احتمال دوباره با هم ترکیب می.شوند. اتصال 2 کروموزوم فرزند ایجاد می.کند، که به نسل بعدی اضافه می.شوند. این کارها انجام می..شوند تا این که کاندیدهای مناسبی برای جواب، در نسل بعدی پیدا شوند. مرحله بعدی تغییر دادن فرزندان جدید است. الگوریتم.های ژنتیک یک احتمال تغییر کوچک و ثابت دارند که معمولاً درجه.ای در حدود 0.01 یا کمتر دارد. بر اساس این احتمال، کروموزوم.های فرزند به طور تصادفی تغییر می.کنند یا جهش می.یابند، مخصوصاً با جهش بیت.ها در کروموزوم ساختمان داده.مان.

این فرآیند باعث به وجود آمدن نسل جدیدی از کروموزوم.ها.یی می.شود، که با نسل قبلی متفاوت است. کل فرآیند برای نسل بعدی هم تکرار می.شود، جفت.ها برای ترکیب انتخاب می.شوند، جمعیت نسل سوم به وجود می.آیند و .... این فرآیند تکرار می.شود تا این که به آخرین مرحله برسیم.

شرایط خاتمه الگوریتم.های ژنتیک عبارتند از:به تعداد ثابتی از نسل.ها برسیم.
بودجه اختصاص داده.شده تمام شود(زمان محاسبه/پول).
یک فرد(فرزند تولید شده) پیدا شود که مینیمم (کمترین) ملاک را برآورده کند.
بیشترین درجه برازش فرزندان حاصل شود یا دیگر نتایج بهتری حاصل نشود.
بازرسی دستی.


در هر مسئله قبل از آنکه بتوان الگوریتم ژنتیک را برای یافتن یک پاسخ به کار برد به دو عنصر نیاز است:در ابتدا روشی برای ارائه یک جواب به شکلی که الگوریتم ژنتیک بتواند روی آن عمل کند لازم است. در روش سنتی یک جواب به صورت یک رشته از بیتها، اعداد یا نویسهها نمایش داده می.شود.دومین جزء اساسی الگوریتم ژنتیک روشی است که بتواند کیفیت هر جواب پیشنهاد شده را با استفاده از توابع تناسب محاسبه نماید. مثلاً اگر مسئله هر مقدار وزن ممکن را برای یک کوله پشتی مناسب بداند بدون اینکه کوله پشتی پاره شود، یک روش برای ارائه پاسخ می.تواند به شکل رشته ای از بیتهای ۰ و۱ در نظر گرفته شود, که ۱ یا ۰ بودن نشانه اضافه شدن یا نشدن وزن به کوله پشتی است.تناسب پاسخ، با تعیین وزن کل برای جواب پیشنهاد شده اندازه گیری می.شود.

کد:

1 Genetic Algorithm
2 begin
3 Choose initial population
4 repeat
5 Evaluate the individual fit nesses
6 Select pairs of best-ranking individuals to reproduce
7 Apply crossover operator
8 Apply mutation operator
9 until terminating condition
10 end

منبع: artificial.ir, wikipedia.org







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

[ارسال شده از: فان پاتوق]
[مشاهده در: www.funpatogh.com]
[تعداد بازديد از اين مطلب: 2281]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن