1 / 23

Fundamentele Informatica in345 Deel 2

Fundamentele Informatica in345 Deel 2. College 2 Cees Witteveen. Onderwerpen. Reducties: definitie en correctheid Complexiteitsklassen machine modellen: DTM, NDTM P, NP, E, EXP, PSPACE P, NP en polynomiale reducties complete en harde problemen: NPC, NP-Hard eigenschappen van NPC.

rosine
Download Presentation

Fundamentele Informatica in345 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 in345 Deel 2 College 2 Cees Witteveen

  2. Onderwerpen • Reducties: • definitie en correctheid • Complexiteitsklassen • machine modellen: DTM, NDTM • P, NP, E, EXP, PSPACE • P, NP en polynomiale reducties • complete en harde problemen: NPC, NP-Hard • eigenschappen van NPC

  3. Reducties • notatie: A  B • betekenis: als de tijd/ruimte benodigd voor de reductie niet essentieel is, is A niet essentieel moeilijker dan B (en evt. gemakkelijker) • we concentreren ons op many-one reducties(Karp-reducties) voor beslissingsproblemen. • we geven aan hoe de correctheid van reducties bewezen wordt

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

  5. Correctheid reducties • Neem een willekeurige instantie IAYA en toon aan dat R( IA )  YB . • Neem een willekeurige instantie IBR(YA ) en toon aan dat voor alle instanties IAmet R(IA) = IBgeldt: IA YA .

  6. Reductie: vb 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] met dij Z+; een integer B  Z+.vraag: bestaat er een tour langs alle steden in S met totale afstand B?

  7. algoritme voor het TSP probleem Voorbeeld: HAMC  TSP input: HAMC-instantie G = (V,E)output: yes alss G inYHAMC beginC:= V ;D:=[ dij ] |V| x |V| wheredij = 1if { vi, vj }  E and dij = 2 else;B :=|V|;returnTSP(C,D,B) end

  8. 1 2 1 2 1 2 1 1 2 1 1 2 1 Voorbeeld: reductie idee HAMC instantieG = (V, E) TSP instantie(V, D, |V| )

  9. Correctheid reductie • Stel I = (G = (V,E))YHAMC ; we bewijzen dat R(I) = (V, D, |V|)  YTSP; • Stel R(I) = (V,D, |V|)  YTSP; we bewijzen dat I = ( G = (V,E) )  YHAMC (bewijs op college)

  10. Complexiteitsklassen • Definitie van complexiteitsklassen • Machinemodellen • Onderscheid tussen klassen: hierarchiestellingen • Onderscheid binnen complexiteitsklassen:geschikte reducties, complete problemen • Eigenschappen polynomiale reducties

  11. 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 klase problemen oplosbaar met DTM in polynomiale tijd; • NP : de klasse problemen oplosbaar met NDTM in polynomiale tijd.

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

  13. 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 Complexiteitsklassen

  14. Onderscheid tussen klassen • We onderscheiden P, E, EXP etc.Er geldt in ieder geval: P  E  EXP • Maar geldt ook P  E en E  EXP? • Hiervoor gebruikenwe hierarchiestellingen

  15. Hierarchie stellingen • lineaire speed-up: vooruitgang in technologie doet niet ter zake: • als f(n) = (g(n)) en A een probleem is oplosbaar in f(n) [g(n)]- tijd, dan is A ook oplosbaar in g(n) [f(n)] -tijd. • voorbeeld: • als A oplosbaar is in 100 x n2-tijd, dan is A ook oplosbaar in n2-tijd.

  16. Hierarchie stellingen • ruimte-onderscheid: • als f(n) en g(n) ‘nette’ ruimtebegrenzingen zijnen limn  inf f(n)/g(n) = 0 dan is er een berekenbaar probleem in ruimte begrensd door g(n), maar niet door f(n). • Voorbeeld: • L  L2 want limn inf {log(n) / log2(n)}= 0

  17. Hierarchie stellingen (2) • tijdseparatie: • als f(n) en g(n) ‘nette’ tijdbegrenzingen zijn en limn inf {f(n) / g(n)} = 0 dan is er een probleem dat oplosbaar is in g(n) log(g(n)) - tijd, maar niet in f(n)-tijd. • voorbeeld • P  E : limn inf nk / 2n = 0 en 2n x n  O(2O(n)) • E  EXP: limn inf 2cn / 2n^k = 0 en 2n ^k x n k O(2n^O(1))

  18. Complexiteitsklassen:relaties (N)EXPSPACE EXP (N)PSPACE (N)PolyL NP NLk Lk P NL L

  19. Geschikte reducties en complexiteitsklassen • Als Ceen complexiteitsklasse is en  een reductie, dan is geschikt voorCals geldt dat C “naar beneden gesloten” is onder dwz: voor alle X, Y: als XY en Y  Cdan ookX  C • intuitie “geschikt voorC”: tijd of ruimte benodigd voor uitvoering reductie valt binnen de begrenzingen vanC

  20. Complete problemen • Stel C een complexiteitsklasse en ≤ een (geschikte) reductie. Een probleem A is • C-hardonder als voor iedere X in C geldt X A • C-compleetonder  als A is C-hard onder  en A C • C-een voudig onder alsvoor eenX  Cgeldt A X

  21. Geschikte reducties • reducties geschikt 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

  22. Vb: (polynomiale) reducties Stel • A m B • reductie is tijdbegrensd door functie T(.) • XB is algoritme voor B tijdbegrensd door TB(.), dan • is er ook een algoritme XA voor A, begrensd doorTA(n)= T(n) + TB(n + T(n) ) conclusie: • als T en TBpolynomiaal begrensd zijn dan is TAook polynomiaal begrensd.

More Related