Che cosa è un algoritmo per minimizzare alcune distanze D fra N elementi?
-
26-09-2019 - |
Domanda
Un compagno di classe stampato un diagramma di una banca dati per la classe, il genere con le linee che rappresentano le relazioni tra le tabelle. Tuttavia, le sue linee incrociate in tutto il luogo e sembrava brutto.
Così ho avuto modo di pensare a un modo per spostare i tavoli per ridurre al minimo la distanza totale di linea, e non riuscivo a pensare ad un modo per farlo, diversi dal semplice tutti di passare sopra l'altro. Quindi, in pratica: dato N articoli su alcune 2d coordinate di spazio e una certa quantità di connessioni tra coppie di tali elementi, come si fa a spostare gli elementi in modo che la distanza totale tra le coppie è minima, ma che nessuna distanza è inferiore a S? (In modo che le tabelle non sarebbero troppo vicini tra loro) C'è qualche algoritmo per questo?
(mi rendo conto che la distanza totale minima non necessariamente rendere il layout meno brutta;. Linee potrebbe ancora croce, ma il layout della tabella è proprio quello che mi ha fatto pensare)
Soluzione
Alcuni indizi:
http://en.wikipedia.org/wiki/Graph_drawing
http://en.wikipedia.org/wiki/Force-based_algorithms
diagramma dello schema del database è un caso di grafico (o potrebbe essere albero a seconda del vostro schema).
Saluti