TSP 1d aproximado com comparações lineares?

21

O problema unidimensional do caminho do vendedor ambulante é, obviamente, o mesmo que a classificação e, portanto, pode ser resolvido exatamente por comparações no tempo , mas é formulado de tal maneira que a aproximação quanto a exata solução faz sentido. Em um modelo de computação em que as entradas são números reais e é possível arredondar para números inteiros, é fácil aproximar-se de um fator , para qualquer constante , no tempo : encontre min e max, arredonde tudo para um número dentro da distância do valor original e use a classificação radix. Mas os modelos com arredondamento têm uma teoria problemática da complexidade e isso me levou a pensar: e os modelos mais fracos de computação?O(nlogn)1+O(nc)cO(n)(maxmin)n(c+1)

Portanto, com que precisão o TSP unidimensional pode ser aproximado, em um modelo linear de árvore de comparação (cada nó de comparação testa o sinal de uma função linear dos valores de entrada), por um algoritmo cuja complexidade de tempo é o(nlogn) ? O mesmo método de arredondamento permite que qualquer taxa de aproximação da forma n1o(1) seja alcançada (usando pesquisas binárias para fazer o arredondamento e arredondando muito mais grosseiramente para torná-lo rápido o suficiente). Mas é possível atingir uma taxa de aproximação como O(n1ϵ) para alguns ϵ>0 ?

