Datorprogram, algoritmer och Turing-maskiner

Storlek: px
Starta visningen från sidan:

Download "Datorprogram, algoritmer och Turing-maskiner"

Transkript

1 Datorprogram, algoritmer och Turing-maskiner Uppsala universitet Turing-året 2012

2 Inledning Det är bekvämt om en maskin, till exempel en dator, kan utföra en uppgift, särskilt om den kan göra det avsevärt snabbare än en människa. Detta leder till frågan vad maskiner kan göra.

3 Inledning Det är bekvämt om en maskin, till exempel en dator, kan utföra en uppgift, särskilt om den kan göra det avsevärt snabbare än en människa. Detta leder till frågan vad maskiner kan göra. Det finns starka skäl att tro att maskiner inte kan lösa alla typer av problem, vilket kommer att förklaras.

4 Inledning Det är bekvämt om en maskin, till exempel en dator, kan utföra en uppgift, särskilt om den kan göra det avsevärt snabbare än en människa. Detta leder till frågan vad maskiner kan göra. Det finns starka skäl att tro att maskiner inte kan lösa alla typer av problem, vilket kommer att förklaras. Men hur kan man undersöka sådana saker? Frågan handlar inte om vad en specifik maskin, till exempel datorn på ditt bord, kan göra. Frågan gäller vad maskiner överhuvudtaget kan göra.

5 Inledning Det är bekvämt om en maskin, till exempel en dator, kan utföra en uppgift, särskilt om den kan göra det avsevärt snabbare än en människa. Detta leder till frågan vad maskiner kan göra. Det finns starka skäl att tro att maskiner inte kan lösa alla typer av problem, vilket kommer att förklaras. Men hur kan man undersöka sådana saker? Frågan handlar inte om vad en specifik maskin, till exempel datorn på ditt bord, kan göra. Frågan gäller vad maskiner överhuvudtaget kan göra. För att undersöka frågan så behöver man betrakta begrepp som instruktioner, algoritmer, datorprogram, programmeringsspråk och hur maskiner, i princip, fungerar.

6 Vår värld vimmlar av instruktioner Du har förmodligen lärt dig hur man gör för att hitta ett ord, exempelvis koncession, i en ordlista, där orden antas vara organiserade i alfabetisk ordning. Troligtvis har du lärt dig att följa ett antal instruktioner som leder dig att göra på följande vis: Sök upp orden som börjar på k. Sedan söker du upp orden, bland dessa, som börjar med ko. Bland dessa söker du upp orden som börjar med kon. Och så vidare. Till sist hittar du ordet koncession, om det finns med i ordlistan. Dessa instruktioner kan sammanfattas med en enda: Instruktion: När du har funnit orden vars första n bokstäver (n = 0, 1, 2,...) är detsamma som för det givna uppslagsordet, så sök bland dessa ord de ord vars n + 1 första bokstäver är detsamma som för det givna uppslagsordet; tills du hittar uppslagsordet.

7 Vår värld vimmlar av instruktioner Uppgift. (a) Ge exempel på några instruktioner som du har fått i ditt liv. (b) Försök att komma på en eller flera instruktioner som hör ihop och som alltid leder till rätt svar på en viss sorts fråga, om man utför instruktionerna på rätt sätt. Möjligt svar till (b)

8 Vår värld vimmlar av instruktioner Uppgift. (a) Ge exempel på några instruktioner som du har fått i ditt liv. (b) Försök att komma på en eller flera instruktioner som hör ihop och som alltid leder till rätt svar på en viss sorts fråga, om man utför instruktionerna på rätt sätt. Möjligt svar till (b) De vanliga instruktionerna för hur man söker efter ord i en ordlista ger alltid svar på frågan om ett givet ord finns med i en given ordlista. Lite mer matematiskt så skulle frågan kunna uttryckas så här: Finns ordet w med i ordlistan L? där w betecknar ett godtyckligt ord och L en godtycklig ordlista.

9 Vår värld vimmlar av instruktioner Ett annat exempel är följande. I skolan har du lärt dig hur man multiplicerar två heltal (och förmodligen även tal med decimaler). Du ställer upp talen på ett visst sätt och bearbetar dem sedan, steg för steg, enligt några givna instruktioner. Uträkningen tar alltid slut och ger rätt svar (produkten) om varje steg har utförts på rätt sätt. Om två stora tal multipliceras så krävs många steg för att beräkna deras produkt, men i princip så kan uträkningen alltid göras enligt de instruktioner som du har lärt dig i skolan.

10 Algoritm: en samling instruktioner som hör ihop Som nämndes i föregående exempel så kan man alltid, i princip, beräkna produkten av två tal genom att följa några bestämda instruktioner i så många steg som behövs tills produkten till sist, om man har tålamod och tid, är uträknad. En (ändlig) mängd av instruktioner som hör ihop kallas med matematiskt och datavetenskapligt språk för algoritm. I skolan har du lärt dig algoritmer för att addera, subtrahera, multiplicera och dividera tal med varandra. Du har också lärt dig en algoritm för att hitta ord i ordlistor, och säkert ett flertal andra algoritmer. Även miniräknare och datorer använder algoritmer för att att addera, subtrahera, multiplicera och dividera tal, och för alla andra funktioner som miniräknaren och datorn har. Faktum är att allt som miniräknare och datorer gör, görs enligt algoritmer i deras minne.

11 Vad är skillnaden mellan algoritm och datorprogram? Ett datorprogram är en algoritm som är skrivet i ett visst programeringsspråk. Men en algoritm behöver inte vara ett datorprogram. Exempelvis beskrevs tidigare, något översiktligt visserligen, en algoritm för att se efter om ett givet ord finns med i en given ordlista. Men algoritmen var skriven på svenska, vilket inte är ett programeringsspråk, så algoritmen är inte ett datorprogram. Om svenska skulle bli ett programringsspråk så skulle den givna algoritmen för att se om ett ord är med i en ordlista bli ett datorprogram. Man kan också säga att ett datorprogram är en algoritm som är skrivet på ett språk som någon dator förstår. Vad som är ett datorprogram beror alltså på vilka språk datorer förstår, och detta kan variera med tidens gång.

12 Därför är algoritmer det intressanta I problemlösningssammanhang så är man som regel intresserad av hur man utför en viss uppgift, eller hur man löser ett visst problem och inte av språket som instruktionerna är beskrivna med. Om en algoritm beskrivs med ett visst språk, till exempel svenska eller C ++, så kan den vanligen översättas till ett annat språk, till exempel engelska eller Ada. Av dessa skäl så är ofta begreppet algoritm viktigare är begreppet datorprogram.

13 Terminering: kommer jag någonsin få ett svar? En sak som skiljer divisionsalgoritmen från algoritmerna för att addera, subtrahera och multiplicera är följande. När man använder divisionsalgoritmen för att beräkna a delat med b så kan det hända att divisionen inte går jämnt ut, hur många steg man än utför. Om man, exempelvis, dividerar 4 med 3 så får man kvoten där decimalutvecklingen aldrig tar slut, eftersom det är omöjligt att skriva 4/3 på decimalform med ändlig decimalutveckling. Så om man använder divisionsalgoritmen för att dividera 4 med 3 så säger algoritmen att man skall fortsätta ett steg till, och ett steg till, och så vidare i all oändlighet. Man säger att algoritmen inte terminerar i detta fall. Om algoritmen ger ett svar efter ändligt många steg så säger man att den terminerar.

