Logik and Grundlagen Der Informatik

Logik and Grundlagen Der Informatik

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    534 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us