• 締切済み

NP完全問題について。。

今、NP完全問題とSATについて勉強しています。 Wikiとかでも調べていて、一応自分なりに解釈をすすめて いるところですが、言い回しが難しくて理解しきれません。 簡単に、NP完全問題とSATについてのご説明を どなたかしていただけないでしょうか? また良いサイトがあったら教えてください。

noname#113239
noname#113239

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

とりあえず「NP」とかはほかっておいて「決定問題 (判定問題)」がどのような問題かを確認してみます. 決定問題 P は問題例の集合 A と関数 φ: A → { 真, 偽 } が与えられたときに, A の任意の要素 α に対して φ(α) を求める問題です. 例えば SAT なら A は「論理式の集合」, φ は「論理式 α を真とするように α に含まれる変数に真理値を割り当てられるならば真, そうでなければ偽」という関数です. このようにみると, 決定問題 P を A と φ の組で表すことができます. 次に, 「帰着」というものを考えます. そのため, 2つの決定問題 P = (A, φ), Q = (B, ψ) を考えます. ここで, 次の性質を満たす関数 f: A → B が存在したとします: ・任意の α ∈ A に対し, φ(α) = 真であるとき, そしてそのときに限り ψ(f(α)) = 真. このような関数 f が存在するときに, 「P から Q に帰着 (還元) 可能」といいます. イメージとしては「問題 Q が解ければ問題 P は簡単に解ける」ということです (ただし, このイメージはここでの「帰着」の定義とは異なります). なお, 「どんな関数でもよい」としてしまうと (計算可能な問題同士が帰着可能になってしまい) 意味がないため, 関数 f の計算能力には制限をつけることが普通です. 「NP完全」とかを考える文脈では関数 f として「多項式時間で計算できるものに限る」のが普通で, このように制限した帰着を「多項式時間帰着」, あるいは単に「多項式帰着」と呼びます. で, 「NP に属するあらゆる問題から多項式帰着可能な問題」の集合を「NP困難」, NP困難でかつ NP に属する問題を「NP完全」と呼びます. う~ん, 結局 wikipedia に書いてあることとせいぜい同程度にしか説明できてないなぁ....

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

SAT は「変数を含む論理式が与えられたときに, その論理式を真とするように変数に真理値を割り当てられるかどうか」を答える問題です. 与える論理式の形によっていくつかのバージョンが存在します. NP完全を説明しようとすると「NP」とか「帰着 (あるいは還元)」とかを出さないといけないんだけど.... この辺は理解できてますか?

noname#113239
質問者

補足

回答ありがとうございます。 「NP」は大丈夫ですが、「帰着」の方は理解できていません;; 数学という括りに入れているのですが、 私は情報授業の一環として学んでいるので その辺もよろしくお願い致します。

