以下のような判定問題があります。
<円周率中の3の連続出現>
入力: 正整数x
質問: 円周率を10進で展開した無限数列(3.14159...)に数字3がx個連続して並ぶ箇所があるか?
この問題はクラスNPに属するのでしょうか?
たとえば「証明」が与えられたとき、その正しさを入力サイズ(この場合はx?)の多項式時間で検証できればNPに属するわけですが、
この場合の「証明」とは円周率中の3がx個並んだ箇所を「ほら、i桁目からj(=i+x-1)桁目に3がx個並んでいるよ」と円周率を小数点以下j桁目まで書いて示すことなのか?
↓
そうだとしたら、その検証は円周率をj桁目まで適当な方法で計算することなのか?
↓
そうだとしたら、xの多項式時間で円周率をj桁目まで計算出来るか?
↓
計算コストはxとは独立なのでは?
などと考えるうちに分からなくなってしまいました。
どうぞよろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
いえ、この部分をどう解釈したらいいのかよくわかりません。
>そうだとしたら、その検証は円周率をj桁目まで適当な方法で計算することなのか?
この部分について、円周率の再計算が必要なのか、円周率を既知として当該桁を示せばいいのかというのがよくわからない点。
言い換えれば、質問文の
>円周率を10進で展開した無限数列(3.14159...)...
というのを、
・この無限数列が与えられていて、3333...があるかを探す
・この無限数列は不明なので計算が必要。
のどちらの意味にも解釈可能ということ。
私は前者寄りです。後者なら、すなおに
・円周率(10進)のn桁めの値の計算時間
とすればよいのを、わざわざヤヤコシイ書き方をしているため。
あと、16進の場合限定ですが、
>そうだとしたら、その検証は円周率をj桁目まで適当な方法で計算することなのか?
は、誤り。
円周率のj桁目だけを計算すればよいわけで、それが可能なため。(BBPアルゴリズム)
masa2211様
御教示をありがとうございます。
BBPアルゴリズムのことは知りませんでしたので勉強になりました。
また御礼が大変遅くなりましたことを深くお詫び申し上げます。
No.2
- 回答日時:
このように「『証明』を作ってそれを検証する」という方針では, 「NP に属する」ことは言えても「NP に属さない」ことは言えないと思います. つまり, 「他の方法ではできるかもしれない」といわれると困りますよね.
そういう場合には「明らかに NP には属さない問題」から帰着するという方針を取るんだけど.... どのクラスから持ってくればいいんだ? 2EXPTIME-完全な問題が必要か?
ちなみに, 今の問題の場合「入力サイズ」は「x の値そのもの」ではなく「x の値を表すために必要な桁数」です. そして, 「円周率を j桁目」まで計算するために必要な時間は少なくとも「j の値に対する多項式」になります (「j桁の数の加算」ですら j の値に比例する時間がかかる). 従って当然に x の値に依存し, かつ「x の桁数」に対しては少なくとも指数時間必要です.
No.1
- 回答日時:
円周率の数値があらかじめ無制限にわかっていたとして、それでも計算量は指数関数的に増加します。
理由:かなり大雑把な計算ですが、円周率の各桁は0~9がランダムに現れると近似して
X=1 3が現れればよい →平均 10桁に1つ
X=2 33が 〃 →平均 100桁に1つ
X=3 333が 〃 →平均 1000桁に1つ
n桁の文字列からm桁の文字を探索するのにかかる計算量は、O(n)。
(n>>mとして。)
よって、Xが1増えるごとに計算量10倍強なので、指数オーダーであり、多項式時間では計算できない。。
masa2211様、ご投稿ありがとうございます。
ただ、私が知りたいのはこの問題がクラスPに属する(多項式時間で解ける)か否かではなく、クラスNPに属する(Non-deterministic Polynomial, 非決定性チューリングマシンを用いて多項式時間で解ける)か否かなのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 円周率について。 3 2023/01/26 15:10
- 数学 円柱の堆積を求める方法について 半径×半径×円周率3.14×高さ=だと思うのですが、 円柱の中に入れ 4 2022/03/25 10:53
- 計算機科学 円周率のミスの発見について 3 2022/10/30 10:52
- くじ・懸賞 ロト7で1桁目は統一して全て同じ番号で、2桁目から7桁目を自分で考えた組み合わせで66600円買った 3 2023/08/14 22:01
- 計算機科学 判定問題がPに属するなら探索問題はNPに属する。では判定問題がNPに属するとき探索問題は? 2 2023/05/20 19:10
- 数学 『弧は弦より長し』 8 2022/04/18 10:23
- 数学 円周角の定理の「円周角の大きさはその弧に対する中心角の半分である」ということの証明には3つのパターン 5 2023/06/24 17:03
- 数学 『4色問題③』 2 2022/11/14 00:31
- その他(プログラミング・Web制作) VBA 1 2023/01/19 16:19
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル:6E-05という表現は?
-
循環小数を分数にする方法
-
2進数の割り算が分かりません...
-
3÷7のあまりは「3」ですか?
-
数値とアルファベットに分ける...
-
数学の階乗はどんな時に使うの...
-
数字3桁の組み合わせの何通り...
-
関数電卓の表示方法を変更したい
-
0.120は有効数字何桁ですか? ...
-
60進法と10進法
-
10進数で123を2進数で表わすと...
-
Excelでの有効数字の合わせ方に...
-
7で割ると3余り、9で割ると4余...
-
私は大きくなって今でも数字の...
-
0は何桁の整数ですか?
-
EXCELで10万未満切捨ての...
-
100!
-
0以下の数字は何桁?
-
【場合の数】 2桁の自然数で、2...
-
です。 0.008020 の有効数字は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2進数の割り算が分かりません...
-
エクセル:6E-05という表現は?
-
数字3桁の組み合わせの何通り...
-
数値とアルファベットに分ける...
-
60進法と10進法
-
3÷7のあまりは「3」ですか?
-
NUMBER(N,M) としたときの、格...
-
電話番号のハイフンの入れ方
-
EXCELで10万未満切捨ての...
-
数学の階乗はどんな時に使うの...
-
エクセル関数で桁数指定し数値...
-
です。 0.008020 の有効数字は...
-
関数電卓の表示方法を変更したい
-
3分の1とは何パーセントでしょ...
-
0以下の数字は何桁?
-
10進法の数を60進法の数に...
-
エクセルのsumifの検索値
-
【場合の数】 2桁の自然数で、2...
-
0.120は有効数字何桁ですか? ...
-
10進数で123を2進数で表わすと...
おすすめ情報