b - Universität Paderborn

Werbung
Modellierung
Wintersemester 2007/2008
Prof. Dr. Uwe Kastens, Institut für Informatik
Fakultät für Elektrotechnik, Informatik und Mathematik
Universität Paderborn
Klausur 2, 04.04.2008, 9:00 – 12:00 Uhr
Bitte
Rotstifte, Bleistifte oder eigenes Papier dürfen Sie
nicht verwenden.
Hilfsmittel sind nicht erlaubt.
Aufgabe
Thema
Punkte
1
Verständnisfragen
/22
2
Wertebereiche
/24
3
Terme und Algebren
/22
4
Logik
/21
5
Modellierung mit Graphen
/21
6
Modellierung von Strukturen
/20
7
Modellierung von Abläufen
/20
8
Fahrstuhlbenutzung
/30
Es gibt maximal 180 Punkte, mit 90 Punkten haben Sie bestanden.
Wir wünschen viel Erfolg.
Aufgabe 1: Verständnisfragen (22 Punkte)
(a) Geben Sie zwei verschiedene Elemente des folgenden Wertebereichs als Mengen an:
2
{ 1, 2 }  { a, b }2
(b) Formen Sie den folgenden Term aus der Präfix-Notation
um in die
–ab/+cde
2
Infix-Notation:
Postfix-Notation:
(c) Welchen Term liefert folgende Substitution? h( x, f(3, y) ) [x / f(3, y), y / 5]
(d) Geben Sie für die Terme f( g(y), 3 ) und f( g(z), x ) einen allgemeinsten Unifikator
als mehrfache Substitution an.
(e) Vervollständigen Sie die Schlussregel für 2-seitige Alternativen:
1
1
2
S1
S2
{P}
falls B: S1 sonst S2 { Q }
(f) Ergänzen Sie folgendes Petri-Netz so, dass die Stellen A und B nie gleichzeitig markiert
sind, obwohl sie immer wieder markiert werden können:
A
B
2
(g) Geben Sie die Sprache als regulären Ausdruck an, die der folgende endliche Automat
akzeptiert:
2
b
a
b
d
c
d
Sprache:
(h) Geben Sie einen nicht-deterministischen Automaten an, der alle Wörter über dem
Alphabet { a, b, c } akzeptiert, deren drittletzter Buchstabe ein b ist.
Die Sprache enthält z.B. caabaa.
(i) Fügen Sie zum folgenden Graph drei Kanten hinzu, sodass er einen Hamilton-Kreis
enthält.
a
b
2
3
e
c
d
Geben Sie den Hamilton-Kreis als Weg an:
Tragen Sie zu jedem Knoten seinen Grad in die Zeichnung ein.
(j) Fügen Sie zum folgenden Graph einige Kanten hinzu, sodass er einen Euler-Kreis enthält.
a
b
e
c
Geben Sie den Euler-Kreis als Weg an:
d
2
(k) Negieren Sie folgenden Satz, und formen Sie ihn so um, dass er negierte Quantoren wie
"Nicht jeder …" oder "Es gibt keinen …" nicht enthält:
1
Jeder Unsinn kommt in Klausurantworten vor.
(l) Zeichnen Sie ein kleines ER-Modell für folgenden Sachverhalt:
In einem fahrenden Pkw sitzen mindestens eine und höchstens fünf Personen.
Eine Person sitzt in höchstens einem Pkw.
2
Aufgabe 2: Wertebereiche (24 Punkte)
7
a) Wertebereiche lesen und schreiben
Füllen Sie die unten abgedruckte Tabelle so aus, dass in den ersten beiden Spalten unterschiedliche
Elemente des Wertebereichs aus der dritten Spalte stehen. Die erste Zeile ist als Beispiel bereits
vollständig ausgefüllt.
In der Spalte Wertebereich dürfen nur die nachfolgend definierten Grundmengen und die in der
Vorlesung definierten Verknüpfungsoperationen verwendet werden.
K := { a , b , c }
L := { 1, 2, 3 }
M := { x , y }
Element 1
Element 2
1
x
(a, 1, x)
(b, 2, y)
Wertebereich
L∪M
L2
{ (a, x), (b, y) }
{ (c, x) }
ML
( (a, 1), {x} )
( (b, 2), {x, y} )
Welche Kardinalität haben die folgenden beiden Wertebereiche?
Wertebereich
 L×M 2
