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.