یریما یودف اضردمحم کیتنژ متیروگلاaryan.ac.ir/upload/files/genetic...

Post on 03-Mar-2020

17 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 فدوی امیری محمدرضا / الگوریتم ژنتیک

الگوریتم ژنتیکGenetic Algorithm

امیریمحمدرضا فدوی

(ژنتیکالگوریتمهای تکاملی و )مقدمه

فهرست مطالب •

اصطالحات تعریف

ژنتیک الگوریتم ار یا مراحلتساخ

عملگرهای الگوریتم ژنتیک

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

(فیلم ربات حشره) کاربردها

نتیجه گیری

منابع

محمدرضا فدوی امیری / الگوریتم ژنتیک

طبیعت پر است از ایده

ایده الگوریتم ژنتیک از دو اصل انتخاب و تولید نسل در طبیعت بهره برده

با گذشت زمان بدلیل تغییر ساختار ژنتیکی و در بعضی موارد جهش ، . است . طبیعت تضمین می کند که موجودات بهتری تولید شود

. الگوریتم ژنتیک بر این اساس ابزاری ساده ، ولی قدرتمند است

الگوریتم های تکاملی و ژنتیک: مقدمه

محمدرضا فدوی امیری / الگوریتم ژنتیک

...جهانی که ما در آن زندگی می کنیم •

الگوریتم های تکاملی و ژنتیک: مقدمه

نظریه داروین•

نظریه المارک•

.معروف است( Evolution)این فرایند تطبیق به نامهای تکامل یا فرگشت •

.به طور مداوم در حال تغییر است•هر موجودی که قصد ماندن در چنین محیطی را داشته باشد بایستی بتواند خود را •

.با شرایط اطراف تطبیق دهد

محمدرضا فدوی امیری / الگوریتم ژنتیک

تکامل تدریجی

جمعیت نسبی افراد با ضریب هوشی باال جمعیت نسبی افراد با ضریب هوشی پائین

روند رشد نسبی

جامعه نمونه جمعیت

به تفکیک سال و

ضریب هوش

محمدرضا فدوی امیری / الگوریتم ژنتیک

تاریخچه•

توسط –مطرح شدن جدی فرضیه تکامل در موجودات زنده -م1859نوامبر 24 ”بنیاد انواع ” چارلزداروین با انتشار کتاب

–انتشار تحقیقات درباره وراثت ، تکامل و اصول بدست آمده بصورت تجربی –م 1865 توسط گریگور مندل

کروموزوم بعنوان واحد وراثت –م 1903 مطرح شدن واژه ژنتیک –م 1905 توسط ریچنبرگ –مطرح شدن ایده اصلی الگوریتم های تکاملی –م 1960مطرح شدن گونه ای از الگوریتم های تکاملی به نام الگوریتم های ژنتیک در –م 1970

توسط جان هلند –دانشگاه میشیگان GA 1989 مشهور کردن –م

توسط دیوید –با حل مسئله بسیار سخت کنترل انتقال خط لوله گاز در رساله .گلدبرگ

محمدرضا فدوی امیری / الگوریتم ژنتیک

تاریخچه الگوریتم ژنتیک

جان هالند

دیوید گولدبرگ

کنت دیونگ

محمدرضا فدوی امیری / الگوریتم ژنتیک

روشهای بهینه سازی مختلفی ارائه شد که به عنوان روشهای کالسیک یاد میشوند که میتوان به 1940ز سال ا :موارد زیر اشاره کرد

(Linear Programing)برنامه ریزی خطی -1 (Non Linear Programing)برنامه ریزی غیرخطی -2 (Dynamic programing)برنامه ریزی پویا -3 (Inventory)روش اکتشافی -4 (Quueuing)روش صف -5 (Replicment)روش جایگزینی -6

.که این روش ها بیشتر برای حل مسائل غیر خطی استفاده میشود

:اما روش های بهینه سازی جدید که امروزه مورد استفاده قرار میگیرد عبارتند از

1- Simulated annaling

2- Hill climing

3- Ant Colon

4- Genetic Algorithm (GA)

