سفارش تبلیغ
صبا ویژن
هرکس چیزی از سحر بیاموزد، پایان کارش با پروردگارش است . [امام علی علیه السلام]
لوگوی وبلاگ
 

دسته بندی موضوعی یادداشتها
 
دانشگاه کوثر ، بهینه سازی سایت seo افزایش ترافیک سایت طراحی سایت وب ، پشته str reverse معکوس کردن رشته اسمبلی دانشگاه کوثر دانلود ، پیج رنک چیست؟ ، تبلیغ مجانی ، تحت شبکه ، تصادف دانشجویان ، جشن فارغ التحصیلی دانشگاه کوثر ، جشنواره رسانه های دیجیتال ، جلو مبلی ، حمزه زرینی ، خرید اقساطی ، خودرو ، دانشگاه تهران نرم افزار کارشناسی ارشد کنکور رتبه 91 ، دانشگاه عتبات عالیات دانشجویان کوثر قزوین 91 ، دانشگاه قزوین ، دانشگاه کوثر امتحان میان ترم رشته مهندسی کامپیوتر طراحی الگوریتم ، دانشگاه کوثر انتخاب واحد دانشجو ، دانشگاه کوثر قزوین ، دانشگاه کوثر قزوین راه آهن ، 24 واحد جبرانی دانشگاه کوثر ، analytics تحلیلگر گوگل طراحی وب آنالیز سایت وبلاگ دانشگاه کوثر ق ، C# دانشگاه کوثر جزوه کامپیوتر دانشجو دانلود سی شارپ ، cng ، eight ، seo چیست؟ ، SysTools Folder Lock فولدر آموزش کامپیوتر پسورد ، آزاد ، آموزش asp.net ایمیل ، استخدام شرایط بد کاری کارآفرینی ، الگوریتم ژنتیک مثال دانشگاه کوثر دانشجویان Algoritm ، الگوریتم فروشنده دوره گرد مثال ، الگوریتم هافمن کدگذاری هافمن دانشگاه کوثر قزوین دانشجویان کامپیو ، انتخاب واحد دانشگاه کوثر قزوین حسینی رشته کامپیوتر کارشناسی ناپی ، انتخاب واحد دانشگاه کوثر قزوین دانشجویان رشته مهندسی کامپیوتر کو ، انتخاب واحد نیمسال دوم دانشگاه کوثر دانشجو ، انقلاب اسلامی ، بلاستینگ ، بنزین ، بنزین سوپر ، بهسازین ، بهینه سازی سایت ، دانشگاه کوثر ترم تابستان کارشناسی ناپیوسته کامپیوتر مهندسی کامپی ، دانلود آموزش ebook دانشگاه کامپیوتر مهندسی اینترنت احسان ملکیان ، درج آگهی رایگان ، دوربین ، دوربین ip ، دوربین ارزان قیمت ، دوربین تحت شبکه ، دوربین مدار بسته ، سئو سایت ، سازمان سنجش آموزش کشور آزمون کاردانی به کارشناسی 91 کارشناسی ناپ ، سندبلاست ، سهمیه 400 تومان ، سی ان جی ، طراحی الگوریتم گرافیک دانشگاه کوثر حسینی نمرات وبلاگ مهندسی اینت ، فارس ، فارغ التحصیل ، فارغ التحصیلی دانشگاه ، فنی و حرفه ای معدل زیر 14 دانشگاه کوثر نرم افزار کامپیوتر وزارت ، فیس بوک ویروس Steckt.Evl آنلاین چت سیستم ویروسی کامپیوتر شبکه ، قزوین ، قیمت بنزین ، قیمت دوربین ، گاز ، لپ تاپ تبلت فروش اقساطی لپ تاپ فروش ویژه لپ تاپ فروش اقساطی تبلت ، لپ تاپ کارکرده ، لیتر ، لیگ جهانی والیبال ، مایکروسافت ، مهندس کامپیوتر روز مهندس روز خواجه نصیر الدین طوسی ، موسسه اموزش عالی کوثر ، موسسه کوثر ، موسیقی جام یورو 2012 یورو 2012 بدون کلام موسیقی رسمی جام ملتهای ، میز عسلی ، میز ناهار خوری ، مکینتاش پی سی اپل کامپیوتر سیستم عامل نرم افزار ویروس سخت افزار ، نمره درس مباحث ویژه ، نیازمندی ها ، والیبال_سعید معروف ، ویندوز ، ویندوز 8 ، ویندوز 8.1 ، کامپیوتر ، کد اسمبلی string reverse protected mode اسمبلی 32 بیتی دانشگاه ، کوثر جبرانی اطلاعیه ،

آمار و اطلاعات

بازدید امروز :17
بازدید دیروز :90
کل بازدید :150038
تعداد کل یاداشته ها : 59
103/9/15
5:48 ص
مشخصات مدیروبلاگ
 
MRZ[30]

خبر مایه
لوگوی دوستان
 

 امروز قصد دارم برای شما دانشجویان عزیز الگوریتم ژنتیک را معرفی کنم و چند مثال کاربردی از آن نیز برای شما ارائه می دهم :

الگوریتم ژنتیک روش یادگیری بر پایه تکامل بیولوژیک است.

lاین روش در سال 1970 توسط John Holland معرفی گردید
lاین روشها با نام Evolutionary Algorithms نیز خوانده میشوند.
  الگوریتم های ژنتیک در مسائلی که فضای جستجوی بزرگی داشته باشند میتواند بکار گرفته شود.

