Qual o comprimento esperado do caminho hamiltoniano mais curto em pontos selecionados aleatoriamente em uma grade plana?

9

k pontos distintos são selecionados aleatoriamente em uma grade . (Obviamente, k \ leq p \ vezes q e é um dado número constante.) Um gráfico ponderado completo é construído a partir desses pontos k, de modo que o peso da aresta entre o vértice ie o vértice j seja igual à distância de Manhattan de dois vértices na grade original .p×qkp×qkij

Estou procurando uma maneira eficiente de calcular o comprimento esperado do caminho hamiltoniano mais curto (peso total mínimo) que passa por esses k nós. Mais precisamente, as seguintes abordagens ingênuas não são desejadas:

Calculando o comprimento exato do caminho para todas as combinações de nós k e derivando o comprimento esperado.

Calculando o comprimento aproximado do caminho para todas as combinações de k nós usando a heurística básica do uso da árvore de abrangência mínima, que gera até 50% de erro. (Uma heurística melhor com menos erros pode ser útil)

Javad
fonte
Atualmente, não há esperança para um algoritmo eficiente, pois o problema do caminho hamiltoniano não ponderado na grade plana é NP-completo.
Mohammad Al-Turkistany
Quando você fala do caminho hamiltoniano, está pensando no caminho hamiltoniano com menor peso (também conhecido como problema do vendedor ambulante)?
a3nm
@ MohammadAl-Turkistany a dureza do HAM PATH não é necessariamente um obstáculo, já que o OP é apenas uma estimativa para pontos aleatórios.
Suresh Venkat
@ a3nm sim, e eu consertei.
Suresh Venkat
O que há de errado em calcular a duração exata do passeio para muitas amostras aleatórias de pontos e encontrar a expectativa e o desvio padrão? Qual é o tamanho de para ser? kk,p,q
quer

Respostas:

6

Supondo que e q sejam razoavelmente grandes, seria de esperar que o comprimento esperado dependesse principalmente da densidade, com algum termo de correção dependendo do perímetro. Portanto, seria, em primeira ordem, uma função da seguinte forma.pq

L(pqk)1/2f(k/pq)+(p+q)g(k/pq).

Agora, você pode usar experimentos com problemas de tamanho menor para descobrir o que e g são. Primeiro, para estimar f , você quer fazer experimentos com uma amostra sem um limite: a maneira mais fácil de fazer isso é usar uma p × p grade com o lado esquerdo ligado à direita e parte superior para a parte inferior, formando um toro . Para estimar g , você pode usar experimentos em uma grade p × q .fgfp×pgp×q

Para a estimativa, você precisa resolver (exatamente ou aproximadamente) TSPs relativamente grandes, pois quanto maiores os usados ​​para a estimativa, melhores serão os resultados. Você pode usar heurísticas que vêm dentro de alguns por cento ou o código TSP exato. Veja aqui algumas boas heurísticas. O solucionador Concorde TSP de Bill Cook encontrará o ideal exato para instâncias razoavelmente grandes (é o melhor código TSP disponível) e pode ser usado gratuitamente para pesquisas acadêmicas.

Peter Shor
fonte
Usando a terminologia do TSPLIB , eu estava procurando por SOP e não por TSP. Multiplicar o calculado para TSP por ( k - 1 ) / k fornece um limite superior para SOP. Infelizmente, o solucionador Concorde TSP não suporta SOPs e não encontrei nenhum solucionador de SOP online. E[L](k1)/k
Javad
Eu acho que, para o cálculo de , os casos com L maior e L menor são igualmente distribuídos em torno de E [ L ] , portanto, pode-se chegar a uma abordagem construtiva para encontrar um arranjo de k pontos na grade que (talvez aproximadamente) dá E [ L ] . Encontrar esse arranjo obviamente reduziria drasticamente o custo da computação. E[L]LLE[eu]kE[eu]
Javad
Também não entendi bem o motivo do coeficiente . Por que não deveria ser k 2 / ( p q ) ? Como essa formulação de aproximação muda para valores menores de p e q ? k2k2/(pq)pq
Javad
@Javad: Boa pergunta. Eu estava errado, porque de alguma forma estava pensando pontos quando escrevi minha resposta. O coeficiente vem da minha suposição de que a grade p × q possui arestas de comprimento unitário; portanto, toda a região é do tamanho p × q . A aresta média deve ter comprimento θ ( k2p×qp×qθ(pq/k)kfpqkf(k/pq)
k106