Fakultät Informatik/Mathematik

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:

Künstliche Intelligenz

Inhalte:

  • Symbolische KI
    • Prolog-Programmierung
    • Computeralgebra
    • Sprachverarbeitung mit Grammatiken
    • Problemlösen durch Suche: Uninformierte Suche, informierte Suche
    • Spiele mit Gegner
  • Probabilistische KI
    • Bayes'sche Netze
    • Naiver Bayes Klassifikator
    • Logistische Regression
    • Hauptkomponentenanalyse

Literatur:

  • Wolfgang Ertel: Grundkurs Künstliche Intelligenz
  • Stuart J. Russell und Peter Norvig: Artificial Intelligence: A Modern Approach
  • William F. Clocksin und Christopher S. Mellish: Programming in Prolog

Programmierparadigmen

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

Inhalt:

  • Funktionen höherer Ordnung
  • Pattern Matching
  • Algebraische Datentypen
  • Lazy Evaluation
  • Monaden und Funktoren
  • Funktionale Parser

Literatur: Paul Chiusano, Runar Bjarnason: Functional Programming in Scala.

Maschinelle Lernverfahren

Inhalte:

  • Lerntheorie
  • Überwachte Lernverfahren: Nearest Neighbor, Naiver Bayes, Entscheidungsbäume, Random Forests, Boosting, SVM.
  • Unüberwachte Lernverfahren: Assoziationsregeln, Clusterverfahren.
  • Reinforcement Learning

Literatur:

  • Hastie et al: The Elements of Statistical Learning.
  • Jurafsky / Martin: Speech and Language Processing.