همچنین در مسایلی  با فضای فرضیه پیچیده  که تاثیر اجزا آن در فرضیه کلی ناشناخته باشند میتوان از GA برای جستجو استفاده نمود.
برای discrete optimizationبسیار مورد استفاده قرار میگیرد.
الگوریتم های ژنتیک را میتوان براحتی بصورت موازی اجرا نمود از اینرو میتوان  کامپیوترهای ارزان قیمت تری  را بصورت موازی مورد استفاده قرار داد.
امکان به تله افتادن این الگوریتم در مینیمم محلی کمتر از سایر روشهاست.
از لحاظ محاسباتی پرهزینه هستند.
تضمینی برای رسیدن به جواب بهینه وجود ندارد.
مثال کاربردی :
مساله :

ما یک مربع 3×3 داریم که می خواهیم اعدادی بین 1تا15 را در این مربع قرار دهیم به طوری که جمع

اعداد در هر سطرو ستون برابر 24 شود.

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

نسل اول

اولین گام ایجاد کردن یک نسل ابتدایی برای شروع کار است که شامل تعدادی ژنوم تصادفی است. این ژنوم ها به صورت باینری(0و1) نشان داده می شوند. حالا مثال مان:

اول یکسری عدد به صورت تصادفی تولید می شوند. هر ژنوم یا کروموزوم  شامل اطلاعاتی برای هر 9 جای خالی است. چون این اعداد مقادیر بین 0 تا 15 دارند می توان آنها را با 4 بیت یا ژن داده نمایش داد. پس هر ژنوم شامل 36 بیت است.

یک نمونه ژنوم می تواند به شکل زیر باشد:

Bits (Genes)    0110    1100    1111    1011    0100    1010    0111    0101   1110

Values(Traits)    6      12     15      11       4       10       7       5     14

حالا باید به هر ژنوم در مجموعه یک عدد تناسب(Fitness) بنابر تاثیر آن در حل مسئله نسبت داد. فرآیند و روش محاسبه این عدد برای هر مسئله فرق می کند. انتخاب الگوی مناسب برای مسئله مشکلترین و حساسترین بخش در حل مسئله ژنتیک است. دراین مثال ما اعداد را در مکان هایشان جایگذاری می کنیم و بررسی می کنیم که چقدر با جواب اصلی فاصله دارند.

 

 

33=

 

 

25=

 

 

26=

 

 

=33

 

=25

 

=26

15

12

6

10

4

11

14

5

7

    =           =          =

   24         21          39

 

 

مقادیر معادل عبارتند از 33و25و26و24و21و39. واضح است که این مقادیر مسئله را حل نمی کنند. پس باید مقادیر تناسب را برای این ژنوم محاسبه کرد. برای این کار ابتدا فاصله هرمجموع را از24 محاسبه کرده، سپس معکوس مجموع تفاصل آنها را محاسبه می کنیم .

بنابراین درجه تناسب برای این ژنوم تقریباً برابر 0.033 است. هرچقدر که اعداد ما به جواب نزدیکتر باشند عدد تناسب بزرگتر خواهد شد. اما اگر مخرج ما برابر 0 شود چه اتفاقی می افتد؟ دراین صورت همه اعداد ما برابر 24 شده اند و ما به جواب رسیده ایم.

 

نسل بعدی

دو ژنوم به طور تصادفی برای تولید نسل بعدی انتخاب می شوند. این اصلی ترین بخش الگوریتم ژنتیک است که از 3 مرحله تشکیل شده:

انتخاب

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

بهترین روش برای تابع انتخاب(Fitness) در این مسئله روشی به نام رولت(Roulette) است. اول یک عدد تصادفی بین 0 و عدد تناسب نسل قبلی انتخاب می شود. تابع انتخاب به صورت زیر خواهد بود:

RouletteSelection()

{

    float ball  = rand_float_between(0.0, total_fitness);

    float slice = 0.0;

 

    for each genome in population

    {

        slice += genome. fitness;

 

        if ball < slice

            return genome;

    }

}

تغییر از یک نسل به نسل بعدی(Cross over)   

حالا دو ژنوم بخشی از ژنهایشان را برای ایجاد نسل بعدی اهدا می کنند. اگر آنها تغییر پیدا نکنند همانطور بی تغییر به نسل بعدی منتقل خواهند شد. درجه Crossover نشان دهنده این است که هر چند وقت یکبار ژنوم ها تغییر پیدا خواهند کرد و این عدد باید در حدود 65-85% باشد.

عملگر تغییر در ژنوم های باینری مثال ما با انتخاب یک مکان تصادفی در ژنوم برای تغییر آغاز می شود. بخش اول ژنهای پدر و بخش دوم ژنهای مادر با هم ترکیب می شوند(و بالعکس) تا2 فرزند تولید شوند. در زیریک عمل تغییر را   می بینیم.

Before Crossing

Father 011110010011 001011011000111011010000

Mother 010100111110 010101111101000100010010

After Crossing

Child1 011110010011 010101111101000100010010

Child2 010100111110 001011011000111011010000

جهش(Mutation)

قبل از این که ژنوم ها در نسل بعدی قرار بگیرند، احتمال دارد دچار جهش یا تغییر ناگهانی شوند شوند. جهش یک تغییر ناگهانی در ژن است. در ژنهای باینری این تغییر به معنای تغییر یک بیت از 0به 1 یا از 1 به 0 است. درجه جهش نشان دهنده احتمال بروز جهش در یک ژن است و تغریباً بین 1-5% برای ژنهای باینری و 5-20%برای ژنهای عددی است.

 


90/11/26::: 4:0 ع
نظر()