‫الگوريتم ژنتيك‬
‫)‪(Genetic Algorithms‬‬
‫استاد راهنما: جناب آقاي دكتر فيلي‬
‫ارائه دهنده: حميده ايرج‬
‫به نام خدا‬
ri s
ti c
ch

He
u

or
tw
Ne
al
ur
Ne
ks

Machine Learning

Se
ar

s
cA
lg o
ri t
hm
et i

Intelligent
Systems

gic
Lo
zzy
Fu

Ge
n

Expert Systems
‫تاريخچه‬
‫الگوريتيم ژنتييك جزو شاخيه خاصيي از هوش مصينوعي بيا نام ”محاسيبات تكاملي“‬
‫)‪ (Evolutionary Computing‬است.‬
‫ايده محاسيبات تكامليي اوليين بار در اثير ‪ Rechenberg‬در سيال 0691 با عنوان‬
‫"‪ "Evolution strategies‬معرفي شد.‬
‫الگوريتيييم هاي ژنتيكيييي را معرفيييي كرد و كتاب‬
‫‪John Holland‬‬
‫"‪ Adaptation in Natural and Artificial Systems‬را در سال "5791 به‬
‫.دناسر پاچاپ رساند‬
‫‪ John R. Koza‬در سال 2991 ‪.Genetic Programming‬را مطرح نمود‬
‫زمينه زيست شناسي‬
‫ايده تكامل داروين: افراد يك جمعيت به سمت تطابق بيشتر با محيط‬
‫اطراف خود تكامل مي يابند.افرادي كه بهتر بتوانند خود را با محيط‬
‫اطراف خود سيازگار كننيد، شانيس بيشتري براي اداميه حيات خواهند‬
‫داشت.‬
‫اطلعات هير نسيل توسيط كروموزوهيا بيه نسيل بعيد منتقيل مي شود.‬
‫كروموزومهيا رشتيه هاي ‪ DNA‬هسيتند كيه بيه واقيع مدليي از يك‬
‫ارگانيسم طبيعي هستند. هر كروموزوم متشكل از ژنهاست. هر ژن‬
‫بيانگر يك رفتار يا خصوصيت فرد مانند رنگ دناسر پاچشم است.‬
‫جستجودر فضاي حالت‬
‫اشكال هاي روشهای كلسيك رياضيات:‬
‫‌‬

‫اغلب اين روشها نقطه بهينه محلی را به‬
‫‌‬
‫عنوان نقطه بهينه كلی در نظر میگيرند.‬
‫‌‬
‫هر يك از اين روشها تنها برای مساله‬
‫‌‬
‫خاصی كاربرد دارند.‬
‫انواع الگوريتم هاي هيوريستيك‬
‫الگوريتماهايي كه بر ويژگياهاي ساختاري مسئله و ساختار جواب متمركز‬
‫ه‌‬
‫ه‌‬
‫ميوشوند و با استفاده از آنها الگوريتماهاي سازنده يا جستجوي محلي تعريف‬
‫ه‌‬
‫ه‌‬
‫ميكنند.‬
‫ه‌‬
‫الگوريتماهايي كه بر اهدايت اهيوريستيك يك الگوريتم سازنده يا جستجوي‬
‫ه‌‬
‫محلي متمركز ميوشوند به گونهاي كه آن الگوريتم بتواند بر وشرايط حساس‬
‫ه‌‬
‫ه‌‬
‫)مانند فرار از بهينه محلي( غلبه كند. به اين الگوريتماها، متااهيوريستيك‬
‫ه‌‬
‫گفته ميوشود.‬
‫ه‌‬
‫الگوريتماهايي كه بر تركيب يك چارچوب يا مفهوم اهيوريستيك با گونهاهايي‬
‫ه‌‬
‫ه‌‬
‫از برنامهريزي رياضي )معموال رووشهاي دقيق( متمركز ميوشوند.‬
‫ه‌‬
‫ر ً‬
‫ه‌‬
‫الگوريتماهاي متااهيوريستيك‬
‫ه‌‬
‫‪(Simulated Annealing(SA‬‬
‫بازپخت وشبيهسازي وشده‬
‫ه‌‬
‫جستجوي ممنوع ‪( Tabu Search(TS‬‬
‫الگوريتم ژنتيك ‪Genetic Algorithms‬‬
‫ه‌‬
‫وشبكهاهاي عصبي مصنوعي‪Artificial Neural Networks‬‬
‫ه‌‬
‫‪(Ant Colony Optimization(ACO‬‬
‫بهينهسازي مورچهاي‬
‫ه‌‬
‫ه‌‬
‫چند نمونه از مسائل ‪NP‬‬
‫مسئله سيكل اهاميلتوني )‪(Hamiltonian Cycle‬‬
‫مسئله فرووشنده دوره گرد )‪(Traveling Salesman Problem‬‬
‫مسئله ‪-N‬وزير )‪(N-Queen Problem‬‬
‫مسئله كوله پشتي )‪(Knapsack Problem‬‬
‫مسئله ضايعات برش دوبعدي )‪(2D Cutting Stock Problem‬‬
‫مسئله رنگ آميزي گراف )‪(Graph Coloring‬‬
‫مسئله زمانبندي كلسي )‪(Time Tabling Problem‬‬
‫ساختار كلي الگوريتم هاي ژنتيكي‬
‫‪Coding‬‬
‫كروموزومها به نحوي بايد حاوي اطلاعات جوابي باشند كه نمايانگر‬
‫آن هستند. روشي كه اغلب بكار برده ميشود، نمايش دودوئي است.‬
‫شبيه كروموزومهاي زير:‬
‫0110110010011011 1 ‪Chromosome‬‬
‫0111100001111011 2 ‪Chromosome‬‬
‫روشهاي ديگري نيز براي نمايش كروموزومها بسته به مسئله مورد حل‬
‫وجود دارد .‬
Crossover
One - point crossover
Parent 1 11011|00100110110
Parent 2 11011|11000011110
child 1
child 2

11011|11000011110
11011|00100110110
Crossover
Two - point crossover
Parent 1 11011|00100|110110
Parent 2 11011|11000|011110
child 1
child 2

11011|11000|110110
11011|00100|011110
Crossover
Uniform crossover
Parent 1 1 0 1 1 1 0 1
Parent 2 1 1 0 0 1 1 0
Template 0 1 1 0 0 1 0
child 1
child 2

1010100
1101111
Mutation
Original offspring

1101111000011110

Mutated offspring

1100111000011110
‫‪Replacement‬‬
‫در اين مرحله كروموزوم هايي كه با ‪ crossover‬و‬
‫‪ mutation‬بهبود يافته اند جايگزين كروموزوم هاي‬
‫‪ Parent‬مي شوند. به همين ترتيب بهبود مي يابند و‬
‫اين چرخه تا زماني ادامه پيدا مي كند تا به جواب بهينه‬
‫برسيم.‬
‫‪Traveling Salesman‬‬
‫‪Problem‬‬
‫مساله فروشنده دوره گرد به اين شکل است که می خواهيم در يک‬
‫تعداد شهر دوری پيدا کنيم که از هر شهر دقيقا يک بار عبور کند و‬
‫در پايان به شهر آغازين بازگردد به طوری که طول دور مينيمم‬
‫باشد.‬
‫تفاوت با مساله ‪VRP‬‬
Crossover
( Partially matched crossover (PMX

Parent 1 9 8 4 | 5 6 7 |1 3 2 10
Parent 2 8 7 1 | 2 3 10 | 9 5 4 6
child 1
child 2

9 8 4 | 2 3 10 |1 6 5 7
8 10 1 | 5 6 7 | 9 2 4 3
Crossover
( Cycle crossover (CX

Parent 1 9 8 2 1 7 4 5 10 6 3
Parent 2 1 2 3 4 5 6 7 8 9 10
child 1
child 2

9 2 3 1 5 4 7 8 6 10
1 8 2 4 7 6 5 10 9 3
Crossover
Order Based crossover
Parent 1 A B C D E F G
Parent 2 E B D C F G A
Template 0 1 1 0 0 1 0
child 1
child 2

EBCDGFA
ABDCEGF
‫از توجه شما متشكرم‬

An introduction to genetic algorithms

  • 1.
    ‫الگوريتم ژنتيك‬ ‫)‪(Genetic Algorithms‬‬ ‫استادراهنما: جناب آقاي دكتر فيلي‬ ‫ارائه دهنده: حميده ايرج‬
  • 2.
  • 3.
    ri s ti c ch He u or tw Ne al ur Ne ks MachineLearning Se ar s cA lg o ri t hm et i Intelligent Systems gic Lo zzy Fu Ge n Expert Systems
  • 4.
    ‫تاريخچه‬ ‫الگوريتيم ژنتييك جزوشاخيه خاصيي از هوش مصينوعي بيا نام ”محاسيبات تكاملي“‬ ‫)‪ (Evolutionary Computing‬است.‬ ‫ايده محاسيبات تكامليي اوليين بار در اثير ‪ Rechenberg‬در سيال 0691 با عنوان‬ ‫"‪ "Evolution strategies‬معرفي شد.‬ ‫الگوريتيييم هاي ژنتيكيييي را معرفيييي كرد و كتاب‬ ‫‪John Holland‬‬ ‫"‪ Adaptation in Natural and Artificial Systems‬را در سال "5791 به‬ ‫.دناسر پاچاپ رساند‬ ‫‪ John R. Koza‬در سال 2991 ‪.Genetic Programming‬را مطرح نمود‬
  • 5.
    ‫زمينه زيست شناسي‬ ‫ايدهتكامل داروين: افراد يك جمعيت به سمت تطابق بيشتر با محيط‬ ‫اطراف خود تكامل مي يابند.افرادي كه بهتر بتوانند خود را با محيط‬ ‫اطراف خود سيازگار كننيد، شانيس بيشتري براي اداميه حيات خواهند‬ ‫داشت.‬ ‫اطلعات هير نسيل توسيط كروموزوهيا بيه نسيل بعيد منتقيل مي شود.‬ ‫كروموزومهيا رشتيه هاي ‪ DNA‬هسيتند كيه بيه واقيع مدليي از يك‬ ‫ارگانيسم طبيعي هستند. هر كروموزوم متشكل از ژنهاست. هر ژن‬ ‫بيانگر يك رفتار يا خصوصيت فرد مانند رنگ دناسر پاچشم است.‬
  • 6.
    ‫جستجودر فضاي حالت‬ ‫اشكالهاي روشهای كلسيك رياضيات:‬ ‫‌‬ ‫اغلب اين روشها نقطه بهينه محلی را به‬ ‫‌‬ ‫عنوان نقطه بهينه كلی در نظر میگيرند.‬ ‫‌‬ ‫هر يك از اين روشها تنها برای مساله‬ ‫‌‬ ‫خاصی كاربرد دارند.‬
  • 7.
    ‫انواع الگوريتم هايهيوريستيك‬ ‫الگوريتماهايي كه بر ويژگياهاي ساختاري مسئله و ساختار جواب متمركز‬ ‫ه‌‬ ‫ه‌‬ ‫ميوشوند و با استفاده از آنها الگوريتماهاي سازنده يا جستجوي محلي تعريف‬ ‫ه‌‬ ‫ه‌‬ ‫ميكنند.‬ ‫ه‌‬ ‫الگوريتماهايي كه بر اهدايت اهيوريستيك يك الگوريتم سازنده يا جستجوي‬ ‫ه‌‬ ‫محلي متمركز ميوشوند به گونهاي كه آن الگوريتم بتواند بر وشرايط حساس‬ ‫ه‌‬ ‫ه‌‬ ‫)مانند فرار از بهينه محلي( غلبه كند. به اين الگوريتماها، متااهيوريستيك‬ ‫ه‌‬ ‫گفته ميوشود.‬ ‫ه‌‬ ‫الگوريتماهايي كه بر تركيب يك چارچوب يا مفهوم اهيوريستيك با گونهاهايي‬ ‫ه‌‬ ‫ه‌‬ ‫از برنامهريزي رياضي )معموال رووشهاي دقيق( متمركز ميوشوند.‬ ‫ه‌‬ ‫ر ً‬ ‫ه‌‬
  • 8.
    ‫الگوريتماهاي متااهيوريستيك‬ ‫ه‌‬ ‫‪(Simulated Annealing(SA‬‬ ‫بازپختوشبيهسازي وشده‬ ‫ه‌‬ ‫جستجوي ممنوع ‪( Tabu Search(TS‬‬ ‫الگوريتم ژنتيك ‪Genetic Algorithms‬‬ ‫ه‌‬ ‫وشبكهاهاي عصبي مصنوعي‪Artificial Neural Networks‬‬ ‫ه‌‬ ‫‪(Ant Colony Optimization(ACO‬‬ ‫بهينهسازي مورچهاي‬ ‫ه‌‬ ‫ه‌‬
  • 9.
    ‫چند نمونه ازمسائل ‪NP‬‬ ‫مسئله سيكل اهاميلتوني )‪(Hamiltonian Cycle‬‬ ‫مسئله فرووشنده دوره گرد )‪(Traveling Salesman Problem‬‬ ‫مسئله ‪-N‬وزير )‪(N-Queen Problem‬‬ ‫مسئله كوله پشتي )‪(Knapsack Problem‬‬ ‫مسئله ضايعات برش دوبعدي )‪(2D Cutting Stock Problem‬‬ ‫مسئله رنگ آميزي گراف )‪(Graph Coloring‬‬ ‫مسئله زمانبندي كلسي )‪(Time Tabling Problem‬‬
  • 10.
  • 11.
    ‫‪Coding‬‬ ‫كروموزومها به نحويبايد حاوي اطلاعات جوابي باشند كه نمايانگر‬ ‫آن هستند. روشي كه اغلب بكار برده ميشود، نمايش دودوئي است.‬ ‫شبيه كروموزومهاي زير:‬ ‫0110110010011011 1 ‪Chromosome‬‬ ‫0111100001111011 2 ‪Chromosome‬‬ ‫روشهاي ديگري نيز براي نمايش كروموزومها بسته به مسئله مورد حل‬ ‫وجود دارد .‬
  • 12.
    Crossover One - pointcrossover Parent 1 11011|00100110110 Parent 2 11011|11000011110 child 1 child 2 11011|11000011110 11011|00100110110
  • 13.
    Crossover Two - pointcrossover Parent 1 11011|00100|110110 Parent 2 11011|11000|011110 child 1 child 2 11011|11000|110110 11011|00100|011110
  • 14.
    Crossover Uniform crossover Parent 11 0 1 1 1 0 1 Parent 2 1 1 0 0 1 1 0 Template 0 1 1 0 0 1 0 child 1 child 2 1010100 1101111
  • 15.
  • 16.
    ‫‪Replacement‬‬ ‫در اين مرحلهكروموزوم هايي كه با ‪ crossover‬و‬ ‫‪ mutation‬بهبود يافته اند جايگزين كروموزوم هاي‬ ‫‪ Parent‬مي شوند. به همين ترتيب بهبود مي يابند و‬ ‫اين چرخه تا زماني ادامه پيدا مي كند تا به جواب بهينه‬ ‫برسيم.‬
  • 17.
    ‫‪Traveling Salesman‬‬ ‫‪Problem‬‬ ‫مساله فروشندهدوره گرد به اين شکل است که می خواهيم در يک‬ ‫تعداد شهر دوری پيدا کنيم که از هر شهر دقيقا يک بار عبور کند و‬ ‫در پايان به شهر آغازين بازگردد به طوری که طول دور مينيمم‬ ‫باشد.‬
  • 18.
  • 19.
    Crossover ( Partially matchedcrossover (PMX Parent 1 9 8 4 | 5 6 7 |1 3 2 10 Parent 2 8 7 1 | 2 3 10 | 9 5 4 6 child 1 child 2 9 8 4 | 2 3 10 |1 6 5 7 8 10 1 | 5 6 7 | 9 2 4 3
  • 20.
    Crossover ( Cycle crossover(CX Parent 1 9 8 2 1 7 4 5 10 6 3 Parent 2 1 2 3 4 5 6 7 8 9 10 child 1 child 2 9 2 3 1 5 4 7 8 6 10 1 8 2 4 7 6 5 10 9 3
  • 21.
    Crossover Order Based crossover Parent1 A B C D E F G Parent 2 E B D C F G A Template 0 1 1 0 0 1 0 child 1 child 2 EBCDGFA ABDCEGF
  • 22.
    ‫از توجه شمامتشكرم‬