Гаджет (информатика) - Gadget (computer science)

В теория сложности вычислений, а гаджет представляет собой подмножество экземпляра задачи, моделирующего поведение одной из основных единиц другой вычислительной задачи. Гаджеты обычно используются для создания сокращение от одной вычислительной задачи к другой, как часть доказательства NP-полнота или другие типы вычислительной сложности. В компонентный дизайн техника - это метод построения сокращений с помощью гаджетов.[1]

Сабо (2009) прослеживает использование гаджетов в статье 1954 г. теория графов к В. Т. Тутте, в котором Тутте предоставил гаджеты для уменьшения проблемы поиска подграф с учетом степень ограничения на идеальное соответствие проблема. Однако терминология «гаджет» имеет более позднее происхождение и не встречается в статье Тутте.[2][3]

Пример

Снижение NP-полноты от 3-выполнимость к граф 3-раскраска. Гаджеты для переменных и предложений показаны вверху и внизу слева соответственно; справа - пример полной редукции для формулы 3-CNF (Иксу ∨ ~z) ∧ (~Икс ∨ ~уz) с тремя переменными и двумя предложениями.

Многие доказательства NP-полноты основаны на много-одно сокращение из 3-выполнимость, проблема поиска удовлетворительного присваивания булевой формуле, которая представляет собой конъюнкцию (Boolean and) предложений, причем каждое предложение является дизъюнкцией (Boolean or) трех членов, а каждый член является логической переменной или ее отрицанием. Снижение от этой проблемы к сложной проблеме на неориентированные графы, такой как Гамильтонов цикл проблема или раскраска графика, как правило, будет основываться на гаджетах в форме подграфов, которые имитируют поведение переменных и предложений данного экземпляра 3-выполнимости. Затем эти устройства будут склеены вместе, чтобы сформировать единый граф, сложный пример рассматриваемой проблемы графа.[4]

Например, проблема проверки 3-раскрашиваемости графов может быть доказана NP-полной путем редукции от 3-выполнимости этого типа. При сокращении используются две специальные вершины графа, помеченные как «Земля» и «Ложь», которые не являются частью какого-либо гаджета. Как показано на рисунке, гаджет для переменной Икс состоит из двух вершин, соединенных в треугольник с основной вершиной; одна из двух вершин гаджета помечена Икс а другой помечен отрицанием Икс. Гаджет для статьи (т0т1т2) состоит из шести вершин, соединенных друг с другом, с вершинами, представляющими термы т0, т1, и т2, а также к наземным и ложным вершинам показанными ребрами. Любой 3-CNF формулу можно преобразовать в график, создав отдельный гаджет для каждой из его переменных и предложений и соединив их, как показано.[5]

В любой 3-раскраске результирующего графа можно обозначить три цвета как истинный, ложный или основной, где ложь и земля - ​​это цвета, присвоенные ложной и основной вершинам (обязательно разные, поскольку эти вершины становятся смежными конструкция), а true - оставшийся цвет, не используемый ни одной из этих вершин. В гаджете переменной возможны только две раскраски: вершина, помеченная переменной, должна быть окрашена в истинное или ложное значение, а вершина, помеченная отрицанием переменной, должна быть соответственно окрашена в ложь или истину. Таким образом, действительные присвоения цветов гаджетам переменных соответствуют один к одному с назначениями истинности для переменных: поведение гаджета в отношении окраски имитирует поведение переменной в отношении назначения истинности. допустимая 3-раскраска, если хотя бы одна из ее соседних вершин терма окрашена в истину, и не может быть 3-раскрашена, если все ее смежные вершины терма окрашены в ложь. Таким образом, гаджет предложения может быть раскрашен тогда и только тогда, когда соответствующее присвоение истинности удовлетворяет предложению, поэтому снова поведение гаджета имитирует поведение предложения.

Ограниченные скидки

Agrawal et al. (1997) рассмотрели то, что они назвали «радикально простой формой сокращения гаджета», в которой каждый бит, описывающий часть гаджета, может зависеть только от ограниченного числа битов ввода, и использовали эти сокращения для доказательства аналога Гипотеза Бермана – Хартманиса утверждая, что все NP-полные множества изоморфны по полиномиальному времени.[6]

Стандартное определение NP-полноты включает полиномиальное время много-одно сокращение: проблема в NP по определению является NP-полной, если любая другая задача в NP имеет редукцию этого типа к ней, и стандартный способ доказательства того, что проблема в NP является NP-полной, состоит в том, чтобы найти полиномиальное время много-единицы. редукция от известной NP-полной задачи к ней. Но (в том, что Агравал и др. Назвали «любопытным, часто наблюдаемым фактом»), все множества, которые в то время были NP-полными, можно было доказать, используя более сильное понятие AC0 редукции «много-один»: то есть редукции, которые могут быть вычислены схемами полиномиального размера, постоянной глубины и неограниченного разветвления. Agrawal et al. доказано, что каждое NP-полное множество относительно AC0 сокращение является полным при еще более ограниченном типе сокращения, NC0 много-однозначное сокращение с использованием схем полиномиального размера, постоянной глубины и ограниченного разветвления. В СК0 редукции, каждый выходной бит редукции может зависеть только от постоянного количества входных битов,

