Link opings univ ersitet

advertisement
Linkopings universitet
Institutionen for datavetenskap / Matematiska institutionen
Jan Maluszynski / Kaj Holmberg
Tentamen
TTIT33 - Algoritmer och Optimering
16 december 2006, kl 14-19
Examinator: Jan Maluszynski
Jourhavande l
arare:
Jan Maluszynski (tfn: 281483 eller 0707-524408),
Kaj Holmberg (tfn: 0730-869790)
Visning: Meddelas p
a kursens hemsida efter tentamen.
Hj
alpmedel:
* Miniraknare
* Kaj Holmberg \Kombinatorisk optimering med linjarprogrammering" (Kompendium.)
* Goodrich/Tamassia \Data Structures and Algorithms in Java", Wiley
* Engelsk-Svensk ordbok eller motsvarande for andra spr
ak (dvs oversattningstod mellan
valfria spr
ak)
Instruktioner:
Denna tentamen har 10 (tio) uppgifter p
a sammanlagt 6 (sex) sidor, medraknat den har
sidan.
Uppdelningen i en algoritmdel och en optimeringsdel betyder inte att de ska goras i den
ordningen. Hoppa garna mellan delarna.
Anvand ett (eller er om det behovs) blad per uppgift och skriv bara p
a en sida.
Skriv namn, personnummer och kurskod hogst uppe till hoger p
a alla blad.
Skriv tydligt, texta om s
a behovs. Olasliga losningar ger 0 (noll) poang.
Motivera och forklara noggrant alla slutsatser och p
ast
aenden. Omotiverade losningar ger
poangavdrag.
Uppgifterna ar inte ordnade efter sv
arighetsgrad.
Las igenom uppgifterna ordentligt innan ni borjar s
a ni vet vad som efterfr
agas.
Lycka till!
Algoritmer
Uppgift 1. Complexity
(3p)
a) Consider the following algorithm:
procedure P (array S [1::n]):
for i from 2 to n do
x
S [i]
j
i
1
while j > 0 and S [j ] x
S [j + 1]
S [j ]
j
j
1
S [j + 1]
x
(1.5p)
(1.5p)
(1p)
do
Analyse its worst case time complexity. Explain what are the worst case data and
justify your result with a detailed explanation.
Analyse its time complexity for the best case data. Explain what are the best-case
data and justify your result with a detailed explanation.
b) Algorithms A and B have worst case time complexity, respectively, O(n2 ) and O(n log n).
On some data the running time of A is shorter than the running time of B . Give at least
two dierent possible reasons of this phenomenon.
Uppgift 2. Search
Map
(2p)
a) On an initially empty
M we execute the following sequence of operations:
put(22; c); put(15; a); put(6; b); remove(22); put(6; d); put(8; e). Show how these consecutive operations are executed on M implemented as a 7-element hash table (indexed 0 to 6)
with open addressing and double hashing, where h1 (k ) = k mod 7, h2 (k ) = 5 (k mod 5),
and the removal operation is based on marking the deleted entries.
(3p)
b) Consider the binary search tree whose preorder traversal gives the following sequence of
keys: 52 18 40 70 62 59 65 74
(1p)
(2p)
(1p)
c)
Draw the tree and prove that it is an AVL tree.
Show step by step how the AVL-tree operations I nsert(50); I nsert(64); Delete(70)
are performed on this tree (each of the operations is to be applied to the original
tree).
Show the (2,3) tree obtained from the empty tree by consecutive insertions of the keys
46 21 44 23 72 54 50
2
Uppgift 3. Sorting and Selection
(1p)
a) Illustrate the operation of Merge Sort on the following sequence of integers:
[9; 4; 15; 8; 16; 7; 12; 5]. Is this algorithm stable? Justify your answer.
(1p)
b) Illustrate the operation of Radix Sort on the following array of keys, where the characters
of the keys form the subkeys for sorting: [abd; cad; bbc; aba; ccc; dab]. The ordering of keys
is dened as usual alphabetic ordering. You need only to show the form of the array after
each phase of subkey sorting.
(2p)
c) Illustrate consecutive steps of sorting of the integer array [9; 7; 11; 8; 10] by Heap Sort
using max-heap. Illustrate the steps both by array- and tree-representations. To get full
points, the steps are to be claried by short explanations.
(1p)
d) Illustrate the operation of Quick Select while nding the median of the set given as the
following sequence [7; 10; 5; 4; 9; 11; 13].
Uppgift 4. Graphs
(3p)
a) Consider the following directed graph G:
a
e
b
d
{
{
{
(2p)
c
Show the order of visiting its nodes under a depth-rst search starting in node a.
Show back edges, forward edges and cross edges of this search.
Show the order of visiting its nodes under a breadth-rst search starting in node a.
Show the breadth-rst search tree of this search.
Explain how the depth-rst search can be used for checking if a graph is strongly
connected. Illustrate this by showing how the strong connectivity test based on
depth-rst search works for the graph G above.
b) Discuss the time complexity of the Depth-First Search traversal of a graph represented as
the adjacency matrix. Answer without justication gives no points.
3
Optimering
Uppgift 5
Betrakta foljande LP-problem.
max
d
a
z
= 4x1
x2
+ 3x3
2x1 + x2 + 4x3
2x1
2x2 + x3
x1 ;
(2p)
(2p)
x2 ;
x3
4
2
0
 losningen unik?
a) Los problemet med simplexmetoden. Ar
b) Lagg till kravet att alla variabler skall vara heltal. Utnyttja resultatet i uppgift a samt
avrundning for att nna granser for det optimala m
alfunktionsvardet. (Tips: For en unik

optimallosning galler att ingen annan till
aten punkt har lika bra m
alfunktionsvarde.) Ar
optimum funnet? Om inte, gor den forsta forgreningen i Land-Doig-Dakins metod. (Gor
bara forgreningen, fortsatt ej med losningsmetoden.)
Uppgift 6
Betrakta problemet att nna maximalt ode fr
an nod 1 till nod 6 i nedanst
aende natverk med
b
agkapaciteter och ode. Alla undre granser ar noll.
4,2
2
3,2
4
1,1
2,2
1,1
1
3,2
3,2
6
6,1
5,2
3
(2p)
(1p)
2,2
5
 det angivna odet maximalt? Om inte, nn maxode. Ange minsnitt.
