Entonces, tengo alrededor de 100-200 matrices booleanas cuadradas muy dispersas con longitud lateral ~ varias docenas, y necesito calcular su producto. Sé que si los multiplico en serie, el producto generalmente se mantendrá escaso en cada paso.
¿Hay algún algoritmo de producto de cadena de matriz que funcione particularmente rápido en este caso?
En un nivel superior, el problema es calcular la composición de una serie de asignaciones de uno a muchos en un gráfico razonablemente pequeño (funciones de transición de un NFA), donde la mayoría de los elementos se asignan a no más de 0-3.
(tenga en cuenta que este no es el problema habitual del "producto de la cadena de matriz", porque todas las matrices son del mismo tamaño y no tengo que elegir el paréntesis óptimo)