多項式時間変換についての質問

このQ&Aのポイント
  • 多項式時間還元について質問させて下さい。問題Aが問題Bに多項式時間還元できるかの証明として、問題Aの問題例を多項式時間で問題Bの問題例に変換できるかどうかや、両者の解が一致すること、そしてどのような意味があるかについて調べています。
  • AがnoならBもnoであり、BがnoならAもnoであることを証明し、多項式還元可能だとされる場合、Bが解けない場合はAも解けないことが言えません。そのため、問題の難しさを比較する際には、同程度の難しさを示すことはできません。
  • 証明(2)で矛盾を確かめている理由は理解できますが、証明(3)の目的がわかりません。証明(3)では、問題Bが解ける場合、自動的に問題Aも解けることを確かめるために行われます。つまり、問題Bの解決方法が問題Aの解決方法となるための条件を確認しています。
回答を見る
  • ベストアンサー

多項式時間変換

初めまして。多項式時間還元について質問させて下さい。 問題Aが問題Bに多項式時間還元できるかの証明として (1)問題Aの任意の問題例xを多項式時間で問題Bの問題例に変換しているか. yes:解がある. no:解がない.として (2)問題Bがyes(no)ならば問題Aもyes(no). (3)問題Aがyes(no)ならば問題Bもyes(no). この(1)(2)(解の一致)と(3)(多項式時間で還元か)が必要だと思います. また,「還元できるならBはAと同程度に言える」とされています. ここで2つ質問があるのですが 1つめはAがno(解がない)ならBもno,BがnoならAもnoの証明 から多項式還元可能が言えたとして「Bが解けないなら,Aも解けてない」なら問題の難しさ 比較ができなくて,同程度に難しいが言えないと思うのですがどうなのでしょうか. 2つめは,証明(2)(3)の事で.「Bが解ければAは自動で解ける.」と還元の性質より 証明(2)で矛盾を確かめているのはわかります. しかし(3)の方は何を確かめたくてしているのかわからないので教えてください.

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

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

あ, すみません, 間違えました. この内容は「多項式時間変換」に限定したものです. 「多項式時間還元」で一般的に成り立つものではありません. 既に書いたように, 「A から B に多項式時間還元できる」というのは「B を解くオラクルがあれば A を多項式時間で解くことができる」ということです. B を解くオラクルを使うためには, 与えられた A の問題例から B の問題例を (多項式時間で) 作る必要がありますが, B の問題例を「1個だけ」作るとは限りませんし, 与えられた A の問題例の答え (yes/no) が作られた B の問題例の答え (yes/no) と一致する必要もありません. 極端にいえば, 問題 A とその補問題 A' (A の yes/no を反転した問題) があれば, 「A から A' に多項式時間還元できる」ことになります. つまり, A の問題例 x が与えられたときに, A' を解くオラクルに x を与えます. すると yes/no が得られるわけですが, これは A の問題例としての yes/no とはちょうど正反対です. つまり, 「A' を解くオラクルに x を与えて得られる答え」の yes/no を反転すればよく, これは「A' を解くオラクルを用いた A の多項式時間アルゴリズム」です. まあ, 普通「A が B に還元できる」ということを示すときには「A から B への変換」を作る (つまり「A から B に変換できる」から「還元可能」ということを示す) んですけど, 一般論として「常に変換が作れる」とは限りません. ちなみに「多項式時間還元」と「多項式時間変換」を同じ意味で使うときには, どちらも「多項式時間還元」の意味で使うんじゃないかなぁ.

moogle0517
質問者

お礼

なんとなくわかりました。つまり多項式時間還元で 解の一致が求められるのは、変換と還元を同じ意味で使っていたからなんですね。別々の意味だと還元はAの補問題A'にも還元できるし、解が一致する必要もない。またBの問題例を複数個作る事も可能なのですね。 色々有難うございました。アドバイス助かりました。

その他の回答 (2)

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

う~ん, 日本語下手だな~>自分 #2 の最初の部分は, 「この質問で挙げられている内容が多項式時間変換のものである」という意味です. 意味不明な日本語になっていますが, そんな感じで理解してください.

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

