SlideShare a Scribd company logo
1 of 104
Download to read offline
Генетичні алгоритми та
їх застосування
Логічні алгоритми і системи штучного інтелекту
Лекція 10
http://boxcar2d.com/
Ідея
 Думай про успішне покоління
Ідея
 Еволюціонуй в гармонії з довкіллям
Super-fit
Для чого генетичні алгоритми?
 Генетичні алгоритми
застосовуються для рішення задач:
 Оптимізація функцій
 Різноманітні задачі на графах (задача
комівояжера, розфарбування тощо)
 Налагодження та навчання штучної
нейронної мережі
13/05/2015 4
нейронної мережі
 Складання розкладів
 Ігрові стратегії
 апроксимація функцій
 штучне життя
 біоінформатика
Джерела
 http://www.gotai.net/
 http://neuronet.alo.ru/
 http://www.neuroproject.ru/
 Holland J. H. Adaptation in natural and artificial systems. An introductory
analysis with application to biology, control, and artificial intelligence.—
London: Bradford book edition, 1994 —211 p.
 De Jong K.A. An analysis of the behavior of a class of genetic adaptive
systems. Unpublished PhD thesis. University of Michigan, Ann Arbor, 1975.
(Also University Microfilms No. 76-9381).
 Darrel Whitley "A Genetic Algorithm Tutorial", 1993.
13/05/2015 5
 Darrel Whitley "A Genetic Algorithm Tutorial", 1993.
 Darrel Whitley, An Overview of Evolutionary Algorithms: Practical Issues
and Common Pitfalls, Journal of Information and Software Technology,
2001.
 Mitchell M. An Introduction to Genetic Algorithms. Cambridge, MA: The MIT
Press, 1996.
 David E. Goldberg, Kumara Sastry "A Practical Schema Theorem for
Genetic Algorithm Design and Tuning", 2001.
 Вороновский Г.К., Махотило К.В., Петрашев С.Н., Сергеев С.А.,
Генетические алгоритмы, искусственные нейронные сети и проблемы
виртуальной реальности, Харьков, ОСНОВА, 1997. – 112с.
План
1. Генетичні алгоритми: основні поняття
2. Класичний генетичний алгоритм
3. Налаштування ГА
Деякі моделі ГА
13/05/2015 6
4. Деякі моделі ГА
5. Приклади застосування ГА
1. ГЕНЕТИЧНІ АЛГОРИТМИ:
ОСНОВНІ ПОНЯТТЯ
13/05/2015 7
Теорія еволюції Дарвіна + генетика
 Природній відбір
 Схрещування
 Мутація
Sir Charles DarwinSir Charles Darwin
110011010000100111
010011010000100111
000010100111100110
010111110111110111
010011010000100111
Нащадки мають
комбіновані ознаки,
успадковані від кожного
Еволюція на генетичному рівні
успадковані від кожного
з батьків
Еволюція на генетичному рівні
Спостерігаються випадкові зміни
Image adapted from http://www.wpdipart.com
Еволюція на генетичному рівні
 Хромосоми двох різних батьків
 Хроматиди перетинаються в  Хроматиди перетинаються в
“хіазмі”
 Формуються рекомбіновані
хромосоми
 Далі передаються потомству


Генетичний кроссовер
Еволюція на генетичному рівні
A T T G C T C оригінал
замінаA T A G C T C
додавання
знищення
A T T G A C T C
A T G C T C

Історія
 1954: Перший опис комп’ютерної симуляції еволюції в роботі Nils Aall
Barricelli в Institute of Advanced Study, Princeton.
 1957: Fraser розробив перший генетичний алгоритм.
 1960: John Holland запропонував власний підхід до ГА.
 1966: Ідея ‘Evolutionary computation’, як розділу АІ вперше представлена
Lawrence J. Fogel.
 1975: John Holland публікує свою найвідомішу роботу «Adaptation in
13/05/2015 13
 1975: John Holland публікує свою найвідомішу роботу «Adaptation in
Natural and Artificial Systems». У ній він вперше ввів термін «генетичний
алгоритм» і запропонував схему класичного генетичного алгоритму
(canonical GA). Надалі поняття «генетичні алгоритми» стало дуже
широким, і часто до них відносяться алгоритми, що сильно відрізняються
від класичного ГА.
 Учні Холланда - Кеннет Де Йонг (Kenneth De Jong) і
Девід Голдберг (David E. Goldberg) – зробили
величезний внесок у розвиток ГА. Найбільш відома
робота Голдберга - «Genetic algorithms in search
optimization and machine learning» (1989).
Формальне визначення
 Генетичний алгоритм (англ. genetic algorithm) — це
еволюційний алгоритм пошуку, що використовується для
вирішення задач оптимізації і моделювання шляхом
послідовного підбору, комбінування і варіації шуканих
параметрів з використанням механізмів, що нагадують
біологічну еволюцію.
13/05/2015 14
біологічну еволюцію.
 Поширення хороших характеристик покоління в
наступному поколінні
 Пошук найперспективніших напрямків в просторі рішень
Яким чином?
Основні поняття та терміни
 Ген — атомарний елемент генотипу, зокрема, хромосоми.
13/05/2015 15
 Хромосоми (ланцюжки або кодові послідовності) — це
впорядковані послідовності генів.
 Генотип — це набір хромосом даної особини. Отже, особинами
популяції можуть бути генотипи або одиничні хромосоми (в
досить поширеному випадку, коли генотип складається з однієї
хромосоми).
 Алель — це значення конкретного гена, також визначається як
значення властивості або варіант властивості.
Основні поняття та терміни
 Особини, що входять в популяцію, у генетичних алгоритмах
представляються хромосомами з закодованими в них множинами
параметрів задачі, тобто рішень, які інакше називаються точками в
просторі пошуку (search points). Особиною буде називатися рядок,
що є конкатенацією рядків впорядкованого набору параметрів :
1010 10110 101 … 10101
| x1 | x2 | x3 | … | xn |
13/05/2015 16
 Популяція — множина особин.
ОсобинаПопуляція
 Фенотип — це набір значень, які відповідають даному генотипу,
тобто декодована структура або множина параметрів задачі
(розв’язок, точка простору пошуку).
 Функція пристосованості (fitness function, функція оцінки) свідчить
