Алгоритм минимальных конфликтов - Min-conflicts algorithm

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

При начальном присвоении значений всем переменным CSP алгоритм случайным образом выбирает переменную из набора переменных с конфликтами, нарушающими одно или несколько ограничений CSP.[1] Затем он присваивает этой переменной значение, которое минимизирует количество конфликтов. Если имеется более одного значения с минимальным количеством конфликтов, он выбирает одно случайным образом. Этот процесс выбора случайной величины и присвоения значения минимального конфликта повторяется до тех пор, пока не будет найдено решение или пока не будет достигнуто заранее выбранное максимальное количество итераций.

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

Алгоритм

алгоритм МИН-КОНФЛИКТЫ является    Вход: csp, Проблема удовлетворения ограничений. max_steps, Число шагов до отказа. Текущее состояние, Начальное присвоение значений переменным в csp. выход: Набор значений для переменной или же отказ.    за я ← 1 к max_steps делать        если Текущее состояние это решение csp тогда            возвращаться Текущее состояние        набор вар ← случайно выбранная переменная из набора конфликтующих переменных CONFLICTED [csp]        набор ценить ← значение v для вар минимизирует КОНФЛИКТЫ (вар,v,Текущее состояние,csp)        набор варценить в Текущее состояние    возвращаться отказ

Хотя это и не указано в алгоритме, хорошее начальное назначение может иметь решающее значение для быстрого подхода к решению. Использовать жадный алгоритм с некоторым уровнем случайности и разрешить присвоение переменной нарушить ограничения, когда другого присвоения будет недостаточно. Случайность помогает минимальным конфликтам избежать локальных минимумов, созданных начальным назначением жадного алгоритма. Фактически, проблемы удовлетворения ограничений, которые лучше всего реагируют на решение минимальных конфликтов, хорошо работают там, где жадный алгоритм почти решает проблему. Раскраска карты проблемы плохо справляются с жадным алгоритмом, а также с минимальными конфликтами. Части карты имеют тенденцию сохранять свои цвета стабильными, и минимальные конфликты не могут подняться на холм, чтобы вырваться из локального минимума. В КОНФЛИКТЫ функция подсчитывает количество ограничений, нарушенных конкретным объектом, при условии, что состояние остальной части присваивания известно.

История

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

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

Пример

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

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

Время выполнения этого алгоритма для решения N-Queens не зависит от размера проблемы. Этот алгоритм даже решит проблема миллиона королев в среднем 50 шагов. Это открытие и наблюдения привели к большому количеству исследований в 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-к. Получено 27 марта 2013.
  3. ^ Johnston, M.D .; Адорф, Х.-М. (1989). «Обучение в стохастических нейронных сетях для задач удовлетворения ограничений». НАСА конф. "Космическая телероботика", 1989 г., Пасадена, Калифорния; Г. Родригес, Х. Сераджи (ред.): 367–376 т. II.
  4. ^ Adorf, H.-M .; Джонстон, М. Д. (1990). «Дискретный стохастический алгоритм нейронной сети для задач удовлетворения ограничений». 1990 IJCNN Международная совместная конференция по нейронным сетям: 917–924 т.3. Дои:10.1109 / IJCNN.1990.137951.
  5. ^ Стюарт Рассел, Питер Норвиг, «Искусственный интеллект: современный подход (3-е издание)», стр. 220-222, 11 декабря 2009 г.

внешняя ссылка

  • [1] Эвристическая микроформа мин-конфликтов: эксперимент и теоретические результаты / Стивен Минтон ... [и др.]. НАСА, Исследовательский центр Эймса, Отдел исследований искусственного интеллекта. Распространяется в депозитных библиотеках на микрофишах.