Ich habe eine Menge von Punkten und ich habe den Abstand zwischen jedem Punkt D ( P i , P j ) . Diese Abstände sind euklidisch, aber die Punkte befinden sich tatsächlich in einem Merkmalsraum.
Aus den Punkten möchte ich eine Teilmenge von n Punkten auswählen . Nennen Sie diese Teilmenge s . Ich mag diese Teilmenge wählen , um den Mindestabstand zwischen allen Punkten in dem neuen Satz zu maximieren s .
Im Moment benutze ich Bergsteigen, um dieses Problem zu lösen. Ich verstehe, dass simuliertes Tempern eine bessere Lösung geben kann.
Gibt es eine bekannte Lösung für diese Art von Problem? Oder kann dieses Problem in ein anderes Problem umformuliert werden, das leicht zu lösen ist?
optimization
user1389800
quelle
quelle
Antworten:
Die Entscheidungsproblemversion dieses Optimierungsproblems lautet:
Wenn Sie das Entscheidungsproblem lösen können, können wir natürlich Ihr Optimierungsproblem lösen (durch binäre Suche auf der Schwelle ).t
Nun ist dieses Entscheidungsproblem ist das Problem des Findens einen unabhängigen Satzes in einem euklidischen Graph ist, in dem Punkt hat einen Rand zwischen ihnen , wenn sie im Abstand sind auseinander. Ein Ansatz wäre, Standard-Approximationsalgorithmen für unabhängige Mengen zu betrachten.x , y ≤ t
Noch besser ist es, sich Algorithmen für unabhängige Mengen in geometrischen Schnittkurven anzusehen . Stellen Sie sich einen Scheibensatz vor, bei dem jede Scheibe den Durchmesser und an einem der Punkte in Ihrem Satz zentriert ist . Jetzt können wir einen geometrischen Schnittgraphen bilden, bei dem es für jede Scheibe einen Scheitelpunkt und eine Kante zwischen zwei Scheitelpunkten gibt, wenn sich die entsprechenden Scheiben schneiden. Das Problem, eine unabhängige Menge in einem solchen Graphen zu finden, wurde untersucht, und für dieses Problem gibt es Approximationsalgorithmen, die Sie ausprobieren können.t C
Wenn Sie eher das exakte Optimum als eine Annäherung wünschen, können Sie einen der standardmäßigen "großen Hämmer" verwenden, z. B. einen SAT-Löser oder einen ILP-Löser. Es gibt eine einfache Möglichkeit, das Problem der unabhängigen Menge als SAT-Instanz zu formulieren. Anschließend können Sie einen SAT-Löser darauf anwenden, um festzustellen, ob eine Teilmenge von Punkten vorhanden ist, die alle Einheiten voneinander entfernt sind.n ≥ t
quelle