5- Random Cast

6- Cellular Aoutomata

.این روشها بیشتر الهام گرفته شده از حیات موجودات میباشد محمدرضا فدوی امیری / الگوریتم ژنتیک

الگوریتم های تکاملی و ژنتیک: مقدمه

تکامل چیست؟ تکامل(Evolution ) حاصل

:پدیده هایی همچون عملکرد انتخاب طبیعی(Natural Selection) تولید مثل (Reproduction) جهش(Mutation) همزیستی(Symbiosis)

محمدرضا فدوی امیری / الگوریتم ژنتیک

الگوریتم های تکاملی و ژنتیک: مقدمه

ژنتیک دست خط طبیعت

محمدرضا فدوی امیری / الگوریتم ژنتیک

:کروموزوم و ژن

محمدرضا فدوی امیری / الگوریتم ژنتیک

الگوریتم های تکاملی و ژنتیک: مقدمه

ژن(Gene)

آلل(Allele)

کروموزوم(Chromosome)

ژنوم(Genome)

ژنوتیپ(Genotype)

فنوتیپ(Phenotype)

(زمینه بیولوژیکی)چند اصطالح

محمدرضا فدوی امیری / الگوریتم ژنتیک

•Nature and GA...

Nature Genetic algorithm

Chromosome String

Gene Character

Genotype Population

محمدرضا فدوی امیری / الگوریتم ژنتیک

طرح شماتیکی یک الگوریتم تکاملی

مراحل الگوریتم تکاملی:

مجموعه ای از جوابهای تصادفی ایجاد 1)

بهترینها انتخابآنها و رتبه بندیجوابها ، مقایسه 2)

جوابهای بدست آمده ترکیب 3)

(در صورت نیاز ) 2به مرحله بازگشت 4)

محمدرضا فدوی امیری / الگوریتم ژنتیک

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

جواب مساله

بررسی همگرایی

جهش

ادغام

و تعیین تابع برازش کدگذاری

ایجاد جمعیت اولیه

محاسبه ارزش هر کروموزوم بر اساس تابع برازش

انتخاب والدین

محمدرضا فدوی امیری / الگوریتم ژنتیک

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

جمعیت

محمدرضا فدوی امیری / الگوریتم ژنتیک

هدف پیدا کردن بهترین جواب از میان جواب های مختلفGA بر اساس اصل ادامه حیات بهترین ها و تکثیر نوع برتر پی ریزی شده است

محمدرضا فدوی امیری / الگوریتم ژنتیک

پیش زمینه ژنتیکی برای پیاده سازی فضای ژنتیک •

هر سلول از مجموعه ای از کروموزوم ها تشکیل شده است و این کروموزوم ها از یک سری .تشکیل شده اند DNAژن در قالب بلوکهای

هر ژن یک بخش از جواب و هر کروموزوم یک جواب برای مساله ماست.

19

بین کروموزوم ( recombination)در هنگام تولید سلول جدید یک عمل تلفیق

های والد توسط عملگر ادغام صورت میگیرد که باعث تولید کروموزومی جدید میگردد این آنها تحول پیدا میکند و میزان مناسب بودن DNAمولود ها جهش پیدا میکنند یعنی

.کروموزوم در طی حیات آن مشخص میشود

تولید سلول جدید

محمدرضا فدوی امیری / الگوریتم ژنتیک

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

:انواع کد گذاری کدگذاری دودویی. 1 کدگذاری جایگشتی. 2

کد گذاری

1کروموزوم

2کروموزوم

1کروموزوم

2کروموزوم

محمدرضا فدوی امیری / الگوریتم ژنتیک

برای اینکه بتوانیم موجودات بهتر را درون جمعیت تشخیص بدهیم بایستی

به این .معیاری را تعریف کنیم که بر اساس آن موجودات بهتر را تشخیص دهیم

.معیار تابع برازش می گویند

(برازش) Fitnessتابع

محمدرضا فدوی امیری / الگوریتم ژنتیک

در این مرحله، دو والد جهت جفت گیری و تولید کروموزوم جدید . انتخاب می شوند