про міру пристосованості даної особини в популяції. Ця функція
Основні поняття та терміни
про міру пристосованості даної особини в популяції. Ця функція
дозволяє оцінити ступінь пристосованості конкретних особин у
популяції і вибрати з них найбільш пристосовані (тобто мають
найбільші значення функції пристосованості) відповідно з
еволюційним принципом виживання «найсильніших» (які найкраще
пристосувалися).
13/05/2015 17
Вектор генів
(генотип)
Розв’язок
(фенотип)
(1, 1, 4, 3)
Функція пристосованості
(фітнес-функція, fitness function)
f( ) = 9,134
f(
f(
) = 4,025
) = 7,239
2. КЛАСИЧНИЙ ГЕНЕТИЧНИЙ АЛГОРИТМ
Individual
(Chromosome)
13/05/2015 20
Класичний генетичний алгоритм
1. ініціалізація, або
вибір вихідної
популяції хромосом;
2. оцінка
пристосованості
хромосом в популяції;
3. перевірка умови
зупинки алгоритму;
початок
Ініціалізація – вибір вихідної
популяції хромосом
Оцінювання пристосованості
хромосом в популяції
13/05/2015 21
4. селекція хромосом;
5. застосування
генетичних
операторів;
6. формування нової
популяції;
7. вибір «найкращої»
хромосоми.
Умова
закінчення
виконана?
Селекція
хромосом
Застосування генетичних
операторів
Створення
нової популяції
Вибір
«найкращої»
хромосоми
кінець
такні
Генетичнийалгоритм
Створення
початкової популяції
Кодування
Застосування
фітнес-функції
Випадковим
чином згенеровані
особини
• Генерація випадкового
початкового стану
– Перше покоління
створюється з
довільно вибраних
рішень (хромосом).
Генетичнийалгоритм
Генетичні оператори
Зупинка/ Перевірка
результату
Розкодування
рішень (хромосом).
– Це відрізняється від
стандартних методів,
коли початковий стан
завжди один і той
самий.
Генетичнийалгоритм
Створення
початкової популяції
Кодування
Застосування
фітнес-функції
Бітові рядки (0101 ...
1100)
Дійсні числа (43.2 -
33.1 ... 89.2)
Перестановки
елементів (E11 E3 E7
Генетичнийалгоритм
Генетичні оператори
Зупинка/ Перевірка
результату
Розкодування
елементів (E11 E3 E7
... E1 E15)
Списки правил (R1
R2 R3 ... R22 R23)
ПопуляціяПопуляція
N
 Визначає придатність
кожного
представника
популяції.
Обчислення коефіцієнта
пристосованності (fitness)
Кожному рішенню
(хромосомі)
зіставляється певне
Генетичнийалгоритм
Створення
початкової популяції
Кодування
Застосування
фітнес-функції
зіставляється певне
чисельне значення, яке
залежить від його
близькості до відповіді.
 Найпростішою
фітнес-функцією
може бути цільова
функція.
Генетичнийалгоритм
Генетичні оператори
Зупинка/ Перевірка
результату
Розкодування
Відбір (selection)
N
(не кращий варіант)
N
Генетичнийалгоритм
Створення
початкової популяції
Кодування
Застосування
фтнес-функції
Спадкування - Схрещування
Мутація
Генетичнийалгоритм
Генетичні оператори
Зупинка
Розкодування
Схрещування (crossover)
(4, 3, 4, 3) (6, 1, 6, 5)(4, 3, 4, 3) (6, 1, 6, 5)
(6, 3, 4, 5) (6, 3, 6, 3) (4, 1, 4, 3)
Схрещування (Crossover)
Схрещування
 Особини проміжної популяції випадковим чином
розбиваються на пари, які з деякою вірогідністю
 схрещуються, в результаті чого виходять два нащадка, які
записуються в нове покоління
 не схрещуються, тоді в нове покоління записується сама пара
У класичному ГА застосовується одноточковий оператор
13/05/2015 32
 У класичному ГА застосовується одноточковий оператор
кросовера (1-point crossover): для батьківських рядків
випадковим чином вибирається точка розділу, нащадки
виходять шляхом обміну відрубаними частинами.
011010.01010001101 => 111100.01010001101
111100.10011101001 => 011010.10011101001
Мутація (mutation)
(2, 2, 3, 5) (7, 2, 3, 5)
Мутація (Mutation)
Мутація
 До отриманого в результаті відбору і
схрещування нового покоління застосовується
оператор мутації, необхідний для "вибивання"
популяції з локального екстремуму та сприяє
захисту від передчасної збіжності.
13/05/2015 35
 Хоча б один біт кожної особини популяції з
деякою малою ймовірністю (зазвичай менше 1%)
інвертується
1110001010110 -> 1110001110110
Генетичнийалгоритм
Створення
початкової популяції
Кодування
Застосування
фітнес-функції
Генетичнийалгоритм
Генетичні оператори
Зупинка
Розкодування
Критерії зупинки
 Критерієм зупинки може служити
задана кількість поколінь або
сходження (convergence) популяції.
 Сходженням називається стан
популяції, коли всі рядки знаходяться в
області деякого екстремуму і майже
однакові.
13/05/2015 37
однакові.
 Таким чином, сходження популяції
означає, що досягнуто рішення близьке
до оптимального.
 Підсумковим рішенням завдання може
служити найбільш пристосована
особина останнього покоління.
Генетичнийалгоритм
Створення
початкової популяції
Кодування
Застосування
фітнес-функції
Генетичнийалгоритм
Генетичні оператори
Зупинка
Розкодування
Розкодування
010001001
10010010
10010001
011101001
010001001
Генетичнийалгоритм
Створення
початкової популяції
Кодування
Застосування
фітнес-функції
Відбір
Схрещування
Мутація
Відтворення
Генетичнийалгоритм
Генетичні оператори
Зупинка
Розкодування
Відтворення
Хромосоми, що мають високий
рівень пристасованості
(fitness), потрапляють до
нащадків (які потім можуть
мутувати) з більшою
ймовірністю. Нащадок, результат
злиття 'батька' і 'матері', є
комбінацією їх генів. Цей процес
називається 'кроссінговер'
(crossing over).
Відбір
 Відбір та схрещування:
13/05/2015 41
 Проміжна популяція - набір особин, які отримали право
розмножуватися.
 У класичному ГА ймовірність кожної особини потрапити в проміжну
популяцію пропорційна її пристосованості, тобто працює пропорційний
відбір (proportional selection).
Пропорційний відбір
 Існує кілька способів реалізації
пропорційного відбору:
 stochastic sampling. Особини
розташовуються на колесі рулетки
так, що розмір сектора кожної
особини пропорційний її
пристосованості. N раз запускаючи
рулетку, вибираємо необхідну
…
4
2
1
3
13/05/2015 42
рулетку, вибираємо необхідну
кількість особин для запису в
проміжну популяцію.
 remainder stochastic sampling.
Особини розташовуються на рулетці
так само, як і раніше. Але тепер у
рулетки не одна стрілка, а N,
причому вони відсікають однакові
сектора. За один запуск рулетки
вибираємо відразу всі N особин.
N
Колесо рулетки (Roulette Wheel)
1/6 = 17%
B
A C
3/6 = 50%
B
2/6 = 33%
fitness(A) = 3
fitness(B) = 1
fitness(C) = 2
Max x2 over {0,1,…,31}
(Відбір)
Max x2 over {0,1,…,31}
(Схрещування)
Max x2 over {0,1,…,31}
(Мутація)
Приклад 1
Задача оптимізації функції f(х) = 2х2 +1, х з [0, 15].
Фенотип: {0,1,..., 15} — простір пошуку та одночасно множина
потенціальних розв’язків задачі.
Кодування параметра х від 0 до 15:
0 1 ген
0000 0001 0010 0011 0100 0101 0110 0111
1000 1001 1010 1011 1100 1101 1110 1111
13/05/2015 47
0 1
15
аллель
хромосоми
Приклад 2
Знайти хромосоми з максимальною кількістю одиниць.
Припустимо, що хромосоми складаються з 12 генів, а популяція
налічує 8 хромосом.
 Ініціалізація, або вибір вихідної популяції хромосом. Необхідно
випадковим чином згенерувати 8 двійкових послідовностейвипадковим чином згенерувати 8 двійкових послідовностей
довжиною 12 бітів (вихідна популяція)
ch1 = [111001100101] ch5 = [010001100100]
ch2= [001100111010] ch6 = [010011000101]
ch3 = [011101110011] ch7 = [101011011011]
ch4 = [001000101000] ch8 = [000010111100]
13/05/2015 48
Приклад 2
 Оцінка пристосованості хромосом в популяції. Вирішується задача
знаходження такої хромосоми, яка містить найбільшу кількість одиниць.
Тому функція пристосованості визначає кількість одиниць у хромосомі.
 Позначимо функцію пристосованості символом F. Тоді її значення для кожної
хромосоми з вихідної популяції будуть такі:
F(ch1) = 7 F(ch5)= 4 F(ch2) = 6 F(ch6) = 5
F(ch3) = 8 F(ch7) = 8 F(ch4) = 3 F(ch8) = 5F(ch3) = 8 F(ch7) = 8 F(ch4) = 3 F(ch8) = 5
Хромосоми ch3 і ch7 характеризуються найбільшими значеннями
функції приналежності. У цій популяції вони вважаються найкращими
кандидатами на рішення задачі.
Якщо згідно з блок-схемою генетичного алгоритму умова зупинки
алгоритму не виконується, то на наступному кроці проводиться селекція
хромосом з поточної популяції.
13/05/2015 49
Приклад 2
 Селекція хромосом. Селекція проводиться методом рулетки. Для
кожної з 8 хромосом поточної популяції (у нашому випадку —
вихідної популяції, для якої N = 8) отримуємо сектори колеса
рулетки:
v(ch1) = 15,22 v(ch2) = 13,04 v(ch3) = 17,39 v(ch4) =6,52
v(ch5) =8,70 v(ch6) = 10,87 v(ch7) = 17,39 v(ch8) = 10,87
Розіграш за допомогою колеса рулетки
зводиться до випадкового вибору числа з
13/05/2015 50
зводиться до випадкового вибору числа з
інтервалу [0, 100], що вказує на відповідний
сектор на колесі, тобто на конкретну хромосому.
Припустимо, що розіграні наступні 8 чисел:
79 44 9 74
44 86 48 23
Це означає вибір хромосом
ch7 ch3 ch1 ch7
ch3 ch7 ch4 ch2
Всі вибрані таким чином хромосоми
включаються в батьківський пул.
v(ch1) 15,22
v(ch2) 13,04
v(ch3) 17,39
v(ch4)
6,52
v(ch5) 8,7
v(ch6) 10,87
v(ch7) 17,39
v(ch8) 10,87
Приклад 2
 Застосування генетичних операторів. Припустимо, що ні одна з
відібраних у процесі селекції хромосом не піддається мутації, і всі вони
складають популяцію хромосом, призначених для схрещування.
 Це означає, що ймовірність схрещування Pс = 1, а ймовірність мутації рm
= 0. Припустимо, що з цих хромосом випадковим чином сформовані пари
батьків
ch2 і ch7 ch1 і ch7
ch3 і ch4 ch3 і ch7
Точки схрещування:
13/05/2015 51
першої пари lk = 4,
другої lk = 3,
третьої lk = 11,
четвертої lk = 5.
В результаті
виконання оператора
схрещування
виходять 4 пари
нащадків.
Приклад 2
 Формування нової популяції. Після
виконання операції схрещування
отримуємо наступну популяцію
нащадків:
Ch1 = [001111011011]
Ch5 = [011101110010]
Ch2 = [101000111010]
Ch6 = [001000101001]
Ch3 = [111011011011]
Ch7 = [011101011011]
13/05/2015 52
Ch7 = [011101011011]
Ch4 = [101001100101]
Ch8 = [101011110011]
В результаті схрещування отримана хромосома Ch3 з найбільшим значенням функції
пристосованості, яким не володіла ні одна хромосома з батьківського популяції.
Провадиться повернення до другого етапу, тобто до оцінки пристосованості
хромосом з новосформованої популяції, яка стає поточною. Значення функцій
пристосованості хромосом цієї популяції складають:
F(Ch1) = 8 F(Ch5) = 7 F(Ch2) = 6 F(Ch6) = 4
F(Ch3) = 9 F(Ch7) = 8 F(Ch4) = 6 F(Ch8) = 8
 Знайти максимум функції , х приймає
тількі цілі значення
 Побудовані хромосоми складаються з 4-х генів:
Integer Binary code Integer Binary code Integer Binary code
Приклад 3.
2
( ) 15 , [0,15]f x x x x  
Integer Binary code Integer Binary code Integer Binary code
1 11
2 7 12
3 8 13
4 9 14
5 10 15
6 1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
Chromosome
label
Chromosome
string
Decoded
intege r
Chromosome
fitnes s
Fitnes s
ratio, %
X 1 1 1 0 0 12 36 16.5
X 2 0 1 0 0 4 44 20.2
X 3 0 0 0 1 1 14 6.4
X 4 1 1 1 0 14 14 6.4
X 5 0 1 1 1 7 56 25.7
X 6 1 0 0 1 9 54 24.8
60
f(x) 60
Приклад 3.
x
50
40
30
20
60
10
0
0 5 10 15
f(x)
(a) Chromosome initial locations.
x
50
40
30
20
60
10
0
0 5 10 15
(b) Chromosome final locations.
 Вибір хромосом для формування пар з використанням
roulette wheel selection.
100 0
75.2
X1: 16.5%
X2: 20.2%
X3: 6.4%
Приклад 3.
36.7
43.149.5
75.2 X3: 6.4%
X4: 6.4%
X5: 25.3%
X6: 24.8%
X6i 1 00 0 01 0 X2i0 1
0 0
Crossover operatorCrossover operator
Приклад 3.
0 01 0X2i 0 11 1 X5i
0X1i 0 11 1 X5i1 01 0 11 1
01 0
X 6' i 1 00
0 01 0X 2' i 0 1
0 0
1 1 1 X 1" i1 10X 1' i 1 1 1
Приклад 3.
0 11 1X 5' i 01 0
0 1 111X 5 i
X 2" i0 1 00 1 0X 2 i
Mutation operatorMutation operator
1 01 0X 1 i
G ene r ation i
0 01 0X 2 i
0 00 1X 3 i
1 11 0X 4 i
0 11 1X 5 i f = 5 6
1 00 1X 6 i f = 5 4
f = 3 6
f = 4 4
f = 1 4
f = 1 4
C ro s so ve r
X 6 i 1 00 0 01 0 X 2 i
0 01 0X 2 i 0 11 1 X 5 i
0X 1 i 0 11 1 X 5 i1 01 0
0 1
0 0
11 1
01 0
Приклад 3.
1 00 1i f = 5 4
1 00 0X 1 i +1
G ene r ation ( i + 1 )
0 01 1X 2 i +1
1 10 1X 3 i +1
0 01 0X 4 i +1
0 11 0X 5 i +1 f = 5 4
0 11 1X 6 i +1 f = 5 6
f = 5 6
f = 5 0
f = 4 4
f = 4 4
0 01 0X 2 i 0 11 1 X 5 i
M uta ti on
0 11 1X 5 'i 01 0
X 6 'i 1 00
0 01 0X 2 'i 0 1
0 0
0 1 111X 5i
1 1 1 X 1 "i1 1
X 2 "i0 1 0
0X 1 'i 1 1 1
0 1 0X 2i
+ Проста реалізація
 Вирішує широкий
клас задач
−
• Складність фітнес-
функції
• Проблема локального
оптимумуоптимуму
3. Налаштування
генетичного алгоритму
13/05/2015 60
Налаштування ГА
 Генетичний алгоритм виконує пошук рішень з допомогою:
 відбору гіперплощин (hyperplane sampling) шляхом кроссовера
 методу hill-climbing шляхом мутації
 Дослідження показали, що на простих задачах з малим розміром
популяції ГА з мутацією (і без кросовера) знаходять рішення
швидше, а на складних багатоекстремальних функціях краще
використовувати ГА з кросовером, оскільки цей метод більш
надійний.
13/05/2015 61
надійний.
 З точки зору теореми шаблонів, мутація тільки шкодить зростанню
кількості представників хороших шаблонів, зайвий раз руйнуючи їх.
 Але мутація необхідна для ГА з малим розміром популяції, тому що
для них властива передчасна збіжність (premature convergence) -
ситуація, коли в деяких позиціях всі особини мають один і той же
біт, не відповідний глобальному екстремуму.
Налаштування ГА
 Тиск відбору (selection pressure) - міра того, наскільки різняться
шанси кращої і гіршої особин популяції потрапити в проміжну
популяцію. Для пропорційного відбору ця величина із збільшенням
середньої пристосованості популяції зменшується, прямуючи до 1.
 Для ефективної роботи генетичного алгоритму необхідно підтримувати
тонку рівновагу між дослідженням і використанням :
 При збільшенні вірогідності схрещування або мутації і зменшенні тиску відбору (за
рахунок використання інших стратегій відбору) розмноження представників
13/05/2015 62
рахунок використання інших стратегій відбору) розмноження представників
пристосованих шаблонів сповільнюється, але зате відбувається інтенсивний пошук
інших шаблонів.
 Зменшення ймовірностей схрещування або мутації і збільшення тиску відбору веде до
