TDDB56 DALGOPT Algoritmer och Optimering Tentamen , 8 13

Relevanta dokument
TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C. Tentamensinstruktioner. När Du löser uppgifterna

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C. Tentamensinstruktioner. När Du löser uppgifterna

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Tentamensinstruktioner. När Du löser uppgifterna

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP07/TEN1 OPTIMERINGSLÄRA GRUNDKURS för Y. Antal uppgifter: 7 Uppgifterna är inte ordnade efter svårighetsgrad.

Tentamensinstruktioner. När Du löser uppgifterna

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner. När Du löser uppgifterna

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Lösningsförslag för tentamen i Datastrukturer (DAT037) från

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner. När Du löser uppgifterna

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Prov i DAT 312: Algoritmer och datastrukturer för systemvetare

Tentamensinstruktioner. När Du löser uppgifterna

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamen Datastrukturer för D2 DAT 035

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Optimeringslära Kaj Holmberg

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

MIO310 OPTIMERING OCH SIMULERING, 4 p

TENTAMEN: Algoritmer och datastrukturer. Läs detta!

DAI2 (TIDAL) + I2 (TKIEK)

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Tentamensinstruktioner

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

N = {i}: noder (hörn) Graf: G = (N, B) Definitioner. Väg: Sekvens av angränsande bågar. Cykel: Väg som startar och slutar i samma nod.

Tentamensinstruktioner

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TENTAMEN: Algoritmer och datastrukturer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

TENTAMEN: Algoritmer och datastrukturer. Läs detta!

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Optimeringslära Kaj Holmberg

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Tentamensinstruktioner. När Du löser uppgifterna

Tentamen Datastrukturer (DAT036)

Tentamensinstruktioner

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet. Specialfall av minkostnadsflödesproblemet. Slutsats.

Tentamen Datastrukturer, DAT037 (DAT036)

Tentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.'

Tentamen Datastrukturer (DAT037)

Examinator: Torbjörn Larsson Jourhavande lärare: Torbjörn Larsson, tel Tentamensinstruktioner. När Du löser uppgifterna

TDDC91 & TDDE22 & 725G97 Datastrukturer och algoritmer Datortentamen (DAT1) , 08 12

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

MIO310 OPTIMERING OCH SIMULERING, 4 p

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Försättsblad till skriftlig tentamen vid Linköpings Universitet

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TENTAMEN. Tentamensinstruktioner. Datum: 30 augusti 2018 Tid: 8-12

min c 1 x 1 + c 2 x 2 då x 1 + x 2 = 1, x 1 {0, 1}, x 2 {0, 1} plus andra bivillkor. Vi måste göra k st av n alternativ:

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

min c 1 x 1 + c 2 x 2 då x 1 + x 2 = 1, x 1 {0, 1}, x 2 {0, 1} plus andra bivillkor. Vi måste göra k st av n alternativ:

Tentamen med lösningsförslag Datastrukturer för D2 DAT 035

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer

Facit Tentamen TDDC (7)

Transkript:

Linköpings Tekniska Högskola 00-08-0 Institutionen för Datavetenskap David Broman / Jan Maluszynski / Kaj Holmberg TDDB6 DALGOPT Algoritmer och Optimering Tentamen 00-08-0, 8 Examinator Jan Maluszynski / Kaj Holmberg Jour Jan Maluszynski, 0-88 eller 0707-08 Kaj Holmberg, 070-869790 Maxpoäng 0p (varav max p kan tillgodoräknas från kontrollskrivningen den 0/0 00) Rättning Resultat från tentamen kommer att presenteras via e-mail senast slutet vecka, 00. Tillåtna Miniräknare hjälpmedel Engelsk-Svensk ordbok Lewis, Denenberg: Data Structures and Their Algorithms Lewis, Denenberg: Kap 7. Self Adjusting Binary Search Trees (Från boken ovan) Goodrich, Tamassia: Data Structures and Algorithms in Java Cormen, Leiserson, Rivest: Introduction to Algorithms William Pugh: Skip Lists A Probabalistic Alternative to Balanced Trees (Artikel) Holmberg: Kombinatorisk optimering med linjärprogrammering (kompendium) Papadimitriou, Steiglitz: Combinatorial Optimization: Algorithms and Complexity Generella instruktioner: Läs igenom alla uppgifter innan du börjar. Redovisa maximalt en uppgift per inlämnat ark. Består uppgiften av flera deluppgifter kan dessa redovisas på samma ark. Skriv namn och personnummer överst på varje ark. Skriv tydligt. Oläsbara lösningsförslag beaktas icke. Motivera tydligt alla steg i svaret/lösningen. Avsaknad av motivering kan medföra poängavdrag. Används fakta från delar av böckerna som ej använts under kursen, bifoga referens till vilken bok och sida varur dessa fakta är hämtade. Uppgifterna är inte ordnade i svårighetsgrad. Ett exemplar av respektive tillåten bok/artikel finns att titta i hos tentamensvakten. Dessa får inte bortföras därifrån. OBS! Notera följande: Detta är en ordinarie tentamen i kursen DALGOPT och den består av två delar:. En del som motsvarar kontrollskrivning avseende stora delar av algoritmdelen av kursen max poäng. Dessa uppgifter är tydligt markerade med texten kontrollskrivningsuppgift.. En del som behandlar resterande algoritmuppgifter (6p) och samtliga optimeringsuppgifter (0p) Resultatet från kontrollskrivning kan nyttjas på denna tentamina om så önskas. Gör då så här: Lämna inte in lösningar på någon av kontrollskrivningsuppgifterna, och vi kommer automatiskt att inkludera resultatet av din kontrollskrivning när vi summerar poängen. Lycka till!

