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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Information and computation Jg. 303; S. 105237
Hauptverfasser: Mikhelson, Margarita, Okhotin, Alexander
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!
Beschreibung
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(log2⁡n)2+O(log⁡n) 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((log⁡n)2).
ISSN:0890-5401
DOI:10.1016/j.ic.2024.105237