інтенсивного використання знайдених хороших шаблонів, але менше уваги
приділяється пошуку нових.
 Необхідність збалансованої збіжності ГА:
 швидка збіжність може призвести до неоптимального рішення
 повільна збіжність часто призводить до втрати знайденої найкращої особини.
 Методологія управління збіжністю класичного ГА досі не вироблена.
Алфавіт
 Кодування бінарним алфавітом:
 забезпечує кращий пошук за допомогою
гіперплощин, оскільки надає максимальну їх кількість.
 для можливості зустріти кожний символ у кожній позиції
потрібно менший розмір популяції
 Навіть для двох рядків, є ймовірність, що на кожній позиції в
популяції є і 0, і 1. Якщо ж алфавіт більшої потужності, то до
13/05/2015 63
популяції є і 0, і 1. Якщо ж алфавіт більшої потужності, то до
застосування мутації більша частина простору пошуку буде
недоступна з точки зору кросовера, після застосування мутації
стане недоступна інша частина.
 Однак небінарні алфавіти часто
забезпечують більш наочне
представлення рішень задачі.
Кодування параметрів
 Бінарне кодування додає додаткові розриви, що
ускладнює пошук.
Наприклад, числа 7 і 8 розрізняються на 4 біти
 Для більшості функцій ГА будуть працювати краще при
кодуванні параметрів кодом Грея.
 Приклад: нехай потрібно мінімізувати функцію
