Komplexpraktikum
"Formale Modelle in der Anwendung" im WS 2002/2003
- Eine weitere
Vorbesprechung
- findet am 16.10.02
um 9:20 (2. DS) in Raum 358 statt. Wer Interesse an diesem
Praktikum hat, aber nicht zur Vorbesprechung kommen kann, meldet sich
bitte bis 15.10.02 per
email.
-
Studiengang
- Diplomstudiengang Informatik (Diplom-
und Bakkalaureatsabschluß), ab 5. Semester
- Art der Lehrveranstaltung
- Wahlpflichtveranstaltung (-/-/4)
- Erwünschte Vorkenntnisse
- Pflichtvorlesung Grundlagen der Theoretischen Informatik
- Themengebiete des Komplexpraktikums
- Formale Sprachtheorie, Automatentheorie und logikbasierte
Wissensrepräsentation in ihrer praktischen Anwendung.
- Zielstellung des Komplexpraktikums
- Den Teilnehmern soll die Bedeutung, die die theoretische Informatik
für praktische Fragestellungen hat, verdeutlicht werden.
Darüberhinaus sollen die Studierenden im Komplexpraktikum lernen,
sich eigenständig in ein Thema einzuarbeiten, strukturiert eine
größere Implementierung durchzuführen und diese in verständlicher
Form zu dokumentieren. Für Teilnehmer, die zu zweit ein Thema
bearbeiten, ist darüberhinaus die Steigerung der
Teamarbeitsfähigkeit erklärtes Ziel diese Praktikums.
- Aufgaben der Teilnehmer
- Die Teilnehmer sollen sich, unterstützt durch entsprechende
Betreuer, selbständig ein Thema aus den obigen Themengebieten der
theoretischen Informatik erarbeiten und eine Implementierung
durchführen und dokumentieren. Dazu gehört das Verständnis der
entsprechenden Fragestellungen und der Modelle, die zu ihrer
Beantwortung entwickelt wurden.
Jede Implementierung ist so zu realisieren, daß sie auch für andere
Personen nachvollziehbar sind. Schließlich stellt jeder Teilnehmer
in einem Vortrag sein Thema und die Ergebnisse seines Praktikums den
anderen Teilnehmer verständlich dar.
Weiteren Bedingungen, Spielregeln und zu erbringende Leistungen sind
themenabhängig und daher von den Betreuern der jeweiligen Themen zu
erfahren (zum Beispiel kann eine Literaturrecherche zu weiteren
aktuellen Veröffentlichungen nötig sein).
-
Aufgabenstellungen
- Jede der folgenden Aufgabenstellung entspricht einem Komplex, der
unabhängig von anderen Komplexen betrachtet und bearbeitet werden
kann. Für einige Komplexe ist eine Bearbeitung durch mehrere
Studenten möglich.
- (1)
Simulationsalgorithmus auf Graphen zur
Entscheidung Subsumtion bzgl. zyklischer TBoxen.
- Entwickelt werden soll ein Algorithmus, der Subsumtion von
beschreibungslogischen Konzepten entscheidet und dabei rekursiv
definierte Konzepte (d.h. zyklische TBoxen) behandeln kann. Zur
Entscheidung solcher Probleme genügt ein Algorithmus, der zwischen den
Syntaxbäumen der betrachteten Konzepte Simulationen (d.h. spezielle
Relationen) mit bestimmten Eigenschaften berechnet. Wird deskriptive
Semantik zugrunde gelegt, können zur Lösung der Aufgabe Techniken aus
einem Verfahren zum Erfüllbarkeitstest für Horn-Formeln nutzbringend
eingesetzt werden.
Literatur: Monika R. Henzinger, Thomas A. Henzinger
and Peter W. Kopke. Computing Simulations on Finite and
Infinite Graphs. 36th Annual Symposium on Foundations of
Computer Science, IEEE Computer Society Press, Milwaukee,
Wisconsin, 1995, 453--462.
William F. Dowling and Jean Gallier. Linear-time
Algorithms for Testing the Satisfiability of Propositional
Horn Formulae. Journal of Logic Programmming,
1(3):267--284, 1984.
Betreuer: Sebastian Brandt
, Lehrstuhl für
Automatentheorie.
- (2)
Erweiterung der Implementierung zur Berechnung des ``least
common subsumers'' und der Approximation um
Anzahlrestriktionen.
- Die bestehenden LISP-Implementierungen dieser
Inferenzalgorithmen sollen um Anzahlrestriktionen erweitert
werden. Für die Behandlung von Anzahlrestriktionen ist es dabei sowohl
notwendig, die Anzahl von Rollennachfolgern zu berechnen, als auch die
Konzeptbeschreibungen für die jeweiligen Nachfolger - die sogenannten
Mergings - zu bestimmen. Verfahren hierzu sollen in LISP
implementiert werden.
Literatur: S. Brandt, R. Küsters, and A.-Y. Turhan.
Approximating
ALCN-Concept Descriptions. In Proceedings of the 2002 International
Workshop on Description Logics, 2002.
R. Küsters and R. Molitor.
Computing
Least Common Subsumers in ALEN. In Proceedings of the 17th
International Joint Conference on Artificial Intelligence (IJCAI 2001).
Guy L., Jr. Steele. Common Lisp: The Language.
Betreuerin: Anni-Yasmin
Turhan, Lehrstuhl für
Automatentheorie.
- (3)
Konzeptgenerator für Beschreibungslogiken:
- Es soll
ein Generator beschreibungslogischer Konzepte entwickelt werden.
Dieser erhält eine Beschreibungslogik sowie bestimmte Parameter
(Schachtelungstiefe, Länge, etc.) und generiert zufällig eine
Menge von Konzepten, die diesen Parametern entspricht.
Die Implementierung ist mit einer graphischen Benutzeroberfläche
auszustatten.
Literatur: Ian P. Gent and Toby Walsh. Beyond
NP: The QSAT Phase Transition. Proceedings of AAAI-99, 1999.
I. Horrocks, P. F. Patel-Schneider, and R. Sebastiani. An analysis
of empirical testing for modal decision procedures. Logic Journal
of the IGPL, 8(3):293-323, 2000.
Betreuer: Jan Hladik, Lehrstuhl für
Automatentheorie.
- (4) Aufbau einer
Ontologie und Annotation der Internet-Seiten des
Lehrstuhls für Automatentheorie unter Verwendung dieser Ontologie.
- Im Sinne des ``semantic web'' sollen Internet-Seiten des
Lehrstuhls für Automatentheorie mit einer maschinenverständlichen
Beschreibung ihres Inhalts annotiert werden -- unter Verwendung
einer Ontologie, die den Sinn der verwendeten Konzepte festlegt.
Zur Erstellung der Ontologie soll der Ontologie-Editor OilEd verwendet werden.
Literatur: S. Bechhofer,
I. Horrocks, C. Goble, and R. Stevens. OilEd: a reason-able
ontology editor for the semantic web. In Proc. of the Joint German
Austrian Conference on AI, number 2174 in Lecture Notes In
Artificial Intelligence, pages 396-408. Springer-Verlag, 2001.
Betreuerin: Ulrike Sattler, Lehrstuhl für
Automatentheorie.
- (5) Aufbau einer
Ontologie und Erstellung eines Erfahrungsberichts.
- Für ein nichttriviales, aber übersichtliches Gebiet soll eine
Ontologie erstellt werden. Während des Erstellens ist detailliert
über den ``Lernprozeß'', der dabei stattfindet und die gemachten
Erfahrung Buch zu führen. Diese Beobachtungen sollen dann in einem
Erfahrungsbericht zusammengefaßt werden, der für andere
Ontologiebauer hilfreich sein kann.
Zur Erstellung der Ontologie soll der Ontologie-Editor
OilEd verwendet werden.
Besonderheiten: Für dieses Thema sind die
Fähigkeit zur Selbstbeobachtung und Disziplin unverzichtbar.
Literatur: S. Bechhofer, I. Horrocks, C. Goble, and
R. Stevens. OilEd: a reason-able ontology editor for the semantic
web. In Proc. of the Joint German Austrian Conference on AI,
number 2174 in Lecture Notes In Artificial Intelligence, pages
396-408. Springer-Verlag, 2001.
Betreuerin: Ulrike Sattler , Lehrstuhl für
Automatentheorie.
- (6) Erkennung
syntaktischer Restriktionen in funktionalen Programmen.
- Die Effizienz funktionaler Programme kann oft stark verbessert
werden, indem man Programmtransformationen anwendet, die auf der
Theorie der Baumübersetzer beruhen. Dazu müssen die
Programme bestimmte syntaktische Bedingungen erfüllen.
Im Rahmen dieses Praktikums soll ein Haskell-Programm zur Erkennung
solcher Bedingungen entwickelt werden.
Besonderheiten: Für dieses Thema sind Kenntnisse
der funktionalen Sprache Haskell und der Theorie der
Baumübersetzer sehr hilfreich.
Literatur: A. Kühnemann, R. Glück, and K. Kakehi.
Relating accumulative and non-accumulative functional programs.
In A. Middeldorp (Editor), 12th International Conference on Rewriting
Techniques and Applications - RTA'01, Utrecht, The Netherlands,
Proceedings, volume 2051 of LNCS, pages 154-168, Springer-Verlag,
May 2001.
Betreuer:
Armin Kühnemann , Professur Grundlagen der Programmierung.
- (7) Spezifizierung
eines sprachbasierten Editors für eine einfache
Programmiersprache.=20
- Sprachbasierte Editoren sind speziell auf eine bestimmte
formale (Programmier-)Sprache zugeschnitten um den Arbeitsprozess
ihres Nutzers zu erleichtern. Dies geschieht durch Analyse,
Transformation und Fehleranzeige während ein Objekt editiert wird.
Wir arbeiten an einem Generator, welcher eine formale Beschreibung
einer Programmiersprache als Eingabe bekommt und daraus einen
sprachbasierten Editor für diese Sprache erzeugt. Es ist im
Rahmen dieses Praktikums eine solche Eingabe zu spezifizieren, und
zwar soll sie eine einfache imperative Programmiersprache
beschreiben.
Besonderheiten: Für dieses Thema sind Kenntnisse
der funktionalen Sprache Haskell und der Theorie der
Attributgrammatiken hilfreich, aber nicht zwingend erforderlich.
Literatur:
T. W. Reps and T. Teitelbaum.
The synthesizer generator - a system for constructing language-based editor.
Springer-Verlag, 1989.
Enrico Bormann.
Entwurf und Implementierung eines Systems zur Erzeugung syntaxgesteuerter Editoren.
Masters Thesis, Dresden University of Technology, 2000.
Betreuer:
Enrico Bormann , Professur Grundlagen
der Programmierung.
- Organisation
- Es findet eine erste Besprechung am Beginn des Semesters
statt (siehe oben).
- Während des Semesters erfolgen die Abstimmungen über
Konsultationen mit dem Betreuer des jeweiligen Themas.
- Die Praktikumsergebnisse werden in Vorträgen in einer
abschließenden Veranstaltung vorgestellt. Zeit und Ort werden noch
festgelegt.
- Lehrbeauftragte
- Prof. Franz
Baader, Prof. Horst
Reichel, Prof. Vogler ,
Institut für
Theoretische Informatik