Адаптивный алгоритм - это алгоритм, который меняет свое поведение в то время, когда запускать на основе доступной информации и заранее определенного механизма (или критерия) вознаграждения. Такой информацией может быть история недавно полученных данных, информация о доступных вычислительных ресурсах или другая информация, полученная во время выполнения (или известная заранее), относящаяся к среде, в которой он работает.
Среди наиболее часто используемых адаптивных алгоритмов метод наименьших средних квадратов Уидроу-Хоффа (LMS), который представляет собой класс алгоритмов стохастического градиентного спуска, используемых в адаптивной фильтрации и машинном обучении. При адаптивной фильтрации LMS используется для имитации желаемого фильтра путем нахождения коэффициентов фильтра, которые относятся к получению наименьшего среднего квадрата сигнала ошибки (разности между желаемым и фактическим сигналами).
Например, использование дополнительной памяти составляет O (n lg n), но с учетом O (n) памяти, это может быть O (n) во времени. Как реализовано в стандартной библиотеке C ++,, stable_partition
является адаптивным, поэтому он получает столько памяти, сколько может получить (максимум до того, что ему потребуется), и применяет алгоритм, используя доступный объем памяти. Другой пример - адаптивная сортировка, поведение которой изменяется при предварительной сортировке входных данных.
Примером адаптивного алгоритма в системах радаров является детектор постоянной частоты ложных тревог (CFAR).
В машинном обучении и оптимизации многие алгоритмы являются адаптивными или имеют адаптивные варианты, что обычно означает, что параметры алгоритма автоматически корректируются в соответствии со статистикой оптимизации, таким образом далеко (например, скорость сходимости). Примеры включают адаптивное моделирование отжига, адаптивный координатный спуск, AdaBoost и адаптивную квадратурную.
в сжатие данных, алгоритмы адаптивного кодирования, такие как адаптивное кодирование Хаффмана или прогнозирование путем частичного сопоставления, могут принимать поток данных в качестве входных данных и адаптировать свой метод сжатия на основе символов, которые они уже сталкивались.
В обработке сигналов кодек Adaptive Transform Acoustic Coding (ATRAC), используемый в рекордерах MiniDisc, называется «адаптивным», потому что длина окна (размер звукового «фрагмента») может изменяться в зависимости от природы сжимаемого звука, чтобы попытаться достичь наилучшей стратегии сжатия.
.