因数分解のNP完全バリアント。


45

Arora and Barakの本は、ファクタリングを次の問題として提示しています。

FACTORING={L,U,N|( a prime p{L,,U})[p|N]}

さらに第2章では、が素数であるという事実を取り除くと、この問題がNP完全になると付け加えていますが、これは数値の因数分解の難しさとは関係ありません。SUBSETSUMから削減できるように見えますが、私はそれを見つけることができなくなりました。この辺りでもっと良い運がありますか?p

編集3月1日:報奨金は、確定的Karp(またはCook)削減を使用した完全性の証明です。NP


5
@turkistany:FWIW、NPを斜体にするのは悪いスタイルであり、数学モードにするのは悪いスタイルと悪いLaTeXの両方だと考えています(文字間の間隔が異なるため)。
ミカエルカディルハック

@Michaël、申し訳ありませんが、元のスタイルに戻りました。私はあなたの質問に興奮しました:)
モハマッドアルトルコ

7
ややより完全な説明:本の63ページに、彼らが書く:アロンとキリアン(私信では)言語の定義であることを示したファクタリング例2.3で、係数pは素数であるという条件をキャプチャする必要がありますこの条件がないと、この言語はNP完全であるため(因数分解の整数とは無関係の理由で)因数分解の問題。
MS Dousti

2
当然、「ファクタリング」と「NPコンプリート」を含むAlonとKilianの論文を検索しました。何も見つかりませんでした(これもある意味で自然なことだと思います)。:(
伊藤剛

5
@Michael私は実際、NPではなくとしてクラスをレンダリングするのが好きです。番号 ?NP
スレシュヴェンカト

回答:


35

これはまったく答えではありませんが、近いです。以下は、問題がランダムな削減の下でNP困難であることの証明です。

サブセットの合計には明らかな関係があります:の因子を知っていると仮定します:p 1p 2p k。さて、あなたはサブセット見つけたいSP 1つの ... Pのkは、このようなNp1p2pkSp1 pk

logLpiSlogpilogU.

この考えを使用して問題を示すのはNP困難であるという問題は、数t 2t kの部分集合和問題がある場合、必ずしも多項式時間で素数を見つけることができないことです。そのログpが、私は αはtは(でα、私はにほぼ比例意味を)。サブセット合計はNP完全ではないため、大きな整数t iに対してこれらのログp iを見つける必要があるため、これは実際の問題です。t1t2tklogpitilogpiti

ここで、サブセット和問題のすべての整数t kxx 1 + 1 / k )の間にあり、和が約1であることが必要であると仮定しますt1 tkxx(1+1/k)。サブセット合計問題は依然としてNP完全であり、任意の解決策はk/2整数の合計です。t ' ititi+1の間にすると、問題を整数から実数に変更できます12itik/2titiであり、合計が正確にsである必要はなく、ss+1間であることが必要です。ti+110kss。これを行うには、数値を約4logk以上の精度で指定するだけです。したがって、Bビットの数値で開始し、実数logpiを約B+4logkビットの精度に指定できる場合、縮約を実行できます。s+1104logkBlogpiB+4logk

今からウィキペディア(以下シェンロン-志さんのコメントを経由して)、間の素数の数T + T 5 / 8があるθ T 5 / 8 /ログインTをあなただけの、その範囲でランダムに数字を選択したのであれば、と多項式時間で素数を得る可能性が高い素数性をテストします。TT+T5/8θ(T5/8/logT)

それでは、削減を試してみましょう。私たちの言ってみましょうすべてあるBのビット長。長さ3 BビットのT iを取得すると、9 / 8 Bビットの精度でT iの近くの素数p iを見つけることができます。このように、私たちが選択することができますTを私がするように、ログTは、私は、 αはtは私を正確に9 / 8tiBTi3BpiTi9/8BTilogTitiビット。これは見つけることができます私たちを P iのT iのように、ログpが、私は αがtは私を正確に 9 / 89/8BpiTilogpitiビット。これらの素数のサブセットがターゲット値に近いものに乗算される場合、元のサブセット和問題の解決策が存在します。私たちは聞かせて Nを= Π I P 私は、選択した L Uを適切に、そして我々は、サブセットの合計から、ランダム化の減少を持っています。9/8BN=ΠipiLU


