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

Relevanta dokument
Grundläggande logik och modellteori

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori (5DV102)

Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar

Grundläggande logik och modellteori

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

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

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

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

Grundläggande logik och modellteori

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

Grundläggande logik och modellteori

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

Svar och lösningar, Modul 1.

Algoritmer, datastrukturer och komplexitet

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

Logik. Dr. Johan Hagelbäck.

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

Algoritmer, datastrukturer och komplexitet

Övningshäfte 2: Induktion och rekursion

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Föreläsning 8: Intro till Komplexitetsteori

Lösningsförslag till övningsuppgifter, del II

MATEMATIKENS SPRÅK. Avsnitt 1

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

Föreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Algoritmer, datastrukturer och komplexitet

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

Om semantisk följd och bevis

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

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

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

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

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

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

7, Diskreta strukturer

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

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

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

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

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

729G04 - Diskret matematik. Lektion 4

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

Tentamen i logik 729G06 Programmering och logik

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

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

Algoritmer, datastrukturer och komplexitet

Tänk på följande saker när du skriver tentan:

KTH Matematik B.Ek Lösningar tentamen 5B1928 Logik för D (och IT), 29 augusti 2007

TENTAMEN: Algoritmer och datastrukturer. Läs detta!

Predikatlogik: Normalformer. Klas Markström

TAMS79: Föreläsning 10 Markovkedjor

K2 Något om modeller, kompakthetssatsen

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002

Graärgning och kromatiska formler

Optimeringslära Kaj Holmberg

PROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående

Tentamen i TDDC75 Diskreta strukturer , lösningsförslag

Optimeringslära Kaj Holmberg

PROV I MATEMATIK Automatateori och formella språk DV1 4p

Vektorgeometri för gymnasister

Logik och modaliteter

Explorativ övning 5 MATEMATISK INDUKTION

Algoritmer, datastrukturer och komplexitet

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

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

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.

8. Naturlig härledning och predikatlogik

Logik och kontrollstrukturer

Grundläggande logik och modellteori

SF2715 Applied Combinatorics// Extra exercises and solutions, Part 2

PCP-satsen på kombinatoriskt manér

FUZZY LOGIC. Christopher Palm chrpa087

Kap. 7 Logik och boolesk algebra

Formell logik Kapitel 5 och 6. Robin Stenwall Lunds universitet

Komplexitetsklasser och repetition

Diskret matematik: Övningstentamen 4

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Grafer och grannmatriser

Tentamensinstruktioner

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

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

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

Programmerbar logik. Kapitel 4

Robin Stenwall Lunds universitet

Tentamen i TDDC75 Diskreta strukturer

Explorativ övning 5 MATEMATISK INDUKTION

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

Kravgränser. Provet består av Del B, Del C, Del D samt en muntlig del och ger totalt 63 poäng varav 24 E-, 21 C- och 18 A-poäng.

Laborationshandledning för mätteknik

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

7, Diskreta strukturer

DD1350 Logik för dataloger

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Optimeringslära Kaj Holmberg

Induktion, mängder och bevis för Introduktionskursen på I

Transkript:

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Till denna lektion hör uppgift 2, 6 och 0 i lärobokens avsnitt.6 (sid. 255). Lös uppgift 2 genom att konstruera en semantisk tablå. Följande text utgör ett stöd för att förstå kapitel. Vad är en semantisk tablå? Ett av syftena med att konstruera en semantisk tablå (se sid. 33) är att ta reda på om en formel är satisfierbar eller inte, dvs om det finns en tolkning som kan göra formeln sann. Man börjar med den formel man vill testa och applicerar steg för steg olika regler som transformerar formlerna. Resultatet blir en graf med en formelmängd i varje nod. Om en nod innehåller endast literaler (symboler eller negerade symboler) har vi kommit till en slutpunkt. Om det finns komplementära literaler i formelmängden, t.ex. p och p, säger vi att noden är stängd och markerar den med. I annat fall är den öppen och markeras med. När vi har gjort färdigt tablån kan vi ta ställning till den ursprungliga formelns satisfierbarhet. Om alla löv är stängda är formeln osatisfierbar, i annat fall är den satisfierbar. För att spara tid och arbete kan man markera en nod som stängd så fort man har ett par av komplementära literaler, även om det finns sammansatta formler kvar. Flera frågeställningar inom logik kan lösas med hjälp av semantiska tablåer. En bra metod för att kolla om en formel A är en tautologi är att kolla om formeln A är osatisfierbar. Vad är PTL? Propositional temporal logic (PTL) är en utökning av vanlig propositionslogik för att hantera logiska formler som säger något om tid (se kap. ). Utökningen består av tre nya operatorer, först och främst och. Formeln A betyder att A är sann för varje tidpunkt i framtiden, medan A betyder att A är sann för någon tidpunkt i framtiden. Vi använder också specialoperatorn som ska utläsas så att formeln A är sann i en viss tidpunkt om och endast om formeln A är sann i närmast följande tidpunkt. Denna operator brukar kallas nexttime. Hur vet man om en formel i PTL är sann eller falsk? Precis som för andra logiker beror det på vilken tolkning man avser. I vanlig propositionslogik är en tolkning en enkel variabeltabell som säger vilka symboler som är sanna och vilka som är falska. I PTL är en tolkning lite mer komplicerad (se sid. 237), och för att kunna tolka en formel måste man också ange vilken tidpunkt man avser. I praktiken har vi en sanningstabell för varje tidpunkt. Det som är sant vid en tidpunkt behöver ju inte vara sant vid en senare tidpunkt. En tolkning i PTL består alltså utav ett antal olika tillstånd, som representerar olika möjliga tidpunkter, och en sanningstabell för vart och ett av dessa tillstånd. Hur tidpunkterna hör ihop uttrycks lättast som ett tillståndsdiagram. Varje tillstånd innehåller en tilldelning av de ingående symbolerna och själva tiden illustreras genom övergångarna mellan tillstånden. Exempel: Betrakta tolkningen på sid. 237 i läroboken. Är formeln p sann i tillståndet s 0? Formelns betydelse är att p är sann vid varje tidpunkt i framtiden. Framtiden i tillståndet s 0 är alla de tillstånd som vi direkt kan komma till från s 0, dvs s och s 2. I s är p sann, men i s 2 är p falsk, så formeln är inte sann i denna tolkning och detta tillstånd.

