素因数分解の時間

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
lbfuvab

素因数分解の時間

#1

投稿記事 by lbfuvab » 16年前

馬鹿なことを聞いているのかも知れませんが、本当に分からないので質問させていただきます。
二つの素数を掛けた合成数nについて素因数分解する場合、
調べなければならないのは[√n]までですよね?([/url]はガウス記号)

なのに何故計算時間が指数関数的に増えていくのかが良く分からないです。
いくら調べても納得がいきません。

どなたか詳しい方教えてください。

たいちう

Re:素因数分解の時間

#2

投稿記事 by たいちう » 16年前

詳しいという程の事もないのですが、何点か回答らしきものを。

まず「計算時間が指数関数的に増えていく」とは、
誰が主張しているのでしょうか?
その主張が間違っている可能性や、「指数関数的」という言葉が
比喩的に使われている可能性があります。

また、合成数nに対してなら数学的な意味での「指数関数的」とは言えなくても、
合成数の桁数(もしくはビット数)nに対してなら「指数関数的」と言えるでしょう。
主張している人の意図はこっちではないでしょうか。

こっから先が私ではついていけない部分なのですが、
どうやら「準指数関数的」というのが正しいらしいです。
興味があれば読んでみてください。
(よろしければ、かいつまんで私に教えてください)

http://slashdot.jp/comments.pl?sid=139683&cid=450555
http://www.rkmath.rikkyo.ac.jp/~kida/bunkai.htm

sizuma

Re:素因数分解の時間

#3

投稿記事 by sizuma » 16年前

僕は今までは

素数の数はほぼ同じぐらいの増加量だと思うので、nが2倍になれば、素数に対しての計算も2倍
でも計算アルゴリズム自体が大きい数になればなるほど時間のかかる処理だとすれば計算は2倍でも計算時間は2倍以上になるハズ。割り算計算が基本だと思うので、計算時間も増加しやすいと思いますし。


・・・って思ってました。
でもたいちうさんの書いてあるみたいに、ビットに対しては指数関数的っていうことなんでしょうね。
大学数学レベルの話になってくると思うんで、僕にも分かるように教えてほしいです(笑

lbfuvab

Re:素因数分解の時間

#4

投稿記事 by lbfuvab » 16年前

有難うございます。
・・・う~ん、理解できませんorz
しかし、不思議な事に単なる指数関数時間でもないんですね・・・

閉鎖

“C言語何でも質問掲示板” へ戻る