Tagebuch und Materialien zur Vorlesung


Theoretische Informatik 3

Wintersemester 2007/08





Die Ergebnisse der Klausur vom 24. September 2008
werden am Mittwoch, den 15. Oktober 2008 ausgehängt!
Sie sind auch über folgenden link zugänglich:


Klausurergebnis H08

Termin für Einsichtnahme: wird noch bekanntgegeben





Wer einen Vorgeschmack auf die Vorlesung haben möchte, findet hier drei appetizer.


Themen

Folien

Lesen! Links!

15. Oktober:

Organisatorisches zu der Vorlesung und den Übungen

Anmerkungen zur Geschichte des Rechnens und der Arithmetik

Multiplikation: Schulmethode, russische Bauernmultiplikation, Karatsuba-Methode

Einige Bilder zu Fouriertransformation und Bildverarbeitung

Abacus und Al-Khwarizmi

Multiplikation an Beispielen

Leistungsvergleich von Multiplikationsmethoden

Schnelle Multiplikation (Karatsuba und FFT) im Bild

Was Sie schon immer über Zahlen, Zahldarstellungen, Zahlsysteme wissen wollten, finden Sie in dem Buch:

Universalgeschichte der Zahlen
von Georges Ifrah

18. Oktober:

Thema: How Fast Can We Multiply?

Multiplikation im engeren und im weiteren Sinne

Matrizenring

Polynomring, Multiplikation mittels Interpolation

Funktionenring, Faltung mittels Fouriertransformation


Homepage von Don Knuth


The Art of Computer Programming

22. Oktober:

Multiplikation mittels Faktorisierung

Boolescher Ring: Durchschnitt als Multiplikation

Beispiel: Durchschnitt regulärer Sprachen

Multiplikation im weiteren Sinne: Assoziative Operationen, Beispiele, Gegenbeispiele

Transformationen und Permutationen

Notizen zu Transformationen und Permutationen

Permutationen von 4 Elementen


ergänzt am 25.10. (20:20h)

25. Oktober:

Bedeutung der Permutationen: Sortieren, Routen, Algebra,..., Determinante und Permanente, Komplexitätsklasse #P

Komposition, Zykeldarstellung, Produkte von Transpositionen, Produkte von Transpositionen benachbarter Elemente, Coxeter Relationen

Inversionen und Inversionsvektor


Inversionen von Permutationen


Maple-files zu Inversionen


29. Oktober:

Binäre Bäume und assoziative Operationen,
Euler-Segner-Catalan-Zahlen,
asymptotisches Wachstum
lineare Codierung von Binäumen
Lukasiewicz- und Dyck-Sprache
Kosten assoziativer Operationen
Beispiel: optimale Multiplikation von Matrizen



Binäre Bäume



Ein Blick in die Welt der Catalan-Zahlen
hier

5. November:

Beweis der Anzahlformel für Binärbäume,
Optimale Berechnung von assoziativen Produkten, Dynamische Programmierung,
Ergänzungen zu Permutationen: gerade und ungerade Permutationen
Extra: Permutationsgruppen zum Anfassen

Platonische Körper (zum Einstieg)

Zur Dynamischen Programmierung: Cormen, Leiserson, Rivest, Stein,
Introduction to Algorithms, Kapitel 15.
Abschnitt 15.2 behandelt das Problem Matrix-chain multiplication

8. November:

Berechnung von assoziativen Produkten: uniforme und logarithmische Kostenmasse
Wichtiger Spezialfall: Exponentiation
Vergleich von Algorithmen zur Berechnung der Fibonacci-Zahlen


Exponentiation


Fibonacci-Algorithmen

12. November:

Exponentiation: Iteration von Funktionen,
rho-Methode: Bestimmung von Bahnlänge, Periode, Vorperiode mittels cycle detection (Floyd),
Erwartete Bahnlänge, Geburtstagsparadoxon


cycle detection und Pollards rho-Methode zur Faktorisierung


Webseite zur Pollard-Methode

15. November:

Primtest und Faktorisierung in Beziehung zu den Komplexitätsklassen P und NP, zur Geschichte des P-vs-NP-Problems

Pollards rho-Methode zur Faktorisierung ganzer Zahlen



cycle detection und Pollards rho-Methode zur Faktorisierung



Primes in NP, Primes in P


Fermat-Zahlen

Webseite zu Fermat-Zahlen

19. November:

