• Tidak ada hasil yang ditemukan

計算量

N/A
N/A
Protected

Academic year: 2024

Membagikan "計算量"

Copied!
20
0
0

Teks penuh

(1)

本講義最後の話題は、

計算量

について

問題の難しさを如何に計るか ?

(2)

Church-Turingの提唱

「全てのアルゴリズム(計算手順)は、

チューリングマシンで実装できる」

(アルゴリズムと呼べるのは

チューリングマシンで実装できるものだけ)

· · · 「アルゴリズム」の定式化

(3)

計算量 (complexity)

時間計算量 : 計算に掛かるステップ数

TMでの計算の遷移の回数)

空間計算量 : 計算に必要なメモリ量

TMでの計算で使うテープの区画数)

通常は、決まった桁数の四則演算 1 回を

1 ステップと数えることが多い 入力データ長 n に対する

増加のオーダー(Landau の O-記号)で表す

(4)

Landau の O-記号・o-記号 f, g:N→R>0に対し、

f=O(g)⇐⇒ N > 0,C > 0:n:

(nN=⇒f(n)Cg(n))

f=o(g)⇐⇒ f(n)

g(n) →0 (n→ ∞)

⇐⇒ε > 0:N > 0:n:

(nN=⇒f(n)εg(n))

(5)

計算量 (complexity)

問題を解くアルゴリズムによって決まる

· · · アルゴリズムの計算量

→ アルゴリズムの効率 の評価 問題の計算量 :

その問題を解くアルゴリズムの計算量の下限 最も効率良く解くと、どれ位で解けるか

= どうしてもどれ位必要か

= どれ位難しい問題か

→ 問題の難しさ の評価

(6)

計算量 (complexity)

問題を解くアルゴリズムによって決まる

· · · アルゴリズムの計算量

→ アルゴリズムの効率 の評価 問題の計算量 :

その問題を解くアルゴリズムの計算量の下限 最も効率良く解くと、どれ位で解けるか

= どうしてもどれ位必要か

= どれ位難しい問題か

→ 問題の難しさ の評価

(7)

計算量 (complexity)

問題を解くアルゴリズムによって決まる

· · · アルゴリズムの計算量

→ アルゴリズムの効率 の評価 問題の計算量 :

その問題を解くアルゴリズムの計算量の下限 最も効率良く解くと、どれ位で解けるか

= どうしてもどれ位必要か

= どれ位難しい問題か

→ 問題の難しさ の評価

(8)

計算量 (complexity)

問題を解くアルゴリズムによって決まる

· · · アルゴリズムの計算量

→ アルゴリズムの効率 の評価 問題の計算量 :

その問題を解くアルゴリズムの計算量の下限 最も効率良く解くと、どれ位で解けるか

= どうしてもどれ位必要か

= どれ位難しい問題か

→ 問題の難しさ の評価

(9)

基本的な例

加法 : O(n)

乗法: O(n2)かと思いきやO(nlognlog logn)

(高速フーリエ変換 (FFT)

(10)

基本的な例

加法 : O(n)

乗法: O(n2)かと思いきやO(nlognlog logn)

(高速フーリエ変換 (FFT)

(11)

: 互除法

入力 : 正整数 x, y 入力データ長 :

n=dlog2xe+dlog2ye∼max{logx,logy}

出力 : 最大公約数 d=gcd(x, y) 計算量の評価 :

割算の回数 : O(n)

1回の割算 : 素朴な方法でも O(n2)

FFT を使えば O(nlognlog logn))

→ 併せて O(n3)(FFTで O(n2lognlog logn))

· · · 充分に高速なアルゴリズム

(12)

: 互除法

入力 : 正整数 x, y 入力データ長 :

n=dlog2xe+dlog2ye∼max{logx,logy}

出力 : 最大公約数 d=gcd(x, y) 計算量の評価 :

割算の回数 : O(n)

1回の割算 : 素朴な方法でも O(n2)

FFT を使えば O(nlognlog logn))

→ 併せて O(n3)(FFTで O(n2lognlog logn))

· · · 充分に高速なアルゴリズム

(13)

重要な難しさのクラス 多項式時間 P · · · ∃k:O(nk)

事実上計算可能な難しさ

計算モデルの変更に関して頑健

(複数テープTMなどに変更しても不変)

「しらみつぶし」が入ると

