Tentamen IN3105 Complexiteitstheorie



Vergelijkbare documenten
Tentamen IN3105. Complexiteitstheorie. 16 april 2012, uur

Tentamen TI3300 / IN3105 Complexiteitstheorie

Fundamentele Informatica

(On)Doenlijke problemen

TW2020 Optimalisering

Elfde college complexiteit. 23 april NP-volledigheid III

Tentamen in2505-ii Berekenbaarheidstheorie

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

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

Benaderingsalgoritmen

NP-volledigheid. Algoritmiek

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Tentamen combinatorische optimalisatie Tijd:

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

TW2020 Optimalisering

TW2020 Optimalisering

Tiende college algoritmiek. 2 mei Gretige algoritmen, Dijkstra

Tiende college algoritmiek. 26 april Gretige algoritmen

l e x e voor alle e E

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

Tiende college algoritmiek. 14 april Gretige algoritmen

Credit cards, computationele complexiteit en consistentie uitspraken

Uitwerking tentamen Analyse van Algoritmen, 29 januari

8. Complexiteit van algoritmen:

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

1 Complexiteit. of benadering en snel

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

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

Tentamen TI2310 Automaten en Talen. 19 april 2012, uur

Samenvatting college 1-12

TW2020 Optimalisering

Spider Solitaire is NP-Compleet

Oefententamen in2505-i Algoritmiek

TW2020 Optimalisering

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

ALGORITMIEK: antwoorden werkcollege 5

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Heuristieken en benaderingsalgoritmen. Algoritmiek

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Stelling. SAT is NP-compleet.

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Hoofdstuk 8: Algoritmen en Complexiteit

Kortste Paden. Algoritmiek

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

Onderwerpen Fundamentele Informatica IN 3120

Hoofdstuk 13: Integer Lineair Programmeren

Op zoek naar de Hamilton cykel. Mike Hoffmeister

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

8C080 deel BioModeling en bioinformatica

Een combinatorische oplossing voor vraag 10 van de LIMO 2010

Inleiding Programmeren 2

Beslisbare talen (1) IN2505-II Berekenbaarheidstheorie. Beslisbare talen (2) Beslisbare talen (3) De talen: College 7

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

Uitgebreide uitwerking Tentamen Complexiteit, juni 2018

Algoritmen, Datastructuren en Complexiteit ( en ) Uitwerkingen

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

Examen Discrete Wiskunde donderdag 12 april, 2018

Tiende college algoritmiek. 14 april Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS

Tentamen Inleiding Kansrekening wi juni 2010, uur

Tweede college algoritmiek. 12 februari Grafen en bomen

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

Oefententamen in2505-i Algoritmiek

Inleiding Programmeren 2

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen

Kunstmatige Intelligentie (AI) Hoofdstuk 6 van Russell/Norvig = [RN] Constrained Satisfaction Problemen (CSP s) voorjaar 2015 College 7, 31 maart 2015

IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, uur

1 In deze opgave wordt vijftien maal telkens drie beweringen gedaan waarvan er één juist is. Kruis de juiste bewering aan. (2pt. per juist antwoord).

Begrenzing van het aantal iteraties in het max-flow algoritme

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

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

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 5 juni 2007, uur

TW2020 Optimalisering

Sudoku s en Wiskunde

Branch-and-Bound en Cutting Planes

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules.

Twaalfde college complexiteit. 11 mei Overzicht, MST

8C080 deel BioModeling en bioinformatica

TW2020 Optimalisering

Kansrekening en statistiek wi2105in deel I 29 januari 2010, uur

Kansrekening en statistiek WI2105IN deel I 4 november 2011, uur

Fundamentele Informatica IN 3005 Deel 2

TW2020 Optimalisering

Tentamenset A. 2. Welke van de volgende beweringen is waar? c. N R N d. R Z R

Automaten & Complexiteit (X )

Algoritmiek. 15 februari Grafen en bomen

Vorig college. IN2505-II Berekenbaarheidstheorie. Turingmachines. Turingmachine en Taal. College 2

Geef niet alleen antwoorden, maar bewijs al je beweringen.

Tentamen Kansrekening en Statistiek (2WS04), woensdag 30 juni 2010, van uur.

