量子アルゴリズムは従来のSATを改善しますか?


29

従来のアルゴリズムでは、時間(ランダム化)または時間(決定論的)で3-SATを解くことができます。(参照:SATの最適な上限)1.3071n1.3303n

比較のために、量子コンピューターでグローバーのアルゴリズムを使用すると、ランダム化されたソリューションを探して提供します。(これには、ソリューションがいくつあるかどうかについての知識がまだ必要かもしれませんが、これらの境界がまだ必要かどうかはわかりません。)これは明らかに著しく悪いです。最高の古典的アルゴリズムよりも優れた(または少なくとも- ほぼ同等の)量子アルゴリズムがありますか?1.414n

もちろん、十分な作業スペースを想定して、古典的なアルゴリズムを量子コンピューターで使用できます。私は本質的に量子アルゴリズムについて疑問に思っています。

回答:


21

3-SATのシェーニングのランダム化アルゴリズムを高速化することにより、量子コンピューティングから非自明な上限を得ることができると思います。Schöningのアルゴリズムは時間で実行され及び標準振幅増幅技術を用いたものは、量子アルゴリズムを得ることができ、その時点でラン(2 / √(4/3)nこれは、従来のアルゴリズムよりも大幅に高速です。(2/3)n=1.15n


いいですね。尋ねる前に、古典的なアルゴリズムを一度見るべきだったことを示しています!:)もっとスキミングすると、(不必要に一意ではない)3-SATの最適なランダム化アルゴリズムはであることが示唆されているため、量子コンピューターから1.1492 nが期待できると思います...ありがとう!1.32065n1.1492n
— アレックスメイブルク

:また、この論文を楽しむかもしれませんdigitalcommons.utep.edu/cgi/...
— マーティン・シュワルツ

30

確かに、wwjohnsmith1が言ったように、3-SATのシェーニングのアルゴリズムよりも平方根の高速化を得ることができますが、より一般的には、k-SATのシェーニングのアルゴリズムの方が高速です。実際、k-SATの多くのランダム化アルゴリズムは、量子コンピューターで2次的に高速に実装できます。

この一般的な現象の理由は次のとおりです。時間に実行することのk-SATのための多くのランダム化アルゴリズム(Tは、(N )の一部指数関数的に増殖している関数であり、nは)実際に強い何かを行います。コアには、少なくとも1 / T (n )の確率で満足のいく割り当てがあれば、それを出力する多項式時間アルゴリズムがあります。このことから、このポリタイムアルゴリズムO (TO(T(n)poly(n))T(n)n1/T(n)何度も実行し、いずれかの実行が解を返す場合は、時間 O (T (n )p o l y(n ))で実行されるk-SATのランダム化アルゴリズムを取得します。O(T(n))O(T(n)poly(n))

このアルゴリズムを回実行する代わりに、このポリタイムアルゴリズムで振幅増幅を実行できます。振幅増幅は、O (√のみを使用して、別のアルゴリズムが確率0または確率1 / Tで受け入れるかどうかを決定できる一般的な量子アルゴリズムです。O(T(n))1/TO(T)O(T(n)poly(n))

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.