• ベストアンサー

NPC概念の意義の問題点について

とにかく、何か分かっていることがあれば教えてください。

  • toron
  • お礼率12% (2/16)

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.3

まあいいや、思いつくままに述べちゃおう。申し訳ないけど推敲しませんので... 計算量の理論です。 NP問題とは、解を探索するには指数関数的時間が掛かるが、解を与えられたとき、それが解であることを検証するのは高々多項式時間でできる、っていうやつですね。 逆に言えば、解を探索するときにいっぱい場合分けが出来てしまう。X=TRUEかFALSEか。その分岐点に来たとき、コンピュータをもう一台持ってきて、メモリ・ディスク・レジスタの内容を全部コピーする。そして一方はX=TRUE, 他方はX=FALSEと仮定して計算を進める(non-deterministic)。こうするとコンピュータの数が指数関数的に増えていくけれども、どれかのコンピュータが「出来た!」と叫ぶまでの時間は多項式時間である。そういうことになります。 で、大概の難しい問題がこれに該当する。もっと難しい、本質的に指数関数時間掛かる奴や、決定不能の問題まであるけれど、諦めがつかない程度の難しさの奴がちょうどこのクラスである。さらにNP問題のいやらしい所は、これを多項式時間で解くことができない、という証明もどうしても出てこないという点である。ここまでの話では、もしあるNP問題が多項式時間で解ける、というアルゴリズムを示したら、それはその問題が実はP問題であった、というだけのことです。へたにやればNP、上手にやればP。 さて、NP問題の内に、その問題に他の問題が多項式時間の処理で帰着できるような、そういう問題のクラスがあることが分かった。それをNP完全問題という。これに関しては、「多項式時間で解くことができない」という証明も「実はP問題である」という証明も出来ていない。そのくせ「XXという問題は実はNP完全でした」みたいな証明ならわさわさ出てくる。 もしひとつのNP完全問題について「実はP問題である」と証明したら、NP問題はみんなP問題になる(NP=P)。大発見!でもこんな事もはや誰も信じてないだろう。むしろ、「NP=P?」は証明も、また反証も不可能であるような、いわゆる決定不能命題じゃないか、という疑いすらある。(ゲーデルの不完全性定理。「数学」カテゴリーの最近の質問にあるのでご参照ください。) 例えば、巡回セールスマン問題、ナップザック問題、いやさ素因数分解がそもそもNP完全だ。じゃあこれを逆に利用して、答えから問題を作る(これはP時間)ことによって通信の暗号につかっちゃおう、解くのには指数関数時間掛かるから安全だ。というのが公開鍵暗号です。 さて、多項式だ指数関数だ、ってこれはいずれも時間だけの話。時間のみならずメモリの使用量だって重要な計算リソースじゃないの?という尤もな反論がある。そこで両者を含めて計算量の理論が作られるようになった。 それから、幾ら多項式時間と言っても、その指数や係数が巨大で、とんでもなく時間が掛かるやつもある。こういうのは実用上はやっぱり使えない。こういうのアリ?という反論もある。逆に、実用上重要な行列のかけ算やFFTなどは、一所懸命、係数を僅かでも改良することをやっています。また計算幾何学、という分野がある。これなんかでも図形を対象にした処理の具体的なアルゴリズムを一所懸命研究している。計算誤差まで考慮すると手間が変わってきたりして、なかなかデリケートである。つまり具体的なアルゴリズムの研究=泥臭い現場の研究と、この計算量の理論とが乖離して来ちゃった。計算量の理論がアルゴリズム研究の役に立ってない。ただの数学のお遊びに堕してるんじゃないの? これが今までの話。 ここに来て、少し状況が変わりつつある。これまでの前提はノイマン型コンピュータ、あるいは万能オートマトン。一度にひとつの演算を順番にやっていく機械でした。ところが、DNAコンピュータというものは、非常に多くの生化学分子を演算素子として使うことによって、極端に並列度の高い計算ができる。数学者に言わせれば、所詮有限個の演算素子を並べただけの並列計算、NPがPかという問題には本質的に何の影響もない。でも実用上は違う。問題の規模が一定以下なら、NPでも指数関数時間の問題でも、多項式時間で解けてしまう筈。あるいは、ちょっと時代がさかのぼるけど光コンピュータ、これも並列度が高い上に、こいつは速い。NMR(核磁気共鳴)を使った原子核スピンによる計算も超並列計算だけど素子の数が莫大だ。その上を狙ってるのかおもちゃなのか、まだ分からない奴に「量子コンピュータ」がある。これはX=TRUEとFALSEの両方の状態を「混合状態」として「重ね合わせ」たまま計算を進めることが(今のところ僅かなステップだけだけど)出来るようである。リュードベリ原子(極度に励起された原子)1個に莫大な量の情報を載せる技術も出てきた。こうなると、公開鍵暗号なんて使い物にならなくなる?という状況にあります。