Modelleren en Programmeren voor KI

Netwerkstroming. Algoritmiek

Tentamen in2505-i Algoritmiek

Practicumopgave 3: SAT-solver

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

Vierde college complexiteit. 14 februari Beslissingsbomen

Kortste Paden. Algoritmiek

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

2WO12: Optimalisering in Netwerken

Kosten. Zoekalgoritmen ( ) College 5: Zoeken met kosten. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route

Transcriptie:

Tentamen IN3105 Complexiteitstheorie 31 maart, 9.00 12.00 uur - Dit tentamen bestaat uit 10 meerkeuzevragen, 5 korte (open) vragen en 2 open vragen. - Per meerkeuzevraag kunnen 0 tot 4 alternatieven juist zijn. - Voor de meerkeuzevragen kunt u maximaal 50 punten behalen, voor de korte open vragen maximaal 30 punten en voor de open vragen maximaal 20 punten. - Het totaal aantal punten mp voor de meerkeuzevragen wordt als volgt bepaald: o per meerkeuzevraag i wordt het aantal foutief beantwoorde alternatieven f i bepaald (0-4); o de som f = f i van dit aantal wordt bepaald (0 f 40) o het aantal punten mp is dan gelijk aan mp = 50 max{ 0, (40 1.5 f) / 40 }. Hierbij is de factor 1.5 een milde gokcorrectiefactor. - Het eindcijfer c wordt bepaald door de som te nemen van mp, het totaal aantal punten behaald voor de 5 korte vragen en de twee open vragen, en vervolgens het resultaat te delen door 10. - Het gebruik van dictaat, aantekeningen, boek of andere bronnen is niet toegestaan. - Het gebruik van grafische en niet-grafische rekenmachines is eveneens niet toegestaan. - Beantwoord de meerkeuze vragen op het bijgeleverde antwoordformulier. - Beantwoord de open vragen zo bondig mogelijk; geef geen irrelevante informatie, dit kan leiden tot puntenaftrek! - Controleer of u op ieder blaadje uw naam en studienummer heeft vermeld en geef het totaal aantal ingeleverde bladen op (tenminste) de eerste pagina. 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. 1

MEERKEUZEVRAGEN Vraag 1. Het probleem om, gegeven een ongerichte graaf G = (V,E) en een integer K te bepalen of G géén vertex cover ter grootte van K bevat, is een a. NP-volledig probleem. b. co-np-volledig probleem. c. P-probleem. d. probleem in NP co-np. Antwoord Het probleem is een co-np probleem: alleen nee-instanties zijn polynomiaal verifieerbaar. Omdat het complement van het probleem een NPC probleem is, is het probleem een co-npc probleem. Alternatief b. is juist en de overige alternatieven zijn onjuist. Vraag 2. Als A een probleem in NP co-np is, dan geldt dat a. het mogelijk is dat A een polynomiaal algoritme heeft, ook al is P NP. b. yes-instanties en no-instanties van A polynomiaal verifieerbaar zijn. c. A geen NP-compleet probleem is, tenzij NP = co-np. d. A geen co-np-compleet probleem is, tenzij NP = co-np. Antwoord Omdat P bevat is in NP co-np is alternatief a. juist; alternatief b. is juist op grond van de definitie van NP co-np. Indien A een NPC probleem zou zijn, dan zou gelden, dat NP=co-NP, evenzo als A een co-npc probleem zou zijn, zou gelden NP = co-np. Alternatief c. en d. zijn derhalve juist. Vraag 3. Als P = NP dan geldt in ieder geval dat: a. alle NP-problemen tevens NP-complete problemen zijn. b. co-np = NP. c. NP = PSPACE. d. APX = NPO. Antwoord Alternatief a. is niet juist omdat de P-problemen en Σ* niet volledig kunnen zijn. Alternatief b. is juist omdat P gesloten is onder complement. Alternatief c. is niet juist: als P=NP kan P nog steeds ongelijk zijn aan PSPACE. Alternatief d. is juist: als P=NP geldt NPO = PO en dus APX = PO = NPO. Vraag 4. Als A en B NP-problemen zijn, dan is volgens de definitie van Sipser: a. A B een P-probleem. b. A B een NP-probleem. c. A B een NP-probleem. d. A c B c een co-np-probleem. Antwoord Alternatief a is onjuist (neem maar eens A = B een NPC probleem). Alternatief b. en c. zijn juist: NP is gesloten onder vereniging en cartesisch product. Alternatief d. is ook juist, omdat A c en B c beide co-np-problemen zijn en co-np gesloten is onder doorsnede 2

Vraag 5. We noemen een optimaliseringsprobleem A benaderbaar als A een approximatiealgoritme heeft met approximatieratio c <. Dan geldt: a. Er bestaat minstens één NPO-probleem dat niet benaderbaar is. b. Alle APX-problemen zijn benaderbaar. c. Alle FPTAS-problemen zijn benaderbaar. d. Als een NPO-probleem benaderbaar is, dan ligt het in de klasse APX. Antwoord Omdat TSP geen approximatie-algoritme heeft waarvoor de approximatieratio naar boven door een constante begrensd is, is alternatief a. waar. Alternatief b. is per definitie van APX waar. Alternatief c. is per definitie van FPTAS waar evenals alternatief d. Vraag 6. Welke van onderstaande beweringen zijn correct onder de aanname dat NP P? a. Een probleem kan niet zowel in NP als in co-np liggen. b. Sterk-NP-volledige problemen kunnen een pseudo-polynomiaal algoritme hebben. c. Voor ieder tweetal problemen A en B in NP geldt: A B of B A. d. Voor ieder NP-probleem A bestaat er een sterk-np-volledig probleem B waarvoor A B. Antwoord Omdat P omvat wordt door zowel NP als co-np is alternatief a. onwaar. Alternatief b. is onwaar, evenals alternatief c. : neem maar A = en B = Σ*. Omdat er minstens een sterk NP volledig probleem bestaat (zoals CLIQUE) is alternatief d. waar. 3

Vraag 7. Neem het volgende probleem EXT-SAT: Gegeven: een satisfiability instantie (U, C) waarvan bekend is dat C vervulbaar is en een nieuwe clause c over U. Vraag: is C {c } vervulbaar? De volgende reductie van het SAT-probleem kan gebruikt worden om aan te tonen dat dit probleem NP-hard is onder polynomiale-tijd reducties: Neem een willekeurige instantie ( U 0, C 0 ) van het SAT-probleem en creëer de volgende instantie van het EXT-SAT-probleem: a. U = U 0 { z }, C = { c { z } c C 0 } en c ={ z}, waarbij z U 0 b. U = U 0 { z }, C = C 0 { z } en c = { z }. waarbij z U 0 c. U = U 0 { y, z }, C = { c { y } c C 0 } en c = { y, z}, waarbij y, z U 0 d. U = U 0 { y, z }, C = { c { y } c C 0 } { z } en c = { y, z}, waarbij y, z U 0 Antwoord Alternatief a. is juist: (U, C) is triviaal vervulbaar door z waar te maken en (U, C {c } ) is vervulbaar dan en slechts dan als (U 0, C 0 ) vervulbaar is: de vervulbaarheid van (U, C {c }) vereist dat z onwaar wordt gemaakt en (U 0, C 0 ) vervulbaar is. Alternatief b. is niet juist, omdat (U, C {c } ) onvervulbaar is. Alternatief c. is niet juist, omdat (U 0, C 0 ) onvervulbaar kan zijn terwijl met y is waar en z is onwaar (U, C {c } ) vervulbaar is. Alternatief d. is juist: (U, C) is triviaal vervulbaar en (U, C {c } ) is vervulbaar desda z is waar en y is onwaar en (U 0, C 0 ) vervulbaar. Vraag 8. Gegeven zijn n processoren P 1 t/m P n en een verzameling taken T. Van iedere taak t in T is de verwerkingstijd v(t) in seconden bekend. Verder is er een deadline D (in gehele seconden) gegeven. Gevraagd wordt of het mogelijk is de taken uit T zodanig over de n processoren te verdelen, dat elke processor P i niet meer dan D seconden nodig zal hebben om alle aan P i toebedeelde taken achter elkaar uit te voeren. Dit NP-probleem is: a. een NP-volledig probleem, immers het is een restrictie van het PARTITION probleem. b. een NP-volledig probleem: PARTITION is een restrictie van dit probleem. c. een getal probleem. d. Voor n = 1 een polynomiaal probleem en voor n 2 een NP-volledig probleem. Antwoord Alternatief a. is onjuist, alternatief b. is juist. Alternatief c. is ook juist, evenals alternatief d. Vraag 9. Als A een NP-probleem is, dan geldt dat a. voor A geen polynomiaal algoritme bestaat. b. voor iedere instantie van A een accepterend berekeningspad van polynomiale lengte bestaat. c. yes-instanties van A polynomiaal verifieerbaar zijn. d. er een backtracking algoritme voor A bestaat en een polynoom p(), zodanig dat iedere instantie x uit A in O(2 p( x ) )-tijd kan worden opgelost. Alternatief a. is onjuist, alternatief b. is onjuist, alternatief c. is juist, alternatief d. is juist. 4

