Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Schöne Ferien!
 

 

Teil a): Fehler in Lösung / Alternativlösung?

–1 Punkt
44 Aufrufe
Der RA bei a) ist meiner Meinung nach doch immer noch falsch ? Beispielsweiße akzeptiert doch der Automat das wort 21120101 oder das wort 2; der RA aber nicht oder sehe ich das falsch?
 
Gefragt 18, Nov 2014 in REC-AI von uafjv uafjv Tutor(in) (167,890 Punkte)  
Bearbeitet 18, Nov 2014 von uafjv uafjv
Hallo zusammen,

in der Musterlösung wird der reguläre Ausdruck:

RA({0; 1; 2}) : a1 = (2*12*(02*)*1)*

als mögliche Lösung angegeben. Mir ist aber leider nicht ganz ersichtlich, wie dieser Ausdruck das Wort w := 2 akzeptiert?

Könnte mir das bitte jemand erklären?

Danke und liebe Grüße

EDIT: Der RA war fehlerhaft und ist inzwischen korrigiert. Der Beitrag wurde nicht zensiert, weil er ein Lehrstück dafür ist, wie man uns auf Fehler hinweisen sollte - mit genauer Bezeichnung der Stelle und Gegenbeispiel (und natürlich freundlich :-) ).

7 Antworten

+1 Punkt
 
Beste Antwort

zu Automat a):

Dieser lässt sich doch vereinfachen oder? d.h. b und c sind äquivalent, wobei dann die 0 und die 2 von bc auf bc geführt werden.

Aufgrund dieser Annahme habe ich diesen RA aufgestellt:

(2+1(0+2)*1)*          EDIT: Diese Lösung wurde auch im Pool aufgenommen.

Deckt dieser RA alles ab oder ist er falsch? Wenn er falls ist, warum?

 

Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,890 Punkte)  
Ja, das stimmt auch.

Viele Grüße

Lukas König
0 Punkte

Der Automat aus a akzeptiert das Wort 21120101 nicht.

nach der ersten 2 bin ich noch im Zustand a, nach den beiden Einsen bin ich ebenfalls wieder im Zustand a, nach der nächsten 2 ebenso, dann kommt die Null, mit der kann ich aber vom Zustand a nirgendwo hinlaufen...

 

Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,890 Punkte)  
0 Punkte

ist

a1 = [2*1(2+00)*0(2+11)*1]*

auch richtig?

Gruß

 

Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,890 Punkte)  
-> so wie ich das sehe fehlen in deinem regulären Ausdruck Wörter, die vom Automaten akzeptiert werden.

Nimm zum Beispiel das Wort 2121

Dieses Wort ist aber nicht Teil deines Regulären Ausdrucks, dein RA erzeugt Wörter, die immer eine 0 enthalten!

Gruß Theresa (Tutorin)
0 Punkte

Wie sieht es mit folgender Variante aus?

a1 = (2* + 12*1 + 12*02*1)*

 

Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,890 Punkte)  
Hallo,

mach dir mal noch Gedanken zu dem Wort 1001 ;) .

eine kleinigkeit fehlt also noch aber dann könnte es passen.

LG

Basti (Tutor)
also dann

a1 = (2* + 12*1 + 12*0(00)*2*1)* ?

soll heißen, dass mindestens eine 0 gelaufen werden muss oder eine ungerade Anzahl an 0.
Hallo,

ja schon besser aber schau dir mal weiter noch Wörter an wie: 120201

du hast das jetzt mit der Reihenfolge zu strikt vorgegeben- versuch das noch freier zu gestalten (mit + oder so ;) )

LG

Basti (Tutor)
0 Punkte

Für a): Eine Müsterlösung ist a1=(2*(1(0+2)*1)*)*

Hallo,

Ist die Lösung a1=(2*(1(0+2)*1))* mit weniger "*" auch richtig?

Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,890 Punkte)  
zu a) ja das geht auch so da du 2* verwendest, musst du die  2 nicht schreiben und kanns dann das * der äußeren Klammer für die mittlere nehmen ;)
LG Basti (Tutor)
0 Punkte

Hallo,

du hast Recht, eine 2 kann mit diesem Ausdruck nicht erzeugt werden. Ich nehme an, dass nach der ersten 2* ein '+' verschluckt wurde, dann sollte es nämlich passen.

Gruß,

Adam (Tutor)

 

Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,890 Punkte)  
Sie haben natürlich recht, da fehlt das '+'.

Danke für den Hinweis.

Viele Grüße

Friederike Pfeiffer-Bohnen und Lukas König
0 Punkte

Zu a.):

1. Glaube ich, dass in der Automatendefiniton ein ganz kleiner Fehler ist, der Startzustand müsste doch s0 (nicht a) und die Endzustandsmenge {s0} (nich{a}) lauten, oder? EDIT: Ist inzwischen korrigiert.

2. Ist RA(L(A1))=2*(2*1(0+2)*1)*2* eine gültige Antwort?

Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,890 Punkte)  
Hi,

zu a):
1. Ja, du hast Recht. Wird demnächst geändert.
2. ist auch eine gültige Antwort, die 2* am Anfang und am Ende wären aber eigentlich überflüssig, da man 2* auch mit dem Klammerausdruck erzeugen kann.
Gruß,
Jonas (Tutor)
...