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 IN 3005 Deel 2 Laatste College ! Cees Witteveen

Verwante presentaties


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

1

2 T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN 3005 Deel 2 Laatste College ! Cees Witteveen witt@cs.tudelft.nl

3 T U Delft Parallel and Distributed Systems group PGS Onderwerpen Parallelle machines en complexe problemen - circuits als berekeningsmodel - wanneer loont parallellisme ? Random en Quantum Turing Machines - Quantum computing - Quantum complexiteit Turing machines voor onberekenbare problemen - hoe het stop probleem op te lossen - lerende machines - boost your IQ

4 T U Delft Parallel and Distributed Systems group PGS Parallelle berekeningen: circuits als berekeningsmodel Een (m,n) circuit is een gerichte acyclische graaf (DAG). Knopen: m+n poorten (gates), verbonden door lijnen. De eerste m gates zijn input gates, de overige n gates zijn circuit gates, met g m+n de output gate. Iedere gate berekent een boolese functie. g1g1 g9g9 g 10 g 18

5 T U Delft Parallel and Distributed Systems group PGS Parallelle berekeningen: circuits size(C) = aantal circuit gates van C depth(C) = lengte langste pad van input element naar output hardware  sequentiële tijd parallelle tijd size = 9 depth = 5

6 T U Delft Parallel and Distributed Systems group PGS Voorbeeld: parity functie ¬ ¬    x1x1 x2x2 x3x3 x4  ¬  ¬ ¬    x4x4  ¬ size = O(n) depth = O(log n) f(x 1,x 2,x 3,x 4 ) = (x 1 +x 2 +x 3 +x 4 ) mod 2

7 T U Delft Parallel and Distributed Systems group PGS Circuit families Voor iedere input grootte n is er een circuit C n nodig om berekening uit te voeren: algoritme  specificatie { C 1, C 2,..., C n, … } Resultaat Als P/poly ≠ NP dan heeft geen enkel NPC probleem polynomiale circuits.

8 T U Delft Parallel and Distributed Systems group PGS Wanneer loont parallellisme een probleem is parallelliseerbaar als het kan worden opgelost - in extreem korte tijd - met een redelijk aantal processoren polylogaritmische tijd depth = O(log O(1) n) polynomiaal begrensd # processoren size = O(n O(1) ) NC NC = Nick’s class

9 T U Delft Parallel and Distributed Systems group PGS NC : realistisch parallellisme Een NC-algoritme is een algoritme dat in O(log O(1) )- tijd en met O(n O(1) ) processoren kan worden uitgevoerd. Er geldt: NC  P. Een NC-reductie van probleem A naar probleem B ≤ NC is een Karp-reductie berekenbaar met een NC algoritme P-complete problemen : A is P-compleet als A  P en voor iedere B  P geldt B ≤ NC A. Vermoeden : P - NC  

10 T U Delft Parallel and Distributed Systems group PGS Voorbeeld NC-probleem: max van een rij 5817329658173296 87398739 8989 9 depth = O(log n) size = O( n)

11 T U Delft Parallel and Distributed Systems group PGS NC : vervolg Voorbeeld P-compleet probleem: Naam : Circuit Value Problem (CVP) InstantieGegeven een boolean circuit met AND, OR en NOT poorten en binaire inputs x 1, x 2, …, x n en binaire output y. VraagGeldt y = 1 voor de inputs x 1, x 2, …, x n ? Resultaat: CVP is P-compleet onder NC-reducties. Andere voorbelden: LP, unificatie in Prolog, Depth First Search Als P-complete problemen efficient parallelliseerbaar zijn dan geldt P = NC. Vermoeden: P-complete problemen zijn niet efficient parallelliseerbaar

12 T U Delft Parallel and Distributed Systems group PGS Onderwerpen Parallelle machines en complexe problemen - circuits als berekeningsmodel - wanneer loont parallellisme ? Random en Quantum Turing Machines Turing machines voor onberekenbare problemen - hoe het stop probleem op te lossen - lerende machines - boost your IQ