Pow K ∪M 
Kardinalität
b) Modellierung einer Pizzeria
Es soll das Speiseangebot einer Pizzeria modelliert werden.
Geben Sie Wertebereiche für die unterstrichenen Werte an.
1. Pizzas werden in drei unterschiedlichen Größen angeboten. Es gibt jede Pizza wahlweise
mit 20 cm, 30 cm oder 40 cm Durchmesser.
Größe :=
2. Für den Belag einer Pizza stehen die folgenden Zutaten zur Wahl: Käse, Tomaten, Pilze,
Salami und Schinken. Dabei können mehrere Zutaten kombiniert werden. Man muß aber
mindestens eine Zutat für den Belag wählen.
Belag :=
3. Eine Pizza ist durch ihre Größe und ihren Belag beschrieben. Zusätzlich muss man noch
zwischen einem normalen Rand und einem gefüllten Rand für die Pizza wählen.
Pizza :=
4. Der Ofen der Pizzeria bietet 6 Stellplätze für Pizzas. die Stellplätze sind von 1 bis 6
durchnummeriert. Auf jedem Platz kann eine beliebige Pizza stehen oder der Platz bleibt
leer.
Ofenbelegung :=
5. Ein Produktionsplan beschreibt eine oder mehrere aufeinander folgende Belegungen des
Ofens mit Pizzas.
Produktionsplan :=
6. Die Preistafel der Pizzeria listet die Preise für einige der angebotenen Pizzas auf. Preise
werden in Cent angegeben. Die billigste Pizza kostet 300 Cent, die teuerste Pizza kostet
1990 Cent.
Preistafel :=
6
c) Eigenschaften von Relationen herstellen
3
Die unten angegebene Relation R0 soll so erweitert werden, dass eine reflexive, eine
symmetrische und eine transitive Relation entstehen.
M := { a , b , c , d }
R0 := {  a, a, a , b , b , b , b , c  } ⊆ M ×M
1. Erweitern Sie die Relation R0 zu einer reflexiven Relation R1. R1 soll möglichst wenige
Elemente enthalten.
R1 := R0 
2. Erweitern Sie die Relation R0 zu einer symmetrischen Relation R2. R2 soll möglichst
wenige Elemente enthalten.
R2 := R0 
3. Erweitern Sie die Relation R0 zu einer transitiven Relation R3. R3 soll möglichst wenige
Elemente enthalten.
R3 := R0 
d) Eigenschaften von Relationen untersuchen
Für die unten angegebene Relation R soll untersucht werden, ob sie reflexiv, symmetrisch
oder transitiv ist.
R := {  x , y ∣ x , y ∈ℕ mit x⋅y ist gerade } ⊆ ℕ×ℕ
1. Ist die Relation R reflexiv? (Begründung oder Gegenbeispiel)
2. Ist die Relation R symmetrisch? (Begründung oder Gegenbeispiel)
3. Ist die Relation R transitiv? (Begründung oder Gegenbeispiel)
3
e) Modellierung mit Funktionen
1. Ein Busunternehmen plant die Nutzung des Firmenparkplatzes. Die Funktion
Parkordnung: Stellplätze  Busse
modelliert, welcher Bus auf welchem Stellplatz geparkt werden darf.
Beschreiben Sie die folgenden Aussagen über den modellierten Ausschnitt der realen Welt
durch Eigenschaften der Funktion Parkordnung.
i. Aussage: "Für jeden Bus gibt es mindestens einen Stellplatz."
Die Funktion Parkordnung ist …
ii. Aussage: "Für jeden Bus gibt es genau einen Stellplatz."
iii. Aussage: "Es gibt Stellplätze, die nicht genutzt werden."
2. Sei M := { 1, 2, 3 }eine Menge mit 3 Elementen und N := { a, b, c, d, e } eine Menge mit
5 Elementen. Kann es dann Funktionen f: M  N mit den folgenden Eigenschaften geben?
Geben Sie ein Beispiel für eine solche Funktion an oder begründen Sie, warum es eine
solche Funktion nicht geben kann.
i. Gibt es eine surjektive Funktion f: M  N?
ii. Gibt es eine injektive Funktion f: M  N, die nicht total ist?
5
Aufgabe 3: Terme und Algebren (22 Punkte)
4
a) Unifikationsverfahren nach Robinson
Folgende zwei Terme in Funktionsnotation sind gegeben:
s := f( g(x, x),
g(x, h(y)) )
t := f( g(h(y), z), g(h(3), z) )
Unifizieren Sie die Terme mit Hilfe des Verfahrens von Robinson.
Benutzen Sie in dem folgenden Schema so viele Schritte, wie Sie für die Lösung benötigen und
kennzeichnen Sie die Abweichungspaare durch Unterstreichen.
#
Terme
σ1   
1.
2.
Substitutionen
s := f( g(x, x),
g(x, h(y)) )
t := f( g(h(y), z), g(h(3), z) )
σ2  σ1
3.
4.
5.
6.
Fassen Sie die einzelnen Substitutionen zu einer mehrfachen Substitution zusammen:
σ

