KI Artificial Intelligence Group - Dept. of Computer Science - TU Berlin
[ KI Home | Members | Publications | Research | Courses | Events | Support ]

Künstliche Intelligenz und Software-Engineering

(LV 1332 L 705)

Seminar im WS 99/00


Veranstalter Organisation Themen Blockveranstaltung Material Mailingliste

Eine gemeinsame Veranstaltung von KI und UEBB


Organisation

Seitenanfang

Themen

Im Seminar werden Konzepte der deduktiven und induktiven Programmsynthese und Programmtransformation diskutiert. Wir wollen dabei sowohl die Grundlagen aufarbeiten, sowie (je nach Interesse der TeilnehmerInnen) auch den aktuellen Forschungsstand betrachten. Dabei interessieren uns insbesondere auch die Überschneidungen zwischen diesen beiden Gebieten der sogenannten "Automatischen Programmierung".

Deduktive Programmsynthese/Transformationelle Programmentwicklung

Im Zentrum der deduktiven Programmsynthese steht die Entwicklung von Programmen aus Spezifikationen mit Hilfe logischer Deduktionsmittel. Die Spezifikationen können dabei in verschiedenen Formen vorliegen: als algebraische Spezifikationen, als Pre- und Postconditions, usw. Die transformationelle Programmentwicklung ist eine verwandte Methode, welche auf der bedeutungserhaltenden Transformationen von Spezifikationen und/oder Programmen in mehreren Schritten basiert, und nicht nur für die Synthese aus Spezifikation, sondern auch für die (teilweise vollautomatische) Optimierung von Programmen verwendet wird (z.B. Vereinfachung von Rekursionsklassen: Überführung von lineare Rekursion in Tailrekursion (Schleifen)). Im Seminar wollen wir die grundlegenden Potentiale deduktiver Programmsynthese und transformationeller Programmentwicklung betrachten und uns dann Techniken und System zu ihrer Realisation anschauen (das KIDS System, das Isabelle System, u.s.w.)

Induktive Programmsynthese

Während Systeme, die auf deduktiven Ansätzen basieren, vor allem die Erstellung korrekter bzw. effizienter Programme unterstützen, hat der Bereich induktive Programmsynthese das Ziel, Programme aus unvollständiger Information zu induzieren (manchmal als auto-magic programming bezeichnet). Üblicherweise gibt der Programmierer I/O Beispiele vor. Gesucht ist dann das rekursive Programm, das alle Beispiele korrekt transformiert und eine minimale Generalisierung dieser Transformationen ist (d.h. es werden keine überflüssigen Berechnungsschritte erzeugt). Alternativ kann induktive Programmsynthese auch von Berechnungsspuren ausgehen (programming by demonstration). Bei Induktion kann natürlich nie Korrektheit garantiert werden (wenn man aus der Beobachtung von n Schwänen schließt, daß alle Schwäne weiß sind, kann man sich eben täuschen, da man ja immer nur Beispiele, nie die Grundgesamtheit der Schwäne zu Gesicht bekommt). Anders als bei den deduktiven und transformationalen Ansätzen ist die Anwendung daher eher im Bereich von Tutorsystemen zur Unterstützung von Programmieranfängern oder der Entlastung von Programmieren von einfachen Routineaufgaben zu suchen. Induktive Programmsynthese ist ein spannendes Thema für die Grundlagenforschung: Menschen - zumindest einige - sind in der Lage aus einigen Beispielen die rekursive Berechnungsvorschrift zu induzieren; gibt es Algorithmen, die diese Intelligenzleistung erbringen können?

Einführungsvorträge

Auswahl von Referatsthemen

Don't panik! Wenn Dir hier viele Dinge erstmal gar nichts sagen, laß Dich davon nicht gleich abschrecken, falls Du am Thema selbst Interesse hast. Für einige der Themen werden im Grundstudium die Grundlagen nicht, wenig, oder nur sehr kurz eingeführt. In diesem Fall hilft Dir natürlich Dein Betreuer weiter und/oder wir werden uns die Grundlagen gemeinsam erarbeiten.

Die angegebenen Papiere werden wir vermutlich nicht alle bearbeiten -- sie stellen eine Auswahl von aktuellen und grundlegenden Arbeiten dar. Ein Referent/eine Referentin wird maximal zwei Papiere zu bearbeiten haben.

Grundlagen

auf speziellen Wunsch, Hinweise zu Grundlagenliteratur
Seitenanfang


Blockveranstaltung

(ca. 45 min Vortrag und ca. 15 min Diskussion)
(Reihenfolge fest, Zeiten sind approximativ)

Freitag, 21.1.2000

Seitenanfang

Material

(Literatur, Referatsfolien- und Ausarbeitungen)

Literatur zur Referatsvorbereitung

Seitenanfang

Mailingliste

[mailto Seminar-Veranstalter und Teilnehmer]

Seitenanfang Veranstalter Organisation Themen Blockveranstaltung Material


(schmid, 18/01/00)