Fundamentele Informatica

Vergelijkbare documenten
Tentamen IN3105 Complexiteitstheorie

Tentamen IN3105. Complexiteitstheorie. 16 april 2012, uur

Tentamen TI3300 / IN3105 Complexiteitstheorie

TW2020 Optimalisering

(On)Doenlijke problemen

NP-volledigheid. Algoritmiek

NP-Volledigheid. Wil zo snel mogelijke algoritmes om problemen op te lossen. De looptijd is polynomiaal: O n k - dat is heel erg mooi

Negende college complexiteit. 9 april NP-volledigheid I: introductie

l e x e voor alle e E

TW2020 Optimalisering

TW2020 Optimalisering

Benaderingsalgoritmen

TW2020 Optimalisering

Heuristieken en benaderingsalgoritmen. Algoritmiek

TW2020 Optimalisering

Hoofdstuk 13: Integer Lineair Programmeren

Tentamen combinatorische optimalisatie Tijd:

Begrenzing van het aantal iteraties in het max-flow algoritme

Onderwerpen Fundamentele Informatica IN 3120

Twaalfde college complexiteit. 7 mei NP-volledigheid IV Cook-Levin Savitch 1

Netwerkstroming. Algoritmiek

1 Complexiteit. of benadering en snel

Samenvatting college 1-12

Hoofdstuk 8: Algoritmen en Complexiteit

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen

Automaten & Complexiteit (X )

Stelling. SAT is NP-compleet.

Credit cards, computationele complexiteit en consistentie uitspraken

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

Op zoek naar de Hamilton cykel. Mike Hoffmeister

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

Uitgebreide uitwerking Tentamen Complexiteit, juni 2018

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

De Resolutiemethode (Logica, hoofdstuk 15) Robinson (1965) TI1300 Redeneren en Logica

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde II op donderdag 6 juli 2017, uur.

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING

8. Complexiteit van algoritmen:

Classificatie van Markovbeslissingsketens

8C080 deel BioModeling en bioinformatica

Tweede college algoritmiek. 12 februari Grafen en bomen

Logic for Computer Science

Grafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.

Puzzels en wiskunde. Inleiding. Algoritme. Sudoku. 22 Puzzels en wiskunde

IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, uur

Inleiding Programmeren 2

TW2020 Optimalisering

Universiteit Utrecht Betafaculteit. Examen Discrete Wiskunde op donderdag 13 april 2017, uur.

Het minimale aantal sleutels op niveau h is derhalve

Examen Datastructuren en Algoritmen II

opgaven formele structuren deterministische eindige automaten

Het Chinese Postbode Probleem. Marene Dimmendaal s

Week Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren.

Spider Solitaire is NP-Compleet

8C080 deel BioModeling en bioinformatica

1 Vervangingsstrategie auto

Oefententamen in2505-i Algoritmiek

Inleiding Programmeren 2

Optimalisering/Besliskunde 1. College 1 2 september, 2015

Logica voor Informatica. Propositielogica. Syntax & Semantiek. Mehdi Dastani Intelligent Systems Utrecht University

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Netwerkstroming. Algoritmiek

Optimalisering/Besliskunde 1. College 1 3 september, 2014

Discrete Wiskunde 2WC15, Lente Jan Draisma

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search

Een combinatorische oplossing voor vraag 10 van de LIMO 2010

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra

Lineaire Algebra en Vectorcalculus 2DN60 College 5.a Basis en dimensie

Algoritmen, Datastructuren en Complexiteit ( en ) Uitwerkingen

De statespace van Small World Networks

Logica voor Informatica. Propositielogica. Normaalvormen en Semantische tableaux. Mehdi Dastani

2WO12: Optimalisering in Netwerken

Branch-and-Bound en Cutting Planes

l e x e voor alle e E

Oefententamen in2505-i Algoritmiek

Algoritmiek. 15 februari Grafen en bomen

TW2020 Optimalisering

Automaten. Informatica, UvA. Yde Venema

Twaalfde college algoritmiek. 12 mei Branch & Bound

Minimum Spanning Tree

Tentamen Inleiding Kansrekening wi juni 2010, uur

Tentamen algebra 1 Woensdag 24 juni 2015, 10:00 13:00 Snelliusgebouw B1 (extra tijd), B2, B3, 312

Examen Datastructuren en Algoritmen II

Examen Discrete Wiskunde donderdag 12 april, 2018

TW2020 Optimalisering

Optimaliseren in Netwerken

2WO12: Optimalisering in Netwerken

Radboud Universiteit Nijmegen

TW2020 Optimalisering

Kortste Paden. Algoritmiek

Hebzucht loont niet altijd

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege.

Toeristen stad Dominerende verzamelingen

Cover Page. The handle holds various files of this Leiden University dissertation.

Transcriptie:

