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