Алгоритм дифференциально-карта является алгоритм поиска для общего удовлетворения ограничений проблем. Это метаалгоритм в том смысле, что он построен на основе более простых алгоритмов, которые выполняют проекции на наборы ограничений . С математической точки зрения, алгоритмом дифференциально-картой является динамической системой на основе отображения в евклидове пространства . Решения кодируются как фиксированные точки отображения.
Хотя первоначально задуманы как общий метод для решения проблемы фазовой , алгоритм дифференциально-карты был использован для булевой задачи выполнимости , предсказание структуры белка , числа Рамсея , диофантовые уравнения и судок , [1] , а также и диск Шара -проблемы с упаковкой. [2] Поскольку эти приложения включают NP-полные задачи, область действия карты разностей - это неполный алгоритм . В то время как неполные алгоритмы могут эффективно проверять решения (после того, как кандидат найден), они не могут доказать, что решения не существует.
Алгоритм разностной карты является обобщением двух итерационных методов : алгоритма гибридного ввода-вывода (HIO) Fienup для поиска фазы [3] и алгоритма Дугласа-Рачфорда [4] для выпуклой оптимизации . Итерационные методы, как правило, имеют долгую историю фазового поиска и выпуклой оптимизации. Использование этого стиля алгоритма для сложных невыпуклых задач является более поздней разработкой.
Алгоритм [ править ]
Решаемую задачу необходимо сначала сформулировать как задачу о пересечении множеств в евклидовом пространстве: найти точку пересечения множеств и . Другим необходимым условием является реализацией проекций и что, учитывая произвольную точку входа , возвращает точку в множестве ограничений или , что является ближайшим к . Одна итерация алгоритма задается отображением:
Реальный параметр не должен быть равен 0, но может иметь любой знак; оптимальные значения зависят от приложения и определяются экспериментальным путем. В качестве первого предположения рекомендуется выбрать (или ), поскольку он уменьшает количество вычислений проекции на итерацию:
Точка - это фиксированная точка карты именно тогда, когда . Поскольку левая часть является элементом, а правая часть является элементом , равенство означает, что мы нашли общий элемент для двух наборов ограничений. Обратите внимание, что сама фиксированная точка не обязательно должна принадлежать ни или . Набор фиксированных точек обычно имеет гораздо большую размерность, чем набор решений.
За ходом выполнения алгоритма можно следить, проверив норму разности двух проекций:
- .
Когда оно исчезает, обнаруживается точка, общая для обоих наборов ограничений, и алгоритм может быть остановлен.
Пример: логическая выполнимость [ править ]
Неполные алгоритмы, такие как стохастический локальный поиск , широко используются для поиска удовлетворяющих присвоений истинности булевым формулам. В качестве примера решения экземпляра 2-SAT с помощью алгоритма карты различий рассмотрим следующую формулу (~ означает НЕ):
- ( q 1 или q 2 ) и (~ q 1 или q 3 ) и (~ q 2 или ~ q 3 ) и ( q 1 или ~ q 2 )
Каждому из восьми литералов в этой формуле мы назначаем одну действительную переменную в восьмимерном евклидовом пространстве. Структуру формулы 2-SAT можно восстановить, если расположить эти переменные в таблице:
х 11 х 12 ( х 21 ) х 22 ( х 31 ) ( х 32 ) х 41 ( х 42 )
Строки - это предложения в формуле 2-SAT, а литералы, соответствующие одной и той же логической переменной, расположены в столбцах, отрицание указывается круглыми скобками. Например, действительные переменные x 11 , x 21 и x 41 соответствуют одной и той же логической переменной ( q 1 ) или ее отрицанию и называются репликами . Значения 1 и -1 удобно связать с ИСТИНА и ЛОЖЬ, а не с традиционными 1 и 0. В соответствии с этим соглашением совместимость между репликами принимает форму следующих линейных уравнений:
- х 11 = - х 21 = х 41
- х 12 = - х 31 = - х 42
- х 22 = - х 32
Линейное подпространство, в котором выполняются эти уравнения, является одним из пространств ограничений, скажем A , используемых разностной картой. Чтобы проецировать это ограничение, мы заменяем каждую реплику средним значением реплики со знаком или его отрицательным значением:
- а 1 = ( х 11 - х 21 + х 41 ) / 3
- x 11 → a 1 x 21 → - a 1 x 41 → a 1
Второе ограничение карты различий применяется к строкам таблицы, предложениям. В удовлетворительном присвоении двум переменным в каждой строке должны быть присвоены значения (1, 1), (1, -1) или (-1, 1). Соответствующий набор ограничений B , таким образом, представляет собой набор из 3 4 = 81 точки. При проецировании этого ограничения к каждой строке применяется следующая операция. Сначала два реальных значения округляются до 1 или -1; затем, если результатом является (-1, -1), большее из двух исходных значений заменяется на 1. Примеры:
- (-.2, 1.2) → (-1, 1)
- (-.2, -.8) → (1, -1)
Это несложное упражнение для проверки того, что обе описанные операции проекции минимизируют евклидово расстояние между входными и выходными значениями. Более того, если алгоритму удается найти точку x, которая лежит в обоих наборах ограничений, то мы знаем, что (i) все предложения, связанные с x, являются ИСТИННЫМИ , и (ii) назначения репликам согласованы с назначением истинности для исходные логические переменные.
Чтобы запустить алгоритм, сначала создается начальная точка x 0 , скажем
-0,5 -0,8 (-0,4) -0,6 (0,3) (-0,8) 0,5 (0,1)
Используя β = 1, следующим шагом будет вычисление P B ( x 0 ):
1 -1 (1) -1 (1) (-1) 1 (1)
Далее следует 2 P B ( x 0 ) - x 0 ,
2,5 -1,2 (2.4) -1,4 (1,7) (-1,2) 1.5 (1.9)
а затем проецируется на другое ограничение P A (2 P B ( x 0 ) - x 0 ):
0,53333 -1,6 (-0,53333) -0,1 (1.6) (0,1) 0,53333 (1.6)
Увеличение x 0 на разность двух проекций дает первую итерацию карты разности, D ( x 0 ) = x 1 :
-0,96666 -1,4 (-1,93333) 0,3 (0,9) (0,3) 0,03333 (0,7)
Вот вторая итерация, D ( x 1 ) = x 2 :
-0,3 -1,4 (-2,6) -0,7 (0,9) (-0,7) 0,7 (0,7)
Это фиксированная точка: D ( x 2 ) = x 2 . Итерация не изменилась, потому что две проекции совпадают. Из P B ( x 2 ),
1 -1 (-1) 1 (1) (-1) 1 (1)
мы можем считать удовлетворительное присвоение истинности: q 1 = ИСТИНА , q 2 = ЛОЖЬ , q 3 = ИСТИНА .
Хаотическая динамика [ править ]
В приведенном выше простом примере 2-SAT норма приращения разностной карты Δ монотонно уменьшалась до нуля за три итерации. Это контрастирует с поведением Δ, когда разностной карте дается жесткий пример 3-SAT , где она сильно колеблется до открытия фиксированной точки. Как динамическая система, карта различий считается хаотической , а исследуемое пространство - странным аттрактором .
Извлечение фазы [ править ]
При поиске фазы сигнал или изображение восстанавливается по модулю (абсолютному значению, величине) его дискретного преобразования Фурье . Например, источником данных модуля может быть дифракционная картина Фраунгофера, сформированная, когда объект освещается когерентным светом .
Проекция на ограничение модуля Фурье, скажем P A , выполняется сначала путем вычисления дискретного преобразования Фурье сигнала или изображения, масштабирования модулей для согласования с данными, а затем обратного преобразования результата. Это проекция в том смысле, что евклидово расстояние до ограничения минимизировано, потому что (i) дискретное преобразование Фурье, как унитарное преобразование , сохраняет расстояние, и (ii) изменение масштаба модуля (без изменения фазы) является наименьшее изменение, реализующее ограничение по модулю.
Чтобы восстановить неизвестные фазы преобразования Фурье разности карта основана на проекцию на другое ограничение, P B . Это может принимать несколько форм, поскольку реконструируемый объект может быть известен как положительный, имеет ограниченную опору и т. Д., Например, при реконструкции изображения поверхности эффект проекции P B сводился к обнулению всех значений за пределами прямоугольная опора, а также для обнуления всех отрицательных значений в опоре.
Внешние ссылки [ править ]
- Sudoku Solver - Судоку решатель на основе разностного алгоритма на карте.
Заметки [ править ]
- ^ Elser, V .; Ранкенбург, I .; Тибо, П. (9 января 2007 г.). «Поиск по повторяющимся картам» . Труды Национальной академии наук . 104 (2): 418–423. DOI : 10.1073 / pnas.0606359104 . PMC 1766399 . PMID 17202267 .
- ^ Гравий, Саймон; Эльзер, Вайт (22 сентября 2008 г.). «Разделяй и соглашайся: общий подход к удовлетворению ограничений». Physical Review E . 78 (3): 036706. arXiv : 0801.0222 . Bibcode : 2008PhRvE..78c6706G . DOI : 10.1103 / PhysRevE.78.036706 . PMID 18851188 . S2CID 27814394 .
- ^ Fienup, JR (1 августа 1982). «Алгоритмы фазового поиска: сравнение». Прикладная оптика . 21 (15): 2758. Bibcode : 1982ApOpt..21.2758F . DOI : 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 . DOI : 10.1364 / JOSAA.19.001334 . PMID 12095200 .