Link  opings Tekniska

advertisement
2006-12-16
Link
opings Tekniska H
ogskola
MAI/IDA
Kaj Holmberg/Jan Maluszynski
TDDB56 DALGOPT { Algoritmer och Optimering
Tentamen 2006-12-16, 14{19
Examinator
Jour
Maxpoang
Tillatna
hjalpmedel
Jan Maluszynski / Kaj Holmberg
Jan Maluszynski, 013-281483 eller 0707-524408
Kaj Holmberg, 0730-869790
40p (varav max 20p kan tillgodoraknas fr
an kontrollskrivningen i Oktober 2006)
{ Miniraknare
{ Engelsk-Svensk ordbok eller motsvarande for andra spr
ak (dvs oversattningstod
mellan valfria spr
ak)
{ Lewis, Denenberg: Data Structures and Their Algorithms
{ Goodrich, Tamassia: Data Structures and Algorithms in Java
{ Cormen, Leiserson, Rivest: Introduction to Algorithms
{ Holmberg: Kombinatorisk optimering med linjarprogrammering (kompendium)
{ Papadimitriou, Steiglitz: Combinatorial Optimization: Algorithms and Complexity
Generella instruktioner:
Las igenom alla uppgifter innan du borjar.
Redovisa maximalt en uppgift per inlamnat ark. Best
ar uppgiften av era deluppgifter
kan dessa redovisas p
a samma ark. Skriv namn och personnummer overst p
a varje ark.
Skriv tydligt. Olasbara losningsforslag beaktas icke.
Motivera tydligt alla steg i svaret/losningen. Avsaknad av motivering kan medfora poangavdrag.
Uppgifterna ar inte ordnade i sv
arighetsgrad.
Losningar till algoritmuppgifter behover inte skrivas p
a engelska.
OBS! Notera foljande:
Detta ar en ordinarie tentamen i kursen DALGOPT och den best
ar av tv
a delar:
1. Algoritm delen som motsvarar kontrollskrivningen (20p)
2. Optimering delen (20p)
Resultatet fr
an kontrollskrivningen kan nyttjas p
a denna tentamina om s
a onskas. Gor d
a s
a
har:
Lamna inte in losningar p
a n
agon av uppgifterna i Algoritm delen, och vi kommer automatiskt att inkludera resultatet av din kontrollskrivning nar vi summerar poangen.
Lycka till!
1
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
do
(1.5p) Analyse its worst case time complexity.
(1.5p)
(1p)
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
(2p)
(3p)
a) On an initially empty Map 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.
b) Consider the binary search tree whose preorder traversal gives the following sequence of
keys: 52 18 40 70 62 59 65 74
(1p) Draw the tree and prove that it is an AVL tree.
(2p) 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).
(1p) c) 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)
(1p)
(2p)
(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.
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.
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.
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
c
{ Show the order of visiting its nodes under a depth-rst search starting in node
{
{
(2p)
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)
(1p)
(1p)
a) Alla b
agar i en cykel har kostnad noll i ett kinesiskt brevbararproblem.
b) Alla b
agar i en klick har kostnad noll i ett handelsresandeproblem.
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)
(1p)
(1p)
(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 ?
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 ?
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 ?
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
3
(2p)
(1p)
4
7
1
4
1
3
2
6
2
2
1
5
3
5
6
a) Finn billigaste uppspannande trad. Ange metod samt totalkostnad.
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