T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in3005 Deel 2 College 6 Cees Witteveen

Slides:



Advertisements
Verwante presentaties
H3 Tweedegraads Verbanden
Advertisements

H1 Basis Rekenvaardigheden
Het Web als een graaf Mathematical Institute LAPP-Top C-I We kunnen het (Surface) Web zien als een gerichte graaf: •Iedere webpagina is een knoop… •Er.
Minimum Spanning Tree. Wat is MST? • Minimum spanning tree • De meest efficiënte manier vinden om een verbonden netwerk op te bouwen.
Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen
vwo A/C Samenvatting Hoofdstuk 6
PM zijn de Principia Mathematica. Deze vormen een formeel systeem voor de wiskunde. Ze zijn beschreven door A.N. Whitehead and B. Russell. Gödel bepaalt.
Datastructuren Analyse van Algoritmen en O
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3005 deel 2 College 2 Cees Witteveen
Computationele complexiteit: NP-volledigheid
Project D2: Kempenland Sander Verkerk Jeffrey van de Glind
NP-volledigheid Algoritmiek © Hans Bodlaender, Oktober 2002.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Wat verandert in perspectief ? Wat verandert NIET ?
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
vwo A Samenvatting Hoofdstuk 12
vwo A Samenvatting Hoofdstuk 14
Differentieer regels De afgeleide van een functie f is volgens de limietdefinitie: Meestal bepaal je de afgeleide niet met deze limietdefinitie, maar.
Differentieer regels De afgeleide van een functie f is volgens de limietdefinitie: Meestal bepaal je de afgeleide niet met deze limietdefinitie, maar.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Assenstelsels en het plotten van Functies in LOGO
Classificatie van roosteringproblemen 1 || max vertraging Identiek, max eindtijd Gelijkaardige machines Andere problemen 1 Opdracht 2: Clustering.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.
TU Delft Groep Parallelle en Gedistribueerde Systemen Voorbeeld uitwerking reductie bewijs in3120 Cees Witteveen.
Fundamentele Informatica IN3120
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in3005 Deel 2 College 6 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Oplossing Langste Pad Probleem Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN 3005 Deel 2 Laatste College ! Cees Witteveen
TU Delft Groep Parallelle en Gedistribueerde Systemen Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 5 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN 3120 College 7 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3 005 Deel 2 College 4 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3005 Deel 2 College 3 Cees Witteveen
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Practicum I&M College deel 1
1 Datastructuren Heapsort (2e deel) College 5. 2 Vandaag  Heaps en Heapsort  (eind)  Nog sneller sorteren:  Ondergrenzen  Linair sorteren.
Lokale zoekmethoden Goed in de praktijk:
Hogere wiskunde Limieten college week 4
Datastructuren Sorteren, zoeken en tijdsanalyse
Cooperative Transport Planning
T U Delft Groep Parallelle en Gedistribueerde Systemen PGS College in345 Deel 2 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Laatste College ! Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 3 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 2 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 3 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 4 Cees Witteveen
TU Delft Groep Parallelle en Gedistribueerde Systemen Fundamentele Informatica IN3120 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit EWI,
H4 Differentiëren.
Een methode om nieuwe ideeën te genereren
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
Allard Kamphuisen Hado van Hasselt Wilco Broeders
Golf Basisbegrippen & Uitleg
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Zero Knowledge Authenticatie Gerard Tel. Overzicht Inleiding en Conclusie Ali Baba’s Grot en Alice’ bewijs Getallen, kwadraten, wortels Het Zero Knowledge.
Toepassingen van evenwichten
Vwo6 WiskA Toepassing van differentiaalrekenen Extra opgaven.
Kansverdelingen Kansverdelingen Inleiding In deze presentatie gaan we kijken naar hoe kansen zijn verdeeld. We gaan in op verschillende.
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Heuristieken en benaderingsalgoritmen Algoritmiek.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Gerandomiseerde algoritmes
Netwerkstroming Algoritmiek.
Berekening van de Orde Van een Algoritme
NP-volledigheid Algoritmiek.
Minimum Opspannende Bomen
Benaderingsalgoritmen
2. Tweedegraadsfuncties en vergelijking cirkel
Minimodules voor de 3e klas
Transcript van de presentatie:

T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in3005 Deel 2 College 6 Cees Witteveen