Bahnen unter bijektiven Transformationen,
Ordnung eines Elements in einer Gruppe,
zyklische Gruppen,
diskreter Logarithmus,
Bedeutung der Ordnung für das Faktorisieren,
Ordnung, Faktorisieren und der Quantencomputer





Beispiele hierzu im Skriptum!




22. November:

divide-and-conquer-Algorithmen
Beispiele, Analyse
Master-Theorem für asymptotisches Verhalten der Lösungen von divide-and-conquer Rekursionen
Beweis des Master-Theorems

Karatsuba/Strassen (pdf)
Folien SS03/04 (pdf)
Ausführlicher Text (pdf)

Heun GA Kap. 2.5
CLR Kap 4
Sedgewick/Flajolet
Heun GA Kap. 7.6 und 7.8
CLR Kap 31
Ottmann

Schöning, Algorithmik, Kap. 1.9

In der Woche vom 26.-30. November finden nicht alle Übungen wie geplant statt. Teilnehmer, deren Übung nicht stattfindet, sollten diesemal eine andere Gruppe aufsuchen – am besten eine zum gleichen Termin stattfindende Gruppe.

folgende Gruppen finden in dieser Woche nicht statt:

Mi 10-12 (König)
Do 12-14 (König)
Fr 8-10 (Schneider)
Fr 12-14 (Schneider)

folgende Gruppen finden statt:

Mi 12-14 (Freundl)
Do 12-14 (Schneider statt Freundl)
Fr 8-10 (Forster)
Fr 12-14 (Forster)

ab 3. Dezember wieder normaler Übungsbetrieb



26. November

typische Fälle und Beispiele zum Master-Theorem für Divide-and-conquer-Rekursionen,
Divisionseigenschaft für den Ring der ganzen Zahlen, Teilbarkeit, Primzahlen, grösster gemeinsamer Teiler, Untergruppen von Z, euklidischer Algorithmus

Arithmetik (pdf)

Heun GA Kap 7.1
CLR Kap. 33
Knuth TAOCP, vol. 2, Kap. 4.5

29. November

Komplexitätsanalyse des euklidischen Algorithmus,
Kettenbruchalgorithmus,
Berechnung der Bezout-Koeffizienten: erweiterter euklidische Algorithmus,
geometrische Deutung: Lösung ganzzahliger linearer Gleichungen


zu größten gemeinsamen Teiler

zu Euklids Algorithmus

zum Kettenbruchalgorithmus

ganzzahlige (diophantische) Gleichungen

3. Dezember

Ergänzungen zu Kettenbrüchen,
binärer euklidische Algorithmus,
Restklassenringe mod n,
Einheitengruppe,
Eulers phi-Funktion,
Sätze von Lagrange, Fermat, Euler

Restklassenringe (pdf)

Heun GA Kap. 7.2
CLR Kap. 33
GKP, Kap 4, insbes. 4.6 und 4.9
Aigner, Kap. 12
Für weitere Informationen zur Arithmetik der Restklassenringe (worksheets!)
siehe " Weitere Materialien und Informationen " (unten)

6. Dezember

Sätze von Lagrange, Fermat, Euler,
Halsbänder - eine kombinatorische Version von Fermats Theorem,
Homomorphieprinzip für Ringe,
chinesischer Restesatz

Modulare Arithmetik
 

Heun, GA Kap. 7.2
CLR Kap. 33
Knuth, TAOCP vol 2, Kap. 4.3.2
Für weitere Informationen zur modularen Arithmetik
siehe " Weitere Materialien und Informationen " (unten)

10. Dezember

modulare Arithmetik,
Anwendungen


siehe 6. Dezember

13. Dezember

CRT für nicht-teilerfremde Moduln,
Effizientes Entscheiden (P) und Verifizieren (NP),
P versus NP, NP versus co-NP,
Zertifikate für Primzahlen,
Kriterium von Lucas,
Primes in NP (Pratt)

Primes in NP


PNP-Folien (pdf)
PNP-Vortrag (pdf)

CLR Kap. 36
Heun GA Kap. 6.2

Garey/Johnson: Computers and Intractability
siehe unten

"Weitere Materialien und Informationen " und die Literaturangaben in den Folien

17. Dezember

Primzahltests, insbesondere Miller-Rabin,
Probabilistische Komplexitätsklassen

Primzahltests (pdf)

MR-test in Maple (pdf)

Probabilistische Komplexitätsklassen (ps)

Heun GA, Kap. 7.3
CLR Kap. 33.8

Für weitere Informationen zu Primzahlen und Primzahltests siehe
"Weitere Materialien und Informationen " (unten)