Semantiska tablåer i PTL Följande tabeller visar de regler som man kan använda för att konstruera semantiska tablåer för formler i PTL. α-reglerna är konjunktiva och innebär att man delar upp en formel i två formler som är med i samma mängd. β-formlerna är disjunktiva och innebär att man delar upp tablån i två grenar. (För de speciella PTL-reglerna finns en någorlunda intuitiv motivering högst upp på sid. 243 i läroboken.) α α α 2 β β β 2 A A A A 2 A A 2 (B B 2 ) B B 2 (A A 2 ) A A 2 B B 2 B B 2 (A A 2 ) A A 2 B B 2 B B 2 A A 2 A A 2 A 2 A (B B 2 ) (B B 2 ) (B 2 B ) A A A B B B A A A B B B A A A A Det finns två speciella grejer när det gäller semantiska tablåer för PTL som skiljer sig från hur vi har arbetat förut: (a) När vi lyckats producera en nod i tablån som innehåller endast literaler och -formler ramar vi in den. En sådan nod motsvarar nämligen ett tillstånd i tolkningen. Den säger vilka literaler som ska vara sanna i detta tillstånd. För att komma vidare från en sådan nod använder vi -reglerna. Då tar vi inte med literalerna, utan behåller endast resultatet av -reglerna. (b) Om vi, vid användandet av någon regel, lyckas producera en nod med en formelmängd som är identisk med en tidigare nod har vi hittat en cykel i tablån. Vi markerar detta genom att ge originalnoden en beteckning och istället för den nya duplicerade noden skriva en hänvisning. (Se exempel på sid. 246 i läroboken.) Om vår tablå är stängd, dvs alla löv är kryssade och vi saknar cykler, har vi lyckats visa att den formel vi startade med är en kontradiktion, vilket i sin tur innebär att den negerade formeln är en tautologi. Om vi däremot har cykler i tablån kan vi än så länge inte säga någonting. Två steg återstår. För det första måste vi konstruera en Hintikka-struktur (definition.24, sid. 246) som är en slags halvfärdig tillståndsgraf. Varje inramad -nod i tablån blir ett tillstånd och övergångarna mellan dessa baserar sig på hur man kan förflytta sig i tablån. I varje tillstånd skriver vi också in de literaler som finns i -noden. För det andra ska vi kontrollera denna struktur och se om vi kan extrahera en linjär och uppfyllande delstruktur (algoritm.43, sid. 25). Om vi lyckas extrahera en sådan, kan vi med hjälp av den konstruera en modell för startformeln, men vi vill ju oftast garanterat inte hitta en modell, så vi hoppas oftast på att resultatet av algoritm.43 är en tom struktur. Hintikka-strukturen är linjär om det från varje tillstånd går ut max en pil. Att kontrollera att den är uppfyllande är lite krångligare. Vi måste gå tillbaka till tablån och kolla alla vägar mellan noder. Alla formler som är på formen A eller B måste uppfyllas i framtiden, dvs det måste någonstans längre fram på vägen finnas en formel på formen A respektive B.

