Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Logik in der Informatik

Vorlesung Logik in der Informatik

 


Aktuelles


Einführung

Logik spielt eine grundlegende Rolle in vielen Bereichen der Informatik, etwa dem Schaltkreisentwurf, dem Software-Engineering, der künstlichen Intelligenz, der Datenbanken und der theoretischen Informatik. Die Logik in der Informatik baut auf der mathematischen Logik auf, die sich etwa seit Ende des 19. Jahrhunderts herausgebildet hat. In den letzten 30 Jahren hat sich die Logik in der Informatik aber in eine eigenständige, von den Anwendungen bestimmte Richtung entwickelt.

Die Vorlesung ist eine Einführung in die Logik und ihre Anwendungen in der Informatik. Darüber hinaus wird die logikbasierte Programmiersprache Prolog eingeführt.


Inhalt

  • Kapitel 1: Einleitung
  • Kapitel 2: Aussagenlogik
  • Kapitel 3: Logik erster Stufe
  • Kapitel 4: Grundlagen des automatischen Schließens
  • Kapitel 5: Logik-Programmierung

Vorlesungsskript und Handout zu den in der Vorlesung verwendeten Folien:

 

Neben den Folien wird auch die Tafel verwendet, insbesondere um Beispiele und Beweise zu entwickeln.

Beachten Sie: In den Vorlesungs- und Übungsstunden werden viele wichtige Dinge (insbesondere Beweise, aber auch einiges andere) an der Tafel erklärt. Diese Dinge sind für die Veranstaltung wesentlich und daher auch dann prüfungsrelevant, wenn sie nicht in den auf den Webseiten erhältlichen Materialien enthalten sind.
Zur Vorbereitung auf eine Prüfung wird dringend empfohlen, das gesamte in den Vorlesungs- und Übungsstunden (mit Folie oder an der Tafel) vermittelte Material durchzuarbeiten.
Es ist daher wichtig, dass Sie sich während der Vorlesungs- und Übungsstunden Notizen machen.

 


Logbuch

Hier finden Sie (nach den Vorlesungen) Informationen zum Inhalt der einzelnen Vorlesungsstunden, die in der Vorlesung verwendeten Folien, Teile des Skripts und gelegentlich auch Korrekturen und sonstige ergänzende Bemerkungen.


Informationen zum Vorlesungsbetrieb

Zeiten und Räume
 
Dienstags 11:15-13:00 in Raum 0'115 (Schrödinger-Zentrum, Rudower Chaussee 26)
Donnerstags 11:15-13:00 in Raum 0'115 (Schrödinger-Zentrum, Rudower Chaussee 26)
 
Dozentin
Prof. Dr. Nicole Schweikardt

Informationen zum Übungsbetrieb

Ergänzend zu den Vorlesungen finden 2-stündige Übungen in kleinen Gruppen statt, in denen Fragen zur Vorlesung diskutiert und die Übungsaufgaben besprochen werden.

 

Die in der 1. Übungsstunde verwendeten Folien zu Beweistechniken und zur aussagenlogischen Modellierung finden Sie hier.

Die in der 2. Übungsstunde verwendeten Folien zu induktiven Beweisen und rekursiven Definitionen finden Sie hier.

Übungsgruppenleiter/innen
Dr. André Frochaux
M.Sc. Jens Keppeler
PD Dr. Louchka Popova-Zeugmann
 
Tutoren/innen
Fabian Gerhardt
Sarah Hoppe
Sarah Kleest-Meissner
 
Zeiten und Räume der Übungsgruppen
Gruppe 1:   Montags 15-17, Schrödinger-Zentrum, Rudower Chaussee 26, Raum 1'303 bei Jens Keppeler
Gruppe 2:   Montags 15-17, Schrödinger-Zentrum, Rudower Chaussee 26, Raum 1'306 bei Louchka Popova-Zeugmann
Gruppe 3:   Mittwochs 11-13, Schrödinger-Zentrum, Rudower Chaussee 26, Raum 1'303 bei Jens Keppeler
Gruppe 4:   Mittwochs 11-13, Schrödinger-Zentrum, Rudower Chaussee 26, Raum 1'306 bei Louchka Popova-Zeugmann
Gruppe 5:   Donnerstags 15-17 Schrödinger-Zentrum, Rudower Chaussee 26, Raum 1'303 bei Jens Keppeler
Gruppe 6:   Donnerstags 15-17, Schrödinger-Zentrum, Rudower Chaussee 26, Raum 1'306 bei Louchka Popova-Zeugmann

Melden Sie sich bitte für eine Übungsgruppe bis zum 9. Oktober in AGNES an (Nachfrist bis 17. Oktober).
Bitte schreiben Sie sich außerdem zusätzlich in den Moodle-Kurs bis zum 19. Oktober mit dem Einschreibeschlüssel 0815 ein.


