Föreläsning 5: Kardinalitet. Funktioners tillväxt

Storlek: px
Starta visningen från sidan:

Download "Föreläsning 5: Kardinalitet. Funktioners tillväxt"

Transkript

1 Föreläsning 5: Kardinalitet. Funktioners tillväxt A = B om det finns en bijektion från A till B. Om A har samma kardinalitet som en delmängd av naturliga talen, N, så är A uppräknelig. Om A = N så är A uppräkneligt oändlig. Följande mängder är inte uppräkneliga (visar det senare) Reella talen i [0,1] P(N), potensmängden av N Obs: För oändliga mängder kan äkta delmängder ha samma kardinalitet. Detta kan inte inträffa för ändliga mängder. Om en mängd är uppräknelig finns det en listning av elementen i mängden. A B om det finns en injektion från A till B. A B och B A ger A = B. Detta medför: om det finns injektion A B och injektion B A så finns bijektion A B. Några uppräkneliga oändliga mängder E, de jämna icke-negativa heltalen: f(x) = 2x ger en bijektion från N till E (se föreläsning 4) Z x f(x) Z +, f(x) = x + 1 Z Z, vi ger ett bevis utan ord (med figur) De positiva rationella talen, Q +, är uppräkneliga Bevis: Z + är en delmängd av Q +, så Z + Q +. För omvändningen, Q + Z +, visa att de positiva rationella talen med upprepningar, Q R, är uppräknelig I så fall, dåq + är delmängd av Q R, följer att Q + Q R = N = Z + y x /1 2/1 3/1 4/1 5/1 6/1 7/1 1/2 2/2 3/2 4/2 5/2 6/2 7/2 1/3 2/3 3/3 4/3 5/3 6/3 7/3 1/4 2/4 3/4 4/4 5/4 6/4 7/4 1/5 1

2 Positionerna i listningen i figuren anger bilden av den bijektiva funktionen f : N Q R f(0) = 1/1, f(1) = 1/2, f(2) = 2/1, f(3) = 3/1, f(4) = 2/2, f(5) = 1/3,... Varje rationellt tal förekommer i listan minst en gång, och N = Q R. Följdresultat: Mängden av alla rationella tal, Q, är också uppräknelig och Mängden av strängar S (av ändlig längd) över ett ändligt alfabet A är uppräknelig För att visa detta antag att A är icke-tomt och att det finns en alfabetisk ordning av bokstäverna i A. Räkna upp strängarna i ordningen: tomma strängen λ, av längd 0 därefter alla strängar av längd 1, alfabetiskt därefter alla strängar av längd 2, etc. Detta ger en bijektion från N till listan av strängar och därmed är den uppräknelig. Exempel: A = {a,b,c} Dess alfabetiska ordning: {λ,a,b,c,aa,ab,ac,ba,...} = {f(0),f(1),f(2),...} Mängden av alla javaprogram är uppräknelig Låt S vara mängden av tillåtna tecken i ett javaprogram en javakompilator avgör om ett program är syntaktiskt korrekt använd den alfabetiska ordningen av S och mata in strängarna till kompilatorn om kompilatorn godkänner så adderar vi programmet till listan av syntaktiskt korrekta javaprogram fortsätt och testa nästa sträng, etc. På detta vis produceras en lista och en bijektion från N till mängden av javaprogram. Diagonalisering En viktig teknik (av Cantor) för att konstruera objekt som inte tillhör en uppräknelig mängd. De reella talen mellan 0 och 1 är inte uppräkneliga Motsatsbevis: Antag att de är uppräkneliga och påvisa en motsägelse. Om mängden är uppräknelig så kan den listas (dvs, det finns en bijektion från en delmängd av N). Vi visar att oberoende av hur listan produceras så kan vi konstruera ett reellt tal mellan 0 och 1 som inte finns med i listan. Därmed kan det inte finnas en sådan lista, och därför är mängden inte uppräknelig. Representera varje reellt tal i listan decimalt, t ex 1/3 = , 1/2 = Listan: 2