b) Korrekte Terme
5
In dieser Teilaufgabe wird folgende Signatur Σ = (S, F) verwendet:
S = { A, B }
F = { p: A  A
q: B
a:
b:
 B,
 A,
 A,
B }
1. Es sei der folgende Term in Funktionsform gegeben:
p( q( b ), q ( p(a, q( b ) ) ) )
Stellen Sie den Term als Kantorowitsch-Baum dar. Notieren Sie in jedem Knoten den
Namen der Operation und die entsprechende Ergebnissorte.
Operation
Ergebnissorte
2. Stellen Sie den Term in Postfixform dar:
3. Warum sind die folgenden Terme zur Signatur Σ nicht korrekt? (kurze Begründung)
Term
p( q( b ) )
q( p (a, b) )
Begründung
c) Abstrakte Algebra für eine Schlange
3
Diese Teilaufgabe verwendet die folgende abstrakte Algebra Schlange = ( τ, Σ, Q ).
Signatur: Σ = (S, F)
S = { Schlange, Element }
F = { create:
enq:
Schlange  Element
deq:
Schlange
twice:
Schlange  Element
front:
Schlange
 Schlange,
 Schlange,
 Schlange,
 Schlange,
 Element }
Axiome: Seien x, y Terme der Sorte Element und s ein Term der Sorte Schlange:
Q = { deq(enq(create, x))
deq(enq(enq(s, x), y))
twice(s, x)
front(enq(create, x))
front(enq(enq(s, x), y))
}
 create,
 enq(deq(enq(s, x)), y),
 enq(enq(s, x), x),
 x,
 front(enq(s, x))
