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 c): Fehler in Lösung / Alternativlösung ?

–1 Punkt
39 Aufrufe

Hallo,

ich habe eine Frage zu der Lösung im Aufgabenteil c). Und zwar wurde hier als Lösung angegeben:

 

a3 = (0+2)*11*(0+2)((1+2)1*(0+2)0*)*         (EDIT: Nicht mehr aktuell, Lösung wurde inzwischen verbessert.)

 

So wie ich das verstehe, stellt das Fettgedruckte quasi die Zyklen dar, die man nach erreichen des Endzustandes laufen kann. Mein Problem ist jetzt, dass dadurch doch die Reihenfolge, in der ich die Zyklen ablaufe, festgelegt ist? D.h. lt. dem geg. Ausdruck müsste ich doch zuerst den Zyklus über den Zustand b laufen und darf dann erst den Nullerzyklus bei c laufen? Als Lösung hätte ich deswegen beide Zyklen mit einem "+" verbunden:

a3 = (0+2)*11*(0+2)(0 + (1+2)1*(0+2))*

Vielleicht, handelt es sich bei mir aber auch um einen Denkfehler...?

 

Vielen Dank für die Hilfe im Voraus!

 

Gefragt 18, Nov 2014 in REC-AI von uafjv uafjv Tutor(in) (167,840 Punkte)  
Bearbeitet 18, Nov 2014 von uafjv uafjv

4 Antworten

0 Punkte

Mit diese RA hast du aber einen Fall nicht abgedeckt: Angenommen wir sind schon im Endzustand, dann muss von da aus auch 010 regulär sein.

Gegenvorschlag: a3 = (0+2)*11*(0+2)(0*((1+2)1*(0+2))*)*

Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,840 Punkte)  
Aber ich kann doch mit meinem Term ebenfalls vom Endzustand aus 010 eingeben und lande wieder im Endzustand?

(0 + (1+2)1*(0+2))*

1. Iteration: "0" wählen

2. Iteration: Aus (1+2)1*(0+2) die "1" aus der ersten Klammer nehmen, dann die nachfolgende 1 0-Mal iterieren, dann aus der zweiten Klammer die "0" wählen
Hi,

beide Vorschläge sind meiner Meinung nach richtig.

Gruß

Sebastian (Tutor)
0 Punkte
Für c): Eine Müsterlösung ist

a3=(0+2)*11*(0+2)(0*(1+2)1*(0+2))*

Ist die Lösung

a3=(0+2)*11*(0+2)(0*((1+2)1*(0+2))*)* mit einer "*" mehr auch richtig?

Viele Grüße
Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,840 Punkte)  
zu c)

ist auch korrekt

LG Basti (Tutor)
0 Punkte

Hallo,

ich habe eine Frage zu Aufgabe c) Nehmen wir an ich bin durch eingabe von 10 in s2.wenn ich dann beim ersten α3 noch 010 eingebe, lande ich dann wieder in s2? (also insgesamt gebe ich 10010 ein) kann man sagen, dass man die letzte klammer einmal mit der 0 durchläuft und dann mit ((1+2)1*(0+2))* würde das gerne für mich abklären :)

danke und grüße

 

Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,840 Punkte)  
Mit 10010 landest du wieder in s2, dem Endzustand.

Mit 10 "durchläufst" du (0 + 2)*11*(0 + 2) (1.Teil des Ausdrucks) und mit010 "durchläufst" du (0*((1 + 2)1*(0 + 2))*)* (2.Teil des Ausdrucks). Ich hoffe ich konnte deine Frage beantworten.

LG, Yvonne (Tutor)
0 Punkte
Hallo,

waere (0+2)*11*(0+2)0*((1+2)1*(0+2)0*)*

im Aufgabenteil c) zur angegebenen Lösung äquivalent?
Beantwortet 18, Nov 2014 von uafjv uafjv Tutor(in) (167,840 Punkte)  
Das sieht richtig aus.

Gruß, Christiane (Tutor)
...