Programowanie deklaratywne i logika obliczeniowa

Podobne dokumenty
Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Metoda Tablic Semantycznych

Rachunek predykatów. Formuły rachunku predykatów. Plan wykładu. Relacje i predykaty - przykłady. Relacje i predykaty

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Semantyka rachunku predykatów

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Logika Matematyczna (1)

Paradygmaty dowodzenia

1. Składnia. Logika obliczeniowa - zadania 1 SKŁADNIA Teoria

Podstawy Sztucznej Inteligencji (PSZT)

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

III rok kognitywistyki UAM,

Logika Matematyczna (1)

Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Teoretyczne podstawy informatyki

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Adam Meissner.

Matematyka II - Organizacja zajęć. Egzamin w sesji letniej

Logika Matematyczna (10)

Modele Herbranda. Logika obliczeniowa. Joanna Józefowska. Szukamy modelu. Przykład Problemy. Model Herbranda

LOGIKA Klasyczny Rachunek Zdań

Semantyka rachunku predykatów pierwszego rzędu. Dziedzina interpretacji. Stałe, zmienne, funkcje. Logika obliczeniowa.

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki

PRZEWODNIK PO PRZEDMIOCIE

Logika rachunek zdań

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I

Rekurencyjna przeliczalność

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

Rachunek logiczny. 1. Język rachunku logicznego.

Rachunek zdań i predykatów

Składnia rachunku predykatów pierwszego rzędu

WYKŁAD 3: METODA AKSJOMATYCZNA

Wprowadzenie do Sztucznej Inteligencji

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW

PRZEWODNIK PO PRZEDMIOCIE

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki. Wykład 14. Wprowadzenie do logiki intuicjonistycznej

Internet Semantyczny i Logika I

Metalogika (11) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

III rok kognitywistyki UAM,

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań

Reguły gry zaliczenie przedmiotu wymaga zdania dwóch testów, z logiki (za ok. 5 tygodni) i z filozofii (w sesji); warunkiem koniecznym podejścia do

Interpretacja Niech U będzie zbiorem formuł takim, że zbiór {p 1,..., p k } jest zbiorem wszystkich symboli predykatywnych, {f 1,..., f l } jest zbior

Matematyczne Podstawy Informatyki

Klasyczny rachunek zdań 1/2

Kultura logiczna Klasyczny rachunek zdań 1/2

Logika dla socjologów Część 2: Przedmiot logiki

Lista 6 Problemy NP-zupełne

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 10. Twierdzenie o pełności systemu aksjomatycznego KRZ

Elementy logiki matematycznej

Rachunek zdań. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018

Definicja: alfabetem. słowem długością słowa

Teoretyczne podstawy informatyki

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

JEZYKOZNAWSTWO. I NAUKI O INFORMACJI, ROK I Logika Matematyczna: egzamin pisemny 11 czerwca Imię i Nazwisko:... FIGLARNE POZNANIANKI

Podstawowe Pojęcia. Semantyczne KRZ

Automatyczne dowodzenie twierdzeń metodą rezolucji

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

Programowanie deklaratywne

I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych.

Logiki modalne. notatki z seminarium. Piotr Polesiuk

Andrzej Wiśniewski Logika II. Wykład 6. Wprowadzenie do semantyki teoriomodelowej cz.6. Modele i pełność

Logika Matematyczna 16 17

Metody dowodzenia twierdzeń i automatyzacja rozumowań Na początek: teoria dowodu, Hilbert, Gödel

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).

JEZYKOZNAWSTWO. I NAUKI O INFORMACJI, ROK I Logika Matematyczna: egzamin pisemny 18 czerwca Imię i Nazwisko:... I

Michał Lipnicki (UAM) Logika 11 stycznia / 20

Myślenie w celu zdobycia wiedzy = poznawanie. Myślenie z udziałem rozumu = myślenie racjonalne. Myślenie racjonalne logiczne statystyczne

Dowody założeniowe w KRZ

Logika i teoria mnogości Wykład Sformalizowane teorie matematyczne

Logika I. Wykład 4. Semantyka Klasycznego Rachunku Zdań

Andrzej Wiśniewski Logika II. Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań

Kierunek i poziom studiów: matematyka, studia I stopnia, rok I. Sylabus modułu: Wstęp do matematyki (03-MO1S-12-WMat)

Teoria obliczeń i złożoność obliczeniowa

