Dados 2 conjuntos de n pontos: minimize a soma das distâncias percorridas

7

Me deram dois conjuntos S,T cada um npontos em , quero encontrar uma bijeção , de modo que seja minimizado, com sendo o euclidiano distância.Rka:ST

sSd(s,a(s))
d

Estou ciente de que esse problema de transporte é um caso especial do problema de distância do movedor de terra, mas, como não é ponderado (e ultrapassa pontos), fico imaginando se existe um algoritmo mais eficiente do que o método húngaro de tempo cúbico para ele.

user695652
fonte
11
Para d=1 existe um algoritmo fácil e ganancioso com O(nlogn)tempo de execução. Talvez valha a pena pensar emd=2como o caso mais simples e interessante (não trivial).
DW
Eu duvido. Eu estava lendo um artigo de 2014 que precisava resolver exatamente isso como um subproblema, e eles usaram oO(n3)Algoritmo húngaro.
Jrandom_hacker 26/10/16
Como um caso muito especial: se d=2 você pode construir o casco convexo no conjunto de todos 2n pontos em O(nlogn)tempo e, em seguida, calcule a distância total para cada um dos 2 caminhos alternativos possíveis de arestas ao redor do casco. Se acontecer que o menor deles é uma solução válida, deve ser o ideal. (Obviamente este é um requisito ainda mais forte do que os pontos devem todos deitar no casco convexo, que já é uma condição muito forte ...)
j_random_hacker
Você pode alterá-lo para Rk ou algo desde que você está usando dpara a métrica
MCT

Respostas:

4

Conforme mencionado na declaração do problema, este é o Problema de Atribuição (correspondência bipartida de peso mínimo), onde é sabido que os pesos são as distâncias euclidianas.

Houve várias melhorias desde o algoritmo húngaro, pelo menos em termos de limites assintóticos. Dependendo do tamanho exato do gráfico, qualquer um dos vários algoritmos pode ser o melhor. Uma tabela no artigo de Cohen et al dá detalhes. O algoritmo de Edmonds e Karp éO(nm+n2euogn), e ainda é o melhor limite que não depende do peso máximo no gráfico. O algoritmo de Cohen parece ser o melhor para gráficos esparsos, o que não é a sua situação. Eu acho que o melhor para o seu gráfico denso seria o de SankowskiO~(Wnω), já que não depende de m.

Não sei se existem maneiras de explorar a estrutura de peso específica deste problema (distâncias euclidianas) para melhorias adicionais.

Fontes:

Caminhos mais curtos de peso negativo e capacidade da unidade Fluxo de custo mínimo em O~(m(10/7)euogW)Tempo. Michael B. Cohen, Aleksander Madry, Piotr Sankowski, Adrian Vladu
https://arxiv.org/abs/1605.01717v3 (pré-impressão)

J. Edmonds e RM Karp. Melhorias teóricas na eficiência algorítmica para problemas de fluxo de rede. J. ACM, 19 (2): 248-264, 1972.

Piotr Sankowski. Autômatos, Idiomas e Programação: 33º Colóquio Internacional, ICALP 2006, Veneza, Itália, 10 a 14 de julho de 2006, Anais, Parte I, capítulo Correspondência Bipartida Ponderada no Tempo de Multiplicação de Matrizes, páginas 274–285. Springer Berlin Heidelberg, Berlim, Heidelberg, 2006.
http://link.springer.com/chapter/10.1007%2F11786986_25

tjhighley
fonte