Caminhos de Euler e de Hamilton
Decida se existe percurso que passa por todas as arestas uma vez (Euler) ou por todos os vértices uma vez (Hamilton), e anime como Hierholzer e a busca constroem o caminho.
Decida se existe percurso que passa por todas as arestas uma vez (Euler) ou por todos os vértices uma vez (Hamilton), e anime como Hierholzer e a busca constroem o caminho.
Os dois problemas parecem parecidos, mas são de natureza muito diferente.
Um caminho de Euler passa por cada aresta exatamente uma vez. Um circuito de Euler é um caminho de Euler que volta ao início. Existe uma regra simples para decidir:
O algoritmo de Hierholzer constrói o percurso: anda por arestas livres até travar, empilha e, ao desempilhar, escreve o circuito de trás para frente. Quando as condições não valem, a construção trava antes de usar todas as arestas, e a animação mostra exatamente isso.
O problema das pontes da cidade de Königsberg pergunta se é possível cruzar as sete pontes exatamente uma vez cada. O predefinido representa as margens e as ilhas como vértices. Há quatro vértices de grau ímpar, então não existe percurso. A história completa do problema e a prova de Euler estão na aula As pontes de Königsberg.
Um caminho de Hamilton passa por cada vértice exatamente uma vez; um circuito volta ao início. Ao contrário de Euler, não há regra de grau que decida. O problema é NP-completo: não se conhece algoritmo rápido em geral. A aula faz uma busca com retrocesso, que testa caminhos e volta quando trava. Ela tem um orçamento de passos, e se o estourar mostra uma mensagem em vez de travar a página. Para grafos pequenos, a busca termina rápido.
Repare que o grafo de Petersen tem caminho de Hamilton, mas não tem circuito de Hamilton.
No problema das pontes de Königsberg, quantos vértices têm grau ímpar, e isso permite o percurso?
Carregue o predefinido de Königsberg e leia o diagnóstico. A história completa e a prova de Euler estão na aula As pontes de Königsberg.
Descubra se o grafo de Petersen tem um caminho de Hamilton e se ele tem um circuito de Hamilton.
Use o modo Hamilton com a opção circuito desmarcada e depois marcada; compare o resultado.
Por que o algoritmo de Hierholzer só funciona quando o diagnóstico de Euler é positivo?
Quando sobram vértices de grau ímpar, a sequência gerada trava antes de usar todas as arestas. A narração mostra isso.
Nenhuma aula usa esta como pré-requisito ainda.
Trilha de estudo: Grafos · Mapa de conceitos