14 Terminering: kommer jag någonsin få ett svar? Man får lätt en divisionsalgoritm som alltid terminerar genom att bara bestämma sig för hur många decimalers nogrannhet man vill ha i svaret, som då inte nödvändigtvis är exakt, utan bara ett närmevärde/uppskattning. Om vi till exempel är nöjda med tre decimalers noggranhet så lägger vi till följande instruktion till divisionsalgoritmen: avsluta beräkningen då tre decimalers noggranhet har uppnåtts. Miniräknare, vars algoritmer alltid terminerar, räknar med närmevärden/uppskattningar, så svaren är oftast inte exakta utan bara närmevärden/uppskattningar av det som ska beräknas.

15 Kan algoritmer lösa alla problem? Finns det någon superalgoritm som löser varje matematiskt problem? Denna fråga är snarlik den fråga, kallad Entscheidungsproblem (på svenska avgörbarhetsproblem ), som den kände matematikern David Hilbert ställde i början av 1900-talet. En lite blygsammare fråga är om det för varje typ av matematiskt problem P finns en algoritm A P som löser varje problem av typen P. Exempel. Låt P(x, y) vara problemet beräkna produkten av x och y. Då löses problemet P, att beräkna produkten av två tal, av den algoritm som du har fått lära dig i skolan.

16 Kan algoritmer lösa alla problem? För att bevisa att det finns en algoritm som löser en viss typ av problem P så räcker det att skriva ner en algoritm A P som gör detta. Att bevisa att algoritmen faktiskt gör det som den skall kan dock ibland vara mycket invecklat och kräva avancerade kunskaper i matematik. Exempelvis konstruerade år 2002 Manindra Agrawal, Neeraj Kayal och Nitin Saxena en algoritm som, mycket snabbare än tidigare kända algoritmer, avgör om ett godtyckligt positivt heltal är ett primtal eller inte. För att förstå att deras algoritm faktiskt gör det som den ska, och snabbare än andra algoritmer för samma ändamål, så krävs djupa kunskaper den gren av matematiken som kallas talteori.

17 Kan algoritmer lösa alla problem? Exempel 1 Men kan varje typ av problem lösas av någon algoritm? Svaret är nej, och här följer en beskrivning av en typ av problem som ingen algoritm kan lösa. Vi betraktar tabeller med ord (som inte behöver betyda någonting) i två kolumner som består av endast bokstäverna a och/eller b: Exempel 1 abb b 2 b ba 3 a ab 4 b bab

18 Kan algoritmer lösa alla problem? Exempel 1 Om vi väljer en följd av rader, där samma rad får väljas flera gånger, så kan vi bilda ett sammansatt ord av orden i vänstra kolumnen av de valda raderna. Om vi väljer följden av rader 2,1,1,3,4 och vi tar ordet ur vänstra kolumnen från motsvarande rad så får vi b, abb, abb, a, b, vilket ihopdraget och utan kommatecken ger babbabbab. Om vi i stället väljer ordet i högerkolumnen för samma följd 2,1,1,3,4 så får vi ba, b, b, ab, bab, vilket ihopdraget och utan kommatecken ger babbabbab. Det blev samma sammansatta ord, babbabbab, i båda fallen! Så behöver det inte bli för alla följder av rader. Om man i stället väljer följden 2,1,1,3 så får man babbabba om man väljer orden i vänsterkolumnen från dessa rader, och man får babbab om man väljer orden i högerkolumnen från samma rader.

19 Kan algoritmer lösa alla problem? Exempel 1 För tabellen 1 a ba 2 b bb så finns ingen följd av rader så att om man bara väljer ord i vänsterkolumnen från dessa rader så blir det samma sammansatta ord som när man bara väljer ord i högerkolumnen från samma rader (i samma ordning). Försök att förklara varför. Förklaring

20 Kan algoritmer lösa alla problem? Exempel 1 För tabellen 1 a ba 2 b bb så finns ingen följd av rader så att om man bara väljer ord i vänsterkolumnen från dessa rader så blir det samma sammansatta ord som när man bara väljer ord i högerkolumnen från samma rader (i samma ordning). Försök att förklara varför. Förklaring För varje följd av rader så blir det sammansatta ordet som fås från motsvarande högerkolumner dubbelt så långt som det sammansatta ordet som fås från motsvarande vänsterkolumner.

21 Kan algoritmer lösa alla problem? Exempel 1 För tabellen 1 aab a 2 ab abb 3 ab bab 4 ba aab finns en följd av rader så att man får samma sammansatta ord oavsett om man väljer orden från vänsterkolumnen eller om man väljer orden från högerkolumnen. Det är dock inte så lätt att hitta ett sådan följd eftersom den behöver vara ganska lång, med mer än 50 radval. Finns det en algoritm som givet vilken tabell som helst av detta slag, med hur många rader som helst, avgör (dvs. ger rätt svar på frågan) om det går att välja en följd av rader så att man får samma sammansatta ord oavsett om man bara väljer orden från vänsterkolumnen eller bara orden från högerkolumnen, i den ordning som följden av rader anger. Svaret är nej.

22 Kan algoritmer lösa alla problem? Exempel 2 Här följer ett till exempel på ett problem som ingen algoritm kan lösa. Vi kallar en funktion med variablerna (det som motsvarar indata till funktionen) x 1,..., x n för ett polynom med heltalskoefficienter om den endast använder addition, subtraktion och/eller multiplikation av variablerna och vissa givna heltalskonstanter då den räknar ut sitt värde. Exempel på polynom med heltalskoefficienter är 5xy 2x 2, 2 + 4x1 2x 2x3 5 17x 1x3 2 och ( x1 7 3x 1 2x 2 5x 3 3 ) 4 + 5x2 x3 2. Det första polynomet har 2 variabler, x och y, medan de två andra polynomen har 3 variabler, x 1, x 2 och x 3.

23 Kan algoritmer lösa alla problem? Exempel 2 Problem: Givet ett polynom med heltalskoefficienter och 11 variabler, betecknat f (x 1, x 2,..., x 11 ), finns det heltal n 1, n 2,..., n 11 sådana att f (n 1, n 2,..., n 11 ) = 0? Vi ställer oss nu frågan om det finns någon algoritm som, om den får vilket polynom som helst med heltalskoefficienter och 11 variabler avgör ovanstående problem (dvs. ger rätt svar på frågan)? Svaret är nej.

24 Kan algoritmer lösa alla problem? Exempel 2 Det följer att svaret fortfarande är nej om man släpper begränsningen att polynomen bara får ha 11 variabler, och alltså tillåter vilket antal variabler som helst. Problemet i denna allmänna form kallas för Hilberts tionde problem, efter matematikern David Hilbert som vid den internationella matematikerkonferensen år 1900 gav en lista med 23 matematiska problem som har blivit berömda. Tre av dessa är fortfarande olösta. Hilberts tionde problem fick sin slutgiltiga lösning genom att Yuri Matijasevic bevisade att varje beräkningsbart uppräknelig mängd av tal är diofantisk (dvs. består av lösningar till sådana ekvationer som ovan), men vi går inte in närmare på vad detta betyder här.

