Maximieren Sie den Abstand zwischen k Knoten in einem Diagramm

8

Ich habe einen ungerichteten ungewichteten Graphen und möchte Knoten aus so auswählen, dass sie in Bezug auf die geodätische Entfernung paarweise so weit wie möglich voneinander entfernt sind . Mit anderen Worten, sie müssen so weit wie möglich im Diagramm verteilt sein.k G.GkG

Lassen ist die Länge eines kürzesten Weg zwischen und in . Definieren Sie nun für eine Menge von Eckpunktenu v G X V ( G ) d ( X ) = { u , v } X d ( u , v ) .d(u,v)uvGXV(G)

d(X)={u,v}Xd(u,v).

Das Problem SCATTERED SET sei das Problem am Eingang nach einer Menge von Eckpunkten fragt, die maximieren .k X d ( X )G,kkXd(X)

Gibt es einen effizienten Algorithmus zum Lösen von SCATTERED SET?

jbx
quelle
@DW Das Ziel wäre es, den Abstand zwischen allen ausgewählten Knoten zu maximieren. In Ihrem Beispiel wäre 5,5,5 besser, da es 15 wäre. Eine andere Sichtweise ist, dass ich die Anzahl der Zwischenknoten im Diagramm maximieren muss, die man durchqueren müsste, um schließlich alle zu besuchen ausgewählte Knoten. Sie sind sich beim Clustering nicht so sicher, haben Sie einen bestimmten Ansatz im Sinn?
jbx
Dies ist dem Problem der geodätischen Zahl etwas ähnlich. Eine Menge von Eckpunkten eines Graphen ist geodätisch, wenn jeder Eckpunkt von auf einem kürzesten Weg zwischen zwei (nicht notwendigerweise) unterschiedlichen Eckpunkten in . Bei einem Graphen und einer ganzen Zahl besteht das Problem darin, zu entscheiden, ob höchstens eine geodätische Menge an Kardinalität hat . Das Problem ist NP-vollständig, selbst für zweigeteilte Akkordgraphen. G G X G k G kXGGXGkGk
Juho
Das Ziel kann umgeschrieben werden, um die durchschnittliche Entfernung zu maximieren.
Pål GD
etwas ähnlich wie das Finden von Hubs / Zentren in einem Diagramm
vzn

Antworten:

4

Ich weiß nicht, ob es einen Polynom-Zeit-Algorithmus gibt (es scheint NP-schwer zu sein), aber hier sind einige plausible algorithmische Ansätze, die Sie in Betracht ziehen könnten, wenn Sie ihn in der Praxis lösen müssen:

Heuristik

Ein gut erforschter Algorithmus ist Furthest Point First (FPF). Bei jeder Iteration wird ein Punkt ausgewählt, der am weitesten von der bisher ausgewählten Punktmenge entfernt ist. Iterate mal. Da es sich um eine gierige Strategie handelt, gibt es keinen Grund zu der Annahme, dass dies eine optimale oder sogar nahezu optimale Antwort liefert, und sie wurde entwickelt, um eine etwas andere Zielfunktion zu optimieren ... aber in einigen Kontexten gibt sie eine vernünftige Annäherung es könnte einen Versuch wert sein.k

FPF stammt aus der Literatur zum graphbasierten Clustering und wurde in folgendem Forschungsbericht vorgestellt:

Teofilo F. Gonzalez. Clustering, um den maximalen Abstand zwischen den Clustern zu minimieren . Theoretical Computer Science, Bd. 38, S. 293-306, 1985.

Sie können versuchen, die Literatur zu graphbasiertem Clustering zu durchsuchen, um festzustellen, ob jemand Ihr spezifisches Problem untersucht hat.

Genaue Algorithmen

Wenn Sie dieses Problem in der Praxis haben und eine genau optimale Lösung benötigen, können Sie versuchen, es mit einem ILP-Solver zu lösen.

Hier ist wie. Führen Sie 0-oder-1-Variablen , wobei angibt, ob der te Scheitelpunkt ausgewählt wurde, und 0-oder-1-Variablen , mit der beabsichtigten Bedeutung, dass nur ist, wenn und . Maximieren Sie nun die Zielfunktion unter den Bedingungen und und . Lösen Sie dieses ILP nun mit einem handelsüblichen ILP-Solver. Da ILP NP-hart ist, gibt es keine Garantie dafür, dass dies effizient ist, aber es könnte bei einigen Probleminstanzen funktionieren.xixiiyi,jyi,j=1xi=1xj=1i,jd(i,j)yi,jxikxiyi,jxjyi,j

Ein anderer Ansatz ist die Verwendung von gewichtetem MAX-SAT . Führen Sie insbesondere die booleschen Variablen und ein, wenn der te Scheitelpunkt ausgewählt wurde, sowie die Variablen . Die Formel lautet , wobei wahr sein muss (seine Klauseln haben das Gewicht für einige sehr große ) und jede Klausel gegeben ist Gewicht . Definieren Sie die Formel um wahr zu sein , wenn höchstens des ist wahr sind (siehe hier für Details, wie das zu tun) , und wennx i i y i , j φ i , j y i , j φ W W y i , j d ( i , j ) φ k x i y i , j = x ix j i , jxixiiyi,jϕi,jyi,jϕWWyi,jd(i,j)ϕkxiyi,j=xixj für alle . Die Lösung für dieses gewichtete MAX-SAT-Problem ist nun die Lösung für das ursprüngliche Problem. Sie können also versuchen, einen gewichteten MAX-SAT-Löser auf das Problem zu werfen. Die gleichen Einschränkungen gelten.i,j

DW
quelle
8

Nein, das Problem ist NP-vollständig.

Sei eine Instanz von INDEPENDENT SET. Konstrukt durch eine universelle Vertex Zugabe zu . Die entscheidende Beobachtung ist, dass der Abstand zwischen zwei Eckpunkten in genau dann 1 in beträgt, wenn sie in benachbart sind , und ansonsten 2.G ' U G G G ' G(G,k)GuGGGG

Die optimale Lösung von SCATTERED SET am Eingang ist genau dann wenn einen unabhängigen Satz der Größe .(G,k) Gk2(k2)Gk

Pål GD
quelle