Якщо в початковій популяції переважали хороші від’ємні
2
x)x(f 
13/05/2015 64
 Якщо в початковій популяції переважали хороші від’ємні
рішення, то швидше за все ми прийдемо до розв’язку -
1 = 11 ... 1.
Але досягти глобального мінімуму 00 ... 0 буде практично
неможливо, оскільки зміна будь-якого біта буде призводити до
погіршення рішення. При кодуванні кодом Грея такої проблеми
не виникає.
 Іноді застосовується кодування з плаваючою
точкою, яке теж є більш вдалим, ніж пряме бінарне.
Стратегії відбору
 Ранковий відбір (rank selection): для кожної особини її
ймовірність потрапити в проміжну популяцію пропорційна її
порядковому номеру у відсортованій за зростанням
пристосованості популяції. Такий вид відбору не залежить від
середньої пристосованості популяції.
 Турнірний відбір (tournament selection): з популяції випадковим
чином вибирається t особин, і найкраща з них поміщається в
13/05/2015 65
чином вибирається t особин, і найкраща з них поміщається в
проміжну популяцію. Цей процес повторюється N раз, поки
проміжну популяцію не буде заповнено. Найбільш поширений
варіант при t = 2. Турнірний відбір є більш агресивним, ніж
пропорційний.
 Відбір усіканням (truncation selection): популяція сортується за
пристосованістю, потім береться задана частка кращих, і з них
випадковим чином N раз вибирається особина для подальшого
розвитку.
Кросовер
 Двоточковий кросовер:
вибираються 2 точки розділу, і батьки обмінюються ділянками
між собою:
 При цьому визначальна довжина вимірюється в кільці - для
шаблону 1 ***** 1 при двоточковому кросовері вона дорівнюватиме
1, хоча при одноточковому була 6.
 Однорідний кросовер:
один з дітей успадковує кожен біт з ймовірністю у першогоp
13/05/2015 66
один з дітей успадковує кожен біт з ймовірністю у першого
батька і з (1 - ) у другого,
друга дитина одержує не успадковані першою біти. Зазвичай
= 0.5.
 при малому розмірі популяції однорідний кросовер перешкоджає
передчасному сходженню.
0p
0p
0p
Стратегії формування нового покоління
 Два основних типи формування нового покоління після
кросовера і мутації:
 діти заміщають батьків
 нове покоління складається із сукупності дітей та їх батьків
 Також застосовується принцип елітизму: в нове покоління
включається задана кількість кращих особин попереднього
покоління (часто одна краща особина).
13/05/2015 67
покоління (часто одна краща особина).
 Використання другої стратегії та елітизму не допускає втрати
кращих рішень.
 Приміром, якщо популяція зійшлася в локальному максимумі, а
мутація вивела один з рядків в область глобального, то при
заміщенні батьків досить імовірно, що ця особина в результаті
схрещування буде втрачена, і рішення задачі не буде отримано.
Якщо ж використовується елітизм, то отримане хороше рішення
буде залишатися в популяції до тих пір, поки не буде знайдене
краще.
Шаблон (schema, «шима»)
 Шаблоном (schema) називається рядок довжини L з символів 0, 1 і *
(«don't care» символ). Рядок є представником даного шаблону, якщо всі
символи крім * збігаються. Наприклад, у шаблона 1 * 0 * 0 є 4
представника :
 10000
 10010
 11000
11010
13/05/2015 68
 11010
 Порядком шаблона називається кількість фіксованих в ньому бітів.
 Визначальною довжиною. шаблону називається відстань між його
крайніми фіксованими бітами
 Наприклад, для шаблона H = *0**10*:
 порядок o(H) =
 визначальна довжина Δ(H) =
3
5
Шаблони
 Пристосованістю шаблону називається середня
пристосованість рядків з популяції, які є його представниками.
 Залежить від популяції, і тому змінюється з часом.
 Хоча зовні здається, що ГА обробляє рядки, насправді при
цьому неявно відбувається обробка шим, які представляють
шаблони подібності між рядками (Goldberg, 1989;
Голланд, 1992).
13/05/2015 69
Голланд, 1992).
 ГА практично не може займатися повним перебором всіх точок у
просторі пошуку. Однак він може виробляти вибірку значного
числа гіперплощин в областях пошуку з високою
пристосованістю. Кожна така гіперплощина відповідає множині
схожих рядків із високою пристосованістю.
Теорема шаблонів
 Теорема шаблонів (Schema Theorem) — перша теорема, яка
обгрунтовувала ефективність генетичних алгоритмів.
Запропонована Джоном Г. Голландом.
 Ця теорема пояснює, чому для певних задач певний клас
генетичних алгоритмів є ефективним. У даний момент відомо
декілька теорем шим, які обгрунтовують ефективність інших
класів алгоритмів, зокрема теореми схем для генетичного
програмування.
   o(H)p-1 
f(t)
f(H, t) 
 P(H, t) 1 - 
1)-(L
 (H)
 p-1
f(t)
f(H, t) 
 P(H, t)  1) P(H, t  mс 

















13/05/2015 70
де f(H, t) — пристосованість шаблона H в поколінні t, <f(t)> — середня
пристосовність покоління t, P(H, t) — частка представників шаблону H в
поколінні t.
 Отриманий вираз не надто вдалий для аналізу роботи генетичного
алгоритму, тому що в ньому присутній знак нерівності.
 Пристосованість шаблону і середня пристосованість популяції швидко
змінюються від покоління до покоління, тому отримана нерівність добре описує
ситуацію тільки для наступного покоління.
   o(H)p-1 
f(t)
 P(H, t) 1 - 
1)-(L
 p-1
f(t)
 P(H, t)  1) P(H, t  mс 






 

Приклад 4. Розв'язання Діофантового рівняння
(тільки цілі рішення)
Розглянемо діофантовe рівняння: a+2b+3c+ 4d = 30, де a, b, c і d -
деякі додатні цілі числа.
Для початку виберемо 5 випадкових рішень.
Хромосома (a,b,c,d)
Щоб обчислити коефіцієнти пристосованості (fitness), підставимо
кожне рішення у вираз a+2b+3c+4d. Відстань від отриманого значення
до 30 і буде потрібним значенням.
13/05/2015 71
Хромосома (a,b,c,d)
1 (1,28,15,3)
2 (14,9,2,4)
3 (13,5,7,3)
4 (23,8,16,19)
5 (9,13,5,2)
Таб.1: 1-е покоління хромосом і їх вміст
Хромосома Коефіцієнт пристосованості
1 |114-30|=84
2 |54-30|=24
3 |56-30|=26
4 |163-30|=133
5 |58-30|=28
Таб.2: Коефіцієнти пристосованості першого покоління
хромосом (набору рішень)
Так як менші значення ближче до 30 – пристосованості, то вони
більш бажані.
Приклад 4. Розв'язання Діофантового рівняння
Щоб створити систему, де хромосоми з більш придатними
значеннями мають великі шанси опинитися батьками, ми повинні
обчислити, з якою вірогідністю (у %) може бути обрана кожна.
Хромосома Відповідність
1 8.80%
2 30.8%
3 28.4%
4 5.56%
Хромосома батька Хромосома матері
3 1
5 2
3 5
13/05/2015 72
Таб.3: Імовірність виявитися батьком
Таб.4: Симуляція вибору батьків
Для вибору 5-ти пар батьків (кожна з яких буде мати 1 нащадка, всього - 5 нових
рішень), уявімо, що у нас є 10000-стороння гральна кістка, на 880 сторонах
відзначена хромосома 1, на 3080 - хромосома 2, на 2640 сторонах - хромосома
3, на 556 - хромосома 4 і на 2640 сторонах відзначена хромосома 5.
Щоб вибрати першу пару кидаємо кістку двічі і вибираємо хромосоми, що
випали . Таким же чином вибираючи інших, отримуємо таб.4
4 5.56%
5 26.4%
2 5
5 3
Приклад 4. Розв'язання Діофантового рівняння
"Кроссовер" (cross-over).
Нехай мати містить наступний набір рішень: a1, b1, c1, d1,
батько - a2, b2, c2, d2,
тоді можливо 6 різних кросоверів (таб.5):
Є досить багато шляхів
передачі інформації
нащадкові, і кросовер - тільки
один з них. Розташування
роздільника може бути
абсолютно довільним, як і
Хромосома-батько Хромосома-матір Хромосома-нащадок
a1 | b1,c1,d1 a2 | b2,c2,d2
a1,b2,c2,d2 or
a2,b1,c1,d1
a1,b1 | c1,d1 a2,b2 | c2,d2
a1,b1,c2,d2 or
a2,b2,c1,d1
13/05/2015 73
Таб. 5: Кроссовери між батьками
Таб.6: Симуляція
кроссоверів хромосом
батьків
абсолютно довільним, як і
те, батько чи мати будуть
ліворуч від роздільника.
a2,b2,c1,d1
a1,b1,c1 | d1 a2,b2,c2 | d2
a1,b1,c1,d2 or
a2,b2,c2,d1
Хромосома-батько Хромосома-матір Хромосома-нащадок
(13 | 5,7,3) (1 | 28,15,3) (13,28,15,3)
(9,13 | 5,2) (14,9 | 2,4) (9,13,2,4)
(13,5,7 | 3) (9,13,5 | 2) (13,5,7,2)
(14 | 9,2,4) (9 | 13,5,2) (14,13,5,2)
(13,5 | 7, 3) (9,13 | 5, 2) (13,5,5,2)
Приклад 4. Розв'язання Діофантового рівняння
Тепер ми можемо обчислити
коефіцієнти пристосованості
(fitness) нащадків.
…рекомендовано мутацію
Хромосома-
нащадок
Коефіцієнт
пристосованості
(13,28,15,3) |126-30|=96
(9,13,2,4) |57-30|=27
(13,5,7,2) |57-30|=22
(14,13,5,2) |63-30|=33
13/05/2015 74
(13,5,5,2) |46-30|=16
4. Деякі моделі
генетичних алгоритмів
13/05/2015 75
Деякі моделі ГА
Genitor (Whitley)
 У даній моделі використовується
специфічна стратегія відбору. На
кожному кроці тільки одна пара
випадкових батьків створює тільки одну
13/05/2015 76
випадкових батьків створює тільки одну
дитину. Ця дитина замінює не батьків, а
одну з найгірших особин популяції.
 Таким чином, на кожному кроці в
популяції оновлюється лише одна
особина.
 Збіжність швидше, ніж у класичного
ГА.
Деякі моделі ГА
 Для нового покоління вибираються N найкращих різних особин серед
батьків і дітей. Дублювання рядків не допускається.
 Для схрещування всі особини розбиваються на пари, але схрещуються
тільки ті пари, між якими відстань Хеммінга більше деякої порогової
CHC (Eshelman) – Cross
generational elitist
selection, Heterogenous
recombination, Cataclysmic
mutation.
13/05/2015 77
тільки ті пари, між якими відстань Хеммінга більше деякої порогової
(також можливі обмеження на мінімальну відстань між крайніми
відмінними бітами).
 При схрещуванні використовується так званий HUX-оператор (Half
Uniform Crossover), різновид однорідного кросовера - кожному нащадку
переходить рівно половина бітів кожного з батьків.
 Розмір популяції слабкий. Цим виправдане використання однорідного
кросовера.
 Даний алгоритм досить швидко збіжний через те, що в ньому немає
мутацій.
Деякі моделі ГА
Hybrid algorithm (Davis)
 Генетичні алгоритми є робастними
алгоритмами, тобто дозволяють
знаходити хороше рішення, але
знаходження оптимального найчастіше
виявляється набагато більш важким
завданням в силу стохастичності
принципів роботи алгоритму. Тому
виникла ідея використовувати ГА на
початковому етапі для ефективного
13/05/2015 78
виникла ідея використовувати ГА на
початковому етапі для ефективного
звуження простору пошуку навколо
глобального екстремуму, а
потім, взявши кращу
особину, застосувати один з
"класичних" методів оптимізації.
Деякі моделі ГА
Island Models (Острівна модель, island model) —
модель паралельного генетичного алгоритму.
 Розіб'ємо популяцію на кілька подпопуляцій. Кожна з
них буде розвиватися окремо за допомогою деякого
ГА. Таким чином, можна сказати, що ми розселили
особини на кількох ізольованих островах.
 Зрідка (наприклад, кожні 5 поколінь) відбувається міграція - острови
обмінюються кількома хорошими особинами.
13/05/2015 79
 Так як населеність островів невелика, то підпопуляціі будуть схильні до
передчасної збіжності. Тому важливо правильно встановити частоту
міграції:
 надто часта міграція (або міграція занадто великої кількості особин)
призведе до змішування всіх підпопуляцій, і тоді острівна модель буде
несильно відрізнятися від звичайного ГА
 якщо міграція буде занадто рідкою, то вона не зможе запобігти
передчасній збіжності підпопуляцій
 ГА стохастичні, тому при різних їх запусках популяція може сходитися до
різних хороших рішень. Острівна модель дозволяє запустити алгоритм
відразу кілька разів і поєднати «досягнення» різних островів для отримання
найкращого рішення.
Висновки
 Генетичні алгоритми є універсальним методом
оптимізації багатопараметричних функцій, що
дозволяє вирішувати широкий спектр завдань.
 Генетичні алгоритми мають безліч модифікацій і
сильно залежать від параметрів. Найчастіше
невелика зміна одного з них може призвести до
13/05/2015 80
невелика зміна одного з них може призвести до
несподіваного поліпшення результату.
 Слід пам'ятати, що застосування ГА корисно
лише в тих випадках, коли для даної задачі
немає відповідного спеціального алгоритму
рішення.
5. Приклади
застосування
13/05/2015 81
генетичного алгоритму
Приклад 1. Пошук мінімуму функції (MATLAB)
Розв’язок:
4
4.5
GA: Fmin=1.7991 @ x~4.3
4
3 2 3
( ) 2 3 4 5 / , [2,17]
log( )
x
f x x x x x x
x
 
      
 
Розв’язок:
Точність: 1/1024
Fmin=1.7791
при x=4.3 (almost)
2 4 6 8 10 12 14 16 18
1.5
2
2.5
3
3.5
x
F(x)
Приклад 1. Пошук мінімуму функції (MATLAB)
 Нехай F=F(X1,X2,X3……Xn), необхідно
знайти Fmax та Fmin.
 Спершу потрібно задати код для x1,x2,x3…
Xn, а потім з’єднати їх для визначення
Приклад 1. Пошук мінімуму функції (MATLAB)
для багатьох змінних
Xn, а потім з’єднати їх для визначення
хромосоми та розв’язку у вигляді (x1,x2,…Xn).
 Далі діяти за описаним вище.
Приклад 1. Пошук мінімуму функції
MATLAB:GATOOL>>optimumtool(‘ga’))(MATLAB:GATOOL>>optimumtool(‘ga’)
 Розмір популяції: 20-100
залежить від задачі.
 Cross-Over імовірність: 0.6-0.9
оптимально~0.7 .
 Mutation імовірність: Mutation імовірність:
як можна менша, 0.1-0.01 etc.
 Покоління:
Типово від 50 до 100 дають гарний
результат.
Roulette-wheeler selection використовався у
прикладі
Приклад 2. Задача коммівояжера
Travelling
salesman problem
Початкові дані та результат
Початкові дані Результат
Кодування рішень
1
3
2 (1, 3, 5, 6, 2, 4, 7)
1
3
2
4
6
5
4
6
5
7
Ініціалізація
(1, 3, 5, 6, 2, 4, 7)
Розмір важливий!1
3
4
2
6
5
7
1
3
2
(5, 7, 3, 6, 1, 4, 2)
(7, 4, 2, 3, 6, 5, 1)
3
4
2
6
5
7
1
3
4
2
6
5
7
Order Crossover
(A, B, C, G, H, B, D, E) & (H, D, E, F, G, C, B, A)
Предок 1: (ABC|GHB|DE) Результат: (…|GHB|..)Предок 1: (ABC|GHB|DE) Результат: (…|GHB|..)
Предок 2: (HDE|FGC|BA) Результат: (EFC|GHB|AD)
Partially Matched Crossover
(F, B, C, A, H, G, D, E) & (A, B, C, D, E, F, G, H)
Предок 1: (FBC|AHG|DE) Результат: (…|AHG|..)
• Беремо в другому батьку три гена починаючи з позиції 4: FGC
• Розставляємо їх в позиції, що відповідають позиціям AHG в другому
батьку
Предок 2: (ABC|DEF|GH) Результат: (D..|AHG|FE)
• Решта додаються в тому ж порядку, в якому вони знаходяться в
другому батьку
Предок 2: (ABC|DEF|GH) Результат: (DBC|AHG|FE)
Cycle crossover
(F, B, C, A, H, G, D, E) & (A, B, C, D, E, F, G, H)
Батько 1: (F, B, C, A, H, G, D, E)
Батько 2: (A, B, C, D, E, F, G, H)Батько 2: (A, B, C, D, E, F, G, H)
Результат : (F, B, C, A, E, G, D, H)
Yet another crossover
(1, 3, 5, 7, 8, 6, 2, 4)(4, 5, 8, 1, 6, 3, 7, 2)
(1, 3, 5, 7, 4, 8, 6, 2)
Simple mutation
1
3
2
1
3
2
4
6
5
(1, 3, 5, 6, 2, 4, 7)(1, 4, 5, 6, 2, 3, 7)
7
4
2
6
5
7
Mutation by 2opt
1
3
4
2
6
1
3
4
2
6
(1, 3, 5, 7, 8, 6, 2, 4)
6
5
7
(1, 3, 6, 8, 7, 5, 2, 4)
8
5
7
8
Приклад 3. Genetic Car
Компоненти - Представлення
Фенотип Генотип
Рамка: 16 параметрівРамка: 16 параметрів
3 колеса: 9 параметрів
“DNA” рядок - 25 значень
8.7 4.7 9.5 5.9 6.2 1.3 … 9.3 1.0 8.7 3.8 1.7
Компонент - Популяція
Компоненти - Fitness функція
Пройдена дистанція
Компонент – механізм вибору батьків
0,1 0,5
0,4 0,1
Імовірність
репродукції
Компонент – застосування операторів
Частина Parent1 + Частина Parent2 + мутаціяЧастина Parent1 + Частина Parent2 + мутація
8.7 4.7 9.5 5.9 6.2 1.3 1.8 … 1.0 8.7 3.8 1.7
8.5 9.1 0.1 3.5 8.0 1.5 2.2 … 1.6 5.5 2.8 4.5
8.7 4.7 3.4 5.9 6.2 1.7 2.2 … 1.6 5.5 2.8 4.5
Parent 1
Parent 2
Нащадок
(+ мутація)
Компонент – механізм вибору для
подальшого спадкування
Дякую за увагу !

More Related Content

What's hot

GPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask LearnersGPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask LearnersYoung Seok Kim
 
Generative AI Masterclass - Model Risk Management.pptx
Generative AI Masterclass - Model Risk Management.pptxGenerative AI Masterclass - Model Risk Management.pptx
Generative AI Masterclass - Model Risk Management.pptxSri Ambati
 
Introduction to natural language processing (NLP)
Introduction to natural language processing (NLP)Introduction to natural language processing (NLP)
Introduction to natural language processing (NLP)Alia Hamwi
 
How to fine-tune and develop your own large language model.pptx
How to fine-tune and develop your own large language model.pptxHow to fine-tune and develop your own large language model.pptx
How to fine-tune and develop your own large language model.pptxKnoldus Inc.
 
Frontiers of Natural Language Processing
Frontiers of Natural Language ProcessingFrontiers of Natural Language Processing
Frontiers of Natural Language ProcessingSebastian Ruder
 
Recent Advances in Natural Language Processing
Recent Advances in Natural Language ProcessingRecent Advances in Natural Language Processing
Recent Advances in Natural Language ProcessingSeth Grimes
 
Customizing LLMs
Customizing LLMsCustomizing LLMs
Customizing LLMsJim Steele
 
AI and ML Series - Introduction to Generative AI and LLMs - Session 1
AI and ML Series - Introduction to Generative AI and LLMs - Session 1AI and ML Series - Introduction to Generative AI and LLMs - Session 1
AI and ML Series - Introduction to Generative AI and LLMs - Session 1DianaGray10
 
Link prediction 방법의 개념 및 활용
Link prediction 방법의 개념 및 활용Link prediction 방법의 개념 및 활용
Link prediction 방법의 개념 및 활용Kyunghoon Kim
 
Responsible AI & Cybersecurity: A tale of two technology risks
Responsible AI & Cybersecurity: A tale of two technology risksResponsible AI & Cybersecurity: A tale of two technology risks
Responsible AI & Cybersecurity: A tale of two technology risksLiming Zhu
 
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...ssuser4edc93
 
Dirty data science machine learning on non-curated data
Dirty data science machine learning on non-curated dataDirty data science machine learning on non-curated data
Dirty data science machine learning on non-curated dataGael Varoquaux
 
Open domain Question Answering System - Research project in NLP
Open domain  Question Answering System - Research project in NLPOpen domain  Question Answering System - Research project in NLP
Open domain Question Answering System - Research project in NLPGVS Chaitanya
 
Natural language processing and transformer models
Natural language processing and transformer modelsNatural language processing and transformer models
Natural language processing and transformer modelsDing Li
 

What's hot (20)

GPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask LearnersGPT-2: Language Models are Unsupervised Multitask Learners
GPT-2: Language Models are Unsupervised Multitask Learners
 
Generative AI
Generative AIGenerative AI
Generative AI
 
Generative AI Masterclass - Model Risk Management.pptx
Generative AI Masterclass - Model Risk Management.pptxGenerative AI Masterclass - Model Risk Management.pptx
Generative AI Masterclass - Model Risk Management.pptx
 
Journey of Generative AI
Journey of Generative AIJourney of Generative AI
Journey of Generative AI
 
Introduction to natural language processing (NLP)
Introduction to natural language processing (NLP)Introduction to natural language processing (NLP)
Introduction to natural language processing (NLP)
 
How to fine-tune and develop your own large language model.pptx
How to fine-tune and develop your own large language model.pptxHow to fine-tune and develop your own large language model.pptx
How to fine-tune and develop your own large language model.pptx
 
Generative models
Generative modelsGenerative models
Generative models
 
IBM Watson Overview
IBM Watson OverviewIBM Watson Overview
IBM Watson Overview
 
Ontologies
OntologiesOntologies
Ontologies
 
Frontiers of Natural Language Processing
Frontiers of Natural Language ProcessingFrontiers of Natural Language Processing
Frontiers of Natural Language Processing
 
Recent Advances in Natural Language Processing
Recent Advances in Natural Language ProcessingRecent Advances in Natural Language Processing
Recent Advances in Natural Language Processing
 
Customizing LLMs
Customizing LLMsCustomizing LLMs
Customizing LLMs
 
AI and ML Series - Introduction to Generative AI and LLMs - Session 1
AI and ML Series - Introduction to Generative AI and LLMs - Session 1AI and ML Series - Introduction to Generative AI and LLMs - Session 1
AI and ML Series - Introduction to Generative AI and LLMs - Session 1
 
Link prediction 방법의 개념 및 활용
Link prediction 방법의 개념 및 활용Link prediction 방법의 개념 및 활용
Link prediction 방법의 개념 및 활용
 
Responsible AI & Cybersecurity: A tale of two technology risks
Responsible AI & Cybersecurity: A tale of two technology risksResponsible AI & Cybersecurity: A tale of two technology risks
Responsible AI & Cybersecurity: A tale of two technology risks
 
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
 
Dirty data science machine learning on non-curated data
Dirty data science machine learning on non-curated dataDirty data science machine learning on non-curated data
Dirty data science machine learning on non-curated data
 
Word2Vec
Word2VecWord2Vec
Word2Vec
 
Open domain Question Answering System - Research project in NLP
Open domain  Question Answering System - Research project in NLPOpen domain  Question Answering System - Research project in NLP
Open domain Question Answering System - Research project in NLP
 
Natural language processing and transformer models
Natural language processing and transformer modelsNatural language processing and transformer models
Natural language processing and transformer models
 

Viewers also liked

Viewers also liked (15)

Lect 2 prolog
Lect 2 prologLect 2 prolog
Lect 2 prolog
 
Lect 1 intro
Lect 1 introLect 1 intro
Lect 1 intro
 
Lect ai 2 nn
Lect ai 2 nnLect ai 2 nn
Lect ai 2 nn
 
Lect 3 4 prolog
Lect 3 4 prologLect 3 4 prolog
Lect 3 4 prolog
 
Lect аі 2 n net p2
Lect аі 2 n net p2Lect аі 2 n net p2
Lect аі 2 n net p2
 
Sql global
Sql globalSql global
Sql global
 
Lect 6 prolog
Lect 6 prologLect 6 prolog
Lect 6 prolog
 
Lect 5 prolog
Lect 5 prologLect 5 prolog
Lect 5 prolog
 
Sql db
Sql dbSql db
Sql db
 
Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)
 
