Supongamos que quisiera responder a la pregunta ¿ Pasará Starman/Roadster particularmente cerca de algún asteroide en los próximos años? o tratar de predecir conjunciones de satélites alrededor de la Tierra (por ejemplo, SOCRATES de Celestrak ), y tenía efemérides, TLE o tablas interpolables de vectores de estado.
Podría propagarlos en pequeños pasos de tiempo, calcular todos puestos y todo distancias y buscar cualquiera por debajo de una distancia , pero esa podría no ser la forma más eficiente de hacerlo.
Pregunta: ¿ Cuáles son los métodos o técnicas algorítmicas para hacer este tipo de búsqueda de manera más eficiente? Suponga que los propagadores devuelven un seis vector (posición y velocidad). Necesito una explicación o una referencia autorizada, no solo un nombre.
¿Esta pregunta es distinta de los métodos o técnicas algorítmicas para encontrar conjunciones en conjuntos de elementos keplerianos de alto N? porque pregunta específicamente sobre métodos que operan en vectores de estado (ya sea tabulados o propagados a pedido) que pueden incluir efectos de n-cuerpos (por ejemplo, el Sol se mueve, Júpiter hace lo suyo, etc.)
Digamos que desea hacer algo "razonable", como recopilar conjunciones segundo a segundo durante un período de cien años, para todos los objetos que puede tener en sus manos en vectores de estado (¿cien mil o algo así?)
Tienes un acercarse, así que... sobre
Sí, puedo ver que hay un problema.
Para el sistema solar, las cosas se mueven a una velocidad limitada. Entonces podemos aprovechar el hecho de que los objetos solo pueden moverse hasta cierto punto en cada paso de tiempo.
Terminará con un caso extremo, como la velocidad del perihelio de 1566 Ícaro , del orden de ~100 km/s. Entonces, para el peor de los casos, la velocidad relativa, los objetos que se mueven directamente uno hacia el otro, podemos asumir un límite superior de aproximadamente ~ 200 km / s.
Realice pasos de tiempo "aproximados", verificando la distancia a todos los demás objetos. Digamos, 10 días. Eso es seis órdenes de magnitud menos de trabajo que la granularidad que está buscando.
En esos 10 días, las distancias pueden cerrarse como máximo en ~1AU si las velocidades relativas pueden ser como máximo de 200 km/s.
Ahora, para los 10 pasos de tiempo "menos aproximados" entre 1 día, solo considere aquellos objetos dentro de 1 AU en el paso de tiempo "aproximado". Eso en muchos casos será una lista más corta.
Entre eso nuevamente, inserte 10 intervalos de tiempo "aún menos aproximados" de 2.4 horas. Aquí, solo tenemos que considerar aquellos dentro de 0.1 AU en el paso de tiempo "menos aproximado". Eso debería ser una pequeña minoría de su base de datos de vectores de estado.
En la granularidad de paso de tiempo de ~ 15 minutos, se redujo a ejecutar la lista corta de 0.01 AU. A los 1,5 min, 0,001 UA.
Si detiene la partición aquí, solo habrá un par de objetos (¡o ninguno!) para verificar en cada paso de tiempo.
Para objetos distribuidos en un volumen, o incluso agrupados a lo largo de un solo plano 2D, esto es asintóticamente . Es decir, no tiene que preocuparse por limitar la granularidad de sus pasos de tiempo.
Incluso para el agrupamiento lineal muy desagradable (que, por cierto, no se aplica a los objetos del sistema solar), esto sigue siendo el peor
Debería poder examinar la pila en un par de minutos en una computadora portátil de esta manera.
UH oh
Astronauta de todos los días
Astronauta de todos los días
UH oh
Astronauta de todos los días
UH oh
Astronauta de todos los días
UH oh