データ構造と  アルゴリズムⅠ

Size: px
Start display at page:

Download "データ構造と  アルゴリズムⅠ"

Transcription

1 算法数理工学 第 5 回 定兼邦彦

2 ハッシュ表 辞書操作 (INSERT, DELETE, SEARCH) を効率よく実現するデータ構造 応用 :C 言語のコンパイラでの記号表の管理 キー : 変数名などの文字列 ハッシュ表は実際的な場面では極めて速い 妥当な仮定の下で,SEARCH の時間の期待値は O() 最悪の場合 () 2

3 チェイン法を用いるハッシュ法の解析 SEARCH は最悪の場合 () 時間 平均時間を解析する スロット m 個, 要素を格納するハッシュ表 T の負荷率 (load factor) = /m と定義 は つのチェインに格納される要素数の平均 解析は を変数として行う (, m が共に無限大に近づくとき, はある定数に留まるとする ) 3

4 ハッシュ法の平均的性能 各要素は m 個のスロットに同じ程度にハッシュされると仮定する ( 単純一様ハッシュの仮定 simple uiform hashig) ハッシュ値 h(k) は O() 時間で計算できると仮定 キー k をもつ要素の探索は, リスト T[h(k)] の長さに比例した時間が必要 4

5 定理 チェイン法を用いるハッシュ表で, 単純一様ハッシュを仮定すると, 失敗に終わる探索にかかる時間の平均は (+ ) 定理 2 チェイン法を用いるハッシュ表で, 単純一様ハッシュを仮定すると, 成功する探索にかかる時間の平均は (+ ) 5

