AI-related Courses
We offer the following AI-related courses which can be used in different combinations during the bachelor and master study in Rostock:
AI1: Foundations of Artificial Intelligence
AI2: Foundations of Machine Learning
AI3: Artificial Neural Networks
AI4: Signals and Time Series Analysis
AI5: Intelligent Environments and Cooperative Ensembles
AI6: Introduction to Natural Language Processing
AI7: Reasoning under Uncertainty
For all of them you find the details below, including the links to the corresponding modules within the LSF.
Summer Term / Sommersemester
Die folgenden Pflichtveranstaltungen im Bachelor werden von uns im Sommersemester angeboten:
Inhalte
- Grundlegende Begriffe und formale Eigenschaften von Algorithmen
- Techniken der Algorithmenentwicklung
- Datentypen und Datenstrukturen
- Grundlegende Datenstrukturen der Informatik und ihre Implementierung
- Ausgewählte Algorithmen aus dem Bereich Sortieren und Suchen
- Asymptotische Komplexitätsanalysen
Weiterführende Informationen
Die logische Programmierung beruht auf der Entdeckung, dass Logik als problemnahe und effiziente Programmiersprache verwendet werden kann. Die bekannteste Vertreterin dieser Sprachen ist Prolog. Das Modul behandelt die theoretischen Grundlagen der logischen Programmierung, führt in die Sprache Prolog ein und zeigt verschiedene praktische Anwendungen, z.B. aus den Gebieten Software Engineering und Verarbeitung von natürlicher Sprache. Die im Modul integrierten Übungen ermöglichen konkrete Erfahrungen mit Prolog.
Inhalte
- Was ist logische Programmierung
- Tutorial zur Programmiersprache Prolog
- Prädikatenlogik
- Klauselform
- Logische Inferenz: Resolution, Unifikation, SLD Resolution
- Negation: Negation als Fehlschlag, SLDNF Resolution
- Listen
- Mengenprädikate
- Metainterpreter
- Definite Clause Grammars
- Exemplarische Anwendungen
- Ausblick (DATALOG, CLP, HOL)
Weiterführende Informationen
Ziel der Künstlichen Intelligenz (KI) ist die Entwicklung von Verfahren, mit deren Hilfe: Softwaresysteme selbständig komplexe Situationan analysieren und adäquate Reaktionen bestimmen können. Nach der Euphorie Anfang der 80’er Jahre und der Ernüchterung Anfang der 90’er Jahre hat sich die Künstliche Intelligenz als fester Bestandteil der Informatik etablieren können. Die im Rahmen der KI entwickelten innovativen Methoden werden in vielen Anwendungsbereichen genutzt. Die Vorlesung gibt einen Überblick über Methoden der KI und ihre Anwendungen.
Inhalte
- Suchalgorithmen
- Rationales Verhalten und terminologische Logiken
- Genetische Algorithmen, genetisches Programmieren
- Expertensysteme: regelbasiert, objekt-orientiert und reif für die Anwendung?
- Fuzzybasierte Ansätze
- Planen in der Robotik:“What are plans for?“
- Entscheidungstheorie: Zur Rationalität von Agenten
- Zurechtkommen mit unsicherem Wissen: Wahrscheinlichkeitstheoretisches Schließen
- Ohne Lernen geht es nicht: Induktive und fallbasierte Methoden
- Ausgewählte Anwendungsbereiche: Ökologie und Medizin
Weiterführende Informationen
Weiterhin bieten wir im Sommersemester die folgenden Veranstaltungen im Bereich „Smart Computing“ des Master an:
Within the course „Artificial Intelligence III: Artificial Neural Networks“, we will cover the basics of artificial neural networks - also called connectionist systems. Such systems, inspired by biological neural networks, are built from a set of simple processing units (neurons) which are connected (through synapses) to process noisy information. During the course, the following types of networks are introduced: - Simple perceptrons - Feed forward neural networks (including auto-encoders) - Recurrent neural networks - Hopfield networks - Some of the recent deep neural networks In addition, we will discuss the mathematics of the corresponding learning algorithms.
- Biological and physical foundations of neural networks - Perceptron and delta-rule - Feedforward networks (Multi-layer Perceptrons) and Backpropagation
- Recurrent neural networks and Backpropagation through time
- Hopfield networks and Hebbian learning - Deep neural networks
Weiterführende Informationen
In der Veranstaltung werden die mathematischen Grundlagen der Statistik vermittelt. Auch Techniken wie die Monte-Carlo-Simulationen und -Sampling, sowie Ansätze zur Schätztheorie werden behandelt. Dazu gehören unter anderem:
- Erwartungstreue Schätzung mit minimaler Varianz
- Cramer-Rao-Schranke
- BLUE: Bester linearer erwartungstreuer Schätzer
- Maximum-Likelihood- und Least-Squares-Schätzung
- Bayesscher Schätzer
Weiterhin kommen unter anderem die folgenden Themen zur Sprache:
- Detektionstheorie
- Neyman-Pearson-Theorem und Multiple Hypothesis Test
- generalized likelihood ratio test
Weiterführende Informationen
Die Vorlesung gibt einen Überblick über die Methoden des Einsatzes von Strategien kooperierender Geräte- und Agentenensembles für die Steuerung intelligenter Umgebungen. Schwerpunkt der Vorlesung ist die Nutzung von Methoden aus der verteilten KI für die Steuerung intelligenter Umgebungen. Neben theoretischen Inhalten wird besonders auf einen praktischen Zugang zu den Lehrinhalten geachtet. Die Veranstaltung besteht aus klassischen Vorlesungen, seminar-ähnlichen Studentenbeiträgen, betreuten Übungen und der Umsetzung eines Gruppenprojektes im Smart Appliance Laboratory.
Inhalte
- Anforderungen an Intelligente Umgebungen
- Stand der Technik: Hausbusse und Hausvernetzung
- Middlewaresysteme
- Multiagentensysteme
- Deliberative Multiagentensysteme; Joint Intention Theory
- Reaktive Multiagentensysteme; Schwärme und Emergentes Verhalten
Weiterführende Informationen
Schlagworte wie „Ubiquitous Computing“, „Pervasive Computing“ und, als jüngster Begriff, „Ambient Intelligence“, bezeichnen die Vision einer Welt, in der wir von intelligenten, intuitiv bedienbaren Geräten umgeben sind, die uns bei der Gestaltung, Organisation und Durchführung unseres täglichen Lebens unterstützen. Gemeinsam ist ihnen das Konzept des „Smart Environment“, der „verständigen“ bzw. „intelligenten“ Umgebung, das ein neues Paradigma der Interaktion zwischen dem Menschen und seiner Alltagsumgebung bezeichnet. „Smart Environments“ versetzen diese Umgebung in die Lage, sich des in ihr handelnden Menschen, seiner Ziele und Bedürfnisse bewusst zu sein und den Menschen aktiv beim Durchführen seiner Tätigkeiten und beim Erreichen seiner Ziele zu unterstützen – sowohl auf Basis instrumentierter Umgebungen, als auch mit Hilfe mobiler, persönlicher digitaler Assistenten. Diese Veranstaltung bietet eine Einführung in die wichtigsten Paradigmen und Lösungskonzepte des Ubiquitous Computing aus der Perspektive der situationsgesteuerten Assistenz.
Weiterführende Informationen
Summer & Winter Term / Sommer- & Wintersemester
Die Veranstaltungen KSWS oder Projekt sind generische Module im Rahmen der Informatikausbildung im Bachelor- oder Masterstudium. Diese umfassen neben Vorlesungsinhalten (Projekt nur anteilig), Literaturarbeit (KSWS), Seminarvortrag zur (Zwischen-)Präsentation der Inhalte und die softwaretechnologische Umsetzung einer Anwendung. Dabei sind die zu realisierenden Anwendungen immer an aktuelle Forschungsprojekte gekoppelt.
Im Rahmen dieser Lehrveranstaltung wird in einem kleinen Team selbstständig ein Softwaresystem konzipiert und umgesetzt. Dabei lernen die Studenten neben der Bearbeitung der softwaretechnischen Problemstellung in einem unserer aktuellen Forschungsprojekte auch die Methoden und Werkzeuge für den Entwurf von (komplexeren) Softwaresystemen, sowie für die Kommunikation im Team und mit den Auftraggebern kennen.
Im Rahmen dieses Moduls wird eine komplexere Software durch eine Gruppe von Studenten umgesetzt. Dabei stehen die Bearbeitung der technischen Fragestellungen, die Selbstorganisation in der Gruppe und die Kommunikation mit den Betreuern im Vordergrund. Es kommen unterschiedliche Werkzeuge für das Management von Softwareprojekten zum Einsatz. Für die Kommunikation werden Lasten- und Pflichtenhefte erstellt und unterschiedliche Code-Dokumentationsverfahren genutzt. Ein Präsentation eines Zwischenstandes und die Darstellung des Gesamtprojektes finden im Rahmen von Vorträgen statt.
Um neue, aktuell brisante oder aus anderen Gründen nicht im Standardcurriculum verankerte Themen zu bearbeiten, lernen die Studenten in diesem Modul neue Methoden und Konzepte kennen. Dabei steht die selbstständige Einarbeitung in ein neues Problemfeld in einer wenig strukturierten Lernumgebung im Vordergrund.
Winter Term / Wintersemester
Die folgenden Pflichtveranstaltungen im Bachelor werden von uns im Wintersemester angeboten:
Das Modul führt über die abstrakten Datentypen die Techniken der Programmierung ein. Dabei wird besonderes Augenmerk auf die Nutzung der Rekursion zur Problemlösung gelegt. Die Teilnehmer sollen in die Lage versetzt werden, Probleme als Gesamtheit von Daten und Algorithmen zu spezifizieren. Für die so spezifizierte Problemstellung werden von den Studierenden effiziente Datenstrukturen gefunden.
Inhalte
- Einführung in die Softwareentwicklung
- Strukturierte Programmierung
- Rekursion
- algebraische Spezifikation Abstrakter Datentypen
- Datenstrukturen zur effektiven Implementation mit Hilfe einer algorithmischen Sprache
- Spezifikation und Implementation mit unterschiedlichen Datenstrukturen (z.B. Liste, Keller, Schlange, Baum, Tabelle)
Weiterführende Informationen
Die funktionale Programmierung stellt das zweite wichtige Programmierparadigma neben der imperativen Programmierung dar. Es basiert auf dem Prinzip der Textersetzung („term-rewriting“, „equational reasoning“) und behandelt Funktionen als „first class objects“. Das Modul behandelt die theoretischen Grundlagen der funktionalen Programmierung, führt in die Sprache Haskell ein und zeigt verschiedene praktische Anwendungen. Die im Modul integrierten Übungen ermöglichen konkrete Erfahrungen mit der funktionalen Programmierung zu machen.
Inhalte
- Theoretische Basis der funktionalen Programmierung (Lambda-Kalkül) und Beziehung zur Theorie partieller Funktionen
- Typische Datenstrukturen und Programmkonstrukte
- Strategien der Entwicklung funktionaler Software
- Beweis von Programmeigenschaften
- Einbeziehung anderer Programmierparadigmen unter Berücksichtigung von Eingabe/Ausgabe
Weiterführende Informationen
Das Module „Paradigmen der Programmierung“ behandelt ausgewählte Kapitel zu den grundlegenden Programmierparadigmen, in denen vertiefte Kenntnisse der Konzepte vermittelt werden, die aktuellen Programmiersprachen zugrunde liegen. Darüber hinaus wird die Fähigkeit vermittelt, ausgehend von einem gegebenen Anwendungsproblem das geeignete Sprachparadigma für die algorithmische Lösung zu identifiziern.
Inhalte
- Funktionale Programmierung (Typinferenz, Softwaretechnik: Polymorphie, Typklassen, Streams, Monaden und Continuations, Ausführung funktionaler Programme: G-Maschinen, Optimierung in funktionalen Programmen)
- Imperative / Objektorientierte Programmierung (Softwaretechnik: Modularisierung und Objekte, Kontrollstrukturen in Sequentiellen Programmen, Parallele Programme, Objektsysteme, z.B. CLOS, Call by Name, Closures; anonyme Klassen in Java)
- Logische Programmierung (Theorembeweiser, Higher-Order-Systeme)
- Allgemeine Themen (Gültigkeitsbereiche und Speichermanagement, Sprachenbasierte Sicherheit)
- Regelbasierte Programmierung (Produktionssysteme, RETE-Algorithmus, Konfliktlösungsstrategien)
- Spezielle Sprachmodelle (Tuple Spaces, z.B. LINDA, Actor Languages, Verteilte Sprachen, z.B. Obliq)
- Skriptsprachen (Unix Shell, Perl, PHP, etc.)
- Dynamische Sprachen (Self, NewtonScript , Smalltalk, LISP...)
Weiterführende Informationen
Weiterhin bieten wir im Wintersemester die folgenden Veranstaltungen im Bereich „Smart Computing“ an:
Viele Funktionen intelligenter Informationssysteme basieren auf Verfahren der Mustererkennung und der Kontextanalyse: Die Erfassung des Fitnesszustands mit dem Smartphone, natürlichsprachliche Dialoge mit einem Rechner, die Erkennung von Nutzerwünschen in einem intelligenten Haus oder auch die Vorhersage von Aktienkursen. Aktivitäten und Ziele von Benutzern aus Sensordaten abzuleiten ist eine zentrale Herausforderung von intelligenten Umgebungen und von Assistenzsystemen. Neben verschiedenen „klassischen“ Verfahren des instanzbasierten Lernens (z.B. neuronale Netze oder Support Vector Machines), werden zunehmen modellbasierte Ansätze genutzt, die Wissen über kausale Zusammenhänge als Grundlage für eine wahrscheinlichkeitstheoretische Modellierung verwenden. Dieses Modul bietet eine Einführung in die grundlegenden Verfahren und Begriffe der Signalverarbeitung und der Mustererkennung. Ziel der Lehrveranstaltung ist es, aktuelle Verfahren zur Interpretation von Sensordaten zu untersuchen und zu bewerten.
Inhalte
- Signale und lineare Systeme; Impulsantwort, Faltung, Fouriertransformation
- Merkmale und Skalenniveaus
- Parametrische Klassifikationsverfahren und Parameterschätzung
- Instanzbasierte Verfahren und der Fluch der Dimensionalität
- Kombination von Systemen: Stacking, Boosting und Bagging
- Evaluation von Klassifikationssystemen und das No-Free-Lunch-Theorem.
Weiterführende Informationen
Within the course „Artificial Intelligence VII“, we will cover approaches and algorithms?for reasoning under uncertainty. Based on sensory inputs, which are usually noisy, intelligent systems have to decide which action to take.
During the course, the following approaches to tackle this problem are introduced:
- Markov Decision Processes (MDP)
- Partially Observable Markov Decision Processes (POMDP)
- Reinforcement Learning (RL) / inverse Reinforcement Learning (iRL)
- Advanced discriminative models (MRF, CRF)
- plan, intent and activity recognition
In addition, we will discuss the mathematics of the corresponding algorithms in detail.
Weiterführende Informationen
In Vortragsseminaren erhält der Student Gelegenheit, den selbständigen Wissenserwerb aus der Fachliteratur zu üben, sowie die erarbeiteten Ergebnisse vorzutragen und zur Diskussion zu stellen. Die Vortragsseminare leiten zu kritischer Sachdiskussion an und schulen die Fähigkeit der Präsentation. Da mehrere Vortragsseminare angeboten werden, kann der Student ein seinen Interessen am besten entsprechendes Seminar auswählen.
Weiterführende Informationen