13 T U Delft Parallel and Distributed Systems group PGS Test of polynoom  input: polynoom p(x 1,x 2,..., x n ), integer N > 0 output:“yes” or “no” begin k : = 0; d:= degree(p); while k < N do for i =1 to n do a i := random(-n.d, +n.d) if p(a 1,a 2,..., a n )   then return “no” else k := k+1 return “yes” end Nb: Pr [ output “yes” | p(x)  0 ] ≤ 0.5 N

14 T U Delft Parallel and Distributed Systems group PGS randomized complexity Probabilistische Turingmachines (PrTm): toestandsovergangsfunctie specificeert kans Pr[ (q’..) | (q, input, …) ] RP (Klasse problemen met Monte Carlo algoritmen) A in RP als er een polynomiale PrTM M bestaat waarvoor geldt: x  Y A  Pr ( M(x) = accept] ≥ 0.5 (alleen false negatives) x  Y A  Pr ( M(x) = reject ] = 1 co-RP A in co-RP als er een polynomiale PrTM M bestaat waarvoor geldt: x  Y A  Pr ( M(x) = reject ] ≥ 0.5 (alleen false positives) x  Y A  Pr ( M(x) = accept ] = 1 ZPP = RP  co-RP (klasse problemen met Las Vegas algoritmen) [ Intuitief: run RP en co-RP algoritme totdat RP-algoritme accepteert of co-RP algoritme verwerpt. De kans dat dit na k ronden nog niet gebeurd is, is kleiner dan 0.5 k ]

15 T U Delft Parallel and Distributed Systems group PGS randomized complexity PP A in PP als er een polynomiale PrTM M bestaat waarvoor geldt: x  Y A  Pr ( M(x) = accept] ≥ 0.5 x  Y A  Pr ( M(x) = reject ] ≥ 0.5 BPP A in BPP als er een polynomiale PrTM M bestaat waarvoor geldt: x  Y A  Pr ( M(x) = accept] ≥ 0.75 x  Y A  Pr ( M(x) = reject ] ≥ 0.75 Relaties: ZPP  RP  NP  PP en RP  BPP  PP als BPP  NP dan NP = RP m.a.w. niet waarschijnlijk dat BPP  NP. BPP   2   2 alle problemen in BPP hebben polynomiale circuits

16 T U Delft Parallel and Distributed Systems group PGS P, NP, ZPP, RP, BPP en PP Co-NPC NPC NPCo-NP P ZPP BPP PP co-RP RP

17 T U Delft Parallel and Distributed Systems group PGS Quantum Computing Conventionele machines opereren op 0 -1 bitrijtjes met logische poorten (AND, OR, NOR, NAND,... ) Quantum computers - opereren op quantum bits (qubit). Een qubit kent twee basistoestanden: spin-down ( |  of | 0 >) en spin-up ( |  of | 1 > ). - Een rijtje van k-qubits kan in een superpositie van 2 k toestanden verkeren (parallellisme !) - alternatieve berekeningspaden van een quantum machine kunnen interfereren

18 T U Delft Parallel and Distributed Systems group PGS Quantum Computing Conventionele machines opereren op 0 -1 bitrijtjes met logische poorten (AND, OR, NOR, NAND,... ) Quantum computers - opereren op quantum bits (qubit). Een qubit kent twee basistoestanden: spin-down ( |0  ) en spin-up ( |1> ). - Een qubit bevindt kan zich ook in een superpositie van toestanden bevinden: a |0  + b |1> met a 2 + b 2 = 1. - Meting van zo’n toestand resulteert in een basistoestand: |0  met kans a 2 en |1> met kans b 2 - Een k-qubit systeem kan bestaan in iedere superpositie van de 2 k basistoestanden: a 1 |000…0> + a 2 |000…1> +... + a 2^k |111…1> met ∑ a 2 i = 1

19 T U Delft Parallel and Distributed Systems group PGS Quantum Computing een niet geobserveerd quantum systeem evolueert volgens een unitaire tranformatie Zo’n transformatie T opereert op een superpositie vector u T = (a 1, a 2, …, a 2^n ) en heeft de eigenschap dat ∑(u T T) i 2 = ∑ (u i T ) 2 = ∑ a i 2 = 1 (T bewaart de L2-norm) Vb 1/  2 1/  2 1/  2 1/  2 -1//  2 1/  2 -1//  2 1/  2 T = (a 1 a 2 ) = (a 1 -a 2 )/  2, (a 1 +a 2 )/  2 ) merk op dat T t T = I

