Algorithmen und Datenstrukturen 1

Modellierung Der T¨ ubinger Parkplatz Das Problem des Handlungsreisenden Eine Formelsprache f¨ ur Musik Algorithmen und Datenstrukturen 1 Robert G...
Author: Peter Buchholz
2 downloads 1 Views 403KB Size
Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Algorithmen und Datenstrukturen 1 Robert Giegerich und Jens Stoye Faculty of Technology Bielefeld University [email protected]

Lecture, U. Bielefeld, Winter 2007/2008

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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¨osungswege und die Schwierigkeiten verschiedenster Art, die sich hier auftun.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Der T¨ubinger Parkplatz

Eine Formelsprache f¨ ur Musik

(nach Klaeren/Sperber)

Auf einem Parkplatz der Uni T¨ ubingen stehen Pkw und Motorr¨ader (ohne Beiwagen). 1 Wir z¨ ahlen p Pkw und m Motorr¨ader. Wie viele R¨ader haben sie insgesamt? L¨ osung: Wir bringen etwas Weltwissen ein – 1 Pkw

= 4 R¨ader

(1)

1 Motorrad

= 2 R¨ader

(2)

= 4p + 2m

(3)

Zahl der R¨ader:

r

Genauer betrachtet ist r eine Funktion von p und m: r (p, m) = 4p + 2m.

(4)

Aufgabe 1 ist damit befriedigend gel¨ost. Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

2

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Wir erfahren, dass auf dem Parkplatz n Fahrzeuge mit insgesamt r R¨adern stehen. Wieviele Pkw bzw. Motorr¨ader stehen da? Spontane Fragen: Kann man das l¨ osen? Ist die L¨osung eindeutig?

Inverses Problem zum vorigen – von r (p, m) sollen wir auf p, m schließen. Das geht (nur) dank zus¨atzlicher Information u ¨ber die Zahl n der Fahrzeuge r

= 4p + 2m

n = p+m

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

(5) (6)

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Wir l¨ osen (6) nach m auf und setzen in (5) ein r

= 4p + 2(n − p)

(7)

und l¨ osen nach p auf r − 2n 2 r − 2n m = n− 2 p =

(8) (9)

Hier m¨ ussten wir eigentlich p(n, r ) = . . . m(n, r ) = . . . schreiben. Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Haben wir nun eine allgemeine L¨osung? F¨ ur

n = 13, r = 46

erhalten wir

p = 10, m = 3 ¨ Jedoch gibt es auch Uberraschungen ...

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Haben wir nun eine allgemeine L¨osung? F¨ ur

n = 13, r = 46

erhalten wir

p = 10, m = 3 ¨ Jedoch gibt es auch Uberraschungen ... n = 3, r =9⇒ p = 1.5 , m = 1.5

halbe Autos und Motorr¨ader?

n = 5, p = −4,

r =2⇒ m=9

neben 9 Motorr¨adern fehlen 4 Pkw?

n = 2, p=3

r = 10 ⇒ m = −1

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

mehr Autos als Fahrzeuge? Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Hier gibt es also halbe Fahrzeuge, negative Motorr¨ader und gelegentlich mehr Pkw als Fahrzeuge insgesamt. Wir m¨ ussen die Verwendung der L¨osung einschr¨anken: n und r sind nat¨ urliche Zahlen r ist gerade 2n ≤ r ≤ 4n Minimale/maximale R¨aderzahl Nur wenn die Eingabe diese Anforderung erf¨ ullt, ist die Anwendung unserer Formeln zul¨assig und das Ergebnis korrekt. Robuste Programme u ufen stets die Anforderungen an die ¨berpr¨ Eingabe, bevor sie damit rechnen.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Das Problem des Handlungsreisenden

Ein Vertreter der Intelligent Design Bewegung will in missionarischer Absicht 12 deutsche Elite-Universit¨aten besuchen. Die Standorte und ihre Entfernungen (Straßenkilometer) sind in Tabelle Dist angegeben, in der folgenden Beispieltour sieht man ihre ungef¨ahre Lage. Aber Vorsicht – Straßenkilometer sind keine Entfernungen in Luftlinie.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Tabelle der Entfernungen

AC Aachen Berlin Bielefeld Bremen Freiburg Hamburg K¨ oln Leipzig M¨ unchen M¨ unster N¨ urnberg T¨ ubingen

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

¨ TU 446 634 492 640 207 668 376 589 220 502 207

Tabelle Dist: Entfernungen in Straßenkilometern

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Rundtour

HB 378

MS

74

HH

Eine Formelsprache f¨ ur Musik

284

119

B

BI

179

150 K

AC

L

70

278 685 N

167 TUE 207 FB Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

220

M Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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¨at oft in dieser Stadt nicht mehr blicken lassen darf).

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Vor¨uberlegungen

