Spezialvorlesung

"Binary Decision Diagrams"

Wintersemester 2006/07

Veranstalter:
Detlef Sieling
Termin:

Montag, 14.15-15.45, OH-14, R. 304
Mittwoch, 10.15-11.45, OH-14, R. 304
Beginn der Vorlesung: 16.10.2006
Übungen: Dienstag, 12.15-13.45 Uhr (14-täglich), OH-14, R. 305
Termine: 31.10.2006, 14.11.2006, 28.11.2006, 12.12.2006, 9.1.2007, 23.1.2007, 6.2.2007
Umfang der Übungen: 1SWS

Binary Decision Diagrams (BDDs) sind eine graphische Darstellung von booleschen Funktionen. Sie werden in Programmen für den Hardwareentwurf als Datenstruktur für die Speicherung und Manipulation von booleschen Funktionen, aber auch in der Komplexitätstheorie zur Untersuchung der Ressource Speicherplatz benutzt. Aufgrund ihrer vielseitigen Anwendbarkeit werden sie inzwischen bereits in der Vorlesung DAP 2 behandelt.

Die Vorlesung beginnt mit einer Wiederholung von OBDDs (Ordered Binary Decision Diagrams). Zusätzlich werden gegenüber der Vorlesung DAP 2 weitere Verfeinerungen der Algorithmen vorgestellt und es wird untersucht, für welche Operationen es vermutlich keine effizienten Algorithmen gibt. Eine weiteres wichtiges Problem besteht darin festzustellen, welche Funktionen mit kleinen OBDDs dargestellt werden können und welche nicht.  Während es für den Nachweis, dass es kleine OBDDs für eine Funktion gibt, genügt, ein kleines OBDD anzugeben, ist der Nachweis, dass eine Funktion keine kleinen OBDDs hat, schwieriger, da man prinzipiell alle OBDDs für die Funktion betrachten muss.  Es stellt sich heraus, dass OBDDs für viele wichtige Funktionen zu groß sind. Es wird daher die Frage untersucht, ob Erweiterungen der OBDDs zu kleineren Darstellungen für diese Funktionen führen und welche Operationen auf booleschen Funktionen von den Erweiterungen unterstützt werden. Zu diesen Erweiterungen gehören Varianten mit schwächeren Anforderungen an die Variablenordnung wie auch nichtdeterministische und randomisierte Varianten von OBDDs.

Die Untersuchung von OBDDs und ihren Erweiterungen verwendet zugleich Methoden aus verschiedenen Bereichen der theoretischen Informatik. Dies sind Methoden zum Entwurf effizienter Algorithmen oder zum Beweis, dass solche Algorithmen vermutlich nicht existieren. Weiterhin wird die Kommunikationskomplexität als wichtigste Methode zum Beweis von unteren Schranken für den Ressourcenbedarf von Berechnungen behandelt. Nichtdeterministische Algorithmen sind in der Regel nicht praktikabel. Dagegen gibt es Varianten von nichtdeterministischen OBDDs, die auch in der Praxis eingesetzt werden. In der Vorlesung werden auch die Auswirkungen der theoretischen Ergebnisse auf die Praxis diskutiert.

Skript

Eine vorläufige Version des Skripts ist als PDF-Datei erhältlich.

Übungsblätter

Die Übungsblätter sind hier erhältlich.

Inhalt der Vorlesung

Für die mit * gekennzeichneten Punkte wurde in der Vorlesung zusätzliches Material verteilt.


07.02.2007 - Detlef Sieling Universität Dortmund