Simplifique seu fluxo de trabalho: Pesquise miniwebtool.
Adicionar
Página Inicial > Matemática > Operações matemáticas avançadas > Verificador de Caminho Hamiltoniano
 

Verificador de Caminho Hamiltoniano

Verifique se um grafo contém um caminho hamiltoniano ou ciclo hamiltoniano. Executa backtracking com poda de Warnsdorff, verifica pré-requisitos de conectividade e grau, testa as condições suficientes de Dirac e Ore e mostra o caminho de prova em uma visualização SVG animada.

Verificador de Caminho Hamiltoniano
Aceita A-B, A->B, A B, A,B, ou linhas de matriz como 0 1 1 0. Use letras, dígitos ou sublinhado para rótulos.
Rótulos separados por vírgula ou espaço, um por linha. O padrão é A, B, C… se omitido.

Embed Verificador de Caminho Hamiltoniano Widget

Verificador de Caminho Hamiltoniano

O Verificador de Caminho Hamiltoniano decide se um grafo contém um caminho hamiltoniano — uma sequência que visita cada vértice exatamente uma vez — ou um ciclo hamiltoniano, que adicionalmente retorna ao vértice inicial. Ele combina verificações prévias estruturais rápidas (conectividade, pré-requisitos de grau, teorema de Dirac, teorema de Ore) com uma busca por backtracking ajustada pela heurística de Warnsdorff, e visualiza o caminho testemunha com uma animação passo a passo.

O que é um Caminho Hamiltoniano?

Dado um grafo G = (V, E) com n vértices, um caminho hamiltoniano é uma sequência ordenada v1, v2, …, vn de todos os vértices tal que cada par consecutivo (vi, vi+1) é uma aresta de G, e cada vértice aparece exatamente uma vez. Se adicionalmente (vn, v1) for uma aresta, a sequência é um ciclo hamiltoniano.

Caminho hamiltoniano: v1 — v2 — v3 — … — vn (todos distintos, cada par consecutivo é uma aresta) Ciclo hamiltoniano: v1 — v2 — v3 — … — vn — v1 (fecha de volta ao início)

O problema recebeu o nome de William Rowan Hamilton, que em 1857 inventou o jogo icosiano — um quebra-cabeça que pedia ao jogador para encontrar um ciclo visitando cada vértice de um dodecaedro regular exatamente uma vez.

Por que é difícil: NP-Completude

Tanto o problema de decisão do caminho hamiltoniano quanto o do ciclo hamiltoniano são NP-completos (Karp, 1972). A menos que P = NP, não existe algoritmo de tempo polinomial que resolva todas as instâncias. No pior caso, o backtracking explora uma árvore de busca de tamanho até (n−1)! para um ciclo. É por isso que a calculadora limita a entrada a 20 vértices — um pequeno aumento polinomial em n produz um aumento explosivo no tempo de execução.

Na prática, a heurística de Warnsdorff (originalmente concebida por Heinrich Warnsdorff em 1823 para a jornada do cavalo) torna a busca dramaticamente mais rápida em grafos estruturados: em cada passo, o algoritmo estende o caminho atual para o vizinho não visitado com o menor número de vizinhos restantes não visitados. Esta regra gananciosa evita que a busca fique sem saída e frequentemente encontra um tour hamiltoniano com zero retrocessos em grafos bem comportados.

Condições Necessárias — Rejeição Rápida

Antes de executar uma busca custosa, a calculadora rejeita grafos que não podem conter um caminho hamiltoniano:

Essas regras rejeitam muitas entradas sem esperança em tempo linear, evitando o esforço desperdiçado de backtracking.

Condições Suficientes — Teoremas Clássicos

Vários teoremas clássicos fornecem condições suficientes (mas não necessárias) que garantem um ciclo hamiltoniano em grafos simples não direcionados. Se qualquer um deles se aplicar, a calculadora marca o resultado como "GARANTE" sem sequer executar a busca — embora ainda exiba um ciclo testemunha.

Teorema de Dirac (1952)

Se G é um grafo simples não direcionado com n ≥ 3 vértices e cada vértice tem grau pelo menos n / 2, então G possui um ciclo hamiltoniano.

