powerpoint presentationarielpro/15251f15/slides/lec07.pdfΒ Β· linear vs. quadratic β’ n2 13 1 10...
TRANSCRIPT
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