Microsoft PowerPoint - ad11-09.pptx
|
|
|
- ことこ おいもり
- 6 years ago
- Views:
Transcription
1 無向グラフと有向グラフ 無向グラフ 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
2 グラフのデータ構造 グラフ G=(V, E) を表現するデータ構造 接続行列 --- 領域計算量 O(mn) 隣接行列 --- 領域計算量 O(n ) 次元配列を使う 実現は簡単 疎なグラフに対して無駄が多い 隣接リスト --- 領域計算量 O(m+n) 複数の連結リストを使う 実現は少し複雑 どのグラフに対しても無駄がない m: 枝の数 n: 頂点の数
3 無向グラフの接続行列 行列の行 頂点集合, 列 枝集合 頂点 u は枝 e の 端点である (u, e) の要素 =1 端点ではない (u, e) の要素 =0 a b c d e f 行列の各列に 1 はちょうど 個 に対応 f c a 0 1 e b d 領域計算量 = 行列の大きさ =O(mn)
4 有向グラフの接続行列 行列の行 頂点集合, 列 枝集合 頂点 u は枝 e の 始点である (u, e) の要素 =1 終点である (u, e) の要素 = ー 1 端点ではない (u, e) の要素 =0 a b c d e f に対応 f c a 0 1 e b d 領域計算量 = 行列の大きさ =O(mn)
5 無向グラフの隣接行列 行列の 行, 列 頂点集合に対応 頂点 u, v の間に枝が 存在している (u, v) の要素 =1 存在していない (u, v) の要素 = の数 =m 個 f c a 0 1 e b d 領域計算量 = 行列の大きさ =O(n )
6 有向グラフの隣接行列 行列の 行, 列 頂点集合に対応 頂点 u から v に向かう枝が 存在している (u, v) の要素 =1 存在していない (u, v) の要素 = の数 =m 個 f c a 0 1 e b d 領域計算量 = 行列の大きさ =O(n )
7 各頂点に対し, 接続する枝を連結リストで表現 ( 双方向リストを使ってもよい ) 0 1 無向グラフの隣接リスト (0,1) (0,) (0,) null (1,0) (1,) null (,0) (,1) (,) null (,0) (,) (,) null (,) null セルの数 =m 個 f c a 0 1 領域計算量 =O( リストの数 )+O( リストのセルの数 ) =O(m+n) 最適な領域計算量 e b d
8 有向グラフの隣接リスト 各頂点に対し, その頂点から出る枝を連結リストで表現 ( 双方向リストを使ってもよい ) 0 1 null (0,1) (0,) null (1,) null (,0) null (,) (,) null セルの数 =m 個 a 0 1 領域計算量 =O( リストの数 )+O( リストのセルの数 ) =O(m+n) 最適な領域計算量 f c e b d
9 最小木問題 (p.) minimum spanning tree problem 入力 : 無向グラフ G=(V,E), 各枝の長さ d(e) (e E) 5 1
10 最小木問題 (p.) 入力 : 無向グラフ G=(V,E), 各枝の長さ d(e) (e E) 出力 :Gの最小木(Gの全域木で, 枝の長さの和が最小のもの ) 1 5 全域木ではない! 閉路が存在
11 最小木問題 (p.) 入力 : 無向グラフ G=(V,E), 各枝の長さ d(e) (e E) 出力 :Gの最小木(Gの全域木で, 枝の長さの和が最小のもの ) 5 1 全域木ではない! 連結でない ( グラフがつながっていない )
12 最小木問題 (p.) 入力 : 無向グラフ G=(V,E), 各枝の長さ d(e) (e E) 出力 :Gの最小木(Gの全域木で, 枝の長さの和が最小のもの ) 5 1 全域木であるが, 最小木でない ( 長さの和 =19)
13 最小木問題 (p.) 入力 : 無向グラフ G=(V,E), 各枝の長さ d(e) (e E) 出力 :Gの最小木(Gの全域木で, 枝の長さの和が最小のもの ) 5 1 全域木であり, 最小木である ( 長さの和 =1)
14 最小木を求めるアルゴリズム クラスカルのアルゴリズム 長さの短い順に枝を加える 閉路が出来ないようにするため, 同じ連結成分を結ぶ枝は除外 プリムのアルゴリズム ( 次回の講義 ) 適当な頂点 s を決める 頂点 s を含む連結成分 P と,P に含まれない頂点を結ぶ枝の中で長さ最小のものを繰り返し加える
15 グラフの連結成分 グラフの連結成分 = 枝で結ばれている頂点の集合 連結成分
16 グラフの連結成分 グラフの連結成分 = 枝で結ばれている頂点の集合 同じ連結成分に含まれる頂点を枝で結ぶ 閉路が出来る
17 グラフの連結成分 グラフの連結成分 = 枝で結ばれている頂点の集合 異なる連結成分に含まれる頂点を枝で結ぶ 閉路は出来ない 異なる連結成分を結ぶ枝を繰り返し加えていく 全域木が得られる
18 クラスカルのアルゴリズム (p.11) 長さの短い順に枝を加える ただし, 同じ連結成分を結ぶ枝は除外 入力の無向グラフ アルゴリズムの動き T= 空集合 からスタート
19 クラスカルのアルゴリズム (p.11) 長さの短い順に枝を加える ただし, 同じ連結成分を結ぶ枝は除外 入力の無向グラフ アルゴリズムの動き 長さの短い枝を順に加える
20 クラスカルのアルゴリズム (p.11) 長さの短い順に枝を加える ただし, 同じ連結成分を結ぶ枝は除外 入力の無向グラフ アルゴリズムの動き 長さの短い枝を順に加える
21 クラスカルのアルゴリズム (p.11) 長さの短い順に枝を加える ただし, 同じ連結成分を結ぶ枝は除外 入力の無向グラフ アルゴリズムの動き 長さの短い枝を順に加える
22 クラスカルのアルゴリズム (p.11) 長さの短い順に枝を加える ただし, 同じ連結成分を結ぶ枝は除外 入力の無向グラフ アルゴリズムの動き 7 1 同じ連結成分を結ぶ枝は除外
23 クラスカルのアルゴリズム (p.11) 長さの短い順に枝を加える ただし, 同じ連結成分を結ぶ枝は除外 入力の無向グラフ アルゴリズムの動き 長さの短い枝を順に加える
24 クラスカルのアルゴリズム (p.11) 長さの短い順に枝を加える ただし, 同じ連結成分を結ぶ枝は除外 入力の無向グラフ アルゴリズムの動き 7 1 同じ連結成分を結ぶ枝は除外
25 クラスカルのアルゴリズム (p.11) 長さの短い順に枝を加える ただし, 同じ連結成分を結ぶ枝は除外 入力の無向グラフ アルゴリズムの動き 7 9 アルゴリズム終了最小木が得られた
26 クラスカルのアルゴリズムの計算時間 アルゴリズムの実装方法 枝を長さの短い順にソート --- O(m log m) = O(m log n)
27 クラスカルのアルゴリズムの計算時間 アルゴリズムの実装方法 17 枝を長さの短い順にソート --- O(m log m) = O(m log n) 各枝の両端の節点が同じ連結成分に含まれるか否かチェック. 同じ連結成分 枝を除去 異なる連結成分 枝を加える {1}, {}, {}, {5}, {} {1, }, {}, {5}, {} {1, }, {, 5}, {} {1,,, 5}, {} {1,,, 5}, {} {1,,, 5, } {1,,, 5, }
28 クラスカルのアルゴリズムの計算時間 アルゴリズムの実装方法 17 枝を長さの短い順にソート --- O(m log m) = O(m log n) 各枝の両端の節点が同じ連結成分に含まれるか否かチェック. 同じ連結成分 枝を除去 異なる連結成分 枝を加える 注意! 枝を加える度に連結成分は変化する 集合族の併合のためのデータ構造を利用する
29 集合族の併合のためのデータ構造 互いに素な複数の集合を繰り返し併合 (merge) するプロセスを考える {1}, {}, {}, {5}, {} {1, }, {}, {5}, {} {1, }, {, 5}, {} {1,,, 5}, {} {1,,, 5, }
30 集合族の併合 集合族 S 1, S,, S t に対する つの操作 MERGE(S i, S k ): 集合 S i と S k を併合, 名前を S i もしくは S k とする FIND(x): 要素 x を含む集合の名前を返す MERGE(S 1, S ) {S 1 : 1}, {S : }, {S : }, {S 5 : 5}, {S : } FIND(5)=S 5 MERGE(S, S 5 ) {S 1 : 1, }, {S : }, {S 5 : 5}, {S : } MERGE(S 1, S ) {S 1 : 1, }, {S :, 5}, {S : } FIND(5)=S 5 MERGE(S 1, S ) {S 1 : 1,,, 5}, {S : } {S 1 : 1,,, 5, } FIND(5)=S FIND(5)=S 1
31 集合族の併合 : クラスカルのアルゴリ ズムの場合 集合族 S 1, S,, S t に対する つの操作 MERGE(S i, S k ): 集合 S i と S k を併合, 名前を S i もしくは S k とする FIND(x): 要素 x を含む集合の名前を返す クラスカルのアルゴリズムでは... MERGE(S i, S k ): 枝を追加 連結成分を併合 n-1 回繰り返す (n = グラフの節点数 ) FIND(x): 現在の枝 (u, v) に対し, 両端点が同じ連結成分に含まれる FIND(u) = FIND(v) m 回繰り返す (m= グラフの枝数 )
32 集合族の併合のデータ構造 : 配列に よる簡単な実現 全要素数 N の大きさの配列 set_name を使う 要素 j に対し set_name[j] = (j を含む集合の名前 ) と定義要素名 1 5 {S 1 : 1, }, {S : }, {S 5 : 5}, {S : } set_name MERGE(S, S 5 ) {S 1 : 1, }, {S :, 5}, {S : } MERGE のとき,set_name の全ての値を調べる必要あり 1 回の MERGE につき O(N) 時間 1 回の FIND は O(1) 時間 要素名 1 5 set_name 1 1 set_name[j]=5 ならば set_name[j]= と置き換える
33 クラスカルのアルゴリズムの計算時間 ( その 1) アルゴリズムの実装方法 枝を長さの短い順にソート --- O(m log m) = O(m log n) 各枝の両端の節点が同じ連結成分に含まれるか否かチェック. 同じ連結成分 枝を除去 異なる連結成分 枝を加える集合族の併合のデータ構造として配列を使用 : FIND の回数 :m 回 --- O(m) 時間 MERGE の回数 : n-1 回 --- O(n ) 時間 クラスカルのアルゴリズムの計算時間 = O(m log n+ m + n ) = O(m log n + n ) 集合族の併合のデータ構造を改良すると, 計算時間を改善できる 来週
34 集合族の併合のデータ構造 : 配列 + リストによる実現 配列 set_name に加え, 各集合をリストで表現 {S 0 : 0,,, 5}, {S 1 : 1}, {S :, 6} 要素名 set_name 集合の名前 集合の大きさ 先頭要素へのポインタ S 0 S 1 1 S 0 NULL S
35 集合族の併合のデータ構造 : 配列 + リストによる実現 S 1 と S を併合し, 名前を S とするときの実行例 {S 0 : 0,,, 5}, {S 1 : 1}, {S :, 6} 1S 1 の各要素の set_name を変更, S 1, S の大きさを変更計算時間 : O( S 1 ) 集合の名前 集合の大きさ 要素名 set_name 先頭要素へのポインタ S 0 S S 0 NULL S
36 集合族の併合のデータ構造 : 配列 + リストによる実現 S 1 と S を併合し, 名前を S とするときの実行例 {S 0 : 0,,, 5}, {S 1 : 1}, {S :, 6} S 1, S のポインタの付け替え計算時間 : O( S 1 ) 集合の名前 集合の大きさ 要素名 set_name 先頭要素へのポインタ S 0 S 1 0 NULL S 0 NULL S (1) S1 の最後の要素から S の先頭へポインタを張る () S1 の先頭要素を S の先頭にする
37 集合族の併合のデータ構造 : 配列 + リストによる実現 併合 1 回の計算時間 =O( 併合される集合の大きさ ) 何も工夫しないと,N 回の併合では最悪 O(N ) 時間 FIND は1 回あたりO(1) 時間 併合の工夫 : 常に大きい集合に小さい集合を併合 N 回の併合で O(N log N) 時間 {S 0 : 0,,, 5}, {S :, 6} {S 0 : 0,,, 5,, 6} {S : 0,,, 5,, 6}
38 クラスカルのアルゴリズムの計算時間 アルゴリズムの実装方法 枝を長さの短い順にソート --- O(m log m) = O(m log n) 各枝の両端の節点が同じ連結成分に含まれるか否かチェック. 同じ連結成分 枝を除去 異なる連結成分 枝を加える FINDの回数 :m 回 --- O(m) 時間 MERGEの回数 : n-1 回 --- O(n log n) 時間 クラスカルのアルゴリズムの計算時間 =O(m log n)
39 レポート問題 問 1: 左下の行列はある無向グラフの隣接行列を表す. (1) この隣接行列が表す無向グラフを書きなさい. () この無向グラフに対する接続行列, および隣接リストを書きなさい. () このグラフの最小木をクラスカルのアルゴリズムによって求めなさい. 計算の過程についても省略せずに書くこと. なお, 各枝の重みは右下の行列によって与えられる
40 レポート問題 (1) 無向グラフの 頂点 u, v が与えられたとき, 枝 (u,v) が存在するか否かを判定したい. 接続行列, 隣接行列, 隣接リスト ( 連結リストの場合 ) のそれぞれを使った場合のアルゴリズムと時間計算量と説明せよ. () 頂点 u が与えられたとき,u に接続する枝をすべて求めたい. 接続行列, 隣接行列, 隣接リスト ( 連結リストの場合 ) のそれぞれを使った場合のアルゴリズムと時間計算量と説明せよ.
Microsoft PowerPoint - mp13-07.pptx
数理計画法 ( 数理最適化 ) 第 7 回 ネットワーク最適化 最大流問題と増加路アルゴリズム 担当 : 塩浦昭義 ( 情報科学研究科准教授 ) [email protected] ネットワーク最適化問題 ( 無向, 有向 ) グラフ 頂点 (verex, 接点, 点 ) が枝 (edge, 辺, 線 ) で結ばれたもの ネットワーク 頂点や枝に数値データ ( 距離, コストなど ) が付加されたもの
Microsoft PowerPoint - mp11-06.pptx
数理計画法第 6 回 塩浦昭義情報科学研究科准教授 [email protected] http://www.dais.is.tohoku.ac.jp/~shioura/teaching 第 5 章組合せ計画 5.2 分枝限定法 組合せ計画問題 組合せ計画問題とは : 有限個の もの の組合せの中から, 目的関数を最小または最大にする組合せを見つける問題 例 1: 整数計画問題全般
離散数学
離散数学 最小全域木と最大流問題 落合秀也 今日の内容 最小全域木 プリムのアルゴリズム 最大流問題 フォード ファルカーソンのアルゴリズム 今日の内容 最小全域木 プリムのアルゴリズム 最大流問題 フォード ファルカーソンのアルゴリズム 最小全域木を考える Minimum Spanning Tree Problem ラベル付 ( 重み付 ) グラフ G(V, E) が与えられたとき ラベルの和が最小となる全域木を作りたい
離散数学
離散数学 最短経路問題 落合秀也 その前に 前回の話 深さ優先探索アルゴリズム 開始点 から深さ優先探索を行うアルゴリズム S.pu() Wl S not mpty v := S.pop() I F[v] = l Tn, F[v] := tru For no u n A[v] S.pu(u) EnFor EnI EnWl (*) 厳密には初期化処理が必要だが省略している k 時間計算量 :O(n+m)
Microsoft PowerPoint - DA2_2017.pptx
// データ構造とアルゴリズム IⅠ 第 回単一始点最短路 (II)/ 全点対最短路 トポロジカル ソート順による緩和 トポロジカル ソート順に緩和 閉路のない有向グラフ限定 閉路がないならトポロジカル ソート順に緩和するのがベルマン フォードより速い Θ(V + E) 方針 グラフをトポロジカル ソートして頂点に線形順序を与える ソート順に頂点を選び, その頂点の出辺を緩和する 各頂点は一回だけ選択される
Microsoft PowerPoint - H20第10回最短経路問題-掲示用.ppt
最短経路問題とは プログラミング言語 I 第 0 回 から終点へ行く経路が複数通りある場合に 最も短い経路を見つける問題 経路の短さの決め方によって様々な応用 最短経路問題 埼玉大学工学部電気電子システム工学科伊藤和人 最短経路問題の応用例 カーナビゲーション 現在地から目的地まで最短時間のルート 経路 = 道路 交差点において走る道路を変更してもよい 経路の短さ = 所要時間の短さ 鉄道乗り換え案内
Microsoft PowerPoint - DA2_2017.pptx
1// 小テスト内容 データ構造とアルゴリズム IⅠ 第 回単一始点最短路 (I) 1 1 第 章の構成. 単一始点最短路問題 単一始点最短路問題とは 単一始点最短路問題の考え方 単一始点最短路問題を解くつのアルゴリズム ベルマン フォードのアルゴリズム トポロジカル ソートによる解法 ダイクストラのアルゴリズム 1 1 単一始点最短路問題とは 単一始点最短路問題とは 前提 : 重み付き有向グラフ
Microsoft PowerPoint - DA2_2018.pptx
1//1 データ構造とアルゴリズム IⅠ 第 回単一始点最短路 (I). 単一始点最短路問題 第 章の構成 単一始点最短路問題とは 単一始点最短路問題の考え方 単一始点最短路問題を解くつのアルゴリズム ベルマン フォードのアルゴリズム トポロジカル ソートによる解法 ダイクストラのアルゴリズム 単一始点最短路問題とは 単一始点最短路問題とは 前提 : 重み付き有向グラフ 特定の開始頂点 から任意の頂点
Microsoft PowerPoint - DA2_2018.pptx
データ構造とアルゴリズム IⅠ 第 7 回幅優先 / 深さ優先探索 / トポロジカルソート. 基本的グラフアルゴリズム 無向グラフ 個の頂点と7 本の辺からなる無向グラフ 隣接リスト 各頂点に関して, 隣接する ( 直接, 辺で結ばれた ) 頂点集合をリストで表現 無向グラフ G=(V,E),V は頂点集合,E は辺集合.E の要素は頂点のペア {u,} によって表される.{u, } と {, u}
Microsoft PowerPoint - mp11-02.pptx
数理計画法第 2 回 塩浦昭義情報科学研究科准教授 [email protected] http://www.dais.is.tohoku.ac.jp/~shioura/teaching 前回の復習 数理計画とは? 数理計画 ( 復習 ) 数理計画問題とは? 狭義には : 数理 ( 数学 ) を使って計画を立てるための問題 広義には : 与えられた評価尺度に関して最も良い解を求める問題
次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1
4. ソート ( 教科書 p.205-p.273) 整列すなわちソートは アプリケーションを作成する際には良く使われる基本的な操作であり 今までに数多くのソートのアルゴリズムが考えられてきた 今回はこれらソートのアルゴリズムについて学習していく ソートとはソートとは与えられたデータの集合をキーとなる項目の値の大小関係に基づき 一定の順序で並べ替える操作である ソートには図 1 に示すように キーの値の小さいデータを先頭に並べる
オートマトンと言語
オートマトンと言語 4 回目 5 月 2 日 ( 水 ) 3 章 ( グラフ ) の続き 授業資料 http://ir.cs.yamanashi.ac.jp/~ysuzuki/public/automaton/ 授業の予定 ( 中間試験まで ) 回数月日 内容 4 月 日オートマトンとは, オリエンテーション 2 4 月 8 日 2 章 ( 数式の記法, スタック,BNF) 3 4 月 25 日 2
memo
数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int
Microsoft PowerPoint - H20第10回最短経路問題-掲示用.ppt
プログラミング言語 I 第 10 回 最短経路問題 埼玉大学工学部電気電子システム工学科伊藤和人 最短経路問題とは 始点から終点へ行く経路が複数通りある場合に 最も短い経路を見つける問題 経路の短さの決め方によって様々な応用 最短経路問題の応用例 カーナビゲーション 現在地から目的地まで最短時間のルート 経路 = 道路 交差点において走る道路を変更してもよい 経路の短さ = 所要時間の短さ 鉄道乗り換え案内
PowerPoint プレゼンテーション
解けない問題 を知ろう 保坂和宏 ( 東京大学 B2) 第 11 回 JOI 春合宿 2012/03/19 概要 計算量に関して P と NP NP 完全 決定不能 いろいろな問題 コンテストにおいて Turing 機械 コンピュータの計算のモデル 計算 を数学的に厳密に扱うためのもの メモリのテープ (0/1 の列 ), ポインタ, 機械の内部状態を持ち, 規則に従って状態遷移をする 本講義では
計算幾何学入門 Introduction to Computational Geometry
テーマ 6: ボロノイ図とデローネイ 三角形分割 ボロノイ図, デローネイ三角形分割 ボロノイ図とは 平面上に多数の点が与えられたとき, 平面をどの点に最も近いかという関係で分割したものをボロノイ図 (Voronoi diagram) という. 2 点だけの場合 2 点の垂直 2 等分線による分割 3 点の場合 3 点で決まる三角形の外接円の中心から各辺に引いた垂直線による分割線 2 点からの等距離線
スライド タイトルなし
アルゴリズム入門 (8) ( 近似アルゴリズム ) 宮崎修一京都大学学術情報メディアセンター 近似アルゴリズムとは? 効率よく解ける問題 ( 多項式時間アルゴリズムが存在する問題 ) ソーティング 最短経路問題 最小全域木問題 効率よく解けそうにない問題 (NP 困難問題 ) 最小頂点被覆問題 MX ST MX CUT 本質的に問題が難しいのだが 何とか対応したい 幾つかのアプローチ ( 平均時間計算量
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])
データ構造
アルゴリズム及び実習 7 馬青 1 表探索 定義表探索とは 表の形で格納されているデータの中から条件に合ったデータを取り出してくる操作である 但し 表は配列 ( 連結 ) リストなどで実現できるので 以降 表 の代わりに直接 配列 や リスト などの表現を用いる場合が多い 表探索をただ 探索 と呼ぶ場合が多い 用語レコード : 表の中にある個々のデータをレコード (record) と呼ぶ フィールド
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (
今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること
C プログラミング演習 1( 再 ) 4 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順
Microsoft PowerPoint - 13.ppt [互換モード]
13. 近似アルゴリズム 1 13.1 近似アルゴリズムの種類 NP 困難な問題に対しては多項式時間で最適解を求めることは困難であるので 最適解に近い近似解を求めるアルゴリズムが用いられることがある このように 必ずしも厳密解を求めないアルゴリズムは 大きく分けて 2 つの範疇に分けられる 2 ヒューリスティックと近似アルゴリズム ヒュ- リスティクス ( 発見的解法 経験的解法 ) 遺伝的アルゴリズム
8. 自由曲線と曲面の概要 陽関数 陰関数 f x f x x y y y f f x y z g x y z パラメータ表現された 次元曲線 パラメータ表現は xyx 毎のパラメータによる陽関数表現 形状普遍性 座標独立性 曲線上の点を直接に計算可能 多価の曲線も表現可能 gx 低次の多項式は 計
8. 自由曲線 曲面. 概論. ベジエ曲線 曲面. ベジエ曲線 曲面の数学. OeGLによる実行. URS. スプライン関数. スプライン曲線 曲面. URS 曲線 曲面 4. OeGLによる実行 8. 自由曲線と曲面の概要 陽関数 陰関数 f x f x x y y y f f x y z g x y z パラメータ表現された 次元曲線 パラメータ表現は xyx 毎のパラメータによる陽関数表現 形状普遍性
模擬試験問題(第1章~第3章)
基本情報技術者試験の練習問題 - 第 10 回 この問題は平成 19 年度春期の問題から抜粋しています 問 1 次のプログラムの説明及びプログラムを読んで, 設問 1~3 に答えよ プログラムの説明 整数型の 1 次元配列の要素 A[0],,A[N](N>0) を, 挿入ソートで昇順に整列する副プログラム InsertSort である (1) 挿入ソートの手順は, 次のとおりである (i) まず,A[0]
memo
数理情報工学特論第一 機械学習とデータマイニング 4 章 : 教師なし学習 3 かしまひさし 鹿島久嗣 ( 数理 6 研 ) [email protected].~ DEPARTMENT OF MATHEMATICAL INFORMATICS 1 グラフィカルモデルについて学びます グラフィカルモデル グラフィカルラッソ グラフィカルラッソの推定アルゴリズム 2 グラフィカルモデル 3 教師なし学習の主要タスクは
vecrot
1. ベクトル ベクトル : 方向を持つ量 ベクトルには 1 方向 2 大きさ ( 長さ ) という 2 つの属性がある ベクトルの例 : 物体の移動速度 移動量電場 磁場の強さ風速力トルクなど 2. ベクトルの表現 2.1 矢印で表現される 矢印の長さ : ベクトルの大きさ 矢印の向き : ベクトルの方向 2.2 2 個の点を用いて表現する 始点 () と終点 () を結ぶ半直線の向き : ベクトルの方向
PowerPoint プレゼンテーション
プログラミング応用演習 第 4 回再帰的構造体 プログラミングを 余談 : 教えることの難しさ 丁寧に説明しないと分かってもらえない 説明すると 小難しくなる学生が目指すべきところプログラム例を説明されて理解できる違うやり方でも良いので自力で解決できる おっけー 動けば良い という意識でプログラミング 正しく動くことのチェックは必要 解答例と自分のやり方との比較が勉強になる 今日のお題 再帰的構造体
cp-7. 配列
cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき
プログラム言語及び演習Ⅲ
平成 28 年度後期データ構造とアルゴリズム期末テスト 各問題中のアルゴリズムを表すプログラムは, 変数の宣言が省略されているなど, 完全なものではありませんが, 適宜, 常識的な解釈をしてください. 疑問があれば, 挙手をして質問してください. 時間計算量をオーダ記法で表せという問題では, 入力サイズ n を無限大に近づけた場合の漸近的な時間計算量を表せということだと考えてください. 問題 1 入力サイズが
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
補足 中学で学習したフレミング左手の法則 ( 電 磁 力 ) と関連付けると覚えやすい 電磁力は電流と磁界の外積で表される 力 F 磁 電磁力 F li 右ねじの回転の向き電 li ( l は導線の長さ ) 補足 有向線分とベクトル有向線分 : 矢印の位
http://totemt.sur.ne.p 外積 ( ベクトル積 ) の活用 ( 面積, 法線ベクトル, 平面の方程式 ) 3 次元空間の つのベクトルの積が つのベクトルを与えるようなベクトルの掛け算 ベクトルの積がベクトルを与えることからベクトル積とも呼ばれる これに対し内積は符号と大きさをもつ量 ( スカラー量 ) を与えるので, スカラー積とも呼ばれる 外積を使うと, 平行四辺形や三角形の面積,
プログラミングI第10回
プログラミング 1 第 10 回 構造体 (3) 応用 リスト操作 この資料にあるサンプルプログラムは /home/course/prog1/public_html/2007/hw/lec/sources/ 下に置いてありますから 各自自分のディレクトリにコピーして コンパイル 実行してみてください Prog1 2007 Lec 101 Programming1 Group 19992007 データ構造
Microsoft PowerPoint ppt
情報科学第 07 回データ解析と統計代表値 平均 分散 度数分布表 1 本日の内容 データ解析とは 統計の基礎的な値 平均と分散 度数分布表とヒストグラム 講義のページ 第 7 回のその他の欄に 本日使用する教材があります 171025.xls というファイルがありますので ダウンロードして デスクトップに保存してください 2/45 はじめに データ解析とは この世の中には多くのデータが溢れています
コンピュータグラフィックス第8回
コンピュータグラフィックス 第 8 回 レンダリング技法 1 ~ 基礎と概要, 隠面消去 ~ 理工学部 兼任講師藤堂英樹 レポート提出状況 課題 1 の選択が多い (STAND BY ME ドラえもん ) 体験演習型 ( 課題 3, 課題 4) の選択も多い 内訳 課題 1 課題 2 課題 3 課題 4 課題 5 2014/11/24 コンピュータグラフィックス 2 次回レポートの体験演習型 メタセコイア,
Microsoft PowerPoint - algo ppt [互換モード]
( 復習 ) アルゴリズムとは アルゴリズム概論 - 探索 () - アルゴリズム 問題を解くための曖昧さのない手順 与えられた問題を解くための機械的操作からなる有限の手続き 機械的操作 : 単純な演算, 代入, 比較など 安本慶一 yasumoto[at]is.naist.jp プログラムとの違い プログラムはアルゴリズムをプログラミング言語で表現したもの アルゴリズムは自然言語でも, プログラミング言語でも表現できる
コンピュータグラフィックス第6回
コンピュータグラフィックス 第 6 回 モデリング技法 1 ~3 次元形状表現 ~ 理工学部 兼任講師藤堂英樹 本日の講義内容 モデリング技法 1 様々な形状モデル 曲線 曲面 2014/11/10 コンピュータグラフィックス 2 CG 制作の主なワークフロー 3DCG ソフトウェアの場合 モデリング カメラ シーン アニメーション テクスチャ 質感 ライティング 画像生成 2014/11/10 コンピュータグラフィックス
グラフの探索 JAVA での実装
グラフの探索 JAVA での実装 二つの探索手法 深さ優先探索 :DFS (Depth-First Search) 幅優先探索 :BFS (Breadth-First Search) 共通部分 元のグラフを指定して 極大木を得る 探索アルゴリズムの利用の観点から 利用する側からみると 取り替えられる部品 どちらの方法が良いかはグラフに依存 操作性が同じでなければ 共通のクラスの派生で作ると便利 共通化を考える
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) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項
PowerPoint Template
プログラミング演習 Ⅲ Linked List P. Ravindra S. De Silva e-mail: [email protected], Room F-413 URL: www.icd.cs.tut.ac.jp/~ravi/prog3/index_j.html 連結リストとは? 一つひとつの要素がその前後の要素との参照関係をもつデータ構造 A B C D 連結リストを使用する利点 - 通常の配列はサイズが固定されている
Microsoft Word - no15.docx
7. ファイルいままでは プログラムを実行したとき その結果を画面で確認していました 簡単なものならそれでもいいのですか 複雑な結果は画面で見るだけでなく ファイルに保存できればよいでしょう ここでは このファイルについて説明します 使う関数のプロトタイプは次のとおりです FILE *fopen(const char *filename, const char *mode); ファイルを読み書きできるようにする
Microsoft PowerPoint - 06graph3.ppt [互換モード]
I118 グラフとオートマトン理論 Graphs and Automata 担当 : 上原隆平 (Ryuhei UEHARA) [email protected] http://www.jaist.ac.jp/~uehara/ 1/20 6.14 グラフにおける探索木 (Search Tree in a Graph) グラフG=(V,E) における探索アルゴリズム : 1. Q:={v { 0 }
PowerPoint プレゼンテーション
プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの
卒論発表
0 年度 ( 平成 年度 ) 広島市大 卒業研究 実現するアルゴリズムの証明に 注目した ASIP のシステム検証 広島市立大学 情報科学部 情報工学科錦織光輝 ( 高橋隆一指導 ) Mitsuki Nishikori 研究背景 0 年代には Verilog HDL によって仕様を記述し, 論理合成によって回路を実現するスタイルが普及した 検証技術が論理合成に続く技術として期待されている 満たすべき性質をアサーションとして記述することによるシミュレーションでの検証
4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ
4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は
人工知能入門
藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する
Taro-2分探索木Ⅰ(公開版).jtd
2 分探索木 Ⅰ 0. 目次 1. 2 分探索木とは 2. 2 分探索木の作成 3. 2 分探索木の走査 3. 1 前走査 3. 2 中走査 3. 3 問題 問題 1 問題 2 後走査 4. 2 分探索木の表示 - 1 - 1. 2 分探索木とは 木はいくつかの節点と節点同士を結ぶ辺から構成される 2 つの節点 u,v が直接辺で結ばれているとき 一方を親節点 他方を子節点という ある節点の親節点は高々
プログラミング基礎
C プログラミング Ⅱ 演習 2-1(a) BMI による判定 文字列, 身長 height(double 型 ), 体重 weight (double 型 ) をメンバとする構造体 Data を定義し, それぞれのメンバの値をキーボードから入力した後, BMI を計算するプログラムを作成しなさい BMI の計算は関数化すること ( ) [ ] [ ] [ ] BMI = 体重 kg 身長 m 身長
PowerPoint Presentation
工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 7 回 2010 年 11 月 18 日 1 今回のテーマ 1: ポインタ 変数に値を代入 = 記憶プログラムの記憶領域として使用されるものがメモリ ( パソコンの仕様書における 512 MB RAM などの記述はこのメモリの量 ) RAM は多数のコンデンサの集合体 : 電荷がたまっている (1)/ いない
Microsoft PowerPoint - 9.pptx
9/7/8( 水 9. 線形写像 ここでは 行列の積によって 写像を定義できることをみていく また 行列の積によって定義される写像の性質を調べていく 拡大とスカラー倍 行列演算と写像 ( 次変換 拡大後 k 倍 k 倍 k 倍拡大の関係は スカラー倍を用いて次のように表現できる p = (, ' = k ' 拡大前 p ' = ( ', ' = ( k, k 拡大 4 拡大と行列の積 拡大後 k 倍
Microsoft PowerPoint - 09re.ppt [互換モード]
3.1. 正則表現 3. 正則表現 : 正則表現 ( または正規表現 ) とは 文字列の集合 (= 言語 ) を有限個の記号列で表現する方法の 1 つ 例 : (01)* 01 を繰り返す文字列 つまり 0(0+1)* 0 の後に 0 か 1 が繰り返す文字列 (01)* = {,01,0101,010101,01010101, } 0(0+1)*={0,00,01,000,001,010,011,0000,
Microsoft Word - 2.IJCAD Electrical 基本マニュアル.doc
基本操作マニュアル Basic operation manual 目次 1. IJCAD の便利機能... 3 2. プロジェクトマネージャー... 6 2.1. プロジェクト設定... 6 2.1.0. 設定タブ... 6 2.1.1. 各属性情報... 7 2.1.2. 線番タブ... 8 3. シンボル配置... 9 3.1. 参照先... 9 3.2. 注意事項... 9 3.3. 手順...
第9回 配列(array)型の変数
第 12 回 配列型の変数 情報処理演習 ( テキスト : 第 4 章, 第 8 章 ) 今日の内容 1. 配列の必要性 2. 配列の宣言 3. 配列変数のイメージ 4. 配列変数を使用した例 5. 範囲を超えた添字を使うと? 6. 多次元配列変数 7. 多次元配列変数を使用した例 8. データのソーティング 9. 今日の練習問題 多数のデータ処理 1. 配列の必要性 ( テキスト 31 ページ )
<4D F736F F F696E74202D2091E6824F82538FCD8CEB82E88C9F8F6F814592F990B382CC8CB4979D82BB82CC82505F D E95848D8682CC90B69
第 章 誤り検出 訂正の原理 その ブロック符号とその復号 安達文幸 目次 誤り訂正符号化を用いる伝送系誤り検出符号誤り検出 訂正符号 7, ハミング符号, ハミング符号生成行列, パリティ検査行列の一般形符号の生成行列符号の生成行列とパリティ検査行列の関係符号の訂正能力符号多項式 安達 : コミュニケーション符号理論 安達 : コミュニケーション符号理論 誤り訂正符号化を用いる伝送系 伝送システム
線形代数とは
線形代数とは 第一回ベクトル 教科書 エクササイズ線形代数 立花俊一 成田清正著 共立出版 必要最低限のことに限る 得意な人には物足りないかもしれません 線形代数とは何をするもの? 線形関係 y 直線 yもも 次式で登場する (( 次の形 ) 線形 ただし 次元の話世の中は 3 次元 [4[ 次元 ] 次元 3 次元 4 次元 はどうやって直線を表すの? ベクトルや行列の概念 y A ベクトルを使うと
情報処理概論(第二日目)
情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 8 回 2005 年 6 月 9 日 前回の演習の解答例 多項式の計算 ( 前半 ): program poly implicit none integer, parameter :: number = 5 real(8), dimension(0:number) :: a real(8) :: x, total integer
