Hornklausuler i satslogiken

Relevanta dokument
Varför är logik viktig för datavetare?

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?

Grundläggande logik och modellteori

Grundläggande logik och modellteori

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna?

Grundläggande logik och modellteori

Grundläggande logik och modellteori

Grundläggande logik och modellteori (5DV102)

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

Grundläggande logik och modellteori

Lite om bevis i matematiken

Semantik och pragmatik

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Grundläggande logik och modellteori (5DV102)

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Föreläsning 5. Deduktion

Predikatlogik: Normalformer. Klas Markström

Om semantisk följd och bevis

DD1361 Programmeringsparadigm HT15

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

DD1361 Programmeringsparadigm HT16

FTEA12:2 Filosofisk Metod. Grundläggande argumentationsanalys II

DD1361 Programmeringsparadigm HT17

Semantik och pragmatik (Serie 3)

Tentamen i logik 729G06 Programmering och logik

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas:

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

Försättsblad till skriftlig tentamen vid Linköpings universitet TER1

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS

DD1350 Logik för dataloger. Vad är logik?

FUZZY LOGIC. Christopher Palm chrpa087

Föreläsning 9: NP-fullständighet

Grundläggande logik och modellteori

Datorrepresentation av vårdriktlinjer

7, Diskreta strukturer

F. Drewes Datavetenskapens grunder, VT02. Lite logik

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion Varför logik? Satslogik... 2

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

I en matchning ligger varje hörn i högst en kant. I en stig ligger varje hörn i högst två kanter.

Robin Stenwall Lunds universitet

Högre ordnings ekvationer och system av 1:a ordningen

Logik och modaliteter

Robin Stenwall Lunds universitet

MA2047 Algebra och diskret matematik

Logik och kontrollstrukturer

729G06 Logik FÖRELÄSNING 1 ANDERS MÄRAK LEFFLER IDA/HCS

Substitution och unifiering

Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf

Kap. 7 Logik och boolesk algebra

Logik för datavetare DVK:Log Tisdagen 28 oktober Institutionen för dataoch systemvetenskap David Sundgren

Karlstads Universitet, Datavetenskap 1

Semantik och pragmatik (serie 5)

En introduktion till predikatlogik

Logik. Dr. Johan Hagelbäck.

DD1350 Logik för dataloger

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt,

Semantik och pragmatik

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

DEL I. Matematiska Institutionen KTH

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

Funktionella beroenden - teori

Probabilistisk logik 1

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

Robin Stenwall Lunds universitet

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Logik: sanning, konsekvens, bevis

DD1350 Logik för dataloger

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

HD-metoden och hypotesprövning. Vetenskapliga data

Diskret matematik: Övningstentamen 4

EDA Digital och Datorteknik 2009/2010

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

Logik I. Åsa Hirvonen Helsingfors universitet. Våren 2013

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt, lära oss

Övningshäfte 1: Logik och matematikens språk

Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1).

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Prova på-laboration i Prolog

Lite om räkning med rationella uttryck, 23/10

Föreläsning 8. newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK -- data istället för newtype krävs om >1 konstruerare.

K2 Något om modeller, kompakthetssatsen

1 Duala problem vid linjär optimering

EDA Digital och Datorteknik 2010/2011

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind

Formell logik Kapitel 5 och 6. Robin Stenwall Lunds universitet

8. Moralpsykologi. Några klargöranden:

7, Diskreta strukturer

MATEMATIKENS SPRÅK. Avsnitt 1

SANNING eller fake 1

Detta är ett ofärdigt utdrag ur ovanstående text. Vänligen sprid inte!

Algoritmer, datastrukturer och komplexitet

Sanningens paradoxer: om ändliga och oändliga lögnare

Transkript:

Hornklausuler i satslogiken Hornklausuler (efter logikern Alfred Horn) är ett viktigt specialfall som tillåter effektiva algoritmer och ligger till grund för regelbaserade expertsystem och logiska programspråk som Prolog a. Regelbaserade expertsystem Terminologi och exempel Minsta modeller Algoritmiska anmärkningar a Prolog använder sig av hornklausuler i första ordningens predikatlogik. Hornklausuler i satslogiken 1

Regelbaserade expertsystem Regelbaserade expertsystem som representerar kunskapen om ett område mha hornklausuler för att automatiskt kunna dra slutsatser utifrån givna fakta var mest populära på 70- och 80-talet. Två berömda exempel är MYCIN, som skulle stödja läkare vid diagnos och ordination i samband med infektiösa blodsjukdomar. MYCIN användes aldrig i praktiken men var det första riktiga regelbaserade expertsystemet och förebilden för alla som kom efter. R1, som skapades på slutet av 70-talet av DEC för att konfigurera VAX-datorsystem. R1 var en kommersiell framgång, delvis pga att användningsområdet var mindre stort och komplext men också mer tekniskt än MYCINS. Matchningsalgoritmen RETE som användes i R1 är en viktig metod för att öka effektiviteten. Moderna expertsystem kombinerar den regelbaserade metoden med andra. Hornklausuler i satslogiken 2

Exempel Ett expertsystem kan sägas bestå av tre komponenter; fakta, regler och restriktioner. I det här exemplet tittar vi på ett expertsystem resonerar om kubvärlden. Fakta: Vi vet att båda pyramiderna ligger på varsin kub. Vi vet att ena pyramiden inte ligger på bordet. Regler: Om den ena kuben ligger på den andra och ena pyramiden ligger på en kub, så ligger den andra pyramiden på bordet. Om ett objekt inte är en pyramid, så är det en kub. Om båda pyramiderna ligger på varsin kub, så ligger inte den första kuben på bordet. Restriktioner: Det är omöjligt att två pyramider ligger på samma kub. Det är omöjligt att ett objekt varken är en kub eller en pyramid. Hornklausuler i satslogiken 3