T U Delft Parallel and Distributed Systems group PGS Onderwerpen NP-optimaliseringsproblemen (NPO) Approximaties - approximatie-algoritmen, - approximatieklassen Approximatiekwaliteit - Goed benaderbare problemen - Slecht benaderbare problemen Interactieve bewijssystemen - Interactive proof systems - Zero-knowledge proof systems

T U Delft Parallel and Distributed Systems group PGS Optimalisering en NPO c(y): waarde van oplossing y polynomiaal berekenbaar A is een optimaliserings probleem: Gegeven x in D A bepaal een y in F(x) met minimale/maximale kosten c(y). ( y = opt(x) ) x DADA F(x): verzameling van alle oplossingen voor x probleem z  F(x) polynomiaal beslisbaar voor alle |z| l  p(|x|)  y  F(x) |y| is polynomiaal in |x| y

T U Delft Parallel and Distributed Systems group PGS NPO en NP ad 1: polynomiale verifieerbaarheid: Neem kandidaatoplossing s voor instantie I. Zulke oplossingen moeten voldoen aan |s|  p(|I|). s  F(I) kan in polynomiale tijd beslist worden. c(s) is polynomiaal berekenbaar, dus c(s)> d ook in polynomiale tijd berekenbaar Stelling: 1. als A  NPO dan A d  NP 2. NPO = PO alss P = NP Stel A is een NPO-probleem. We noemen de beslissingsvariant van A het probleem A d : Gegeven I A is er een s  F(I A ) met c(s) > d ? ( of c(s) < d) ?

T U Delft Parallel and Distributed Systems group PGS Onderwerpen NP-optimaliseringsproblemen (NPO) Approximaties - approximatie-algoritmen, - approximatieklassen Approximatiekwaliteit - Goed benaderbare problemen - Slecht benaderbare problemen Interactieve bewijssystemen - Interactive proof systems - Zero-knowledge proof systems

