- Kuroda-Normalform
-
Die Kuroda-Normalform ist ein Begriff der Theoretischen Informatik, der im Zusammenhang mit kontextsensitiven Sprachen von Interesse ist. Sie ist nach dem Linguisten Sige-Yuki Kuroda benannt und beschreibt eine Normalform der kontextsensitiven Grammatiken, also eine Teilmenge der kontextsensitiven Grammatiken, die gegenüber der Menge der allgemeinen kontextsensitiven Grammatiken nichts an Ausdrucksstärke einbüßt. Die Bedeutung der Kuroda-Normalform liegt in der sehr einfachen Struktur der Produktionen.
Die Kuroda-Normalform ist eine Verallgemeinerung der Chomsky-Normalform, eine Normalform für kontextfreie Grammatiken.
Definition
Eine formale Grammatik ist in Kuroda-Normalform (kurz KNF), wenn alle Produktionen die folgende Form haben:
wobei A, B, C und D Variablen sind und a ein Terminalsymbol ist.
Im Fall, dass die zweite und die vierte Regelform nicht vorkommen, liegt die Grammatik in der Chomsky-Normalform vor.
Eigenschaften
- Jede Grammatik in Kuroda-Normalform ist eine monotone Grammatik.
- Zu jeder kontextsensitiven Grammatik G1 mit existiert eine Grammatik G2 in Kuroda-Normalform, die die gleiche Sprache erzeugt, das heißt, L(G1) = L(G2). G2 wird dann auch eine Kuroda-Normalform der kontextsensitiven Grammatik G1 genannt.
Umwandlung einer Grammatik in Kuroda-Normalform
Sei G1 = (V1,Σ,P1,S) eine kontextsensitive Grammatik mit . Eine Kuroda-Normalform G2 = (V2,Σ,P2,S) von G1 kann so konstruiert werden:
- Alle in P1 auftretenden Terminalsymbole a werden jeweils durch eine neue Variable Aa ersetzt, und für jedes Terminalsymbol a wird die neue Produktionen eingeführt.
- Jede Produktion der Form ersetzt man durch folgende neuen Produktionen: , für alle und . Dabei seien neue Variablen.
- Jede Produktion der Form , mit ersetzt man durch folgende neuen Produktionen: , für alle : , für alle : und . Dabei seien neue Variablen.
Die so erzeugte Grammatik ist in Kuroda-Normalform und produziert dieselbe Sprache wie die Grammatik zuvor.
Kategorie:- Theorie formaler Sprachen
Wikimedia Foundation.