部分グラフ 与えられたグラフの一部分からなるグラフ 与えられたグラフ 経路 ( パス ) や全域木などは部分グラフ 部分グラフの例 部分グラフ列挙 与えられた条件を満たす部分グラフをすべて求める 例 : から までの 同じ頂点を通らない経路は? - 経路 (- パス ) 全域木 5 6 部分グラフ列

Size: px
Start display at page:

Download "部分グラフ 与えられたグラフの一部分からなるグラフ 与えられたグラフ 経路 ( パス ) や全域木などは部分グラフ 部分グラフの例 部分グラフ列挙 与えられた条件を満たす部分グラフをすべて求める 例 : から までの 同じ頂点を通らない経路は? - 経路 (- パス ) 全域木 5 6 部分グラフ列"

Transcription

1 graphillion - 莫大な数の部分グラフを扱う Pyhon ライブラリ 奈良先端科学技術大学院大学 川原純 謝辞本スライドで使用している図の一部と全適用事例は発売予定の書籍 超高速グラフ列挙アルゴリズム ( 仮題 ) のドラフト版から引用しています 図の引用は と明示しています graphillion ライブラリの作者井上武さん, 岩下洋哲さん書籍の著者湊真一先生, 斎藤寿樹先生, 安田宜仁さん, 井上武さん, 羽室行信先生, 前川浩基さん, 丸橋弘明さん, 堀山貴史先生, その他の著者の皆様, JST ERATO 湊離散構造処理系プロジェクトメンバーの皆様に感謝いたします 今日の内容 graphillion ライブラリの紹介 graphillion ライブラリでできること graphillion の内部データ構造 ZDD graphillion が使用しているアルゴリズム フロンティア法 適用事例紹介 (), (2), (3) 2 graphillion とは 部分グラフ列挙ツール グラフに関する様々な最適化問題を解く hp://graphillion.org NTT 研究所井上武氏作 graphillion とは 部分グラフ列挙ツール グラフに関する様々な最適化問題を解くグラフとは hp://graphillion.org NTT 研究所井上武氏作 頂点 辺 路線図 地図 ( の隣接関係 ) グラフ 3 知り合い関係 もの と もの のつながりを抽象化して表したもの 4

2 部分グラフ 与えられたグラフの一部分からなるグラフ 与えられたグラフ 経路 ( パス ) や全域木などは部分グラフ 部分グラフの例 部分グラフ列挙 与えられた条件を満たす部分グラフをすべて求める 例 : から までの 同じ頂点を通らない経路は? - 経路 (- パス ) 全域木 5 6 部分グラフ列挙 与えられた条件を満たす部分グラフをすべて求める 例 : 全体グラフ (univr) 部分グラフ から までの 同じ頂点を通らない経路は? 部分グラフ列挙 与えられた条件を満たす部分グラフをすべて求める 例 : 全体グラフ (univr) 列挙して何が嬉しいのか? 後述 7 8

3 graphillion を使ってみよう () インストール (Ma, Linux) $ ay_inall graphillion pyhon インタプリタを起動 $ pyhon ライブラリのインポート >>> from graphillion impor GraphS または hp://graphillion.org からダウンロード ビルド 9 graphillion を使ってみよう (2) グラフの表現 nworkx ライブラリと同じ 頂点 : オブジェクト ( 何でもよい ) 辺 : 頂点のタプル 全体グラフの設定 本講演では,2,3, (, 2) や (2, 3) など 全体グラフ (univr) = グラフ : 辺のリスト [(, 2), (, 4), (2, 3), (2, 5), (3, 6), (4, 5), (4, 7), (5, 6), (5, 8), (6, 9), (7, 8), (8, 9)] = 9 >>> GraphS._univr( [(, 2), (, 4), (2, 3), (2, 5), (3, 6), (4, 5), (4, 7),(5, 6), (5, 8), (6, 9), (7, 8), (8, 9)] ) graphillion を使ってみよう (3) - 経路を列挙する 全体グラフ (univr) 2 3 = = 9 >>> pah = GraphS.pah(, 9) 引数に始点と終点 pah 変数に 部分グラフの集合が格納される graphillion でできること () 数のカウント 各部分グラフに対する処理 >>> for p in pah: prin p >>> prin pah.ln() 2 全体グラフ (univr) 2 3 = = 9 2

4 graphillion でできること () 数のカウント >>> prin pah.ln() 2 各部分グラフに対する処理 全体グラフ (univr) 2 3 = >>> for p in pah: prin p [(, 2), (2, 3), (3, 6), (4, 5), (4, 7), (5, 6), (7, 8), (8, 9)] [(, 2), (2, 3), (3, 6), (5, 6), (5, 8), (8, 9)] [(, 2), (2, 3), (3, 6), (6, 9)] [(, 2), (2, 5), (4, 5), (4, 7), (7, 8), (8, 9)] [(, 2), (2, 5), (5, 6), (6, 9)] [(, 2), (2, 5), (5, 8), (8, 9)] [(, 4), (2, 3), (2, 5), (3, 6), (4, 5), (6, 9)] [(, 4), (2, 3), (2, 5), (3, 6), (4, 7), (5, 8), (6, 9), (7, 8)] [(, 4), (4, 5), (5, 6), (6, 9)] [(, 4), (4, 5), (5, 8), (8, 9)] [(, 4), (4, 7), (5, 6), (5, 8), (6, 9), (7, 8)] [(, 4), (4, 7), (7, 8), (8, 9)] = 9 3 graphillion でできること (2) 経路の短い順に 各部分グラフを処理 全体グラフ (univr) 2 3 = >>> for p in pah.min_ir(): prin p [(, 4), (4, 7), (7, 8), (8, 9)] [(, 4), (4, 5), (5, 8), (8, 9)] [(, 4), (4, 5), (5, 6), (6, 9)] [(, 2), (2, 5), (5, 8), (8, 9)] [(, 2), (2, 5), (5, 6), (6, 9)] [(, 2), (2, 3), (3, 6), (6, 9)] [(, 4), (4, 7), (5, 6), (5, 8), (6, 9), (7, 8)] [(, 4), (2, 3), (2, 5), (3, 6), (4, 5), (6, 9)] [(, 2), (2, 5), (4, 5), (4, 7), (7, 8), (8, 9)] [(, 2), (2, 3), (3, 6), (5, 6), (5, 8), (8, 9)] [(, 4), (2, 3), (2, 5), (3, 6), (4, 7), (5, 8), (6, 9), (7, 8)] [(, 2), (2, 3), (3, 6), (4, 5), (4, 7), (5, 6), (7, 8), (8, 9)] 4 = 9 graphillion でできること (3) ( 一様 ) ランダムに つ抽出 >>> p = pah.hoi() >>> prin p 7 8 [(, 2), (2, 3), (3, 6), (4, 5), (4, 7), (5, 6), (7, 8), (8, 9)] 頂点 5 を通る経路のみを抽出 全体グラフ (univr) 2 3 = = 9 graphillion でできること (4) さらに 頂点 3 を通らない経路のみを抽出 >>> pah3 = pah2.xluding(3) 全体グラフ (univr) 2 3 = = 9 >>> pah2 = pah.inluding(5) 5 6

