Jesteś tutaj:

Radykalny wstęp do obliczeń kwantowych

Dodano: 24 maj 2010 (poniedziałek), 20:44

Na angielskiej części forum "Quantasia" Milo Wolff, ojciec teorii WSM, zapoczątkował ciekawy wątek o układach scalonych. Zapytał o nasze pomysły na temat tego, co nowego WSM mogłaby wnieść w ich produkcję i działanie.

Larry Pruitt przedstawił obecne prace nad stworzeniem trójwymiarowych układów scalonych. Miałoby to polegać na układaniu wielu warstw półprzewodników w formie kanapki ;-)

Oczywiście ułatwiłoby to też chłodzenie tych układów i pozwoliło zaoszczędzić miejsce. Uważam, że zbudowanie trójwymiarowego półprzewodnika to interesująca idea i mam nadzieję, że wkrótce zobaczymy jej efekty. Jednak ta technologia ma też swoje ograniczenia, które możemy napotkać szybciej niż się spodziewamy.

Jednym z tych ograniczeń jest skalowanie: Nie możemy zbudować mikroobwodu mniejszego niż pewien rozmiar (13 mikrometrów, o ile mnie pamięć nie myli) z powodu interferencji między obwodami i problemów z chłodzeniem. Nawet jeśli wymyślimy jakiś sposób, by budować mniejsze mikroukłady, Heisenberg mówi, że mamy kłopoty zbliżając się do skali atomowej :-P (Choć WSM mogłaby pomóc na tym konkretnym polu, bo zmienia sposób w jaki postrzegamy zasadę nieoznaczoności Heisenberga.)

Jest też problem z samą strukturą współczesnych komputerów i metod obliczeniowych w ogóle, który leży w przesyłaniu informacji (danych) pomiędzy poszczególnymi częściami komputera.

Ograniczenia architektury von Neumanna

Każdy współczesny komputer jest zbudowany w oparciu o architekturę von Neumanna, co oznacza, że posiada centralną jednostkę obliczeniową (CPU, czyli procesor) i pamięć operacyjną (RAM). Dane i programy (które też są danymi) są przechowywane w pamięci RAM i muszą być najpierw przesłane do CPU, zanim będzie można wykonać na nich jakiekolwiek obliczenia. A po obliczeniu wynik jest odsyłany z powrotem do pamięci RAM. Sporo przerzucania danych tam i z powrotem! To kosztuje czas, no i ma też ograniczenie szybkości: dla sygnałów elektromagnetycznych szybkość takich transferów nie może przekroczyć szybkości światła.

Taka architektura komputera oznacza też, że obliczenia nie mogą być zrównoleglone, ponieważ jest tylko jedna magistrala danych łącząca CPU z pamięcią RAM, która na dodatek może działać tylko w jednym kierunku naraz! Producenci mikroprocesorów mnożą liczbę rdzeni na ich CPU, by je przyspieszyć. Ale to nie pomaga zbyt wiele, ze względu na to wąskie gardło (jedna magistrala, w jedną stronę naraz). Istnieją sposoby na drobne obejście tego problemu, np. używanie dwu/trzybramowej pamięci, lecz wymaga to szerszych magistral, większego zużycia energii, oraz zwiększa komplikację mikroobwodów.

Obliczenia rozproszone

Richard Feynman (który także był zainteresowany techniką obliczeniową) wiedział o tym wszystkim i powiedział kiedyś, że jest tylko jedno rozwiązanie tego problemu: dane muszą być przetwarzane w miejscu, w którym są przechowywane.

To jest naprawdę świetny pomysł, ponieważ likwiduje problem przesyłania danych z jednego miejsca do innego! Procesory posiadają kilka wewnętrznych rejestrów i pamięć podręczną (ang. cache) by przechowywać więcej danych "w miejscu przetwarzania".

Lecz prawdziwy przełom nadejdzie wtedy, gdy rozproszymy moc obliczeniową z jednej centralnej jednostki obliczeniowej na całą sieć wielu mniejszych jednostek obliczeniowych wyposażonych w ich własny kawałek pamięci i połączonych między sobą. Ta architektura jest nazywana obliczaniem w sieci rozproszonej lub obliczeniami w chmurze (ang. cloud computing). Zmniejsza problem przesyłania danych do minimum, obliczenia mogą być bardzo dobrze zrównoleglane, a także pozwala to na łatwą rozbudowę (po prostu dodajesz więcej mikrochipów). Internet jest świetnym podłożem do stworzenia takiej sieci rozproszonej.