a) Ar
b) Maxodesproblemet kan ses som ett LP-problem, och optimallosningen till ett LP-problem
antas i (minst) en hornpunkt, representerad av en baslosning. Motsvarar odet i uppgift
a en baslosning? Om svaret ar ja, ange vilka variabler som ar basvariabler. Om svaret ar
nej, forklarar varfor inte.
Uppgift 7
Om vissa koeÆcienter ar noll kan ibland optimeringsproblem forenklas. Avgor om och i s
a fall
hur forenklingar kan goras i foljande fall. Antag att alla kostnader ar ickenegativa. Motivera!
(1p)
a) Alla b
agar i en cykel har kostnad noll i ett kinesiskt brevbararproblem.
(1p)
b) Alla b
agar i en klick har kostnad noll i ett handelsresandeproblem.
(1p)
c) En variabel har bivillkorskoeÆcient noll i ett kappsacksproblem.
4
Uppgift 8
L
at P1 vara foljande LP-problem.
max
d
a
z
=
c
Tx
0
Ax
x
b
L
at P2 vara det problem som f
as om alla element i hogerledet b i P1 okas en enhet. L
at z1 vara
det optimala m
alfunktionsvardet till P1, och z2 det optimala m
alfunktionsvardet till P2.
(1p)
a) Antag att z3 = cT x dar x ar en till
aten losning till P1. Ange relationen mellan z3 och z1 .
Sager detta n
agot om relationen mellan z3 och z2 ?
(1p)
b) Antag att z4 = bT y dar y ar en till
aten losning till dualen till P1. Ange relationen mellan
z4 och z1 . S
ager detta n
agot om relationen mellan z4 och z2 ?
(1p)
c) Antag att z5 = bT y dar y ar losning som ar till
aten i b
ade dualen till P1 och i dualen till
P2. Ange relationen mellan z5 och z2 . Sager detta n
agot om relationen mellan z5 och z1 ?
(1p)
d) Antag att z6 = cT x = bT y dar x ar en till
aten losning till P1 och y ar en till
aten losning
till dualen till P2. Ange relationer mellan z6 och z1 samt mellan z6 och z2 . Sager detta
n
agot om relationen mellan z1 och z2 ?
Uppgift 9
(3p)
I nedanst
aende graf ar b
agarna markta med b
agkostnad och b
agkapacitet. Alla undre granser
ar noll och alla noder ar mellannoder, dvs. har kall-/sankstyrka lika med noll. Optimallosningen
till minkostnadsodesproblemet i denna graf ar att inte skicka n
agot, dvs. odet i alla b
agar ar
lika med noll. Den duala optimallosningen (nodpriserna) ar y1 = 0, y2 = 5, y3 = 1, y4 = 2,
y5 = 2.
2
−4,5
5,3
3
1
3,4
1,2
0,3
1,4
4
5
1,3
Med hjalp av nodpriserna kan man rakna ut vilka b
agar som ar basb
agar. (Baslosningen ar
valdigt degenererad.) Ange basvariablerna.
Det visar sig att kostnaden p
a b
age (4,5) har f
att fel tecken, dvs. den skall vara -1, inte 1. Finn
ny optimallosning, b
ade primal (ode) och dual (nodpriser) medelst simplexteknik.
5
Uppgift 10
I nedanst
aende oriktade graf ar b
agarna markta med b
agkostnader.
5
2
1
4
3
7
1
4
1
3
2
6
2
2
1
5
3
5
6
(2p)
a) Finn billigaste uppspannande trad. Ange metod samt totalkostnad.
(1p)
b) Antag att alla b
agkostnader minskas med en enhet. Ange den nya optimala totalkostnaden
for ett billigaste uppspannande trad utan att losa om problemet. (Svaret skall motiveras.)
6
Download