T U Delft Parallel and Distributed Systems group PGS Approximatie-algoritmen we zijn geinteresseerd in de kleinste  waarvoor er een polynomiaal  -approximatie algoritme voor A bestaat! | c(M( I A )) - opt( I A ) | max { opt(I A ), c(M(I A ) }   R M (I A ) = M is een  -approximatie algoritme voor A M IA  DAIA  DA M( I A )  F( I A ) A  NPO en M is een algoritme voor A

T U Delft Parallel and Distributed Systems group PGS Approximatieklassen A  APX Er bestaat een  < 1 en een approximatie algoritme M zodat M een polynomiaal algoritme voor A is met R M   A  PTAS Voor iedere   0 bestaat er een approximatie algoritme M(  ), zodat M(  ) een polynomiaal algoritme voor A is met R M   A  FPTAS Voor iedere   0 bestaat er een approximatie algoritme M(  ), zodat M(  ) polynomiaal gebonden is in |I A | en  -1 en R M   bv. Vertex Cover bv. Binpacking bv. Gewogen Knapsack

T U Delft Parallel and Distributed Systems group PGS Approximatie hierarchie NPO APX PTAS FPTAS PO NPO - APX: problemen waarvoor geen efficient approximatie algoritme bestaat tenzij P = NP Polynomiaal optimaliseerbare problemen MINCOVER, ETSP, MAXSAT BINPACKING KNAPSACK TSP-opt ! NP-optimaliseerbare problemen

T U Delft Parallel and Distributed Systems group PGS Onderwerpen NP-optimaliseringsproblemen (NPO) Approximaties - approximatie-algoritmen, - approximatieklassen Approximatiekwaliteit - Goed benaderbare problemen - Slecht benaderbare problemen Interactieve bewijssystemen - Interactive proof systems - Zero-knowledge proof systems

T U Delft Parallel and Distributed Systems group PGS Goed benaderbaar probleem Gewogen Knapsack (GK) Gegeven n items met gewichten w i  Z +, w 1  w 2 ...  w n, waarden v i  Z + en capaciteit C  max {w i } = w max  Z + Gevraagd bepaal een subset S  {1,2,..., n} zodat  i  S w i  C en  i  S v i maximaal. Nb: omdat C  w max geldt opt(I)  v max

T U Delft Parallel and Distributed Systems group PGS Een pseudopolynomiaal algoritme voor GK Construeer pseudopolynomiaal algoritme A voor GK met f( k, v) = minimum haalbaar gewicht voor keuze uit eerste k items met totale waarde  v f( 0, 0 ) = 0, f( 0, v ) =  voor v > 0. f( k+1, v) = min { f( k, v), f( k, v - v k+1 ) + w k+1 } OPT(I) = max{ v : f (n,v)  C } te berekenen in poly(n, v max, log w max )-tijd Grootte instantie I : |I| = O(n x (log w max + log v max )) = O(n x log (w max v max ) )

T U Delft Parallel and Distributed Systems group PGS Schaling van instanties Er geldt: c A(I c )  opt(I) en A(I c ) ≥ (  v  opt(I)  v /c  ≥. (  v  opt(I) v) / c - n = opt(I) / c ) - n I c : alle waarden v j in I met factor c gereduceerd dwz v c i =  v i /c  ; A c * :bereken benadering van oplossing mbv geschaalde instantie I c : A c *(I): = c. A(I c )  v i /c   v i /c -1 dus opt(I) - c n  A c *(I) = c. A(I c )  opt(I)

T U Delft Parallel and Distributed Systems group PGS Schaling van instanties Looptijd: A : poly( n, v max, log w max )-tijd A c * : poly( n, v max /c, log w max )-tijd I c : alle waarden v j in I met factor c gereduceerd dwz v c i =  v i /c  ; A c * :bereken benadering van oplossing mbv geschaalde instantie I c : A c *(I): = c. A(I c ) Kies nu c = .v max / n. Omdat |I| = O( n log (w max v max ) ) is nu A c * een poly(n, n/ , log w max ) = poly( |I|, 1/  ) algoritme!

T U Delft Parallel and Distributed Systems group PGS Een FPTAS algoritme Omdat opt(I) - c n  A c *(I) en opt(I) ≥ v max. geldt: ( opt(I) - A c *( I) ) / opt(I) ≤ c n / opt(I) ≤ c n / v max Dus voor c = .v max /n is A c * ook een  -approximatie algoritme R Ac *(I) = ( opt(I) - A c *( I) ) / opt(I)  c n / v max =  approximatie ratio poly( n, v max /c, log w max ) = poly( n, n/ , log w max ) = poly( | I |, 1/  ) looptijd Ac*Ac* Conclusie : A c * is een FPTAS-algoritme voor GK

T U Delft Parallel and Distributed Systems group PGS FPTAS en pseudo- polynomiale algoritmen Schets bewijs: kies  = p( |I A |, max(I A ) ) A  FPTAS  M is polynomiaal in  -1  M is polynomiaal in ( |I A |, max(I A )); 2. M is (FPTAS) benaderingsalgoritme voor A  | opt(I A ) - c(M(I A )) |  opt(I A ).  < 1  opt(I A ) = c(M(I A )) (analoog voor min. probleem) Stel A  FPTAS. Als er een polynoom p bestaat zodat voor alle I A geldt: opt(I A ) < p( |I A |, max(I A ) ), dan heeft A een pseudopolynomiaal algoritme.

T U Delft Parallel and Distributed Systems group PGS FPTAS en pseudo- polynomiale algoritmen (ii) Als A een optimaliseringsprobleem is waarvoor geldt - voor alle I A : opt(I A ) < p( |I A |, max(I A ) ), - A is sterk NP-volledig dan A  FPTAS Gevolg: voorbeeld: CLIQUE, VERTEX COVER

T U Delft Parallel and Distributed Systems group PGS Onderwerpen NP-optimaliseringsproblemen (NPO) Approximaties - approximatie-algoritmen, - approximatieklassen Approximatiekwaliteit - Goed benaderbare problemen - Slecht benaderbare problemen Interactieve bewijssystemen - Interactive proof systems - Zero-knowledge proof systems

T U Delft Parallel and Distributed Systems group PGS TSP-OPT  NPO - APX ! Stel TSP-OPT  APX. Dan is er een polynomiaal approximatie algoritme M voor een  < 1 met c( M(I) ) - opt(I) c(M(I))   en derhalve opt(I)  c(M(I))  opt(I) / (1-  ) We laten nu zien dat er een reductie van HAMPAD naar TSP-OPT mogelijk is, zodanig dat met M HAMPAD beslist kan worden !

T U Delft Parallel and Distributed Systems group PGS Reductie van HAMPAD G = V, E G heeft HAMPAD  TSP-OPT heeft tour met lengte n  c( M(I))  opt(I) /(1-  ) = n /(1-  ) G heeft geen  TSP-OPT heeft tour met lengte minimaal HAMPAD (n-1) + n/(1-  )  c( M(I)) > n /(1-  ) a = n /(1-  ) a a a a a Gevolg: polynomiale beslissingsprocedure voor HAMPAD!

T U Delft Parallel and Distributed Systems group PGS Onderwerpen NP-optimaliseringsproblemen (NPO) Approximaties - approximatie-algoritmen, - approximatieklassen Approximatiekwaliteit - Goed benaderbare problemen - Slecht benaderbare problemen Interactieve bewijssystemen - Interactive proof systems - Zero-knowledge proof systems

T U Delft Parallel and Distributed Systems group PGS Interactieve bewijssystemen NP = klasse van problemen met efficiente bewijzen voor yes-instanties Algemenere karakterizering: Stel twee partijen P(rover) : maakt bewijzen voor yes-instanties; heeft onbeperkte rekenkracht V(erifier): controleert bewijzen; heeft polynomiaal begrensde rekenkracht NP karakterizering: klasse van beslissingsproblemen waarvoor Prover een certificaat kan construeren waarmee een Verifier in polynomiale tijd kan vaststellen of instantie yes-instantie is.

T U Delft Parallel and Distributed Systems group PGS Interactive proof systems Uitbreiding 1. Probabilistische verificatie: Verifier controleert bewijzen probabilistisch in poly-tijd) 2. Interactie in meer rondes Prover en Verifier kunnen interacteren in een twee- zijdige dialoog 3. probleem ∏ is oplosbaar met interactief bewijs als er een V en een  > 0 bestaat zodat er een P* bestaat zodat V iedere yes-instantie met kans ≥  +0.5 accepteert voor iedere P een no-instantie met kans ≥  +0.5 verwerpt.

