Supongamos que denota el número de árboles de expansión en un gráfico con vértices. Hay un algoritmo que calcula en operaciones aritméticas . Este algoritmo es para calcular , donde Q es el laplaciano de G y J es la matriz que consiste únicamente en 1 's. Para obtener más información sobre este algoritmo, vea Biggs: teoría de gráficos algebraicos o esta pregunta de Math SE .n t ( G ) O ( n 3 ) 1QGJ1
Me pregunto si hay alguna forma de calcular más rápido. (Sí, hay algoritmos más rápidos que para calcular determinantes, pero estoy interesado en algún enfoque nuevo).
También está interesado en considerar familias especiales de gráficos (¿planar, tal vez?).
Por ejemplo, para gráficos circulantes, se puede calcular en operaciones aritméticas través de la identidad t (G) = \ frac {1} {n} \ lambda_1 \ dotsm \ lambda_ {n-1 } , donde \ lambda_i son valores propios distintos de cero de la matriz laplaciana de G , que pueden calcularse rápidamente para gráficos circulantes. (Representa la primera fila como un polinomio y luego calcular en n raíces -ésimos de unidad - este paso utiliza la transformación discreta de Fourier y se puede hacer en O (n \ lg n) las operaciones aritméticas.)O ( n lg n ) t ( G ) = 1λiGnO(nlgn)
¡Muchas gracias!
Respuestas:
Se sabe que, para de ancho de árbol acotado, el polinomio Tutte T ( G ; x , y ) se puede evaluar en cualquier ( x , y ) utilizando operaciones aritméticas O ( n ) . Si G está conectado, entonces t ( G ) = T ( G ; 1 , 1 ) .G T(G;x,y) (x,y) O(n) G t(G)=T(G;1,1)
fuente