LOGIKA I TEORIA ZBIORÓW

Drzewa Semantyczne w KRZ

WYKŁAD 7: DEDUKCJA NATURALNA

Wstęp do logiki. Semiotyka cd.

Reprezentacja wiedzy ontologie, logiki deskrypcyjne

Zastosowanie logiki matematycznej w procesie weryfikacji wymagań oprogramowania

Wstęp do Techniki Cyfrowej... Algebra Boole a

Logika Matematyczna (2,3)

Logika pragmatyczna dla inżynierów

Logika. Michał Lipnicki. 15 stycznia Zakład Logiki Stosowanej UAM. Michał Lipnicki () Logika 15 stycznia / 37

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Poprawność semantyczna

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Andrzej Wiśniewski Logika II. Wykłady 12 i 13. Metoda tabel analitycznych dla normalnych modalnych rachunków zdań

Rachunek zdań - semantyka. Wartościowanie. ezyków formalnych. Semantyka j. Logika obliczeniowa. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Klasyczny rachunek predykatów

Twierdzenia Gödla dowody. Czy arytmetyka jest w stanie dowieść własną niesprzeczność?

Elementy logiki i teorii mnogości Wyk lad 1: Rachunek zdań

Kierunek i poziom studiów: Matematyka, studia I stopnia, rok 1 Sylabus modułu: Wstęp do matematyki (Kod modułu: 03-MO1N-12-WMat)

Transkrypt:

Programowanie deklaratywne i logika obliczeniowa Programowanie deklaratywne i logika obliczeniowa Wykład logika 12 godzin Dr hab. inż. Joanna Józefowska, prof. PP dyżur: poniedziałek 9.30-11.00 p. 10, Wieniawskiego 17/19 e-mail: joanna.jozefowska@cs.put. poznan.pl materiały do wykładów: http://www.cs.put.poznan.pl/jjozefowska/ hasło: w2005 Laboratorium 10 godzin Dr inż. Tomasz Łukaszewski Mgr inż. Agnieszka Ławrynowicz Sprawdzian na ostatnim wykładzie (10 punktów) Sprawdzian na laboratorium Czas pracy poza zajęciami: ok. 30 h Wykład programowanie 18 godzin Dr inż. Artur Michalski e-mail: artur.michalski@cs.put poznan.pl Laboratorium 20 godzin Dr inż. Artur Michalski Mgr inż. Agnieszka Ławrynowicz Sprawdzian na ostatnim wykładzie (20 punktów) Zaliczenie laboratorium Literatura M. Ben-Ari, Logika matematyczna w informatyce, WNT, Warszawa 2005. I. A. Ławrow, Ł. L. Maksimowa, Zadania z teorii mnogości, logiki matematycznej i teorii algorytmów, PWN, Warszawa 2004. Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, Peter Patel-Schneider (eds.), The Description Logic Handbook Theory, Implementation and Applications, Cambridge University Press, Cambridge 2003. A. V. Aho, J. D. Ullman, Wykłady z informatyki z przykładami w języku C, Helion, Gliwice 2003. R. L. Epstein, W. A. Carnelli, Computability, Wadsworth, Belmont, 2000. T. Batóg, Podstawy logiki, Wydawnictwo naukowe UAM, Poznań 1999. Plan wykładu Powtórka: rachunek zdań i rachunek predykatów, rezolucja. Rachunek zdań: systemy dowodzenia (gentzenowski, hilbertowski), Rachunek predykatów: systemy dowodzenia, rezolucja Programowanie w logice: formuły jako programy, semantyka języków programowania, weryfikacja programów Logiki deskrypcyjne: podstawowe definicje i Dowodzenie twierdzeń, systemy logiczne Wykład 1 Plan wykładu Logika Dowodzenie twierdzeń Systemy logiczne System gentzenowski

Logika a informatyka Logika stanowi matematyczne podstawy oprogramowania, jest używana do: formalnego definiowania semantyki języków programowania, tworzenia formalnych specyfikacji programów, weryfikacji ich poprawności. Zasada sylogizmu Przesłanka: Wszyscy ludzie są śmiertelni. Przesłanka: X jest człowiekiem. Wniosek: A zatem X jest śmiertelny. Przesłanka: Jakieś samochody terkoczą. Przesłanka: Mój samochód jest jakimś samochodem. Wniosek: A zatem mój samochód terkocze. Logika matematyczna 1. Każde zdanie, które można udowodnić jest prawdziwe. 2. Jeżeli pewne zdanie jest prawdziwe, to istnieje jego dowód (być może jeszcze nieznany). Bramka typu I Bramka typu NIE Bramka typu LUB (Bit1 Bit2) (Bit1 Bit2) (Bit1 Bit2) (Bit1 Bit2) Bit1 Bit2 Bit1 Bit2

