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

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

Хотя первоначально задуманы как общий метод для решения проблемы фазовой , алгоритм дифференциально-карты был использован для булевой задачи выполнимости , предсказание структуры белка , числа Рамсея , диофантовые уравнения и судок , [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 можно восстановить, если расположить эти переменные в таблице:

Строки - это предложения в формуле 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 11a 1   x 21 → - a 1   x 41a 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 , скажем

Используя β = 1, следующим шагом будет вычисление P B ( x 0 ):

Далее следует 2 P B ( x 0 ) - x 0 ,

а затем проецируется на другое ограничение P A (2 P B ( x 0 ) - x 0 ):

Увеличение x 0 на разность двух проекций дает первую итерацию карты разности, D ( x 0 ) = x 1  :

Вот вторая итерация, D ( x 1 ) = x 2  :

Это фиксированная точка: D ( x 2 ) = x 2 . Итерация не изменилась, потому что две проекции совпадают. Из P B ( x 2 ),

мы можем считать удовлетворительное присвоение истинности: q 1 = ИСТИНА , q 2 = ЛОЖЬ , q 3 = ИСТИНА .

Хаотическая динамика [ править ]

Временной ряд нормы приращения разностной карты Δ в процессе решения случайного экземпляра 3-SAT с 1000 переменными и 4200 пунктами.

В приведенном выше простом примере 2-SAT норма приращения разностной карты Δ монотонно уменьшалась до нуля за три итерации. Это контрастирует с поведением Δ, когда разностной карте дается жесткий пример 3-SAT , где она сильно колеблется до открытия фиксированной точки. Как динамическая система, карта различий считается хаотической , а исследуемое пространство - странным аттрактором .

Извлечение фазы [ править ]

Модуль преобразования Фурье (дифракционная картина) показанного изображения в градациях серого восстанавливается в верхней части страницы.

При поиске фазы сигнал или изображение восстанавливается по модулю (абсолютному значению, величине) его дискретного преобразования Фурье . Например, источником данных модуля может быть дифракционная картина Фраунгофера, сформированная, когда объект освещается когерентным светом .

Проекция на ограничение модуля Фурье, скажем P A , выполняется сначала путем вычисления дискретного преобразования Фурье сигнала или изображения, масштабирования модулей для согласования с данными, а затем обратного преобразования результата. Это проекция в том смысле, что евклидово расстояние до ограничения минимизировано, потому что (i) дискретное преобразование Фурье, как унитарное преобразование , сохраняет расстояние, и (ii) изменение масштаба модуля (без изменения фазы) является наименьшее изменение, реализующее ограничение по модулю.

Чтобы восстановить неизвестные фазы преобразования Фурье разности карта основана на проекцию на другое ограничение, P B . Это может принимать несколько форм, поскольку реконструируемый объект может быть известен как положительный, имеет ограниченную опору и т. Д., Например, при реконструкции изображения поверхности эффект проекции P B сводился к обнулению всех значений за пределами прямоугольная опора, а также для обнуления всех отрицательных значений в опоре.

Внешние ссылки [ править ]

  • Sudoku Solver - Судоку решатель на основе разностного алгоритма на карте.

Заметки [ править ]

  1. ^ Elser, V .; Ранкенбург, I .; Тибо, П. (9 января 2007 г.). «Поиск по повторяющимся картам» . Труды Национальной академии наук . 104 (2): 418–423. DOI : 10.1073 / pnas.0606359104 . PMC  1766399 . PMID  17202267 .
  2. ^ Гравий, Саймон; Эльзер, Вайт (22 сентября 2008 г.). «Разделяй и соглашайся: общий подход к удовлетворению ограничений». Physical Review E . 78 (3): 036706. arXiv : 0801.0222 . Bibcode : 2008PhRvE..78c6706G . DOI : 10.1103 / PhysRevE.78.036706 . PMID 18851188 . S2CID 27814394 .  
  3. ^ Fienup, JR (1 августа 1982). «Алгоритмы фазового поиска: сравнение». Прикладная оптика . 21 (15): 2758. Bibcode : 1982ApOpt..21.2758F . DOI : 10,1364 / AO.21.002758 . PMID 20396114 . S2CID 10777701 .  
  4. ^ 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 .