Informationen zur Prolog-Übung

Ergänzend zu den Vorlesungen und Übungen finden jede Woche 2-stündige Prolog-Übungen statt, in denen Sie darin unterstützt werden, sich in die Programmiersprache Prolog einzuarbeiten. In den Prolog-Übungen werden zusätzliche Programmierbeispiele behandelt und Anleitungen zur Lösung der Prolog-bezogenen Übungsaufgaben gegeben. Die Teilnahme an den Prolog-Übungen ist freiwillig und bedarf keiner Anmeldung. Weitere Informationen zur Prolog-Übung und (zu gegebener Zeit) den Quellcode der in den Prolog-Übungen verwendeten Beispiele finden Sie hier.

Zeiten und Räume
Dienstags 09:00-11:00 in Raum 3.213 (J.v.N. Haus, Rudower Chaussee 25)
Donnerstags 09:00-11:00 in Raum 3.213 (J.v.N. Haus, Rudower Chaussee 25)
 
Dozent
Dr. André Frochaux

Übungsaufgaben

 

Es wird wöchentlich ein Übungsblatt ausgegeben. Jedes Übungsblatt enthält drei theoretische Aufgaben und eine praktische Aufgabe. Auf jedem Übungsblatt können bis zu 100 Punkte erreicht werden. Die wöchentlichen Übungsaufgaben werden an dieser Stelle bereitgestellt.

 

  • Blatt 1 (ausgeteilt am 17.10., Abgabe bis zum 29.10., 11:15)
  • Blatt 2 (ausgeteilt am 24.10., Abgabe bis zum 05.11., 11:15)
  • Blatt 3 (ausgeteilt am 31.10., Abgabe bis zum 12.11., 11:15)
  • Blatt 4 (ausgeteilt am 07.11., Abgabe (nur Aufgabe 1, 2 und 3) bis zum 19.11., 11:15)
  • Blatt 5 (ausgeteilt am 14.11., Abgabe bis zum 26.11., 11:15)
  • Blatt 6 (ausgeteilt am 21.11., Abgabe bis zum 03.12., 11:15)
  • Blatt 7 (ausgeteilt am 28.11., Abgabe bis zum 10.12., 11:15)
  • Blatt 8 (ausgeteilt am 05.12., Abgabe bis zum 17.12., 11:15)

Die Abgabe der bearbeiteten Aufgaben erfolgt jeweils in der übernächsten Woche dienstags, bis spätestens 11:15 Uhr vor Beginn der Vorlesung (oder alternativ im Briefkasten zwischen Raum 3.402 und 3.401 im 4. Stock von Haus 3 des Johann von Neumann-Hauses) in Papierform.
Eine verspätete Abgabe ist nicht möglich.

Für die Abgabe Ihrer Lösungen finden Sie sich bitte in Kleingruppen von mindestens 2 und maximal 3 Personen zusammen, in denen Sie die Lösungen zusammen erarbeiten und dann gemeinsam abgeben. Sie müssen dafür nicht in ein und derselben Übungsgruppe sein. Notieren Sie bitte ganz oben auf Ihrer Abgabe die Daten aller Personen Ihrer Kleingruppe und die Übungsgruppe, in der Sie die korrigierte Lösung wieder abholen möchten.
So könnte der Kopf Ihrer Abgabe aussehen:

 

Blatt Nr. x Max Musterman, Matr.Nr. 0101010, ÜG Do 13-15 Frochaux
  Sabine Musterfrau, Matr.Nr. 1001001, ÜG Mo 15-17 Keppeler
  Rückgabe:   ÜG Mo 15-17 Popova-Zeugmann

Jede Person, die auf dem Kopf einer Abgabe steht, sollte den gesamten Inhalt der Abgabe kennen und in der Lage sein, diesen auf Nachfrage in der Übungsstunde vorzurechnen!

Achtung:

 

  • Bitte fangen Sie für jede Aufgabe ein neues Blatt an.
  • Auf jedem Blatt müssen auf der Vorderseite Namen, Matrikelnummern und Nummer der Übungsgruppe aller Teilnehmer Ihrer Gruppe vermerkt sein. Fehlt eine dieser Angaben, müssen Sie mit Punktabzug rechnen (siehe unten).
  • Alle Blätter der gesamten Abgabe müssen mit einer Büroklammer (kein Tacker) zusammengeheftet werden.
  • Abgaben, die direkt vor der Vorlesung abgegeben werden, sind in die entsprechende Box derjenigen Übungsgruppe zu werfen, in der die Rückgabe der korrigierten Lösung erfolgen soll.
  • Einige Aufgaben bzw. Teilaufgaben sind durch einen Test im Moodle-Kurs zu beantworten. Diese sind von jeder Person einzeln durchzuführen.
  • Bei digitalen Prolog-Abgaben muss das Prädikat "matnr/1" für exakt die Matrikelnummern aller an der Lösung beteiligten Studierenden gelten (im obigen Beispiel matnr(0101010). und matnr(1001001).). Achten Sie auch darauf, dass die von Ihnen abgegebene Datei den richtigen Namen hat. (Vgl.: Abgabehinweise für die digitale Abgabe der Prolog-Übungsaufgaben über moodle.)

 

