A parallel algorithm for counting parse trees
A parallel algorithm for computing the number of parse trees of a given string according to a fixed context-free grammar is defined. More generally, the algorithm applies to computing the weight of a string in a weighted grammar over any semiring. The algorithm is first implemented on an arithmetic...
Gespeichert in:
| Veröffentlicht in: | Information and computation Jg. 303; S. 105237 |
|---|---|
| Hauptverfasser: | , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
Elsevier Inc
01.03.2025
|
| Schlagworte: | |
| ISSN: | 0890-5401 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Zusammenfassung: | A parallel algorithm for computing the number of parse trees of a given string according to a fixed context-free grammar is defined. More generally, the algorithm applies to computing the weight of a string in a weighted grammar over any semiring. The algorithm is first implemented on an arithmetic circuit of depth at most 6(log2n)2+O(logn) and with O(n6) elements, where the constant factors in the big-O notation depend on the grammar. Then, the circuit is improved using fast matrix multiplication to use only O(n5.38) elements, while preserving depth O((logn)2). |
|---|---|
| ISSN: | 0890-5401 |
| DOI: | 10.1016/j.ic.2024.105237 |