Was sind die praktisch effizientesten Algorithmen zum Multiplizieren von zwei sehr spärlichen booleschen Matrizen (z. B. N = 200 und es gibt nur einige 100-200 Nicht-Null-Elemente)?
Eigentlich habe ich den Vorteil, dass beim Multiplizieren von A mit B die Bs vordefiniert sind und ich willkürlich komplexe Vorverarbeitungen an ihnen vornehmen kann. Ich weiß auch, dass die Ergebnisse von Produkten immer so spärlich sind wie die Originalmatrizen.
Der "ziemlich naive" Algorithmus (zeilenweises Abtasten von A; für jedes Bit der A-Reihe ODER das Ergebnis mit der entsprechenden Zeile von B) erweist sich als sehr effizient und erfordert nur ein paar tausend CPU-Anweisungen, um ein einzelnes Produkt zu berechnen Es wird also nicht einfach sein, es zu übertreffen, und es ist nur um einen konstanten Faktor übertreffbar (da das Ergebnis Hunderte von Ein-Bit-Werten enthält). Aber ich verliere nicht die Hoffnung und bitte die Community um Hilfe :)