¨Ubungen DMG Diskrete Mathematik und Graphentheorie

Werbung
SXXX/UE-DMG(WINF)/1003/200/30
Übungen DMG
Diskrete Mathematik und Graphentheorie
Wirtschaftsinformatik
Wintersemester
Cenker
Institut für Statistik und Decision Support Systems
Universitätsstraße 5/9, 1010 Wien
c
September
2003, CC: UEDMG.
Kompiliert: 2. September 2003
Zur Übung
Sinn und Zweck dieser Sammlung ist es, den Studierenden begleitend zur Vorlesung eine
Möglichkeit zu geben, ihr Wissen aus der Vorlesung zu überprüfen, anzuwenden und
zu erweitern.
In dieser Sammlung sind auch Programmierbeispiele enthalten, die in Gruppen von
jeweils 1 bis 5 Studierenden gemeinsam gelöst werden sollen. Die Lösung wird dann
von diesen in geeigneter Form (Notebook, Code, Folien mit Erklärung, Beispiele etc.)
präsentiert, erklärt und abgegeben. Mindestens 50 % des Programmieraufwandes sind
die Dokumentation des Quellcodes!
Als Programmiersprachen kommen Java (http://java.sun.com) oder MatLab/SciLab
zur Anwendung; es ist sowohl objektorientiert als auch (relativ) unabhängig von der
verwendeten Plattform.
Borland bietet auf seiner Homepage http://www.borland.com etwa den JBuilder
(Personal Edition) für Java gegen Registrierung gratis an.
SciLab (http://www-rocq.inria.fr/scilab) ist ein PD MatLab–Klon (interaktives Lineare Algebra und Mathematik System, Syntax C++/Fortran/Mathematik, gute
Grafik).
Octave (http://www.octave.org) ist ein weiterer PD MatLab–Klon, mit mehr Kompatibilität als SciLab jedoch einer etwas komplizierten“ Grafik (gnuPlot). Einige Bei”
spiele können mit MS Excel gerechnet werden (siehe Anmerkungen). Um mit endlichen
Automaten und Turing Maschinen zu arbeiten, kann auch KaraToJava
(http://www.educeth.ch/informatik/karatojava) der ETH-Zürich verwendet
werden (PD). Ausgewählte Programme werden in der Übung präsentiert, bzw. Beispiele
können auch ins Internet gestellt werden.
Übungsmodus: Der genaue Modus wird in der Vorbesprechung festgelegt. Bei der Präsentation der Beispiele werden Sie au Grund von Vortrag, Richtigkeit der Ausführung, Ausarbeitung und Beantwortung von Zwischenfragen bewertet. Die Ausarbeitung eines Programmes ist Pflicht. Die Programme werden gegen Voranmeldung (auch für Gruppen)
vergeben.
Aktuellste Informationen im Internet: Aktuelle Informationen finden Sie immer auf den
Homepages der ÜbungsleiterInnen. I. A. sollten Links vom PISWI auf diese Homepages
vorhanden sein.
Literatur: Grundsätzlich ist zu bemerken, dass die Wahl, welche Literatur beschafft/gelesen
wird, davon abhängt, ob der Stil eines Autors Ihnen liegt oder nicht. Daher sollte vor
dem Kauf eines Buches dieses in der Institutsbibliothek oder der UB entlehnt, auszugsweise gelesen oder durchgeschmökert werden!
• Schulbücher als Auffrischung
• Gerd Baron, Peter Kirschenhofer: Einführung in die Mathematik für Informatiker,
Band 1 und 3. Springer Wien, 1989.
• John E. Hopecroft, Jeffrey D. Ullman: Introduction to Automata Theory, Languages
and Computation. Addison-Wesley 1979, ISBN 0-201-02988-X
• Josef Leydold: Mathematik für Ökonomen
Oldenburg 1998, ISBN 3-486-24524-4
• Richard Bronson: Schaum’s Outline of Matrix Operations. McGraw-Hill, 1988. ISBN
0070079781.
• Seymour Lipschutz: Schaum’s Outline of Essential Computer Mathematics. McGrawHill, 1982.
Weiters stehen Ihnen die Lehrbuchsammlung der UB und die Fachbibliothek für Mathematik, Statistik und Informatik zur Verfügung, sowie Skripten und OnLine-Lehr- und
Lernmaterial am Internet.
Inhaltsverzeichnis
1
Vollständige Induktion
1
2
Komplexe Zahlen z ∈ C
6
3
Relationen und Ordnungen
13
4
Differenzengleichungen
17
5
Halbgruppen und Gruppen
27
6
Graphen
33
7
Endliche Automaten
42
LATEX
iii
1 Vollständige Induktion
Die vollständige Induktion in der Mathematik ist eine einfache Beweismethode, die
sich aus den Peano-Axiomen für die natürlichen Zahlen herleitet. Sie besteht aus drei
Schritten:
1. Induktionsbasis (-anfang): Die Aussage A(1) ist wahr (oder A(1) bis A(n − 1)
sind wahr).
2. Induktionsvoraussetzung (-annahme): Die Aussage A(n) ist wahr.
3. Induktionsschritt: Zeige, dass aus A(n) auch A(n + 1) folgt, d. h., dass die Aussage A(n) für alle n ∈ N gilt.
1.1
1.2
Beweise mittels vollständiger Induktion!
n(n + 1)
2
a)
Pn
i=
b)
Pn
i2 =
c)
Pn
i3 = (
i=1
i=1
i=1
n(n + 1)(2n + 1)
6
n(n + 1) 2
)
2
/
Beweise folgende Summenformeln mittels vollständiger Induktion!
Pn
2
a)
i=1 (2i − 1) = n
b)
Pn
c)
Pn
i=1 (2i
− 1)2 =
2
i=1 (2i)
=
n(2n − 1)(2n + 1)
3
2n(n + 1)(2n + 1)
3
/
Die obigen Summen sind sogenannte arithmetische Reihen k-ter Ordnung, d. h., die
k-ten Differenzen aufeinander folgender Reihenglieder sind konstant. Die Summenformeln können auch mit Hilfe eines sogenannten Differenzenschemas gefunden werden.
Für eine arithmetische Reihe erster Ordnung gilt, dass aufeinander folgende Folgenglieder einen konstanten Abstand d haben, also
n
X
k=1
a + (k − 1)d = a + (a + d) + (a + 2d) + · · · + (a + (n − 1)d) = na +
1
n(n − 1)
d
2
Für eine arithmetische Reihe k-ter Ordnung lässt sich folgendes Differenzenschema
aufschreiben:
a1
a2
∆11
∆21
a3
∆12
∆31
a4
∆22
...
∆13
∆32
a5
∆14
∆23
···
···
...
···
···
wobei
∆1j = aj+1 − aj
und
k−1
∆kj = ∆k−1
.
j+1 − ∆j
Liegt eine arithmetische Reihe der Ordnung k vor, so ist ∆kj konstant für alle j, d. h.,
∆k+1
= 0, für alle j. Die Summe dieser Reihe ist dann
j
n
n
n
n
1
2
Sn =
a1 +
∆1 +
∆1 + · · · +
∆k1 .
1
2
3
k+1
Beispiel:
1
Pn
i=1
k5
32
31
243
211
180
1024
781
570
390
3125
1320
750
360
7776
2101
2550
480
9031
4380
1230
120
16807
4651
2550
600
720
···
120
0
···
0
···
···
6930
1830
120
32768
15961
···
···
···
D.h., die Summenformel lautet
n
X
n
n
n
n
n
n
5
k =
1+
31 +
180 +
390 +
360 +
120
1
2
3
4
5
6
i=1
1.3
Finde und vereinfache die Summenformeln für folgende Summen mit Hilfe eines Differenzenschemas!
a)
Pn
k=1
k
b)
Pn
k=1
k2
c)
2
Pn
k=1
k3
d)
Pn
k=1
k4
/
1.4
Programm: Arithmetische Reihe. Schreibe ein Programm, das nach Angabe der ersten Folgenglieder oder nach Angabe ihrer Definition überprüft, ob eine arithmetische Reihe der Ordnung k vorliegt. Es soll sodann die Ordnung der Folge und die
Summenformel ausgeben, bzw., die Summe für eingegebene n berechnen. Überprüfe
das Programm mit den Beispielen 1.1, 1.2 und 1.9, sowie mit folgenden Zahlenfolgen
1
15
1
16
4
21
8
36
9
16
33
27
64
25
51
64
36
75
105
125
100
49
66
88
111
141
226
144
/
1.5
Zeige, dass mit αi > 0, i = 1, . . . , n, für n > 1 gilt:
(1 + α1 )(1 + α2 ) · · · (1 + αn ) > 1 + (α1 + α2 + · · · + αn )
/
1.6
Bernoulli Ungleichung: Zeige, dass für h > −1 gilt: (1 + h)n ≥ (1 + nh) ∀n ∈ N
/
1.7
1 − q n+1
Geometrische Reihe: Zeige, dass a + aq + aq 2 + · · · + aq n = a 1 − q , für q 6= 1!
/
1.8
Zeige:
1.9
Beweise folgende Summenformeln mittels vollständiger Induktion!
Pn
k=1
k = 2 − n +n 2 .
2
2k
/
(n − 1)n(n + 1)
3
a)
1 · 2 + 2 · 3 + · · · + (n − 1)n =
b)
1 · 2 · 3 + 2 · 3 · 4 + · · · + (n − 2)(n − 1)n =
c)
1
1
1
n
1
1 · 2 + 2 · 3 + 3 · 4 + · · · + n(n + 1) = n + 1
d)
n + (n + 1) + · · · + 2n = 23 n(n + 1)
(n − 2)(n − 1)n(n + 1)
4
LÖSUNG :
n → n + 1: (n + 1) + (n + 2) + · · · + (2n + 1) + (2n + 2) = 23 n(n + 1) − n +
(2n + 1) + (2n + 2).
/
3
1.10
Zeige, dass gilt:
a)
2n > n2
b)
2n > n3 für n > no
1 )3 < 2.
Hinweis: für n ≥ 10 ist (1 + n
für n > no
/
1.11
Sei a1 = 1, a2 = 1 und an+1 = an−1 + an , für n > 2. Zeige, dass für die so definierten
Fibonacci-Zahlen folgende Summenformeln gelten!
Pn
a)
i=1 ai = an+2 − 1
Pn 2
b)
i=1 ai = an · an+1
Pn
c)
i=1 a2i−1 = a2n
Pn
d)
i=1 a2i = a2n+1 − 1
Bemerkung: Siehe auch die vielen Internet-Seiten zu den Fibonacci-Zahlen!
BEMERKUNG :
1.12
Fib(n) =
√1
5
√
√ 1
+
5
1
−
n
( 2 ) − ( 2 5 )n .
P
Binomischer Lehrsatz. Zeige, dass nk=0 nk an−k bk = (a + b)n für alle a, b ∈ R und alle
n ∈ N.
n!
, n ≥ k ≥ 0, erfüllen folgende
Hinweis: Die Binomialkoeffizienten nk =
k!(n − k)!
Rekurrenzrelation:
n
n
n+1
+
=
.
k
k+1
k+1
/
Zeige und verwende diese!
1.13
/
Programm: Pascal’sches Dreieck. Verwende die Rekurrenzrelation
n+1
n
n
=
+
k+1
k+1
k
um eine Tabelle zu generieren, die als Einträge die Binomialkoeffizienten nk enthält,
wobei n der Zeilenindex und k der Spaltenindex ist.
Speichere diese Tabelle in einem möglichst effizienten Array.
Implementiere ein Inter
face, das nach Eingabe von n und k den Koeffizienten nk ausgibt, bzw., nach Eingabe
von n alle zugehörigen Binomialkoeffizienten! Fange Fehleingaben ab!
/
4
1.14
1.15
Zeige bzw. widerlege folgende Eigenschaften der Binomialkoeffizienten!
Pn
n
n
a)
k=0 k = 2
P[ n2 ]+1 n = 2n−1
b)
k=0
2k
P[ n2 ]+1 n c)
= 2n−1
k=1
2k−1
Pn
k n
d)
k=0 (−1) k = 0
Pn
k+1 n
e)
=0
k=1 k(−1)
k
Pn
n
n−1
f)
k=0 k k = n2
Pm n+k
g)
= n+m+1
k=0
n
n+1
n Pr
m
= n+m
h)
k=0 k
r
r−k
Pn
1 n+1
1 n
i)
k=0 k + 1 k = n + 1 2
B
PB
A
A+B
j)
= C+B
, A, B, C ∈ N
k=0 C+k
k
B
Pn
A
A+B
=
, A, B ∈ N
k)
k=0 n−k
k
n
Pn
m
m
= 2m
l)
k=0 n−k
k
n
Pn
n 2
= 2n
m)
k=0 k
n
Pm n−1+k
n+m
=
n)
k=0
k
m
Pn
n−1+k
= 2n
o)
k=0
n
k
n n−1
n
p)
= k k−1
k
k
−n
n+k−1
k
q)
(−x)
=
x
k
k
/
Sei M die auf folgende Weise rekursiv definierte Menge:
a∈M
x ∈ M ∧ y ∈ M ⇒ xyb ∈ M
a)
Gib alle Zeichenketten in M der Länge 7 an.
b)
Zeige durch vollständige Induktion, dass für jedes w ∈ M gilt:
(Anzahl der Symbole a in w) = (Anzahl der Symbole b in w) + 1
/
5
2 Komplexe Zahlen z ∈ C
Ein Großteil der folgenden Beispiele wird nicht in den Übungen gerechnet, da diese
bereits laut Lehrplan in der Schule gerechnet werden sollten (2.1–2.6, 2.10–2.16, 2.24,
2.25). Der Einschub über Taylorreihen, die Sie später auch in der Vorlesung kennen
lernen werden, dient zur Erläuterung und (hoffentlich) zum Verständnis der EulerFormel und einige ihrer Anwendungen.
Exzerpiere aus Schulbüchern, Formelsammlungen etc. die wichtigsten Formeln für
das Rechnen mit komplexen Zahlen (Addition, Subtraktion, Multiplikation,
√ Division,
Polardarstellung, Wurzelziehen u.Ä.). Beachte, dass die komplexe Einheit −1 in der
Mathematik mit i bezeichnet wird, während in der Elektrotechnik die Bezeichnung j
üblich ist!
2.1
Stelle folgende Zahlen in der komplexen Zahlenebene dar!
1
1+i
6 − 3i
2i − 2
3−i
−i
−1−i
/
2.2
Addiere z1 + z2 und subtrahiere z2 − z1 !
a) z1 = 3 + 2i, z2 = 3 − 2i
c) z1 = 7i, z2 = 3 − i
b) z1 = −1 − i, z2 = 2 − 2i
d) z1 = 4 + 2i, z2 = −i
/
2.3
Bilde das Produkt z1 · z2 mit den Zahlen aus Beispiel 2.2!
/
2.4
Bilde die Quotienten zz21 und zz21 mit den Zahlen aus Beispiel 2.2!
/
2.5
Berechne!
a)
i5 + i7 + i2 + i12 + i27
b)
i(−i) + (−i)2 + i4 − i5 (−i)3
c)
(3i − 3)2 + (i + 3i2 )3
/
6
2.6
Berechne und vereinfache!
a)
i(5 − 2i)2
2 + 5i
7 + 2i
(7 − 2i)2
(1 + 2i)2
e)
3+i
7
− 2i
h)
(14 − 4i)3
b)
+ 2i
d) 25 −
5i
3
−
2i
g)
(3 + 2i)2
c) (1 + i)(3 − 3i)
f)
i)
(4 − i)2
3 + 2i
7 + 3i
7 − 3i
/
Taylorreihen.
Um komplizierte, jedoch n-mal stetig differenzierbare Funktionen f (x) durch einfachere Funktionen (etwa lineare oder quadratische oder etwa f (x + h) ≈ f (x) + hf 0 (x))
näherungsweise darzustellen, gibt es in der Mathematik unter anderem das Hilfsmittel der Taylorreihen. Eine solche Funktion f (x) kann dann durch eine Taylorreihe folgendermaßen dargestellt werden:
f (x) =
n
X
f (k) (x0 )
k!
k=0
(x − x0 )k + Rn (x)
wobei für das Restglied Rn (x) gilt, dass
Rn (x) =
f (n+1) (x0 + θ(x − x0 ))
(x − x0 )n+1
(n + 1)!
und
|Rn (x)| ≤ C ·
|x − x0 |n+1
,
(n + 1)!
θ ∈ (0, 1)
falls |f (n) ξ| ≤ C, ξ ∈ [x, x0 ], ∀n,
sodass Rn (x) umso kleiner ist, je näher x an x0 liegt, und je größer n ist.
Als Punkt x0 , an dem die Taylorreihe entwickelt wird, wählen wir einen, an dem die
Ableitungen f (k) (x0 ) einfach zu berechnen sind.
Eine Taylorreihe heißt auch MacLaurin-Reihe, falls x0 = 0.
1
Beispiel: f (x) = 1 −
x
1
(1 − x)2
2
f 00 (x) =
(1 − x)3
6
f 000 (x) =
(1 − x)4
⇒ f 0 (x)
=
Daher ist
f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + 21 f 00 (x0 )(x − x0 )2 + 16 f 000 (x0 )(x − x0 )3 + · · ·
= 1 + x + x2 + x3 + x4 + · · ·
bei Entwicklung an der Stelle x0 = 0.
7
Typische Taylorreihen sind:
ex
=
sin x
=
cos x
=
log(x + 1) =
1
=
1−x
3
4
2
1 + x + x + x + x + ···
2!
3!
4!
5
7
3
x − x + x − x + ···
3!
5!
7!
4
6
2
x
x
x
+
−
+ ···
1−
2!
4!
6!
3
4
2
x − x2 + x3 − x4 + · · ·
1 + x + x2 + x3 + · · ·
Betrachten wir nun die Taylorreihen für ex , sin x und cos x, so lässt sich daraus folgern,
dass für x = iϕ gilt
eiϕ = cos ϕ + i sin ϕ
was sich durch einen einfachen Koeffizientenvergleich beweisen lässt!
2.7
Leite folgende Identität her (i ist die komplexe Einheit):
eiϕ = cos ϕ + i sin ϕ
/
2.8
Zeige folgende Identitäten
eiϕ − e−iϕ
sin ϕ =
2i
eiϕ + e−iϕ
cos ϕ =
2
/
2.9
Taylorreihen: Entwickle folgende Funktionen in eine Taylorreihe um den Nullpunkt !
1
a) f (x) = 1 −
x
c) f (x) = log(1 + x)
e) f (x) = 1 2
1−x
g) f (x) = arctan x
x
−x
Hinweis: sinh(x) = e −2 e ,
b) f (x) = (1 + x)α
d) f (x) = cosh x
f) f (x) = 1 2
1+x
x
−x
cosh(x) = e +2 e
8
α∈R
/
2.10
Taylorreihen: Berechne die Werte folgender Reihen:
a)
k+1 1
k=1 (−1)
k
P∞
b)
P∞
k=1
k
e−λ λ
k!
Anleitung: Betrachte die Taylorreihen von log(1 + x) und ex !
/
Polardarstellung. Aus der Formel
eiϕ = cos ϕ + i sin ϕ
erhalten wir eine andere Darstellung für komplexe Zahlen z = a + ib, die sogenannte
Polardarstellung
z = (r, ϕ) = r(cos ϕ + i sin ϕ) .
mit
r=
√
a2 + b 2
tan ϕ =
b
a
bzw.
a = r cos ϕ
b = r sin ϕ .
Es gelten folgende Rechenregeln
z1 · z2 = r1 r2 (cos(ϕ1 + ϕ2 ) + i sin(ϕ1 + ϕ2 ))
z1 =
z2
r1
(cos(ϕ1
r2
− ϕ2 ) + i sin(ϕ1 − ϕ2 ))
z n = rn (cos(nϕ) + i sin(nϕ)) (Satz von Moivre)
zk =
√
n
z=
√
n
r(cos
ϕ + k · 2π
ϕ + k · 2π
+ i sin
)
n
n
k = 0, . . . , n − 1
2.11
Programm: Komplexe Zahlen. Schreibe ein Programm, das komplexe Zahlen in ihre
verschiedenen Darstellungen umwandelt. Weiters soll es alle elementaren (binären)
Operationen zwischen zwei komplexen Zahlen durchführen können, wie auch Wurzelziehen und Potenzieren. e und π sollen als Konstante in geeigneter Form enthalten
sein. Es ist nicht notwendig, einen Parser zu schreiben!
/
2.12
Stelle die folgenden komplexen Zahlen in Polarkoordinaten dar!
a)
z = 2 − 2i
b)
z = −i
c)
z =1+i
d)
z = −1 + i
/
9
2.13
2.14
Die Polarkoordinaten von z sind r = 2 und ϕ = 2π
3.
Berechne z in kartesischer Darstellung!
/
Wandle folgende Zahlen in die kartesische Form um!
3(cos ϕ + i sin ϕ)
ϕ = 30◦ , 45◦ , 90◦ , 135◦ , 270◦ , 315◦
/
2.15
Wandle folgende Zahlen in die kartesische Form!
3(cos ϕ + i sin ϕ)
ϕ=
π π π 3π 3π 7π
, , , , ,
6 4 2 4 2 4
/
2.16
Wandle die Zahlen aus Beispiel 2.2 in Polarkoordinaten um und führe dann die Multiplikationen und Divisionen wie in den Beispielen 2.3 und 2.4 durch und wandle die
Ergebnisse wieder in kartesische Koordinaten zurück!
/
2.17
Löse folgende quadratische Gleichungen in C!
a)
c)
e)
g)
i)
k)
m)
o)
x2 − 4x + 5 = 0
x2 − 6x + 10
2x2 − 4x + 4 = 0
x2 − 4x + 19 = 0
x2 − 10x + 41 = 0
9x2 − 24x + 17 = 0
x2 + 20x + 109 = 0
25x2 − 10x + 13 = 0
b)
d)
f)
h)
j)
l)
n)
x2 + 4x + 5
x2 − 4x + 9
x2 − 12x + 45 = 0
2x2 − 6x + 9 = 0
25x2 + 10x + 1 = 0
49x2 − 28x + 53 = 0
x2 + 16x + 65 = 0
/
2.18
Finde das algebraische Polynom vom kleinsten Grad, das folgende Lösungen besitzt
a) ±i, ±2i
b) 3 − i, 2 ± i, 1
/
10
2.19
Programm: Polynome. Schreibe ein Programm, das aus der Angabe von komplexen
Zahlen das zugehörige Polynom vom kleinsten Grad berechnet und ausgibt, das diese
Zahlen als Lösungen besitzt.
Teste das Programm unter anderem mit
a) 3 + i, ±i, 2
b) 3, 0, 2 ± 2i
c) ±i, 1, 1 ± 2i
/
2.20
Berechne alle Lösungen folgender Gleichungen!
a)
9x4 − 37x2 + 4 = 0
b)
x4 − 4x2 + 4 = 0
c)
x4 + 2x2 − 15 = 0
/
2.21
Programm: Nullstellen. Programmiere einen iterativen Algorithmus (Newton, Bisektion etc.), der eine reelle Lösung x0 einer Gleichung n-ten Grades (an xn + an−1 xn−1 +
· · ·+a1 x+a0 = 0) findet. Dividiere die Gleichung sodann durch den der Lösung x0 entsprechenden Linearfaktor (Abspalten der Lösung) und löse die Gleichung in C! Stelle
diese sodann graphisch dar!
a) x3 − 4x2 + 6x − 4 = 0
c) x4 + 8x3 + 21x2 + 20x = 0
e) x3 − x2 + 17x + 87 = 0
b) x3 + 5x2 + 11x + 7 = 0
d) x3 − 3x2 + 4x − 12 = 0
f) 2x3 − 8x2 + 11x − 5 = 0
/
2.22
Berechne folgende Wurzeln in C und zeichne sie in der komplexen Zahlenebene!
√
√
√
√
3
3
3
3
1
−1
i
−i
/
11
Bemerkung.
Die Multiplikation mit einer komplexen Zahl z entspricht einer Drehung (|z| = 1) bzw.
einer Drehstreckung (|z| > 1) oder Drehstauchung (|z| < 1).
Die Multiplikation mit z = (1, ϕ) = cos ϕ + i sin ϕ entspricht einer Drehung um den
Winkel ϕ.
x
her, interpretiere sie als komplexe
Nimm beliebige 2-dimensionale Vektoren
y
Zahl x + iy und drehe diese durch Multiplikation mit der entsprechenden Zahl z ∈ C!
Bemerkung: statt mit z = (1, ϕ) = cos ϕ+ i sin ϕ zu multiplizieren, kann der Vekcos ϕ − sin ϕ
tor auch mit der Matrix
multipliziert werden (Drehung). Das entsin ϕ cos ϕ
a −b
.
(Drehstreckung).
spricht einer Darstellung einer komplexen Zahl als a+ib =
b a
2.23
Berechne folgende n-te Einheitswurzeln in C und zeichne sie in der komplexen Zahlenebene!
√
√
√
√
4
5
6
3
1
1
1
1
/
2.24
Berechne alle Lösungen der Gleichung z 6 = 64 in C!
2.25
Berechne folgende Wurzeln !
√
a) √6 − 8i
c)
5 − 3i
/
√
b) √7 − 6i
d) −3 + 6i
/
2.26
Berechne folgende Wurzeln !
√
3
b) √
7 − 6i
3
d)
−3 + 6i
√
3
6 − 8i
a) √
3
c)
5 − 3i
/
12
3 Relationen und Ordnungen
3.1
a)
Gib die Potenzmengen zu A = {a, b} und zu B = {−, ∗, +} an!
b)
Wieviele Elemente hat die Potenzmenge von C = {a, b, c, d, e, f, g, h, i, j, k, l, m} ?
/
3.2
Gegeben seien die Mengen A, B und C
A = {a, b, c, d};
B = {1, 2, 3, 4};
C = {(1, 2), (1, 3), (2, 4)}
Gib folgende Produktmengen an:
a) A × C
c) A × B
b) C × A
d) A × A
/
3.3
Sei A das abgeschlossene Intervall [2, 3] ⊆ R, B = {4} und die Menge C das offene
Intervall ]1, 2[⊆ R. Stelle das kartesische Produkt (A∪B) x C in der reellen Zahlenebene
graphisch dar!
/
3.4
Sei R = {(x, y) ∈ R2 |y = x2 }. Wie sieht die graphische Darstellung von R in der reellen
Zahlenebene aus?
/
3.5
Welche der folgenden geordneten Paare genügen den entsprechenden (binären) Relationen auf N × N?
a)
x ρ y ⇔ x = y + 1;
b)
x ρ y ⇔ x teilt y;
c)
x ρ y ⇔ x ist ungerade ;
d)
x ρ y ⇔ x > y2;
(2, 2), (2, 3), (3, 3), (3, 2)
(2, 4), (2, 5), (2, 6)
(2, 3), (3, 4), (4, 5), (5, 6)
(1, 2), (2, 1), (5, 2), (6, 4), (4, 3)
/
13
3.6
Welche der folgenden geordneten Paare genügen den entsprechenden (binären) Relationen auf S × S?
a)
S = Z;
x ρ y ⇔ x = −y;
b)
S = Q;
x ρ y ⇔ x ≤ 1/y;
(1, −1), (2, 2), (−3, 3), (−4, −4)
(1, 2), (−3, −5), (−4, 1/2), (1/2, 1/3)
/
Eigenschaften von Relationen: Sei ρ eine binäre Relation auf der Menge A
• reflexiv: aρa, ∀a ∈ A
• symmetrisch: aρb ⇔ bρa
• transitiv: (aρb ∧ bρc) ⇒ aρc
• antisymmetrisch: (aρb ∧ bρa) ⇔ a = b
Eine reflexive, symmetrische und transitive Relation auf einer Menge heißt Äquivalenzrelation, eine reflexive, transitive und antisymmetrische Relation heißt Halbordnung, eine Halbordnung in der je zwei Elemente immer vergleichbar sind, d.h., entweder aρb oder bρa für zwei Elemente a und b gilt, heißt Totalordnung dieser Menge.
3.7
Welche der folgenden (binären) Relationen auf der entsprechenden Menge S sind reflexiv, symmetrisch, antisymmetrisch, transitiv?
a)
S = N;
x ρ y ⇔ x + y ist gerade
b)
S = N;
x ρ y ⇔ x teilt y
c)
S = N;
x ρ y ⇔ x = y2
d)
S = {0, 1};
e)
S = Q;
xρy ⇔ |x| ≤ |y|
f)
S = Z;
x ρ y ⇔ x − y ist ein ganzzahliges Vielfaches von 3
g)
S = N;
x ρ y ⇔ x ist ungerade
x ρ y ⇔ x = y2
/
14
3.8
Finde eine Menge S und eine (binäre) Relation ρ auf S, für die gilt:
a)
ρ ist reflexiv und symmetrisch, aber nicht transitiv
b)
ρ ist reflexiv und transitiv, aber nicht symmetrisch
c)
ρ ist nicht reflexiv und nicht symmetrisch, aber transitiv
d)
ρ ist reflexiv, aber weder symmetrisch noch transitiv
/
3.9
3.10
Programm: Relationen. Schreibe ein Programm, das als Eingabe eine Relation R auf
einer endlichen Menge A von (alphanumerischen) Zeichen entgegen nimmt, wobei
die Elemente (x, y) ∈ R ⊆ A × A in einer Schleife einzeln eingegeben werden sollen!
Das Programm soll sodann die Grundeigenschaften für Relationen überprüfen, d. h.,
es soll ermitteln, ob R reflexiv, symmetrisch, antisymmetrisch bzw. transitiv ist.
Beim Vorliegen einer Äquivalenzrelation soll das Programm die Äquivalenzklassen
ausgeben, beim Vorliegen einer Totalordnung eine Anordnung von A, sodass für aRb,
a, b ∈ A, a stets vor b kommt.
/
Betrachte die Relation x teilt y“ auf der Menge {1, 2, 3, 6, 12, 18}
”
a)
Gib die geordneten Paare (x, y) dieser Relation an!
b)
Welche Vorgänger hat 6?
c)
Welche unmittelbaren Vorgänger hat 6?
d)
Zeige, dass dies eine Partialordnung definiert!
e)
Zeichne einen Graphen, der diese Partialordnung beschreibt!
/
3.11
Zeichne einen Graphen für die Partialordnung x teilt y“ auf der Menge
”
S = {2, 3, 5, 7, 21, 42, 105, 210}!
Gibt es Teilmengen von S die total geordnet sind? Wenn ja, welche?
/
Bemerkung: Die Äquivalenzklassen K(a) = {b | aρb} der Äquivalenzrelation ρ auf A
bilden eine Partition der Menge A.
3.12
Sei M = {1, 2, 3, 4} und P (M ) ihre Potenzmenge. Betrachte die folgende Äquivalenzrelation R: (A, B) ∈ R ⇔ |A \ B| = |B \ A|, A, B ∈ P (M ). Gib jene Äquivalenzklasse
bezüglich R an, in der das Element {1, 2} ∈ P (M ) liegt!
/
15
3.13
Beschreibe für jede der folgenden Äquivalenzrelationen die entsprechenden Äquivalenzklassen!
xρy ⇔ x = y
a)
S = N;
b)
S = {1, 2, 3}; ρ = {(1, 1), (2, 2), (3, 3), (1, 2), (2, 1)}
/
3.14
3.15
3.16
Gegeben ist die Relation R = {(1, 1), (2, 3), (3, 2)} in A = {1, 2, 3}, d. h., R ∈ A × A.
Ist R eine Äquivalenzrelation ?
/
Welche der Relationen aus Beispiel 3.7 ist eine Äquivalenzrelation?
Beschreibe die dazugehörigen Äquivalenzklassen!
/
Sei S = { ab | a, b ∈ Z, b 6= 0} die Menge aller Brüche.
Zwei Brüche heißen genau dann äquivalent ( ab ∼ dc ), wenn ad = bc gilt.
a)
Zeige, dass ∼ eine Äquivalenzrelation ist!
b)
Wie sehen die Äquivalenzklassen aus? (z.B. [1/2])
/
3.17
Sei S = Z, x ist kongruent modulo 4 zu y (x ≡4 y), genau dann, wenn x − y ein
ganzzahliges Vielfaches von 4 ist.
a)
Zeige, dass ≡4 eine Äquivalenzrelation ist!
b)
Wie sehen die Äquivalenzklassen aus?
/
3.18
Gib ein Beispiel einer dreistelligen Relation R ⊆ A1 × A2 × A3 , bei der A1 eine Menge
von Namen, A2 eine Menge von Adressen und A3 eine Menge von Telefonnummern
ist! Stelle diese Relation in einer 3-dimensionalen Skizze perspektivisch dar!
/
16
4 Differenzengleichungen
Betrachten wir noch einmal Summen arithmetischer Reihen Sn =
k und das zugehörige Differenzenschema
a1
a2
∆11
a3
∆12
∆21
∆31
∆22
...
a4
∆13
∆32
∆23
...
a5
∆14
···
···
···
Pn
i=1
ai der Ordnung
···
wobei
∆1j = aj+1 − aj
und
k−1
∆kj = ∆k−1
.
j+1 − ∆j
Liegt eine arithmetische Reihe der Ordnung k vor, so ist ∆kj konstant für alle j, d. h.,
∆k+1
= 0, für alle j. Die Summe dieser Reihe ist dann
j
n
n
n
n
1
2
Sn =
a1 +
∆1 +
∆1 + · · · +
∆k1 .
1
2
3
k+1
Haben wir nun einen diskreten Zeitparameter“ t, so definieren wir die k-te Differenz
”
als
∆k yt = ∆(∆k−1 yt )
mit ∆yt = ∆1 yt = yt+1 − yt .
Eine homogene lineare Differenzengleichung erster Ordnung mit konstanten Parametern, d. h., eine Gleichung der Form
yt+1 + ayt = 0 , a ∈ R fix
hat folgende Lösung:
yt = A(−a)t
mit A = y0 (Startwert).
Ist a > 0, so ist die Lösung oszillierend, ist |a| < 1 so konvergiert die Lösung für
t → ∞.
Die inhomogene lineare Differenzengleichung erster Ordnung mit konstanten Parametern, d. h., eine Gleichung der Form
yt+1 + ayt = s
a, s ∈ R fix
hat folgende Lösung:
yt =
s
A(−a)t + a +
1
A + st
a 6= −1
a = −1
Für die obigen Lösungen ist es wichtig, dass in den Differenzengleichungen nur konstante Parameter a und s vorkommen, d. h., diese dürfen nicht vom Zeitindex“ t
”
abhängen!
17
4.1
Löse folgende Differenzengleichungen durch Iteration, d. h., durch iteriertes Einsetzen!
a) yt+1 = yt + 1
y0 = 1
/
b) yt+1 = 3yt
y0 = 2
4.2
Löse folgende Differenzengleichungen und bestimme das Verhalten der Lösungen
(konvergent, oszillierend etc.)!
a) yt+1 = 2yt + 5
b) yt+1 = − 41 yt + 6
c) yt+1 = yt + 5
y0 = 1
y0 = 2
y0 = 1
/
4.3
Berechne die allgemeine Lösung von ∆yt = yt + 3 und die spezielle Lösung, für die
y3 = 2 gilt !
/
4.4
Seien folgende Differenzengleichungen und entsprechende Funktionen gegeben. Zeige jeweils, dass die Funktion eine Lösung der Differenzengleichung ist (c0 beliebige
Konstante), bzw. berechne die Lösung!
a)
b)
c)
d)
e)
yt+1 − yt
yt+1 − yt
yt+1 − yt
yt+1 − yt
yt+1 − yt
=0
=0
=1
=1
=1
yt = 5
yt = c 0
yt = t
yt = t + c 0
y0 = 1 bzw. y0 = 3
/
Die Lösung einer homogenen linearen Differenzengleichung zweiter Ordnung mit
konstanten Parametern, d. h., einer Gleichung der Form
yt+2 + a1 yt+1 + a2 yt = 0 , a1 , a2 ∈ R fix
erhalten wir durch Ersetzen von yt = Aβ t . Wir erhalten dadurch die quadratische
Gleichung
r
a21
a
1
β 2 + a1 β + a2 = 0
mit Lösungen
β1,2 = − ±
− a2 .
2
4
a2
Je nach Vorzeichen der Diskriminante 41 − a2 unter der Wurzel ergeben sich folgende
Lösungen der Differenzengleichung.
a21
yt = A1 β1t + A2 β2t
42 − a2 > 0 β1 6= β2 ∈ R
a1
t
t
42 − a2 = 0 β1 = β2 = β ∈ R yt = A1 β + A2 tβ
a1
t
1 cos ϕt + A2 sin ϕt)
4 − a2 < 0 β1,2 = a ± ib ∈ C yt = r (A√
√
+ b 2 = a2
r = a2r
a2
sin ϕ = 1 − 4a1
2
2
a
cos ϕ = − √1
2 a2
18
Die Lösung der inhomogenen linearen Differenzengleichung zweiter Ordnung mit
konstanten Parametern
yt+2 + a1 yt+1 + a2 yt = s , a1 , a2 , s ∈ R fix
(h)
ist die Summe aus der Lösung der homogenen Lösung yt
(s)
len Lösung yt , d. h.,
(h)
(s)
yt = yt + yt
mit

 a s+ 2 · t
1
(s)
yt =
 s · t2
2
k
Die k-ten Differenzen ∆ yt werden durch
∆k yt = ∆(∆k−1 yt )
wie oben und der speziel-
a 6= −2
a = −2
mit ∆yt = ∆1 yt = yt+1 − yt
definiert. Somit ist
∆2 (yt ) = ∆(yt+1 − yt ) = ∆(yt+1 ) − ∆(yt ) = (yt+2 − yt+1 ) − (yt+1 − yt ) = yt+2 − 2yt+1 + yt .
4.5
Berechne die allgemeine Lösung von ∆2 yt − 5∆yt + 4yt = 1 !
4.6
Löse folgende Differenzengleichungen und vergleiche die Schaubilder! Was passiert
bei verschiedenen Anfangswerten, was bei verschiedener rechter Seite (Parameter s) ?
a) yt+2 − 3yt+1 + 2yt = 0
b) yt+2 − 3yt+1 + 2yt = 1
4.7
y0 = 1, y1 = 0
y0 = 1, y1 = 1
/
/
Die Rauchgewohnheiten eines Rauchers haben zur Folge, dass seinem Blut eine Tagesdosis von 0.02 mg Nikotin zugeführt wird. 1 % des Nikotins wird innerhalb von 24
Stunden abgebaut.
a)
Wie kann der Nikotingehalt im Blut berechnet werden, wenn von einem Startwert von x0 = 0 mg ausgegangen wird ?
b)
Wie verhält sich der Nikotingehalt im Blut über längere Zeit ?
c)
Wird der gesundheitsschädliche Wert von 1 mg je überschritten ?
d)
Gibt es einen Grenzwert, bei dem sich Nikotinzufuhr und -abbau die Waage
halten ?
e)
Zeichne/Programmiere Schaubilder, wo einmal (n, xn ) die Koordinaten sind,
einmal (xn , xn+1 ) (Phasenraum)!
f)
Wie verhält sich der Nikotingehalt im Blut, wenn täglich 0.05 mg zugeführt
werden ?
/
19
4.8
Löse und zeichne Schaubilder (Phasenbilder (xn , xn+1 )) von
a)
xn+1 = −0.75xn + 7, x0 = 1
b)
xn+1 = − 32 xn + 16, x0 = 2
c)
xn+1 = −xn + 10, x0 = 2.5
/
Gibt es Fixpunkte in diesen Differenzengleichungen ?
4.9
Eine Walpopulation wird auf 1120 Individuen geschätzt. Durch Geburten und natürliche Sterberate ergibt sich ein jährlicher Zuwachs von 15 %.
Stelle die zugehörige Differenzengleichung auf und löse sie! Zeichne ein Schaubild!
Welchen Einfluss hat eine Fangquote von 120 bzw. 200 Tieren jährlich auf die Gesamtpopulation ? Warum ?
/
4.10
Programm: Attraktor von Nullstellen. Das Newton’sche Näherungsverfahren
xn+1 = xn −
f (xn )
f 0 (xn )
zum Finden von Nullstellen von algebraischen Gleichungen zeigt für die Gleichung
x3 − 1 = 0
in der komplexen Zahlenebene ein interessantes Verhalten! Manche Startwerte x0 ∈ C
führen zur Lösung 1, manche nicht. Zeichne ein Schaubild des Basins für die Lösung
1, indem komplexe Startwerte, die zur Lösung 1 führen, weiß eingezeichnet werden,
alle anderen schwarz! Verfahre mit den anderen Nullstellen ebenso! Es ergibt sich eine
fraktale Struktur!
Hinweis: Setze zuerst die Funktion in das Verfahren ein und berechne die Differenzengleichung!
/
4.11
Löse folgende Differenzengleichung!
yt+2 − yt = 0
20
y0 = 1, y1 = 2
/
4.12
Programm: Iteriertes Funktionensystem. Betrachte das folgende iterierte Funktionensystem (IFS):
xn+1 = f (xn ) = xn + k · xn · (1 − xn )
0 ≤ k ≤ 3, x0 ∈ (0, 1) fest.
a)
Zeichne ein so genanntes Feigenbaum-Diagramm für variables k, in dem die
Punkte (Endwerte) (k, pN ) in der xy-Bildebene eingezeichnet werden (es genügt oft ein Maximum von N = 250 Iterationen)! Was kann über die ungefähren Werte k1 = 2.45, k2 = 2.544 bzw. k3 = 2.57 ausgesagt werden? –
Diese Art von Verhalten wird auch oft als deterministisches Chaos bezeichnet
(chaotisches Verhalten trotz einer gegebenen mathematischen Gleichung).
b)
Zeichne ein Phasenbild desselben IFS, d. h., zeichne (xn , xn+1 ) für verschiedene Startwerte und verschiedene k in ein Schaubild!
/
4.13
Programm: Henon Attraktor. Der Henon-Attraktor ergibt sich, wenn von einem Startwert (x0 , y0 ) aus die Punkte (xn , yn ) gezeichnet werden, die dem Bildungsgesetz
xn+1 = yn − ax2n + 1
yn+1 = bxn
gehorchen, wobei a und b Konstante sind (etwa a = 1.4, b = 0.3). Schreibe ein Programm, das verschiedene Startwerte und verschiedene Konstanten zulässt und ein
Schaubild ausgibt!
Bemerkung: Wird in die Graphik hineingezoomt, sehen wir ein selbstähnliches Verhalten, d. h., der Henon Attraktor besteht aus vielen kleinen Attraktionsmengen“.
”
/
Lineare Differenzengleichungen höherer Ordnung
4.14
Löse folgende Differenzengleichungen!
a)
yn − 3yn−1 + 2yn−2 = 0
b)
4yn − 4yn−1 + yn−2 = 2
c)
yn − 2yn−1 + yn−2 = 3
d)
yn − 5yn−1 + 6yn−2 = 0
e)
yn − 5yn−1 + 6yn−2 = 2
f)
yn − 3yn−1 + 2yn−2 = 1
g)
yn + yn−1 − yn−2 − yn−3 = 0
/
21
4.15
Löse folgende Differenzengleichungen!
a)
yn − 4yn−1 + 4yn−2 = 0, y0 = 1, y1 = 3
b)
yn − 3yn−1 + 2yn−2 = 0, y0 = 2, y1 = 3
c)
yn + yn−1 − yn−2 − yn−3 = 0, y0 = 2, y1 = −1, y2 = 3
d)
yn + 2yn−1 + 2yn−2 = 0, y0 = 0, y1 = −1 )
/
4.16
Ein Vorrat verringert sich in jeder Periode um 10 %. Er wird am Ende jeder Periode
um den konstanten Betrag 200 ergänzt. Der Vorrat hat einen Anfangswert von 1000
Einheiten und soll verdoppelt werden. Wie lange dauert es, bis dieses Ziel zu 95 %
erreicht ist ?
/
4.17
Löse folgende Differenzengleichungen!
Vorsicht: Die Parameter sind hier nicht konstant, sondern veränderlich, d. h., sie hängen
vom Index ab. Obige Lösungsverfahren können dafür nicht angewendet werden!
a)
yn − 3yn−1 + 2yn−2 = 4n
b)
yn − 3yn−1 + 2yn−2 = 2n
c)
yn − 4yn−1 + 4yn−2 = 3 · 2n + 5 · 4n − 1
d)
yn − 2yn−1 + yn−2 = 2n − 2(n − 3), y0 = 0, y1 = 1
/
4.18
Programm: Rössler Attraktor. Das linke System von Differentialgleichungen definiert
einen Rössler Attraktor, der durch das rechte System von Differenzengleichungen simuliert werden kann, wobei der infinitesimal kleine Schritt“durch entsprechende
”
Werte der Schrittweite h 1 simuliert wird.
x0 = −y − z
y 0 = x + ay
z 0 = b + xz − cz
xn+1 = xn − h(yn + zn )
yn+1 = yn + h(xn + ayn )
zn+1 = zn + h(b + xn zn − czn )
wobei a, b, c Konstante sind (etwa a = b = 0.2, c = 8), h die Schrittweite ( 1).
22
/
4.19
Programm: Schmetterlingseffekt, Lorenz-Attraktor (1993). Eine Wetterprognose ist
von vielen Parametern wie der Jahreszeit, der Vegetation, dem Luftdruck, der Windrichtung und Windgeschwindigkeit, dem Niederschlag, der Temperatur, der Bewölkung,
der Feuchtigkeit, usw. abhängig. In den 60er-Jahren versuchte Edward N. Lorenz am
Massachusetts Institute of Technology (MIT) meteorologische Prozesse mittels Systemen von Differentialgleichungen zu beschreiben. Ein Modell für die Erdatmosphäre
basierte auf einem Differentialgleichungssystem (links), simuliert durch Differenzengleichungen (rechts)
x0 = a · (y − x)
y 0 = bx − xz − y
z 0 = xy − cz
xn+1 = xn + h · a · (yn − xn )
yn+1 = yn + h(bxn − xzn − yn )
zn+1 = zn + h(xn yn − czn )
Als Lorenz eine zuvor getätigte Wetterprognose nachprüfen wollte, gab er die Eingabeparameter nicht wie zuvor auf 6, sondern auf 3 Dezimalstellen genau an. Intuitiv würden die meisten meinen, dass dies das Ergebnis nicht signifikant verändert,
da es bei einfachen Rechnungen (vergleiche etwa a = 8.120474, b = 2.134789, c =
3.803876636 mit 8.120, 2.134 und 3.805060918, welches eine durchwegs zu vernachlässigende Abweichung von 0.001184282 liefert) in den meisten Fällen auch keine Rolle spielt. Lorenz erzielte jedoch zwei völlig unterschiedliche Ergebnisse und schloss
daraus, dass kleine Veränderungen oder Abweichungen von Parametern zu großen
Veränderungen führen können. Eine kleine Ursache kann eine große Wirkung haben (abhängig von den Anfangsbedingungen). Das Wetter ist ein chaotisches System
und daher schwer zu prognostizieren. Die genaue Berechenbarkeit der Welt und die
längerfristige Prognostizierbarkeit von Vorgängen haben offensichtlich ihre Grenzen.
Ähnlich wie bei den Bénard-Zellen kann es in Luftschichten zu Fluktuationen kommen, die sich verstärken. Diese sind nicht vorhersehbar und daher sind Wetterprognosen eine äußerst unsichere Angelegenheit. Beim Attraktor des Differentialgleichungssystems zeigt sich, dass ein sich bewegender Punkt entweder auf dem linken oder
dem rechten Teil kreist und dass es spontane Übergänge gibt, die nicht vorhersehbar
sind.
Da der Attraktor einem Schmetterling ähnelt, wird der Effekt, dass kleine Ursachen
große Wirkungen haben können, auch Schmetterlingseffekt genannt und es haben sich
etwas übertriebene Beschreibungen wie jene, dass der Flügelschlag eines Schmetterlings in Asien ein Gewitter in Wien auslösen kann, entwickelt.
/
4.20
Programm: Mandelbrot und Julia. Apfelmännchen und Julia-Mengen entstehen, wenn
für komplexe Zahlen die Vorschrift
zn+1 = zn2 + c,
zn , c ∈ C
iteriert wird.
Sei z = a + ib und c = x + iy so ergibt sich
zn+1 = (a2 − b2 + x) + i(2ab + y).
23
Apfelmännchen (Mandelbrot-Mengen) erhalten wir dadurch, dass wir das Verhalten
beim variablen Startwert c ∈ C einen Punkt in einer bestimmten Farbe codieren, je
nachdem, ob |zn |
– gegen 0 konvergiert,
– gegen ∞ geht,
– zwischen verschiedenen Werten oszilliert,
– keinem bestimmten Muster folgt.
Bei Julia-Mengen hingegen wird z0 variabel und c als konstant angesehen. z0 wird
eingefärbt, wenn |zn | konvergiert. Als Konstante nimm etwa c = i, oder c = −0.4+0.7i,
c = −0.7 + 0.3i, c = −1.77 + 0.01i .
Versuche auch die Formel zn+1 = zn4 + c,
4.21
zn , c ∈ C!
/
Programm: Biomorphe. Formen wir die Mandelbrot-Iteration“ leicht um
”
zn+1 = sin(zn2 ) + c,
zn , c, ∈ C,
so erhalten wir Biomorphe (C. A. Pickover).
Weitere interessante Attraktoren (Galaxien) ergeben sich, wenn wir
zn+1 = u · zn (1 − zn )
iterieren, etwa für u = −0.7 + 0.8i.
4.22
/
Programm: Bevölkerungswachstum.
bn+1 = bn + n(gn − sn ),
b0 = 1000
Hierbei ist b die Bevölkerung, g die Geburten im Jahr n und s die Sterbefälle im Jahr
n, die sich aus den Prozentsätzen der Geburtenziffer gz und der Sterbeziffer sz berechnen. Etwa gz = 1 %, sz = 0.85 %. Experimentiere mit verschiedenen Prozent- bzw.
Promillesätzen! Löse und zeichne ein Schaubild!
/
4.23
Programm: Epidemien. Infektionskrankheiten, Epidemien. Erstellen wir ein einfaches
Modell für Masern (ohne Impfungen zu berücksichtigen). Jede Person, die Masern
noch nicht hatte, kann andere innerhalb der Inkubationszeit (eine Woche) anstecken,
nach einer weiteren Woche klingt die Krankheit ab und die Person kann weder angesteckt werden noch anstecken, da sie immun ist. Setzen wir die Zeiteinheit daher auf
eine Woche. Sei In die Zahl der Infizierten zum Zeitpunkt n, Sn die Zahl der Suszeptiblen, d. h., jener Personen, die angesteckt werden können.
24
Wir nehmen an, dass jede infizierte Person eine festen Prozentsatz p ansteckt, weiters,
dass jede Zeiteinheit G Neugeborene zum Pool der Suszeptiblen hinzu kommen.
Unser Modell sieht dann folgendermaßen aus:
In+1 = pSn In
Sn+1 = Sn − pSn In + G
Schreibe ein Programm, das zulässt, dass alle Parameter geändert werden können,
und das die Kurven von In und Sn in verschiedenen vergleichenden Diagrammen
ausgibt! Sei I0 = 20, S0 = 30000, und p = 0.00003. Experimentiere mit verschiedenen
Geburtenzahlen (etwa G = 120 oder G = 360) und vergleiche!
/
4.24
Programm: Wachstum. Schreibe ein Programm, das folgende Modelle betrachtet:
a)
Exponentielles Wachstum: xn+1 = rxn mit Wachstumsrate r (etwa r = 0.1).
Stelle die Größe der Population xn dem Zuwachs gegenüber!
b)
Verhulst-Pearl logistisches Wachstum: xn+1 = xn + rn(1 − nk ). Stelle die Größe
der Population xn dem Zuwachs gegenüber!
c)
Lotka-Volterra Modelle (Räuber-Beute Modelle): Eine Population von Räubern
rn steht ihrer Beute bn gegenüber. Die Beute-Population hat eine natürliche
Wachstumsrate von bw , während eine fixer Prozentsatz bs den Räubern zum
Opfer fällt (Tod durch Altersschwäche gibt es nicht). Die Räuber ihrerseits
haben eine Zuwachsrate rw , die von der Anzahl der Beutetiere abhängt, und
eine Sterberate von rs . Als Räuber-Beute Modell ergibt sich
bn+1 = bn + (bw · bn − bs · bn · rn )
rn+1 = rn + (rw · bn · rn − rs · rn )
Schreibe ein Programm, das dieses Modell implementiert und das auch berücksichtigt, dass eine Population aussterben kann!
Sinnvolle Startwerte und Parameter könnten sein
a)
b0 = 100, r0 = 10, bw = 0.003, bs = 0.0003, rw = 0.00001, rs = 0.0005
b)
b0 = 100, r0 = 15, bw = 0.015, bs = 0.000333, rw = 0.0001, rs = 0.001
c)
b0 = 10, r0 = 15, bw = 0.005, bs = 0.000333, rw = 0.0001, rs = 0.001
Stelle die beiden Populationen jeweils in einem gemeinsamen Schaubild dar!
/
25
4.25
Programm: Türme von Hanoi. Die Sage berichtet, dass in einem buddhistischen Tempel bei Hanoi die Mitglieder eines Mönchsordens seit Urzeiten damit beschäftigt seien,
eine mühsame, aber für die Welt als Ganzes sehr wichtige Arbeit zu verrichten: Dort
stehen drei Pfosten, auf denen 64 zylindrische Scheiben von jeweils verschiedenem
Durchmesser, der Größe nach geordnet, liegen. Anfangs liegen alle Scheiben auf dem
ersten Pfosten. Diese sollen auf den dritten Pfosten einzeln umgelegt werden. Dabei
kann der zweite Pfosten als Zwischenablage verwendet werden, aber es darf nur immer eine kleinere auf einer größeren Scheibe zu liegen kommen.
Wenn diese Arbeit einst vollendet sein wird, ist der Zweck des Weltalls erreicht: Die
Menschheit wird vom Zwang der ewigen Wiedergeburt erlöst und darf ins Nirvana
eingehen.
Das Problem sieht sehr kompliziert aus, vor allem was die dabei nötige Buchhaltung
betrifft. Wir wollen die Mönche bei ihrem sehr lobenswerten Werk durch eine Computersimulation unterstützen. Nach längerer Überlegung zeigt sich, dass es nützlich
ist, einige Hilfsbegriffe einzuführen:
– Ein Turm ist ein Stapel von Scheiben; dabei liegt immer eine kleinere Scheibe auf
einer größeren.
– Die Höhe eines Turmes ist die Anzahl der Scheiben. Sie kann auch 0 sein.
– der Durchmesser eines Turmes sei gleich dem Durchmesser seiner untersten Scheibe – oder 0 für einen leeren Turm.
– Ein Turm ist entweder leer, oder er besteht aus einer Scheibe und einem darauf
stehenden Turm kleineren Durchmessers und um 1 kleinerer Höhe.
Aus dieser rekursiven Beschreibung der Situation können wir nun den Ansatz einer
rekursiven Lösung für den Transport eines Turmes gewinnen:
– Für einen leeren Turm ist nichts zu tun.
– Um einen nicht-leeren Turm von einem Pfosten A auf einen Pfosten E zu verlagern, bringen wir den auf der untersten Scheibe stehenden kleineren Turm (auf
die gleiche Weise) auf den dritten Pfosten Z, legen die verbliebene Scheibe von
A nach Z um, und holen dann den kleineren Turm (auf die gleiche Weise) vom
Hilfspfosten Z nach E.
Sei A(n) der Aufwand, einen Turm der Höhe n zu bewegen, und c1 , c2 irgendwelche
Konstanten. Dann berechnet sich der Aufwand wie folgt:
A(n) = 2A(n − 1) + c1
für n > 0, A(0) = c2
Löse diese Differenzengleichung ! Wie lange arbeiten die Mönche an ihrer Aufgabe,
wenn sie für das Umlegen eines Steines etwa 10 Sekunden benötigen ?
/
26
5 Halbgruppen und Gruppen
Gruppeneigenschaften für (G, ◦):
(G1) Abgeschlossenheit: a ◦ b ∈ G
∀a, b ∈ G
(G2) Assoziativität: (a ◦ b) ◦ c = a ◦ (b ◦ c) ∀a, b, c ∈ G
(G3) Neutrales Element, Einselement: ∃! e ∈ G : a ◦ e = e ◦ a ∀a ∈ G
(G4) Inverses Element: ∀a ∈ G ∃ a−1 ∈ G : a ◦ a−1 = a−1 ◦ a = e
(G5) Kommutativität: a ◦ b = b ◦ a ∀a, b ∈ G
Gilt für ein (G, ◦) (G1), so heißt (G, ◦) Gruppoid, gilt zusätzlich (G2), so heißt (G, ◦)
Halbgruppe, gilt zusätzlich (G3), so heißt (G, ◦) Monoid, gilt zusätzlich (G4), so heißt
(G, ◦) Gruppe, gilt zusätzlich (G5), so heißt (G, ◦) abelsche oder kommutative Gruppe.
Die mathematische Struktur der Gruppe ist ein wesentlicher Konstrukt in der Mathematik. Weiß man von einem Objekt“, dass es eine Gruppe ist, so können die verschie”
densten Eigenschaften aus den Gruppeneigenschaften abgeleitet werden. Wir können
sogar einfache und bekannte Beispiele als Modell hernehmen, denn es gilt der
Satz von Cayley: Jede Gruppe ist zu einer Permutationsgruppe isomorph.
Bemerkung: Ein Isomorphismus ϕ : H → G ist ein bijektiver Homomorphismus. Ist
G = H so heißt ein Isomorphismus Automorphismus.
Ein Homomorphismus ϕ : G → H hat definitionsgemäß folgende Eigenschaft:
ϕ(x) + ϕ(y) = ϕ(x + y) .
Der Kern eines Homomorphismus ϕ : G → H ist Kerϕ = {x ∈ G | ϕ(x) = ε ∈ H}
Permutationen sind bijektive Abbildungen auf einer Menge. Notiert werden die Elemente der Einfachheit halber als Zahlen, die der Position der Elemente in einer geordneten Menge (n-Tupel) entsprechen. Einfache Darstellungen einer Permutation sind
entweder Zyklen (etwa (1234)) oder Transpositionen ((1234) = (12)(23)(34)).
Die Symmetrische Gruppe Sn entspricht der Menge aller Permutationen von n Elementen, die Altanierende Gruppe An entspricht der Menge aller geraden Permutationen einer Menge von n Elementen. Eine Permutation heißt gerade, wenn sie durch
eine gerade Anzahl von Transpositionen dargestellt werden kann.
Untergruppen müssen das neutrale Element ε und zu jedem Element a auch a−1 enthalten.
27
Beispiel: Sei M = {1, 2, 3}, so ist SM die symmetrische Gruppe S3 und besteht aus
allen bijektiven Abbildungen auf der Menge M und hat demzufolge 3! = 6 Elemente:
123
123
123
= (12)
= (23)
p2 =
= ()
p1 =
ε=
321
132
123
123
123
123
= (12)(23)
= (23)(31)
p5 =
= (12)
p4 =
p3 =
312
231
213
Die Gruppentafel ist
S3 ε p 1 p 2 p 3 p 4 p 5
ε
ε p1 p2 p3 p4 p5
p1 p1 ε p2 p3 p4 p5
p2 p2 p4 ε p5 p1 p3
p3 p3 p5 p4 ε p2 p1
p4 p4 p2 p3 p1 p5 ε
p5 p5 p3 p1 p2 ε p4
Die Untergruppen dieser Gruppe S3 sind:
{ε}
{ε, p1 }
{ε, p2 }
{ε, p3 }
A3 = {ε, p4 , p5 }
S3
2
Es gilt der
Satz von Lagrange: Die Ordnung einer Untergruppe ist stets Teiler der Ordnung der
Gruppe.
Beispiel: Klein’sche Vierergruppe
V4 = {ε, (12)(34), (13)(24), (14)(23)} .
Es gilt: {ε} ⊆ V4 ⊆ A4 ⊆ S4 .
Es mag verwundern, dass die Existenz dieser Untergruppen der S4 dafür verant”
wortlich“ ist, dass eine Gleichung vierten Grades per Formel auflösbar ist. Eine solche
Faktorisierung“gibt es für höhere“ Gruppen Sn , n > 4, nicht, und daher auch keine
”
”
expliziten Lösungsformeln für Gleichungen vom Grad 5 und höher (Galoistheorie). 2
Beispiel: Weitere wichtige“ Gruppen in der Mathematik sind die Matizengruppen:
”
Gl(n) = {n × n − MatrizenA | det A 6= 0}
General linear group
AB 6= BA, B −1 AB 6= A aber B −1 AB ∼ A
Sl(n) = {n × n − MatrizenA | det A = 1}
Special linear group
n
O(n) = {n × n − MatrizenA | hAx, Ayi = x, yi, x, y ∈ R }
Orthogonal group
SO(n) = {A ∈ O(n) | det A = 1}
Special orthogonal g.
SO(2) Drehmatrizen in R2
U (n) = {n × n − MatrizenU | hU x, U yi = hx, yi, x, y ∈ Cn }} Unitary group
P
hx, yi = hy, xi = i xi , ȳi , xi , yi ∈ C
SU (n) = {U ∈ U (n) | detU = 1}
Special unitary group
2
28
5.1
Welche der folgenden Strukturen ist Gruppoid, Halbgruppe, Monoid oder Gruppe?
a) (N, +)
d) (Q, ·)
g) (R, ·)
b) (N0 , +)
e) (R, +)
h) (R+ , ·)
c) (Q, +)
f) (R+ , +)
i) (Z, ·)
/
5.2
Welche der folgenden Strukturen (S, ◦) ist Halbgruppe, Monoid oder Gruppe?
a)
S = N, x ◦ y := min(x, y)
b)
S = R, x ◦ y := (x + y)2
c)
S = {1, −1, i, −i}, x ◦ y := komplexe Multiplikation (d. h. i2 = −1)
d)
S = {1, 2, 4}, x ◦ y := x ·6 y (siehe Definition in Beispiel 5.7)
/
5.3
Ein Ausdruck der Form an xn + an−1 xn−1 + · · · + a0 mit ak ∈ R, k = 0, . . . , n und n ∈ N
heißt Polynom in x mit reellen Koeffizienten“. ak heißen Koeffizienten von xk für alle
”
k. Falls k die größte ganze Zahl ist für die ak 6= 0, dann heißt das Polynom vom Grad
”
k“. Falls kein solches existiert ist der Grad 0. Die Menge aller Polynome in x über R
bezeichnen wir mit R[x]. Wir können in R[x] auf nahe liegende Art die Operationen
‘+’ und ‘·’ definieren.
a)
Ist (R[x], +) Gruppoid, Halbgruppe, Monoid, Gruppe, kommutativ?
b)
Ist (R[x], ·) Gruppoid, Halbgruppe, Monoid, Gruppe, kommutativ?
c)
Bestimme das Inverse von 7x4 − 2x3 + 4 in (R[x], +)!
/
5.4
Stelle die Verknüpfungstafel für die Permutationsgruppe G ⊆ S4 mit der Generatormenge {(2, 4, 3, 1)} auf!
Gib das Einselement von G sowie das Inverse von (2, 4, 3, 1) an!
Die Notation (a1 , . . . , a4 ) bedeutet π(1) = a1 , . . . , π(4) = a4 .
Hinweis: G hat 3 Elemente!
29
/
5.5
Stelle die Verknüpfungstafel für die alternierende Gruppe A3 von Permutationen von
3 Elementen auf!
Hinweis: Suche aus den in S3 enthaltenen Permutationen die geraden heraus!
/
5.6
Sei Z5 = {0, 1, 2, 3, 4}. Definiere die Addition modulo 5“ (+5 ) auf Z5 durch x +5 y = r,
”
wobei r der Rest der Division von x + y durch 5 ist (Bsp.: 1 +5 2 = 3, 3 +5 4 = 2) und die
Multiplikation modulo 5“ (·5 ) auf Z5 durch x ·5 y = r, wobei r der Rest der Division
”
von x · y durch 5 ist (Bsp.: 2 ·5 3 = 1, 3 ·5 4 = 2). Eine andere gebräuchliche Darstellung
ist x ≡ r(5) oder x ≡ r mod 5 (sprich: x kongruent r modulo 5“).
”
a)
Ist (Z5 , +5 ) Gruppoid, Halbgruppe, Monoid, Gruppe, kommutativ?
b)
Ist (Z5 , ·5 ) Gruppoid, Halbgruppe, Monoid, Gruppe, kommutativ?
c)
Vervollständige folgende Tabellen!
+5
0
1
2
3
4
0 1 2 3 4
3
2
·5
0
1
2
3
4
0 1 2 3 4
d)
Bestimme alle Inversen zu den Elementen in (Z5 , +5 )!
e)
Welche Elemente von (Z5 , ·5 ) haben Inverse?
1
2
/
5.7
Sei Z6 = {0, 1, 2, 3, 4, 5}. Definiere die Addition modulo 6“ (+6 ) auf Z6 durch x +6 y =
”
r, wobei r der Rest der Division von x + y durch 6 ist und die Multiplikation modulo
”
6“ (·6 ) auf Z6 durch x ·6 y = r, wobei r der Rest der Division von x · y durch 6 ist.
a)
Ist (Z6 , +6 ) Gruppoid, Halbgruppe, Monoid, Gruppe, kommutativ?
b)
Ist (Z6 , ·6 ) Gruppoid, Halbgruppe, Monoid, Gruppe, kommutativ?
c)
Stelle die Gruppenverknüpfungstafeln auf !
d)
Bestimme alle Inversen zu den Elementen in (Z6 , +6 )!
e)
Welche Elemente von (Z6 , ·6 ) haben Inverse?
/
30
5.8
Eine Teilmenge A ⊆ Ω einer gegebenen endlichen Menge Ω = {ω1 , . . . , ωn } lässt sich
durch eine binäre
Zeichenkette (0-1-Folge) bA = b1 · · · bn darstellen,
1 ωi ∈ A
.
wobei bi =
0 ωi ∈
/A
a)
Beschreibe für Mengen A, B ∈ P (Ω), welche Operationen für binäre Zeichenketten den Mengenoperationen A ∪ B, A ∩ B und Ac entsprechen, d. h., wie
die Zeichenketten bA∪B , bA∩B und bAc aus bA und bB gebildet werden!
b)
Begründe, warum (P (Ω), ∪) und (P (Ω), ∩) Halbgruppen sind! Gib das jeweilige neutrale Element und dessen Darstellung als binäre Zeichenkette an!
c)
Welche Operation auf binären Zeichenketten entspricht der Mengenoperation
der symmetrischen Differenz A∆B = (A \ B) ∪ (B \ A) ?
d)
Die Hamming-Distanz zwischen den Mengen A, B ∈ P (Ω) ist als die Anzahl
der Elemente |A∆B| in der symmetrischen Differenz definiert. Gib an, wie aus
bA und bB die Hamming-Distanz zwischen A und B ermittelt werden kann!
/
5.9
Programm: Permutationen.
a)
Schreibe ein Programm, das alle möglichen Permutationen einer gegebenen
Zeichenkette ausgibt! Hinweis: Rekursiv!
b)
Schreibe ein Programm, das alle Binärstrings der Länge n generiert!
c)
Schreibe ein Programm, das Addition (Multiplikation) modulo n in einer Verknüpfungstafel ausgibt und die Gruppeneigenschaften testet!
/
5.10
Programm: Gruppeneigenschaften (umfangreich).
a)
Schreibe ein Programm, das die Verknüpfungstafel eines beliebigen Gruppoids als quadratische Matrix (Tabelle) akzeptiert, diese ausgibt, und sodann
überprüft, ob eine Halbgruppe, ein Monoid, eine Gruppe oder eine Abel’sche
Gruppe (kommutative Gruppe) vorliegt und das Ergebnis ausgibt!
Anleitung: Die Eingabe erfolgt in einer Matrix, eingegeben werden Charakter
bzw. Strings. Damit es nicht zu schwierig wird, kann vorausgesetzt werden,
dass nur die Buchstaben a − z verwendet werden. Überprüfe sodann die Definitionseigenschaften durch vollständige Enumeration, d. h., alle Elemente werden durchnummeriert (wenn die Elemente in einer Matrix eingegeben werden, sind dies automatisch die Zeilen- und Spaltenindizes, die Verknüpfungen werden in geschachtelten Schleifen zur Überprüfung der Eigenschaften
einzeln abgehandelt. Wenn etwa das Assoziativgesetz (a ∗ b) ∗ c = a ∗ (b ∗ c)
überprüft werden soll, gehe alle Tripel (a, b, c) einzeln durch.
31
b)
Erweitere obiges Programm durch folgende Merkmale, wenn im speziellen
Fall sinnvoll:
– Ausgabe aller neutralen Elemente;
– Ausgabe des inversen Elementes bei Eingabe eines Elements;
– Lösen der Gleichung a ∗ x = b nach Eingabe von a und b.
/
5.11
Finde alle Elemente der Alternierenden Gruppe“ A4 aller geraden Permutationen von
”
{1, 2, 3, 4} und zeige, dass A4 eine Untergruppe von S4 der Gruppe aller Permutationen von {1, 2, 3, 4} ist!
/
5.12
Schreibe die Elemente der alternierenden Gruppe A4 in lexikographischer Ordnung
(nach dem Alphabet) auf!
/
5.13
Programm: Symmetrische und alternierende Gruppen.
a)
Schreibe ein Programm, das zu einem eingegebenen n ∈ N alle Elemente der
symmetrischen Gruppe Sn ausgibt!
b)
Schreibe ein Programm, das zu einem eingegebenen n ∈ N alle Elemente der
alternierenden Gruppe An ausgibt!
Hinweis: Schreibe eine Routine, die eine Zyklenzerlegung einer gegebenen
Permutation π durchführt! Damit lässt sich leicht prüfen, ob π ∈ An .
/
5.14
(N+ , +) ist eine Halbgruppe. Sei G = Z+ die Menge der positiven ganzen Zahlen, dann
ist (G, ·) auch eine Halbgruppe. Zeige, dass die Funktion ϕ : N+ → G, definiert durch
ϕ(x) = 2x ein Homomorphismus ist!
/
Ein Homomorphismus zwischen zwei Halbgruppen (G, ⊕) und (H, ) ist eine Abbildung
ϕ : (G, ⊕) → (H, ), a ∈ G 7→ ϕ(a) ∈ H
für die
ϕ(a ⊕ b) = ϕ(a) ϕ(b)
gilt. Ein bijektiver Homomorphismus heißt Isomorphismus. Ist G = H, so heißt ein
Homomorphismus auf G Automorphismus.
32
5.15
Seien folgende Abbildungen ϕ : (G, ⊕) → (H, ) gegeben.
Welche sind Homomorphismen, welche Isomorphismen?
a)
(G, ⊕) = (N, +), (H, ) = (2N, +), ϕ(x) = 2x
b)
(G, ⊕) = (N, +), (H, ) = (2N, ·), ϕ(x) = 2x
c)
(G, ⊕) = (R, +), (H, ) = (R, +), ϕ(x) = x2
d)
(G, ⊕) = (Z, +), (H, ) = (Z, +), ϕ(x) = 2
e)
(G, ⊕) = (R, +), (H, ) = (R, +), ϕ(x) = x + 1
f)
(G, ⊕) = (R, +), (H, ) = (R, +), ϕ(x) = |x|
g)
(G, ⊕) = (Z × Z, +), (H, ) = (Z, +), ϕ((x, y)) = x + 2y
h)
(G, ⊕) = (R[x], +), (H, ) = (R, +)
ϕ(an xn + an−1 xn−1 + · · · + a0 ) = an + an−1 + · · · + a0
/
5.16
Zeige, dass ϕ(x) = x ·3 1 ein Homomorphismus von (Z, +) nach (Z3 , +3 ) ist!
Bestimme den Kern!
/
6 Graphen
Bevor wir in medias res gehen, eine Zusammenfassung der wichtigsten Definitionen
und Notationen für Graphen.
Graphen bestehen aus Knoten (vertex, vertices) und Kanten (edge(s)) und einer Funktion, die jeder Kante ein Paar von Knoten zuordnet. Ein Graph G kann daher durch die
Mengen V (G) und E(G) und einer Funktion f gegeben sein. Kanten können gerichtet
sein, (x, y) ist etwa die Kante von Knoten x nach Knoten y, oder ungerichtet, {x, y}
ist die (ungerichtete) Kante zwischen x und y. Im Folgenden werden wir aber die Notation (x, y) für ungerichtete, und < x, y > für gerichtete Kanten verwenden, da sie
einfacher ist.
Ein gerichteter Graph besitzt nur gerichtete Kanten, ein ungerichteter nur ungerichtete. Treten beide Arten von Kanten auf, so heißt der Graph gemischt.
Es kann in einem Graphen auch Schlingen und Mehrfachkanten geben. Ein schlichter
(oder einfacher) Graph hat weder Schlingen noch Mehrfachkanten.
Ein vollständiger Graph
hat zwischen jedem seiner Knotenpaare eine Kante, d. h., bei
n
n Knoten hat er 2 Kanten und wird mit Cn bezeichnet. Der kantenlose oder leere Graph hat keine Kanten. Die Kantendichte ist das Verhältnis von Kantenzahl zu
33
Anzahl der Kanten im zugehörigen Maximalgraphen bei gegebener Knotenmenge,
d. h., |E|/ n2 . Graphen mit hoher Kantendichte heißen dicht (dense), die mit geringer
spärlich (sparse).
Den Schatten eines Graphen erhalten wir, indem wir je zwei entgegengesetzt gerichtete Kanten durch eine ungerichtete ersetzen, und alle weiteren gerichteten ebenfalls
durch ungerichtete.
Ein Teilgraph ist eine Teilmenge eines Graphen. Mit jeder Kante, die im Teilgraph aufscheint, müssen auch die Endknoten aufscheinen. Enthält ein Teilgraph alle Knoten
des Originals, so heißt er spannender Teilgraph. Enthält ein Teilgraph mit den Knoten
auch alle Kanten auf dieser Knotenmenge, so heißt er gesättigter oder aufgespannter
Teilgraph.
Knoten, die durch eine Kante verbunden sind, heißen benachbart oder adjazent. Die
Endknoten einer Kante heißen zu dieser Kante inzident.
Graphen (gerichtete oder ungerichtete) mit n Knoten und k Kanten können sowohl
durch eine n × k Inzidenzmatrix BG (falls ein gerichteter Graph vorliegt, darf er keine Schlingen enthalten), als auch durch eine n × n Adjazenzmatrix AG beschrieben
werden.
Ungerichteter Graph
BG = (bi,j ) i=1,...,n
bi,j =
AG = (ai,j ) i=1,...,n
j=1,...,k
j=1,...,n
ai,j =
r
0
1
0
vj inzident zu ej
sonst
r Kanten zwischen vi und vj
sonst
Gerichteter Graph
BG = (bi,j ) i=1,...,n
j=1,...,k
AG = (ai,j ) i=1,...,n
j=1,...,n
bi,j
ai,j =

 1
