Co-NPにFACTORが含まれているのはなぜですか?


12

PRIME、COMPOSITE、FACTOR、およびそれらが複雑さの点でどのように関連しているかという問題に頭を悩ましています。私は、PRIMEがAKSの素数性テストによってにあることが示されていることを理解しています。これはCOMPOSITEでも同様に機能すると考えています。P

FACTORについては、

FACTOR={(m,r):s such that1<s<r and s divides m}

私が読んだものから、それがであるように思わ。証明書はrより小さいmの素約数で構成されるため、N Pであることがわかります。しかし、(多項式時間で)そのような素因数がないことをどのような証明書で証明できますか?NPCoNPNPmr


1
言語がNP証明になるためには、入力がその言語に属していることは、多項式時間で検証できる証明書を持っている必要があります。効率的に検証できる、言語に属さない入力の証明書が存在するという意味ではありません。
サーシャ

回答:


11

rより小さい非自明な除数がないことの証明書は、mの因数分解です。多項式時間で、すべての因子が実際に素数であること(素数性がAKS素数性テストによってPにあるため)、それらの積がmであり、それらすべてが少なくともrであることを確認できます。mrmmr


1
ありがとうございました。そして、AKSアルゴリズムは、多項式時間で数が素数であるかどうかを示すことができることを正しく理解していますか?
Fequish

1
@Fequish:素数でない場合、AKSは要因を教えません。

2
因数分解が多項式時間で実行可能であることはわかっていません。最良の公知のアルゴリズムは、ヒューリスティック複雑有する(ここでnは数そのものである)を。eO((logn)1/3(loglogn)2/3)n
ユヴァルフィルマス16

5

Yuvalの答えに加えて、AKS素数性テストは2002年に発見されました。それ以前は、数値が素数かどうかをチェックする多項式時間アルゴリズムがありませんでした。しかし、プラットは1975年に現在プラットのプライマリティ証明として知られているものを発見し、プライムがNPであることを証明しました。AKSアルゴリズムを使用して因子が直接素数であるかどうかを確認する代わりに、FACTORがcoNPにあることを示すために、これらのPrattの素数の証明書を因子に含めることができます。


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