我經歷了一段時間對量子計算機是如何工作感興趣的,以及如果它們變得實用,它們可能是有益的。我知道他們談論破碼。 I was interested is using them for validating software by essentially trying all possible inputs (in parallel) and seeing if any error states are reached.任何對量子計算機可能的操作/使用感興趣的人?
我知道這是一個藍天問題,但我想知道其他人是否對量子計算機感興趣,他們如何工作,以及他們會有什麼用處。
補充:只是爲了好玩,讓我扔了一個迷你型的教程:
假設你已經有了一個內存N位一起玩。假設您可以將這些位(或其中一些位)加載到輸入數據中。然後假設你可以對它們進行有限的一系列操作(不使用任何額外的內存),將答案留在其中。
要用量子計算機做到這一點,只需要確保整個計算是可逆的,通過保留一些位來記錄您採用的分支,以便可以撤消它們。如果你這樣做,那麼所有的操作都可以寫成N位的簡單酉矩陣變換。 (酉變換是N維座標系中的純旋轉)。因此執行計算包括在位向量上應用一系列純旋轉。如果你這樣做,那麼如果N位向量在量子計算機中,它可以被初始化爲一種狀態,其中所有2^N(或更少)可能的輸入同時疊加在「平行宇宙」。然後,如果你進行計算,它會在同一時間完成它們。
現在你只需要做一件事,看看其中一個輸入是否給你一個特別的答案就是讓它運行到一個特定的狀態。如果你停下來檢查一下狀態,它所做的是隨機選擇一個宇宙,然後扔掉其餘的一切。那麼Grover算法可以讓你做什麼,而不是暫停它,強調宇宙與答案狀態的可能性。然後你將它向前運行,然後向後運行,然後向前運行,等等進行多次迭代,直到答案宇宙有很高的概率。然後,如果你檢查它,你很有可能看到你想要的答案。
嗯...
順便說一句,只是爲了澄清:量子計算機不通過「嘗試所有可能的輸入並行」工作。許多流行的賬戶都這樣說,但這只是一個幻想的神話。如果這是真的,那麼量子計算機就可以在多項式時間內解決NP完全問題,而實際上這被認爲是不真實的。 – ShreevatsaR 2009-01-10 17:36:57
您是否可以初始化爲2^N個輸入疊加的狀態?這是一組有限的輸入。爲了處理無界的輸入,我想你必須保持N增加1. – 2009-01-10 17:51:37
請注意,Grover搜索只會讓你得到一個二次加速 - 而傳統上你會測試2^N個值,你現在需要做O(2^(n/2))Grover搜索步驟。這當然是一種幫助,但不是奇蹟。 – 2009-02-14 02:30:23