3 r 1 = 0.d 11 d 12 d 13 d r 2 = 0.d 21 d 22 d 23 d r 3 = 0.d 31 d 32 d 33 d etc. Konstruera talet x = 0.x 1 x 2 x 3 x 4..., där x i = { 3 : om dii 3 4 : om d ii = 3 Därmed är x olikt varje tal i listan. Dvs, en lista med alla reella talen mellan 0 och 1 kan inte finnas. Dessa tal är inte uppräkneliga. Kan säga att R är mer oändlig än Q. Följdresultat: P(N) är inte uppräknelig Ty varje reellt tal mellan 0 och 1 kan representeras i binär form. I vart av talens N positioner finns två möjligheter, vilket stämmer med att P(N) = 2 N (föreläsning 3). Notera att vi använde diagonalisering i föreläsning 3 för att visa att stopp-problemet är oavgörbart. Funktioners tillväxt Algoritm: ändligt antal (precisa) instruktioner för att lösa ett problem Exempel: Hitta största elementet i en sekvens a 1,a 2,...,a n procedure max(a 1,a 2,...,a n ) max = a 1 for i from 2 to n if max < a i then max = a i Algoritmen max tar tid proportionell mot n Tidskomplexitet = antal operationer (storleksordningen) som krävs för att lösa problem av storlek n Vill jämföra komplexiteten hos olika algoritmer hur lång tid tar det för stora problem också dåliga (ineffektiva) algoritmer kan ibland användas för att lösa små problem ignorerar implementationsdetaljer som inkrementering av loopindex: kan alltid omvandla en loop till rak kod Vad innebär det att g växer minst lika snabbt som f? 3

4 Stort Ordo f och g är funktioner från N till R f = O(g) omm k c n[n > k f(n) c g(n) ] Välj k, välj sedan c (kan bero på valet av k); och bevisa implikationen. För enkelhets skull skippar vi absoluttecknen i fortsättningen. Exempel: 3n = O(n 2 ) Välj k = 3 och c = 4. Då gäller för n > 3 att 4n 2 3n n Obs: O(g) är en mängd, och kallas en komplexitetsklass. f = O(g) betyder egentligen f O(g) Egenskaper: f = O(g) omm O(f) O(g) Om f = O(g) och g = O(f) så O(f) = O(g) O(g) är sluten under addition: Om f = O(g) och h = O(g) så f + h = O(g) O(g) är sluten under multiplikation med reellt tal, a: Om f = O(g) så är a f = O(g) Om f = O(g) och g = O(h) så f = O(h) (transitivitet) Om f 1 = O(g 1 ) och f 2 = O(g 2 ) så f 1 + f 2 = O(g 1 + g 2 ) = O(max{g 1,g 2 }) och f 1 f 2 = O(g 1 g 2 ) Ty det finns k 1 och c 1 så f 1 (n) c 1 g 1 (n), n > k 1, och k 2 och c 2 så f 2 (n) c 2 g 2 (n), n > k 2. Välj c 3 = c 1 + c 2 och k 3 = max{k 1,k 2 }. Låt g(n) = max{g 1 (n),g 2 (n)}. Ger att f 1 (n) + f 2 (n) c 1 g 1 (n) + c 2 g 2 (n) c 1 g(n) + c 2 g(n) = (c 1 + c 2 )g(n) = c 3 g(n) = c 3 max{g 1 (n),g 2 (n)}, n > k 3. För f 1 f 2 = O(g 1 g 2 ), välj c 4 = c 1 c 2 och k 4 = max{k 1,k 2 }. Då gäller f 1 (n)f 2 (n) c 4 g 1 (n)g 2 (n), n > k 4. Några komplexitetsklasser O(1) O(log n) O(n) O(n log n) O(n 2 ) O(n j ) O(c n ) O(n!), där j > 2 och c > 1 Exempel: Bestäm komplexitetsklass för (n! + 3 n+2 + 3n 100 )(n n + n 2 n ) Förenkla uttrycket: hitta dominerande termer Stryk 3n 100 då n! växer mycket snabbare Stryk 3 n+2 då n! växer snabbare 4

5 Andra termen: vilken växer snabbast, n n eller n 2 n? Ta 2-logaritmen av båda. Då logaritmen är en växande funktion gäller jämförelsen mellan log också mellan ursprungliga funktionerna Jämför alltså n log n med log n + n: klart att n log n växer snabbare, så behålln n ovan Sammanfattat är komplexitetsklassen O(n! n n ) Om en flyttalsoperation (flop) tar en nanosekund, hur stort problem (i n) kan lösas för n!n n på: en minut? en dag? ett år? Vi vill ofta jämföra algoritmer i samma komplexitetsklass. Exempel: Antag algoritm 1 har komplexitet n 2 n + 1 algoritm 2 har komplexitet n 2 /2 + 5n + 2 Båda är O(n 2 ), men algoritm 2 har en mindre ledande koefficient, så den kommer att vara snabbare för stora problem. Kan uttrycka detta mer precist som att: algoritm 1 har komplexitet n 2 + O(n) algoritm 2 har komplexitet n 2 /2 + O(n) 5

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4 VSNITT ÄNDLIGT OCH OÄNDLIGT Är det möjligt att jämföra storleken av olika talmängder? Har det någon mening om man säger att det finns fler irrationella tal än rationella? Är det överhuvudtaget möjligt

Läs mer

Mängder och kardinalitet

Mängder och kardinalitet UPPSALA UNIVERSITET Matematiska institutionen Erik Melin Specialkursen HT07 28 september 2007 Mängder och kardinalitet Dessa blad utgör skissartade föreläsningsanteckningar kombinerat med övningar. Framställningen

Läs mer

1.1. Fördjupning: Jämförelse av oändliga mängder

1.1. Fördjupning: Jämförelse av oändliga mängder Kapitel 1 Kardinalitet Den här texten är tagen från boken Diskret matematik av Asratian Björn Turesson (och delvis modifierad) Av den anledningen finns det visa hänvisningar på en del ställen som är ersatta

Läs mer

Övningshäfte 3: Funktioner och relationer

Övningshäfte 3: Funktioner och relationer GÖTEBORGS UNIVERSITET MATEMATIK 1, MAM100, HT2014 INLEDANDE ALGEBRA Övningshäfte 3: Funktioner och relationer Övning H Syftet är att utforska ett av matematikens viktigaste begrepp: funktionen. Du har

Läs mer

Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6

Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6 Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar

Läs mer

En bijektion mellan två mängder A och B som har ändligt antal element kan endast finnas om mängderna har samma antal element.

En bijektion mellan två mängder A och B som har ändligt antal element kan endast finnas om mängderna har samma antal element. BIJEKTION, INJEKTION, SURJEKTION NUMRERBARA (eller UPPRÄKNELIGA) MÄNGDER Allmän terminologi. I samband med variabelbyte vid beräkning av integraler har vi en avbildning mellan två mängder A och B, dvs

Läs mer

Kap. 8 Relationer och funktioner

Kap. 8 Relationer och funktioner Begrepp och egenskaper: Kap. 8 elationer och funktioner relation, relationsgraf och matris, sammansatt relation reflexivitet, symmetri, anti-symmetri, transitivitet ekvivalensrelation, partialordning,

Läs mer

Föreläsning 5 Innehåll

Föreläsning 5 Innehåll Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur

Läs mer

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

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

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

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

Asymptotisk komplexitetsanalys

Asymptotisk komplexitetsanalys 1 Asymptotisk komplexitetsanalys 2 Lars Larsson 3 4 VT 2007 5 Lars Larsson Asymptotisk komplexitetsanalys 1 Lars Larsson Asymptotisk komplexitetsanalys 2 et med denna föreläsning är att studenterna skall:

Läs mer

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

Föreläsningsanteckningar och övningar till logik mängdlära Inledande matematisk analys tma970, 010, logik, mängdlära Föreläsningsanteckningar och övningar till logik mängdlära Dessa öreläsningsanteckningar kompletterar mycket kortattat kap 0 och appendix B i Persson/Böiers,

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 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek

Föreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek Föreläsning 5 Innehåll Val av algoritm och datastruktur Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Det räcker inte med att en algoritm är korrekt

Läs mer

Föreläsning 8 i kursen Ma III, #IX1305, HT 07. (Fjärde föreläsningen av Bo Åhlander)

Föreläsning 8 i kursen Ma III, #IX1305, HT 07. (Fjärde föreläsningen av Bo Åhlander) Föreläsning 8 i kursen Ma III, #IX1305, HT 07. (Fjärde föreläsningen av Bo Åhlander) Böiers 5.3 Relationer. Vi har definierat en funktion f: A B som en regel som kopplar ihop ett element a A, med ett element

Läs mer

Föreläsning 1: Tal, mängder och slutledningar

Föreläsning 1: Tal, mängder och slutledningar Föreläsning 1: Tal, mängder och slutledningar Tal Tal är organiserade efter några grundläggande egenskaper: Naturliga tal, N De naturliga talen betecknas med N och innehåller alla positiva heltal, N =

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

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

(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element. Grunder i matematik och logik (2017) Mängdlära Marco Kuhlmann 1 Grundläggande begrepp Mängder och element 2.01 En mängd är en samling objekt. Två standardexempel är mängden av naturliga tal (N) och mängden

Läs mer

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl 1 Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den juni 015, kl 1.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel

Läs mer

Block 1 - Mängder och tal

Block 1 - Mängder och tal Block 1 - Mängder och tal Mängder Mängder och element Venndiagram Talmängder Heltalen Z Rationella talen Q Reella talen R Räkning med tal. Ordning av talen i R Intervall Absolutbelopp Olikheter 1 Prepkursen

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

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

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

Funktioner och kombinatoriska tillämpningar. Mars

Funktioner och kombinatoriska tillämpningar. Mars Mars 27 2006 Lådprincip Om kn + 1 eller fler kulor skall läggas i n lådor då måste någon låda innehålla minst k + 1 kulor. Exempel I en liksidig triangel med sidan 1 väljes 5 punkter. Visa att det finns

Läs mer

Lösning av några vanliga rekurrensekvationer

Lösning av några vanliga rekurrensekvationer 1 (8) Lösning av några vanliga rekurrensekvationer Rekursiv beräkning av X n En rekursiv funktion som beräknar x n genom upprepad multiplikation, baserat på potenslagarna X 0 = 1 X n+1 = X X n float pow(float

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

Block 1 - Mängder och tal

Block 1 - Mängder och tal Block 1 - Mängder och tal Mängder Mängder och element Venndiagram Delmängder och äkta delmängder Union och snittmängd Talmängder Heltalen Z Rationella talen Q Reella talen R Räkning med tal. Ordning av

Läs mer

Kinesiska restsatsen

Kinesiska restsatsen Matematik, KTH Bengt Ek juli 2017 Material till kurserna SF1679 och SF1688, Diskret matematik: Kinesiska restsatsen Vi vet att för varje m Z + och varje a Z, ges alla x Z som uppfyller x a (mod m) av x

Läs mer

MS-A0409 Grundkurs i diskret matematik I

MS-A0409 Grundkurs i diskret matematik I MS-A0409 Grundkurs i diskret matematik I G. Gripenberg Aalto-universitetet oktober 014 G. Gripenberg (Aalto-universitetet) MS-A0409 Grundkurs i diskret matematik I oktober 014 1 / 44 Mängder (naiv, inte

Läs mer

Mängder. 1 Mängder. Grunder i matematik och logik (2015) 1.1 Grundläggande begrepp. 1.2 Beskrivningar av mängder. Marco Kuhlmann

Mängder. 1 Mängder. Grunder i matematik och logik (2015) 1.1 Grundläggande begrepp. 1.2 Beskrivningar av mängder. Marco Kuhlmann Marco Kuhlmann 1 Diskret matematik handlar om diskreta strukturer. I denna lektion kommer vi att behandla den mest elementära diskreta strukturen, som alla andra diskreta strukturer bygger på: mängden.

Läs mer

Relationer och funktioner

Relationer och funktioner Relationer och funktioner Joakim Nivre Uppsala universitet Institutionen för lingvistik och filologi Översikt Relationer: Binära relationer på mängder Mängd-, graf- och matrisnotation Egenskaper hos relationer

Läs mer

MS-A0409 Grundkurs i diskret matematik I

MS-A0409 Grundkurs i diskret matematik I MS-A0409 Grundkurs i diskret matematik I G. Gripenberg Aalto-universitetet oktober 04 G. Gripenberg (Aalto-universitetet) MS-A0409 Grundkurs i diskret matematik I oktober 04 / 45 Mängder och logik Relationer

Läs mer

Diskret matematik, lektion 2

Diskret matematik, lektion 2 Diskret matematik, lektion Uppgifter med (*) är överkurs, och potentiellt lite klurigare. Ni behöver inte kunna lösa dessa. 1 Uppgifter 1. Låt A = {1,, 3}, B = {a, b}. Vilka element finns med i... a) A

Läs mer

Algoritmer och effektivitet. Föreläsning 5 Innehåll. Analys av algoritmer. Analys av algoritmer Tidskomplexitet. Algoritmer och effektivitet

Algoritmer och effektivitet. Föreläsning 5 Innehåll. Analys av algoritmer. Analys av algoritmer Tidskomplexitet. Algoritmer och effektivitet Föreläsning 5 Innehåll Algoritmer och effektivitet Algoritmer och effektivitet Att bedöma, mäta och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Undervisningsmoment: föreläsning 5, övningsuppgifter

Läs mer

TDDI16 Datastrukturer och algoritmer. Algoritmanalys

TDDI16 Datastrukturer och algoritmer. Algoritmanalys TDDI16 Datastrukturer och algoritmer Algoritmanalys 2017-08-28 2 Översikt Skäl för att analysera algoritmer Olika fall att tänka på Medelfall Bästa Värsta Metoder för analys 2017-08-28 3 Skäl till att

Läs mer

Definitionsmängd, urbild, domän

Definitionsmängd, urbild, domän 5B1493, lekt 5, HT06 Funktioner Definition av begreppet Definition: Låt X och Y vara två mängder. En funktion f av typ X Y är detsamma som en delmängd av X Y, sådan att 1. Om (x, y) och (x, z) f, så är

Läs mer

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet Dagens upplägg Antalet element i en mängd Kardinalitet Humes princip Cantors teorem Den universella mängden Några mängdteoretiska paradoxer

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

MA2047 Algebra och diskret matematik

MA2047 Algebra och diskret matematik MA2047 Algebra och diskret matematik Något om logik och mängdlära Mikael Hindgren 5 september 2018 Utsagor Utsaga = Påstående som har sanningsvärde Utsagan kan vara sann (S) eller falsk (F) öppen eller

Läs mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

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 25 oktober 2005 Datavetenskap TDA180/TDA181/INN110 Tentamen i kurserna Beräkningsmodeller (TDA181/INN110) och Grundläggande Datalogi (TDA180) Onsdagen

Läs mer

Sådana avbildningar kallar vi bijektioner mellan A och B (eller från A till B).

Sådana avbildningar kallar vi bijektioner mellan A och B (eller från A till B). BIJEKTION, INJEKTION, SURJEKTION Allmän terminologi. I samband med variabelbyte vid beräkning av integraler har vi en avbildning mellan två mängder A och B, dvs en funktion f : A B. Vi har oftast krav

Läs mer

Föreläsning 2 Datastrukturer (DAT037)

Föreläsning 2 Datastrukturer (DAT037) Föreläsning 2 Datastrukturer (DAT037) Fredrik Lindblad 1 1 november 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

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

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 8 Anton Grensjö grensjo@csc.kth.se 10 november 2015 Anton Grensjö ADK Övning 8 10 november 2015 1 / 34 Översikt Kursplanering F21: Introduktion till komplexitet

Läs mer

Begreppen "mängd" och "element" är grundläggande begrepp i matematiken.

Begreppen mängd och element är grundläggande begrepp i matematiken. MÄNGDER Grundläggande begrepp och beteckningar Begreppen "mängd" och "element" är grundläggande begrepp i matematiken. Vi kan beskriva (ange, definiera) en mängd som innehåller ändligt många element genom

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

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

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

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

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

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 12 Anton Grensjö grensjo@csc.kth.se 10 december 2015 Anton Grensjö ADK Övning 12 10 december 2015 1 / 19 Idag Idag Komplexitetsklasser Blandade uppgifter

Läs mer

Lösningsförslag för tentamen i Datastrukturer (DAT037) från

Lösningsförslag för tentamen i Datastrukturer (DAT037) från Lösningsförslag för tentamen i Datastrukturer (DAT7) från --9 Nils Anders Danielsson. Träd- och köoperationerna har alla tidskomplexiteten O(log s), där s är antalet element i trädet/kön (notera att jämförelser

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 7 Anton Grensjö grensjo@csc.kth.se 14 oktober 2015 Anton Grensjö ADK Övning 7 14 oktober 2015 1 / 28 Översikt Kursplanering Ö6: Algoritmkonstruktion F19:

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

Linjära ekvationssystem

Linjära ekvationssystem Föreläsning 3 Linjära ekvationssystem Gausselimination Vanlig gausselimination för det linjära ekvationssystemet Ax = b utgår från den utökade matrisen [A b] och applicerar elementära radoperationer på

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

(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

Matematiska strukturer - Satser

Matematiska strukturer - Satser Matematiska strukturer - Satser April 2, 2018 I detta dokument har jag samlat och översatt de flesta satser som ingår i kursen Matematiksa Strukturer (FMAN65) från kursboken Set Theory and Metric Spaces

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift

Läs mer

Grundidén är att våra intuitiva rationella tal (bråk) alltid kan fås som lösningar till ekvationer av typen α ξ = β, där α och β är tal Z och α 0.

Grundidén är att våra intuitiva rationella tal (bråk) alltid kan fås som lösningar till ekvationer av typen α ξ = β, där α och β är tal Z och α 0. 5B2710, lekt 4, HT07 Konstruktion av de rationella talen Q (AEE 2.3) Grundidén är att våra intuitiva rationella tal (bråk) alltid kan fås som lösningar till ekvationer av typen α ξ = β, där α och β är

Läs mer

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska Matlab-föreläsning 3 (4), 17 september, 2015 Innehåll Sekvenser (från förra föreläsningen) Upprepning med for-slingor och while-slingor Villkorssatser med if - then -else - Logik Sekvenser - repetion från

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

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

12. CANTORS PARADIS. KORT ORIENTERING OM MÄNGDTEORI.

12. CANTORS PARADIS. KORT ORIENTERING OM MÄNGDTEORI. 75 12. CANTORS PARADIS. KORT ORIENTERING OM MÄNGDTEORI. I slutet av 1800-talet uppfann Cantor mängdteorin som ett hjälpmedel vid sitt arbete med integrationsteori. Med en mängd menade Cantor "vilken som

Läs mer

10.2. Underrum Underrum 89

10.2. Underrum Underrum 89 10.2 Underrum 89 10.2. Underrum Definition 10.12. En icke-tom delmängd U i ett linjärt rum V kallas ett underrum i V om för arje u, U och arje reellt tal λ gäller att 1. u + U. 2. λu U. Anmärkning 10.13.

Läs mer

KOMBINATORIK OCH BINOMIALSATSEN

KOMBINATORIK OCH BINOMIALSATSEN KOMBINATORIK OCH BINOMIALSATSEN PERMUTATIONER (Ordnade listor med n element, så kallade n- tipplar) 1. (permutationer av n olika element) Vi betraktar ordnade listor med n olika element,,, Varje bestämd

Läs mer

Föreläsning 9: Talteori

Föreläsning 9: Talteori DD2458, Problemlösning och programmering under press Föreläsning 9: Talteori Datum: 2009-11-11 Skribent(er): Ting-Hey Chau, Gustav Larsson, Åke Rosén Föreläsare: Fredrik Niemelä Den här föreläsningen handlar

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

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd Innehåll Föreläsning 12 Sökträd Sökning Sökning och Sökträd 383 384 Binärt sökträd Används för sökning i linjära samlingar av dataobjekt, specifikt för att konstruera tabeller och lexikon. Organisation:

Läs mer

Material till kursen SF1679, Diskret matematik: Om urvalsaxiomet mm. Axiom som är ekvivalenta med urvalsaxiomet

Material till kursen SF1679, Diskret matematik: Om urvalsaxiomet mm. Axiom som är ekvivalenta med urvalsaxiomet Matematik, KTH Bengt Ek december 2017 Material till kursen SF1679, Diskret matematik: Om urvalsaxiomet mm Vi har tidigare nämnt Zermelo-Fraenkels axiom för mängdläran, de upprepas på sista sidan av dessa

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

1 Att läsa matematik.

1 Att läsa matematik. 1 Att läsa matematik. Precis som vid all annan läsning som betyder något skall matematik läsas aktivt. Detta innebär olika saker för olika personer. För en del kanske det betyder att visualisera de idéer

Läs mer

Tentamen Datastrukturer D DAT 035/INN960

Tentamen Datastrukturer D DAT 035/INN960 Tentamen Datastrukturer D DAT 035/INN960 22 december 2006 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.) Betygsgränser,

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre

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

Datastrukturer. föreläsning 6. Maps 1

Datastrukturer. föreläsning 6. Maps 1 Datastrukturer föreläsning 6 Maps 1 Avbildningar och lexika Maps 2 Vad är ett lexikon? Namn Telefonnummer Peter 031-405937 Peter 0736-341482 Paul 031-405937 Paul 0737-305459 Hannah 031-405937 Hannah 0730-732100

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

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

MA2047 Algebra och diskret matematik

MA2047 Algebra och diskret matematik MA2047 Algebra och diskret matematik Något om kombinatorik Mikael Hindgren 24 september 2018 Vad är kombinatorik? Huvudfråga: På hur många sätt kan en viss operation utföras? Några exempel: Hur många gånger

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

Erfarenheter från labben

Erfarenheter från labben Erfarenheter från labben Bra Jobbat! Lite ont om plats... Parprogrammering? Skillnad mellan program och funktion! Skillnad mellan uttryck och kommando! Välj bra variabelnamn! Vad göra om det blir fel?

Läs mer

Föreläsning 1. Introduktion. Vad är en algoritm?

Föreläsning 1. Introduktion. Vad är en algoritm? Några exempel på algoritmer. Föreläsning 1. Introduktion Vad är en algoritm? 1. Häll 1 dl havregryn och ett kryddmått salt i 2 1 2 dl kallt vatten. Koka upp och kocka gröten ca 3minuter. Rör om då och

Läs mer

Begreppen "mängd" och "element" är grundläggande begrepp i matematiken.

Begreppen mängd och element är grundläggande begrepp i matematiken. MÄNGDER Grundläggande begrepp och beteckningar egreppen "mängd" och "element" är grundläggande begrepp i matematiken. Vi kan beskriva (ange, definiera) en mängd som innehåller ändligt många element genom

Läs mer

Föreläsning 5. Rekursion

Föreläsning 5. Rekursion Föreläsning 5 Rekursion Föreläsning 5 Algoritm Rekursion Rekursionsträd Funktionsanrop på stacken Binär sökning Problemlösning (möjliga vägar) Algoritm En algoritm är ett begränsat antal instruktioner/steg

Läs mer

Metriska rum, R och p-adiska tal

Metriska rum, R och p-adiska tal Metriska rum, R och p-adiska tal Tony Johansson 1MA239: Specialkurs i Matematik II Uppsala Universitet VT 2018 När vi säger avståndet mellan punkt X och punkt Y där X och Y är punkter i planet (säg) är

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet

Tommy Färnqvist, IDA, Linköpings universitet Föreläsning 8 Sortering och urval TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 1 oktober 2013 Tommy Färnqvist, IDA, Linköpings universitet 8.1 Innehåll Innehåll 1 Sortering

Läs mer

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet Föreläsningsanteckningar Linjär Algebra II Lärarlyftet Per Alexandersson Föreläsning I Timme I: Repetition av matriser, linjära ekvationssystem Linjärt ekvationssystem: x + y + z 3w = 3 2x + y + z 4w =

Läs mer

Föreläsning 5 Datastrukturer (DAT037)

Föreläsning 5 Datastrukturer (DAT037) Föreläsning 5 Datastrukturer (DAT037) Nils Anders Danielsson, Fredrik Lindblad 2016-11-14 Förra gången: Cirkulära arrayer Prioritetskö Binära heapar Leftistheapar merge Det verkar inte gå att slå ihop

Läs mer

Pseudokod Analys av algoritmer Rekursiva algoritmer

Pseudokod Analys av algoritmer Rekursiva algoritmer Föreläsning 7 Pseudokod Analys av algoritmer Rekursiva algoritmer För att beskriva algoritmer kommer vi använda oss av en pseudokod (låtsas programspråk) definierad i kursboken Appendix C. Vi går igenom

Läs mer

Tentamen Datastrukturer, DAT037 (DAT036)

Tentamen Datastrukturer, DAT037 (DAT036) Tentamen Datastrukturer, DAT037 (DAT036) Datum och tid för tentamen: 2017-01-11, 14:00 18:00. Ansvarig: Fredrik Lindblad. Nås på tel nr. 031-772 2038. Besöker tentamenssalarna ca 15:00 och ca 17:00. Godkända

Läs mer

Komplexitetsklasser och repetition

Komplexitetsklasser och repetition Algoritmer, datastrukturer och komplexitet, hösten 2016 Uppgifter till övning 12 Komplexitetsklasser och repetition Uppgifter på komplexitetsklasser co-np-fullständighet Ett diskret tekniskt diagnosproblem

Läs mer

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Introduktion till programmering SMD180. Föreläsning 9: Tupler Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]

Läs mer

Föreläsning 7. Felrättande koder

Föreläsning 7. Felrättande koder Föreläsning 7 Felrättande koder Antag att vi vill skicka ett meddelande som består av bokstäver a,b,c,d. Vi kan koda a,b,c,d. Antag att det finns en viss sannolikhet att en bit i ett meddelande som skickas

Läs mer

Rekursion och induktion för algoritmkonstruktion

Rekursion och induktion för algoritmkonstruktion Informationsteknologi Tom Smedsaas 22 januari 2006 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 som

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

Träd och koder. Anders Björner KTH

Träd och koder. Anders Björner KTH 27 Träd och koder Anders Björner KTH 1. Inledning. Det är i flera sammanhang viktigt att representera information digitalt (d.v.s omvandla till sviter av nollor och ettor). Beroende på vilka villkor som

Läs mer

Föreläsning 9 Exempel. Intervallhalveringsmetoden. Intervallhalveringsmetoden... Intervallhalveringsmetoden...

Föreläsning 9 Exempel. Intervallhalveringsmetoden. Intervallhalveringsmetoden... Intervallhalveringsmetoden... Föreläsning 9 Intervallhalveringsmetoden Intervallhalveringsmetoden Newton-Raphsons metod Mer om rekursion Tidskomplexitet Procedurabstraktion Representation Bra om ni läst följande avsnitt i AS: Procedures

Läs mer