O ogólnej pomocy obliczeniowej
Nie zdając sobie z tego sprawy, zadajesz wersję jednego z najtrudniejszych pytań, jakie możesz zadać na temat informatyki teoretycznej. Możesz zadać to samo pytanie na temat klasycznych komputerów, ale zamiast pytania, czy dodanie „kwantowości” jest pomocne, możesz zadać:
Czy istnieje zwięzłe stwierdzenie na temat tego, gdzie mogą pomóc losowe algorytmy?
Można tu powiedzieć coś bardzo niejasnego - jeśli uważasz, że rozwiązania są obfite (lub że liczba rozwiązań jakiegoś podproblemu jest obfita), ale że ich systematyczne skonstruowanie może być trudne, wtedy warto mieć możliwość wybory losowe, aby ominąć problem systematycznej budowy. Ale uwaga, czasem powodem, dla którego wiesz, że istnieje wiele rozwiązań podproblemu, jest to, że istnieje dowód z zastosowaniem metody probabilistycznej . W takim przypadku wiesz, że liczba rozwiązań jest duża, redukując do tak naprawdę pomocnego algorytmu losowego!
O ile nie masz innego sposobu uzasadnienia faktu, że liczba rozwiązań jest wystarczająca dla tych przypadków, nie ma prostego opisu, kiedy może pomóc losowy algorytm. A jeśli masz wystarczająco wysokie wymagania „pomocności” (przewaga wielomianowa), pytasz, czy , co jest nierozwiązanym problemem w teorii złożoności. P ≠ B P P
Czy istnieje zwięzłe stwierdzenie na temat tego, gdzie sparaliżowane algorytmy mogą pomóc?
Tutaj może być nieco lepiej. Jeśli problem wygląda na to, że można go podzielić na wiele niezależnych podproblemów, można go sparaliżować - chociaż jest to niejasne kryterium, które można rozpoznać po „zobaczeniu”. Główne pytanie brzmi: czy będziesz wiedział, kiedy to zobaczysz? Czy zgadlibyście, że testowanie wykonalności układów równań liniowych na racjonalnościach jest nie tylko możliwe do zrównoleglenia, ale można je rozwiązać za pomocą obwodów o głębokości [por . Comput. Złożony. 8 (str. 99-126), 1999 ]?O ( log2)n )
Jednym ze sposobów, w jaki ludzie próbują przedstawić intuicję na dużą skalę, jest zbliżenie się do pytania z przeciwnego kierunku i stwierdzenie, kiedy wiadomo, że sparaliżowany algorytm nie pomoże. W szczególności nie pomoże, jeśli problem ma z natury sekwencyjny aspekt. Ale ma to charakter kołowy, ponieważ „sekwencyjny” oznacza po prostu, że struktura, którą można zobaczyć w przypadku problemu, nie jest sparaliżowana.
Ponownie nie ma prostego, kompleksowego opisu tego, kiedy sparaliżowany algorytm może pomóc. A jeśli masz wystarczająco wysokie wymagania „pomocności” (górna granica logarytmiczna limitu czasu, przy założeniu równoległości wielomianowej), to pytasz, czy P ≠ N C. , która ponownie jest nierozwiązanym problemem w teorii złożoności .
Perspektywy „zwięzłych i poprawnych opisów, kiedy [X] jest pomocny” nie wydają się w tym momencie zbyt duże. Chociaż możesz zaprotestować, że jesteśmy tu zbyt surowi: z powodu domagania się więcej niż wielomianowej przewagi, nie moglibyśmy nawet twierdzić, że niedeterministyczne maszyny Turinga były „pomocne” (co jest oczywiście absurdalne). Nie powinniśmy domagać się tak wysokiego paska - przy braku technik skutecznego rozwiązywania problemu satysfakcji powinniśmy przynajmniej zaakceptować, że jeśli moglibyśmy w jakiś sposób uzyskać niedeterministyczną maszynę Turinga, rzeczywiście bylibyśmy bardzo pomocni . Różni się to jednak od dokładnego scharakteryzowania , dla których problemów uznalibyśmy to za pomocne.
O przydatności komputerów kwantowych
Cofając się o krok, czy jest coś , co możemy powiedzieć o tym, gdzie przydatne są komputery kwantowe?
Możemy powiedzieć: komputer kwantowy może zrobić coś interesującego tylko wtedy, gdy wykorzystuje strukturę problemu, niedostępną dla klasycznego komputera. (Wskazują na to uwagi o „globalnej własności” problemu, jak wspomniałeś). Ale możemy powiedzieć więcej: problemy rozwiązywane przez komputery kwantowe w modelu obwodu jednostkowego będą przedstawiać niektóre cechy tego problemu jako operatorów unitarnych . Cechy problemu niedostępne dla klasycznych komputerów będą wszystkie te, które nie mają (możliwego do udowodnienia) statystycznie istotnego związku ze standardową podstawą.
- W przypadku algorytmu Shora ta właściwość jest wartościami własnymi operatora permutacji, który jest zdefiniowany w kategoriach mnożenia przez pierścień.
- ± 1
Nie jest szczególnie zaskakujące, że w obu przypadkach informacje dotyczą wartości własnych i wektorów własnych. Jest to doskonały przykład właściwości operatora, który nie musi mieć żadnego znaczącego związku ze standardową podstawą. Ale nie ma konkretnego powodu, dla którego informacja musi być wartością własną. Wszystko, co jest potrzebne, to umieć opisać jednolitego operatora, kodując pewną istotną cechę problemu, która nie jest oczywista z kontroli standardowej podstawy, ale jest dostępna w inny łatwo opisany sposób.
Ostatecznie wszystko to mówi, że komputer kwantowy jest przydatny, gdy można znaleźć algorytm kwantowy do rozwiązania problemu. Ale przynajmniej jest to ogólny zarys strategii znajdowania algorytmów kwantowych, co nie jest gorsze niż ogólne zarysy strategii, które opisałem powyżej dla algorytmów losowych lub sparaliżowanych.
Uwagi o tym, kiedy komputer kwantowy jest „pomocny”
Jak zauważyli inni ludzie, „gdzie kwantowe może pomóc” zależy od tego, co rozumiesz przez „pomoc”.
Algorytm Shora jest często wyłapywany w takich dyskusjach i raz na jakiś czas ludzie podkreślają, że nie wiemy, że rozkład na czynniki nie jest możliwy do rozwiązania w czasie wielomianowym. Czy więc faktycznie wiemy, że „obliczenia kwantowe byłyby pomocne w obliczaniu liczb”?
Pomijając trudności w realizacji komputerów kwantowych, myślę, że rozsądną odpowiedzią jest „tak”; nie dlatego, że wiemy, że nie można efektywnie rozkładać na czynniki przy użyciu konwencjonalnych komputerów, ale dlatego , że nie wiemy, jak to zrobić przy użyciu konwencjonalnych komputerów. Jeśli komputery kwantowe pomagają ci zrobić coś, do czego nie masz lepszego podejścia, wydaje mi się, że to „pomaga”.
O ( 20,386n)
Być może algorytm Grovera jako taki nie jest szczególnie pomocny. Może być jednak pomocne, jeśli wykorzystasz go do opracowania bardziej sprytnych klasycznych strategii wykraczających poza poszukiwania brutalnej siły: stosując wzmocnienie amplitudy , naturalne uogólnienie algorytmu Grovera na bardziej ogólne ustawienia, możemy poprawić wydajność wielu nietrywialnych algorytmów dla SAT (patrz np. [ACM SIGACT News 36 (str. 103--108), 2005 - bezpłatny link PDF ]; czapka dla Martina Schwarza, który wskazał mi to odniesienie w komentarzach).
Podobnie jak w przypadku algorytmu Grovera, amplifikacja amplitudy powoduje jedynie przyspieszenie wielomianowe: ale mówiąc praktycznie, nawet przyspieszenie wielomianowe może być interesujące, jeśli nie zostanie wymyte przez narzut związany z ochroną informacji kwantowej przed hałasem.