230 likes | 346 Views
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.
E N D
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
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
R Algoritme voor A YA algoritme B yesiff I YA noiffI YA Karp-reducties m A m B: voor alle IA DA: IAYAR(IA) YB A B YB I yes iff R(I)YB no iff R(I) YB
Correctheid reducties • Neem een willekeurige instantie IAYA en toon aan dat R( IA ) YB . • Neem een willekeurige instantie IBR(YA ) en toon aan dat voor alle instanties IAmet R(IA) = IBgeldt: IA YA .
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?
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
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| )
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)
Complexiteitsklassen • Definitie van complexiteitsklassen • Machinemodellen • Onderscheid tussen klassen: hierarchiestellingen • Onderscheid binnen complexiteitsklassen:geschikte reducties, complete problemen • Eigenschappen polynomiale reducties
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.
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.
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
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
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.
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
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))
Complexiteitsklassen:relaties (N)EXPSPACE EXP (N)PSPACE (N)PolyL NP NLk Lk P NL L
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 XY en Y Cdan ookX C • intuitie “geschikt voorC”: tijd of ruimte benodigd voor uitvoering reductie valt binnen de begrenzingen vanC
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
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
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.