1. Hauptnavigation
  2. Navigation des Hauptbereiches
  3. Inhalt der Seite

Lehrveranstaltungen im SS

Theoretische Informatik


Inhalte:

  • Reguläre Sprachen: Endliche Automaten, reguläre Ausdrücke.
  • Kontextfreie Sprachen: Kellerautomaten, Grammatiken, Syntaxanalyse.
  • Berechenbarkeit und Komplexität: Entscheidbarkeit, Klassen P und NP.

Literatur:

Die Übung Di 7:30 fällt mangels Teilnahme aus.

Aufgaben

Künstliche Intelligenz

Inhalte:

  • Prädikatenlogik
  • Prolog-Programmierung
  • Sprachverarbeitung
  • Planungsprobleme
  • Problemlösen durch Suche, A*-Suche
  • Bayes'sche Netze

Literatur:

  • Wolfgang Ertel: Grundkurs Künstliche Intelligenz
  • Uwe Schöning: Logik für Informatiker
  • Stuart J. Russell und Peter Norvig: Artificial Intelligence: A Modern Approach
  • William F. Clocksin und Christopher S. Mellish: Programming in Prolog

Materialien:

Regelung zur PVL: Es werden im 2-wöchigen Abstand Aufgaben gestellt, von denen mindestens 4 gelöst werden müssen.

Die Praktika beginnen am 30.3.2017.

Programmierparadigmen

Am Beispiel der Programmiersprache Scala werden die Grundlagen der funktionalen Programmierung behandelt. Als Anwendung werden in den Übungen Algorithmen auf rekursiven Datenstrukturen implementiert.

Regelung zur PVL: In der Lehrveranstaltung werden Aufgaben gestellt, die bis zum Abgabetermin gelöst werden müssen.

  1. Termin 9.5: Symbolische Differenzierung von Polynomen. Dazu Implementierung ADT für Ausdrücke, Differenzierung, Vereinfachung.
  2. Termin 30.5.: Iterative Tiefensuche mit Lazy Evaluation und Affe-Banane-Planungsproblem.
  3. Termin 27.5.: Implementierung einer Datenstruktur Set[A] mit den Operationen find, union, intersect, map, flatMap durch einen binären Suchbaum. Auf A muss eine Totalordnung definiert sein.

Inhalt:

  • Funktionen höherer Ordnung
  • Pattern Matching
  • Algebraische Datentypen
  • Lazy Evaluation
  • Monaden

Programme aus der Vorlesung.

Formale Verifikation

Hinweis: Diese LV wird ab SS 2019 durch eine LV "Lernverfahren" ersetzt.

An sichere und zuverlässige Systeme werden hohe Anforderungen gestellt, die sich durch Tests nur mit großem Aufwand erfüllen lassen. Seit einigen Jahren ist das Interesse an Verfahren gestiegen, mit denen sich Korrektheitseigenschaften eines Systems oder einer Software formal nachweisen lassen. Dazu werden Eigenschaften formal spezifiziert und durch Verifikationstools für ein Modell oder eine Implementierung des Systems bewiesen.

Inhalte:

  • Temporale Logik
  • Model Checking
  • Wp-Kalkül und Programmverifikation
  • Abstrakte Interpretation

Literatur:

  • Huth and Ryan: Logic in Computer Science
  • Ben-Ari: Principles of the Spin Model Checker
  • MS rise4fun

Aufgaben und Programme

Aktualisiert: 05.10.2017