Zum Inhalt springen

„Produktionsregel“ – Versionsunterschied

aus AufEinWort, der freien Forschung
[ungesichtete Version][ungesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
Eine Regel <span class="mwe-math-element">[[file:6aa2e59eb74c0e8950c7daafb5f444b96f96ece4|alt={\displaystyle p=(\alpha ,\beta )}|71x20px]]</span> wird oftmals durch die Schreibweise <span class="mwe-math-element">[[file:0e2b0511d452842ec71e40223d223472b7527ca7|alt={\displaystyle \alpha \rightarrow \beta }|46x18px]]</span> (mit dem Relationszeichen <span class="mwe-math-element">[[file:53e574cc3aa5b4bf5f3f5906caf121a378eef08b|alt={\displaystyle \rightarrow }|16x13px]]</span> anstelle von <span class="mwe-math-element">[[file:b4dc73bf40314945ff376bd363916a738548d40a|alt={\displaystyle P}|12x15px]]</span>) dargestellt, und zu jedem festen <span class="mwe-math-element">[[file:b79333175c8b3f0840bfb4ec41b8072c83ea88d3|alt={\displaystyle \alpha }|10x12px]]</span> kann die Gesamtheit zugehöriger Regeln <span class="mwe-math-element">[[file:1f4ccd3ebb721c0542e716437ff362df87c71ff4|alt={\displaystyle \alpha \rightarrow \beta _{1},\;\alpha \rightarrow \beta _{2},\;\alpha \rightarrow \beta _{3},\ldots }|212x18px]]</span> durch die Schreibweise <span class="mwe-math-element">[[file:b5b729a75e79ce7f99647851f254e8c6f95ac828|alt={\displaystyle \alpha \rightarrow \beta _{1}\;|\;\beta _{2}\;|\;\beta _{3}\;|\ldots }|147x20px]]</span> abgekürzt werden.<sup id="cite_ref-3" class="reference">[https://de.wikipedia.org/wiki/Produktionsregel#cite_note-3 [3]]</sup>
<p>Eine '''Produktionsregel''' (auch '''Regel''', '''Produktion''' oder '''Ersetzungsregel''' genannt) ist in der Theorie [https://de.wikipedia.org/wiki/Formale_Grammatik formaler Grammatiken] eine Regel, die angibt, wie aus [https://de.wikipedia.org/wiki/Wort_(Theoretische_Informatik) Wörtern] durch eine Grammatik neue Wörter bzw. Symbolfolgen [https://de.wikipedia.org/wiki/Ableitung_(Informatik) produziert] werden.</p>
== <span id="Definition">Definition</span> ==
<span>Formal ist eine Produktionsregel ''p aus einer Grammatik G'' = ( ''V, T, P, S '') - mit ''Vokabular V, [https://de.wikipedia.org/wiki/Alphabet_(Informatik) Alphabet] T'' von ''[https://de.wikipedia.org/wiki/Terminalsymbol Terminalsymbolen], Regelmenge P'' und ''[https://de.wikipedia.org/wiki/Startsymbol Startsymbol]'' ''S - ''ein Element der Regelmenge, also ''p'' ∈ ''P''.<sup id="cite_ref-1" class="reference">[https://de.wikipedia.org/wiki/Produktionsregel#cite_note-1 [1]]</sup></span><sup id="cite_ref-1" class="reference">[https://de.wikipedia.org/wiki/Produktionsregel#cite_note-1]</sup><p>Eine Regel ist ein [https://de.wikipedia.org/wiki/Geordnetes_Paar geordnetes Paar] p = ( ''α'', ''β'' ) der beiden Wörter ''α und''&nbsp;''β,''&nbsp;wenn <span class="mwe-math-element">''α''</span> ein Wort aus ''V*'' ⧵ ''T*'' ist und <span class="mwe-math-element">''β''</span> ein Wort aus ''V*'' ist. Das Wort <span class="mwe-math-element">''α''</span> kann also eine beliebig lange Folge von Zeichen des Vokabulars ''V'' sein (''V*''&nbsp;ist die [https://de.wikipedia.org/wiki/Kleenesche_und_positive_H%C3%BClle Kleenesche Hülle] von ''V''), solange sie nicht leer ist und nicht nur aus Terminalsymbolen ''s'' ∈ ''T'' &nbsp;besteht. Es ist daher ''V*'' = ''V* NV*''. Das Wort ''β''&nbsp;kann dann gemäß der Regel das Wort <span class="mwe-math-element">''α ''</span>ersetzen und kann eine beliebig lange, endliche Folge von Zeichen des Vokabulars sein. Insbesondere kann <span class="mwe-math-element">''β'' </span>auch nur aus Terminalsymbolen bestehen ( ''β'' ∈ ''T*'' ) oder das [https://de.wikipedia.org/wiki/Leeres_Wort leere Wort] sein ( ''β = ε'' }. Damit stellen die Produktionsregeln eine endliche Teilmenge des [https://de.wikipedia.org/wiki/Kartesisches_Produkt kartesischen Mengenprodukts]</p>
:<span class="mwe-math-element">( ''V*'' ⧵ ''T*'' ) ⛌ ''V*'' = ''V* NV*'' ⛌ ''V*''</span>,
<p>also eine [https://de.wikipedia.org/wiki/Relation_(Mathematik) Relation] dar. Verlangt man noch, dass auf der rechten Seite einer Regel keine Startzeichen vorkommen dürfen, dann hat im obigen kartesischen Produkt auf der rechten Seite jeweils ( ''V'' ⧵ { ''S'' } )* <span class="mwe-math-element">[[file:b3df5c3f47478180485a81eab54420704c926436|alt={\displaystyle (V\setminus \{S\})^{*}}|300px]]</span> statt ''V*''&nbsp;zu stehen.<sup id="cite_ref-KR1994_2-0" class="reference">[https://de.wikipedia.org/wiki/Produktionsregel#cite_note-KR1994-2 [2]]</sup></p><p>Eine Regel ''p'' = ( ''α'', ''β )'' <span class="mwe-math-element">[[file:6aa2e59eb74c0e8950c7daafb5f444b96f96ece4|alt={\displaystyle p=(\alpha ,\beta )}|300px]]</span> wird oftmals durch die Schreibweise ''α ''➝&nbsp;''β'' (mit dem Relationszeichen ➝ anstelle von ''P'') dargestellt, und zu jedem festen ''α''&nbsp;kann die Gesamtheit zugehöriger Regeln ''α'' ➝ ''β''<sub>1</sub>, ''α'' ➝ ''β''<sub>2</sub>, ''α'' ➝ ''β''<sub>2,...</sub> durch die Schreibweise ''α'' ➝ ''β''<sub>1</sub>⎮ ''β''<sub>2</sub> ⎮''β''<sub>3</sub> ⎮... abgekürzt werden.<sup id="cite_ref-3" class="reference">[https://de.wikipedia.org/wiki/Produktionsregel#cite_note-3 [3]]</sup><br><sup id="cite_ref-3" class="reference"></sup></p>
== <span id="Anwendung_von_Produktionsregeln">Anwendung von Produktionsregeln</span> ==
<p>In der [https://de.wikipedia.org/wiki/Theoretische_Informatik Theoretischen Informatik] sowie in der [https://de.wikipedia.org/wiki/Sprachwissenschaft Linguistik] werden die Produktionsregeln einer formalen Grammatik angewendet, um formale Sprachen zu beschreiben oder zu erzeugen.</p><p>Liegt ein Wort ''v''<sub>1</sub> ''αv''<sub>2</sub> = ''v ''∈ V<sup>+</sup>&nbsp;vor, so lässt sich eine Produktionsregel <span class="mwe-math-element">( ''α'', ''β'' )</span> auf ''v'' anwenden, mit dem resultierenden Wort ''v''<sub>1</sub>''βv''<sub>2</sub>. Ein Wort, das nur aus Terminalsymbolen besteht und vom Startsymbol abgeleitet werden kann, ist ein Wort der Sprache, die von der Grammatik beschrieben wird.</p>
== <span id="Beispiele">Beispiele</span> ==
<p>Es sei innerhalb einer formalen Grammatik mit den Nichtterminalsymbolen ''N'' = { ''A'', ''B'' } und den Terminalsymbolen ''T'' = { ''a'', ''b'' } die Produktionsregel ''aBa'' → ''bA'' definiert. Durch Anwendung dieser Regel kann bei der Erzeugung der durch die Grammatik beschriebenen Sprache zum Beispiel das Wort ''aBaBaBA'' zum Wort ''bABaBA'' abgeleitet werden, wobei hier das [https://de.wikipedia.org/wiki/Pr%C3%A4fix_(Theoretische_Informatik) Präfix] ''aBa'' durch die Konklusion ''bA'' ersetzt wird. Es wäre jedoch nach der Definition formaler Grammatiken auch möglich, das zweite Vorkommen des Wortes ''aBa'' zu ersetzen, so dass das Wort ''aBbABA ''entsteht.</p><p>Wäre außerdem die Regel ''aBa → ε'' definiert, so könnte das zuvor betrachtete Wort ''aBaBaBA'' außerdem in die Wörter ''BaBA'' bzw. ''aBBA'' abgeleitet werden. (''ε'' ist die in der Regel verwendete Notation für das [https://de.wikipedia.org/wiki/Leeres_Wort leere Wort], ein Wort, das aus keinem einzigen Zeichen besteht.)</p>
== <span id="Informatik">Informatik</span> ==
<p>Wie bereits beschrieben, stellen Produktionsregeln einen grundlegenden Bestandteil formaler Grammatiken dar und werden demnach dazu verwendet, um formale Sprachen zu beschreiben. So werden Produktionsregeln etwa im Rahmen des [https://de.wikipedia.org/wiki/Compilerbau Compilerbaus] dazu verwendet, um eine [https://de.wikipedia.org/wiki/Programmiersprache Programmiersprache] zu beschreiben. Produktionsregeln werden hier häufig in der [https://de.wikipedia.org/wiki/Backus-Naur-Form Backus-Naur-Form] dargestellt.</p><p>Eine kognitive Anwendung haben Produktionsregeln in [https://de.wikipedia.org/wiki/Regelbasiertes_System regelbasierten Systemen]: Hier spricht man von Produktionsregeln, wenn die Konklusionen der Regeln, mit denen das System arbeitet, nur aus Konjunktionen von Literalen bestehen.</p>
== <span id="Linguistik">Linguistik</span> ==
<p>In der Theorie der [https://de.wikipedia.org/wiki/Transformationsgrammatik Transformationsgrammatik] veranschaulichen Produktionsregeln, die hier '''Phrasenstrukturregeln''' ('''PS-Regel'''n) genannt werden, den Gedanken, dass ein [https://de.wikipedia.org/wiki/Satz_(Grammatik) Satz] eine grammatische Struktur besitzt, die aus kategorietragenden Bestandteilen [https://de.wikipedia.org/wiki/Rekursion rekursiv aufgebaut] ist. Die ersten und klassisch gewordenen PS-Regeln in [https://de.wikipedia.org/wiki/Noam_Chomsky Noam Chomskys] Buch "Syntactic Structures" lauten:</p><pre>S → NP VP (ein Satz besteht aus einer [https://de.wikipedia.org/wiki/Nominalphrase Nominalphrase] und einer [https://de.wikipedia.org/wiki/Verbalphrase Verbalphrase])
VP → V NP* (eine Verbalphrase besteht aus einem Verb und null bis vielen Nominalphrasen)
</pre>
== <span id="Anmerkungen_und_Einzelnachweise">Anmerkungen und Einzelnachweise</span> ==
 
#<span class="reference-text">Die Mitglieder der Menge ''N'' := ''V'' ⧵ ''T'' &nbsp;bezeichnet man als ''[https://de.wikipedia.org/wiki/Nichtterminalsymbol Nichtterminalzeichen]'', zu diesen gehört das Startzeichen, also ''S'' ∈ ''N''.</span>
#<span class="reference-text">Sinngemäß nach Klaus Reinhardt: [http://users.informatik.uni-halle.de/~ahyjb/dis.pdf Prioritatszahlerautomaten und die Synchronisation von Halbspursprachen], Fakultät Informatik der Universität Stuttgart; Doktorarbeit 1994.</span>
#<span class="reference-text">Vergleiche [https://de.wikipedia.org/wiki/Backus-Naur-Form Backus-Naur-Form].</span>

Aktuelle Version vom 27. Januar 2024, 09:47 Uhr

Eine Produktionsregel (auch Regel, Produktion oder Ersetzungsregel genannt) ist in der Theorie formaler Grammatiken eine Regel, die angibt, wie aus Wörtern durch eine Grammatik neue Wörter bzw. Symbolfolgen produziert werden.

Definition

Formal ist eine Produktionsregel p aus einer Grammatik G = ( V, T, P, S ) - mit Vokabular V, Alphabet T von Terminalsymbolen, Regelmenge P und Startsymbol S - ein Element der Regelmenge, also p ∈ P.[1][1]

Eine Regel ist ein geordnetes Paar p = ( α, β ) der beiden Wörter α und β, wenn α ein Wort aus V* ⧵ T* ist und β ein Wort aus V* ist. Das Wort α kann also eine beliebig lange Folge von Zeichen des Vokabulars V sein (V* ist die Kleenesche Hülle von V), solange sie nicht leer ist und nicht nur aus Terminalsymbolen s ∈ T  besteht. Es ist daher V* = V* NV*. Das Wort β kann dann gemäß der Regel das Wort α ersetzen und kann eine beliebig lange, endliche Folge von Zeichen des Vokabulars sein. Insbesondere kann β auch nur aus Terminalsymbolen bestehen ( β ∈ T* ) oder das leere Wort sein ( β = ε }. Damit stellen die Produktionsregeln eine endliche Teilmenge des kartesischen Mengenprodukts

( V* ⧵ T* ) ⛌ V* = V* NV* ⛌ V*,

also eine Relation dar. Verlangt man noch, dass auf der rechten Seite einer Regel keine Startzeichen vorkommen dürfen, dann hat im obigen kartesischen Produkt auf der rechten Seite jeweils ( V ⧵ { S } )* {\displaystyle (V\setminus \{S\})^{*}} statt V* zu stehen.[2]

Eine Regel p = ( α, β ) {\displaystyle p=(\alpha ,\beta )} wird oftmals durch die Schreibweise α ➝ β (mit dem Relationszeichen ➝ anstelle von P) dargestellt, und zu jedem festen α kann die Gesamtheit zugehöriger Regeln α ➝ β1, α ➝ β2, α ➝ β2,... durch die Schreibweise α ➝ β1⎮ β2 ⎮β3 ⎮... abgekürzt werden.[3]

Anwendung von Produktionsregeln

In der Theoretischen Informatik sowie in der Linguistik werden die Produktionsregeln einer formalen Grammatik angewendet, um formale Sprachen zu beschreiben oder zu erzeugen.

Liegt ein Wort v1 αv2 = v ∈ V+ vor, so lässt sich eine Produktionsregel ( α, β ) auf v anwenden, mit dem resultierenden Wort v1βv2. Ein Wort, das nur aus Terminalsymbolen besteht und vom Startsymbol abgeleitet werden kann, ist ein Wort der Sprache, die von der Grammatik beschrieben wird.

Beispiele

Es sei innerhalb einer formalen Grammatik mit den Nichtterminalsymbolen N = { A, B } und den Terminalsymbolen T = { a, b } die Produktionsregel aBa → bA definiert. Durch Anwendung dieser Regel kann bei der Erzeugung der durch die Grammatik beschriebenen Sprache zum Beispiel das Wort aBaBaBA zum Wort bABaBA abgeleitet werden, wobei hier das Präfix aBa durch die Konklusion bA ersetzt wird. Es wäre jedoch nach der Definition formaler Grammatiken auch möglich, das zweite Vorkommen des Wortes aBa zu ersetzen, so dass das Wort aBbABA entsteht.

Wäre außerdem die Regel aBa → ε definiert, so könnte das zuvor betrachtete Wort aBaBaBA außerdem in die Wörter BaBA bzw. aBBA abgeleitet werden. (ε ist die in der Regel verwendete Notation für das leere Wort, ein Wort, das aus keinem einzigen Zeichen besteht.)

Informatik

Wie bereits beschrieben, stellen Produktionsregeln einen grundlegenden Bestandteil formaler Grammatiken dar und werden demnach dazu verwendet, um formale Sprachen zu beschreiben. So werden Produktionsregeln etwa im Rahmen des Compilerbaus dazu verwendet, um eine Programmiersprache zu beschreiben. Produktionsregeln werden hier häufig in der Backus-Naur-Form dargestellt.

Eine kognitive Anwendung haben Produktionsregeln in regelbasierten Systemen: Hier spricht man von Produktionsregeln, wenn die Konklusionen der Regeln, mit denen das System arbeitet, nur aus Konjunktionen von Literalen bestehen.

Linguistik

In der Theorie der Transformationsgrammatik veranschaulichen Produktionsregeln, die hier Phrasenstrukturregeln (PS-Regeln) genannt werden, den Gedanken, dass ein Satz eine grammatische Struktur besitzt, die aus kategorietragenden Bestandteilen rekursiv aufgebaut ist. Die ersten und klassisch gewordenen PS-Regeln in Noam Chomskys Buch "Syntactic Structures" lauten:

S → NP VP (ein Satz besteht aus einer [https://de.wikipedia.org/wiki/Nominalphrase Nominalphrase] und einer [https://de.wikipedia.org/wiki/Verbalphrase Verbalphrase])
VP → V NP* (eine Verbalphrase besteht aus einem Verb und null bis vielen Nominalphrasen)

Anmerkungen und Einzelnachweise

  1. Die Mitglieder der Menge N := V ⧵ T  bezeichnet man als Nichtterminalzeichen, zu diesen gehört das Startzeichen, also S ∈ N.
  2. Sinngemäß nach Klaus Reinhardt: Prioritatszahlerautomaten und die Synchronisation von Halbspursprachen, Fakultät Informatik der Universität Stuttgart; Doktorarbeit 1994.
  3. Vergleiche Backus-Naur-Form.