Размышляя о сложности проверки изоморфизма асимметричных графов (см. Мой связанный с этим вопрос о теории), у меня возник дополнительный вопрос.
Предположим, что у нас есть машина Тьюринга за полиномиальное время которая на входе генерирует граф с узлами.1 n G M , n n
Мы можем определить проблему :
("Крошечный" GI): Учитывая граф , изоморфна ?G G M , | V |
Другими словами , мы должны сравнить данный график с «опорным» графа того же размера , генерируемого фиксированным многочленом времени машины Тьюринга .
Для всех полиномиальных Тьюринга машины , мы имеем , и для многих из них мы имеем . Но так ли это для всех ? Проблема известна?Π M ∈ N P Π M ∈ P M
На первый взгляд, я подумал, что каждый должен быть намного проще, чем , потому что для каждого существует только один «эталонный» граф такого размера, и, возможно, симметрии / асимметрии графов, сгенерированных могут быть использованы и эффективны. может быть построен специальный тестер изоморфизма ... но это не так: может содержать своего рода универсальную синхронизирующую машину полиномиального времени, которая использует (унарный) ввод для генерации совершенно разных (в структуре) графов ссылок как увеличивается. G I n M M 1 n n
источник
Ответы:
[Это скорее несколько расширенных комментариев, чем ответ.]
1) Если , то не существует фиксированной полиномиальной оценки временной сложности всех , даже для , для которого требуется только время, скажем, : если за все время - , , то ниже приведен алгоритм поли-времени для GI. На входе создайте машину Тьюринга с часами, которые гарантируют, что никогда не будет работать более чем на шагов на входах размера , и таким образом, что , а затем решить за времяΠ M M n 3GI∉P ΠM M n3 M Π M ∈ D T I M E ( n k ) ( G , H ) M G M G n 3 n M G ( 1 | V ( G ) | ) = G Π M G ( H ) O ( n k )n3 M ΠM∈DTIME(nk) (G,H) MG MG n3 n MG(1|V(G)|)=G ΠMG(H) O(nk) ,
2) Так как для любого , не сложнее , чем GI, можно было бы подумать , что лучший результат по линии « , кажется , не в » можно было бы надеяться не является GI -полнота результата. Тем не менее, мне кажется маловероятным, что какой-либо из будет GI-завершен, по крайней мере по следующим причинам:Π M Π M P Π MM ΠM ΠM P ΠM
Все известные мне результаты полноты GI относятся к довольно большим классам графов, а не к одному графу каждого размера. Даже если вы полностью отбросите требование к эффективности, я не знаю ни одного списка графиков , для которого (или даже ), так что проверка изоморфизма является GI-полной.| V ( G n ) | = n p o l y ( n ) G nG1,G2,… |V(Gn)|=n poly(n) Gn
Относительно примечания, большинство (все?) Результатов GI-полноты представляют собой не просто сокращения «один-один», но имеют следующую форму: существует функция , которая дает экземпляр GI, является экземпляром другой GI-полной задачи. (Это просто многовременные морфизмы отношений эквивалентности или то, что Фортнау и я назвали «сокращениями ядра».) Мы можем легко показать безоговорочно, что такого сокращения от GI к любому (даже если вы измените определение, чтобы разрешить для вывода нескольких графиков.) Подсказка. Получите противоречие, показав, что любое такое должно полностью содержать свое изображение в .( G , H ) ( f ( G ) , f ( H ) ) Π M M f { G M , n } n ≥ 0f (G,H) (f(G),f(H)) ΠM M f {GM,n}n≥0
3) Даже если можно построить на основе универсальной TM, как предложено в этом вопросе, возможно, все же можно создать эффективного тестера, но не эффективно. То есть, может быть , для каждого , в ?M Π M P / p o l yM M ΠM P/poly
источник
У меня нет ответа на ваш вопрос, но я предлагаю рассмотреть более ограниченную версию для которой мы можем показать, что она лежит в P.ΠM
Рассмотрим только семейства графов, в которых число ребер логарифмически растет. Я формализую это, перефразируя вашу формулировку проблемы, а также, чтобы понять, правильно ли я ее понял.
Ненаправленный граф с ребрами может быть описан длинной цепочкой , просто объединяющей элементы матрицы смежности в верхнем треугольнике. Следовательно, существует возможных графов на вершинах. Отсюда следует, что любая функция такая, что для всех описывает семейство графов. Для любой эффективно вычислимой такой функции мы определяем как н н 2 - нG n G2 n 2 - nn2−n2 G nf:N→N0≤f(n)<2n2-n2n2−n2 n f:N→N nfΠfG∈Πf0≤f(n)<2n2−n2 n f Πf
Для натурального числа пусть будет числом 1 в его двоичном представлении. Теперь рассмотрим для эффективно вычислимых функций для которых он содержит то есть семейства графов, для которых число ребер растет только логарифмически, как указано выше.x b1(x) Πf f
Покажем, что для этого класса функций находится в P.Πf
Пусть такая функция, а входной граф с вершинами. Назовем графом ссылок. В контрольном графе не более ребер. Таким образом, каждая MCC (максимально связная компонента) может состоять не более чем из вершин, которых может быть не более . Обратите внимание, что для любой пары графов, имеющих только вершины, мы можем тривиально проверить изоморфизм за полиномиальное время относительноG n f ( n )f G n f(n) O(logn) O(logn) n O(logn) n потому что мы можем попробовать все перестановки. Таким образом, с помощью жадного алгоритма для присвоения каждому MCC входного графа А MCC в эталонном графике мы можем вычислить обе графы, являются ли isomorph.
источник