5 graphillion でできること (5) 辺に重みをつけて 重みの和が最大 最小の部分グラフを求める >>> wigh = {} >>> wigh[(, 2)] = 3.2 >>> wigh[(, 4)] =.7 # ( 略 ) >>> wigh[(8, 9)] = 6.2 >>> >>> ir = pah3.max_ir(wigh) >>> p = ir.nx() >>> p2 = ir.nx() 全体グラフ (univr) 2 3 = 一番長い経路二番目に長い経路 辺の重みは 辺をキー 重みをバリューとするディクショナリで与える = graphillion の威力 () JR(Japan Railway) の路線図 頂点数 : 4534, 辺数 : 4646 最北駅 ( 稚内 )~ 最南駅 ( 西大山 ) の経路 >>> GraphS._univr(jrmap) >>> wigh = rad_wigh() >>> >>> pah = GraphS.pah( 553, 932 ) >>> pah.ln() 計算時間 : 秒 使用メモリ : 2.4 GB 経路は圧縮して保持されている Inl Xon E GHz データ取得 : 駅データ.jp hp://kidaa.jp 7 8 graphillion の威力 (2) JR(Japan Railway) の路線図 頂点数 : 4534, 辺数 : 4646 最長経路を求める 最北駅 ( 稚内 )~ 最南駅 ( 西大山 ) の経路 >>> max_pah = pah.max_ir(wigh).nx() >>> prin ln(max_pah) 265 >>> um =. >>> for dg in max_pah: um += wigh[dg] >>> prin um 駅数 総距離 最短経路も求まるが ダイクストラ法などの既存アルゴリズムの方が速い 9 graphillion で扱える部分グラフの種類 経路 - 経路 ハミルトン経路 ( すべての頂点を通る ) サイクル ( 周して戻る ) 木 森 全域森 木 全域木 連結成分 マッチング クリーク ( 頂点同士がすべて結ばれている頂点集合 ) その他 様々な制約を課した部分グラフ 2

6 今日の内容 graphillion ライブラリの紹介 graphillion ライブラリでできること graphillion の内部データ構造 ZDD graphillion が使用しているアルゴリズム フロンティア法 適用事例紹介 (), (2), (3) 2 graphillion で用いられるデータ構造 Zro-upprd Binary Diion Diagram (ZDD) 集合族 ( 集合の集合 ) をコンパクトに効率良く記憶 {, 2, 5}, {, 3, 4, 7}, {, 5, 8, 2}, {3, 7, 9}, {2, 6, 7, 8, 9, }, {4}, {, 4, 6, 8}, {, 2, 5, 8}, {, 9, }, {4, 5, 9}, {, 3, 4, 5, 9, }, {6, 7}, {, 4, 5}, {, 5, 8, }, {2, 5, }, {5, 8, 9}, {2, 3, 7, 8}, {,, 2}, ゼロサプレス型二分決定グラフ 特殊な形をしたグラフ ZDD [S.Minao 93] 22 ZDD の基本 ZDD の基本 roo 4 { { }, { }, { } { 4 }, { }, { } } 4 { { }, { }, { 4 } { 4 }, { }, { } } 4 集合族 : 終端 (-rminal) : 終端 (-rminal) それぞれ つずつもつ ZDD 要素は {,,, 4, } の 5 種類で固定 ( 事前に固定する必要あり ) 23 i : ノード ~,,, の順序 いずれかのラベル ZDD 24

7 ZDD の基本 ZDD の基本 ノードは 枝と 枝を つずつもつ roo ノードは 枝と 枝を つずつもつ roo { { }, { }, { 4 } { 4 }, { }, { } } 4 { { }, { }, { 4 } { 4 }, { }, { } } 4 : 終端 (-rminal) : 終端 (-rminal) それぞれ つずつもつ つの集合が roo から までの 本のパスに対応 i : ノード ~,,, の順序 いずれかのラベル ZDD 25 : -rminal : -rminal i : nod wih labl ~ ZDD 26 ZDD の基本 ZDD の基本 ノードは 枝と 枝を つずつもつ roo ノードは 枝と 枝を つずつもつ roo { { }, { }, { 4 } { 4 }, { }, { } } 4 { { }, { }, { 4 } { 4 }, { }, { } } 4 つの集合が roo から までの 本のパスに対応 つの集合が roo から までの 本のパスに対応 : -rminal ZDD : -rminal ZDD : -rminal i : nod wih labl ~ 27 : -rminal i : nod wih labl ~ 28

8 ZDD の基本 ZDD は2 分木を圧縮したものとみなすことができる { { }, { , 5 } { }, { } { 5 }, { } } = = ZDD の基本 ノード共有ルール = = = = { } { } 他は 4 4 ZDD 29 2 種類のルールを繰り返し適用して圧縮 2 つの 等価な ノードは共有される ゼロサプレスルール i - 枝が -Trminal を指すノードは削除される 3 ZDD の演算 ZDD を用いると 集合演算や 要素の検索等 様々な演算が効率良く行える {, 2, 5}, {, 4}, {, 3, 4, 7} {, 3, 4, 7} {, 2, 5}, {, 4} {, 3, 4, 7} {, 2, 5}, {, 4} {, 3, 4, 7} {, 4} {, 3, 4, 7} 和集合を求める (union) 要素の抽出 4 を含む集合を取り出す 3 アルゴリズムは省略 今日の内容 graphillion ライブラリの紹介 graphillion ライブラリでできること graphillion の内部データ構造 ZDD graphillion が使用しているアルゴリズム フロンティア法 適用事例紹介 (), (2), (3) - 経路を例に説明 32

9 - 経路は辺の集合で表現できる - 経路は辺の集合で表現できる 4 4 全ての - 経路を列挙して 辺集合の集合で表す 4 4 {, 4 } {, } 4 4 {, 4 } {, } 4 4 {,, } {,, 4 } 4 4 {,, } {,, 4 } 経路は辺の集合で表現できる 4 全ての - 経路を列挙して 辺集合の集合で表す 全 - 経路の集合 = {{, 4 },{, },{,, },{,, 4 }} - 経路は辺の集合で表現できる 4 全ての - 経路を列挙して 辺集合の集合で表すこれをZDDで表現する 全 - 経路の集合 = {{, 4 },{, },{,, },{,, 4 }} 4 4 {, 4 } {, } 4 4 {, 4 } {, } 4 4 {,, } {,, 4 } 4 4 {,, } {,, 4 } 35 36

10 経路列挙 (ZDD 構築 ) アルゴリズム [Knuh 8] 経路列挙 (ZDD 構築 ) アルゴリズム [Knuh 8] 4. 辺に順番を付ける ( 例えば から幅優先 ) ( もっと良い方法もあり ) = = = = = = 4 4. 辺に順番を付ける ( 例えば から幅優先 ) ( もっと良い方法もあり ) = = = = = = 4 2. ZDD を構築 辺,, の順に処理 各辺変数 i に対し i = or を決めていく - pah 4 i = である辺が - 経路になっているか? ZDD を構築 辺,, の順に処理 各辺変数 i に対し i = or を決めていく - 経路でない - pah + 余分な辺 4 4 i = である辺が - 経路になっているか? 38 経路列挙 (ZDD 構築 ) アルゴリズム [Knuh 8] 4. 辺に順番を付ける ( 例えば から幅優先 ) ( もっと良い方法もあり ) = = = = = = 4 経路列挙 (ZDD 構築 ) アルゴリズム [Knuh 8] a 2 b ZDD を構築 辺,, の順に処理 他は 各辺変数 i に対し i = or を決めていく 39 4