:روشهای انتخاب چرخ رولت1. رتبه بندی2. نخبه گزینی3..4......

(Selection)انتخاب

محمدرضا فدوی امیری / الگوریتم ژنتیک

(انتخاب چرخان)انتخاب چرخه رولت ( تناسب)یک روش انتخاب است که درآن عنصری که عدد برازش

بیشتری داشته باشد، انتخاب می شود و جزء روشهای انتخاب .تصادفی وزن دار می باشد

احتمال انتخاب مقدار تابع برازش شماره کروموزوم

1 1.261 0.097

2 9.711 0.747

3 1.079 0.083

4 0.286 0.022

5 0.663 0.051

1

10%

2

75%

3

8%

4

2%

5

5%

محمدرضا فدوی امیری / الگوریتم ژنتیک

در این روش هر کروموزوم به نسبت میزان بهینگی فضایی را از این نمودار دایره یک اشاره گر به این نمودار اشاره می کند و چرخ میگردد، . ای اشغال می کند

بعد از ایستادن ، کروموزوم انتخابی کرموزومی است که اشاره گر به آن اشاره . می کند : مشکل

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

محمدرضا فدوی امیری/ الگوریتم ژنتیک

انتخاب رتبه بندی

این روش مانند چرخه رولت از نوع روش های تصادفی وزن دار است بر اساس رتبه کروموزوم تعیین میگرددوزن این تفاوت که با

نخبه گزینی

هر اجتماع انتخاب ( کروموزوم های)مناسبترین عضوهای ..و در جعیت جدید کپی می شود

محمدرضا فدوی امیری / الگوریتم ژنتیک

:رتبه بندی باشد n مثال اگر تعداد کروموزوم ها . ابتدا کروموزوم ها رتبه بندی می شوند

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

. کروموزوم را معین می کنیم :مشکل

چندانی این روش به آهستگی همگرا می شود ، چون بهترین کروموزوم ها تفاوت

.با یکدیگر دارند

محمدرضا فدوی امیری / الگوریتم ژنتیک

( Tournrment )رقابتی •

به صورت تصادفی انتخاب شده و به ( معموال دو یا سه) در این روش یک ز یرمجموعه کوچکی از کروموزوم هایکی از آنها به پیروزی رسیده و به Fitnessرقابت می پردازند سر انجام در این رقابت بر اساس میزان

کپی میشود و این فرآیند تا تولید همه ولد ها در جمعیت جدید Mating Poolعنوان والد جدید در تکرار میشود

27

Ch no

Fitness

1 2 3 4 5 6 7 8

1 2.10 3.11 4.01 4.66 1.91 1.93 4.55

برنده موارد

2,4 3,8 1,3 4,5 1,6 1,2 4,2 8,3

4 8 3 5 6 2 4 8

Fitnessبا توجه به مثال کروموزوم های با (8و 4)باالتر چند بار تکرار شده اند

محمدرضا فدوی امیری / الگوریتم ژنتیک

(Crossover)ادغام

آنجدید بوسیله توزیع صفات والدین در کروموزم ایجاد

:انواع ادغام ادغام تک نقطه ای• ادغام دو نقطه ای• ادغام چند نقطه ای• ادغام یکنواخت•

محمدرضا فدوی امیری / الگوریتم ژنتیک

(Single Sight Crossover)ادغام تک نقطه ای

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

0 0 1 1 0 0 1 0 1 0 0 1 0

والدین

1 0 1 0 0 1 1 0 0 1 0 0 1

1 0 1 0 0 1 1 0 0 0 0 1 0

فرزندان

0 0 1 1 0 0 1 0 0 1 0 0 1

محمدرضا فدوی امیری / الگوریتم ژنتیک

(Two-Point Crossover)ادغام دونقطه ای

دو نقطه به صورت تصادفی در طول دو کروموزومی که به عنوان والدین انتخاب .نقطه جابجا می شود 2شده اند در نظر گرفته می شود و مقادیر بین این

0 1 1 0 1

0 1 0 0 0

