Unendliche Listen

Werbung
Vortrag: Unendliche Listen
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Beispiel
Unendliche Listen
Unendliche Bäume
Funktionale Programmierung in Haskell
Sebastian Schröder
Zusammenfassung
Philip Chinery
Fachhochschule Wedel – University of Applied Sciences
11. Dezember 2009
Sebastian Schröder, Philip Chinery
1/46
Unendliche Listen
Agenda
Unendliche Listen
Einleitung
1
Eigenschaften
Einleitung
Ausprägungen
Beispiel
2
Eigenschaften
Unendliche Bäume
Zusammenfassung
3
Ausprägungen
4
Beispiel
5
Unendliche Bäume
6
Zusammenfassung
Sebastian Schröder, Philip Chinery
2/46
Unendliche Listen
Agenda
Unendliche Listen
Einleitung
1
Einleitung
Motivation
Aus der Mengenlehre
Motivation
Aus der Mengenlehre
Eigenschaften
Ausprägungen
Beispiel
2
Eigenschaften
Unendliche Bäume
Zusammenfassung
3
Ausprägungen
4
Beispiel
5
Unendliche Bäume
6
Zusammenfassung
Sebastian Schröder, Philip Chinery
3/46
Unendliche Listen
Einleitung
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Eigenschaften
Warum unendliche Listen?
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
4/46
Unendliche Listen
Einleitung
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Eigenschaften
Warum unendliche Listen?
Ausprägungen
„Weil es geht“
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
4/46
Unendliche Listen
Einleitung
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Eigenschaften
Warum unendliche Listen?
Ausprägungen
„Weil es geht“
Beispiel
Unendliche Listen können in Haskell (partiell)
verarbeitet werden
Unendliche Bäume
Zusammenfassung
Existieren auch außerhalb der Informatik
Erleichtern die intuitive Definition mancher
Funktionen
Sebastian Schröder, Philip Chinery
4/46
Unendliche Listen
Einleitung
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Eigenschaften
Ausprägungen
Beispiel
Zum Vortrag:
Unendliche Bäume
Zwischenfragen sind ausdrücklich erwünscht
Zusammenfassung
Bei Fragen sind Antworten ausdrücklich erwünscht
Sebastian Schröder, Philip Chinery
5/46
Unendliche Listen
Bekannte unendliche Listen
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Bekannte unendliche Listen
bestimmte Zahlenmengen
Eigenschaften
Ausprägungen
Beispiel
natürliche Zahlen
alle geraden Zahlen
...
Unendliche Bäume
Zusammenfassung
Ströme (Streams)
„stdin“
/dev/zero
...
Sebastian Schröder, Philip Chinery
6/46
Unendliche Listen
Unendliche Listen verarbeiten
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
unendliche Mengen: {x 2 |x ∈ N; x 2 < 10}
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
7/46
Unendliche Listen
Unendliche Listen verarbeiten
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
unendliche Mengen: {x 2 |x ∈ N; x 2 < 10}
Eigenschaften
Haskell: [square x | x <- [0..], square x < 10]
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
7/46
Unendliche Listen
Unendliche Listen verarbeiten
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
unendliche Mengen: {x 2 |x ∈ N; x 2 < 10}
Eigenschaften
Haskell: [square x | x <- [0..], square x < 10]
Ausprägungen
Beispiel
Unendliche Bäume
Ergebnis
Zusammenfassung
squares = [square x | x <- [0..], square x < 10]
> squares
> [0, 1, 4, 9
Sebastian Schröder, Philip Chinery
7/46
Unendliche Listen
Unendliche Listen verarbeiten
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
unendliche Mengen: {x 2 |x ∈ N; x 2 < 10}
Eigenschaften
Haskell: [square x | x <- [0..], square x < 10]
Ausprägungen
Beispiel
Unendliche Bäume
Ergebnis
Zusammenfassung
squares = [square x | x <- [0..], square x < 10]
> squares
> [0, 1, 4, 9
Und dann?
Sebastian Schröder, Philip Chinery
7/46
Unendliche Listen
Unendliche Listen verarbeiten
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Eigenschaften
Etwas Mathematik
Ausprägungen
Der Computer ist nicht schlau genug
Eigenschaften der erzeugenden Menge
Beispiel
Unendliche Bäume
Zusammenfassung
Monotonität
Geeignete Abbruchbedingung
Sebastian Schröder, Philip Chinery
8/46
Unendliche Listen
Unendliche Listen verarbeiten
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Eigenschaften
Etwas Mathematik
Ausprägungen
Der Computer ist nicht schlau genug
Eigenschaften der erzeugenden Menge
Beispiel
Unendliche Bäume
Zusammenfassung
Monotonität
Geeignete Abbruchbedingung
Was bietet sich an?
Sebastian Schröder, Philip Chinery
8/46
Unendliche Listen
Unendliche Listen verarbeiten
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Eigenschaften
Etwas Mathematik
Ausprägungen
Der Computer ist nicht schlau genug
Eigenschaften der erzeugenden Menge
Beispiel
Unendliche Bäume
Zusammenfassung
Monotonität
Geeignete Abbruchbedingung
Was bietet sich an?
takeWhile
Sebastian Schröder, Philip Chinery
8/46
Unendliche Listen
Unendliche Listen verarbeiten
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Eigenschaften
Ausprägungen
Beispiel
Quadrate < 10
Unendliche Bäume
squares’ = [square x | x <- [0..]]
> takeWhile (<10) squares’
> [0, 1, 4, 9]
Sebastian Schröder, Philip Chinery
Zusammenfassung
9/46
Unendliche Listen
Unendliche Listen verarbeiten
Unendliche Listen
Einleitung
Motivation
Aus der Mengenlehre
Unendliche Listen verarbeiten
Eigenschaften
Ausprägungen
Grundsätzlich mit Haskell möglich
Beispiel
Erfordert Bedarfsauswertung (lazy evaluation)
Unendliche Bäume
=> Funktionen dürfen nicht strikt sein
Zusammenfassung
Erfordert sorgfalt
Mathematische Eigenschaften ausnutzen
Vollständige Verarbeitung nicht möglich
Sebastian Schröder, Philip Chinery
10/46
Unendliche Listen
Agenda
Unendliche Listen
1
Einleitung
Einleitung
Eigenschaften
2
(Un)endliche Listen
als Grenzwerte
Eigenschaften
(Un)endliche Listen als Grenzwerte
Approximationsordnung
Beweis von Eigenschaften
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
3
Ausprägungen
4
Beispiel
5
Unendliche Bäume
6
Zusammenfassung
Sebastian Schröder, Philip Chinery
Zusammenfassung
11/46
Unendliche Listen
Unendliche Objekte
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Mathematik: Unendliche Objekte
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
12/46
Unendliche Listen
Unendliche Objekte
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Mathematik: Unendliche Objekte
Approximationsordnung
Grenzwerte von unendlichen Sequenzen von
Approximationen
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
12/46
Unendliche Listen
Unendliche Objekte
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Mathematik: Unendliche Objekte
Approximationsordnung
Grenzwerte von unendlichen Sequenzen von
Approximationen
Beweis von
Eigenschaften
Beispiel: Irrationale Zahl π (3,14159265358979...)
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
12/46
Unendliche Listen
Unendliche Objekte
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Mathematik: Unendliche Objekte
Approximationsordnung
Grenzwerte von unendlichen Sequenzen von
Approximationen
Beweis von
Eigenschaften
Beispiel: Irrationale Zahl π (3,14159265358979...)
Grenzwert der unendlichen Sequenz von
rationalen Approximationen:
3,0, 3,1, 3,14, 3,141, 3,1415, 3,14159, ...
Sebastian Schröder, Philip Chinery
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
12/46
Unendliche Listen
Unendliche Objekte
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Mathematik: Unendliche Objekte
Approximationsordnung
Grenzwerte von unendlichen Sequenzen von
Approximationen
Beweis von
Eigenschaften
Beispiel: Irrationale Zahl π (3,14159265358979...)
Grenzwert der unendlichen Sequenz von
rationalen Approximationen:
3,0, 3,1, 3,14, 3,141, 3,1415, 3,14159, ...
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Jedes weitere Element der Sequenz ist eine
bessere Approximation des Grenzwertes
Sebastian Schröder, Philip Chinery
12/46
Unendliche Listen
Unendliche Listen
Unendliche Listen
Einleitung
Unendliche Listen
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
13/46
Unendliche Listen
Unendliche Listen
Unendliche Listen
Einleitung
Unendliche Listen
Eigenschaften
Ebenso Grenzwerte von unendlichen Sequenzen
von Approximationen
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
13/46
Unendliche Listen
Unendliche Listen
Unendliche Listen
Einleitung
Unendliche Listen
Eigenschaften
Ebenso Grenzwerte von unendlichen Sequenzen
von Approximationen
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Beispiel: Liste [1 .. ]
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
13/46
Unendliche Listen
Unendliche Listen
Unendliche Listen
Einleitung
Unendliche Listen
Eigenschaften
Ebenso Grenzwerte von unendlichen Sequenzen
von Approximationen
Approximationsordnung
Beweis von
Eigenschaften
Beispiel: Liste [1 .. ]
Ausprägungen
Grenzwert der unendlichen Sequenz von
partiellen Listen:
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : 3 : ⊥, 1 : 2 : 3 : 4 : ⊥, ...
Sebastian Schröder, Philip Chinery
(Un)endliche Listen
als Grenzwerte
Beispiel
Unendliche Bäume
Zusammenfassung
13/46
Unendliche Listen
Unendliche Listen
Unendliche Listen
Einleitung
Unendliche Listen
Eigenschaften
Ebenso Grenzwerte von unendlichen Sequenzen
von Approximationen
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Beispiel: Liste [1 .. ]
Ausprägungen
Grenzwert der unendlichen Sequenz von
partiellen Listen:
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : 3 : ⊥, 1 : 2 : 3 : 4 : ⊥, ...
Beispiel
Unendliche Bäume
Zusammenfassung
⊥ (undefiniert) liefert keine Informationen über den
Grenzwert
Sebastian Schröder, Philip Chinery
13/46
Unendliche Listen
Unendliche Listen
Unendliche Listen
Einleitung
Unendliche Listen
Eigenschaften
Ebenso Grenzwerte von unendlichen Sequenzen
von Approximationen
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Beispiel: Liste [1 .. ]
Ausprägungen
Grenzwert der unendlichen Sequenz von
partiellen Listen:
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : 3 : ⊥, 1 : 2 : 3 : 4 : ⊥, ...
Beispiel
Unendliche Bäume
Zusammenfassung
⊥ (undefiniert) liefert keine Informationen über den
Grenzwert
Durch hinzufügen eines definierten Wertes ist
jedes zusätzliche Element der Sequenz eine
bessere Approximation des Grenzwertes
Sebastian Schröder, Philip Chinery
13/46
Unendliche Listen
Konvergenz von Sequenzen
Unendliche Listen
Einleitung
Konvergenz von Sequenzen
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
14/46
Unendliche Listen
Konvergenz von Sequenzen
Unendliche Listen
Einleitung
Konvergenz von Sequenzen
Eigenschaften
(Un)endliche Listen
als Grenzwerte
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : 3 : ⊥, 1 : 2 : 3 : 4 : ⊥, ...
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
14/46
Unendliche Listen
Konvergenz von Sequenzen
Unendliche Listen
Einleitung
Konvergenz von Sequenzen
Eigenschaften
(Un)endliche Listen
als Grenzwerte
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : 3 : ⊥, 1 : 2 : 3 : 4 : ⊥, ...
Approximationsordnung
Konvergiert gegen den Grenzwert [1 .. ]
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
14/46
Unendliche Listen
Konvergenz von Sequenzen
Unendliche Listen
Einleitung
Konvergenz von Sequenzen
Eigenschaften
(Un)endliche Listen
als Grenzwerte
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : 3 : ⊥, 1 : 2 : 3 : 4 : ⊥, ...
Approximationsordnung
Konvergiert gegen den Grenzwert [1 .. ]
Beweis von
Eigenschaften
Ausprägungen
⊥, 1 : 2 : ⊥, 1 : 2 : 3 : 4 : ⊥, 1 : 2 : 3 : 4 : 5 : 6 :
⊥, ...
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
14/46
Unendliche Listen
Konvergenz von Sequenzen
Unendliche Listen
Einleitung
Konvergenz von Sequenzen
Eigenschaften
(Un)endliche Listen
als Grenzwerte
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : 3 : ⊥, 1 : 2 : 3 : 4 : ⊥, ...
Approximationsordnung
Konvergiert gegen den Grenzwert [1 .. ]
Beweis von
Eigenschaften
Ausprägungen
⊥, 1 : 2 : ⊥, 1 : 2 : 3 : 4 : ⊥, 1 : 2 : 3 : 4 : 5 : 6 :
⊥, ...
Beispiel
Unendliche Bäume
Ist eine Untersequenz der obigen Sequenz
Zusammenfassung
Konvergiert ebenfalls gegen den Grenzwert [1 .. ]
Sebastian Schröder, Philip Chinery
14/46
Unendliche Listen
Konvergenz von Sequenzen
Unendliche Listen
Einleitung
Konvergenz von Sequenzen
Eigenschaften
(Un)endliche Listen
als Grenzwerte
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : 3 : ⊥, 1 : 2 : 3 : 4 : ⊥, ...
Approximationsordnung
Konvergiert gegen den Grenzwert [1 .. ]
Beweis von
Eigenschaften
Ausprägungen
⊥, 1 : 2 : ⊥, 1 : 2 : 3 : 4 : ⊥, 1 : 2 : 3 : 4 : 5 : 6 :
⊥, ...
Beispiel
Unendliche Bäume
Ist eine Untersequenz der obigen Sequenz
Zusammenfassung
Konvergiert ebenfalls gegen den Grenzwert [1 .. ]
⊥, 1 : ⊥, 2 : 1 : ⊥, 3 : 2 : 1 : ⊥, ...
Sebastian Schröder, Philip Chinery
14/46
Unendliche Listen
Konvergenz von Sequenzen
Unendliche Listen
Einleitung
Konvergenz von Sequenzen
Eigenschaften
(Un)endliche Listen
als Grenzwerte
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : 3 : ⊥, 1 : 2 : 3 : 4 : ⊥, ...
Approximationsordnung
Konvergiert gegen den Grenzwert [1 .. ]
Beweis von
Eigenschaften
Ausprägungen
⊥, 1 : 2 : ⊥, 1 : 2 : 3 : 4 : ⊥, 1 : 2 : 3 : 4 : 5 : 6 :
⊥, ...
Beispiel
Unendliche Bäume
Ist eine Untersequenz der obigen Sequenz
Zusammenfassung
Konvergiert ebenfalls gegen den Grenzwert [1 .. ]
⊥, 1 : ⊥, 2 : 1 : ⊥, 3 : 2 : 1 : ⊥, ...
Konvergiert gegen keinen Grenzwert
Sebastian Schröder, Philip Chinery
14/46
Unendliche Listen
Endliche Grenzwerte
Unendliche Listen
Einleitung
Endliche Grenzwerte
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
15/46
Unendliche Listen
Endliche Grenzwerte
Unendliche Listen
Einleitung
Endliche Grenzwerte
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Grenzwerte von Sequenzen können endlich sein
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
15/46
Unendliche Listen
Endliche Grenzwerte
Unendliche Listen
Einleitung
Endliche Grenzwerte
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Grenzwerte von Sequenzen können endlich sein
Approximationsordnung
⊥, 1 : ⊥, [1], [1], ...
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
15/46
Unendliche Listen
Endliche Grenzwerte
Unendliche Listen
Einleitung
Endliche Grenzwerte
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Grenzwerte von Sequenzen können endlich sein
Approximationsordnung
⊥, 1 : ⊥, [1], [1], ...
Beweis von
Eigenschaften
Konvergiert gegen den Grenzwert [1]
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
15/46
Unendliche Listen
Endliche Grenzwerte
Unendliche Listen
Einleitung
Endliche Grenzwerte
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Grenzwerte von Sequenzen können endlich sein
Approximationsordnung
⊥, 1 : ⊥, [1], [1], ...
Beweis von
Eigenschaften
Konvergiert gegen den Grenzwert [1]
Ausprägungen
Beispiel
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : ⊥, ...
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
15/46
Unendliche Listen
Endliche Grenzwerte
Unendliche Listen
Einleitung
Endliche Grenzwerte
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Grenzwerte von Sequenzen können endlich sein
Approximationsordnung
⊥, 1 : ⊥, [1], [1], ...
Beweis von
Eigenschaften
Konvergiert gegen den Grenzwert [1]
Ausprägungen
Beispiel
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : ⊥, ...
Unendliche Bäume
Konvergiert gegen den Grenzwert 1 : 2 : ⊥
Zusammenfassung
Sebastian Schröder, Philip Chinery
15/46
Unendliche Listen
Endliche Grenzwerte
Unendliche Listen
Einleitung
Endliche Grenzwerte
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Grenzwerte von Sequenzen können endlich sein
Approximationsordnung
⊥, 1 : ⊥, [1], [1], ...
Beweis von
Eigenschaften
Konvergiert gegen den Grenzwert [1]
Ausprägungen
Beispiel
⊥, 1 : ⊥, 1 : 2 : ⊥, 1 : 2 : ⊥, ...
Unendliche Bäume
Konvergiert gegen den Grenzwert 1 : 2 : ⊥
Zusammenfassung
Endliche und partielle Listen sind Grenzwerte für
Sequenzen, welche nur aus einer endlichen
Anzahl unterschiedlicher Elemente bestehen
Sebastian Schröder, Philip Chinery
15/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Formalisierung der Eigenschaft, dass unendliche
Sequenzen von partiellen Listen gegen einen
Grenzwert konvergieren
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
16/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Formalisierung der Eigenschaft, dass unendliche
Sequenzen von partiellen Listen gegen einen
Grenzwert konvergieren
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Approximationsordnung
Ausprägungen
x v y (x ist eine Approximation von y)
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
16/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Formalisierung der Eigenschaft, dass unendliche
Sequenzen von partiellen Listen gegen einen
Grenzwert konvergieren
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Approximationsordnung
Ausprägungen
x v y (x ist eine Approximation von y)
Beispiel
Unendliche Bäume
Zusammenfassung
reflexiv (x v x)
transitiv (x v y ∧ y v z ⇒ x v z)
antisymmetrisch (x v y ∧ y v x ⇒ x = y )
Sebastian Schröder, Philip Chinery
16/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Formalisierung der Eigenschaft, dass unendliche
Sequenzen von partiellen Listen gegen einen
Grenzwert konvergieren
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Approximationsordnung
Ausprägungen
x v y (x ist eine Approximation von y)
Beispiel
Unendliche Bäume
Zusammenfassung
reflexiv (x v x)
transitiv (x v y ∧ y v z ⇒ x v z)
antisymmetrisch (x v y ∧ y v x ⇒ x = y )
partielle Ordnung
Sebastian Schröder, Philip Chinery
16/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Eigenschaften
Definition Approximationsordnung für Zahlen,
Buchstaben und alle weiteren Aufzählungstypen
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
x v y ≡ (x = ⊥) ∨ (x = y )
Beweis von
Eigenschaften
⊥ (Bottom) approximiert jeden Wert
Ausprägungen
flache Ordnung
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
17/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Eigenschaften
Definition Approximationsordnung für Zahlen,
Buchstaben und alle weiteren Aufzählungstypen
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
x v y ≡ (x = ⊥) ∨ (x = y )
Beweis von
Eigenschaften
⊥ (Bottom) approximiert jeden Wert
Ausprägungen
flache Ordnung
Beispiel
Unendliche Bäume
Definition Approximationsordnung für Tupel (α,β)
Zusammenfassung
⊥ v (x,y )
(x,y ) v (x 0 ,y 0 ) ≡ (x v x 0 ) ∧ (y v y 0 )
keine flache Ordnung
Sebastian Schröder, Philip Chinery
17/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Eigenschaften
Definition Approximationsordnung für Listen [α]
(Un)endliche Listen
als Grenzwerte
⊥ v xs
Approximationsordnung
[ ] v xs ≡ xs = [ ]
Beweis von
Eigenschaften
(x : xs) v (y : ys) ≡ (x v y ) ∧ (xs v ys)
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
18/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Eigenschaften
Definition Approximationsordnung für Listen [α]
(Un)endliche Listen
als Grenzwerte
⊥ v xs
Approximationsordnung
[ ] v xs ≡ xs = [ ]
Beweis von
Eigenschaften
(x : xs) v (y : ys) ≡ (x v y ) ∧ (xs v ys)
Ausprägungen
Beispiel
Beispiele:
Unendliche Bäume
[1, ⊥, 3] v [1, 2, 3]
Sebastian Schröder, Philip Chinery
Zusammenfassung
18/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Eigenschaften
Definition Approximationsordnung für Listen [α]
(Un)endliche Listen
als Grenzwerte
⊥ v xs
Approximationsordnung
[ ] v xs ≡ xs = [ ]
Beweis von
Eigenschaften
(x : xs) v (y : ys) ≡ (x v y ) ∧ (xs v ys)
Ausprägungen
Beispiel
Beispiele:
Unendliche Bäume
[1, ⊥, 3] v [1, 2, 3]
Zusammenfassung
[1, 2, ⊥] v [1, 2, 3]
Sebastian Schröder, Philip Chinery
18/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Eigenschaften
Definition Approximationsordnung für Listen [α]
(Un)endliche Listen
als Grenzwerte
⊥ v xs
Approximationsordnung
[ ] v xs ≡ xs = [ ]
Beweis von
Eigenschaften
(x : xs) v (y : ys) ≡ (x v y ) ∧ (xs v ys)
Ausprägungen
Beispiel
Beispiele:
Unendliche Bäume
[1, ⊥, 3] v [1, 2, 3]
Zusammenfassung
[1, 2, ⊥] v [1, 2, 3]
Jedoch nicht:
[1, 2, ⊥] v [1, ⊥, 3]
Sebastian Schröder, Philip Chinery
18/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Weitere Eigenschaft von
Approximationsordnungen für jeden Typen α
Jede Kette von Approximationen x0 v x1 v ... hat einen
Grenzwert welcher ebenfalls zu α gehört.
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
19/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Weitere Eigenschaft von
Approximationsordnungen für jeden Typen α
Jede Kette von Approximationen x0 v x1 v ... hat einen
Grenzwert welcher ebenfalls zu α gehört.
Eigenschaften des Grenzwertes limn→∞ xn
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
∀n xn v limn→∞ xn
Der Grenzwert ist eine obere Grenze für die
Sequenz von Approximationen
Sebastian Schröder, Philip Chinery
Eigenschaften
Zusammenfassung
19/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Weitere Eigenschaft von
Approximationsordnungen für jeden Typen α
Jede Kette von Approximationen x0 v x1 v ... hat einen
Grenzwert welcher ebenfalls zu α gehört.
Eigenschaften des Grenzwertes limn→∞ xn
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
∀n xn v limn→∞ xn
Der Grenzwert ist eine obere Grenze für die
Sequenz von Approximationen
Zusammenfassung
Falls xn v y für alle n gilt, dann ist limn→∞ xn v y .
Der Grenzwert ist die kleinste obere Grenze.
Sebastian Schröder, Philip Chinery
19/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Haskell Funktion zur Approximationsberechnung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx :: Integer -> [a] -> [a]
approx (n+1) [ ] = [ ]
approx (n+1) (x : xs) = x : approx n xs
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
20/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Haskell Funktion zur Approximationsberechnung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx :: Integer -> [a] -> [a]
approx (n+1) [ ] = [ ]
approx (n+1) (x : xs) = x : approx n xs
Approximationsordnung
Beweis von
Eigenschaften
> approx 0 [1]
> undefined
Ausprägungen
Beispiel
> approx 1 [1]
> 1 : undefined
Unendliche Bäume
Zusammenfassung
> approx 2 [1]
> 1 : [ ]
Sebastian Schröder, Philip Chinery
20/46
Unendliche Listen
Approximationsordnung
Unendliche Listen
Einleitung
Haskell Funktion zur Approximationsberechnung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx :: Integer -> [a] -> [a]
approx (n+1) [ ] = [ ]
approx (n+1) (x : xs) = x : approx n xs
Approximationsordnung
Beweis von
Eigenschaften
> approx 0 [1]
> undefined
Ausprägungen
Beispiel
> approx 1 [1]
> 1 : undefined
Unendliche Bäume
Zusammenfassung
> approx 2 [1]
> 1 : [ ]
Wichtige Eigenschaft
limn→∞ approx n xs = xs
Für alle Listen xs (endlich, partiell oder unendlich)
Sebastian Schröder, Philip Chinery
20/46
Unendliche Listen
Kettenvollständig (Chain Complete)
Unendliche Listen
Einleitung
Angenommen eine Eigenschaft P(xs) gilt für alle
partiellen Listen xs
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Der Grenzwert einer Kette von Approximationen
xs0 , xs1 , ... (partielle Listen) ist eine unendliche
Liste
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
21/46
Unendliche Listen
Kettenvollständig (Chain Complete)
Unendliche Listen
Einleitung
Angenommen eine Eigenschaft P(xs) gilt für alle
partiellen Listen xs
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Approximationsordnung
Der Grenzwert einer Kette von Approximationen
xs0 , xs1 , ... (partielle Listen) ist eine unendliche
Liste
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Kettenvollständig (Chain Complete)
Zusammenfassung
P ist eine mathematische Zusicherung
Wenn P(xs) für alle Approximationen gilt, dann gilt
es auch für den Grenzwert
Wenn jedoch ¬P für alle Approximationen gilt,
dann muss es nicht auch für den Grenzwert gelten
Sebastian Schröder, Philip Chinery
21/46
Unendliche Listen
Beispiele: Kettenvollständig (Chain
Complete)
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Beispiele
Approximationsordnung
Beweis von
Eigenschaften
e1 v e2 , wobei e1 , e2 Ausdrücke auf xs sind
Variablen in den Ausdrücken sind allquantifiziert
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
22/46
Unendliche Listen
Beispiele: Kettenvollständig (Chain
Complete)
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Beispiele
Approximationsordnung
Beweis von
Eigenschaften
e1 v e2 , wobei e1 , e2 Ausdrücke auf xs sind
Variablen in den Ausdrücken sind allquantifiziert
Ausprägungen
kettenvollständig
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
22/46
Unendliche Listen
Beispiele: Kettenvollständig (Chain
Complete)
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Beispiele
Approximationsordnung
Beweis von
Eigenschaften
e1 v e2 , wobei e1 , e2 Ausdrücke auf xs sind
Variablen in den Ausdrücken sind allquantifiziert
Ausprägungen
kettenvollständig
Beispiel
Unendliche Bäume
Zusammenfassung
∃n drop n xs = ⊥
Sebastian Schröder, Philip Chinery
22/46
Unendliche Listen
Beispiele: Kettenvollständig (Chain
Complete)
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Beispiele
Approximationsordnung
Beweis von
Eigenschaften
e1 v e2 , wobei e1 , e2 Ausdrücke auf xs sind
Variablen in den Ausdrücken sind allquantifiziert
Ausprägungen
kettenvollständig
Beispiel
Unendliche Bäume
Zusammenfassung
∃n drop n xs = ⊥
Nicht kettenvollständig
Sebastian Schröder, Philip Chinery
22/46
Unendliche Listen
Vollständige Induktion?
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Haskell Funktion Iterate
Approximationsordnung
Beweis von
Eigenschaften
iterate :: (a -> a) -> a -> [a]
iterate f x = x : iterate f (f x)
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
23/46
Unendliche Listen
Vollständige Induktion?
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Haskell Funktion Iterate
Approximationsordnung
Beweis von
Eigenschaften
iterate :: (a -> a) -> a -> [a]
iterate f x = x : iterate f (f x)
Ausprägungen
{- Folgende Gleichungen wird dabei erfüllt: -}
iterate f x = x : map f (iterate f x)
{- bzw. -}
iterate f (f x) = map f (iterate f x)
Sebastian Schröder, Philip Chinery
Beispiel
Unendliche Bäume
Zusammenfassung
23/46
Unendliche Listen
Vollständige Induktion?
Unendliche Listen
Einleitung
Eigenschaften
(Un)endliche Listen
als Grenzwerte
Haskell Funktion Iterate
Approximationsordnung
Beweis von
Eigenschaften
iterate :: (a -> a) -> a -> [a]
iterate f x = x : iterate f (f x)
Ausprägungen
{- Folgende Gleichungen wird dabei erfüllt: -}
iterate f x = x : map f (iterate f x)
{- bzw. -}
iterate f (f x) = map f (iterate f x)
Beispiel
Unendliche Bäume
Zusammenfassung
Problem: Kein Argument vorhanden, über welchem die
Induktion ausgeführt werden kann.
Sebastian Schröder, Philip Chinery
23/46
Unendliche Listen
Vollständige Induktion?
Unendliche Listen
Einleitung
1. Ansatz
Eigenschaften
Zwei Listen sind gleich, wenn alle Elemente an
gleichen Positionen gleich sind
(Un)endliche Listen
als Grenzwerte
xs !! n = ys !! n für alle natürlichen Zahlen n
Beweis von
Eigenschaften
Approximationsordnung
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
24/46
Unendliche Listen
Vollständige Induktion?
Unendliche Listen
Einleitung
1. Ansatz
Eigenschaften
Zwei Listen sind gleich, wenn alle Elemente an
gleichen Positionen gleich sind
(Un)endliche Listen
als Grenzwerte
xs !! n = ys !! n für alle natürlichen Zahlen n
Beweis von
Eigenschaften
Approximationsordnung
Gegenbeispiel: xs = ⊥ und ys = [⊥]
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
24/46
Unendliche Listen
Vollständige Induktion?
Unendliche Listen
Einleitung
1. Ansatz
Eigenschaften
Zwei Listen sind gleich, wenn alle Elemente an
gleichen Positionen gleich sind
(Un)endliche Listen
als Grenzwerte
xs !! n = ys !! n für alle natürlichen Zahlen n
Beweis von
Eigenschaften
Approximationsordnung
Gegenbeispiel: xs = ⊥ und ys = [⊥]
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
2. Ansatz
Nutzung der Funktion approx mit der Eigenschaft
limn→∞ approx n xs = xs
Sebastian Schröder, Philip Chinery
24/46
Unendliche Listen
Vollständige Induktion?
Unendliche Listen
Einleitung
1. Ansatz
Eigenschaften
Zwei Listen sind gleich, wenn alle Elemente an
gleichen Positionen gleich sind
(Un)endliche Listen
als Grenzwerte
xs !! n = ys !! n für alle natürlichen Zahlen n
Beweis von
Eigenschaften
Approximationsordnung
Gegenbeispiel: xs = ⊥ und ys = [⊥]
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
2. Ansatz
Nutzung der Funktion approx mit der Eigenschaft
limn→∞ approx n xs = xs
Somit ∀n approx n xs = approx n ys → xs = ys
Und ∀n approx n xs v approx n ys → xs v ys
Sebastian Schröder, Philip Chinery
24/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
25/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
{- Induktionsvoraussetzung (n=0) -}
approx 0 xs = undefined
Ausprägungen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
25/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
{- Induktionsvoraussetzung (n=0) -}
approx 0 xs = undefined
Ausprägungen
{- Induktionsschritt (n = n+1) -}
{- Linke Seite der Gleichung -}
approx (n+1) (iterate f (f x))
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
25/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
{- Induktionsvoraussetzung (n=0) -}
approx 0 xs = undefined
Ausprägungen
{- Induktionsschritt (n = n+1) -}
{- Linke Seite der Gleichung -}
approx (n+1) (iterate f (f x))
Beispiel
Unendliche Bäume
Zusammenfassung
{- Definition iterate -}
approx (n+1) (f x : iterate f (f (f x)))
Sebastian Schröder, Philip Chinery
25/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
{- Induktionsvoraussetzung (n=0) -}
approx 0 xs = undefined
Ausprägungen
{- Induktionsschritt (n = n+1) -}
{- Linke Seite der Gleichung -}
approx (n+1) (iterate f (f x))
Beispiel
Unendliche Bäume
Zusammenfassung
{- Definition iterate -}
approx (n+1) (f x : iterate f (f (f x)))
{- Definition approx -}
f x : approx n (iterate f (f (f x)))
Sebastian Schröder, Philip Chinery
25/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
{- Induktionsvoraussetzung (n=0) -}
approx 0 xs = undefined
Ausprägungen
{- Induktionsschritt (n = n+1) -}
{- Linke Seite der Gleichung -}
approx (n+1) (iterate f (f x))
Beispiel
Unendliche Bäume
Zusammenfassung
{- Definition iterate -}
approx (n+1) (f x : iterate f (f (f x)))
{- Definition approx -}
f x : approx n (iterate f (f (f x)))
{- Induktionsannahme -}
f x : approx n (map f (iterate f (f x)))
Sebastian Schröder, Philip Chinery
25/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
{- Induktionsvoraussetzung (n=0) -}
approx 0 xs = undefined
Ausprägungen
{- Induktionsschritt (n = n+1) -}
{- Rechte Seite der Gleichung -}
approx (n+1) (map f (iterate f x))
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
26/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
{- Induktionsvoraussetzung (n=0) -}
approx 0 xs = undefined
Ausprägungen
{- Induktionsschritt (n = n+1) -}
{- Rechte Seite der Gleichung -}
approx (n+1) (map f (iterate f x))
Beispiel
Unendliche Bäume
Zusammenfassung
{- Definition iterate -}
approx (n+1) (map f (x : iterate f (f x)))
Sebastian Schröder, Philip Chinery
26/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
{- Induktionsvoraussetzung (n=0) -}
approx 0 xs = undefined
Ausprägungen
{- Induktionsschritt (n = n+1) -}
{- Rechte Seite der Gleichung -}
approx (n+1) (map f (iterate f x))
Beispiel
Unendliche Bäume
Zusammenfassung
{- Definition iterate -}
approx (n+1) (map f (x : iterate f (f x)))
{- Definition map -}
approx (n+1) (f x : map f (iterate f (f x)))
Sebastian Schröder, Philip Chinery
26/46
Unendliche Listen
Vollständige Induktion!
Unendliche Listen
Einleitung
Vollständige Induktion über n
Eigenschaften
(Un)endliche Listen
als Grenzwerte
approx n (iterate f (f x)) =
approx n (map f (iterate f x))
Approximationsordnung
Beweis von
Eigenschaften
{- Induktionsvoraussetzung (n=0) -}
approx 0 xs = undefined
Ausprägungen
{- Induktionsschritt (n = n+1) -}
{- Rechte Seite der Gleichung -}
approx (n+1) (map f (iterate f x))
Beispiel
Unendliche Bäume
Zusammenfassung
{- Definition iterate -}
approx (n+1) (map f (x : iterate f (f x)))
{- Definition map -}
approx (n+1) (f x : map f (iterate f (f x)))
{- Definition approx -}
f x : approx n (map f (iterate f (f x)))
Sebastian Schröder, Philip Chinery
26/46
Unendliche Listen
Agenda
Unendliche Listen
Einleitung
1
Einleitung
Eigenschaften
Ausprägungen
2
Unendliche Strukturen
Eigenschaften
Zyklische Strukturen
Beispiel
3
Ausprägungen
Unendliche Strukturen
Zyklische Strukturen
4
Beispiel
5
Unendliche Bäume
6
Zusammenfassung
Sebastian Schröder, Philip Chinery
Unendliche Bäume
Zusammenfassung
27/46
Unendliche Listen
Unendliche Strukturen
Unendliche Listen
Einleitung
Funktion Repeat
Eigenschaften
Ausprägungen
repeat :: a -> [a]
repeat x = x : repeat x
Unendliche Strukturen
Zyklische Strukturen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
28/46
Unendliche Listen
Unendliche Strukturen
Unendliche Listen
Einleitung
Funktion Repeat
Eigenschaften
Ausprägungen
repeat :: a -> [a]
repeat x = x : repeat x
Unendliche Strukturen
Zyklische Strukturen
Beispiel
Funktion Iterate
Unendliche Bäume
Zusammenfassung
iterate :: (a -> a) -> a -> [a]
iterate f x = x : map f (iterate f x)
Sebastian Schröder, Philip Chinery
28/46
Unendliche Listen
Unendliche Strukturen
Unendliche Listen
Einleitung
Funktion Repeat
Eigenschaften
Ausprägungen
repeat :: a -> [a]
repeat x = x : repeat x
Unendliche Strukturen
Zyklische Strukturen
Beispiel
Funktion Iterate
Unendliche Bäume
Zusammenfassung
iterate :: (a -> a) -> a -> [a]
iterate f x = x : map f (iterate f x)
Probleme:
Keine Möglichkeit der Darstellung als zyklischen
Graphen im Auswerter
Sebastian Schröder, Philip Chinery
28/46
Unendliche Listen
Unendliche Strukturen
Unendliche Listen
Einleitung
Funktion Repeat
Eigenschaften
Ausprägungen
repeat :: a -> [a]
repeat x = x : repeat x
Unendliche Strukturen
Zyklische Strukturen
Beispiel
Funktion Iterate
Unendliche Bäume
Zusammenfassung
iterate :: (a -> a) -> a -> [a]
iterate f x = x : map f (iterate f x)
Probleme:
Keine Möglichkeit der Darstellung als zyklischen
Graphen im Auswerter
Laufzeit kann durch unendliche Definition negativ
beeinflusst werden
Sebastian Schröder, Philip Chinery
28/46
Unendliche Listen
Unendliche Strukturen
Unendliche Listen
Einleitung
Eigenschaften
Beispiel für Darstellung im Auswerter
Ausprägungen
Unendliche Strukturen
repeat 1
> 1 : 1 : 1 : 1 : repeat 1
Zyklische Strukturen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
29/46
Unendliche Listen
Unendliche Strukturen
Unendliche Listen
Einleitung
Eigenschaften
Beispiel für Darstellung im Auswerter
Ausprägungen
Unendliche Strukturen
repeat 1
> 1 : 1 : 1 : 1 : repeat 1
Zyklische Strukturen
Beispiel
Unendliche Bäume
Beispiel für Laufzeitauswirkungen
Zusammenfassung
iterate (2x) 1
> 1 : map (2x) (iterate (2x) 1)
> 1 : 2 : map (2x) (map (2x) (iterate (2x) 1))
> 1 : 2 : 4 : map (2x) (map (2x) (map (2x) (iterate
(2x) 1)))
Sebastian Schröder, Philip Chinery
29/46
Unendliche Listen
Unendliche Strukturen
Unendliche Listen
Einleitung
Eigenschaften
Beispiel für Darstellung im Auswerter
Ausprägungen
Unendliche Strukturen
repeat 1
> 1 : 1 : 1 : 1 : repeat 1
Zyklische Strukturen
Beispiel
Unendliche Bäume
Beispiel für Laufzeitauswirkungen
Zusammenfassung
iterate (2x) 1
> 1 : map (2x) (iterate (2x) 1)
> 1 : 2 : map (2x) (map (2x) (iterate (2x) 1))
> 1 : 2 : 4 : map (2x) (map (2x) (map (2x) (iterate
(2x) 1)))
Laufzeit: O(n2 )
Sebastian Schröder, Philip Chinery
29/46
Unendliche Listen
Zyklische Strukturen
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Unendliche Strukturen
Zyklische Strukturen
Datenstruktur ones
Beispiel
Unendliche Bäume
ones :: [Integer]
ones = 1 : ones
Sebastian Schröder, Philip Chinery
Zusammenfassung
30/46
Unendliche Listen
Zyklische Strukturen
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Unendliche Strukturen
Zyklische Strukturen
Datenstruktur ones
Beispiel
Unendliche Bäume
ones :: [Integer]
ones = 1 : ones
Zusammenfassung
Darstellung im Auswerter
Sebastian Schröder, Philip Chinery
30/46
Unendliche Listen
Zyklische Strukturen
Unendliche Listen
Einleitung
Eigenschaften
Funktion Iterate
Ausprägungen
Unendliche Strukturen
iterate :: (a -> a) -> a -> [a]
iterate f x = xs where xs = x : map f xs
Zyklische Strukturen
Beispiel
Unendliche Bäume
Zusammenfassung
Sebastian Schröder, Philip Chinery
31/46
Unendliche Listen
Zyklische Strukturen
Unendliche Listen
Einleitung
Eigenschaften
Funktion Iterate
Ausprägungen
Unendliche Strukturen
iterate :: (a -> a) -> a -> [a]
iterate f x = xs where xs = x : map f xs
Zyklische Strukturen
Beispiel
Unendliche Bäume
Laufzeitauswirkungen
iterate (2x) 1
Sebastian Schröder, Philip Chinery
Zusammenfassung
31/46
Unendliche Listen
Zyklische Strukturen
Unendliche Listen
Einleitung
Eigenschaften
Funktion Iterate
Ausprägungen
Unendliche Strukturen
iterate :: (a -> a) -> a -> [a]
iterate f x = xs where xs = x : map f xs
Zyklische Strukturen
Beispiel
Unendliche Bäume
Laufzeitauswirkungen
iterate (2x) 1
Zusammenfassung
Laufzeit: O(n)
Sebastian Schröder, Philip Chinery
31/46
Unendliche Listen
Agenda
Unendliche Listen
Einleitung
1
Eigenschaften
Einleitung
Ausprägungen
Beispiel
2
Eigenschaften
Unendliche Bäume
Zusammenfassung
3
Ausprägungen
4
Beispiel
5
Unendliche Bäume
6
Zusammenfassung
Sebastian Schröder, Philip Chinery
32/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Algorithmus
Beispiel
Füge alle Zahlen größer 1 in das Sieb ein.
Unendliche Bäume
Setze p auf die erste nicht gestrichene Zahl.
Zusammenfassung
Streiche alle Zahlen durch, die Vielfache von p
sind.
Setze p gleich der nächsten nicht
durchgestrichenen Zahl.
Weiter mit Schritt 2
Sebastian Schröder, Philip Chinery
33/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Beispiel
Umsetzung in Haskell
Unendliche Bäume
Füge alle Zahlen größer 1 in das Sieb ein.
Sebastian Schröder, Philip Chinery
Zusammenfassung
34/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Beispiel
Umsetzung in Haskell
Unendliche Bäume
Füge alle Zahlen größer 1 in das Sieb ein.
Zusammenfassung
Und dann?
Sebastian Schröder, Philip Chinery
34/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Beispiel
Umsetzung in Haskell
Unendliche Bäume
Füge alle Zahlen größer 1 in das Sieb ein.
Zusammenfassung
Und dann?
Direkte Übertragung nicht möglich
Geeignete Implementierung nötig
Sebastian Schröder, Philip Chinery
34/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Umsetzung in Haskell (2. Versuch)
Ausprägungen
Nehme die Liste [2..]
Beispiel
Unendliche Bäume
Erzeuge die Liste, die vielfache des ersten
Elements nicht enthält
Zusammenfassung
Das erste Element ist eine Primzahl und wird in
die Ergebnisliste eingefügt
Rekursiver Aufruf mit der neuen Liste
Sebastian Schröder, Philip Chinery
35/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Umsetzung in Haskell (2. Versuch)
Ausprägungen
Nehme die Liste [2..]
Beispiel
Unendliche Bäume
Erzeuge die Liste, die vielfache des ersten
Elements nicht enthält
Zusammenfassung
Das erste Element ist eine Primzahl und wird in
die Ergebnisliste eingefügt
Rekursiver Aufruf mit der neuen Liste
Geht das?
Sebastian Schröder, Philip Chinery
35/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Umsetzung in Haskell (2. Versuch)
Ausprägungen
Nehme die Liste [2..]
Beispiel
Unendliche Bäume
Erzeuge die Liste, die vielfache des ersten
Elements nicht enthält
Zusammenfassung
Das erste Element ist eine Primzahl und wird in
die Ergebnisliste eingefügt
Rekursiver Aufruf mit der neuen Liste
Geht das?
Ja, wenn man es geschickt macht
Sebastian Schröder, Philip Chinery
35/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Primzahlen
Zusammenfassung
primes :: [Integer]
primes = sieve [2..]
where
sieve (p:xs) = p : sieve [x|x <- xs, x ‘mod‘ p > 0]
Sebastian Schröder, Philip Chinery
36/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Analyse der Arbeitsschritte
Ein Element der Liste abrufen (p) O(n2 )
Ausprägungen
Beispiel
Primzahllücke ist O(n)
Wegen Bedarfsauswertung muss die Berechnung
auf jeder Rekusionsebene vorgenommen werden,
also auf O(n) Ebenen
Unendliche Bäume
Zusammenfassung
Aufstellen der Liste ohne Vielfache von p (O(1))
Sebastian Schröder, Philip Chinery
37/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Analyse der Arbeitsschritte
Ein Element der Liste abrufen (p) O(n2 )
Ausprägungen
Beispiel
Primzahllücke ist O(n)
Wegen Bedarfsauswertung muss die Berechnung
auf jeder Rekusionsebene vorgenommen werden,
also auf O(n) Ebenen
Unendliche Bäume
Zusammenfassung
Aufstellen der Liste ohne Vielfache von p (O(1))
Wir sind etwas großzügig; beweisbar:
O(n ∗ (logn) ∗ (loglogn))
Sebastian Schröder, Philip Chinery
37/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Analyse der Arbeitsschritte
Ein Element der Liste abrufen (p) O(n2 )
Ausprägungen
Beispiel
Primzahllücke ist O(n)
Wegen Bedarfsauswertung muss die Berechnung
auf jeder Rekusionsebene vorgenommen werden,
also auf O(n) Ebenen
Unendliche Bäume
Zusammenfassung
Aufstellen der Liste ohne Vielfache von p (O(1))
Wir sind etwas großzügig; beweisbar:
O(n ∗ (logn) ∗ (loglogn)) | zu Hause ;-)
Sebastian Schröder, Philip Chinery
37/46
Unendliche Listen
Das Sieb des Eratosthenes
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Beispiel
Erkenntnisse
Unendliche Bäume
Unendliche Listen lassen sich leicht definieren
Zusammenfassung
Verarbeitung kann effizient erfolgen
Kann intuitiv formuliert werden
Komplexitätsanalyse funktioniert anders bei
Bedarfsauswertung
Sebastian Schröder, Philip Chinery
38/46
Unendliche Listen
Agenda
Unendliche Listen
Einleitung
1
Eigenschaften
Einleitung
Ausprägungen
Beispiel
2
Eigenschaften
Unendliche Bäume
Zusammenfassung
3
Ausprägungen
4
Beispiel
5
Unendliche Bäume
6
Zusammenfassung
Sebastian Schröder, Philip Chinery
39/46
Unendliche Listen
Unendliche Bäume
Unendliche Listen
Einleitung
Ausprägungen
Bäume mit unendlicher Tiefe
Eigenschaften
Ausprägungen
Feste Anzahl Kinder pro Knoten
Maximale Anzahl Kinder pro Knoten
Beispiel
Unendliche Bäume
Bäume mit unendlicher Breite
Zusammenfassung
Unendlich viele Kinder pro Knoten
Endliche Tiefe
Bäume mit unendlicher Breite und Tiefe
Unendlich viele Kinder pro Knoten
Unendliche Tiefe
Verallgemeinerungen (Unechte Bäume)
Kreise
Schlingen
Mehrfachkanten
Sebastian Schröder, Philip Chinery
40/46
Unendliche Listen
Verarbeitung unendlicher Bäume
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Beispiel
Verarbeitung
Unendliche Bäume
Vollständige Verarbeitung nicht möglich
Zusammenfassung
Verarbeitungsstrategien für große Bäume können
(weitgehend) übernommen werden
=> Terminieren ohne zusätzliche
Abbruchbedingungen nicht zwangsläufig
Sebastian Schröder, Philip Chinery
41/46
Unendliche Listen
Verarbeitung unendlicher Bäume
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Strategien
Breitensuche (breadth-first)
Beispiel
Unendliche Bäume
Für unendliche tiefe Bäume
Zusammenfassung
Tiefensuche (depth-first)
Für unendliche breite Bäume
Bäume mit unendlicher Breite und Tiefe
Erfordern mehr Vorsicht
Konzept der Breitensuche verfeinern
Schrittweise Breite und Tiefe ausweiten
Sebastian Schröder, Philip Chinery
42/46
Unendliche Listen
Unendlicher Bäume in der realen Welt
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Vorkommen
Beispiel
Unendliche Bäume
Entscheidungsbäume
Zusammenfassung
Landkarte auf einer Kugel
Präfixbaum über alle möglichen Sätze
Sebastian Schröder, Philip Chinery
43/46
Unendliche Listen
Unendlicher Bäume in der realen Welt
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Vorkommen
Beispiel
Unendliche Bäume
Entscheidungsbäume
Zusammenfassung
Landkarte auf einer Kugel
Präfixbaum über alle möglichen Sätze
Das vollständige vorhandene und zukünftige
niedergeschriebene Wissen der Welt in einer
Datenstruktur von wenigen Byte
Sebastian Schröder, Philip Chinery
43/46
Unendliche Listen
Agenda
Unendliche Listen
Einleitung
1
Eigenschaften
Einleitung
Ausprägungen
Beispiel
2
Eigenschaften
Unendliche Bäume
Zusammenfassung
3
Ausprägungen
4
Beispiel
5
Unendliche Bäume
6
Zusammenfassung
Sebastian Schröder, Philip Chinery
44/46
Unendliche Listen
Zusammenfassung
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Unendliche Listen
Zusammenfassung
Erfordern etwas Eingewöhnung
Können intuitiv Probleme Abbilden
Erfordern Bedarfsauswertung
Sebastian Schröder, Philip Chinery
45/46
Unendliche Listen
Fragen?
Unendliche Listen
Einleitung
Eigenschaften
Ausprägungen
Beispiel
Unendliche Bäume
Vielen Dank für die Aufmerksamkeit!
Zusammenfassung
Und vielen Dank an alle Beteiligten (Christoph und Thomas, Prof. Hoffmann, Alex Treptow, Till
Tantau) für die LATEX-Vorlage
Sebastian Schröder, Philip Chinery
46/46
Unendliche Listen
Herunterladen