Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Relevanta dokument
F5 Introduktion till digitalteknik

Övningar och datorlaborationer, Datorer i system

F5 Introduktion till digitalteknik

Booleska variabler och översättning mellan programuttryck och booleska variabler

Digital- och datorteknik

Logik och kontrollstrukturer

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

Logik. Dr. Johan Hagelbäck.

Introduktion till logik

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

MATEMATIKENS SPRÅK. Avsnitt 1

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

Digital- och datorteknik

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.

7, Diskreta strukturer

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

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

T1-modulen Lektionerna Radioamatörkurs OH6AG OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

Grundläggande digitalteknik

Kap. 7 Logik och boolesk algebra

ANDREAS REJBRAND NV3ANV Matematik Matematiskt språk

DIGITALA TAL OCH BOOLESK ALGEBRA

Föreläsning 3: Booleans, if, switch

Digital Design IE1204

Grundläggande logik och modellteori (5DV102)

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

7, Diskreta strukturer

Tentamen i TDDC75 Diskreta strukturer , lösningsförslag

Föreläsning 5. Deduktion

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

sanningsvärde, kallas utsagor. Exempel på utsagor från pass 1 är

SMD033 Digitalteknik. Digitalteknik F1 bild 1

En introduktion till logik

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Föreläsningsanteckningar och övningar till logik mängdlära

Jesper Carlström 2008 (reviderad 2009)

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Tentamen EDAA05 Datorer i system

Beräkningsvetenskap föreläsning 2

Grundläggande logik och modellteori (5DV102)

Mintermer. SP-form med tre mintermer. William Sandqvist

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element.

Efternamn förnamn pnr årskurs

TDIU01 - Programmering i C++, grundkurs

Grundläggande logik och modellteori

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES

2 Matematisk grammatik

TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter

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

Övningshäfte 6: 2. Alla formler är inte oberoende av varandra. Försök att härleda ett par av de formler du fann ur några av de övriga.

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

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Övningshäfte 2: Induktion och rekursion

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen:

Tentamen i. TDDC67 Funktionell programmering och Lisp

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

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

9. Predikatlogik och mängdlära

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

EDA Digital och Datorteknik 2009/2010

Efternamn förnamn pnr årskurs

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

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

Förslag den 25 september Matematik

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Logik: sanning, konsekvens, bevis

Grundläggande Datorteknik Digital- och datorteknik

Digital Design IE1204

Om semantisk följd och bevis

Objektorienterad programmering Föreläsning 4

Digitalt lärande och programmering i klassrummet

Finns det tillräckligt med information för att bestämma hur många av eleverna som fick 1 poäng? Vad tycker du?

Andragradsekvationer. + px + q = 0. = 3x 7 7 3x + 7 = 0. q = 7

Håkan Lennerstad, Blekinge Tekniska Högskola och Cecilia Kilhamn, Göteborgs Universitet

Tal och polynom. Johan Wild

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Inledande programmering med C# (1DV402) Summera med while"-satsen

2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2

EDA Digital och Datorteknik 2010/2011

Abstrakt algebra för gymnasister

Klassdeklaration. Metoddeklaration. Parameteröverföring

Övningshäfte 3: Funktioner och relationer

Programmering från början

Programmering A. Johan Eliasson

Föreläsning 4. Val, boolska värden, läsbarhet, osv

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

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.

Malmö högskola 2012/2013 Teknik och samhälle

ALGEBRA. För att få betyg GODKÄND på avsnittet Algebra krävs att du klarar denna typ av uppgifter:

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

Lösningar till Algebra och kombinatorik

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

Repetition av matematik inför kurs i statistik 1-10 p.

Jörgen Lagnebo PLANERING OCH BEDÖMNING MATEMATIK ÅK 8

Javisst! Uttrycken kan bli komplicerade, och för att få lite överblick över det hela så gör vi det så enkelt som möjligt för oss.

Transkript:

Logik F4 Logik Boolesk algebra EDAA05 Roger Henriksson Jonas Wisbrant Konsten att, och vetenskapen om, att resonera och dra slutsatser. Vad behövs för att man ska kunna dra en slutsats? Hur kan man dra slutsatser ur givna villkor? Hur kan villkor formuleras och hur relaterar de sig till varandra? I den matematiska logiken studerar man logik med matematiska verktyg ställa upp villkor, bevisa samband, dra slutsatser allt med ett formellt språk. 2 Boolesk algebra Lite förenklat kan man säga att Boolesk algebra är räkneregler konstruerade för att kunna räkna med logiska uttryck. Praktiska applikationer för er som datateknikstudenter inom programmering formulera och arbeta med villkor (EDA016, ) digitalteknik grunden för konstruktion av digitala system (EIT020, ) George Boole (1815-1864) 3 Logiska operationer Operationer I den Booleska algebran har man tre grundläggande operationer: och, eller och icke. Med dessas hjälp sätter vi samman påståenden till mera komplexa påstående. Jag tar ett paraply med mig på morgonen OM, OCH ENDAST OM, det regnar ELLER prognosen spår regn OCH om jag INTE tar bilen. Vanligt språk är dock ofta inte entydigt, så vi behöver ett mer formellt uttryckssätt. Tar jag paraply om det regnar och jag tar bilen? 4

