Automatyczne dowodzenie twierdzeń

  • Upload
    mei

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Automatyczne dowodzenie twierdzeń. Plan wykładu. Dowodzenie twierdzeń matematycznych Dedukcja Logic Theorist Means-ends Analysis Rezolucja Programowanie w logice – PROLOG. Allen Newell 19.03.1927 - 19.07.1992. Herbert Simon 15.06.1916 - 9.02.2001. Logic Theorist - 1956. - PowerPoint PPT Presentation

Citation preview

  • Automatyczne dowodzenie twierdze

  • Plan wykaduDowodzenie twierdze matematycznychDedukcja Logic TheoristMeans-ends AnalysisRezolucjaProgramowanie w logice PROLOG

  • Logic Theorist - 1956

  • Automatyczne dowodzenie twierdze

  • Podstawowe pojcia Teoria Zbir formu T nazywamy teori wtw, gdy jest on zamknity ze wzgldu na konsekwencje logiczne. Zbir formu T jest zamknity ze wzgldu na konsekwencje logiczne wtw, gdy dla wszystkich formu A zachodzi zaleno: jeeli A jest konsekwencj logiczn T, to AT.

    Reguy dowodoweReguy generowania twierdze ze zbioru aksjomatw - reguy wnioskowania (np. regua odrywania).

  • Wasnoci teoriiTeoria jest niesprzeczna - to znaczy adne zdanie i jego negacja nie mog by jednoczenie twierdzeniami tej teorii.Zdanie teorii nazywamy rozstrzygalnym, jeeli ono samo, albo jego negacja, jest twierdzeniem teorii.Teoria jest zupena, jeeli wszystkie zdania s w niej rozstrzygalne.Teoria jest rozstrzygalna, jeeli istnieje algorytm, ktry dla kadego jej zdania pozwala stwierdzi, czy jest ono twierdzeniem tej teorii.Wikszo teorii matematycznych, to teorie nierozstrzygalne (np. teoria liczb naturalnych).

  • 1931 - twierdzenie o niezupenociNiech NT bdzie zbiorem aksjomatw teorii liczb naturalnych. Jeli teoria T(NT) jest niesprzeczna, to nie jest zupena*).Kurt Gdel29.04.1906 -14.06.1978*) Dowd mona znale w:[1] Smullyan R., What is the name of this book? The riddle of Draculla and other logical puzzles. Prentice-Hall, 1978.[2] Mendelson E., Introduction to mathematical logic, Wyd. 4, Chapman and Hall, 1997.

  • Formuy rachunku predykatwZa pomoc zastpujcej gramatyki definiuje si formuy atomowe oraz formuy rachunku predykatw:argument ::= xdla dowolnego x Vargument ::= adla dowolnego a Aargumenty ::= argumentargumenty ::= argument,argumentyatom ::= p | p(argumenty)dla dowolnego p Pform ::= atomform ::= formform ::= form form podobnie dla , ....form ::= x formdla dowolnego x Vform ::= x formdla dowolnego x VP = {p, q, r} symbole predykatywne A = {a, b, c} stae V = {x, y, z} zmienne

  • SowniczekPredykatFunktorTerm Atom Formua zoonaLitera dodatniLitera ujemnyKlauzula Hornasymbol (nazwa) relacjisymbol (nazwa) funkcjizmienna logiczna lub funktor z list argumentwsymbol relacji z argumentami bdcymi termamicig formu atomowych poczonych spjnikami formua atomowanegacja formuy atomowejdysjunkcja literaw, najwyej jeden litera dodatni

  • DedukcjaDedukcja jest metod wnioskowania, w ktrej podstawow regu dowodow jest regua odrywania:

  • 2. na podstawie reguy odrywania:Dowd:Tw. o Sokratesie:die(sokrates)1. na podstawie reguy podstawiania postawiamy X/sokrates w A1 man(sokrates)________________________________________ die(sokrates), man(sokrates) die(sokrates)Teoria przemijania(A1) man(X) die(X)(A2) man(sokrates)(A1) man(sokrates) die(sokrates)

  • Operacje w programie Logic TheoristPodstawienie zmiennych:: w kadym twierdzeniu, o ktrym wiemy, e jest prawdziwe mona podstawi za zmienn dowolne wyraenie w kadym wystpieniu tej zmiennej.Modus ponens (regua odrywania):Zastpienie:: operator dziaania mona zastpi wyraeniem rwnowanym lub jego definicj.np. w wyraeniu (A B) (A B) podstawiamy A za B (A A) (A A) (*)np. w wyraeniu (A A) A zastpujemy operator jego definicj (*) (A A) A[(A B) A]B

  • Algorytm:1. Wykonanie wszystkich moliwych podstawie do biecego celu.2. Zastosowanie wszystkich moliwych zastpie i oderwa do biecego celu i sprawdzenie wynikw za pomoc podstawie; jeeli nie doprowadzi to do dowodu, dopisanie wynikw do listy podcelw.3. Zastosowanie reguy acuchaa b, b c a c4. Jeeli adne z powyszych dziaa nie doprowadzio do dowodu, to jako biecy cel przyjmij kolejny nie rozwaany dotd element z listy podcelw.5. Zakocz jeeli: znaleziono dowd lub lista podcelw jest pusta lub czas i pami zostay wyczerpane.

  • LT PRZYKAD 1Cel: p (q p)Zastpienie: (q p) (q p)Podcel: p (q p)Podstawienie:q za qPodcel: p (q p)Aksjomat: p (q p)

  • LT PRZYKAD 2Cel: (p p) pZastpienie: (p p) (p p)Podcel: ( p p) pPodstawienie:p za pPodcel: (p p) p Aksjomat: (p p) p

  • Logic Theorist - podsumowanieProgram napisany przez Newella, Simona i Shawa w roku 1956, ktry dowodzi podstawowe twierdzenia pierwszego rozdziau Principia MathematicaReprezentacja wiedzy: rachunek predykatwWnioskowanie: dedukcjaProcedura pomocnicza: unifikacja wyrae Problemy: zoono, sterowanie wnioskowaniem

  • General Problem SolverAutorzy: Newell, SimonDowodzenie twierdze, rozwizywanie problemw geometrycznych, jzykowych, gier (szachy)Newell, A.; Shaw, J.C.; Simon, H.A. (1959). Report on a general problem-solving program. Proceedings of the International Conference on Information Processing. pp. 256-264. Newell, A. (1963). A guide to the general problem-solver program GPS-2-2. RAND Corporation, Santa Monica, California. Technical Report No. RM-3337-PR. Ernst, G.W. and Newell, A. (1969). GPS: a case study in generality and problem solving. Academic Press. (revised version of Ernst's 1966 dissertation, Carnegie Institute of Technology.)

  • 1957-1963 - General Problem Solver wykorzystuje metod means-ends, ktra powstaa na podstawie obserwacji sposobu rozwizywania problemw przez czowieka (psychologia)podstawowe pojcia: rnice i operatory operator jest opisany przez: warunki pocztkowe, funkcj transformacji i redukowane rnicena kadym etapie rozwizywania problemu formuuje si rnic midzy stanem biecym a celemnastpnie poszukuje si operatora, ktry mona zastosowa do zredukowania zaobserwowanej rnicyjeeli warunki pocztkowe operatora nie s spenione, to zapisuje si je na list podcelw i przechodzi si do nastpnego z listy podcelw

  • Problem dzbankw4 l3 l

  • Means-endsx - ilo wody w duym dzbanku, x {0, 1, 2, 3, 4}y - ilo wody w maym dzbanku y {0, 1, 2, 3}stan zadania: (x, y)stan pocztkowy: (4, 3)cel: (2, y)

  • Tablica operatory-rnice

    0,0

    0,1

    0,2

    0,3

    1,0

    1,1

    1,2

    1,3

    2,0

    2,1

    2,2

    2,3

    3,0

    3,1

    3,2

    3,3

    4,0

    4,1

    4,2

    4,3

    0,0

    0,0

    0,3

    4,0

    0,1

    0,-1

    0,0

    0,2

    1,-1

    4,0

    0,2

    0,-2

    0,0

    0,1

    2,-2

    4,0

    0,3

    0,-3

    0,0

    3,-3

    4,0

    1,0

    -1,0

    -1,1

    0,0

    0,3

    1,1

    -1,0

    -1,1

    0,-1

    0,0

    0,2

    1,-1

    3,0

    1,2

    -1,0

    -1,1

    0,-2

    0,0

    0,1

    2,-2

    3,0

    1,3

    -1,0

    0,-3

    0,0

    -3,3

    3,0

    2,0

    -2,0

    -2,2

    0,0

    0,3

    2,0

    2,1

    -2,0

    -2,2

    0,0

    0,2

    1,-1

    2,0

    2,2

    -2,0

    0,-2

    0,0

    0,1

    2,0

    2,3

    -2,0

    0,-3

    0,0

    2,-2

    3,0

    -3,0

    -3,3

    0,0

    0,3

    1,0

    3,1

    -3,0

    0,-1

    0,0

    0,1

    1,0

    3,2

    -3,0

    -1,1

    0,-2

    0,0

    0,1

    1,0

    3,3

    -3,0

    0,-3

    0,0

    1,-1

    1,0

    4,0

    -4,0

    -3,3

    0,0

    0,3

    4,1

    -4,0

    -2,2

    0,-1

    0,0

    0,2

    4,2

    -4,0

    -1,1

    0,-2

    0,0

    0,1

    4,3

    -4,0

    0,-3

    0,0

  • Tablica operatory-rnice

    0,0

    0,1

    0,2

    0,3

    1,0

    1,1

    1,2

    1,3

    2,0

    2,1

    2,2

    2,3

    3,0

    3,1

    3,2

    3,3

    4,0

    4,1

    4,2

    4,3

    0,0

    0,0

    0,3

    4,0

    0,1

    0,-1

    0,0

    0,2

    1,-1

    4,0

    0,2

    0,-2

    0,0

    0,1

    2,-2

    4,0

    0,3

    0,-3

    0,0

    3,-3

    4,0

    1,0

    -1,0

    -1,1

    0,0

    0,3

    1,1

    -1,0

    -1,1

    0,-1

    0,0

    0,2

    1,-1

    3,0

    1,2

    -1,0

    -1,1

    0,-2

    0,0

    0,1

    2,-2

    3,0

    1,3

    -1,0

    0,-3

    0,0

    -3,3

    3,0

    2,0

    -2,0

    -2,2

    0,0

    0,3

    2,0

    2,1

    -2,0

    -2,2

    0,0

    0,2

    1,-1

    2,0

    2,2

    -2,0

    0,-2

    0,0

    0,1

    2,0

    2,3

    -2,0

    0,-3

    0,0

    2,-2

    3,0

    -3,0

    -3,3

    0,0

    0,3

    1,0

    3,1

    -3,0

    0,-1

    0,0

    0,1

    1,0

    3,2

    -3,0

    -1,1

    0,-2

    0,0

    0,1

    1,0

    3,3

    -3,0

    0,-3

    0,0

    1,-1

    1,0

    4,0

    -4,0

    -3,3

    0,0

    0,3

    4,1

    -4,0

    -2,2

    0,-1

    0,0

    0,2

    4,2

    -4,0

    -1,1

    0,-2

    0,0

    0,1

    4,3

    -4,0

    0,-3

    0,0

  • Tablica operatory-rnice

    0,0

    0,1

    0,2

    0,3

    1,0

    1,1

    1,2

    1,3

    2,0

    2,1

    2,2

    2,3

    3,0

    3,1

    3,2

    3,3

    4,0

    4,1

    4,2

    4,3

    0,0

    0,0

    0,3

    4,0

    0,1

    0,-1

    0,0

    0,2

    1,-1

    4,0

    0,2

    0,-2

    0,0

    0,1

    2,-2

    4,0

    0,3

    0,-3

    0,0

    3,-3

    4,0

    1,0

    -1,0

    -1,1

    0,0

    0,3

    1,1

    -1,0

    -1,1

    0,-1

    0,0

    0,2

    1,-1

    3,0

    1,2

    -1,0

    -1,1

    0,-2

    0,0

    0,1

    2,-2

    3,0

    1,3

    -1,0

    0,-3

    0,0

    -3,3

    3,0

    2,0

    -2,0

    -2,2

    0,0

    0,3

    2,0

    2,1

    -2,0

    -2,2

    0,0

    0,2

    1,-1

    2,0

    2,2

    -2,0

    0,-2

    0,0

    0,1

    2,0

    2,3

    -2,0

    0,-3

    0,0

    2,-2

    3,0

    -3,0

    -3,3

    0,0

    0,3

    1,0

    3,1

    -3,0

    0,-1

    0,0

    0,1

    1,0

    3,2

    -3,0

    -1,1

    0,-2

    0,0

    0,1

    1,0

    3,3

    -3,0

    0,-3

    0,0

    1,-1

    1,0

    4,0

    -4,0

    -3,3

    0,0

    0,3

    4,1

    -4,0

    -2,2

    0,-1

    0,0

    0,2

    4,2

    -4,0

    -1,1

    0,-2

    0,0

    0,1

    4,3

    -4,0

    0,-3

    0,0

  • Tablica operatory-rnice

    0,0

    0,1

    0,2

    0,3

    1,0

    1,1

    1,2

    1,3

    2,0

    2,1

    2,2

    2,3

    3,0

    3,1

    3,2

    3,3

    4,0

    4,1

    4,2

    4,3

    0,0

    0,0

    0,3

    4,0

    0,1

    0,-1

    0,0

    0,2

    1,-1

    4,0

    0,2

    0,-2

    0,0

    0,1

    2,-2

    4,0

    0,3

    0,-3

    0,0

    3,-3

    4,0

    1,0

    -1,0

    -1,1

    0,0

    0,3

    1,1

    -1,0

    -1,1

    0,-1

    0,0

    0,2

    1,-1

    3,0

    1,2

    -1,0

    -1,1

    0,-2

    0,0

    0,1

    2,-2

    3,0

    1,3

    -1,0

    0,-3

    0,0

    -3,3

    3,0

    2,0

    -2,0

    -2,2

    0,0

    0,3

    2,0

    2,1

    -2,0

    -2,2

    0,0

    0,2

    1,-1

    2,0

    2,2

    -2,0

    0,-2

    0,0

    0,1

    2,0

    2,3

    -2,0

    0,-3

    0,0

    2,-2

    3,0

    -3,0

    -3,3

    0,0

    0,3

    1,0

    3,1

    -3,0

    0,-1

    0,0

    0,1

    1,0

    3,2

    -3,0

    -1,1

    0,-2

    0,0

    0,1

    1,0

    3,3

    -3,0

    0,-3

    0,0

    1,-1

    1,0

    4,0

    -4,0

    -3,3

    0,0

    0,3

    4,1

    -4,0

    -2,2

    0,-1

    0,0

    0,2

    4,2

    -4,0

    -1,1

    0,-2

    0,0

    0,1

    4,3

    -4,0

    0,-3

    0,0

  • Tablica operatory-rnice

    0,0

    0,1

    0,2

    0,3

    1,0

    1,1

    1,2

    1,3

    2,0

    2,1

    2,2

    2,3

    3,0

    3,1

    3,2

    3,3

    4,0

    4,1

    4,2

    4,3

    0,0

    0,0

    0,3

    4,0

    0,1

    0,-1

    0,0

    0,2

    1,-1

    4,0

    0,2

    0,-2

    0,0

    0,1

    2,-2

    4,0

    0,3

    0,-3

    0,0

    3,-3

    4,0

    1,0

    -1,0

    -1,1

    0,0

    0,3

    1,1

    -1,0

    -1,1

    0,-1

    0,0

    0,2

    1,-1

    3,0

    1,2

    -1,0

    -1,1

    0,-2

    0,0

    0,1

    2,-2

    3,0

    1,3

    -1,0

    0,-3

    0,0

    -3,3

    3,0

    2,0

    -2,0

    -2,2

    0,0

    0,3

    2,0

    2,1

    -2,0

    -2,2

    0,0

    0,2

    1,-1

    2,0

    2,2

    -2,0

    0,-2

    0,0

    0,1

    2,0

    2,3

    -2,0

    0,-3

    0,0

    2,-2

    3,0

    -3,0

    -3,3

    0,0

    0,3

    1,0

    3,1

    -3,0

    0,-1

    0,0

    0,1

    1,0

    3,2

    -3,0

    -1,1

    0,-2

    0,0

    0,1

    1,0

    3,3

    -3,0

    0,-3

    0,0

    1,-1

    1,0

    4,0

    -4,0

    -3,3

    0,0

    0,3

    4,1

    -4,0

    -2,2

    0,-1

    0,0

    0,2

    4,2

    -4,0

    -1,1

    0,-2

    0,0

    0,1

    4,3

    -4,0

    0,-3

    0,0

  • Tablica operatory-rnice

    0,0

    0,1

    0,2

    0,3

    1,0

    1,1

    1,2

    1,3

    2,0

    2,1

    2,2

    2,3

    3,0

    3,1

    3,2

    3,3

    4,0

    4,1

    4,2

    4,3

    0,0

    0,0

    0,3

    4,0

    0,1

    0,-1

    0,0

    0,2

    1,-1

    4,0

    0,2

    0,-2

    0,0

    0,1

    2,-2

    4,0

    0,3

    0,-3

    0,0

    3,-3

    4,0

    1,0

    -1,0

    -1,1

    0,0

    0,3

    1,1

    -1,0

    -1,1

    0,-1

    0,0

    0,2

    1,-1

    3,0

    1,2

    -1,0

    -1,1

    0,-2

    0,0

    0,1

    2,-2

    3,0

    1,3

    -1,0

    0,-3

    0,0

    -3,3

    3,0

    2,0

    -2,0

    -2,2

    0,0

    0,3

    2,0

    2,1

    -2,0

    -2,2

    0,0

    0,2

    1,-1

    2,0

    2,2

    -2,0

    0,-2

    0,0

    0,1

    2,0

    2,3

    -2,0

    0,-3

    0,0

    2,-2

    3,0

    -3,0

    -3,3

    0,0

    0,3

    1,0

    3,1

    -3,0

    0,-1

    0,0

    0,1

    1,0

    3,2

    -3,0

    -1,1

    0,-2

    0,0

    0,1

    1,0

    3,3

    -3,0

    0,-3

    0,0

    1,-1

    1,0

    4,0

    -4,0

    -3,3

    0,0

    0,3

    4,1

    -4,0

    -2,2

    0,-1

    0,0

    0,2

    4,2

    -4,0

    -1,1

    0,-2

    0,0

    0,1

    4,3

    -4,0

    0,-3

    0,0

  • Tablica operatory-rnice

    0,0

    0,1

    0,2

    0,3

    1,0

    1,1

    1,2

    1,3

    2,0

    2,1

    2,2

    2,3

    3,0

    3,1

    3,2

    3,3

    4,0

    4,1

    4,2

    4,3

    0,0

    0,0

    0,3

    4,0

    0,1

    0,-1

    0,0

    0,2

    1,-1

    4,0

    0,2

    0,-2

    0,0

    0,1

    2,-2

    4,0

    0,3

    0,-3

    0,0

    3,-3

    4,0

    1,0

    -1,0

    -1,1

    0,0

    0,3

    1,1

    -1,0

    -1,1

    0,-1

    0,0

    0,2

    1,-1

    3,0

    1,2

    -1,0

    -1,1

    0,-2

    0,0

    0,1

    2,-2

    3,0

    1,3

    -1,0

    0,-3

    0,0

    -3,3

    3,0

    2,0

    -2,0

    -2,2

    0,0

    0,3

    2,0

    2,1

    -2,0

    -2,2

    0,0

    0,2

    1,-1

    2,0

    2,2

    -2,0

    0,-2

    0,0

    0,1

    2,0

    2,3

    -2,0

    0,-3

    0,0

    2,-2

    3,0

    -3,0

    -3,3

    0,0

    0,3

    1,0

    3,1

    -3,0

    0,-1

    0,0

    0,1

    1,0

    3,2

    -3,0

    -1,1

    0,-2

    0,0

    0,1

    1,0

    3,3

    -3,0

    0,-3

    0,0

    1,-1

    1,0

    4,0

    -4,0

    -3,3

    0,0

    0,3

    4,1

    -4,0

    -2,2

    0,-1

    0,0

    0,2

    4,2

    -4,0

    -1,1

    0,-2

    0,0

    0,1

    4,3

    -4,0

    0,-3

    0,0

  • RozwizanieOperator(-4,0)(3,-3)(0,3)(1,-1)(-4,0)(2,-2)Stan pocztkowy(4,3)(0,3)(3,0)(3,3)(4,2)(0,2)Stan kocowy(0,3)(3,0)(3,3)(4,2)(0,2)(2,0)

  • General problem solver - podsumowanieGPS zosta zaprezentowany w roku 1959Zastosowana metoda wnioskowania (means-ends analysis) bya wzorowana na sposobie rozwizywania problemw przez czowiekaMetoda ta znajduje zastosowanie w robotyce i planowaniu dziaa (STRIPS 1971)

  • Zasada rezolucji (Alan Robinson 1965)

  • Dowd metod nie wprostZaoenie o niesprzecznoci teoriiZatem dodanie zdania, ktre nie jest prawdziwe powoduje powstanie sprzecznoci w rozwaanym zbiorze zdaSzukamy tej sprzecznociCo bdzie jeeli nie ma sprzecznoci?

  • Dowd metod rezolucji1. Przekszta przesanki lub aksjomaty w form klauzul. 2. Dodaj do zbioru aksjomatw zaprzeczenie twierdzenia, ktre ma by udowodnione. 3. Wygeneruj nowe klauzule wynikajce z tego zbioru. 4. Znajd sprzeczno generujc pust klauzul. 5. Warunki uyte do wygenerowania pustej klauzuli s tymi, w ktrych zaprzeczenie celu jest prawdziwe.

  • Tw. o Sokratesie:Dowd:1. zaprzeczenie tezy:2. na podstawie reguy podstawiania: (X/sokrates)3. rezolucja Z1 oraz A14. rezolucja A2 i Z2 powoduje wygenerowanie klauzuli pustej, co koczy dowd. die(sokrates)Z2. man(sokrates)Z1. die(sokrates)A1. die(sokrates) man(sokrates)Teoria przemijaniaA1. die(X) man(X) A2. man(sokrates)

  • Strategie upraszczajce rezolucjPrzeszukiwanie wszerzStrategia zbioru podpierajcegoStrategia preferencji jednostkowejStrategia liniowego wejcia

  • Przykadczowiek(X) umrze(X)filozof(sokrates)filozof(Y) czowiek(Y) m

    umrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)filozof(Y) czowiek(Y)

    umrze(sokrates)

  • filozof(sokrates)Przeszukiwanie wszerzumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)Xczowiek(sokrates)czowiek(sokrates)XXfilozof(Y) czowiek(Y) umrze(sokrates)filozof(X) umrze(X)klauzula pustaklauzula pusta

  • filozof(sokrates)Przeszukiwanie wszerzumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)Xczowiek(sokrates)czowiek(sokrates)XXfilozof(Y) czowiek(Y) umrze(sokrates)filozof(X) umrze(X)klauzula pustaklauzula pusta

  • Strategia zbioru podpierajcegoDla zbioru klauzul wejciowych S okrela si podzbir TS zwany zbiorem podpierajcym.Strategia wymaga, aby w kadej rezolucji co najmniej jedna rezolwenta miaa poprzednika w zbiorze podpierajcym T.Jeeli S jest sprzeczny i S\T nie jest sprzeczny, to strategia ta jest zupena.Np. jeeli T zawiera zaprzeczenie celu.

  • zbir podpierajcyStrategia zbioru podpierajcegoumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)Xczowiek(sokrates)czowiek(sokrates)XXfilozof(Y) czowiek(Y) filozof(X) umrze(X)

  • Strategia zbioru podpierajcegoumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)Xczowiek(sokrates)czowiek(sokrates)XXfilozof(Y) czowiek(Y) filozof(X) umrze(X)

  • Strategia zbioru podpierajcegoumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)czowiek(sokrates)czowiek(sokrates)filozof(Y) czowiek(Y) filozof(X) umrze(X)

  • Strategia zbioru podpierajcegoumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)czowiek(sokrates)czowiek(sokrates)filozof(Y) czowiek(Y) filozof(X) umrze(X)umrze(sokrates)klauzula pustafilozof(sokrates)

  • Strategia preferencji jednostkowejRezolucja, w ktrej jedna rezolwenta jest literaem prowadzi do skrcenia drugiej rezolwenty. Zatem preferuje si rezolucje z pojedynczymi literaami.Jeeli nie dopucimy innych rezolucji, jak tylko z pojedynczymi literaami, to strategia nie jest zupena.

  • Strategia preferencji jednostkowejumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)Xczowiek(sokrates)czowiek(sokrates)XXfilozof(Y) czowiek(Y) filozof(X) umrze(X)

  • Strategia preferencji jednostkowejumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)Xczowiek(sokrates)czowiek(sokrates)XXfilozof(Y) czowiek(Y) filozof(X) umrze(X)

  • Strategia preferencji jednostkowejumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)czowiek(sokrates)czowiek(sokrates)filozof(Y) czowiek(Y) klauzula pustafilozof(sokrates)umrze(sokrates)

  • Strategia liniowego wejciaW pierwszej rezolucji rezolwentami s aksjomat i zanegowany cel. W kolejnych krokach jedn z rezolwent jest ostatnio otrzymana klauzula, a drug aksjomat.Strategia nie jest zupena.

  • Strategia liniowego wejciaumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)Xczowiek(sokrates)czowiek(sokrates)XXfilozof(Y) czowiek(Y) filozof(X) umrze(X)

  • Strategia liniowego wejciaumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)Xczowiek(sokrates)czowiek(sokrates)XXfilozof(Y) czowiek(Y) filozof(X) umrze(X)

  • Strategia liniowego wejciaumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)czowiek(sokrates)filozof(Y) czowiek(Y)

  • Strategia liniowego wejciaumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)czowiek(sokrates)filozof(Y) czowiek(Y) filozof(sokrates)

  • Strategia liniowego wejciaumrze(sokrates)czowiek(X) umrze(X)filozof(sokrates)czowiek(sokrates)filozof(Y) czowiek(Y) filozof(sokrates)klauzula pusta

  • Inne poyteczne zasadyUporzdkowanie literaw w klauzulach.Zwizanie zmiennej moe by korzystne na pocztku przeszukiwania, ale nie jest to regu.Klauzule oczywiste naley eliminowa ze zbioru.Klauzule mniej oglne naley eliminowa ze zbioru.

  • Programowanie w logice PROLOG

  • PROLOGPROLOG jest jzykiem programowania w logice.Program w PROLOGu skada si z listy stwierdze logicznych w postaci klauzul Horna.

    Wnioskowanie: - w ty- w gb z nawrotami

  • PROLOG a logikaW logice zmienne s kwantyfikowane jawnie, w PROLOGU nazwy zmiennych zaczynaj si od duej litery, a staych od maej litery.W PROLOGU nie wystpuje znak dysjunkcji, dysjunkcj reprezentuje si w postaci listy alternatywnych stwierdze.W PROLOGU implikacj zapisuje si od koca:pq zapisuje si q :- p.

  • Reprezentacja deklaratywnadie(X) :- man(X)

    man(sokrates)

    ? die(sokrates)

    X man(X) die(X)

    man(sokrates)

  • Artificial Mathematician (ok. 1976)Autor: Douglas LenatJzyk: LISPReprezentacja wiedzy: ramy

    Lenat, D. and Brown, J. (1984). Why AM and EURISKO appear to work. Artificial Intelligence, 23, No. 3 (pp. 269-294).(ur. 1950) The President and CEO of CYCORP

    *Newell and Simon opracowali wasny jzyk oparty na reprezentacji listowej: IPL. Nie mieli kompilatora i translacj na kod maszynowy przeprowadzali rcznie. Aby unikn bdw pracowali niezalenie i rwnolegle, a nastpnie czytali sobie nawzajem cigi zer i jedynek i zapisywali kad instrukcj dopiero po jej uzgodnieniu, gdy aden z nich nie mia wtpliwoci co do jej poprawnoci. (rdo: Russel i Norvig s. 17 footnote).*LT dowodzi tego twierdzenia przez 10s, prbujc 5 aksjomatw. LT znalazl kilka dowodw twierdzen, dla ktrych epen przegd by zbyt pracochonny, ale nie wszystkie udao si rozwiza. Potrzebna bya lepsza strategia przeszukiwania.**For one of the equations, Theorem 2.85, the Logic Theorist surpassed its inventors' expectations by finding a new and better proof. Dowd ten autorzy prbowali opublikowa w czasopimie , ale praca zostaa odrzucona. S dwie wersje: jedna mwi, e recenzent uzna i nowy dowd znanego twierdzenia nie jest dostatecznie interesujcy, aby go opublikowa. Druga wersja mwi,e zakwestionowano czwartego autora, ktrym by Logic Theorist.

    *Dowd nie najkrtszy, ale najszybciej znaleziony!*In the mid-1970s, a young computer scientist at Stanford University named Douglas Lenat created a stir by unveiling AM, a program said to discover fundamental results in mathematics. Based on the Lisp programming language, AM had been provided with a collection of very basic concepts drawn from mathematical set theory, such as 'intersection' and 'union', combined with about 200 'heuristics' - or rules - for such tasks as proposing new things to do, checking truths and spotting regularities. Once set running, AM used these heuristics to look for new concepts that emerged, and decide what constituted an 'interesting' discovery. AM discovered - or, more precisely, rediscovered - the existence of addition, multiplication, de Morgan's rules of Boolean algebra, the existence of prime numbers and the concept of unique factorisation. Perhaps most astonishing of all, AM suggested that every even number greater than 4 can be written as the sum of two prime numbers. This is Goldbach's conjecture, a famous unproven idea in number theory first put forward by a Prussian mathematician in the 18th century. The final induction technique to be considered here is a supervised learning technique as used in systems such as AM (Artificial Mathematician) and EURISKO [Lenat in Mic83]. As to be expected they use a frame based knowledge representation scheme, but unlike other algorithms discussed these are more exploratory in terms of their rationale. Rather than produce a synopsis of some domain, they aim to discover new and innovative knowledge about their application domains. AM has no well-defined target concepts, rather it aims to qualitatively improve its inferences by finding and redefining concepts underlying the application domain. EURISKO was a development of AM but rather than use heuristics to study mathematics, it used heuristics to discover new heuristics for a wide variety of problem solving areas. Both AM and EURISKO use frames (or units) for concepts, with each field in the unit (slot) describing one feature of the concept. For example, ISA specifies subclass/super-class relationships, while WORTH slots are used to specify relative values of a unit. A unit can also be used to delineate rules and meta-rules; meta-rules are used to modify existing units to make them more meaningful or to create new units. Both systems are initialised with domain heuristics and knowledge, then set off to explore the domain using a variety of techniques. AM used three processes (Analogise, Satisfice, Remember). EURISKO extended these operations with additional techniques for generating, evaluating and modifying heuristics. One of the problems associated with this class of program, particularly EURISKO, was the generalisation of too many heuristics. While it came up with innovative and new rules, which it recognised as such, it required a human observer to filter the generated knowledge; a possibly daunting task in itself. Associated with this over-production is the specification of termination conditions. If used as an additional system, these discovery programs can provide novel knowledge about a particular problem domain. Lenat's research into discovery programs continues with THE CYC system.