3
削減がわかりません。サブセット合計問題をNP完全にするためには、数値をバイナリで指定する必要があります。対数がサブセット和問題のインスタンスの数値に近い整数が必要な場合、指数関数的に多くの桁が必要です。これをどのように克服しますか?
伊藤剛

2
@Peter:数論の仮定はCramérの予想と呼ばれ、であると述べています。ここでp nはn番目の素数です。リファレンスについては、記事の主なギャップも参照してください。pn+1pn=O(log2n)pn
Hsien-Chih Chang張顯之

2
@ピーター:はい、仮定のこのバージョンは十分に大きいに対して証明されています。この種の最初の結果はHoheiselによって示され、ウィキペディアによる最良の結果は、Baker、HarmanおよびPintzによる、α = 0.525c 1 = (確率1が成り立つため)およびc 2 = 1の結果です。Tα=0.525c1=c2=1
Hsien-Chih Chang張顯之

2
これに出会ったばかりです。元のキリアン・アロンの証明が何であったかわからないことに注意してください。証明に関する私の唯一の知識は、元の証明の詳細を覚えていなかったノガとのコミュニケーションからであり、彼が再構築した証明はまさにこれでした。いくつかの強い数の理論的仮定の下での決定論的縮小としても説明できることに注意してください(たとえば、[x、x + polylog(x)]の形式の区間に素数があるということです)。
ボアズバラク

4
私はジョー・キリアンと話しました。彼は、彼とアロンが思いついたという証拠は、ゼロエラーのランダム化された削減に関係していると言いました。彼が知っている限り、ボアズ・バラクがすでに述べたように、数論的な仮定を立てない限り、決定論的縮小はまだ開かれています。
ティモシーチョウ14

8

私はそれがPCP定理(特に)にリンクしていると思います。NP=PCP[O(logn),O(1)]

マドゥの論文からの抜粋:

...検証者が任意の多項式時間計算を実行できるという概念は、定理と証明のクラスをかなり充実させ、定理を証明する非常に重要な方法を提供し始めます。(直接的な結果の1つは、定理/証明/アサーション/引数がバイナリシーケンスであると想定できることであり、今後もそうします。)たとえば、アサーション(たとえば、リーマン仮説)があるとします。 10,000ページの記事に収まる証拠。計算の観点は、与えられたと述べているAと、このバインド(10,000ページ)、1が効率的に3つの正の整数演算することができるN L UL U NをAAN,L,ULUNように場合にのみ真であるNが間除数有し、L及びUを。整数NL、およびUは非常に長くなります(書き込みに100万ページかかる可能性があります)が、非常に効率的に作成できます(これらすべての整数を印刷するのにかかる時間よりも短い時間で、確かにせいぜい1〜2日です)。(この特定の例は、Joe Kilianによる結果、個人的なコミュニケーションに基づいています)...ANLUNLU

...私の複雑さの理論スキルをはるかに超えています:-)


2
これは、この問題がNP完全であることの単なる別の定式化です。
マークベリー

@Marc ...うーん...私はそれが意味することを考える:はNP完全問題です。これは、NP完全問題SHORT PROOFからの多項式簡約が存在するためです...{L,U,N|(p{L,,U})[p|N]}
Marzio De Biasi

2
論文のSHORT PROOFS問題は、境界停止問題とほとんど同じです。SHORT PROOFS問題からの削減は、SATのNP完全性の典型的な証明と同じくらい乱雑である可能性が最も高いため、Kilianによる問題発見問題のNP完全性の証明は、 SHORT PROOFSの問題。
伊藤剛

0

これは非公式の効率的な決定論的削減のアイデアです(不完全な場合もあります)。

Fractranはチューリング完全なプログラミング言語です。Fractranプログラムの好適定義有界バージョンは、言語に還元可能であるべきである{L,U,M|( a positive integer p{L,,U})[p|M]}

たとえば、有界バージョンは、整数が特定のステップ数(分割)内でFractranプログラムの出力シーケンスで生成されるかどうかを尋ねることができます(つまり、M = N jF i)。MM=NjFi

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