25 Algoritmiska Hur bevisar man att en viss typ av problem inte kan lösas av någon algoritm? Algoritmer kan ju uttryckas på olika språk, som svenska, engelska, indiska, C ++, Ada, Fortran, och så vidare. Men det nämndes tidigare att om en algoritm kan uttryckas i ett språk så kan den ofta uttryckas i andra språk också. Tyvärr är detta bara sant ofta, men inte alltid. Vi skulle kanske behöva ett universalspråk för algoritmer. Detta algoritmiska universalspråk borde i så fall ha egenskapen att varje algoritm kan beskrivas i detta språk. Med andra ord, om en algoritm kan skrivas med något språk överhuvudtaget så skall den kunna översättas till universalspråket, som vi kan kalla algoritmiska. Men finns algoritmiska? Och hur ser det i så fall ut?

26 Algoritmiska Under och 1930-talen konstruerades flera olika språk, av olika matematiker, som var tänkta att beskriva algoritmer och samtidigt vara lämpliga för att förstå bättre vad algoritmer kan, och inte kan, göra. Språken hade namn som logiska kombinatorer, lambda kalkyl, a-maskiner, och rekursiva funktioner. Lite udda namn kanske, och om du såg språken så skulle du förmodligen bli förvånad. Men kom ihåg att dessa språk var avsedda att beskriva algoritmer, inte för att användas i vardaglig kommunikation mellan människor. På 1930-talet så blev en del matematiker så självsäkra på sin sak att de föreslog att deras språk faktiskt kunde beskriva alla algoritmer. Mot slutet av årtiondet så lyckades man bevisa att de nämnda språken var ekvivalenta, med vilket man menar att om ett av dem kan beskriva alla algoritmer, så gäller detsamma för alla de andra språken (av de nämnda). Men var dessa språk universalspråk för algoritmer?

27 Vad är karakteristiskt för en algoritm? Innan vi går vidare med den frågan så försöker vi förstå vad som gör att något är en algoritm. Med andra ord så försöker vi karakterisera en algoritm, så gott vi kan. Vi har redan tidigare sagt att en algoritm är en ändlig samling av instruktioner. Det har varit underförstått att varje instruktion är ändlig (beskriven med ändligt många tecken/symboler) för varje instruktion skall kunna läsas på ändlig tid. För att kunna använda en algoritm så behövs en miljö, inom vilken algoritmens instruktioner skall utföras. Med datavetenskapligt och matematiskt språkbruk så kallas miljön för algoritmens semantik. Därför tar vi också hänsyn till en algoritms miljö när vi försöker karakterisera en algoritm.

28 Vad är karakteristiskt för en algoritm? Eftersom varje instruktion är ändlig så kan den bara påverka och påverkas av en ändlig del av den miljö inom vilken algoritmen arbetar. Därför finns, för varje algoritm, en begränsning av hur många symboler som den, i sitt arbete, kan skriva och/eller radera när en instruktion utförs. Det följer att algoritmen efter att ha utfört ett antal instruktioner, hur många som helst (men ändligt antal), så kommer bara en ändlig del av dess miljö att ha påverkats. Som nog har framgått så kan miljön användas som arbetsminne (där algoritmen skriver och raderar) under arbetets gång. En algoritm borde kunna ta tillvara på tillgänglig kunskap; sådant som står i böcker eller finns lagrat i datorer till exempel. Vi tänker oss att även denna är ändlig. Denna kunskap kan finnas lagrad i algoritmens miljö, men eftersom den tillgängliga kunskapen är ändlig så kan den också skrivas in i algoritmens instruktioner; så att all kunskap som behövs för dess arbete redan är inbyggd i algoritmen. Ett algoritmiskt universalspråk (med tillhörande miljö) bör alltså ha dessa egenskaper och dessutom kunna beskriva varje ändlig samling instruktioner med ovan nämnda egenskaper.

29 Alan Turings förslag till algoritmiskt universalspråk Matematikern och logikern Alan Turing ( ) tänkte förmodligen i banor som inte var så olika de ovan beskrivna. I princip skulle en människa kunna utföra en algoritms arbete (givet tillräckligt mycket tid och plats för arbetet) och han resonerade att den mänskliga hjärnan har ett ändligt minne och ändligt många tillstånd. Den yttre miljön (bibliotek, datorer etc.) innehåller också en ändlig mängd information, och människan är begränsad på så sätt att hon bara kan bearbeta ändligt mycket information i varje arbetsmoment. Detsamma gäller för alla maskiner. Turing betonade såväl algoritmers mekaniska natur (att arbeta steg för steg utifrån givna instruktioner) som möjligheten att maskiner skulle kunna utföra alla arbeten som kan beskrivas av algoritmer. Kanske var det sådana tankegångar som gjorde att Turings algoritmspråk med tillhörande arbetsmiljö, a-maskinen, senare kallat Turing-maskinen, fick sådan form att de påminner mycket om en maskin, särskilt datamaskin med instruktioner (dvs. program).

30 Hur var det då med ett universalspråk? Men efter allt detta prat, finns det ett universalspråk för algoritmer? Svaret är kanske en besvikelse. Man vet inte. Och man kan inte ge ett precist svar på frågan av det skälet att begreppet algoritm inte är mer precist än vad som har förklarats här. Sedan 1930-talet har många nya språk för att beskriva algoritmer uppfunnits, men ingen av de nya språken kan beskriva fler algoritmer än Turing-maskiner. Och varje algoritm som kan beskrivas med något språk kan också beskrivas med Turing-maskiner (och med lambda-kalkyl, logiska kombinatorer och rekursiva funktioner).

31 Church-Turings tes Sedan 1930-talet har en så gott som allmän acceptans vuxit fram bland matematiker och datavetare om att följande påstående stämmer: Church-Turings tes: Varje algoritm kan beskrivas av en Turing-maskin. Så när man säger att det inte finns någon algoritm som kan lösa en viss typ av problem, så menar man att det inte finns någon Turing-maskin som kan göra det. Det är också vad som har menats här då det har sagts att det inte finns någon algoritm som löser problemet. Church-Turings tes är ett påstående som inte kan bevisas eftersom begreppet algoritm inte är precist. Men eftersom begreppet Turing-maskin är precist så kan man bevisa att det inte finns någon Turing-maskin som löser en viss typ av problem.

32 Turing-maskiner Som nämndes tidigare så finns flera (många faktiskt) språk för algoritmer som är lika starka som Turing-maskiner, i den meningen att varje algoritm som kan beskrivas med en Turing-maskin också kan översättas till det andra språket, och omvänt. Turing-maskinen, förkortat TM, har dock blivit det mest använda algoritm-språket i sammanhang då man försöker bevisa saker om algoritmer och om en mängd olika problem, från vardagen och från olika vetenskaper. Kanske beror det på att en TM, och dess arbetssätt, är relativt lätt att förstå. Man skall ha i tankarna att begreppet TM har skapats för att kunna bevisa saker om algoritmer i allmänhet (om vi tror på Church-Turings tes) och inte för programering i praktiska sammanhang. Program för Turing-maskiner följer väldigt enkla regler för att det skall vara lätt att hantera Turing-maskinerna när man bevisar saker om dem. Men å andra sidan innebär det att TM-program, även för enkla uppgifter, lätt blir väldigt stora. Att programera Turing-maskiner kan liknas med att programera fysiska datorer på bit-nivå.

