Substitution och unifiering

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

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

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

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

DD1350 Logik för dataloger

Grundläggande logik och modellteori

MÖNSTER OCH TALFÖLJDER

Predikatlogik: Normalformer. Klas Markström

Robin Stenwall Lunds universitet

Grundläggande logik och modellteori (5DV102)

Finansiell statistik FÖRELÄSNING 11

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

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

DD1361 Programmeringsparadigm HT15

En introduktion till predikatlogik

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

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

Grundläggande logik och modellteori

Robin Stenwall Lunds universitet

Primitivt rekursiva funktioner och den aritmetiska hierarkin

Hornklausuler i satslogiken

DD1361 Programmeringsparadigm HT16

DD1361 Programmeringsparadigm HT17

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

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

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

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer Domäner Tolkningar... 3

de var svåra att implementera och var väldigt ineffektiva.

Robin Stenwall Lunds universitet

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Resultat till ett försök är ofta ett tal. Talet kallas en stokastisk variabel (kortare s. v.).

MA2047 Algebra och diskret matematik

Sådana avbildningar kallar vi bijektioner mellan A och B (eller från A till B).

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

Formella metoder. Loop-program som statetransformers. Betrakta följande problem. specifikationen.

10. Mängder och språk

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

SF1901: SANNOLIKHETSTEORI OCH FLERDIMENSIONELLA STOKASTISKA STATISTIK VARIABLER. Tatjana Pavlenko. 8 september 2017

kvoten mellan två på varandra följande tal i en talföljd är konstant alltid lika stor.

SF1920/SF1921 Sannolikhetsteori och statistik 6,0 hp Föreläsning 3 Diskreta stokastiska variabler. Jörgen Säve-Söderbergh

5 Lokala och globala extremvärden

Differentialekvationer av första ordningen

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Föreläsningsmanus i matematisk statistik för lantmätare, vecka 5 HT06

Uppgifter om funktioner

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Lösandet av ekvationer utgör ett centralt område inom matematiken, kanske främst den tillämpade.

3-8 Proportionalitet Namn:

Fria matteboken: Matematik 2b och 2c

Låt vara en reell funktion av en reell variabel med definitionsmängden som är symmetrisk i origo.

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4

Artificiell Intelligens Övningsuppgifter

Dubbelintegraler och volymberäkning

Stokastiska signaler. Mediesignaler

Den Gyllene Regeln och Substitutionsfunktioner

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

F5 STOKASTISKA VARIABLER (NCT , samt del av 5.4)

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

Lösa ekvationer på olika sätt

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

Sammanfattning av ordinära differentialekvationer

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2

Filosofisk logik Kapitel 18. Robin Stenwall Lunds universitet

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

Resultat till ett försök är ofta ett tal. Talet kallas en stokastisk variabel (kortare s. v.).

Föreläsning 5, Matematisk statistik 7.5hp för E Linjärkombinationer

Derivationsformler för tensorfält

SF1922/SF1923: SANNOLIKHETSTEORI OCH DISKRETA STOKASTISKA VARIABLER STATISTIK. Tatjana Pavlenko. 23 mars, 2018

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

KTH 2D1240 OPEN vt 06 p. 1 (5) J.Oppelstrup

Logik och bevisteknik lite extra teori

ÖVN 2 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF1683. Inofficiella mål

Bengt Ringnér. October 30, 2006

ÖVN 6 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF Nyckelord och innehåll. a n (x x 0 ) n.

Bengt Ringnér. September 20, Detta är föreläsningsmanus på lantmätarprogrammet LTH vecka 5 HT07.

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

Matematisk statistik 9 hp Föreläsning 6: Linjärkombinationer

Läsanvisningar till kapitel

Om semantisk följd och bevis

10.1 Linjära första ordningens differentialekvationer

En bijektion mellan två mängder A och B som har ändligt antal element kan finnas endast om mängderna har samma antal element.

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret Lektion 1

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

Föreläsning 6, FMSF45 Linjärkombinationer

Diskret matematik, lektion 2

Asymptotisk komplexitetsanalys

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

= 0. Båda skärningsvinklarna är således π/2 (ortogonala riktningsvektorer).

Matematisk statistik för D, I, Π och Fysiker

Envariabelanalys: Vera Koponen. Envariabelanalys, vt Uppsala Universitet. Vera Koponen Föreläsning 5-6

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

Grundläggande logik och modellteori

Transkript:

Substitution och unifiering Exempel varför behövs substitution? Substitution Unifiering Den mest generella unifieraren Substitution och unifiering 1

