Chomsky normál forma

A Chomsky normálforma egy formális nyelvtan  tulajdonsága , ha minden kimenete a következő alakú:

vagy vagy ,

ahol , és  nem terminálok,  egy terminálkarakter (konstans értéket jelent),  egy kezdőkarakter, és  egy üres karakterlánc . Ezenkívül sem , sem nem lehet kezdő karakter.

A Chomsky normál formájú nyelvtanok mindegyike kontextusmentes , és fordítva, minden kontextus nélküli nyelvtan hatékonyan konvertálható egy ekvivalens nyelvtanra Chomsky normál formában.

Egy lehetséges szabály kivételével (amely akkor használatos, ha a nyelvtan képes előállítani az üres karakterláncot), a Chomsky normál formájú nyelvtani szabályok nem rövidítenek; azaz egy karakterlánc kiadása során minden terminál- és nem-terminális lánc mindig vagy ugyanolyan hosszúságú, mint az előző, vagy még egy elem. Egy hosszúságú karakterlánc nyomtatása mindig pontosan lépésekből áll. Ezen túlmenően, mivel minden nemterminális következtetési szabály egy nemterminálist pontosan egy terminálra vagy pontosan két nemterminálisra fordít le, a Chomsky-féle normálforma nyelvtanon alapuló elemzési fa egy bináris fa, amelynek magasságát a karakterlánc hossza korlátozza.

Ezeknek a tulajdonságoknak köszönhetően a formális nyelvek elméletében és a kiszámíthatóságban számos bizonyítás használja a Chomsky normálformát. Ezek a tulajdonságok különböző hatékony algoritmusok alapjául is szolgálnak - például a CYK algoritmus , amely meghatározza, hogy egy adott karakterlánc generálható-e egy adott nyelvtan által, Chomsky normál formát használ.

Nevét Noam Chomskyról , az amerikai nyelvészről kapta, aki a Chomsky-hierarchiát javasolta .

Alternatív definíció

Egyes források a Chomsky normálformát némileg eltérően határozzák meg.

Egy formális nyelvtan Chomsky normál formájú , ha minden kimenete a következő alakú:

vagy

ahol , és  nem terminálok, és  a terminál szimbóluma . Ennek a definíciónak a használatakor a és kezdő karakterek lehetnek.

Ez a definíció abban különbözik az előzőtől, hogy kizárja az üres karakterlánc létrehozásának lehetőségét . Továbbra is igaz, hogy bármely kontextusmentes nyelvtan , amely egy nyelvet generál, hatékonyan átalakítható egy Chomsky-normál formává, amely létrehozza a . Az utolsó definíció fő előnye, hogy a bizonyítások általában némileg leegyszerűsödnek, mivel az egyes levezetési lépések soha nem csökkentik a kapott karakterlánc hosszát. Természetesen a hátránya, hogy külön mérlegelni kell azt az esetet, amikor a nyelvtan generálja a -t .

Irodalom