33 Noll-summe-problemet För den som vill se mer exempel på frågor som handlar om existens eller icke-existens av vissa typer av algoritmer, så följer här ett till. Givet en följd av olika heltal, exempelvis 4, 1, 3, 7, 2, 10, så frågar vi oss om det är möjligt att välja en kombination av dessa tal så att summan av dem blir 0? Om följden är 4, 1, 3, 7, 2, 10, så kan vi välja talen 4, 1, 3, 2 och vi ser att ( 3) + ( 2) = 0, så för följden 4, 1, 3, 7, 2, 10 så går det att välja en kombination av dessa tal sådan att summan av dem blir 0. Men om följden är 8, 4, 3, 9 så finner man, efter att ha provat alla kombinationer, att det inte finns någon kombination av talen vars summa är 0. Givet vilken följd av (hur många) heltal n 1, n 2,..., n k som helst så kan man förstås testa varje kombination av dessa tal som helst och se om summan av dem blir 0. Denna tanke går att formulera som en algoritm, så det finns alltså en algoritm som avgör, givet vilken ändlig följd av heltal som helst, om det finns en kombination av dessa tal sådan att summan av dem blir 0.

34 Noll-summe-problemet Det finns dock 2 n kombinationer av tal från en följd av n olika tal (varför?). Så om man ska testa, för varje kombination, om summan av den blir 0, så kan det hända att man måste testa 2 n kombinationer innan man hittar någon vars summa blir 0, eller kan dra slutsatsen att inge sådan finns. Varje test om summan blir 0 innebär att man utför minst en instruktion av algoritmen. Detta medför att om en sådan algoritm får en följd av n heltal som indata så kan den behöva utföra minst 2 n instruktioner innan den är klar. Man säger att en algoritm terminerar efter n steg, givet ett visst indata, om den terminerar (dvs. stannar) efter att ha utfört instruktioner n gånger. För någon konstant C > 0 gäller att den ovan (översiktligt) beskrivna algoritmen för att lösa noll-summe-problemet terminerar efter högst C 2 n steg on indata består av högst n heltal. Det kan dock behövas 2 n steg innan den terminerar för vissa indata bestående av n tal. Eftersom 2 n är en exponential-funktion så säger man att algoritmen har exponentiell tillväxt.

35 Noll-summe-problemet Man säger att en algoritm har polynomiell tillväxt om det finns ett positivt heltal k så att algoritmen, givet indata bestående av högst n tecken/symboler, terminerar efter högst n k steg. Nu ställer vi oss frågan: Finns det någon algoritm som löser noll-summe-problemet och har polynomiell tillväxt? Om man fixerar k så gäller för alla tillräckligt stora n att 2 n är mycket större än n k. Därför kan frågan ses som en precisare version än följande fråga: Finns det någon algoritm som löser noll-summe-problemet och är betydligt snabbare än den beskrivna algoritmen (som testar alla kombinationer)?

36 Noll-summe-problemet Om vi tror på Church-Turings tes så är frågan väsentligen densamma som frågan om det finns en Turing-maskin som löser noll-summe-problemet och har polynomiell tillväxt. Denna fråga kan förväntas ha ett precist matematiskt svar (eftersom begreppet Turing-maskin är precist). Men trots att en annan variant av frågan ställdes redan i början av 1970-talet så har ingen hittills kunnat svara på den. Om någon skulle besvara frågan skulle det medföra att antingen så (1) skulle många olika (kända) problem ha algoritmer med polynomiell tillväxt, eller så (2) skulle många olika (kända) problem inte ha algoritmer med polynomiell tillväxt. Noll-summe-problemet hör till en samling problem som kallas för NP-fullständiga. Alla NP-fullständiga problem delar egenskapen att om någon av dem kan lösas med en algoritm som har polynomiell tillväxt så gäller detsamma för många andra problem.

37 Noll-summe-problemet Om någon kom på en algoritm med polynomiell tillväxt för noll-summe-problemet, så skulle det till exempel finnas en algoritm med polynomiell tillväxt som avgör om ett heltal a delar ett annat heltal b (dvs. om det finns ett heltal k sådant att b = ka) och detta skulle innebära att den nuförtiden mest använda algoritmen för att koda och avkoda meddelanden (som används om man handlar nå internet eller använder en internetbank), den s.k. RSA-algoritmen, skulle kunna forceras (dvs. avkodas) relativt snabbt, åtminstone om exponenten k i polynomet n k (som begränsar tillväxten) inte är väldig stor. Den mest utbredda uppfattningen, dvs. den bildade gissningen, bland datavetare och matematiker i dagsläget är dock att det inte finns någon algoritm med polynomiell tillväxt för noll-summe-problemet, så om denna uppfattning är korrekt så är bankkunder och andra relativt säkra. (Algoritm-teori kan dock inte garantera att inte andra katastrofer, inom området ekonomi och finansväsende, drabbar bankkunder och andra medborgare.)

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

Lite om räkning med rationella uttryck, 23/10 Lite om räkning med rationella uttryck, / Tänk på att polynom uppför sig ungefär som heltal Summan, differensen respektive produkten av två heltal blir ett heltal och på motsvarande sätt blir summan, differensen

Läs mer

Tal och polynom. Johan Wild

Tal och polynom. Johan Wild Tal och polynom Johan Wild 14 augusti 2008 Innehåll 1 Inledning 3 2 Att gå mellan olika typer av tal 3 3 De hela talen och polynom 4 3.1 Polynom........................... 4 3.2 Räkning med polynom...................

Läs mer

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.

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. Logik Vid alla matematiskt resonemang måste man vara säker på att man verkligen menar det man skriver ner på sitt papper. Därför måste man besinna hur man egentligen tänker. Den vetenskap, som sysslar

Läs mer

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

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >

Läs mer

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

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står skrivna: Oändligt

Läs mer

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall COMPUTABILITY BERÄKNINGSBARHET Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall Den centrala frågan: givet ett problem, kan det ha en algoritmisk lösning?

Läs mer

1 Josefs bil har gått kilometer. Hur långt har den gått när han har kört (3) tio kilometer till? km

1 Josefs bil har gått kilometer. Hur långt har den gått när han har kört (3) tio kilometer till? km Test, version, lärarversion Instruktion Instruktioner och kommentarer är desamma som i testet i den ursprungliga versionen. Här är ingående tal förändrade och i något fall är uppgiften omformulerad. Betona

Läs mer

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

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Föreläsning 9: Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står

Läs mer

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

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik DD1350 Logik för dataloger Fö 7 Predikatlogikens semantik 1 Kryssprodukt av mängder Om A och B är två mängder så är deras kryssprodukt A B mängden av alla par (a,b), där a A och b B. Ex: A={1,2}, B={3,4},

Läs mer

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

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1 Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens

Läs mer

Algoritmer i Treviso-aritmetiken.

Algoritmer i Treviso-aritmetiken. Algoritmer i Treviso-aritmetiken. Staffan Rodhe 7 november 2006 1 Larte de labbacho I Västerlandet trycktes de första böckerna i mitten på 1400-talet. Matematiska texter kunde nog anses vara besvärligare

Läs mer

Matematik EXTRAUPPGIFTER FÖR SKOLÅR 7-9

Matematik EXTRAUPPGIFTER FÖR SKOLÅR 7-9 Matematik EXTRAUPPGIFTER FÖR SKOLÅR 7-9 Matematik Extrauppgifter för skolår 7-9 Pärm med kopieringsunderlag. Fri kopieringsrätt inom utbildningsenheten! Författare: Mikael Sandell Copyright 00 Sandell

Läs mer