11 経路列挙 (ZDD 構築 ) アルゴリズム [Knuh 8] a 2 b 4 6 経路列挙 (ZDD 構築 ) アルゴリズム [Knuh 8] 処理済み辺未処理辺 f d d a a b f h b g d f g f d h フロンティア 部分経路の反対側の端点を記憶しておき フロンティア上ですべて一致するなら 2 つは同じ状態とみなす 4 42 ZDD の形式で保存 ZDD が構築できれば 経路の全列挙は簡単 op から - 終端までたどればよい 構築した ZDD はコンパクトなので そのまま保持可能 ZDD 演算を行うことで 経路の条件付き検索が可能 経路の数え上げ {, 2, 5}, {, 4} {, 3, 4, 7} {, 4} {,3, 4, 7} 4 を通る経路のみを取り出す 43 重み付き和の最大値 最小値も同様の方法で行える 44

12 一様ランダムサンプリング b a a 3 b 確率 6 7 b 確率 7 3 b 一様ランダムサンプリング b a b 確率 3 6 b 確率 d d 2 {d}, {}, {, d}, {b}, {b, d}, {b,, d}, {a}, {a, d}, {a,, d}, {a, b}, {a, b, }, {a, b, d}, {a, b,, d} d d 2 {d}, {}, {, d}, {b}, {b, d}, {b,, d}, {a}, {a, d}, {a,, d}, {a, b}, {a, b, }, {a, b, d}, {a, b,, d} 一様ランダムサンプリング {b, d} b d a b d 2 {d}, {}, {, d}, {b}, {b, d}, {b,, d}, {a}, {a, d}, {a,, d}, {a, b}, {a, b, }, {a, b, d}, {a, b,, d} 47 graphillion で扱える部分グラフの種類 経路 - 経路 ハミルトン経路 ( すべての頂点を通る ) サイクル ( 周して戻る ) 木 森 全域森 木 全域木 連結成分 マッチング クリーク ( 頂点同士がすべて結ばれている頂点集合 ) その他 様々な制約を課した部分グラフ ( 再掲 ) フロンティア法は Knuh のアルゴリズム (- 経路 ) を 様々な部分グラフに適用できるように拡張したもの 48

