Algorithmische Methoden oder Techniken, um Konjunktionen in großen Ensembles von Zustandsvektoren zu finden?

Angenommen, ich wollte die Frage beantworten: Wird Starman/Roadster in den nächsten Jahren besonders nahe an Asteroiden vorbeikommen? oder versuchen, Satellitenkonjunktionen um die Erde vorherzusagen (z. B. Celestraks SOKRATES ), und ich hatte Ephemeriden, TLEs oder interpolierbare Tabellen von Zustandsvektoren.

Die könnte ich in kleinen Zeitschritten propagieren, alle berechnen N Positionen und so N ( N 1 ) / 2 Entfernungen und suchen Sie nach Entfernungen unterhalb einer Entfernung D C Ö N J , aber das ist möglicherweise nicht der effizienteste Weg, dies zu tun.

Frage: Welche algorithmischen Methoden oder Techniken gibt es, um diese Art der Suche effizienter durchzuführen? Angenommen, die Propagatoren geben einen Sechser-Vektor (Position und Geschwindigkeit) zurück. Ich brauche eine Erklärung oder eine maßgebliche Referenz, nicht nur eine Namensnennung.

Diese Frage unterscheidet sich von algorithmischen Methoden oder Techniken, um Konjunktionen in Kepler-Element-Ensembles mit hohem N-Wert zu finden. weil es speziell nach Methoden fragt, die mit Zustandsvektoren arbeiten (entweder tabelliert oder auf Anfrage propagiert), die n-Körper-Effekte beinhalten können (z. B. die Sonne bewegt sich, Jupiter macht sein Ding usw.)