20 T U Delft Parallel and Distributed Systems group PGS Quantum fenomenen Als een foton een halfdoorlaatbare spiegel passeert, wordt met p =.5 het foton gedetecteerd door d1 of d2 Plaatsen we twee halfdoorlaatbare en twee niet-doorlaatbare spiegels, dan zou je opnieuw met p =.5 het foton verwachten bij d1 of d2. Het foton verschijnt echter alleen bij d1 Plaatsen we nu een ondoorlaatbaar object op een pad, dan wordt opnieuw met p =.5 het foton gedetecteerd door d1 en d2

21 T U Delft Parallel and Distributed Systems group PGS Quantum fenomenen blokkade reduceert superpositie (1/  2 1/  2 ) tot (1, 0) door de halfdoorlaatbare spiegel wordt toestand (1,0) getransformeerd in toestand 1/  2 1/  2 -1//  2 1/  2 = (1/  2 1/  2 ) (1, 0) = (0, 1) na 2e spiegel wordt de toestand (1/  2, 1/  2 ) wordt getransformeerd in 1/  2 1/  2 -1//  2 1/  2 (1/  2, 1/  2 )

22 T U Delft Parallel and Distributed Systems group PGS Quantum Turing machines Doel: presentatie quantum complexiteits theorie zonder fysica-ballast Hoe: introductie Turingmachines en configuratie transitiematrices 1. deterministische Tm 2. nondeterministische Tm 3. probabilistische Tm 4. quantum Tm bron: Lance Fortnow: One Complexity Theorist’s view of Quantum Computing

23 T U Delft Parallel and Distributed Systems group PGS Configuratie overgangen Configuratie van een Tm M voor input x is een beschrijving van - input - inhoud van de werktapes, - huidige toestand - posities van de lees- en schrijkoppen op de tapes. Transitiematrix T is aanpassing van transitiefunctie  van M voor configuraties Definitie Voor een DTM M met configuratieverzameling C en input x: T(c, c’) = 1  M in configuratie c voor input x, kan in één stap overgaan naar configuratie c’

24 T U Delft Parallel and Distributed Systems group PGS DTM : transitiematrix T T k (c a,c b ) =1  als M voor input x in c a start, is M na k stappen in configuratie c b T t(|x|) (c init,c acc ) =1  M accepteert x T(c a,c b ) =1  c b is in een stap vanuit c a te bereiken, anders T(c a,c b ) = 0 c init : beginconfiguratie c acc : accepterende configuratie P : klasse van problemen oplosbaar met polynomiale DTM efficient berekenbare klasse

25 T U Delft Parallel and Distributed Systems group PGS NDTM: transitiematrix T T n (c a,c b ) = k  aantal berekeningpaden ter lengte van n vanuit c a naar c b is gelijk aan k T t(|x|) (c init,c acc ) > 0  M accepteert x T(c a,c b ) =1  c b is in één stap vanuit c a te bereiken, anders T(c a,c b ) = 0 NP : klasse van problemen oplosbaar met polynomiale NDTM efficient berekenbare klasse

26 T U Delft Parallel and Distributed Systems group PGS Quantum TM: transities A  BQP   x  Yes A ( T t(|x|) (c init,c acc )) 2 > 0.75  x  Yes A ( T t(|x|) (c init,c acc )) 2 < 0.25 (t(n) is polynoom in n) BQP : klasse van efficient quantum-berekenbare problemen T is unitair : voor alle vectoren u geldt || u T T || 2 =  i=1..|C| u i 2 (T t(|x|) (c init,c acc )) 2 = p  Pr [ M accepteert x ] = p (T(c a,c b )) 2 = z 2  Pr [ c b vanuit c a in een stap] = z 2 z  Q arbitrair Transitiematrix voor configuraties