δ(G) ≥ n / 2 ⟹ G é Hamiltoniano

Teorema de Ore (1960)

Se para cada par de vértices não adjacentes u e v tivermos deg(u) + deg(v) ≥ n, então G possui um ciclo hamiltoniano. A condição de Ore é estritamente mais fraca que a de Dirac, portanto, Ore implica Dirac.

∀ u, v não adjacentes: deg(u) + deg(v) ≥ n ⟹ G é Hamiltoniano

A falha na condição de Dirac ou Ore não significa que o grafo carece de um ciclo hamiltoniano — muitos grafos não satisfazem nenhuma delas, mas ainda assim contêm um (por exemplo, um ciclo simples de n vértices tem grau mínimo 2, bem abaixo de n/2 para n grande).

O Algoritmo de Busca Interno

Quando as pré-verificações não resolvem a questão, a calculadora executa uma busca por backtracking na representação de adjacência do grafo. Táticas principais:

  1. Conjunto visitado por Bitmask. Os vértices visitados são armazenados como um bitmask (teste de associação rápido O(1) para até 20 vértices).
  2. Heurística de Warnsdorff. Em cada extensão, os vizinhos são testados na ordem de seus graus não visitados restantes (menor primeiro), imitando uma ordem de "baixa ramificação".
  3. Seleção de raiz. Para ciclo hamiltoniano, apenas um vértice inicial é necessário (ciclos são invariantes por rotação). Para caminho hamiltoniano, os inícios são testados em ordem crescente de grau de saída — as posições mais raras primeiro.
  4. Limite de passos. Um limite rígido evita que instâncias patológicas rodem indefinidamente; a interface reporta o veredito como "expirado" se o limite for atingido.

Hamiltoniano vs Euleriano

É fácil confundir problemas hamiltonianos e eulerianos — eles soam parecidos, mas são fundamentalmente diferentes:

Propriedade Caminho / Ciclo Hamiltoniano Trilha / Circuito Euleriano
Visita cada… Vértice exatamente uma vez Aresta exatamente uma vez
Complexidade NP-completo Polinomial (O(n+m))
Condição Sem caracterização simples Conectado + todos os graus pares (para circuito); no máximo 2 ímpares para trilha
Nomeado após W. R. Hamilton (1857) L. Euler (1736, pontes de Königsberg)
Exemplo clássico Caixeiro Viajante, Jogo Icosiano Inspeção de rotas, problema do carteiro

Formatos de Entrada Suportados

Lista de arestas

Uma aresta por linha ou separadas por vírgula. Separadores suportados: A-B, A B, A,B, A--B, A->B, A<-B. Use -> para forçar uma interpretação direcionada.

A-B, B-C, C-D, D-A, A-C (grafo não direcionado com 5 arestas) A->B, B->C, C->D, D->A (ciclo de 4 direcionado)

Matriz de adjacência

Matriz quadrada de valores 0/1, uma linha por linha, separada por espaço ou vírgula. Forneça rótulos opcionais no campo Rótulos da Matriz; caso contrário, A, B, C… são usados automaticamente.

0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0

Como usar este verificador

  1. Escolha um formato de entrada — Lista de Arestas para grafos pequenos escritos à mão, Matriz de Adjacência para colagens de código ou livros didáticos.
  2. Cole seu grafo na área de texto. Para entrada de matriz, forneça rótulos de vértices opcionalmente.
  3. Escolha o que verificar: Apenas Caminho, Apenas Ciclo ou Ambos em uma execução.
  4. Selecione o tipo de grafo — A detecção automática infere a direcionalidade pelo estilo da seta (->) ou pela simetria da matriz.
  5. Clique em Verificar Hamiltoniano. A página de resultados mostra um título de veredito, a pré-verificação de condição necessária, os testes de condição suficiente Dirac / Ore, o caminho testemunha (se houver) e uma visualização interativa.
  6. Reproduza a testemunha usando os controles Play / Step. Veja o caminho acender aresta por aresta no grafo.

Exemplo Prático — O Grafo de Petersen

