Слайд 2
Оптимизация — модификация системы для улучшения её эффективности.
Цель оптимизации -
получение оптимальной системы.
НО истинно оптимальная система в процессе оптимизации
достигается далеко не всегда.
Слайд 3
«Преждевременная оптимизация — это корень всех бед». Тони Хоар
Нужно
иметь:
Озвученный алгоритм
Работающий прототип
Оптимизация обычно обозначает модификацию кода и его
настроек компиляции для данной архитектуры для производства более эффективного ПО.
Слайд 4
Пример
Задача
int i, sum = 0;
for (i =
1; i
эффективности, если нет переполнения:
int sum = (N * (N+1)) / 2;
Слайд 5
TRADEOFF
Компромиссы
Оптимизация в основном фокусируется на одиночном или повторном
времени выполнения, использовании памяти, дискового пространства, пропускной способности или
некотором другом ресурсе. Это обычно требует компромиссов — один параметр оптимизируется за счёт других.
Слайд 7
1. Алгоритм Витерби
алгоритм поиска наиболее подходящего списка состояний
(называемого путём Витерби), который в контексте цепей Маркова получает наиболее вероятную
последовательность произошедших событий.
Алгоритм декодирования кода, передаваемого по сетям с наличием шума
Слайд 9
Предположения алгоритма:
наблюдаемые и скрытые события должны быть последовательностью.
Последовательность чаще всего упорядочена по времени.
две последовательности должны быть
выровнены: каждое наблюдаемое событие должно соответствовать ровно одному скрытому событию
вычисление наиболее вероятной скрытой последовательности до момента t должно зависеть только от наблюдаемого события в момент времени t, и наиболее вероятной последовательности до момента t − 1.
Слайд 10
Использование
Декодирование кода мобильных телефонов стандартов GSM и CDMA
Dial-up
модемы - сервис, позволяющий компьютеру, используя модем и телефонную сеть общего
пользования, подключаться к другому компьютеру (серверу доступа) для инициализации сеанса передачи данных (например, для доступа в сеть Интернет).
Беспроводные сети стандарта 802.11
Слайд 11
Так же широко используется в:
Распознавании речи
Синтезе речи
Компьютерной лингвистике
Биоинформатике
Слайд 12
2. Алгоритм Флойда-Уоршелла
алгоритм для нахождения кратчайших расстояний между
всеми вершинами взвешенного ориентированного графа.
Слайд 14
Сравнение с другими алгоритмами
Алгоритм Флойда — Уоршелла является
эффективным для расчёта всех кратчайших путей в плотных графах, когда
имеет место большое количество пар рёбер между парами вершин.
Из-за большого константного фактора времени выполнения преимущество при вычислениях над алгоритмом Флойда — Уоршелла проявляется только на больших графах.
Слайд 15
3. Алгоритм динамической трансформации временной шкалы
алгоритм, позволяющий найти
оптимальное соответствие между временными последовательностями. Впервые применен в распознавании речи,
где использован для определения того, как два речевых сигнала представляют одну и ту же исходную произнесённую фразу. Впоследствии были найдены применения и в других областях.
Слайд 17
Условия пути трансформации:
Граничные условия
Непрерывность
Монотонность
Слайд 18
Построение матрицы
трансформаций и выбор
оптимального пути
трансформации
Слайд 19
Разновидности DTW алгоритма
Различные доработки DTW алгоритма предназначены для
ускорения его вычислений, а также для того, чтобы лучше
контролировать возможные маршруты путей трансформации.
Быстрый DTW-алгоритм
Разреженный DTW-алгоритм
Слайд 20
Быстрый
Этот алгоритм обладает линейной пространственной и временной сложностью. Быстрый
DTW алгоритм использует многоуровневый подход с тремя ключевыми операциями:
Уменьшение
детализации
Планирование
Обработка
Слайд 21
Разреженный
Основная идея данного метода состоит в том, чтобы
динамически использовать наличие подобия и/или сопоставления данных для двух
временных последовательностей.
Слайд 22
Данный алгоритм имеет три особых преимущества:
Матрица трансформации представляется
с помощью разреженных матриц, что приводит к уменьшению средней
пространственной сложности по сравнению с другими методами.
Разреженный DTW алгоритм всегда выдает оптимальный путь трансформации.
Так как алгоритм выдает оптимальное выравнивание, то он может быть легко использован в сочетании с другими методами.
Слайд 23
Недостатки алгоритма
Хотя алгоритм успешно используется во многих областях,
он может выдавать неправильные результаты.
Другая проблема заключается в
том, что алгоритм может не найти очевидное выравнивание двух рядов вследствие того, что особая точка (пик, впадина, плато, точка перегиба) одного ряда расположена немного выше или ниже соответствующей ей особой точки другого ряда.
Слайд 24
Области применения
распознавание речи
интеллектуальный анализ данных
распознавание жестов
робототехника
медицина
биоинформатика
верификация подписи