Ich habe beschlossen, diese Frage basierend auf diesem Rat erneut zu stellen . Ich erwarte, dass es dieses Mal fliegt, anstatt mit seiner Geschwisterfrage zu "konjunktieren" (kollidieren) .
Wenn ich richtig verstehe, dass Sie nach dem Problem des nächsten Punktepaars im sechsdimensionalen euklidischen Raum fragen , dann ist diese Frage allgemein genug, um zu Math.SE zu passen . Oder spezifizieren Sie irgendetwas im Zusammenhang mit der Orbitalmechanik?
Warum interessieren Sie sich für Geschwindigkeitskonjunktionen? Dh warum nehmen Sie die 3 Dimensionen bzgl. der Geschwindigkeit in den Zustandsvektor auf. Die ursprüngliche Starman/Roadster-Frage betrifft nur die Positionen.
@EverydayAstronaut eine Konjunktion ist, wenn zwei Objekte einen ähnlichen Punkt in der 4D-Raumzeit erreichen ( X C , j C , z C , T C ) . Ich habe nicht nach den Geschwindigkeiten gefragt T C . Um jedoch vorherzusagen, ob dies irgendwann in der Zukunft passieren wird, benötigen Sie ihre zwei Zustandsvektoren und zwei Epochen ( X 1 , j 1 , z 1 , v X 1 , v j 1 , v z 1 , T 1 ) Und ( X 2 , j 2 , z 2 , v X 2 , v j 2 , v z 2 , T 2 ) . Das ist das minimale Problem. Meine Frage bezieht sich auf ein Ensemble von N Zustandsvektoren und Epochen ( X ich , j ich , z ich , v X ich , v j ich , v z ich , T ich ) und anschauen Ö ( N 2 ) Paare und Vorhersagen von Konjunktionen für jedes.
Ich dachte, du hättest N Zustände ( X ich , j ich , z ich , v X ich , v j ich , v z ich ) und möchte unter diesen das nächste Punktpaar finden N Punkte in 6 Dimensionen für jeden diskreten Zeitpunkt. Bitte helfen Sie mir mit dieser 4-D-Einstellung. Welche Art von Metrik verwenden Sie in diesem Bereich für diesen Zweck? So etwas wie Minkowski? Ich meine, Sie müssen räumliche und zeitliche Distanz gewichten.
@EverydayAstronaut, wenn Sie sich den SOKRATES-Link in der Frage ansehen: "Berechnungsschwelle: 5,0 km". Wenn sie sich also irgendwann innerhalb von 5,0 km voneinander befinden (z. B. kann einmal eine andere Nummer gewählt werden), dann gab es eine Konjunktion .
Sie versuchen also, 2 räumlich ähnliche Punkte zur gleichen Zeit zu finden. Für zeitdiskrete Sätze von Positionen (3D) ist dies definitiv das Problem des nächsten Punktepaars. Wenn Sie hier keine Hilfe finden, empfehle ich Math.SE. Engineering.SE hat noch keine Tags "Kontaktmechanik" und "Mehrkörpersysteme" :-(
@EverydayAstronaut Ich sehe das Wort "genau" nirgendwo; Ich habe gerade "...innerhalb von 5,0 km voneinander ..." direkt über Ihrem Kommentar erwähnt. Wie auch immer, ich bitte nicht um jemanden, der mir erklärt, wie man das macht oder von Grund auf löst, ich bitte um Verweise auf bestehende Algorithmen, die spezifisch für die Situation eines Ensembles von gebundenen Umlaufbahnen sind, die sich im Gravitationsfeld der Erde ausbreiten .

Antworten (1)

Nehmen wir an, Sie möchten etwas "Vernünftiges" tun, wie das Sammeln von sekundengenauen Konjunktionen für einen Zeitraum von hundert Jahren für alle Objekte, für die Sie Zustandsvektoren in die Hände bekommen können (etwa hunderttausend?).

Du hast ein Ö ( S N 2 ) Ansatz, also ... ungefähr 10 20

Ja, ich sehe, es gibt ein Problem.


Für das Sonnensystem bewegen sich die Dinge mit begrenzter Geschwindigkeit. Wir können uns dann die Tatsache zunutze machen, dass sich Objekte in jedem Zeitschritt nur so weit bewegen können.

Hier ist ein Zeitpartitionierungsalgorithmus:

  1. Durchsuchen Sie Ihren gesamten Stapel von Zustandsvektordaten, um die höchste Geschwindigkeit zu finden. Ö ( S N ) . Das sollte eine akzeptable Laufzeit sein, da Sie nicht einmal all diese Zustandsvektoren speichern könnten, wenn dies nicht der Fall wäre.

Sie werden mit einem Extremfall enden, wie der Perihelgeschwindigkeit von 1566 Ikarus in der Größenordnung von ~ 100 km / s. Für die Relativgeschwindigkeit im schlimmsten Fall, Objekte, die sich direkt aufeinander zu bewegen, können wir also eine Obergrenze von etwa 200 km / s annehmen.

  1. Jetzt für jedes Objekt einzeln:

Machen Sie "grobe" Zeitschritte und überprüfen Sie die Entfernung zu allen anderen Objekten. Sprich, 10 Tage. Das ist sechs Größenordnungen weniger Arbeit als die Granularität, nach der Sie suchen.

In diesen 10 Tagen können sich die Entfernungen höchstens auf ~ 1 AE nähern, wenn die Relativgeschwindigkeit höchstens 200 km / s betragen kann.

Betrachten Sie nun für die 10 "weniger groben" Zeitschritte zwischen 1 Tag nur die Objekte innerhalb von 1 AE im "groben" Zeitschritt. Das wird in vielen Fällen eine kürzere Liste sein.

Fügen Sie dazwischen wieder 10 "noch weniger grobe" Zeitschritte von 2,4 Stunden ein. Hier müssen wir nur diejenigen innerhalb von 0,1 AE im "weniger groben" Zeitschritt berücksichtigen. Das sollte eine kleine Minderheit Ihrer Zustandsvektordatenbank sein.

Bei der ~15-Minuten-Zeitschritt-Granularität ging es darum, die kurze 0,01-AU-Liste zu durchlaufen. Bei 1,5 min 0,001 AU.

Wenn Sie die Partitionierung hier stoppen, gibt es nur ein paar Objekte (oder gar keine!), die bei jedem Zeitschritt überprüft werden müssen.


Für Objekte, die in einem Volumen verteilt sind oder sogar entlang einer einzigen 2D-Ebene gruppiert sind, ist dies asymptotisch Ö ( N 2 ) . Das heißt, Sie müssen sich keine Gedanken darüber machen, wie feinkörnig Ihre Zeitschritte sind.

Selbst für sehr unangenehme lineare Clusterbildung (die übrigens nicht für Objekte im Sonnensystem gilt) ist dies immer noch das Schlimmste Ö ( l Ö G ( S ) N 2 )

Auf diese Weise sollten Sie in der Lage sein, den Stapel in ein paar Minuten auf einem Laptop zu sichten.