6 ハッシュ関数 良いハッシュの条件 = 単純一様ハッシュ 各キーは U から確率分布 P に従って独立に取り出されると仮定すると, 条件は と書ける k: h( k ) j P( k) m ただし, 一般に P は未知 ) キーがランダムな実数 k (0k) で一様独立のとき, h(k) = km は上の条件を満たす ( j 0,,, m 6

7 除算法 キー k を m で割った剰余をハッシュ値とする h(k) = k mod m 利点 : ハッシュ関数の計算が高速 m は 2 のべき乗に近くない素数がいい m = 2 p のとき,h(k) は k の最下位 p ビット m = 2 p で k が基数 2 p の文字列のとき, 文字を並び替えてもハッシュ値は同じ 7

8 例 = 2000 個の文字列を格納する場合 負荷率 を 3 に近くするには, m = 70 にすればいい 70 は素数で,2 のべき乗には近くない h(k) = k mod 70 とすればいい このハッシュ関数が実際のデータでうまく働くことを確かめるべき 8

9 乗算法 まず, キー k にある定数 A (0 < A < ) を掛け, その小数部分 kaka を取り出す 次に, その値に m を掛け, 小数部分を切り捨てる h( k) m ka ka m の値はあまり重要ではない 2 のべき乗にすると計算が簡単 A 5 / が良いと言われる 9

10 オープンアドレス指定法 オープンアドレス指定法 (ope addressig) では, 要素は連結リストではなくハッシュ表の中に格納される. ハッシュ表が埋まるとそれ以上挿入できない 負荷率は 以下 連結リストを用いないため, スペースが小さい ハッシュ関数を拡張して衝突を回避する 引数 : キーと探査番号 h: U {0,,...,m} {0,,...,m} 探査列 h(k,0), h(k,),..., h(k,m) は 0,,...,m の順列でなければならない 0

11 要素の挿入 it HASH_INSERT(data *T, data k) { it i, j; i = 0; // i: 探査番号 do { j = h(k,i); if (T[j] == NIL) { // スロットが空なら T[j] = k; // 新しいデータを挿入 retur j; } else { i++; // 探査番号を 増やす } } while (i!= m); // m 回試す pritf( ハッシュ表オーバーフロー ); }

12 要素の検索 it HASH_SEARCH(data *T, data k) { it i, j; i = 0; // i: 探査番号 do { j = h(k,i); if (T[j] = k) retur j; // k を発見 i++; } while (T[j]!= NIL && i!= m); // スロットが空か,m 回探索した retur NIL; // k は見つからなかった } 2

13 要素の削除 削除したい要素のあるスロットを NIL にすると, 他の要素が検索できなくなる NIL スロットが見つかると検索は終了するため 削除するときは NIL でなく特別な値 DELETED を格納する SEARCH では DELETED が現れても探索を続ける INSERT では NIL または DELETED の場所に挿入 問題点 : 探索時間が負荷率 で表せない 要素を削除する必要がある場合はチェイン法が好まれる 3

14 衝突回避の方法 一様ハッシュ (uiform hashig) を仮定 : 各キーに対する探査列として, {0,,...,m} の m! 通りの順列のどれもが同程度に現れる 近似的な一様ハッシュを用いる 線形探査 2 次関数探査 ダブルハッシュ法 4

15 線形探査 通常のハッシュ関数 h : U {0,,...,m} に対し h(k,i) = (h (k)+i) mod m (i=0,,...,m) を用いる 探査されるスロット : T[h (k)], T[h (k)+],..., T[m], T[0], T[],..., T[h (k)] 異なる探査列は m 通りしかない ( 開始位置で決定 ) 問題点 : 主クラスタ化 (primary clusterig) が起きる 直前の i 個のスロットが使用中である空きスロットが選択される確率は (i+)/m であるため, 連続する使用中のスロットは常に大きくなる 5

16 2 次関数探査 2 次関数探査 (quadratic probig) では h(k,i) = (h (k)+c i+c 2 i 2 ) mod m (i=0,,...,m) を用いる c, c 2, m は適切に選ぶ必要がある h(k,0) = h(k 2,0) の場合は h(k,i) = h(k 2,i) となってしまう ( 副クラスタ化, secodary clusterig) 異なる探査列は m 通りしかない ( 開始位置で決定 ) 6

17 ダブルハッシュ法 h(k,i) = (h (k)+i h 2 (k)) mod m 探査列は, 初期位置と次に探査する位置までの距離の両方が k に依存している h 2 (k) の値は m と互いに素である必要がある h 2 (k) と m の最大公約数が d のとき, ハッシュ表の /d しか検査しない 例 : m を 2 のべき乗,h 2 は常に奇数 例 2: m を素数, h 2 は m 未満の非負整数 h 2 (k)=+(k mod m ) (m 2 ) 個の探査列が利用できる 7

18 オープンアドレスハッシュ法の解析 ハッシュ表の負荷率 をパラメータとして解析 一様ハッシュを用いると仮定する 定理負荷率 =/m< のオープンアドレスハッシュ表において, 失敗に終わる探索に必要な探査数の期待値は /() 以下 証明失敗に終わる探索では, 最後の探査を除いて, 毎回の探査では異なるキーを格納しているスロットにアクセスし, 最後に未使用のスロットにアクセスする. 8

19 i = 0,,... に対して, p i = Pr{ 未使用のスロットを見つけるまでちょうど i 回の探査を行った } q i = Pr{ 未使用のスロットを見つけるまで少なくとも i 回の探査を行った } と定義する. 探査回数の期待値は i0 ip q i i 最初の探査が使用中のスロットにアクセスする確率は /m であるから q m i 9

20 20 一様ハッシュ法では,2 回目の探査は残りの m 個のスロットの つに対して行われ, その中には 個の使用中のスロットがあるため一般に 2 m m q i i i m i m i m m q

21 2 失敗に終わる探索に必要な探査回数の期待値は が定数なら O() 時間で実行できる = 0.5 なら 2 回以下 = 0.9 なら 0 回以下 i i i ip i q

22 系一様ハッシュを仮定すると, 負荷率 のオープンアドレスハッシュ表に, ある要素を挿入するために必要な探査回数の平均は /() 以下 証明キーを挿入するには未使用スロットを発見する必要がある. その探査回数の期待値は失敗に終わる探索での探査回数の期待値に等しい. 22

23 定理一様ハッシュを仮定し, 表内の各キーは等確率で探索の対象になるとする. 負荷率 のオープンアドレスハッシュ表において, 成功に至る探索に必要な探査回数の期待値は l 証明キー k の探索は, それを挿入したときと同じ探査列を探査する. 系より,k がハッシュ表に i+ 番目に挿入されたキーならば, 探索に必要な探査回数の期待値は /(i/m) = m/(mi) 以下 23

24 24 ハッシュ表に存在する 個のキーについて平均を取ると, 成功に至る探索に必要な探査回数の平均が得られる. =0.5 のとき 回以下 =0.9 のとき 回以下 l ) l( l 0 0 m m H H i m m i m m m m i i

25 万能ハッシュ法 運が悪いと, 個のキーが同じスロットにハッシュされ, 平均検索時間が () になってしまう 万能ハッシュ法 (uiversal hashig) では, ハッシュ関数をランダムに選択する どのように意地悪くキーを選択しても, 平均として良い性能を示す. 25

26 H: キーの普遍集合 U から値域 {0,,...,m} へのハッシュ関数の有限集合 H が万能 (uiversal) 全ての異なるキーの組 x, y U に対し,h(x) = h(y) となるハッシュ関数 h H の個数がちょうど H /m ハッシュ関数を万能な H の中からランダムに選んだときに,x と y が衝突する確率が /m これは h(x) と h(y) が値域 {0,,...,m} からランダムに選択されたときの衝突確率に等しい 26

27 定理 h を万能な集合から選択されたハッシュ関数とする.h を用いて 個のキーをサイズが m のハッシュ表にハッシュする. 衝突はチェイン法で解消する. このとき, キー k のハッシュ先のリストの長さの期待値 E[ h(k) ] は 高々 α( キーが表に存在しないとき ) 高々 +α( キーが表に存在するとき ) 期待値の計算は全てハッシュ関数に関して行い, キーの分布については何も仮定しないことに注意 27

28 証明 : 異なるキーのペア k, l に対して, 指標確率変数 X kl 0 ( h( k) ( h( k) h( l)) h( l)) を定義する. ハッシュ関数の定義より, つのキーのペアが衝突を起こす確率は高々 /m. つまり Pr{h(k)=h(l)}/m よって E[X kl ] /m. キー k に対し,k 以外で k と同じスロットにハッシュされるキーの個数を確率変数 Y k で表す. Y k X kl lt lk 28

29 29 k T のとき従って k T のとき, キー k はリスト T[h(k)] に存在し, カウント Y k には k は含まれていないので従って k l T l k l T l kl k l T l kl k m X X Y E E E k l T l l Y k k h かつ ad : ) ( m Y k k h E E ) ( ad : ) ( k l T l l Y k k h かつ E E ) ( m Y k k h

30 万能ハッシュ関数族の設計 どんなキー k も 0 から p- までの範囲に入るような十分大きな素数 p を選ぶ.p > m を仮定. h a, b ( k) (( ak b)mod p) mod m と定義ただし a {,2,,p-}, b {0,,,,p-}. m は素数でなくてもいい. 定理 : ハッシュ関数のクラス H p, m a, b * p h : a Z, b は万能である. 証明 : 相異なるキー k, l Z p を考える. ハッシュ関数 h a,b に対し r = (ak+b) mod p 30 s = (al+b) mod p と置く. Z p

31 命題 :r s rs a(kl) (mod p) である. a も kl も法 p の下で 0 ではない. p は素数だから右辺の積も 0 ではない. (k,l) を固定する.p(p) 個存在するハッシュ関数のパラメタのペア (a,b) は, (k,l) を異なるペア (r,s) に写像する. r s であるペアは p(p) 個存在するので, (a,b) と (r,s) には 対 対応がある. a ( r s) ( k l) mod p mod b r akmod p (a,b) を一様ランダムに選べば, (r,s) も一様ランダム. p 3

32 従って, 相異なるキー k と l が衝突する確率は, 法 p の下で相異なる r と s をランダムに選択したときに r s (mod m) となる確率に等しい. r を固定すると,r 以外の p 個の値の中で r s (mod m) となる s の個数は高々 p p m p m m m よって,s と r が衝突する確率は高々 /m 従って, 任意の異なる値 k,l Z p のペアに対し h k h l a, b( ) a b( ) m Pr, つまり H p, m a, b * p h : a Z, b Z p は万能 32

33 線形時間のソーティング 今までのソートアルゴリズム 入力要素の比較のみに基づく 比較ソート (compariso sort) と呼ぶ 例 : マージソート, ヒープソート, クイックソート 計算量 :( lg ) この節でのソートアルゴリズム 比較以外の演算を用いる 例 : 計数ソート, 基数ソート, バケットソート 計算量 :O() ( 線形時間 ) 33

34 計数ソート (coutig sort) 個の各入力要素が から k の範囲の整数であると仮定 (k: ある整数 ) k = O() のとき, 計数ソートは O() 時間 基本的なアイデア 各入力要素 x に対し,x より小さい要素の数を決定 その要素数から x の出力配列での位置が決まる 例 : x より小さい数が 7 個 x の出力位置は 8 複数の要素が同じ値を持つ場合に対応する必要あり 34

35 計数ソートのプログラム A[..], B[..]: 入出力配列 C[..k]: 補助的な配列 void COUNTING_SORT(it *A, it *B, it *C, it, it k) { it i,j; for (i=; i<=k; i++) C[i] = 0; for (j=; j<=; j++) C[A[j]] = C[A[j]] + ; // C[i] は i に等しい要素の個数を含む for (i=2; i<=k; i++) C[i] = C[i] + C[i-]; // C[i] は i 以下の要素の個数を含む for (j=; j>=; j--) { B[C[A[j]]] = A[j]; C[A[j]] = C[A[j]] - ; } } 35

36 A C for (j=; j<=; j++) C[A[j]] = C[A[j]] + ; // C[i] は i に等しい要素の個数を含む C for (i=2; i<=k; i++) C[i] = C[i] + C[i-]; // C[i] は i 以下の要素の個数を含む B for (j=; j>=; j--) { B[C[A[j]]] = A[j]; // A[j] 以下が C[A[j]] 個 C[A[j]] = C[A[j]] - ; } 36

37 計数ソートの計算時間 C の初期化 : O(k) 時間 頻度の計算 : O() 時間 累積頻度の計算 : O(k) 時間 出力配列の計算 : O() 時間 全体で O(k + ) 時間 k = O() のとき, 全体で O() 時間 比較ソートの下限 ( lg ) を下回る 37

38 安定なソート 同一の値は入力と出力で同じ順序になる 付属データをキーに従ってソートする場合に重要 A B

39 基数ソート (radix sort) 数の集合をある桁に従って分割する機械がある この機械を用いて d 桁の数 個をソートしたい

40 まず最上位桁でソート ( 分割 ) し, それぞれを再帰的にソートすることを考える 大量の部分問題が生成される 解 : 最下位桁からソートする 基数ソート まず最下位桁に従ってソート 次に下から2 桁目に従ってソート d 桁目まで繰り返す 40

41 基数ソートでは各桁のソートは安定である必要がある 4

42 基数ソートの擬似コード RADIX_SORT(A,d). for (i=; i<=d; i++) 2. 安定ソートを用いて i 桁目に関して配列をソート 実行時間の解析 各桁が から k の範囲として計数ソートを使用 d パスあるので (d(+k)) 時間 d が定数で k = O() ならば, 全体で O() 時間 42

43 = 00 万個の 64 ビットの数をソートするとする 比較ソートでは つの数あたりほぼ lg = 20 回の操作が必要となる 基数ソートでは, これらの数を 4 桁の 2 6 進数と思うと,4 回のパスでソートできる 計数ソートを用いる基数ソートは i-place ではない メモリが高価な場合はクイックソートなどの方が良い 43

44 バケットソート (bucket sort) 入力 : [0,) の実数 個. 一様分布と仮定 アイデア 区間を 個の同じサイズの部分区間 ( バケット ) に分割 個の入力をバケットに分配 各バケットを独立にソート [0,.2) [.2,.4) [.4,.6) [.6,.8)[.8,.0) 44

45 バケットソートの動作 A[..]: 入力配列 B[0..]: バケット ( リストの配列 ) BUCKET_SORT(A,). for (i = ; i ; i++) 2. A[i] をリスト B[A[i]] に挿入する 3. for (i = 0; i ; i++) 4. リスト B[i] を挿入ソートでソートする 5. リスト B[0], B[],...,B[] を順に連接する 45

46 A B 各リストを挿入ソートでソート

47 アルゴリズムの正当性 A[i] と A[j] が同じバケットに入る場合 各バケットは挿入ソートでソートされるので OK A[i] と A[j] が異なるバケットに入る場合 バケット B[i ], B[j ] (i j ) に入るとする アルゴリズムの最後で B のリストは結合される B[i ] の要素は B[j ] の要素よりも前に現れる よって, 出力中で A[i] は A[j] よりも前に現れる つまり, A[i] A[j] を示せばよい 47

48 A[i] A[j] と仮定して矛盾を導く. i A[ i] A[ j] j となり,i j に矛盾する 48

49 実行時間の解析 挿入ソート以外の部分は O() 時間 N i : バケット B[i] に入れられる要素数を表す確率変数 バケット B[i] の要素をソートするのに必要な平均時間 = E[O(N i2 )] = O(E[N i2 ]) 全てのバケット中の要素をソートする時間は 2 2 O(E[ N i ]) O E[ Ni ] i0 i0 49

50 確率変数 N i の分布 要素数 = バケット数 = ある要素が B[i] に入る確率は p = / N i = k となる確率は2 項分布 B(k;,p) に従う E[N i ] = p =, Var[N i ] = p(p) = / E[N i2 ] = Var[N i ] + E 2 [N i ] = 2/ = () 以上より, 挿入ソートに必要な時間は O() バケットソートは線形時間で動作する 50

51 中央値と順序統計量 要素の集合の i 番目の順序統計量 (order statistic): その集合で i 番目に小さい要素 最小値 (miimum): i = 最大値 (maximum): i = 中央値 (media): が奇数のとき i = (+)/2 が偶数のとき i ( ) / 2 とi ( ) / 2 いずれの場合も i ( ) / 2 5

52 選択問題 (selectio problem) 入力 : 個の異なる数の集合 A, 整数 i ( i ) 出力 : A 中のちょうど i 個の他の要素より大きい要素 x A 選択問題は O( lg ) 時間で解ける A の要素をソートする 出力配列の i 番目の要素を返す 選択問題は O() 時間で解ける 52

53 最大と最小 要素の集合の最小値を決定するために必要な比較回数を考える 上限 : 回 data MINUMUM(it, data *A) { it i; data MIN; MIN = A[]; for (i=2; i<=; i++) { if (A[i] < MIN) MIN = A[i]; } retur MIN; } 53

54 比較回数の下限 命題 : 2 回の比較では最小値は決定できない 要素間のトーナメントによって最小値を決定する 回の比較はトーナメントの試合に相当する 値の小さいほうが試合に勝つ 最小値 ( 優勝者 ) が決まる それ以外が負ける 個が負けるには 試合必要 アルゴリズム MINIMUM は比較回数の点で最適 54

55 平均線形時間の選択法 順序統計量は () 時間で求まるが複雑 まず, 平均的に O() 時間のアルゴリズムを考える data RANDOMIZED_SELECT(data *A, it p, it r, it i) // A[p..r] の中で i 番目に小さい要素を返す { it q, k; if (p == r) retur A[p]; q = RANDOMIZED_PARTITION(A,p,r); // q: 分割の位置 k = q p + ; // k: 左部分の要素数 if (i <= k) retur RANDOMIZED_SELECT(A,p,q,i); else retur RANDOMIZED_SELECT(A,q+,r,ik); } 55

56 q = RANDOMIZED_PARTITION(A,p,r); の実行後 2つの空でない部分配列 A[p..q], A[q+..r] に分かれる 左側の各要素は右側よりも小さい k = q p + ; は左側の要素数 i k ならば i 番目の要素は左側の i 番目 i k ならば i 番目の要素は右側の i k 番目 部分配列のサイズが になるまで繰り返す 56

57 57 平均実行時間の上界 T(): 要素の集合での選択問題の平均時間 分割の左側のサイズが になる確率 = 2/ i になる確率 = / (i = 2,3,...,) T() は単調増加と仮定する ) O( 2 ) O( 2 ) O(, max max, 2 / 2 / k T k T T k k T T T k k k

58 58 RANDOMIZED_SELECT の最悪実行時間は ( 2 ) よって / T() = O() T() c と仮定すると d c c d c d c c d c d k k c d ck T k k k 2) / 4 / ( if / 2 /

59 最悪線形時間の 選択アルゴリズム アルゴリズム SELECT: i 番目に小さい要素を返す. 入力配列の 要素をグループに分割 5 要素のグループ /5 個 mod 5 要素のグループ高々 個 2. /5 個の各グループを ( 挿入ソート等で ) ソートし, それぞれの中央値を求める 3. SELECT を再帰的に用いてステップ 2 で求めた /5 個の値の中央値 x を求める 59

60 4. PARTITION を修正したものを用い, 入力配列を x によって分割する. 左側の要素数を k とする. 5. i k ならば, 左側で i 番目に小さい要素を再帰的に見つける. i k ならば, 右側で ik 番目に小さい要素を再帰的に見つける. 60

61 SELECT の実行時間の解析 分割に用いた x より大きい要素数の下界を求める ステップ 2 で求めた中央値の少なくとも半分は x ( 中央値の中央値 ) 以上 中央値が x 以上のグループには,x 以上の値が 3 個以上ある x 以上となる要素数は少なくとも

62 同様に,x 以下となる要素数も少なくとも 3/06 ステップ 5 で再帰的に呼ばれる SELECT の部分問題のサイズは高々 7/0+6 ステップ,4: O() 時間 ステップ 2: 5 要素のソートを /5 回 O() 時間 ステップ 3: T(/5) 時間 T( ) T / 5 T7 /0 6 O () 80のとき 80のとき 62

63 80 に対して T() c と仮定する. c を十分大きくとれば T ( ) c / 5 c7 /0 6 O / 5 7c /0 6c O c /0 7c O c 9 c よって,SELECTの最悪実行時間は線形 これは比較しか用いていない 63

PowerPoint Presentation

PowerPoint Presentation 算法数理工学 第 回 定兼邦彦 クイックソートの 確率的アルゴリズム クイックソートの平均的な場合の実行時間を解析する場合, 入力の頻度を仮定する必要がある. 通常は, すべての順列が等確率で現れると仮定 しかし実際にはこの仮定は必ずしも期待できない この仮定が成り立たなくてもうまく動作するクイックソートの確率的アルゴリズムを示す 確率的 radomized) アルゴリズム 動作が入力だけでなく乱数発生器

More information

PowerPoint Presentation

PowerPoint Presentation 算法数理工学 第 2 回 定兼邦彦 クイックソート n 個の数に対して最悪実行時間 (n 2 ) のソーティングアルゴリズム 平均実行時間は (n log n) 記法に隠された定数も小さい in-place ( 一時的な配列が必要ない ) 2 クイックソートの記述 分割統治法に基づく 部分配列 A[p..r] のソーティング. 部分問題への分割 : 配列 A[p..r] を 2 つの部分配列 A[p..q]

More information

Microsoft PowerPoint - 13approx.pptx

Microsoft PowerPoint - 13approx.pptx I482F 実践的アルゴリズム特論 13,14 回目 : 近似アルゴリズム 上原隆平 (uehara@jaist.ac.jp) ソートの下界の話 比較に基づく任意のソートアルゴリズムはΩ(n log n) 時間の計算時間が必要である 証明 ( 概略 ) k 回の比較で区別できる場合の数は高々 2 k 種類しかない n 個の要素の異なる並べ方は n! 通りある したがって少なくとも k n 2 n!

More information

memo

memo 計数工学プログラミング演習 ( 第 5 回 ) 2017/05/09 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 内容 文字列 双方向リスト ハッシュ 2 文字列 文字列は char の配列 char name[] = ABC ; name は ABC を格納するのに十分な長さの配列 長さは, 文字列の長さ + 1 ( 終端記号用 ) char name[4]

More information

Microsoft PowerPoint - algo ppt [互換モード]

Microsoft PowerPoint - algo ppt [互換モード] ( 復習 ) アルゴリズムとは アルゴリズム概論 - 探索 () - アルゴリズム 問題を解くための曖昧さのない手順 与えられた問題を解くための機械的操作からなる有限の手続き 機械的操作 : 単純な演算, 代入, 比較など 安本慶一 yasumoto[at]is.naist.jp プログラムとの違い プログラムはアルゴリズムをプログラミング言語で表現したもの アルゴリズムは自然言語でも, プログラミング言語でも表現できる

More information

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1 4. ソート ( 教科書 p.205-p.273) 整列すなわちソートは アプリケーションを作成する際には良く使われる基本的な操作であり 今までに数多くのソートのアルゴリズムが考えられてきた 今回はこれらソートのアルゴリズムについて学習していく ソートとはソートとは与えられたデータの集合をキーとなる項目の値の大小関係に基づき 一定の順序で並べ替える操作である ソートには図 1 に示すように キーの値の小さいデータを先頭に並べる

More information

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦   形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110, オートマトン 形式言語及び演習 1 有限オートマトンとは 酒井正彦 wwwtrscssinagoya-uacjp/~sakai/lecture/automata/ 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110, } 形式言語 : 数学モデルに基づいて定義された言語 認識機械 : 文字列が該当言語に属するか? 文字列 機械 受理

More information

情報処理Ⅰ

情報処理Ⅰ Java フローチャート -1- フローチャート ( 流れ図 ) プログラムの処理手順 ( アルゴリズム ) を図示したもの 記号の種類は下記のとおり 端子記号 ( 開始 終了 ) 処理記号計算, 代入等 条件の判定 条件 No ループ処理 LOOP start Yes データの入力 出力 print など 定義済み処理処理名 end サンプルグログラム ( 大文字 小文字変換 ) 大文字を入力して下さい

More information

Taro-再帰関数Ⅲ(公開版).jtd

Taro-再帰関数Ⅲ(公開版).jtd 0. 目次 1 1. ソート 1 1. 1 挿入ソート 1 1. 2 クイックソート 1 1. 3 マージソート - 1 - 1 1. ソート 1 1. 1 挿入ソート 挿入ソートを再帰関数 isort を用いて書く 整列しているデータ (a[1] から a[n-1] まで ) に a[n] を挿入する操作を繰り返す 再帰的定義 isort(a[1],,a[n]) = insert(isort(a[1],,a[n-1]),a[n])

More information

論理と計算(2)

論理と計算(2) 情報科学概論 Ⅰ アルゴリズムと計算 亀山幸義 http://logic.cs.tsukuba.ac.jp/~kam 計算とは? コンピュータが計算できることは? 1 2 関数 = 計算? NO 部分関数と計算 入力 1 入力 2 関数 出力 入力 1 入力 2 部分関数 出力 停止しない 入力 1 入力 2 コンピュータ 止まらないことがある出力 3 入力 1 入力 2 コンピュータ 出力 停止しない

More information

Microsoft PowerPoint - DA1_2018.pptx

Microsoft PowerPoint - DA1_2018.pptx 木の利用例 ( ゲーム木 ) データ構造とアルゴリズム ⅠB 第 回 自分の手番 / 相手の手番で分岐していく 77 例題 二人で交代に,1 から順に までの数を言う. 言う数の個数は,1 個, 個,3 個のいずれか好きなのを選んでよい 最後に を言った方が負け 必勝法 を言って, 相手に順番を回せば絶対勝ち 一方,0 を言って, 相手に順番を回せば, 相手が何個を選んでも, 次に を言える ---

More information

論理と計算(2)

論理と計算(2) 情報科学概論 Ⅰ アルゴリズムと計算量 亀山幸義 http://logic.cs.tsukuba.ac.jp/~kam 亀山担当分の話題 アルゴリズムと計算量 Fibonacci 数列の計算を例にとり アルゴリズムと計算量とは何か 具体的に学ぶ 良いアルゴリズムの設計例として 整列 ( ソーティング ) のアルゴリズムを学ぶ 2 Fibonacci 数 () Fibonacci 数 (2) = if

More information

PowerPoint Presentation

PowerPoint Presentation 最適化手法 第 回 工学部計数工学科 定兼邦彦 http://researchmap.jp/sada/resources/ 前回の補足 グラフのある点の隣接点をリストで表現すると説明したが, 単に隣接点の集合を持っていると思ってよい. 互いに素な集合のデータ構造でも, 単なる集合と思ってよい. 8 3 4 3 3 4 3 4 E v 重み 3 8 3 4 4 3 {{,},{3,8}} {{3,},{4,}}

More information

アルゴリズムとデータ構造

アルゴリズムとデータ構造 講義 アルゴリズムとデータ構造 第 2 回アルゴリズムと計算量 大学院情報科学研究科情報理工学専攻情報知識ネットワーク研究室喜田拓也 講義資料 2018/5/23 今日の内容 アルゴリズムの計算量とは? 漸近的計算量オーダーの計算の方法最悪計算量と平均計算量 ポイント オーダー記法 ビッグオー (O), ビッグオメガ (Ω), ビッグシータ (Θ) 2 お風呂スケジューリング問題 お風呂に入る順番を決めよう!

More information

PowerPoint Presentation

PowerPoint Presentation 今週のトピックス アルゴリズムとデータ構造 第 10 回講義 : 探索その 1 探索 (search) 逐次探索 (sequential search) 2 分探索 (binary search) 内挿探索 (interpolation search) Produced by Qiangfu Zhao (Since 2009), All rights reserved (c) 1 Produced

More information

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦 正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦   正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語 オートマトン 形式言語及び演習 3. 酒井正彦 www.trs.css.i.nagoya-u.ac.jp/~sakai/lecture/automata/ とは ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械 : 言語を記号列で定義 - 記述しやすい ( ユーザフレンドリ ) 例 :01 + 10 - UNIX の grep コマンド - UNIX の

More information

5after探索( )

5after探索( ) 探索アルゴリズム 探索とは? キー 一致するものを探す レコード フィールド START n=10, i =0, target=54 i : n a[i] : target i++ < = 線形探索アルゴリズム (1) 前提 : 配列 a に n 個のデータが保存 処理 :target と同じデータが蓄えられている配列要素の添え字を返し, ない場合は -1 を返すフローチャートを記せ return

More information

プログラム言語及び演習Ⅲ

プログラム言語及び演習Ⅲ 平成 28 年度後期データ構造とアルゴリズム期末テスト 各問題中のアルゴリズムを表すプログラムは, 変数の宣言が省略されているなど, 完全なものではありませんが, 適宜, 常識的な解釈をしてください. 疑問があれば, 挙手をして質問してください. 時間計算量をオーダ記法で表せという問題では, 入力サイズ n を無限大に近づけた場合の漸近的な時間計算量を表せということだと考えてください. 問題 1 入力サイズが

More information

A Constructive Approach to Gene Expression Dynamics

A Constructive Approach to Gene Expression Dynamics 配列アラインメント (I): 大域アラインメント http://www.lab.tohou.ac.jp/sci/is/nacher/eaching/bioinformatics/ week.pdf 08/4/0 08/4/0 基本的な考え方 バイオインフォマティクスにはさまざまなアルゴリズムがありますが その多くにおいて基本的な考え方は 配列が類似していれば 機能も類似している というものである 例えば

More information

memo

memo 計数工学プログラミング演習 ( 第 4 回 ) 2016/05/10 DEPARTMENT OF MATHEMATICA INFORMATICS 1 内容 リスト 疎行列 2 連結リスト (inked ists) オブジェクトをある線形順序に並べて格納するデータ構造 単方向連結リスト (signly linked list) の要素 x キーフィールド key ポインタフィールド next x->next:

More information

Microsoft PowerPoint - mp11-06.pptx

Microsoft PowerPoint - mp11-06.pptx 数理計画法第 6 回 塩浦昭義情報科学研究科准教授 shioura@dais.is.tohoku.ac.jp http://www.dais.is.tohoku.ac.jp/~shioura/teaching 第 5 章組合せ計画 5.2 分枝限定法 組合せ計画問題 組合せ計画問題とは : 有限個の もの の組合せの中から, 目的関数を最小または最大にする組合せを見つける問題 例 1: 整数計画問題全般

More information

Microsoft PowerPoint - 2.ppt [互換モード]

Microsoft PowerPoint - 2.ppt [互換モード] 0 章数学基礎 1 大学では 高校より厳密に議論を行う そのために 議論の議論の対象を明確にする必要がある 集合 ( 定義 ) 集合 物の集まりである集合 X に対して X を構成している物を X の要素または元という 集合については 3 セメスタ開講の 離散数学 で詳しく扱う 2 集合の表現 1. 要素を明示する表現 ( 外延的表現 ) 中括弧で 囲う X = {0,1, 2,3} 慣用的に 英大文字を用いる

More information

Microsoft PowerPoint - 05.pptx

Microsoft PowerPoint - 05.pptx アルゴリズムとデータ構造第 5 回 : データ構造 (1) 探索問題に対応するデータ構造 担当 : 上原隆平 (uehara) 2015/04/17 アルゴリズムとデータ構造 アルゴリズム : 問題を解く手順を記述 データ構造 : データや計算の途中結果を蓄える形式 計算の効率に大きく影響を与える 例 : 配列 連結リスト スタック キュー 優先順位付きキュー 木構造 今回と次回で探索問題を例に説明

More information

Taro-再帰関数Ⅱ(公開版).jtd

Taro-再帰関数Ⅱ(公開版).jtd 0. 目次 6. 2 項係数 7. 二分探索 8. 最大値探索 9. 集合 {1,2,,n} 上の部分集合生成 - 1 - 6. 2 項係数 再帰的定義 2 項係数 c(n,r) は つぎのように 定義される c(n,r) = c(n-1,r) + c(n-1,r-1) (n 2,1 r n-1) = 1 (n 0, r=0 ) = 1 (n 1, r=n ) c(n,r) 0 1 2 3 4 5

More information

様々なミクロ計量モデル†

様々なミクロ計量モデル† 担当 : 長倉大輔 ( ながくらだいすけ ) この資料は私の講義において使用するために作成した資料です WEB ページ上で公開しており 自由に参照して頂いて構いません ただし 内容について 一応検証してありますが もし間違いがあった場合でもそれによって生じるいかなる損害 不利益について責任を負いかねますのでご了承ください 間違いは発見次第 継続的に直していますが まだ存在する可能性があります 1 カウントデータモデル

More information

Microsoft PowerPoint - DA2_2017.pptx

Microsoft PowerPoint - DA2_2017.pptx // データ構造とアルゴリズム IⅠ 第 回単一始点最短路 (II)/ 全点対最短路 トポロジカル ソート順による緩和 トポロジカル ソート順に緩和 閉路のない有向グラフ限定 閉路がないならトポロジカル ソート順に緩和するのがベルマン フォードより速い Θ(V + E) 方針 グラフをトポロジカル ソートして頂点に線形順序を与える ソート順に頂点を選び, その頂点の出辺を緩和する 各頂点は一回だけ選択される

More information

Microsoft PowerPoint - DA2_2019.pptx

Microsoft PowerPoint - DA2_2019.pptx Johnon のアルゴリズム データ構造とアルゴリズム IⅠ 第 回最大フロー 疎なグラフ, 例えば E O( V lg V ) が仮定できる場合に向いている 隣接リスト表現を仮定する. 実行時間は O( V lg V + V E ). 上記の仮定の下で,Floyd-Warhall アルゴリズムよりも漸近的に高速 Johnon のアルゴリズム : アイデア (I) 辺重みが全部非負なら,Dikra

More information

データ構造

データ構造 アルゴリズム及び実習 7 馬青 1 表探索 定義表探索とは 表の形で格納されているデータの中から条件に合ったデータを取り出してくる操作である 但し 表は配列 ( 連結 ) リストなどで実現できるので 以降 表 の代わりに直接 配列 や リスト などの表現を用いる場合が多い 表探索をただ 探索 と呼ぶ場合が多い 用語レコード : 表の中にある個々のデータをレコード (record) と呼ぶ フィールド

More information

プログラム例 /* ACM-ICPC2009 国内予選 Problem C */ // // filename = pc1.c // コンパイル

プログラム例 /* ACM-ICPC2009 国内予選 Problem C */ //   // filename = pc1.c // コンパイル [Problem C] 覆面計算 与えられた覆面計算に対して 等式を満たすような数字の割り当てが何通りあるか を求める問題であるので 各文字に対する数字の割り当てを順番に生成していき その割り当てが等式を満たすかどうかチェックすればよい 異なる文字には異なる数値 (0~9) が割り当てられるので 最大で 10! 約 360 万通りの組み合わせをチェックする必要がある (1 桁の場合を除いて最上位の桁は

More information

Microsoft PowerPoint - 5.pptx

Microsoft PowerPoint - 5.pptx 5. サーチ 5-1. 線形探索 5-2.2 分探索 5-3. ハッシュ 1 サーチ問題 入力 :n 個のデータ a, a,, an a n 0 1 1 ( ここで 入力サイズは とします ) さらに キー k 出力 : k = a となる a があるときは i i となるがあるときは その位置 i,(0 i n 1) キーが存在しないとき -1 2 探索 ( サーチ ) 入力 : 5 3 8 1

More information

gengo1-8

gengo1-8 問題提起その 1 一文字ずつ文字 ( 数字 ) を読み込み それぞれの文字が何回入力されたかを数えて出力するプログラム int code, count_0=0, count_1=0, count_2=0, count_3=0,..., count_9=0; while( (code=getchar())!= EOF ){ } switch(code){ case 0 : count_0++; break;

More information

DA13

DA13 データ構造とアルゴリズム第 13 回 知能情報学メジャー 和 俊和 5 整列 5.1 整列とは 5.2 単純な整列アルゴリズム 5.3 挿 ソートとその拡張 5.4 ヒープソート 5.5 クイックソート 5.6 マージソート 5.7 値の 較を いない整列 5.6 マージソート 1 与えられたデータ A を A " と A # にほぼ 等分する. 2A " と A # を整列する. このとき, データ数が

More information

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル 概略設計書 作成者築山修治作成日 2012 年 10 月 1 日 概要 ( どのような入力に対して, どのような出力をするかの概要説明 ) * 木 T および質問点対の集合 P が与えられたとき, 各質問点対 p = (v,w) P の最下位共通先祖 ( すなわち木 T において点 v と w の共通の先祖 a で,a の真の子孫には v と w の共通の先祖が無いような点 ) を見出す関数である.

More information

memo

memo 計数工学プログラミング演習 ( 第 6 回 ) 2016/05/24 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : 再帰呼び出し 2 分探索木 深さ優先探索 課題 : 2 分探索木を用いたソート 2 再帰呼び出し 関数が, 自分自身を呼び出すこと (recursive call, recursion) 再帰を使ってアルゴリズムを設計すると, 簡単になることが多い

More information

Taro-プログラミングの基礎Ⅱ(公

Taro-プログラミングの基礎Ⅱ(公 0. 目次 2. プログラムの作成 2. 1 コラッツ問題 自然数 n から出発して n が偶数ならば 2 で割り n が奇数ならば 3 倍して 1 を足す操作を行う この操作を繰り返すと最後に 1 になると予想されている 問題 1 自然数 aの操作回数を求めよ 問題 2 自然数 aから bまでのなかで 最大操作回数となる自然数を求めよ 2. 2 耐久数 正整数の各桁の数字を掛け 得られた結果についても同様の操作を繰り返す

More information

Microsoft PowerPoint - mp13-07.pptx

Microsoft PowerPoint - mp13-07.pptx 数理計画法 ( 数理最適化 ) 第 7 回 ネットワーク最適化 最大流問題と増加路アルゴリズム 担当 : 塩浦昭義 ( 情報科学研究科准教授 ) hiour@di.i.ohoku.c.jp ネットワーク最適化問題 ( 無向, 有向 ) グラフ 頂点 (verex, 接点, 点 ) が枝 (edge, 辺, 線 ) で結ばれたもの ネットワーク 頂点や枝に数値データ ( 距離, コストなど ) が付加されたもの

More information

2

2 問題 1 次の設問 1~5 に答えよ 設問 1. Java のソースプログラムをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 2. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 3. Java のソースプログラムの拡張子はどれか a).c

More information

Microsoft PowerPoint - ca ppt [互換モード]

Microsoft PowerPoint - ca ppt [互換モード] 大阪電気通信大学情報通信工学部光システム工学科 2 年次配当科目 コンピュータアルゴリズム 良いアルゴリズムとは 第 2 講 : 平成 20 年 10 月 10 日 ( 金 ) 4 限 E252 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/ 第 1 講の復習

More information

Microsoft PowerPoint - 10.pptx

Microsoft PowerPoint - 10.pptx m u. 固有値とその応用 8/7/( 水 ). 固有値とその応用 固有値と固有ベクトル 行列による写像から固有ベクトルへ m m 行列 によって線形写像 f : R R が表せることを見てきた ここでは 次元平面の行列による写像を調べる とし 写像 f : を考える R R まず 単位ベクトルの像 u y y f : R R u u, u この事から 線形写像の性質を用いると 次の格子上の点全ての写像先が求まる

More information

簡単な検索と整列(ソート)

簡単な検索と整列(ソート) フローチャート (2) アルゴリズム論第 2 回講義 2011 年 10 月 7 日 ( 金 ) 反復構造 ( 一定回数のループ処理 ) START 100 回同じ処理を繰り返す お風呂で子供が指をおって数を数える感じ 繰り返し数を記憶する変数をカウンター ( 変数名 I をよく使う ) と呼ぶ カウンターを初期化して, 100 回繰り返したかどうか判定してそうならば終了そうでなければ処理を実行して

More information

Information Theory

Information Theory 前回の復習 講義の概要 chapter 1: 情報を測る... エントロピーの定義 確率変数 X の ( 一次 ) エントロピー M H 1 (X) = p i log 2 p i (bit) i=1 M は実現値の個数,p i は i 番目の実現値が取られる確率 実現値 確率 表 裏 0.5 0.5 H 1 X = 0.5 log 2 0.5 0.5log 2 0.5 = 1bit 1 練習問題の解答

More information

Microsoft PowerPoint - 06.pptx

Microsoft PowerPoint - 06.pptx アルゴリズムとデータ構造第 6 回 : 探索問題に対応するデータ構造 (2) 担当 : 上原隆平 (uehara) 2015/04/22 内容 スタック (stack): 最後に追加されたデータが最初に取り出される 待ち行列 / キュー (queue): 最初に追加されたデータが最初に取り出される ヒープ (heap): 蓄えられたデータのうち小さいものから順に取り出される 配列による実装 連結リストによる実装

More information

Microsoft Word - lec_student-chp3_1-representative

Microsoft Word - lec_student-chp3_1-representative 1. はじめに この節でのテーマ データ分布の中心位置を数値で表す 可視化でとらえた分布の中心位置を数量化する 平均値とメジアン, 幾何平均 この節での到達目標 1 平均値 メジアン 幾何平均の定義を書ける 2 平均値とメジアン, 幾何平均の特徴と使える状況を説明できる. 3 平均値 メジアン 幾何平均を計算できる 2. 特性値 集めたデータを度数分布表やヒストグラムに整理する ( 可視化する )

More information

Microsoft PowerPoint - ppt-7.pptx

Microsoft PowerPoint - ppt-7.pptx テーマ 7: 最小包含円 点集合を包含する半径最小の円 最小包含円問題 問題 : 平面上に n 点の集合が与えられたとき, これらの点をすべて内部に含む半径最小の円を効率よく求める方法を示せ. どの点にも接触しない包含円 すべての点を内部に含む包含円を求める 十分に大きな包含円から始め, 点にぶつかるまで徐々に半径を小さくする 1 点にしか接触しない包含円 現在の中心から周上の点に向けて中心を移動する

More information

PowerPoint Presentation

PowerPoint Presentation 付録 2 2 次元アフィン変換 直交変換 たたみ込み 1.2 次元のアフィン変換 座標 (x,y ) を (x,y) に移すことを 2 次元での変換. 特に, 変換が と書けるとき, アフィン変換, アフィン変換は, その 1 次の項による変換 と 0 次の項による変換 アフィン変換 0 次の項は平行移動 1 次の項は座標 (x, y ) をベクトルと考えて とすれば このようなもの 2 次元ベクトルの線形写像

More information

ボルツマンマシンの高速化

ボルツマンマシンの高速化 1. はじめに ボルツマン学習と平均場近似 山梨大学工学部宗久研究室 G04MK016 鳥居圭太 ボルツマンマシンは学習可能な相互結合型ネットワー クの代表的なものである. ボルツマンマシンには, 学習のための統計平均を取る必要があり, 結果を求めるまでに長い時間がかかってしまうという欠点がある. そこで, 学習の高速化のために, 統計を取る2つのステップについて, 以下のことを行う. まず1つ目のステップでは,

More information

Taro-再帰関数Ⅰ(公開版).jtd

Taro-再帰関数Ⅰ(公開版).jtd 再帰関数 Ⅰ 0. 目次 1. 階乗関数 2. 基本演算 2. 1 乗算 2. 2 除算 2. 3 剰余 3. 最大公約数. フィボナッチ関数 5. べき乗関数 5. 1 解法 1 5. 2 解法 2-1 - 1. 階乗関数 再帰関数は 関数の中で自分自身を呼び出す関数をいう 関数を簡潔に定義することができる 階乗関数 f(n) (n 0) を明示的に書くとつぎのようになる 再帰的定義 f(n) =

More information

2

2 問題 次の設問に答えよ 設問. Java のソースコードをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) javaw 設問. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d).jar 設問. Java のソースコードの拡張子はどれか a).c b).java c).class

