Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

aliaatreides

Praktikant

  • "aliaatreides" is female
  • "aliaatreides" started this thread

Posts: 24

Date of registration: May 3rd 2007

Occupation: 4. Semester Informatik

1

Friday, September 14th 2007, 7:12pm

GThI- regulaere Sprachen mit leerem Wort

Hallo!

Uebung 6, Aufgabe 3 fragt nach einer regulaeren Grammatik die L:={w von {a,b}* | |w|a =|w|b MOD 2 } erzeugt.

In der Uebung haben wir (oder ich falsch mitgeschrieben...) von dem DEA die folgende Sprache abgeleitet:

S -> eps | 0
0 -> a1 | b1
1 -> a0 | b0 | a | b

Meiner Meinung nach, ist diese Sprache nicht regulaer, wegen S -> 0 mit 0 Variable...

Habt Ihr eine Idee wie kann man es loesen?

Danke, Alia
I must not fear. Fear is the mind-killer.
Fear is the little-death that brings total obliteration.
I will face my fear.
I will permit it to pass over me and through me.

This post has been edited 1 times, last edit by "aliaatreides" (Sep 14th 2007, 10:16pm)


derSmutje

Alter Hase

  • "derSmutje" is male

Posts: 295

Date of registration: Dec 7th 2004

2

Friday, September 14th 2007, 10:09pm

Hi,
wenn man davon ausgeht, dass eine rechte Seite einer Produktion einer regulären Grammatik nur aus entweder einem Terminal oder einem Terminal gefolgt von einem Nichtterminal (rechtsregulär - s. Wikipedia) bestehen darf, so hast du recht.

Die angegebene Grammatik lässt sich allerdings leicht in eine äquivalente reguläre Grammatik umformen, indem man die erste Produktion durch die folgende ersetzt:
S -> eps | a1 | b1
/join #inf

aliaatreides

Praktikant

  • "aliaatreides" is female
  • "aliaatreides" started this thread

Posts: 24

Date of registration: May 3rd 2007

Occupation: 4. Semester Informatik

3

Friday, September 14th 2007, 10:27pm

Quoted

Original von derSmutje
Die angegebene Grammatik lässt sich allerdings leicht in eine äquivalente reguläre Grammatik umformen, indem man die erste Produktion durch die folgende ersetzt:
S -> eps | a1 | b1


Dann kommt S in 1 -> aS | bS | a | b auf der rechten Seite vor - Widerspruch zur Sonderregelung aus VL!
I must not fear. Fear is the mind-killer.
Fear is the little-death that brings total obliteration.
I will face my fear.
I will permit it to pass over me and through me.

derSmutje

Alter Hase

  • "derSmutje" is male

Posts: 295

Date of registration: Dec 7th 2004

4

Friday, September 14th 2007, 11:57pm

Ich meinte eigentlich, dass die beiden anderen Produktionen beibehalten werden sollen. Also die Grammatik durch folgende Produktionen bestimmt ist:

S -> eps | a1 | b1
0 -> a1 | b1
1 -> a0 | b0 | a | b
/join #inf

Arne

ThI

  • "Arne" is male

Posts: 1,798

Date of registration: Oct 7th 2002

Location: Hannover :)

Occupation: Lecturer ThI

5

Saturday, September 15th 2007, 10:53am

RE: GThI- regulaere Sprachen mit leerem Wort

Quoted

Original von aliaatreides
Hallo!

Uebung 6, Aufgabe 3 fragt nach einer regulaeren Grammatik die L:={w von {a,b}* | |w|a =|w|b MOD 2 } erzeugt.

In der Uebung haben wir (oder ich falsch mitgeschrieben...) von dem DEA die folgende Sprache abgeleitet:

S -> eps | 0
0 -> a1 | b1
1 -> a0 | b0 | a | b

Meiner Meinung nach, ist diese Sprache nicht regulaer, wegen S -> 0 mit 0 Variable...

Habt Ihr eine Idee wie kann man es loesen?

Danke, Alia

In der Vorlesung wurde die Chomsky-Hierarchie definiert. Für Typ 1,2,3 wurde die Einschränkung gemacht, dass für Regeln der Form u->v immer |u|<=|v| gelten muss (sprich keine Wortverkürzungen erlaubt sind). Da jedoch in diesem Fall niemals Grammatiken vom Typ 1,2,3 für Sprachen, die das leere Wort enthalten möglich wären, wurde zudem eine folgende Definition gemacht:
Haben wir eine Grammatik G=(V, Sigma, P, S) vom Typ 1, 2 oder 3 und ist zudem epsilon in L(G) gefordert (das leere Wort gehört zur Sprache und muss von der Grammatik G erzeugt werden können), dann sei die Regel "S->epsilon" zugelassen, aber nur dann wenn S auf keiner rechten Seite einer Produktion aus P vorkommt.

Die von Dir angegebene Grammatik

Source code

1
2
3
S -> eps | 0           (*)
0 -> a1 | b1
1 -> a0 | b0 | a | b
ist demnach fast eine gültige Typ-3-Grammatik (reguläre Grammatik), da folgendes gilt:
- S->eps ist enthalten und S taucht nie auf einer rechten Seite auf.
- Für alle Regeln der Form u->v gilt sonst immer |u|<=|v|.
- Es gilt für u->v immer: |u|=1 und u ist eine Variable.
- Es gilt für u->v immer: v besteht entweder aus einem einzelnen Terminalsymbol oder aus einem Terminalsymbol gefolgt von einer Variablen. Hier ist jedoch ein Widerspruch an der Stelle (*) aufgetreten. Dies lässt sich jedoch leicht wieder gerade biegen, wie schon derSmutje vor mir gesagt hat. Einfach die Regel S->0 ersetzen durch S->a1 und S->b1.
"NP - The class of dashed hopes and idle dreams." Complexity Zoo

aliaatreides

Praktikant

  • "aliaatreides" is female
  • "aliaatreides" started this thread

Posts: 24

Date of registration: May 3rd 2007

Occupation: 4. Semester Informatik

6

Saturday, September 15th 2007, 12:35pm

hm... :) ja!

danke!!!
I must not fear. Fear is the mind-killer.
Fear is the little-death that brings total obliteration.
I will face my fear.
I will permit it to pass over me and through me.