Vor¨ uberlegung 1: Die L¨ange einer Rundtour bleibt gleich, wenn wir nur den Start/Zielort ¨andern. Es ist also nicht n¨otig, einen besten Startpunkt zu suchen. Wir k¨ onnen eine Tour ebensogut immer in Aachen oder immer in Bielefeld beginnen lassen.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Vor¨ uberlegung 2: Wieviele verschiedene Rundtouren gibt es allgemein f¨ ur n St¨adte? Zahl der Permutationen p(n) = n ∗ (n − 1) ∗ . . . ∗ 1 = n!(10) Zahl derTouren t(n) = p(n − 1)

(11)

F¨ ur 12 St¨adte t(12) = 39916800

(12)

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Notation

{}, {x1 , x2 , . . .} [], [x1 , x2 , . . .] x : xs X Dist s

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Mengen von Elementen Listen von Elelemten - hier spielen Anordnung und H¨aufigkeit eine Rolle Liste mit Anfangselement x und Restliste xs gegebene Liste von St¨adten Distanztabelle f¨ ur X beliebig gew¨ahlter Startpunkt aus X

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Strategie 1: Ersch¨opfende Suche

Wir berechnen alle Rundtouren ausgehend von Startort s = Bielefeld, bewerten sie und w¨ahlen die k¨ urzeste:

tsp(X ) = argmint {laenge(s : t)|t ∈ perm(X − {s})} (16) argmint bedeutet dasjenige t, das den Ausdruck laenge(t) minimiert.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Strategie 2 : Opportunistische Suche (Greedy) Wir fahren von jedem Ort zum n¨achstgelegenen, der noch nicht besucht wurde. Sei X die Menge der St¨adte 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¨osung des TSP-Problems. Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Exakte versus heuristische L¨osung

Die von tsp berechnente L¨osung ist exakt – wir finden garantiert das Optimum. Der Aufwand ist allerdings hoch. Die von tspgreedy berechnete L¨osung ist heuristisch. Wir erhalten mit wenig Aufwand eine Antwort, aber vermutlich ist dies nicht die k¨ urzeste Rundtour. Eine spannende Frage w¨are, wie oft diese L¨osung wie nahe am Optimum liegt . . .

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Ergebnisse der Strategien F¨ ur 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¨are besser ausgegangen! In Aachen anfangend, h¨atte das opportunistische Verfahren vermutlich eine bessere Tour gefunden. ¨ Die ersch¨opfende Suche wird in den Ubungen implementiert werden.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Absch¨atzung des Rechenaufwands

