次のアルゴリズムタスクを検討してください。
入力:正の整数とその素因数分解
Find:制限に従って、を最小化する正の整数x y + y z + x z x y z = n
この問題の複雑さは何ですか?多項式時間アルゴリズムはありますか?NPハードですか?
この問題は基本的に、体積がで寸法がすべて整数であるすべての直方体のうち、表面積が最小のものを求めます。
この問題は、Dan Meyerによって、「1,000人の数学教師が解決できない数学問題」というタイトルで提起されました。これまでのところ、彼が働いていた数学教師の誰も、この問題に対する合理的なアルゴリズムを見つけていません。彼の文脈では、「合理的」の定義は少し不正確ですが、コンピューター科学者として、この問題の複雑さについてより正確な質問をすることができます。
明らかなアプローチは、すべての可能性を列挙することですが、これには指数関数的な時間がかかります。Dan Meyerのブログのコメンターは、残念ながらすべてが間違っていることが判明した多くの効率的な候補アルゴリズムを提案しています。マーティン・ストラウスは、この問題が3パーティションを漠然と連想させるように思われると示唆していますが、それを減らすことはできません。
また、コメント/回答で私が見たいくつかの誤解を解消させてください。
2つの問題の目的関数が異なるため、各数値をそのべき乗に置き換えるだけでは、3分割から減らすことはできません。明らかな削減は単に機能しません。2 q
最適解のいずれピッキング含むことは真実ではない最も近い除数であるとに。私はこれが事実であると仮定している複数の人々を見ますが、実際、それは正しくありません。これは、Dan Meyerのブログ投稿で既に反証されています。たとえば、n = 68を検討します。\ sqrt [3] {68} \ approx 4、および4は68を除算するため、x、y、zの少なくとも1つは4であると考えるかもしれません。ただし、それは正しくありません。最適なソリューションはx = 2、y = 2、z = 17です。別の反例はn = 222、\ sqrt [3] {222} \ approx 6ですが、最適なソリューションはnは3 √ N=683 √、X、Y、Z、X=2、Y=2、Z=17、N=2223 √X=37、、。(可能性があるすべてのためには事実である、最適なソリューションを作ることを含むの少なくとも一方において最小の除数のいずれかに等しくなるより大きい 、または最大約数より小さいより -私は今反例を持っていない- 。。しかし、あなたはこの文が真であると思われる場合、それは証明必要があるでしょうあなたは絶対にそれが真実であると仮定することはできません)
「同じサイズにする」は、すべての場合に必ずしも最適な答えをもたらすとは限りません。反例については、Dan Meyerのブログ投稿を参照してください。または、少なくとも、「ほぼ同じサイズにする」というフレーズの合理的な解釈については、この戦略が実際には最適ではないことを示す反例があります。その種の戦略を試してみたい場合は、主張を正確に述べてから、慎重な数学的証明を提供してください。
の実行時間は多項式ではありません。この問題をPにするには、実行時間は入力の長さの多項式でなければなりません。入力の長さのようなものです、ない。明白なブルートフォースアルゴリズムは、または時間で実行することができますが、それは指数関数的であるため、指数関数的アルゴリズムとしてカウントされます。したがって、それは役に立ちません。