De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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

Verwante presentaties


Presentatie over: "T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in3005 Deel 2 College 6 Cees Witteveen"— Transcript van de presentatie:

1 T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in3005 Deel 2 College 6 Cees Witteveen witt@cs.tudelft.nl

2 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

3 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

4 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) ?

5 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

6 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

7 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

8 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

9 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

10 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

11 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 ) )

12 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)

13 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!

14 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

15 T U Delft Parallel and Distributed Systems group PGS FPTAS en pseudo- polynomiale algoritmen Schets bewijs: kies  = p( |I A |, max(I A ) ) -1 1. 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.

16 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

17 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

18 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 !

19 T U Delft Parallel and Distributed Systems group PGS Reductie van HAMPAD G = V, E 1 1 1 1 1 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!

20 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

21 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.

22 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.

23 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

24 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

25 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

26 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

27 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

28 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)?

29 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

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

31 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

32 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...

33 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.

34 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 ….  ( ) =

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

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

37 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.

38 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|)

39 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.

40 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

41 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.

42 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!


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

Verwante presentaties


Ads door Google