Fundamentele Informatica (IN3120 en IN3005 DOI nwe stijl) 20 augustus 2004, 9.00 11.00 uur Het tentamen IN3120 bestaat uit 10 meerkeuzevragen en 2 open vragen. Voor de meerkeuzevragen kunt u maximaal 65 punten behalen, voor de open vragen maximaal 35 punten. Notationele conventies: A B betekent dat er een polynomiale-tijd reductie van A naar B bestaat. A c is het complement van het probleem A. Er wordt steeds vanuit gegaan, dat P NP en NP co-np, tenzij uitdrukkelijk het tegendeel wordt vermeld. Meerkeuzevragen Nb per vraag kunnen 0 tot 4 alternatieven juist zijn Vraag 1. Het SIMPELE SURVEILLANCE probleem bestaat uit een verzameling L van n locaties v i, i =1,...,n, een tijdmatrix T = [t ij ] nxn waarin t ij de tijd in gehele minuten is die het kost om vanuit locatie v i de locatie v j te bereiken, en een positieve integer B. Het probleem is na te gaan of er een surveillanceschema bestaat voor de locaties in L, zodat elke locatie v i uit L bezocht wordt en er volgens het surveillanceschema nooit meer dan B minuten verstrijken tussen twee opeenvolgende bezoeken van v i. Het inspecteren van een locatie tijdens de surveillance kost 1 minuut per locatie. Voor dit probleem geldt dat a. (L, T, B) een yes-instantie is dan en slechts dan als (L, D, B-n+1) een yesinstantie is van het TSP-probleem, waarin D=T de afstandenmatrix tussen de locaties is. b. in tegenstelling tot het TSP-probleem, dit probleem in polynomiale tijd oplosbaar is. c. dit probleem een NP-probleem is. d. het probleem oplosbaar is in polynomiale tijd als de matrix T positieve gehele getallen t ij bevat die kleiner dan of gelijk zijn aan 2. Antwoord: a. en c. zijn juist: om een tijd tussen twee opeenvolgende bezoeken te realiseren voor alle locaties die niet groter is dan B moet voor elke locatie v gelden dat de (totaal verstreken tijd voor een tsp tour langs alle locaties) + (n-1 inspectie minuten voor de overige locaties) B. Dit is alleen te realiseren als (L,D,B-n+1) een yes-instantie van TSP is. Alternatief c. is natuurlijk juist, omdat de oplossing (het bestaan van zo n surveillance tour) in polynomiale tijd kan worden geverifieerd. Alternatief d. is niet juist: Ook TSP-instanties met alleen afstanden in {1,2} vormen een NP-compleet probleem. Daarmee is tevens alternatief b. beantwoord.

Vraag 2. Neem de volgende twee problemen: i. Gegeven een graaf G=(V, E), heeft G een vertex cover ter grootte van V -1? ii. Gegeven een graaf G=(V, E), heeft G een vertex cover ter grootte van V /2? Er geldt: a. i. en ii. zijn NP-volledig problemen. b. i. heeft een polynomiaal algoritme. c. het VERTEX COVER probleem is polynomiale-tijd reduceerbaar naar het probleem ii. d. i. is polynomiale-tijd reduceerbaar naar ii. Antwoord Alternatief b., c. en d. zijn juist. Voor probleem i. bestaat immers een polynomiaal algoritme: test alle V mogelijke deelverzamelingen ter grootte van V -1 van V of zij een vertex cover vormen. Alternatief a. is hiermee als onjuist afgedaan. Probleem ii. is NP-compleet: eenzelfde constructie als voor HALF-CLIQUE (college) volstaat om dit aan te tonen. Hieruit volgt dan de juistheid van c. Alternatief d. is juist, omdat alle problemen in NP reduceerbaar zijn naar een NPC-probleem. Vraag 3. Neem de klassen NP NP, NP co-np en co-np NP. Er geldt: a. Al deze klassen zijn identiek. b. De klasse NP NP is gelijk aan de klasse NP co-np. c. Alle drie de klassen omvatten de klasse NP. d. de klasse co-np NP omvat de klassen NP NP en NP co-np. Antwoord Alternatief b. en c. zijn juist. Omdat in NP NP, NP co-np gebruik wordt gemaakt van turingreducties, zijn deze klassen niet onderscheidbaar. Vanzelfsprekend omvatten zij de klasse NP. Ook de klasse co-np NP omvat de klasse NP: de eerste klasse omvat immers P NP. Deze laatste klasse omvat natuurlijk ook de klasse NP. Omdat NP NP, alle problemen bevat die complement zijn van NP co-np problemen zijn deze klassen ongelijk, (tenzij de polynomiale hierarchie in elkaar stort op het tweede niveau) Vraag 4. Er zijn 3 beslissingsproblemen A, B en C. Het probleem A is een co-np probleem, B is een NP-probleem en C is een NP-hard probleem. Er geldt nu a. Als A C, dan geldt NP = co-np. b. Als C A, dan geldt P = NP. c. A B of B A. d. B C. Antwoord Alternatief a. is onjuist, want A kan bv. een P-probleem zijn. Alternatief b. is ook onjuist: alleen NP = co-np zou kunnen volgen als C A. Ook alternatief c. is onwaar: neem maar eens voor A een probleem zonder yesinstanties en B een probleem zonder no-instanties. Alternatief d. is juist.

