PROLOG. Programmation en Logique. Michał Bereta
|
|
- Maciej Kowal
- 9 lat temu
- Przeglądów:
Transkrypt
1 PROLOG Programmation en Logique Michał Bereta
2 Programmation en Logique Stworzony w 1971 roku przez Alaina Colmeraurera i Phillipe'a Roussela na Uniwersytecie w Marsylii Podczas pracy nad zastosowaniem logiki predykatow (klauzul Horna) do NLP Pierwszy kompilator Prologu powstal w Algolu Od polowy lat 70-tych wspolpraca z Robertem Kowalskim na Uniwersytecie w Edynburgu (Szkocja)
3 Implementacje Allegro Prolog ( ) ALS Prolog ( ) Amzi! Prolog ( B-Prolog ( BinProlog ( ) Ciao Prolog ( Otwarte Oprogramowanie pod GNU General Public License i/lub GNU LGPL CxProlog ( )
4 Implementacje GNU Prolog ( też zwany gprolog, Otwarte Oprogramowanie pod GNU General Public License hprolog ( ) ilprolog ( ) LPA Prolog ( MINERVA ( komercyjny kompilator ISO-Prolog w 100% Java MobileProlog ( ), C# port Winikoffa WProlog NanoProlog ( )
5 Implementacje Open Prolog ( Quintus Prolog ( ) SICStus Prolog ( Strawberry Prolog ( SWI-Prolog ( Otwarte Oprogramowanie pod GNU LGPL Trinc Prolog ( TuProlog ( Otwarte Oprogramowanie pod GNU LGPL XSB ( Otwarte Oprogramowanie pod GNU LGPL YAP Prolog ( Otwarte Oprogramowanie pod Licencja Artystyczna
6 PSI Prolog Sequential Inference Japonia, 1982 Proba budowy komputerów piątej generacji: Równoległa architektura Przetwarzanie wiedzy Prolog stał się podstawą języka KL0 (Kernel Language) asembler nowych maszyn o predkości 30 KLIPSów LIPS Logical Inference Per Second
7 Programowanie Algorytmy + Struktury Danych = Programy Niklaus Wirth Logika + Sterowanie = Algorytm Robert Kowalski
8 Programowanie Proceduralne C, Pascal,... Deklaratywne Prolog
9 Programowanie w Prologu Język deklaratywny Określa się zwiazki między danymi a wynikiem Określa się CO ma by przetworzone a nie JAK ma być przetworzone Minimalizacja STEROWANIA na korzyść LOGIKI
10 Program w Prologu FAKTY REGUŁY ZAPYTANIA
11 Hello World Co kto lubi? FAKTY: lubi(jarek, jablka). lubi(jarek, gruszka). lubi(kasia, hamburger). lubi(stefan, curry).
12
13
14 Reguły FAKTY: lubi(jarek, jablko). lubi(jarek, gruszka). lubi(kasia, hamburger). lubi(stefan, curry). REGUŁY: lubi(kasia, X) :- niezdrowe(x), alkohol(x). lubi(stefan, X) :- zdrowe(x) ; alkohol(x).
15 Reguły cd. FAKTY: zdrowe(jablko). zdrowe(gruszka). niezdrowe(hamburger). niezdrowe(piwo). alkohol(piwo). alkohol(wino).
16
17 Zapytania w PROLOGU Zapytania w PROLOGU nie muszą składać się z jednego członu, np.: lubi(x,y). Można w locie definiować zmienne i odnosić się do nich w dalszej części zapytania.
18 Zapytania w PROLOGU
19 Zapytania w PROLOGU
20 ale... Zapytania w PROLOGU
21 Zapytania w PROLOGU ale... PROLOG nie pamieta zmiennych w kolejnych zapytaniach, jeśli nie zostały one dodane do pamięci INTERPRETERA.
22 Mechanizmy Prologu Uzgadnianie Zaznaczanie Nawracanie Odcinanie -! Rekurencja Struktury, listy Przeszukiwanie w głąb Rozumowanie wstecz
23 Elementy języka Oparty na logice predykatów I rzędu System logiczny, w którym kwantyfikatory mogą mówić tylko o obiektach, nie zaś o ich zbiorach. Tak więc nie mogą występować kwantyfikatory typu "dla każdej funkcji X na Y...", "istnieje własność p, taka że..." czy "dla każdego podzbioru X zbioru Z...". Rachunek ten nazywa się też rachunkiem kwantyfikatorów
24 Predykaty I rzędu W system rachunku predykatów pierwszego rzędu obiekty są reprezentowane przez termy: Term to wyrażenie składające się ze zmiennych oraz symboli funkcyjnych z pewnego ustalonego zbioru. Np.: x, f(x) oraz f(f(f(f(x,g),h),i),j). Termy w PROLOGu: Stałe np. jarek, kasie, piwo, gruszka Zmienne, np.: X, Y Termy zlożone -> reguły Predykat określa związek między obiektami. Jest relacją w sensie matematycznym. Np.. Predykat lubi
25 Klauzule Klauzula (ang. clause) to zbiór literałów i zanegowanych literałów, który jest prawdziwy wtedy i tylko wtedy, gdy ich alternatywa jest prawdziwa. Klauzula pusta jest zawsze fałszywa. Na przykład klauzula {p, r,q} jest prawdziwa, gdy przynajmniej jedno z wyrażeń p, r, q ma wartość logiczną 1.
26 Klauzula jest wyrażeniem postaci: B1, B2, B3,.., Bm A1, A2,..., An Klauzule Horna Klauzule Horna posiadają co najwyżej jeden literał w następniku: m=0 lub m=1 m=1, n=0 m=1, n!=0 m=0 m=0, n=0 np. B1 oznacza, że B1 zawsze zachodzi (fakt, asercja) np. B1 A1, A2,..., An jest regułą np. A1, A2,..., An jest negacją faktu klauzula pusta
27 Zasada rezolucji Metodą wnioskowania w Prologu jest zasada rezolucji. Odkryta w 1965 r. Przez J. A. Robinsona Ogólny zasada: Jeśli zbór klauzul jest niespójny to metodą rezolucji da się z niego wyprowadzić klauzule pustą. Rezolucja jest zupełna tzn. możliwe jest udowodnienie faktu poprzez wykazanie fałszywości zbioru przesłanek uzupełnionych negacją faktu.
28 Prolog a rezolucja Prolog wykorzystuje zasadę rezolucji ale pozwala również na: - użycie odcięcia - dynamiczną zmianę zawartości pamięci w trakcie dowodzenia - dodatkowe nielogiczne operacje, np. IO - arytmetykę
29 Pięcioro przyjaciół Pięcioro przyjaciół rywalizowało na bieżni. Wincenty ze smutkiem opowiedział, ze mu się nie udało zająć pierwszego miejsca. Grzegorz przybiegł na metę jako trzeci po Dymitrze. Wincenty zauważył na marginesie, ze Dymitr nie zajął drugiego miejsca, a Andrzej nie był ani pierwszym ani ostatnim. Borys powiedział, ze przybiegł na metę w ślad za Wincentym. Pytanie: kto przybiegł na jakim miejscu?
30 Działanie predykatu SELECT
31 Działanie predykatu SELECT
32 Działanie predykatu SELECT
33 Działanie predykatu SELECT
34 Działanie predykatu SELECT
35 Działanie predykatu SELECT
36 Rozwiązanie w Prologu miejsce(w,d,a,b,g) :- L0 = [1,2,3,4,5], G = 3, /* Grzegorz zajął trzecie miejsce */ select(w, L0, L1), W \= 1, /* Wincenty nie zajął pierwszego miejsca */ select(d, L1, L2), D \= 2, /* Dymitr nie zajął drugiego, ani tego co Wincenty */ select(a, L2, L3), A \= 1, A \= 5, /* Andrzej nie zajął pierwszego ani piątego, ani tego co Wincenty lub Dymitr*/ select(b, L3, [G]), /* pozostale miejsca zajęli Borys i Grzegorz */ B is W+1, /* Borys przybiegl zaraz za Wincentym */ G > D. /* Dymitr był na mecie wcześniej niż Grzegorz */
37 miejsce(w,d,a,b,g) :- Rozwiązanie w Prologu
38 Rozwiązanie w Prologu miejsce(w,d,a,b,g) :- L0 = [1,2,3,4,5], /*lista z numerami miejsc*/
39 Rozwiązanie w Prologu miejsce(w,d,a,b,g) :- L0 = [1,2,3,4,5], G = 3, /* Grzegorz zajął trzecie miejsce */
40 Rozwiązanie w Prologu miejsce(w,d,a,b,g) :- L0 = [1,2,3,4,5], G = 3, /* Grzegorz zajął trzecie miejsce */ select(w, L0, L1), W \= 1, /* Wincenty nie zajął pierwszego miejsca */
41 Rozwiązanie w Prologu miejsce(w,d,a,b,g) :- L0 = [1,2,3,4,5], G = 3, /* Grzegorz zajął trzecie miejsce */ select(w, L0, L1), W \= 1, /* Wincenty nie zajął pierwszego miejsca */ select(d, L1, L2), D \= 2, /* Dymitr nie zajął drugiego, ani tego co Wincenty */
42 Rozwiązanie w Prologu miejsce(w,d,a,b,g) :- L0 = [1,2,3,4,5], G = 3, /* Grzegorz zajął trzecie miejsce */ select(w, L0, L1), W \= 1, /* Wincenty nie zajął pierwszego miejsca */ select(d, L1, L2), D \= 2, /* Dymitr nie zajął drugiego, ani tego co Wincenty */ select(a, L2, L3), A \= 1, A \= 5, /* Andrzej nie zajął pierwszego ani piątego, ani tego co Wincenty lub Dymitr*/
43 Rozwiązanie w Prologu miejsce(w,d,a,b,g) :- L0 = [1,2,3,4,5], G = 3, /* Grzegorz zajął trzecie miejsce */ select(w, L0, L1), W \= 1, /* Wincenty nie zajął pierwszego miejsca */ select(d, L1, L2), D \= 2, /* Dymitr nie zajął drugiego, ani tego co Wincenty */ select(a, L2, L3), A \= 1, A \= 5, /* Andrzej nie zajął pierwszego ani piątego, ani tego co Wincenty lub Dymitr*/ select(b, L3, [G]), /* pozostale miejsca zajęli Borys i Grzegorz */
44 Rozwiązanie w Prologu miejsce(w,d,a,b,g) :- L0 = [1,2,3,4,5], G = 3, /* Grzegorz zajął trzecie miejsce */ select(w, L0, L1), W \= 1, /* Wincenty nie zajął pierwszego miejsca */ select(d, L1, L2), D \= 2, /* Dymitr nie zajął drugiego, ani tego co Wincenty */ select(a, L2, L3), A \= 1, A \= 5, /* Andrzej nie zajął pierwszego ani piątego, ani tego co Wincenty lub Dymitr*/ select(b, L3, [G]), /* pozostale miejsca zajęli Borys i Grzegorz */ B is W+1, /* Borys przybiegl zaraz za Wincentym */
45 Rozwiązanie w Prologu miejsce(w,d,a,b,g) :- L0 = [1,2,3,4,5], G = 3, /* Grzegorz zajął trzecie miejsce */ select(w, L0, L1), W \= 1, /* Wincenty nie zajął pierwszego miejsca */ select(d, L1, L2), D \= 2, /* Dymitr nie zajął drugiego, ani tego co Wincenty */ select(a, L2, L3), A \= 1, A \= 5, /* Andrzej nie zajął pierwszego ani piątego, ani tego co Wincenty lub Dymitr*/ select(b, L3, [G]), /* pozostale miejsca zajęli Borys i Grzegorz */ B is W+1, /* Borys przybiegl zaraz za Wincentym */ G > D. /* Dymitr był na mecie wcześniej niż Grzegorz */
46
47 Przeszukiwanie grafów
48 Rozwiązanie w Prologu d(a,b). d(b,e). d(b,c). d(d,e). d(c,d). d(e,f). d(g,e). go(x,x,t,t). go(x,y,t,t2) :- ( d(x,z) ; d(z,x) ), not(member(z,t)), go(z, Y, [Z T], T2).
49 Działanie predykatu MEMBER
50 Działanie predykatu MEMBER
51
52 lubi(jarek, jablko). lubi(jarek, gruszka). lubi(kasia, piwo). lubi(kasia, hamburger). Robienie exe'ka
53 Robienie exe'ka pisz_co_lubi(imie2):- lubi(imie2, X), write(x), nl, fail.
54 pytanie:- write('podaj imie: '), nl, read(imie), nl,nl, write('podales: '), write(imie), nl,nl, write(imie), write('lubi:'), nl, not(pisz_co_lubi(imie)), nl,nl, write('koniec'), get0(_), halt. Robienie exe'ka
55 Robienie exe'ka "C:\pl\bin\plcon.exe" --goal=pytanie --stand_alone=true -o pytanko.exe -c lubi.pl
56 Zastosowanie Sztuczna inteligencja Dowodzenie twierdzeń Systemy ekspertowe NLP (Natural Language Processing) Dedukcyjne bazy danych Matematyka przetwarzanie symboliczne
PROLOG. Prolog. Programowanie, W.F. Clocksin, C.S. Mellish, HELION Prolog, język sztucznej inteligencji, Eugeniusz Gatnar, Katarzyna Stąpor, Wyd.
PROLOG 1. Informacje wstępne Podczas zajęć korzystamy z darmowej wersji interpretera Prologu SWI-Prolog dostępnego ze strony: www.swi-prolog.org 2. Literatura i materiały Prolog. Programowanie, W.F. Clocksin,
Programowanie w logice
Programowanie w logice PROLOG cz.1 PROLOG język wysokiego poziomu Powstał w 1972 na Uniwersytecie w Marsylii (Francja) w zespole A.Colmerauer a i F.Roussel a PROgrammation en LOGique, PROgramming in LOGic,
Języki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 14 Języki deklaratywne Główne różnice między paradygmatem deklaratywnym a imperatywnym Omów główne cechy paradygmatu programowania w logice na przykładzie Prologa Główne
PODSTAWY SZTUCZNEJ INTELIGENCJI
Katedra Informatyki Stosowanej Politechnika Łódzka PODSTAWY SZTUCZNEJ INTELIGENCJI Laboratorium PROGRAMOWANIE SYSTEMÓW EKSPERTOWYCH Opracowanie: Dr hab. inŝ. Jacek Kucharski Dr inŝ. Piotr Urbanek Cel ćwiczenia
Języki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki deklaratywne - laborki Wprowadzenie
Paradygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Celem ćwiczenia jest zapoznanie się z podstawowymi możliwościami języka Prolog w zakresie definiowania faktów i reguł oraz wykonywania zapytań.
Paradygmaty Programowania Język Prolog Celem ćwiczenia jest zapoznanie się z podstawowymi możliwościami języka Prolog w zakresie definiowania faktów i reguł oraz wykonywania zapytań. Wstęp Prolog (od francuskiego
Prolog (Pro-Logic) Programowanie w Logice. Dr inż. Piotr Urbanek
Prolog (Pro-Logic) Programowanie w Logice Dr inż. Piotr Urbanek Do czego służy ProLog? Używany w wielu systemach informatycznych związanych z: logiką matematyczną (automatyczne dowodzenie twierdzeń); przetwarzaniem
Programowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Podstawy Sztucznej Inteligencji (PSZT)
Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Wnioskowanie logiczne i systemy eksperckie Systemy posługujące się logiką predykatów: część 3/3 Dzisiaj Uogólnienie Poprawność i pełność wnioskowania
Logika stosowana. Ćwiczenia Programowanie w logice i PROLOG. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski
Logika stosowana Ćwiczenia Programowanie w logice i PROLOG Marcin Szczuka Instytut Informatyki, Uniwersytet Warszawski Wykład monograficzny w semestrze letnim 2018/2019 Marcin Szczuka (MIMUW) Logika stosowana
Dedukcyjne bazy danych i rekursja
Dedukcyjne bazy danych i rekursja Wykład z baz danych dla studentów matematyki 27 maja 2017 Bazy danych z perspektywy logiki Spojrzenie na bazy danych oczami logika pozwala jednolicie opisać szereg pojęć.
Wprowadzenie do Prologa
Wprowadzenie do Prologa Rozdział 1 Tutorial Introduction Maciej Gapiński Dominika Wałęga Spis treści 1. Podstawowe informacje 2. Obiekty i relacje 3. Reguły 4. Fakty 5. Zapytania 6. Zmienne i stałe Podstawowe
Dedukcyjne bazy danych
Dedukcyjne bazy danych mgr inż. Olga Siedlecka olga@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Dedukcyjne bazy danych p.1/37 Plan seminarium Wprowadzenie Podstawy matematyczne Podstawowe
Wykład 0 Informacje Podstawowe
Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie
Programowanie w logice
Programowanie w logice PROLOG cz.3 Predykat sprawdzający, czy podana lista stanowi początek innej listy: poczatek([],[_ _]). poczatek([h1 T1], [H2 T2]) :- H1 = H2, poczatek(t1,t2). ------------------------------------------------------------------------
Programowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Języki i paradygmaty programowania. I. Wprowadzenie
Języki i paradygmaty programowania I. Wprowadzenie O źródłach wykład został przygotowany w ogromnej części w oparciu o serwis http://wazniak.mimuw.edu.pl/ (zgodnie z licencją serwisu) inne źródła: Wikipedia:
Podstawy języka PROLOG
Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki PROLOG akronim od PROgramming in LOGic Prolog został stworzony w 1971 przez Alaina Colmeraurera i Philipa Roussela. Podstawy teoretyczne
Adam Meissner.
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Podstawy logiki pierwszego rzędu
Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski
Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do
RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.
Semantyczne twierdzenie o podstawianiu Jeżeli dana formuła rachunku zdań jest tautologią i wszystkie wystąpienia pewnej zmiennej zdaniowej w tej tautologii zastąpimy pewną ustaloną formułą, to otrzymana
Dowody założeniowe w KRZ
Dowody założeniowe w KRZ Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl w styczniu 2007 Jerzy Pogonowski (MEG) Dowody założeniowe w KRZ w styczniu 2007 1 / 10 Dowody
Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język
Dedukcyjne bazy danych i rekursja
Dedukcyjne bazy danych i rekursja Wykład z baz danych dla studentów matematyki 23 maja 2015 Bazy danych z perspektywy logiki Spojrzenie na bazy danych oczami logika pozwala jednolicie opisać szereg pojęć.
1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.
Elementy logiki i teorii zbiorów. 1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych. Pojęcia pierwotne to najprostsze
Programowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.
Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna
LOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
Alfred N. Whitehead
Plan wykładu Automatyczne dowodzenie twierdzeń Dowodzenie twierdzeń matematycznych Dedukcja Logic Theorist Means-endsends Analysis Rezolucja Programowanie w logice PROLOG Logic Theorist - 1956 Automatyczne
Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:
METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ
METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ KONWERSATORIUM 6: REZOLUCJA V rok kognitywistyki UAM 1 Kilka uwag terminologicznych Słuchacze zapewne pamiętają z zajęć dotyczących PROLOGu poniższą
Dariusz Banasiak. Instytut Informatyki, Automatyki i Robotyki. Politechniki Wrocławskiej
Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej PROLOG akronim od PROgramming in LOGic Prolog został stworzony w 1971 przez Alaina Colmeraurera i Philipa Roussela.
Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279
Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański
Podstawy Sztucznej Inteligencji (PSZT)
Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Wnioskowanie logiczne i systemy eksperckie Systemy posługujące się logiką predykatów: część 2/3 Dzisiaj Literały i klauzule w logice predykatów Sprowadzania
Metoda Tablic Semantycznych
Procedura Plan Reguły Algorytm Logika obliczeniowa Instytut Informatyki Plan Procedura Reguły 1 Procedura decyzyjna Logiczna równoważność formuł Logiczna konsekwencja Procedura decyzyjna 2 Reguły α, β,
Drzewa Semantyczne w KRZ
Drzewa Semantyczne w KRZ Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl 7 XII 2006, 13:30 15:00 Jerzy Pogonowski (MEG) Drzewa Semantyczne w KRZ 7 XII 2006, 13:30 15:00
0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.
Wykłady z Analizy rzeczywistej i zespolonej w Matematyce stosowanej Wykład ELEMENTY LOGIKI ALGEBRA BOOLE A Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek
Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)
Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne) Definicja 1: Tautologia jest to takie wyrażenie, którego wartość logiczna jest prawdą przy wszystkich możliwych wartościowaniach zmiennych
Składnia rachunku predykatów pierwszego rzędu
Początek Gramatyka Kwantyfikatory Poprawność Logika obliczeniowa Instytut Informatyki Początek Gramatyka Kwantyfikatory Poprawność Plan wykładu 1 Na (dobry) początek Zrozumieć słowa Oswoić znaki 2 Gramatyka
Rachunek zdań i predykatów
Rachunek zdań i predykatów Agnieszka Nowak 14 czerwca 2008 1 Rachunek zdań Do nauczenia :! 1. ((p q) p) q - reguła odrywania RO 2. reguła modus tollens MT: ((p q) q) p ((p q) q) p (( p q) q) p (( p q)
Dana jest baza: kobieta(katarzyna). kobieta(anna). kobieta(maria). kobieta(marianna). kobieta(marta). Zdefiniujemy predykat kobiety/0 następująco:
STEROWANIE PROCESEM WNIOSKOWANIA. Predykat true/0 fail/0 cut/0 lub! not( W) lub \+W repeat/0 Objaśnienie zawsze spełniony, deterministyczny zawsze zawodzi, deterministyczny odcięcie; zawsze spełniony spełniony,
Programowanie w logice Wykład z baz danych dla
Programowanie w logice Wykład z baz danych dla studentów matematyki 18 maja 2015 Programowanie w logice Programowanie w logice to podejście do programowania, w którym na program patrzymy nie jak na opis
Reprezentacja wiedzy i wnioskowanie
i wnioskowanie Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Wiedza AI to nauka o komputerowych modelach wiedzy umożliwiających rozumienie, wnioskowanie i działanie. Inteligentne
Reprezentacja wiedzy: logika predykatów pierwszego rzędu
Zarządzanie wiedzą Reprezentacja wiedzy: logika predykatów pierwszego rzędu Plan wykładu Logika predykatów pierwszego rzędu Metoda rezolucji Unifikacja Przejście od logiki predykatów do Prologu PROgramming
Sztuczna inteligencja i logika. Podsumowanie przedsięwzięcia naukowego Kisielewicz Andrzej WNT 20011
Sztuczna inteligencja i logika. Podsumowanie przedsięwzięcia naukowego Kisielewicz Andrzej WNT 20011 Przedmowa. CZĘŚĆ I: WPROWADZENIE 1. Komputer 1.1. Kółko i krzyżyk 1.2. Kodowanie 1.3. Odrobina fantazji
Adam Meissner SZTUCZNA INTELIGENCJA
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Elementy wnioskowania automatycznego
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest
Logika predykatów pierwszego rzędu PROLOG. Zarządzanie wiedzą. Wykład Reprezentacja wiedzy logika predykatów. Joanna Kołodziejczyk.
Wykład Reprezentacja wiedzy logika predykatów maj 2010 Logika predykatów pierwszego rzędu Plan wykładu Logika predykatów pierwszego rzędu Porównanie z rachunkiem zdań Rachunek zdań ograniczona ekspresja
Programowanie w logice Prolog 2
Programowanie w logice Prolog 2 Listy Lista to uporządkowany ciąg elementów. Elementami listy mogą być dowolne terminy: stałe, zmienne i struktury W Prologu listę zapisujemy następująco: Przykłady [element1,element2,,elementn]
Notacja. - operator implikacji, - operator koniunkcji v operator alternatywy - operator równoważności ~ operator negacji Duża litera (np.
Systemy ekspertowe Notacja - operator implikacji, - operator koniunkcji v operator alternatywy - operator równoważności ~ operator negacji Duża litera (np. A) - fakt Klauzula Horna Klauzula Horna mówi,
Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Zarządzanie wiedzą. Reprezentacja wiedzy: logika predykatów pierwszego rzędu
Zarządzanie wiedzą Reprezentacja wiedzy: logika predykatów pierwszego rzędu 1 Plan wykładu Logika predykatów pierwszego rzędu Metoda rezolucji Unifikacja Przejście od logiki predykatów do Prologu PROgramm
Prezentacja do pobranie:
Prezentacja do pobranie: www.barkaf.cba.pl/prezentacja.rar 1 Prolog programowanie ROZDZIAŁ 1: WPROWADZENIE ROZDZIAŁ 2: PROLOG Z BLISKA NA PODSTAWIE: PROLOG. PROGRAMOWANIE- W. F. CLOCKSIN, C. S. MELLISH
RACHUNEK PREDYKATÓW 7
PODSTAWOWE WŁASNOŚCI METAMATEMATYCZNE KRP Oczywiście systemy dedukcyjne dla KRP budowane są w taki sposób, żeby wszystkie ich twierdzenia były tautologiami; można więc pokazać, że dla KRP zachodzi: A A
Programowanie logiczne a negacja
Programowanie logiczne a negacja Adrian Woźniak 12 stycznia 2006r. SPIS TREŚCI Programowanie logiczne a negacja Spis treści 1 Wstęp 2 2 Wnioskowanie negatywnych informacji 2 2.1 Reguła CWA (Closed World
Prolog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka)
Prolog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka) Rozdział 2 Constructing Prolog Programs z książki Prolog Programming in Depth autorstwa Michael A. Covington, Donald Nute,
Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń
Elementy logiki Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń 1 Klasyczny Rachunek Zdań 1.1 Spójniki logiczne Zdaniem w sensie logicznym nazywamy wyrażenie, które jest
I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych.
I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych. 1. Elementy logiki matematycznej. 1.1. Rachunek zdań. Definicja 1.1. Zdaniem logicznym nazywamy zdanie gramatyczne
Laboratorium przedmiotu Paradygmaty Programowania
Laboratorium przedmiotu Paradygmaty Programowania Laboratorium 9 Prolog podstawy 1. Podstawy Prologu Programowanie w Prologu polega na deklarowaniu: Faktów dotyczących pewnych obiektów z analizowanego
Programowanie w języku C++ Podstawowe paradygmaty programowania
Programowanie w języku C++ Podstawowe paradygmaty programowania Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra
Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,
Systemy ekspertowe. Krzysztof Patan
Systemy ekspertowe Krzysztof Patan Wprowadzenie System ekspertowy Program komputerowy, który wykonuje złożone zadania o dużych wymaganiach intelektualnych i robi to tak dobrze jak człowiek będący ekspertem
Zasady krytycznego myślenia (1)
Zasady krytycznego myślenia (1) Andrzej Kisielewicz Wydział Matematyki i Informatyki 2017 Przedmiot wykładu krytyczne myślenie vs logika praktyczna (vs logika formalna) myślenie jasne, bezstronne, oparte
Elementy logiki matematycznej
Elementy logiki matematycznej Przedmiotem logiki matematycznej jest badanie tzw. wyrażeń logicznych oraz metod rozumowania i sposobów dowodzenia używanych w matematyce, a także w innych dziedzinach, w
Programowanie deklaratywne i logika obliczeniowa
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,
Adam Meissner STUCZNA INTELIGENCJA
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis STUCZNA INTELIGENCJA Elementy programowania w logice Literatura
Formalna weryfikacja oprogramowania w lotnictwie
30 listopada 2010 Motywacja Wymagania ACSL CIL SCADE wysoka niezawodność, zmniejszenie kodu obsługi sytuacji wyjątkowych, DO178B Motywacja Wymagania ACSL CIL SCADE Wymagania stawiane nowemu podejściu:
Programowanie w logice
Wydział Matematyki UŁ 14 marca 2007 Plan prezentacji 1 Składnia Termy Stałe Zmienne Struktury 2 Własny operator Przeciążanie operatorów 3 Arytmetyczne i logiczne predykaty systemowe 4 Do zapamiętania Termy
Konsekwencja logiczna
Konsekwencja logiczna Niech Φ 1, Φ 2,..., Φ n będa formułami logicznymi. Formuła Ψ wynika logicznie z Φ 1, Φ 2,..., Φ n jeżeli (Φ 1 Φ 2 Φ n ) Ψ jest tautologia. Formuły Φ 1, Φ 2,..., Φ n nazywamy założeniami
PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 19. Perspektywy baz danych 1 Perspektywy baz danych Temporalna baza danych Temporalna baza danych - baza danych posiadająca informację o czasie wprowadzenia lub czasie ważności zawartych
Wprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład 2 Informatyka Studia Inżynierskie Automatyczne dowodzenie twierdzeń O teoriach formalnie na przykładzie rachunku zdań Zastosowanie dedukcji: system Logic Theorist
Elementy kognitywistyki III: Modele i architektury poznawcze
Elementy kognitywistyki III: Modele i architektury poznawcze Wykład IV: Reprezentacje jako Modele symboliczne I: Rachunek predykatów, Sieci semantyczne Gwoli przypomnienia: Kroki w modelowaniu kognitywnym:
MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI
MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI Program wykładów: dr inż. Barbara GŁUT Wstęp do logiki klasycznej: rachunek zdań, rachunek predykatów. Elementy semantyki. Podstawy teorii mnogości
Statyczne i dynamiczne predykaty
Statyczne i dynamiczne predykaty Dynamiczne dowodzą lub odwołują pewne reguły, Statyczne nie potrafią tego co dynamiczne, ponieważ ich punkty zostały zebrane w całość, która działa szybciej, ale nie jest
Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I
Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@.edu.pl OSTRZEŻENIE Niniejszy plik nie zawiera wykładu z Metod dowodzenia...
Semantyka rachunku predykatów pierwszego rzędu. Dziedzina interpretacji. Stałe, zmienne, funkcje. Logika obliczeniowa.
Logika obliczeniowa Instytut Informatyki 1 Interpretacja i wartościowanie Dziedzina interpretacji Interpretacja Wartościowanie 2 Wartość formuły Wartość termu Wartość logiczna formuły Własności 3 Logiczna
Języki i metodyka programowania
Języki i metodyka programowania www.ee.pw.edu.pl/~slawinsm Dr inż. Maciej Sławiński M.Slawinski@ee.pw.edu.pl GE518l Konsultacje: śr. 13 00-13 45 SK201/GE518l pt. 10 15-11 00 GE518l/SK201 Algorytmika Literatura
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
Rachunek predykatów Wykład 5 Plan wykładu Funkcje i termy Postać klauzulowa formuł Modele Herbranda Twierdzenie Herbranda Rezolucja dla klauzul ustalonych Podstawienia Uzgadnianie Rezolucja Funkcje i termy
Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++
Programowanie obiektowo zorientowane Mirosław Głowacki Wykład w języku C++ Literatura B. Meyer, Programowanie zorientowane obiektowo, Helion Gliwice, 2005 J. Grębosz, Symfonia C++ Standard, Oficyna Kallimach,
Wprowadzenie do Sztucznej Inteligencji Laboratorium lista 0.1 Elementy języka Prolog: fakty i zapytania. Przemysław Kobylański
Wprowadzenie do Sztucznej Inteligencji Laboratorium lista 0.1 Elementy języka Prolog: fakty i zapytania Przemysław Kobylański Część I Wprowadzenie 1 Stałe i zmienne Jedynym dostępnym w języku Prolog rodzajem
Semantyka rachunku predykatów
Relacje Interpretacja Wartość Spełnialność Logika obliczeniowa Instytut Informatyki Relacje Interpretacja Wartość Plan Plan Relacje O co chodzi? Znaczenie w logice Relacje 3 Interpretacja i wartościowanie
Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania
Wstęp do Informatyki Program, proces tworzenia programu Środowisko programistyczne Języki programowania Program - definicje Program jest przekładem problemu użytkownika na język maszyny Niklaus Wirth:
JEZYKOZNAWSTWO. I NAUKI O INFORMACJI, ROK I Logika Matematyczna: egzamin pisemny 11 czerwca Imię i Nazwisko:... FIGLARNE POZNANIANKI
JEZYKOZNAWSTWO I NAUKI O INFORMACJI, ROK I Logika Matematyczna: egzamin pisemny 11 czerwca 2012 Imię i Nazwisko:........................................................... FIGLARNE POZNANIANKI Wybierz
Logika. Michał Lipnicki. 15 stycznia Zakład Logiki Stosowanej UAM. Michał Lipnicki () Logika 15 stycznia / 37
Logika Michał Lipnicki Zakład Logiki Stosowanej UAM 15 stycznia 2011 Michał Lipnicki () Logika 15 stycznia 2011 1 / 37 Wstęp Materiały na dzisiejsze zajęcia zostały opracowane na podstawie pomocy naukowych
Prolog - Programming In Logic
Dodatek do rachunku zdań i predykatów Instytut Informatyki, Uniwersytet Śląski, ul. Będzinska 39, Sosnowiec, Polska Tel (32) 2 918 381, Fax (32) 2 918 283 Wykład IVa Należy do klasy języków deklaratywnych,
Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu
Witold Marciszewski: Wykład Logiki, 17 luty 2005, Collegium Civitas, Warszawa Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu 1. Poniższe wyjaśnienie (akapit
Bazy dedukcyjne. 1. Filozofia nowego sposobu projektowania baz danych. 2. Wady klasycznych systemów bazodanowych
Bazy dedukcyjne 1. Filozofia nowego sposobu projektowania baz danych Bazy dedukcyjne to nowe podejście do projektowania baz danych, oparte na logice matematycznej. W porównaniu do poprzednich modeli baz
Systemy ekspertowe. Wnioskowanie w systemach regułowych. Część piąta. Autor Roman Simiński.
Część piąta Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim uczestnictwa.
O badaniach nad SZTUCZNĄ INTELIGENCJĄ
O badaniach nad SZTUCZNĄ INTELIGENCJĄ Wykład 7. O badaniach nad sztuczną inteligencją Co nazywamy SZTUCZNĄ INTELIGENCJĄ? szczególny rodzaj programów komputerowych, a niekiedy maszyn. SI szczególną własność
Internet Semantyczny i Logika I
Internet Semantyczny i Logika I Warstwy Internetu Semantycznego Dowód Zaufanie Logika OWL, Ontologie Podpis cyfrowy RDF, schematy RDF XML, schematy XML przestrzenie nazw URI Po co nam logika? Potrzebujemy
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Programowanie w logice Prolog 1
Programowanie w logice Prolog 1 Prolog - zastosowania Zastosowania: relacyjne bazy danych. przetwarzanie języka naturalnego. logistyka. analiza struktur biochemicznych. wspomaganie projektowania. sztuczna
Projekt 4: Programowanie w logice
Języki Programowania Projekt 4: Programowanie w logice Środowisko ECL i PS e W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem http://eclipseclp.org/. Po zainstalowaniu
III rok kognitywistyki UAM,
METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ WYKŁAD 14: POWTÓRKA III rok kognitywistyki UAM, 2016 2017 Dzisiejszy wykład w całości poświęcony będzie omówieniu przykładowych zadań, podobnych do
Logika Matematyczna (10)
Logika Matematyczna (10) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Rezolucja w KRZ Jerzy Pogonowski (MEG) Logika Matematyczna (10) Rezolucja w KRZ 1 / 39 Plan
Programowanie w Logice Przykłady programów. Przemysław Kobylański
Programowanie w Logice Przykłady programów Przemysław Kobylański Język Imperator 1 jest prostym językiem imperatywnym. Jego składnię opisuje poniższa gramatyka BNF: PROGRAM ::= PROGRAM ::= INSTRUKCJA ;
Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi:
1 Elementy logiki W logice zdaniem nazywamy wypowiedź oznajmującą, która (w ramach danej nauki) jest albo prawdziwa, albo fałszywa. Tak więc zdanie może mieć jedną z dwóch wartości logicznych. Prawdziwość
Matematyka ETId Elementy logiki
Matematyka ETId Izolda Gorgol pokój 131A e-mail: I.Gorgol@pollub.pl tel. 081 5384 563 http://antenor.pol.lublin.pl/users/gorgol Zdania w sensie logicznym DEFINICJA Zdanie w sensie logicznym - zdanie oznajmujace,
Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal