NP-fullständighetsbevis

Relevanta dokument
Algoritmer och Komplexitet ht 08. Övning 6. NP-problem

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet

Isometries of the plane

Solutions to exam in SF1811 Optimization, June 3, 2014

Graphs (chapter 14) 1

Pre-Test 1: M0030M - Linear Algebra.

Grafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4

Tentamen MMG610 Diskret Matematik, GU

Föreläsning 9: NP-fullständighet

denna del en poäng. 1. (Dugga 1.1) och v = (a) Beräkna u (2u 2u v) om u = . (1p) och som är parallell

12.6 Heat equation, Wave equation

Tentamen i Matematik 2: M0030M.

Module 1: Functions, Limits, Continuity

Algoritmer, datastrukturer och komplexitet

This exam consists of four problems. The maximum sum of points is 20. The marks 3, 4 and 5 require a minimum

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

Workplan Food. Spring term 2016 Year 7. Name:

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

Styrteknik: Binära tal, talsystem och koder D3:1

Webbregistrering pa kurs och termin

8 < x 1 + x 2 x 3 = 1, x 1 +2x 2 + x 4 = 0, x 1 +2x 3 + x 4 = 2. x 1 2x 12 1A är inverterbar, och bestäm i så fall dess invers.

Kurskod: TAMS28 MATEMATISK STATISTIK Provkod: TEN1 05 June 2017, 14:00-18:00. English Version

Övning 3 - Tillämpad datalogi 2012

(D1.1) 1. (3p) Bestäm ekvationer i ett xyz-koordinatsystem för planet som innehåller punkterna

Support Manual HoistLocatel Electronic Locks

Webbreg öppen: 26/ /

Kurskod: TAMS11 Provkod: TENB 28 August 2014, 08:00-12:00. English Version

1. (3p) Bestäm den minsta positiva resten vid division av talet med talet 31.

F ξ (x) = f(y, x)dydx = 1. We say that a random variable ξ has a distribution F (x), if. F (x) =

Preschool Kindergarten

Resultat av den utökade första planeringsövningen inför RRC september 2005

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik

Algoritmer, datastrukturer och komplexitet

Module 6: Integrals and applications

Writing with context. Att skriva med sammanhang


FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

Tentamen i Matematik 3: M0031M.

Föreläsning 12+13: Approximationsalgoritmer

Föreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

Rastercell. Digital Rastrering. AM & FM Raster. Rastercell. AM & FM Raster. Sasan Gooran (VT 2007) Rastrering. Rastercell. Konventionellt, AM

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

Discrete Mathematics (English)

Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers Misi.se

F11. Läsanvisning: kap 10 + dessa OH. Kruskals algoritm kortaste vägar en till alla

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

x 2 2(x + 2), f(x) = by utilizing the guidance given by asymptotes and stationary points. γ : 8xy x 2 y 3 = 12 x + 3

E: 9p D: 10p C: 14p B: 18p A: 22p

and u = och x + y z 2w = 3 (a) Finn alla lösningar till ekvationssystemet

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Övning 5 ETS052 Datorkommuniktion Routing och Networking

MVE500, TKSAM Avgör om följande serier är divergenta eller konvergenta. Om konvergent, beräkna summan. (6p) ( 1) n x 2n+1 (a)

Beijer Electronics AB 2000, MA00336A,

Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9

Kurskod: TAIU06 MATEMATISK STATISTIK Provkod: TENA 17 August 2015, 8:00-12:00. English Version

Collaborative Product Development:

Tentamen i Matematik 2: M0030M.

Lösningar till tentan i SF1861/51 Optimeringslära, 3 juni, 2015

Problem som kan uppkomma vid registrering av ansökan

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Boiler with heatpump / Värmepumpsberedare

Isolda Purchase - EDI

Kurskod: TAMS11 Provkod: TENB 07 April 2015, 14:00-18:00. English Version

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

Övningsmästarprov 2 + några NP-reduktioner. Algoritmer, datastrukturer och komplexitet

Provlektion Just Stuff B Textbook Just Stuff B Workbook

Hjälpmedel: Inga, inte ens miniräknare Göteborgs Universitet Datum: 2018 kl Telefonvakt: Jonatan Kallus Telefon: ankn 5325

FORTA M315. Installation. 218 mm.

samhälle Susanna Öhman

2(x + 1) x f(x) = 3. Find the area of the surface generated by rotating the curve. y = x 3, 0 x 1,

Adding active and blended learning to an introductory mechanics course

2.1 Installation of driver using Internet Installation of driver from disk... 3

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm

Grafisk teknik IMCDP IMCDP IMCDP. IMCDP(filter) Sasan Gooran (HT 2006) Assumptions:

Föreläsning Datastrukturer (DAT037)

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

Par m 328 feet. Lång höger sväng. Korgen står placerad i en skogsglänta OB-linje på vänster sida.

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall

NO NEWS ON MATRIX MULTIPLICATION. Manuel Kauers Institute for Algebra JKU

LUNDS TEKNISKA HÖGSKOLA Inst. for Elektro- och Informationsteknik. SIGNALBEHANDLING I MULTIMEDIA, ETI265 Inlämningsuppgift 1 (av 2), Task 1 (out of 2)

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

SAMMANFATTNING AV SUMMARY OF

Grafisk teknik IMCDP. Sasan Gooran (HT 2006) Assumptions:

Hur fattar samhället beslut när forskarna är oeniga?

Hemuppgifter till fredagen den 16 september Exercises to Friday, September 16

Calculate check digits according to the modulus-11 method

Rep MEK föreläsning 2

Välkommen in på min hemsida. Som företagsnamnet antyder så sysslar jag med teknisk design och konstruktion i 3D cad.

Föreläsning 10. Grafer, Dijkstra och Prim

Protokoll Föreningsutskottet

LÄNKHJUL S3. Monteringsanvisning för: Länkhjul S3

Grafisk teknik. Sasan Gooran (HT 2006)

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Föreläsning Datastrukturer (DAT036)

Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families

How to format the different elements of a page in the CMS :

Transkript:

Algoritmer, datastrukturer och komplexitet, hösten 2016 Uppgifter till övning 9 NP-fullständighetsbevis På denna övning är det också inlämning av skriftliga lösningar av teoriuppgifterna till labb 4 och muntlig redovisning av teoriuppgifterna. Vad säger reduktionerna? A, B, C, D och E är beslutsproblem. Anta att B är NP-fullständigt och att det finns polynomiska Karpreduktioner mellan problemen så här (en reduktion av A till B tecknas här A B): A B C D E Vad vet man då om komplexiteten för A, C, D och E? Sätt ett kryss i tabellen nedan för det man säkert vet och en ring i för det som är möjligt men som man inte vet säkert. A C D E ligger i NP är NP-fullständigt är NP-svårt Frekvensallokering Inom mobiltelefonin behöver man lösa frekvensallokeringsproblemet som lyder på följande sätt. Det finns ett antal sändare utplacerade. Varje sändare kan sända på någon av en given uppsättning frekvenser. Olika sändare kan ha olika frekvensuppsättningar. Vissa sändare är så nära varandra att dom inte kan sända på samma frekvens, för då skulle dom störa varandra. (Detta beror faktiskt inte så mycket på avståndet som på geografin om det finns något berg, hus eller liknande som skärmar av.) Man vet från början vilka sändare som finns, vilken frekvensuppsättning varje sändare har och vilka par av sändare som skulle störa varandra om dom sände på samma frekvens. Problemet är att avgöra ifall det finns något möjligt val av frekvenser så att inte någon sändare stör någon annan. a) Formulera detta problem som ett grafproblem b) Visa att problemet ligger i NP genom att: b1) Föreslå vad en lösning kan vara. b2) Visa att om svaret är ja så kan lösningen verifieras. b3) Visa att verifikationen tar polynomisk tid. c) Visa att problemet är NP-svårt genom att: c1) Hitta ett känt NP-fullständigt problem att reducera. c2) Beskriv reduktionen mellan det kända problemet och frekvensallokeringsproblemet. c3) Visa att reduktionen är polynomisk. c4) Visa att reduktionen är korrekt. Därefter vet du att problemet är NP-fullständigt! Hamiltonsk stig i graf Visa att problemet Hamiltonian Path är NP-fullständigt. Problemet är att avgöra ifall det finns någon enkel stig som passerar alla hörn i en graf. 36

Spännande träd med begränsat gradtal Visa att följande problem är NP-fullständigt: Givet en oriktad graf G =(V,E) och ett heltal k, avgör ifall G innehåller ett spännande träd T så att varje hörn i trädet har gradtal högst k. Polynomisk reduktion Konstruera en polynomisk reduktion av 3Cnf-sat till Eq-gf[2], satisfierbarhetsproblemet för ett system av polynomekvationer över GF[2] (alltså heltal modulo 2). Är en Eulergraf k-färgbar? Många problem av typen avgör om grafen G har egenskapen e kan eventuellt förenklas om vi antar att grafen har någon speciell annan egenskap. Vi ska studera ett specialfall. Vi säger att en sammanhängande graf är en Eulergraf om varje hörn i grafen har jämn grad. Vi vill nu avgöra om en sådan graf är k-färgbar. Vi har närmare bestämt följande problem: Indata: En Eulergraf G och ett heltal k. Utdata: JA om grafen är k-färgbar. NEJ annars. För k 2 finns det en polynomisk algoritm för att avgöra färgbarhet för generella grafer. Vi antar därför att k 3. Avgör nu om det finns en polynomisk algoritm för att lösa ovanstående problem eller om problemet är NP-fullständigt. Lösningar Lösning till Vad säger reduktionerna? ligger i NP är NP-fullständigt är NP-svårt A x o o C x x x D x o o E o o x Lösning till Frekvensallokering a) Formulera frekvensallokeringsproblemet som ett grafproblem. Låt hörnen motsvara sändare och kanter motsvara sändare som stör varandra. Varje hörn v i är märkt med en frekvensuppsättning F i. Frågan är om det går tilldela varje hörn en frekvens från dess frekvensuppsättning så att inga hörn som är förbundna med en kant har samma frekvens. b) Visa att grafproblemet ligger i NP. b1) En lösning är lämpligen en frekvenstilldelning till varje hörn. b2) Gå igenom varje hörn och verifiera att dess frekvens är med i frekvensuppsättningen. Gå också igenom varje kant och verifiera att ändpunkternas frekvenser är olika. b3) Verifikationen tar linjär tid i grafens storlek. 37

c) Visa att grafproblemet är NP-svårt. c1) Vi provar att reducera k-färgningsproblemet. c2) k-färgning(g, k)= för varje hörn v i igrafeng F i {1,...,k} return frekvensallokering(g, {F i }) c3) Reduktionen skapar bara en k-mängd för vart och ett av hörnen. Den är alltså uppenbart polynomisk. c4) Visa nu att det finns en k-färgning av grafen G om och endast om det finns en tillåten frekvenstilldelning till G där alla hörn har frekvensuppsättningen {1,...,k}. Anta att vi har en k-färgning av G. Numrera färgerna 1 till k. Om ett hörn har fått färg i så låter vi motsvarande hörn (sändare) i frekvensallokeringsproblemet få frekvensen i. Detta blir en tillåten frekvenstilldelning eftersom vi har utgått från en tillåten k-färgning. Åt andra hållet: anta att vi har en tillåten frekvenstilldelning. Vi får en k-färgning genom att låta ett hörn få färg i om motsvarande sändare har fått frekvens i. Solution to Hamiltonsk stig i graf A Hamiltonian path is a simple open path that contains each vertex in a graph exactly once. The Hamiltonian Path problem is the problem to determine whether a given graph contains a Hamiltonian path. To show that this problem is NP-complete we first need to show that it actually belongs to the class NP and then find a known NP-complete problem that can be reduced to Hamiltonian Path. For a given graph G we can solve Hamiltonian Path by nondeterministically choosing edges from G that are to be included in the path. Then we traverse the path and make sure that we visit each vertex exactly once. This obviously can be done in polynomial time, and hence, the problem belongs to NP. Now we have to find an NP-complete problem that can be reduced to Hamiltonian Path. A closely related problem is the problem to determine whether a graph contains a Hamiltonian cycle, that is, a Hamiltonian path that begin and end in the same vertex. Moreover, we know that Hamiltonian Cycle is NP-complete, so we may try to reduce this problem to Hamiltonian Path. Given a graph G = V,E we construct a graph G such that G contains a Hamiltonian cycle if and only if G contains a Hamiltonian path. This is done by choosing an arbitrary vertex u in G and adding a copy, u, of it together with all its edges. Then add vertices v and v to the graph and connect v with u and v with u ; see Figure 2 for an example. Suppose first that G contains a Hamiltonian cycle. Then we get a Hamiltonian path in G if we start in v, follow the cycle that we got from G back to u instead of u and finally end in v. For example, consider the left graph, G, in Figure 2 which contains the Hamiltonian cycle 1, 2, 5, 6, 4, 3, 1. InG this corresponds to the path v, 1, 2, 5, 6, 4, 3, 1,v. Conversely, suppose G contains a Hamiltonian path. In that case, the path must necessarily have endpoints in v and v. This path can be transformed to a cycle in G. Namely, if we disregard v and v, the path must have endpoints in u and u and if we remove u we get a cycle in G if we close the path back to u instead of u. The construction won t work when G is a single edge, so this has to be taken care of as a special case. Hence, we have shown that G contains a Hamiltonian cycle if and only if G contains a Hamiltonian path, which concludes the proof that Hamiltonian Path is NP-complete. 38

