• Keine Ergebnisse gefunden

Exercise Class

N/A
N/A
Protected

Academic year: 2022

Aktie "Exercise Class"

Copied!
7
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Eidgen¨ossische

Technische Hochschule Z¨urich

Ecole polytechnique f´ed´erale de Zurich Politecnico federale di Zurigo

Federal Institute of Technology at Zurich

Departement of Computer Science 22. October 2018

Markus P ¨uschel, David Steurer

Algorithms & Data Structures Homework 5 HS 18

Exercise Class

(Room & TA)

: Submitted by:

Peer Feedback by:

Points:

Exercise 5.1 Big-ΘNotation(No bonus points).

1. For the following code fragment, count the number of times the functionfis invoked and express this inΘ-notation as concisely as possible. The functionfdoes not invoke itself.

for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) {

for(int k = j; k < n; k++) { f();

} } }

Solution:We can count the number of iterations by translating the loops into sums:

n−1

X

i=0 n−1

X

j=0 n−1

X

k=j

1 =

n−1

X

i=0 n−1

X

j=0

(n−j) =

n−1

X

i=0

(n+ (n−1) +. . .+ 1).

Recalling that1 + 2 +. . .+n= n(n+1)2 yields

n−1

X

i=0

n(n+ 1)

2 = n(n+ 1) 2

n−1

X

i=0

1 = n(n+ 1)

2 ·n= Θ(n3).

2. For the following code fragment, determine inΘ-notation the number of times the functionf is invoked. The functionfdoes not invoke itself.

for(int i = 1; i <= 2*n; i+=5) { for(int j = 1; j*j <= n; j++) {

f();

}

for(int k = 1; k*k < 1000; k = k+1) { f();

} }

(2)

Solution:For each iteration of theiloop, thejloop hasΘ(√

n)iterations, and thekloop has a constant number of iterations. Therefore, the operation count of the body of theiloop isΘ(√

n). (Thekloop is merely a distraction and does not contribute to the complexity of the problem.) There areΘ(n)iterations of theiloop. Thus the number of invocations isΘ(n√

n).

Exercise 5.2 Relations between big-O,ΩandΘ(No bonus points).

1. Prove or disprove:Ω(n2)∩ O(n3) = Θ(n2)∪Θ(n3)

Solution:We disprove with the following counterexample. Letf =n2logn. Thenf ∈ Ω(n2), f ∈ O(n3), butf /∈Θ(n2), andf /∈Θ(n3).

2. Is there a functionf :N→ R+that is neither inO(n2)nor inΩ(n2)? If no, prove, if yes, give an example.

Solution:Yes. For example let

f(n) =

