popel, glum & nepil 16/28

Podobné dokumenty
vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí

Výroková a predikátová logika - V

Programování v čistém Prologu

Logika. 5. Rezoluční princip. RNDr. Luděk Cienciala, Ph. D.

Výroková a predikátová logika - XII

Výroková logika - opakování

Základy umělé inteligence

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Logické programy Deklarativní interpretace

Výroková a predikátová logika - III

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

5 Orientované grafy, Toky v sítích

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

Úvod do TI - logika Výroková logika - pokračování (3.přednáška) Marie Duží

Rezoluční kalkulus pro výrokovou logiku

Tableaux metody. Jiří Vyskočil 2011

Logika a logické programování

Výroková a predikátová logika - II

Výroková a predikátová logika - III

Marie Duží

Matematická logika. Miroslav Kolařík

Výroková a predikátová logika - II

Matematická logika. Rostislav Horčík. horcik

Výroková a predikátová logika - X

Výroková a predikátová logika - IV

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Částečná korektnost. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Modely Herbrandovské interpretace

Výroková a predikátová logika - II

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

á ý á á ú ú ř ý ý ů ě ů ř á á á á ě ě š ř ů á ě ě ě ů ř š ý š ě ů ž ář ř ř š ý ář á ě ř á ý ě ů á á á ě á ž ě ě ů ě ý ě ř ě šť Č ý á á ř á ě á ř ý ý á

: ;

1 REZOLUČNÍ FORMÁLNÍ DŮKAZY

Vzdálenost uzlů v neorientovaném grafu

Ř Á

ň ú Ú ů é é ň ů ž ů ů ů ů é é é é ú ň é ú ú ů é é ů ů Č é ň ú ú ů é é ů Ť ň é ů ů ú ň é ú ť ť é é é ů é é ů é é ť ň ú ú ů é é ů ů ú é ů é ů é ů ť ů ú

ěž Úč úč Í ěž Ž č Ž ž ů Á Č Č Ž Úč Ž Úč Ž ň ž Ů č č Ž Úč Ž Í č š ě ň ó ÚČ č Ž Úč č Č š Ž Š Š ÍŠ

Skolemizace. x(x + f(x) = 0). Interpretace f unární funkce, která pro daný

š č šú ň š š Ž č Ž š č ůž ň š ůž ů Í ž č č č ň č Ž Ž Ž Ž šú š ů š č š Ž Ž Ž š č č šú Ž ů Ž ž č Ž ň ú š Ž Ž š Ž

Occur-check (Test konfliktu proměnných)

1 Linearní prostory nad komplexními čísly

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

2.5 Rezoluční metoda v predikátové logice

Č Ž ú ú ú Š ú Š ú ú ó ú Č ú ú ú Č Ů ú ň ú ú Ě ú ú

ů ř Ž ý ý ř ď ř

ď é Í Í é é é Ž é Ž é Ž é Ž É é é

Rezoluční kalkulus pro logiku prvního řádu

ů č č č č úč č ž ň ž č ž ž š ž č ř č ů ř ř č ó é Á ř é š Á

ž ú ú ý š ž ý ý ů ž ů ž ý ů š š ů ž ž ž ý Ú Ú Ú ň ž ý Š ý š ž ž ý š ú ý

Stromy, haldy, prioritní fronty

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Č ů ť ú ů ť ť ú ů ů ť ť ň ů Ť ť ů ó Č ú ť ů ů ů ú ó ó ť ů ů ú ú ú Á ú ť ť ó ň ů ů ň ť Ů Ů ť ň ů ů

ž ž ž ž ž ž ž ž ž Ř ž ž Ž Ž É Ě Ň ž

ů ý ž ý ý ú Ý ů ý ů Ž Ž ú ů

Domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

6. Logika a logické systémy. Základy logiky. Lucie Koloušková, Václav Matoušek / KIV. Umělá inteligence a rozpoznávání, LS

ň č ů ý ů ů ů ý ť č č ý č č ý ý ý č ú ý ů ť č č Ú ů Ý ů ů ú ý ů ů úč Ú č ů ů úč ý ů ů č ů úč Í ů Í Í ý č úč ů č ň ú ú ů ú č ů č ň ú ú ů ú ú ý ů ň ý ú



IB112 Základy matematiky

Principy indukce a rekurentní rovnice

Formální systém výrokové logiky

Znalosti budeme nejčastěji vyjadřovat v predikátové logice prvního řádu. Metody:

Spojitost a limita funkce

Seminární práce z Teorie ICT

Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy

Representace znalostí s použitím klasické negace

V B r n ě, 2 4. b ř e z n a

ř ě ř ě ř ě ů ěž š ň ě ň Ů ó ó ů ó ř ě ů Ř š ů ř ř ě Ř ř ř š ř ě ě ř ě š Ž ř Ř ř ř ě š ů ě Í ě ě Š ř ž Š ň ň ř ě ř ř ě š Í ňň š ě ň Š Ž Ž Ř ř Á ř ě ě

Základní datové struktury III: Stromy, haldy

Ú é ů é Ú é Ž é é é ě Ú ž é ě ž Ž ě é ě ě ě ě é ě Ú ě ž é ě ě Ž ě ě ě Š ě ó ě ě Í é Ž é Ž Ž ě ě ě ě ě Š ůž ě ěž Ž Ž ě Ž Ž Ž ě ň ň ě ó é Ž ě

ě

ď š š š š ň ť Í Í š Í š š Č ť š š š ň š Ů š š šť š š

Ř é é é úť Ú é é é é é ú é é é ú ú ú Č ú Č ú ú

Prohledávání do šířky = algoritmus vlny

Ý š ž é ů Š ú ú ú Ó ů ú ú é Ó Ó Č ů ú Ú ň ů š ů š ů ú ú é é ž

í Š ó č É Í é á ď Ď é Š Á ó ó É Ó

Č š ú ú ú ú Ú ú ú Ú Š ť Č Í Í Č

M - Příprava na pololetní písemku č. 1

ě ě é ň é ř ř ě ř é ě ě č ě úč ě é č č ě č é ě é čů ř ů č é ě ž ř ú ř ř č ř ě ě ř é Š ř é ř ě ř ř ú č ě ř é Š ř ě ř ř é č ě é é ž é Č é č é é ř ě žň ě

Ý Á Š Ť ě ř ě ě ě ř ě ř ř ě ě ř ě ů ř ř ě ž ř ě Í ě ě ě ě ů ě ě ř ů ěž ř ě ů ř ě ů ž ě ň ú ú ů ž ů Ř ř ž ů ě ř ř ěř ů ěř ů ů ů ě ů ě ů ž ě ř ř ě ř ě ě

V H L U B O K É N A D V L T A V O U J A N H E N D R Y C H

Í š š š š Í

IA008 Computational logic Version: 6. května Formule je v konjunktivní normální formě (CNF), pokud má tvar α 1... α n,

ě ě é é Ú Ů ě ů ě ú Í Č ě ú é ň é Ú ě Ý é ů ě ě ě š ú ě ě š ů Ú ÚČ ě ň ú ž ú š ě é Ž é ÚČ é é é Š ě Ž ÚČ ň ÚČ ó ú ú ú Ž ú Č Ž Ů ú š ě Ý ě ě ž ú ě é š

3.10 Rezoluční metoda ve výrokové logice

č č č Ó ť č č č č č Í č č č Ť č č Ó č č č č č Ť č č Ť Á ť Ť č ť č Ž č ť ť Í ť Ó Ť

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Univerzita Karlova v Praze Právnická fakulta DIPLOMOVÁ PRÁCE Filip Kračman

E M B L E M A T I C K É M Y S T É R I U M Z A H R A D Y

ú š ů ů š ú š ú š Ť ů Ť š š Š š Š Š š š ú ú ú š Ú Č ů ů š Ý ó

č ž ž ž č ů č úč č ň ú Ů Ů ů ž ž č ž ú č č š ť ž ó š Ě ž úč ď Ž ž ž ž Á

ú ě ě ě ú ú ě ě š ě ě ě ě ě ě ě ú ě ů ů ů ě ě ů ů ů

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

é š ž ú é ď É ř ž ú ů é š ž ú ú š ř š ž ř ů š ů ř š é é ž š ú ž ř ů é ů ř ú ň é š ř ř é ú Š Š ř ř š š é é é ú é š ž ů š ř ř ž ř ř é ř ř é é š ž ř ž ž

Logika. Dana Nejedlová Katedra informatiky Ekonomická fakulta Technická univerzita v Liberci

Č š ř ř ř ř š ř Č Ř ň ž ř ř ý ř ř ž š ž š ř ň ý ř ú ý ř š ř ů ý ú š ž ž ř ř ř ž Ž š ř š Ž ř ž š š

