PowerPoint Presentationarielpro/15251f15/slides/lec07.pdfย ยท Linear vs. quadratic โข n2 13 1 10...
Transcript of PowerPoint Presentationarielpro/15251f15/slides/lec07.pdfย ยท Linear vs. quadratic โข n2 13 1 10...
CMU 15-251
Time complexity
Teachers:
Anil Ada
Ariel Procaccia (this time)
Course overview
2
The big O
3
Adding two ๐-bit numbers
4
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*+
Adding two ๐-bit numbers
5
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
+
Adding two ๐-bit numbers
6
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
+
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Adding two ๐-bit numbers
7
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
+
Time complexity
โข ๐ ๐ =๐
โข
โข
8
A great idea
โข
โข ๐ ๐๐
โข ๐๐ ๐ โ ๐
โข ๐โฒ ๐โฒ
โข ๐โฒ ๐โฒ๐
9
A great idea
โข
โข
10
๐
A great idea
โข
11
๐
Multiplying two ๐-bit numbers
12
ร
๐2
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
Linear vs. quadratic
โข ๐n2
โข
โข
13
1
10๐2
10๐
0 2000
4000
100
1000
2000
3000
Nursery school addition
โข ๐ ๐ ๐ ๐๐
โข ๐ ๐
โข ๐ = 00โฏ0
โข ๐ = 11โฏ1
1. ๐ log ๐ 2
2. ๐๐ log ๐
3. ๐๐2
4. ๐๐2๐
14
Worst case time
15
๐(๐) ๐ด =
๐ฅ๐
๐ด ๐ฅ
Kindergarten multiplication
โข ๐ ๐ ๐๐ ๐ ๐ โ 1
โข ๐ ๐ = ๐๐2๐
โข
โข
16
More formally: big ๐โข ๐: โ โ โ๐(๐) = ๐ ๐
๐
๐ ๐ ๐ โค ๐๐
โข
๐
17
๐
More formally: ฮฉ
โข ๐: โ โ โ๐(๐) = ฮฉ ๐
๐
๐ ๐ ๐ โฅ ๐๐
โข
๐
18
๐
More formally: ฮ
โข ๐: โ โโ ๐ ๐ = ฮ ๐๐ ๐ = ๐(๐)๐ ๐ = ฮฉ(๐)
โข ๐
19
๐
More formally and generally
โข ๐ ๐ = ๐ ๐ ๐ ๐
๐๐ ๐ โค ๐ โ ๐(๐)
โข ๐ ๐ = ฮฉ ๐ ๐ ๐
๐๐ ๐ โฅ ๐ โ ๐(๐)
โข ๐ ๐ = ฮ(๐) ๐ ๐ = ๐ ๐ ๐ ๐ ๐ =
ฮฉ ๐ ๐
20
Exercises
โข ๐4 + 3๐ + 22 = O(๐4)
โข ๐4 + 3๐ + 22 = ฮฉ(๐4 log ๐)
โข
1. ln ๐ = ๐ log ๐
2. ln ๐ = ฮฉ log ๐
21
Exercises
โข log ๐! = ?
1. ฮ ๐
2. ฮ(๐ log ๐)
3. ฮ ๐2
4. ฮ 2n
โข
1. ๐ = ๐(๐) ๐ = ๐ โ โ ๐ = ๐(โ)
2. ๐ = ๐(โ) ๐ = ๐ โ โ ๐ = ๐(๐)
22
Names for growth rates
โข ๐ ๐ = ๐ ๐
โข ๐ ๐ = ๐ ๐2
โข ๐ โ โ
๐ ๐ = ๐ ๐๐
o 13๐28 + 11๐17 + 2
23
Names of growth rates
โข ๐ โ โ๐ ๐ = ๐ ๐๐
o ๐ ๐ = ๐2๐ = ๐(3๐)
โข ๐ ๐ = ๐(log ๐)
o
o
24
Limits of the possible
25
104 108
108
1016
๐
๐2
๐32๐
Two similar problems
โข
o
o
o
โข
o ๐!
o 2๐
o 1.657๐
26
Two similar problems
โข
o
o
o
โข
๐ ๐2
โข
27
Polynomial time
28
29
Dragon Age: Inquisition
Representation
โข
โข
o ๐ 1,โฆ , ๐ ๐ฃ1, โฆ , ๐ฃ๐๐ค1, โฆ , ๐ค๐ ๐ต ๐
o
o ๐ ๐โ๐๐ค๐ โค ๐ต ๐โ๐ ๐ฃ๐ โฅ ๐
30
Representation*
โข
o ๐ ร ๐ต ๐ด
o ๐ด(๐, ๐) = max{๐ด ๐ โ 1, ๐ , ๐ด ๐ โ 1, ๐ โ ๐ค๐ + ๐ฃ๐}
31
1 4 52 3 23 5 2
๐ต = 5
1 2 3 4 5123
0 0 0 0 40 3 3 3 40 5 5 8 8
Representation
โข
๐(๐๐ต)
โข
o 2๐ โ max{log ๐ต, log ๐}
o
โข
o 2๐ โ max{๐ต, ๐}
o
32
Cool growth rates: 2stack
โข 2STACK 0 = 1
โข 2STACK ๐ = 2
โข
o 2STACK 1 = 2
o 2STACK 2 = 4
o 2STACK 3 = 16
o 2STACK 4 = 65536
o 2STACK 5 = yikes!
33
2222222
2
2STACK(๐ โ 1)2
Cool growth rates: logโ
โข logโ ๐ =๐ โค 1
โข
o 2STACK 1 = 2 logโ 2 = 1
o 2STACK 2 = 4 logโ 4 = 2
o 2STACK 3 = 16 logโ 16 = 3
o 2STACK 4 = 65536 logโ 65536 = 4
o 2STACK 5 = yikes! logโ yikes! = 5
34
Cool growth rates: logโ
โข logโ
โข ๐(๐ log ๐ 2logโ ๐)
35
What we have learned
โข
o
o
โข
o
o
36