Algebra I, 1MA004. Lektionsplanering

Algebra I, 1MA004. Lektionsplanering UPPSALA UNIVERSITET Matematiska Institutionen Dan Strängberg HT2016 Fristående, IT, KandDv, KandMa, Lärare 2016-11-02 Algebra I, 1MA004 Lektionsplanering Här anges rekommenderade uppgifter ur boken till

Läs mer

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL och Media, SF60 och 5B8, onsdagen den 7 augusti 0, kl 4.00-9.00. Examinator: Olof Heden Hjälpmedel: Inga

Läs mer

4 Fler deriveringsregler

4 Fler deriveringsregler 4 Fler deriveringsregler 4. Dagens Teori Derivatan av potensfunktioner. Potensfunktioner med heltalsexponenter, som du redan kan derivera, kallas polynomfunktioner, som till exempel: f(x) = 2x4 x3 + 2x

Läs mer

(A B) C = A C B C och (A B) C = A C B C. Bevis: (A B) C = A C B C : (A B) C = A C B C : B C (A B) C A C B C

(A B) C = A C B C och (A B) C = A C B C. Bevis: (A B) C = A C B C : (A B) C = A C B C : B C (A B) C A C B C Sats 1.3 De Morgans lagar för mängder För alla mängder A och B gäller att (A B) C = A C B C och (A B) C = A C B C. (A B) C = A C B C : A B A C (A B) C B C A C B C (A B) C = A C B C : A B A C (A B) C B

Läs mer

1, 2, 3, 4, 5, 6,...

1, 2, 3, 4, 5, 6,... Dagens nyhet handlar om talföljder, ändliga och oändliga. Talföljden 1,, 3, 4, 5, 6,... är det första vi, som barn, lär oss om matematik över huvud taget. Så småningom lär vi oss att denna talföljd inte

Läs mer

Resträkning och ekvationer

Resträkning och ekvationer 64 Resträkning och ekvationer Torsten Ekedahl Stockholms Universitet Beskrivning av uppgiften. Specialarbetet består i att sätta sig in i hur man räknar med rester vid division med primtal, hur man löser

Läs mer

Algebra, exponentialekvationer och logaritmer

Algebra, exponentialekvationer och logaritmer Höstlov Uppgift nr 1 Ge en lösning till ekvationen 0 434,2-13x 3 Ange både exakt svar och avrundat till två decimalers noggrannhet. Uppgift nr 2 Huvudräkna lg20 + lg50 Uppgift nr 3 Ge en lösning till ekvationen

Läs mer

Sidor i boken 110-113, 68-69 2, 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

Sidor i boken 110-113, 68-69 2, 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom Sidor i boken 110-113, 68-69 Räkning med polynom Faktorisering av heltal. Att primtalsfaktorisera ett heltal innebär att uppdela heltalet i faktorer, där varje faktor är ett primtal. Ett primtal är ett

Läs mer

Föreläsning 5. Deduktion

Föreläsning 5. Deduktion Föreläsning 5 Deduktion Hur ett deduktivt system fungerar Komponenter - Vokabulär Ett deduktivt system använder ett visst slags språk som kan kallas för systemets vokabulär. I mindre formella fall är kanske

Läs mer

Tal i bråkform. Kapitlet behandlar. Att förstå tal

Tal i bråkform. Kapitlet behandlar. Att förstå tal Tal i bråkform Kapitlet behandlar Test Användning av hälften och fjärdedel 2 Representation i bråkform av del av antal och av del av helhet 3, Bråkform i vardagssituationer Stambråk, bråkuttryck med 1

Läs mer

Hela tal LCB 1999/2000

Hela tal LCB 1999/2000 Hela tal LCB 1999/2000 Ersätter Grimaldi 4.3 4.5 1 Delbarhet Alla förekommande tal i fortsättningen är heltal. DEFINITION 1. Man säger att b delar a om det finns ett heltal n så att a Man skriver b a när

Läs mer

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

TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter Johan Thim 15 augusti 2015 1 Vanliga symboler Lite logik Implikation: P Q. Detta betyder att om P är sant så är Q sant. Utläses P medför

Läs mer

Låt n vara ett heltal som är 2 eller större. Om a och b är två heltal så säger vi att. a b (mod n)

Låt n vara ett heltal som är 2 eller större. Om a och b är två heltal så säger vi att. a b (mod n) Uppsala Universitet Matematiska institutionen Isac Hedén Algebra I, 5 hp Sammanfattning av föreläsning 9. Kongruenser Låt n vara ett heltal som är 2 eller större. Om a och b är två heltal så säger vi att

Läs mer

Likhetstecknets innebörd

Likhetstecknets innebörd Likhetstecknets innebörd Följande av Görel Sterner översatta och bearbetade text bygger på boken: arithmetic & algebra in elementary school. Portsmouth: Heinemann Elever i åk 1 6 fick följande uppgift:

Läs mer

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

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar

Läs mer

Gränsvärden. Joakim Östlund Patrik Lindegrén Pontus Nyrén 4 december 2003

Gränsvärden. Joakim Östlund Patrik Lindegrén Pontus Nyrén 4 december 2003 Gränsvärden Joakim Östlund Patrik Lindegrén Pontus Nyrén 4 december 2003 Innehåll Introduktion 3 2 Gränsvärden 4 2. Gränsvärden då går mot.................... 4 2.2 Gränsvärden då går mot a.....................

Läs mer

Övningshäfte 2: Induktion och rekursion

Övningshäfte 2: Induktion och rekursion GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,

Läs mer

Sidor i boken f(x) = a x 2 +b x+c

Sidor i boken f(x) = a x 2 +b x+c Sidor i boken 18-151 Andragradsfunktioner Här ska vi studera andragradsfunktionen som skrivs f(x) = ax +bx+c där a, b, c är konstanter (reella tal) och där a 0. Grafen (kurvan) till f(x), y = ax + bx +

Läs mer

29 Det enda heltalet n som satisfierar båda dessa villkor är n = 55. För detta värde på n får vi x = 5, y = 5.

29 Det enda heltalet n som satisfierar båda dessa villkor är n = 55. För detta värde på n får vi x = 5, y = 5. Tentamenskrivning MATA15 Algebra: delprov 1, 6hp Lördagen den 3 november 01 Matematikcentrum Matematik NF LÖSNINGSFÖRSLAG 1 a) Lös den diofantiska ekvationen 9x + 11y 00 b) Ange alla lösningar x, y) sådana

Läs mer

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2 Kapitel 4 Bisektionsalgoritmen Vi ska konstruera lösningar till algebraiska ekvationer av formen f(x) = 0 med hjälp av bisektionsalgoritmen (intervallhalveringsmetoden). På samma gång ska vi se hur man

Läs mer

Matematik klass 4. Vårterminen FACIT. Namn:

Matematik klass 4. Vårterminen FACIT. Namn: Matematik klass 4 Vårterminen FACIT Namn: Använd ditt facit ofta för att se om du är på rätt väg och förstår. Om det är något som är konstigt, diskutera med din lärare eller en kompis. Du måste förstå

Läs mer

Likhetstecknets innebörd

Likhetstecknets innebörd Modul: Algebra Del 5: Algebra som språk Likhetstecknets innebörd Följande av Görel Sterner (2012) översatta och bearbetade text bygger på boken: Carpenter, T. P., Franke, M. L. & Levi, L. (2003). Thinking

Läs mer

