Является ли следующая задача NP-полной? (Я предполагаю, что да).
Входные данные: - неориентированный граф, в котором множество ребер можно разложить на два простых цикла, не пересекающих ребра (они не являются частью входных данных).
Вопрос: существует ли простой цикл в с длиной больше ?
Очевидно, что проблема в NP, и максимальная степень в равна , но это, похоже, не помогает.
Ответы:
Попытка сокращения ....
Сокращение от гамильтонова пути на орграфе с максимальной степенью 3, которое является NPC [G & J]G = ( V, E)
В полученном графике все желтые узлы могут перемещаться с помощью простого пути только в двух направлениях показали на рисунке E и F, фигуры , которые соответствуют двум действительным прохождений исходного узла B ∈ V ; неформально , если ребро к EXTRA «связывая» фиолетовый узел используется, K - желтые узлы не могут перемещаться.3 к b ∈ V К
Подбор достаточно большой , граф результатов G ′k ≫ | В| грамм' есть простой путь длины больше тогда и только тогда, когда исходный граф G имеет гамильтонов путь (длины | V | - 1 )3 к ( | В| -1) грамм | В| -1
Большую картину можно скачать здесь
источник
Вдохновленный ответом Вора, я хочу дать более простой.
Начнем с задачи о гамильтоновом цикле для задачи сеточных графов, которая была доказана Итаем.
Легко видеть, что множество ребер графа сетки можно разбить на 2 непересекающихся подмножества: горизонтальное и вертикальное.
Итак, теперь нам нужно сплести все горизонтальные в один простой цикл, а все вертикальные - в другой простой цикл.
Это очень простая задача: для вертикальных разверните от крайнего левого до крайнего правого положения, просто соедините все вертикальные промежутки, затем соедините последовательную вертикальную линию, скоординированную по X, затем соедините самую нижнюю левую вершину с самой высокой правой вершиной. Сделайте аналогично для горизонтальных краев.
Обратите внимание, что полученный граф все еще прост, неориентирован и удовлетворяет требованию. Это просто, потому что на последних этапах вертикальной фазы и горизонтальной фазы мы имеем дело с двумя различными парами вершин.
Теперь сделайте тот же трюк, что и Вор. В каждой вершине для каждого ее исходного инцидентного ребра добавьтеК новых вершин. Как обычно, К ahouls должны быть достаточно большими. Наконец, длина подлинного гамильтонова цикла должна быть 2 к | В|
источник