O famoso grafo de Petersen (10 vértices, 15 arestas, 3-regular) é um exemplo clássico de um grafo com um caminho hamiltoniano, mas sem ciclo hamiltoniano. Cole isto no campo da lista de arestas e clique em Verificar:

1-2, 2-3, 3-4, 4-5, 5-1, 6-8, 8-10, 10-7, 7-9, 9-6, 1-6, 2-7, 3-8, 4-9, 5-10

O verificador confirma: caminho hamiltoniano encontrado (ex: 1 — 2 — 7 — 10 — 5 — 4 — 9 — 6 — 8 — 3), mas a busca exaustiva não encontra maneira de fechar o laço de volta — um resultado provado pela primeira vez na década de 1890.

Aplicações Comuns

Perguntas Frequentes

O que é um caminho hamiltoniano?

Um caminho hamiltoniano é um trajeto em um grafo que visita cada vértice exatamente uma vez. Recebe o nome de William Rowan Hamilton, que estudou o problema no grafo do dodecaedro em 1857. Decidir se tal caminho existe é um problema NP-completo, portanto, nenhum algoritmo conhecido o resolve em tempo polinomial para todos os grafos.

Qual a diferença entre um ciclo hamiltoniano e um caminho hamiltoniano?

Um ciclo hamiltoniano é um caminho hamiltoniano que retorna ao seu vértice inicial, formando um laço fechado que visita cada vértice exatamente uma vez. Todo ciclo hamiltoniano contém um caminho hamiltoniano (basta remover a aresta de fechamento), mas o inverso não é verdadeiro: muitos grafos têm um caminho hamiltoniano, mas nenhum ciclo hamiltoniano.

O que diz o teorema de Dirac?

O teorema de Dirac (1952) afirma que qualquer grafo simples não direcionado com n ≥ 3 vértices no qual cada vértice tem grau pelo menos n/2 contém um ciclo hamiltoniano. É uma condição suficiente, mas não necessária: muitos grafos que não atingem o limite de Dirac ainda possuem ciclos hamiltonianos.

O que diz o teorema de Ore?

O teorema de Ore (1960) afirma que se, para cada par de vértices não adjacentes u e v em um grafo simples com n ≥ 3 vértices, a soma de seus graus for pelo menos n, então o grafo tem um ciclo hamiltoniano. A condição de Ore é mais fraca que a de Dirac, portanto, o teorema de Ore se aplica sempre que o teorema de Dirac se aplicar.

Por que a busca é limitada a 20 vértices?

Os problemas de decisão de caminho e ciclo hamiltoniano são NP-completos. O tempo de execução no pior caso escala exponencialmente com o número de vértices. Com poda e a heurística de Warnsdorff, a calculadora processa muitos grafos pequenos de até 20 vértices rapidamente, mas instâncias mais complexas podem expirar o tempo. Além de 20 vértices, você deve usar solvers especializados como o Concorde ou formulações de programação inteira.

O que é a heurística de Warnsdorff?

A regra de Warnsdorff, proposta em 1823 para o problema da jornada do cavalo, diz que a cada passo você deve visitar o próximo vértice que tenha o menor número de vizinhos restantes não visitados. Esta regra de aparência gananciosa poda drasticamente a árvore de backtracking na prática e frequentemente encontra caminhos hamiltonianos sem qualquer retrocesso em grafos regulares.

Esta ferramenta encontra todos os caminhos hamiltonianos?

Não — ela encontra um único caminho ou ciclo testemunha quando ele existe. Contar o número total de caminhos hamiltonianos é em si um problema #P-completo e muito mais difícil do que o problema de decisão. Para enumeração, ferramentas especializadas ou solvers de programação inteira são mais apropriados.

Leitura Adicional

Cite este conteúdo, página ou ferramenta como:

"Verificador de Caminho Hamiltoniano" em https://MiniWebtool.com/br/verificador-de-caminho-hamiltoniano/ de MiniWebtool, https://MiniWebtool.com/

pela equipe miniwebtool. Atualizado: 21 de abr. de 2026

Você também pode experimentar nosso Solucionador de Matemática AI GPT para resolver seus problemas de matemática através de perguntas e respostas em linguagem natural.

