Download (PDF: 1.8 MB)
Download (PDF: 1.8 MB)
Download (PDF: 1.8 MB)
Verwandeln Sie Ihre PDFs in ePaper und steigern Sie Ihre Umsätze!
Nutzen Sie SEO-optimierte ePaper, starke Backlinks und multimediale Inhalte, um Ihre Produkte professionell zu präsentieren und Ihre Reichweite signifikant zu maximieren.
Formale Sprachen, speziell:<br />
Chomsky-Grammatik<br />
Nach dem Weihnachtsgeschäft ist im Januar und Februar immer relativ wenig Betrieb<br />
in Marino Caponis Ristorante. Deshalb plant Marino Caponi für den 21. Februar,<br />
den internationalen Tag der Muttersprache, eine besondere Aktion: Er gibt<br />
jedem Gast eine Liste mit Worten und Sätzen aus verschiedenen Sprachen und der<br />
Gast muss diese Ausdrücke der richtigen Sprache zuordnen. Wer alle seine Ausdrücke<br />
auf dem Blatt der richtigen Sprache zuordnet, erhält ein Getränk seiner Wahl<br />
gratis. Damit das Ganze nicht zu einfach wird, fragt er seinen Neffen Enzo, welche<br />
Sprachen er denn benutzen soll. Der schlägt vor: „Neben den natürlichen Sprachen<br />
und Dialekten, kannst Du doch auch eine künstliche Sprache, wie z. B. Esperanto,<br />
nehmen. Außerdem gibt es in der Informatik auch sogenannte ‚formale Sprachen‘,<br />
die Dein Quiz noch schwieriger machen würden.“<br />
Marino findet die Idee gut und macht sich schlau, welche verschiedenen Sprachen<br />
er benutzen kann.<br />
Unter einer Sprache wird normalerweise eine natürliche Sprache wie Deutsch oder Englisch<br />
verstanden.<br />
Laut National Geographic wurden 2005 weltweit über 6900 Sprachen aktiv verwendet.<br />
Jedoch werden die meisten von diesen Sprachen nicht mehr an die Kinder weitergegeben<br />
und sind deshalb vom Aussterben bedroht. Man vermutet, dass innerhalb der<br />
nächsten 100 Jahre viele der heute noch vorhandenen Sprachen verschwinden werden.<br />
2005 wurden die häufigsten 51 Sprachen von rund 80 % der Menschen als Muttersprache<br />
gesprochen, alle anderen (noch) existierenden ca. 6850 Sprachen von den restlichen<br />
20 %. (Einen eindrucksvollen Einblick in die Vielfalt von Sprachen, auch künstliche Sprachen,<br />
bietet die Internetseite http://www3.germanistik.uni-halle.de/prinz/index.htm.)<br />
National Geographic, Planet<br />
Erde 2008, Unsere Welt im<br />
Wandel: Zahlen, Daten,<br />
Fakten, S. 87<br />
Neben den natürlichen Sprachen, zu denen auch die Gebärdensprache zählt, existieren<br />
jedoch auch künstlich geschaffene bzw. konstruierte Sprachen. Zu den konstruierten<br />
Sprachen gehören:<br />
• Plansprachen wie z. B. Esperanto,<br />
• fiktionale Sprachen wie z. B. Klingonisch aus der Fernsehserie „StarTrek“ (1984),<br />
• Geheimsprachen und formale Sprachen, zu denen auch die Programmiersprachen<br />
gehören.<br />
Wenn zwei Kommunikationspartner Informationen austauschen wollen, benutzen sie auf<br />
jeden Fall eine Sprache, die sie beide verstehen. Bei den natürlichen Sprachen ist der<br />
Kommunikationspartner in der Regel ein Mensch. Wenn der Kommunikationspartner<br />
eine Maschine ist, wird zur Kommunikation üblicherweise eine formale Sprache benutzt.<br />
Eine formale Sprache kann eine Telefonnummer sein oder eine Programmiersprache,<br />
wie zum Beispiel Java.<br />
Grammatiken<br />
Zwischen all diesen Sprachen gibt es viele Gemeinsamkeiten. Sie bestehen alle aus<br />
bestimmten Elementen (Lauten, Symbolen, Buchstaben oder Worten), die eine bestimmte<br />
Bedeutung haben und nach gewissen Regeln zu großen Konstrukten zusammengebaut<br />
werden können. Die Regeln, die es für diesen Zusammenbau gibt, wird Grammatik<br />
genannt.<br />
Die Grundzüge der Sprache<br />
Esperanto wurde im Jahr<br />
1887 von dem Warschauer<br />
Arzt Ludwik Lejzer Zamenhof<br />
veröffentlicht. Er wollte<br />
eine leicht erlernbare, neutrale<br />
Sprache zur internationalen<br />
Kommunikation (zur<br />
besseren Völkerverständigung)<br />
schaffen. Mittlerweile<br />
wird Esperanto in ca. 150<br />
Ländern von bis zu<br />
2 000 000 Menschen aller<br />
Altersgruppen gesprochen.<br />
Selbst eine eigene Flagge<br />
wurde für „Esperantoland“<br />
kreiert.<br />
Wikipedia<br />
Zusatzmaterial – Chomsky-Grammatik<br />
Während es bei natürlichen Sprachen eine Umgangssprache gibt und die meisten Kommunikationspartner<br />
in der Lage sind, auch „verstümmelte“ bzw. nicht regelkonforme<br />
Sätze zu verstehen (siehe „Imbissdeutsch“ auf youtube), müssen formale Sprachen<br />
absolut exakt und eindeutig sein. Bei ihnen können höchstens kleine Fehler „verstanden“<br />
werden und das auch nur, wenn sie sehr nah an der korrekten Form sind.<br />
1
Weil die formalen Anforderungen für formale Sprachen so wichtig sind, wurden für die<br />
Darstellung der Syntax einer Sprache, also der Grammatik, verschiedene Hilfsmittel<br />
entwickelt.<br />
Am bekanntesten und gebräuchlichsten sind<br />
• Ableitungsbaum,<br />
• Backus-Naur-Form bzw. Erweiterte Backus-Naur-Form,<br />
• Syntaxdiagramm und<br />
• Chomsky-Grammatik.<br />
Von diesen vier Darstellungsarten werden die ersten drei im zugehörigen Buch, Kapitel<br />
2.3 auf Seite 49 ff. vorgestellt. Die Chomsky-Grammatik soll hier erklärt werden.<br />
picture alliance/dpa<br />
Noam Chomsky,<br />
*07.12.1928 in Philadelphia,<br />
war Professor für Lingusitik<br />
am Massachusetts Institut<br />
of Technology. Er war seit<br />
den 1960er Jahren einer der<br />
führenden Intellektuellen<br />
Amerikas und fand viel<br />
Beachtung in der Linguistik,<br />
Informatik und Politik.<br />
Chomsky-Grammatik<br />
Zeitgleich mit der Veröffentlichung der Backus-Naur-Form entwickelte der Linguist<br />
Noam Chomsky im Hinblick auf die formale Beschreibung natürlicher Sprachen ein theoretisches<br />
Syntaxmodell, die Chomsky-Grammatik. Eine Chomsky-Grammatik besteht<br />
aus vier Komponenten G = (Σ, V, P, s). Dabei ist<br />
• Σ (griech. = Sigma) eine endliche, nichtleere Menge von Terminalsymbolen (das sogenannte<br />
Alphabet der betreffenden Sprache). Das ε (griech. = Epsilon) gehört immer<br />
dazu und steht für NICHTS.<br />
• V eine endliche, nichtleere Menge von Variablen (Nichtterminalsymbole oder Hilfssymbole),<br />
wobei Σ ∩ V = ∅, also in Σ gibt es kein einziges Terminalsymbol, das auch<br />
Nichtterminalsymbol ist.<br />
• P eine endliche Menge von Produktionen (Ersetzungsregeln), wobei eine Produktion<br />
immer die Gestalt x → y hat und x und y dabei Wörter sind, die aus dem Alphabet der<br />
Sprache Z = Σ ∪ V gebildet wurden (Z ist die Sprache, die aus der Vereinigung der<br />
Terminalsprache Σ und der Nichtterminalsprache V entsteht.). Außerdem muss die<br />
linke Seite x mindestens ein Nichtterminalsymbol enthalten.<br />
• s ein Startsymbol (zum Starten einer Ableitung), wobei gilt: s ∈ V.<br />
Die Chomsky-Grammatik (G) für Sätze der Art „Der junge Mann sieht das Auto“ würde<br />
so aussehen:<br />
Zusatzmaterial – Chomsky-Grammatik<br />
G = (Σ, V, P, s) mit<br />
Σ = {der, die, das, alte, junge, tolle, klapprige, Mann, Frau, Auto, Fahrrad, fährt, sucht, sieht}<br />
V = {Satz, Subjekt, Prädikat, Objekt, Nominalgruppe, Artikel, Adjektiv, Substantiv, Verb}<br />
P = { → <br />
→ <br />
→ <br />
→ <br />
→ | <br />
→ der | die | das<br />
→ alte | junge | tolle | klapprige | ε<br />
→ Mann | Frau | Auto | Fahrrad<br />
→ fährt | sucht | sieht<br />
}<br />
s = <br />
Mit einer Chomsky-Grammatik können noch mehr Sprachen beschrieben werden als<br />
mit der EBNF, weil auf der linken Seite der Ableitungs- bzw. Produktionsregeln bei der<br />
Chomsky-Grammatik auch mehrere Symbole stehen können.<br />
2
Zusammenhang zwischen Grammatiken und Automaten<br />
Wir haben bei den Automaten gesehen, dass Akzeptoren der Überprüfung einer Sprache<br />
dienen. Durch Grammatiken werden hingegen die Sprachen erzeugt.<br />
Bei den Automaten haben wir die drei Klassen der endlichen Automaten, der Kellerautomaten<br />
und der Turingmaschinen kennengelernt. Tatsächlich gibt es für jede dieser<br />
Klassen auch jeweils passende Grammatiken.<br />
Sprachklassen<br />
Erkennen (Automat) Erzeugen (Grammatik) Beispiel<br />
Eine reguläre Sprache<br />
wird erkannt durch<br />
einen endlichen Automat<br />
Zur Erzeugung einer regulären Sprache<br />
benötigt man eine rechtslineare<br />
Grammatik, die man auch Chomsky-<br />
3-Grammatik nennt.<br />
Diese rechtslinearen Grammatiken sehen<br />
so aus, dass auf der linken Seite einer<br />
Produktionsregel immer ein Nichtterminal<br />
steht und auf der rechten Seite ein<br />
Terminalsymbol oder ein Terminalsymbol<br />
gefolgt von einem Nichtterminalsymbol.<br />
→ 1 | 0 | ε.<br />
Eine kontextfreie<br />
Sprache wird erkannt<br />
durch einen Kellerautomat<br />
Eine kontextsensitive<br />
Sprache wird erkannt<br />
durch eine spezielle<br />
Turingmaschine<br />
Eine aufzählbare<br />
Sprache wird erkannt<br />
durch eine Turingmaschine<br />
Zur Erzeugung einer kontextfreien<br />
Sprache benötigt man eine kontextfreie<br />
Grammatik, die man auch Chomsky-<br />
2-Grammatik nennt.<br />
Alle kontextfreien Grammatiken können<br />
mit der EBNF und mit Syntaxdiagrammen<br />
dargestellt werden.<br />
Zur Erzeugung einer kontextsensitiven<br />
Sprache benötigt man eine kontextsensitive<br />
Grammatik, die man auch<br />
Chomsky-1-Grammatik nennt.<br />
Zur Erzeugung einer aufzählbaren<br />
Sprache benötigt man eine unbeschränkte<br />
Grammatik, die man auch<br />
Chomsky-0-Grammatik nennt.<br />
Sie beschreibt die aufzählbaren Sprachen<br />
und die Wörter.<br />
Klammerausdruck = "( " Term " )".<br />
Term = …<br />
Für die Sprache, die Wörter der Form „a n b n c n “ beinhaltet,<br />
hatten wir bereits eine erkennende Turingmaschine<br />
konstruiert. Eine passende Grammatik dazu kann als<br />
Chomsky-1-Grammatik angegeben werden, die so<br />
aussieht:<br />
G = (Σ, V, P, s) mit<br />
Σ = {a, b, c}<br />
V = {S, A, C}<br />
P = { → abc | a b c<br />
→ a b | a b <br />
b → b <br />
c → c c<br />
}<br />
s = <br />
Für die natürlichen Sprachen gibt es keine Chomsky-Hierarchiestufe. Das heißt, dass<br />
sich natürliche Sprachen nicht in ihrem vollen Umfang durch ein Computerprogramm<br />
erkennen und beschreiben lassen.<br />
Zusatzmaterial – Chomsky-Grammatik<br />
3
Zusammengefasst, ergibt sich folgende Chomsky-Hierarchie, wobei jeweils der nächsthöhere<br />
Chomsky-Typ Teilmenge des vorhergehenden ist:<br />
natürliche<br />
Sprachen<br />
Chomsky-Grammatik<br />
Typ 0 = aufzählbare<br />
Sprachen =<br />
unbeschränkte<br />
Grammatik<br />
Sprache wird<br />
erkannt durch<br />
Turingmaschine<br />
Chomsky-Grammatik<br />
Typ 1 = kontextsensitive<br />
Sprachen =<br />
kontextsensitive<br />
Grammatik<br />
Sprache wird erkannt<br />
durch spezielle<br />
Turingmaschine<br />
Chomsky-<br />
Grammatik Typ 2 =<br />
kontextfreie Sprachen =<br />
kontextfreie Grammatik<br />
Sprache wird<br />
erkannt durch<br />
Kellerautomat<br />
Chomsky-<br />
Grammatik Typ 3 =<br />
reguläre Sprachen =<br />
rechtslineare Grammatik<br />
Sprache wird erkannt<br />
durch endlichen<br />
Automaten<br />
Marino Caponi nimmt sich ein großes Blatt und füllt eine dreispaltige Tabelle mit<br />
den Sprachen, den Ausdrücken in den jeweiligen Sprachen und den Übersetzungen<br />
der Ausdrücke. Er plant, jedem Gast ein Blatt zu geben, auf dem nur die erste<br />
Spalte ausgefüllt ist. Die Inhalte der zweiten und dritten Spalte bekommt jeder Gast<br />
als einzelne Schnipsel in einem Umschlag und muss diese Schnipsel in der richtigen<br />
Reihenfolge auf das Blatt Papier kleben.<br />
Zunächst schreibt er einige Ausdrücke in einigen Sprachen auf:<br />
Zusatzmaterial – Chomsky-Grammatik<br />
Sprache Ausdruck Übersetzung bzw. Grammatik<br />
Esperanto Unu horo havas sesdek minutojn. Eine Stunde hat sechzig Minuten.<br />
Englisch Age is a matter of mind. Alter ist Ansichtssache.<br />
Französisch C’est á toi maintenant. Jetzt bist du dran.<br />
Spanisch La comida está salada. Das Essen ist versalzen.<br />
Italienisch Siamo arrivati il dódici agosto. Wir sind am 12. August angekommen.<br />
Portugiesisch Não foi isso que pedimos. Das hatten wir nicht bestellt.<br />
Russisch Лось ест траву и ветки. Der Elch frisst Gras und Zweige.<br />
Schwedisch Jag skulle vilja ha rödbetor. Ich hätte gern rote Beete.<br />
Tschechisch Pokoj není uklizený. Das Zimmer ist nicht gereinigt<br />
worden.<br />
Klingonisch<br />
Rache ist ein Gericht, das am besten<br />
kalt serviert wird.<br />
Quelle: http://en.wikipedia.org/<br />
wiki/Klingon_writing_systems<br />
4
Nun möchte er noch einige formale Sprachen erfinden und gibt sie mit verschiedenen<br />
formalen Hilfsmitteln an, die er auch auf dem Zettel für die Kunden abdruckt.<br />
Zuerst verwendet er einen erkennenden<br />
Automaten für die a-Sprache.<br />
Danach gibt er die b-Sprache mit einer<br />
Chomsky-Grammatik an:<br />
G = ({a,b}, {S}, { → a a | b}, S)<br />
Start<br />
q 0<br />
a<br />
b<br />
q 1<br />
Die c-Sprache legt er mit Regeln der EBNF fest:<br />
S = "a" "a" T ["a" "a"].<br />
T = "b" T | "b".<br />
Und zum Schluss beschreibt er die d-Sprache mit einem Syntaxdiagramm:<br />
a b<br />
a<br />
b a<br />
Damit es noch ein wenig schwieriger wird, gibt er zu jeder der vier Sprachen noch<br />
ein Wort an, das zu keiner dieser vier Sprachen gehört.<br />
Sprache Wort/Zeichenkette ungültige Wörter/Zeichenketten Sprachtyp<br />
a-Sprache ababab bababa reguläre Sprache<br />
b-Sprache aaabaaa aabaaa kontextfreie Sprache<br />
c-Sprache aabbaa aaabaa kontextfreie Sprache<br />
d-Sprache aaababaa aaabaabaaa reguläre Sprache<br />
Marino Caponi überlegt, welche Sprache zu welcher Chomsky-Hierarchiestufe<br />
bzw. zu welchem Sprachtyp gehört:<br />
Die a-Sprache lässt sich durch einen endlichen Automaten darstellen, also muss<br />
das eine reguläre Sprache mit einer rechtslinearen Grammatik sein. Das ist also<br />
eine Chomsky-3-Grammatik.<br />
Die b-Sprache erzeugt quasi Palindrome bzw. Klammerausdrücke, denn bei der<br />
Ableitungsregel steht auf der rechten Seite jeweils links und rechts von einem<br />
Nichtterminalsymbol, dem , ein Terminalsymbol, ein a. Das bedeutet diese<br />
kontextfreie Sprache lässt sich durch eine kontextfreie Grammatik, eine Chomsky-<br />
2-Grammatik, erzeugen und wird von einem Kellerautomat erkannt.<br />
Dasselbe gilt für die c-Sprache, wegen ["a" "a"] auf der rechten Seite des Nichtterminals<br />
T.<br />
Bei der d-Sprache wiederum besteht kein Zusammenhang zwischen der Anzahl<br />
der „a“ am Anfang und am Ende des Wortes. Deshalb ist sie wie die a-Sprache<br />
eine reguläre Sprache, die sich mit einer rechtslinearen Grammatik beschreiben<br />
lässt.<br />
Zusatzmaterial – Chomsky-Grammatik<br />
Nun ist Marino Caponi zufrieden und freut sich schon auf den internationalen Tag<br />
der Muttersprache.<br />
5
1<br />
2<br />
3<br />
4<br />
AUFGABEN<br />
Nennen Sie drei Beispiele, wo Ihnen im Alltag formale Sprachen begegnen.<br />
Die Lachsprache hat die Form (ha) n . Die Wörter dieser Sprache lauten: „ha“, „haha“,<br />
„hahaha“, …<br />
a) Notieren Sie die Syntaxregeln dieser Sprache in der EBNF.<br />
b) Geben Sie die Syntaxregeln dieser Sprache mithilfe von Syntaxdiagrammen an.<br />
c) Erstellen Sie für die Lachsprache eine Chomsky-Grammatik.<br />
d) Leiten Sie das Wort „hahaha“ mithilfe eines Ableitungsbaumes ab.<br />
Die Sprache der Kleidergrößen K lautet: K = {XXS, XS, S, M, XL, XXL, XXXL}<br />
Geben Sie eine Chomsky-Grammatik zur Erzeugung dieser Kleidergrößensprache<br />
an.<br />
Die KFZ-Kennzeichen in Deutschland sind unter anderem aus drei Zeichengruppen<br />
aufgebaut: Die erste Gruppe aus einem bis drei Buchstaben gibt an, aus welcher<br />
Stadt bzw. welchem Landkreis das Fahrzeug kommt. Die zweite Gruppe besteht<br />
aus ein bis zwei Buchstaben und dient der Identifikation. Ebenso der Identifikation<br />
dient die dritte Gruppe, die aus ein bis vier Ziffern besteht.<br />
a) Geben Sie mithilfe der EBNF eine Grammatik an, die den Aufbau von KFZ-Kennzeichen<br />
beschreibt.<br />
b) Geben Sie drei ungültige Kennzeichen an, die nicht zur Sprache der deutschen<br />
KFZ-Kennzeichen gehören.<br />
5<br />
In der Mathematik haben Sie gelernt, einen Ausdruck wie (3 + 4) * (5 – 3) folgendermaßen<br />
zu beschreiben:<br />
„Der Term ist ein Produkt. Der 1. Faktor ist eine Summe aus den Summanden drei<br />
und vier. Der 2. Faktor ist eine Differenz. Der Minuend lautet fünf, der Subtrahend<br />
ist drei.“<br />
a) Erstellen Sie zu diesem Term einen Ableitungsbaum.<br />
b) Geben Sie zu den vier Grundrechenarten – inklusive der Klammerung – eine<br />
Chomsky-Grammatik an.<br />
c) Stellen Sie die Ableitungsregeln durch Syntaxdiagramme dar.<br />
Zusatzmaterial – Chomsky-Grammatik<br />
6