1 / 34

Fundamentele Informatica IN3005 deel 2

Fundamentele Informatica IN3005 deel 2. College 2 Cees Witteveen witt@cs.tudelft.nl. Onderwerpen. Reducties definitie eigenschappen voorbeelden correctheidsbewijzen Complexiteitsklassen definitie en klassen: P, NP, E, EXP P, NP en NP-complete problemen

farhani
Download Presentation

Fundamentele Informatica IN3005 deel 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fundamentele Informatica IN3005 deel 2 College 2 Cees Witteveenwitt@cs.tudelft.nl

  2. Onderwerpen • Reducties • definitie • eigenschappen • voorbeelden correctheidsbewijzen • Complexiteitsklassen • definitie en klassen: P, NP, E, EXP • P, NP en NP-complete problemen • eigenschappen polynomiale reducties • P versus NP • belang NP-complete problemen

  3. Reducties • Notatie: A  B • Betekenis: er is een algoritme om instanties van A op te lossen met behulp van (een algoritme voor) instanties van B. • Belang: als de extra tijd/ruimte benodigd voor de reductie niet essentieel is, isAniet essentieel moeilijker danB. (en daarom eventueel gemakkelijker). • Karp reducties:polynomiale reducties voor beslissingsproblemen; worden ook welmany-one reductiesgenoemd;

  4. R Algoritme voor A YA yesiff I YA noiffI YA Karp-reducties m A m B: voor alle IA DA: IAYAR(IA)  YB A B YB I algoritme B yes iff R(I)YB no iff R(I)  YB

  5. eigenschap (polynomiale) reducties Stel • AmB • reductie mis tijdbegrensd door functie T(.) • XB is algoritme voor B, tijdbegrensd door TB(.), dan geldt • er is een algoritme XA voor A, begrensd doorTA(n)= T(n) + TB( n + T(n) ) conclusie: als T en TBpolynomiaal begrensd zijn, dan is TA ook polynomiaal begrensd.

  6. Correctheid reducties • betrouwbaarheid • Neem een willekeurige instantie IA YAen toon aan dat R( IA ) YB. • Neem een willekeurige instantie IB R(YA ) en toon aan dat voor alle instanties IA met R(IA) = IB geldt: IAYA. • polynomialiteittoon aan dat transformatie van iedere instantieIAin polynomiale tijd (polynomiaal in de lengte|IA| vanIA )kan worden uitgevoerd.

  7. Hamiltoons Circuit (HAMC) instantie:G = (V,E)vraag:is er een simpel circuit in G dat alle knopen uit V bevat? Traveling Sales Person(TSP) instantie:verzameling S van n steden; afstandenmatrix D = [dij]nxn met dijZ+; een integer B  Z+.vraag:bestaat er een tour langs alle steden in S met totale afstand B? Reductie: vb

  8. hamiltoons circuit tour met kosten  |V| 1 2 1 2 1 2 1 1 2 2 1 1 1 reductie idee TSP instantie(V,D,|V| ) HAMC instantieG = ( V, E )

  9. Algoritme voor TSP probleem HAMC  TSP input: HAMC-instantie G = (V,E)output: yes alss G inYHAMC beginS:= V ;D:=[ dij] |V| x |V|wheredij = 1if { vi, vj } E and dij = 2 else;B :=|V|;return TSP(S,D,B); end

  10. HAMC  TSP (uitwerking) • Constructie reductieLaat I = ( G = (V,E)) een willekeurige instantievanHAMC zijn. Construeer de volgende instantie R(I) = (S, D, B) van TSP: • S:= V ; • D:=[ dij] |V| x |V| metdij = 1als { vi, vj } E en dij = 2 anders; • B :=|V|; • Correctheid reductiea. Stel I = ( G = (V,E)) is een yes-instantie van HAMC. Dan is er een circuit (vi1, vi2, vi3,…, vin, vi1) dat alle knopen uit V bevat met j=1,…,n-1: (vij, vij+1) Een(vin, vi1) E. Maar dan geldt onmiddellijk dat dvij,vi(j+1) = 1 en dvin,vi1 = 1 en derhalve is (vi1, vi2, vi3,…, vin, vi1) een tour in R(I) met kosten ≤ B. Derhalve is R(I) een yes-instantie van TSP.

  11. HAMC  TSP (uitwerking) b. Stel R(I) is een yes-instantie. Te bewijzen dat I een yes-instantie is. (Ga zelf na) • PolynomialiteitBedenk dat I = |V| +|E|.S is te construeren in O(|V|) tijd.D is te construeren in O(|V|2x |E|)-tijd.Bepaling van B kost O(|V|)-tijd. Totaal: O(|V|2x|E|) ≤ O(|I|3)-tijd

  12. Complexiteitsklassen • Definitie complexiteitsklassen • Machinemodellen • Onderscheid tussen klassen: hierarchiestellingen • Onderscheidbinnencomplexiteitsklassen:geschikte reducties, complete problemen • Eigenschappen polynomiale reducties

  13. Complexiteitsklassen • ComplexiteitsklasseEen complexiteitsklasse C gegeven een • machine model M • tijd/ruimte begrenzing B is de verzameling problemen oplosbaar met Min tijd/ruimte begrenzing B. • Voorbeelden: • P: de klasse problemen oplosbaar metDTM in polynomiale tijd; • NP : de klasse problemen oplosbaar met NDTM in polynomiale tijd.

  14. Machine modellen • Deterministiche Turingmachine: • voor iedere input is er precies 1(succesvol / falend / oneindig) berekeningspad. • Niet-deterministische Turingmachine: • voor gegeven input is meer dan 1 berekeningspad mogelijk; • berekening is succesvol als er tenminste één succesvol (eindig) berekeningspad is.

  15. Tijdklassen P O( nO(1)) NP E O(2O(n)) NE EXP O(2n^O(1)) NEXP Ruimteklassen L : O(log n) NL: PolyL: O(logO(1) n)NPolyL PSPACE O(nO(1))NPSPACE EXPSPACE O(2n^O(1))NEXPSPACE : deterministisch : niet-deterministisch Complexiteitsklassen

  16. Complexiteitsklassen:relaties (N)EXPSPACE EXP (N)PSPACE is strict bevat in is bevat in (N)PolyL NP NLk Lk NL P L

  17. Passende reducties en complexiteitsklassen • Als Ceen complexiteitsklasse is en  een reductie, dan is passend voorCals geldt C is “naar beneden gesloten” onder dwz: X,Y: als X  Y en Y  Cdan ookX  C • intuitie “ passend voorC”:tijd of ruimte benodigd voor uitvoering reductie valt binnen de tijd/ruimte begrenzingen vanC • Voorbeeld:polynomiale reductieszijnpassend voorPenNP

  18. Geschikte reducties • reducties passend voor complexiteitsklassen die P omvatten: • polynomiale reducties: reducties uit te voeren in O(nO(1)) - tijd • logspace reducties:reducties uit te voeren in O(log n) - ruimte

  19. De klasse NP • geen polynomiale constructie van oplossing bekender zijn geenalgoritmen voorhanden om een oplossing in polynomiale tijd te construeren.(d.w.z. geen polynomiale DTM beschikbaar) • wel polynomiale verificatie van oplossing bekender kan in polynomiale tijd geverifieerd worden of een voorgestelde oplossing voldoet of niet.(d.w.z. wel polynomiale NDTM voorhanden)

  20. Twee definities van NP • standaard definitie:[niet-deterministisch gokken]A  NP als er eenNDTM bestaat die iedere yes-instantie x van A oplost in polynomiale tijd,dwz. polynomiaal in de lengte |x| van x. • alternatieve definitie: [deterministisch verifieren]A  NP als er een DTM M bestaat en een polynoom p(.) zodat x YA desda - er bestaat een string c(x) (certificaat voor x) met |c(x)| p(|x|);- M antwoordt ‘yes’ voor input (x, c(x)) in hoogstens p(|x|) stappen. We tonen aan dat deze definities equivalent zijn

  21. instructie keuze NDTM: een berekening invoer x 2 1 2 1 1 1 certificaatc(x): 2 1 2 1 1 1 succesvolle berekening falende berekening

  22. NDTM: input + certificaat invoerx+certificaat 212111 2 1 2 1 1 deterministische berekening! 1 succesvolle berekening falende berekening

  23. gokstring (mogelijk certificaat) input x DTM yes gokmodule no NDTM anders bekeken • We kunnen ons derhalve een NDTM ook voorstellen als eenGOKMODULE+DTM :

  24. NDTM: simulatie met DTM p(|x|)

  25. Simulatie NDTM met DTM maximaalk>1keuzes k1 k2 k3 kp(|x|) i=1..p(|x|)ki Conclusie: P  NP  EXP ! Deterministische simulatie van polyNDTM kostO(kp(|x|+1)) = 2 |x|^O(1)-tijd

  26. Eigenschappen NP • NPEXP:iedere polynomiale NDTM is in exponentiële tijd te simuleren met een DTM. • voor alleNP-problemen zijn (exponentiële)backtracking algoritmenbekend. • we weten niet ofNP - P  ofNP P.

  27. C(boven P) B C   B  A A A P Eigenschappenpolynomiale reducties   AA(reflexiviteit) B Cen ABimpliceert A C (geslotenheid onder) AB en B Cimpliceert AC(transitiviteit)

  28. Complete, hard en easy • StelCeen complexiteitsklasse eneen (geschikte)reductie. • A isC-hard ondervoor iedere X in C geldt XA • A is C-compleet onderA is C-hard onder en A C • A is C-eenvoudig(easy)ondervoor eenX Cgeldt AX

  29. NPC   moeilijker       P Structuur van NP NPC = { A  NP | X  NP [X  A] } NP

  30. B Eigenschappen NPC NPC • AlsA  NPC, B  NP en A  B dan B  NPC. • AlsA  NPC  P dan P = NP. A P  NP (def.) NP  P :Neem X  NP. Dan X ≤ A. Derhalve (P gesloten) X  P .

  31. Waarom NPC belangrijk? • Als we een polynomiaal algoritme voor eenNPC-probleemAkunnen vinden ( A P) dan geldt P = NP. • Als we voor eenNPC-probleemAkunnen aantonen datA  P, dan geldt P  NP.

  32. Hoe A  NPC te bewijzen? • Bewijs eerst A  NP:Toon aan dat voor iedere yes-instantie IAYA van Aeen polynomiale verificatie procedure bestaat. • Toon aan datB Avoor een bekend NPC probleemB.Kies een geschikt bekend NPC probleem B; construeer een polynomiale reductie BA enlaat zien dat deze correct is.

  33. Hamiltoons Pad (HAMP) instantie:G = (V,E)vraag:is er een simpel pad in G dat alle knopen uit V bevat? Tot slot : om te oefenen Toon nu aan: HAMP ≤ HAMCenHAMC ≤ HAMP

  34. Volgende week: • een NPC probleem SAT... • waarom het plaatsen van receiver stations voor mobiel telefoonverkeer een moeilijk probleem is ... • voorbeelden van handige reductietechnieken

More Related