. Bevisa eller motbevisa om följande är sant eller falskt: (Kontrollskrivningsuppgift) ( p) (a) n O( n ) (0.) (b) Θ(n ) O( n ) (0.) (c) Ω(n) Θ(n ) (0.) (d) log n Θ(n log n) (0.) (e) n! O(n n ) (0.) (f) (n 9!) Ω(n ) (0.). Betrakta följande algoritm. (Kontrollskrivningsuppgift) ( p) procedure P(array S[..n]): for i from to n do x S[i] j i while j > 0 and S[j] x do S[j + ] S[j] j j S[j + ] x (a) Bestäm algoritmens tidskomplexitet T(n) för värsta-fallet. Utförlig och noggrann ana- () lys krävs för full poäng. (b) Uppskatta algoritmens rumskomplexitet, dvs. algoritmens minnesåtgången beroende (0.) på n. Motivera ditt svar väl. (c) Ange ett fall då algoritmen går betydligt snabbare en för värsta-fallet. Beskriv varför () och ange tidskomplexiteten. Du behöver inte göra en utförlig analys. (d) Algoritmen ovan liknar en välkänd algoritm. Vad heter den? (0.) (e) Är algoritmen beskriven ovan stabil? Varför? Varför inte? (0.) (f) Det finns dock en betydande förbättring av ovan algoritm, där ytterligare en yttre (0.) loop läggs till, vilket gör den mot förmodan snabbare. Vad kallas denna förbättrade algoritm?

. Betrakta följande träd. (Kontrollskrivningsuppgift) ( p) (a) Vilket / vilka av ovan träd är (vänster)-fullständiga (complete). () (b) Vilket / vilka av ovan träd är AVL-träd? () (c) Vilket / vilka av ovan träd kan representera en heap. Skriv ner binärrepresentationen () för detta / dessa träd. (d) Ange ordningen av noder som besöks vid en in-order traversering av träd B. (). Hashtabeller (Kontrollskrivningsuppgift) ( p) Vi har en tom hashtabell bestående av 0 element, vilken använder sig av öppen adressering och linjär sondering. Hash-funktionen som används är h(k) = (k ) mod 0. (a) Visa hashtabellens utseende efter det att följande tal har satts in enligt den givna () ordningen.,,,, 6, 8, 6, 7 (b) Hur många sonderingsförsök (probes) behöver genomföras för att finna talet? (0.) (c) Hur många sonderingsförsök behöver genomföras för att konstatera att inte talet (0.) finns med i hashtabellen?

. Studera följande grafer (6 p) (a) Det finns två generella typer av datastrukturer för att representera grafer. Vilka är () det? Beskriv och rita representationen av graf A ovan enligt båda strukturerna. (b) Grafer som har utseendet enligt graf B har ett speciellt namn. Vilket? (0.) (c) Är graf B starkt kopplad (strongly connected)? Varför / varför inte? (0.) (d) Redogör för hur algoritmen djupet först sökning fungerar. Ange i vilken ordning noder- (.) na i graf B besöks (preorder) om en djupet först sökning genomförs. Välj noder i först hand efter grannbågars kostnader, dvs. låg kostnad först. Välj i andra hand noderna i alfabetisk ordning. Börja med nod a. (e) Redogör för begreppet topologisk sortering. Ange en topologisk sortering av graf B. (.) Redovisa ditt tillvägagångssätt noggrant. 6. Betrakta följande optimeringsproblem. (9 p) max z = x + x då x + x x + x x, x 0, heltal (a) Lös LP-relaxationen till problemet ovan med simplexmetoden. () (b) Lös heltalsproblemet med Land-Doig-Dakins trädsökningsmetod. (LP-problem i två () dimensioner får lösas grafiskt.) (c) Känslighetsanalys görs normalt sett inte på heltalsproblem, eftersom effektiva metoder () saknas. Två-dimensionella problem kan dock studeras grafiskt. Finn följande med hjälp av grafiska undersökningar. i) Ange bivillkorens skuggpris i optimum. ii) Ange optimallösning för samtliga värden på b. iii) Ange optimallösning för samtliga värden på c.

7. (7 p) 9 8 7 7 6 (a) Finn billigaste -träd i grafen ovan. () (b) Betrakta handelsresandeproblemet i grafen. Försök att finna en handelsresandetur ge- () nom att flytta enstaka bågar i lösningen till uppgift b. (Ta hänsyn till nodernas valens.) Vilka övre och undre gränser till det optimala målfunktionsvärdet för handelsresandeproblemet fås av detta, samt av lösningen i uppgift a? (c) Lös handelsresandeproblemet med optimerande trädsökning. Utnyttja resultaten i upp- () gift b. 8. En viss typ av s.k. inversa optimeringsproblem är att finna en uppsättning bågkostnader i ( p) en riktad graf så att en viss given väg blir billigast. Bågkostnaderna skall vara positiva heltal, dvs. större eller lika med ett. Betrakta mer specifikt problemet att finna positiva heltaliga bågkostnader så att ett givet riktat träd (innehållande en väg från nod till varje annan nod) skall vara de unika billigaste vägarna. (a) Hur kan man lösa detta problem exakt? Kan en lösning finnas i polynomisk tid? () (b) Finn, med en heuristisk metod, en lösning till nedanstående exempel, där de tjocka () bågarna är de billigaste vägarna. Verifiera att resultatet är korrekt.