Greibach-normaalvorm

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

De Greibach normaalvorm is een begrip uit de theoretische informatica, dat in het verband van contextvrije talen van belang is. Zij is vernoemd naar de informatica Sheila A. Greibach uit de Verenigde Staten en beschrijft een normaalvorm van een contextvrije grammatica, dus een deelverzameling van de contextvrije grammatica's die niet minder uitdrukkingskracht heeft dan de verzameling van algemene contextvrije grammatica's. De opvallendste eigenschap van de Greibach normaalvorm is, dat bij elke productieregel precies één terminaal symbool voorkomt. Daarmee is zij de natuurlijke tussenstap bij de omzetting van een contextvrije grammatica naar een equivalente niet-deterministische pushdown automaat (PDA) zonder \epsilon-producties.

Een ander normaalvorm voor contextvrije grammatica's is de Chomsky-normaalvorm.

Formele Definitie[bewerken]

Zij G een formele grammatica van een contextvrije taal (vgl. Chomskyhiërarchie), zodat dus G \in \mbox{Typ}_2. Zij de lege string \epsilon \notin L \left( G \right).

G, met G = \left( N, \Sigma, P, S \right), is in Greibach normalvorm (afgekort GNF), als alle productieregels uit P de A \rightarrow bB_1 ... B_k met k \ge 0 aannemen, waarbij A, B_n \in N (niet-terminale symbolen) en b \in \Sigma (terminale symbolen). Als we nemen k=1 zijn reguliere grammatica's een speciaal geval van een contextvrije grammatica in Greibach normaalvorm.

Voor alle G' \in \mbox{Typ}_2 met \epsilon \notin L \left( G' \right) is er een G \in \mbox{Typ}_2 in Greibach normaalvorm met L \left( G \right) = L \left( G' \right).