Rozproszone myśli

Istnieją "komputery", które już używają tej technologii, lecz nie są to komputery stworzone przez człowkeka. Jednym z nich jest… ludzki mózg! Mózg jest zbudowany z neuronów (komórek mózgowych). Każdy neuron jest komórką mającą wiele wejść (dendrytów) i jedno wyjście (akson) (które może się rozgałęziać na końcu, by dostarczać sygnały do wielu innych neuronów). Na końcu każdego z jego wejść znajduje się mała przerwa, zwana synapsą. Ta mała szczelinka przewodzi sygnały elektrochemiczne tym bardziej, im częściej jej używasz, więc jest ona formą pamięci. A każdy neuron sumuje sygnały z wielu swoich wejść i gdy są one silniejsze niż pewna wartość progowa, odpala sygnał na swoim wyjściowym aksonie. Jest to najprostsza forma obliczeń i przetwarzania informacji.

Tak więc neuron jest najlepszym połączeniem pamięci i jednostki obliczeniowej, wszystko w jednym miejscu, a cały mózg jest najlepszą rozproszoną siecią obliczeniową! Dane są przetwarzane w miejscu, w którym są przechowywane – w każdym neuronie – a jeden kawałek informacji może być rozproszony po całym mózgu (co również oznacza, że jest mniej podatny na uszkodzenia fizyczne).

Obliczenia w tego rodzaju "komputerze" są wysoce zrównoleglone: wiele neuronów może pracować równolegle, każdy nad inną częścią problemu w tym samym czasie, i budować odpowiedź razem. To dlatego nasze mózgi potrafią robić wiele rzeczy, takich jak rozpoznawanie wzorców (głosu, twarzy itp.), snucie wolnych skojarzeń itp., których współczesne komputery nie potrafią. No i sieci neuronowe potrafią "programować same siebie" (uczyć się), czego współczesne komputery nie potrafią.

Największy komputer we Wszechświecie

Jest jeszcze jeden komputer rozproszony, o którym prawdopodobnie nie wiedziałeś i nawet się nie spodziewałeś. I ma on nawet więcej wspólnego z WSM! Jest nim… nasz Wszechświat! Tak, dobrze usłyszałeś. Wszechświat jest doskonałym komputerem rozproszonym! Ta idea przyszła do mnie we śnie, który miałem jakiś czas temu. Zobaczmy, dlaczego tak jest:

Wszechświat jest zbudowany z pierdyliardów atomów, a każdy atom jest połączeniem pamięci i procesora w jednym. Jego energetyczny stan kwantowy jest jego pamięcią: gdy ustawisz atom w określonym stanie kwantowym, pozostanie on w tym stanie na zawsze, dopóki coś nie zaburzy go z zewnątrz. (W kiążce Milo Wolffa "Exploring the Physics of the Unknown Universe" na stronie 234 jest opis eksperymentu, który to pokazuje. W polskiej wersji książki jest na stronie {wpisać}) Taki atom jest też arytmometrem (jednostką obliczeniową): sumuje amplitudy fal przychodzących od wszystkich sąsiednich atomów w całym znanym Wszechświecie i zmienia swój własny stan kwantowy zależnie od nich. Tak więc wykonuje obliczenia i zapamiętuje.

Atom jest jak neuron w baaaardzo dużej sieci neuronowej :-) ale jest nawet lepszy niż neurony w mózgu czy mikrochipy, ponieważ nie potrzebuje żadnych przewodów! Używa samej przestrzeni i podróżujących w niej fal do przesyłania informacji.

Zastanawiam się jednak… jeśli Wszechświat jest wielkim rozproszonym komputerem kwantowym, to:

  • Co on oblicza?
  • Dla kogo? Kim jest programista? :-)
  • Co się stanie, gdy on skończy swoje obliczenia? :-P
  • Czy otrzymamy liczbę 42? :-D
  • Jeśli działa podobnie do sieci neuronowej w naszych mózgach, to o czym Wszechświat rozmyśla?