More information

Microsoft PowerPoint - DA2_2017.pptx

Microsoft PowerPoint - DA2_2017.pptx 1// 小テスト内容 データ構造とアルゴリズム IⅠ 第 回単一始点最短路 (I) 1 1 第 章の構成. 単一始点最短路問題 単一始点最短路問題とは 単一始点最短路問題の考え方 単一始点最短路問題を解くつのアルゴリズム ベルマン フォードのアルゴリズム トポロジカル ソートによる解法 ダイクストラのアルゴリズム 1 1 単一始点最短路問題とは 単一始点最短路問題とは 前提 : 重み付き有向グラフ

More information

Information Theory

Information Theory 前回の復習 情報をコンパクトに表現するための符号化方式を考える 情報源符号化における基礎的な性質 一意復号可能性 瞬時復号可能性 クラフトの不等式 2 l 1 + + 2 l M 1 ハフマン符号の構成法 (2 元符号の場合 ) D. Huffman 1 前回の練習問題 : ハフマン符号 符号木を再帰的に構成し, 符号を作る A B C D E F 確率 0.3 0.2 0.2 0.1 0.1 0.1

More information

Microsoft PowerPoint - 基礎・経済統計6.ppt

Microsoft PowerPoint - 基礎・経済統計6.ppt . 確率変数 基礎 経済統計 6 確率分布 事象を数値化したもの ( 事象ー > 数値 の関数 自然に数値されている場合 さいころの目 量的尺度 数値化が必要な場合 質的尺度, 順序的尺度 それらの尺度に数値を割り当てる 例えば, コインの表が出たら, 裏なら 0. 離散確率変数と連続確率変数 確率変数の値 連続値をとるもの 身長, 体重, 実質 GDP など とびとびの値 離散値をとるもの 新生児の性別

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

PG13-6S

PG13-6S プログラム演習 I レポート 学籍番号 担当教員 : 小林郁夫 氏名 実習日平成 26 年 7 月 4 日 提出期限 7 月 11 日提出日 7 月 17 日 1 週遅れ 第 13 回 テーマ : 並べ替えのアルゴリズム 教員使用欄 15 S A B C 再提出 課題 1 バブルソートの実行画面 プログラムのソースコード // day13_akb1.cpp : コンソールアプリケーションのエントリポイントを定義します

More information

Microsoft PowerPoint - kougi10.ppt

Microsoft PowerPoint - kougi10.ppt C プログラミング演習 第 10 回二分探索木 1 例題 1. リストの併合 2 つのリストを併合するプログラムを動かしてみる head1 tail1 head2 tail2 NULL NULL head1 tail1 tail1 があると, リストの併合に便利 NULL 2 #include "stdafx.h" #include struct data_list { int data;

More information

Microsoft PowerPoint - DA2_2018.pptx

Microsoft PowerPoint - DA2_2018.pptx 1//1 データ構造とアルゴリズム IⅠ 第 回単一始点最短路 (I). 単一始点最短路問題 第 章の構成 単一始点最短路問題とは 単一始点最短路問題の考え方 単一始点最短路問題を解くつのアルゴリズム ベルマン フォードのアルゴリズム トポロジカル ソートによる解法 ダイクストラのアルゴリズム 単一始点最短路問題とは 単一始点最短路問題とは 前提 : 重み付き有向グラフ 特定の開始頂点 から任意の頂点

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

<4D F736F F F696E74202D2091E6824F82538FCD8CEB82E88C9F8F6F814592F990B382CC8CB4979D82BB82CC82505F D E95848D8682CC90B69

<4D F736F F F696E74202D2091E6824F82538FCD8CEB82E88C9F8F6F814592F990B382CC8CB4979D82BB82CC82505F D E95848D8682CC90B69 第 章 誤り検出 訂正の原理 その ブロック符号とその復号 安達文幸 目次 誤り訂正符号化を用いる伝送系誤り検出符号誤り検出 訂正符号 7, ハミング符号, ハミング符号生成行列, パリティ検査行列の一般形符号の生成行列符号の生成行列とパリティ検査行列の関係符号の訂正能力符号多項式 安達 : コミュニケーション符号理論 安達 : コミュニケーション符号理論 誤り訂正符号化を用いる伝送系 伝送システム

More information

memo

memo 計数工学プログラミング演習 ( 第 6 回 ) 2017/05/16 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : 再帰呼び出し 2 分探索木 深さ優先探索 課題 : 2 分探索木を用いたソート 2 再帰呼び出し 関数が, 自分自身を呼び出すこと (recursive call, recursion) 再帰を使ってアルゴリズムを設計すると, 簡単になることが多い

More information

講義「○○○○」

講義「○○○○」 講義 信頼度の推定と立証 内容. 点推定と区間推定. 指数分布の点推定 区間推定 3. 指数分布 正規分布の信頼度推定 担当 : 倉敷哲生 ( ビジネスエンジニアリング専攻 ) 統計的推測 標本から得られる情報を基に 母集団に関する結論の導出が目的 測定値 x x x 3 : x 母集団 (populaio) 母集団の特性値 統計的推測 標本 (sample) 標本の特性値 分布のパラメータ ( 母数

More information

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ 4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は

More information

Microsoft PowerPoint - 3.ppt [互換モード]

Microsoft PowerPoint - 3.ppt [互換モード] 3. プッシュダウンオートマトンと文脈自由文法 1 3-1. プッシュダウンオートマトン オートマトンはメモリがほとんど無かった この制限を除いた機械を考える 理想的なスタックを利用できるようなオートマトンをプッシュダウンオートマトン (Push Down Automaton,PDA) という 0 1 入力テープ 1 a 1 1 0 1 スタッb 入力テープを一度走査したあと ク2 入力テプを度走査したあと

More information

生命情報学

生命情報学 生命情報学 5 隠れマルコフモデル 阿久津達也 京都大学化学研究所 バイオインフォマティクスセンター 内容 配列モチーフ 最尤推定 ベイズ推定 M 推定 隠れマルコフモデル HMM Verアルゴリズム EMアルゴリズム Baum-Welchアルゴリズム 前向きアルゴリズム 後向きアルゴリズム プロファイル HMM 配列モチーフ モチーフ発見 配列モチーフ : 同じ機能を持つ遺伝子配列などに見られる共通の文字列パターン

More information

Microsoft PowerPoint - 4.pptx

Microsoft PowerPoint - 4.pptx while 文 (1) 繰り返しの必要性 while の形式と動作 繰り返しにより平 根を求める ( 演習 ) 繰り返しにより 程式の解を求める ( 課題 ) Hello. をたくさん表示しよう Hello. を画面に 3 回表示するには, 以下で OK. #include int main() { printf("hello. n"); printf("hello. n");

More information

模擬試験問題(第1章~第3章)

模擬試験問題(第1章~第3章) 基本情報技術者試験の練習問題 - 第 8 回 この問題は平成 19 年度秋期の問題から抜粋しています 問 1 次のプログラムの説明及びプログラムを読んで, 設問 1,2 に答えよ プログラムの説明 スタックを使って, 実数値を 10 進数字列 ( 文字列 ) に変換する副プログラム FloatFormat である (1) FloatFormat は, 実数 Float の値を 10 進数字列に変換し,

More information

Taro-スタック(公開版).jtd

Taro-スタック(公開版).jtd 0. 目次 1. 1. 1 配列によるの実現 1. 2 再帰的なデータ構造によるの実現 1. 3 地図情報処理 1. 4 問題 問題 1 グラフ探索問題 - 1 - 1. は データの出し入れが一カ所で行われ 操作は追加と削除ができるデータ構造をいう 出入口 追加 削除 操作 最初 111 追加 111 222 追加 111 222 333 追加 111 222 333 444 追加 111 222

More information

Microsoft PowerPoint - 10.pptx

Microsoft PowerPoint - 10.pptx 0. 固有値とその応用 固有値と固有ベクトル 2 行列による写像から固有ベクトルへ m n A : m n n m 行列によって線形写像 f R R A が表せることを見てきた ここでは 2 次元平面の行列による写像を調べる 2 = 2 A 2 2 とし 写像 まず 単位ベクトルの像を求める u 2 x = v 2 y f : R A R を考える u 2 2 u, 2 2 0 = = v 2 0

More information

構造化プログラミングと データ抽象

構造化プログラミングと データ抽象 計算の理論 後半第 3 回 λ 計算と型システム 本日の内容 λ 計算の表現力 ( 前回の復習 ) データの表現 不動点演算子と再帰 λ 計算の重要な性質 チャーチ ロッサー性 簡約戦略 型付き λ 計算 ブール値 組 ブール値と組の表現 true, false を受け取り 対応する要素を返す関数 として表現 T = λt.λf.t F = λt.λf.f if e 1 then e 2 else

More information

統計的データ解析

統計的データ解析 統計的データ解析 011 011.11.9 林田清 ( 大阪大学大学院理学研究科 ) 連続確率分布の平均値 分散 比較のため P(c ) c 分布 自由度 の ( カイ c 平均値 0, 標準偏差 1の正規分布 に従う変数 xの自乗和 c x =1 が従う分布を自由度 の分布と呼ぶ 一般に自由度の分布は f /1 c / / ( c ) {( c ) e }/ ( / ) 期待値 二乗 ) 分布 c

More information

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for 4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for 文 ) */ int i, no; for (i = 0; i

More information

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること C プログラミング演習 1( 再 ) 4 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順

More information

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�)

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�) Cellulr uo nd heir eigenlues 東洋大学総合情報学部 佐藤忠一 Tdzu So Depren o Inorion Siene nd rs Toyo Uniersiy. まえがき 一次元セルオ-トマトンは数学的には記号列上の行列の固有値問題である 固有値問題の行列はふつう複素数体上の行列である 量子力学における固有値問題も無限次元ではあるが関数環上の行列でその成分は可換環である

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある

More information

Microsoft Word - 13

Microsoft Word - 13 担当 : 富井尚志 (tommy@ynu.ac.jp) アルゴリズムとデータ構造 講義日程 1. 基本的データ型 2. 基本的制御構造 3. 変数のスコープルール. 関数 4. 配列を扱うアルゴリズムの基礎 (1). 最大値, 最小値 5. 配列を扱うアルゴリズムの基礎 (2). 重複除去, 集合演算, ポインタ 6. ファイルの扱い 7. 整列 (1). 単純挿入整列 単純選択整列 単純交換整列

More information

program7app.ppt

program7app.ppt プログラム理論と言語第 7 回 ポインタと配列, 高階関数, まとめ 有村博紀 吉岡真治 公開スライド PDF( 情報知識ネットワーク研 HP/ 授業 ) http://www-ikn.ist.hokudai.ac.jp/~arim/pub/proriron/ 本スライドは,2015 北海道大学吉岡真治 プログラム理論と言語, に基づいて, 現著者の承諾のもとに, 改訂者 ( 有村 ) が加筆修正しています.

More information

Microsoft PowerPoint - ad11-09.pptx

Microsoft PowerPoint - ad11-09.pptx 無向グラフと有向グラフ 無向グラフ G=(V, E) 頂点集合 V 頂点の対を表す枝の集合 E e=(u,v) 頂点 u, v は枝 e の端点 f c 0 a 1 e b d 有向グラフ G=(V, E) 頂点集合 V 頂点の順序対を表す枝の集合 E e=(u,v) 頂点 uは枝 eの始点頂点 vは枝 eの終点 f c 0 a 1 e b d グラフのデータ構造 グラフ G=(V, E) を表現するデータ構造

