Ich habe also ungefähr 100-200 sehr spärliche quadratische boolesche Matrizen mit einer Seitenlänge von mehreren Dutzend, und ich muss ihr Produkt berechnen. Ich weiß, dass, wenn ich sie seriell multipliziere, das Produkt normalerweise bei jedem Schritt so dünn bleibt.
Gibt es in diesem Fall Algorithmen für Matrixkettenprodukte, die besonders schnell arbeiten?
Auf einer höheren Ebene besteht das Problem darin, die Zusammensetzung einer Reihe von Eins-zu-Viele-Zuordnungen in einem relativ kleinen Diagramm (Übergangsfunktionen eines NFA) zu berechnen, in dem die meisten Elemente nicht mehr als 0-3 entsprechen.
(Bitte beachten Sie, dass dies nicht das übliche "Matrixkettenprodukt" -Problem ist, da alle Matrizen dieselbe Größe haben und ich nicht die optimale Klammerung wählen muss.)