Imaginemos que tenemos dos conjuntos de puntos tamaño . ¿Cuál es la complejidad (temporal) de las pruebas si difieren solo por rotación? : existe una matriz de rotación tal que ? O O T = O T O = I X = O Y
Hay un problema de representar valores reales aquí: por simplicidad, suponga que hay una fórmula algebraica (corta) para cada coordenada, de modo que el costo de las operaciones aritméticas básicas se puede asumir como O (1).
La pregunta básica es si este problema está en P?
Si bien, a primera vista, este problema puede parecer simple: por lo general, es suficiente para probar las normas de los puntos y las relaciones locales como los ángulos, hay ejemplos desagradables en los que es, por ejemplo, equivalente al problema de isomorfismo gráfico .
Específicamente, mirando los espacios propios de la matriz de adyacencia de gráficos fuertemente regulares (SRG), podemos darle una interpretación geométrica . A continuación se muestra el ejemplo más simple: dos SRG de 16 vértices, que localmente se ven idénticos, pero no son isomórficos:
La matriz de adyacencia de los SRG siempre tiene solo tres valores propios (de fórmulas conocidas): mirando el espacio propio para el valor propio 2 anterior (núcleo de ), tiene una dimensión 6, de base escrita anteriormente. Ortonormalizándolo (Gram-Schmidt), obtenemos un gran espacio de posibles bases ortonormales, que difieren en la rotación , que gira "vectores verticales": 16 de longitud 6. Defina un conjunto de vectores como , aquí, e correspondientemente para el segundo gráfico - convirtiendo la pregunta de isomorfismo del gráfico en pregunta si e difieren solo por rotación.O ( 6 ) X ⊂ R 6 | X | = 16 Y X Y
La dificultad es que todos estos puntos están en una esfera y recrean relaciones originales: todos los vecinos (6 aquí) están en ángulo fijo <90 grados, todos los no vecinos (9 aquí) en otro ángulo fijo> 90 grados, como en el esquema imagen de arriba.
Por lo tanto, las pruebas basadas en la norma y los ángulos locales se remontan al problema del isomorfismo gráfico ... pero la interpretación geométrica permite trabajar en propiedades globales como invariantes de rotación.
Generalmente, un enfoque "global" natural está tratando de describir ambos conjuntos de "rotación de módulo" (que contiene grados de libertad), y luego simplemente verifica si ambas descripciones son idénticas.
Por lo general, podemos definir invariantes de rotación : la pregunta es construir un conjunto completo de invariaciones de rotación: determinar completamente un conjunto de rotación de módulo.
Si bien no pude encontrar una forma para los invariantes de rotación prácticos que trabajan directamente en puntos (?), Se puede hacer para polinomios ( pila ). Para el polinomio de grado 2 , una base completa de invariantes de rotación es, por ejemplo, para . Diagramáticamente se pueden representar como un ciclo de longitud , y podemos construir de manera análoga invariantes de rotación para polinomios de orden superior (la pregunta restante es su independencia), por ejemplo, cada gráfico a continuación corresponde a un solo invariante de rotación de polinomio de grado 1,2,3,4 :T r ( A k ) k = 1 , … , n k
La pregunta es cómo describir un conjunto de puntos con un polinomio: generalmente necesitamos polinomios de alto grado, Ej. , pero los conjuntos para SRG son bastante regular: se puede describir con solo polinomio de grado 6:
a,b,c
Entonces, ¿podemos probar si dos polinomios de grado 6 difieren solo por rotación en el tiempo polinomial? Si es así, el isomorfismo gráfico para los SRG está en P.
¿Hay ejemplos más difíciles (para probar si dos conjuntos difieren solo por rotación) que los SRG? Lo dudo, permitiendo un límite superior casi polinomial gracias a Babai (?)
Actualización : me señalaron similitud con el problema de Procrustes ortogonal (resuelto) :
de la descomposición de valores singulares. Podríamos construir estas matrices a partir de nuestros puntos, sin embargo, requeriría conocer el orden, ¡lo cual no sabemos y hayposibilidades
Podríamos intentar, por ejemplo, Montecarlo o algoritmo genético: cambiar algunos puntos y probar la mejora de la distancia utilizando la fórmula anterior, sin embargo, sospecho que dicho algoritmo heurístico podría tener un número exponencial de mínimos locales (?)