toron
質問者

補足

stonachmanさん、すっごいです、この事の専門家なのですか? 私が調べなくてはならないのは、NP問題の中で、NPCということを定義することの意味、つまりNPCということを定義したために そのことが数学界に(大袈裟ですが)もたらした効果と、しかし、始めに期待されたようには行かなかった、その現状と、 NPCから起こる悪影響、数学のこの方面の発展性を逆に別の方向に向けたり、止めたりしてしまっていること、 等がありましたら、教えてください。 ほんとにほんとに、先ほどの情報だけでもすごく助かっています。 感動してます! もしよければ、さらに教えてください。 これから授業なので、その最中に先ほど送って頂いた内容を熟読してきます!

その他の回答 (4)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.5

toronさんにお願いがあります。 この「OkWeb」もしくは「教えてgoo」は、質問者の悩みをよってたかって解決しよう、という主旨の他に、質問-回答を黙って読んでいる方も多いはずです。 そういう方々のために、「計算量が多項式時間である」「指数関数時間である」という事の簡単な説明を補足してから、この質問を閉じていただけないでしょうか。 宜しくお願いいたします。

toron
質問者

補足

はい、計算量が多項式時間である、というのは、ある入力量nがあったときに、 それが正しい出力を得るまでにかかる時間が、n^2とかn^3といった、多項式で表せる範囲である、というもので、 指数関数時間である、というのは時間が2^nや3^nといった指数関数で表す分か借る、と言った意味です。 nが2や3である場合は両者にあまり変わりがないのですが、例えば1000だと考えると、指数関数のほうは表すことが不可能なくらい大きな物になってしまいます。 よって、難しい問題、一目では何がなんだか分からない問題を解こうとするとき、 それが多項式時間で解けるか、それとも指数関数時間かかってしまうのか判定できるということは、非常に重要なことなのです。 今回の私の質問は非常に専門的で、何がなんだか分からない人が多かったと思います。 ごめんなさい。でも、協力して頂けて非常に助かりました。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.4

補足を拝見しました。 天下の一般人stomachmanの素人考えですが、ある概念が出来たからといって、それが数学界の足をひっぱったとは思いません。もっと別のオリジナルを考えるのが本物の数学者ですもん。そんな軟弱なものじゃないですよ。そりゃ、中にはNP=P問題を追求して一生を棒に振った奴もいっぱいいるでしょうが....

toron
質問者

お礼

stomachmanさん、どうもありがとうございました。 とても参考になりました。 参考書も借りてきたので、これから地道にレポートを書きます。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

なんと! toronさんの補足以上に見事に要約するのは他の誰にも不可能なんじゃないか、と思うほどですが、具体的にあとどんな情報があれば、宜しいんでしょう?

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.1

これだけじゃ分かんないですよ。NPCって何のことですか。 ひょっとしてNon-deterministic Polynomial Complete?

toron
質問者

補足

はい、そうです。NP(Non-deterministic Polynomial)問題から多項式変換可能な NP問題を、NPの中のNPという意味で、NP完全(NP complete;NPC)と定義した、 NPCのことです。このNPC問題を1つでの多く発見し、そのどれか1つについて Polynomialかそうでないかを確定できれば良い、という問題設定のもとに過去30年ほど 様々な模索が試みられてきそうなのですが、それが成功していないとのことです。 ので、そのNPC概念の意義と問題点をまとめなくてはならないのですが・・・。

