Recuperando uma incorporação de ponto de um gráfico com arestas ponderadas pela distância do ponto


10

Suponha que eu forneça um gráfico não direcionado com arestas ponderadas e diga que cada nó corresponde a um ponto no espaço 3D. Sempre que há uma aresta entre dois nós, o peso da aresta é a distância entre os pontos.

Seu objetivo é reconstruir as posições relativas dos pontos, considerando apenas as distâncias disponíveis (representadas pelos pesos das arestas). Por exemplo, se eu lhe der , então você sabe que os pontos são os vértices de um tetraedro . Você não sabe onde é relativo à origem, nem à sua orientação, ou se foi espelhado, mas pode dizer que é um tetraedro.d0 0,1 1=d0 0,2=d0 0,3=d1 1,2=d1 1,3=d2,3=1 1

Em geral, o problema é fácil se eu fornecer todos os comprimentos das bordas. Escolha apenas arbitrariamente um ponto para estar em ( 0 , 0 , 0 ) , depois escolha um ponto vizinho p 1 e coloque-o em ( d 0 , 1 , 0 , 0 ) , para que um vizinho comum p 2 seja triangulado no Plano XY, então um vizinho comum final p 3 é triangulado no meio espaço z > 0p0 0(0 0,0 0,0 0)p1 1(d0 0,1 1,0 0,0 0)p2p3z>0 0e quebra a simetria restante (supondo que você não tenha escolhido pontos degenerados). Você pode usar esses quatro pontos para triangular todos os demais.

Por outro lado, quando faltam alguns comprimentos de borda, talvez não seja possível recuperar a incorporação. Por exemplo, se houver um vértice que desconecte o gráfico ao ser cortado, os dois componentes que ele separaria se removidos podem girar em torno um do outro.

O que levanta as questões:

  • Qual é o preço de encontrar uma solução?
  • Como você determina se uma solução é única, até conversão / rotação / espelhamento? A conexão 3 é suficiente? Necessário?
  • Que tipos de condições tornam o problema trivial?
  • Se eu não prometo que os pesos das bordas realmente correspondem à distância do ponto em 3d, quão caro é determinar se uma incorporação é possível?

se sente como um problema de aprendizagem de máquina para mim ...
vzn

Não tenho idéia de qual resposta selecionar. Eles são todos bons de maneiras não sobrepostas. Top votado um é!
22414 Craig Gidney

Respostas:


5

Uma abordagem algorítmica para resolver esse problema: trate isso como um conjunto de nós, conectados por molas, e então deixe-os se acomodar / relaxar em forma.

Cada aresta corresponde a uma mola; se a distância entre os pontos v e w deve ser d v , w , a mola é escolhida para que idealmente seja do comprimento d v , w (pode ser maior ou menor, mas isso custa energia). Agora, queremos resolver um conjunto de posições que minimizem a energia total. Suponha que cada vértice v seja colocado no ponto x vR 3 . Então a energia total desse arranjo será(v,W)vWdv,Wdv,WvxvR3

E(x)=(v,W)E(distância(xv,xW)-dv,W)2.

Aqui os são dados (eles são os pesos nas arestas) e queremos resolver os x v 's (são as coordenadas dos pontos).dv,Wxv

Podemos resolver um arranjo que minimize essa energia total. Esse arranjo fornece um candidato razoável para as posições dos pontos. Este é um problema de otimização e existem técnicas padrão para resolver esse tipo de problema de otimização. Veja, por exemplo, o artigo Network Solutions de Erica Klarreich.x

Acho que não há garantia de que isso forneça a solução correta desejada. É possível que o problema de otimização possa se ajustar a um ótimo diferente que não reflete a organização real dos pontos que você estava procurando. No entanto, se o seu gráfico for suficientemente denso, desconfio que ele possa funcionar com frequência e fornecer a solução desejada.


Nota de rodapé: Obviamente, mesmo na melhor das hipóteses, só podemos resolver esse problema até translação, rotação e reflexão, pois essas transformações preservam todas as distâncias. Portanto, você não pode esperar uma solução única - mas pode esperar que a solução seja única até a tradução, rotação e reflexão.


Finalmente, há muito trabalho na incorporação de gráficos no espaço , minimizando a distorção da incorporação. Isso é muito relacionado; você está basicamente pedindo uma incorporação de distorção zero em 2 . Assim, as técnicas desenvolvidas nesse contexto também podem ser úteis para o seu problema. Normalmente, esse trabalho se concentra em encontrar uma incorporação de baixa distorção, porque esse trabalho se concentra no caso em que não há uma incorporação perfeita que faça todas as distâncias coincidirem exatamente; portanto, procura uma solução de baixa distorção (aquela em que a maioria das distâncias das bordas corresponder muito bem) - para que o trabalho seja focado em um problema um pouco diferente. No entanto, é possível que as técnicas deles também sejam eficazes na sua situação. Vale a tentativa.22