David Eppstein
fonte
Eu não estou familiarizado com 1D TSP. Você pode defini-lo?
Tyson Williams
4
@Tyson Williams: O problema do caminho do vendedor ambulante 1D é o caso especial do problema do caminho do vendedor ambulante euclidiano, em que todas as cidades estão no eixo x. Ou formalmente, você recebe n números reais a_1,…, a_n, e seu objetivo é gerar uma permutação π: {1,…, n} → {1,…, n} de modo que {_ {i = 1} ^ {n − 1} | a_ {π (i)} - a_ {π (i + 1)} | é minimizado.
Tsuyoshi Ito

Respostas:

10

EDIT (UPDATE): O limite inferior da minha resposta abaixo foi comprovado (por uma prova diferente) em "Sobre a complexidade de aproximar os passeios euclidianos dos vendedores ambulantes e as árvores mínimas", de Das et al; Algorithmica 19: 447-460 (1997).


é possível atingir uma taxa de aproximação como por algum in usando um algoritmo baseado em comparação?ϵ > 0 o ( n log n )O(n1ϵ)ϵ>0o(nlogn)

Não. Aqui está um limite inferior.

Afirmação. Para qualquer , todo algoritmo de aproximação baseado em comparação requer comparações no pior dos casos.n 1 - ε ohms ( ε n log n )ϵ>0n1ϵΩ(ϵnlogn)

Por "baseado em comparação", quero dizer qualquer algoritmo que apenas consulta a entrada com consultas binárias (Verdadeiro / Falso).

Aqui está uma tentativa de prova. Espero que não haja erros. FWIW, o limite inferior parece provável se estender a algoritmos aleatórios.


Corrija qualquer e qualquer arbitrariamente pequeno, mas constante .nϵ>0

Considere apenas oinstâncias de entrada "permutação" que são permutações de . A solução ideal para qualquer uma dessas instâncias custou .n!(x1,x2,,xn)[n]n1

Defina o custo de uma permutação para ser. Modele o algoritmo como tendo como entrada uma permutação , produzindo uma permutação e pagando o custo .c ( π ) = i | π ( i + 1 ) - π ( i ) | π π d ( π , π ) = c ( π π )πc(π)=i|π(i+1)π(i)|ππd(π,π)=c(ππ)

Defina como o número mínimo de comparações para qualquer algoritmo baseado em comparação, para obter uma razão competitiva nessas instâncias. Como opt é , o algoritmo deve garantir o custo no máximo .n 1 - ε n - 1 n 2 - εCn1ϵn1n2ϵ

Mostraremos .CΩ(ϵnlogn)

Defina como, para qualquer saída possível , a fração de entradas possíveis para a qual a saída alcançaria um custo no máximo . Essa fração é independente de .π π n 2 - ϵ π Pππn2ϵπ

π c ( π ) n 2 - ε π ' I P d ( π , I ) n 2 - ε d ( π , I ) = C ( π )P também é igual à probabilidade de que, para uma permutação aleatória , seu custo seja no máximo . (Para ver por que, considere como permutação de identidade Então é a fração de entradas para a qual no máximo , mas .)πc(π)n2ϵπIPd(π,I)n2ϵd(π,I)=c(π)

Lema 1. .Clog21/P

Prova. Corrija qualquer algoritmo que sempre use comparações inferiores aA árvore de decisão do algoritmo possui profundidade menor que , portanto, existem menos de folhas e, para alguma permutação de saída , o algoritmo fornece como saída para mais de um fração das entradas. Por definição de , para pelo menos uma dessas entradas, a saída custa mais que . QEDlog 2 1 / P 1 / P π π P P π n 2 - ϵlog21/Plog21/P1/PππPPπn2ϵ

Lema 2. .Pexp(Ω(ϵnlogn))

Antes de apresentarmos a prova do Lema 2, observe que os dois lemas juntos apresentam a afirmação:

C  log21P = log2exp(Ω(ϵnlogn)) = Ω(ϵnlogn).

Prova de lema 2. Seja uma permutação aleatória. Lembre-se de que é igual à probabilidade de seu custo ser no máximo . Digamos que qualquer par seja uma aresta com custo, então é a soma dos custos de borda.P c ( π ) n 2 - ϵ ( i , i + 1 ) | π ( i + 1 ) - π ( i ) | c ( π )πPc(π)n2ϵ(i,i+1)|π(i+1)π(i)|c(π)

Suponha que .c(π)n2ϵ

Então, para qualquer , no máximo das arestas custam ou mais. Digamos que bordas de custo menores que sejam baratas .n 2 - ϵ / q q qq>0n2ϵ/qqq

Corrija . Substituindo e simplificando, no máximo das arestas não são baratas. n 1 - ϵ / 2q=n1ϵ/2n1ϵ/2

Assim, pelo menos das arestas são baratas. Assim, existe um conjunto contendo arestas baratas.S n / 2nn1ϵ/2n/2Sn/2

Afirmação. Para qualquer conjunto de arestas, a probabilidade de que todas as arestas em sejam baratas é no máximo .N / 2 S exp ( - Ω ( ε N log N ) )Sn/2Sexp(Ω(ϵnlogn))

Antes de provarmos a afirmação, observe que ela implica o lema da seguinte forma. Pela alegação e pelo limite da união ingênua, a probabilidade de que exista esse conjunto é no máximo ( nSexp(S(n)-Ω(εNlogN))exp(-Ω(εNlogN)).

(nn/2)exp(Ω(ϵnlogn))  2nexp(Ω(ϵnlogn))
  exp(O(n)Ω(ϵnlogn))  exp(Ω(ϵnlogn)).

Prova de reivindicação. Escolha pelo seguinte processo. Escolha uniformemente entre , escolha uniformemente entre e escolha uniformemente entre etc.π ( 1 ) [ n ] π ( 2 ) [ n ] - { π ( 1 ) } π ( 3 ) [ n ] - { π ( 1 ) , π ( 2 ) }ππ(1)[n]π(2)[n]{π(1)}π(3)[n]{π(1),π(2)}

Considere qualquer borda em . Considere o tempo logo após a escolha de , quando está prestes a ser escolhido. Independentemente das primeiras escolhas (para para ), há pelo menos opções para e no máximo daquelas as opções darão ao limite custo menor que (tornando-o barato).S π ( i ) π ( i + 1 ) i π ( j ) j i n - i π ( i + 1 ) 2 n 1 - ϵ / 2 ( i , i + 1 ) n 1 - ϵ / 2(i,i+1)Sπ(i)π(i+1)iπ(j)jiniπ(i+1)2n1ϵ/2(i,i+1)n1ϵ/2

Assim, condicionado nas primeiras escolhas, a probabilidade de que a borda é barato, é, no máximo, . Portanto, a probabilidade de que todas as arestas em sejam baratas é no máximo Como , há pelo menos arestas em com . Portanto, este produto é no máximo 2 n 1 - ϵ / 2i n/2S(i,i+1)S2n 1 - ϵ / 22n1ϵ/2nin/2S| S| n/2n/4Sn-in/4(2n 1 - ϵ / 2

(i,i+1)S2n1ϵ/2ni.
|S|n/2n/4Snin/4
(2n1ϵ/2n/4)n/4  (8nϵ/2)n/4 = exp(O(n)Ω(ϵnlogn)) = exp(Ω(ϵnlogn)).

QED

Neal Young
fonte
6
ps Recebi um pedido para tornar isso citável, então coloquei-o no arvix.org aqui .
Neal Young