Introduktion till logik Av Johan Johansson Johan.johansson@guldstadsgymnasiet.se Logik sägs som många andra saker komma från de grekiska filosoferna, och ordet kommer också därifrån. Grekerna kallade det för logike. Logik var i begynnelsen läran om hur en människa resonerade på ett systematiskt sätt samt hur man kunde studera detta sätt och lära sig att resonera bättre. Förenklat kan man säga att logik är ett sätt att resonera och dra slutsatser. Det finns många olika former av logik, det finns filosofisk logik, matematisk logik och symbolisk logik. Även psykologisk logik och just den psykologiska logiken är den som har påverkat människor mest. Logik är ett stor ämne bland många vetenskapsmän och ett vanligt utryck bland världens befolkning. Människor säger ibland saker som Men det där låter ju logiskt. eller liknande utryck. Logik kan alltså betyda många olika saker för olika människor. Vi kan med vår nya kunskap översätta Men det där låter ju logiskt. till Men det där låter som att du har resonerat bra. för det är precis det som det betyder. Logik är därmed förmågan att kunna resonera och dra slutsatser på ett bra sätt. 1
När används logik Logik används av alla människor i stora delar av världen dagligen. Det är inte så att människor tänker logiskt, det finns många bevis som talar emot den slutsatsen. Däremot använder många människor verktyg som är baserade på logik. Matematikern George Boole utvecklade på 1800-talet en metod som kallades för Booelsk algebra, han hävdade att detta var det ultimata sättet att tänka på. Han ville övertyga alla om att det var bra att tänka på detta sätt, för då skulle människor ta bättre beslut. Dock var det väldigt få som nappade på att börja tänka enligt Booles logik, däremot så märkte man i industrialiseringen av Europa att det gick utmärkt att använda hans logiska tankesätt, när man konstruerade maskiner. Booles teorier började senare att användas inom vetenskapen när man började konstruera mer och mer avancerade maskiner. Nuförtiden så är alla beräkningsenheter i allt ifrån miniräknare, mobiltelefoner till jättestora serverhallar baserade på just den Booelska algebran. För er som studerar IT kan vi vidare relatera detta till instruktioner, ni kanske ibland har hört att dom nya generationens processorer(beräkningsenheter) har fått nya instruktioner för att hantera film och bild lättare. Dessa instruktioner har sitt ursprung i den Booelska algebran, så det är tack vare George Boole som vi människor kan använda datorer till forskning och skjuta upp raketer i rymden. Samt spendera vår tid med att titta på facebook, youtube eller ringa våra vänner med våra mobiler. Eftersom vi nu har konstaterat att beräkningsenheten i en dator är baserad på logik, är det självklart något som är centralt i allt som kommer till datorer. Om vi exempelvis sitter och programmerar använder vi oss av logik när vi säger åt datorn vad den ska göra. Allting i datorer är baserat på logik, spel, grafik, ljud, serverprogram och allt annat har det som grund. En bra förståelse för logik gör att du som ska arbeta med IT kommer ha en bättre förståelse för hur datorer fungerar. 2
Satslogik Den vanligaste logiken är baserad på falsk och sann. Det finns logik som använder sig av flera olika nivåer av sanningar. Men den mest utbredda har bara nivåerna sann och falsk Detta representeras ofta av 1 och 0, där 1 är sant och 0 är falskt. Inom den logik som vi ska studera använder man sig av 3 stycken grundpelare dessa grundpelare är och, eller och inte. Oftast används engelskans and, or samt not. Med hjälp av dessa grundpelare kan vi då försöka lista ut vad som är sant eller falskt. Vi använder oss av ett logiskt påstående och sedan undersöker vi när det är sant eller falskt. Grundpelarna använder vi när vi konstruerar våra logiska meningar. Vi kan säga ett logiskt påstående likt detta. Om det är torsdag och sommar har Kalle fotbollsträning. Om vi översätter detta till Torsdag Sommar Fotbollsträning 0/Falskt 0/Falskt 0/Falskt 1/Sant 0/Falskt 0/Falskt 0/Falskt 1/Sant 0/Falskt 1/Sant 1/Sant 1/Sant logik så finns det 4 olika alternativ. Det är antingen sant eller falskt att det är sommar, och det är antingen sant eller falskt att det är torsdag. Men när båda är sanna, dvs när det är sant att det är torsdag och det är sant att det är sommar, då har Kalle fotbollsträning. 3
De tre grundpelarna Som tidigare förklarat finns det 3 olika grundpelare som är logiska funktioner, och, eller samt inte. Det finns fler logiska funktioner men dom ska vi inte prata om i den här kursen, i stort sett alla funktioner är baserade på dessa 3 grundfunktioner. Och/And Denna funktion säger att 2 eller mer påståenden måste vara sanna för att utfallet ska bli sant. Om vi använder exemplet. När Bengt och Anna är i vardagsrummet används TV n. Här ser vi att det bara är sant när alla villkor är uppfyllda, dvs när både Bengt och Anna är i vardagsrummet det är först då som det är sant att TV n används. Vid alla andra tillfällen när bara Bengt eller Anna är i vardagsrummet så används inte TV n utan båda måste vara där för att den ska användas. Bengt Anna Tv används 0/Falskt 0/Falskt 0/Falskt 1/Sant 0/Falskt 0/Falskt 0/Falskt 1/Sant 0/Falskt 1/Sant 1/Sant 1/Sant Eller/Or Denna funktion säger att 1 eller mer påståenden måste vara sanna för att utfallet ska bli sant. Vi kan använda samma exempel fast lite modifierat. När Bengt eller Anna är i Bengt Anna Tv används vardagsrummet används TV n. 0/Falskt 0/Falskt 0/Falskt 1/Sant 0/Falskt 1/Sant Här ser vi att TV n används när antingen Bengt 0/Falskt 1/Sant 1/Sant eller Anna är i vardagsrummet. Den används 1/Sant 1/Sant 1/Sant också när båda är i vardagsrummet. Inte/Not Denna funktion säger egentligen att något inträffar när något är falskt. Det går att säga att det fungerar lite som tvärtom. Vi kan ta exemplet När föräldrarna inte är hemma har Nils fest. Här ser vi att Nils bara har fest när hans föräldrar inte är hemma, men när dom är hemma då har Nils inte fest. Föräldrar hemma 0/Falskt 1/Sant Nils har fest 1/Sant 0/Falskt Dessa 3 grundfunktioner bestämmer alltså villkoren för när något är sant eller falskt. Oftast kan logiska påståenden vara mer avancerade än som jag nyss visade och innehålla flera och, eller och inte satser. 4
Symbolisk logik Inom logik används ofta olika symboler för att enkelt kunna skriva ner logiska satser. Dvs det finns tecken som vi kan använda för och, eller samt inte precis som det finns +,-,/,= och liknande inom matematiken. Inom logiken använder vi oss av: som betyder Och/And som betyder Eller/Or som betyder Inte/Not som står för vad det leder till eller vad som händer Vi kan ta våra exempel från grundpelarna och förklara dessa med dom nya tecknen som vi har lärt oss. Och/And/ Bengt i vardagsrummet Anna i vardagsrummet TV n används Eller/Or/ Bengt i vardagsrummet Anna i vardagsrummet TV n används Inte/Not/ Föräldrar hemma Nils har fest Vi har nu lärt oss att läsa logiska satser. Gör nu övningarna satslogik innan du fortsätter. 5
Sanningstabeller Ett annat verktyg som är vanligt att använda sig av är sanningstabeller. Du har redan sett 3 stycken sanningstabeller utan att reflektera över det. En sanningstabell är egentligen bara en uppställning av ett påstående. Dvs påståendet Om det är soligt ute och det är sommar tar Evert cykeln till jobbet. visar vi i en sanningstabell på detta sätt. Soligt Sommar Evert cyklar till jobbet 0/Falskt 0/Falskt 0/Falskt 0/Falskt 1/Sant 0/Falskt 1/Sant 0/Falskt 0/Falskt 1/Sant 1/Sant 1/Sant En sanningstabell är alltså en uppställning där man redovisar alla utfall som kan ske ifrån ett logiskt påstående. I mer avancerade logiska satser så blir sanningstabellerna större och längre. Kom ihåg att alla alternativ ska visas i en sanningstabell även alternativ som ger en Falsk påföljd, dvs även alternativen som visar på att Evert inte cyklar till jobbet. Gör nu övningarna sanningstabeller innan du fortsätter. 6
Digitala grindar Inom datorer och elektronik så finns det något som kallas för grindar. Dessa grindar är det som är grundstenarna till datorer och nästan all modern elektronik. Vi använder oss av dom när vi åker hiss eller när vi handlar vår mat. I stort sett hela våra liv påverkas av dessa osynliga grindar. En digital grind är helt enkelt en funktion som bestämmer hur en digital apparat fungerar. En grind är i korthet Och, Eller samt Inte. Eller på engelskans And, Or samt Not. När man pratar om grindar använder man oftast de engelska begreppen And, Or samt Not och jag kommer använda dessa nu när jag förklarar. Grindar har insignaler och utsignaler oftast har den flera insignaler och en utsignal. De 3 grundpelarna är också de tre vanligaste grindarna. And-grind En And grind ser ut på detta sätt, insignalerna kommer in på A & B och utsignalen åker ut på X. Det finns också And-grindar som har fler insignaler då benämns dom enligt alfabetet, A,B,C,D osv. Grindarna fungerar precis som dom logiska funktionerna, en And grind kräver att alla signaler som kommer in ska vara 1/Sanna för att X ska ge en 1/Sann signal ut. Or-grind En Or grind ser ut på detta sätt, insignalerna kommer in på A & B och utsignalen åker ut på X. Det finns också And-grindar som har fler insignaler då benämns dom enligt alfabetet, A,B,C,D osv. En Or-grind fungerar så att en av signalerna som kommer in ska vara 1/Sann för att X ska ge en 1/sann signal ut. Tecknet i grinden står för att det måste vara en eller fler signaler in för att den ska ge signal ut. Not-grind En Not-grund ser ut på detta sätt, insignalen kommer in på A och utsignaler åker ut på X. En not grind gör helt enkelt om signalen A som kommer in till det motsatts, dvs kommer signalen 1/Sann in så gör den om den till 0/Falsk. 7
Grindar med inbyggd Not-grind Det är vanligt att grindar ibland inverteras detta representeras av den lilla prick som sitter på utgången X. Detta innebär att signalen som kommer ut från grinden omvandlas från 1/sann signal till 0/falsk signal. Not-grindar kan också sitta på insignalerna A, B eller liknande. Här innebär det alltså att när A får en 1/sann signal så omvandlas den till 0/falsk signal innan den går in i grinden. Gör övningarna grindar 8
Avancerade grindar Nu när du har lärt dig grunderna i logik är det dags att börja jobba lite mer med mer avancerade logiska problem. Vi börjar med avancerade grindar för att symbolerna som används är lätta att förstå. Kopplingar kan bestå av fler än en grind. Här är ett exempel med 2 ihopkopplade Och-grindar. Här har vi en Och-grind som sitter bakom en och grind. Här måste vi då tänka logiskt, vad är det som måste ske för att X ska få en signal? Vi vet att för att grinden med A & B ska ge en signal ut så måste både A & B vara sanna, då kommer den grinden att skicka ut sin signal in till den andra grinden tillsammans med C. Men för att X ska ge en sann signal måste även C få en signal. Ofta gör man en sanningstabell av avancerade grindfunktioner för att visa vad som sker i alla alternativ. Vi vet att om vi har 3 stycken insignaler så finns det 2 upphöjt till 3 kombinationer. Har vi 4 insignaler har vi 2 upphöjt till 4 olika kombinationer. Kom ihåg att visa på alla olika alternativ 9
Avancerade sanningstabeller Avancerade sanningstabeller används oftast när vi använder grindar. Det viktiga att komma ihåg är att en sanningstabell alltid måste innehålla alla alternativ som är möjliga. Antalet alternativ är alltid 2 upphöjt till antalet ingångar. Har vi en ingång som i en Inte-grind har vi 2 alternativ. Har vi 2 ingångar som i de flesta enkla grindar har vi 4 alternativ, sedan gångrar man helt enkelt med 2 för varje extra ingång 3 ingångar blir därmed 8 alternativ 4 blir 16 osv. Exempel på en sanningstabell för en avancerad grind. Med 3 ingångar A, B & C och med en utgång X. Här ser vi att A & B måste vara sanna för att den grinden ska ge en signal ut. Och den andra grinden behöver då få en signal in från den första grinden samt en signal in från C. Såhär redovisas alla alternativ i en sanningstabell. A B C X 0/falsk 0/falsk 0/falsk 0/falsk 1/sann 0/falsk 0/falsk 0/falsk 0/falsk 0/falsk 1/sann 0/falsk 0/falsk 1/sann 0/falsk 0/falsk 0/falsk 1/sann 1/sann 0/falsk 1/sann 0/falsk 1/sann 0/falsk 1/sann 1/sann 0/falsk 0/falsk 1/sann 1/sann 1/sann 1/sann Gör några övningar från dom avancerade grindarna och gör sanningstabeller. 10
Avancerad symbolisk logik Som tidigare sagt använder vi oss av dessa symboler inom logiken: som betyder Och/And som betyder Eller/Or som betyder Inte/Not som står för vad det leder till eller vad som händer Precis som att grindar kan komma i mer eller mindre avancerade varianter kan även vanlig symbolisk logik komma i mer eller mindre avancerade varianter. Exempelvis Om det är slut mackor i fiket och det finns bröd och smör och pålägg så gör Helene mer mackor. Låt oss skriva ett logiskt påstående för detta. Mackor bröd smör pålägg Helene gör mackor Vi kan även använda parenteser bevis som i matematiken för att skapa våra logiska påståenden. Mackor bröd smör (ost skinka) Helene gör mackor Här kan vi se ett förtydligande på den logiska satsen. Vi använder parentesen för att förklara vilka pålägg som behöver finnas och byter ut pålägg mot ost eller skinka, vilket innebär att något av detta måste finnas för att Helene ska göra mackor. I samma exempel kan vi använda oss av bokstäver istället för ord. Det logiska påståendet ser du åt på detta sätt om vi byter ut alla ord mot bokstäver. A B C (D E) X Detta är samma sak som meningarna i början bara att dom olika komponenterna har fått en bokstav istället. Det är oftast på detta sätt som man presenterar logiska problem. Personen som läser det logiska problemet har då till uppgift att lista ut när det logiska problemet kommer att inträffa. I vårt exempel ser vi att X kommer att inträffa om A är falskt samtidigt som B & C är sanna samtidigt måste en av D eller E eller båda två vara sanna. Gör nu övningarna avancerad satslogik. 11