O primeiro passo é assumir que o gráfico tenha um número par de vértices. No segundo estágio, estenderemos a construção, de modo que se k for par, mostraremos como transformar o gráfico em ter um número ímpar de vértices.
A solução é um refinamento da idéia sugerida na outra resposta.
Primeira parte
Reivindicação: Dado umk gráfico regular com número par de vértices, pode-se calcular um gráfico H que é ( k + 1 ) -regular, e H é Hamiltoniano se G é Hamiltoniano.GH(k+1)HG
kGG1G2v∈V(G)v1v2k+2vv′v′′v1v′v2v′′. Deixe denotar esse componente para .C(v)v
Repita isso para todos os vértices de e deixe denotar o gráfico resultante.GH
Claramente, o gráfico é regular. Afirmamos que é Hamiltoniano se e somente se é Hamiltoniano.Hk+1HG
Uma direção é clara. Dado um ciclo Hambiltonian em , que podem traduzir-lo em um ciclo em . De fato, sempre que o ciclo visita um vértice , nós o interpretamos como passando de para (ou vice-versa) enquanto visitamos todos os vértices em . Como tal, isto resulta num ciclo hamiltoniano em . (Observe que é aqui que estamos usando o fato de que o número original de vértices é par - se o ciclo for ímpar, isso será interrompido.)GHvv1v2C(v)H
Como para a outra direcção, considere um ciclo hamiltoniano em . Deve ser que seja visitado por uma parte do ciclo que começa em , visite todos os vértices de e saia de (ou a opção simétrica). De fato, o ciclo hamiltoniano não pode entrar e sair do mesmo . Como tal, um ciclo hamiltoniano em como uma interpretação natural como um ciclo hamiltoniano em . QED.HC(v)v1C(v)v2viHG
Segunda parte
Como observado abaixo por Tsuyoshi, qualquer gráfico regular com número par de vértices. Como tal, o problema é difícil para um gráfico de regiões com número par de vértices. Nomeadamente, a redução acima mostra que o problema é difícil para qualquer gráfico em , embora o gráfico resultante tenha um número par de vértices.3k
Observamos que isso implica que o seguinte problema é NP-difícil.
Problema A: Decidindo se um gráfico k-regular com número par de vértices tem um ciclo hamiltoniano passando por uma aresta específica .Ge
No entanto, se receber uma instância , podemos reduzi-la ao problema desejado. De fato, substituímos a aresta por uma clique de vértices, como antes de excluir uma aresta na clique e conectar seus dois pontos finais aos pontos finais de , removendo do gráfico. Claramente, para o novo gráfico :k(G,e)ek+1eeH
- H é regular.k
- H é hamiltoniano se for hamiltoniano com um ciclo usando .Ge
- H tem vértices => possui um número ímpar de vértices.|V(G)|+k+1H
Observe que um gráfico regular, para ímpar, deve ter um número par de vértices (apenas conte as arestas). Assim, não há gráficos regulares com número ímpar de vértices, com sendo ímpar.kkkk
Resultado
É NP-Difícil decidir se um gráfico regular possui um ciclo hamiltoniano para . O problema permanece NP-Hard, mesmo se o gráfico tiver um número ímpar de vértices.kk≥3
Claro, é sempre possível que cometi algum erro estúpido ...
Exercício
Se queremos passar de um gráfico que é regular para um gráfico que é (digamos) regular, o gráfico resultante da aplicação da redução acima resulta repetidamente em um gráfico com um tamanho que depende exponencialmente de . Mostra, que um dado -Regular gráfico , e , pode-se construir um gráfico de que é -Regular e o seu tamanho é polinomial em e , em que é o número de vértices de . Além disso, é hamiltoniano se e somente se for hamiltoniano.k2kkkGi>2H(k+i)k,innGGH
(Estou publicando isso como um exercício, não uma pergunta, pois sei como resolver isso.)