x - СО РАН

advertisement
Панов Н.В.
КТИ ВТ CО РАН
Новосибирск
Решатель
Интервальные
алгоритмы
адаптивного
дробления
Классические
алгоритмы
Интервальные
методы
распространения
ограничений
Интервальные
алгоритмы
адаптивного
дробления
Мультиметоды
Стохастические
Детерминистские
случайный поиск
поиск с
приоритетом
интервальный
метод имитации
отжига
интервальные
генетические
алгоритмы
Интервальные
алгоритмы
адаптивного
дробления
• Интервальные расширения
асимптотически точны:
• х = х′ ∪ х′′ ⇒
f(x′) ⊆ f(x), f(x′’) ⊆ f(x)
• f(x) – оценка минимума снизу
x
f( x )
Интервальные
алгоритмы
адаптивного
дробления
Детерминистский алгоритм
Интервальные
алгоритмы
адаптивного
дробления
Интервальные
алгоритмы
адаптивного
дробления
Интервальные
алгоритмы
адаптивного
дробления
Стохастические
Интервальные
генетические
алгоритмы
f(x)
Брусы
Интервальная оценка
значений функции
Область поиска
[
]
x
Интервальные
алгоритмы
адаптивного
дробления
Стохастические
Интервальные
генетические
алгоритмы
f(x)
Брусы
Интервальная оценка
значений функции
Область поиска
[
]
x
Интервальные
алгоритмы
адаптивного
дробления
Стохастические
Интервальные
генетические
алгоритмы
f(x)
Брусы
Интервальная оценка
значений функции
Область поиска
[
]
x
Интервальные
алгоритмы
адаптивного
дробления
Стохастические
Интервальные
генетические
алгоритмы
f(x)
Брусы
«Особи»
Интервальная оценка
значений функции
Область поиска
[
]
x
Интервальные
алгоритмы
адаптивного
дробления
Стохастические
f(x)
Интервальные
генетические
алгоритмы
x2
Функция
приспособленности
F1
F2 F3
x1
Интервальные
алгоритмы
адаптивного
дробления
f(x)
Стохастические
Интервальные
генетические
алгоритмы
x2
Функция
приспособленности
x1
Интервальные
алгоритмы
адаптивного
дробления
Стохастические
Интервальные
генетические
алгоритмы
Функция
приспособленности
f(b) – интервальная оценка целевой функции f на брусе b
f(b) – нижняя граница интервальной оценки
(оценка минимума снизу)
wid(f(b)) – ширина (точность) интервальной оценки.
Интервальные
алгоритмы
адаптивного
дробления
Стохастические
Интервальные
генетические
алгоритмы
0. Создаётся начальная популяция
{ Основной цикл
1. Вычисляется значение функции
приспособленности новорожденных особей;
2. N из наиболее приспособленных особей с
вероятностью Pn оставляют от Ln до Un потомков;
3. M из неприспособленных особей с вероятностью
Pm оставят от Lm до Um потомков;
4. Потомки проверяются на жизнеспособность;
5. Если критерий отбраковки был улучшен,
организуется эпидемия;
} Конец основного цикла
Критерии отбраковки
 Техники, позволяющие распознать интервалы,
гарантированно не содержащие оптимум
 Отбраковка по значению
 Отбраковка по первой производной
 Отбраковка по второй производной
Отбраковка по производным
F(x)
-5
-5
-5
-4
-4
-4
-3
-3
-3
-2
-2
-2
-1
-1
-1
0
0
0
1
2
1
1
3
2
2
F'(x)
[ Тест на монотонность]
F''(x)
[ Тест на выпуклость ]
3
3
Интервальные
алгоритмы
адаптивного
дробления
Мультиметод
Стохастические
Детерминистские
случайный поиск
поиск с
приоритетом
интервальный
метод имитации
отжига
интервальные
генетические
алгоритмы
Интервальные
алгоритмы
адаптивного
дробления
Мультиметод
Стохастические
Детерминистские
случайный поиск
поиск с
приоритетом
интервальный
метод имитации
отжига
интервальные
генетические
алгоритмы
Мультиметод
Мультиметод
1
ширина оценки оптимума
2
3
1
2
3
1 2
3
1
2
3
1
время
Решатель
Интервальные
алгоритмы
Интервальные
адаптивного
алгоритмы
Интервальные
дробления
адаптивного
алгоритмы
дробления
адаптивного
дробления
Интервальные
методы
отбраковки
Классические
алгоритмы
Мультистарт
Интервальные
методы
распространения
ограничений
Решатель
Интервальные
алгоритмы
Интервальные
адаптивного
алгоритмы
Интервальные
дробления
адаптивного
алгоритмы
дробления
адаптивного
дробления
Интервальные
методы
отбраковки
Классические
алгоритмы
Мультистарт
Интервальные
методы
распространения
ограничений
Интервальные
методы
распространения
ограничений
Интервальные
методы
распространения
ограничений
• x (+) y (=) z
• Пример:
o 2x - 4y = 0
U
o x = x0
x1
o x1 = 2y
o y1 = ½x
Если x0 = [1, 2]; y0 = [1, 2],
x = [1, 2] [2, 4] = [1, 2],
y = [1, 2] [½, 1] = [1, 1].
x = [1, 2]
y = [1, 1]
U
U
o f‘(x) = 0
[2, 2] = 2,
[1, 1] = 1.
U
U
Интервальные
методы
распространения
ограничений
Природа ограничений:
•
•
•
•
Область поиска,
Ноль первой производной,
Знак второй производной,
Значение целевой функции не более
(не менее) уже найденных.
Проблема:
• Взаимодействие с методами дробления
Решатель
Интервальные
алгоритмы
Интервальные
адаптивного
алгоритмы
Интервальные
дробления
адаптивного
алгоритмы
дробления
адаптивного
дробления
Классические
алгоритмы
Интервальные
методы
распространения
ограничений
Мультистарт
Интервальные
методы
отбраковки
Дифференцирование
Дифференцирование
 Символьная алгебра
 Обратная польская запись:
a + b => +(a b)
 Дерево Кантаровича
 Правила дифференцирования
 Упрощение выражений
 x' = 1 * x0
 IAMath: xy = exp(y*log(x))
 Направленное округление
 0 * x = [-e, +e] ≠ 0
 exp([-e, +e])
≠1
• Повышение точности оценки
• Уменьшение вычислений
Общая структура
Решатель
Интервальные
алгоритмы
поиска
Детерминистские
Классические
точечные
алгоритмы
Стохастические
Мультиметоды
Случайный поиск с
приоритетом
Интервальный
моделированный
отжиг
Мультистарт
Методы
параллелизации
Методы
распространения
ограничений
Алгоритмы
дифференцирования
Интервальный
эволюционный
алгоритм
Символьное
дифференцирование
Методы отбраковки
Интервальный
метод Ньютона
Интервальная
арифметика
По значению
По 2ой производной
По 1ой производной
Вычисление
интервального
расширения
функции
Упрощение
выражений
Заключение
•
58 классов и интерфейсов
•
•
5000 строк кода
114 юнит-тестов
•
2300 строк кода
• Обобщённая функция Розенброка до размерности 35
• Де Йонг до 10,000
минус:
Функции должны быть заданы в явном виде
Спасибо!
Download