Resolution kräver substitution ett enkelt exempel Gäller {( x)(fågel(x) Vingar(x)), Fågel(Kalle A)} = Vingar(Kalle A)? Normalisering ger klausulerna 1. Fågel(x) Vingar(x), 2. Fågel(Kalle A), 3. Vingar(Kalle A). Man borde kunna använda resolution på 1 och 2 men det kräver att Kalle A först substitueras för x: Fågel(x) Vingar(x) {x Kalle A} Fågel(Kalle A) Vingar(Kalle A) Resolution ger nu Vingar(Kalle A) och sedan pga klausul 3. Substitution och unifiering 2

Resolution kräver substitution ett komplexare exempel {( x)( y)(p(f(x),h(y)) q(y)), ( x)( q(g(a)))} = ( x)( y)(p(f(y),h(g(x)))) Normalisering ger klausulerna 1. p(f(x),h(y)) q(y), 2. q(g(a)), 3. p(f(f y (z)),h(g(z))). p(f(x),h(y)) q(y) q(g(a)) p(f(f y (z)),h(g(z))) {y g(a)} p(f(x),h(g(a))) {x f y (a), z a} Substitution och unifiering 3

Substitution En substitution är en funktion σ : V terms(t) där σ(x) =x för alla utom ändligt många x V. Traditionelltskrivsxσ istället för σ(x). En substitution är alltså en funktion på den här formen: t 1 om x = x 1. xσ = t n om x = x n x annars. Den skrivs därför vanligtvis som en mängd {x 1 t 1,...,x n t n }. För t terms(t) betecknar tσ termen som fås av t genom att simultant ersätta varje förekomst av en variabel x med xσ. Med andra ord, varje x i ersätts med t i (1 i n) medandeövriga variablerna inte påverkas. Substitution och unifiering 4

Uppgift 1 Para ihop varje tuppel av en formel A och en substituering σ med den resulterande formeln Aσ. r(x) {x f(y)} r(x) r(f y (x),y) {x a, y b} r(f(y))) r(x) {x y} r(g(a),f(y),g(a)) r(y) {y x} r(f y (a),b) r(x, f(y),x) {x g(a),z b} r(f(y),f(x)) r(f(x),f(y)) {x y, y x} r(y) Substitution och unifiering 5

Lösning 1 r(x) {x f(y)} r(x) r(f y (x),y) {x a, y b} r(f(y))) r(x) {x y} r(g(a),f(y),g(a)) r(y) {y x} r(f y (a),b) r(x, f(y),x) {x g(a),z b} r(f(y),f(x)) r(f(x),f(y)) {x y, y x} r(y) Substitution och unifiering 6

Exemplet igen {( x)( y)(p(f(x),h(y)) q(y)), ( x)( q(g(a)))} = ( x)( y)(p(f(y),h(g(x)))) Normalisering ger klausulerna 1. p(f(x),h(y)) q(y), 2. q(g(a)), 3. p(f(f y (z)),h(g(z))). p(f(x),h(y)) q(y) q(g(a)) p(f(f y (z)),h(g(z))) {y g(a)} p(f(x),h(g(a))) {x f y (a), z a} Substitution och unifiering 7

Samma exempel i en annan ordning 1. p(f(x),h(y)) q(y), 2. q(g(a)), 3. p(f(f y (z)),h(g(z))). p(f(x),h(y)) q(y) p(f(f y (z)),h(g(z))) q(g(a)) {x f y (z), y g(z)} q(g(z)) {z a} Substitution och unifiering 8

Problem: Substitutionen får inte vara för speciell När termer substitueras för variabler specialiseras formeln. T ex är Fågel(Kalle A) Vingar(Kalle A) en specialisering av Fågel(x) Vingar(x). Problem: Är den speciellare än nödvändigt kan det hindra senare resolutionssteg. p(f(x),h(y)) q(y) p(f(f y (z)),h(g(z))) q(g(a)) {x f y (g(w)), y g(g(w)), z g(w)} q(g(g(w))) ingen resolution möjlig Substitution och unifiering 9

Unifierare En substitution appliceras på en klausul genom att applicera den på alla termer i klausulen. En unifierare för atomära formler A, B är en substitution σ sådan att Aσ = Bσ. Kompositionen av substitutioner skrivs σ 1 σ 2 (först σ 1 sedan σ 2 ), alltså x(σ 1 σ 2 )=(xσ 1 )σ 2 för alla x V (vilket ger t(σ 1 σ 2 )=(tσ 1 )σ 2 för alla termer t, såattviistället kan skriva tσ 1 σ 2 ). Exempel: Låt σ = {y f(x),z a} och σ = {x g(b),z b}. Dåblir r(y, z)(σσ ) = (r(y, z)σ)σ = r(f(x),a)σ = r(f(g(b)),a) om vi applicerar σ och σ iturochordning.menvikanäven komponera en ny substitution och applicera den direkt: σσ = {y f(g(b)),z a} och r(y, z)σσ = r(f(g(b)),a). Substitution och unifiering 10