13 適用事例 : パズルソルバー ナンバーリンク 適用事例 -: ナンバーリンクソルバー /4 グラフの問題として定式化 - 経路 2-2 経路 p-p 経路 ( 複数終端対経路 ) を同時に求める問題 同じ数字同士を 線を交差させずに結ぶ R. Yohinaka, T. Saioh, J. Kawahara, K. Turuma, H. Iwahia, S. Minao. Finding all oluion and inan of numbrlink and lihrlink by ZDD. Algorihm, 5, 76 23, 適用事例 -: ナンバーリンクソルバー 2/4 graphillion には 直接 複数終端対経路を求めるメソッドはない 条件をつけた部分グラフを求めるメソッドを使う 5 適用事例 -: ナンバーリンクソルバー 3/4 次数の条件 終端 (i, i) の次数は それ以外の次数は または 2 >>> univr = [] >>> GraphS._univr(univr) >>> poin_pair = [[2, 6], [, ], [3, 22]] >>> poin = um(poin_pair, []) >>> [2, 6,,, 3, 22] >>> dg_on = di([(v, ) for v in (rang(, 37)) if v in poin]) >>> dg_on.upda(di([(v, (, 2)) for v in (rang(, 37)) if v no in poin])) {:, 2:, 3:, 4: (, 2), 5: (, 2), 6:, 52

14 適用事例 -: ナンバーリンクソルバー 4/4 [[2, 6], [, ], [3, 22]] >>> oluion = GraphS.graph( vrx_group=poin_pair, dgr_onrain=dg_on, no_loop=tru) >>> >>> prin oluion.ln() 適用事例 -2: スリザーリンクソルバー /4 スリザーリンク サイクルを 個作る 書かれている数字の本数の辺を使う 得られた解 {:, 2:, 3:, 4: (, 2), 5: (, 2), 6:, 適用事例 -2: スリザーリンクソルバー 2/4 初めに マスの数字は無視して サイクルをすべて求める >>> univr = [] >>> GraphS._univr(univr) >>> >>> yl = GraphS.yl() 適用事例 -2: スリザーリンクソルバー 3/4 次に ある つのマスに着目そのマスの制約を満たしている部分グラフのみを抽出 >>> = (5, 6) >>> 2 = (5, 23) >>> 3 = (6, 24) >>> 4 = (23, 24) >>> from irool impor ombinaion >>> g_ = li(ombinaion([, 2, 3, 4], 2)) >>> in_g = GraphS(g_) >>> yl = yl.inluding(in_g)

15 適用事例 -2: スリザーリンクソルバー 4/4 次に ある つのマスに着目そのマスの制約を満たしている部分グラフのみを抽出 >>> g_2 = li(ombinaion([, 2, 3, 4], 3)) >>> x_g = GraphS(g_2) >>> yl = yl.xluding(x_g) これをすべてのマスについて行う 得られた部分グラフが解 得られた解 適用事例 2: 配電網のスイッチ構成 / 引用 : hp:// 配電網 すべての家はちょうど つの変電所につながっている必要がある サイクルが生じてはいけない T. Inou al., Diribuion Lo Minimizaion wih Guarand Error Bound, IEEE Tranaion on Smar Grid, Vol. 5, Iu, 24, pp. 2-. 変電所を根とする根付き全域森 58 適用事例 2: 配電網のスイッチ構成 2/ 根付き全域森を列挙する >>> univr = [] >>> GraphS._univr(univr) >>> for = GraphS.for(roo=[, 9, 73, 8], i_panning=tru) >>> prin for.ln() 適用事例 2: 配電網のスイッチ構成 3/ 電気制約 つの変電所が給電可能な最大家庭数に制限がある 制限数 5 制限数オーバー 59 6

16 適用事例 2: 配電網のスイッチ構成 4/ 電気制約を満たす根付き全域森を求める制限数 6 >>> all_r = GraphS.r() >>> oo_larg_r = all_r.largr(6) まずは 電気制約を満たさない大きな木を求める 適用事例 2: 配電網のスイッチ構成 5/ 電気制約を満たす根付き全域森を求める >>> af_for = for.xluding(oo_larg_r) 制限数 6 根付き全域森の集合から 電気制約に違反する木を含む根付き全域森を削除 6 62 適用事例 2: 配電網のスイッチ構成 6/ 与えられた構成 ( 根付き全域森 ) が 制約を満たすかどうか調べる 適用事例 2: 配電網のスイッチ構成 7/ 与えられた構成から スイッチ ON/OFF をいくつか変化させて 制約を満たす構成に変化させる >>> unaf_for = [] >>> unaf_for in af_for Fal 2 回 5 回 4 回 63 与えられた構成 変化数最小の構成を求めるには? af_for ( 制約を満たす ) 64

17 適用事例 2: 配電網のスイッチ構成 8/ 最適化問題として定式化 スイッチを変化させるごとにペナルティーが発生ペナルティーを最小化する構成を求める 適用事例 2: 配電網のスイッチ構成 9/ 与えられた構成 ( 根付き全域森 ) が 制約を満たすかどうか調べる graphillion では 採用した辺にしか重みをつけることはできない 与えられた構成 ( 元グラフ ) 元グラフにない辺を採用するとペナルティー + 点 ( 採用しないと 点 ) 元グラフにある辺を採用するとペナルティー - 点 ( 採用しないと 65 点 ) >>> unaf_for = [] >>> >>> wigh = {} >>> for wih in univr: wigh[wih] = if wih in unaf_for l - >>> for f in af_for.min_ir(wigh): prin f on_wih = [ for in f if no in unaf_for] off_wih = [ for in unaf_for if no in f] 66 適用事例 2: 配電網のスイッチ構成 / 事例 3: 避難所割り当て /2 bloking (hiing ) 切断によって 構成 ( 根付き全域森 ) がなくなるような辺の集合 グラフと避難所が与えられたとき 避難所ごとにグラフを分割 >>> failur = af_for.bloking() >>> minimal_failur = failur.minimal() 極小のものだけを求めることができる 67 68

18 事例 3: 避難所割り当て 2/2 割当をすべて列挙する 6 >>> univr = [] >>> GraphS._univr(univr) >>> aignmn = GraphS.graph([[], [6], []]) >>> >>> maximal_aignmn = aignmn.maximal(), 6, は同じ連結成分に含まれてはいけない その他の適用事例 選挙区割りの列挙 多面体の展開図の列挙 住宅フロアプランの列挙 同じ連結成分内で辺が張れる場合は必ず張る 69 7 まとめ graphillion の紹介 内部データ構造とアルゴリズム ZDD フロンティア法 適用事例の紹介 パズルソルバー ( ナンバーリンク スリザーリンク ) 配電網のスイッチ構成 避難所割り当て 7

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

cspsat2_seminar06_nakamoto.pptx

cspsat2_seminar06_nakamoto.pptx Graphillion JST ERATO 湊プロジェクト技術員中元政一 はじめに Graphillion を作った人 井上武 元 JST ERATO 湊プロジェクト, 現 NTT 未来ねっと研究所 岩下洋哲 JST ERATO 湊プロジェクト 北大 川原純 元 JST ERATO 湊プロジェクト, 現奈良先端大 湊真一 北大 JST ERATO その他 JST ERATO 湊プロジェクト関係者 はじめに

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 - DA2_2017.pptx

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

More information

Microsoft PowerPoint - DA2_2018.pptx

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

More information

Microsoft PowerPoint - mp13-07.pptx

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

More information

計算幾何学入門 Introduction to Computational Geometry

計算幾何学入門 Introduction to  Computational Geometry テーマ 6: ボロノイ図とデローネイ 三角形分割 ボロノイ図, デローネイ三角形分割 ボロノイ図とは 平面上に多数の点が与えられたとき, 平面をどの点に最も近いかという関係で分割したものをボロノイ図 (Voronoi diagram) という. 2 点だけの場合 2 点の垂直 2 等分線による分割 3 点の場合 3 点で決まる三角形の外接円の中心から各辺に引いた垂直線による分割線 2 点からの等距離線

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

Microsoft PowerPoint - DA2_2017.pptx

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

More information

Solving the Longest Oneway-ticket Problem and Enumerating Letter Graphs by Augmenting the Two Representative Approaches with ZDDs

Solving the Longest Oneway-ticket Problem and Enumerating Letter Graphs by Augmenting the Two Representative Approaches with ZDDs BDD ライブラリの紹介と SAPPOROBDD extended( 構想 ) 奈良先端科学技術大学院大学 川原純 発表内容 既存の BDD ライブラリを紹介 SAPPOROBDD ライブラリの拡張に向けて XDD ライブラリの機能図 CuDD Python CuDD Knuth 本 SAPPOROBDD ZDD vector Ruby/Python VSOP ZSDD SeqDD SeqDD 拡張

More information

Microsoft PowerPoint - H20第10回最短経路問題-掲示用.ppt

Microsoft PowerPoint - H20第10回最短経路問題-掲示用.ppt 最短経路問題とは プログラミング言語 I 第 0 回 から終点へ行く経路が複数通りある場合に 最も短い経路を見つける問題 経路の短さの決め方によって様々な応用 最短経路問題 埼玉大学工学部電気電子システム工学科伊藤和人 最短経路問題の応用例 カーナビゲーション 現在地から目的地まで最短時間のルート 経路 = 道路 交差点において走る道路を変更してもよい 経路の短さ = 所要時間の短さ 鉄道乗り換え案内

More information

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

Microsoft PowerPoint - 13.ppt [互換モード] 13. 近似アルゴリズム 1 13.1 近似アルゴリズムの種類 NP 困難な問題に対しては多項式時間で最適解を求めることは困難であるので 最適解に近い近似解を求めるアルゴリズムが用いられることがある このように 必ずしも厳密解を求めないアルゴリズムは 大きく分けて 2 つの範疇に分けられる 2 ヒューリスティックと近似アルゴリズム ヒュ- リスティクス ( 発見的解法 経験的解法 ) 遺伝的アルゴリズム

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

umeda_1118web(2).pptx

umeda_1118web(2).pptx 選択的ノード破壊による ネットワーク分断に耐性のある 最適ネットワーク設計 関西学院大学理工学部情報科学科 松井知美 巳波弘佳 選択的ノード破壊によるネットワーク分断に耐性のある最適ネットワーク設計 0 / 20 現実のネットワーク 現実世界のネットワークの分析技術の進展! ネットワークのデータ収集の効率化 高速化! 膨大な量のデータを解析できる コンピュータ能力の向上! インターネット! WWWハイパーリンク構造

More information

離散数学

離散数学 離散数学 最短経路問題 落合秀也 その前に 前回の話 深さ優先探索アルゴリズム 開始点 から深さ優先探索を行うアルゴリズム 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)

More information

Microsoft PowerPoint - H20第10回最短経路問題-掲示用.ppt

Microsoft PowerPoint - H20第10回最短経路問題-掲示用.ppt プログラミング言語 I 第 10 回 最短経路問題 埼玉大学工学部電気電子システム工学科伊藤和人 最短経路問題とは 始点から終点へ行く経路が複数通りある場合に 最も短い経路を見つける問題 経路の短さの決め方によって様々な応用 最短経路問題の応用例 カーナビゲーション 現在地から目的地まで最短時間のルート 経路 = 道路 交差点において走る道路を変更してもよい 経路の短さ = 所要時間の短さ 鉄道乗り換え案内

More information

情報システム評価学 ー整数計画法ー

情報システム評価学 ー整数計画法ー 情報システム評価学 ー整数計画法ー 第 1 回目 : 整数計画法とは? 塩浦昭義東北大学大学院情報科学研究科准教授 この講義について 授業の HP: http://www.dais.is.tohoku.ac.jp/~shioura/teaching/dais08/ 授業に関する連絡, および講義資料等はこちらを参照 教員への連絡先 : shioura (AT) dais.is.tohoku.ac.jp

More information

オートマトンと言語

オートマトンと言語 オートマトンと言語 4 回目 5 月 2 日 ( 水 ) 3 章 ( グラフ ) の続き 授業資料 http://ir.cs.yamanashi.ac.jp/~ysuzuki/public/automaton/ 授業の予定 ( 中間試験まで ) 回数月日 内容 4 月 日オートマトンとは, オリエンテーション 2 4 月 8 日 2 章 ( 数式の記法, スタック,BNF) 3 4 月 25 日 2

More information

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

Microsoft PowerPoint - algo ppt [互換モード] 平衡木 アルゴリズム概論 - 探索 (2)- 安本慶一 yasumoto[at]is.naist.jp 二分探索木 高さがデータを挿入 削除する順番による 挿入 削除は平均 O(log n) だが, 最悪 O(n) 木の高さをできるだけ低く保ちたい 平衡木 (balanced tree) データを更新する際に形を変形して高さが log 2 n 程度に収まるようにした木 木の変形に要する時間を log

More information

Microsoft PowerPoint - mp11-02.pptx

Microsoft PowerPoint - mp11-02.pptx 数理計画法第 2 回 塩浦昭義情報科学研究科准教授 shioura@dais.is.tohoku.ac.jp http://www.dais.is.tohoku.ac.jp/~shioura/teaching 前回の復習 数理計画とは? 数理計画 ( 復習 ) 数理計画問題とは? 狭義には : 数理 ( 数学 ) を使って計画を立てるための問題 広義には : 与えられた評価尺度に関して最も良い解を求める問題

More information

離散数学

離散数学 離散数学 最小全域木と最大流問題 落合秀也 今日の内容 最小全域木 プリムのアルゴリズム 最大流問題 フォード ファルカーソンのアルゴリズム 今日の内容 最小全域木 プリムのアルゴリズム 最大流問題 フォード ファルカーソンのアルゴリズム 最小全域木を考える Minimum Spanning Tree Problem ラベル付 ( 重み付 ) グラフ G(V, E) が与えられたとき ラベルの和が最小となる全域木を作りたい

More information

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

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,

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

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

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

More information

nlp1-04a.key

nlp1-04a.key 自然言語処理論 I. 文法 ( 構文解析 ) その 構文解析 sytctic lysis, prsig 文の構文的な構造を決定すること句構造文法が使われることが多い文法による構文木は一般に複数ある 構文木の違い = 解釈の違い 構文解析の目的 句構造文法の規則を使って, 文を生成できる構文木を全て見つけだすこと 文法が入力文を生成できるかどうかを調べるだけではない pro I 構文解析とは 構文木の違い

More information

Microsoft PowerPoint - 05.pptx

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

More information

COMPUTING THE LARGEST EMPTY RECTANGLE

COMPUTING THE LARGEST EMPTY RECTANGLE COMPUTING THE LARGEST EMPTY RECTANGLE B.Chazelle, R.L.Drysdale and D.T.Lee SIAM J. COMPUT Vol.15 No.1, February 1986 2012.7.12 TCS 講究関根渓 ( 情報知識ネットワーク研究室 M1) Empty rectangle 内部に N 個の点を含む領域長方形 (bounding

More information

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

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

More information

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード] 情報工学実験 II 実験 2 アルゴリズム ( リスト構造とハッシュ ) 実験を始める前に... C 言語を復習しよう 0. プログラム書ける? 1. アドレスとポインタ 2. 構造体 3. 構造体とポインタ 0. プログラム書ける? 講義を聴いているだけで OK? 言語の要素技術を覚えれば OK? 目的のプログラム? 要素技術 データ型 配列 文字列 関数 オブジェクト クラス ポインタ 2 0.

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

0 部分的最小二乗回帰 Partial Least Squares Regression PLS 明治大学理 学部応用化学科 データ化学 学研究室 弘昌

0 部分的最小二乗回帰 Partial Least Squares Regression PLS 明治大学理 学部応用化学科 データ化学 学研究室 弘昌 0 部分的最小二乗回帰 Parial Leas Squares Regressio PLS 明治大学理 学部応用化学科 データ化学 学研究室 弘昌 部分的最小二乗回帰 (PLS) とは? 部分的最小二乗回帰 (Parial Leas Squares Regressio, PLS) 線形の回帰分析手法の つ 説明変数 ( 記述 ) の数がサンプルの数より多くても計算可能 回帰式を作るときにノイズの影響を受けにくい

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

040402.ユニットテスト

040402.ユニットテスト 2. ユニットテスト ユニットテスト ( 単体テスト ) ユニットテストとはユニットテストはプログラムの最小単位であるモジュールの品質をテストすることであり その目的は結合テスト前にモジュール内のエラーを発見することである テストは機能テストと構造テストの2つの観点から行う モジュールはプログラムを構成する要素であるから 単体では動作しない ドライバとスタブというテスト支援ツールを使用してテストを行う

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 7 - Higher-Order Functions 高階関数 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2013 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 Introduction カリー化により

More information

memo

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

More information

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

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

More information

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤 情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤 2017.12.7 前回の演習問題の解答例 1. 四則演算のできる計算機のプログラム ( 括弧も使える ) 2. 実数の扱える四則演算の計算機のプログラム ( 実数 も というより実数 が が正しかったです ) 3. 変数も扱える四則演算の計算機のプログラム ( 変数と実数が扱える ) 演習問題 1 で行うべきこと

More information

三者ミーティング

三者ミーティング Corral Puzzle の 整数計画法による解法と評価 第 11 回組合せゲーム パズル研究集会 2016 年 月 7 日 ( 月 ) 大阪電気通信大学 弘中健太鈴木裕章上嶋章宏 2016//7 第 11 回組合せゲーム パズル研究集会 2 発表の流れ 研究の背景 整数計画法と先行研究 2 Corral Puzzle ルールと定義 定式化 2 種類の閉路性の定式化 7 1 6 評価 計測結果と考察

More information

Taro-2分探索木Ⅰ(公開版).jtd

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 が直接辺で結ばれているとき 一方を親節点 他方を子節点という ある節点の親節点は高々

More information

ネットワークフローとその代表的な問題

ネットワークフローとその代表的な問題 ネットワークフローと その代表的な問題 金子紘也 ( 日本電気株式会社情報ナレッジ研 ) Internet Week 2013 S8 SDN 時代を生き抜く為のグラフ理論とネットワークのアルゴリズム入門 ネットワークフローとは? フロー最適化 最大フロー 線形計画法による解法 多品種フロー問題 Max-min fairness まとめ 01 02 03 04 05 06 ネットワークフローとは? フロー最適化

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

講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 回ローム記念館 2Fの実習室で UML によるロボット制御実習 定期試験 2

講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 回ローム記念館 2Fの実習室で UML によるロボット制御実習 定期試験 2 ソフトウェア工学 第 7 回 木曜 5 限 F205 神原弘之 京都高度技術研究所 (ASTEM RI) http://www.metsa.astem.or.jp/se/ 1 講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 12 14 回ローム記念館 2Fの実習室で

More information

SAT ソルバー入門 2015/03/23 JOI 2014/2015 春合宿

SAT ソルバー入門 2015/03/23 JOI 2014/2015 春合宿 SAT ソルバー入門 2015/03/23 JOI 2014/2015 春合宿 今日の内容 難しい問題 を, 実用的に解きたい 主に, SAT ソルバー を使って解く話をします 題材として, ペンシルパズルを解きます 数独とか 2/89 なぜパズルか? 楽しい!! ( ω ) 三 ( ω ) 三 ( ω ) 現実的な制約問題などと比べて, ルールが比較的簡単に書ける また, 多くのペンシルパズルは

More information

卒論発表

卒論発表 0 年度 ( 平成 年度 ) 広島市大 卒業研究 実現するアルゴリズムの証明に 注目した ASIP のシステム検証 広島市立大学 情報科学部 情報工学科錦織光輝 ( 高橋隆一指導 ) Mitsuki Nishikori 研究背景 0 年代には Verilog HDL によって仕様を記述し, 論理合成によって回路を実現するスタイルが普及した 検証技術が論理合成に続く技術として期待されている 満たすべき性質をアサーションとして記述することによるシミュレーションでの検証

More information

PowerPoint Presentation

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

More information

従業員の融通を許した シフトスケジューリング問題

従業員の融通を許した シフトスケジューリング問題 フードコートにおけるアルバイト従業員の勤務シフト作成に関する研究 東京理科大学工学部第一部経営工学科 4 年 沼田研究室 4410072 日野駿 2014/01/31 卒研審査会 1 目次 1. はじめに 2. 問題 3. 定式化 4. 求解実験 5. 結果と考察 6. まとめと今後の課題参考文献 2014/01/31 卒研審査会 2 1. はじめに 1.1. 研究背景 (1) 飲食店は, 大部分の従業員をアルバイトで構成

More information

人工知能入門

人工知能入門 藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する

More information

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

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

More information

21 1 2 1 2

21 1 2 1 2 21 1 2 1 2 1 2 3 ( ) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 210 0.0 0.0 22 23 25 27 28 29 30 31 32 33 34 35 36 74 pp.4362003.10 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 141224 14 48 10

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

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション グラフの禁止構造条件について 古谷倫貴 ( 北里大学一般教育部 ) 話の流れ 1. 禁止部分グラフ a. 問題設定 b. ハミルトン閉路のための禁止部分グラフ c. 完全マッチングのための禁止部分グラフ d. 禁止部分グラフ条件の完全決定の難易 2. 自明な禁止部分グラフ条件 3. 禁止部分グラフ条件の比較 問題設定 グラフのある性質 P について,P のための ( 十分 ) 条件として良いものを考えたい.

More information

UML は次のように表記を拡張して 利用しやすくすることができる ステレオタイプ クラス図などで モデル要素の意味を拡張するもの ギルメット << >> によるラベル表記と アイコン表記がある <<actor>> <<interface>> ステレオタイプ一覧 UML 表記の拡張 ATM 利用者 ス

UML は次のように表記を拡張して 利用しやすくすることができる ステレオタイプ クラス図などで モデル要素の意味を拡張するもの ギルメット << >> によるラベル表記と アイコン表記がある <<actor>> <<interface>> ステレオタイプ一覧 UML 表記の拡張 ATM 利用者 ス 以降のページは HP で公開しているため 書き写し不要 UML の各図 ダイアグラム役割開発フェーズ図 ユースケース図 システムの要件定義アクターとシステム また外部システムとの関係を明記 分析 ( 要件定義 ) クラス図 システムの静的な部分の設計図 オブジェクト図 クラス図から作られるオブジェクト ( インスタンス ) の具体的な構成図 パッケージ図 パッケージの階層関係と依存関係を明記 ( パッケージ

More information

同期 - Synchronization

同期 - Synchronization 同期 - Synchronization JOI Open Contest 2013 問題の概要 木があり 頂点 i は最初情報 i を持っている 1 2 3 4 5 問題の概要 各辺には ON/OFF の属性があり,ON の辺を介した 2 つの頂点の持っている情報が異なると情報がコピーされて両方の頂点が同じ情報を持つようになる 1 2 3 4 5 問題の概要 最初すべての辺が OFF だが 辺の属性が変更されまくる

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 平成 0 年度 Fundamental Seminar 経路探索アルゴリズム 東京工業大学工学部土木環境工学科 朝倉研究室 長崎滉大 0/05/ 目次. はじめに p.. Dijkstra 法 pp.-. ラベル修正法 pp.-. ヒープ構造 pp.0-5. Dijkstra 法のプログラミング pp.5-5. A* アルゴリズム pp.-5. ZDD pp.5- 目次 0/05/ はじめに 目的

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング応用演習 第 4 回再帰的構造体 前回の出席確認演習 #include int main() { FILE *fp; int c, linecount, length, maxlength; fp=fopen("/usr/share/dict/words","r"); if (fp == NULL) return 1; linecount=0; length=0;

More information

1. はじめに 二分木ヒープ 様々なアルゴリズムにおいて ある要素の集合またはリストから 最小 な要素を取り 出す必要がある そのような場合に使われる標準的データ構造が二分木ヒープ (binary heap) である あるオブジェクトO を考える そのオブジェクトは ラベル O. label と値

1. はじめに 二分木ヒープ 様々なアルゴリズムにおいて ある要素の集合またはリストから 最小 な要素を取り 出す必要がある そのような場合に使われる標準的データ構造が二分木ヒープ (binary heap) である あるオブジェクトO を考える そのオブジェクトは ラベル O. label と値 1. はじめに 二分木ヒープ 様々なアルゴリズムにおいて ある要素の集合またはリストから 最小 な要素を取り 出す必要がある そのような場合に使われる標準的データ構造が二分木ヒープ (binary heap) である あるオブジェクトO を考える そのオブジェクトは ラベル O. label と値 O. value を持つ とする このようなオブジェクトを保存する二分木ヒープについて考える 二分木ヒープは以下の二つの制約のある二分木である

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 解けない問題 を知ろう 保坂和宏 ( 東京大学 B2) 第 11 回 JOI 春合宿 2012/03/19 概要 計算量に関して P と NP NP 完全 決定不能 いろいろな問題 コンテストにおいて Turing 機械 コンピュータの計算のモデル 計算 を数学的に厳密に扱うためのもの メモリのテープ (0/1 の列 ), ポインタ, 機械の内部状態を持ち, 規則に従って状態遷移をする 本講義では

More information

<4D F736F F D208D C8FEE95F18DEC90AC A B D836A B2E646F63>

<4D F736F F D208D C8FEE95F18DEC90AC A B D836A B2E646F63> 国土数値情報作成アプリケーション ( 指定地域データ等生成ツール ) 利用マニュアル 平成 20 年 3 月 国土交通省国土計画局 目次 1. ツール名 1 2. 機能概要 1 3. ツールのインストール 1 4. 使用方法 4 5. 動作環境 10 6. ツールのアンインストール 11 7.FAQ 12 1. ツール名 KSJ 指定地域データ等生成ツール -v#_##.exe (#_## はバージョン番号

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスがインスタンス化されてからメソッドに成る ) # 関数 def test_func(): print('call test_func') #

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 配列とコレクション 配列の使い方 固定配列 動的配列 コレクションの使い方 今日の目的 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As Long モジュールレベル Private arybuf(0 To 5) As Long Public arybuf(0 To 5) As Long 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As

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

スライド 1

スライド 1 Keal H. Sahn A R. Crc: A dual teperature sulated annealng approach for solvng blevel prograng probles Coputers and Checal Engneerng Vol. 23 pp. 11-251998. 第 12 回論文ゼミ 2013/07/12( 金 ) #4 M1 今泉孝章 2 段階計画問題とは

More information

memo

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

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

グラフ理論における偶奇性の現象

グラフ理論における偶奇性の現象 グラフ理論における偶奇性に関連する現象 (3 回目の講義 ) 加納幹雄 (Mikio Kano) 茨城大学名誉教授 講義の概略 1 回目入門的な話証明の多くを演習問題とします 2 回目マッチングと 1- 因子の一般化に関連する話 3 回目因子 = ある条件を満たす全域部分グラフ最近の因子理論のなかで偶奇性に関連するものの紹介 連結グラフ G と G-S の成分 G S S V(G) iso(g-s)=3

More information

14.Graph2

14.Graph2 アルゴリズム論第 (1クラス) 第 14 回 (2018/01/17) 情報学専攻庄野逸 (shouno@uc.c.jp) ( 3 号館 313 号室 ) 本 のお題 [ 復習 ] グラフとは グラフの基本概念と 語 グラフの実現 法 グラフを いた問題 最短経路問題 Dijkstr アルゴリズム,APSP 問題と Floy アルゴリズム 有向グラフ (DAG) とトポロジカルソート 最 全域 (Minimum

More information

Microsoft Word - thesis.doc

Microsoft Word - thesis.doc 剛体の基礎理論 -. 剛体の基礎理論初めに本論文で大域的に使用する記号を定義する. 使用する記号トルク撃力力角運動量角速度姿勢対角化された慣性テンソル慣性テンソル運動量速度位置質量時間 J W f F P p .. 質点の並進運動 質点は位置 と速度 P を用いる. ニュートンの運動方程式 という状態を持つ. 但し ここでは速度ではなく運動量 F P F.... より質点の運動は既に明らかであり 質点の状態ベクトル

More information

ワープロソフトウェア

ワープロソフトウェア 表計算ソフト (Excel) 表計算ソフト (Excel) とは 表計算ソフト数値データの集計 分析に用いられるアプリケーション表 グラフの作成 統計関数によるデータ解析 データベースなどを行うことができる メリットとして計算が自動 また簡単なシミュレーションができる Excel Microsoftによって提供されている表計算ソフトの名称関数の入力やマクロ機能,GUIの操作に優れており様々な用途に使用されている

More information

グラフの探索 JAVA での実装

グラフの探索 JAVA での実装 グラフの探索 JAVA での実装 二つの探索手法 深さ優先探索 :DFS (Depth-First Search) 幅優先探索 :BFS (Breadth-First Search) 共通部分 元のグラフを指定して 極大木を得る 探索アルゴリズムの利用の観点から 利用する側からみると 取り替えられる部品 どちらの方法が良いかはグラフに依存 操作性が同じでなければ 共通のクラスの派生で作ると便利 共通化を考える

More information

Microsoft PowerPoint - 06.pptx

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

More information

Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt

Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt システム設計 (1) シーケンス図 コミュニケーション図等 1 今日の演習のねらい 2 今日の演習のねらい 情報システムを構成するオブジェクトの考え方を理解す る 業務プロセスでのオブジェクトの相互作用を考える シーケンス図 コミュニケーション図を作成する 前回までの講義システム開発の上流工程として 要求仕様を確定パソコンを注文するまでのユースケースユースケースから画面の検討イベントフロー アクティビティ図

More information

2. データ構造ヒープに保存するデータは 番号付けられて保存される 従って リスト L として保存することとする 3. アルゴリズム 3.1. 要素の追加新しい要素の追加は リストの終端に置くことで開始する つまり 最下層の一番右 または新たに最下層を生成してその一番左となる この後 この要素を正し

2. データ構造ヒープに保存するデータは 番号付けられて保存される 従って リスト L として保存することとする 3. アルゴリズム 3.1. 要素の追加新しい要素の追加は リストの終端に置くことで開始する つまり 最下層の一番右 または新たに最下層を生成してその一番左となる この後 この要素を正し 1. はじめに 二分木ヒープ 様々なアルゴリズムにおいて ある要素の集合またはリストから 最小 な要素を取り 出す必要がある そのような場合に使われる標準的データ構造が二分木ヒープ (binary heap) である あるオブジェクトO を考える そのオブジェクトは ラベル O. label と値 O. value を持つとする このようなオブジェクトを保存する二分木ヒープについて考える 二分木ヒープは以下の二つの制約のある二分木である

More information

Microsoft PowerPoint - NetSci pptx

Microsoft PowerPoint - NetSci pptx フロンティア法 :BDD/ZDDを用いた高速なグラフ列挙索引化アルゴリズム 湊真一北海道大学情報科学研究科 / JST ERATO 22 年 8 月 9 日 ERATO とは JST の戦略的創造研究推進事業 さきがけ ( 牧場型 ) CREST( 八ヶ岳型 ) ERATO( 富士山型 ) ERATO プロジェクトの特徴 新しい科学技術の源流を作るような研究を支援 昭和 56 年発足 過去に98プロジェクトを採択

More information

離散数学

離散数学 離散数学 グラフ探索アルゴリズム 落合秀也 今日の内容 グラフの連結性 の判定 幅優先探索 幅優先探索の実現方法 深さ優先探索 深さ優先探索の実現方法 木の構造 探索木 パトリシア トライ 2 連結性の判定問題を考える グラフ G(V,E) が与えられたとき G が連結かどうか を判定したい 小さいグラフなら 紙に書いてみればよい 一般には簡単ではない 大きいグラフの場合 コンピュータに判断させる場合

More information

Microsoft PowerPoint - 09.pptx

Microsoft PowerPoint - 09.pptx 情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源

More information

プログラミング実習I

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

More information

次元圧縮法を導入したクエリに基づくバイクラスタリング 情報推薦への応用 武内充三浦功輝岡田吉史 ( 室蘭工業大学 ) 概要以前, 我々はクエリに基づくバイクラスタリングを用いた情報推薦手法を提案した. 本研究では, 新たに推薦スコアが非常に良く似たユーザまたはアイテムを融合する次元圧縮法を導入した. 実験として, 縮減前と縮減後のデータセットのサイズとバイクラスタ計算時間の比較を行う. キーワード

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 地図迷路自動作成プログラム 中村俊介, 橋本剛 松江工業高等専門学校 情報工学科 目次 1. 動機 2. 迷路 3. 迷路の自動生成 4. 地図を用いたコンテンツ 5. 問題点 6. 提案手法 7. 実装 中村迷路 8. 実験 9. まとめ 目次 1. 動機 2. 迷路 3. 迷路の自動生成 4. 地図を用いたコンテンツ 5. 問題点 6. 提案手法 7. 実装 中村迷路 8. 実験 9. まとめ

More information

! Aissi, H., Bazga, C., & Vaderpoote, D. (2009). Mi max ad mi max regret versios of combiatorial optimizatio problems: A survey. Europea joural of ope

! Aissi, H., Bazga, C., & Vaderpoote, D. (2009). Mi max ad mi max regret versios of combiatorial optimizatio problems: A survey. Europea joural of ope mi max regret l m ( ) ! Aissi, H., Bazga, C., & Vaderpoote, D. (2009). Mi max ad mi max regret versios of combiatorial optimizatio problems: A survey. Europea joural of operatioal research, 197(2), 427-438.!

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 天下一プログラマーコンテスト 2014 決勝解説 AtCoder 株式会社代表取締役 高橋直大 2014/9/8 1 A 問題塙さん 1. 問題概要 2. アルゴリズム 2014/9/8 AtCoder Inc. All rights reserved. 2 A 問題問題概要 正の整数 X の h 進数での表現が以下の条件を満たすとき X は塙さんであるという 同じ文字の出現回数は n 回以下である

More information

データベースS

データベースS データベース S 第 4 回データベース言語 SQL(1) システム創成情報工学科尾下真樹 2018 年度 Q2 今日の内容 前回の復習 SQLの概要 SQLによる問い合わせの記述方法 SQLの基本的な書き方 条件 (WHERE) の書き方 出力 (SELECT) の書き方 順序付け (ORDER BY) グループ表 (GROUP BY) 教科書 リレーショナルデータベース入門 [ 第 3 版 ]

More information

<4D F736F F F696E74202D208CA48B868FD089EE288FDA82B582A294C5292E B8CDD8AB B83685D>

<4D F736F F F696E74202D208CA48B868FD089EE288FDA82B582A294C5292E B8CDD8AB B83685D> フィルタリングルール最適化問題の解法ル最適化問題の解法 神奈川大学理学部情報科学科 田中研究室 インターネットの仕組み IP アドレス - パケット 00 送り先 IPアドレス発信元 IPアドレスを含む 確実に相手に届く ルータ ルータ 00 IP アドレス ルータ自宅.55.5. ルータ 大学.7.5.0 インターネットの仕組み パケット - ルータ 00 00 ルータ パケット 00 000 00

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

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

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

More information

解析力学B - 第11回: 正準変換

解析力学B - 第11回: 正準変換 解析力学 B 第 11 回 : 正準変換 神戸大 : 陰山聡 ホームページ ( 第 6 回から今回までの講義ノート ) http://tinyurl.com/kage2010 2011.01.27 正準変換 バネ問題 ( あえて下手に座標をとった ) ハミルトニアンを考える q 正準方程式は H = p2 2m + k 2 (q l 0) 2 q = H p = p m ṗ = H q = k(q

More information

数学 ⅡB < 公理 > 公理を論拠に定義を用いて定理を証明する 1 大小関係の公理 順序 (a > b, a = b, a > b 1 つ成立 a > b, b > c a > c 成立 ) 順序と演算 (a > b a + c > b + c (a > b, c > 0 ac > bc) 2 図

数学 ⅡB < 公理 > 公理を論拠に定義を用いて定理を証明する 1 大小関係の公理 順序 (a > b, a = b, a > b 1 つ成立 a > b, b > c a > c 成立 ) 順序と演算 (a > b a + c > b + c (a > b, c > 0 ac > bc) 2 図 数学 Ⅱ < 公理 > 公理を論拠に定義を用いて定理を証明する 大小関係の公理 順序 >, =, > つ成立 >, > > 成立 順序と演算 > + > + >, > > 図形の公理 平行線の性質 錯角 同位角 三角形の合同条件 三角形の合同相似 量の公理 角の大きさ 線分の長さ < 空間における座漂とベクトル > ベクトルの演算 和 差 実数倍については 文字の計算と同様 ベクトルの成分表示 平面ベクトル

More information

二次関数 1 二次関数とは ともなって変化する 2 つの数 ( 変数 ) x, y があります x y つの変数 x, y が, 表のように変化するとき y は x の二次関数 といいます また,2 つの変数を式に表すと, 2 y x となりま

二次関数 1 二次関数とは ともなって変化する 2 つの数 ( 変数 ) x, y があります x y つの変数 x, y が, 表のように変化するとき y は x の二次関数 といいます また,2 つの変数を式に表すと, 2 y x となりま 二次関数 二次関数とは ともなって変化する つの数 ( 変数 ) x, y があります y 0 9 6 5 つの変数 x, y が, 表のように変化するとき y は x の二次関数 といいます また, つの変数を式に表すと, x となります < 二次関数の例 > x y 0 7 8 75 x ( 表の上の数 ) を 乗して 倍すると, y ( 表の下の数 ) になります x y 0 - -8-8 -

More information

…好きです 解説

…好きです 解説 好きです 解説 いろはちゃんコンテスト DAY4 ~BOSSRUSH~ この問題は はじめに はじめに この問題は BossRush のボス はじめに この問題の作問者は E869120 (79%) + square (21%) です 私はひらきちにこの問題を出したら 1 週間考えて解法が分からなかったぽ かったので BossRush の最後に置かれました でも意外と解いている人は多そうなのですね

More information

プログラム圧縮による ソースコード流用の検出

プログラム圧縮による ソースコード流用の検出 複合圧縮度によるソースコード流用 の検出 奈良先端科学技術大学院大学情報科学研究科 田中智也 門田暁人 松本健一 背景 近年, オープンソースソフトウェア (OSS) を流用したソフトウェア開発が増えている. 開発コストの削減, 高信頼性の確保 開発の外注などにより OSS のソースコードが混入し, ライセンス違反を犯してしまう事例がある. SCEI が開発した PS ゲーム ICO のライブラリ

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション データベースシステム入門 7. 集計, 集約 1 リレーショナルデータベースシステム コンピュータ リレーショナルデータベース管理システム 記憶装置 リレーショナルデータベース あわせてリレーショナルデータベースシステム データの種類ごとに分かれた たくさんのテーブルが格納される 2 SQL をマスターするには SQL のキーワード create table テーブル定義 select 射影など from

More information

スライド 1

スライド 1 順序回路 (2) 1 順序回路の設計 組合せ論理回路の設計法 構造や規則性に着目した手設計 ( 先人の知恵を使う ) 入力 出力の関係に基づく自動合成 ( カルノー図など ) 順序回路の設計法 構造や規則性に着目した手設計 ( 前回の各例 ) 入力 出力 状態の関係に基づく自動合成 2 同期式順序回路の入力 出力 状態の関係 x 1 x 2 組合せ回路 y 1 y 2 x n q 2 q p q 1

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

平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム A 札幌医科大学 年 P ab, を正の定数とする 平面上において ( a, を中心とする円 Q 4 C と (, b を中心とする円 C が 原点 O で外接している また P を円 C 上の点と

平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム A 札幌医科大学 年 P ab, を正の定数とする 平面上において ( a, を中心とする円 Q 4 C と (, b を中心とする円 C が 原点 O で外接している また P を円 C 上の点と 平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム 微分積分の拡張 変数関数問題へのアプローチ 予選決勝優勝法からラグランジュ未定乗数法 松本睦郎 ( 札幌北高等学校 変数関数の最大値 最小値に関する問題には多様なアプローチ法がある 文字を固定した 予選決勝優勝法, 計算のみで解法する 文字消去法, 微分積分を利用した ラグランジュ未定乗数法 がある

More information

保存を行いたい場所 ( デスクトップ 等 ) を選択し 保存 (S) ボタンを押してください ファイル名 ファイル名は Jsas_TKNPrint.exe という初期値になっていますが 変更することができます 2 データのダウンロード ボタンを押すと 指導面接用紙の一括印刷用ソフトに取り込む指導対象

保存を行いたい場所 ( デスクトップ 等 ) を選択し 保存 (S) ボタンを押してください ファイル名 ファイル名は Jsas_TKNPrint.exe という初期値になっていますが 変更することができます 2 データのダウンロード ボタンを押すと 指導面接用紙の一括印刷用ソフトに取り込む指導対象 指導面接用紙印刷 - ダウンロード方法 - この画面では 指導面接用紙の一括印刷用ソフト及び 一括印刷用ソフトに取込む指導対象者データをダウンロードすることができます 1 2 3 1 一括印刷用ソフトのダウンロード ボタンを押すと 一括印刷用ソフトをダウンロードすることができます このソフトを使用することにより 指導面接用紙の帳票の一括印刷が可能になります ダウンロードの方法 一括印刷用ソフトのダウンロード

More information

<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

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

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション レッスン (1) あるワークシート中のあるセルを指定する Worksheets(" ワークシート名 ").Range(" セル ").Value ( 例 ) Worksheets(" データ収集 ").Range("A2").Value あるワークシートのセルから 別のワークシートのセルへ転記する Worksheets(" シート A").Range(" セル ").Value = Worksheets("

More information

プレポスト【解説】

プレポスト【解説】 コース名 : シェルの機能とプログラミング ~UNIX/Linux の効率的使用を目指して ~ 1 UNIX および Linux の主な構成要素は シェル コマンド カーネルです プロセスとは コマンドやプログラムを実行する単位のことなので プロセスに関する記述は誤りです UNIX および Linux のユーザーインターフェースは シェル です コマンドを解釈するという機能から コマンドインタープリタであるともいえます

More information

コンピュータ応用・演習 情報処理システム

コンピュータ応用・演習 情報処理システム 2010 年 12 月 15 日 データエンジニアリング 演習 情報処理システム データマイニング ~ データからの自動知識獲得手法 ~ 1. 演習の目的 (1) 多種多様な膨大な量のデータを解析し, 企業の経営活動などに活用することが望まれている. 大規模データベースを有効に活用する, データマイニング技術の研究が脚光を浴びている 1 1. 演習の目的 (2) POS データを用いて顧客の購買パターンを分析する.

More information