Notation för Booleska operationer I den Booleska algebran använder vi följande notation för de tre grundläggande operationerna: OCH: ELLER: ICKE: Vi kan skriva villkoret för att jag tar med paraply som ( (tar bilen)) ((prognosen spår regn) (det regnar)) Användandet av parenteser ger entydighet. Variabler Som i vanlig algebra har man variabler, men dessa kan här bara anta värdena 0 eller 1 falskt respektive sant. En Boolesk variabel, eller påstående, kan motsvara olika saker som kan vara sanna eller falska: Påståenden, som t.ex. det regnar. Logiska uttryck i Java som x==1, y>z. etc... Praktiskt att definiera påståenden/uttryck i variabler: r : det regnar p: x==1 5 6 Paraplyexemplet med variabler Vi börjar med att definiera våra variabler: r : det regnar s : väderprognosen spår regn b : jag tar bilen p : jag tar med ett paraply på morgonen Vi kan nu skriva vårt påstående om paraplyet som: p = ( b) (s r) Operationernas prioritet Precis som i vanlig matematik har operationerna en inbördes prioritet. Denna är: 1. ICKE, (högst prioritet) 2. OCH, 3. ELLER, (lägst prioritet) Nu kan vi ytterligare förenkla vårt paraplyuttryck: p = b (s r) 7 8

Sanningstabeller för OCH, ELLER och ICKE Grundläggande räkneregler OCH r = a b a b r 0 0 0 0 1 0 1 0 0 1 1 1 ELLER r = a b a b r 0 0 0 0 1 1 1 0 1 1 1 1 ICKE r = a a r 0 1 1 0 Identitet x 0 = x x 1 = x Ett och nollagen x 1 = 1 x 0 = 0 Kommutativa lagen x y = y x x y = y x Associativa lagen x (y z) = ( x y) z x (y z) = ( x y) z Inverslagen x x = 0 x x = 1 Distributiva lagen x (y z) = ( x y) ( x z) x (y z) = ( x y) ( x z) 9 10 Förenkling av uttryck mha räknereglerna Med hjälp av räknereglerna kan vi skriva om och förenkla uttryck. Exempel, förenkla uttrycket p q p: p q p = 1 p q p (identitetsregeln) 1 p q p = (1 p) (q p) (tydligare ) (1 p) (q p) = (p 1) (p q) (kommutativa lagen) (p 1) (p q) = p (1 q) (distributiva lagen) p (1 q) = p 1 (ett och nollagen) p 1 = p (identitetsregeln) Precis som i den vanliga matematiken krävs en aning kreativt tänkande och fantasi för att hitta rätt räkneregler. 11 De Morgans lagar De Morgans lagar styr negering av uttryck. För att negera ett Boolesk uttryck byter man ut OCH mot ELLER (eller vice versa) samt negerar varje enskild term. De Morgans lagar (x y) = x y (x y) = x y Gäller för godtyckligt antal termer: (a b x) = a b x (a b x) = a b x Augustus de Morgan (1806-1871) 12

De Morgan och paraplyet Betrakta påståendet att vi INTE tar ett paraply med oss på morgonen ( p): p = ( b (s r)) Tillämpa De Morgans lagar: p = ( b) (s r) Tillämpa De Morgans lagar en gång till p = ( b) s r och förenkla uttrycket: p = b s r Jag lämnar paraplyet hemma om jag antingen kör bil, eller om det både är uppehållsväder och väderprognosen är god. De Morgan och mixade uttryck Uttryck med mixade och måste göras i flera steg. Vad är (x y z)? Vi inför paranteser för att göra uttrycket tydligare: (x y z) = ((x y) z) De Morgans lag: ((x y) z) = (x y) z De Morgans lag: (x y) z = ( x y) z 13 14 Bevis med hjälp av sanningstabeller Sanningstabeller kan användas för att bevisa att två Booleska uttryck är lika. Visa att x (y z) = ( x y) ( x z)! x y z x (y z) 0 1 0 0 1 0 0 0 1 0 1 1 1 1 1 1 x y z ( x y) ( x z) 0 1 0 0 1 0 0 0 1 0 1 1 1 1 1 1 15 Från sanningstabell till Booleskt uttryck Vi kan formulera Booleska uttryck utgående från en sanningstabell. Algoritm: Gå igenom varje rad i tabellen där funktionen har värdet 1. För varje rad: Skriv ett OCH-uttryck som ger värdet 1 med de aktuella värdena på de ingående variablerna (negera variabler som har värdet noll). Sätt ihop alla OCH-uttryck med ELLER-operationer. Förenkla eventuellt det resulterande uttrycket. 16

Från sanningstabell till Booleskt uttryck Skriv en Boolesk funktion för f i tabellen till höger. x y z f 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 0 x y z x y z x y z f = ( x y z) (x y z) (x y z) 17 Boolesk algebra och villkor i Java Boolesk algebra kan användas för att förenkla eller skriva om villkor i Java, t.ex. i if-satser. if (minvalue==i (minvalue==x && minvalue==i)) { Påståenden: p : minvalue==i q : minvalue==x Förenkla det motsvarande Booleska uttrycket p q p! Vi känner igen detta från tidigare: p q p = p! Alltså kan if-satsen skrivas: if (minvalue==i) { 18 George Boole och paraplyet p = b (s r) George Boole (1815-1864) Professor i Matematik, Queens College, Cork, Irland 19