I tak oto dochodzimy do doniosłego wniosku:
Energia jest informacją. A energia jest zrobiona z fal. Tak więc każda fala sama w sobie jest informacją! Jeśli chcemy skorzystać na WSM przy wytwarzaniu mikrochipów, to powinniśmy porzucić ideę mikrochipów w ogóle i używać fal kwantowych samych w sobie jako rozproszonej sieci obliczeniowej. Wtedy będziemy w stanie używać każdej dowolnej materii jako materiału przetwarzającego i przechowującego informacje, a do przesyłania informacji używać samej przestrzeni. I to będzie tym, co nazywam prawdziwym przełomem! :-D (choć niezbyt innowacyjnym: Wszechświat używa tej technologii od samego swego początku ;-D ).

To wszystko łączy się gładko z tematem komputerów kwantowych.

Komputery kwantowe

Jakiś czas temu Allan Turing napisał swoją pracę naukową o Maszynie Turinga – uogólnionym modelu komputera. Komputer Turinga składa się z przetwarzającej głowicy i (nieskończenie) długiej taśmy, która jest używana jako liniowa pamięć. Komputer Turinga czyta dane i program z taśmy, wykonuje obliczenia w swojej głowicy (która może wtedy zmieniać swój wewnętrzny stan), po czym zapisuje wynik z powrotem na taśmie.

Istnieje też podstawowy sposób zapisywania danych: system binarny (dwójkowy). Każda liczba może być zapisana jako ciąg cyfr. System dwójkowy używa tylko dwoch cyfr: 0 i 1, więc jest najbardziej podstawowy. Bardziej podstawowy jest już tylko system unarny (jedynkowy), który ma tylko jedną cyfrę: 1, i zapisuje każdą liczbę jako ciąg jedynek, (np. liczba 5 jest zapisywana jako 11111), lecz jest on wysoce niewygodny (spróbuj zapisać w nim liczbę 1000 a zrozumiesz dlaczego ).

Te dwie koncepcje: system dwójkowy i maszyny Turinga, są podstawami konstrukcji wszystkich współczesnych komputerów. Dowolny algorytm może być zmodelowany w ten sposób, i wszystkie współczesne komputery oparte o architekturę von Neumanna używają tej koncepcji obliczeniowej. To działa, lecz czasami obliczenie pewnych rzeczy wymaga ogromnych ilości czasu i przestrzeni pamięciowej.

Jednym z przykładowych problemów, z którymi współczesne komputery mają trudności, jest rozkładanie wielkich liczb na czynniki pierwsze. Im dłuższa liczba, tym więcej czasu komputer potrzebuje na rozłożenie jej. Odpowiednio długa liczba wymaga więcej czasu na rozłożenie, niż wynosi wiek Wszechświata. Dlatego praktycznie wszystkie współczesne szyfry i algorytmy bezpieczeństwa opierają się na tej trudności w rozkładaniu dużych liczb.

Lecz istnieje też inny sposób na zbudowanie komputera, którego nikt nie podejrzewał aż do niedawna: mam na myśli ideę obliczeń kwantowych. I nikt się nie spodziewał, że tak wiele może zależeć od sposobu, w jaki komputer jest zbudowany! (cóż, koniec końców, oni myśleli, że da się to zrobić tylko na jeden sposób: sposób von Neumanna). I wygląda na to, że ten nowy sposób wykonywania obliczeń ma w sobie wielką moc. Powstały algorytmy dla komputerów kwantowych, które zapowiadają się bardzo obiecująco: mogą rozkładać bardzo duże liczby w mgnieniu oka! Mogą przeszukiwać bazy danych w czasie równym pierwiastkowi kwadratowemu z czasu, którego potrzebowałby współczesny komputer na zrobienie tego samego! Jak to jest możliwe?

Jeśli czytałeś dowolną książkę o obliczeniach kwantowych, i zrozumiałeś ją (co jest bardzo trudne! spróbuj sam ), to prawdopodobnie powiedzieli Ci w niej, że zamiast używać zwykłych binarnych bitów do przechowywania informacji, komputery kwantowe używają qubitów (kwantowych bitów), które są zrobione z pojedynczych atomów lub cząstek. Qubity mogą przechować więcej informacji, niż binarne bity. Mówi się, że w 250 qubitach można przechować więcej liczb, niż jest atomów w całym znanym Wszechświecie! Powiedzą Ci też, że komputery kwantowe używają tych szczególnych cudownych efektów kwantowych, takich jak splątanie kwantowe, superpozycja prawdopodobieństw itp. No i oczywiście, że to wszystko jest bardzo skomplikowane (a przynajmniej takie jest w tych książkach).