Pandas: обзор основных функций
Pandas: обзор основных функцийPandas: обзор основных функций
Pandas: обзор основных функций
 
TUYỂN TẬP 19 ĐỀ THI HỌC KÌ 1 MÔN TOÁN LỚP 4
TUYỂN TẬP 19 ĐỀ THI HỌC KÌ 1 MÔN TOÁN LỚP 4TUYỂN TẬP 19 ĐỀ THI HỌC KÌ 1 MÔN TOÁN LỚP 4
TUYỂN TẬP 19 ĐỀ THI HỌC KÌ 1 MÔN TOÁN LỚP 4
 
ÔN TẬP CÁC DẠNG TOÁN LỚP 2 QUA 180 BÀI TOÁN + 5 ĐỀ TL
ÔN TẬP CÁC DẠNG TOÁN LỚP 2 QUA 180 BÀI TOÁN + 5 ĐỀ TLÔN TẬP CÁC DẠNG TOÁN LỚP 2 QUA 180 BÀI TOÁN + 5 ĐỀ TL
ÔN TẬP CÁC DẠNG TOÁN LỚP 2 QUA 180 BÀI TOÁN + 5 ĐỀ TL
 
70 bài toán tiểu học chọn lọc (Có lời giải hướng dẫn chi tiết)
70 bài toán tiểu học chọn lọc (Có lời giải hướng dẫn chi tiết)70 bài toán tiểu học chọn lọc (Có lời giải hướng dẫn chi tiết)
70 bài toán tiểu học chọn lọc (Có lời giải hướng dẫn chi tiết)
 
50 ĐỀ KIỂM TRA MÔN TOÁN HKII LỚP 2
50 ĐỀ KIỂM TRA MÔN TOÁN HKII LỚP 250 ĐỀ KIỂM TRA MÔN TOÁN HKII LỚP 2
50 ĐỀ KIỂM TRA MÔN TOÁN HKII LỚP 2
 

More from Halyna Melnyk (8)

Sql pl
Sql plSql pl
Sql pl
 
Sql granting
Sql grantingSql granting
Sql granting
 
Sql view
Sql viewSql view
Sql view
 
Sql select 3
Sql select 3Sql select 3
Sql select 3
 
Sql select 2
Sql select 2Sql select 2
Sql select 2
 
Sql select 1
Sql select 1Sql select 1
Sql select 1
 
Sql dml
Sql dmlSql dml
Sql dml
 
Sql ddl
Sql ddlSql ddl
Sql ddl
 

Recently uploaded

Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»tetiana1958
 
О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяAdriana Himinets
 
Автомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptxАвтомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptxvitalina6709
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfssuser54595a
 

Recently uploaded (6)

Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
 
О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. Біографія
 
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
 
Автомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptxАвтомат.звука с.інтегровані ігри для дітейpptx
Автомат.звука с.інтегровані ігри для дітейpptx
 
Її величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptxЇї величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptx
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
 