Vraag 10. Welke van de onderstaande inclusierelaties zijn geldig: a. NP RP b. NC = P c. NPC PP d. P BPP Alternatief a. is onjuist, alternatief b. is onjuist, alternatief c. is juist, alternatief d. is juist. 5

OPEN VRAGEN I Onderstaande vragen dient u kort te beantwoorden. Een antwoord dient in hoogstens 5-7 regels gegeven te worden. Vraag 11. Geef precies aan wat het verschil is tussen NP en de klasse P NP. Antwoord In de klasse P NP functioneert NP als een orakelklasse en zal een NP orakelalgoritme voor zowel yes- als no-instanties een antwoord geven in O(1)-tijd. Er volgt onmiddellijk dat P P NP en dat er geen verschil is tussen P NP en P co-np. Derhalve omvat P NP de klassen NP en co-np. Vraag 12. Het MAX-CLIQUE probleem is het probleem om, gegeven een graaf G = (V,E) en een positieve integer K, te bepalen of de maximale grootte van een clique in G gelijk aan K is. Geef een P NP algoritme voor dit probleem dat slechts twee orakelaanroepen doet. Antwoord begin if CLIQUE(G,K)= yes then if CLIQUE(G,K+1)= no then return yes return no end Hierin is CLIQUE(G,K) een aanroep van een orakel voor het CLIQUE probleem met parameters G en K. Vraag 13. In het door Sipser besproken Generalized Geography probleem zijn er twee spelers die om beurten een knoop kiezen in een gerichte graaf G. Speler 1 mag beginnen door uitgaande van een startknoop s een van de buren v van s te kiezen waarna speler 2 een buur van de door speler 1 gekozen knoop v mag kiezen etc. Een speler die als eerste gedwongen wordt een knoop te kiezen die al eerder gekozen is, verliest. De vraag is nu voor een gegeven graaf G en een gegeven startknoop s te bepalen of Speler 1 een winnende strategie heeft. Onderzoeker X denkt dat dit een NP-volledig probleem is. Immers als er een certificaat in de vorm van een sequentie van knopen v 1,w 1,v 2,w 2,... v n, w n of v 1,w 1,v 2,w 2,... v n gegeven wordt waarbij v i de i-de zet van Speler 1 en w i de i-de zet van Speler 2 voorstelt kan eenvoudig worden vastgesteld wie van beide spelers een winnende strategie heeft. Welke ernstige fout(en) maakt deze onderzoeker? Antwoord Een dergelijk certificaat laat alleen maar zien dat Speler 1 voor de gegeven sequentie van keuzes gewonnen dan wel verloren heeft en niet of Speler 1 een winnende strategie heeft. In dat laatste geval moet er voor elke serie keuzes die Speler 2 kan maken een serie van keuzes voor Speler 1 bestaan die deze speler uiteindelijk zal laten winnen. Derhalve zou een potentieel exponentieel aantal certificaten in de vorm van een gegeven spelverloop nodig kunnen zijn om dit aan te tonen. Vraag 14. Geef zo nauwkeurig mogelijk de relaties (=, of ) tussen de volgende klassen: P, NP, NP P, NPC, P NP en NP NP (niet noodzakelijk in deze volgorde) Antwoord P NP = NP P P NP NP NP. Verder geldt NPC NP. 6

