Ik vind dat je uitleg niet echt goed beschrijft wat QC (quantum computing) nou eigenlijk is

. Wat jij uitlegt komt meer in de buurt van
fuzzy logic. De benadering van vinnixx hierboven ligt wat dat betreft dichter bij de waarheid, maar ook dat is niet zonder meer waar.
Natuurlijk is QC gebaseerd op qubits, die feitelijk niet eens zo heel veel verschillen van de triditionele bits. Ook zij kunnen 0 of 1 zijn. Echter, een quantum staat zoals die bekend is in de quantum mechanica is ook van toepassing. De echte staat van een qubit wordt dan beschreven met een zogenaamde golffunctie, die van elke mogelijke staat beschrijft wat de kans erop is. Om dit te begrijpen kun je denk ik het beste kijken naar dingen als het welbekende
double slit experiment, al ben ik zelf meer fan van het split beam experiment dat oa
hier wordt uitgelegd.
Dat experiment gaat als volgt: je hebt een foton emitter, en een 'halfway mirror' (die de helft van het licht doorlaat en de helft weerkaatst) die diagonaal tov de emitter staat. Als je een foton emit, dan is er 50% kans dat hij recht door de spiegel heen gaat, en 50% kans dat hij met een hoek van 90 graden wordt weerkaatst. Dit is goed te meten als je op beide paden een detector zet.
Vervolgens breng je met behulp van spiegels de twee stralen bij elkaar, op zo'n manier dat de afgelegde weg van het ene pad exact gelijk is als de afgelegde weg van het andere pad. Zet vervolgens nog een halfway mirror precies op de kruising, eveneens diagonaal, zoals in
dit plaatje, en plaats twee detectoren aan de uiteinden van de mogelijke paden na de tweede halfway mirror. Intuitief gezien zou je redeneren dat beide detectoren 50% kans hebben dat zíj de foton detecteren en niet de ander. Immers, ongeacht het pad wat de foton 'kiest' bij de eerste spiegel, de twee keuzes bij de tweede spiegel blijven gelijk. In de praktijk blijkt echter dat de fotonen altijd bij dezelfde detector terecht komen, zoals in het plaatje te zien is. Blokkeer je een van de paden, dan detecteer je 50% van de keren niets (want dan is het afgebroken pad gekozen), 25% van de keren een foton bij de ene detector, en 25% van de keren een foton bij de andere.
De interpretatie hiervan is dat de foton niet daadwerkelijk een pad kiest - de foton bevindt zich juist in een superstaat van de twee paden. Niet de een, niet de ander, maar allebei tegelijk. Het feit dat 1 enkele foton met zichzelf interfereert bij de tweede halfway mirror is daar het bewijs van. Op het moment dat je probeert te detecteren welk pad ze kiezen, dan vervalt die superstaat, en meet je dat hij het ene danwel het andere pad heeft gekozen. Laat je de stralen ongemoeid, dan interfereren de twee paden bij de tweede halfway mirror met zichzelf, en zullen ze er altijd op dezelfde manier uitkomen.
Een qubit kun je in feite zien als zo'n pad van het foton. Het ene pad is een 0, het andere pad is een 1. Het is mogelijk om de qubit zo'n staat te geven dat hij x% van de keren 0 is, en 100-x% van de keren een 1. Maar, dit gaat nog een stukje verder als je meerdere qubits hebt. Met 2 bits kun je in totaal 4 verschillende waarden coderen (00, 01, 10 en 11). 2 qubits kun je dan ook in een superstaat brengen die de 4 waarden tegelijk zijn. En met 3 qubits heb je een superstaat van 8 verschillende staten. Het aantal verschillende combinaties neemt exponentieel toe met het aantal qubits.
Bedenk goed dat deze superstaat niet uit is te lezen. Net als met de foton in het experiment, op het moment dat je de qubits "uitleest", dan vervalt de superstaat en kiezen de qubits een van de mogelijke waarden. Je kunt dus niet zomaar alle antwoorden van een bepaalde berekening met verschillende inputs in een keer uitlezen. Op het moment dat je meet, dan meet je gewoon 1 van de mogelijke uitkomsten. Wat wel mogelijk is, is de quantum superstaat op zo'n manier transformeren dat de kans van het goede antwoord wordt vergroot. Met behulp van
amplitude amplificatie is het bijvoorbeeld mogelijk om de kans van het vinden van x in de vergelijking y = f(x) gegeven een antwoord y en een quantum functie f te vergroten. Let wel, vergroten. Het algoritme zal dus meerdere malen uitgevoerd moeten worden om een zeker antwoord te geven.
Grover's algoritme maakt hier gebruik van door f(x) een functie te laten zijn die 1 geeft bij een bepaalde x en 0 bij alle anderen, oftewel, een zoekfunctie die weergeeft of het juiste element gevonden is. Hiermee is in slechts √N iteraties te bepalen wat x moet zijn, in tegenstelling tot een conventionele computer die elke mogelijke x apart moet evalueren voordat hij de juiste gevonden heeft.
[Reactie gewijzigd door .oisyn op 11 februari 2011 00:04]