Wir betrachten die Anzahl der berechnenten Routen, und die Berechnung einer Entfernungssumme f¨ ur n St¨adte: Strategie 1 braucht etwa (n − 1)! ∗ n = n! Rechenschritte. Strategie 2 braucht etwa n2 Rechenschritte.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Erste Begegnung mit dem praktisch Unm¨oglichen 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¨aherungel¨osung (wie Strategie 2). Verfahren mit exponentiellem Aufwand nennt man “nicht praktikabel”. F¨ ur Informatiker sind solche Probleme eine besonders interessante Herausforderung. Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Hegel u¨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¨ onen gleichsam der gedankenlosen Empfindung zu tun macht, hat wenigen oder keinen geistigen Stoff im Bewusstsein vonn¨ oten. Das musikalische Talent k¨ undigt sich darum auch am meisten in sehr fr¨ uher Jugend, bei noch leerem Kopfe und wenig bewegtem Gem¨ ute an und kann beizeiten schon, ehe noch Geist und Leben sich erfahren haben, zu sehr bedeutender H¨ ohe gelangt sein; wie wir denn auch oft genug eine sehr große Virtuosit¨ at in musikalischer Komposition und Vortrage neben bedeutender D¨ urftigkeit des Geistes und Charakters bestehen sehen.” Hegel, Aesthetik, Abschnitt: Das Kunstwerk als Produkt menschlicher T¨ atigkeit (siehe auch http://www.textlog.de/3642-2.html)

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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¨arung setzt. Er verweist darauf, dass, musikalisches Talent vorausgesetzt, wenig weiteres Wissen dazugeh¨ ort, 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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Formeln f¨ur Musik Die Musik ist weitgehend ein formales System aufgrund der Harmoniegesetze. Deshalb gibt es l¨angst eine Programmiersprache f¨ ur Musik - die Notenschrift. Allerdings ist sie eher eine zweidimensionale Bilderschrift und nicht so gut f¨ ur die Behandlung durch Computer geeignet. Wir zeigen, wie man Musikst¨ ucke einfach als Datenstrukturen darstellen kann, in Gestalt einer Formelsprache f¨ ur Musik. Formel = Datenstruktur? Ja genau – das ist das konkrete Material, mit dem man rechnet und auch rechnen l¨asst!

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Wir f¨ uhren Namen ein f¨ ur 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¨ uche, etwa

1/1, 1/2, 1/4, 1/16 usw.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

(21)

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Die kleinsten Musikst¨ ucke 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¨ ur eine beliebige Tonstufe steht, und d f¨ ur eine beliebige Dauer.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Konstruktoren Die Symbole N und P dienen dazu, aus kleineren Komponenten Formeln f¨ ur 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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Verkn¨upfungen von Musikst¨ucken Um aus einzelnen Noten gr¨oßere Musikst¨ ucke machen zu k¨onnen, m¨ ussen wir sie miteinander verkn¨ upfen: Nacheinander sowieso, aber auch gleichzeitig f¨ ur mehrstimmige St¨ ucke. 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¨ ur uns. Etwa so wie Plus(1, Plus(2, 3)) statt 1 + 2 + 3.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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¨ ur * und + die u ¨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¨ ucke. Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Wiederholungszeichen: Konstruktor oder Funktion? Oft werden musikalische Phrasen wiederholt. Wir f¨ uhren den Konstruktor Wdh ein Wdh(m) Musikst¨ uck m in Wiederholungsklammern

(29)

Andereseits kommt dadurch nichts in die Modellwelt, was wir nicht schon schreiben k¨onnen, n¨amlich als m*m. Wir k¨onnen auch einfach statt des Konstruktors Wdh eine “richtige”Funktion definieren: wdh(m) = m*m

(30)

Generell will man nicht unn¨otig viele Konstruktoren einf¨ uhren, um die Modellwelt einfach zu halten. Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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¨ ur das Ge eine Oktave tiefer erfunden. Das ist nat¨ urlich keine gute L¨osung f¨ ur das Problem, dass die Tonstufen sich in jeder Oktave wiederholen. Beachte: Alle Phrasen sind genau einen Takt lang. Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

In einer Strophe werden alle Phrasen wiederholt: strophe = wdh(bruderjakob)*wdh(schlaefstdunoch)

(35)

*wdh(hoerstdunicht)*wdh(dingdingdong ) Wie gut, dass wir die Namen eingef¨ uhrt haben. So behalten wir die ¨ Ubersicht. Mittels der Definition von wdh kann man (wir oder der Computer) die strophe in allen Details ausrechnen.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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¨onnen.

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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

1

Die Formeln k¨onnen beliebig groß sein - eine Formel, die 1MB groß ist, macht dem Computer nichts aus.

2

Zu den Funktionen geh¨oren auch Konstanten als Spezialfall – das sind einfach Funktionen ohne Argument.

3

Enth¨alt eine Formel keine definierten Funktionen, so ist sie schon in Normalform und es gibt nichts Auszurechnen.

4

“Ausrechnen” ist nun genau definiert. Wir d¨ urfen 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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Weiter mit dem Kanon ... Wer auf seinen Einsatz wartet, hat Pausen. Daf¨ ur erlauben wir auch Pausen, die l¨anger 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 libitum(m) = m ∗ ad libitum(m)

(40)

Die 2. Stimme setzt nach zwei Takten Pause ein. Mehrfaches Wiederholen durch mal. n ist die Anzahl, m das zu wiederholende Musikst¨ uck. ad libitum(m) ist ein unendlich langes Musikst¨ uck. Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Vier Stimmen mit verz¨ogertem Einsatz

kanonBJ = ad libitum(strophe)+

(42)

= spaeter (2, ad libidum(strophe))+ = spaeter (4, ad libidum(strophe))+ = spaeter (6, ad libidum(strophe))

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Fazit zur Modellierung durch Formelwelten 1

Auch komplizierte strukturierte Objekte der Realwelt lassen sich gut durch Formeln repr¨asentieren.

2

Wichtig ist hier die geschickte Auswahl der Konstruktoren, bei denen es immer verschiedene M¨oglichkeiten 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¨ ur 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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur Musik

Algorithmusbegriff Ein Algorithmus ist eine Rechenvorschrift, die so genau beschrieben ist, dass sie von einem Automaten ausgef¨ uhrt werden kann. Konsequenz: Das gilt f¨ ur eine Folge von Maschinenbefehlen f¨ ur den Pentium Prozessor ebenso f¨ ur unseren Kanon canonBJ. Der Automat w¨are hier eine Gleichungsanwendungsmaschine (die selbst wieder durch Pentium-Instruktionen realisiert sein kann). Auf die Abstraktionsebene der Beschreibung eines Algorithmus kommt es wesentlich an f¨ ur uns, die Entwickler von Algorithmen, aber nicht f¨ ur den Algorithmusbegriff selbst.

Robert Giegerich und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University

Modellierung

Der T¨ ubinger Parkplatz

Das Problem des Handlungsreisenden

Eine Formelsprache f¨ ur 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¨onnen wir eine solche Formel soweit ausrechnen, wie wir wollen. Dann h¨oren wir damit auf. Vgl. Kapitel 1: Selbst wenn wir unseren Verstand als (Aus)rechner benutzen, haben wir einen Begriff von unserem Tun, und k¨onnen den Rechenprozess beobachten, eventuell abk¨ urzen, 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 und Jens Stoye A&D 1 Vorlesung Winter 2007/2008

Bielefeld University