• Keine Ergebnisse gefunden

Algorithms & Data Structures Homework 0 HS 18

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithms & Data Structures Homework 0 HS 18"

Copied!
4
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 24. September 2018

Markus P¨uschel, David Steurer

Algorithms & Data Structures Homework 0 HS 18

Exercise 0.1 Find the Shortest Path.

Consider a hypothetical floor plan such that the area is organized in hexagonal cells as shown in Figu- re 1. We begin at the cell markedstart, and we want to reach the cell markedend. We can travel from one cell to another, if the two cells are neighbouring, i.e. they share an edge. Each time we cross from one cell to a destination cell, we consider the move as a single step and the destination cell as visited.

We want to find the shortest path from the start to the end, minimizing the number of steps.

START

END Figure 1: Floor plan Consider the following algorithm:

1. We consider the start cell as visited, and we write the number zero on the cell.

2. If a cell has the numbernwritten on it, we can visit all neighbouring cells, writing the number n+ 1on it if either:

• the neighbouring cell has not been visited before, or

• the neighbouring cell has been visited before and holds the numbermsuch thatm > n+ 1. 3. We stop the execution of the algorithm when we can no longer execute 2.

Your tasks:

(2)

1. Execute the algorithm on the floor plan given in Figure 1, writing numbers on each cell.

Solution:

END

1

1 1

1 2

2 2 2

2 2 2

3 3 3

3 3

4 4

4 5

5 5

5 5

5 6

6 6

6 6

7

7 7

7 7

7

8

8 8

9 10

11 11 12

11

12 12

12 12

13

START

0

Figure 2: The state of the floor plan, once the algorithm is done with execution

2. How many steps do we need to reach the end cell?

Solution:Once the algorithm stops executing, each cell will contain a number that corresponds to the shortest distance from the start cell. As a result, we will reach the end cell in 12 steps.

3. For a given plan withN cells including the start and the end cell, how many steps do we need to reach the end cell, starting from the start cell, in the worst case scenario?

Solution:The worst case scenario is having a floor plan in which each cell has only two neigh- bouring cells, such that the two neighbouring cells do not share an edge, and the start and the end cell have only one neighbouring cell. In this case scenario, we would needN −1 steps to reach the end cell starting from the start cell.

Exercise 0.2 Induction.

1. Prove via mathematical induction, that the following holds for any positive integern: 12+ 22+ 32+. . .+n2 = (n)(n+ 1)(2n+ 1)

6

• Base Case.

Letn= 1. Then:

1 = (1)(1 + 1)(2 + 1)

6 = 1

• Induction Hypothesis.

2

(3)

Assume that the property holds for some postiive integerk. That is:

12+ 22+ 32+. . .+k2= (k)(k+ 1)(2k+ 1) 6

• Inductive Step.

We must show that the property holds for k+ 1. Add (k+ 1)2 to both sides of our in- ductive hypothesis.

12+22+32+. . .+k2+(k+1)2= (k)(k+ 1)(2k+ 1)

6 +(k+1)2 = (k)(k+ 1)(2k+ 1) + 6(k+ 1)2 6

= (k+ 1)(2k2+k+ 6k+ 6)

6 = (k+ 1)(2k2+ 7k+ 6)

6 = (k+ 1)(k+ 2)(2k+ 3) 6

= (k+ 1)((k+ 1) + 1)(2(k+ 1) + 1) 6

By the principle of mathematical induction, this is true for any positive integern.

2. Prove via mathematical induction that for any positive integern,2n3+ 3n2+nis divisible by6.

• Base Case.

Letn= 1. Then2(13) + 3(12) + 1 = 6

• Induction Hypothesis.

Assume that the property holds for some positive integerk. That is, there exists some posi- tive integermsuch that:

6m= 2k3+ 3k2+k

• Inductive Step.

We must show that the property holds fork+ 1.

2(k+ 1)3+ 3(k+ 1)2+k+ 1 = 2k3+ 6k2+ 6k+ 2 + 3k2+ 6k+ 3 +k+ 1

= 2k3+ 3k2+k+ 6k2+ 12k+ 6 From our induction hypothesis,2k3+ 3k2+k= 6m.

2(k+ 1)3+ 3(k+ 1)2+ (k+ 1) = 6m+ 6(k2+ 2k+ 1) And this is divisible by6.

By the principle of mathematical induction, this is true for any positive integern.

Exercise 0.3 Coloring a Map.

Given is a map that is divided byn(pairwise different) straight lines. You want to color the regions on the map (i.e., the areas bordered by the lines), such that no two neighbouring regions (i.e., regions that share a common segment of a line as a border) get the same color.

Prove by mathematical induction onn, that you can color every such map with 2 colors.

• Base Case.

Letn= 1. In this case, there are exactly two regions. We color one black and the other one white.

3

(4)

• Induction Hypothesis.

Suppose that a map defined byklines can be colored with two colors, for some positive integer k.

• Inductive Step.

We must show that the property holds fork+ 1. Consider any of the(k+ 1)lines: the line divides the map into a left part and a right part, both containing at mostklines. By induction hypothesis, we can thus color both parts using two colors. Now either this gives already a correct coloring for the whole map, or, flipping the colors in the right part does.

Homework:This homework does not have to be submitted and will be discussed in the first exercise session on 24.9.2018

4

Referenzen

ÄHNLICHE DOKUMENTE

The solution is derived using a general algorithm proposed by the author to solve two-person zero sum games with 'almost' perfect information..

For a given plan with N cells including the start and the end cell, how many steps do we need to reach the end cell, starting from the start cell, in the worst case scenario..

Hint: Suppose you start with a map with two vertical lines, dividing the map into three regions, colored red, blue, and red from right to left.. What happens if you draw a vertical

There must be such a vertex to remove because the tree is acyclic and connected and non-trivial (See Exercise 1.2.4).. Add the leaf node back to

In this exercise, we ask you to prove that a connected graph contains an Eulerian tour if and only if it does not contain a vertex of odd degree.. Prove that every connected

For the following code fragment, count the number of times the function f is invoked and express this in Θ-notation as concisely as possible. For the following code fragment,

Determine the best search strategy for the floor where the phone breaks and give the number of drops in big-Θ notation.. Starting from the first block we drop the first phone from

The maximum possible difference of the depths of two leaves in the tree (with height h ) is therefore 1 greater than the maximum difference of the depths of two leaves in the