大体 O(2n) 程度以上になる(指数時間 EXP

事実上計算不可能

(14)

重要な難しさのクラス 多項式時間 P · · · ∃k:O(nk)

事実上計算可能な難しさ

計算モデルの変更に関して頑健

(複数テープTMなどに変更しても不変)

「しらみつぶし」が入ると

大体 O(2n) 程度以上になる(指数時間 EXP

事実上計算不可能

(15)

重要な難しさのクラス 多項式時間 P · · · ∃k:O(nk)

事実上計算可能な難しさ

計算モデルの変更に関して頑健

(複数テープTMなどに変更しても不変)

「しらみつぶし」が入ると

大体 O(2n) 程度以上になる(指数時間 EXP

事実上計算不可能

(16)

: 素数判定 (PRIMES) n=log2N : N の二進桁数

試行除算(小さい方から割っていく)だと

O(nk2n/2) くらい掛かりそう 実は多項式時間で解ける!!

Agrawal-Kayal-Saxena

“PRIMES is in P” (2002)

(出版は

Ann. of Math. 160(2) (2004), 781-793.

(17)

: 素数判定 (PRIMES) n=log2N : N の二進桁数

試行除算(小さい方から割っていく)だと

O(nk2n/2) くらい掛かりそう 実は多項式時間で解ける!!

Agrawal-Kayal-Saxena

“PRIMES is in P” (2002)

(出版は

Ann. of Math. 160(2) (2004), 781-793.

(18)

素数判定と素因数分解との違い このような効率の良い素数判定は、

具体的に素因数を見付けている訳ではない 素因数分解は P であるかどうか未解決

(多項式時間アルゴリズムが知られていない)

現状で知られているのは、

準指数時間 LN[u, v] (0 < u < 1)

のアルゴリズム

(現時点で最高速なのは u=1/3)

(19)

素数判定と素因数分解との違い このような効率の良い素数判定は、

具体的に素因数を見付けている訳ではない 素因数分解は P であるかどうか未解決

(多項式時間アルゴリズムが知られていない)

現状で知られているのは、

準指数時間 LN[u, v] (0 < u < 1)

のアルゴリズム

(現時点で最高速なのは u=1/3)

(20)

素因数分解アルゴリズム等の計算量を表すのに LN[u, v] :=exp(v(logN)u(log logN)1−u)

が良く用いられる n=logN(Nの桁数)とおくと、

LN[0, v] =evlog logN=nv : 多項式時間

LN[1, v] =evlogN=evn: 指数時間

Referensi

Dokumen terkait

熊本大学 数理科学総合教育センター 不偏推定量 , 一致推定量 , 最尤推定量 演習問題2 母数θの母集団からの標本をX1, X2,.. , Xn とする.ここでは統計量,推定量,推定量の不偏 性,一致性を次の意味で用いる.

直接原価計算と原価計算基準 高 橋 賢 1.はじめに 「原価計算基準」(以下「基準」)は,大蔵省企業会計審議会の中間報告として1962年に公表さ れた1.今年(2022年)は公表されてから60年の節目にあたる.その節目に,『企業会計』2022 年4月号では「『原価計算基準』は生きた化石か」という特集が組まれた.その特集で筆者は総

教育用分子軌道計算システム eduDV の教育現場への活用 坂根 弦太 * (岡山理科大学 教育推進機構 基盤教育センター) 森 義裕(岡山理科大学 非常勤講師) 1..ははじじめめにに 教育用分子軌道計算システムeduDVを開発[1],整備し[2],GUIでの動作を実現[3, 4],さらに開発を続

2.1 はじめに この章では,利子率の計算に関わる数理を概観する. マクロ経済学の初級の講義において登場するIS-LM分析 では利子率が,あたかもその世界に1つしかないかのよう に扱われる.そして,中央銀行の金融政策によって制御 される利子率が生産者の投資行動に決定的な影響を与え ると,学生は教わる.現実の世界をよく知るものには,抵 抗を感ずることも多い.

はじめに この章では,利子率の計算に関わる数理を概観する. マクロ経済学の初級の講義において登場する分析では利子率が,あたかもその世界に つしかないかのように扱われる.そして,中央銀行の金融政策によって制御される利子率が生産者 の投資行動に決定的な影響を与えると,学生は教わる.現実の世界をよく知るものには,抵抗を感 ずることも多い.

漸近的対称計量とは 1 非コンパクト多様体上に定義される完備Riemann計量で,無限遠に近づくにつれ (非コンパクト型Riemann)対称空間の計量に漸近する もの. モデル 境界上の構造 漸近的双曲AH RHn=SO0n,1/SOn 共形 漸近的複素双曲ACH CHn=SUn,1/SUn×U1 CR 漸近的四元数双曲AQH

例:素数判定 PRIMES n=log2N:N の二進桁数 試行除算(小さい方から割っていく)だと Onk2n/2 くらい掛かりそう 実は多項式時間で解ける!! Agrawal-Kayal-Saxena “PRIMES is in P” 2002 (出版は Ann... 例:素数判定 PRIMES n=log2N:N の二進桁数

例:素数判定 PRIMES n=log2N:N の二進桁数 試行除算(小さい方から割っていく)だと Onk2n/2 くらい掛かりそう 実は多項式時間で解ける!! Agrawal-Kayal-Saxena “PRIMES is in P” 2002 (出版は Ann... 例:素数判定 PRIMES n=log2N:N の二進桁数