1 / 24

College in345 Deel 2

College in345 Deel 2. Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen. Overzicht Deel 2. Inhoud ondoenlijke en doenlijke problemen: praktische aspecten complexiteitstheorie Literatuur

sema
Download Presentation

College 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. College in345Deel 2 Cees WitteveenParallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen

  2. Overzicht Deel 2 • Inhoud ondoenlijke en doenlijke problemen: praktische aspecten complexiteitstheorie • Literatuur Moret, The Theory of Computation Hfst 6 + 7 + 8 + 9 • Praktikum 2 opgaven: • bewijs correctheid gegeven een reductie • ontwerpen van een reductie + correctheidsbewijs

  3. Organisatie • praktikumopgaven • groepsindeling zoals voor deel 1 • afronden voor einde kwartaal 3 • opgave 2 verstrekt na voltooiing opgave 1 • correctie: assistenten Zutt en Broekens • aanvullende informatie zie pds.twi.tudelft/vakken/in345 • tentamen meerkeuzevragen (5/6) + open vragen (1/2)

  4. Onderwerpen (1) • Inleiding Complexiteitstheorie: • doenlijke, ondoenlijke en onoplosbare problemen • reductietechnieken • complexiteitsklassen • complete problemen, hierarchie-stellingen

  5. Onderwerpen (2) • Doenlijk vss ondoenlijk: P versus NP • polynomiale reducties en polynomiale problemen • deterministiche vss niet-deterministische algoritmen • (N)P-volledige problemen • technieken voor constructie van reducties

  6. Onderwerpen (3) • Praktische behandeling van NP problemen • complexiteit en grote getallen:getalproblemen, pseudo-polynomiale algoritmen en sterke NP-volledigheid • de waarde van heuristieken:voor welke problemen zijn er polynomiale approximatietechnieken

  7. Onderwerpen (4) • Bijzondere onderwerpen • parallellisme: een oplossing voor ondoenlijkheid? • zero-knowledge proof systems waarom ondoenlijkheid ook een deugd kan zijn • speciale computationele modellen dna computing : de belofte van massief parallellisme quantum computing: natuurlijk indetermisme

  8. Berekenbare problemen doenlijk in tijd doenlijk in ruimte Doenlijke problemen Complexiteitstheorie (1) Alle problemen

  9. Ondoenlijk probleem? Diagnose:Gegeven: • een systeembeschrijving S, • een verzameling observaties O, • een verzameling mogelijke fouten (afwijkingen) F, • een positieve integer K Vraag: • is er een deelverzameling F’ van F met |F’| ≤ K zodanig dat S  O  F’ consistent is.

  10. Diagnose is moeilijk • Tijdkritisch proces:fouten moeten snel gevonden worden ! • Rekenintensief proces:fouten opsporen kost veel tijd !

  11. 500 mogelijke fouten.diagnose: 1 uur 1000 mogelijke fouten.diagnose: 0.5 jr 5000 mogelijke fouten.diagnose: 1019 jr Ook moeilijk met snellere computers? met huidig systeem

  12. 500 mogelijke fouten.diagnose: 1 uur 1000 mogelijke fouten.diagnose: 0.5 jr 5000 onderdelen.diagnose: 1019 jr 10 x sneller: 503 onderdelen per uur. 10.000 x sneller:513 onderdelen per uur. Ook moeilijk met snellere computers? met huidig systeem met sneller systeem

  13. Complexiteitstheorie (2) • Complexiteitstheorie:klassificatie van problemen naar • maximale hoeveelheid tijd of • maximale hoeveelheid benodigde ruimte die hetbeste algoritmevoor oplossing van het probleem in het slechtstegeval nodig heeft. • Voorbeeld: vinden van het maximum in rij : O(n)

  14. Complexiteitstheorie (vb) • er zijn diverse algoritmen voor het sorteerprobleem: • bubble sort, insertion sort : O(n2) • quicksort : O(n2) • heapsort, mergesort : O( n log n) • we kunnen bewijzen dat ieder sorteer algoritme(n log n)- tijd nodig heeft. • complexiteit van hetsorteerprobleemisdusO(n log n).

  15. Problemen • exacte ondergrenzen complexiteit voor weinig problemen bekend. • we kiezen daarom liever voor relatieve moeilijkheidsgraad:probleem A is niet essentieel moeilijker dan B. • O(n), O(n2) ... karakterizeringen niet robuust: afhankelijk eigenaardigheden comp. model. • we kiezen daarom hoofdzakelijk voor onderscheid polynomiale complexiteit vss exponentiële complexiteit

  16. Voor relatieve complexiteit gebruiken we reducties: A  B : A is niet essentieel moeilijker dan B ofB is op z’n minst zo moeilijk als A(onder  reducties) nut: stel we weten dat A een moeilijk probleem is en A  B dan is B minstens zo moeilijk als A Voor robuustheid maken we geen onderscheid meer tussen O(nk) voor k = 0,1,2 ... => complexiteitsklasse P : alle problemen oplosbaar in O(nO(1))Deze problemen vormen de doenlijke problemen. Oplossingen

  17. algoritme voor A algoritme voor B Reducties • Algemeen: reductie van A naar B : manier om een algoritme voor A te verkrijgen door een algoritme voor B te gebruiken:

  18. algoritme voor A algoritme voor B Reducties: nut • kosten(reductie) niet essentieel meer dan kosten(algoritme B) => A niet essentieel moeilijker dan B ( A  B)(vb: polyn. reducties en polyn. algoritmen)

  19. Typen reducties • Turing reducties:het (veronderstelde) algoritme voor B wordt als subroutine binnen het algoritme voor A gebruikt. Notatie: ATB • Voorbeeld:MINVC (minimale vertex cover) TVC • idee: ga na met binary search wat de kleinstewaarde van 1  K  |V| is, waarvoor de graaf G een vertex cover ter grootte van K heeft.

  20. Beslissingsproblemen (1) • Definitie:A is een beslissingsprobleem als alle instanties van A met “ja”(“yes”) of “nee”(“no”) beantwoord kunnen worden. • Voorbeelden:Satisfiability, Connectivity, TravelingSalesPerson

  21. Beslissingsproblemen:voorbeelden • Vertex Cover (VC) • instantie: een graaf G = (V,E) en K Z+ • vraag: heeft G een vertex cover V’  V ter grootte van K of minder ? • Traveling Sales Person (TSP) • instantie: een verzameling S van n steden , een intercity afstanden matrix Dnxn met dij Z+ en een integer B  Z+ • vraag: bestaat er een tour langs alle steden mettotale afstand  B ?

  22. Beslissingsproblemen (2) • Notaties domein van A DA instantie van A IA YesA NoA

  23. YB Karp-reducties m A m B: voor alle IA DA: IA YAR(IA)  YB R(YA) YA R(NA) B R A algoritme voor B yes no

  24. Karp-reductie: vb • reductie van VERTEX COVER naar CLIQUE: input: G = ( V,E ), K Z+; output: yes alss VC ter grootte van K bestaat begin Laat G’ = ( V’, E’ ) met V’ = V en E’ = { { v,w } | v ≠ w  V, {v,w}  E } K’ = | V | - K output CLIQUE(G’, K’) end

More Related