Math Battle [ 0299: アルゴリズムの性能評価 ]

[ 0299: アルゴリズムの性能評価 ]


[ 湯会老人 (Mentor) の出題 ]

同じ問題を解くのにもさまざまな計算方法 (アルゴリズム) があります。
以下の 5 つ (所要時間をデータ個数 n に応じてモデル化したもの)
を評価し、高速な順にならべて順序を答えてください。

これは Stanford University online training course (Algorithms)
の中で実際に出題されている問題です。


[ 大宙麗亜ちゃん (elementary school) の回答 ]

簡単かな?

これらがなんのアルゴリズムかを答えるのではなく n に適当な値を入れて
5 個の式を計算すればいいですから。

とりあえず n = 100 とし、あとは Wolfram|Alpha に計算してもらいました。 結果は:

計算で求めた値
(a)Overflow
(b)3051 桁 (digits) の整数
(c)≈ 46051.7
(d)100
(e)Overflow

d < c < b < (a と e) はわかりましたが、
a と e はどう区別すればいいのでしょう?


[ 大宙乗児君 (junior high) のコメント ]

Wolfram|Alpha で (a) と (e) のグラフを描くと簡単にわかるよ。


[ 湯会老人のコメント ]

レイアちゃんが最初に試しに入れてみた n = 100 という値が
結果的に大きすぎたということ。

次は n = 5 にして「有意な差」 (significant difference) が出るかどうか
を確認してごらん。


[ 大宙麗亜ちゃんのやり直し ]

n=5 とした結果は:

計算で求めた値
(a)4294967296
(b)33554432
(c)≈ 40.2
(d)5
(e)23283064365386962890625

d < c < b < a < e の順が正しいようですね。

やったー !!!

[ 0301: 次の記事 ]

[ 0300: 数学の天才の星 ]

[ 0299: アルゴリズムの性能評価 ]

[ 0298: 0281の回答 ]

[ 0297: 最近の主な記事改訂 ]

[ 0296: あっと驚く0295の解 ]

[ 0295: 正三角形群の面積総和 ]

[ 0294: 円系列の中心と半径 ]

[ 0293: 0101の補足 ]

[ 0292: 三角形の中の3個の半円 ]

[ 0291: 3個のオタマジャクシ ]

[ 0290: 正方形の中の5個の円 ]

[ 0289: 二等辺三角形の中の3個の内接円 ]

[ 0288: 円の中の円と2個の正方形 ]

[ 0287: Car Riddle ]

[ 0286: フィボナッチ数列と黄金比 ]

[ 0285: 円に内接する2段重ね正方形 ]

[ 0284: 2次関数=指数関数 の整数解 ]

[ 0283: 不思議な連立方程式 ]

[ 0282: 四分円に内接する半円 ]

[ 0281: 対称多項式の逐次計算 ]

[ 0280: 前の記事 ]

[ トップページへ ]