Vraag 15. Wat is de relatie tussen het black-box model in de complexiteitstheorie voor bepaling van de complexiteit van een probleem (zoals besproken in de behandeling van quantum computing) en het gebruik van backtracking algoritmen voor de oplossing van NPcomplete problemen? Antwoord Het black-box model definieert een klasse van problemen waarbij de complexiteit gemeten wordt in termen van het aantal keren dat een orakel f geraadpleegd moet worden om de oplossing voor een probleem te vinden. Als dit orakel polynomiale complexiteit heeft, meet het black-box model precies de complexiteit van uitputtende zoekmethoden zoals backtracking voor het oplossen van NPC problemen. 7

OPEN VRAGEN II Beantwoord onderstaande vragen zo kort mogelijk. Geef geen irrelevante informatie, dit kan tot puntenaftrek aanleiding geven. Vraag 16. Gegeven is een verzameling P van processoren en een verzameling L P P van links tussen processoren. Een link (p,q) L betekent dat processor p een boodschap naar processor q kan sturen. Soms moet een boodschap van een processor p naar een processor q gestuurd worden via een specifieke verzameling T van processoren in P als tussenstations. Deze tussenstations mogen hierbij echter slechts één keer aangedaan worden. Geef een expliciete constructie van de reductie van een bekend NPC probleem naar het volgende probleem: Gegeven: een verzameling P van processoren, een verzameling L P P van links tussen processoren in P, twee gegeven processoren p en q in P en een verzameling T P van tussenstations, Vraag: is het mogelijk een boodschap te sturen van p naar q via links in L zodat alle processoren uit T precies éénmaal worden aangedaan? U kunt hierbij kiezen uit de volgende NPC problemen: VC, PARTITION, CLIQUE, HAMPAD, HAMCYCLE, SUBSUM, SAT en KNAPSACK. Antwoord Gegeven een willekeurige instantie I = (G = (V, E), s, t ) van het HAMPAD probleem, construeer de volgende instantie f(i) = (P, L, s, t, T ) met P = V, L = E en T = P {s, t}. NB: Indien u het HAMPAD probleem hebt gedefinieerd als HAMPAD = { G = (V, E) : G heeft een hamiltoons pad} wordt de reductie iets anders: Gegeven een instantie I = (G = (V, E) ) construeer een instantie f(i) = (P, L, s, t, T ) met P = V {s, t}, L = E { {s, v}, {t, v} v V }, T = P. Hierbij mogen s en t niet voorkomen in V. Vraag 17. Gegeven zijn N >1 vliegtuigen en K 1 startbanen. Van ieder vliegtuig v is bekend het aantal st(v) seconden dat het vliegtuig nodig heeft om op te stijgen (dwz de startbaan bezet houdt). Elke startbaan mag gedurende een totale hoeveelheid tijd B, gemeten in seconden vanaf een zeker tijdstip t = 0 gebruikt worden. Gevraagd wordt of er een toewijzing van startbanen en vertrektijdstippen aan de N vliegtuigen bestaat zodanig dat alle vliegtuigen voor de deadline B kunnen starten. Hierbij moet de volgende voorwaarden in acht worden genomen: (1) als vliegtuig v en vliegtuig w gebruik maken van dezelfde startbaan en w komt na v, dan moet altijd gelden: s(w) s(v) + st(v) (2) voor alle vliegtuigen v geldt: s(v) B st(v). Hierbij duidt s(v) het vertrektijdstip van een vliegtuig v aan. Kies een geschikt NP-compleet probleem A en formuleer de reductie van dit probleem A naar bovengenoemd probleem met behulp van restrictie ( 4 regels). U kunt hierbij kiezen uit de volgende problemen: SAT, PARTITION, VC, HAMPAD, HAMCYCLE, SUBSUM, CLIQUE, KNAPSACK. 8

Antwoord Beschouw instanties I van het bovengenoemde start-toewijzingsprobleem met I = (V, S, st(), B) waarin B = st(v)/2 en S = {s1, s2}. Er bestaat nu een simpele bijectie van PARTITION instanties naar deze restrictie van het start-toewijzings probleem: Voor PARTITION instanties I = (A, g() ) kies V = A en st() = g(). Dan volgt onmiddellijk dat de verzameling van alle instanties een NP-hard probleem is. 9