Jump to content

Алгоритм мини-конфликтов

В информатике алгоритм минимальных конфликтов — это алгоритм поиска или эвристический метод решения проблем удовлетворения ограничений .

Один из таких алгоритмов — min-conflicts Hill Climbing . [1] Учитывая первоначальное присвоение значений всем переменным задачи удовлетворения ограничений (с одним или несколькими неудовлетворенными ограничениями), выберите переменную из набора переменных с конфликтами, нарушающими одно или несколько ее ограничений. Присвойте этой переменной значение, которое минимизирует количество конфликтов (обычно разрыв связей происходит случайным образом). Повторяйте этот процесс выбора конфликтующей переменной и присвоения минимального значения конфликта до тех пор, пока не будет найдено решение или не будет достигнуто заранее выбранное максимальное количество итераций. Если решение не найдено, алгоритм можно перезапустить с другим начальным назначением.

Поскольку проблему удовлетворения ограничений можно интерпретировать как задачу локального поиска, когда всем переменным присвоено значение (называемое полным состоянием), алгоритм минимальных конфликтов можно рассматривать как эвристику восстановления. [2] который выбирает состояние с минимальным количеством конфликтов.

Алгоритм

[ редактировать ]
algorithm MIN-CONFLICTS is
    input: console.csp, A constraint satisfaction problem.
           max_steps, The number of steps allowed before giving up.
           current_state, An initial assignment of values for the variables in the csp.
    output: A solution set of values for the variable or failure.

    for i ← 1 to max_steps do
        if current_state is a solution of csp then
            return current_state
        set var ← a randomly chosen variable from the set of conflicted variables CONFLICTED[csp]
        set value ← the value v for var that minimizes CONFLICTS(var,v,current_state,csp)
        set varvalue in current_state

    return failure

Хотя это и не указано в алгоритме, хорошее первоначальное задание может иметь решающее значение для быстрого поиска решения. Используйте жадный алгоритм с некоторым уровнем случайности и позвольте присваиванию переменных нарушать ограничения, когда другого присвоения будет недостаточно. Случайность помогает минимальным конфликтам избегать локальных минимумов, созданных первоначальным назначением жадного алгоритма. Фактически, задачи удовлетворения ограничений, которые лучше всего реагируют на решение с минимальным количеством конфликтов, преуспевают там, где жадный алгоритм почти решает проблему. Проблемы с раскраской карт плохо решаются с помощью жадного алгоритма, а также мини-конфликтов. Подобласти карты, как правило, сохраняют свои цвета стабильными, и минимальные конфликты не могут подняться на холм, чтобы вырваться за пределы локального минимума. Функция CONFLICTS подсчитывает количество ограничений, нарушенных конкретным объектом, при условии, что состояние остальной части присваивания известно.

Хотя искусственный интеллект и дискретная оптимизация знали и рассуждали о проблемах удовлетворения ограничений в течение многих лет, только в начале 1990-х годов этот процесс решения больших CSP был систематизирован в алгоритмической форме. Вначале Марк Джонстон из Научного института космического телескопа искал метод планирования астрономических наблюдений на космическом телескопе Хаббл . В сотрудничестве с Хансом-Мартином Адорфом из Европейского координационного центра космического телескопа он создал нейронную сеть, способную решить задачу игрушечных n -ферзей (для 1024 королев). [3] [4] Стивен Минтон и Энди Филипс проанализировали алгоритм нейронной сети и разделили его на две фазы: (1) первоначальное назначение с использованием жадного алгоритма и (2) фазы минимизации конфликтов (позже получившие название «минимальные конфликты»). Статья была написана и представлена ​​на AAAI-90; Филип Лэрд предоставил математический анализ алгоритма.

Впоследствии Марк Джонстон и сотрудники STScI использовали мин-конфликты для планирования времени наблюдений астрономов на космическом телескопе Хаббл.

Анимация разрешения мин-конфликтов 8-ферзей. На первом этапе столбцы жадно назначаются, минимизируя конфликты, а затем решаются.

