
Logik und Grundlagen der Informatik Stephan Schulz [email protected] (define (fak x) (if (= x 0) 1 (* x (fak (- x 1))) ) ) (0 S n N :(n S n +1 S)) N S 2 ^8 2 2 ! 2 ! ✓ Inhaltsverzeichnis Einfuhrung¨ Vorlesung 5 Mengenlehre Vorlesung 6 Zahlenkonstruktion und Termalgebra Vorlesung 7 Mengenoperationen Vorlesung 8 Karthesische Produkte, Potenzmengen Vorlesung 9 Relationen Vorlesung 10 Funktionen Vorlesung 11 Funktionales Programmieren mit Scheme Vorlesung 12 Formale Logik Vorlesung 13 Aussagenlogik Vorlesung 14 Pr¨adikatenlogik Vorlesung 15 Anhang: Kurzubersicht¨ Scheme Vorlesung 16 Einige L¨osungen Vorlesung 17 Einzelvorlesungen Vorlesung 18 Vorlesung 1 Vorlesung 19 Vorlesung 2 Vorlesung 20 Vorlesung 3 Vorlesung 21 Vorlesung 4 Vorlesung 22 2 , Vorstellung I Stephan Schulz I Dipl.-Inform., U. Kaiserslautern, 1995 I Dr. rer. nat., TU Munchen,¨ 2000 I Visiting professor, U. Miami, 2002 I Visiting professor, U. West Indies, 2005 I Gastdozent (Hildesheim, Offenburg, . ) seit 2009 I Praktische Erfahrung: Entwicklung von Flugsicherungssystemen I System Engineer, 2005 I Project Manager, 2007 I Product Manager, 2013 I Professor, DHBW Stuttgart, 2014 I Grundlagen der Informatik Forschung: Logik & Deduktion 3 , Rechnerausstattung I Fur¨ die praktischen Ubungen¨ ben¨otigen Sie einen Rechner, auf dem Sie Scheme-Programme entwickeln und ausfuhren¨ k¨onnen I Empfohlene Implementierung: Racket (Version 6.3) I Solide, performante Implementierung I Integrierte IDE (DrRacket) I Unterstutzt¨ alle wichtigen Plattformen I OS-X I Linux I (Windows) I Gute Libraries I Nachteil: Auch mit R5RS-Modul kleine Abweichungen vom Standard! I Betrifft aber nicht den Kern der Sprache 4 , Berufsbild Image credit: http://xkcd.com/722/ 5 , Semesterubersicht¨ I Mengenlehre I Mengenbegriff und Operationen I Relationen, Funktionen, Ordnungen,. I Nichtprozedurale Programmiermodelle I Funktional: Scheme I (Logisch/Deklarativ: Prolog) I Aussagenlogik I Syntax und Semantik I Formalisierungsbeispiele I Kalkule¨ I Pr¨adikatenlogik I Syntax und Semantik I Formalisierungsbeispiele/Korrektheit von Programmen I Kalkule¨ 6 , Literatur I Allgemein I Dirk W. Hoffmann: Theoretische Informatik I Karl Stroetmann: Theoretische Informatik I - Logik und Mengenlehre (Skript der Vorlesung 2012/2013 an der DHBW), http://wwwlehre.dhbw-stuttgart.de/~stroetma/Logic/ logik-2013.pdf I Interessante Klassiker I Bertrand Russell: Introduction to Mathematical Philosophy (1918), http://www.gutenberg.org/ebooks/41654 I Raymond M. Smullyan: First-Order Logic (1968) I Scheme 5 I Kelsey, Clinger, Rees (editors): Revised Report on the Algorithmic Language Scheme, http: //www.schemers.org/Documents/Standards/R5RS/r5rs.pdf I G. J. Sussman and H. Abelson: Structure and Interpretation of Computer Programs, Volltext unter CC BY-NC 3.0: http://mitpress.mit.edu/sicp/ 7 , Ziele der Vorlesung (1): Vokabular I These von Sapir{Whorf: \Language determines thought, linguistic categories limit and determine cognitive categories." I Wie spricht man uber¨ Argumente? I Wie beschreibt man Algorithmen, Datenstrukturen und Programme abstrakt? I Was sind . I Syntax I Semantik I Interpretation I Modell I Wahrheit I Gultigkeit¨ I Ableitbarkeit? 8 , Ziele der Vorlesung (2): Methoden I Methodenkompetenz in I Modellierung von Systemen mit abstrakten Werkzeugen I Anwendungen von Logik und Deduktion I Argumentieren uber¨ Logik und Deduktion I Argumentieren uber¨ Programme und ihr Verhalten I Programmieren in Scheme/Prolog Image source: https://xkcd.com/1134 9 , Ubung:¨ Das MIU-R¨atsel I Wir betrachten ein formales System mir den folgenden Regeln: 1. Alle Worte bestehen aus den Buchstaben M, I und U 2. Wenn ein Wort mit I endet, darf man U anh¨angen 3. III darf durch U ersetzt werden 4. UU darf entfernt werden 5. Das Teilwort nach einem M darf verdoppelt werden 6. Eine Ableitung beginnt immer mit MI Nach Douglas R. Hofstadter, G¨odel, Escher, Bach: ein Endloses Geflochtenes Band 10 , Ubung:¨ Das MIU-R¨atsel (Formaler) I Alle Worte bestehen aus den Buchstaben M, I und U I x und y stehen fur¨ beliebige (Teil-)worte I Eine Ableitung beginnt immer mit MI I Ableitungsregeln: 1. xI xIU 2. xIIIy! xUy 3. xUUy !xy 4. Mx !Mxx ! I Wir schreiben x y, wenn x durch eine Anwendung einer Regel in y uberf¨ uhren¨ l¨aßt ` Beispiel: MI 4 MII 4 MIIII 2 MUI 4 MUIUI I ` ` ` ` I Aufgabe: Geben Sie fur¨ die folgenden Worte Ableitungen an: 1. MUIU 2. MIIIII 3. MUUUI 4. MU 11 , MIU L¨osungen (1) 1. xI xIU ! 2. xIIIy xUy ! 3. xUUy xy ! 4. Mx Mxx ! L¨osungen 1. MI MII MIIII MIIIIU MUIU ` ` ` ` 2. MI MII MIIII MIIIIIIII MIIIIIIIIU MIIIIIUU ` ` ` ` ` ` MIIIII 3. MI MIIII MIIIIIIII MUIIIII MUUII MUUIIUUII ` ` ` ` ` ` MUUIIII MUUUI ` 12 , MIU L¨osungen (2) 1. xI xIU ! 2. xIIIy xUy ! 3. xUUy xy ! 4. Mx Mxx ! L¨osungen 4. MU kann nicht hergeleitet werden! I Beweis: Betrachte Anzahl der I in ableitbaren Worten ∗ I Es gilt die Invariante, dass MI ` x impliziert, dass jxjI nicht glatt durch 3 teilbar ist I jMIjI = 1 mod 3 = 1 I Regeln 1 und 3 ¨andern die Anzahl der I nicht I Regel 4 verdoppelt die Anzahl der I I Regel 2 reduziert die Anzahl der I um 3 I In keinem der F¨alle wird aus einem nicht-Vielfachen von 3 ein Vielfaches von 3. Aber MU I = 0 und 0 mod 3 = 0. Also kann MU nicht herleitbar sein. j j 13 , Reflektion Vokabular Methoden 14 , Logik I Ziel I Formalisierung rationalen Denkens Ursprunge:¨ Aristoteles ( Organon\, De I " " Interpretatione\), Al-Farabi, Boole, Frege, Russell&Whitehead ( Principia Mathematica\), " G¨odel (Vollst¨andigkeit und Unvollst¨andigkeit), Davis . I Rolle der Logik in der Informatik I Grundlagen der Informatik und der Mathematik: Axiomatische Mengenlehre, Boolsche Schaltkreise I Anwendung innerhalb der Informatik: Spezifikation, Programmentwicklung, Programmverifikation I Werkzeug fur¨ Anwendungen der Informatik außerhalb der Informatik: Kunstliche¨ Intelligenz, Wissensrepr¨asentation 15 , Deduktionsmethoden I Automatisierung rationalen Denkens I Eindeutige Spezifikationen I Syntax (was kann ich aufschreiben?) I Semantik (was bedeutet das geschriebene?) I Objektiv richtige Ableitung von neuem Wissen Was bedeutet Richtigkeit\? I " I Kann man Richtigkeit automatisch sicherstellen? I Kann man neue Fakten automatisch herleiten? = = 8 ` )j 9 = :9 j ` 16 , Anwendungsbeispiel: Aquivalenz¨ von Spezifikationen I Entwicklungsprozess (Auszug): I Kundenspezifikation I Systemspezifikation I Software-Design I Implementierung I Problem: Aquivalenz¨ der verschiedenen Ebenen I Manuelle Uberpr¨ ufung¨ aufwendig und fehleranf¨allig I Aquivalenz¨ nicht immer offensichtlich I Ausgangsspezifikation nicht immer zur direkten Umsetzung geeignet I Deduktionsmethoden k¨onnen diesen Prozess unterstutzen¨ Geht das auch konkreter? 17 , Beispiel: Flugsicherung Kontrollierter Luftraum Unkontrollierter Luftraum Anweisungen Luftlagebild Anfragen Überwachungs- ATC Center system (Fluglotsen) Flughafen 18 , Luftlagebild 19 , LuftlagebildTheoretische Grundlagen des Software Engineering Stephan Schulz Luftlagebild Label: Sektorgrenze Kennung Flughöhe Geschwindigkeit Wegpunkt Flugzeug Sperrgebiet Übungsgebiet 20 , 27 Filterung vermeidet Uberlastung¨ I Ziel: Fluglotse sieht nur relevanten Verkehr I Beispiel: I Nur Flugzeuge im kontrollierten Luftraum I Alle Flugzeuge in der N¨ahe eines Flughafens I Ansonsten: Flugzeuge ab Flugh¨ohe FL 100 I Ausnahme: Milit¨arflugzeuge im Ubungsgebiet¨ Sehr variable Forderungen der Lotsen = ) Hart-kodierte L¨osungen ungeeignet 21 , L¨osung: Symbolische Logik I Filter wird durch logischen Ausdruck beschrieben I Elementarfilter (Auswertung nach Luftlage): I H¨ohenband I Id-Code (Mode-3/A) in Liste I Geographische Filter (Polygon) I Kombinationen durch logische Operatoren Flugzeug wird genau dann angezeigt, wenn der Filterausdruck zu wahr\ ausgewertet wird " 22 , Realisierung im Luftraum UAE (Beispiel) I Generische Filter: inregion(X ; polygon ): X ist im beschriebenen Polygon I h i I altitude(X ; lower; upper): Flugh¨ohe (in FL) von X ist zwischen lower (einschließlich) und upper (ausschließlich) modeA(X ; code-list ): Kennung von X ist in gegebener Liste I h i I Spezialisierte Einzelfilter: I X : a-d-app(X ) inregion(X ; [abu-dhabi-koord]) 8X : dub-app(X )$ inregion(X; [dubai-koord]) I 8 $ I X : milregion(X ) inregion(X ; [training-koord]) 8X : lowairspace(X$) altitude(X ; 0; 100) I 8 $ I X : uppairspace(X ) altitude(X ; 100; 900) 8X : military(X ) modeA($ X ; [mil-code-list]) I 8 $ 23 , Luftraum UAE (II) Filterl¨osung: Stelle Flugzeug X genau dann da, wenn ((a-d-app(X ) lowairspace(X )) ^ (dub-app(X ) lowairspace(X )) _ ^ uppairspace(X )) _ ( milregion(X ) military(X )) ^ : _: mit den gegebenen Definitionen und der durch die aktuelle Luftlage definierte Interpretation zu wahr\ evaluiert wird. " 24 , Optimierung I Implementierungsdetails: I H¨ohenfilter sind billig (2 Vergleiche) I ID-Filter: Zugriff auf große Tabelle I Geographische Filter:Teuer, sph¨arische Geometrie I Positiv: Kurzschlussauswertung der Boolschen Operatoren I Auswertung des zweiten Arguments nur, wenn notwendig I Optimierte Version: ((uppairspace(X ) dub-app(X ) _ a-d-app(X )) _ ( military(X ) milregion(X ))) ^ : _: 25 , Aquivalenz?¨ ((a-d-app(X ) lowairspace(X )) ^ (dub-app(X ) lowairspace(X )) _ ^ uppairspace(X )) _ ( milregion(X ) military(X )) ^ : _: gegen ((uppairspace(X ) dub-app(X ) _ a-d-app(X )) _ ( military(X ) milregion(X ))) ^ : _: 26 , Formalisierung in TPTP-Syntax f o f ( f i l t e r equiv , conjecture, ( % Naive version: Display aircraft in the Abu Dhabi Approach area in % lower airspace , display aircraft in the Dubai Approach area in lower % airspace, display
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages534 Page
-
File Size-