MATEMATIKENS SPRÅK. Avsnitt 1

MATEMATIKENS SPRÅK. Avsnitt 1 Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en

Läs mer

Några satser ur talteorin

Några satser ur talteorin Några satser ur talteorin LCB 997/2000 Fermats, Eulers och Wilsons satser Vi skall studera några klassiska satser i talteori, vilka är av betydelse bland annat i kodningsteknik och kryptoteknik. De kan

Läs mer

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

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

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor Johan Thim 22 augusti 2018 1 Vanliga symboler Lite logik Implikation: P Q. Detta betyder att om P är sant så är Q sant. Utläses P medför Q

Läs mer

Potenser och logaritmer på en tallinje

Potenser och logaritmer på en tallinje strävorna 2A 7B Potenser och logaritmer på en tallinje begrepp matematikens utveckling taluppfattning algebra Avsikt och matematikinnehåll I läroböcker är det standard att presentera potenslagarna som

Läs mer

Övning log, algebra, potenser med mera

Övning log, algebra, potenser med mera Övning log, algebra, potenser med mera Uppgift nr 1 Förenkla uttrycket x 3 + x 3 + x 3 + x 3 + x 3 Uppgift nr 2 Förenkla x x x+x x x Uppgift nr 3 Skriv på enklaste sätt x 2 x x x 8 x x x Uppgift nr 4 Förenkla

Läs mer

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad 20.5.2010. a) i) Nollställen för polynomet 2x 2 3x 1:

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad 20.5.2010. a) i) Nollställen för polynomet 2x 2 3x 1: Ellips Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad.. Prov a) i) ii) iii) =,, = st 9,876 =,9876,99 = 9,9,66,66 =,7 =,7 Anmärkning. Nollor i början av decimaltal har ingen betydelse

Läs mer

Talteori (OBS en del frågor gäller diofantiska ekvationer och de tas inte upp från och med hösten 2012)

Talteori (OBS en del frågor gäller diofantiska ekvationer och de tas inte upp från och med hösten 2012) Talteori (OBS en del frågor gäller diofantiska ekvationer och de tas inte upp från och med hösten 2012) T4.4-T4.7, 4.3, 4.7,T4.13-T4.14 S: Jag har svårt för visa-uppgifter. i kapitel 4 Talteori. Kan du

Läs mer

Matematik klass 4. Vårterminen. Namn: Anneli Weiland Matematik åk 4 VT 1

Matematik klass 4. Vårterminen. Namn: Anneli Weiland Matematik åk 4 VT 1 Matematik klass 4 Vårterminen Namn: Anneli Weiland Matematik åk 4 VT 1 Först 12 sidor repetition från höstterminen. Addition 7+5= 8+8= 7+8= 7+7= 8+3= 7+6= 6+6= 8+5= 6+5= 9+3= 9+5= 6+9= Subtraktion 11-2=

Läs mer

1 Julias bil har har gått kilometer. Hur långt har den gått när den har (3) körts tio kilometer till? km

1 Julias bil har har gått kilometer. Hur långt har den gått när den har (3) körts tio kilometer till? km Test 8, version, lärarversion Instruktion Instruktioner och kommentarer är desamma som i testet i den ursprungliga versionen. Här är ingående tal förändrade och i något fall är uppgiften omformulerad.

Läs mer

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH Objektorienterad modellering och diskreta strukturer 13. Problem Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik och härledning predikatlogik och substitution mängder

Läs mer

Programmering och begrepp

Programmering och begrepp Lektionen handlar om att få förståelse för begrepp kopplade till programmering och datorer. Lektionsförfattare: Christina Löfving Till läraren 1. Brainstorma kring begreppet kod 2. Diskutera betydelsen

Läs mer

Arbeta vidare med aritmetik 2018

Arbeta vidare med aritmetik 2018 Arbeta vidare med aritmetik 2018 I det här materialet har vi samlat problem inom aritmetik från flera olika tävlingsklasser, från Ecolier till Student. Årtal Varje år förekommer det problem som utgår från

Läs mer

Explorativ övning 4 ÄNDLIGT OCH OÄNDLIGT. Övning A

Explorativ övning 4 ÄNDLIGT OCH OÄNDLIGT. Övning A Explorativ övning 4 ÄNDLIGT OCH OÄNDLIGT Första delen av övningen handlar om begreppet funktion. Syftet är att bekanta sig med funktionsbegreppet som en parbildning. Vi koncentrerar oss på tre viktiga

Läs mer

1 Julias bil har gått km. Hur långt har den gått när den har körts tio (3) kilometer till? Rita en ring runt det största bråket.

1 Julias bil har gått km. Hur långt har den gått när den har körts tio (3) kilometer till? Rita en ring runt det största bråket. Test 9, lärarversion Instruktion Instruktioner och kommentarer är desamma som i testet i den ursprungliga versionen. Här är ingående tal förändrade och i något fall är uppgiften omformulerad. Betona ordet

Läs mer

MÖNSTER OCH TALFÖLJDER

MÖNSTER OCH TALFÖLJDER MÖNSTER OCH TALFÖLJDER FÖRELÄSNINGENS INNEHÅLL OCH SYFTE Genomgång av viktiga matematiska begrepp, uttryck och symboler med anknytning till mönster och talföljder. Skälet till att välja detta innehåll

Läs mer

Kontinuitet och gränsvärden

Kontinuitet och gränsvärden Kapitel Kontinuitet och gränsvärden.1 Introduktion till kontinuerliga funktioner Kapitlet börjar med allmänna definitioner. Därefter utvidgar vi successivt familjen av kontinuerliga funktioner, genom specifika

Läs mer

3-3 Skriftliga räknemetoder

3-3 Skriftliga räknemetoder Namn: 3-3 Skriftliga räknemetoder Inledning Skriftliga räknemetoder vad är det? undrar du kanske. Och varför behöver jag kunna det? Att det står i läroplanen är ju ett klent svar. Det finns miniräknare,

Läs mer

PRIMTALEN, MULTIPLIKATION OCH DIOFANTISKA EKVATIONER

PRIMTALEN, MULTIPLIKATION OCH DIOFANTISKA EKVATIONER Explorativ övning 4 PRIMTALEN, MULTIPLIKATION OCH DIOFANTISKA EKVATIONER Syftet med detta avsnitt är att bekanta sig med delbarhetsegenskaper hos heltalen. De viktigaste begreppen är Aritmetikens fundamentalsats

Läs mer

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning Matematik, KTH Bengt Ek november 207 Material till kursen SF679, Diskret matematik: Lite om kedjebråk 0 Inledning Talet π (kvoten mellan en cirkels omkrets och dess diameter) är inte ett rationellt tal

Läs mer

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Talsystem Teori. Vad är talsystem? Av Johan Johansson Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska

Läs mer

Repetitionsuppgifter inför Matematik 1. Matematiska institutionen Linköpings universitet 2013

Repetitionsuppgifter inför Matematik 1. Matematiska institutionen Linköpings universitet 2013 Repetitionsuppgifter inför Matematik Matematiska institutionen Linköpings universitet 0 Innehåll De fyra räknesätten Potenser och rötter 7 Algebra 0 4 Facit 4 Repetitionsuppgifter inför Matematik Repetitionsuppgifter

Läs mer

Introduktion till logik

Introduktion till logik 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

Läs mer