T U Delft Parallel and Distributed Systems group PGS Interactive proof systems IP is de klasse van alle problemen die oplosbaar zijn met een interactief bewijs waarbij niet meer dan een polynomiaal aantal rondes/boodschappen worden uitgewisseld

T U Delft Parallel and Distributed Systems group PGS Vb: GraphNonIsomorfisme Graaf Nonisomorfisme: Gegeven twee grafen G en H, zijn G en H niet isomorf? NP? niet bekend Laat (G1, G2) instantie zijn van GraphNonIso. 1. V selecteert at random G1 of G2, 2. V maakt isomorfe graaf H door random herlabeling van knopen en stuurt H naar P 3. P moet vervolgens meedelen of H afkomstig is van G1 of G2 4. stappen 1-3 kunnen naar believen herhaald worden. IP Protocol Conclusie: IP  NP  co-NP

T U Delft Parallel and Distributed Systems group PGS Interactive proof systems Formeel: V is een functie die op basis van input I, een random input R en een message history H = een volgende boodschap m k+1 bepaalt die of naar de prover gestuurd wordt of een eindtoestand q  {accept, reject} is. P is een functie die op basis van I en H = een volgende boodschap m k+1 naar V stuurt (V,P) (I,R) = accept als er een message history H bestaat die eindigt met accept voor een polynomiaal gebonden H en R. Pr( (V,P) (I) = accept ) = Pr ((V,P) (I,R) = accept ) voor een random R van polynomiale lengte

