Datastrukturer och algoritmer

Relevanta dokument
Analys av algoritmer. Beräkningsbar/hanterbar. Stora Ordo. O(definition) Datastrukturer och algoritmer. Varför analysera algoritmer?

Tommy Färnqvist, IDA, Linköpings universitet

ENDIMENSIONELL ANALYS B1 FÖRELÄSNING VI. Föreläsning VI. Mikael P. Sundqvist

Anmärkning: I några böcker använder man följande beteckning ]a,b[, [a,b[ och ]a,b] för (a,b), [a,b) och (a,b].

101. och sista termen 1

Design mönster. n n n n n n. Command Active object Template method Strategy Facade Mediator

Föreläsning 10: Kombinatorik

vara ett polynom där a 0, då kallas n för polynomets grad och ibland betecknas n grad( P(

Asymptotisk komplexitetsanalys

c n x n, där c 0, c 1, c 2,... är givna (reella eller n=0 c n x n n=0 absolutkonvergent om x < R divergent om x > R n n lim = 1 R.

MS-A0409 Grundkurs i diskret matematik Sammanfattning, del I

Uppgifter 3: Talföljder och induktionsbevis

Tentamenskrivning, , kl SF1625, Envariabelanalys för CINTE1(IT) och CMIEL1(ME ) (7,5hp)

H1009, Introduktionskurs i matematik Armin Halilovic POLYNOM, POLYNOMDIVISION, ALGEBRAISKA EKVATIONER, PARTIALBRÅKSUPPDELNING. vara ett polynom där a

Föreläsning G04: Surveymetodik

Räkning med potensserier

Statistisk analys. Vilka slutsatser kan dras om populationen med resultatet i stickprovet som grund? Hur säkra uttalande kan göras om resultatet?

Borel-Cantellis sats och stora talens lag

Lösningar och kommentarer till uppgifter i 1.1

Induktion LCB Rekursion och induktion; enkla fall. Ersätter Grimaldi 4.1

b 1 och har för olika värden på den reella konstanten a.

Fourierserien. fortsättning. Ortogonalitetsrelationerna och Parsevals formel. f HtL g HtL t, där T W ã 2 p, PARSEVALS FORMEL

Genomsnittligt sökdjup i binära sökträd

Datastrukturer och algoritmer

Kompletterande kurslitteratur om serier

1. BERÄKNING AV GRÄNSVÄRDEN ( då x 0 ) MED HJÄLP AV MACLAURINUTVECKLING. n x

Inledande matematisk analys. 1. Utred med bevis vilket eller vilka av följande påståenden är sana:

Tenta i MVE025/MVE295, Komplex (matematisk) analys, F2 och TM2/Kf2

Vad är det okända som efterfrågas? Vilka data är givna? Vilka är villkoren?

REGULJÄRA SPRÅK (8p + 6p) 1. DFA och reguljära uttryck (6 p) Problem. För följande NFA över alfabetet {0,1}:

Repetition: Enkel sampling. Systemplanering VT11. Repetition: Enkel sampling. Repetition: Enkel sampling

MS-A0409 Grundkurs i diskret matematik I

Inledande matematisk analys (TATA79) Höstterminen 2016 Föreläsnings- och lekionsplan

Induktion och Binomialsatsen. Vi fortsätter att visa hur matematiska påståenden bevisas med induktion.

SANNOLIKHETER. Exempel. ( Tärningskast) Vi har sex möjliga utfall 1, 2, 3, 4, 5 och 6. Därför är utfallsrummet Ω = {1, 2, 3, 4, 5,6}.

Operativsystem - Baklås

TAMS15: SS1 Markovprocesser

Linjär Algebra (lp 1, 2016) Lösningar till skrivuppgiften Julia Brandes

Sannolikheten. met. A 3 = {2, 4, 6 }, 1 av 11

Uppsala Universitet Matematiska Institutionen Bo Styf. Genomgånget på föreläsningarna Föreläsning 26, 9/2 2011: y + ay + by = h(x)

SAMMANFATTNING TAMS79 Matematisk statistik, grundkurs

TNA001 Matematisk grundkurs Övningsuppgifter

2. Konfidensintervall för skillnaden mellan två proportioner.

Tolkning av sannolikhet. Statistikens grunder, 15p dagtid. Lite mängdlära. Lite mängdlära, forts. Frekventistisk n A /n P(A) då n

Ekvationen (ekv1) kan beskriva en s.k. stationär tillstånd (steady-state) för en fysikalisk process.

Trigonometriska polynom

Digitalteknik F6. Några sammansatta digitala komponenter och lite designmetodik. Digitalteknik F6 bild 1

Grundläggande matematisk statistik

Del A. x 0 (1 + x + x 2 /2 + x 3 /6) x x 2 (1 x 2 /2 + O(x 4 )) = x3 /6 + O(x 5 ) (x 3 /6) + O(x 4 )) = 1 + } = 1

Sannolikhetslära. c 2015 Eric Järpe Högskolan i Halmstad

Datorövning 2 Fördelningar inom säkerhetsanalys

Intervallskattning. c 2005 Eric Järpe Högskolan i Halmstad. Antag att vi har ett stickprov x 1,..., x n på X som vi vet är N(µ, σ) men vi vet ej

Återanvändning. Två mekanismer. Nedärvning av egenskaper (inheritance) Objekt komposition

Föreläsning F3 Patrik Eriksson 2000

. Mängden av alla möjliga tillstånd E k kallas tillståndsrummet.

Egna funktioner. Vad är sin? sin är namnet på en av många inbyggda funktioner i Ada (och den återfinns i paketet Ada.Numerics.Elementary_Functions)

Parsningsalgoritmer. Parsningsalgoritmer: inledning. OH-serie 1: introduktion. Parsningalgoritmer I. Algoritmer. Vad är parsning? Vad är en algoritm?

= (1 1) + (1 1) + (1 1) +... = = 0

Digital signalbehandling Fönsterfunktioner

Armin Halilovic: EXTRA ÖVNINGAR

Följande begrepp används ofta vid beskrivning av ett statistiskt material:

Vikingen FutureLook. Delphi Finansanalys AB

RESTARITMETIKER. Avsnitt 4. När man adderar eller multiplicerar två tal som t ex

Introduktion till statistik för statsvetare

LÖSNINGAR TILL. Räkningar: (z i z) 2 = , Δ = z = 1 n. n 1. Konfidensintervall:

1. Test av anpassning.

Bertrands postulat. Kjell Elfström

x 1 x 2 x 3 x 4 x 5 x 6 HL Z x x x

MA2018 Tillämpad Matematik III-Statistik, 3.5hp,

Datorövning 2 Fördelningar inom säkerhetsanalys

vara ett polynom där a 0, då kallas n för polynomets grad och ibland betecknas n = grad( P(

Vid mer än 30 frihetsgrader approximeras t-fördelningen med N(0; 1). Konfidensintervallet blir då

DEL I. Matematiska Institutionen KTH

Av Henrik 01denburg\ Radikaler. För att lösa ekv.: x n = a (n helt, pos. tal) konstruerar man kurvan

Statistik. Språkligt och historiskt betyder statistik ungefär sifferkunskap om staten

Befolkning per födelseland Reviderad metod vid framskrivningar. Version: 2

F4 Matematikrep. Summatecken. Summatecken, forts. Summatecken, forts. Summatecknet. Potensräkning. Logaritmer. Kombinatorik

Svar till tentan

Geometriska summor. Aritmetiska summor. Aritmetiska talföljder kallar vi talföljder som. Geometriska talföljder kallar vi talföljder som

Tentamen i Statistik STG A01 (12 hp) 5 mars 2010, kl

Kontextfri grammatik (CFG)

Föreläsningar 7,8 sept 24, sept 26 v 39). delvis DD Chapter 6.

LINJÄR ALGEBRA II LEKTION 4

För att skatta väntevärdet för en fördelning är det lämpligt att använda Medelvärdet. E(ξ) =... = µ

Digital signalbehandling Alternativa sätt att se på faltning

ÖPPNA OCH SLUTNA MÄNGDER. KOMPAKTA MÄNGDER. DEFINITIONSMÄNGD. INLEDNING. Några viktiga andragradskurvor: Cirkel, ellips, hyperbel och parabel.

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 4 (del 1)

1. (a) Eftersom X och Y har samma fördelning så har de även samma väntevärde och standardavvikelse. E(X 2 ) = k

Minsta kvadrat-metoden, MK. Maximum likelihood-metoden, ML. Medelfel. E(X i ) = µ i (θ) MK-skattningen av θ fås genom att minimera

S0005M V18, Föreläsning 10

Datastrukturer och algoritmer

θx θ 1 om 0 x 1 f(x) = 0 annars

( ) ( ) Kap Kolligativa egenskaper + fasjämvikter för 2-komponentsystem 5B.2/5.5 Kolligativa egenskaper R T

Tentamen i Statistik, STA A10 och STA A13 (9 poäng) 26 mars 2004, klockan

LINJÄRA DIFFERENTIALEKVATIONER AV HÖGRE ORDNINGEN

Föreläsning G70 Statistik A

Lösningar till tentamensskrivning i kompletteringskurs Linjär Algebra, SF1605, den 10 januari 2011,kl m(m + 1) =

4. Uppgifter från gamla tentor (inte ett officiellt urval) 6

Ca m 3 = ton. Masshantering Sven Brodin. Dessa mängder ska Stockholms Stad transportera varje månad.

UPPSKATTNING AV INTEGRALER MED HJÄLP AV TVÅ RIEMANNSUMMOR. Med andra ord: Vi kan approximera integralen från båda sidor

Transkript:

Iehåll Föreläsig 6 Asymtotisk aalys usammafattig experimetell aalys uasymtotisk aalys Lite matte Aalysera pseudokode O-otatio ostrikt o Okulärbesiktig 2 Mäta tidsåtgåge uhur ska vi mäta tidsåtgåge? Experimetell aalys o Implemetera algoritme o Kör programmet med varierade datamägd Storlek Sammasättig o Aväd metoder för tidtagig så som System.curretTimeMillis() o Plotta uppmätt data Icke haterbara - superpolyom Haterbara - polyom Beräkigsbar/haterbar Beräkigsbara (!,, ) 1+ 2 +3* Alla (mattematiska)problem Ej beräkigsbara 3 4 Exekverigstider - e dator med 1 MIPS, 1*10 6 op/sek Experimetell aalys N 2 N 5 2 N N N 10 1/10000 1/10 1/1000 2.8 tim. 20 1/2500 3.2 sek. 1 s 3.3 billioer år 50 1/400 5.2 mi. 35.7 år Drygt 10 miljarder ms på e dag 1*10 24 ms seda Big Bag 7000 100 1/100 2.8 tim. 40000 billioer år 18500 300 9/100 28.1 dag. 7500 76800 ubegräsigar med metode Måste implemetera och testa algoritme Svårt att veta om programmet har staat eller fast i beräkigara. T ex. 2; =100 => 40000 billioer år Experimete ka edast utföras på e begräsad mägd av data, ma ka missa viktiga testdata Hårdvara och mjukvara måste vara de samma för alla implemetatioer 5 6

Geerellare metod behövs Asymtotisk aalys usom aväder e högivåbeskrivig av algoritmera istället för e implemetatio av de utar häsy till alla möjliga idata uaalys oberoede av hårdvara och mjukvara uutgår frå pseudokode uräka operatioer Ställ upp ett uttryck för atalet operatioer beroede av problemstorleke uförekla tidsuttrycket uta fram e fuktio som begräsar tidsuttrycket ovaifrå 7 8 Lite matematik behövs Kaske lite mer ulogaritmer log b (xy) = log b (x) + log b (y) log b (x/y) = log b (x) - log b (y) log b (xa) = a log b (x) log b (a) =log a (x)/log a (b) uexpoeter a (b +c ) = a b a c a bc = (a b ) c a b /a c = a (b-c ) b = a log a (b ) b c = a c*log a (b ) 9 10 Och äu mer matte Sista matte för dea gåg usummor är bra att kua Geerell defiitio t i= s f (i) = f (s) + f (s +1) + f (s + 2) +...f (t) Geometrisk utvecklig ( 0 och 0<a 1) i= 0 +1 1- a i =1+ a + a 2 + a 3 +...+ a a = 1- a oväxer expoetiellt uaritmetisk tillväxt, summera alla tal frå 1 t o m 100 i=1 i =1+ 2 + 3+...+ = 2 + 2 +1 1 0 1 2/2 3 11 12

Aalys av algoritmer Mer aalys av algoritmer uprimitiva operatioer Lågivå beräkigar som är i stort sett oberoede av programspråk och ka defiieras i termer av pseudokod: o Aropa e metod/fuktio o Returera frå e metod/fuktio o Utföra e aritmetisk operatio (+, -, ) o Jämföra två tal, etc. o Referera till e/ett variabel/objekt o Idexera i e array uispektera pseudokode och räka atalet primitiva operatioer. uväldig abstraktio, vi bortser frå hårdvara, och att olika operatioer tar olika låg tid, ualterativet är att titta på de verkliga tidera för de olika operatioera Ger e maskiberoede aalys 13 14 Exempel Jämföra T() -ege OH-bild Algorithm arraymax(a,) iput: A array A storig itegers output: The maximum elemet i A curretmax A[0] //1+1 for i 1 to -1 do //1+(1+1)+(-1)*([]+1) if curretmax < A[i] the //1+1+1+1 curretmax A[i] //1+1+1 retur curretmax //1 urita kurvor för T() och jämför svårt ualterativet är asymtotisk otatio/aalys Förekla jämförelse geom att avruda T() 1.000001 1 3 2 2 T max ()= 3+2+(-1)*8 +1 = 10-4 T mi ()= 3+2+(-1)*5 +1 = 7-1 15 16 Stora Ordo O(defiitio) f() c*g() => f() är av O(g()) cg() f() Defiitio: Givet fuktioera f() och g() säger vi att f() är O(g()) omm f() c*g() för 0 och c >0 och 0 1 0 Storlek på idata 17 18

f() är O(g()) Mer ordo uvarför ite f() O(g()) eller f() O(g()) uborde vara f() tillhör O(g()) ty O(g()) är e mägd fuktioer, ose bilde. Me vi skriver f() är O(g()) uf() = 7-3 hitta e fuktio som begräsar f()? Oädligt måga, hitta de mista Droppa allt utom de ledade terme dvs. lägre ordiges termer och kostater o 7-3 är O() o 8 2 log() + 5 2 + är O( 2 log()) ukostatera c och 0? Vi återkommer 19 20 Specialla klasser av algoritmer ulogaritmiska O(log()) ulijära O() ukvadradiska O( 2 ) upolyoma O( k ); k 1 uexpoetiella O(a ); 1 ulog() <<<< 2 << 3 <<2 uf() = 7-3 är O() Hitta c Exempel f () lim Æ g() +1 Ê 7-3ˆ Ê limá +1= lim Æ Ë 7-3 ˆ Á Æ Ë +1fi c = 8 u 0? 7-3 8; 0 =1? Ok! Alterativ Addera de positiva termera 21 22 O(sammafattig) O(varig) uo() aväds för att utrycka atalet primitiva operatioer som utförs som e fuktio av storleke på idata ue övre gräs för tillväxt uarraymax är e lijär algoritm dvs O() ue algoritm som körs på O() är bättre ä e O( 2 ), me O(log()) är bättre ä O() log() <<<< 2 << 3 <<2 uvar aktsam, stora kostater ställer till det T()=1000000 är e lijär algoritm O(), me i måga fall mycket midre effektiv på data mägder ä e algoritm med T() = 2 2 som är O( 2 ) O-otatioe är e stor föreklig, dvs e övre gräs, det fis släktigar som begräsar edåt Samt tagit bort kopplige till hårdvara. 23 24

O(geväg) O(exempel 1) uma ka måga gåger skippa väge över T() Väldigt grov uppskattig av tillväxte Ma gör e okulärbesiktig av algoritme o Iitiera e array är O() o Nästlade loopar är O()*O()* *O() O( k ) Algorithm prefixav1(x); Iput: A -elemet Array of umbers Output: A -elemet Array of umbers such that A[i] is the average of X[0],,X[i]. Let A be a array of umbers for i 0 to -1 do a 0 for j 0 to i do a a+x[j] A[i] a/(i+1) retur A Aalys: T b () =? T w () =? Me algoritme är av O( 2 ) 25 26 O(exempel 2) Algorithm prefixav1(x); Iput: A -elemet Array of umbers Output: A -elemet Array of umbers such that A[i] is the average of X[0],,X[i]. Let A be a array of umbers s 0 for i 0 to -1 do s s+x[i] A[i] s/(i+1) retur A Aalys: T() =? Me algoritme är av O() 27