(n ifnis even, n3 ifnis odd.

3. Prove or disprove: Letf, g∈Θ(h), then|f−g| ∈ O(1).

Solution:We disprove with the following counterexample:f(n) =n2+n,g(n) =n2,h(n) = n2.

4. Is there a non-constant functionf :N→R+withf ∈Θ(1)? If no, prove, if yes, give an example.

Solution:Yes. Letf(x) = 1 + 1n. Then:1< f(n)≤2, sof ∈Θ(1).

5. Prove or disprove: Letf ≤ O(g),g≤ O(h), andh≤ O(f). ThenΘ(f) = Θ(g) = Θ(h). Solution: There exist constants C1, C2, C3 such that f(n) ≤ C1 ·g(n),g(n) ≤ C2 ·h(n), h(n)≤C3·f(n)for alln∈N.

Take someφ∈Θ(f). There exist constantsC, C0such that for alln∈N,φ(n)≤C·f(n)and f(n)≤C0·φ(n). Thenφ(n)≤C·C1·g(n)andg(n)≤C2·C3·C0·φ(n), soφ∈Θ(g). Hence Θ(f)⊂Θ(g).

Similarly, one can show thatΘ(g) ⊂ Θ(h)and thatΘ(h) ⊂ Θ(f). Therefore,Θ(f) = Θ(g) = Θ(h).

Exercise 5.3 Recurrence Relations(1 Point for Part 2).

For this exercise, assume thatnis a power of two, and that a and c are positive constants.

1. Letf : N → R+ be defined asf(1) = c, andf(n) = 2f(n2) +a·n, forn ≥ 2. Assume that n= 2kis a power of2,k∈N∪ {0}. Show that:

f(n) =c·n+a·n·log2n.

(3)

Solution:This problem is easier to solve by substitution (use2kforn).

f(2k) = 2f 2k

2

+a·2k, fork≥1.

And the equation we want to prove becomes:

f(2k) =c·2k+a·2k·k.

We prove it by induction overk. Base case.Letk= 0. Then

f(20) =f(1) =c=c·20+a·20·0.

Induction Hypothesis.We assume that for somek≥0it holds that f(2k) =c·2k+a·2k·k.

Inductive step (k→k+ 1).We know that

f(2k+1) = 2f(2k) +a·2k+1.

Using induction hypothesis forf(2k): f(2k+1) = 2

c·2k+a·2k·k

+a·2k+1

=c·2k+1+a·2k+1·k+a·2k+1

=c·2k+1+a·2k+1(k+ 1),

as desired.

2. Letf :N → R+be defined asf(1) = a, andf(n) = 2f n2

+an2. Assume thatn= 2k is a power of2,k ∈N∪ {0}. Use telescoping to guess a closed form solution forf (and show how you did it), and then prove it by mathematical induction.

Solution:First we telescope to see if we can find a solution:

f(n) = 2f n

2

+an2= 4f n

4

+ 2a n

2 2

+an2 = 8f n

8

+ 4a n

4 2

+ 2a n

2 2

+an2.

Substituten= 2k. f(2k) = 8f(2k−3)+4a

2k−22

+2a 2k−12

+a 2k2

= 8f(2k−3)+a·1

4·4k+a·1

2·4k+a·4k.

We guess a closed form solution:

f(2k) =a·4k

k

X

i=0

2−i=a·2·4k−a·2k.

Let’s prove it by mathematical induction overk.

Base case.Letk= 0.f(20) =f(1) =a=a·2·40−a·40.

(4)

Induction Hypothesis.We assume that there is somek≥0such that f(2k) =a·2·4k−a·2k.

Inductive step (k→k+ 1).

f(2k+1) = 2f 2k+1

2

+a·(2k+1)2= 2f(2k) +a·4k+1.

Using induction hypothesis forf(2k)yields:

f(2k+1) = 2(a·2·4k−a·2k) +a·4k+1 =a·4k+1+a·4k+1−a·2k+1 =a·2·4k+1−a·2k+1, as desired.

Exercise 5.4 Binary Relations(No bonus points).

In discrete mathematics, you learned that arelationρfrom a setAto a setBis a subset of the Cartesian productA×B. If(a, b)∈ρ, thenais related tob. IfA=B, thenρis said to be a relation onA. LetA={f :N→R+}. Recall that0∈/ R+. Then we can define relations onA, associated withO,Ω, andΘin the following way:

ρO ={(f, g) :f ≤ O(g)}

ρ={(f, g) :f ≥Ω(g)}

ρΘ={(f, g) :f = Θ(g)}

1. For each of the relationsρOΘ, determine (a) If it is an equivalence relation. Prove or disprove.

(b) If it is a partial order. Prove or disprove.

Solution:

ρOandρare not equivalence relations. Letf(n) =nandg(n) =n2.(f, g)∈ρO, but(g, f)∈/ ρO, soρOis not symmetric.(g, f)∈ρ, but(f, g)∈/ ρ, soρis not symmetric.

ρΘis an equivalence relation.

It is reflexive: Letf be any function inA. Thenf = Θ(f).

It is transitive: Letf, g, h ∈A, f = Θ(g), g = Θ(h). Then there exist constantsC1, C2, C3, C4

such that∀n∈N,f(n)≤C1·g(n),g(n)≤C2·h(n), andg(n)≤C3·f(n),h(n)≤C4·g(n). Sof(n)≤C1·C2·h(n)andh(n)≤C3·C4·f(n), that isf = Θ(h)and(f, h)∈ρΘ.

It is symmetric: Letf, g∈A,(f, g) ∈ρΘ. Thenf = Θ(g)and there exist constantsC1, C2 such that∀n∈N,f(n)≤C1·g(n)andg(n)≤C2·f(n), sog= Θ(f)and(g, f)∈ρΘ.

None of these are partial orders. Letf(n) =n,g(n) = 2n. Then(f, g)and(g, f)are both inρO, ρ, andρΘ. Butg6=f, so none of the relations are anti-symmetric.

2. We can define a binary relation from a graph: LetG= (V, E)be any directed graph, allowing also loops, i.e. edges(u, u), whereu∈V. ThenρG =Eis a relation onV. (Recall thatE ⊂V ×V).

Similarly, we can define a graph from a binary relation: LetρG be a relation on V. ThenG = (V, ρG)is a directed graph, possibly with loops.

(5)

For each of the following graphsG, what are the properties (reflexivity, symmetricity, antisym- metricity, transitivity) of its corresponding relation, ρG? Arrows represent directed edges. If a line has two arrows, it represents two directed edges.

• Graph A

A B

C D

E

F G

Solution:Every vertex has a loop soρGis reflexive. It is symmetric, but it is not transitive (B, A),(A, D)∈Ebut(B, D)∈/ E.

• Graph B

A B

C D

E

G F

Solution:ρGis a partial order. It is transitive, antisymmetric, and reflexive.

• Graph C

A B

C D

E F

Solution:ρGis not transitive (Edoesn’t have a loop). It is not reflexive (not every vertex has a loop). It is not symmetric (see A → D but noD → A). It is not anti-symmetric.

(E, F),(F, E)∈ρGbutE6=F.

(6)

3. Draw a directed graphG= (V, E), possibly with loops, with7vertices and17edges that corre- sponds to an equivalence relation. There can be no duplicate edges inE. If both(u, v)and(v, u) are inE, it counts as two edges.

Solution:Every vertex in the graph has a loop (that’s 7 edges).

The graph should be comprised of disjoint cliques. There must be a clique of size at least 3, because we can’t use all of the rest of the edges up with cliques of size 2. The clique of size 3 consumes 6 edges. There are 4 edges remaining, which can only be used for cliques of size 2.

The graph looks like this:

A B

C D

E

G F

Exercise 5.5 Max Submatrix Sum(2 Points).

Provide anO(n3)time algorithm which given ann×n-matrixMoutputs its maximal submatrix sum S. That is, ifM has some nonnegative entries,

S = max

0≤a≤b<n 0≤c≤d<n

b

X

i=a d

X

j=c

M[i][j],

and if all entries ofM are negative,S= 0.

Justify your answer, i.e. prove that the asymptotic runtime of your algorithm isO(n3). Solution:We start with the computation of a matrix of cumulative column sums

C[i][j] =

i

X

k=0

M[k][j].

Then for each pair of rows aandb, a ≤ b, we compute an array of column sums inside the stripe betweenaandb, that is

A[j] =

b

X

i=a

M[i][j] =C[b][j]−C[a−1][j], 0≤j < n.

(Ifa= 0,A[j] =C[b][j]).

Then we use a procedure MaxSubarraySum(A)which returns maximal subarray sum ofAin timeO(n). Maximal subarray sum ofAis equal to

P(a, b) = max

0≤c≤d<n b

X

i=a d

X

j=c

M[i][j].

(7)

To find maximal submatrix sum, we maximizeP(a, b). For more details, see the pseudocode below.

Algorithm 1Computation of max submatrix sum procedureMaxSubmatrixSum(M)

C[][]←M[][]

for1≤i < ndo for0≤j < ndo

C[i][j]←C[i−1][j] +M[i][j]

S ←0

for0≤a < ndo fora≤b < ndo

for0≤j < ndo ifa = 0then

A[j]←C[b][j]

else

A[j]←C[b][j]−C[a−1][j]

S ←max{S,MaxSubarraySum(A)}

returnS

Computing cumulative column sum matrix takes timeO(n2).

There areO(n2)pairs of rows(a, b)and for each pair we performO(n)operations:O(n)operations to compute the array of column sums,O(n)operations to find maximal subarray sum andO(1)operations to compare maximal subarray sum with the current maximal value.

Hence the total number of operations isO(n3).

Submission:On Monday, 29.10.2018, hand in your solution to your TAbeforethe exercise class starts.

Referenzen

ÄHNLICHE DOKUMENTE

Linking model design and application for transdisciplinary approaches in social-ecological

While both models simulated reduced soil water content and above-ground biomass in response to drought, the strength and duration of these responses differed4. Despite

Heat stress, temperature, ATES, shallow aquifer, groundwater, microbial community, amplicon 466. sequencing

Electro-assisted removal of polar and ionic organic compounds from water using activated carbon

Particularly since the early 1970s, states have established a complex system of international treaties that regulate their rights and duties in different maritime spaces

Bioenergy, Germany, renewable energy systems, bioenergy carbon capture and storage, 46.. integrated assessment, climate policy

Effects of electrokinetic phenomena on bacterial deposition monitored by quartz crystal microbalance with dissipation

The world needs effective thermal insulation of buildings for pollution control and energy savings. Optimum thermal, fire and acoustic insulations are achieved by using