(Bit1 Bit2) (Bit1 Bit2) (Bit1 Bit2) (Bit1 Bit2) Bit1 Bit2 Bit1 Bit2 Rachunek zdań Wyrażenie dwuwartościowe: prawda i fałsz Zmienne zdaniowe Operatory logiczne Reguły składniowe Semantyka (interpretacja) Dowód Komputery cyfrowe pracują z dwoma poziomami napięcia: 0 i 1 Rachunek predykatów System logiczny dopuszczający funkcje o wartościach logicznych to rachunek predykatów lub logika pierwszego rzędu. Wystarcza do sformalizowania algebry, arytmetyki,... Rachunek zdań systemy dowodzenia Formuła A1... An A jest prawdziwa Twierdzenia teorii T(U) to logiczne konsekwencje zbioru aksjomatów U. U = A (formuła A jest konsekwencją zbioru aksjomatów U) w.t.w. gdy =A 1... A n A, gdzie U = {A 1,..., A n } jest zbiorem aksjomatów. U = A gdy procedura decyzyjna rozwiązująca problem prawdziwości formuł udzieli dla formuły A odpowiedzi TAK. Metoda tabel semantycznych Algorytm badania spełnialności formuł rachunku zdań. Zasada: należy systematycznie poszukiwać modelu.

Metoda tabel semantycznych Wartości zapamiętujemy w strukturze drzewa. Pierwotna formuła jest umieszczana w korzeniu. Liście zawierają zbiory literałów, które powinny być spełnione. Liść zawierający literały komplementarne oznaczymy x, a liść zawierający zbiór literałów spełnialnych. Metoda tabel semantycznych Tworzenie tabel semantycznych nie jest jednoznaczne. Są dwie klasy reguł: typu α i typu β. Reguły tworzenia tabel semantycznych Reguły tworzenia tabel semantycznych A 1 A 2 A 1 A 2 A 1 A 2 A 1 A 2 β β 1 ( ) ( ) β 2 ( ) ( ) ( ) ( ) ( ) Algorytm Jeżeli U(l) (zbiór formuł w wierzchołku l) jest zbiorem literałów, to sprawdź, czy zawiera on parę literałów komplementarnych. Jeżeli tak, to oznakuj go jako domknięty x, jeżeli nie, to oznakuj go jako otwarty. Jeżeli U(l) nie jest zbiorem literałów, to wybierz dowolną formułę z tego zbioru, niebędącą literałem. Jeżeli formuła jest typu α, to utwórz nowy wierzchołek l jako potomka wierzchołka l i umieść w nim zbiór formuł: U(l )=(U(l) {α}) {α 1, } (Jeżeli formuła ma postać A 1, to nie ma formuły ). Jeżeli formuła jest typu β, to utwórz dwa nowe wierzchołki l i l jako następniki wierzchołka l. W wierzchołku l umieść zbiór formuł: U(l )=(U(l) {β}) {β 1 } a w wierzchołku l zbiór: U(l )=(U(l) {β}) {β 2 } Przykład p ( q p) A 1 A 2 A 1 A 2

Przykład p ( q p) p, q p A 1 A 2 A 1 A 2 Przykład p ( q p) p, q p p, q p, p x β β 1 ( ) ( ) β 2 ( ) ( ) ( ) ( ) ( ) Tabele semantyczne Tabelę semantyczną, której tworzenie zakończono nazywamy zakończoną. Tabelę zakończoną nazywamy domkniętą, jeśli wszystkie liście są oznakowane jako domknięte. Jeżeli istnieje liść otwarty, to tabelę nazywamy otwartą. Algorytm tworzenia tabeli semantycznej zatrzymuje się. Tabele semantyczne Formuła A jest niespełnialna wtw, gdy zakończona tabela T dla formuły A jest domknięta. Formuła A jest spełnialna wtw, gdy T jest otwarta. Formuła A jest prawdziwa wtw tabela semantyczna dla formuły A jest domknięta. Metoda tabel semantycznych jest procedurą decyzyjną rozstrzygającą prawdziwość formuł rachunku zdań. Problemy Zbiór aksjomatów może być nieskończony. np. (x=y) (x+1=y+1) (arytmetyka) Dla nielicznych systemów logicznych istnieją procedury decyzyjne takie, jak dla rachunku zdań. Procedura decyzyjna może nie dawać wglądu w związki między aksjomatami i twierdzeniem. Procedura decyzyjna daje tylko odpowiedzi TAK i NIE, czyli nie możemy poznać wyników pośrednich (lematów). Rozwiązanie W logice stosuje się podejście zwane wyprowadzaniem formuł polegające na wyborze reguł składniowych służących do wyprowadzania nowych formuł ze zbioru aksjomatów. Wyprowadzanie jest operacją czysto składniową.

