Next: Kvantové obvody
Up: Matematické modely počítačů
Previous: Kvantový Turingův stroj
  Obsah
Před tím, než je možné vůbec nějaký kvantový počítač vyrobit, je nutné přijít
s modelem funkce takového počítače. V roce 1980 přišel Benioff
s modelem, který se podobal KTS. Čtecí hlava byla vyměněna za zařízení,
které zprostředkovává kvantově-mechanické interakce a ovlivňuje například
spiny částic, kterými kódujeme stavy 0 a 1. Vývoj byl nahrazen Hamiltoniánem
ve Schrödingerově rovnici. Důležité bylo, že se stroj vyvíjel po pevných
krocích. Na konci každého z nich byl klasicky odečten bit z pásky. Mezi kroky
se systém kvantově vyvíjel. Klasické měření na konci každého cyklu však
neumožnilo využít vlastností kvantových počítačů úplně, protože zničilo
křehkou superpozici stavů na pásce. Navíc s použitím časově nezávislého
Hamiltoniánu by bylo nesmyslně potřeba znát výsledek výpočtu na počátku,
protože by takový Hamiltonián musel obsahovat všechny informace o tom, jak se
bude výpočet ubírat a nemohl se dynamicky vyvíjet. Jeho nedokonalost
dále souvisí také s velkou vzdáleností, kterou působí čtecí hlava na pásku
a nedovoluje navrhnout pouze lokálně působící evoluční operátor s
časově nezávislým Hamiltoniánem.
Tyto nedostatky odstranil v roce 1985 Richard Feynman. Popsal výpočet na
kvantovém počítači jako posloupnost výpočetních úkonů na logických kvantových
branách a jejich zapojení v kombinačním obvodu. Jak bylo dokázáno, je popis
výpočtu pomocí kvantových obvodů výpočetně ekvivalentní výpočtu na kvantovém
Turingově stroji. Obvod se musel skládat z reverzibilních logických operací
(bran). Každá taková operace byla vyjádřena nějakým operátorem
. Provedení
operací během výpočtu pak bylo
zapsáno jako součin operátoru každé operace. Aby bylo možné vyjádřit
Hamiltonián, který by implementoval funkci daného obvodu a zároveň sledoval
v jakém stádiu se výpočet nachází, navrhl Feynman přidat ke qubitům
reprezentujícím vstupy a výstupy obvodu dalších
qubitů, kde
je
počet bran obvodu. Tyto qubity slouží vlastně jako čítač programu a
informují nás, kolik logických bran již bylo použito, tj. v jakém stádiu se
výpočet nachází. Místo, ve kterém se právě nachází výpočet je označeno
obsazeným qubitem (s hodnotou 1), který se nazývá kurzor. Abychom mohli
postupně qubity čítače nastavovat a mazat, je zapotřebí nových operátorů, které
by to prováděly. Tyto operátory se označují
a
a nazývají se
kreační a anihilační operátory, které nastavují kurzor na 1,
respektive 0. Kdykoliv naměříme kurzor na posledním qubitu, je jasné, že při
výpočtu již byly aplikovány všechny brány a výpočet je u konce. Výsledný
Hamiltonián má pak tvar:
Oba zmíněné operátory tak vlastně pohybují kurzorem dopředu a dozadu,
podle použitých bran. S průběhem výpočtu jsou přímo korelovány přes
operátory logických funkcí A. O všech operátorech budeme
blíže hovořit v kapitole o kvantových obvodech.
U Feynmanova modelu se předpokládá, že evoluční operátor umožňuje qubitům
interakce na libovolnou vzdálenost. Tento problém (vzhledem k možné
implementaci) vyřešil ještě v roce 1985 David Deutsch s jeho lokálním
časově nezávislým evolučním operátorem, ovlivňujícím pouze přilehlé qubity.
V takovém případě je však potřeba mít časově závislý Hamiltonián.
Next: Kvantové obvody
Up: Matematické modely počítačů
Previous: Kvantový Turingův stroj
  Obsah
Bashar
2001-01-23