4

O problema é NP-Completo . A posição dos pontos é um bom certificado, portanto está em NP, e você pode codificar os circuitos no "existe um conjunto de pontos satisfatório?" problema.

Redução da avaliação do circuito para a incorporação à distância

Vamos reduzir a avaliação do circuito para um problema de incorporação à distância, criando um sistema de coordenadas, colocando bits lógicos nele, conectando os bits a serem iguais e criando widgets para as portas NOT e AND.

  1. Coordenadas . Precisamos de algum tipo de sistema de coordenadas com o qual possamos posicionar pontos. Faça isso criando um tetraedro "base" de pontos. Adicione quatro pontos, todos declarados a uma distância de um do outro. Isso força a forma desses quatro pontos em um tetraedro. Podemos posicionar outros pontos em relação ao nosso sistema de coordenadas de tetraedro, especificando sua distância para cada um dos quatro cantos da base. O tetraedro pode ser traduzido, girado e refletido, mas o mesmo acontecerá com todos os outros pontos.1 1

  2. Bits . Para fazer um pouco, posicionamos um triângulo de pontos em relação ao tetraedro base. O normal do triângulo deve apontar para cima ao longo do eixo Z, de modo que o triângulo fique paralelo ao plano XY (em coordenadas de tetraedro). Além disso, suas arestas devem ter comprimento . Feito isso, adicionamos um ponto de "valor" v , especificado para estar a uma distância de 1 dos outros três. Nós não ligar v para a base do sistema de coordenadas. Isso fornece duas posições possíveis: centralizada 11 1v1 1v acima ou abaixo do triângulo, como o canto final de um tetraedro. O bit está LIGADO se o ponto estiver acima do triângulo e DESLIGADO se estiver abaixo.1 13

  3. Fios . Podemos forçar dois bits a serem iguais, dizendo que a distância entre seus pontos de valor é igual à distância entre os centros de seus triângulos. Há uma exceção: quando o canto superior ou inferior de um dos bits se alinha exatamente com o plano central do outro. Nesse caso, primeiro usamos um fio para mover um dos bits verticalmente.

  4. NÃO . Podemos obter a negação de um pouco adicionando um segundo ponto de valor ao mesmo triângulo, mas exigindo que w seja uma distância de 2WW dav. Isso forçawa assumir a posição oposta av, com relação ao triângulo, dando-nos um pouco com o valor oposto.23vWv

  5. IMPLIES . A questão equidistante que tivemos que contornar os fios é realmente bastante útil. Quando os bits se alinham dessa maneira, que podemos forçar com um fio vertical, o mais alto implica o mais baixo. Se a mais alta for verdadeira, apenas a parte superior da mais baixa estará à distância certa. Se a mais alta for falsa, a parte superior e a parte inferior estão à distância certa.

  6. AND . Para que um bit seja igual a A e B , precisamos de duas implicações e um widget para forçar a igualdade quando A e B concordam. As implicações são apenas CCUMABUMAB e CCUMACBUMAB23CSUMASB2-1 123UMABSUMASB2+1 13SC2+1 123SUMASBUMABSCUMABSCCUMA=BSCCUMACSD1 123SCCCUMABUMA=B=CUMA=B

Com esses elementos, você pode codificar qualquer circuito em uma incorporação à distância. As entradas se tornam bits, os portões são decompostos em NOTs e ANDs, introduzindo novos bits conforme necessário, e é isso. Força a posição da saída como verdadeira e você obtém seu problema de satisfação.


3

Resposta parcial à exclusividade : a conexão 3 não é suficiente.

Q3

insira a descrição da imagem aqui

Q3

Pegue os cantos da caixa de papelão para ser os vértices de interesse. Cada canto de uma caixa de papelão tem distância fixa de outros cantos com os quais compartilha a face de uma caixa.

Q3


Eu não entendo direito. No entanto, eu percebi que você pode transformar a conexão 3 em conexão efetivamente 1 colocando pontos em cima uns dos outros. Portanto, a conexão em bruto 3 não pode ser suficiente.
22814 Craig Gidney

@ DW Expandir o argumento como sugerido. Eu não mantive você argumentar porque four points laying above or below the other fourpode ser transformado um no outro espelhando.
Apiwat Chantawibul

K4

K4K4

3

isso é conhecido como o seguinte problema e ocorre, por exemplo, com a reconstrução de coordenadas de redes de sensores que podem medir a distância de nós próximos, e este artigo pode servir como uma mini-pesquisa junto com os principais algoritmos. um método líder é conhecido como Projeção de Valor Singular, outro Threshholding de Valor Singular. os algoritmos são geralmente baseados em álgebra matricial e redução de classificação. o artigo implementa ambos os algoritmos e fornece algumas análises empíricas.

Reconstrução de distância euclidiana a partir de informações de distância parcial Xu, Chen

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.