とりあえず明らかにしておきたいことがあります: 1.「還元」と「変換」が混在しているんですけど, 区別しているんでしょうか? 内容を見る限り区別しないと変な感じはするんですが, 区別していると仮定すると内容がおかしいです. 区別するなら ・A から B に多項式時間還元可能: B を解くオラクルがあれば A は多項式時間で解ける ・A から B に多項式時間変換可能: A の問題例が与えられれば, それと yes/no が一致する B の問題例を多項式時間で生成できる という意味です. 2.yes/no を「解のある/なし」としていますが, これは間違っています. そもそも「与えられた問題例に対して yes/no を答える」という問題ですから, 解はあるに決まっています. その解が yes (問題によって定まる性質を満たす) か no (性質を満たさない) かのどちらかである, ということです. で, 2つ目の問題は「還元」と「変換」を区別していないと意味を持たないんですが, 区別しているなら「普通はなくてもいい」ということになりそう. 「変換」の定義から A の答えが yes iff B の答えが yes なので, (2) と (3) は (yes/no のどちらかに必ず定まるという前提のもとで) 等価です. あと, 1つ目の方は「普通そんな表現はしない」というのが正解かな. 普通は 「A から B に多項式時間還元可能 → B は A と同等以上に難しい」 ですね. 「同等に難しい」ことまでは保証しません. これは「変換」でも同じかな.

moogle0517
質問者

補足

紛らわしく還元と変換を混同させて申し訳ないのです。 多項式時間変換と多項式時間還元は同じ意味だと解釈してました。 知りたいのは多項式時間還元の方です。 yes,noの意味は、性質を満たすかどうかで解の有る無しではないのですね。言われてみればそう思います。 それで、アドバイスから察すると例えば問題Bがnoならば,問題Bは'解けて' 性質を満たさないことがわかった。なのでAは多項式時間変換+Bのアルゴリズムを使っているのでAも性質を満たさないことがわかる。 つまり「BがnoならAもno」の時でもBは解いているのでAも解けるということなんですね。 最後に、変換の方は証明(3)は「普段はなくてもいい」の意味などは わかりました。それで、還元の方はやはり証明(3)問題Aがyes(no)ならば問題Bもyes(no)の必要性がわかりません。Bが解ければAも解ける事がいえればいいので(1)(2)だけでいいと思うのですが。

