Modellierung

Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Algorithmen und Datenstrukturen 1
Robert Giegerich
Faculty of Technology
Bielefeld University
[email protected]
Lecture, U. Bielefeld, Winter 2006/2007
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Was ist Informatik
Siehe Text von Kapitel 1
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Technische und Theoretische, Praktische und Angewandte
Informatik
Siehe Text von Kapitel 1
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Kapitel 2 Modellierung
In diesem Kapitel betrachten wir – ohne großen Formalismus –
einige Beispiele zu der zentralen Aufgabe der Informatik: die
Verwandlung von Problemen der realen Welt in Rechenaufgaben.
Wir werfen einen ersten Blick auf die Lösungswege und die
Schwierigkeiten verschiedenster Art, die sich hier auftun.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Der Tübinger Parkplatz
Eine Formelsprache für Musik
(nach Klaeren/Sperber)
Auf einem Parkplatz der Uni Tübingen stehen Pkw und Motorräder
(ohne Beiwagen).
1 Wir zählen p Pkw und m Motorräder.
Wie viele Räder haben sie insgesamt?
Lösung: Wir bringen etwas Weltwissen ein –
1 Pkw
= 4 Räder
(1)
1 Motorrad
= 2 Räder
(2)
= 4p + 2m
(3)
Zahl der Räder:
r
Genauer betrachtet ist r eine Funktion von p und m:
r (p, m) = 4p + 2m.
(4)
Aufgabe 1 ist damit befriedigend gelöst.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
2
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Wir erfahren, dass auf dem Parkplatz n Fahrzeuge mit
insgesamt r Rädern stehen.
Wieviele Pkw bzw. Motorräder stehen da?
Spontane Fragen:
Kann man das lösen?
Ist die Lösung eindeutig?
Inverses Problem zum vorigen – von r (p, m) sollen wir auf
p, m schließen. Das geht (nur) dank zusätzlicher Information
über die Zahl n der Fahrzeuge
r
= 4p + 2m
n = p+m
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
(5)
(6)
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Wir lösen (6) nach m auf und setzen in (5) ein
r
= 4p + 2(n − p)
(7)
und lösen nach p auf
r − 2n
2
r − 2n
m = n−
2
p =
(8)
(9)
Hier müssten wir eigentlich
p(n, r ) = . . .
m(n, r ) = . . .
schreiben.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Haben wir nun eine allgemeine Lösung?
Für
n = 13, r = 46
erhalten wir
p = 10, m = 3
Jedoch gibt es auch Überraschungen ...
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Haben wir nun eine allgemeine Lösung?
Für
n = 13, r = 46
erhalten wir
p = 10, m = 3
Jedoch gibt es auch Überraschungen ...
n = 3,
r =9⇒
p = 1.5 , m = 1.5
n = 5,
p = −4,
=2⇒
m=9
n = 2,
p=3
r = 10 ⇒
m = −1
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
halbe Autos und Motorräder?
neben 9 Motorrädern fehlen 4 Pkw?
mehr Autos als Fahrzeuge?
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Hier gibt es also halbe Fahrzeuge, negative Motorräder und
gelegentlich mehr Pkw als Fahrzeuge insgesamt.
Wir müssen die Verwendung der Lösung einschränken:
n und r sind natürliche Zahlen
r ist gerade
2n ≤ r ≤ 4n
Minimale/maximale Räderzahl
Nur wenn die Eingabe diese Anforderung erfüllt, ist die Anwendung
unserer Formeln zulässig und das Ergebnis korrekt.
Robuste Programme überprüfen stets die Anforderungen an die
Eingabe, bevor sie damit rechnen.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Das Problem des Handlungsreisenden
Ein Vertreter der Intelligent Design Bewegung will in
missionarischer Absicht 12 deutsche Elite-Universitäten besuchen.
Die Standorte und ihre Entfernungen (Straßenkilometer) sind in
Tabelle Dist angegeben, in der folgenden Beispieltour sieht man
ihre ungefähre Lage. Aber Vorsicht – Straßenkilometer sind keine
Entfernungen in Luftlinie.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Tabelle der Entfernungen
AC
Aachen
Berlin
Bielefeld
Bremen
Freiburg
Hamburg
Köln
Leipzig
München
Münster
Nürnberg
Tübingen
B
633
BI
257
390
HB
378
412
175
FB
505
819
685
730
HH
488
284
262
119
759
K
70
569
191
312
435
422
L
585
179
437
362
659
391
515
M
648
584
598
753
412
782
578
425
MS
211
466
74
171
572
271
150
438
688
N
475
437
434
580
391
609
405
278
167
506
TÜ
446
634
492
640
207
668
376
589
220
502
207
Tabelle Dist: Entfernungen in Straßenkilometern
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Rundtour
HB
378
MS
74
HH
Eine Formelsprache für Musik
284
119
B
BI
179
150
K
AC
L
70
278
685
N
167
TUE
207
FB
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
220
M
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Die Aufgabe
Sein Ziel ist: Eine Rundtour mit beliebigem Ausgangspunkt und
minimaler Gesamtstrecke. Jede Stadt darf nur einmal besucht
werden (weil der Vertreter sich nach seinem Auftritt an einer
Universität oft in dieser Stadt nicht mehr blicken lassen darf).
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Vorüberlegungen
Vorüberlegung 1:
Die Länge einer Rundtour bleibt gleich, wenn wir nur den
Start/Zielort ändern. Es ist also nicht nötig, einen besten
Startpunkt zu suchen.
Wir können eine Tour ebensogut immer in Aachen oder immer in
Bielefeld beginnen lassen.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Vorüberlegung 2:
Wieviele verschiedene Rundtouren gibt es allgemein für n Städte?
Zahl der Permutationen p(n) = n ∗ (n − 1) ∗ . . . ∗ 1 = n!(10)
Zahl derTouren t(n) = p(n − 1)
(11)
Für 12 Städte t(12) = 39916800
(12)
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Notation
{}, {x1 , x2 , . . .}
[], [x1 , x2 , . . .]
x : xs
X
Dist
s
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Mengen von Elementen
Listen von Elelemten - hier spielen Anordnung und
Häufigkeit eine Rolle
Liste mit Anfangselement x und Restliste xs
gegebene Liste von Städten
Distanztabelle für X
beliebig gewählter Startpunkt aus X
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Berechnung von Permutationen einer Menge
Die Permutationen einer Menge sind eine Menge von Listen:
perm {}
= {[ ]}
perm(X ) = {x : xs|x ∈ X , xs ∈ perm(X − {x})}
(13)
(14)
for X 6= {}
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Bewertung einer Rundtour
n−1
X
laenge [x1 , ..., xn ] = Dist(xn , x1 ) +
Dist(xi , xi+1 ) (15)
i=1
Die Gesamtstrecke ist einfach die Summe der einzelnen Abschnitte.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Strategie 1: Erschöpfende Suche
Wir berechnen alle Rundtouren ausgehend von Startort s =
Bielefeld, bewerten sie und wählen die kürzeste:
tsp(X ) = argmint {laenge(s : t)|t ∈ perm(X − {s})} (16)
argmint bedeutet dasjenige t, das den Ausdruck laenge(t)
minimiert.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Strategie 2 : Opportunistische Suche (Greedy)
Wir fahren von jedem Ort zum nächstgelegenen, der noch nicht
besucht wurde. Sei X die Menge der Städte und x1 , x2 , ... unsere
Route. Wir definieren einfach
greedy(a, {}) = [a]
(17)
greedy(a, X ) = a : greedy (z, X − {z})
(18)
wobei z = argminx {Dist(a, x)|x ∈ X }
tspgreedy (X ) = greedy(s, X − {s})
(19)
Hier bedeutet argminx dasjenige x, das den Ausdruck Dist(s, x)
minimiert. tspgreedy berechnent die opportunistische Lösung des
TSP-Problems.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Exakte versus heuristische Lösung
Die von tsp berechnente Lösung ist exakt – wir finden garantiert
das Optimum. Der Aufwand ist allerdings hoch.
Die von tspgreedy berechnete Lösung ist heuristisch. Wir erhalten
mit wenig Aufwand eine Antwort, aber vermutlich ist dies nicht die
kürzeste Rundtour.
Eine spannende Frage wäre, wie oft diese Lösung wie nahe am
Optimum liegt . . .
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Ergebnisse der Strategien
Für unser Beispiel erhalten wir:
Die opportunistische Strategie ab Bielefeld liefert die in der
Karte eingetragene Rundtour. Sie ist 2690 km lang und nicht
optimal.
Von Bielefeld erst nach Bremen, das wäre besser ausgegangen!
In Aachen anfangend, hätte das opportunistische Verfahren
vermutlich eine bessere Tour gefunden.
Die erschöpfende Suche wird in den Übungen implementiert
werden.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Abschätzung des Rechenaufwands
Wir betrachten die Anzahl der berechnenten Routen, und die
Berechnung einer Entfernungssumme für n Städte:
Strategie 1 braucht etwa (n − 1)! ∗ n = n! Rechenschritte.
Strategie 2 braucht etwa n2 Rechenschritte.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Erste Begegnung mit dem praktisch Unmöglichen
Unser Problem ist unter dem Namen “Traveling Salesman
Problem” (TSP) bekannt; es ist eines der meist untersuchten
Probleme der Informatik.
Man kennt keinen Algorithmus, der das optimale Ergebnis
mit einer (in n) polynomialen Anzahl von Rechenschritten
bestimmt.
Die bekannten Algorithmen haben entweder exponentiellen
Aufwand (wie Strategie 1), oder finden nur eine
Näherungelösung (wie Strategie 2).
Verfahren mit exponentiellem Aufwand nennt man “nicht
praktikabel”.
Für Informatiker sind solche Probleme eine besonders
interessante Herausforderung.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Hegel über die Musik
“Zwar bedarf in dieser Beziehung die eine Kunst mehr als die andere des
Bewusstseins und der Erkenntnis solchen Gehaltes. Die Musik z.B., welche es
sich nur mit der ganz unbestimmten Bewegung des geistigen Innern, mit dem
Tönen gleichsam der gedankenlosen Empfindung zu tun macht, hat wenigen
oder keinen geistigen Stoff im Bewusstsein vonnöten. Das musikalische Talent
kündigt sich darum auch am meisten in sehr früher Jugend, bei noch leerem
Kopfe und wenig bewegtem Gemüte an und kann beizeiten schon, ehe noch
Geist und Leben sich erfahren haben, zu sehr bedeutender Höhe gelangt sein;
wie wir denn auch oft genug eine sehr große Virtuosität in musikalischer
Komposition und Vortrage neben bedeutender Dürftigkeit des Geistes und
Charakters bestehen sehen.”
Hegel, Aesthetik, Abschnitt: Das Kunstwerk als Produkt menschlicher
Tätigkeit (siehe auch http://www.textlog.de/3642-2.html)
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Musik als formales System
Hegel zeichnet sich hier als Wissenschaftler (und nicht als
Musikliebhaber) aus, indem er an die Stelle des begriffslosen Staunens
(“Wunderkind”) ein Moment der Erklärung setzt.
Er verweist darauf, dass, musikalisches Talent vorausgesetzt, wenig
weiteres Wissen dazugehört, um dieses Talent zu entwickeln.
Ganz im Unterschied zu einem Physiker oder Schriftsteller . . .
Wir machen uns den formalen Charakter der Musik zu Nutze. Die
Modellierung haben hier schon andere erledigt . . .
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Formeln für Musik
Die Musik ist weitgehend ein formales System aufgrund der
Harmoniegesetze. Deshalb gibt es längst eine Programmiersprache
für Musik - die Notenschrift. Allerdings ist sie eher eine
zweidimensionale Bilderschrift und nicht so gut für die Behandlung
durch Computer geeignet. Wir zeigen, wie man Musikstücke
einfach als Datenstrukturen darstellen kann, in Gestalt einer
Formelsprache für Musik.
Formel = Datenstruktur? Ja genau – das ist das konkrete
Material, mit dem man rechnet und auch rechnen lässt!
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Wir führen Namen ein für die 12 Tonstufen der Tonleiter:
Ce, Cis, De, Dis, Eh, Ff , Fis, Ge, Gis, Ah, Ais, Ha;
(20)
Jeder Ton und damit jede Note hat eine Tonstufe und eine Dauer.
Die Dauer messen wir in Taktanteilen, und schreiben sie als
Brüche, etwa
1/1, 1/2, 1/4, 1/16 usw.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
(21)
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Die kleinsten Musikstücke sind einzelne Noten und Pausen. Wir
schreiben Noten als
N(Ce, 1/2), N(Fis, 1/16), allgemein N(t, d)
(22)
und Pausen als
P(1/1), P(1/2), P(1/4), allgemein P(d)
(23)
worin t für eine beliebige Tonstufe steht, und d für eine beliebige
Dauer.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Konstruktoren
Die Symbole N und P dienen dazu, aus kleineren Komponenten
Formeln für Noten und Pausen aufzubauen. Man kann sie als
Funktionen sehen, die gegeben Tonstufe t und Dauer d, die Note
N(t, d) ergeben. Deshalb werden sie wie Funktionen geschrieben Name vorne und Klammer um die Argumente. Andererseits
berechnen diese Funktionen nicht wirklich etwas - diese von ihnen
gebildeten Formeln sind ihr eigenes Ergebnis, mithin
Daten(strukturen). Deshalb nennt man solche Funktionen
Konstruktoren.
Konvention: Konstruktoren fangen mit Großbuchstaben an, andere
“richtige” Funktionen mit Kleinbuchstaben.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Verknüpfungen von Musikstücken
Um aus einzelnen Noten größere Musikstücke machen zu können,
müssen wir sie miteinander verknüpfen: Nacheinander sowieso,
aber auch gleichzeitig für mehrstimmige Stücke. Wir verwenden
Konstruktoren Dann und Zugleich. Hier eine Folge von drei Noten,
und ein C-Dur-Dreiklang:
Dann(N(Ce, 1/4), Dann(N(De, 1/4), N(Eh, 1/4)))
(24)
Zugleich(N(Ce, 1/4), Zugleich(N(Eh, 1/4), N(Ge, 1/4)))
(25)
Ziemlich unleserlich – für uns. Etwa so wie Plus(1, Plus(2, 3))
statt 1 + 2 + 3.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Infix-Schreibweise
Wir benennen Dann um in * und Zugleich in + und erlauben uns,
sie in Infix-Schreibweise zu benutzen:
N(Ce, 1/4)*N(De, 1/4)*N(Eh, 1/4)
(26)
N(Ce, 1/4)+N(Eh, 1/4)+N(Ge, 1/4)
(27)
Dabei sollen für * und + die üblichen Klammer-Regeln gelten (a la
Punkt vor Strichrechnung), zum Beispiel
x*y +z = (x*y )+z
(28)
Darin sind x, y , z beliebige Musikstücke.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Wiederholungszeichen: Konstruktor oder Funktion?
Oft werden musikalische Phrasen wiederholt. Wir führen den
Konstruktor Wdh ein
Wdh(m) Musikstück m in Wiederholungsklammern
(29)
Andereseits kommt dadurch nichts in die Modellwelt, was wir nicht
schon schreiben können, nämlich als m*m. Wir können auch
einfach statt des Konstruktors Wdh eine “richtige”Funktion
definieren:
wdh(m) = m*m
(30)
Generell will man nicht unnötig viele Konstruktoren einführen, um
die Modellwelt einfach zu halten.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Bruder Jakob
Wir schreiben nun einen Kanon auf. Wir fangen mit den einzelnen
Phrasen an, denen wir beliebige, aber “sprechende” Namen geben:
bruderjakob
=
N(Ce, 1/4)*N(De, 1/4)*N(Eh, 1/4)
(31)
*N(Ce, 1/4)
schlaefstdunoch
=
N(Eh, 1/4)*N(Ff , 1/4)*N(Ge, 1/2)
(32)
hoerstdunicht
=
N(Ge, 1/8)*N(Ah, 1/8)*N(Ge, 1/8)
(33)
=
*N(Ff , 1/8)*N(Eh, 1/4)*N(Ce, 1/4)
=
N(Ce, 1/4)*N(Gg , 1/4)*N(Ce, 1/2)
dingdingdong
(34)
Dabei haben wir einen neuen Tonstufenkonstruktor Gg für das Ge
eine Oktave tiefer erfunden. Das ist natürlich keine gute Lösung für
das Problem, dass die Tonstufen sich in jeder Oktave wiederholen.
Beachte: Alle Phrasen sind genau einen Takt lang.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
In einer Strophe werden alle Phrasen wiederholt:
(35)
strophe = wdh(bruderjakob)*wdh(schlaefstdunoch)
*wdh(hoerstdunicht)*wdh(dingdingdong )
Wie gut, dass wir die Namen eingeführt haben. So behalten wir
die Übersicht. Mittels der Definition von wdh kann man (wir oder
der Computer) die strophe in allen Details ausrechnen.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Was heißt Rechnen in der Formelwelt?
1
Wir haben Daten, dargestellt durch Konstruktorformeln.
2
Wir haben Funktionen, definiert durch Gleichungen.
3
Wir haben gemischte Formeln (aus Funktionen und
Konstruktoren), die ausgerechnet werden können.
4
Ein Rechenschritt ist das Anwenden einer definierenden
Gleichung von links nach rechts, irgendwo in der Formel.
5
Ausrechnen einer gemischten Formel heißt, so lange rechnen,
bis keine Gleichung mehr anwendbar ist. Dann ist die Formel
in Normalform.
Dazu ein paar Anmerkungen:
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
1
Die Formeln können beliebig groß sein - eine Formel, die 1MB
groß ist, macht dem Computer nichts aus.
2
Zu den Funktionen gehören auch Konstanten als Spezialfall –
das sind einfach Funktionen ohne Argument.
3
Enthält eine Formel keine definierten Funktionen, so ist sie
schon in Normalform und es gibt nichts Auszurechnen.
4
“Ausrechnen” ist nun genau definiert. Wir dürfen beim
Ausrechnen nichts anderes verwenden als die Gleichungen,
und auch die nur von links nach rechts. Wir werden auch
schon mal andere Rechenschritte machen, aber der Rechner
darf das nicht. Eigentlich ist er ein Aus-rechner.
5
Manchmal endet das Ausrechnen bei einer gemischten Formel,
wenn keine der gegebenen Gleichungen passt. Normalerweise
ist das ein Fehler.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Weiter mit dem Kanon ...
Wer auf seinen Einsatz wartet, hat Pausen. Dafür erlauben wir
auch Pausen, die länger sind als ein Takt.
spaeter (d, m) = P(d)*m
stimme2 = spaeter (2/1, strophe)
mal(1, m) = m
(36)
(37)
(38)
mal(n + 1, m) = m ∗ mal(n, m)
(39)
ad libidum(m) = m ∗ ad libidum(m)
(40)
Die 2. Stimme setzt nach zwei Takten Pause ein.
Mehrfaches Wiederholen durch mal. n ist die Anzahl, m das zu
wiederholende Musikstück.
ad libidum(m) ist ein unendlich langes Musikstück.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Modellwelt versus modellierte Welt
Aufgabe: Beweise, dass in der Formelwelt gilt
mal(4, m) = wdh(wdh(m))
(41)
Versuch 1 (Wirkliche Welt)
mal(4, m) ist vierfache Wiederholung von m, wdh(wdh(m)) ist
einfache Wiederholung des einfach wiederholten m.
4 = 2 ∗ 2, also gilt die Aussage.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Modellwelt versus modellierte Welt
Aufgabe: Beweise, dass in der Formelwelt gilt
mal(4, m) = wdh(wdh(m))
(41)
Versuch 1 (Wirkliche Welt)
mal(4, m) ist vierfache Wiederholung von m, wdh(wdh(m)) ist
einfache Wiederholung des einfach wiederholten m.
4 = 2 ∗ 2, also gilt die Aussage.
Versuch 2 (Modellwelt)
Wir rechnen aus:
mal(4, m) ⇒ m ∗ mal(3, m) ⇒ m ∗ (m ∗ mal(2, m)) ⇒
m ∗ (m ∗ (m ∗ mal(1, m)) = m ∗ (m ∗ (m ∗ m))
wdh(wdh(m)) ⇒ wdh(m ∗ m) ⇒ (m ∗ m) ∗ (m ∗ m)
Die beiden Ergebnisse bedeuten das gleiche, sind aber nicht (als
Formel) gleich!
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Vier Stimmen mit verzögertem Einsatz
kanonBJ = ad libidum(strophe)+
(42)
= spaeter (2, ad libidum(strophe))+
= spaeter (4, ad libidum(strophe))+
= spaeter (6, ad libidum(strophe))
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Fazit zur Modellierung durch Formelwelten
1
Auch komplizierte strukturierte Objekte der Realwelt lassen
sich gut durch Formeln repräsentieren.
2
Wichtig ist hier die geschickte Auswahl der Konstruktoren, bei
denen es immer verschiedene Möglichkeiten gibt
3
Im Idealfall existiert eine bijektive Abbildung zwischen
Konstruktorformeln und Realweltobjekten.
4
Der Idealfall ist selten.
5
In der Formelwelt gelten erst einmal nur die Gesetze, die durch
die Gleichungen für die definierten Funktionen gegeben sind.
6
Ob das Modell (die Formelwelt mit ihren Funktionen ) weitere
Eigenschaften der realen Welt korrekt wiederspiegelt, muss
bewiesen werden.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Algorithmusbegriff
Ein Algorithmus ist eine Rechenvorschrift, die so genau beschrieben
ist, dass sie von einem Automaten ausgeführt werden kann.
Konsequenz:
Das gilt für eine Folge von Maschinenbefehlen für den Pentium
Prozessor ebenso für unseren Kanon canonBJ. Der Automat wäre
hier eine Gleichungsanwendungsmaschine (die selbst wieder durch
Pentium-Instruktionen realisiert sein kann).
Auf die Abstraktionsebene der Beschreibung eines Algorithmus
kommt es wesentlich an für uns, die Entwickler von Algorithmen,
aber nicht für den Algorithmusbegriff selbst.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University
Modellierung
Der Tübinger Parkplatz
Das Problem des Handlungsreisenden
Eine Formelsprache für Musik
Erste Begegnung mit der Unendlichkeit
Es ist einfach, Formeln zu definieren, die unendlich groß sind,
wie etwa ad libidum(strophe).
Mit den gegebenen Definitionen können wir eine solche Formel
soweit ausrechnen, wie wir wollen. Dann hören wir damit auf.
Vgl. Kapitel 1: Selbst wenn wir unseren Verstand als
(Aus)rechner benutzen, haben wir einen Begriff von unserem
Tun, und können den Rechenprozess beobachten, eventuell
abkürzen, oder innehalten.
Der Rechner weiss nicht, dass er rechnet. Verstricken wir ihn
in eine unendliche Berechnung, muss diese von aussen
abgebrochen werden.
Unentscheidbarkeit des Halteproblems: Es gibt keinen
allgemeinen Algorithmus, der vorab feststellt, ob eine
Rechnung terminiert oder in sich ins Unendliche fortsetzt.
Robert Giegerich
A&D 1 Vorlesung Winter 2006/2007
Bielefeld University