Simplifique seu fluxo de trabalho: Pesquise miniwebtool.
Adicionar
Ferramentas relacionadas
Calculadora de Caminho Mais Curto de DijkstraCalculadora de Coloração de GrafosValidador de Sequência de Graus de GrafoCalculadora de Fluxo em Rede (Fluxo Máximo)Verificador de Grafo PlanarCalculadora de Algarismos SignificativosCalculadora de Ordenação Topológica
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.

Operações matemáticas avançadas:

Ferramentas em destaque:

Pesquisa de ID de Usuário do InstagramRemover espaçosGerador de Cartão de Crédito AleatórioGerador de Cartelas de BingoCalculadora de Número de DestinoGerador de endereços MACGerador de Letras AleatóriasGerador de IMEI AleatórioCalculadora de Número de ExpressãoCalculadora de Signo Solar, Lunar e Ascendente 🌞🌙✨Gerador de Código MorseGerador de Cores Aleatórias📅 Calculadora de DatasCalculadora de ProporçãoFormatador de TextoContador de linhasCalculadora de 1RM (Repetição Máxima)pesquisa-de-endereço-MACCalculadora de Compatibilidade AmorosaGerador de Superpoder AleatórioGerador de Cartas de Baralho AleatórioCalculadora de número de anjoRemover Linhas Vazias do TextoCalculadora de Variação PercentualCalculadora de Dia do Ano - Que Dia do Ano é Hoje?Gerador de Caça-PalavrasCalculadora de CombinaçãoCalculadora de Desvio Padrão RelativoClassificar Números🖱️ Contador de CliquesFerramenta Online para Remover PontuaçãoCalculadora de NumerologiaDivisor de ÁudioPesquisa de ID de Usuário do FacebookGerador de AnagramasEstatísticas do Canal do YouTubeConversor de Hex para BinárioConversor de kPa para psiCalculadora de MedianaCalculadora BináriaCalculadora de cálcio corrigidaRemovedor de Caracteres InvisíveisGerador de Números da LoteriaCalculadora de Monetização do YouTube ShortsAdicionar Quebras de LinhaGerador de Palavras Aleatórias em InglêsExtrator de Imagem de VídeoRandomizador de ListasRemover acentos do textoCalculadora de Número MestreGerador de Texto Pequeno ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾conversor de ppm para porcentagemcalculadora-hba1cGerador de Coordenadas AleatóriasConversor de FPSConversor de Tamanho de ArquivoGerador de Embaralhar PalavrasGerador de Endereço IP AleatórioCalculadora de Taxa de Crescimento PercentualCalculadora de Retorno de SaturnoLista de Anos BissextosConversor de Binário para HexCalculadora de Estratégia MartingaleDecodificador de Código MorseCalculadora de Tempo de FalaGerador de País AleatórioConversor de cm para Pés e PolegadasCalculadora de Ritmo de CorridaReverter VídeoGerador de Hash SHA256Gerador de Hora AleatóriaCalculadora de EscadaGerador de Personagem RPG AleatórioCalculadora de Coeficiente de VariaçãoCalculadora de reduzir fraçõesCalculadora de Número do Caminho da VidaCalculadora de bônusCalculadora de Desvio Padrão - Alta PrecisãoCalculadora de Número de Desejo da Alma👙 Calculadora de Tamanho de SutiãGerador de Verdade ou Desafio AleatórioGerador de CriptogramaCalculadora de Tamanho de Impressão e Resolução (DPI/PPI)Conversor de Fração para PercentualGerador de Sequência AleatóriaCalculadora de Ingestão de ProteínaCalculadora de Posição do SolGerador de Endereço Falso AleatórioCalculadora de Número de Personalidadeconversor de palavra para número de telefoneGerador de Aniversário AleatórioRandomizador de Linhas de Texto de EntradaAnalisador de Endereço MACCalculadora de IdadeCalculadora de Torque de ParafusoBaixador de Miniaturas do YouTubeConversor de Porcentagem para PPMGerador de Nomes AleatóriosGerador de DegradêBola Mágica 8Calculadora de Percentil de Crescimento do Bebê⬛ Calculadora de Proporção de TelaCalculadora de ÁreaCalculadora de Média GeométricaSelecionador de Filmes AleatórioCalculadora de Aumento de Porcentagem📅 Calculadora de Diferença entre DatasCalculadora de Equação da RetaGerador de Grupos AleatóriosSimplificador de FraçõesValidador de XMLCalculadora de Dosagem de MedicamentoCompactador de HTML OnlineGerador de PIN AleatórioRemover Números de Linha do TextoCalculadora de Tempo de Leitura🔊 Gerador de TomQual é o meu Número da Sorte?Calculadora de Divisão LongaCalculadora de Ganhos do TwitchCalculadora de Log (Logaritmo)Conversor de Hexadecimal para OctalCriador de Palavras CruzadasExtrator de Tags do YouTubeCalculadora de CoberturaCalculadora de Média - Alta PrecisãoCalculadora Hex🎮 Conversor de Sensibilidade de Jogos⏱️ Cronômetro OnlineSimulador de Portas LógicasCalculadora de Área de Polígono IrregularConversor de Binário para OctalCalculadora de Número de DígitosCalculadora ANOVACalculadora de Peso de AçoCalculadora WHtRGerador de Chaves de Torneio AleatórioQual é o meu Signo Chinês?Simulador de Soroban Ábaco JaponêsCalculadora de Custo de ImpressãoCalculadora de raiz quadradaConversor de Pés e Polegadas em CentímetrosExtrator de URL🔍 Verificador de PlágioCalculadora de NPS (Net Promoter Score)Calculadora de Área SuperficialCalculadora de Média, Mediana e ModaConversor de Calendário HebraicoConversor Octal para DecimalGerador de Data AleatóriaVerificador de Idade de DomínioVerificador de Nome de Usuário de Mídia SocialCalculadora de ChurrascoCalculadora de Frações ComparadasCalculadora de FraçõesCalculadora de MultiplicaçãoCompressor de VídeoDivisor de ImagensLançador de MoedaConversor de Octal para BinárioEstimador de Ganhos do YouTubeGerador de LabirintosGerador de Molde Planificado de ConeGerador de Texto InvisívelSeletor de Comentários do YouTubeBloco de Notas OnlineCalculadora de ComissãoCalculadora de Mistura de Óleo 2 TemposCalculadora de RetângulosGerador de Esboço de Artigo com IAGerador de Ligue os PontosGirar VídeoRandomizador de Nomes OnlineRelógio MundialVerificador de Contraste de Cores⏰ Calculadora de Cartão de PontoCalculadora de Ponto de EbuliçãoCalculadora de redução de porcentagemCalculadora de tempo de dobraConversor de psi para kPaGerador de SenhasGerador de Texto TachadoSRT Shift de TempoVerificador de Número Par ou ÍmparCalculadora de Cilindrada do MotorCalculadora de Distribuição de PoissonCalculadora de LinhaCalculadora de Média HarmônicaCalculadora de Risco de RuínaCalculadora de Tamanho de EfeitoCalculadora de Tamanho de Ponto CruzCalculadora de Tempo de Exibição do YouTubeCalculadora de VO2 MáxConversor de Códigos de Cor (Todos os Formatos)Conversor de endereço IP para binárioConversor de Taxa de Transferência de DadosConversor de Decimal para HexConversor Decimal para OctalConversor PSI para BarGerador de Frases Aleatórias em InglêsCalculadora de Tempo de CaminhadaCalculadora de Ritmo de RemoCalculadora de Corrida Ajustada por IdadeCalculadora de FTP e Zonas de PotênciaCalculadora de Beep TestCalculadora de Pontuação do ACFTCalculadora Wilks & DOTSCalculadora de Offset de RodaConsulta de Índice de Carga e Classificação de Velocidade do PneuCalculadora de Custo por MilhaCalculadora de Compra de LeasingCalculadora de Mistura de OctanagemCalculadora de Sofá na PortaCalculadora de Cordas de LenhaCalculadora de CADR de Purificador de ArCalculadora de Tamanho de DesumidificadorCalculadora de Tamanho de Ventilador de TetoCalculadora de Tamanho de CortinaCalculadora de Tamanho de TapeteCalculadora de Altura para Pendurar QuadrosCalculadora de Altura de Instalação de TVCalculadora de Tamanho de TVCalculadora de Volume e Lona de LagoCalculadora de Sal para PiscinaCalculadora de Volume de PiscinaCalculadora de Tamanho de Aquecedor de ÁguaCalculadora de Resina EpóxiCalculadora de Espaçamento de BalaústresCalculadora de Rodapé e AcabamentoCalculadora de RevestimentoCalculadora de Verniz para DeckCalculadora de Sementes de GramaCalculadora de GramaCalculadora de AsfaltoCalculadora de Jardas CúbicasCalculadora de Comprimento de AntenaCalculadora de Preenchimento de ConduíteCalculadora de Capacitores em Série e ParaleloCalculadora de Reatância IndutivaCalculadora de Iluminação de AmbientesCalculadora de Lux para LumensConversor de Lumens para WattsCalculadora de Tamanho de GeradorConversor de mAh para WhCalculadora de Potência TrifásicaCalculadora de kVACalculadora de Amperes para WattsCalculadora de Watts para AmpèresCalculadora de Resistores em SérieCalculadora de AtritoCalculadora de Plano InclinadoCalculadora de Vantagem MecânicaCalculadora de Velocidade do SomCalculadora de Velocidade da OndaCalculadora de EmpuxoCalculadora de Velocidade TerminalCalculadora de Comprimento de Onda de de BroglieCalculadora de Energia do FótonCalculadora E=mc²Calculadora de Dilatação do TempoCalculadora da Terceira Lei de KeplerCalculadora de Velocidade de EscapeCalculadora de Força GravitacionalCalculadora da Lei de Beer-LambertCalculadora da Equação de NernstCalculadora de Pressão OsmóticaCalculadora de Elevação do Ponto de EbuliçãoCalculadora de Depressão do Ponto de CongelamentoCalculadora de Composição PercentualCalculadora de NormalidadeCalculadora de MolalidadeConversor de pKa para KaCalculadora de Henderson-HasselbalchCalculadora de Rendimento TeóricoCalculadora de Reagente LimitanteCalculadora de Configuração EletrônicaTabela Periódica InterativaGerador de Plano de Aula com IAGerador de Quiz com IAGerador de Citações (APA/MLA/Chicago)Calculadora de Porcentagem de PresençaCalculadora de Pontuação APCalculadora de Pontuação ACTCalculadora de Pontuação do SATConversor de Porcentagem para CGPAConversor de CGPA para PorcentagemCorretor de Provas Fácil (EZ Grader)Calculadora do Custo de Criar um FilhoCalculadora de Consumo de Leite do BebêCalculadora de Tamanho de FraldasGerador de Nomes de BebêPreditor de Cor dos Olhos do BebêCalculadora de Percentil de IMC InfantilPreditor de Altura InfantilCalculadora de Tempo de Duplicação do hCGCalculadora de Data de Parto FIVCalculadora de ImplantaçãoPreditor Chinês de Sexo do BebêFormatador de Data ISO 8601Conversor de Data JulianaCalculadora de CochiloMoon Phase CalculatorCalculadora de Nascer e Pôr do SolConversor de Data para Números RomanosContagem Regressiva para AposentadoriaCalculadora de SobriedadeCalculadora de Meio AniversárioCalculadora de AniversárioCalculadora de Número da SemanaCalculadora de Divisão de GorjetasCalculadora de ROI de Email MarketingCalculadora de Custo por LeadCalculadora de Capital de Giro