Jak dotąd ciężko jest zbudować taki komputer z powodu czegoś, co nazywają "kwantową dekoherencją". W prostych słowach oznacza to, że te komputery rozstrajają się w bardzo krótkim czasie (kilka mikrosekund wystarczy). I oni nie wiedzą jeszcze, jak stabilizować te atomy, by utrzymać ich stany kwantowe dostatecznie długo (i tutaj jest dobre miejsce startu dla WSM; patrz eksperyment, o którym wspomniałem powyżej).

Jest jeszcze jeden problem: Każdy pomiar stanu kwantowego niszczy superpozycję i daje tylko jeden wynik z wielu – ten, który miał największe "prawdopodobieństwo". Więc możesz odczytać tylko jeden z tych wyników, i możesz to zrobić tylko raz.

Moje idee na temat obliczeń kwantowych

Tu jest dobre miejsce, bym napisał o swoich przemyśleniach na temat komputerów kwantowych. Przeczytałem wiele książek na ten temat i okazały się dla mnie bardzo trudne i skomplikowane. Używają hardkorowej matematyki, a jakby tego było mało, na dodatek są zaśmiecone równaniami i terminologią z Mechaniki Kwantowej, a wraz z nią tymi wszystkimi bzdurnymi wierzeniami, jak idea prawdopodobieństwa kwantowego, punktowych cząstek, superpozycji stanów, zapadania się funkcji falowej, splątania kwantowego i innych kwantowych cudów, które zaciemniają tą wiedzę jeszcze bardziej.

Poświęciłem wiele czasu by to wszystko zrozumieć i złamać ten kod, próbując znaleźć uproszczenia. I po pewnym czasie wydaje mi się, że osiągnąłem ten cel. Gdy już przekopiesz się przez cały ten bałagan, to dostrzeżesz, że tak naprawdę to wszystko jest bardzo proste! A wszelkie te komplikacje biorą się z niezrozumienia Mechaniki Kwantowej! Muszę jednak przyznać, że gdybym nie znał teorii WSM, prawdopodobnie nigdy nie byłbym w stanie tego wszystkiego zrozumieć!

Komputery kwantowe prościej

Jeśli na moment zapomnisz, że to, co czytasz, jest o Mechanice Kwantowej, i skupisz się jedynie na wzorach, to możesz dostrzec, że w obliczeniach kwantowych naukowcy używają zwyczajnych wektorów, oraz macierzy, które operują na tych wektorach. Wektor jest używany do przechowywania "stanu kwantowego" qubitu. Macierze, które oni nazywają "kwantowymi bramkami", to po prostu tablice liczb, które opisują różne manipulacje na wektorach. Studiowałem grafikę komputerową 3D, w której wektory i macierze są bardzo powszechne i grają ważną rolę. Dzięki temu byłem w stanie się połapać, że te manipulacje macierzowe w komputerach kwantowych również są proste: są niczym innym jak transformacjami współrzędnych, które obracają wektorem w taki sposób, który zachowuje jego długość niezmienioną (nazywają to "operacjami unitarnymi").

I to tyle! :-D Cała teoria obliczeń kwantowych na tym stoi: bierzesz wektor wskazujący w jakimś kierunku i stosujesz na nim te transformacje macierzowe, by obracać go na różne sposoby. Gdy skończysz, nowy kierunek pokazywany wektorem oznacza końcowy wynik. Wtedy rzutujesz go na jedną z osi układu współrzędnych, by ten wynik "zmierzyć".

Gdzie się podziewają kwantowe cząstki?

Nie wiem jak Wy, ale ja nie widzę tam żadnych atomów czy cząstek! Tak więc, czy atomy i nanotechnologie są naprawdę konieczne do zbudowania komputera kwantowego? Wierzę, że nie, i że zalety obliczeń kwantowych biorą się nie z cudownych efektów kwantowych z udziałem atomów, lecz z samego faktu, że używają innego sposobu zapisywania danych. Lepszej "metody kompresji", która pozwala nam wykonać więcej obliczeń za jednym zamachem.
By zilustrować tę ideę, opowiem Wam bajkę ;-)