Erfüllt Ihre Abgabe eine oder mehrere der obigen Bedingungen nicht, so erhalten Sie ab einschließlich Blatt 2 einen Punktabzug von 2(Blattnr. - 1) Punkten. Das Blatt insgesamt wird aber stets mit mindestens 0 Punkten bewertet.

Die von Ihnen abgegebenen Lösungen werden von unseren Tutoren/innen korrigiert und in den Übungsstunden der darauffolgenden Woche(n) zurückgegeben. Die Theorie-Aufgaben werden in den Übungsstunden besprochen; die Prolog-basierten Aufgaben werden in den Prolog-Übungen besprochen.

Wichtig:

Für den Erwerb eines Übungs- oder Teilnahmescheins müssen insgesamt 40% der erreichbaren Übungspunkte erzielt werden und es muss mindestens einmal erfolgreich in der Übungsstunde vorgerechnet werden.
Der Erwerb eines Übungsscheins ist die Voraussetzung für die Teilnahme an der Modulabschlussprüfung (d.h. an der Klausur).


Modulabschlussprüfung

Die Klausur dauert 2 Stunden und findet am 19.02.2020 von 11:40 Uhr bis 13:40 Uhr im Schrödinger-Zentrum in den Räumen 0'115 und 0'110 statt. Einlass ist ab 11:15 Uhr.

Eine Wiederholungsprüfung (ebenfalls als 2-stündige Klausur) findet am 06.04.2020 von 09:40 Uhr bis 11:40 Uhr im Schrödinger-Zentrum in Raum 0'115 statt. Einlass ist ab 09:15 Uhr.

Hinweise zur An- und Abmeldung finden Sie auf der Seite des Prüfungsbüros.

Zur Vorbereitung finden Sie hier eine Beispielklausur aus einem vergangenen Semester. Beachten Sie: in diesem Semester wird es (im Gegensatz zur Beispielklausur) keine Ankreuzaufgaben in der Klausur geben.

Eine Zusammenstellung von Hinweisen zur Klausur finden Sie hier.


Literatur

Haupthema der Vorlesung ist die Logik. Folgende Bücher seien dazu zur Vertiefung des Vorlesungstoffes empfohlen:

[B] S. Burris, Logic for Mathematics and Computer Science. Prentice Hall, 1998.
[KK] M. Kreuzer, S. Kühling. Logik für Informatiker. Pearson, 2006.
[S] U. Schöning, Logik für Informatiker. 5. Auflage, Spektrum Akademischer Verlag, 2000.

Als Ergänzung seien auch noch folgende Bücher genannt:

[EFT] Heinz-Dieter Ebbinghaus, Jörg Flum, Wolfgang Thomas, Einführung in die Mathematische Logik. 5. Auflage, Spektrum Akademischer Verlag, 2007.
[E] Heinz-Dieter Ebbinghaus, Einführung in die Mengenlehre. 4. Auflage, Spektrum Akademischer Verlag, 2003.
[L] Leonid Libkin, Elements of Finite Model Theory. Springer, 2004. Die für die Vorlesung relevanten Teile des Buchs sind hier unter dem mit "Download table of contents and a sample chapter" beschrifteten Link erhältlich.
[FG] Jörg Flum, Martin Grohe, Parameterized Complexity Theory. Springer, 2005.
[C] P. J. Cameron, Sets, Logic and Categories. Springer Verlag, 1998.
[vD] D. van Dalen, Logic and Structure. 4th Edition, Springer Verlag, 2004.
[HR] M. Huth and M. Ryan, Logic in Computer Science – Modelling and Reasoning About Systems . 2nd Edition, Cambridge University Press, 2004.

Im praktischen Teil der Veranstaltung beschäftigen wir uns mit der Programmiersprache Prolog. Hier basiert die Vorlesung auf den folgenden beiden Büchern:

[BBS] Patrick Blackburn, Johan Bos, Kristina Striegnitz, Learn PROLOG Now!. Kings College Publications, 2006. Online version.
[SS] Ehud Shapiro, Leon Sterling, The Art of PROLOG: Advanced Programming Techniques. 2nd Edition, MIT Press, 1994.

Weitere Materialien

Programmierresourcen: Wir verwenden in der Vorlesung SWI-Prolog. Ein Kurzanleitung für den Einstieg in SWI-Prolog finden Sie hier.

snippets-of-logic: Die in der Vorlesung angesprochenen snippets-of-logic finden sich für Aussagenlogik hier.