Rekursionsformler. Komplexa tal (repetition) Uppsala Universitet Matematiska institutionen Isac Hedén isac

Rekursionsformler. Komplexa tal (repetition) Uppsala Universitet Matematiska institutionen Isac Hedén isac Uppsala Universitet Matematiska institutionen Isac Hedén isac distans@math.uu.se Algebra I, 5 hp Vecka 21. Vi nämner något kort om rekursionsformler för att avsluta [Vre06, kap 4], sedan börjar vi med

Läs mer

Lösningar till Algebra och kombinatorik

Lösningar till Algebra och kombinatorik Lösningar till Algebra och kombinatorik 091214 1. Av a 0 = 1 och rekursionsformeln får vi successivt att a 1 = 1 + a 0 1 a 0 = 1 + 1 1 1 = 2, a 2 = 1 + a 1 1 a 0 + 1 a 1 = 1 + 2 1 + 1 = 4, 2 a 3 = 1 +

Läs mer

x 23 + y 160 = 1, 2 23 = ,

x 23 + y 160 = 1, 2 23 = , Matematiska Institutionen KTH Lösningar till några övningar, inför tentan moment B, på de avsnitt som inte omfattats av lappskrivningarna, Diskret matematik för D2 och F, vt08.. Ett RSA-krypto har n =

Läs mer

Södervångskolans mål i matematik

Södervångskolans mål i matematik Södervångskolans mål i matematik Mål som eleverna lägst ska ha uppnått i slutet av det första skolåret beträffande tal och taluppfattning kunna läsa av en tallinje mellan 0-20 kunna läsa och ramsräka tal

Läs mer

Programmering och begrepp

Programmering och begrepp Programmering och begrepp Lektionen bygger på att ge eleverna en möjlighet att prata om och få förståelse för några ord och begrepp som de kopplar till programmering och datorer. Lektionen grundar sig

Läs mer

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

LMA033/LMA515. Fredrik Lindgren. 4 september 2013 LMA033/LMA515 Fredrik Lindgren Matematiska vetenskaper Chalmers tekniska högskola och Göteborgs universitet 4 september 2013 F. Lindgren (Chalmers&GU) Matematik 4 september 2013 1 / 25 Outline 1 Föreläsning

Läs mer

K2 Något om modeller, kompakthetssatsen

K2 Något om modeller, kompakthetssatsen KTH Matematik Bengt Ek Maj 2005 Kompletteringsmaterial till kursen 5B1928 Logik för D1: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och fullständighetssatsen

Läs mer

Inledande programmering med C# (1DV402) Introduktion till programmering

Inledande programmering med C# (1DV402) Introduktion till programmering Introduktion till programmering Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt

Läs mer

Kapitel 2: De hela talen

Kapitel 2: De hela talen Kapitel 2: De hela talen Divisionsalgoritmen ( a a Z, d Z\{0} q, r Z : d = q + r ) d, 0 r d c 2005 Eric Järpe Högskolan i Halmstad där q kallas kvoten och r kallas principala resten vid heltalsdivision.

Läs mer

A B A B A B S S S S S F F S F S F S F F F F

A B A B A B S S S S S F F S F S F S F F F F Uppsala Universitet Matematiska institutionen Isac Hedén isac distans@math.uu.se Algebra I, 5 hp Vecka 17. Logik När man utför matematiska resonemang så har man alltid vissa logiska spelregler att förhålla

Läs mer

Lokal studieplan Matematik 3 8 = 24. Centrum för tvåspråkighet Förberedelseklass

Lokal studieplan Matematik 3 8 = 24. Centrum för tvåspråkighet Förberedelseklass Lokal studieplan Matematik 3 8 = 24 Centrum för tvåspråkighet Förberedelseklass 1 Mål att sträva mot Skolan skall i sin undervisning i matematik sträva efter att eleven S11 utvecklar intresse för matematik

Läs mer

Imperativ programmering

Imperativ programmering Imperativ programmering 1DL126 3p Imperativ programmering Jesper Wilhelmsson ICQ: 20328079 Yahoo: amigajoppe MSN / epost: jesperw@it.uu.se Rum: 1335 Tel: 471 1046 Imperativ programmering Vilka programmeringsspråk

Läs mer

y y 1 = k(x x 1 ) f(x) = 3 x

y y 1 = k(x x 1 ) f(x) = 3 x Räta linjen på olika former Här ska vi bara påpeka att förutom k-form, den som vi är mest vana vid y = k y + m finns också allmän form: ax + by + c = 0 där a och b är konstanter, som inte någon står för

Läs mer

DE FYRA RÄKNESÄTTEN (SID. 11) MA1C: AVRUNDNING

DE FYRA RÄKNESÄTTEN (SID. 11) MA1C: AVRUNDNING DE FYRA RÄKNESÄTTEN (SID. 11) 1. Benämn med korrekt terminologi talen som: adderas. subtraheras. multipliceras. divideras.. Addera 10 och. Dividera sedan med. Subtrahera 10 och. Multiplicera sedan med..

Läs mer

Skolmatematiktenta 1 LPGG06 Kreativ Matematik Delkurs 1 4 december 2015 kl

Skolmatematiktenta 1 LPGG06 Kreativ Matematik Delkurs 1 4 december 2015 kl Skolmatematiktenta 1 LPGG06 Kreativ Matematik Delkurs 1 4 december 2015 kl. 8.15-13.15 Ansvarig lärare: Maria Lindström 054-7002146, Kristina Wallin 054-7002316 På omslagsbladet står att ni måste använda

Läs mer

DD1350 Logik för dataloger

DD1350 Logik för dataloger DD1350 Logik för dataloger Fö 8 Axiomatiseringar 1 Modeller och bevisbarhet Sedan tidigare vet vi att: Om en formel Φ är valid (sann i alla modeller) så finns det ett bevis för Φ i naturlig deduktion.

Läs mer

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

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 2. Explicita formler och rekursionsformler. Dag mötte vi flera talföljder,

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering Vad är programmering? Vad gör en dator? Vad är ett datorprogram? 1 (9) Vad är programmering? För att bestämma en cirkels area måste du: 1. Dividera diametern 5 med 2. 2.

Läs mer

a = a a a a a a ± ± ± ±500

a = a a a a a a ± ± ± ±500 4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att

Läs mer

Polynomekvationer (Algebraiska ekvationer)

Polynomekvationer (Algebraiska ekvationer) Polynomekvationer (Algebraiska ekvationer) Faktorsatsen 1. Pettersson: teori och exempel på sid. 21-22 Det intressanta är följande idé: Om man på något sätt (Vilket det är en annan fråga, se nedan!) har

Läs mer

TALTEORI FÖR ALLA 1 Juliusz Brzezinski

TALTEORI FÖR ALLA 1 Juliusz Brzezinski TALTEORI FÖR ALLA 1 Juliusz Brzezinski För exakt 10 år sedan publicerade Andrew Wiles sitt bevis av Fermats Stora Sats. Nyheten om hans resultat väckte enorm uppmärksamhet i hela världen. Vägen till lösningen

Läs mer

Kursplan för Matematik

Kursplan för Matematik Sida 1 av 5 Kursplan för Matematik Inrättad 2000-07 SKOLFS: 2000:135 Ämnets syfte och roll i utbildningen Grundskolan har till uppgift att hos eleven utveckla sådana kunskaper i matematik som behövs för

Läs mer

