§ 3.5. Адаптация алгоритмов случайного поиска
3.5.1. Анализ задачи адаптации поиска
Имеются два источника причин, вызывающих необходимость адаптации алгоритмов поиска, — появление новых ситуаций и возникновение новых задач. Рассмотрим их подробнее.
Многочисленные ситуации, складывающиеся в процессе оптимизации одного и того же объекта, — типа «холм», «яма», «плоскогорье», «хребет», «овраг» и т. д. — заставляют искать средства такой перестройки алгоритма, чтобы эти ситуации преодолевались с минимальными затратами. Подобная перестройка, реализуемая формально, и является адаптацией алгоритма поиска. Если затраты на адаптацию невелики, то целесообразность и
эффективность такой процедуры очевидны. Это один источник адаптации.
Другой источник связан с потребностью решать различные задачи оптимизации. Обилие алгоритмов оптимизации обусловлено прежде всего тем, что каждый новый алгоритм предлагается для решения какой-то новой задачи, отличающейся от предыдущих. Совершенно ясно, что такая тенденция порочна и недолговечна, в силу чего и возникает необходимость в адаптации известного алгоритма поиска к новой задаче оптимизации. Пользователь часто применяет известные алгоритмы для решения своих задач, пытаясь как-то приспособить их к этим задачам. Успех здесь целиком зависит от того, насколько пользователь знает структуру своей оптимизационной задачи и понимает механизм работы поиска. Как правило, ничего хорошего из такой «кустарной адаптации» не получается. Это и заставляет создавать специальные процедуры адаптации алгоритмов оптимизации, благодаря которым алгоритмы могут эффективно действовать в изменяющихся условиях. Как уже говорилось, существуют два способа изменения алгоритма поиска — воздействие на его параметры и изменение его структуры. Параметрическая адаптация поиска не всегда может значительно повысить эффективность -поиска. Более того, есть алгоритмы — например, метод наискорейшего спуска или метод Гаусса—Зейделя, которые вообще не имеют параметров и поэтому не могут адаптироваться параметрически. Эти обстоятельства обусловливают переход к адаптации структуры алгоритма.
Таким образом, задача адаптации процесса поиска ставится тогда, когда алгоритм нужно изменять в процессе поиска, чтобы поддерживать его эффективность на необходимом уровне.
Эта задача всегда возникает при оптимизации и адаптации сложных объектов, для которых нельзя заранее предугадать, в какую ситуацию попадет алгоритм поиска. Такого рода неопределенность и требует введения процедуры адаптации, т. е. приспособления алгоритма поиска к новой ситуации путем его целенаправленного изменения, коррекции параметров или структуры.