Sammanfattningsvis gör man alltså enligt följande för att bevisa att en PTL-formel A är en tautologi: Börja med att konstruera en semantisk tablå där man börjar med formeln A.. Om tablån är stängd (alla löv kryssade och inga cykler) är A osatisfierbar, A är en tautologi och vi är klara. 2. I annat fall, konstruera en Hintikka-struktur där varje inramad -nod är ett tillstånd och pilarna mellan dem är baserade på vägarna (i pilens riktning) mellan -noderna. Tillämpa algoritm.43 på denna struktur. a. Om vi lyckas extrahera en linjär och uppfyllande struktur är A satisfierbar och vi har misslyckats att visa att A är en tautologi. b. Om algoritmen resulterar i en tom graf, då har vi visat att A är osatisfierbar och A är en tautologi. Uppgifter Uppgifterna finns på sid. 255. Lös uppgift 2 genom att konstruera en semantisk tablå. Lös dessutom uppgift 0 och uppgift 6. (Den senare ger upphov till en mycket stor tablå.)

Lösningsförslag till uppgift 2 Vi vill visa A där A är PTL-formeln p p. Enligt kompletterande uppgiftsspecifikation ska vi lösa problemet genom att konstruera en semantisk tablå. Det vi ska göra är alltså att visa att A är en tautologi (att A alltid gäller, utan några särskilda antaganden). För att visa detta konstruerar vi en semantisk tablå för A och hoppas på att den ska bli stängd. Först skriver vi om formeln något för att få en bra start på tablån: A ( p p) ( p p) ( p p) Nu kan vi konstruera vår tablå: ( p p) α( ) p, p α( ), α( ) p, p, p β( ) p, p, p p, p, p När tablån delar sig är den vänstra grenen stängd, eftersom vi har de komplementära literalerna p och p. Den högra grenen innehåller bara literaler och -formler, så den motsvarar ett tillstånd och vi ramar in noden. För att komma vidare struntar vi i literalerna och använder -reglerna. Då får vi en nod som är likadan som den markerad med och vi har fått en cykel i trädet (som ju då inte är något träd längre). Vi konstruerar nu en Hintikka-struktur för den här tablån. Det är tämligen lätt, eftersom det bara finns en inramad -nod och därmed bara ett enda tillstånd. Strukturen ser ut så här: s 0 p Denna struktur är trivialt linjär, eftersom det från varje tillstånd går ut maximalt en pil. Däremot är den inte uppfyllande. Sätt fingret på den inramade -nod i tablån som motsvarar tillståndet. Följ pilens riktning och gå runt i tablån. Vi har en cykel med tre olika noder och måste nu verifiera alla framtida formler. I noden som är märkt finns formeln p som ju betyder att p borde vara sann i framtiden. Hur vi än flyttar oss framåt i den här cykeln kommer vi dock aldrig till en nod där p finns, och därmed är inte denna struktur uppfyllande. Alltså drar vi slutsatsen att A är osatisfierbar och A en tautologi. (Se definitionen av uppfyllande i definition.33, sid. 248.)

Lösningsförslag till uppgift 0 2 ( p p) α p, p p, p, p α p, p, p, p p, p, p, p p, p, p, p β β p, p, p, p p, p, p, p p, p, p, p p, p, p, p p, p, p 3 p, p, p, p α p, p, p 2 p, p, p, p 3 Strukturen för denna tablå blir som figuren till vänster nedan: s 0 s p p s 0 s p p s 2 Vi ska nu tillämpa algoritm.43 på denna struktur. Vi bildar en komponentgraf, som endast kommer bestå av en enda nod, eftersom alla tre tillstånden är nåbara från varandra. Därefter ska vi kontrollera om denna enda nod i komponentgrafen är självuppfyllande. Det är den, ty formeln p uppfylls av p i framtida noder och formeln p uppfylls av p i framtida noder. Alltså är formeln satisfierbar och med hjälp av den metod som diskuteras i beviset till algortim.43 kan vi extrahera en modell för formeln (till höger i figuren ovan).

Lösningsförslag uppgift 6 A = ( (p q) ( p q) (p q)) (p q) ( p q) (p q), A (p q), ( p q), (p q), A p q, ( p q), (p q), A p q, p q, (p q), A p, q, p, (p q), A p q, ( p q), (p q), A p q, ( p q), p q, A p, q, ( p q), q, A p q, ( p q), (p q), A p, q, ( p q), (p q), A ( p q), (p q), A = ( (p q) ( p q) (p q)) ( p q), (p q), (p q) ( p q) (p q), A (p q), ( p q), (p q), A (p q), p q, (p q), A (p q), p q, p q, A (p q), p, q, p, q, A (p q), p q, (p q), A (p q), p, q, (p q), A (p q), ( p q), (p q), A (p q), ( p q), p q, A (p q), ( p q), p, q, A (p q), ( p q), (p q), A För att spara utrymme i noderna kallar vi ursprungsformeln för A och återanvänder den beteckningen senare. Efter att ha expanderat den första -noden borde det stå klart att alla andra -noder också förr eller senare kommer att leda tillbaka till noden markerad med. Därför har delar av tablån utelämnats. I denna uppgift behövde vi inte göra mer än själva tablån.