4 - Кафедра ПКИМС

advertisement
МИЭТ
Национальный исследовательский университет «МИЭТ»
Кафедра ПКИМС
Теория алгоритмов
Лекция 7
Алгоритмы решения сложных задач.
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Сложные задачи
Многокритериальные комбинаторные задачи
Многокритериальные оптимизационные задачи
Решение сложных систем уравнений, для решения
которых не разработаны численные методы
Слайд 2 из 26
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 3 из 26
Многокритериальные задачи: задача о рюкзаке
Характеристики:
• объём
• вес
• стоимость
• ...
Критерии отбора:
• максимально эффективно заполнить объём
при соблюдении требований по весу;
• максимально заполнить объём с
выполнением требования максимальной
стоимости
• ...
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 4 из 26
Многокритериальные задачи: задача коммивояжёра
Критерии:
• минимизация
стоимости
проезда;
• минимизация
затрачиваемого
времени;
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 5 из 26
Эвристические алгоритмы: генетический алгоритм
Генетический алгоритм – эвристический алгоритм
поиска, основанный на случайном подборе значений,
комбинировании значений и параметров с
использованием механизмов, имитирующих
эволюционные процессы.
Генетические алгоритмы могут эффективно
использоваться там, где обычным способом
решения может являться полный перебор.
Генетический алгоритм – «вероятностный» полный
перебор
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 6 из 26
Генетические алгоритмы: общие сведения
Хромосома – входные данные для алгоритма, набор
конкретных значений (численных - для решаемой задачи,
аналог приближения для итерационных методов в численных
методах), на основе которых определяется функционирование
особи (соответствие функции решению)
Скрещивание – получение особи (решения) на основе наборов
хромосом
Селекция – определение наиболее приспособленных особей и
отбор их хромосом для дальнейшей эволюции
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Генетические алгоритмы: общие сведения
Кроссовер – перемешивание генов родителей для
получения генов потомков (комбинация хромосом с
учётом определённых правил, дающих новые
комбинации числовых значений)
Мутация – генерация хромосом не на основе
кроссовера, а на основе некоторых преобразований,
включая случайную генерацию значений.
Слайд 7 из 26
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Генетические алгоритмы: принцип эволюции
Выживать должны наиболее приспособленные
особи, имеющие лучший набор хромосом.
Следующее поколение должно наследовать
преимущественно лучшие гены.
Мутации позволяют приспосабливаться к
внешним и внутренним условиям.
Слайд 8 из 26
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 9 из 26
Генетические алгоритмы: блок-схема алгоритма
Выбор начальных
хромосом
Скрещивание
Оценка
выживаемости
Селекция
Кроссовер
Мутация
Фиксирование
решения
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 10 из 26
Диофантовы уравнения: выбор хромосом
Решаемое уравнение:
Выбор
начальных
хромосом
Скрещивание
Оценка
выживаемости
Выбор начальных хромосом
Селекция
Кроссовер
Номер
хромосомы
1
2
3
4
Значение
хромосомы
{ 1, 5, 2 }
{ 3, 6, 1 }
{ 4, 4, 4 }
{ 6, 2, 1 }
Мутация
Фиксирование
решения
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 11 из 26
Диофантовы уравнения: скрещивание
Решаемое уравнение:
Выбор
начальных
хромосом
Скрещивание
Хромосомы:
№
Значение
1
{ 1, 5, 2 }
2
{ 3, 6, 1 }
3
{ 4, 4, 4 }
4
{ 6, 2, 1 }
Оценка
выживаемости
Селекция
Кроссовер
Мутация
Решения:
№
1
2
3
4
Значение
{ 1, 5, 2 }
{ 3, 6, 1 }
{ 4, 4, 4 }
{ 6, 2, 1 }
Решение
2 + 20 – 6 = 16
6 + 24 – 3 = 27
8 + 16 – 12 = 12
12 + 8 – 3 = 17
Фиксирование
решения
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 12 из 26
Диофантовы уравнения: оценка выживаемости
Решаемое уравнение:
Выбор
начальных
хромосом
Скрещивание
Решения:
№
Значение
Решение
1
{ 1, 5, 2 }
2 + 20 – 6 = 16
2
{ 3, 6, 1 }
6 + 24 – 3 = 27
3
{ 4, 4, 4 }
8 + 16 – 12 = 12
4
{ 6, 2, 1 }
12 + 8 – 3 = 17
Оценка
выживаемости
Селекция
Фиксирование
решения
Кроссовер
Мутация
Вычисление коэффициента
близости:
Вычисление коэффициента
выживаемости:
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 13 из 26
Диофантовы уравнения: оценка выживаемости
Решаемое уравнение:
Выбор
начальных
хромосом
Скрещивание
Решения:
№
Значение
Решение
1
{ 1, 5, 2 }
2 + 20 – 6 = 16
2
{ 3, 6, 1 }
6 + 24 – 3 = 27
3
{ 4, 4, 4 }
8 + 16 – 12 = 12
Оценка
выживаемости
Селекция
Кроссовер
4
{ 6, 2, 1 }
12 + 8 – 3 = 17
Мутация
Коэффициенты близости:
№
1
2
3
4
Значение
{ 1, 5, 2 }
{ 3, 6, 1 }
{ 4, 4, 4 }
{ 6, 2, 1 }
Решение
2 + 20 – 6 = 16
6 + 24 – 3 = 27
8 + 16 – 12 = 12
12 + 8 – 3 = 17
К1
10
21
6
11
Фиксирование
решения
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 14 из 26
Диофантовы уравнения: селекция
Решаемое уравнение:
Выбор
начальных
хромосом
Скрещивание
Коэффициенты выживаемости:
Оценка
выживаемости
№
Значение
Решение
К2
1
{ 1, 5, 2 }
2 + 20 – 6 = 16
0.1
2
{ 3, 6, 1 }
6 + 24 – 3 = 27
0.048
3
{ 4, 4, 4 }
8 + 16 – 12 = 12
0.17
4
{ 6, 2, 1 }
12 + 8 – 3 = 17
0.091
Фиксирование
решения
Селекция
Кроссовер
Мутация
Вероятность выживания:
Критерии выбора наиболее
подходящих потомков:
1. отсеивание
2. вероятностный подход
№
Значение
1
2
3
4
24 %
12 %
42 %
22 %
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 15 из 26
Диофантовы уравнения: кроссовер, варианты реализации
Выбор
начальных
хромосом
Задача кроссовера – смешивание генов
Скрещивание
• Одноточечный кроссовер:
ABCD EFGH
ABGH
Оценка
выживаемости
Селекция
Кроссовер
• Многоточечный кроссовер:
ABCD EFGH
Мутация
AFCH
• Арифметический кроссовер:
с участием обычной и модулярной арифметики,
побитовых операций
Фиксирование
решения
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 16 из 26
Диофантовы уравнения: кроссовер
Номера родителей:
Выбор
начальных
хромосом
Гены родителей:
Скрещивание
Родитель 1 Родитель 2
Родитель 1
Родитель 2
3
4
{ 4, 4, 4 }
{ 6, 2, 1 }
4
3
{ 6, 2, 1 }
{ 4, 4, 4 }
Селекция
3
2
{ 4, 4, 4 }
{ 3, 6, 1 }
Кроссовер
2
3
{ 3, 6, 1 }
{ 4, 4, 4 }
Кроссовер:
Оценка
выживаемости
Мутация
Родитель 1
{ 4, 4, 4 }
{ 6, 2, 1 }
Родитель 2
{ 6, 2, 1 }
{ 4, 4, 4 }
Потомок
{ 4, 2, 1 }
{ 6, 2, 4 }
{ 4, 4, 4 }
{ 3, 6, 1 }
{ 3, 6, 1 }
{ 4, 4, 4 }
{ 3, 4, 1 }
{ 3, 4, 1 }
Фиксирование
решения
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 17 из 26
Диофантовы уравнения: мутация
Варианты мутации:
• произвольная генерация нового
гена;
• модификация имеющегося гена;
• модификация на основе
статистических данных;
• ...
Результат кроссовера:
Выбор
начальных
хромосом
Скрещивание
Оценка
выживаемости
Селекция
Фиксирование
решения
Кроссовер
Мутация
Результат мутации:
Родитель 1
Родитель 2
Потомок
Родитель 1
Родитель 2
Потомок
{ 4, 4, 4 }
{ 6, 2, 1 }
{ 4, 2, 1 }
{ 4, 4, 4 }
{ 6, 2, 1 }
{ 4, 2, 1 }
{ 6, 2, 1 }
{ 4, 4, 4 }
{ 6, 2, 4 }
{ 6, 2, 1 }
{ 4, 4, 4 }
{ 6, 2, 4 }
{ 4, 4, 4 }
{ 3, 6, 1 }
{ 3, 4, 1 }
{ 4, 4, 4 }
{ 3, 6, 1 }
{ 3, 4, 1 }
{ 3, 6, 1 }
{ 4, 4, 4 }
{ 3, 4, 1 }
{ 1, 5, 2 }
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 18 из 26
Диофантовы уравнения: скрещивание
Решаемое уравнение:
Выбор
начальных
хромосом
Скрещивание
Хромосомы:
№
Значение
1
{ 4, 2, 1 }
2
{ 6, 2, 4 }
3
{ 3, 4, 1 }
4
{ 1, 5, 2 }
Решения:
№
1
2
3
4
Значение
{ 4, 2, 1 }
{ 6, 2, 4 }
{ 3, 4, 1 }
{ 1, 5, 2 }
Оценка
выживаемости
Селекция
Кроссовер
Мутация
Решение
8 + 8 – 3 = 13
12 + 8 – 12 = 8
6 + 16 – 3 = 19
2 + 20 – 6 = 16
Фиксирование
решения
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 19 из 26
Диофантовы уравнения: оценка выживаемости
Решаемое уравнение:
Выбор
начальных
хромосом
Скрещивание
Решения:
№
Значение
Решение
1
{ 4, 2, 1 }
8 + 8 – 3 = 13
2
{ 6, 2, 4 }
12 + 8 – 12 = 8
3
{ 3, 4, 1 }
6 + 16 – 3 = 19
4
{ 1, 5, 2 }
2 + 20 – 6 = 16
Оценка
выживаемости
Фиксирование
решения
Селекция
Кроссовер
Мутация
Вероятность выживания:
Коэффициенты близости:
№
Значение
Решение
К1
№
Значение
1
{ 4, 2, 1 }
8 + 8 – 3 = 13
7
1
23 %
2
{ 6, 2, 4 }
12 + 8 – 12 = 8
2
2
41 %
3
{ 3, 4, 1 }
6 + 16 – 3 = 19
13
3
16 %
4
{ 1, 5, 2 }
2 + 20 – 6 = 16
10
4
20 %
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 20 из 26
Диофантовы уравнения: сравнение коэффициентов близости
Решаемое уравнение:
Выбор
начальных
хромосом
Скрещивание
Коэффициенты близости родителей:
Оценка
выживаемости
№
Значение
Решение
К1
1
{ 1, 5, 2 }
2 + 20 – 6 = 16
10
2
{ 3, 6, 1 }
6 + 24 – 3 = 27
21
3
{ 4, 4, 4 }
8 + 16 – 12 = 12
6
4
{ 6, 2, 1 }
12 + 8 – 3 = 17
11
Селекция
Средний
коэффициент
близости
родителей
К1(ср) = 12
Коэффициенты близости потомков:
№
Значение
Решение
К1
1
{ 4, 2, 1 }
8 + 8 – 3 = 13
7
2
{ 6, 2, 4 }
12 + 8 – 12 = 8
2
3
{ 3, 4, 1 }
6 + 16 – 3 = 19
13
4
{ 1, 5, 2 }
2 + 20 – 6 = 16
10
Средний
коэффициент
близости
родителей
К1(ср) = 8
Кроссовер
Мутация
Фиксирование
решения
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 21 из 26
Нейронные сети: структура нейрона
x1
w1
x2
w2
S
…
F
y
wn
xn
Входы
нейрона
Адаптивный
сумматор
Нелинейный
преобразователь
Выход
нейрона
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Нейронные сети: принцип функционирования
Входы
нейрона
x1
w2
x2
…
xn
w1
Адаптивный
сумматор
S
Выход
нейрона
Нелинейный
преобразователь
F
y
wn
Фаза 1: фиксирование входных данных
(взвешивание данных)
Фаза 2: активация нейрона (принятие
решения)
Слайд 22 из 26
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 23 из 26
Нейронные сети: основные модели активации
2,5
Виды активационных функций:
• функция Хэвисайда
2
1,5
• сигмоидальная
1
0,5
H
S
0
L
• логарифмическая
G
-0,5
-1
Z
• гауссовская
-1,5
-2
-2,5
• линейная
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 24 из 26
Многослойные нейронные сети (1)
Входные
данные
Входной
слой
нейронов
Скрытые
слои
нейронов
Выходной
слой
нейронов
Выходные
данные
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Многослойные нейронные сети (2)
Сети прямого распространения
Сети с обратными связями
Слайд 25 из 26
Теория алгоритмов.
Булах Д.А.
Кафедра ПКИМС, МИЭТ. Осень 2015. Лекция 7. Алгоритмы решения сложных задач.
Слайд 26 из 26
Нейронные сети: алгоритм обучения (1)
Задача обучения – подбор правильных значений весовых
коэффициентов.
2 основных вида обучения.
1. Обучение с учителем:
на вход сети подаются тестовые комбинации, на выходы
подаётся точный результат, который должен получиться.
2. Обучение с поощрением:
на вход сети подаются тестовые комбинации, на выходы
результат не подаётся, но нейронной сети объясняется,
правильно ли получился ответ или нет.
Download