−1
=

0
r
0
ej beginnt in vi
ej endet in vi
sonst
r Kanten von vi nach vj
sonst
Die Anzahl d+ (vi ) der von einem Knoten vi wegführenden Kanten heißt Outdegree,
die Anzahl d− (vi ) der zu dem Knoten hinführenden Kanten heißt Indegree. Bei ungerichteten Graphen ist d(vi ) die Anzahl der mit vi inzidenten Kanten der Grad des
Knoten.
34
Es gilt:
+
d (vi ) =
n
X
j=1
aij
−
d (vi ) =
n
X
aji
j=1
d(vi ) =
n
X
j=1
aij =
n
X
aji
j=1
Ist d+ (v) = 0, so heißt v Senke, ist d− (v) = 0, so heißt v Quelle.
Betrachten wir Kantenfolgen von va nach ve , das sind Folgen von aneinander anschließenden Kanten, die vom Anfangsknoten va bis zum Endknoten ve durchlaufen werden
kann. Ist der Anfangs- gleich dem Endknoten, so heißt die Kantenfolge geschlossen,
andernfalls heißt sie offen.
Eine Kantenfolge, in der keine Kante mehrfach auftritt heißt Kantenzug. Ein Weg ist eine offen Kantenfolge, in der kein Knoten mehrfach auftritt. Ein Zyklus oder Kreis ist eine geschlossene Kantenfolge, in der kein Knoten mehrfach vorkommt (außer Anfangsund Endknoten). Die Anzahl der Kanten in einer Kantenfolge heißt Länge. Ein Knoten
vi heißt in k Schritten von vj aus erreichbar, wenn es eine Kantenfolge der Länge k von
vj nach vi gibt.
Ein ungerichteter Graph heißt zusammenhängend, wenn jeder Knoten des Graphen
von jedem anderen Knoten aus erreichbar ist. Die zusammenhängenden gesättigten
Teilgraphen eines Graphen heißen Zusammenhangskomponenten des Graphen.
Ein gerichteter Graph heißt stark zusammenhängend, wenn jeder Knoten des Graphen
von jedem anderen Knoten aus erreichbar ist. Er heißt schwach zusammenhängend,
wenn sein Schatten zusammenhängend ist.
BEMERKUNG : Es gibt eine Kantenfolge der Länge s von vi nach vj wenn das Element
(s)
(s)
aij > 0, mit AsG = (aij ).
BEMERKUNG : Ein Knoten vj ist von vi aus erreichbar, wenn der Eintrag rij > 0,
[0]
[n−1]
wobei die Erreichbarkeitsmatrix R = (rij ) = (max(aij , . . . , aij )) ist,
(k)
1 falls aij > 0
[k]
.
mit aij =
0 sonst
Die Distanz d(vi , vj ) zweier Knoten in einem zusammenhängenden Graphen ist die
Länge des kürzesten Weges zwischen den beiden Knoten.
Eine Euler’sche Linie enthält jeden Knoten mindestens einmal, jede Kante genau einmal. Eine Hamilton’sche Linie enthält jeden Knoten genau einmal. Geschlossene Euler’sche bzw. Hamilton’sche Linien sind solche, die einen geschlossenen Kantenzug
bilden.
Kreisfreie, gerichtete Graphen heißen azyklisch. Ein ungerichteter, kreisfreier Graph
heißt Wald. Ein zusammenhängender Wald heißt Baum. Ein Knoten vom Grad 1 eines
Baumes heißt Blatt oder Endknoten.
Ein Teilgraph, der alle Knoten eines zusammenhängenden ungerichteten Graphen
enthält und zusätzlich ein Baum ist, nennen wir spannenden Baum oder Gerüst.
35
Graphen, die in den folgenden Beispielen verwendet werden und dort nicht explizit
angegeben werden, finden sich am Ende dieses Abschnitts.
6.1
Graph G1 gegeben durch: V (G1 ) = {1, 2, . . . , 8}, E(G1 ) = {< x, y > | x teilt y, x < y}
Graph G2 gegeben durch: V (G2 ) = {1, 2, . . . , 5}, E(G2 ) = {< x, y > | x < y ≤ x + 3}
Bestimme und zeichne G1 ∩ G2 und G1 ∪ G2 !
/
6.2
Graph G1 gegeben durch: V (G1 ) = {1, 2, . . . , 7}, E(G1 ) = {< x, y > | x < y ≤ x + 2}
Graph G2 gegeben durch: V (G2 ) = {1, 2, . . . , 9}, E(G2 ) = {< x, y > | x teilt y, x < y}
Bestimme und zeichne G1 ∩ G2 und G1 ∪ G2 !
/
6.3
Bestimme alle Quadrupel (a, b, c, d), a, b, c, d ∈ {1, 2, . . . , 7}, sodass der von den Knoten
a, b, c, d in G1 aufgespannte (vollständige) Teilgraph mit G2 identisch ist!
/
6.4
Bestimme alle Quadrupel (a, b, c, d), a, b, c, d ∈ {1, 2, . . . , 7}, sodass der von den Knoten
a, b, c, d in G3 aufgespannte Teilgraph mit G4 identisch ist!
/
6.5
Bestimme die Adjazenzmatrizen AG1 , AG2 , AG1 ∩G2 und AG1 ∪G2 für die Graphen aus
Beispiel 6.1 bzw. 6.2!
/
6.6
Bestimme die Adjazenzmatrizen AG1 und AG3 , sowie die Potenzen A2G1 , AG1 , A2G3 und
[2]
/
AG3 !
6.7
Bestimme die Adjazenzmatrix AG5 , sowie (mit deren Hilfe) die Anzahl der gerichteten
Kantenfolgen der Länge 3 von Knoten 4 nach 6!
/
6.8
Entferne aus dem vollständigen (ungerichteten) Graphen mit der Knotenmenge {1, . . . , 5}
die Kanten (3, 5) und (4, 5).
[2]
a)
Stelle den resultierenden Graphen G durch seine Adjazenz- und Inzidenzmatrix dar, wobei im Fall der Inzidenzmatrix die Kanten (i, j) gemäß der Relation
(i, j) vor (i0 , j 0 ) − (i < i0 ∨ (i = i0 ∧ j < j 0 ))
anzuordnen sind !
b)
Enthält G eine geschlossene Euler’sche Linie ? Gib diese an bzw. begründe
warum, falls keine solche existiert!
c)
Gib eine geschlossene Hamilton’sche Linie in G an!
/
36
6.9
6.10
Sei H5 der Graph, der aus G5 durch Umdrehen aller Kantenrichtungen entsteht. Bestimme die Adjazenzmatrix AH5 , sowie (mit deren Hilfe) die Anzahl der gerichteten
Kantenfolgen der Länge 3 von Knoten 4 nach 6!
/
Gegeben sei die Adjazenzmatrix A (mit Mehrfachkanten)