Logické programování I

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39

Transkript:

Lineární rezoluce další způsob zjemnění rezoluce; místo stromu směřujeme k lineární struktuře důkazu Lineární rezoluční odvození (důkaz) z Ë je posloupnost dvojic ¼ ¼ Ò Ò taková, že Ò ½ a 1. ¼ a všechna jsou z Ë nebo nějaké, kde, 2. každé ½ Ò, je rezolventou a. je lineárně odvoditelná z Ë (Ë Ä ), existuje-li lineární odvození z Ë. Lineární Ë vyvrácení je Ë odvození Ä ¾. Prvky Ë budeme nazývat vstupní klauzule, střední a boční klauzule. popel, glum & nepil 16/28

příklad: lineární vyvrácení množiny Lineární rezoluce: příklad Ë Ô Õ Ô Õ Ô Õ Ô Õ Ô Õ Ô Õ Ô Ô Õ Õ Ô Õ Ô Ô ¾ lineární rezoluce je korektní a úplná popel, glum & nepil 17/28

Hornovy klauzule a Prolog omezení na určitý typ klauzulí používaných v programovacím jazyce Prolog Hornova klauzule je klauzule s nejvýše jedním pozitivním literálem. Ô Õ Ö Příklad: Běžný zápis ve výrokové logice Ô Õ Ö lze ekvivalentními úpravami převést na Ô Õ Öµ a dále na Ô Õ Ö, což v Prologu zapisujeme p :- q, r. typy Hornových klauzulí: programové s právě jedním pozitivním literálem dále dělíme na * fakta bez negativních lit. (př.: Ô, v Prologup.) * pravidla s alespoň jedním negativním lit. (př.: Ô Õ,p :- q.) cíle bez pozitivního literálu (př.: Ô,:- p. resp.?- p.) Každá nesplnitelná množina neprázdných Hornových klauzulí musí obsahovat alespoň jeden fakt a alespoň jeden cíl. popel, glum & nepil 18/28

Prolog Prologovský program È : fakta + pravidla. Zajímá nás, co lze z È odvodit obecně zda z něj vyplývá konjunkce Õ faktů Õ ¾ Õ Ò ½. Zadáme dotaz Õ ½ Õ ¾ Õ Ò a obdržíme příslušnou odpověď (zpravidla yes/no). Prolog přidá cílovou klauzuli Õ ½ Õ ¾ Õ Ò k È a zjišťuje nesplnitelnost È. Věta: je-li È prologovský program a Õ ½ Õ ¾ Õ Ò cílová klauzule, pak Õ všechna jsou È důsledkem právě tehdy, È když je nesplnitelná. pro prologovské programy (Hornovy klauzule) je v důkazu nesplnitelnosti nezbytné použít zadaný cíl; budeme tedy klást další požadavky na lineární rezoluci Nechť È je množina programových klauzulí a cílová klauzule. Lineární vstupní rezoluce (LI-rezoluce) Ë È množiny je lineární vyvrácení Ë, které začíná klauzulí a bočními klauzulemi jsou pouze klauzule z È. popel, glum & nepil 19/28

LI-rezoluce: vlastnosti LI-rezoluce je korektní, ale pro obecné klauzule není úplná; Ë Ô Õ Ô Õ Ô Õ Ô Õ příklad: je nesplnitelná, ale LI-rezoluční vyvrácení Ë neexistuje Ô Õ Ô Õ Õ Ô Õ Ô Ô Õ Õ Ô Õ Ô... Ô Õ LI-rezoluce je úplná pro Hornovy klauzule popel, glum & nepil 20/28

,Implementace Hornových klauzulí a rezoluce upravíme doposud používané struktury a mechanismy tak, aby byly dobře strojově zpracovatelné množiny reprezentující klauzule nahradíme uspořádanými klauzulemi (definite clauses), např. Ô Õ Ö místo Ô Õ Ö použijeme rezoluce pro uspořádané klauzule: mějme Ô ½ Ô ¾ Ô Ò a À Õ Õ ½ Õ ¾ Õ Ñ, rezolventou a À pro Ô Õ bude uspořádaná klauzule Ô ½ Ô ¾ Ô ½ Õ ½ Õ ¾ Õ Ñ Ô ½ Ô Ò Je-li È množina uspořádaných klauzulí, pak LD-rezoluční vyvrácení È je posloupnost ¼ ¼ Ò Ò uspořádaných klauzulí taková, že ¼, Ò ½ ¾, ¾ È a každé ½ Ò, je rezolventou uspořádaných klauzulí ½ a ½. popel, glum & nepil 21/28

