Алгоритм карты различий - Difference-map algorithm
В алгоритм карты различий это алгоритм поиска для общего удовлетворение ограничений проблемы. Это мета-алгоритм в том смысле, что он построен на основе более простых алгоритмов, которые выполняют прогнозы на ограничение наборы. С математической точки зрения алгоритм карты различий - это динамическая система на основе отображение из Евклидово пространство. Решения кодируются как фиксированные точки отображения.
Хотя изначально задумывался как общий метод решения фазовая проблема, алгоритм карты разностей был использован для проблема логической выполнимости, предсказание структуры белка, Числа Рамсея, диофантовы уравнения, и Судоку,[1] а также проблемы с упаковкой сфер и дисков.[2] Поскольку эти приложения включают НП-полный проблем, размах карты различий неполный алгоритм. В то время как неполные алгоритмы могут эффективно проверять решения (после того, как кандидат найден), они не могут доказать, что решения не существует.
Алгоритм разностной карты является обобщением двух итерационные методы: Fienup's Алгоритм гибридного ввода-вывода (HIO) для поиска фазы[3] и Алгоритм Дугласа-Рачфорда[4] за выпуклая оптимизация. Итерационные методы, как правило, имеют долгую историю фазового поиска и выпуклой оптимизации. Использование этого стиля алгоритмов для сложных невыпуклых задач - более поздняя разработка.
Алгоритм
Решаемую проблему необходимо сначала сформулировать как установить пересечение проблема в евклидовом пространстве: найти на пересечении множеств и . Еще одно обязательное условие - выполнение прогнозов. и что, учитывая произвольную точку входа , вернуть точку в наборе ограничений или же это ближе всего к . Одна итерация алгоритма задается отображением:
Реальный параметр не должен быть равен 0, но может иметь любой знак; оптимальные значения зависят от приложения и определяются экспериментальным путем. На первый взгляд, выбор (или же ) рекомендуется, потому что это уменьшает количество вычислений проекции на итерацию:
Точка фиксированная точка карты именно когда . Поскольку левая часть является элементом и RHS является элементом , равенство означает, что мы нашли общий элемент для двух наборов ограничений. Обратите внимание, что фиксированная точка сам по себе не обязательно должен принадлежать ни или же . Набор фиксированных точек обычно имеет гораздо большую размерность, чем набор решений.
За ходом работы алгоритма можно следить, проверив норму разности двух проекций:
- .
Когда он исчезает, обнаруживается общая точка для обоих наборов ограничений, и алгоритм может быть остановлен.
Пример: логическая выполнимость
Неполные алгоритмы, такие как стохастический местный поиск, широко используются для поиска удовлетворяющих заданий истинности булевых формул. В качестве примера решения экземпляра 2-СБ с помощью алгоритма разностной карты рассмотрите следующую формулу (~ означает НЕ):
- (q1 или же q2) и (~q1 или же q3) и (~q2 или ~q3) и (q1 или ~q2)
Каждому из восьми литералы в этой формуле мы назначаем одну действительную переменную в восьмимерном евклидовом пространстве. Структуру формулы 2-SAT можно восстановить, если расположить эти переменные в таблице:
Икс11 Икс12 (Икс21) Икс22 (Икс31) (Икс32) Икс41 (Икс42)
Строки - это разделы в формуле 2-SAT, а литералы, соответствующие одной и той же логической переменной, расположены в столбцах, отрицание указано в круглых скобках. Например, реальные переменные Икс11, Икс21 и Икс41 соответствуют той же логической переменной (q1) или его отрицание, и называются репликиЗначения 1 и -1 удобно связать с ИСТИННЫЙ и ЛОЖНЫЙ вместо традиционных 1 и 0. Согласно этому соглашению, совместимость реплик принимает форму следующих линейных уравнений:
- Икс11 = -Икс21 = Икс41
- Икс12 = -Икс31 = -Икс42
- Икс22 = -Икс32
Линейное подпространство, в котором выполняются эти уравнения, является одним из пространств ограничений, скажем А, используемый картой различий. Чтобы проецировать это ограничение, мы заменяем каждую реплику средним значением реплики со знаком или его отрицательным значением:
- а1 = (Икс11 - Икс21 + Икс41) / 3
- Икс11 → а1 Икс21 → -а1 Икс41 → а1
Второе ограничение карты различий применяется к строкам таблицы, предложениям. При удовлетворительном присвоении двум переменным в каждой строке должны быть присвоены значения (1, 1), (1, -1) или (-1, 1). Соответствующий набор ограничений, B, таким образом, представляет собой набор из 34 = 81 балл. При проецировании этого ограничения к каждой строке применяется следующая операция. Сначала два реальных значения округляются до 1 или -1; затем, если результатом является (-1, -1), большее из двух исходных значений заменяется на 1. Примеры:
- (-.2, 1.2) → (-1, 1)
- (-.2, -.8) → (1, -1)
Это несложное упражнение для проверки того, что обе описанные операции проекции минимизируют евклидово расстояние между входными и выходными значениями. Более того, если алгоритму удается найти точку Икс который лежит в обоих наборах ограничений, то мы знаем, что (i) предложения, связанные с Икс все ИСТИННЫЙи (ii) присвоения реплик согласуются с присвоением истинности исходным логическим переменным.
Для запуска алгоритма сначала создается начальная точка Икс0, сказать
-0.5 -0.8 (-0.4) -0.6 (0.3) (-0.8) 0.5 (0.1)
Используя β = 1, следующим шагом будет вычисление пB(Икс0) :
1 -1 (1) -1 (1) (-1) 1 (1)
Далее следуют 2пB(Икс0) - Икс0,
2.5 -1.2 (2.4) -1.4 (1.7) (-1.2) 1.5 (1.9)
а затем проецируется на другое ограничение, пА(2пB(Икс0) - Икс0) :
0.53333 -1.6 (-0.53333) -0.1 (1.6) (0.1) 0.53333 (1.6)
Приращение Икс0 по разнице двух проекций дает первую итерацию разностной карты, D(Икс0) = Икс1 :
-0.96666 -1.4 (-1.93333) 0.3 (0.9) (0.3) 0.03333 (0.7)
Вот вторая итерация, D(Икс1) = Икс2 :
-0.3 -1.4 (-2.6) -0.7 (0.9) (-0.7) 0.7 (0.7)
Это фиксированная точка: D(Икс2) = Икс2. Итерация не изменилась, потому что две проекции совпадают. Из пB(Икс2),
1 -1 (-1) 1 (1) (-1) 1 (1)
мы можем прочитать удовлетворительное задание истины: q1 = ИСТИННЫЙ, q2 = ЛОЖНЫЙ, q3 = ИСТИННЫЙ.
Хаотическая динамика
В простом примере 2-SAT, приведенном выше, норма приращения разностной карты Δ монотонно уменьшалась до нуля за три итерации. Это контрастирует с поведением Δ когда карте различий дается жесткий экземпляр 3-СБ, где он сильно колеблется до открытия неподвижной точки. Как динамическая система, карта разностей считается хаотичный, и что обыскиваемое пространство странный аттрактор.
Восстановление фазы
В фазовом поиске сигнал или изображение восстанавливается из модуль (абсолютное значение, величина) его дискретное преобразование Фурье. Например, источником данных модуля может быть Фраунгофера дифракция узор, образующийся, когда объект освещается когерентный свет.
Проекция на ограничение модуля Фурье, скажем пА, выполняется сначала путем вычисления дискретного преобразования Фурье сигнала или изображения, масштабирования модулей для согласования с данными, а затем обратного преобразования результата. Это проекция в том смысле, что евклидово расстояние до ограничения минимизировано, потому что (i) дискретное преобразование Фурье как унитарное преобразование, сохраняет расстояние, и (ii) изменение масштаба модуля (без изменения фазы) является наименьшим изменением, которое реализует ограничение модуля.
Чтобы восстановить неизвестные фазы преобразования Фурье, карта разностей опирается на проекцию на другое ограничение, пB. Это может принимать несколько форм, поскольку реконструируемый объект может быть известен как положительный, иметь ограниченный поддерживать и т.д. При реконструкции изображения поверхности, например, эффект проекции пB должен был обнулить все значения за пределами прямоугольной опоры, а также обнулить все отрицательные значения внутри опоры.
внешняя ссылка
- Судоку Решатель - Решатель судоку на основе алгоритма разностной карты.
Примечания
- ^ Elser, V .; Ранкенбург, I .; Тибо, П. (9 января 2007 г.). «Поиск по повторяющимся картам». Труды Национальной академии наук. 104 (2): 418–423. Дои:10.1073 / pnas.0606359104. ЧВК 1766399. PMID 17202267.
- ^ Гравий, Саймон; Эльзер, Вайт (22 сентября 2008 г.). «Разделяй и соглашайся: общий подход к удовлетворению ограничений». Физический обзор E. 78 (3): 036706. arXiv:0801.0222. Bibcode:2008PhRvE..78c6706G. Дои:10.1103 / PhysRevE.78.036706. PMID 18851188. S2CID 27814394.
- ^ Файенуп, Дж. Р. (1 августа 1982 г.). «Алгоритмы фазового поиска: сравнение». Прикладная оптика. 21 (15): 2758. Bibcode:1982АпОпт .. 21.2758F. Дои:10.1364 / AO.21.002758. PMID 20396114. S2CID 10777701.
- ^ Bauschke, Heinz H .; Комбеты, Патрик Л .; Люк, Д. Рассел (1 июля 2002 г.). «Фазовый поиск, алгоритм уменьшения ошибок и варианты Fienup: взгляд из выпуклой оптимизации». Журнал Оптического общества Америки A. 19 (7): 1334. Bibcode:2002JOSAA..19.1334B. CiteSeerX 10.1.1.75.1070. Дои:10.1364 / JOSAA.19.001334. PMID 12095200.