Vraag 5. We noemen een optimaliseringsprobleem A ε-benaderbaar als A een approximatiedrempel heeft die kleiner of gelijk is aan ε>0. Dan geldt: a. Er bestaat minstens één NPO-probleem dat niet 1-benaderbaar is. b. Alle APX-problemen zijn ε-benaderbaar voor elke 0 < ε 1. c. Alle FPTAS-problemen zijn benaderbaar voor elke 0 < ε 1. d. Als een NPO-probleem 1-benaderbaar is, dan ligt het in de klasse PTAS. Antwoord Alternatief a. is juist, want APX NPO. Alternatief b. is onjuist. Alternatief c. is juist en alternatief d. is onjuist. Vraag 6. Het probleem om, gegeven een ongerichte graaf G = (V, E) en een positieve integer K, te bepalen of G geen unieke clique heeft ter grootte van K, (dwz. er bestaat geen clique ter grootte van K of er bestaat meer dan een clique ter grootte van K ) is een probleem in a. NP b. co-np c. P NP d. NP co-np Antwoord Alternatief c. is juist: raadpleeg eerst een NP-orakel om na te gaan of G een clique ter grootte van K bevat; als het antwoord nee is geef dan ja als output; anders als er zo n clique bestaat, construeer dan met de zelf-reduceerbaarheidsconstructie (met een aantal NP-orakel aanroepen) een clique C; voor zo n clique C bepaal je nu voor alle knopen v in C de graaf G(v) die ontstaat door een knoop v te isoleren. Voor elke knoop v uit C ga je vervolgens na of G(v) een clique ter grootte van K bevat (NP-orakel aanroep); als er zo n v bestaat waarvoor G(v) een clique ter groote van K heeft, dan heeft G tenminste een andere clique dan C ter grootte van K (immers v kan er niet in voorkomen) en is C derhalve niet uniek; in het andere geval is C uniek. De overige alternatieven zijn niet juist. Vraag 7. Het TAUTOLOGIE probleem is het volgende probleem: Gegeven een satisfiability instantie (U,C) bestaat er geen enkele waarheidstoekenning τ : U {0,1} die een clause uit C onwaar maakt? Dit probleem is a. oplosbaar in polynomiale tijd. b. een NP-compleet probleem. c. een co-np-compleet probleem. d. een probleem in NP co-np. Antwoord Alternatief a. en d. zijn juist. Je kunt checken of zo n waarheidstoekenning bestaat door na te gaan of voor alle clauses geldt dat zij een literal x en zijn ontkenning x bevatten. Alleen als dat zo is, bestaat zo n waarheidstoekenning niet, in alle overige gevallen wel. Omdat het probleem in P is, is d. ook juist.