LD a SLD-rezoluce úplnost LD-rezoluce: nechť È je množina programových klauzulí, cílová klauzule. È Je-li nesplnitelná, pak existuje LD-rezoluční vyvrácení È začínající. další problém při strojovém zpracování: výběr literálu, na kterém se bude rezolvovat selekční pravidlo Ê je libovolná funkce, která vybere literál z každé uspořádané cílové klauzule SLD-rezoluce je lineární vstupní rezoluce se selekčním pravidlem SLD-rezoluční vyvrácení È pomocí selekčního pravidla Ê je LD-rezoluční vyvrácení ¼ Ò Ò ¼, ¼, Ò ½ ¾, kde Ê µ je literál, na kterém rezolvujeme v ½-ním kroku. Pozn.: bez explicitní definice Ê se vybírá nejlevější literál. popel, glum & nepil 22/28

SLD-rezoluce, SLD-stromy úplnost SLD-rezoluce pro Prolog: nechť È je množina programových klauzulí, cílová klauzule, Ê libovolné selekční pravidlo. Je-li È nesplnitelná, pak existuje SLD-rezoluční vyvrácení È pomocí Ê. Prostor všech možných SLD-derivací při vyhodnocování daného cíle v Prologu pro È program lze reprezentovat Ì stromem, který označujeme jako SLD-strom pro program È a cíl. Ì má v kořeni. Je-li libovolný uzel Ì označen ¼, pak jeho bezprostřední následníci jsou označeni výsledkem rezoluce nejlevějšího literálu ¼ se všemi použitelnými klauzulemi z È. popel, glum & nepil 23/28

SLD-stromy: příklad I Příklad: mějme následující program (klauzule jsou pro přehlednost očíslovány): 1. p:- q, r. 2. p:- s. 3. q. 4. q:- s. 5. r. 6. s:- t. 7. s. a dotaz?- p. (tedy Ô ) popel, glum & nepil 24/28

SLD-stromy: příklad II odpovídající SLD-strom: Ô 1. 2. Õ Ö 3. 4. 6. 7. Ø ¾ Ö Ö 5. 6. 7. neúspěch 5. ¾ Ø Ö Ö neúspěch ¾ popel, glum & nepil 25/28

Backtracking úspěšné cesty v SLD-stromu jsou ty, které končí ¾, ostatní cesty jsou neúspěšné Vyhodnocovací mechanismus Prologu prochází SLD-strom do hloubky zleva doprava a hledá (první) úspěšnou cestu (backtracking). Existuje-li více programových klauzulí, se kterými může vybraný literál rezolvovat, vybere se první z těchto klauzulí (dle pořadí, jak jsou uvedeny v programu). Pokud mechanismus při procházení stromu narazí na neúspěšnou větev, dojde k backtrackingu výpočet se vrátí zpět do nejbližšího uzlu Æ, kde je k dispozici možnost volby, a pokračuje z Æ cestou těsně vpravo od té, která právě selhala. Tento proces se opakuje, dokud není nalezena úspěšná větev (resp. do prozkoumání celého stromu). vyhodnocení cíle?- p. z předchozího příkladu projde hranami označenými 1.,3.,5. a skončí úspěchem (systém odpoví,yes ). popel, glum & nepil 26/28

Backtracking: příklad Odstraníme-li z předchozího programu 3. klauzuli, získáme pro cíl?- p. následující SLD-strom. Vyhodnocení projde přes 1.,4.,6., narazí na neúspěch, vrací se do Ö, projde hranami 7.,5. a úspěšně skončí. Ô 1. 2. Õ Ö 4. 6. 7. Ø Ö ¾ 6. 7. neúspěch 5. Ø Ö Ö neúspěch ¾ popel, glum & nepil 27/28

Prolog: poznámky zadáním středníku (;) po úspěšném vyhodnocení cíle vynutíme backtracking a hledání alternativního důkazu odpověď,no systému znamená, že daný cíl není logickým důsledkem programu (resp. že nemá alternativní důkaz po předchozím zadání středníku) prologovská strategie prohledávání stavového prostoru může vést k zacyklení (i v případě, že existují úspěšné větve) příklad: program q:- r. r:- q. q. cyklí pro zadaný cíl?- q. popel, glum & nepil 28/28