Outras ferramentas relacionadas:

Operações matemáticas avançadas:

Ferramentas em destaque:

Remover espaçosCalculadora de Número de ExpressãoCalculadora BináriaGerador de endereços MACGerador de Letras AleatóriasGerador de Código MorseCalculadora de Desvio Padrão RelativoGerador de Cartelas de BingoCalculadora de Compatibilidade AmorosaGerador de Cores Aleatóriaspesquisa-de-endereço-MACCalculadora de ProporçãoCalculadora de Desvio Padrão - Alta PrecisãoContador de linhas📅 Calculadora de DatasCalculadora de CombinaçãoClassificar NúmerosFormatador de TextoConversor de Hex para BinárioCalculadora de Número de DestinoCalculadora de Signo Solar, Lunar e Ascendente 🌞🌙✨Gerador de Caça-PalavrasDecodificador de Código MorseGerador de IMEI AleatórioCalculadora de número de anjoCalculadora de Média HarmônicaCalculadora de cálcio corrigidaCalculadora de MedianaCalculadora de Dia do Ano - Que Dia do Ano é Hoje?📅 Calculadora de Diferença entre DatasConversor de Pés e Polegadas em CentímetrosConversor Octal para DecimalGerador de Palavras Aleatórias em InglêsConversor de Binário para OctalRemover Linhas Vazias do TextoCalculadora de Variação PercentualPesquisa de ID de Usuário do InstagramGerador de Superpoder AleatórioConversor de Binário para HexExtrator de Imagem de VídeoConversor de kPa para psiRemover acentos do textoConversor de Octal para BinárioGerador de AnagramasGerador de Endereço Falso AleatórioGerador de Números da LoteriaGerador de Cartas de Baralho Aleatórioconversor de ppm para porcentagemCalculadora de 1RM (Repetição Máxima)Lista de Anos BissextosCalculadora OctalCalculadora de NumerologiaGerador de LabirintosCalculadora de Estratégia MartingaleCalculadora de bônusPesquisa de ID de Usuário do FacebookConversor de Tamanho de ArquivoFerramenta Online para Remover PontuaçãoCalculadora de Número de Desejo da AlmaCalculadora de Coeficiente de VariaçãoCalculadora de Erro PercentualConversor de Hexadecimal para OctalCalculadora de Retorno de SaturnoConversor de cm para Pés e PolegadasGerador de Personagem RPG AleatórioRandomizador de Nomes OnlineDivisor de ÁudioCalculadora de Número MestreCalculadora de Taxa de Crescimento PercentualCalculadora de Octal para HexadecimalCriador de Box Plot (Gráfico de Caixa)Adicionar Números de Linha ao TextoAnalisador de Endereço MACcalculadora-hba1cPrimeiros n Dígitos do PiCalculadora de Números ComplexosCalculadora HexDivisor de ImagensCalculadora de Média, Mediana e ModaCalculadora de Número do NomeCalculadora de raiz quadradaGerador de CriptogramaCalculadora de Log Base 10Calculadora de quociente e restanteConversor de Decimal para BinárioGerador de Aniversário AleatórioGerador de Embaralhar PalavrasGerador de Coordenadas AleatóriasCalculadora de IdadeGerador de Hora AleatóriaSelecionador de Filmes AleatórioConversor de endereço IP para binárioGerador de Nomes AleatóriosConversor de Libras para QuilogramasCalculadora de Log (Logaritmo)Conversor PSI para BarCalculadora de Média GeométricaCalculadora de EntropiaCalculadora de notação científicaConversor de Binário para DecimalVerificador de Caminho HamiltonianoSolucionador do Caixeiro Viajante (TSP)Solucionador de Programação LinearCalculadora de Inclusão-ExclusãoSolucionador de Relações de RecorrênciaCalculadora de Matriz de AdjacênciaCalculadora de Ordenação TopológicaCalculadora de Coloração de GrafosSimulador de Portas LógicasSolucionador de Mapa de Karnaugh (K-Map)Simplificador de Álgebra BooleanaCalculadora de Função de PartiçãoCalculadora de Raiz DigitalVerificador de Número de FibonacciCalculadora de Frações EgípciasCalculadora de Função de MöbiusVerificador da Conjectura de GoldbachVerificador de Primo de MersenneLocalizador de Primos GêmeosVerificador de Números AmigáveisVerificador de Número PerfeitoCalculadora de Exponenciação ModularCalculadora de Permutações com RepetiçãoCalculadora de Tamanho de EfeitoCalculadora de Risco RelativoCalculadora de Razão de ChancesCalculadora de Tabela de ContingênciaCalculadora do Teste Exato de FisherCalculadora de Correlação de Postos de SpearmanCalculadora de Distribuição BetaCalculadora de Distribuição de WeibullCalculadora de Distribuição ExponencialCalculadora de Distribuição GeométricaCalculadora de Distribuição Binomial NegativaCalculadora de Distribuição HipergeométricaCalculadora de Teste F e Distribuição FCalculadora do Teorema de BayesCalculadora de Polinômio CaracterísticoCalculadora de Potência de MatrizCalculadora de Decomposição de CholeskyCalculadora de Decomposição QRCalculadora de Diagonalização de MatrizCalculadora Regra de CramerCalculadora de Espaço ColunaCalculadora de Espaço NuloCalculadora de Ângulo Entre VetoresCalculadora de Vetor UnitárioCalculadora de Magnitude de VetorCalculadora de Produto VetorialCalculadora de Produto EscalarCalculadora de Multiplicação de MatrizesCalculadora de Matriz InversaCalculadora RREF (Forma Escalonada Reduzida)Calculadora do Método de NewtonCalculadora de Matriz JacobianaCalculadora de Integral de SuperfícieCalculadora de Integral de LinhaCalculadora de RotacionalCalculadora de DivergênciaCalculadora de Gradiente MultivariávelCalculadora de Otimização (Cálculo)Solucionador de Taxas RelacionadasCalculadora de Taxa de Variação InstantâneaCalculadora de Taxa Média de VariaçãoCalculadora de Soma de Séries InfinitasCalculadora de Teste de Convergência de SériesCalculadora de Séries de PotênciaCalculadora de Série de MaclaurinCalculadora da Regra de L'HôpitalCalculadora de Integral ImprópriaCalculadora da Regra de SimpsonCalculadora da Regra TrapezoidalCalculadora de Soma de RiemannGraficador de Curvas ParamétricasCalculadora de Superfície de RevoluçãoCalculadora de Volume de RevoluçãoCalculadora de Distância em Geometria CoordenadaCalculadora Fórmula de HeronCalculadora de Linha Tangente ao CírculoCalculadora de Bissetriz do ÂnguloCalculadora de Círculo Inscrito (Incírculo)Calculadora de Circunscrição (Circuncírculo)Calculadora de Distância do Grande CírculoCalculadora de Distância 3DCalculadora de TorusCalculadora de Tronco de ConeCalculadora de Área de Polígono IrregularCalculadora de Polígono RegularIdentificador de Seção CônicaCalculadora de HipérboleCalculadora de ParábolaCalculadora de Expansão do Teorema BinomialGerador do Triângulo de PascalCalculadora de Notação de Produto (Notação Pi)Calculadora de Notação Sigma (Somatório)Calculadora do Teorema da Raiz RacionalCalculadora da Regra dos Sinais de DescartesCalculadora de Linhas Paralelas e PerpendicularesCalculadora de Equação da RetaConversor de Forma Padrão para Forma ReduzidaCalculadora de Forma Ponto-InclinaçãoResolvedor de Sistema de Equações Não LinearesSolucionador de Equações RacionaisResolvedor de Equações LiteraisSolucionador de Equações TrigonométricasResolvedor de Equações ExponenciaisResolvedor de Equações LogarítmicasCalculadora de Equação QuárticaSolucionador de Equação CúbicaCalculadora de EstimativaConversor de Número para FraçãoGerador de Contagem SalteadaCalculadora de Taxa UnitáriaCalculadora de Teto e PisoCalculadora de Valor AbsolutoEncontrador de Padrões NuméricosGerador de Gráfico de Valor PosicionalCalculadora de Ordem das Operações (PEMDAS)Calculadora de Adição e Subtração LongaCalculadora de Multiplicação LongaGerador de Tabuada🎮 Conversor de Moeda de Jogo🎲 Calculadora de Probabilidade de Loot🎰 Calculadora de Pity Gacha⚔️ Calculadora de DPS🎮 Conversor de Sensibilidade de Jogos❄️ Calculadora de Dia de Neve🚚 Estimador de Custo de Mudança🔍 Verificador de Plágio📷 OCR / Imagem para Texto📈 Criador de Gráfico de Linha🥧 Criador de Gráfico de Pizza📊 Criador de Gráfico de Barras🔊 Gerador de Tom🖱️ Contador de CliquesBloco de Notas Online⬛ Calculadora de Proporção de Tela🌍 Calculadora de Pegada de Carbono👙 Calculadora de Tamanho de SutiãCalculadora de Tamanho de PneuCalculadora de Custo de Combustível💧 Calculadora de Ponto de Orvalho🌡️ Calculadora de Índice de Calor🌬️ Calculadora de Sensação Térmica do Vento⏰ Despertador Online⏰ Calculadora de Cartão de Ponto🕐 Conversor de Hora Militar⏱️ Calculadora de Horas⏱️ Cronômetro Online⏱️ Temporizador de Contagem Regressiva🌐 Conversor de Fuso HorárioCalculadora de CarpeteCalculadora de Muro de ContençãoCalculadora de Dimensionamento HVACCalculadora de IsolamentoCalculadora de PavimentaçãoCalculadora de VergalhãoCalculadora de MadeiraCalculadora de Metragem QuadradaCalculadora de Multiplicação CruzadaCalculadora de Resumo de Cinco NúmerosCalculadora de PercentilCalculadora de Distribuição NormalCalculadora de Valor PCalculadora de ProporçãoCalculadora de Completar o QuadradoCalculadora de ArredondamentoCalculadora de Divisão LongaCalculadora CientíficaTemporizador de Estudo PomodoroCalculadora de Algarismos SignificativosCalculadora de Nota de ProvaCalculadora de Média PonderadaCalculadora de Nota FinalCalculadora de NotasCalculadora de Frequência de RessonânciaCalculadora de ImpedânciaCalculadora de Decibéis (dB)Calculadora de Fator de PotênciaCalculadora de Constante de Tempo RCCalculadora de TransformadorCalculadora de Bitola de FioCalculadora de Timer 555Calculadora de CapacitorCalculadora de Resistores em ParaleloCalculadora de Divisor de TensãoCalculadora de Resistor para LEDConversor de Mol/Grama/PartículaCalculadora de TitulaçãoCalculadora de Ponto de EbuliçãoCalculadora de Fórmula EmpíricaCalculadora de Rendimento PercentualCalculadora de EstequiometriaBalanceador de Equações QuímicasCalculadora de DiluiçãoCalculadora de Cavalos de PotênciaCalculadora de TorqueCalculadora de Queda LivreCalculadora da Lei dos Gases IdeaisCalculadora de PressãoCalculadora de DensidadeCalculadora de Trabalho e PotênciaCalculadora de Energia PotencialCalculadora de Energia CinéticaCalculadora de Movimento de ProjétilCalculadora de MomentoCalculadora de VelocidadeCalculadora de AceleraçãoCalculadora de ForçaCalculadora de ROI de InfluenciadorCalculadora de ROASCalculadora de CTRVerificador de Nome de Usuário de Mídia SocialOtimizador de Horário de Postagem em Mídias SociaisCalculadora de ROI de Mídias SociaisCalculadora de Custos de Anúncios do FacebookCalculadora de Monetização do YouTube ShortsCalculadora de Ganhos do TwitchCalculadora de Tempo de Exibição do YouTubeConversor de Timestamp do Twitter/XEstatísticas do Canal do YouTubeCalculadora de Dinheiro do TikTokGuia de Tamanho de Imagem para Redes SociaisGerador de Fontes para InstagramContador de Caracteres Twitter/XSeletor de Comentários do YouTubeExtrator de Tags do YouTubeBaixador de Miniaturas do YouTubeEstimador de Ganhos do YouTube