Отже, у мене є близько 100-200 дуже рідких квадратних булевих матриць довжиною сторони ~ кілька десятків, і мені потрібно обчислити їх добуток. Я знаю, що якщо помножувати їх послідовно, продукт зазвичай залишатиметься таким же рідким на кожному кроці.
Чи існують алгоритми продуктів матричного ланцюга, які працюють в цьому випадку особливо швидко?
На більш високому рівні проблема полягає в обчисленні складу ряду відображень від одного до багатьох на досить малому графіку (функції переходу NFA), де більшість елементів відображають не більше 0-3.
(зауважте, що це не звичайна проблема "продукт матричного ланцюга", тому що всі матриці однакового розміру, і мені не потрібно вибирати оптимальні дужки)