Lect ai 3 ga

  • 1. Генетичні алгоритми та їх застосування Логічні алгоритми і системи штучного інтелекту Лекція 10 http://boxcar2d.com/
  • 2. Ідея  Думай про успішне покоління
  • 3. Ідея  Еволюціонуй в гармонії з довкіллям Super-fit
  • 4. Для чого генетичні алгоритми?  Генетичні алгоритми застосовуються для рішення задач:  Оптимізація функцій  Різноманітні задачі на графах (задача комівояжера, розфарбування тощо)  Налагодження та навчання штучної нейронної мережі 13/05/2015 4 нейронної мережі  Складання розкладів  Ігрові стратегії  апроксимація функцій  штучне життя  біоінформатика
  • 5. Джерела  http://www.gotai.net/  http://neuronet.alo.ru/  http://www.neuroproject.ru/  Holland J. H. Adaptation in natural and artificial systems. An introductory analysis with application to biology, control, and artificial intelligence.— London: Bradford book edition, 1994 —211 p.  De Jong K.A. An analysis of the behavior of a class of genetic adaptive systems. Unpublished PhD thesis. University of Michigan, Ann Arbor, 1975. (Also University Microfilms No. 76-9381).  Darrel Whitley "A Genetic Algorithm Tutorial", 1993. 13/05/2015 5  Darrel Whitley "A Genetic Algorithm Tutorial", 1993.  Darrel Whitley, An Overview of Evolutionary Algorithms: Practical Issues and Common Pitfalls, Journal of Information and Software Technology, 2001.  Mitchell M. An Introduction to Genetic Algorithms. Cambridge, MA: The MIT Press, 1996.  David E. Goldberg, Kumara Sastry "A Practical Schema Theorem for Genetic Algorithm Design and Tuning", 2001.  Вороновский Г.К., Махотило К.В., Петрашев С.Н., Сергеев С.А., Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности, Харьков, ОСНОВА, 1997. – 112с.
  • 6. План 1. Генетичні алгоритми: основні поняття 2. Класичний генетичний алгоритм 3. Налаштування ГА Деякі моделі ГА 13/05/2015 6 4. Деякі моделі ГА 5. Приклади застосування ГА
  • 8. Теорія еволюції Дарвіна + генетика  Природній відбір  Схрещування  Мутація Sir Charles DarwinSir Charles Darwin 110011010000100111 010011010000100111 000010100111100110 010111110111110111 010011010000100111
  • 9. Нащадки мають комбіновані ознаки, успадковані від кожного Еволюція на генетичному рівні успадковані від кожного з батьків
  • 10. Еволюція на генетичному рівні Спостерігаються випадкові зміни Image adapted from http://www.wpdipart.com
  • 11. Еволюція на генетичному рівні  Хромосоми двох різних батьків  Хроматиди перетинаються в  Хроматиди перетинаються в “хіазмі”  Формуються рекомбіновані хромосоми  Далі передаються потомству   Генетичний кроссовер
  • 12. Еволюція на генетичному рівні A T T G C T C оригінал замінаA T A G C T C додавання знищення A T T G A C T C A T G C T C 
  • 13. Історія  1954: Перший опис комп’ютерної симуляції еволюції в роботі Nils Aall Barricelli в Institute of Advanced Study, Princeton.  1957: Fraser розробив перший генетичний алгоритм.  1960: John Holland запропонував власний підхід до ГА.  1966: Ідея ‘Evolutionary computation’, як розділу АІ вперше представлена Lawrence J. Fogel.  1975: John Holland публікує свою найвідомішу роботу «Adaptation in 13/05/2015 13  1975: John Holland публікує свою найвідомішу роботу «Adaptation in Natural and Artificial Systems». У ній він вперше ввів термін «генетичний алгоритм» і запропонував схему класичного генетичного алгоритму (canonical GA). Надалі поняття «генетичні алгоритми» стало дуже широким, і часто до них відносяться алгоритми, що сильно відрізняються від класичного ГА.  Учні Холланда - Кеннет Де Йонг (Kenneth De Jong) і Девід Голдберг (David E. Goldberg) – зробили величезний внесок у розвиток ГА. Найбільш відома робота Голдберга - «Genetic algorithms in search optimization and machine learning» (1989).
  • 14. Формальне визначення  Генетичний алгоритм (англ. genetic algorithm) — це еволюційний алгоритм пошуку, що використовується для вирішення задач оптимізації і моделювання шляхом послідовного підбору, комбінування і варіації шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію. 13/05/2015 14 біологічну еволюцію.  Поширення хороших характеристик покоління в наступному поколінні  Пошук найперспективніших напрямків в просторі рішень Яким чином?
  • 15. Основні поняття та терміни  Ген — атомарний елемент генотипу, зокрема, хромосоми. 13/05/2015 15  Хромосоми (ланцюжки або кодові послідовності) — це впорядковані послідовності генів.  Генотип — це набір хромосом даної особини. Отже, особинами популяції можуть бути генотипи або одиничні хромосоми (в досить поширеному випадку, коли генотип складається з однієї хромосоми).  Алель — це значення конкретного гена, також визначається як значення властивості або варіант властивості.
  • 16. Основні поняття та терміни  Особини, що входять в популяцію, у генетичних алгоритмах представляються хромосомами з закодованими в них множинами параметрів задачі, тобто рішень, які інакше називаються точками в просторі пошуку (search points). Особиною буде називатися рядок, що є конкатенацією рядків впорядкованого набору параметрів : 1010 10110 101 … 10101 | x1 | x2 | x3 | … | xn | 13/05/2015 16  Популяція — множина особин. ОсобинаПопуляція
  • 17.  Фенотип — це набір значень, які відповідають даному генотипу, тобто декодована структура або множина параметрів задачі (розв’язок, точка простору пошуку).  Функція пристосованості (fitness function, функція оцінки) свідчить про міру пристосованості даної особини в популяції. Ця функція Основні поняття та терміни про міру пристосованості даної особини в популяції. Ця функція дозволяє оцінити ступінь пристосованості конкретних особин у популяції і вибрати з них найбільш пристосовані (тобто мають найбільші значення функції пристосованості) відповідно з еволюційним принципом виживання «найсильніших» (які найкраще пристосувалися). 13/05/2015 17
  • 20. 2. КЛАСИЧНИЙ ГЕНЕТИЧНИЙ АЛГОРИТМ Individual (Chromosome) 13/05/2015 20
  • 21. Класичний генетичний алгоритм 1. ініціалізація, або вибір вихідної популяції хромосом; 2. оцінка пристосованості хромосом в популяції; 3. перевірка умови зупинки алгоритму; початок Ініціалізація – вибір вихідної популяції хромосом Оцінювання пристосованості хромосом в популяції 13/05/2015 21 4. селекція хромосом; 5. застосування генетичних операторів; 6. формування нової популяції; 7. вибір «найкращої» хромосоми. Умова закінчення виконана? Селекція хромосом Застосування генетичних операторів Створення нової популяції Вибір «найкращої» хромосоми кінець такні
  • 22. Генетичнийалгоритм Створення початкової популяції Кодування Застосування фітнес-функції Випадковим чином згенеровані особини • Генерація випадкового початкового стану – Перше покоління створюється з довільно вибраних рішень (хромосом). Генетичнийалгоритм Генетичні оператори Зупинка/ Перевірка результату Розкодування рішень (хромосом). – Це відрізняється від стандартних методів, коли початковий стан завжди один і той самий.
  • 23. Генетичнийалгоритм Створення початкової популяції Кодування Застосування фітнес-функції Бітові рядки (0101 ... 1100) Дійсні числа (43.2 - 33.1 ... 89.2) Перестановки елементів (E11 E3 E7 Генетичнийалгоритм Генетичні оператори Зупинка/ Перевірка результату Розкодування елементів (E11 E3 E7 ... E1 E15) Списки правил (R1 R2 R3 ... R22 R23)
  • 25.
  • 26.  Визначає придатність кожного представника популяції. Обчислення коефіцієнта пристосованності (fitness) Кожному рішенню (хромосомі) зіставляється певне Генетичнийалгоритм Створення початкової популяції Кодування Застосування фітнес-функції зіставляється певне чисельне значення, яке залежить від його близькості до відповіді.  Найпростішою фітнес-функцією може бути цільова функція. Генетичнийалгоритм Генетичні оператори Зупинка/ Перевірка результату Розкодування
  • 28. Генетичнийалгоритм Створення початкової популяції Кодування Застосування фтнес-функції Спадкування - Схрещування Мутація Генетичнийалгоритм Генетичні оператори Зупинка Розкодування
  • 29. Схрещування (crossover) (4, 3, 4, 3) (6, 1, 6, 5)(4, 3, 4, 3) (6, 1, 6, 5) (6, 3, 4, 5) (6, 3, 6, 3) (4, 1, 4, 3)
  • 31.
  • 32. Схрещування  Особини проміжної популяції випадковим чином розбиваються на пари, які з деякою вірогідністю  схрещуються, в результаті чого виходять два нащадка, які записуються в нове покоління  не схрещуються, тоді в нове покоління записується сама пара У класичному ГА застосовується одноточковий оператор 13/05/2015 32  У класичному ГА застосовується одноточковий оператор кросовера (1-point crossover): для батьківських рядків випадковим чином вибирається точка розділу, нащадки виходять шляхом обміну відрубаними частинами. 011010.01010001101 => 111100.01010001101 111100.10011101001 => 011010.10011101001
  • 33. Мутація (mutation) (2, 2, 3, 5) (7, 2, 3, 5)
  • 35. Мутація  До отриманого в результаті відбору і схрещування нового покоління застосовується оператор мутації, необхідний для "вибивання" популяції з локального екстремуму та сприяє захисту від передчасної збіжності. 13/05/2015 35  Хоча б один біт кожної особини популяції з деякою малою ймовірністю (зазвичай менше 1%) інвертується 1110001010110 -> 1110001110110
  • 37. Критерії зупинки  Критерієм зупинки може служити задана кількість поколінь або сходження (convergence) популяції.  Сходженням називається стан популяції, коли всі рядки знаходяться в області деякого екстремуму і майже однакові. 13/05/2015 37 однакові.  Таким чином, сходження популяції означає, що досягнуто рішення близьке до оптимального.  Підсумковим рішенням завдання може служити найбільш пристосована особина останнього покоління.
  • 40. Генетичнийалгоритм Створення початкової популяції Кодування Застосування фітнес-функції Відбір Схрещування Мутація Відтворення Генетичнийалгоритм Генетичні оператори Зупинка Розкодування Відтворення Хромосоми, що мають високий рівень пристасованості (fitness), потрапляють до нащадків (які потім можуть мутувати) з більшою ймовірністю. Нащадок, результат злиття 'батька' і 'матері', є комбінацією їх генів. Цей процес називається 'кроссінговер' (crossing over).
  • 41. Відбір  Відбір та схрещування: 13/05/2015 41  Проміжна популяція - набір особин, які отримали право розмножуватися.  У класичному ГА ймовірність кожної особини потрапити в проміжну популяцію пропорційна її пристосованості, тобто працює пропорційний відбір (proportional selection).
  • 42. Пропорційний відбір  Існує кілька способів реалізації пропорційного відбору:  stochastic sampling. Особини розташовуються на колесі рулетки так, що розмір сектора кожної особини пропорційний її пристосованості. N раз запускаючи рулетку, вибираємо необхідну … 4 2 1 3 13/05/2015 42 рулетку, вибираємо необхідну кількість особин для запису в проміжну популяцію.  remainder stochastic sampling. Особини розташовуються на рулетці так само, як і раніше. Але тепер у рулетки не одна стрілка, а N, причому вони відсікають однакові сектора. За один запуск рулетки вибираємо відразу всі N особин. N
  • 43. Колесо рулетки (Roulette Wheel) 1/6 = 17% B A C 3/6 = 50% B 2/6 = 33% fitness(A) = 3 fitness(B) = 1 fitness(C) = 2
  • 44. Max x2 over {0,1,…,31} (Відбір)
  • 45. Max x2 over {0,1,…,31} (Схрещування)
  • 46. Max x2 over {0,1,…,31} (Мутація)
  • 47. Приклад 1 Задача оптимізації функції f(х) = 2х2 +1, х з [0, 15]. Фенотип: {0,1,..., 15} — простір пошуку та одночасно множина потенціальних розв’язків задачі. Кодування параметра х від 0 до 15: 0 1 ген 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 13/05/2015 47 0 1 15 аллель хромосоми
  • 48. Приклад 2 Знайти хромосоми з максимальною кількістю одиниць. Припустимо, що хромосоми складаються з 12 генів, а популяція налічує 8 хромосом.  Ініціалізація, або вибір вихідної популяції хромосом. Необхідно випадковим чином згенерувати 8 двійкових послідовностейвипадковим чином згенерувати 8 двійкових послідовностей довжиною 12 бітів (вихідна популяція) ch1 = [111001100101] ch5 = [010001100100] ch2= [001100111010] ch6 = [010011000101] ch3 = [011101110011] ch7 = [101011011011] ch4 = [001000101000] ch8 = [000010111100] 13/05/2015 48
  • 49. Приклад 2  Оцінка пристосованості хромосом в популяції. Вирішується задача знаходження такої хромосоми, яка містить найбільшу кількість одиниць. Тому функція пристосованості визначає кількість одиниць у хромосомі.  Позначимо функцію пристосованості символом F. Тоді її значення для кожної хромосоми з вихідної популяції будуть такі: F(ch1) = 7 F(ch5)= 4 F(ch2) = 6 F(ch6) = 5 F(ch3) = 8 F(ch7) = 8 F(ch4) = 3 F(ch8) = 5F(ch3) = 8 F(ch7) = 8 F(ch4) = 3 F(ch8) = 5 Хромосоми ch3 і ch7 характеризуються найбільшими значеннями функції приналежності. У цій популяції вони вважаються найкращими кандидатами на рішення задачі. Якщо згідно з блок-схемою генетичного алгоритму умова зупинки алгоритму не виконується, то на наступному кроці проводиться селекція хромосом з поточної популяції. 13/05/2015 49
  • 50. Приклад 2  Селекція хромосом. Селекція проводиться методом рулетки. Для кожної з 8 хромосом поточної популяції (у нашому випадку — вихідної популяції, для якої N = 8) отримуємо сектори колеса рулетки: v(ch1) = 15,22 v(ch2) = 13,04 v(ch3) = 17,39 v(ch4) =6,52 v(ch5) =8,70 v(ch6) = 10,87 v(ch7) = 17,39 v(ch8) = 10,87 Розіграш за допомогою колеса рулетки зводиться до випадкового вибору числа з 13/05/2015 50 зводиться до випадкового вибору числа з інтервалу [0, 100], що вказує на відповідний сектор на колесі, тобто на конкретну хромосому. Припустимо, що розіграні наступні 8 чисел: 79 44 9 74 44 86 48 23 Це означає вибір хромосом ch7 ch3 ch1 ch7 ch3 ch7 ch4 ch2 Всі вибрані таким чином хромосоми включаються в батьківський пул. v(ch1) 15,22 v(ch2) 13,04 v(ch3) 17,39 v(ch4) 6,52 v(ch5) 8,7 v(ch6) 10,87 v(ch7) 17,39 v(ch8) 10,87
  • 51. Приклад 2  Застосування генетичних операторів. Припустимо, що ні одна з відібраних у процесі селекції хромосом не піддається мутації, і всі вони складають популяцію хромосом, призначених для схрещування.  Це означає, що ймовірність схрещування Pс = 1, а ймовірність мутації рm = 0. Припустимо, що з цих хромосом випадковим чином сформовані пари батьків ch2 і ch7 ch1 і ch7 ch3 і ch4 ch3 і ch7 Точки схрещування: 13/05/2015 51 першої пари lk = 4, другої lk = 3, третьої lk = 11, четвертої lk = 5. В результаті виконання оператора схрещування виходять 4 пари нащадків.
  • 52. Приклад 2  Формування нової популяції. Після виконання операції схрещування отримуємо наступну популяцію нащадків: Ch1 = [001111011011] Ch5 = [011101110010] Ch2 = [101000111010] Ch6 = [001000101001] Ch3 = [111011011011] Ch7 = [011101011011] 13/05/2015 52 Ch7 = [011101011011] Ch4 = [101001100101] Ch8 = [101011110011] В результаті схрещування отримана хромосома Ch3 з найбільшим значенням функції пристосованості, яким не володіла ні одна хромосома з батьківського популяції. Провадиться повернення до другого етапу, тобто до оцінки пристосованості хромосом з новосформованої популяції, яка стає поточною. Значення функцій пристосованості хромосом цієї популяції складають: F(Ch1) = 8 F(Ch5) = 7 F(Ch2) = 6 F(Ch6) = 4 F(Ch3) = 9 F(Ch7) = 8 F(Ch4) = 6 F(Ch8) = 8
  • 53.  Знайти максимум функції , х приймає тількі цілі значення  Побудовані хромосоми складаються з 4-х генів: Integer Binary code Integer Binary code Integer Binary code Приклад 3. 2 ( ) 15 , [0,15]f x x x x   Integer Binary code Integer Binary code Integer Binary code 1 11 2 7 12 3 8 13 4 9 14 5 10 15 6 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1
  • 54. Chromosome label Chromosome string Decoded intege r Chromosome fitnes s Fitnes s ratio, % X 1 1 1 0 0 12 36 16.5 X 2 0 1 0 0 4 44 20.2 X 3 0 0 0 1 1 14 6.4 X 4 1 1 1 0 14 14 6.4 X 5 0 1 1 1 7 56 25.7 X 6 1 0 0 1 9 54 24.8 60 f(x) 60 Приклад 3. x 50 40 30 20 60 10 0 0 5 10 15 f(x) (a) Chromosome initial locations. x 50 40 30 20 60 10 0 0 5 10 15 (b) Chromosome final locations.
  • 55.  Вибір хромосом для формування пар з використанням roulette wheel selection. 100 0 75.2 X1: 16.5% X2: 20.2% X3: 6.4% Приклад 3. 36.7 43.149.5 75.2 X3: 6.4% X4: 6.4% X5: 25.3% X6: 24.8%
  • 56. X6i 1 00 0 01 0 X2i0 1 0 0 Crossover operatorCrossover operator Приклад 3. 0 01 0X2i 0 11 1 X5i 0X1i 0 11 1 X5i1 01 0 11 1 01 0
  • 57. X 6' i 1 00 0 01 0X 2' i 0 1 0 0 1 1 1 X 1" i1 10X 1' i 1 1 1 Приклад 3. 0 11 1X 5' i 01 0 0 1 111X 5 i X 2" i0 1 00 1 0X 2 i Mutation operatorMutation operator
  • 58. 1 01 0X 1 i G ene r ation i 0 01 0X 2 i 0 00 1X 3 i 1 11 0X 4 i 0 11 1X 5 i f = 5 6 1 00 1X 6 i f = 5 4 f = 3 6 f = 4 4 f = 1 4 f = 1 4 C ro s so ve r X 6 i 1 00 0 01 0 X 2 i 0 01 0X 2 i 0 11 1 X 5 i 0X 1 i 0 11 1 X 5 i1 01 0 0 1 0 0 11 1 01 0 Приклад 3. 1 00 1i f = 5 4 1 00 0X 1 i +1 G ene r ation ( i + 1 ) 0 01 1X 2 i +1 1 10 1X 3 i +1 0 01 0X 4 i +1 0 11 0X 5 i +1 f = 5 4 0 11 1X 6 i +1 f = 5 6 f = 5 6 f = 5 0 f = 4 4 f = 4 4 0 01 0X 2 i 0 11 1 X 5 i M uta ti on 0 11 1X 5 'i 01 0 X 6 'i 1 00 0 01 0X 2 'i 0 1 0 0 0 1 111X 5i 1 1 1 X 1 "i1 1 X 2 "i0 1 0 0X 1 'i 1 1 1 0 1 0X 2i
  • 59. + Проста реалізація  Вирішує широкий клас задач − • Складність фітнес- функції • Проблема локального оптимумуоптимуму
  • 61. Налаштування ГА  Генетичний алгоритм виконує пошук рішень з допомогою:  відбору гіперплощин (hyperplane sampling) шляхом кроссовера  методу hill-climbing шляхом мутації  Дослідження показали, що на простих задачах з малим розміром популяції ГА з мутацією (і без кросовера) знаходять рішення швидше, а на складних багатоекстремальних функціях краще використовувати ГА з кросовером, оскільки цей метод більш надійний. 13/05/2015 61 надійний.  З точки зору теореми шаблонів, мутація тільки шкодить зростанню кількості представників хороших шаблонів, зайвий раз руйнуючи їх.  Але мутація необхідна для ГА з малим розміром популяції, тому що для них властива передчасна збіжність (premature convergence) - ситуація, коли в деяких позиціях всі особини мають один і той же біт, не відповідний глобальному екстремуму.
  • 62. Налаштування ГА  Тиск відбору (selection pressure) - міра того, наскільки різняться шанси кращої і гіршої особин популяції потрапити в проміжну популяцію. Для пропорційного відбору ця величина із збільшенням середньої пристосованості популяції зменшується, прямуючи до 1.  Для ефективної роботи генетичного алгоритму необхідно підтримувати тонку рівновагу між дослідженням і використанням :  При збільшенні вірогідності схрещування або мутації і зменшенні тиску відбору (за рахунок використання інших стратегій відбору) розмноження представників 13/05/2015 62 рахунок використання інших стратегій відбору) розмноження представників пристосованих шаблонів сповільнюється, але зате відбувається інтенсивний пошук інших шаблонів.  Зменшення ймовірностей схрещування або мутації і збільшення тиску відбору веде до інтенсивного використання знайдених хороших шаблонів, але менше уваги приділяється пошуку нових.  Необхідність збалансованої збіжності ГА:  швидка збіжність може призвести до неоптимального рішення  повільна збіжність часто призводить до втрати знайденої найкращої особини.  Методологія управління збіжністю класичного ГА досі не вироблена.
  • 63. Алфавіт  Кодування бінарним алфавітом:  забезпечує кращий пошук за допомогою гіперплощин, оскільки надає максимальну їх кількість.  для можливості зустріти кожний символ у кожній позиції потрібно менший розмір популяції  Навіть для двох рядків, є ймовірність, що на кожній позиції в популяції є і 0, і 1. Якщо ж алфавіт більшої потужності, то до 13/05/2015 63 популяції є і 0, і 1. Якщо ж алфавіт більшої потужності, то до застосування мутації більша частина простору пошуку буде недоступна з точки зору кросовера, після застосування мутації стане недоступна інша частина.  Однак небінарні алфавіти часто забезпечують більш наочне представлення рішень задачі.
  • 64. Кодування параметрів  Бінарне кодування додає додаткові розриви, що ускладнює пошук. Наприклад, числа 7 і 8 розрізняються на 4 біти  Для більшості функцій ГА будуть працювати краще при кодуванні параметрів кодом Грея.  Приклад: нехай потрібно мінімізувати функцію Якщо в початковій популяції переважали хороші від’ємні 2 x)x(f  13/05/2015 64  Якщо в початковій популяції переважали хороші від’ємні рішення, то швидше за все ми прийдемо до розв’язку - 1 = 11 ... 1. Але досягти глобального мінімуму 00 ... 0 буде практично неможливо, оскільки зміна будь-якого біта буде призводити до погіршення рішення. При кодуванні кодом Грея такої проблеми не виникає.  Іноді застосовується кодування з плаваючою точкою, яке теж є більш вдалим, ніж пряме бінарне.
  • 65. Стратегії відбору  Ранковий відбір (rank selection): для кожної особини її ймовірність потрапити в проміжну популяцію пропорційна її порядковому номеру у відсортованій за зростанням пристосованості популяції. Такий вид відбору не залежить від середньої пристосованості популяції.  Турнірний відбір (tournament selection): з популяції випадковим чином вибирається t особин, і найкраща з них поміщається в 13/05/2015 65 чином вибирається t особин, і найкраща з них поміщається в проміжну популяцію. Цей процес повторюється N раз, поки проміжну популяцію не буде заповнено. Найбільш поширений варіант при t = 2. Турнірний відбір є більш агресивним, ніж пропорційний.  Відбір усіканням (truncation selection): популяція сортується за пристосованістю, потім береться задана частка кращих, і з них випадковим чином N раз вибирається особина для подальшого розвитку.
  • 66. Кросовер  Двоточковий кросовер: вибираються 2 точки розділу, і батьки обмінюються ділянками між собою:  При цьому визначальна довжина вимірюється в кільці - для шаблону 1 ***** 1 при двоточковому кросовері вона дорівнюватиме 1, хоча при одноточковому була 6.  Однорідний кросовер: один з дітей успадковує кожен біт з ймовірністю у першогоp 13/05/2015 66 один з дітей успадковує кожен біт з ймовірністю у першого батька і з (1 - ) у другого, друга дитина одержує не успадковані першою біти. Зазвичай = 0.5.  при малому розмірі популяції однорідний кросовер перешкоджає передчасному сходженню. 0p 0p 0p
  • 67. Стратегії формування нового покоління  Два основних типи формування нового покоління після кросовера і мутації:  діти заміщають батьків  нове покоління складається із сукупності дітей та їх батьків  Також застосовується принцип елітизму: в нове покоління включається задана кількість кращих особин попереднього покоління (часто одна краща особина). 13/05/2015 67 покоління (часто одна краща особина).  Використання другої стратегії та елітизму не допускає втрати кращих рішень.  Приміром, якщо популяція зійшлася в локальному максимумі, а мутація вивела один з рядків в область глобального, то при заміщенні батьків досить імовірно, що ця особина в результаті схрещування буде втрачена, і рішення задачі не буде отримано. Якщо ж використовується елітизм, то отримане хороше рішення буде залишатися в популяції до тих пір, поки не буде знайдене краще.
  • 68. Шаблон (schema, «шима»)  Шаблоном (schema) називається рядок довжини L з символів 0, 1 і * («don't care» символ). Рядок є представником даного шаблону, якщо всі символи крім * збігаються. Наприклад, у шаблона 1 * 0 * 0 є 4 представника :  10000  10010  11000 11010 13/05/2015 68  11010  Порядком шаблона називається кількість фіксованих в ньому бітів.  Визначальною довжиною. шаблону називається відстань між його крайніми фіксованими бітами  Наприклад, для шаблона H = *0**10*:  порядок o(H) =  визначальна довжина Δ(H) = 3 5
  • 69. Шаблони  Пристосованістю шаблону називається середня пристосованість рядків з популяції, які є його представниками.  Залежить від популяції, і тому змінюється з часом.  Хоча зовні здається, що ГА обробляє рядки, насправді при цьому неявно відбувається обробка шим, які представляють шаблони подібності між рядками (Goldberg, 1989; Голланд, 1992). 13/05/2015 69 Голланд, 1992).  ГА практично не може займатися повним перебором всіх точок у просторі пошуку. Однак він може виробляти вибірку значного числа гіперплощин в областях пошуку з високою пристосованістю. Кожна така гіперплощина відповідає множині схожих рядків із високою пристосованістю.
  • 70. Теорема шаблонів  Теорема шаблонів (Schema Theorem) — перша теорема, яка обгрунтовувала ефективність генетичних алгоритмів. Запропонована Джоном Г. Голландом.  Ця теорема пояснює, чому для певних задач певний клас генетичних алгоритмів є ефективним. У даний момент відомо декілька теорем шим, які обгрунтовують ефективність інших класів алгоритмів, зокрема теореми схем для генетичного програмування.    o(H)p-1  f(t) f(H, t)   P(H, t) 1 -  1)-(L  (H)  p-1 f(t) f(H, t)   P(H, t)  1) P(H, t  mс                   13/05/2015 70 де f(H, t) — пристосованість шаблона H в поколінні t, <f(t)> — середня пристосовність покоління t, P(H, t) — частка представників шаблону H в поколінні t.  Отриманий вираз не надто вдалий для аналізу роботи генетичного алгоритму, тому що в ньому присутній знак нерівності.  Пристосованість шаблону і середня пристосованість популяції швидко змінюються від покоління до покоління, тому отримана нерівність добре описує ситуацію тільки для наступного покоління.    o(H)p-1  f(t)  P(H, t) 1 -  1)-(L  p-1 f(t)  P(H, t)  1) P(H, t  mс          
  • 71. Приклад 4. Розв'язання Діофантового рівняння (тільки цілі рішення) Розглянемо діофантовe рівняння: a+2b+3c+ 4d = 30, де a, b, c і d - деякі додатні цілі числа. Для початку виберемо 5 випадкових рішень. Хромосома (a,b,c,d) Щоб обчислити коефіцієнти пристосованості (fitness), підставимо кожне рішення у вираз a+2b+3c+4d. Відстань від отриманого значення до 30 і буде потрібним значенням. 13/05/2015 71 Хромосома (a,b,c,d) 1 (1,28,15,3) 2 (14,9,2,4) 3 (13,5,7,3) 4 (23,8,16,19) 5 (9,13,5,2) Таб.1: 1-е покоління хромосом і їх вміст Хромосома Коефіцієнт пристосованості 1 |114-30|=84 2 |54-30|=24 3 |56-30|=26 4 |163-30|=133 5 |58-30|=28 Таб.2: Коефіцієнти пристосованості першого покоління хромосом (набору рішень) Так як менші значення ближче до 30 – пристосованості, то вони більш бажані.
  • 72. Приклад 4. Розв'язання Діофантового рівняння Щоб створити систему, де хромосоми з більш придатними значеннями мають великі шанси опинитися батьками, ми повинні обчислити, з якою вірогідністю (у %) може бути обрана кожна. Хромосома Відповідність 1 8.80% 2 30.8% 3 28.4% 4 5.56% Хромосома батька Хромосома матері 3 1 5 2 3 5 13/05/2015 72 Таб.3: Імовірність виявитися батьком Таб.4: Симуляція вибору батьків Для вибору 5-ти пар батьків (кожна з яких буде мати 1 нащадка, всього - 5 нових рішень), уявімо, що у нас є 10000-стороння гральна кістка, на 880 сторонах відзначена хромосома 1, на 3080 - хромосома 2, на 2640 сторонах - хромосома 3, на 556 - хромосома 4 і на 2640 сторонах відзначена хромосома 5. Щоб вибрати першу пару кидаємо кістку двічі і вибираємо хромосоми, що випали . Таким же чином вибираючи інших, отримуємо таб.4 4 5.56% 5 26.4% 2 5 5 3
  • 73. Приклад 4. Розв'язання Діофантового рівняння "Кроссовер" (cross-over). Нехай мати містить наступний набір рішень: a1, b1, c1, d1, батько - a2, b2, c2, d2, тоді можливо 6 різних кросоверів (таб.5): Є досить багато шляхів передачі інформації нащадкові, і кросовер - тільки один з них. Розташування роздільника може бути абсолютно довільним, як і Хромосома-батько Хромосома-матір Хромосома-нащадок a1 | b1,c1,d1 a2 | b2,c2,d2 a1,b2,c2,d2 or a2,b1,c1,d1 a1,b1 | c1,d1 a2,b2 | c2,d2 a1,b1,c2,d2 or a2,b2,c1,d1 13/05/2015 73 Таб. 5: Кроссовери між батьками Таб.6: Симуляція кроссоверів хромосом батьків абсолютно довільним, як і те, батько чи мати будуть ліворуч від роздільника. a2,b2,c1,d1 a1,b1,c1 | d1 a2,b2,c2 | d2 a1,b1,c1,d2 or a2,b2,c2,d1 Хромосома-батько Хромосома-матір Хромосома-нащадок (13 | 5,7,3) (1 | 28,15,3) (13,28,15,3) (9,13 | 5,2) (14,9 | 2,4) (9,13,2,4) (13,5,7 | 3) (9,13,5 | 2) (13,5,7,2) (14 | 9,2,4) (9 | 13,5,2) (14,13,5,2) (13,5 | 7, 3) (9,13 | 5, 2) (13,5,5,2)
  • 74. Приклад 4. Розв'язання Діофантового рівняння Тепер ми можемо обчислити коефіцієнти пристосованості (fitness) нащадків. …рекомендовано мутацію Хромосома- нащадок Коефіцієнт пристосованості (13,28,15,3) |126-30|=96 (9,13,2,4) |57-30|=27 (13,5,7,2) |57-30|=22 (14,13,5,2) |63-30|=33 13/05/2015 74 (13,5,5,2) |46-30|=16
  • 75. 4. Деякі моделі генетичних алгоритмів 13/05/2015 75
  • 76. Деякі моделі ГА Genitor (Whitley)  У даній моделі використовується специфічна стратегія відбору. На кожному кроці тільки одна пара випадкових батьків створює тільки одну 13/05/2015 76 випадкових батьків створює тільки одну дитину. Ця дитина замінює не батьків, а одну з найгірших особин популяції.  Таким чином, на кожному кроці в популяції оновлюється лише одна особина.  Збіжність швидше, ніж у класичного ГА.
  • 77. Деякі моделі ГА  Для нового покоління вибираються N найкращих різних особин серед батьків і дітей. Дублювання рядків не допускається.  Для схрещування всі особини розбиваються на пари, але схрещуються тільки ті пари, між якими відстань Хеммінга більше деякої порогової CHC (Eshelman) – Cross generational elitist selection, Heterogenous recombination, Cataclysmic mutation. 13/05/2015 77 тільки ті пари, між якими відстань Хеммінга більше деякої порогової (також можливі обмеження на мінімальну відстань між крайніми відмінними бітами).  При схрещуванні використовується так званий HUX-оператор (Half Uniform Crossover), різновид однорідного кросовера - кожному нащадку переходить рівно половина бітів кожного з батьків.  Розмір популяції слабкий. Цим виправдане використання однорідного кросовера.  Даний алгоритм досить швидко збіжний через те, що в ньому немає мутацій.
  • 78. Деякі моделі ГА Hybrid algorithm (Davis)  Генетичні алгоритми є робастними алгоритмами, тобто дозволяють знаходити хороше рішення, але знаходження оптимального найчастіше виявляється набагато більш важким завданням в силу стохастичності принципів роботи алгоритму. Тому виникла ідея використовувати ГА на початковому етапі для ефективного 13/05/2015 78 виникла ідея використовувати ГА на початковому етапі для ефективного звуження простору пошуку навколо глобального екстремуму, а потім, взявши кращу особину, застосувати один з "класичних" методів оптимізації.
  • 79. Деякі моделі ГА Island Models (Острівна модель, island model) — модель паралельного генетичного алгоритму.  Розіб'ємо популяцію на кілька подпопуляцій. Кожна з них буде розвиватися окремо за допомогою деякого ГА. Таким чином, можна сказати, що ми розселили особини на кількох ізольованих островах.  Зрідка (наприклад, кожні 5 поколінь) відбувається міграція - острови обмінюються кількома хорошими особинами. 13/05/2015 79  Так як населеність островів невелика, то підпопуляціі будуть схильні до передчасної збіжності. Тому важливо правильно встановити частоту міграції:  надто часта міграція (або міграція занадто великої кількості особин) призведе до змішування всіх підпопуляцій, і тоді острівна модель буде несильно відрізнятися від звичайного ГА  якщо міграція буде занадто рідкою, то вона не зможе запобігти передчасній збіжності підпопуляцій  ГА стохастичні, тому при різних їх запусках популяція може сходитися до різних хороших рішень. Острівна модель дозволяє запустити алгоритм відразу кілька разів і поєднати «досягнення» різних островів для отримання найкращого рішення.
  • 80. Висновки  Генетичні алгоритми є універсальним методом оптимізації багатопараметричних функцій, що дозволяє вирішувати широкий спектр завдань.  Генетичні алгоритми мають безліч модифікацій і сильно залежать від параметрів. Найчастіше невелика зміна одного з них може призвести до 13/05/2015 80 невелика зміна одного з них може призвести до несподіваного поліпшення результату.  Слід пам'ятати, що застосування ГА корисно лише в тих випадках, коли для даної задачі немає відповідного спеціального алгоритму рішення.
  • 82. Приклад 1. Пошук мінімуму функції (MATLAB) Розв’язок: 4 4.5 GA: Fmin=1.7991 @ x~4.3 4 3 2 3 ( ) 2 3 4 5 / , [2,17] log( ) x f x x x x x x x            Розв’язок: Точність: 1/1024 Fmin=1.7791 при x=4.3 (almost) 2 4 6 8 10 12 14 16 18 1.5 2 2.5 3 3.5 x F(x)
  • 83. Приклад 1. Пошук мінімуму функції (MATLAB)
  • 84.  Нехай F=F(X1,X2,X3……Xn), необхідно знайти Fmax та Fmin.  Спершу потрібно задати код для x1,x2,x3… Xn, а потім з’єднати їх для визначення Приклад 1. Пошук мінімуму функції (MATLAB) для багатьох змінних Xn, а потім з’єднати їх для визначення хромосоми та розв’язку у вигляді (x1,x2,…Xn).  Далі діяти за описаним вище.
  • 85. Приклад 1. Пошук мінімуму функції MATLAB:GATOOL>>optimumtool(‘ga’))(MATLAB:GATOOL>>optimumtool(‘ga’)
  • 86.
  • 87.  Розмір популяції: 20-100 залежить від задачі.  Cross-Over імовірність: 0.6-0.9 оптимально~0.7 .  Mutation імовірність: Mutation імовірність: як можна менша, 0.1-0.01 etc.  Покоління: Типово від 50 до 100 дають гарний результат. Roulette-wheeler selection використовався у прикладі
  • 88. Приклад 2. Задача коммівояжера Travelling salesman problem
  • 89. Початкові дані та результат Початкові дані Результат
  • 90. Кодування рішень 1 3 2 (1, 3, 5, 6, 2, 4, 7) 1 3 2 4 6 5 4 6 5 7
  • 91. Ініціалізація (1, 3, 5, 6, 2, 4, 7) Розмір важливий!1 3 4 2 6 5 7 1 3 2 (5, 7, 3, 6, 1, 4, 2) (7, 4, 2, 3, 6, 5, 1) 3 4 2 6 5 7 1 3 4 2 6 5 7
  • 92. Order Crossover (A, B, C, G, H, B, D, E) & (H, D, E, F, G, C, B, A) Предок 1: (ABC|GHB|DE) Результат: (…|GHB|..)Предок 1: (ABC|GHB|DE) Результат: (…|GHB|..) Предок 2: (HDE|FGC|BA) Результат: (EFC|GHB|AD)
  • 93. Partially Matched Crossover (F, B, C, A, H, G, D, E) & (A, B, C, D, E, F, G, H) Предок 1: (FBC|AHG|DE) Результат: (…|AHG|..) • Беремо в другому батьку три гена починаючи з позиції 4: FGC • Розставляємо їх в позиції, що відповідають позиціям AHG в другому батьку Предок 2: (ABC|DEF|GH) Результат: (D..|AHG|FE) • Решта додаються в тому ж порядку, в якому вони знаходяться в другому батьку Предок 2: (ABC|DEF|GH) Результат: (DBC|AHG|FE)
  • 94. Cycle crossover (F, B, C, A, H, G, D, E) & (A, B, C, D, E, F, G, H) Батько 1: (F, B, C, A, H, G, D, E) Батько 2: (A, B, C, D, E, F, G, H)Батько 2: (A, B, C, D, E, F, G, H) Результат : (F, B, C, A, E, G, D, H)
  • 95. Yet another crossover (1, 3, 5, 7, 8, 6, 2, 4)(4, 5, 8, 1, 6, 3, 7, 2) (1, 3, 5, 7, 4, 8, 6, 2)
  • 96. Simple mutation 1 3 2 1 3 2 4 6 5 (1, 3, 5, 6, 2, 4, 7)(1, 4, 5, 6, 2, 3, 7) 7 4 2 6 5 7
  • 97. Mutation by 2opt 1 3 4 2 6 1 3 4 2 6 (1, 3, 5, 7, 8, 6, 2, 4) 6 5 7 (1, 3, 6, 8, 7, 5, 2, 4) 8 5 7 8
  • 98. Приклад 3. Genetic Car Компоненти - Представлення Фенотип Генотип Рамка: 16 параметрівРамка: 16 параметрів 3 колеса: 9 параметрів “DNA” рядок - 25 значень 8.7 4.7 9.5 5.9 6.2 1.3 … 9.3 1.0 8.7 3.8 1.7
  • 100. Компоненти - Fitness функція Пройдена дистанція
  • 101. Компонент – механізм вибору батьків 0,1 0,5 0,4 0,1 Імовірність репродукції
  • 102. Компонент – застосування операторів Частина Parent1 + Частина Parent2 + мутаціяЧастина Parent1 + Частина Parent2 + мутація 8.7 4.7 9.5 5.9 6.2 1.3 1.8 … 1.0 8.7 3.8 1.7 8.5 9.1 0.1 3.5 8.0 1.5 2.2 … 1.6 5.5 2.8 4.5 8.7 4.7 3.4 5.9 6.2 1.7 2.2 … 1.6 5.5 2.8 4.5 Parent 1 Parent 2 Нащадок (+ мутація)
  • 103. Компонент – механізм вибору для подальшого спадкування