論文を仕上げるときに欠かせない計算量の考察
ランダウ表記というのがあるそうですが
計算量算出の根拠とかコツとかについて語り合いましょう
関連スレ
O(n)のソートアルゴリズムを発見した
http://toro.2ch.net/test/read.cgi/tech/1212217022/
参考
http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%83%80%E3%82%A6%E3%81%AE%E8%A8%98%E5%8F%B7
探検
【O(n)】計算量の評価方法について【O(log n)】
■ このスレッドは過去ログ倉庫に格納されています
2013/03/21(木) 17:35:37.80
2013/03/21(木) 18:28:13.28
計算量について基本的なことなんですが教えてください。
このページに
http://imoz.jp/algorithms/imos_method.html
>記録には O(C) が,シミュレートには O(T) がかかるので,全体としての計算量は O(C+T) となります
と書いてありますが、ループを並べる場合ってO(max(C, T))ではなくてO(C+T)のように足し算してもいいんでしょうか?
このページに
http://imoz.jp/algorithms/imos_method.html
>記録には O(C) が,シミュレートには O(T) がかかるので,全体としての計算量は O(C+T) となります
と書いてありますが、ループを並べる場合ってO(max(C, T))ではなくてO(C+T)のように足し算してもいいんでしょうか?
2013/03/21(木) 19:32:19.42
「データ構造とアルゴリズム総合」のスレでいいじゃん
2013/03/21(木) 20:27:35.02
アイちゃんまだー チンチン
2013/03/21(木) 22:57:18.98
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
2013/03/22(金) 01:45:09.35
O(定数+定数)=O(定数)
全部読んでないけど、この問題に出てくる C は定数の C じゃなくて、お客さんの数らしいんだよね。
で、C も T も入力時に与えられる変数で定数じゃないみたい。
全部読んでないけど、この問題に出てくる C は定数の C じゃなくて、お客さんの数らしいんだよね。
で、C も T も入力時に与えられる変数で定数じゃないみたい。
2013/03/22(金) 01:45:47.23
蟻本見たらループ回数が変数のループを並べる場合の計算量はO(N+M)みたいな足し算になってたよ
そりゃそう書く事に意味があるからね
そりゃそう書く事に意味があるからね
2013/03/22(金) 01:48:26.58
O(C+T)でなくてO(N)でよい
2013/03/22(金) 01:53:06.06
==> [多変数の場合]
関連の無い2つの変数があるなら
それは1つにはまとめられないよ
関連の無い2つの変数があるなら
それは1つにはまとめられないよ
10デフォルトの名無しさん
2013/03/22(金) 02:05:41.98 O(n)をO(log n)に出来るアルゴリズムの変更をしたが、
1要素を処理する為の計算量がm倍に増えた
仮にnが10000の時、
計算量が100倍に増えても
速度的には等価ってことであってる?
1要素を処理する為の計算量がm倍に増えた
仮にnが10000の時、
計算量が100倍に増えても
速度的には等価ってことであってる?
2013/03/22(金) 03:34:16.33
何と何が「等価」なのかを聞きたいの?
2013/03/22(金) 09:17:21.24
O(M+N)でM側が常にゴミ同然ならO(N)でいいだろうが
MとNのどちらが支配的になるかがMとNの大きさによるのであれば
O(M+N)と書くべき
MとNのどちらが支配的になるかがMとNの大きさによるのであれば
O(M+N)と書くべき
2013/03/22(金) 09:18:02.09
グラフ探索で頂点の数がM、辺の数がNの時に探索のオーダーをO(M+N)と表すのが有名な例。
14デフォルトの名無しさん
2013/03/22(金) 09:38:08.05 QuickSort の計算量の求め方が判らないんだけど
誰か解説して
誰か解説して
2013/03/22(金) 09:39:37.84
O(M+N)って例えばO( m^2 + n )や O( m + log(n) )という書き方できるの?
MとNが常に同じ次元なら別々に書く意味はそれ程ないと思うけど、別のものを使えるなら、
分けて書かないと意味が違ってくるような気がする。
MとNが常に同じ次元なら別々に書く意味はそれ程ないと思うけど、別のものを使えるなら、
分けて書かないと意味が違ってくるような気がする。
2013/03/22(金) 10:02:34.23
もちろんできるよ。
2013/03/22(金) 10:45:09.98
>>14
厳密な証明じゃないけど、入力(ソートする配列)のサイズを n として、パーティションのステップで n 、結果としてサイズ n/2 の配列が2つできる。2つのサイズ n/2 の配列に対してそれぞれクイックソートするから、合わせると
T(n) = n + 2T(n/2)
= n + 2{ n/2 + 2T(n/4) } = 2n + 4T(n/4)
= 2n + 4{ n/4 + 2T(n/8) } = 3n + 8T(n/8)
...
// 繰り返すと以下のようなパターンが見えてくる
...
= kn + 2^k * T(n / (2^k)) --------- (*)
になる。
T(n/(2^k)) の n / (2^k) が 1 になるとき、n = 2^k <---> k = log n
k = log n を (*) の式に戻してやると
= kn + 2^k * T(n / (2^k))
= n log n + n * T(1)
= O (n log n)
厳密な証明じゃないけど、入力(ソートする配列)のサイズを n として、パーティションのステップで n 、結果としてサイズ n/2 の配列が2つできる。2つのサイズ n/2 の配列に対してそれぞれクイックソートするから、合わせると
T(n) = n + 2T(n/2)
= n + 2{ n/2 + 2T(n/4) } = 2n + 4T(n/4)
= 2n + 4{ n/4 + 2T(n/8) } = 3n + 8T(n/8)
...
// 繰り返すと以下のようなパターンが見えてくる
...
= kn + 2^k * T(n / (2^k)) --------- (*)
になる。
T(n/(2^k)) の n / (2^k) が 1 になるとき、n = 2^k <---> k = log n
k = log n を (*) の式に戻してやると
= kn + 2^k * T(n / (2^k))
= n log n + n * T(1)
= O (n log n)
2013/03/23(土) 17:00:23.30
>>15
できるとは思うが、大抵次元の低い方がゴミになるんじゃないかな
できるとは思うが、大抵次元の低い方がゴミになるんじゃないかな
2013/03/23(土) 17:55:14.51
>>17
= n log n + n * T(1)
= O (n log n)
じゃなくて
T(n)
= n log n + n * T(1)
↓
O ( T(n) )
= O ( n log n + n * T(1) )
= O (n log n)
ではないのですか?
= n log n + n * T(1)
= O (n log n)
じゃなくて
T(n)
= n log n + n * T(1)
↓
O ( T(n) )
= O ( n log n + n * T(1) )
= O (n log n)
ではないのですか?
2017
2013/03/23(土) 18:55:05.27 O 記法は、ある定数Cがあって、n がある程度大きいときに常に以下の式が成り立つとき
f(n) < C * g(n) ---------- (*)
f(n) = O(g(n)) と表記する。ってのが定義だから、この場合は T(n) = O(n log n) であってる。
最後端折っちゃったけど、つづき
T(n) = n log n + n * T(1)
T(1) は入力サイズにかかわらず一定なので定数 d とする。
T(n) = n log n + d * n
n がある程度大きくなれば常に d < log n なので
T(n) = n log n + d * n < n log n + n log n = 2 n log n
整理すると
T(n) < 2 n log n
O記法に戻って f(n) を T(n)、C を2、g(n) を n log n と対応させると T(n) = O(n log n)
アルゴリズムイントロダクションみたいな有名な本をちょっと見てみるといいよ。
f(n) < C * g(n) ---------- (*)
f(n) = O(g(n)) と表記する。ってのが定義だから、この場合は T(n) = O(n log n) であってる。
最後端折っちゃったけど、つづき
T(n) = n log n + n * T(1)
T(1) は入力サイズにかかわらず一定なので定数 d とする。
T(n) = n log n + d * n
n がある程度大きくなれば常に d < log n なので
T(n) = n log n + d * n < n log n + n log n = 2 n log n
整理すると
T(n) < 2 n log n
O記法に戻って f(n) を T(n)、C を2、g(n) を n log n と対応させると T(n) = O(n log n)
アルゴリズムイントロダクションみたいな有名な本をちょっと見てみるといいよ。
2013/03/25(月) 13:47:30.00
2013/03/25(月) 13:52:27.86
第三版日本語版が出てるらしい。
http://diary.overlasting.net/2013-01-02-2.html
- 第一回 [2013-01-24-1]
-- http://diary.overlasting.net/2013-01-24-1.html
- 第二回 [2013-01-31-1]
-- http://diary.overlasting.net/2013-01-31-1.html
- 第三回 [2013-02-07-1]
-- http://diary.overlasting.net/2013-01-31-1.html
http://diary.overlasting.net/2013-01-02-2.html
- 第一回 [2013-01-24-1]
-- http://diary.overlasting.net/2013-01-24-1.html
- 第二回 [2013-01-31-1]
-- http://diary.overlasting.net/2013-01-31-1.html
- 第三回 [2013-02-07-1]
-- http://diary.overlasting.net/2013-01-31-1.html
2013/03/25(月) 14:05:13.78
なんかリンクが可笑しいので訂正。
アルゴリズムイントロダクション 第3版の日本語版が出揃ってた
http://diary.overlasting.net/2013-01-02-2.html
アルゴリズムイントロダクション輪読会 01
http://diary.overlasting.net/2013-01-24-1.html
アルゴリズムイントロダクション輪読会 02
http://diary.overlasting.net/2013-01-31-1.html
アルゴリズムイントロダクション輪読会 03
http://diary.overlasting.net/2013-02-07-1.html
アルゴリズムイントロダクション輪読会 04
http://diary.overlasting.net/2013-02-14-1.html
アルゴリズムイントロダクション 第3版の日本語版が出揃ってた
http://diary.overlasting.net/2013-01-02-2.html
アルゴリズムイントロダクション輪読会 01
http://diary.overlasting.net/2013-01-24-1.html
アルゴリズムイントロダクション輪読会 02
http://diary.overlasting.net/2013-01-31-1.html
アルゴリズムイントロダクション輪読会 03
http://diary.overlasting.net/2013-02-07-1.html
アルゴリズムイントロダクション輪読会 04
http://diary.overlasting.net/2013-02-14-1.html
24デフォルトの名無しさん
2013/03/25(月) 14:06:31.10 NHNってLINE(ハ○ゲ)の会社か
なかなか良スレだと思うけど
逆に言えばこういうの語られる場所はほとんど無かったわけで
計算量の見積もりとか語りにくい地味な話題なんだろうな
>>3
計算量もわからないのにこのスレいるの?とか話終わらす奴もいるし適当だと思わん
実際計算量見積もりとかまでやりだしたらごちゃごちゃするぜ?
逆に言えばこういうの語られる場所はほとんど無かったわけで
計算量の見積もりとか語りにくい地味な話題なんだろうな
>>3
計算量もわからないのにこのスレいるの?とか話終わらす奴もいるし適当だと思わん
実際計算量見積もりとかまでやりだしたらごちゃごちゃするぜ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★3 [蚤の市★]
- 青森 緊急地震速報 [ぐれ★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★4 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★3 [冬月記者★]
- 【おこめ券】物価高対策の“おこめ券”全米販は1枚477円で販売へ 鈴木農水大臣「国民の皆様に活用いただきやすいよう工夫いただいた」 [ぐれ★]
- 【速報】衆院議員定数削減法案、自民・維新が今国会成立見送りで調整 [Hitzeschleier★]
- 高市早苗さん子供はすでに成人していると告白。 [271912485]
- 【速報】今年のゲームオブザイヤー、Clair Obscur: Expedition 33 [779938112]
- 地蔵 [268244553]
- 【悲報】ホテル「高市早苗のせいで12月の売り上げがゼロになった😢」 [616817505]
- 日本、高市が辞任しても日中関係を改善させられそうな首相候補がいなくて詰む [329271814]
- VIP版 今年の漢字
