Chomsky normal form

Chomsky normalform  är en egenskap hos en formell grammatik om alla dess utdata är av formen:

eller eller ,

där , och  är icke-terminaler,  är ett terminaltecken (representerar ett konstant värde),  är ett starttecken och  är den tomma strängen . Dessutom kan varken , eller vara en startkaraktär.

Varje grammatik i Chomsky normalform är kontextfri , och omvänt kan varje sammanhangsfri grammatik effektivt konverteras till en motsvarande grammatik i Chomsky normalform.

Med undantag för en möjlig regel (används när grammatiken kan producera den tomma strängen), är alla grammatikregler i Chomsky normalform icke-förkortande; det vill säga, i processen att mata ut en sträng, har varje kedja av terminaler och icke-terminaler alltid antingen samma längd som den föregående, eller ytterligare ett element. Att skriva ut en längdsträng tar alltid exakta steg. Dessutom, eftersom alla icke-terminala slutledningsregler översätter en icke-terminal till exakt en terminal eller till exakt två icke-terminaler, är analysträdet baserat på Chomskys normalforms grammatik ett binärt träd vars höjd begränsas av längden på strängen.

På grund av dessa egenskaper använder många bevis i teorin om formella språk och beräkningsbarhet Chomskys normala form. Dessa egenskaper fungerar också som grund för olika effektiva algoritmer - till exempel använder CYK-algoritmen som avgör om en given sträng kan genereras av en given grammatik Chomsky normalform.

Uppkallad efter Noam Chomsky , den amerikanske lingvisten som föreslog Chomsky-hierarkin .

Alternativ definition

Vissa källor definierar Chomskys normala form något annorlunda.

En formell grammatik är i Chomsky normal form om alla dess utdata är av formen:

eller

där , och  är icke-terminaler, och  är terminalsymbolen för . När du använder denna definition , och kan vara initiala tecken.

Denna definition skiljer sig från den tidigare genom att den utesluter möjligheten att generera en tom sträng . Det är fortfarande sant att all kontextfri grammatik som genererar ett språk effektivt kan omvandlas till en Chomsky-normalform som genererar . Den huvudsakliga fördelen med den sista definitionen är att bevisen i allmänhet är något förenklade, eftersom varje härledningssteg aldrig minskar längden på den resulterande strängen. Naturligtvis är dess nackdel att det kräver en separat övervägande av fallet när grammatiken genererar .

Litteratur