0 0 1 1 1 1 0 1 1 0

1 1 0 0 1 1 1 0 1 0

0 1 1 0 1 0 0 1 1 1

0 1 0 0 0 1 1 0 0 1 1 1 0 1 0

1 0 1 1 0 والدین

فرزندان

محمدرضا فدوی امیری / الگوریتم ژنتیک

(Multi-Point Crossover)ادغام چندنقطه ای

N بانتخانقطه به صورت تصادفی در طول دو کروموزومی که به عنوان والدین .قسمت تقسیم میشوند n+1کروموزوم ها به .شده اند در نظر گرفته میشود

والدین

فرزندان

0 1 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0

1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1

محمدرضا فدوی امیری / الگوریتم ژنتیک

(Uniform Crossover)ادغام یکنواخت

در این روش ژن های فرزندان به صورت تصادفی و با یک احتمال از والدین انتخاب می شود

والدین

فرزندان

0 1 1 0 1 0 0 1

0 0 1 0 0 1 0 0

0.6 0.9 0.6 0.4 0.2 0.6 0.8 0.1

1 0 1 0 0 0 0 0

0 0 1 1 0 1 1 0

عدد تصادفی برای هر ژن

محمدرضا فدوی امیری / الگوریتم ژنتیک

(Mutation)جهش

به پیدایش هرنوع تغییر در ژن های یک کروموزوم جهش می گوییم

محمدرضا فدوی امیری / الگوریتم ژنتیک

•: GA عملگرهای دیگر در

(Inversion ) عمل معکوس کردن - (Deletion ) عمل حذف کردن -

(Segregation )عمل جداسازی -

(Migration - عمل نقل مکان(

(Sharing - عمل بخش بندی(

(Dominance ) عمل غالب شدن یا تسلط -

(Duplication ) عمل کپی کردن -

محمدرضا فدوی امیری / الگوریتم ژنتیک

شرط توقف الگوریتم

این ساده ترین و کوته فکرانه : رسیدن به جواب -1 .ترین روش است

بار Nیعنی الگوریتم ژنتیک پس از: عدم پیشرفت -2

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

شرط توقف را تعداد تکرار مشخصی :تعداد تکرار -3 قرار می دهیم

محمدرضا فدوی امیری / الگوریتم ژنتیک

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

فهم آسان• مجزا بودن و ماجوالر بودن• (.هدفی)پشتیبانی از بهینه سازی چند تابعی • مناسب برای محیط های نویزی• می شودهمیشه یک جواب داریم که با گذشت زمان بهتر • موازیامکان استفاده به صورت توزیع شده و ••.....

محمدرضا فدوی امیری / الگوریتم ژنتیک

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

یک جواب خوب پیدا می کنند ولی ممکن است جواب بهینه را پیدا نکنند• حافظه و محاسبات زیادی نیاز دارندبه •مورد اینکه جواب پیدا شده چقدر خوب است و آیا جواب بهتری وجود در •

دارد، نمی توانیم هیچگونه ادعائی داشته باشیم ریاضی ضعیفی دارندپشتوانه • دو بار اجرای مختلف، جواب های متفاوتی دریافت می کنیمدر •

محمدرضا فدوی امیری / الگوریتم ژنتیک

چه مواقعی از الگوریتم ژنتیک استفاده می کنیم؟

جواب ها بیش از اندازه پیچیده یا بی تحرك باشند1.

نیاز به یک وسیله اکتشافی برای پیدا کردن راه های جدید داشته 2. .باشیم

حل شده است باشد GAمسئله شبیه مسائلی که تا کنون در 3.

بخواهیم جواب های موجود را با هم پیوند بزنیم4.

محمدرضا فدوی امیری / الگوریتم ژنتیک

با روشهای قدیمی بهینه سازی GAتفاوتهای اصلی •

(تبدیل فضای پیوسه به فضای گسسته )کد کردن فضای مساله

درGA با مجموعه ای از نقاط در یک لحظه میتوانیم کار کنیم که به این مجموعه نقاط میگوییم( Population)جمعیت

اصوالGA بر پردازش تصادفی Random processing یا به تعبیر بهتر پردازش .استوار است random Guidedتصادفی هدایت شده

39 محمدرضا فدوی امیری / الگوریتم ژنتیک

:برخی از مهمترین کاربردهای این الگوریتم در علوم مختلف عبارتند از

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

زمینه کاربرد

کنترل ....خطوط انتقال گاز، پرتاب موشک و

طراحی ....و VLSI طراحی هواپیما، طراحی مدارات

مدیریت و برنامه ریزی ....برنامه ریزی تولید، زمانبندی، تخصیص منابع و

روباتیک .....مسیر حرکت روبات و

یادگیری ماشین .....الگوریتم طبفه بندی و طراحی شبکه های عصبی،

پردازش سیگنال ....طراحی فیلتر و

سایر موارد ....حل مسئله فروشنده دوره گرد، مسیریابی در شبکه ها و هنروموسیقی،

محمدرضا فدوی امیری / الگوریتم ژنتیک

ساخت ربات حشره با استفاده از الگوریتم ژنتیک

محمدرضا فدوی امیری / الگوریتم ژنتیک

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

محمدرضا فدوی امیری / الگوریتم ژنتیک

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

:شکل روبرو نمونه ای از حالت های اولیه است

چون در هر ستون یک وزیر قرار دادیم هر حالت را بوسیله . حال باید این حالت را به نحوی کمی مدل کرد. یمنشان می دهمیباشد ام kام در این رشته شماره سطر وزیر موجود در ستون kرشته اعدادی که عدد

:یعنی حالت قبل بصورت زیر می باشد

67203422

محمدرضا فدوی امیری / الگوریتم ژنتیک

چهار این .اند شده تولید تصادف به زیر حالت چهار کنید فرض .گیریم می بکار اولیه های کروموزوم عنوان به را حالت

1) 67203420 2) 70063354 3) 17522063 4) 43602471