1 1 0 1
 1 0 1 0 

A=
 0 1 0 2 
1 0 2 0
a)
Zeichne einen dazu gehörigen ungerichteten Graphen mit den Knoten {1, 2, 3, 4}!
b)
Berechne A2 !
c)
Finde 5 verschiedene Pfade von 4 nach 4 der Länge 2!
d)
Berechne die Erreichbarkeitsmatrix R!
/
6.11
Der 3-dimensionale Hypercube H3 ist durch folgende Knotenmenge und Kantenmenge gegeben:
Knoten: V (H3 ) = {x = (x1 , x2 , x3 ) | xi ∈ {0, 1}, i = 1, 2, 3}
Kanten: E(H3 ) = {(x, y) | genau zwei Komponenten von x und y stimmen überein}
Ermittle für H3 die durchschnittliche Distanz der sieben Knoten x 6= (0, 0, 0) zum Knoten (0, 0, 0).
Hinweis: Fasse die Knoten als Punkte im R3 auf und zeichne diese!
/
6.12
Zeichne zwei verschiedene ungerichtete zusammenhängende Graphen mit der Knotenmenge V = {1, 2, 3, 4, 5}, die geschlossenen Euler’sche Linien enthalten, und gib
deren Adjazenzmatrizen und Inzidenzmatrizen an!
/
6.13
Gegeben sei der Graph G15 .
a)
Welche Knoten sind von 3 aus erreichbar?
b)
Bestimme die Länge des kürzesten Pfades von 3 nach 6!
c)
Bestimme einen Pfad der Länge 8 von 1 nach 6!
/
37
6.14
Der gerichtete Graph G = (V, E) sei durch
V = {1, . . . , 6}
und
E = {(i, j) | i, j ∈ V, 2i + j ≤ 6}
gegeben.
a)
Zeichne G !
b)
Gib die Adjazenzmatrix von G an!
c)
Ist G ein schlichter Graph ? – Begründung!
d)
Gib die schwachen Zusammenhangskomponenten von G an!
e)
Betrachte den von V 0 = {1, 2} aufgespannten Teilgraphen G0 von G! Enthält
G0 eine geschlossene Euler’sche Linie ? – Begründung!
/
6.15
Gegeben sei der Graph G24 .
a)
Bestimme die Adjazenzmatrix von G!
b)
Gib die Indegrees und Outdegrees der Knoten von G an!
c)
Zeichne den Schatten von G!
/
6.16
Programm: Distanzmatrix. Schreibe ein Programm, das die Distanzmatrix D eines
gegebenen zusammenhängenden gerichteten Graphen berechnet und ausgibt, d. h.,
jene Matrix D = (dij )i,j , in der dij die Distanz von Knoten i zu Knotenj ist, d. h., die
Länge des kürzesten Weges von i nach j!
Anleitung: Es soll die Adjazenzmatrix AG des Graphen eingegeben werden. Verwende
weiters die in der Vorlesung gegebene Interpretation der Potenzen AnG von AG !
/
6.17
Programm: Euler’sche Linie. Schreibe ein Programm, das einen durch seine Adjazenzmatrix AG gegebenen gerichteten Graphen G durch Hinzufügen von beliebigen Kanten so erweitert, dass er eine geschlossene Euler’sche Linie enthält!
/
38
6.18
Programm: Topologische Knotensortierung. Eine topologischen Knotensortierung ist eine Nummerierung der Knoten eines gegebenen azyklischen gerichteten Graphen G,
sodass v ∈ V stets eine kleinere Nummer als w ∈ V bekommt, wenn es einen Weg von
v nach w gibt.
Implementiere folgenden Algorithmus zur topologischen Knotensortierung:
Solange Knoten nicht nummeriert
{
- Nummeriere Quellen von G mit der kleinsten noch freien Nummer
- Entferne die soeben nummerierten Quellen und die von ihnen
wegführenden Kanten aus G
}
/
6.19
Programm: Zyklische Graphen.
a)
Schreibe ein Programm, das von einem gegebenen Graphen bestimmt, ob er
zyklisch oder azyklisch ist!
b)
Schreibe ein Programm, das von einem gegebenen Graphen bestimmt, ob er
kreisfrei ist! Weiters soll es die Menge der erreichbaren Knoten ausgeben.
/
6.20
Gegeben sei der Graph G16 .
a)
Bestimme die Anzahl der Pfade der Länge 3 von 5 nach 2 direkt!
b)
Bestimme die Anzahl der Pfade der Länge 3 von 5 nach 2 mit Hilfe der Matrix
A3G16 !
/
6.21
Bestimme für die Graphen G6 , H6 und G17 (wobei H6 durch Umkehren aller Kantenrichtungen aus G6 entsteht) die entsprechenden Erreichbarkeitsmatrizen R!
/
6.22
Zeige für den Graphen G15 mit Hilfe der Erreichbarkeitsmatrix, dass die Knoten 1 und
2 von 3 aus nicht erreichbar sind!
/
6.23
Bestimme die starken Zusammenhangskomponenten für die Graphen G1 , G3 , G5 , G7
und H7 (wobei H7 durch Umkehren aller Kantenrichtungen aus G7 entsteht)!
/
39
6.24
Untersuche, ob die Graphen G14 , G18 , G19 , G20 , G21 , G22 , G23 eine geschlossene Euler’sche Linie besitzen und bestimme gegebenenfalls eine solche!
/
6.25
Untersuche, ob die Graphen G14 , G18 , G19 , G20 , G21 , G22 , G23 eine geschlossene Hamilton’sche Linie besitzen und bestimme gegebenenfalls eine solche!
/
6.26
Bestimme in den Graphen G5 und H5 (entstanden durch Umkehrung aller Kantenrichtungen aus G5 ) die Anzahl der Zyklen der Länge 3, auf denen der Knoten 4 liegt!
/
6.27
Bestimme in den Graphen G9 und G10 die Anzahl der Dreiecke (Kreise der Länge 3)! /
6.28
Untersuche die Graphen G7 , G8 , G11 und H11 (entstanden durch das Umkehren aller
Kantenrichtungen aus G11 ) mit dem Markierungsalgorithmus auf Azyklizität!
/
6.29
Bestimme alle Knotenbasen der Graphen G1 , G3 , G5 , G7 und H7 (entstanden durch das
Umkehren aller Kantenrichtungen aus G7 )!
/
Graphen G1 − G24 zu den Beispielen
G1 :
2
3
6
1
G5 :
b
c
8
7
c
6
5
3
5
d
b
4
G6 :
4
1
2
3
40
6
1
4
a
1
2
7
3
G4 :
d
a
2
5
4
G2 :
G3 :
7
G7 :
G8 :
1
2
7
8
3
4
5
6
11
12
9
10
13
14
4
5
G9 :
3
2
1
4
6
2
7
G10 :
G11 :
3
4
5
4
6
5
6
7
8
8
6
G13 :
8
7
1
2
5
G16 :
5
1
3
6
3
5
2
4
2
4
7
2
G15 :
3
1
3
1
G14 :
2
2
1
G12 :
3
1
3
1
41
5
4
4
G17 :
!
"%'&#+,$
(
)
*
45.967
3/8210
1
G18 :
3
2
4
G19 :
G21 :
G20 :
G22 :
G23 :
G24 :
3
1
2
7 Endliche Automaten
Ein endlicher Automat ist ein formales System (Q, Σ, δ, q0 , F ), in dem ein bestimmtes
Ein-Ausgabeverhalten mit Alphabet Σ durch eine endliche Anzahl interner Systemzustände Q und ihrer Übergänge δ : Q × Σ → Q definiert wird, wobei im Zustand q0
gestartet wird, und verschiedene Endzustände F angegeben sind.
42
7.1
Gib eine Beschreibung einer Geldausgabe durch einen Bankomaten als Endlichen Automaten!
Hinweis: Berücksichtige sowohl korrekte wie auch fehlerhafte Eingaben und Verhaltensweisen des Benutzers. Als Nebenbedingung gilt, dass der Code maximal dreimal
eingegeben werden kann.
/
7.2
Erweitere das Übergangsdiagramm aus Beispiel 7.1 zu einem Graphen, in dem eine
geschlossene Euler’sche Linie existiert, und leite daraus eine Testsequenz ab, die alle
möglichen Übergänge abdeckt!
/
7.3
Gib Endliche Automaten an, die folgende Sprachen über dem Alphabet {0, 1} akzeptieren!
a)
Die Menge aller Zeichenketten, die mit ‘00’ enden.
b)
Die Menge aller Zeichenketten, die drei aufeinander folgende Nullen enthalten.
c)
Die Menge aller Zeichenketten, die so beschaffen sind, dass fünf aufeinander
folgende Symbole mindestens zwei Nullen enthalten.
/
BEMERKUNG (R EGUL ÄRER A USDRUCK ÜBER DEM A LPHABET Σ):
1. ∅ ist ein regulärer Ausdruck (leere Menge {}).
2. ε ist ein regulärer Ausdruck (leere Eingabe {ε}).
3. a ist ein regulärer Ausdruck für alle a ∈ Σ (Menge {a}).
4. Sind r und s reguläre Ausdrücke (Mengen R und S), dann auch
• (r + s) – bezeichnet R ∪ S.
• (rs) – bezeichnet Verkettung RS.
• (r∗ ) – Kleene’scher Abschluss, d. h., alle möglichen Verkettungen inklusive ε.
7.4
Gib reguläre Ausdrücke an, die die folgenden Mengen bezeichnen!
a)
Die Menge aller Dezimalzahlen mit mindestens einer Ziffer vor und beliebig
vielen Ziffern nach dem Dezimalpunkt (Komma).
b)
Die Menge aller Passwörter aus mindestens einem und höchstens fünf Buchstaben, gefolgt von zwei Ziffern.
43
c)
Die Menge aller binären Zeichenketten, in denen nie drei Nullen aufeinander
folgen.
d)
Die Menge aller binären Zeichenketten, in denen die Anzahl von unmittelbar
aufeinander folgenden Nullen stets gerade ist.
/
7.5
Konstruiere einen regulären Ausdruck, der folgendem Übergangsdiagramm entspricht:
0
Start
1
0
1
1
/
0
7.6
Konstruiere eine (a) Moore-Maschine (b) Mealy-Maschine für folgenden Prozess:
Für eine Eingabe aus (A + B)∗ soll diese eine ‘1’ ausgeben, falls die Eingabe mit ABA
endet, eine ‘2’ ausgeben, falls sie mit AAB endet, und sonst eine ‘3’ ausgeben.
/
7.7
Programm: Lindenmayer-System, kontextfreie Grammatik. Ein L-System besteht aus
Variablen, Konstanten (die nicht verändert werden können), Regeln für den Austausch
von Variablen (Ersetzungsvorschriften) und Anfangsbedingungen (Axiome), d. h., aus
welchem Zustand das L-System startet.
Das L-System Fibonacci mit den Variablen A und B, ohne Konstanten und mit den
Regeln Ersetze A durch B“ und Ersetze B durch AB“ generiert aus der Anfangsbe”
”
dingung A durch Iteration folgende Strings:
0
1
2
3
4
5
6
7
:
:
:
:
:
:
:
:
A
B
AB
BAB
ABBAB
BABABBAB
ABBABBABABBAB
BABABBABABBABBABABBAB
Betrachten wir die Länge der Strings, so erhalten wir die Fibonacci-Zahlen, was nicht
verwunderlich ist, wenn wir beachten, dass jeder String aus der Zusammenfügung
(Konkatenation) der beiden letzten Vorgänger entsteht (nach Initialisierung der ersten
beiden).
44
L-Sytem Algenwachstum der Alge Chaetomorpha linum:
Alphabet
Variablen
Konstanten
Axiom
Ersetzungsvorschriften
A = {A, B, C, D, E, +}
V = {A, B, C, D, E}
K = {+}
A
A→D+B
B→C
C→D
D→E
E→A
Iterieren wir und fassen den Buchstaben ‘+’ als Verzweigung auf, so ergibt sich ein
Baum, der dem Wachstum der Alge entspricht, wenn wir, wie sonst nicht üblich, alle
Entwicklungsstadien gleichzeitig betrachten.
Aufgabe: Gegeben seien eine Menge V = {0, 1} von Variablen, vier Konstanten K =
{+, −, [, ]}, ein Axiom als Startbedingung aus diesen Symbolen und eine Ersetzungsvorschrift für den Austausch von einzelnen Symbolen in durch eine Kette von Symbolen.
a)
Schreibe ein Programm, das nach Eingabe des Axioms, der Ersetzungsvorschrift und einer Iterationstiefe n, eine Schleife, in der der jeweilig im letzten
Schritt entstandene String nach der Ersetzungsvorschrift behandelt wird, genau n Mal durchläuft ! Der Ergebnisstring soll ausgegeben werden.
b)
Erweitere das Programm um eine graphische Ausgabe, die aus dem Ergebnisstring nach Eingabe eines Winkels α eine Figur zeichnet, indem die Symbole
des Strings in folgender Weise interpretiert werden (Zeichenvorschrift):
0 Gehe einen Schritt in die aktuelle Richtung, zeichne nicht.
1 Gehe einen Schritt in die aktuelle Richtung, zeichne eine Kante.
‘+’ Zeichne die nächste Kante um den Winkel α gedreht zur letzten Richtung
vom aktuellen Knoten weiter!
‘−’ Zeichne die nächste Kante um den Winkel −α gedreht zur letzten Richtung vom aktuellen Knoten weiter!
‘[’ Lege den aktuellen Zustand auf einem Stapel ab (Zeichenposition, Zeichenrichtung etc.)!
‘]’ Nimm den letzten Zustand vom Stapel und mach diesen zum aktuellen!
Teste die Programme mit:
a)
Axiom: 1 − 1 − 1 − 1;
Ersetzungsvorschrift: 1 → 11 − 1 − 1 − 1 − 1 − 1 + 1, α = 90◦
b)
Axiom: 1 − 1 − 1 − 1;
Ersetzungsvorschrift: 1 → 1 − 1 + 1 − 1 − 1, α = 90◦
c)
Axiom: 1; Ersetzungsvorschrift: 1 − 1 + +1 − 1, α = 60◦
45
d)
Axiom: 1; Ersetzungsvorschrift: 11 + [+1 − 1 − 1] − [1 + 1 + 1], α = 22◦
/
7.8
Programm: Turing Maschinen. Anfang des 20. Jahrhunderts präsentierte David Hilbert eine Liste ungelöster Mathematischer Probleme, darunter:
Ist die Mathematik vollständig, d. h., kann jede ihrer Aussagen entweder bewiesen oder widerlegt werden?
Ist die Mathematik widerspruchsfrei, oder können falsche Aussagen mittels mathematisch logischer Beweisführung hergeleitet werden?
Ist die Mathematik entscheidbar, d. h., gibt es ein Verfahren, das für jede Aussage
überprüfen kann, ob diese wahr oder falsch ist?
Kurt Gödel zeigte, dass die beiden ersten Aussagen einander ausschließen: Entweder
ist das Axiomensystem der Mathematik vollständig, dann führt es zu Widersprüchen,
oder es ist widerspruchsfrei, dann gibt es aber Aussagen, von denen nicht entschieden
werden kann, ob sie wahr oder falsch sind (Unentscheidbarkeit, Unvollständigkeit).
1936 zeigte Alan M. Turing (1912 - 1954), dass das dritte Problem unlösbar ist (Halteproblem). Dies machte eine exakte Definition des Begriffes Verfahren“ (Algorith”
mus) erforderlich. Nach Turings Vorstellung muss ein Verfahren rein mechanisch ausgeführt werden können. Eine Turingmaschine ist nun ein theoretisches Modell eines
Rechners zur Abarbeitung eines Algorithmus.
Eine Turingmaschine hat folgende Bestandteile:
– Ein unendlich langes Speicherband. Auf jedem Feld kann genau ein Zeichen des
verwendeten Alphabets gespeichert werden; ein spezielles Zeichen des Alphabets ist das Leerzeichen.
– Ein Schaltwerk (Übergangstafel) mit endlich vielen Zuständen, das das Verhalten
der Turingmaschine steuert. Siehe etwa die Übergangstafel und das Übergangsdiagramm im nächsten Beispiel.
– Einen Schreib-Lesekopf. Er kann den Bandinhalt an der aktuellen Position lesen,
ein Zeichen an der aktuellen Position auf das Band schreiben, und sich um einen
Schritt nach links oder rechts bewegen.
Zu Beginn befindet sich ein bestimmter Bandinhalt auf dem Speicherband, der SchreibLesekopf befindet sich an einer bestimmten Stelle und das Schaltwerk befindet sich im
Zustand 1. Dann wird die Turingmaschine gestartet. Das Halteproblem besteht nun
darin, dass es Turingmaschinen gibt, von denen nicht vorausgesagt werden kann, ob
sie halten oder nicht!
Jeder digitale Computer kann genau dieselbe Klasse mathematischer Funktionen berechnen wie eine Turingmaschine, d. h., eine mathematische Funktion ist berechenbar,
wenn sie sich auf einer Turingmaschine berechnen lässt.
46
Aufgabe: Schreibe einen Simulator für Turingmaschinen, der durch Eingabe einer
Übergangstafel gesteuert wird! Dabei soll es möglich sein, den Inhalt des (unendlichen) Bandes zu initialisieren, d. h. etwa, lauter Leerzeichen (etwa lauter Nullen) oder
zufällige Buchstaben aus dem verwendeten Alphabet, das eingegeben werden muss,
vor Start der Turing-Maschine auf das Band zu schreiben.
/
7.9
Programm: Fleißige Biber. Ein Fleißiger Biber“ ist eine Turingmaschine mit genau n
”
Zuständen, gegeben durch eine Übergangstabelle mit n Zuständen, die eine Maximalzahl von Buchstaben eines Alphabets ohne Leerzeichen auf ein leeres Band schreibt!
Diese Turingmaschine muss halten, darf aber nicht das Band verlassen. d. h., die Turingmaschine darf keine unendliche Schleife oder oszillierende Zustände enthalten.
Ein Kandidat für den Fleißigen Biber mit 5 Zuständen ist derjenige, der nach mehreren
Millionen Übergängen 4098 Einser schreibt bevor er hält.
Es gibt insgesamt 63 403 380 965 376 verschiedene Biber mit 5 Zuständen!
Simuliere folgende Biber und beschreibe, was diese machen! Ist der Biber fleißig?
Das Alphabet ist {0, 1}, wobei 0 das Leerzeichen ist.
0
1,R
0
0
Halt
1
1,R
1,L
0
1,R
1
1,R
2 1
0,L
0
1,L
1,L
1,R
1
0
0
1
1
1,R
0
0
1,R
1 1
Halt
0,R 0
1,L 1
3
2 0
1,R
1
0,R
0,L
1,R
1
0
0
1
1,L
1
0
1,R
Halt
Halt
1,L
Folgendes Übergangsdiagramm und folgende Übergangstafel beschreiben den selben
Biber – was bewirkt dieser?
1,L 1
0
0
Zustand
0
1,R
0,L
1
0 1 0,R
1
47
lese
0
1
0
1
Aktion
1,R
1,L
0,L
0,R
Z.neu
1
0
0
1
Der folgende Biber beginnt auf einem mit Nullen gefüllten Band:
0 1,L
0 1 1,R
1 1
0 0,L
0,L 1,R
1,L
4 0
1
0
1
0,L
1 3
2
0,R 0
0,R
1,L
Halt
/
48
Herunterladen