Mały Jasio i jego pudełko kwantowych klocków

Pewnego razu był sobie mały Jasio. Jasio miał pudełko klocków. W tym pudełku było 10 przegródek, a każda z nich mogła pomieścić jeden klocek. Mały Jasio potrafił liczyć od 1 do 10 używając tego pudełka i klocków:
"Zero" to było puste pudełko.
"Jeden" to gdy umieścił 1 klocek w pudełku.
"Dwa" gdy umieścil tam 2 klocki.
"Trzy" gdy umieścił 3 klocki.
I tak dalej. Mógł w ten sposób doliczyć do 10, ponieważ tylko 10 klocków mieściło się w pudełku (i zarazem w jego głowie).

Lecz wtem przychodzi ojciec Jasia, informatyk, i mówi mu:

– Jasiu, robisz to wszystko niezbyt wydajnie. Uzywasz systemu unarnego (jedynkowego) do zapisywania liczb. My w informatyce używamy lepszego sposobu: systemu binarnego (dwójkowego). To taka sprytna sztuczka, która koduje liczby w specjalny sposób, co umożliwia nam zapisać więcej liczb w tym samym pudełku.

– Ojej, nie wiedziałem. Możesz mi opowiedzieć, jak to działa?

– Oczywiście. Najpierw weź flamaster i napisz te oto liczby nad każdą przegródką: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512. Te liczby to kolejne potęgi dwójki. Teraz używasz obecności klocka w danej przegródce by powiedzieć, że dana potęga dwójki jest zawarta w liczbie, którą chcesz zapisać:
"Zero" to puste pudełko, tak jak poprzednio.
"Jeden" to gdy wsadzisz jeden klocek do pierwszej przegródki, opisanej liczbą "1".
"Dwa" jest gdy wsadzisz jeden klocek do przegródki oznaczonej "2", pozostawiając wszystkie pozostałe przegródki puste.
By zapisać "trzy", wsadzasz jeden klocek w przegródkę "1" i jeden w przegródkę "2". To oznacza, że liczba "trzy" składa się z jednej jedynki i jednej dwójki. 1+2=3.
By zapisać "cztery", wsadź jeden klocek w przegródkę "4". To oznacza "jedna czwórka".
By zapisać "pięć", wstaw jeden klocek w przegródkę "4" i jeden w przegródkę "1". To oznacza, że piątka składa się z jednej czwórki i jednej jedynki. 4+1=5.
I tak dalej. Tym sposobem możesz zapisać dowolną liczbę między 0 a 1023, co daje łącznie 1024 różne liczby.

– Wow, tato, to jest fantastyczne! 1024 to o wiele więcej, niż 10! Ale zaraz… Dlaczego 1024?

– Bo masz 10 przegródek. Każda przegródka może zawierać jeden klocek lub nie zawierać nic, co daje 2 możliwe stany. A 2 do potęgi 10 to 1024.

– Rany, to trudne. Nie rozumiem tych potęg. Czy możesz wyjaśnić mi to prościej?

– Tak. Ostatnia przegródka w pudełku oznacza 512, gdy jest wypełniona klockiem. Gdy wypełnisz klockami wszystkie przegródki, dostaniesz 512+256+128+64+32+16+8+4+2+1=1023. Wraz z zerem masz łącznie 1024 możliwych liczb.

– OK, teraz kumam. Dzięki, tato. Ale wiesz… tak sobie myślę… Jeśli możemy użyć kodu binarnego, by zakodować więcej liczb w tym samym pudełku, z użyciem tej samej ilości klocków, to może istnieje nawet jakiś lepszy sposób? Lepszy kod, który pozwoli zapisać tam jeszcze więcej liczb?

– Nie, głuptasie – odpowiedział ojciec – to jest niemożliwe. System dwójkowy jest najbardziej podstawowy. No i był taki gość, Shannon, który udowodnił matematycznie, że gdy masz 10 przegródek i każda może przechować 1 klocek, to jest tylko 1024 możliwych sposobów umieszczenia tam tych klocków. To się nazywa entropia informacji. By przechować 1024 różnych liczb, potrzebujesz pudełka mającego co najmniej 10 przegródek.

Lecz nagle, w ogromnym kolorowym błysku światła, zjawiła się przed nimi czterowymiarowa istota z hiperprzestrzeni ;-) i powiedziała do ojca Jasia:

– Przyglądałem się z góry waszej dyskusji i muszę ci powiedzieć, że się mylisz. Twój syn ma rację: możesz użyć sprytniejszego sposobu przechowywania informacji.

Wziął flamaster i na każdym klocku na środku jednej ze ścianek zaznaczył kropkę. Następnie skreślił wszystkie potęgi dwójki widniejące na pudełku i napisał nad nimi inne liczby: 1, 6, 36, 216, 1296, 7776, 46656, 279936, 1679616, 10077696 – potęgi szóstki. Następnie włożył klocki do przegródek w bardzo dziwny sposób: jeden klocek włożył z kropką na wierzchu, inny kropką pod spód, jeszcze inny z kropką u góry, a ostatni z kropką na lewej ściance – każdy klocek inaczej zorientowany! Po czym powiedział do swoich zaszokowanych obserwatorów:

– Teraz możecie umieścić każdy z klocków na sześć różnych sposobów, ustawiając go oznaczoną ścianką w jednym z sześciu różnych kierunków. To daje 6 do potęgi 10, czyli 60466176 różnych liczb.

– Wow! Ponad sześćdziesiąt milionów liczb w pudełku o 10 przegródkach?! Jak to możliwe?! – wykrzyknęli obaj.

– No cóż… my nazywamy to "obliczeniami kwantowymi". A te 60 milionów to tylko rozgrzewka. Zwróćcie uwagę, że właściwie nie ma żadnych ograniczeń co do ilości kierunków, jake możecie wskazać kropką na każdym klocku, o ile tylko jesteście w stanie je rozróżnić.

– Wow! – wykrzyknął ojciec.

– Wolnego. Po czym możemy poznać, w jakim kierunku dany klocek wskazuje?

– Cóż… – powiedział Przybysz – możecie użyć układu współrzędnych. Na przykład, możemy się umówić, że pozioma oś to '1', a pionowa oś to '0'. Gdy klocek celuje kropką dokładnie w jednym z tych kierunków, macie swój stary dobry komputer binarny. Lecz jeśli obrócicie klocek w dowolnym innym kierunku, otrzymacie komputer kwantowy. Wtedy możecie opisać kierunek klocka używając tych współrzędnych: po prostu patrzycie, jak bardzo klocek jest ustawiony w kierunku poziomym, a jak bardzo w kierunku pionowym.

– Rany, toż to czysta fantazja!

To było zbyt wiele jak na maleńkie rozumki naszych wielkich bohaterów. Ich mózgi omal się nie ugotowały, gdy próbowali sobie wyobrazić, jak wiele różnych liczb mogą wepchnąć do tak małego pudełeczka. A Przybysz, który potrafił czytać w ich myślach, powiedział im:

– Zanim zniknę z waszego świata, muszę wam powiedzieć, że do zapisywania liczb możecie użyć jeszcze mniejszych rzeczy, niż to pudełko. Możecie użyć ziarenek piasku, bakterii, wirusów, cząsteczek, a nawet pojedynczych atomów. Wszelka materia jest zdolna do obliczeń. W istocie wszelka materia jest inteligentna, a wy żyjecie wewnątrz ogromnego kwantowego komputera, który kiedyś zbudowaliśmy, a który wy nazywacie Wszechświatem :-)

I wtedy Przybysz zniknął, upgrade'ując się z powrotem do wyższego wymiaru, pozostawiajac swoich uczniów z szeroko otwartymi ze zdziwienia gębami.

Oczywiście próbowali oni podzielić się swoją świeżo zdobytą wiedzą z innymi ludźmi. Lecz ludzkie stworzenia, szczególnie te nazywające siebie "nowoczesnymi fizykami kwantowymi" ;-) były zbyt głupie (czytaj: przekonane, że już wszystko doskonale wiedzą i że zawsze mają rację :-P) by to zrozumieć. Rozumieli jedynie przegródki i klocki, więc gdy widzieli klocek obrócony o 30 stopni od swej normalnej pozycji, mówili: "Ten klocek jest zerem i jedynką jednocześnie – superpozycją obu tych stanów", albo "Ten klocek jest zerem z prawdopodobieństwem 25%, oraz jedynką z prawdopodobieństwem 75%". A w procesie obliczeń, gdy obserwowali jak klocki się obracają, mówili: "Wow, te klocki są splątane! Ich stany '0' i '1' zmieniają się jednocześnie!" Mały Jasio i jego tata byli bardzo rozczarowani naukowcami, lecz mieli nadzieję, że pewnego dnia naukowcy zmądrzeją i będą w stanie zrozumieć, jak te komputery kwantowe działają.