20. Dezember

Video-Vorführung im H4
ab 16:oo Uhr

20. Dezember

Video-Vorführung im H4
ab 16:00 Uhr

20. Dezember

Video-Vorführung im H4
ab 16:00 Uhr

7. Januar

Testen von Matrizenprodukten (Freivalds),
Münzwurf,
Fehlerwahrscheinlichkeit und Iteration,
Binomialverteilung,
Schema für probabilistische Algorithmen

siehe Notizen zur Vorlesung

Binomialverteilung grafisch (pdf)

Fehlerwahrscheinlichkeit (err) (pdf)

10. Januar

Probabilistische Komplexitätsklassen



Verschlüsselung durch Exponentiation,
public-key Kryptografie,
RSA-Kryptosystem

RSA-Kryptosystem (pdf)
RSA-576 (pdf)
RSA-640 (RSA)
RSA-640 (Mathworld)

CLR, Kap. 33.7 (u.v.a.m)
Heun, GA Kap. 7.4

14. Januar

Historisches zu RSA,

Weitere Anwendungen der "Schnellen Exponentiation" in kryptografischen Protokollen,
Kryptografie und Komplexität: Einwegfunktionen

Exponentiation (ps)

Talbot/Welsh: Complexity and Cryptography, Cambridge UP, 2006;
Rothe: Complexity Theory and Cryptology, Springer-Verlag, 2007;
Yan: Cryptanalytic Attacks on RSA, Springer-Verlag, 2008.

17. Januar

Einwegfunktionen und Komplexität,
Falltüreigenschaft von RSA,
RSA und Faktorisierung,
Zur Person: Joseph Fourier (1768-1830)

siehe Skript


21. Januar

Fouriertransformation: Funktionen im Orts- und Frequenzbereich
Physikalisches: Welle-Teilchen-Dualismus und Unschärferelation
Faltungsformel der Fouriertransformation
Faltung und Filterung: Beispiele aus der Bildverarbeitung
Polynome: Koeffizientendarstellung und Wertedarstellung
Auswertung und Interpolation
Multiplikation von Polynomen mittels Auswertung und Interpolation

Fouriertransformation


CLR, Kap 32
Heun, GA Kap. 7.5

Lipson, Elements of Algebra and Algebraic Computing
weitere Texte und Materialien siehe unten:
"Weitere Materialien und Informationen "

24. Januar

Die Determinante der Vandermonde-Matrix (Beweis)
Auswertung und Interpolation
Multiplikation von Polynomen mittels Auswertung und Interpolation
Komplexe Einheitswurzeln
Diskrete Fouriertransformation (DFT)
Beispiele


Polynommultiplikation mittels DFT (pdf
)
Maple-worksheet

FFT mit Maple (pdf)
Maple worksheet

Verrauschtes Signal


CLR, Kap 32
Heun, GA Kap. 7.5
Lipson, Elements of Algebra and Algebraic Computing
weitere Texte und Materialien siehe unten:
"Weitere Materialien und Informationen "

28. Januar

Schnelle Fouriertransformation (FFT)
Komplexität der FFT
Schnelle Multiplikation von Polynomen


Ausführlicher Text zur FFT
fourier (pdf)

Schnelle Multiplikation (Karatsuba und FFT) im Bild



CLR, Kap 32
Heun, GA Kap. 7.5
Lipson, Elements of Algebra and Algebraic Computing
weitere Texte und Materialien siehe unten:
"Weitere Materialien und Informationen "

31. Januar

Schnelle Multiplikation von ganzen Zahlen mittels FFT: der "three-primes"-Algorithmus

DFT als modulare Arithmetik mit Polynomen


Lipson, Elements of Algebra and Algebraic Computing

v.z. Gathen, Gerhard, Modern Computer Algebra

4. Februar

keine Vorlesung


7. Februar

Fragestunde



Notizen (pdf) zur Vorlesung,
Version vom 4. Februar 2008 (241 Seiten)


Ich bitte ausdrücklich um Benachrichtigung und Rückfragen, falls in den Texten und Folien zur Vorlesung Unklarheiten, Fehler usw. auftauchen.





Übungsblätter, weitere Aufgaben, Klausuren

Erstes Übungsblatt

16. Oktober 2007


Zweites Übungsblatt

24. Oktober 2007


Drittes Übungsblatt

1. November 2007


Viertes Übungsblatt

8. November 2007


Fünftes Übungsblatt

15. November 2007

korr. 19.11.

Sechstes Übungsblatt

