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