System dowodzenia Składa się ze zbioru aksjomatów oraz zbioru reguł dowodzenia. Wyprowadzeniem (dowodem) w systemie dowodzenia nazywamy ciąg zbiorów formuł takich, że każda formuła należąca do jednego z tych zbiorów jest aksjomatem lub może być wyprowadzona z poprzednich formuł ciągu przy użyciu pewnej reguły dowodzenia. Jeśli ostatnim elementem ciągu jest {A}, to A nazywamy twierdzeniem, a ciąg zbiorów formuł nazywamy dowodem formuły A. Mówimy też, że A jest wyprowadzalne, co zapisujemy -A Zalety wyprowadzania Liczba aksjomatów może być nieskończona. Każdy dowód składa się ze skończonego zbioru formuł. Łatwo sprawdzić poprawność na podstawie składni formuł. Z dowodu wynika jakich aksjomatów, twierdzeń oraz reguł użyto i w jakim kroku. Wzorzec dowodu można przenieść na podobne dowody. Udowodnione twierdzenie może być wykorzystane w kolejnych dowodach. Problemy wyprowadzania Nie poddaje się systematycznemu przeszukiwaniu. Wymaga pomysłowości, a nie siłowego przeszukiwania. Można wykorzystać heurystyki. System gentzenowski G Gerhard Gentzen (24 listopada 1909-4 sierpnia 1945) - niemiecki matematyk, zasłużony w badaniach nad logiką i podstawami matematyki. Miał duży wpływ na powstanie systemów dowodzenia twierdzeń, tworząc między innymi system sekwentów. Po zajęciu Pragi przez wojska radzieckie został aresztowany razem z pozostałymi profesorami niemieckiego uniwersytetu i po trzech miesiącach przebywania w tragicznych warunkach zmarł. System gentzenowski G System gentzenowski jest systemem dowodzenia. Formuła typu α Formuła typu β Aksjomatami są zbiory formuł zawierające pary literałów komplementarnych. Reguły dowodzenia są następujące: U 1 { α1, α2} U 1 β1 U2 β2 U1 { α} U1 U2 { β} { } { } System gentzenowski Przesłanka { α α } { α} U 1 1, 2 U1 Konkluzja

System gentzenowski α α 1 (A 1 A 2 ) A 1 A 2 A 1 A 2 A 1 A 1 A 2 A 1 A 2 A 1 A 2 A 1 A 2 (A 1 A 2 ) A 1 A 2 A 2 (A 1 A 2 ) (A 1 A 2 ) (A 2 A 1 ) A 1 A 2 (A 1 A 2 ) (A 2 A 1 ) β 2 β β 1 ( ) ( ) ( ) ( ) Przykład: - (p q) (q p) 1. - p, q, p aksjomat 2. - q, p, q aksjomat 3. - (p q), q, p β : 1, 2 4. - (p q), (q p) α : 3 5. - (p q) (q p) α : 4 Przykład: - (p q) (q p) p, q, p (p q), q, p q, p, q (p q), (q p) Odwrócenie do góry nogami tabeli semantycznej i zamiana znaków wszystkich formuł występujących w wierzchołkach. Twierdzenia Czytamy: U jest wyprowadzalne (w systemie gentzenowskim) Niech U będzie dowolnym zbiorem formuł, a U zbiorem dopełnień formuł ze zbioru U. Wówczas -U wtedy i tylko wtedy, gdy istnieje domknięta tabela semantyczna dla U. W systemie gentzenowskim -A wtw gdy istnieje domknięta tabela semantyczna dla A. =A wtw gdy - A w systemie G. (p q) (q p)