22. November 2007


Siebtes Übungsblatt

27. November 2007


Achtes Übungsblatt

6.Dezember 2007


Neuntes Übungsblatt

11.Dezember 2007


Zehntes Übungsblatt

7. Januar 2007


Elftes Übungsblatt

15. Januar 2007


Zwöftes Übungsblatt

24. Januar 2007





Klausuren Theoretische Informatik


Herbst 2002

H02 (pdf)

Frühjahr 2003

F03 (pdf)

Herbst 2003

H03 (pdf)

Frühjahr 2004

F04 (pdf)

Herbst 2004

H04 (pdf)

Frühjahr 2005

F05 (pdf)

Herbst 2005

H05 (pdf)

Frühjahr 2006

F06 (pdf)

Herbst 2006

H06 (pdf)

Frühjahr 2007

F07 (pdf)

Herbst 2007

H07 (pdf)

Frühjahr 2008

F08 (pdf)

Herbst 2008

F08 (pdf)

Sammlung weiterer Aufgaben

sammlung (pdf)




Weitere Materialien und Informationen


Buch Grundlegende Algorithmen von V. Heun (2. Auflage)

heunvieweg

Beweis der Formel von de Moivre für die Fibonacci-Zahlen

demoivre.pdf

Folien zu Don Knuth

knuth.pdf

Lösung der Rekursionsgleichung für Mergesort

mergerec2.pdf

Ausführlicher Text zu Quicksort :
Ideen, Programme, Daten, average-case Analyse mittels Lösen einer Differentialgleichung

quick.pdf

Analytische Untersuchung zum Begriff des Splitters

splitter.pdf

Quicksort und Prioritätsbäume

prioritaet.pdf

Folien Claude Shannon

shannon.pdf

Entscheidungsbäume für drei Sortierverfahren

3elemsort.jpg
insertionsort.jpg
heapsort.jpg

Ein homepage für die Entropie

Entropie

Ein homepage für Divide-and-Conquer

Divide-and-Conquer

Informationen zum Thema (Integer-)Arithmetik

a) Grundlegende Eigenschaften der ganzen Zahlen 
b) Basisalgorithmen der Integer-Arithmetik
c) Euklidischer Algorithmus, Kettenbruchentwicklung
d) Chinesischer Restesatz und Modulare Arithmetik

a

pdf

b

pdf

c

pdf

d

pdf


Weitere Informationen und Maple-worksheets zum Thema (Integer-)Arithmetik

a) Eigenschaften der Restklassenringe 
b) Determinanten mittels modularer Arithmetik
c) Euklidischer Algorithmus (M. Monagan)
d) Fermat's Theorem (J. Cosgrave)
e) Primzahltests (M. May)

a

mws

pdf

b

mws

pdf

c

mws

pdf

d

mws

pdf

e

mws

pdf


Im Zusammenhang mit Primzahltests und der Verifikation der Primheit ist das Verfahren von V. Pratt von Interesse

pratt (ps)

Ausfuehrlicher Text zur Diskreten Fouriertransformation

fourier (ps)
fourier (pdf)

Kurzfassung des Textes (i.w. nur die Formeln)

FFT (ps)
FFT (pdf)

Maple worksheet zur Diskreten Fouriertransformation

Maple worksheet (mws)
Maple worksheet (pdf)

Skandal!

skandal

Weitere Texte zu P-versus-NP

weitere Probleme und Reduktionen

cover.ps

Vierfarbenproblem
(Geschichte)

colors4.ps

Polynome und Färbungen

polychrom4.pdf

Resolution und 2-SAT

resolution4.pdf

kommentierte Folien (unvollstaendig) zu einem Vortrag

pnp (pdf)




Neuigkeiten, interessante Links


Turing Award 2003

Der A.M. Turing Award , benannt nach dem Engländer Alan Matheson Turing, einem der intellektuellen und praktischen Pioniere der Informatik (nicht nur wegen der Konzeption des nach ihm benannten Berechnungsmodells!), wird von der Association of Computing Machinery seit 1966 jährlich fuer herausragende Leistungen auf dem Gebiet der Informatik verliehen und ist (nicht nur wegen des damit einhergehenden Preisgeldes von $100,000) mit die hoechste Auszeichnung auf dem Gebiet der Informatik ueberhaupt. Die Auszeichnung fuer das Jahr 2002 geht an die drei Erfinder des RSA-Krypotosystems, Ronald L. Rivest, Adi Shamir und Leonard M. Adleman.    Dieses System wird auch im Rahmen der Vorlesung dieses Sommersemesters noch behandelt werden.