(Q1)
(Q2)
(Q3)
(Q4)
(Q5)
Beschreibung: Die Sorte Schlange repräsentiert eine Schlange mit Einträgen der Sorte Element.
Die Konstante create steht für die leere Schlange, mit der Operation enq wird ein Element am
Ende der Schlange angefügt. Die Operation deq entfernt ein Element vom Anfang der Schlange.
Mit der Operation twice wird ein Element zweimal am Ende der Schlange angefügt. Die Operation
front liefert das vorderste Element der Schlange.
Die Operationen create und enq sind die einzigen Konstruktoren der Algebra.
1. Warum handelt es sich bei der Operation front um eine Projektion (und nicht um einen
Hilfskonstruktor)?
2. Geben Sie einen möglichst kurzen, undefinierten, aber korrekten Term zu der Algebra an.
3. Geben Sie einen möglichst kurzen Term an, der eine Fehlersituation zur Projektion front
enthält.
4. Formen Sie den folgenden Term in Normalform um. Geben Sie bei jedem Schritt das
benutzte Axiom Qx an. In dem Term stehen a, b für Terme der Sorte Element.
Hinweis: Damit Sie nicht immer zurückblättern müssen, sind die Axiome unten auf der Seite
nochmals abgedruckt.
Umzuformender Term:
deq( twice( create, front( enq( enq( create, a ), b) ) ) )
Axiome: Seien x, y Terme der Sorte Element und s ein Term der Sorte Schlange:
Q = { deq(enq(create, x))
deq(enq(enq(s, x), y))
twice(s, x)
front(enq(create, x))
front(enq(enq(s, x), y))
}
 create,
 enq(deq(enq(s, x)), y),
 enq(enq(s, x), x),
 x,
 front(enq(s, x))
(Q1)
(Q2)
(Q3)
(Q4)
(Q5)
5
d) Abstrakte Algebra erweitern
5
Die abstrakte Algebra Schlange aus der Teilaufgabe (c) soll um zwei Operationen last und
sameLength erweitert werden.
Die Operation last liefert das letzte Element einer Schlange. Die Operation sameLength überprüft,
ob zwei Schlangen dieselbe Anzahl Elemente enthalten.
Dafür wird in der Signatur Σ'  S' F' die Menge der Sorten wie folgt erweitert:
S' = S  { BOOL }
Die Hilfssorte BOOL definiert die Konstanten true und false.
1. Erweitern Sie entsprechend die Menge F der Operationen um die Operationen last und
sameLength mit ihren Signaturen.
2. Geben Sie ein Axiom Q6 an, mit dem das Ergebnis der Operation last für jede nicht-leere
Schlange bestimmt werden kann.
3. Das folgende Axiom Q7 definiert das Ergebnis der Operation sameLength für einen
Spezialfall. Dabei ist x ein Term der Sorte Element und s ein Term der Sorte Schlange.
Geben Sie drei weitere Axiome Q8, Q9 und Q10 so an, dass das Ergebnis der Operation
sameLength für zwei beliebige Terme in Normalform bestimmt werden kann.
sameLength(create, enq(s, x))
 false