More information

Microsoft PowerPoint - IntroAlgDs pptx

Microsoft PowerPoint - IntroAlgDs pptx アルゴリズムとデータ構造入門 -3 04 年 月 4 日 大学院情報学研究科知能情報学専攻 http://wiie.kuis.kyoto-u.ac.jp/~okuo/lecture//itroalgds/ okuo@i.kyoto-u.ac.jp,okuo@ue.org if mod( 学籍番号の下 3 桁,3) 0 if mod( 学籍番号の下 3 桁,3) if mod( 学籍番号の下 3 桁,3).

More information

< F2D837C E95CF CF68A4A94C5816A2E6A>

< F2D837C E95CF CF68A4A94C5816A2E6A> 0. 目次 6. ポインタ変数と文字処理 6. 1 文字 6. 2 文字列定数 6. 3 文字列 6. 4 文字列配列 7. ポインタ変数と関数 8. 問題 7. 1 引数とポインタ変数 7. 1. 1 変数が引数の場合 7. 1. 2 ポインタ変数が引数の場合 7. 2 引数と配列 7. 3 戻り値とポインタ変数 問題 1 問題 2-1 - 6. ポインタ変数と文字処理 6. 1 文字 文字の宣言

More information

(.3) 式 z / の計算, alpha( ), sigma( ) から, 値 ( 区間幅 ) を計算 siki.3<-fuctio(, alpha, sigma) elta <- qorm(-alpha/) sigma /sqrt() elta [ 例 ]., 信頼率 として, サイ

