12.01.2014 Aufrufe

Download (PDF: 1.8 MB)

Download (PDF: 1.8 MB)

Download (PDF: 1.8 MB)

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!