Programkonstruktion och Datastrukturer, lektion 7

Storlek: px
Starta visningen från sidan:

Download "Programkonstruktion och Datastrukturer, lektion 7"

Transkript

1 Programkonstruktion och Datastrukturer, lektion 7 Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet 9 Dec 2010

2 Vad har följande funktion för tidskomplexitet? fun pow2 0 = 1 pow2 n = pow2(n 1) + pow2(n 1) Vi definierar en komplexitetsfunktion T för pow2, som givet en problemstorlek returnerar hur lång tid ett problem av den storleken tar att lösa. Eftersom pow2 är rekursivt definierat, ter det sig naturligt att också definiera T rekursivt: {? om n = 0 T (n) =? annars 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

3 fun pow2 0 = 1 pow2 n = pow2(n 1)+pow2(n 1) 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

4 fun pow2 0 = 1 pow2 n = pow2(n 1)+pow2(n 1) Låt c 1 beteckna kostnaden för att beräkna basfallet pow2(0). 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

5 fun pow2 0 = 1 pow2 n = pow2(n 1)+pow2(n 1) Låt c 1 beteckna kostnaden för att beräkna basfallet pow2(0). När n 1, låt c 2 beteckna kostnaden för mönstermatchning samt de rödmarkerade additionerna och subtraktionerna. 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

6 fun pow2 0 = 1 pow2 n = pow2(n 1)+pow2(n 1) Låt c 1 beteckna kostnaden för att beräkna basfallet pow2(0). När n 1, låt c 2 beteckna kostnaden för mönstermatchning samt de rödmarkerade additionerna och subtraktionerna. T kan då{ uttryckas: c1 om n = 0 T (n) = c 2 + 2T (n 1) annars 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

7 Nästa steg är att uttrycka T på sluten form, dvs utan rekursion. En metod är följande tvåstegsraket: 1 Gissa hur den slutna formen kommer se ut. 2 Visa att din gissning stämmer med induktion. Att hitta en bra gissning kan vara svårt. Om man inte vet var man ska börja, kan man testa sig fram tills man ser mönstret. 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

8 Vi testar att plugga in några värden i T: { c1 om n = 0 T (n) = c 2 + 2T (n 1) annars T (0) = c 1 T (1) = c 2 + 2T (0) = c 2 + 2c 1 T (2) = c 2 + 2T (1) = c 2 + 2(c 2 + 2c 1 ) = 3c 2 + 4c 1 T (3) = c 2 + 2T (2) = c 2 + 2(3c 2 + 4c 1 ) = 7c 2 + 8c 1 Vart och ett av fallen vi testade stämmer överens med formeln: T (n) = (2 n 1)c n c 1 Men stämmer det för alla n? Vi försöker oss på ett induktionsbevis. 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

9 Teorem T (n) = (2 n 1)c n c 1 Bevis Med induktion över n. I basfallet är T (0) = c 1 = 0c 2 + 1c 1 = (2 0 1)c c 1. I induktionssteget antar vi att T (n) = (2 n 1)c n c 1, och visar T (n + 1) = (2 n+1 1)c n+1 c 1. Vi får då att T (n + 1) = c 2 + 2T (n) (definitionen av T) = c 2 + 2((2 n 1)c n c 1 ) (induktionshypotes) = c 2 + (2 n+1 2)c n+1 c 1 = (2 n+1 1)c n+1 c 1 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

10 Vi har visat att T (n) = (2 n 1)c n c 1, men vi har mer information än vad vi behöver: konstanterna c 1 och c 2 intresserar oss inte. Nästa steg är att uttrycka T (n) med Θ-notation, och således abstrahera bort konstanterna. Även här fungerar tvåstegsraketen: 1 Gissa. 2 Visa att gissningen stämmer. En uppenbar gissning är T (n) = Θ(2 n ). 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

11 Teorem (2 n 1)c n c 1 = Θ(2 n ) Bevis Enligt definitionen av Θ räcker det med att visa att det finns positiva konstanter a, b, n 0 sådana att olikheten a2 n (2 n 1)c n c 1 b2 n gäller för alla n n 0. Om vi väljer t ex a = c 1 + c 2 1 och b = c 1 + c 2 kan vi skriva om den vänstra olikheten till: 2 n c 2 och den högra till: c 2 0 Den högra blir då uppenbart sann eftersom c 2 är positiv. Den vänstra blir sann om vi väljer t ex n 0 = lg 2 (c 2 ). 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

12 I uppgift 2 står det ingenstans vilka tidsenheter tidskomplexitetsfunktionerna ni fått använder. I synnerhet kan ni inte anta att de använder CPU-timmar. 9 Dec Johannes Åman Pohjola & William Sjöstedt, Uppsala Universitet

Programkonstruktion och Datastrukturer

Programkonstruktion och Datastrukturer Programkonstruktion och Datastrukturer VT 2012 Tidskomplexitet Elias Castegren elias.castegren.7381@student.uu.se Problem och algoritmer Ett problem är en uppgift som ska lösas. Beräkna n! givet n>0 Räkna

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

Föreläsning 5: Summor (forts) och induktionsbevis

Föreläsning 5: Summor (forts) och induktionsbevis ht01 Föreläsning 5: Summor (forts) och induktionsbevis Några viktiga summor Det är inte alltid möjligt att hitta uttryck för summor beskriva med summanotation, men vi tar här upp tre viktiga fall: Sats:

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

Lösningar till övningstentan. Del A. UPPSALA UNIVERSITET Matematiska institutionen Styf. Övningstenta BASKURS DISTANS

Lösningar till övningstentan. Del A. UPPSALA UNIVERSITET Matematiska institutionen Styf. Övningstenta BASKURS DISTANS UPPSALA UNIVERSITET Matematiska institutionen Styf Övningstenta BASKURS DISTANS 011-0-7 Lösningar till övningstentan Del A 1. Lös ekvationen 9 + 5x = x 1 ( ). Lösning. Genom att kvadrera ekvationens led

Läs mer

1. (a) Formulera vad som skall bevisas i basfallet och i induktionssteget i ett induktionsbevis av påståendet att. 4 5 n för alla n = 0, 1, 2, 3,...

1. (a) Formulera vad som skall bevisas i basfallet och i induktionssteget i ett induktionsbevis av påståendet att. 4 5 n för alla n = 0, 1, 2, 3,... UPPSALA UNIVERSITET PROV I MATEMATIK Matematiska institutionen Baskurs i matematik Vera Koponen 2008-02-2 Skrivtid: 8-. Tillåtna hjälpmedel: Inga, annat än pennor, radergum och papper det sista tillhandahålles).

Läs mer

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

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

Läs mer

4x 1 = 2(x 1). i ( ) får vi 5 3 = 5 1, vilket inte stämmer alls, så x = 1 2 är en falsk rot. Svar. x = = x x + y2 1 4 y

4x 1 = 2(x 1). i ( ) får vi 5 3 = 5 1, vilket inte stämmer alls, så x = 1 2 är en falsk rot. Svar. x = = x x + y2 1 4 y UPPSALA UNIVERSITET Matematiska institutionen Styf Prov i matematik BASKURS DISTANS 011-03-10 Lösningar till tentan 011-03-10 Del A 1. Lös ekvationen 5 + 4x 1 5 x. ( ). Lösning. Högerledet han skrivas

Läs mer

Algoritmanalys. Inledning. Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016

Algoritmanalys. Inledning. Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016 Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016 Algoritmanalys Inledning Exempel 1: x n När vi talade om rekursion presenterade vi två olika sätt att beräkna x n, ett iterativt: x n =

Läs mer

Övningshäfte 1: Induktion, rekursion och summor

Övningshäfte 1: Induktion, rekursion och summor LMA100 VT2006 ARITMETIK OCH ALGEBRA DEL 2 Övningshäfte 1: Induktion, rekursion och summor Övning A 1. Kan ni fortsätta följden 1,3,5,7,9,11,...? 2. Vilket är det 7:e talet i följden? Vilket är det 184:e?

Läs mer

Lösningar till utvalda uppgifter i kapitel 4

Lösningar till utvalda uppgifter i kapitel 4 Lösningar till utvalda uppgifter i kapitel 4 4.7 Vi visar först att A 2n 3 2 n 2 med ett induktionsbevis. Basfall: n 0 Vi har att 3 2 0 2 A 0, och alltså gäller likheten för n 0. Induktionssteget: Antag

Läs mer

Programkonstruktion och datastrukturer. Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem

Programkonstruktion och datastrukturer. Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem Programkonstruktion och datastrukturer Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem PKD 2012/13 Formell verifiering Sida 1 Uppdaterad 2008-11-28 Formell verifiering:

Läs mer

Föreläsning 4 Datastrukturer (DAT037)

Föreläsning 4 Datastrukturer (DAT037) Föreläsning 4 Datastrukturer (DAT07) Fredrik Lindblad 1 november 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat07 1 Innehåll

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 2 Rekursion i C Implementation av rekursion Svansrekursion En till övning...

Tommy Färnqvist, IDA, Linköpings universitet. 2 Rekursion i C Implementation av rekursion Svansrekursion En till övning... Föreläsning 15 Rekursion TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 2 november 2015 Tommy Färnqvist, IDA, Linköpings universitet 15.1 Innehåll

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

Om plana och planära grafer

Om plana och planära grafer KTH Matematik Bengt Ek April 2006 Material till kursen 5B1118 Diskret matematik för CL3: Om plana och planära grafer I många sammanhang (t.ex. vid konstruktion av elektriska kretsar) är det intressant

Läs mer

Programmering II (ID1019)

Programmering II (ID1019) ID1019 Johan Montelius Instruktioner Betyg Programmering II (ID1019) 2019-03-08 Svaren skall lämnas på dessa sidor, använd det utrymme som nns under varje uppgift för att skriva ner ditt svar (inte på

Läs mer

Föreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:

Föreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande: Föreläsning 7 Innehåll Rekursion Rekursivt tänkande: Hur många år fyller du? Ett år mer än förra året! Rekursion Rekursiv problemlösning Binärsökning Generiska metoder Rekursiv problemlösning: Dela upp

Läs mer

Rekursion och induktion

Rekursion och induktion Rekursion och induktion Vi börjar med ett exempel. EXEMPEL 1 I slutet av 1800-talet presenterade den franske matematikern Edouard Lucas ett slags matematiskt pussel ( recréation mathématiques ) vars mål

Läs mer

Algoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T

Algoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T Algoritmer och datastrukturer H I 1 0 2 9 HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T Föreläsning 1 Inledande om algoritmer Rekursion Stacken vid rekursion Rekursion iteration Möjliga vägar

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 1 Anton Grensjö grensjo@csc.kth.se 14 september 2015 Anton Grensjö ADK Övning 1 14 september 2015 1 / 22 Översikt Kursplanering F1: Introduktion, algoritmanalys

Läs mer

Rekursion och induktion

Rekursion och induktion Rekursion och induktion Vi börjar med ett exempel. EXEMPEL 1 I slutet av 1800-talet presenterade den franske matematikern Edouard Lucas ett slags matematiskt pussel ( recréation mathématiques ) vars mål

Läs mer

Föreläsning 4 Datastrukturer (DAT037)

Föreläsning 4 Datastrukturer (DAT037) Föreläsning 4 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-10 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat037 Förra

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

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

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 MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 1 1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta

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

Dekomposition och dynamisk programmering

Dekomposition och dynamisk programmering Algoritmer, datastrukturer och komplexitet, hösten 2016 Uppgifter till övning 3 Dekomposition och dynamisk programmering Max och min med dekomposition I vektorn v[1..n] ligger n tal. Konstruera en dekompositionsalgoritm

Läs mer

MS-A409 Grundkurs i diskret matematik Appendix, del I

MS-A409 Grundkurs i diskret matematik Appendix, del I MS-A409 Grundkurs i diskret matematik Appendix, del I G. Gripenberg Aalto-universitetet 2 oktober 2013 G. Gripenberg (Aalto-universitetet) MS-A409 Grundkurs i diskret matematikappendix, del I 2 oktober

Läs mer

Procedurer och villkor. Rekursiva procedurer. Exempel: n-fakultet

Procedurer och villkor. Rekursiva procedurer. Exempel: n-fakultet Procedurer och villkor Rekursiva procedurer (define lessorequal (lambda (x y) (or (< x y) (= x y)))) (define between (lambda (x y z) (and (lessorequal x y) (lessorequal y z)))) > (between 3 4 5) #t > (between

Läs mer

Procedurer och villkor

Procedurer och villkor Procedurer och villkor (define lessorequal (lambda (x y) (or (< x y) (= x y)))) (define between (lambda (x y z) (and (lessorequal x y) (lessorequal y z)))) > (between 3 4 5) #t > (between 3 2 5) #f DA2001

Läs mer

Om plana och planära grafer

Om plana och planära grafer Matematik, KTH Bengt Ek november 2017 Material till kurserna SF1679 och SF1688, Diskret matematik: Om plana och planära grafer I många sammanhang (t.ex. vid konstruktion av elektriska kretsar) är det intressant

Läs mer

Programmeringsmetodik DV1 Programkonstruktion 1. Moment 4 Om rekursion. PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad

Programmeringsmetodik DV1 Programkonstruktion 1. Moment 4 Om rekursion. PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad Programmeringsmetodik DV1 Programkonstruktion 1 Moment 4 Om rekursion PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad 2006-10-17 Summera godtyckligt antal tal (* sumupto n Type: int->int Pre: n >= 0, n

Läs mer

Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201)

Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201) Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201) Lars-Henrik Eriksson Fredag 5 april 2013, kl 14:00 17:00, i Polacksbackens skrivsal Hjälpmedel: Inga. Inte heller elektronisk

Läs mer

Programkonstruktion och datastrukturer. Moment 9 Om högre ordningens funktioner. PKD 2010/11 moment 9 Sida 1 Uppdaterad

Programkonstruktion och datastrukturer. Moment 9 Om högre ordningens funktioner. PKD 2010/11 moment 9 Sida 1 Uppdaterad Programkonstruktion och datastrukturer Moment 9 Om högre ordningens funktioner PKD 2010/11 moment 9 Sida 1 Uppdaterad 2010-12-02 Anonyma funktioner igen En funktion som inte är namngiven kallas för en

Läs mer

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

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik DD1350 Logik för dataloger Fö 3 Satslogikens semantik 1 Kort repetition Satslogik formellt språk för att uttrycka påståenden med variabler och konnektiv /\, \/,, t.ex. p /\ q r 1 Kort repetition Naturlig

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

Föreläsning 1 Datastrukturer (DAT037)

Föreläsning 1 Datastrukturer (DAT037) Föreläsning 1 Datastrukturer (DAT037) Fredrik Lindblad 1 30 oktober 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037

Läs mer

Tentamen i TDDC75 Diskreta strukturer

Tentamen i TDDC75 Diskreta strukturer Tentamen i TDDC75 Diskreta strukturer 2017-01-05, Lösningsförslag (med reservation för eventuella fel) 1. Betrakta följande satslogiska uttryck: (p q) (q p) (a) Visa genom naturlig deduktion att uttrycket

Läs mer

Ö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.

Ö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. GÖTEBORGS UNIVERSITET MATEMATIK 1, MAM100, HT2005 MATEMATISK BASKURS Övningshäfte 6: Syftet med övningen är att utforska strukturen hos talsystemen under addition respektive multiplikation samt sambandet

Läs mer

1 Lite om matematisk notation

1 Lite om matematisk notation UPPSALA UNIVERSITET Matematik för språkteknologer (5LN445) Institutionen för lingvistik och filologi VT 2014 (Marco Kuhlmann 2013, tillägg och omarbetning Mats Dahllöf 2014). 1 Lite om matematisk notation

Läs mer

Tentamen Datastrukturer (DAT036)

Tentamen Datastrukturer (DAT036) Tentamen Datastrukturer (DAT036) Datum och tid för tentamen: 2014-04-25, 14:00 18:00. Författare: Nils Anders Danielsson. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker

Läs mer

Kappa Problem 5

Kappa Problem 5 Piotr Badziag, Kjell Höyland Grillska gynasiet, Årstaängsvägen 33, 117 43 Stockhol Kappa 2014 - Proble 5 I det här probleet betraktas n stora rutnät av rektangulära, där avser antalet rader och n antaler

Läs mer

Lösningar till KATT 2014

Lösningar till KATT 2014 Lösningar till KATT 2014 Av problemkommittén. Strumpmatchning 2 Naiv lösning (40p) Otillräcklig lösning (70p) Binärsökning (full poäng) Brädspelet Dynamisk programmering Matematisk lösning Förklaring 1

Läs mer

Primitivt rekursiva funktioner och den aritmetiska hierarkin

Primitivt rekursiva funktioner och den aritmetiska hierarkin Primitivt rekursiva funktioner och den aritmetiska hierarkin Rasmus Blanck 0 Inledning En rad frågor inom logiken, matematiken och datavetenskapen relaterar till begreppet beräkningsbarhet. En del i kursen

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övningsmästarprovsövning 2 Anton Grensjö grensjo@csc.kth.se 20 november 2017 1 Dagordning 1. Genomgång av uppgiftens lösning 2. Genomgång av bedömningskriterier

Läs mer

Föreläsning 6: Induktion

Föreläsning 6: Induktion Föreläsning 6: Induktion Induktion är en speciell inferensregel. En mängd är välordnad om varje delmängd har ett minsta element Exempel: N är välordnad (under ) Låt P(x) vara ett predikat över en välordnad

Läs mer

Lösningsförslag till tentamensskrivning i SF1610 Diskret Matematik för CINTE 30 maj 2018, kl

Lösningsförslag till tentamensskrivning i SF1610 Diskret Matematik för CINTE 30 maj 2018, kl 1 Matematiska Institutionen KTH Lösningsförslag till tentamensskrivning i SF1610 Diskret Matematik för CINTE 30 maj 2018, kl 08.00 13.00. Examinator: Petter Brändén Kursansvarig: Olof Sisask Hjälpmedel:

Läs mer

n (log n) Division Analysera skolboksalgoritmen för division (trappdivision). Använd bitkostnad.

n (log n) Division Analysera skolboksalgoritmen för division (trappdivision). Använd bitkostnad. Algoritmer och Komplexitet ht 08. Övning 1 Algoritmanalys Ordo Jämför följande par av funktioner med avseende på hur dom växer då n växer. Tala i varje fall om ifall f(n) Θ(g(n)), f(n) O(g(n)) eller f(n)

Läs mer

SCB :-0. Uno Holmer, Chalmers, höger 2 Ex. Induktiv definition av lista. // Basfall

SCB :-0. Uno Holmer, Chalmers, höger 2 Ex. Induktiv definition av lista. // Basfall Rekursiva funktioner Föreläsning 10 (Weiss kap. 7) Induktion och rekursion Rekursiva funktioner och processer Weiss 7.1-3 (7.4, 7.5.3 utgår) Fibonaccital (7.3.4) Exempel: Balansering av mobil (kod se lab

Läs mer

Tentamen Datastrukturer (DAT036)

Tentamen Datastrukturer (DAT036) Tentamen Datastrukturer (DAT036) Datum och tid för tentamen: 2012-08-24, 8:30 12:30. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 9:30 och ca

Läs mer

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm. Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills

Läs mer

Lösningar till Algebra och kombinatorik

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

Läs mer

Programmering II (ID1019) :00-13: hp

Programmering II (ID1019) :00-13: hp ID1019 Johan Montelius Programmering II (ID1019) 2016-03-19 09:00-13:00 7.5 hp Instruktioner Betyg Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.

Läs mer

Avsnitt 6, Egenvärden och egenvektorer. Redan första produktelementet avslöjar att matrisen inte är en ortogonal matris. En matris 1 0.

Avsnitt 6, Egenvärden och egenvektorer. Redan första produktelementet avslöjar att matrisen inte är en ortogonal matris. En matris 1 0. Avsnitt Egenvärden och egenvektorer W Vilka av följande matriser är ortogonala? b d En matris A a a a n a a a n a a a n a m a m a mn är en ortogonal matris om dess kolumner bildar en ON-bas för rummet

Läs mer

6 Rekursion. 6.1 Rekursionens fyra principer. 6.2 Några vanliga användningsområden för rekursion. Problem löses genom:

6 Rekursion. 6.1 Rekursionens fyra principer. 6.2 Några vanliga användningsområden för rekursion. Problem löses genom: 6 Rekursion 6.1 Rekursionens fyra principer Problem löses genom: 1. förenkling med hjälp av "sig själv". 2. att varje rekursionssteg löser ett identiskt men mindre problem. 3. att det finns ett speciellt

Läs mer

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

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002 Institutionen för matematik, KTH Mats Boij och Niklas Eriksen Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002 1. Använd induktion för att visa att 8 delar (2n + 1 2 1 för alla

Läs mer

2 Matematisk grammatik

2 Matematisk grammatik MATEMATISK GRAMMATIK Matematisk grammatik.1 Skriva matematik Matematisk grammatik, minst lika kul som det låter, och hur man skriver matematik är nästan lika viktigt som vad man skriver. En grammatisk

Läs mer

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2 Tentamen TMV20 Inledande Diskret Matematik, D/DI2 208-0-27 kl. 4.00 8.00 Examinator: Peter Hegarty, Matematiska vetenskaper, Chalmers Telefonvakt: Anton Johansson, telefon: 5325 (alt. Peter Hegarty 070-5705475)

Läs mer

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati Formell Verifiering Hur vet man att ett system fungerar korrekt? Lisa Kaati Innehåll Motivering Formell verifiering Modellkontroll (model checking) Verifiering av kod Forskning Dator system finns överallt

Läs mer

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare Karlstads universitet 19-0 april Exempel på elevaktiviteter framtagna i skolutvecklingsprojektet IKT och lärande i matematik 1

Läs mer

Matematik 5 Kap 2 Diskret matematik II

Matematik 5 Kap 2 Diskret matematik II Matematik 5 Kap 2 Diskret matematik II Inledning Konkretisering av ämnesplan (länk) http://www.ioprog.se/public_html/ämnesplan_matematik/struktur_äm nesplan_matematik/struktur_ämnesplan_matematik.html

Läs mer

Föreläsning 1. Kursinformation All viktig information om kursen ska kunna läsas på kursens hemsida

Föreläsning 1. Kursinformation All viktig information om kursen ska kunna läsas på kursens hemsida Föreläsning 1 Kursinformation All viktig information om kursen ska kunna läsas på kursens hemsida http://www2.math.uu.se/ rikardo/ baskursen/index.html Mängdlära * En "samling" av tal kallas för en mängd.

Läs mer

Programmering II (ID1019) :00-12:00

Programmering II (ID1019) :00-12:00 ID1019 Johan Montelius Programmering II (ID1019) 2018-03-13 08:00-12:00 Instruktioner Betyg Svaren skall lämnas på dessa sidor, använd det utrymme som nns under varje uppgift för att skriva ner ditt svar.

Läs mer

Programmering II (ID1019) :00-12:00

Programmering II (ID1019) :00-12:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-03-13 09:00-12:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl 1 Matematiska Institutionen KTH Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl 14.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel

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

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

SI-möte #10, Programkonstruktion och Datastrukturer

SI-möte #10, Programkonstruktion och Datastrukturer SI-möte #10, Programkonstruktion och Datastrukturer Lösngsförslag Elias Castegren & Kristia Ausmees elca7381@student.uu.se krau6498@student.uu.se 1. (* prtlist(l) TYPE: strg list -> unit PRE: () POST:

Läs mer

Imz. Rez. Bo E. Sernelius

Imz. Rez. Bo E. Sernelius KKKA 2005 Imz Rez Bo E. Sernelius Kort kurs i komplex analys Förord Den här kursen är avsedd som en kort introduktion till komplex analys för studenter som går på Fysikprogrammet. Avsikten är delvis att

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 6: Binära beslutsdiagram (BDD) Henrik Björklund Umeå universitet 22. september, 2014 Binära beslutsdiagram Binära beslutsdiagram (Binary decision diagrams, BDDs)

Läs mer

Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 9 juni 2011 kl

Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 9 juni 2011 kl 1 Matematiska Institutionen KTH Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 9 juni 2011 kl 08.00-1.00. OBS: Inga hjälpmedel är tillåtna på tentamensskrivningen. Bonuspoäng

Läs mer

Programmering för språkteknologer II, HT2014. Rum

Programmering för språkteknologer II, HT2014. Rum Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Sökalgoritmer

Läs mer

Programmering II (ID1019) :00-17:00

Programmering II (ID1019) :00-17:00 ID1019 Johan Montelius Programmering II (ID1019) 2014-03-10 14:00-17:00 Förnamn: Efternamn: Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.

Läs mer

Rekursion och induktion för algoritmkonstruktion

Rekursion och induktion för algoritmkonstruktion Informationsteknologi Tom Smedsaas 22 september 2015 Rekursion och induktion för algoritmkonstruktion Att lösa ett problem rekursivt innebär att man uttrycker lösningen i termer av samma typ av problem

Läs mer

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

kvoten mellan två på varandra följande tal i en talföljd är konstant alltid lika stor. Turen har kommit till geometriska talföljder och summan av en geometrisk talföljd. Talföljden 1,, 4, 8, 16, 3,... är ett exempel på en geometrisk talföljd. Utmärkande för en geometrisk talföljd är att

Läs mer

Hundrarutor, markörer, penna och miniräknare. På följande sidor finns hundrarutor för kopiering.

Hundrarutor, markörer, penna och miniräknare. På följande sidor finns hundrarutor för kopiering. strävorna 4A 100-rutan taluppfattning färdighetsträning mönster Avsikt och matematikinnehåll På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta

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

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

SF2715 Applied Combinatorics// Extra exercises and solutions, Part 2 SF2715 Applied Combinatorics// Extra exercises and solutions, Part 2 Jakob Jonsson April 5, 2011 Ö Övningsuppgifter These extra exercises are mostly in Swedish. If you have trouble understanding please

Läs mer

DOP-matematik Copyright Tord Persson. Logövningar. Slumpad ordning. Uppgift nr 10 Lös ekvationen 10 y = 0,001. Uppgift nr 13 Lös ekvationen lg x = 4

DOP-matematik Copyright Tord Persson. Logövningar. Slumpad ordning. Uppgift nr 10 Lös ekvationen 10 y = 0,001. Uppgift nr 13 Lös ekvationen lg x = 4 Logövningar Uppgift nr 1 lg y -2 Uppgift nr 2 Huvudräkna lg200 + lg5 Uppgift nr 3 71 z 70 Uppgift nr 4 Ange derivatan till y e x Uppgift nr 5 Skriv 3 lg5 som en logaritm utan faktor framför. Uppgift nr

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Algoritmanalys Tidskomplexitet, Rumskomplexitet

Läs mer

FÖRELÄSNING 2, TDDC74, VT2018 BEGREPP PROBLEMLÖSNING MED HJÄLP AV FALLANALYS PROBLEMLÖSNING MED HJÄLP AV REKURSION

FÖRELÄSNING 2, TDDC74, VT2018 BEGREPP PROBLEMLÖSNING MED HJÄLP AV FALLANALYS PROBLEMLÖSNING MED HJÄLP AV REKURSION FÖRELÄSNING 2, TDDC74, VT2018 Begrepp och definitioner (delvis från föreläsning 1) Fallanalys som problemlösningsmetod Rekursivt fallanalys Rekursiva beskrivningar och processer de kan skapa Rekursiva

Läs mer

Lösningsförslag till övningsuppgifter, del II

Lösningsförslag till övningsuppgifter, del II Lösningsförslag till övningsuppgifter del II Obs! Preliminär version! Ö.1. För varje delare d till n låt A d var mängden av element a sådana att gcd(a n = d. Partitionen ges av {A d : d delar n}. n = 6:

Läs mer

2 = 2. Tal skrivna på det sättet kallas potenser. I vårt fall har vi tredje tvåpotensen. Tredje tvåpotensen har 2 som bas och 3 som

2 = 2. Tal skrivna på det sättet kallas potenser. I vårt fall har vi tredje tvåpotensen. Tredje tvåpotensen har 2 som bas och 3 som 616 Talföljder på laborativt vis Vikt papper Vik ett A-4 ark mitt itu så att du får två stycken A-5 ark. Vik det en gång till på samma sätt. Hur stora och hur många är dina ark? Vad händer om du fortsätter?

Läs mer

Programmering II (ID1019) :00-11:00

Programmering II (ID1019) :00-11:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-06-11 08:00-11:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180)

Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Göteborgs Universitet och Chalmers Tekniska Högskola 16 januari 2007 Datavetenskap TDA180/TDA181/INN110 Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Onsdagen

Läs mer

Rekursiva algoritmer sortering sökning mönstermatchning

Rekursiva algoritmer sortering sökning mönstermatchning Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 6-7 Rekursiva strukturer rekursiva definitioner rekursiva funktioner rekursiva bevis: induktion - rekursion strukturell

Läs mer

Föreläsning 7: Syntaxanalys

Föreläsning 7: Syntaxanalys DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2007-10-30 Skribent(er): Erik Hammar, Jesper Särnesjö Föreläsare: Mikael Goldmann Denna föreläsning behandlade syntaxanalys.

Läs mer

Rekursion och induktion för algoritmkonstruktion

Rekursion och induktion för algoritmkonstruktion Informationsteknologi Tom Smedsaas, Malin Källén 20 mars 2016 Rekursion och induktion för algoritmkonstruktion Att lösa ett problem rekursivt innebär att man uttrycker lösningen i termer av samma typ av

Läs mer

Finaltävling i Uppsala den 24 november 2018

Finaltävling i Uppsala den 24 november 2018 SKOLORNAS MATEMATIKTÄVLING Svenska matematikersamfundet Finaltävling i Uppsala den 4 november 018 1. Låt ABCD vara en fyrhörning utan parallella sidor, som är inskriven i en cirkel. Låt P och Q vara skärningspunkterna

Läs mer

Signal- och bildbehandling TSBB14

Signal- och bildbehandling TSBB14 Tentamen i Signal- och bildbehandling TSBB4 Tid: 2-8-7 Lokaler: TER Ansvarig lärare: Maria Magnusson besöker lokalerna kl. 5.5 och 6.45 tel 73-84 38 67 Hjälpmedel: Räknedosa, medskickad formelsamling,

Läs mer

Om semantisk följd och bevis

Om semantisk följd och bevis Matematik, KTH Bengt Ek december 2017 Material till kursen SF1679, Diskret matematik: Om semantisk följd och bevis Logik handlar bla om studiet av korrekta slutledningar, dvs frågan om när det är riktigt

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

Programmering II (ID1019) :00-11:00

Programmering II (ID1019) :00-11:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-06-11 08:00-11:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

Upplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)

Upplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1) Binära träd Algoritmer och Datastrukturer Markus Saers markus.saers@lingfil.uu.se Upplägg Binära träd (9) Binära sökträd (0.) Träd Många botaniska termer Träd, rot, löv, gren, Trädets rot kan ha ett antal

