Fundamentele Informatica IN 3005 Deel 2 Laatste College! Cees Witteveen witt@cs.tudelft.nl
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
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. g 18 g 10 g 1 g 9
Parallelle berekeningen: PGS circuits hardware sequentiële tijd size(c) = aantal circuit gates van C depth(c) = lengte langste pad van input element naar output parallelle tijd size = 9 depth = 5
Voorbeeld: : parity functie f(x 1,x 2,x 3,x 4 ) = (x 1 +x 2 +x 3 +x 4 ) mod 2 Ÿ Ÿ size = O(n) depth = O(log n) Ÿ Ÿ Ÿ x 1 x 2 x 3 Ÿ x4 x 4
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.
Wanneer loont parallellisme een probleem is parallelliseerbaar als het kan worden opgelost - in extreem korte tijd NC NC = Nick s class polylogaritmische tijd depth = O(log O(1) n) - met een redelijk aantal processoren polynomiaal begrensd # processoren size = O(n O(1) )
NC : realistisch parallellisme PGS 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
Voorbeeld NC-probleem probleem: PGS max van een rij depth = O(log n) 9 size = O( n) 8 9 8 7 3 9 5 8 1 7 3 2 9 6
NC : vervolg PGS Voorbeeld P-compleet probleem: Naam : Instantie Circuit Value Problem (CVP) Gegeven een boolean circuit met AND, OR en NOT poorten en binaire inputs x 1, x 2,, x n en binaire output y. Vraag Geldt 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
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
Test of polynoom 0 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 ) 0 then return no else k := k+1 return yes end Nb: Pr [ output yes p(x) 0 ] 0.5 N
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 ]
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 Õ S 2 «P 2 alle problemen in BPP hebben polynomiale circuits
P, NP, ZPP, RP, BPP en PP PP Co-NPC NPC BPP Co-NP co-rp ZPP P RP NP
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
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
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) 2 i = (u it ) 2 = a 2 i = 1 (T bewaart de L2-norm) Vb 1/ 2 1/ 2 1/ 2 1/ 2 T = (a 1 a 2 ) = (a 1 -a 2 )/ 2, (a 1 +a 2 )/ 2 ) -1// 2 1/ 2-1// 2 1/ 2 merk op dat T t T = I
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
Quantum fenomenen door de halfdoorlaatbare spiegel wordt toestand (1,0) getransformeerd in toestand 1/ 2 1/ 2 (1, 0) = (1/ 2 1/ 2 ) -1// 2 1/ 2 na 2e spiegel wordt de toestand (1/ 2, 1/ 2 ) wordt getransformeerd in (1/ 2, 1/ 2 ) 1/ 2 1/ 2 = (0, 1) -1// 2 1/ 2 blokkade reduceert superpositie (1/ 2 1/ 2 ) tot (1, 0)
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
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 d 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
DTM : transitiematrix T PGS T(c a,c b ) =1 c b is in een stap vanuit c a te bereiken, anders T(c a,c b ) = 0 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 efficient berekenbare klasse c init : beginconfiguratie c acc : accepterende configuratie P : klasse van problemen oplosbaar met polynomiale DTM
NDTM: transitiematrix T T(c a,c b ) =1 c b is in één stap vanuit c a te bereiken, anders T(c a,c b ) = 0 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 efficient berekenbare klasse M accepteert x NP : klasse van problemen oplosbaar met polynomiale NDTM
Quantum TM: transities Transitiematrix voor configuraties (T(c a,c b )) 2 = z 2 Pr [ c b vanuit c a in een stap] = z 2 z Œ Q arbitrair T is unitair : voor alle vectoren u geldt u T T 2 = S i=1.. C u i 2 (T t( x ) (c init,c acc )) 2 = p Pr [ M accepteert x ] = p BQP : klasse van efficient quantum-berekenbare problemen 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)
PrTm : Transitie matrix T Transitiematrix T(c a,c b ) = p kans om c b in één stap vanuit ( 0 p 1) c a te bereiken is p. T n (c a,c b ) = p Pr[ c b in n stappen vanuit c a te bereiken ] = k "c  c ŒC T(c,c ) = 1 : T is een stochastische matrix T t( x ) (c init,c acc ) = p efficient berekenbare klasse Pr [ M accepteert x ] = p 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
Quantum complexity : BQP PSPACE PP BQP BPP P BPP Õ BQP Õ PP Õ PSPACE
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.
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
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
NP, BPP en BQP? PGS Co-NPC NPC Co-NP BQP P BPP NP
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
Turingmachines en PGS 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
Leren van functies n f(n) g(n) h(n) 1 2 1 0 f(n) = n de priemgetal 2 3 1 0 3 4 5 6 7 5 7 11 13 17 2 4 7 13 24 0 0 24 120 360 g(1) = 1 g(n) = S i=1,2,3; n-i >0 g(n-i), n >1 h(n) = (n-1)(n-2)(n-3)(n-4)
en meer open functie-inductie n f(n) 6 3 8 4 12 6 10? zes acht twaalf tien
nodig: PGS 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.
Vb: tm voor stop-probleem probleem Solve Stop input : < M, x > ( 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!
en wat zegt de theorie... kunnen zwak lerend niet alle berekenbare functies P is is zwak lerend als leren P oneindig lang doorgaat met voorspellen; vanaf een zeker tijdstip steeds een juiste voorspelling doet. sterk lerend kunnen alle berekenbare P is is sterk lerend als functies leren P oneindig lang doorgaat met voorspellen; oneindig vaak een juiste voorspelling doet (maar af af en en toe de de mist in in gaat).
Onverwachte conclusies wetenschap volgens leertheorie een verzameling speciale kennisproducten K bereikt met speciale zwak lerende machines M. M. resultaat uit leertheorie er er zijn oneindig veel alternatieve verzamelingen van (lerende) machines M M met kennisproducen K K zodat K K «K = en en M M «M = Conclusie de de kans dat we resultaten van een buitenaardse beschaving kennen en/of hun methoden begrijpen is is praktisch 0!!
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?
Boost your IQ (i) hints voor aanvulling polynomiale reeksen f(n) = p(n) voor een polynoom p. pas methode van geitereerde verschillen toe f(n) 1 3 11 31 69 131 2 8 20 38 62 6 12 18 24 30 6 6 6 6 92 223
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...
programma voor extrapolatie d e f g e f g h f g h i 1. < > fi d 2 2. x fi x (2 2 2) 3. y... fi y 2 1. < > fi d 2 2. x fi x x x 3 3. y... fi y 2 1. < > fi d 2 2. x fi x x x x 2
Nog een voorbeeld n p a o q a p r a q s a 1. < > fi n 2. x fi x 3. x fi a 4. x. fi x 2 3 4 2 1. < > fi n 2 2. x fi x a x 2
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!
TOT ZIENS!