(.3) 式 z / の計算, alpha( ), sigma( ) から, 値 ( 区間幅 ) を計算 siki.3<-fuctio(, alpha, sigma) elta <- qorm(-alpha/) sigma /sqrt() elta [ 例 ]., 信頼率 として, サイ 区間推定に基づくサンプルサイズの設計方法 7.7. 株式会社応用数理研究所佐々木俊久 永田靖 サンプルサイズの決め方 朝倉書店 (3) の 章です 原本とおなじ 6 種類を記述していますが 平均値関連 4 つをから4 章とし, 分散の つを 5,6 章に順序を変更しました 推定手順 サンプルサイズの設計方法は, 原本をそのまま引用しています R(S-PLUS) 関数での計算方法および例を追加しました.

More information

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63> C 言語講座第 2 回 作成 : ハルト 前回の復習基本的に main () の中カッコの中にプログラムを書く また 変数 ( int, float ) はC 言語では main() の中カッコの先頭で宣言する 1 画面へ出力 printf() 2 キーボードから入力 scanf() printf / scanf で整数を表示 / 入力 %d 小数を表示 / 入力 %f 3 整数を扱う int 型を使う

More information

Microsoft PowerPoint - IntroAlgDs pptx

Microsoft PowerPoint - IntroAlgDs pptx アルゴリズムとデータ構造入門 -14 2014 年 1 月 21 日 大学院情報学研究科知能情報学専攻 http://winni.kuis.kyoto-u.ac.jp/~okuno/lctur/13/introalgds/ okuno@i.kyoto-u.ac.jp,okuno@nu.org if mod( 学籍番号の下 3 桁,3) 0 if mod( 学籍番号の下 3 桁,3) 1 if mod(

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 2 第 03 回 (2007 年 05 月 07 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること hp://www.nlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 05 月 07 日分と書いてある部分が 本日の教材です 本日の内容

More information

memo

memo 数理情報工学特論第一 機械学習とデータマイニング 4 章 : 教師なし学習 3 かしまひさし 鹿島久嗣 ( 数理 6 研 ) kashima@mist.i.~ DEPARTMENT OF MATHEMATICAL INFORMATICS 1 グラフィカルモデルについて学びます グラフィカルモデル グラフィカルラッソ グラフィカルラッソの推定アルゴリズム 2 グラフィカルモデル 3 教師なし学習の主要タスクは

More information

PowerPoint Template

PowerPoint Template プログラミング演習 Ⅲ Linked List P. Ravindra S. De Silva e-mail: ravi@cs.tut.ac.jp, Room F-413 URL: www.icd.cs.tut.ac.jp/~ravi/prog3/index_j.html 連結リストとは? 一つひとつの要素がその前後の要素との参照関係をもつデータ構造 A B C D 連結リストを使用する利点 - 通常の配列はサイズが固定されている

More information

Taro-最大値探索法の開発(公開版

Taro-最大値探索法の開発(公開版 最大値探索法の開発 0. 目次 1. 開発過程 1 目標 1 : 4 個のデータの最大値を求める 目標 2 : 4 個のデータの最大値を求める 改良 : 多数のデータに対応するため 配列を使う 目標 3 : n 個のデータの最大値を求める 改良 : コードを簡潔に記述するため for 文を使う 目標 4 : n 個のデータの最大値を求める 改良 : プログラムをわかりやすくするため 関数を使う 目標

More information

日心TWS

日心TWS 2017.09.22 (15:40~17:10) 日本心理学会第 81 回大会 TWS ベイジアンデータ解析入門 回帰分析を例に ベイジアンデータ解析 を体験してみる 広島大学大学院教育学研究科平川真 ベイジアン分析のステップ (p.24) 1) データの特定 2) モデルの定義 ( 解釈可能な ) モデルの作成 3) パラメタの事前分布の設定 4) ベイズ推論を用いて パラメタの値に確信度を再配分ベイズ推定