関連するQ&A

  • NPクラス、Pクラス、NP完全問題について教えてください

    こんにちは。 授業でNPやPというような言葉が出てくるのですがいまいち理解できません。 あまり理解できていない用語はPクラス、NPクラス、P問題、NP問題、NP完全問題、NP完全、NP困難、判定問題などです。似たような言葉がいろいろ出てきてよく分からないです。これらの用語のうちで意味が同じようなものもあるのでしょうか? 自分なりに理解したことを書くと Pクラスというのはその問題が現実的な時間内で解けて、NPクラスとは時間がかかりすぎて解けないというふうに理解しています。 NPクラスには最長パスを求めるアルゴリズムや大きな素数同士の積の因数分解などだと思います。ウィキペディアでも調べたのですが言葉が難しくて曖昧にしか分かりませんでした。 また、判定問題やハミルトン問題などについても知りたいです。何か良いサイトがありましたら紹介してもらえるとありがたいです。 ご回答よろしくお願いします。

  • P≠NP問題についての質問です。

    P≠NP問題についての質問です。 この問題の議論されている意味が分かったような?分からんような?、なので質問します。 大方の研究者は、「P≠NP」ではないか?、という予想をしているようですが、この問題の結論は、 (1)P=NP (2)P≠NP のどちらかひとつ、という解釈で間違いありませんか? また、(1)と証明された場合、「全てのNP問題はP問題に属する。」ことを示さねばなりませんよね?現在、NP問題(例:ナップザック問題、ハミルトン閉路問題・・・)とされている、全てのものが「NP⊂P」であることを証明しないと、「P=NP」、であることは証明されたことになりませんよね?(全てについて調べなければいけないのか、それとも、ひとつでいいのか?) 一方で、(2)と証明された場合、「少なくともひとつのNP問題はP問題に属さない。」ことを示せば大丈夫ですよね。 即ち、「何かひとつでいいから、NP問題であるけど、多項式アルゴリズムがない。」という問題を証明すればいいんですね??(全てについて調べなければいけないのか、それとも、ひとつでいいのか?) 冒頭で書いた「P≠NPが有力」というのは、「ひとつでいいからP問題に属さないNP問題を見つければ良い。(多項式時間帰着可能でない、非決定性チューリングマシンが存在する。)」という裏付けであると考えていいのでしょうか。 ど素人なので勘違いしているかもしれませんが、解説お願いいたします。

  • 未解決問題 P=NP について

    資料が英語なので、意味すら理解していません。 なぜ、P=NPが未解決問題になったのでしょうか? P=NPが成立しないと思います。 数字を当てはめても、せいぜい  P=-0 N=+0 しか思いつきません。 それから未解決問題達を解決したら、世の中ってどうなりますか? 何か大きなメリットはあるの?

  • co-NPについて

    計算の複雑性理論について勉強しているのですが、ある問題がクラスco-NPに属すことがわかったんのですが、そもそもco-NPに属する問題はどの程度複雑といえるのでしょうか?お願いします。

  • 計算量(PやNP)について

    ネット上で計算量理論に関する説明を読んでいますが、いまいち理解ができません。 例えば、木の形で表せれる問題で、一つのノードに対する子がN個(定数)あり、深さX(未知、変数)に答えがある場合、計算量は N^X(NのX乗) になると思います。 N^Xは計算量のクラス(NP困難やNP完全等)でいうと何に属するのでしょうか?

  • 【P≠NP予想】容疑者Xの献身を観たのですが

    容疑者Xの献身を観たのですが、 映画の一場面で「P≠NP問題」の話題が出てきました。 その中で、 「数学の問題について、自分で考えて答えを出すのと、他人から答えを聞いて、その答えが正しいかどうかを確認するのとではどちらが易しいか(難しいか)? ただし、その問題には必ず答えが存在する。」 というセリフがありました。 恐らく、前者がクラスP、後者がクラスNPのことを表していると思われます。 しかし、「どちらが易しいか?(難しいか?)というのは、「P≠NP問題」の本質ではないような気がします。(Pの方がNPより解くのが大変ですよね・・) P≠NP問題の核心部分は、「P⊂NPが成り立つかどうか?(NP⊂Pは自明)」ではないでしょうか? 自分は映画を見ていて、「そんなの、他人から答えを聞いてその答えが正しいかどうかを確認する作業の方が、自分で答えを考え出すのより何百倍も簡単だろ!!」と思ってしまいました。 詳しい方解説お願いします!!!

  • アメリカに留学していますが大学受験で悩んでます

    アメリカに10年生の頃に留学して、9月に11年生になります。 9月にクリスチャンの高校に転校するんですが、前の学校は公立でした。 そこは、英語の出来ない中国人ばっかりで英語が勉強出来ませんでした...。自分は、中国語を習ったことがあるので中国語が話せます(書くのは難しい)。しかし、それも原因で中国人とばかり仲良くなって中国語だけが上達してしまいました(汗) 先生も無責任の人が多くて、外国人にクラスも与えません。学校はタバコや酒ばっかりで嫌になったので編入試験を受けて転校しました。 もちろん、自分の無能さが最もの原因ですが...。 ただ、もうすぐで大学受験もあります。SATを受けるにしても英語力が足りない。日本に帰るにしても全教科が進みすぎて追いつけない。(ビザ待ちで1年もかけた...) もう、どうせなら力を振り絞りたいです。母にも安心させたいですし。 ですので、SATの勉強を頑張りたいのですが、SATの参考書もサイトもチンプンカンプンで理解出来ません。どうやって勉強するべきでしょう? 普通の教科書から読むべきでしょうか? 自分の英語力は、アメリカ人と日常会話を「一応」「とりあえず」できるレベルです。 なにか、勉強サイトやおすすめの勉強法教えてください。

  • 問題が印刷できるサイト

    高2の女です。 古典・漢文の問題が印刷できるサイトを知ってる方 いましたら、是非教えてください。 勉強方法も分かりませんが、今はとりあえず 問題を解いていきたいので。 古文や漢文は内容を理解して暗記すればいいってのは よく聞きますし、過去の回答にもありました。 でも、問題を解いてみて自分がどれだけ理解して いるのか確かめたいです。 回答よろしくお願いします。

  • 物理の問題

    今、物理の勉強をしているんですが、理解に苦しんでいます。いっぱい問題をときたいのですが、海外に住んでいるため、なかなか参考書を集めにくいです。 それで、どなたか物理の問題がいっぱいのってるサイト知りませんか?できれば解説や回答が載っているとうれしいです。

  • FLORA220FX NP07-J7のスペックを上げたい!!

    今度新しくノートを買うのですが安く買ったため スペックがいまいちです 自分で上げようと思うのですがデスクトップPC ならわかるのですがノートは初めてなものでいまいちわかりません FLORA220FX NP07-J7のノートをCPUなどの交換などできますか? 出来たら解体している参考になるサイトさんがあったら教えてください よろしくお願いします。