(Q7)
Aufgabe 4: Logik (21 Punkte)
a) Aussagenlogische Formeln
1. Formalisieren Sie die folgenden umgangssprachlichen Aussagen durch aussagenlogische
Formeln. Verwenden Sie dabei die folgenden atomaren Aussagen:
m Die Mensa hat geöffnet.
c Die Cafeteria hat geöffnet.
k Man kann einen Kaffee kaufen.
●
Die Mensa hat nicht geöffnet oder die Cafeteria hat geöffnet.
●
Man kann einen Kaffee kaufen, wenn die Cafeteria geöffnet hat.
●
Die Mensa hat nur geöffnet, wenn man auch einen Kaffee kaufen kann.
2. Zeigen Sie durch einen Widerspruchsbeweis, dass die Formel    semantisch aus der
Formelmenge { , ∧ } folgt.
3. Geben Sie zu den folgenden Umformungsschritten die verwendeten Gesetze an:
a ∧¬ a∧b
Gesetz:
⇔ a∧¬a∨¬b
Gesetz:
⇔ a∧¬a∨a∧¬b
Gesetz:
⇔ false∨a∧¬b 
Gesetz:
⇔ a∧¬b
8
b) Prädikatenlogik
9
1. Formalisieren Sie die folgenden umgangssprachlichen Aussagen.Verwenden Sie dabei die
folgenden Mengen und Prädikate:
P
Menge der Personen.
S
Menge der Stühle.
steht(p) Die Person p steht.
sitzt(p,s) Die Person p sitzt auf dem Stuhl s.
●
Nicht alle Personen stehen.
●
Alle Stühle sind besetzt.
●
Für jede Person gilt, dass sie entweder steht oder auf einem Stuhl sitzt.
●
Für jede Person gilt, dass sie auf höchstens einem Stuhl sitzt.
2. Formen Sie die folgende prädikatenlogische Formel in pränexe Normalform um.
Geben Sie mindestens 2 Zwischenschritte und das Ergebnis an.
¬∀ xQ  x∧∃ y R  x , y
c) Verifikation
Zeigen Sie durch formale Verfikation, dass am Ende des folgenden Algorithmus die Aussage
c≥0 gilt. Verwenden Sie die Regeln und die Notation aus der Vorlesung.
{ true }
if
(a
>
b)
{
}
→ {
}
c
:=
a
‒
b
{
}
→ {
}
else
{
}
→ {
}
c
:=
b
‒
a
{
}
→ {
}
{ c≥0 }
4
Aufgabe 5: Modellierung mit Graphen (21 Punkte)
a) Zeitung
In der Familie Müller ließt beim Frühstück jeder Zeitung. Dabei nimmt sich jeweils der Vater, die
Mutter, der Sohn und die Tochter genau einen Teil der Zeitung, die aus den Teilen „Politik“,
„Wirtschaft“, „Kultur“ und „Sport“ besteht. Jeder hat jedoch seine Vorlieben für gewisse Teile der
Zeitung.
●
●
●
●
Der Vater möchte gerne den Politik- oder den Wirtschaftsteil lesen.
Die Tochter möchte den Wirtschafts- oder den Sportteil haben.
Der Sohn interessiert sich für den Kultur- oder den Sportteil.
Den Politikteil würde jeder gerne lesen.
1. Modellieren Sie die Vorlieben mit einem bipartiten Graphen.
2. Geben Sie eine Zuordnung der Zeitungsteile an.
4
b) Schrank
Stefan möchte einen Kleiderschrank zusammenbauen. Der Schrank besteht aus den folgenden
sieben Teilen: Bodenplatte, linke Seitenwand, rechte Seitenwand, Rückwand, Deckenplatte, Tür
und Kleiderhaken. Laut Anleitung müssen beim Zusammenbauen folgende Regeln eingehalten
werden.
●
Die Seitenwände können erst montiert werden, nachdem die Bodenplatte aufgestellt wurde.
●
Erst nachdem die Seitenwände aufgestellt wurden, kann die Deckenplatte montiert werden.
●
Die Rückwand kann erst eingesetzt werden, nachdem die Deckenplatte montiert wurde.
●
Der Kleiderhaken kann erst angebracht werden, nachdem die linke Seitenwand aufgestellt
wurde.
●
Die Montage der Tür muss als letztes durchgeführt werden.
1. Zeichnen Sie einen Abhängigkeitsgraphen, der die Montageabhängigkeiten der sieben
Teile modelliert.
2. Geben Sie eine sequenzielle Anordnung an, die eine Montagereihenfolge festlegt.
4
c) Gerichteter Graph
6
1. Zeichnen Sie den Graphen G=(V, E) mit V={1, 2, 3, 4, 5, 6} und
E={(1,2), (2,3), (2,4), (3,3), (3,6), (4,5), (5,6), (6,2)} in die folgende Abbildung ein.
1
2
3
4
5
6
2. Geben Sie den Graphen G durch Adjazenzlisten an:
Adjazenzlisten:
1
2
3
4
5
6
3. Zeichnen Sie die folgende Kantenmarkierung ME in die Abbildung des Graphen G ein.
ME :={a , b , c ∣ a , b∈ E ∧ c=b−a}
d) Ungerichteter Graph
7
Gegeben sei der folgende ungerichtete Graph G:
1
5
3
2
7
6
4
1. Geben Sie den Grad aller Knoten und den Grad des Graphen G an:
Knoten
1
2
3
4
5
6
7
Grad
Grad des Graphen G:
2. Färben Sie den Graphen G mit möglichst wenigen Farben. Verwenden Sie als Farben die
Buchstaben {a, b, c, d, ...}.
Knoten
1
2
3
4
5
6
7
Farbe
3. Sei n>1. Welche chromatische Zahl hat ein Baum mit n Knoten?
Chromatische Zahl:
4. Bestimmen Sie im Graphen G einen Knoten so zur Wurzel, dass Sie einen vollständigen
Binärbaum erhalten. Zeichnen Sie die resultierenden Kantenrichtungen in den Graphen
ein.
Wurzel:
5. Wie viele Schnittknoten enthält ein vollständiger Binärbaum der Höhe n?
Anzahl der Schnittknoten:
Aufgabe 6: Modellierung von Strukturen (20 Punkte)
a) Eigenschaften kontextfreier Grammatiken
Gegeben Sei die kontextfreie Grammatik G = (T, N, P, S) mit
T
=
N
=
P
=
S
=
{x}
{A,
B}
{
P1:
P2:
P3:
P4:
}
A
A
::=
B
A
A
::=
B
B
::=
x
B
::=
x
x
x
1. Zeichnen Sie zu der Grammatik G den Ableitungsbaum des Satzes xx. Tragen Sie in den
Baum auch die verwendeten Produktionen ein.
2. Zeigen Sie, dass die Grammatik G mehrdeutig ist.
4
b) Modellieren mit Kontextfreien Grammatiken
Die Struktur eines Forums im Internet sei informell wie folgt beschrieben:
● Ein Forum beginnt mit der Zeichenfolge <forum> gefolgt von einer nicht-leeren Liste von
Nachrichten und endet mit der Zeichenfolge </forum>
● Eine Nachricht beginnt mit der Zeichenfolge <nachricht> gefolgt von einem Inhalt, einer
eventuell leeren Liste von Antworten und der Zeichenfolge </nachricht>.
● Eine Antwort ist wiederum eine Nachricht.
Beschreiben Sie die Struktur des Forums durch eine kontextfreie Grammatik. Ein Teil der
Terminale und Produktionen ist bereits vorgegeben. Die kontextfreie Grammatik darf nicht
mehrdeutig sein.
T
=
{text,
N
=
S
=
P
=
{
Inhalt
::=
text
}
7
c) Modellieren mit ER
5
Modellieren Sie die folgenden Aspekte eines Auktionshauses in einem ER-Diagramm. Geben Sie
dabei auch sinnvolle Kardinalitäten und Schlüsselattribute an.
● Es werden Artikel angeboten, die eine Bezeichnung ein Mindestgebot und eine eindeutige
Artikelnummer haben.
● Einige Artikel werden zum Sofortkauf angeboten und haben darum zusätzlich einen
Sofortkaufpreis. Artikel, die nicht zum Sofortkauf angeboten werden, haben natürlich
keinen Sofortkaufpreis.
● Ein Nutzer des Auktionshauses hat einen Nachnamen und einen Vornamen, wobei die
Kombination aus beidem eindeutig sei.
● Wird ein Artikel verkauft, wird er zu einem bestimmten Preis verkauft und es tritt ein Nutzer
als Käufer und ein Nutzer als Verkäufer auf.
4
d) Ausprägung eines ER-Diagramms
Gegeben sei folgendes ER-Diagramm:
x
A
[2,2]
R
[0,1]
C
z
[1,1]
S
[1,*]
B
y
Geben Sie zu dem ER-Diagramm eine Ausprägung an, in der es zu A eine Entity und zu C drei
Entities gibt. Alle Attribute sind ganze Zahlen.
Aufgabe 7: Modellierung von Abläufen (20 Punkte)
3
a) Fahrstuhl
Für ein Gebäude mit 3 Etagen (1, 2 und 3) soll die Steuerungselektronik des Fahrstuhls durch einen
endlichen Automaten modelliert werden.
Als Eingabe erhält der Automat die Nummer der Etage, in die der Fahrstuhl fahren soll. Der
Automat soll daraufhin ausgeben, ob der Fahrstuhl nach oben (Ausgabe „O“) oder unten (Ausgabe
„U“) fährt. Wird die Nummer der Etage gedrückt, in der sich der Fahrstuhl gerade befindet, soll „x“
ausgegeben werden.
Zeichnen Sie einen Mealy-Automaten, der die Steuerungselektronik modelliert. Gehen Sie davon
aus, dass sich der Fahrstuhl zu Beginn im Stockwerk mit der Nummer 1 befindet.
b) Nicht-deterministische endliche Automaten
Gegeben ist der folgende nicht-deterministische endliche Automat:
2
a
b
1
a
3
a
1. Beschreiben Sie die akzeptierte Sprache des Automaten durch einen regulären Ausdruck.
Regulärer Ausdruck:
2. Zeichnen Sie den deterministischen endlichen Automaten, der sich nach dem Verfahren
aus der Vorlesung aus dem nicht-deterministischen Automaten ergibt.
3
c) Deterministische endliche Automaten
2
b
1
a
b
2
3
1. Geben Sie die Zustandsübergangsfunktion δ des endlichen Automaten an:
a
b
1
2
3
2. Erweitern Sie den Automaten um einen Fehlerzustand „4“ und um Zustandsübergänge, so
dass die Zustandsübergangsfunktion δ total ist. Die akzeptierte Sprache des Automaten darf
sich dadurch nicht ändern. Zeichnen Sie ihre Änderung in den oben abgebildeten Graphen
zu dem Automaten ein.
d) Reguläre Ausdrücke
Betrachten Sie im folgenden nur Wörter über dem Alphabet Σ={a,b,c}
Geben Sie reguläre Ausdrücke zu den folgenden Mengen von Worten an:
●
Wörter, die aus 3 Zeichen bestehen.
Regulärer Ausdruck:
●
Wörter, die aus höchstens 2 Zeichen bestehen.
Regulärer Ausdruck:
●
Wörter, die aus einer ungeraden Anzahl von Zeichen bestehen.
Regulärer Ausdruck:
●
Wörter, die nicht mit einem 'c' enden.
Regulärer Ausdruck:
4
e) Petri-Netze
2
Zeichnen Sie das Petri-Netz P=(S, T, F) mit S={1, 2, 3}, T={a, b} und
F={(1,a), (a,2), (2,b), (b,1), (b,3)}. Beschriften Sie dabei die Stellen und die Transitionen.
Zeichnen Sie auch die Anfangsmarkierung M0=(1,0,2) in das Petrinetz ein.
6
f) Schaltfolgen und Markierungsgraphen
Gegeben sei das folgende Petrinetz P mit den Stellen S={1,2}, den Transitionen T={a,b,c} und der
eingezeichneten Anfangsmarkierung M0.
1
a
2
c
b
1. Gegeben sei ferner die Schaltfolge (a,b,b,c) als Folge von schaltenden Transitionen. Geben
Sie die Schaltfolge als Folge von Markierungen an, beginnend mit M0. Verwenden Sie die
Notation aus der Vorlesung.
2. Zeichnen Sie den Markierungsgraphen des Petri-Netzes P. Beschriften Sie die Kanten mit
der jeweils schaltenden Transition.
3. Wie viele Zustände hat der Markierungsgraph für eine Anfangsmarkierung
M0'=(1,n) mit n ∈ℕ0 ?
Geben Sie eine Formel für die Anzahl der Zustände in Abhängigkeit von n an.
Formel:
Aufgabe 8: Fahrstuhlbenutzung (30 Punkte)
In dieser Aufgabe werden einige Aspekte zur Benutzung von Fahrstühlen in Hochhäusern
modelliert.
(a) Modellieren Sie folgende Strukturen und Zusammenhänge als ER-Modell:
● Fahrstühle und Etagen werden durch ihre Nummern identifiziert.
● Personen werden durch Name, Alter und Gewicht beschrieben.
● Eine Person kann eine Etage als Fahrtziel haben (Relation hatFahrtZiel),
kann in einer Etage warten (Relation wartetIn),
kann in einem Fahrstuhl stehen (Relation stehtIn).
● In einem Fahrstuhl können bis zu 6 Personen stehen;
er kann als nächsten Halt eine Etage anzeigen (Relation nächsterHalt).
5
Kennzeichnen Sie geeignete Schlüsselattribute.
(b) Vor den Fahrstuhltüren im Erdgeschoss warten die Personen a, b, c, d, e, f, um nach oben zu
fahren. Einige von Ihnen mögen einander nicht und würden deshalb nicht zusammen im
Fahrstuhl fahren: {a, b}, {b, c}, {a, d}, {d, b}, {f, b}, {e, b}, {c, f}.
Zeichnen Sie den Graphen, der diesen Sachverhalt modelliert.
Auf wieviele Fahrten müssen sich die Personen mindestens verteilen, damit sich jeweils
alle Mitfahrer mögen? Geben Sie die Nummer der Fahrstuhlfahrt für jede Person an ihrem
Knoten an.
Anzahl Fahrten:
Wie heißt die Klasse von Problemen, die hier gelöst wird?
4
(c) Geben Sie zu folgenden Entity-Typen und Relationen aus Teilaufgabe (a) ihre
Wertebereiche als Mengen an:
4
Person:
Fahrstuhl:
stehtIn:
Geben Sie einen Wert für eine Relation aus dem Wertebereich stehtIn an. Darin sollen
mindestens 2 Fahrstühle und 3 Personen vorkommen; Namen können Sie abkürzen.
(d) Die folgende prädikatenlogische Formel beschreibt eine Bedingung, die jede Ausprägung
zu dem ER-Modell aus Teilaufgabe (a) erfüllen soll. Untersuchen und formulieren Sie die
Bedingung informell als einfachen deutschen Satz:
PL-Formel:
∀ f ∀ e ∀ n∀ a ∀ g
2
 f ∈ Fahrstuhl ∧ e ∈ Etage ∧ n ,a , g ∈ Person ∧
n , a, g , f  ∈ stehtIn
⇒ n , a, g , e ∉ wartetIn 
informell:
(e) Formulieren Sie folgende Bedingung wie in Teilaufgabe (d):
Kinder unter 12 Jahren dürfen nur im Fahrstuhl stehen, wenn sie ein Erwachsener begleitet,
der mindestens 18 Jahre alt ist.
PL-Formel:
4
(f) Modellieren Sie sinnvolles Verhalten einer Person vom Rufen des Fahrstuhls bis zum
Abfahren oder Benutzen der Treppe durch einen deterministischen endlichen Automaten.
Folgende Ereignisse sollen als Übergänge vorkommen:
RuftFahrstuhl, Wartet, TürÖffnet, TürSchließt, IstVoll, SteigtEin, FährtAb, BenutztTreppe.
(g) Modellieren Sie durch ein Petri-Netz, dass ein Fahrstuhl zyklisch die Aktionen Anhalten,
TürÖffnen, TürSchließen, Abfahren ausführt.
Ergänzen Sie das Modell so, dass bei offener Tür Personen beliebig ein- und aussteigen
können, solange garantiert ist, dass nicht mehr als 6 Personen im Fahrstuhl stehen.
5
6
Herunterladen