関連するQ&A

  • 「意義と問題点」の英訳

    「意義と問題点」の英訳でしっくりしたものが,考えつきません。Meanings and problems,Significance and issueなどが最初に思いつくのですが,yahoo.com,Google in Ginglishではこのような使い方をする文章は検索してもないようです。English writingが堪能な方,nativeの方に是非回答いただきたく存じます。

  • NPOという概念が生まれた理由は意義は?

    営利組織が社会貢献していないわけではありません。 では、NPOはどういう理由で生まれたのでしょうか? 過去の質問を見ると「企業のイメージアップの為に用いられる法人格」という結論で落ち着いている気がするのですが…もうちょっと深い意味があるのではないかと思っています。 共産主義者系の掲示板で「NPOという試みとして、次期の経費として期末資本(?)を使わない仕組みもあるじゃないか!」というようなトーンの文章を見ました。マルクス経済学がどういうものか知りませんがここに1つヒントがある気がしました。金が金を生み出す資本主義の仕組みを否定した価値観から、NPOは生まれたのか?と今は考えています。そうであるならば場合によっては、あらゆるボランティア団体は"金が金を生み出す資本主義の仕組み"を利用した方が、実は長期的な組織運営するにあたって効率がいいのではないかと、思うのです。 営利組織や人がいる経済の中で、 NPOだけこの利殖手段を用いない、 つまり非営利組織であるのは非効率的だと思います。 つまり、NPOのボランティア団体をつくる考えのお持ちの方は、別の営利法人をつくっちゃたほうがイイのではないか?と、端的に思うに至りました。ボランティア精神旺盛な人を活用するならば、NPOの持つ字義やその特性をフルに利用する方がイイのかもしれませんが。 NPOが生まれた背景や理想的な理論が知りたいです。 余談ですが、世界が法人個人問わず全部NPO化したら、 金の流れが止まらなくて、面白い経済になる気がします。

  • ロシア革命の意義と問題点とは

    ロシア革命の意義と問題点とはズバリ何ですか? ヒントでも良いので、お願い致します。

  • もし小数点の概念がなかったら1×1=10になる?

    (1×1=1)(1.0×1.0=1.00) (1.00×1.00=1.0000)上の3つの式は全部答えが1になりますが、10×10=100ですし100×100=10000になります。1の小数点以下にも0がたくさん並んでると考えるならば、もし小数点の概念がなかったとしたら、1.0×1.0=10.0や1.00×1.00=100.00つまり1×1=10や1×1=100などになるのでしょうか?

  • ”点”や”線”の概念がわかりません。

    こんにちは。私は初等数学を学んでいるのですが、基礎的なところである”点”や”線”の概念がいまだによくわかりません。座標軸で考えるとどこか曖昧のような気がします。線とは点のあつまり。点とはどこまで”点”であるのか。極限のような考え方を使うのでしょうか?一言でもご回答いただけましたら幸です。

  • NPC高等学院について

    現在中学2年生です。 高校はNPC高等学院に行きたいと思うのですが 偏差値、倍率などを教えて頂きたいです。 あと学校や寮についても教えて頂きたいです。 よろしくお願いします。

  • NPCが起動しません

    NPC(ノートパソコン)が起動しなくなりました。 会社はSHARPです。 OSは WindowsXP Pro です。 グラボなどは調べていなかったので良く分かりません。 一年ほど前まで使っていて、その後使わなくなり、 ずっと使っていなかったのですが、 最近起動しようと思ったら起動できなくなっていました。 詳細は、 画面に「MicroSoft WindowsXP Profecional」と 出たままで、ずっと読み込んでいるような状態で、 何十分待ってもその画面のまま。 いつまで経っても起動できませんでした。 前にその画面の時に強制終了(POWERボタン長押し)をしたことがあって、 もしかするとそれが関係しているかなとも思っているのですが・・ 解決法・アドバイスなどがありましたら、 ぜひとも教えてください。 お願い致します。

  • メイプルのNPC

    メイプルのクエで会わなければならない 「ヒューズ」 「ロニ」 の場所をそれぞれ教えてください。 見当もつきません。。。

  • NPCの調子が…

    先週の土曜日から、NPCの様子がおかしいのです。 電源を入れて、Windowsを起動しデスクトップまでは通常どおり起動するんですが、InternetExplorer等を開こうとすると、勝手にキャンセルされ、しかも、Windowsの終了画面が出てくるのです。 何かウィルスに感染したかと思い、マカフィーのウィルススキャンをかけたら、キャンセルも何もしていないのに勝手にキャンセルされ、Windowsの終了画面が表示されるます。 これらは、どのように対処したらよいのでしょうか?

  • モルの概念に関する問題について教えてください。

    モルの概念について勉強しているのですが 以下の問題がわからないので教えていただけると助かります。 1、極端に少ない数であっても 放射性元素の存在を検知することができる。1000原子のアインスタイニウムEsを検知したとすれば これは何gにあたるか。 2、ヘモグロビンは 重量で0,34%の鉄を含む。ヘモグロビンの最小分子量を計算せよ。(ヘモグロビン1分子は 少なくとも1個の鉄原子または 鉄イオンを含むはずである。) よろしくお願い致します。