Гипотеза Бермана – Хартманиса - нерешенная проблема в теории сложности вычислений, утверждающая, что все NP-полные классы задач изоморфны по полиномиальному времени. То есть, если А и B являются двумя NP-полными классами задач, существует однозначное сокращение за полиномиальное время от А к B обратная функция которой также вычислима за полиномиальное время. Agrawal et al. использовали их эквивалентность между AC0 редукции и NC0 сокращения, чтобы показать, что все наборы полны для NP при AC0 сокращения переменного тока0-изоморфный.

Оптимизация гаджетов

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

Trevisan et al. (2000) формализовать проблему поиска гаджетов, сохраняющих пробелы, для семей проблемы удовлетворения ограничений в котором цель состоит в том, чтобы максимизировать количество выполненных ограничений.[7] В качестве примера они приводят сокращение от 3-выполнимость к 2-выполнимость к Гэри, Джонсон и Стокмейер (1976), в котором гаджет, представляющий предложение 3-SAT, состоит из десяти предложений 2-SAT, и в котором присвоение истинности, которое удовлетворяет предложению 3-SAT, также удовлетворяет как минимум семи пунктам в гаджете, в то время как назначение истинности, которое не удовлетворяет Пункт 3-SAT также не соответствует более шести пунктам гаджета.[8] Использование этого гаджета и тот факт, что (если только P = NP ) здесь нет схема полиномиальной аппроксимации для максимизации количества предложений 3-SAT, которым удовлетворяет назначение истинности, можно показать, что аналогичным образом не существует схемы аппроксимации для MAX 2-SAT.

Trevisan et al. показывают, что во многих случаях изучаемых ими проблем удовлетворения ограничений устройства, приводящие к наиболее сильным возможным результатам несовместимости, могут быть построены автоматически, как решение линейное программирование проблема. Те же сокращения на основе гаджетов могут также использоваться в другом направлении, чтобы переносить алгоритмы аппроксимации от более простых задач к более сложным задачам. Например, Trevisan et al. предоставить оптимальный гаджет для сокращения 3-SAT до взвешенного варианта 2-SAT (состоящего из семи взвешенных предложений 2-SAT), который сильнее, чем один на Гэри, Джонсон и Стокмейер (1976); используя его вместе с известными полуопределенное программирование алгоритмы аппроксимации для MAX 2-SAT, они обеспечивают алгоритм аппроксимации для MAX 3-SAT с коэффициентом приближения 0,801, лучше, чем известные ранее алгоритмы.

Рекомендации

  1. ^ Гарей, М.; Джонсон, Д.С. (1979), «3.2.3 Дизайн компонентов», Компьютеры и непреодолимость: руководство по теории NP-полноты, Сан-Франциско, Калифорния: W.H. Freeman, стр.72–74, ISBN  0-7167-1045-5, МИСТЕР  0519066.
  2. ^ Сабо, Ясинт (2009), "Хорошие характеристики для подграфов с ограничениями некоторой степени", Журнал комбинаторной теории, Серия B, 99 (2): 436–446, Дои:10.1016 / j.jctb.2008.08.009, МИСТЕР  2482961.
  3. ^ Тутте, В. Т. (1954), «Краткое доказательство факторной теоремы для конечных графов», Канадский математический журнал, 6: 347–352, Дои:10.4153 / CJM-1954-033-3, HDL:10338.dmlcz / 101241, МИСТЕР  0063008.
  4. ^ Сипсер, Майкл (1997), Введение в теорию вычислений, PWS Publishing Co., стр. 260.
  5. ^ Это сокращение описано в Гольдрайх, Одед (2008), Вычислительная сложность: концептуальная перспектива, Cambridge University Press, предложение 2.27, с. 81 год.
  6. ^ Агравал, Маниндра; Аллендер, Эрик; Impagliazzo, Рассел; Питасси, Тониан; Рудич, Стивен (1997), «Снижение сложности редукций», Материалы 29-го симпозиума ACM по теории вычислений (STOC '97), стр. 730–738, Дои:10.1145/258533.258671. Агравал, Маниндра; Аллендер, Эрик; Рудич, Стивен (1998), "Снижение сложности схемы: теорема об изоморфизме и теорема о разрыве", Журнал компьютерных и системных наук, 57 (2): 127–143, Дои:10.1006 / jcss.1998.1583.
  7. ^ Тревизан, Лука; Соркин, Григорий Б .; Судан, Мадху; Уильямсон, Дэвид П. (2000), «Гаджеты, аппроксимация и линейное программирование», SIAM Журнал по вычислениям, 29 (6): 2074–2097, Дои:10.1137 / S0097539797328847, МИСТЕР  1756405.
  8. ^ Гарей, Майкл Р.; Джонсон, Дэвид С.; Стокмейер, Ларри (1976), "Некоторые упрощенные задачи о NP-полных графах", Теоретическая информатика: 237–267, Дои:10.1016/0304-3975(76)90059-1.