Min-Conflicts решает проблему N -Queens, выбирая столбец на шахматной доске для переназначения ферзя. Алгоритм ищет каждый потенциальный ход на предмет количества конфликтов (количества атакующих ферзей), указанного в каждом квадрате. Алгоритм перемещает ферзя на поле с минимальным количеством конфликтов, разрывая ничьи случайным образом. Обратите внимание, что количество конфликтов генерируется каждым новым направлением, с которого может атаковать ферзь. Если два ферзя атакуют с одного направления (ряда или диагонали), то конфликт засчитывается только один раз. Также обратите внимание, что если ферзь находится в позиции, в которой ход может привести к большему конфликту, чем его текущая позиция, он не делает ход. Отсюда следует, что если ферзь находится в состоянии минимального конфликта, ему не обязательно двигаться.

Производительность этого алгоритма во многом зависит от выбора начальной позиции. Хорошую стартовую позицию можно создать, назначая ферзей столбец за столбцом, причем каждое назначение относится к строке, что сводит к минимуму количество нарушений ограничений. В результате получается начальная позиция со средним количеством нарушений ограничений, которое на удивление мало и очень медленно растет с увеличением n (например, 12,8 для n=10). 6 ).

При хорошей стартовой позиции количество переназначений, необходимых для решения, также постоянно: этот алгоритм решит даже задачу миллиона ферзей примерно за 50 переназначений. Количество оценок ограничений для каждого переназначения растет с увеличением n, что приводит к почти линейному времени выполнения.

Это открытие и наблюдения привели к большому объему исследований в 1990 году и положили начало исследованиям проблем локального поиска и различий между простыми и сложными задачами. N -Queens удобен для локального поиска, поскольку решения плотно распределены по пространству состояний. Он также эффективен при серьезных проблемах. Например, он использовался для планирования наблюдений на космическом телескопе Хаббл , что позволило сократить время, необходимое для планирования недели наблюдений, с трех недель примерно до 10 минут. [5]

См. также

[ редактировать ]
  1. ^ Минтон, Стивен; Марк Д. Джонстон; Эндрю Б. Филипс; Филип Лэрд (1990). «Решение крупномасштабных проблем удовлетворения ограничений и планирования с использованием эвристического метода восстановления» (PDF) . Восьмая национальная конференция по искусственному интеллекту (AAAI-90), Бостон, Массачусетс : 17–24 . Проверено 27 марта 2013 г.
  2. ^ Минтон, Стивен; Марк Д. Джонстон; Эндрю Б. Филипс; Филип Лэрд (1992). «Минимизация конфликтов: эвристический метод устранения проблем удовлетворения ограничений и планирования» (PDF) . Искусственный интеллект . 58 (1): 161–205. CiteSeerX   10.1.1.308.6637 . дои : 10.1016/0004-3702(92)90007-к . S2CID   14830518 . Проверено 27 марта 2013 г.
  3. ^ Джонстон, доктор медицины; Адорф, Х.-М. (1989). «Обучение стохастическим нейронным сетям для решения проблем удовлетворения ограничений». Конференция НАСА. О космической телеробототехнике, 1989, Пасадена, Калифорния; Г. Родригес, Х. Сераджи (ред.) : 367–376, том II.
  4. ^ Адорф, Х.-М.; Джонстон, доктор медицины (1990). «Дискретный стохастический алгоритм нейронной сети для задач удовлетворения ограничений». 1990 Международная совместная конференция IJCNN по нейронным сетям . С. 917–924 т.3. дои : 10.1109/IJCNN.1990.137951 . S2CID   26917432 .
  5. ^ Стюарт Рассел, Питер Норвиг, «Искусственный интеллект: современный подход (3-е издание)», стр. 220-222, 11 декабря 2009 г.
[ редактировать ]
  • [1] Эвристическая микроформа мин-конфликтов: эксперимент и теоретические результаты / Стивен Минтон… [и др.]. НАСА, Исследовательский центр Эймса, Отделение исследований искусственного интеллекта. Распространяется в депозитарные библиотеки на микрофишах.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f4b56d5ec15d3a35bb45bd43a29d7669__1718709420
URL1:https://arc.ask3.ru/arc/aa/f4/69/f4b56d5ec15d3a35bb45bd43a29d7669.html
Заголовок, (Title) документа по адресу, URL1:
Min-conflicts algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)