Ho un grafico totale non orientato in cui i nodi rappresentano punti sui punti di un piano ei bordi sono distanze euclidee approssimative tra i punti. Mi piacerebbe "incorporare" questo grafico in uno spazio bidimensionale. Cioè, voglio convertire ogni vertice in una tupla di posizione (x, y) in modo che per qualsiasi due due vertici vew, il bordo (v, w) abbia un peso vicino a dist (v, w).Incorporamento di un grafico nello spazio euclideo
Ad esempio, se avessi il grafico con i nodi A, B, C e D e i bordi con i pesi (A, B): 20; (A, C): 22; (A, D): 26; (B, C): 30; (B, D): 20, (C, D): 19, quindi è possibile assegnare i punti A: (0,0); B: (10, 0); C: (0, 10); D: (10, 10). Chiaramente questo è imperfetto, ma è un'approssimazione ragionevole.
Non mi interessa ottenere la migliore soluzione possibile, voglio solo uno ragionevole in un ragionevole lasso di tempo.
(Nel caso in cui si desideri la motivazione per questo problema, ho un sistema fisico in cui ho misurazioni rumorose delle distanze da tutte le coppie di punti. Le misurazioni della distanza sono rumorose, ma tendono ad essere all'interno di un fattore di due Ho realizzato tutte queste misurazioni e ora ho un grafico con diverse migliaia di nodi e diversi milioni di spigoli e voglio posizionare i punti su un aereo.