2015-11-07 23 views
5

Ich habe überall über Google und Stapel gesucht, aber noch keine Antwort auf dieses Problem gefunden. Ich finde immer Ergebnisse in Bezug auf die Simplex-Methode oder Ergebnisse zum Finden des kleinsten beliebigen Simplex (d. H. Die Ecken sind nicht beschränkt). Ich kann mir auch keine analytische Lösung vorstellen.Wie findet man den kleinsten N-dimensionalen Simplex aus einer Menge von Punkten, die einen bestimmten Punkt enthalten?

eine Reihe von N-dimensionalen Punkten gegeben, M und einen beliebigen N-dimensionalen Punkt, q, wie finde ich die kleinsten N-dimensionalen Simplex, S, die q enthält als ein innerer Punkt, wenn die Scheitelpunkte von S in M sein müssen? Ich bin sicher, ich könnte es mit einer Optimierung lösen, aber ich würde gerne eine analytische Lösung, wenn möglich. Ein deterministischer Algorithmus wäre ebenfalls in Ordnung.

Ich war mit ursprünglich einen K nächsten Nachbarn Ansatz, aber dann möglich, erkannte ich, es ist, dass die N + 1 nächsten Nachbarn q nicht unbedingt ein simplex erstellen, dieq enthält.

Vielen Dank im Voraus für jegliche Hilfe zur Verfügung gestellt.

+0

Ist q ein Punkt oder ein Simplex? (Ich frage wegen des Satzes "die Eckpunkte von q" in Ihrer Frage) – BrunoLevy

+0

Danke für das Hinzeigen. Ich habe es bearbeitet. – gibbled

+0

Mit "kleinster Simplex" meinst du das Volumen oder etwas anderes? Übrigens scheint das ein schweres Problem zu sein; Haben Sie bestimmte Werte oder Wertebereiche von N und M im Hinterkopf? – arghbleargh

Antwort

1

Ich denke, dass Sie dies tun können ist O (N^2) mit einem iterativen Prozess sehr ähnlich wie K-NN, aber vielleicht gibt es einen effizienteren Weg. Dies sollte den minimalen Simplex in Bezug auf die Anzahl der Vertices zurückgeben.

Für jede Koordinate i in q, können wir durch alle Elemente der M, iteriert die Q_i und m_i vergleicht. Wir werden die zwei Punkte in M auswählen, die uns die minimale positive Differenz und die minimale negative Differenz geben. Wenn wir diesen Vorgang für jede Koordinate wiederholen, sollten wir unseren Wert S haben.

Verstehe ich das Problem richtig?