Koniec :-)

Mam nadzieję, że podobała Wam się bajeczka i że pomogła Wam zrozumieć co mam na myśli. Uważam, że obliczenia kwantowe tak naprawdę nie polegają na użyciu atomów i kwantowych cudów, lecz na sprytnym sposobie przechowywania liczb, który umożliwia zakodowanie większej ilości liczb w jednym elemencie (qubicie).

Naukowcy powiedzą Ci, że to wszystko dzieje się dzięki superpozycji kwantowej. W pojedynczym bicie binarnym możesz przechować tylko zero lub jedynkę. Lecz w qubicie możesz przechować dowolną superpozycję zera i jedynki, co pozwala na przechowanie w nim większej ilości informacji. Mówią, że qubit "jest zerem i jedynką jednocześnie – superpozycją obu tych stanów". Na przykład, że jest jedynką z prawdopodobieństwem 66%, a także zerem z prawdopodobieństwem 33%. Lecz znając historię małego Jasia możesz wyraźnie zobaczyć, że to, co nazywają "prawdopodobieństwem", w rzeczywistości jest rzutem wektora na jedną z osi układu współrzędnych, czyli jego współrzędną lub składową.

Jeśli historia Jasia Cię nie przekonała, to przyjrzyj się uważnie co robi bramka kwantowa Hadamarda, która jest narzędziem do tworzenia superpozycji stanów kwantowych: bierze wektor wskazujący w kierunku osi '0' lub '1' i obraca go o 45 stopni! Nazywają to superpozycją zera i jedynki, ponieważ możesz zapisać ten nowy wektor jako:

Wzór (1)
(0+1)/sqrt(2)

Gdy dodasz takie dwa wektory, jeden wskazujący w kierunku |0>, a drugi wskazujący w kierunku |1>, to otrzymasz wektor będący przekątną kwadratu utworzonego z tych dwóch wektorów. Będzie on pod kątem 45 stopni do obu osi, a jego długość będzie równa sqrt(2), więc żeby znormalizować jego długość i uczynić ją jednostkową (=1), musisz podzielić go przez jego długość, czyli oczywiście sqrt(2). Wtedy:

Wzór (2)
sqrt(2)/sqrt(2) = 1

To samo tyczy się splątania. Robi się go poprzez superpozycję wektorów stanu dwóch qubitów, używając tych samych metod co powyżej. Lecz odkąd oba wektory mogą wkazywać w zupełnie innych kierunkach, wynikowy wektor ma więcej wymiarów, w których może się obracać.

Jak do tej pory nie widzę żadnych powodów, które mogłyby nas powstrzymywać przed "emulowaniem" obliczeń kwantowych na współczesnych komputerach, używając wektorów i macierzy. Jak każda emulacja, może to być nieco wolniejsze, niż fizyczna/sprzętowa implementacja (wielowymiarowe wektory i wielkie macierze oznaczają wiele współrzędnych i innych liczb do obliczania), lecz nadal nie rozumiem, dlaczego nie moglibyśmy użyć jakiejś innej sprzętowej implementacji, niż pojedyncze atomy, którymi jak narazie trudno nam jest manipulować. Ale co jeśli moglibyśmy użyć do tego jakichś bardziej makroskopowych urządzeń? Najprostszym takim urządzeniem może być nawet garstka obracających się kółek lub zębatek z namalowanymi na nich strzałkami; coś w stylu słynnego Mechanizmu z Antikythera (może on też był jakimś starożytnym komputerem kwantowym? ), czy mniej słynnej zaprojektowanej przez Turinga maszyny do obliczania funkcji Zeta, albo maszyny różnicowej Leibniza.

A może WSM może nam tutaj pomóc? Może dałoby się jakoś użyć fal i ich interferencji jako urządzenia obliczeniowego?

Co o tym wszystkim myślicie?


Możliwość komentowania wkrótce zostanie uruchomiona. Proszę o cierpliwość. Do tego czasu możesz przesłać mi maila z komentarzem, używając formularza kontaktowego.