Są zadania takie, że ciąg obliczeń prowadzi od jednego wyniku do drugiego - i w tego typu problemach komputer kwantowy nie będzie szybszy ponieważ aby przeprowadzić kolejną operację trzeba znać wynik poprzedniej.
Nie masz do końca racji
maźku. Największy zysk z "kwantowości" komputerów ma teoretycznie leżeć właśnie w tym, by można było wykonać następną operację niby-nie-znając wyniku poprzedniej. To trochę tak jak z tym paradoksem Einsteina-Podolskyego-Rosena odnośnie splecionych cząsteczek.
Weźmy ten przykład z wyszukiwaniem. Dane:
- tablica nieuporządkowanych liczb o wielkości n
- szukana liczba X
Klasyczne rozwiązanie na komputerze polega po prostu na przechodzeniu przez tablicę i patrzeniu czy aktualna liczba to jest szukany X. Może to zająć 1 krok, może zająć n kroków, a średnio wychodzi n/2. Jest to więc problem złożoności rzędu O(n) -- notacja "duże O" oznacza, że liczbę kroków da się od góry ograniczyć funkcją tego co w O() pomijając stałe. Tutaj w przypadku średnim, będzie 1/2*n kroków, stąd O(n).
Zauważ, że dodając procesor, średni czas zmniejszy się do n/4, ale złożoność pozostaje O(n). Możesz dodać ile chcesz tych procesorów, a złożoności nie zmienisz.
Natomiast istnieje algorytm kwantowy, który rozwiązuje ten problem algorytmem złożoności O(pierwiastek(n)). Jak to działa? Qubit to jednostka, która zawiera jednocześnie stan 0 i 1 (z pewnym prawdopodobieństwem). Stosując odpowiednie bramki kwantowe, można przy pierwiastek(n) kroków wskazać najbardziej prawdopodobną pozycję na liście. Zatem nie jest to algorytm deterministyczny, ale widziałem przykładowy rozkład prawdopodobieństwa i szukana liczba miała 0.8+, a cała reszta jakieś niskie ułamkowe wartości.
O tym algorytmie kwantowym się dowiadywałem jakieś 2 lata temu, nie pamiętam wszystkich szczegółów. Jakby co, można je doczytać tutaj:
https://secure.wikimedia.org/wikipedia/en/wiki/Grover's_algorithmW każdym razie co jest ważne: komputery kwantowe w praktyce mogą się bardzo przydać, przykładowo z tym alg. Grovera - wykonać 100 kroków, zamiast 5000, przy tablicy wielkości 10000, to duży zysk. Ale co do tych najtrudniejszych problemów obliczeniowych, niestety komputery kwantowe nie dadzą nam ogromnego skoku jakościowego.
Ale co najciekawsze z punktu widzenia Lemofilów - prawdopodobnie komputery kwantowe będą programowane nie przez ludzi, a przez komputery klasyczne
. Dlaczego? Bo okazuje się, że znacznie łatwiej jest programistom stworzyć algorytm klasyczny, w którym zawrą mechanikę kwantową i zasady tworzenia programów na komputery kwantowe, niż samemu się głowić co i jak tam działa. Tak się nawet mówi, że nasze umysły nie pojmują inaczej mechaniki kwantowej niż poprzez matematykę. A akurat na tej, komputery klasyczne umieją sprawnie operować