.باشد می (Fitness Function)برازش تابع به نوبت حال

:است زیر بصورت اولیه حاالت برای برازش تابع مقدار 1) 67203420 6 2) 70063354 8 3) 17522063 2 4) 43602471 4

محمدرضا فدوی امیری / الگوریتم ژنتیک

:پس احتمال انتخاب ها بصورت زیر است

P(3) > p(4) > p(1) > p(2)

. در اینجا کروموزوم هایی را انتخاب می کنیم که برازندگی بیشتری دارند

انتخاب 1و 4با کروموزوم های Crossoverبرای 3پس کروموزوم :نظر می گیریمدر 6و 5نقطه ترکیب را بین ارقام . می شود

3 , 4:

175220 71 (5)

436024 63 (6)

3 , 1:

175220 20 (7)

672034 63 (8)

محمدرضا فدوی امیری / الگوریتم ژنتیک

.در جهش باید یکی از ژن ها تغییر کند. حال نوبت به جهش می رسد و ازبین 7، کروموزوم شماره 8تا 5فرض کنید از بین کروموزوم های

پس نسل ما شامل. جهش یابد 3به 2ژن های آن ژن چهارم از :کروموزوم های زیر با امتیازات نشان داده شده می باشد

1) 67203420 6

2) 70063354 8

3) 17522063 2

4) 43602471 4

5) 17522071 6

6) 43602463 4

7) 17532030 4

8) 67203463 5

محمدرضا فدوی امیری / الگوریتم ژنتیک

.باشد می7 و 6 های کروموزوم با ترکیب برای خوبی کاندیدای 3 کروموزوم

1) 67203420 6

2) 70063354 8

3) 17522063 2 4) 43602471 4

5) 17522071 6

6) 43602463 4

7) 17532030 4

8) 67203463 5

9) 13602463 2

10) 47522063 2

11) نسل جدید 4 17532030 12) 17522063 2

محمدرضا فدوی امیری / الگوریتم ژنتیک

نتیجه گیری

محمدرضا فدوی امیری / الگوریتم ژنتیک

محمدرضا فدوی امیری / الگوریتم ژنتیک

top related