Läs mer

Programmering II (ID1019) :00-12:00

Programmering II (ID1019) :00-12:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-03-13 09:00-12:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

Lösningar för tenta i TMV200 Diskret matematik kl. 14:00 18:00

Lösningar för tenta i TMV200 Diskret matematik kl. 14:00 18:00 Lösningar för tenta i TMV200 Diskret matematik 2018-08-31 kl 1:00 18:00 1 Om argumentet inte är giltigt går det att hitta ett motexempel, dvs en uppsättning sanningsvärden för vilka alla hypoteserna är

Läs mer

Sökning och sortering

Sökning och sortering Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling

Läs mer

Föreläsning 1. Introduktion och sökning i graf. Vad är en algoritm?

Föreläsning 1. Introduktion och sökning i graf. Vad är en algoritm? Föreläsning 1. Introduktion och sökning i graf Vad är en algoritm? Först: Vad är ett problem? Består av indata och ett mål. Indata: [En beskrivning av en struktur.] Mål: [Kan vara Ja/Nej, ett tal eller

Läs mer

Gemensam presentation av matematiskt område: Ekvationer Åldersgrupp: år 5

Gemensam presentation av matematiskt område: Ekvationer Åldersgrupp: år 5 Gemensam presentation av matematiskt område: Ekvationer Åldersgrupp: år 5 Mål för lektionen: Eleven skall laborativt kunna lösa en algebraisk ekvation med en obekant. Koppling till strävansmål: - Att eleven

Läs mer