More information

2015-2018年度 2次数学セレクション(整数と数列)解答解説

2015-2018年度 2次数学セレクション(整数と数列)解答解説 015 次数学セレクション問題 1 [ 千葉大 文 ] k, m, n を自然数とする 以下の問いに答えよ (1) k を 7 で割った余りが 4 であるとする このとき, k を 3 で割った余りは であることを示せ () 4m+ 5nが 3 で割り切れるとする このとき, mn を 7 で割った余りは 4 ではないことを示せ -1- 015 次数学セレクション問題 [ 九州大 理 ] 以下の問いに答えよ

More information

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y  小幡智裕 Java Script プログラミング入門 3-6~3-7 茨城大学工学部情報工学科 08T4018Y 小幡智裕 3-6 組み込み関数 組み込み関数とは JavaScript の内部にあらかじめ用意されている関数のこと ユーザ定義の関数と同様に 関数名のみで呼び出すことができる 3-6-1 文字列を式として評価する関数 eval() 関数 引数 : string 式として評価する文字列 戻り値 :

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

前期募集 令和 2 年度山梨大学大学院医工農学総合教育部修士課程工学専攻 入学試験問題 No.1/2 コース等 メカトロニクス工学コース 試験科目 数学 問 1 図 1 は, 原点 O の直交座標系 x,y,z に関して, 線分 OA,OB,OC を 3 辺にもつ平行六面体を示す. ここで, 点 A