v v 1 1 1 6 2 6 2 5 3 5 3 4 4 G G Figur 2: En graf G och hamiltonstigsreduktionens konstruerade graf G. Solution to Spännande träd med begränsat gradtal In this solution we use the alternative (original) definition of NP as nondeterministic polynomial time. First note that the problem can be solved by the following nondeterministic algorithm: 1. For each edge in E, choose nondeterministically if it is to be included in T. 2. Check that T is a tree and that each vertex has degree less than k. This means that the problem is in NP. Now we need to reduce a problem known to be NP-complete to our spanning tree problem. In this way we can state that determining whether a graph has a k-spanning tree is at least as hard as every other problem in NP. Consider the problem Hamiltonian Path that was shown to be NP-complete in the previous exercise. Can we reduce this problem to the spanning tree problem? That is, can we solve Hamiltonian Path if we know how to solve the spanning tree problem? We claim that we can and that G has a Hamiltonian path if and only if it has a spanning tree with vertex degree 2. It is easy to see that such a spanning tree is a Hamiltonian path. Since it has degree 2 it cannot branch and since it is spanning only two vertices can have degree < 2. So the spanning tree is a Hamiltonian path. If, on the other hand, G contains a Hamiltonian path, this path must be a spanning tree since the path visits every node and a path trivially is a tree. We have reduced Hamiltonian Path to the spanning tree problem and, therefore, our problem is NP-complete. Solution to Polynomisk reduktion Suppose we have a formula ϕ 3Cnf-sat, for example ϕ(x 1,x 2,x 3,x 4 )=(x 1 x 2 x 3 ) (x 2 x 3 x 4 ) (x 1 x 3 x 4 ) Reducing 3Cnf-sat to Eq-gf[2] means that, for every formula ϕ, we can create an equation that is solvable if and only if ϕ is satisfiable. Now, ϕ is only satisfiable if every clause can be satisfied simultaneously, so let s start with finding an equation for an arbitrary clause (x y z), where x, y and z are considered as literals rather than variables. For a start, the clause is satisfiable with one of the literals set to true, so in that case the equation x + y + z =1is also solved. But this fails if two literals are true! We can fix this by adding three more terms, where one and only one is 1 if two variables are 1. We get x + y + z + xy + yz + xz =1 39

Again, this is not complete. if all variables are set to 1, it fails. Of course, the solution is to add a term for this case, xyz. Our result is x + y + z + xy + yz + xz + xyz =1 If one of the literals in the clause happened to be inverted, e.g. we have x instead of x, replace x by (1 + x) in the equation. The first clause in the example would be turned into x 1 + x 2 +(1+x 3 )+x 1 x 2 + x 1 (1 + x 3 )+x 2 (1 + x 3 )+x 1 x 2 (1 + x 3 )=1 We are now ready to create an equation from an arbitrary 3-CNF formula ϕ. For every clause ϕ i in ϕ, create a corresponding equation Q i. Our claim is that this system of equations is solvable if and only if ϕ is satisfiable and we must prove that this is correct. To begin with, we note that (1 + x) is a proper way to handle inverses, 1+1 = 0 and 1+0 = 1, so in the following we will only consider literal values and not variables. 1. ( ) IfanequationinQ i is satisfiable, then there exists an assignment to the variables such that each left hand expression is summed to 1. Hence, at least one of the literals is 1 and the corresponding literal in the boolean formula set true would make it s clause satisfied. The equation system Q i being satisfied means that each equation is satisfied and consequently is each clause in ϕ satisfied. 2. ( ) Whenϕ is satisfied, we have an assignment on the variables such that each clause is satisfied. There are three cases for the clauses, (i) one literal is true, (ii) two literals are true and (iii) three literals are true. By construction, the corresponding equations are all satisfied. Lösning till Är en Eulergraf k-färgbar? Problemet är NP-fullständigt. Det är enkelt att verifiera om en lösning är en korrekt färgning så problemet ligger i NP. För att visa fullständighet reducerar vi det generella k-färgningsproblemet till vårt problem. Vi antar att k 3. AntaattviharengrafG. Vi gör om den till en Eulergraf G på följande sätt: Det måste finnas ett jämnt antal hörn med udda grad. Dela in dessa hörn i par. För varje par införs ett nytt hörn. Till detta hörn dras två kanter, en från vart och ett av de gamla hörn som genererat det nya hörnet. Grafen G plus de nya hörnen och kanterna utgör grafen G. Det är lätt att se att G är en Eulergraf. Vi visar nu att G är k-färgbar G är k-färgbar. Anta att f är en färgning av G, det vill säga att varje hörn x får en färg f(x). Vi definierar då en k-färgning f av G på följande sätt: Om x är ett hörn i G som också tillhör G sätts f (x) =f(x). Omx inte tillhör G så finns det två grannhörn y och z i G. Visätterdåf(x) till någon annan ledig färg än f(y) och f(z). (Detär möjligt att göra det eftersom k 3.) Implikationen åt andra hållet är trivial. 40