関連するQ&A

  • 多項式の一番簡単な解き方

    たとえば、6x^4-11x^3+x^2+33x-45=0 という多項式を解くときに、私はいつも解をひとつ見つけてから、徐々にXの係数を少なくして解いていくやり方をしています。 しかしこの、ひとつ解を見つけるという作業が非常に時間がかかってしまい(ただ数を式に当てはめて0になる数を見つけるまでやってるので)困ってます。なにか、数あてのコツなどありませんか? また他に、もっと速く解ける解き方があったら教えてください。 (ちなみに例に挙げた多項式の解は虚数の解も含んでいます)

  • 多項式の積が同次にならない

    定理の証明がわからなくなったので質問します。 定理 2つの多項式のうち、少なくとも1つが同次でないとき、その積は同次でない。 証明 多項式f,gのうち少なくとも1つ、たとえばfが同次でないとする。f=A+Bとし、Bはfのなかの最低次数の項の和のつくる同次多項式とし、Aはそれ以外の項の和とする。同じく g=A'+B'とし、B'はgなかの最低次数の項の和、A'はそれより高次の項の和とする。もしgが同次式のときはA'=0とする。 f・g=(A+B)(A'+B')=AA'+AB'+BA'+BB'ここでAA'+AB'+BA'の次数はBB'の次数より明らかに高い。よってf・gは同次式ではない。 (証明終了) ここでわからないのは、もしgが同次式のときはA'=0とする。の一文です。たとえばA'=x^2-2xy+5y^2で、B'=x+yのときB'=0でもgが同次式になると思います。なぜgが同次式のときはA'=0に限られるのか知りたいです。また2つ目の疑問として、f,gの2つとも同次式でないときは、どのようにその積は同次でないことを証明するのかも教えていただけると幸いです。どなたかお返事お願いします。

  • 代数の既約多項式の問題です。

    代数の既約多項式の問題です。 a_n(x^n)+a_n-1(x^n-1)~+a_2(x^2)+a_1(x)+a_0=0 (a_0,a_1,・・・a_n∈Q:有理数) が既約とする。この方程式の解がn次未満のQ係数多項式の解とはならない事を示せ。 既約多項式:これ以上約せない多項式 わかる方いましたらよろしくお願いいたします。

  • 多項式の問題です。

    多項式の問題です。 xの多項式4x^3-2x^2-9x+7をxの多項式Aで割ると、その商がBで余りがx+1となる。また、AとBの和は2x^2+4x-5である。このとき、AとBを求めよ。 という問題なのですが、解答には、 A=2x^2+2x-2 B=2x-3 [題意から、Aは2次式、Bは1次式である。 AB=2(2x+3)(x^2+x-1), A+B=2x^2+4x-5] と書いてありました。 どうしてAが2次式で、Bが1次式と言えるのですか?逆ではいけないのですか? 申し訳ありませんが回答よろしくお願いします。

  • ACCESS Yes/No型の集計

    ACCESSでチェックボックスが複数あるテーブルがあります。これら各々の個数を表示させたいと奮闘しております。複数のフィールドがあるので、やり方をご教授いただけますようお願いいたします。構造とやりたいことは下記に記します Yesはチェックボックスにチェックが入っている状態です テーブル ---------------------------------------------- グループ   分類1   分類2   分類3 ----------------------------------------------   A   |  Yes  |  No  |  Yes   A   |  No   |  No   |  Yes   A   |  Yes  |  Yes  |  No   B   |  Yes  |  No  |  Yes   B   |  No   |  No  |  Yes   B   |  Yes  |  No  |  Yes   ・   ・   ・   ZZ 上記のようなテーブルがあります。これを ----------------------------------------------------- グループ   グループ総数   分類1   分類2   分類3 -----------------------------------------------------   A    |   3     |   2   |  1   |  2   B    |   3     |   2   |  0   |  3   ・   ・   ・   ZZ とういうようにグループの総数とチェックボックスにチェックが入った数を算出させたいんです どうかご教授願います

  • 多項式を誤解している?

    多項式f(x)を求める問題で 条件の一つに x^4f(1/x)=f(x) をf(x)は満たすという条件がありました n>4の範囲では右辺が多項式であるのに、左辺は多項式とならないから、矛盾する よってf(x)の次数は4以下となる(背理法による証明) …と模範回答にあるのですが 多項式って 例えば f(x)=ax^4+b^3+c^2+dx+e みたいなやつですよね? f(x)=a/x+b+cx+dx^2+ex^3 みたいな分数型が入った式は多項式じゃないんですか? 多項式って中学生で習うのに、全然理解できてない自分にショックを受けてます。

  • 原始多項式について

    画像の問題、証明の中で、d=GCD(a0,…,an)、ai=dbi (b0,…,bn∈A)、g(x)=b0x^n+…+bnとおけばg(x)は原始多項式…とありますが、なぜg(x)が原始多項式になるかが分かりません。 dが最大公約元と言っても他にbiで可逆でない公約元があるかもしれないですし、、 何か見落としている点があるかもなので分かる方ご教授頂けますと幸いです。 よろしくお願いいたしますm(_ _)m

  • SQLについて教えてください

    こんにちは。 以下のテーブルAがあるとして、 a b 1 No 2 No 3 Yes 4 Yes フィールドbがYesのところだけを+1したいのですが、どのように書けばいいのでしょうか? 私は、Access2003を使用しています。 すみませんが、宜しくお願いします。

  • ファイルメーカーについて

    またまたファイルメーカー(Pro7)について質問いたします。 例 1つのレコードにYesもしくはNoを選択するAフィールドを作成 1.YES 2.No 3.Yes 4.Yes 5.No Yesの総計3を表示したいのですが、今までは 1つのレコードにもう1つBフィールドを作成 if(B="Yes" ;1;0)関数により答えを導き、 総計フィールド&パートを作成し、Bフィールドの合計を 表示してきました。 なにか他の方法でスマートなやり方や関数はないのでしょうか。 もしくは上記方法で間違いないのでしょうか。 宜しくお願い致します。

  • 3次の多項式が重解をもつ条件

    以下問題文です。 3次の多項式f(x)=x^3-a*x^2+b*x-1について次の問いに答えよ。 (1)f(x)=0が重解をもつならば,f(-1)≦0が成り立つことを示せ。 (2)a+b+2=0とする。f(x)=0が重解をもつとき,a,bの値と,f(x)=0の解を全て求めよ。 三次関数のグラフを漠然と思い浮かべ微分を試みたものの 具体的な方針には結びつかず滞っています。 どなたか,動機を教授頂きたいと思います。