Exempel Expertsystemet utgår från den fakta den initialt har och bygger på med nya fakta genom att iterativt använda sina regler för att dra slutsatser. När till sist inga nya fakta kan härledas, kontrollerar man mängden man åstadkommit mot restriktionerna. Fakta 1: Vi vet att den ena kuben ligger på den andra. Vi vet att ena pyramiden ligger på en kub. Regler: Om den ena kuben ligger på den andra och ena pyramiden ligger på en kub, så ligger den andra pyramiden på bordet. Fakta 2: Vi vet att den ena kuben ligger på den andra. Vi vet att ena pyramiden ligger på en kub. Vi vet att den andra pyramiden ligger på bordet. Hornklausuler i satslogiken 4

Terminologi Definition En litteral är positiv om den är en atom och negativ om den är en negerad atom. En hornklausul är en klausul som maximalt innehåller en positiv litteral. Den har alltså formen A 1 A n B (där B = ifall klausulen inte innehåller någon positiv litteral alls), vilket alternativt kan skrivas (A 1 A n ) B. Ytterligare terminologi: Klausulen sägs vara ett faktum om den endast består av en positiv litteral B (dvs n = 0 och därmed A 1 A n ), en regel om den innehåller en positiv samt minst en negativ litteral och en sammansatt negation om den endast består av negativa litteraler. En speciell sammansatt negation är (som har ringa praktisk betydelse). Hornklausuler i satslogiken 5

Uppgift 1 Vilka av nedstående klausuler är hornklausuler? ϕ 1 = ( ) ϕ 2 = (A B) ϕ 3 = ( A B) ϕ 4 = ( A B) ϕ 5 = (A B C) ϕ 6 = (A) ϕ 7 = ( B) ϕ 8 = ( A B) Hornklausuler i satslogiken 6

Lösning 1 Av klausulerna på föregående oh-bild var alla utom ϕ 2, ϕ 4 och ϕ 8 hornklausuler. Hornklausuler i satslogiken 7

Exempel ur blockvärldarna Positiva litteraler som t.ex. Is cube(k 1 ) och Is pyramid(p 1 ) är fakta. (Intuition: I en databas som beskriver tillåtna världar skulle de representera fakta som alltid gäller.) Implikationen On(K 2, K 1 ) On(P 1, K 2 ) On table(p 2 ) är en regel. (Intuition: I databasen skulle den representera en regel som gör det möjligt att dra slutsatsen On table(p 2 ) om man redan vet att On(K 2, K 1 ) och On(P 1, K 2 ) gäller.) En sammansatt negation är t ex (On table(p 1 ) On(P 1, K 1 )) vilket är ekvivalent med (On table(p 1 ) On(P 1, K 1 )). (Intuition: I databasen skulle den användas för att beskriva en förbjuden situation.) Hornklausuler i satslogiken 8

Definition För en formelmängd Φ låt Minsta modell atcons(φ) = {A P Φ = A} = {A P v(a) = 1 för alla v Mod(Φ)} vara mängden av Φs atomära konsekvenser. Tolkningen v Φ definieras v (A) Φ 1 om A atcons(φ) = 0 annars. Observation: Om v Φ är en modell av Φ så är den dess minsta modell i den bemärkelsen att alla övriga modeller v uppfyller v(a) v Φ (A) för alla A P (och om v Φ inte är en modell av Φ så har Φ ingen minsta modell). Teorem Om en mängd Φ av hornklausuler har en modell, dvs om Φ inte är motsägelsefullt, så är v Φ en modell av Φ (och således dess minsta modell). Hornklausuler i satslogiken 9

Att beräkna den minsta modellen Låt Φ vara en mängd av hornklausuler. Att beräkna atcons(φ) och således v Φ är enkelt: Börja med Φ som databas. Så länge databasen innehåller en regel (A 1 A n ) B och fakta A 1,...,A n men inte B, lägg till B som ett nytt faktum. Mängden av alla fakta som till slut finns i databasen är lika med atcons(φ). Undantag: Om det finns en sammansatt negation (A 1 A n ) samt fakta A 1,...,A n i databasen så är atcons(φ) = och Φ motsägelsefullt. Exempel: Φ = {A 1, A 1 A 2, (A 1 A 2 ) A 3, (A 3 A 4 ) A 5 } ger atcons(φ) = {A 1, A 2, A 3 }. Om den sammansatta negationen (A 1 A 5 ) läggs till så ändras inget i exemplet ovan men (A 1 A 3 ) har till följd att Φ blir motsägelsefullt. Utifrån den minsta modellen kan man lätt beräkna alla modeller. (Hur?) Hornklausuler i satslogiken 10

Algoritmiska anmärkningar Enhetsresolution är fullständig för mängder Φ av hornklausuler: Om Φ är mängden av alla klausuler som kan fås mha upprepad enhetsresolution så gäller antingen Φ (Φ är motsägelsefullt) eller Φ P = atcons(φ). Som vi redan vet kan enhetsresolution implementeras på så sätt att regler som har används ersätts med resolutionsresultatet (som innehåller en litteral mindre). Det behövs alltså maximalt length(φ) resolutionssteg för att beräkna Φ. Hornklausuler i satslogiken 11