27 T U Delft Parallel and Distributed Systems group PGS PrTm : Transitie matrix T T n (c a,c b ) = p  Pr[ c b in n stappen vanuit c a te bereiken ] = k T t(|x|) (c init,c acc ) = p  Pr [ M accepteert x ] = p T(c a,c b ) = p  kans om c b in één stap vanuit ( 0 ≤ p ≤ 1) c a te bereiken is p.  c  c’  C T(c,c’) = 1 : T is een stochastische matrix Transitiematrix L  BPP   x  L T t(|x|) (c init,c acc ) > 0.75 (t(n) is polynoom in n)  x  L T t(|x|) (c init,c acc ) < 0.25 efficient berekenbare klasse

28 T U Delft Parallel and Distributed Systems group PGS Quantum complexity : BQP BPP  BQP  PP  PSPACE P BPP BQP PSPACE PP

29 T U Delft Parallel and Distributed Systems group PGS Opmerkingen Quantum Comp quantum turing machine (qtm) zijn krachtiger dan standaard Tm’s Commentaar: Nee, iedere quantum computer kan gesimuleerd worden door een klassieke Tm. Voor een aantal problemen is mogelijkerwijs een speedup t.o.v. kllassieke berekeningsmodellen te behalen. reversibele operaties zijn een kenmerk van quantum berekeningen Commentaar: reversibiliteit is een consequentie van het feit dat T unitair is. Unitaire matrices zijn inverteerbaar: als Tu = v, dan is het mogelijk uit toestand v weer u te verkrijgen: T -1 v= u. quantum computers zijn sneller dan klassieke computers Commentaar Teruggebracht tot de vraag geldt BPP  BQP ? luidt het antwoord, dat weten we niet. Dit zou namelijk impliceren P ≠ PSPACE en dit is nog open.

30 T U Delft Parallel and Distributed Systems group PGS QC: nog een paar resultaten Bennett et al 1997: er bestaat een random orakel zodat een qtm exponentiele tijd nodig heeft om een NPC probleem op te lossen. Varizani 2000 BQP is waarschijnlijk niet bevat in NP; BQP  BPP NP is open Grover (1996) : quantum computing algoritme voor vinden item in een ongesorteerde database van n items in O(  n)-tijd. (Bennet: Grover’s algoritme is optimaal) Schor (1994) factorizering : O(n 3 ) quantum computing algoritme

31 T U Delft Parallel and Distributed Systems group PGS BQP en NPC Onwaarschijnlijk dat NPC  BQP ≠  gegeven een blackbox programma dat op precies één n-bit string een 1 oplevert. Er is geen enkel quantum algoritme dat deze string kan vinden in minder dan 2 n/2 - tijd

32 T U Delft Parallel and Distributed Systems group PGS NP, BPP en BQP ? Co-NPC NPC NP Co-NP BQP BPP P

33 T U Delft Parallel and Distributed Systems group PGS Onderwerpen Parallelle machines en complexe problemen - circuits als berekeningsmodel - wanneer loont parallellisme ? Random en Quantum Turing Machines Turing machines voor onberekenbare problemen - hoe het stop probleem op te lossen - lerende machines - boost your IQ

34 T U Delft Parallel and Distributed Systems group PGS Turingmachines en onberekenbaarheid Turingmachine model om te bepalen wat berekenbaar is en wat doenlijk is om te berekenen. onberekenbare problemen zijn er interessante problemen die onberekenbaar zijn? kunnen we machines definieren die deze problemen oplossen ? Er zijn Turingmachines voor niet-berekenbare functies

35 T U Delft Parallel and Distributed Systems group PGS Leren van functies f(n) 2 3 5 7 11 13 17 g(n) 1 1 2 4 7 13 24 h(n) 0 0 0 0 24 120 360 n1234567n1234567 f(n) = n de priemgetal g(1) = 1 g(n) =  i=1,2,3; n-i >0 g(n-i), n >1 h(n) = (n-1)(n-2)(n-3)(n-4)

36 T U Delft Parallel and Distributed Systems group PGS en meer … open functie-inductie 63 84 126 10? n f(n) zes acht twaalf tien