Unifierare (2) Exemplen visade att det behövs en unifierare av A och B för att kunna köra resolution på A, B men unifieraren bör inte vara för speciell! Men vad betyder speciell precist? En substitution σ 1 är generellare än en substitution σ 2 om det finns en tredje substitution σ sådan att σ 2 = σ 1 σ.(obs!detär möjligt att σ 2 isinturär generellare än σ 1.Dåär σ bara är ett namnbyte. Generellare är alltså snarare minst lika generell.) Exempel: Låt σ 1 = {x f(y),y y} och σ 2 = {x f(z),y z} vara två substitutioner. Vi kan se att σ 1 och σ 2 lika generella eftersom det finns två substitutioner σ 1 = {y z} och σ 2 = {z y} så att σ 1 = σ 2 σ 2 och σ 2 = σ 1 σ 1. Substitution och unifiering 11

Uppgift 2 Hitta en lämplig unifierare till varje formelpar. r(x) r(y) r(g(a)) r(x) r(y) r(y) r(z,f(z)) r(a, x) r(g(x)) r(f(y)) r(x) r(f(x)) Substitution och unifiering 12

Lösning 2 Det första och tredje paret har oändligt många unifierare. Det andra och fjärde paret har exakt en unifierare vardera, medan de två sista paren saknar unifierare. r(x) r(y) {y x}, {x y}, {x a, y a},... r(g(a)) r(x) {x g(a)} r(y) r(y) {}, {y a}, {y x}, {y g(f(g(b)))},... r(z,f(z)) r(a, x) {z a, x f(a)} r(g(x)) r(f(y)) r(x) r(f(x)) Substitution och unifiering 13

Den mest generella unifieraren Definition En unifierare σ av atomära formler A, B är mest generell om den är generellare än alla övriga unifierare av A, B. Teorem Låt A, B vara atomära formler. 1. Om både σ 1 och σ 2 är mest generella unifierare så är de lika upp till namnbyte, dvs det finns en bijektiv substitution σ : V V sådan att σ 2 = σ 1 σ och σ 1 = σ 2 σ 1. 2. Om A och B har en unifierare så har de även en mest generell unifierare (mgu). Pga del 1 är mgu:n unik upp till namnbyte. 3. Det finns en algoritm som prövar om A, B har en mgu σ och returnerar σ om så är fallet. Substitution och unifiering 14

En effektiv algoritm för att hitta mgu:n Robinsons algoritm är ett sätt att beräkna mgu:n för atomära formler A, B. Indata: Atomära formler A = r(s 1,...,s n ) och B = r(t 1,...,t n ). Algoritm: 1. σ mgu :={} (initialisering) 2. Om A = B returnera σ mgu.annarshittaförsta positionen där symbolerna i A och B är olika. Betrakta deltermerna som börjar vid den positionen. (a) Om en av dem är en variabel x och den andra är en term t som inte innehåller x, tilldela A := Aσ, B := Aσ och σ mgu := σ mgu σ där σ = {x t} och upprepa steg 2. (b) Annars avbryt algoritmen ingen unifierare finns. Substitution och unifiering 15

Exempel 1 Mgu:n för r(x, f(y, y), g(w)) och r(g(z), z, g(x)) (där w, x, y, z V) finns: s 1,...,s n t 1,...,t n σ mgu x,f(y, y),g(w) g(z),z,g(x) g(z), f(y, y),g(w) g(z), z,g(g(z)) x g(z) g(f(y, y)),f(y, y), g(w) g(f(y, y)),f(y, y), g(g(f(y, y))) g(f(y, y)),f(y, y), g(g(f(y, y))) g(f(y, y)),f(y, y), g(g(f(y, y))) x g(f(y, y)), z f(y, y) x g(f(y, y)), z f(y, y), w g(f(y, y)) Substitution och unifiering 16

Exempel 2, 3 Det finns ingen unifierare för r(x, x, g(y)) och r(g(z), z, g(x)) s 1,...,s n t 1,...,t n σ mgu x,x,g(y) g(z),z,g(x) g(z), g(z),g(y) g(z), z,g(g(z)) x g(z) avbrott eftersom z förekommer i g(z) och inte heller någon för r(x, x, g(y)) och r(g(z), f(a, a), g(x)) s 1,...,s n t 1,...,t n σ mgu x,x,g(y) g(z),f(a, a),g(x) g(z), g(z),g(y) g(z), f(a, a),g(g(z)) x g(z) avbrott eftersom varken g(z) eller f(a, a) är en variabel Substitution och unifiering 17