前期募集 令和 2 年度山梨大学大学院医工農学総合教育部修士課程工学専攻 入学試験問題 No.1/2 コース等 メカトロニクス工学コース 試験科目 数学 問 1 図 1 は, 原点 O の直交座標系 x,y,z に関して, 線分 OA,OB,OC を 3 辺にもつ平行六面体を示す. ここで, 点 A No.1/2 数学 問 1 図 1 は, 原点 O の直交座標系 x,y,z に関して, 線分 OA,OB,OC を 3 辺にもつ平行六面体を示す. ここで, 点 A,B,C の座標はそれぞれ A (,6,-2), B (4,-5,3),C (-5.1,4.9,.9) である. 次の問いに答えよ. (1) を求めよ. (2) および の向きを解答用紙の図 1 に描け. (3) 図 1 の平行六面体の体積

More information

Microsoft PowerPoint - 5Chap15.ppt

Microsoft PowerPoint - 5Chap15.ppt 第 15 章文字列処理 今日のポイント 15.1 文字列処理の基本 strcpy strcat strlen strchr などの使い方をマスターする strcpy はなんて読むの? 普通はストリングコピー C のキーワードの読み方に悩んだら下記サイトを参考 ( 前回紹介とは別サイト ) http://www.okakogi.go.jp/people/miwa/program/c_lang/c_furoku.html

More information

ii 3.,. 4. F. (), ,,. 8.,. 1. (75% ) (25% ) =9 7, =9 8 (. ). 1.,, (). 3.,. 1. ( ).,.,.,.,.,. ( ) (1 2 )., ( ), 0. 2., 1., 0,.

ii 3.,. 4. F. (), ,,. 8.,. 1. (75% ) (25% ) =9 7, =9 8 (. ). 1.,, (). 3.,. 1. ( ).,.,.,.,.,. ( ) (1 2 )., ( ), 0. 2., 1., 0,. 23(2011) (1 C104) 5 11 (2 C206) 5 12 http://www.math.is.tohoku.ac.jp/~obata,.,,,.. 1. 2. 3. 4. 5. 6. 7.,,. 1., 2007 ( ). 2. P. G. Hoel, 1995. 3... 1... 2.,,. ii 3.,. 4. F. (),.. 5.. 6.. 7.,,. 8.,. 1. (75%

More information

構造化プログラミングと データ抽象

構造化プログラミングと データ抽象 計算の理論 後半第 3 回 λ 計算と型システム 本日の内容 λ 計算の表現力 ( 前回のつづき ) 前回の復習 不動点演算子と再帰 λ 計算の重要な性質 チャーチ ロッサー性 簡約戦略 型付き λ 計算 ブール値 組 ブール値と組の表現 ( 復習 ) true, false を受け取り 対応する要素を返す関数 として表現 T = λt.λf.t F = λt.λf.f if e 1 then e

More information

カイ二乗フィット検定、パラメータの誤差

カイ二乗フィット検定、パラメータの誤差 統計的データ解析 008 008.. 林田清 ( 大阪大学大学院理学研究科 ) 問題 C (, ) ( x xˆ) ( y yˆ) σ x πσ σ y y Pabx (, ;,,, ) ˆ y σx σ y = dx exp exp πσx ただし xy ˆ ˆ はyˆ = axˆ+ bであらわされる直線モデル上の点 ( ˆ) ( ˆ ) ( ) x x y ax b y ax b Pabx (,

More information

Microsoft Word - 19-d代 試é¨fi 解ç�fl.docx

Microsoft Word - 19-d代 試é¨fi 解ç�fl.docx 2019 年度ディジタル代数期末試験解答例 再評価試験は期末試験と同程度の難しさである. しっかり準備して受けるように. 1. アドレスが 4 バイトで表わされた画像処理専用プロセッサが幾つかのデータを吐き出して停まってしまった. そのデータの 1 つはレジスタ R0 の中身で,16 進表示すると (BD80) 16 であった. このデータに関して, 以下の問に対する回答を対応する箱内に書け. (1)

More information

memo

memo 数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int

More information

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用 RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項

More information

Microsoft PowerPoint - 6.pptx

Microsoft PowerPoint - 6.pptx 6. データ構造入門 6-1. 連結リスト (Linked List) 6-2. スタック (Stack) 6-. キュー (Queue) 6-4. デク (Double-Ended-Queue) 6-. 抽象データ型 (Abstract Data Type) データ構造とは データの保存を効率的に行うもの 1 ito 2.712.14 suzuki データ構造 1 2 6-1. 連結リスト (Linked

More information

混沌系工学特論 #5

混沌系工学特論 #5 混沌系工学特論 #5 情報科学研究科井上純一 URL : htt://chaosweb.comlex.eng.hokudai.ac.j/~j_inoue/ Mirror : htt://www5.u.so-net.ne.j/j_inoue/index.html 平成 17 年 11 月 14 日第 5 回講義 デジタルデータの転送と復元再考 P ({ σ} ) = ex σ ( σσ ) < ij>

More information

<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

<8D828D5A838A817C A77425F91E6318FCD2E6D6364> 4 1 平面上のベクトル 1 ベクトルとその演算 例題 1 ベクトルの相等 次の問いに答えよ. ⑴ 右の図 1 は平行四辺形 である., と等しいベクトルをいえ. ⑵ 右の図 2 の中で互いに等しいベクトルをいえ. ただし, すべてのマス目は正方形である. 解 ⑴,= より, =,= より, = ⑵ 大きさと向きの等しいものを調べる. a =d, c = f d e f 1 右の図の長方形 において,

More information