T U Delft Parallel and Distributed Systems group PGS Interactive proof systems Formeel (vervolg) Een probleem A is een IP probleem als er een polynomiale functie V bestaat en een willekeurige functie P zodat voor elke functie P* geldt: I is een yes-instantie van A  Pr[ (V,P) (I) = accept ] ≥ 2/3 I is een no-instantie van A  Pr[ ((V,P*) (I) = accept ] ≤ 1/3 Resultaat: IP = PSPACE

T U Delft Parallel and Distributed Systems group PGS Zero Knowledge Interactive Proofs probleem: A (Prover) wil B (Verifier) ervan overtuigen dat hij/zij in het bezit is van informatie X zonder X prijs te geven. (denk aan pinpasjes!) oplossing: Zero knowledge proof systeem

T U Delft Parallel and Distributed Systems group PGS Vb: 3-kleurbaarheid Naam3-kleurbaarheid (NPC probleem) Instantie G = (V, E) Vraag is G 3-kleurbaar, i.e. is er een functie f: E  {1,2,3} zodat voor alle {u,v}  E geldt f(u)  f(v)?

T U Delft Parallel and Distributed Systems group PGS Zero-Knowledge Prover moet Verifier ervan overtuigen dat hij kleuring van G kent zonder kleuring aan Verifier te onthullen. dit is een kleuring geconstrueerd door Prover

T U Delft Parallel and Distributed Systems group PGS Prover verbergt kleuring …. en toont G aan Verifier (Prover kan kleuring echter niet meer veranderen!)

T U Delft Parallel and Distributed Systems group PGS Verifier mag nu willekeurige kant e = {u,v} kiezen en Prover moet zijn kleuring van u en kleuring van v onthullen…. ? u v

T U Delft Parallel and Distributed Systems group PGS Prover onthult kleuring van u en v …. Verifier weet nu alleen dat voor e de kleuring goed is...

T U Delft Parallel and Distributed Systems group PGS Merk op: Pr [ kleuring is geen 3 kleuring | kleur u  kleur v ]  1 - 1/ |E| Verifier heeft derhalve na 1 ronde kans 1 - 1/ |E| om Prover te ontmaskeren als deze kleuring niet kent.

T U Delft Parallel and Distributed Systems group PGS Verifier is nog niet overtuigd. Prover start nieuwe ronde door random permutatie van kleuring te kiezen ….  ( ) =

T U Delft Parallel and Distributed Systems group PGS Prover verbergt kleuring voor Verifier en laat G opnieuw zien...

T U Delft Parallel and Distributed Systems group PGS ? Verifier kiest opnieuw een willekeurige kant e

T U Delft Parallel and Distributed Systems group PGS Prover laat opnieuw kleuring eindpunten zien. Nb: opnieuw kan Verifier alleen afleiden dat kleuring voor deze kant ok is.

T U Delft Parallel and Distributed Systems group PGS Na 2 ronden geldt: Pr [ kleuring is geen 3 kl’ring | kleur u  kleur v ]  (1 - 1/ |E|) 2 en algemeen: Pr( Prover kent geen kleuring | m rondes kleuring goed)  (1-1/|E|) m als V kans op bedrog  toelaat moet gelden m  log  / log (1-1/|E|)

T U Delft Parallel and Distributed Systems group PGS Zero-Knowledge: analyse ? Verifier wil zich ervan overtuigen dat Prover niet vals speelt. Verifier wil daarom hoogstens een kans  lopen dat zij bedrogen wordt door Prover. Voor m rondes geldt nu Pr( Prover kent geen kleuring | m rondes goed)  (1-1/|E|) m dus m  log  / log (1-1/|E|) rondes volstaan om Verifier te overtuigen van het feit dat Prover een 3-kleuring kent, zonder dat Verifier weet wat de kleuring is.

T U Delft Parallel and Distributed Systems group PGS Zero Knowledge Proofs: details (i) Stel instantie G =(V,E) gegeven en P weet kleuring f voor G, P maakt allereerst een permutatie f’ van f, verzegelt alle knopen v met one-way functies f i en stuurt f 1 (f’(v 1 )), f 2 (f’(v 2 )),..., f n (f’(v n )) naar V; V selecteert at random een kant {v i,v j } uit E en vraagt P om de bijbehorende inverses f -1 i en f -1 j. P stuurt f -1 i en f -1 j g is one-way functie: g in FP, g -1 is NP-hard

T U Delft Parallel and Distributed Systems group PGS Zero Knowledge Proofs details (ii) V opent f i (f’(v i )) en f j (f’(v j )) met f -1 i en f -1 j en controleert of 1. f -1 i (f i (f’(v i )) = f’(v i )  {1,2,3}, f -1 j (f j (f’(v j )) = f’(v j )  {1,2,3} 2. f’(v i ))  f’(v j ) Als f’ geen oplossing is ( P probeert V te beduvelen) dan loopt P een kans 1/|E| om ontmaskerd te worden.

T U Delft Parallel and Distributed Systems group PGS Zero Knowledge proofs details (iii) Als we deze informatie uitwisseling een aantal verschillende ronden ( zeg m ronden ) met verse oneway functies f i en permutaties f’ uitvoeren dan is de kans dat P een kleuring kent als m ronden goed verlopen gelijk aan 1 - (1 - 1/ |E|) m Deze kans nadert tot 1 als m  . V verkrijgt geen informatie over de kleuring f: per keer overtuigt hij zich er alleen maar van dat knopen van gekozen kanten verschillend zijn!