Pressemitteilung der ACM

Primzahlen
(Juni 2003)

Informationen (fuer  "Einsteiger") zum Thema Primzahlen in der Feature Column der American Mathematical Society (Juni 2003)

primes

Primzahlen (2003)

Die Primzahlen haben die Mathematiker schon seit der Antike fasziniert und die Untersuchung ihrer Eigenschaften dauert bis heute an. Aus algorithmischer Sicht interessiert man sich fuer diese Objekte auch nicht erst ernsthaft, seitdem die Zahlentheorie -- beispielsweise für die Zwecke der Kryptographie, siehe vorhergehender Eintrag zum RSA-System -- Ideen- und Faktenquelle für ganz konkrete Anwendungen geworden ist. Eines der aeltesten offenen Problem über Primzahlen ist die Frage, ob es unendlich viele "Primzahlzwillinge", also Primzahlpaare mit Abstand 2 gibt (wie 3 und 5, 17 und 19, 59 und 61,...).
Kuerzlich haben D. Goldston und C. Yildrim ein Resultat ueber die Abstaende zwischen aufeinanderfolgenden Primzahlen erzielt, das weit ueber das bisher bekannte hinausgeht und das "Durchbruch" bezeichnet wird.

Pressemitteilung des American Institute of Mathematics

Technische Informationen zu dem Resultat von Goldston und Yildrim

Nachtrag zu vorigem Thema

Luecke im Beweis???

luecke

Primzahlen (2002 )

Die Frage nach den Primzahlzwillingen ist aus der Sicht der Zahlentheorie spannend, aber algorithmisch wohl nicht so sehr relevant. Ganz anders sieht es aus mit der Frage, ob man Primzahlen von zusammengesetzten Zahlen effizient unterscheiden könne (ohne notwendigerweise eine Faktorisierung in Primfaktoren vorzunehmen), ob also die Menge der Primzahlen in der Komplexitätsklasse P liegt? Mit diesem Problem haben sich viele Mathematiker und theoretische Informatiker lange und intensiv beschäftigt, die Indizien (zum Beispiel die sehr schnellen probabilistischen Verfahren von Solovay und Strassen bzw. Rabin und Miller, oder ein schnelles Verfahren von Miller unter einer unbewiesenen Zusatzhypothese, einer Verallgemeinerung der berühmten Riemann-Hypothese , oder auch immer schnellere deterministische Verfahren mit "fast-polynomialer" Laufzeit) sprachen schon eine ganze Weile für eine positive Antwort. Seit August 2002 ist die positive Antwort " Primes is in P" Faktum, beweisen von den drei indischen Mathematikern M. Agrawal, N. Kayal and N. Saxena . Verblüffend ist: wie elementar das ist! Der Code des Algorithmus (siehe Artikel) ist mal ganze 11 Zeilen lang. Der Beweis, dass der Algorithmus funktioniert und polynomiale Laufzeit hat, ist etwas länger, aber mit elementaren Kenntnissen durchaus "in Reichweite".

Kurzer Text in den Prime Pages

AKS-Artikel (pdf)

Nochmal AKS-Algorithmus

Eine schöner, ueberwiegend weniger technischer Artikel zu dem AKS-Algorithmus von Folkmar Bornemann, der klarmacht, dass "everyman" mit ein paar Grundkenntnissen in Arithmetik verstehen kann, was da ablaeuft --- mit vielen interessanten Informationen "drumherum", wie z.B.: wie sind die Auswahlquoten an einer indischen Universität, bei der Studenten (Kayal, Saxena) , die gerade mal ihren Bachelor-Grad erworben haben, so sensationelle Sachen machen? Ein andere Frage, wie ein solches Resultat in der internationalen Presse "ankommt" und weitergereicht wird, ist dann schon eher ein trauriges, wenn auch instruktives Kapitel.
Nebenbei: das Original des Artikels ist in Deutsch geschrieben, aber die amerikanische Uebersetzung ist bei der AMS frei zugänglich.

breakthrough

Entropie

Webseite zum Begriff Entropie


nochmal Primzahlen

neue Mersenne-Primzahl?

mersenne-40a


oder doch nicht?

mersenne-40b

P-versus-NP

Link zu den Millenium Prize Problems des Clay Mathematics Institute
Link zu einer Seite des Mathematischen Instituts Erlangen (-> Seminare)

P-vs.-NP Millenium Prize
Math. Institut