Vraag 8. Het BRANDWEERKAZERNE probleem bestaat uit een graaf G=(V, E), een afstand d Z + en een budget B Z +. De vraag is of er een subset V van V (locaties van brandweerkazernes) bestaat met V B, zodat voor geen enkele knoop v uit V de afstand tot alle brandweerkazernes in V groter is dan d, d.w.z. voor iedere knoop v V is er een element v V te vinden zodanig dat er een pad van v naar v in G bestaat ter lengte van hoogstens d. Voor dit probleem geldt het volgende: a. instanties van dit probleem met d 1 zijn in polynomiale tijd oplosbaar; b. instanties van dit probleem met d = V zijn in polynomiale tijd oplosbaar; c. instanties van dit probleem met d=1 zijn vertex cover instanties; d. instanties van dit probleem met B 3 zijn in polynomiale tijd oplosbaar. Antwoord Alternatief a. is niet juist: dit zijn precies alle vertex-cover instanties; alternatief c. is dus ook juist. Alternatief b. is juist: je kunt voor alle paren van knopen (v,w) de lengte van het kortste pad tussen v en w bepalen. Deze lengte is ofwel of < V. Beschouw nu een willekeurige opsomming (v 1, v 2,..., v n ) van de knopen in V en beschouw ze alle als vrij. Zolang B > 0 is, wijs je een brandweer aan de eerste vrije knoop toe, schrap je alle locaties die op afstand < V van deze locatie liggen, en verlaag je B met 1. Als alle locaties geschrapt zijn heb je een ja-instantie, anders een nee-instantie. Alternatief d. is juist: er zijn in totaal O( V 3 ) verzamelingen van drie locaties te checken; zo n check kan in polynomiale tijd plaatsvinden. Vraag 9. Als A een probleem in (NP co-np) P is, dan geldt dat a. A geen polynomiaal algoritme heeft. b. yes-instanties of no-instanties van A polynomiaal verifieerbaar zijn. c. A geen P probleem is, tenzij NP = co-np. d. voor elk (co)-np probleem B geldt B A. Antwoord Alternatief a. is per definitie juist. Alternatief b. is ook juist. Alternatief c. is niet juist: NP = co-np impliceert niet P = NP. Alternatief d. is ook niet juist, omdat A geen co-np-compleet probleem hoeft te zijn. Vraag 10. Laat A r B betekenen dat er een reductie van een beslissingsprobleem A naar een beslissingsprobleem B bestaat waarbij de tijd die de reductie kost verwaarloosd mag worden. Dan geldt dat: a. voor iedere A NP is er een B P zodat A r B. b. NP is naar beneden gesloten onder r. c. ieder probleem in EXP is r -reduceerbaar tot een NP-probleem. d. Elk NP-probleem is r -reduceerbaar tot ieder ander NP-probleem. Antwoord Alternatief a. is juist: neem een exponentieel algoritme X A dat A oplost en een willekeurig probleem B dat zowel een ja-instantie B yes als een nee-instanties B no bevat. Construeer nu een reductie f als volgt: als X A (I) = yes dan een f(i) = B yes anders f(i) = B no. Alternatief b. is niet juist: er zijn ook EXP-problemen r -reduceerbaar tot een NPprobleem. Alternatief c. is juist; zie de constructie voor a. Alternatief d. is niet juist. NP-problemen met uitsluitend yes-instanties zijn niet reduceerbaar naar NP-problemen met uitsluitend no-instanties.

OPEN VRAGEN Vraag A. Het LUIE TOERIST probleem bestaat uit een ongerichte graaf G = (V, E) waarin V een verzameling locaties en E een verzameling kanten, twee positieve integers B en C, een afstandenmatrix D = [d ij ] van afstanden d ij Z + tussen locaties v i en v j in V. Als {u,v} een kant in E is dan is u zichtbaar vanuit v en omgekeerd. De vraag is of er een tour met totale afstand C bestaat langs een subset V van V met V B bestaat, zodat voor alle locaties v in V geldt dat ofwel v zichtbaar is vanuit een locatie in V ofwel v V. a. Welke restricties moeten aan instanties van dit probleem opgelegd worden om instanties van het VERTEX COVER-probleem te krijgen? Antwoord: VERTEX COVER instanties krijg je door d ij = 1 te kiezen voor elk paar knopen v i en v j en C = V te kiezen. b. Welke restricties moeten aan instanties van dit probleem opgelegd worden om instanties van het TSP-probleem te verkrijgen? Antwoord: TSP- instanties krijg je door E = en B = V te kiezen. Vraag B. Een plan P kan worden beschouwd als een geordende verzameling acties die een deelverzameling I R van input resources vereisen om een verzameling O R van output resources te creëren. We zullen zo n plan P dan ook eenvoudig beschouwen als een tuple P = (I, O) waarin I de input resources van P zijn en O de output resources van P. Zo n plan P = (I, O) kan worden uitgevoerd als alle input resources I aanwezig zijn. In dat geval worden alle output resources in O opgeleverd. Het BLOKKERINGS probleem is nu het volgende probleem Gegeven een verzameling van n plannen P j = ( I j, O j ), j = 1,... n, een verzameling R van resources waarvoor voor elke j geldt I j, O j R, een verzameling V R van ongewenste resources en een positieve integer K; Gevraagd bestaat er een verzameling van resources R R met R K, zodat geen enkel plan P j = ( I j, O j ) uitgevoerd kan worden dat een ongewenste resource oplevert, i.e., bestaat er een R met R K, en voor elke j =1,..., n geldt: als V O j dan I j R. a. Laat zien dat dit probleem een NP-probleem is. b. Bewijs dat dit probleem een NP-compleet probleem is; U moet hierbij gebruik maken van een reductie van een van de volgende NPC-problemen: HAMPAD, TSP, SAT, VERTEX COVER, CLIQUE, PARTITION, SUBSETSUM.

Antwoord: (Schets): Als je een verzameling R = {r} W kiest zodanig dat r niet in W voorkomt en plannen laat bestaan uit tuples ({w,w }, r) waarbij w en w elementen uit W zijn, dan is het probleem identiek aan het vertex cover probleem. Met andere woorden: dit probleem bevat een deelprobleem dat NP-compleet is. Omdat het totale probleem een NP-probleem is, volgt NPC.