Ciclo mais longo contido em dois ciclos

11

O seguinte problema é NP-completo? (Presumo que sim).

Entrada: um gráfico não direcionado em que o conjunto de arestas pode ser decomposto em dois ciclos simples separados por arestas (estes não fazem parte da entrada).kN,G=(V,E)

Pergunta: Existe um ciclo simples em com comprimento maior que ?Gk

Obviamente, o problema está em NP e o grau máximo em é , mas isso não parece ajudar.G4

Listagem
fonte
1
Eu não acho que você esteja certo sobre "no máximo 4 caminhos conectando qualquer par". Veja: i.imgur.com/mYL4n1V.png
svinja
1
@svinja Você está certo, eu deveria ter dito que existem no máximo 4 caminhos disjuntos de arestas entre pares entre qualquer par de dois vértices.
Listagem
Seu título é enganoso, porque o ciclo simples mais longo não pode ser um dos dois ciclos na decomposição de (em qualquer decomposição). E
Denis
@dkuper pode, na verdade, olhar para a união de dois ciclos simples disjuntos de vértices.
Listagem
Meu argumento não é que nunca possa ser um deles, é que às vezes não é um deles. Portanto, o problema não é encontrar o maior dos dois.
Denis

Respostas:

2

Uma tentativa de redução ....

Redução do caminho hamiltoniano no dígrafo com grau máximo 3, que é NPC [G&J]G=(V,E)

  • ignore a direção das arestas e, usando uma primeira varredura de profundidade (não direcionada) de um nó arbitrário, divida as arestas de em dois conjuntos de caminhos distintos (não direcionados) (vermelho e verde nas figuras);G
  • junte os caminhos vermelhos adicionando "nós de ligação" extras (nós roxos na figura B) e faça um circuito vermelho não direcionado; junte-se aos caminhos verdes adicionando "nós de ligação" extras (nós roxos na figura) e faça um circuito verde não direcionado;
  • transforme cada nó original do indegree 1 e do outgree 2 (figura C), adicionando nós amarelos na borda vermelha de entrada e adicionando nós amarelos na primeira borda vermelha de saída ; finalmente, adicione nós amarelos "em direção" à segunda borda verde de saída usando um caminho "encapsulado" em torno de que toque nos nós amarelos mais externos das bordas vermelhas (figura D).k a b k b c k b d bbVkabkbckbdb

No gráfico resultante, todos os nós amarelos de podem ser percorridos por um caminho simples apenas das duas maneiras mostradas na figura E e na figura F, que correspondem às duas travessias válidas do nó original ; informalmente, se uma borda em direção ao nó roxo "de ligação" extra for usada, nós amarelos não poderão ser atravessados.b V k3kbVk

  • transformar cada nó original de V do grau 2 e do grau 1 de maneira semelhante

Escolhendo um grande o suficiente, o gráfico de resultados tem um caminho simples de comprimento maior que se e somente se o gráfico original tiver um caminho Hamiltoniano (de comprimento )G 3 k ( | V | - 1 ) G | V | - 1k|V|G3k(|V|1)G|V|1

insira a descrição da imagem aqui

A imagem maior pode ser baixada aqui

Vor
fonte
Esta é uma prova muito bonita; talvez você deva direcionar as bordas da figura 'A' para facilitar a compreensão de como obter os caminhos (acho que eu entendi).
Listagem
@ Listagem: a construção dos caminhos não depende das bordas direcionadas (na verdade, escrevi a pesquisa "não direcionada" na resposta). Você deve começar a partir de um nó arbitrário, fazer uma varredura em profundidade primeiro colorindo em vermelho as bordas atravessadas, depois voltar para o primeiro nó grau 3 encontrado e continuar a primeira varredura em profundidade colorindo em verde as bordas atravessadas e assim por diante. .. talvez tenha uma definição mais formal, mas não me vem à cabeça agora. Entre em contato se precisar de mais detalhes.
Vor 25/05
Entendo, a propriedade em que as bordas são atravessadas na direção 'correta' é imposta pela última transformação. Obrigado pelo esclarecimento.
Listagem
0

Inspirado pela resposta de Vor, quero dar uma mais simples.

Comece com o problema do ciclo hamiltoniano para o problema de gráficos de grade que foi comprovadamente difícil pelo Itai.

É fácil ver que o conjunto de arestas de um gráfico de grade pode ser particionado em 2 subconjuntos separados: horizontal e vertical.

Então, agora, precisamos tecer todos os horizontais em um ciclo simples e todos os verticais em outro ciclo simples.

Essa é uma tarefa muito fácil: para as verticais, varra da esquerda para a direita, conecte as lacunas verticais, conecte a linha vertical coordenada x consecutiva e, em seguida, conecte o vértice mais baixo à esquerda e o vértice mais à direita. Faça o mesmo para arestas horizontais.

Observe que o gráfico obtido ainda é simples, não direcionado e atende aos requisitos. É simples, porque nos últimos passos da fase vertical e horizontal, lidamos com dois pares de vértices diferentes.

Agora, faça um truque semelhante ao Vor. Em cada vértice, para cada borda original do incidente, adicione novos vértices. Como sempre, deve ser grande o suficiente. Por fim, a duração de um ciclo hamiltoniano genuíno deve ser. Mas, é claro, não é hamiltoniano do gráfico obtido.kk2k|V|

Thinh D. Nguyen
fonte