Jump to content

Локальный поиск (удовлетворение ограничений)

При удовлетворении ограничений локальный поиск является неполным методом поиска решения проблемы . Он основан на итеративном улучшении назначения переменных до тех пор, пока не будут удовлетворены все ограничения. В частности, алгоритмы локального поиска обычно изменяют значение переменной в задании на каждом этапе. Новое присвоение близко к предыдущему в пространстве присвоения, отсюда и название локальный поиск .

Все алгоритмы локального поиска используют функцию, которая оценивает качество присваивания, например количество ограничений, нарушенных присваиванием. Эта сумма называется стоимостью задания. Целью локального поиска является поиск задания минимальной стоимости, которое является решением, если оно существует.

Точка А не является решением, но никакое локальное движение оттуда не снижает затраты. Однако решение существует в точке Б.

Существуют два класса алгоритмов локального поиска. Первый — это жадные или нерандомизированные алгоритмы. Эти алгоритмы действуют путем изменения текущего назначения, всегда пытаясь уменьшить (или, по крайней мере, не увеличить) его стоимость. Основная проблема этих алгоритмов — возможное наличие плато — областей пространства заданий, где никакое локальное перемещение не снижает стоимость. Для решения этой проблемы был изобретен второй класс алгоритмов локального поиска. Они выходят из этих плато, совершая случайные ходы, и называются алгоритмами рандомизированного локального поиска.

Жадные алгоритмы

[ редактировать ]

восхождение на холм

[ редактировать ]

Самая основная форма локального поиска основана на выборе изменения, которое максимально снижает стоимость решения. Этот метод, называемый восхождением на холм , действует следующим образом: сначала выбирается случайное задание; затем значение изменяется так, чтобы максимально улучшить качество полученного задания. Если после заданного количества изменений решение не найдено, выбирается новое случайное задание. Алгоритмы восхождения на холм могут выйти из плато только путем внесения изменений, которые не меняют качество задания. В результате они могут застрять на плато, где качество назначения имеет локальные максимумы.

GSAT (жадный сат) был первым алгоритмом локального поиска выполнимости и представляет собой форму восхождения на холм.

Метод взвешивания ограничений или метода прорыва

[ редактировать ]

Метод выхода из локального минимума заключается в использовании взвешенной суммы нарушенных ограничений в качестве меры стоимости и изменении некоторых весов, когда нет возможности улучшить ход. Точнее, если никакие изменения не снижают стоимость задания, алгоритм увеличивает вес ограничений, нарушаемых текущим заданием.

Таким образом, каждый шаг, который в противном случае не изменил бы стоимость решения, уменьшает ее. Более того, вес ограничений, которые остаются нарушенными при большом количестве ходов, продолжает расти. Следовательно, в течение нескольких ходов, не удовлетворяющих ограничению, стоимость переходов к назначениям, удовлетворяющим этому ограничению, продолжает увеличиваться.

[ редактировать ]

Недостатком восхождения на холм с движениями, которые не уменьшают стоимость, является то, что оно может циклически повторять задания одной и той же стоимости. Табу-поиск [1] [2] [3] решает эту проблему, поддерживая список «запрещенных» назначений, называемый списком запретов . В частности, список запретов обычно содержит только самые последние изменения. Точнее, он содержит последнюю пару переменная-значение, значение которой недавно было присвоено переменной.

Этот список обновляется каждый раз при изменении назначения. Если переменной присвоено значение, пара переменная-значение добавляется в список, а самая старая пара удаляется из него. Таким образом, список будет содержать только самые последние присвоения переменной. Если пара переменная-значение находится в списке табу, то изменение текущего назначения путем присвоения переменной значения запрещено. Алгоритм может выбрать только лучший ход среди не запрещенных. Таким образом, он не может циклически перебирать одно и то же решение, если количество ходов в этом цикле не превышает длину списка запретов.

Случайное блуждание

[ редактировать ]

Алгоритм случайного блуждания иногда действует как жадный алгоритм, но иногда движется случайным образом. Это зависит от параметра , которое является действительным числом от 0 до 1. На каждом ходу с вероятностью алгоритм действует как жадный алгоритм, пытаясь максимально снизить стоимость задания. С вероятностью , однако решение изменяется каким-то другим способом, который предполагает некоторую степень случайности.