37 T U Delft Parallel and Distributed Systems group PGS nodig: mind changing machines n-trial machine Turing machine die n verschillende outputs mag geven en waarbij det laatst geproduceerde output telt. resultaten 2-trial machines kunnen het STOP-probleem voor turing machines oplossen voor iedere eindige n is er een berekenbare functie f zodat f niet geidentificeerd kan worden door een n-trial Tm.

38 T U Delft Parallel and Distributed Systems group PGS Vb: tm voor stop-probleem input : ( turingmachine M, invoer x voor M) output : “yes” als M(x) stopt voor x, anders “no” 1. print “no” op output tape; 2. simuleer M voor input x; 3. als simulatie stopt (dwz M(x) stopt voor x), print “yes” op output tape. laatste antwoord gegeven door deze 2-trial machine is correct ! Solve Stop

39 T U Delft Parallel and Distributed Systems group PGS en wat zegt de theorie... zwak lerend P is zwak lerend als P oneindig lang doorgaat met voorspellen; vanaf een zeker tijdstip steeds een juiste voorspelling doet. P is zwak lerend als P oneindig lang doorgaat met voorspellen; vanaf een zeker tijdstip steeds een juiste voorspelling doet. sterk lerend P is sterk lerend als P oneindig lang doorgaat met voorspellen; oneindig vaak een juiste voorspelling doet (maar af en toe de mist in gaat). P is sterk lerend als P oneindig lang doorgaat met voorspellen; oneindig vaak een juiste voorspelling doet (maar af en toe de mist in gaat). kunnen niet alle berekenbare functies leren kunnen alle berekenbare functies leren

40 T U Delft Parallel and Distributed Systems group PGS Onverwachte conclusies resultaat uit leertheorie er zijn oneindig veel alternatieve verzamelingen van (lerende) machines M’ met kennisproducen K’ zodat K’  K =  en M’  M =  een verzameling speciale kennisproducten K bereikt met speciale zwak lerende machines M. wetenschap volgens leertheorie Conclusie de kans dat we resultaten van een buitenaardse beschaving kennen en/of hun methoden begrijpen is praktisch 0 !

41 T U Delft Parallel and Distributed Systems group PGS Voorlopige conclusie wat is de waarde van IQ-tests?  wat is de waarde van het oordeel van een Tm (testconstructie+afname) over een niet-berekenbaar proces?

42 T U Delft Parallel and Distributed Systems group PGS Boost your IQ (i) hints voor aanvulling polynomiale reeksen f(n) = p(n) voor een polynoom p. pas methode van geitereerde verschillen toe 13113169131 6 30 92 223 f(n) 28203862 6121824 666666

43 T U Delft Parallel and Distributed Systems group PGS Boost your IQ (ii) In IQ-tests komen wel eens vragen over extrapolatie van letter reeksen. De volgende truc kan gebruikt worden voor zgn Thurstone series: wat zijn de volgende letters in de reeks d e f g e f g h f g h i...

44 T U Delft Parallel and Distributed Systems group PGS programma voor extrapolatie d e f g e f g h f g h i 1.  d 2 2. x  x’x’’x’’’ 3 3. y...  y’ 2 1.  d 2 2. x  x’ (2 2 2) 3. y...  y’ 2 1.  d 2 2. x  x’x’’x’’’x’ 2

45 T U Delft Parallel and Distributed Systems group PGS Nog een voorbeeld n p a o q a p r a q s a 1.  n 2. x  x’’ 3. x  a 4. x.  ‘x 1.  n 2 2. x  x’’ a x’ 2 23422342 n p a o q a p r a q s a

46 T U Delft Parallel and Distributed Systems group PGS Einde in3005 deel 2 Op de in345/in3005-site: - proeftentamen + uitwerking - uitwerkingen oefenopgaven - lijst met NP-problemen - korte handleiding te bestuderen - leerstof uit Moret. Succes!

47 T U Delft Parallel and Distributed Systems group PGS TOT ZIENS !


Download ppt "T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN 3005 Deel 2 Laatste College ! Cees Witteveen"

Verwante presentaties


Ads door Google