Resolva o Algoritmo de Christofides do algoritmo clássico TSP

Algoritmo Christofides

Até o momento, existem inúmeros algoritmos heurísticos para resolver problemas de TSP, mas existem muito poucos algoritmos que podem garantir a lacuna entre a solução ótima obtida pelo algoritmo e a solução ótima real

Este artigo começará com o pseudocódigo do Algoritmo Christofides e explicará seu processo eCálculo aproximado da proporção

pseudo-código

1. Construa a árvore geradora mínima T do gráfico

Árvore geradora: Um gráfico conectado contendo n-1 arestas conectando n pontos no gráfico G.

Árvore geradora mínima: A árvore geradora com o menor comprimento total.
Insira a descrição da imagem aqui

2. O é um conjunto de vértices com um número ímpar de graus na árvore geradora mínima T, então há um número par de vértices em O

Grau: O número de arestas conectadas a um vértice. (Vértices de graus ímpares são marcados em azul)
Insira a descrição da imagem aqui

Por que se diz que existe um número par de vértices em O (ou seja, o número de vértices com graus ímpares é par)?
(1) Ambas as extremidades de uma aresta contarão como um grau, ou seja, uma aresta tem dois graus, então o grau total é o dobro do número de arestas, que é um número par.

(2) O grau dos vértices do gráfico é um número ímpar ou par, portanto, subtrair os graus de todos os vértices de grau par do grau total é o grau total dos vértices de grau ímpar. números pares devem ser pares. A fórmula é a seguinte.

Insira a descrição da imagem aqui

(3) Como o grau de cada vértice de grau ímpar é um número ímpar, seu número deve ser par.

3. Construa o casamento completo mínimo M do conjunto de pontos O no gráfico completo original.

Grafo completo: Um grafo completo é um grafo simples não direcionado no qual cada par de vértices diferentes é conectado por exatamente uma aresta.

Correspondência (ou conjunto de arestas independente) significa que quaisquer duas arestas neste gráfico não têm vértices comuns e cada vértice está conectado a no máximo uma aresta.

Uma correspondência exata é uma correspondência que inclui todos os vértices no grafo G.

A correspondência exata mínima é a correspondência exata com o menor comprimento total das arestas de conexão.

A correspondência exata mínima do conjunto O é a seguinte:
Insira a descrição da imagem aqui

4. Mescle os conjuntos de arestas de M e T para construir um gráfico pesado J, que irá satisfazer que cada vértice tem um grau par.

Por que todos os vértices têm grau par?
(1) Os vértices de grau par na árvore geradora mínima não mudaram e ainda são de grau par.

(2) Os vértices com graus ímpares na árvore geradora mínima são anexados ao seu próprio casamento mínimo completo, e cada ponto do casamento mínimo completo conecta apenas uma aresta, ou seja, o grau só aumenta em 1, e o número ímpar mais 1 se torna um número par.

O diagrama esquemático da união é o seguinte:
Insira a descrição da imagem aqui

5. J pode formar um circuito de Euler E.

Circuito de Euler: passa por todas as arestas do gráfico desde o ponto inicial e retorna ao ponto inicial, e passa por cada aresta apenas uma vez.

Um gráfico não direcionado tem um ciclo de Euler se e somente se o grau de todos os vértices do gráfico for par e o gráfico for um gráfico conectado.

A partir do ponto 1, seu circuito de Euler é o seguinte:
Insira a descrição da imagem aqui

6. Transforme o gráfico obtido na etapa anterior em um ciclo hamiltoniano H: basta pular os vértices repetidos no circuito de Euler na etapa anterior (esta etapa também é chamada de atalho)

Ciclo Hamiltoniano: Uma rota que começa em um ponto e passa por todos os outros nós apenas uma vez e finalmente retorna ao ponto inicial.

Ignorar alguns vértices repetidos resulta no seguinte ciclo hamiltoniano:
Insira a descrição da imagem aqui

proporção aproximada

De acordo com a explicação do pseudocódigo na parte anterior, o processo de solução pode ser simplesmente expresso da seguinte forma:

Insira a descrição da imagem aqui
Suponha que o TSP da imagem originalA rota ideal é eu, seu comprimento é L(I). A rota TSP ótima H calculada pelo Algoritmo de Christofides (o ciclo hamiltoniano obtido na última etapa do pseudocódigo), o comprimento da rota é L(H), o comprimento total das arestas da árvore geradora mínima T durante o cálculo é L( T), e o grau ímpar O comprimento total da correspondência mínima completa M do conjunto de vértices O é L(M).

(1) O comprimento do circuito de Euler E: L(E)=L(T)+L(M), o comprimento do circuito hamiltoniano H: L(H)<L(E);

(2) O comprimento mínimo da árvore geradora L(T)<=L(I), porque o caminho ideal é uma árvore geradora sem uma aresta, e é certamente impossível ser menor que o comprimento mínimo da árvore geradora;

(3) O caminho mais curto I1 do conjunto de vértices de grau ímpar O pode ser composto por dois esquemas de emparelhamento completos, conforme mostrado na figura abaixo, onde o azul é o emparelhamento mínimo completo M, a aresta verde representa outro esquema de emparelhamento completo , e a duração total das duas partidas é L (I1), existem: L(M)<=0,5L(I1).

Insira a descrição da imagem aqui
(4) Como o conjunto de pontos O contém apenas uma parte dos pontos no gráfico do problema original, seu comprimento ideal de linha TSP definitivamente não será maior que o do problema original, ou seja, L(I1)<=L(I ), de acordo com (3) Então há: L(M)<=0,5L(I1)<=0,5L(I).

Resumindo, L(H)<L(E)=L(T)+L(M)<=L(I)+0,5L(I)=1,5L(I).A solução ótima obtida por este algoritmo é o mesmo que A proporção máxima de aproximação da solução ótima real é 1,5.

Referências

1. Descrição do algoritmo christofides da Enciclopédia Baidu .

2、https://www.dazhuanlan.com/2020/01/21/5e270a6ee6798/ .

3. Explicação detalhada do teorema do aperto de mão na teoria dos grafos .

Acho que você gosta

Origin blog.csdn.net/meiyoushui_/article/details/114949295
Recomendado
Clasificación