1 Aylas bil har gått 14 999 kilometer. Hur långt har den (2) gått när hon har kört en kilometer till? 15 000

1 Aylas bil har gått 14 999 kilometer. Hur långt har den (2) gått när hon har kört en kilometer till? 15 000 Instruktion Instruktioner och kommentarer är desamma som i testet i den ursprungliga versionen. Här är ingående tal förändrade och i något fall är uppgiften omformulerad. Betona ordet ungefär i uppgift

Läs mer

Denna uppdelning är ovanlig i Sverige De hela talen (Både positiva och negativa) Irrationella tal (tal som ej går att skriva som bråk)

Denna uppdelning är ovanlig i Sverige De hela talen (Både positiva och negativa) Irrationella tal (tal som ej går att skriva som bråk) UMEÅ UNIVERSITET Institutionen för matematik och matematisk statistik Olof Johansson, Nina Rudälv 2006-10-24 SÄL 1-10p Avsnitt 1.1 Grundläggande begrepp Detta avsnitt behandlar de symboler som används

Läs mer

Manipulationer av algebraiska uttryck

Manipulationer av algebraiska uttryck Manipulationer av algebraiska uttryck Valentina Chapovalova SMaL-kursen i Mullsjö 19 juni 2018 Kluring 1 Bestäm produkten (x a) (x b) (x c)... (x z) Lösning kluring 1 Bestäm produkten (x a) (x b) (x c)..

Läs mer

PASS 2. POTENSRÄKNING. 2.1 Definition av en potens

PASS 2. POTENSRÄKNING. 2.1 Definition av en potens PASS. POTENSRÄKNING.1 Definition av en potens Typiskt för matematik är ett kort, lätt och vackert framställningssätt. Den upprepade additionen går att skriva kortare i formen där anger antalet upprepade

Läs mer

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg Tema: Pythagoras sats Linnéa Utterström & Malin Öberg Innehåll: Introduktion till Pythagoras sats! 3 Pythagoras sats! 4 Variabler! 5 Potenser! 5 Att komma tillbaka till ursprunget! 7 Vi bevisar Pythagoras

Läs mer

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs A, kapitel 4. b) = 3 1 = 2

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs A, kapitel 4. b) = 3 1 = 2 Kapitel.1 101, 102 Exempel som löses i boken 10 a) x= 1 11+ x= 11+ 1 = 2 c) x= 11 7 x= 7 11 = 77 b) x= 5 x 29 = 5 29 = 6 d) x= 2 26 x= 26 2= 1 10 a) x= 6 5+ 9 x= 5+ 9 6= 5+ 5= 59 b) a = 8a 6= 8 6= 2 6=

Läs mer

Ekvationer och system av ekvationer

Ekvationer och system av ekvationer Modul: Undervisa matematik utifrån problemlösning Del 4. Strategier Ekvationer och system av ekvationer Paul Vaderlind, Stockholms universitet Ekvationslösning är ett av de viktiga målen i skolmatematiken.

Läs mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real

Läs mer

KW ht-17. Övningsuppgifter

KW ht-17. Övningsuppgifter Övningsuppgifter Ht-2017 1 Innehållsförteckning: Taluppfattning, positionssystem s. 3 4 Räkning, prioriteringsregler s. 4 6 Tvåbassystemet s. 6-7 Avrundning och noggrannhet s. 8-11 Bråk s. 12-17 Decimaltal

Läs mer

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

Repetition av matematik inför kurs i statistik 1-10 p. Karlstads universitet Leif Ruckman Summasymbolen. Repetition av matematik inför kurs i statistik 1-10 p. I stället för att skriva en lång instruktion att vissa värden skall summeras brukar man använda

Läs mer

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = = Matematiska institutionen Stockholms universitet CG Matematik med didaktisk inriktning 2 Problem i Algebra, geometri och kombinatorik Snedsteg 5 MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET

Läs mer

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Mats Boij 28 oktober 2001 1 Heltalen Det första kapitlet handlar om heltalen och deras aritmetik, dvs deras egenskaper som

Läs mer

Studieplan och bedömningsgrunder i Matematik för åk 7 Moment Bedömningsgrunder för uppnåendemålen Begreppsbildning Tal och räkning

Studieplan och bedömningsgrunder i Matematik för åk 7 Moment Bedömningsgrunder för uppnåendemålen Begreppsbildning Tal och räkning Moment Begreppsbildning Mätningar och enheter Algebra och ekvationer Studieplan och bedömningsgrunder i Matematik för åk 7 Bedömningsgrunder för uppnåendemålen känna igen naturliga tal kunna positiva heltal:

Läs mer

Matematik klass 4. Höstterminen. Facit. Namn:

Matematik klass 4. Höstterminen. Facit. Namn: Matematik klass 4 Höstterminen Facit Namn: Använd ditt facit ofta för att se om du är på rätt väg och förstår. Om det är något som är konstigt, diskutera med din lärare eller en kompis. Du måste förstå

Läs mer

Sammanfattningar Matematikboken X

Sammanfattningar Matematikboken X Sammanfattningar Matematikboken X KAPITEL 1 TAL OCH RÄKNING Naturliga tal Med naturliga tal menas talen 0, 1,,, Jämna tal 0,,, 6, 8 Udda tal 1,,, 7 Tallinje Koordinater En tallinje kan t ex användas för

Läs mer

Högstadiets matematiktävling 2016/17 Finaltävling 21 januari 2017 Lösningsförslag

Högstadiets matematiktävling 2016/17 Finaltävling 21 januari 2017 Lösningsförslag Högstadiets matematiktävling 2016/17 Finaltävling 21 januari 2017 Lösningsförslag 1. Lösningsförslag: Låt oss först titta på den sista siffran i 2 0 1 7. Ett tal som är delbart med 2 och 5 är då också

Läs mer

INDUKTION OCH DEDUKTION

INDUKTION OCH DEDUKTION AVSNITT 3 INDUKTION OCH DEDUKTION Med induktion menar man vanligen en mycket vanlig resonemangsmetod: man gör flera observationer, upptäcker ett mönster (eller något som man tror är ett mönster) och därefter

Läs mer

Lösningar till utvalda uppgifter i kapitel 5

Lösningar till utvalda uppgifter i kapitel 5 Lösningar till utvalda uppgifter i kapitel 5 5.3. Vi använder Euklides algoritm och får 4485 = 1 3042 + 1443 3042 = 2 1443 + 156 1443 = 9 156 + 39 156 = 4 39. Alltså är sgd(3042, 4485) = 39. Om vi startar

Läs mer

Lite Kommentarer om Gränsvärden

Lite Kommentarer om Gränsvärden Lite Kommentarer om Gränsvärden På föreläsningen (Föreläsning 2 för att vara eakt) så introducerade vi denitionen Denition. Vi säger att f() går mot a då går mot oändligheten, uttryckt i symboler som f()

Läs mer

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen KTH Matematik Bengt Ek Maj 2008 Kompletteringsmaterial till kursen SF1642, Logik för D1 och IT3: K2 Något om modeller, kompakthetssatsen Vi skall presentera ett enkelt (om man känner till sundhets- och

Läs mer

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

Induktion, mängder och bevis för Introduktionskursen på I Induktion, mängder och bevis för Introduktionskursen på I J A S, ht 04 1 Induktion Detta avsnitt handlar om en speciell teknik för att försöka bevisa riktigheten av påståenden eller formler, för alla heltalsvärden

Läs mer