Случайное перемещение WalkSAT — это изменение значения случайной величины случайного нарушенного ограничения. Для пропозициональной выполнимости формул конъюнктивной нормальной формы , которая является исходной настройкой этого алгоритма, каждый такой ход меняет значение переменной с истинного на ложное или наоборот и обеспечивает выполнимость нарушенного ограничения. Как и во всех стратегиях случайного блуждания, случайный ход делается только с заданной вероятностью, в противном случае делается ход, максимально уменьшающий стоимость.

Имитация отжига

[ редактировать ]

Методика имитации отжига основана на изменении вероятности выполнения случайного хода на ту, которая максимально снижает стоимость. В частности, название происходит от стратегии уменьшения вероятности выполнения случайных ходов во время выполнения алгоритма, что фактически «замораживает» пространство поиска.

В частности, если улучшение стоимости хода отрицательный (ход увеличивает стоимость), этот ход делается с вероятностью , где это действительное число. Поскольку вероятность выполнения этого хода увеличивается с , этот параметр называется температурой . Имитированный отжиг снижает эту температуру с течением времени, тем самым допуская больше случайных движений в начале и меньше после времени.

Локальный поиск на циклическом разрезе

[ редактировать ]

Локальный поиск обычно работает со всеми переменными, улучшая полное присвоение им. Однако локальный поиск также можно запустить для подмножества переменных, используя другой механизм для других переменных. Предлагаемый алгоритм работает с набором циклов , который представляет собой набор переменных, который, если его удалить из задачи, делает ее ациклической.

При любом назначении переменных сечения оставшаяся задача имеет лес в качестве основного графа. В результате проблема может быть решена эффективно. Для управления локальным поиском вместо алгоритма выполнимости в лесной части задачи используется алгоритм, определяющий минимальное количество ограничений, которые могут быть нарушены.

Это минимальное число находится путем определения стоимости каждого присвоения переменной. Эта стоимость представляет собой минимальное количество ограничений, нарушаемых присвоением переменных в поддереве, корнем которого является переменная, когда переменная принимает заданное значение. Эту стоимость можно рассчитать следующим образом. Если обозначает стоимость задания и дети , имеет место следующая формула. В этой формуле это 0 или 1 в зависимости от того, было ли присвоение нарушает ограничение между и .

Стоимость переменных в наборе разрезов равна нулю, и предполагается, что этим переменным разрешено принимать только заданное значение. С этими предположениями приведенная выше формула позволяет вычислить стоимость всех оценок переменных, итеративно продвигаясь снизу вверх от листьев к корню (корням) леса.

Стоимость переменных оценок может использоваться при локальном поиске для вычисления стоимости решения. Стоимость значений корней леса действительно представляет собой минимальное количество нарушенных ограничений в лесу для этих заданных значений. Таким образом, эти затраты можно использовать для оценки стоимости присвоения переменных набора срезов и для оценки стоимости аналогичных присвоений переменных набора сечений.

[ редактировать ]
  1. ^ Гловер, Фред (январь 1986 г.). «Будущие пути целочисленного программирования и связи с искусственным интеллектом» . Компьютеры и исследования операций . 13 (5): 533–549. дои : 10.1016/0305-0548(86)90048-1 .
  2. ^ Гловер, Фред (август 1989 г.). «Поиск табу — Часть I» . Журнал ORSA по вычислительной технике . 1 (3): 190–206. дои : 10.1287/ijoc.1.3.190 . ISSN   0899-1499 .
  3. ^ Гловер, Фред (февраль 1990 г.). «Поиск табу — Часть II» . Журнал ORSA по вычислительной технике . 2 (1): 4–32. дои : 10.1287/ijoc.2.1.4 . ISSN   0899-1499 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 00e5c96672423d34da4f1fd2b8c6ec5d__1720070520
URL1:https://arc.ask3.ru/arc/aa/00/5d/00e5c96672423d34da4f1fd2b8c6ec5d.html
Заголовок, (Title) документа по адресу, URL1:
Local search (constraint satisfaction) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)