SlideShare a Scribd company logo
1 of 67
Download to read offline
動的計画法に学ぶ
数理科学の精神
NTT データ数理システム
大槻 兼資
2021/1/22
@数理システム講演会
1
• 2014年:東京大学大学院情報理工学系研究科
数理情報学専攻修士課程修了
自己紹介 (本業編)
• 2015年~:NTT データ数理システム
• 専門は数理工学全般
• 数理最適化
• シフトスケジューリングなど
• アルゴリズム
• 探索, ネットワークなど
• 機械学習
• チャットボットなど
http://www.dis.uniroma1.it/challenge9/download.shtml 2
3
自己紹介 (趣味編)
(12月2日) (7 の形) (1234567890 で「コ」)
• 虫食算作り
• コミケなどにも出店
• オーム社雑誌「ロボコンマガジン」の懸賞担当
4
アルゴリズム本を出版
• 「IT エンジニア本大賞 2021」にノミネート
https://www.shoeisha.co.jp/campaign/award/2021/result/
5
アルゴリズム本を出版
設計技法
・本の最初に設計技法を特集
・本の全体で設計技法を使用
現実世界の問題 数理科学の世界
モデル化
数理モデル
分析結果
数理最適化
動的計画法
機械学習
解釈・意思決定
数学を現実世界に活かすとは
数理科学の精神
7
• さまざまな問題が、モデリングを通して統一的に扱える
• 共通の論理 (理論) に基づいて、共通の計算 (アルゴリズム)
• インフラ、サービス、金融、物流、製造、公共、ヘルスケア
• 動的計画法を題材として (本講演の目的)
• 動的計画法はアルゴリズムの一種
モデリング + 理論 + アルゴリズム
なぜ動的計画法なのか
8
• 問題解決思考のエッセンスが詰まっている
• ルネ・デカルト「困難は分割せよ」
• 数多くの問題を、分野横断的に解決
• スケジューリング問題
• 発電計画問題
• 音声認識パターンマッチング
• 文章の分かち書き
• 隠れマルコフモデル
問題を一連の部分問題に分割し、
各部分問題の解をメモ化しながら順に求めていく手法
本日の講演内容
• 自己紹介、イントロ
9
• 動的計画法とは
• 動的計画法のさまざまなパターン
本日の講演内容
10
• 動的計画法とは
動的計画法とは
11
問題を一連の部分問題に分割し、
各部分問題の解をメモ化しながら順に求めていく手法
• とても抽象的で汎用的
• 適用範囲が広い
• ただし一見わかりにくい
動的計画法の例題
12
足場を「ジャンプ」しながら左端から右端へ行きたい
AtCoder Educational DP Contest A - Frog
ただし「隣の足場」か「1 個飛ばしの足場」にのみ進める
ジャンプの所要時間は「足場の高さの差」
左端から右端までの最短所要時間を求めよ
4m 7m
3 秒!
3m
13
グラフ
• 物事の関係性を「丸」と「線」を用いて表したもの
• コンピュータサイエンスのあらゆる領域で使われる
14
グラフ
• ありとあらゆるモノをグラフで表せる!
• さまざまな分野の問題をグラフに関する問題として
見通よく統一的に扱える!
グラフの問題と考える
15
例:
0 1 2 3 4 5 6
7
2
5 1 4 5 4
4
3
1 9
足場を「ジャンプ」しながら左端から右端へ行きたい
AtCoder Educational DP Contest A - Frog
ただし「隣の足場」か「1 個飛ばしの足場」にのみ進める
ジャンプの所要時間は「足場の高さの差」
左端から右端までの最短所要時間を求めよ
・足場が 7 個
・(2, 9, 4, 5, 1, 6, 10)
16
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 0 からノード 6 への最短経路を求める!
グラフの問題と考える
17
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 0 からノード 6 への最短経路を求める!
• 答えは、2 + 1 + 1 + 4 = 8
グラフの問題と考える
問題を次のように分解する
18
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 1 へ至る最小コストを求める問題
• ノード 2 へ至る最小コストを求める問題
• ノード 3 へ至る最小コストを求める問題
• ノード 4 へ至る最小コストを求める問題
• ノード 5 へ至る最小コストを求める問題
• ノード 6 へ至る最小コストを求める問題
問題を次のように分解する
19
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 1 へ至る最小コストを求める問題
• ノード 2 へ至る最小コストを求める問題
• ノード 3 へ至る最小コストを求める問題
• ノード 4 へ至る最小コストを求める問題
• ノード 5 へ至る最小コストを求める問題
• ノード 6 へ至る最小コストを求める問題
問題を次のように分解する
20
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 1 へ至る最小コストを求める問題
• ノード 2 へ至る最小コストを求める問題
• ノード 3 へ至る最小コストを求める問題
• ノード 4 へ至る最小コストを求める問題
• ノード 5 へ至る最小コストを求める問題
• ノード 6 へ至る最小コストを求める問題
問題を次のように分解する
21
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 1 へ至る最小コストを求める問題
• ノード 2 へ至る最小コストを求める問題
• ノード 3 へ至る最小コストを求める問題
• ノード 4 へ至る最小コストを求める問題
• ノード 5 へ至る最小コストを求める問題
• ノード 6 へ至る最小コストを求める問題
問題を次のように分解する
22
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 1 へ至る最小コストを求める問題
• ノード 2 へ至る最小コストを求める問題
• ノード 3 へ至る最小コストを求める問題
• ノード 4 へ至る最小コストを求める問題
• ノード 5 へ至る最小コストを求める問題
• ノード 6 へ至る最小コストを求める問題
問題を次のように分解する
23
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 1 へ至る最小コストを求める問題
• ノード 2 へ至る最小コストを求める問題
• ノード 3 へ至る最小コストを求める問題
• ノード 4 へ至る最小コストを求める問題
• ノード 5 へ至る最小コストを求める問題
• ノード 6 へ至る最小コストを求める問題
問題を次のように分解する
24
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 1 へ至る最小コストを求める問題
• ノード 2 へ至る最小コストを求める問題
• ノード 3 へ至る最小コストを求める問題
• ノード 4 へ至る最小コストを求める問題
• ノード 5 へ至る最小コストを求める問題
• ノード 6 へ至る最小コストを求める問題
問題を次のように分解する
25
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
• ノード 1 へ至る最小コストを求める問題
• ノード 2 へ至る最小コストを求める問題
• ノード 3 へ至る最小コストを求める問題
• ノード 4 へ至る最小コストを求める問題
• ノード 5 へ至る最小コストを求める問題
• ノード 6 へ至る最小コストを求める問題
順にメモ化
しながら
求めていく
メモ化用の DP テーブル
26
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
メモ
頂点 0 への最小コスト (初期条件)
27
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0
メモ
頂点 1 への最小コスト
28
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0
7
7
メモ
頂点 2 への最小コスト
29
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0 7
2
5
2
12 vs. 2
メモ
頂点 3 への最小コスト
30
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0 7
4
1
2
3 vs. 11
3
メモ
頂点 4 への最小コスト
31
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
メモ
0 7
3
4
2
7 vs. 5
3 5
頂点 5 への最小コスト
32
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0 7
1
5
2
10 vs. 4
3 5 4
メモ
頂点 6 への最小コスト
33
0
7
2
5 1 4 5 4
4
3
1 9
1 2 3 4 5 6
0 7
9
4
2
8 vs. 14
3 5 4 8
メモ
実装上は
34
• メモ化用の DP テーブルを配列でもつ
dp[v] ← 頂点 0 から頂点 v へ至る最短コスト
i-2 i-1 i
dp[i] = min(dp[i-1] + f(i-1, i),
dp[i-2] + f(i-2, i)
動的計画法の着眼
35
• メモ化:何度も参照される小さな問題の結果を保存して
すぐに参照できるようにする (キャッシュ)
問題を一連の部分問題に分割し、
各部分問題の解をメモ化しながら順に求めていく手法
• 部分問題への分割:同じ構造を持つ小さな問題 (部分問
題) の結果を使うことで大きな問題が解ける
• ノード 1, 2, 3, 4, 5, 6 への最短経路を順に求めた
本日の講演内容
36
• 動的計画法のさまざまなパターン
動的計画法は汎用的
• 動的計画法で解決できる問題は数多くある
• ナップサック問題
• スケジューリング問題
• 発電計画問題
• 編集距離
• 音声認識パターンマッチング問題
• 文章の分かち書き
• 隠れマルコフモデル
37
• 問題に応じて各個撃破な発想で解くしかないのか?
動的計画法の遷移パターンに着目
• 動的計画法は高校数学でいうところの「漸化式」
38
• 漸化式の遷移パターンに着目すると、典型的な
パターンをいくつか抽出できる!
• それらに習熟すれば、さまざまな問題が解ける
• 「モデリング」 + 「理論」 + 「アルゴリズム」
i-2 i-1 i
dp[i] = min(dp[i-1] + f(i-1, i),
dp[i-2] + f(i-2, i)
拙著の動的計画法の章
• 5 章 - 設計技法 (3):動的計画法
39
• 5.1 動的計画法とは
• 5.2 動的計画法の例題
• 5.3 動的計画法に関連する諸概念
• 5.4 動的計画法の例 (1):ナップサック問題
• 5.5 動的計画法の例 (2):編集距離
• 5.6 動的計画法の例 (3):区間分割の仕方を最適化
• 5.7 まとめ
パターン(1):ナップサック問題
40
w
0 1 2 3 4 5 6 7 8 9 10
dp[0]
dp[1]
dp[2]
dp[3]
dp[4]
0 0 0 0 0 0 0 0 0 0 0
0 0 0 6 6 6 6 6 6 6 6
0 3 3 6 9 9 9 9 9 9 9
0 3 3 6 9 9 10
0 3 3 6 85
10 10 10 10
88 88 91 94 94 95
• こんなイメージの遷移
パターン(2):編集距離
41
• こんなイメージの遷移
0
1
2
3
4
5
6
7
8
1
1
2
3
4
5
6
7
8
2
1
2
3
4
5
6
7
8
3
2
2
2
3
4
5
6
7
4
3
2
3
3
4
5
6
7
5
4
3
3
4
4
5
6
7
6
5
4
4
3
4
5
5
6
7
6
5
5
4
4
4
5
6
8
7
6
6
5
5
5
5
6
l
o
g
9
8
7
7
6
6
6
6
6
i
s
t
i
c
a l g o r i t h m
長さ 1
長さ 0
パターン(3):区間分割
42
• こんなイメージの遷移
i 個
j 個
dp[i] = min(dp[i], dp[j] + f(j, i))
3 つの代表的な遷移パターン
43
• ナップサック問題
• 編集距離
• 区間分割
ナップサック問題
44
N 個の品物があって、いくつか選びたい
各品物には「重さ」と「価値」の属性がある
選んだ品物の重さの合計が W を超えないようにしつつ
価値の総和を最大化せよ
https://www.msi.co.jp/nuopt/introduction/index.html
ナップサック問題
45
N 個の品物があって、いくつか選びたい
各品物には「重さ」と「価値」の属性がある
選んだ品物の重さの合計が W を超えないようにしつつ
価値の総和を最大化せよ
dp[i] ← N 個の品物のうち、最初の i 個のみ考える
その中から重さの合計が W を超えないようにしつつ
選んだ品物の価値の最大値 (?)
最初の i 個についての問題 (部分問題)
これだとうまくいかない
ナップサック問題
46
N 個の品物があって、いくつか選びたい
各品物には「重さ」と「価値」の属性がある
選んだ品物の重さの合計が W を超えないようにしつつ
価値の総和を最大化せよ
dp[i][w] ← N 個の品物のうち、最初の i 個のみ考える
その中から重さの合計が w を超えないようにしつつ
選んだときの価値の総和の最大値
最初の i 個についての問題 (部分問題)
ナップサック問題
47
• i 個についての解 (dp[i]) から、i+1 個についての解
(dp[i+1]) を導く
dp[i+1][w] = max(dp[i][w],
dp[i][w-wei[i]] + val[i])
新たな品物を選ばない場合
新たな品物を選ぶ場合
i 個
i+1 個
この品物を選ぶかどうかで場合分け
重さ 価値
ナップサック DP の遷移
48
w
0 1 2 3 4 5 6 7 8 9 10
dp[0]
dp[1]
dp[2]
dp[3]
dp[4]
0 0 0 0 0 0 0 0 0 0 0
0 0 0 6 6 6 6 6 6 6 6
0 3 3 6 9 9 9 9 9 9 9
0 3 3 6 9 9 10
0 3 3 6 85
10 10 10 10
88 88 91 94 94 95
• (重さ, 価値) = (3, 6), (1, 3), (2, 1), (5, 85) の場合
ナップサック DP の遷移のポイント
49
dp[2]
dp[3]
dp[4]
0 3 3 6 9 9 9 9 9 9 9
0 3 3 6 9 9 10
0 3 3 6 85
10 10 10 10
88 88 91 94 94 95
• N 個の要素をシーケンシャルに処理していくもの
• そのために必要な添字を適宜追加していく
dp[i][w]
部分問題のサイズ 遷移に必要な追加の添字
例(1): サイゼリヤ問題
50
• 予算 1000 円で、最高何 kcal とれるか?
https://qiita.com/marusho_summers/items/a2d3681fac863734ec8a
• ナップサック問題そのもの
• ナップサックの容量が予算に対応:1000 円
• 品物の価値が、カロリーに対応
・ポテトのグリル
(199 円, 366 kcal)
・アーリオ•オーリオ
(574 円, 1120 kcal)
・ラージライス
(219 円, 454 kcal)
合計:992 円, 1940 kcal
例(2): 隠れマルコフモデル
51
• 系列データを「潜在変数」のマルコフ連鎖で表すもの
追加の添字 i+1 番目の状態が i 番目のみに依る
• 前回の状態によって、次回の各状態の起こりやすさが
変化する
https://mathwords.net/hiddenmarkov
風邪 or 元気
からなる系列データ
例(2): 隠れマルコフモデル
52
• 系列データを「潜在変数」のマルコフ連鎖で表すもの
追加の添字 i+1 番目の状態が i 番目のみに依る
• 潜在変数の最も確からしい経路を求める Viterbi のアル
ゴリズムは、ナップサック DP とほとんど同じもの
• 音声認識
• 品詞分析
• 株価の変動予測
さまざまな応用
例(3): パネルの長さを揃える
53
さまざまな長さのパネルがたくさん並んでいる
それをいくつかのグループに分ける
各グループのパネルの長さの総和をなるべく揃えたい
実際にはパネルの幅も考慮
54
• どのグループの長さも「許される上限」以下とする
• 最短のグループの長さを、最大化する
dp[i][j] ← 最初の i 枚のパネルについて考える
現在形成中のグループの長さが j であるとした場合の
現在までに形成されたグループの長さの最小値
この長さが j
…
例(3): パネルの長さを揃える
3 つの代表的な遷移パターン
55
• 編集距離
編集距離
56
2 つの文字列 S, T がある
S に以下の 3 通りの操作を繰り返すことで T に変換したい
・変更: S の文字を 1 つ選んで変更
・削除: S の文字を 1 つ選んで削除
・挿入: S の好きな箇所に好きな文字を 1 文字挿入
最小回数を求めよ
例:
S = logistic
T = algorithm
→ 6 回
二系列の DP
57
例:
S = logistic
T = algorithm
→ 6 回
dp[i][j] ← S の最初の i 文字と、T の最初の j 文字との
間についての操作回数の最小値
編集距離を求める DP の遷移
58
dp[i][j] ← S の最初の i 文字と、T の最初の j 文字との
間についての操作回数の最小値
応用が広く、分野横断的!
59
• diff コマンド
• 音声認識、画像認識、空間認識
• DP マッチング
• 二系列データの類似度を考える問題全般に適用
• スペルチェッカー
• バイオインフォマティクス
• 系列アラインメント (2 つの DNA の類似度を測るなど)
• 手書き文字認識
3 つの代表的な遷移パターン
60
• 区間分割
区間分割
61
0 1 2 3 4 5 6 7 8 9
• 系列データをいくつかの区間に分ける
• 区間分割の仕方を最適化したい
区間分割を扱う DP
62
i 個
j 個
dp[i] ← 最初の i 個をいくつかの区間に区切る方法の
「良さ」の最大値 (i 個目のところで一旦区切るとする)
dp[i] = min(dp[i], dp[j] + f(j, i))
区間分割を扱う DP
63
i 個
j 個
dp[i] = min(dp[i], dp[j] + f(j, i))
計算量は大きくなりがち
さまざまな高速化手法あり
例(4): 分かち書き
64
http://chasen.naist.jp/chaki/t/2009-09-30/doc/mecab-cabocha-nlp-seminar-2009.pdf
僕は君を愛している
僕 は 君 を 愛し て いる
単語ごとに区切る
例(5): 発電計画問題
65
• 発電の on と off のタイミングを最適化する
on off on off
• 需要供給バランスの考慮などもあって、各区間のコス
ト関数 f(i, j) はとても複雑なものになる
• 「~時間以上連続稼働」といった制約も考慮
例(6): タイムスケジューリング
66
• お客さまを順に回る配送 (配送順序は固定)
• 「何時から何時の間に届けてほしい」
• 「~分間に 1 回は休憩が必要」という制約もある
→ どこで休憩をとるかを最適化
休憩場所ごとに区切る
まとめ
67
• ナップサック問題
• 編集距離
• 区間分割
• 経験上、動的計画法によって解決できる問題のほとんど
が共通の遷移パターンで扱える!
• 共通の「問題の構造」に着目することで明快に解ける
• 「共通の理論」と、「問題に特有の事情」とに分離
することで、見通しのよい問題解決ができる
モデリング + 理論 + アルゴリズム

More Related Content

What's hot

勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとはTakuya Akiba
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながりMITSUNARI Shigeo
 
強化学習その3
強化学習その3強化学習その3
強化学習その3nishio
 
深層ニューラルネットワーク による知識の自動獲得・推論
深層ニューラルネットワークによる知識の自動獲得・推論深層ニューラルネットワークによる知識の自動獲得・推論
深層ニューラルネットワーク による知識の自動獲得・推論Naoaki Okazaki
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズムTakuya Akiba
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRShuyo Nakatani
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門Yoichi Iwata
 
“Sliding right into disaster”の紹介
“Sliding right into disaster”の紹介“Sliding right into disaster”の紹介
“Sliding right into disaster”の紹介MITSUNARI Shigeo
 
指数時間アルゴリズムの最先端
指数時間アルゴリズムの最先端指数時間アルゴリズムの最先端
指数時間アルゴリズムの最先端Yoichi Iwata
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題tmaehara
 
20170408cvsaisentan6 2 4.3-4.5
20170408cvsaisentan6 2 4.3-4.520170408cvsaisentan6 2 4.3-4.5
20170408cvsaisentan6 2 4.3-4.5Takuya Minagawa
 
大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法Takuya Akiba
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズムTakuya Akiba
 
2章グラフ理論スピード入門
2章グラフ理論スピード入門2章グラフ理論スピード入門
2章グラフ理論スピード入門Teruo Kawasaki
 
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析Yuichi Yoshida
 
強化学習その1
強化学習その1強化学習その1
強化学習その1nishio
 

What's hot (20)

勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
Tokyo r27
Tokyo r27Tokyo r27
Tokyo r27
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
深層ニューラルネットワーク による知識の自動獲得・推論
深層ニューラルネットワークによる知識の自動獲得・推論深層ニューラルネットワークによる知識の自動獲得・推論
深層ニューラルネットワーク による知識の自動獲得・推論
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
“Sliding right into disaster”の紹介
“Sliding right into disaster”の紹介“Sliding right into disaster”の紹介
“Sliding right into disaster”の紹介
 
指数時間アルゴリズムの最先端
指数時間アルゴリズムの最先端指数時間アルゴリズムの最先端
指数時間アルゴリズムの最先端
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題
 
双対性
双対性双対性
双対性
 
20170408cvsaisentan6 2 4.3-4.5
20170408cvsaisentan6 2 4.3-4.520170408cvsaisentan6 2 4.3-4.5
20170408cvsaisentan6 2 4.3-4.5
 
R seminar on igraph
R seminar on igraphR seminar on igraph
R seminar on igraph
 
大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
 
Stanでガウス過程
Stanでガウス過程Stanでガウス過程
Stanでガウス過程
 
2章グラフ理論スピード入門
2章グラフ理論スピード入門2章グラフ理論スピード入門
2章グラフ理論スピード入門
 
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 

Similar to 210122 msi dp

Infer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみたInfer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみた正志 坪坂
 
今日からはじめる微分方程式
今日からはじめる微分方程式今日からはじめる微分方程式
今日からはじめる微分方程式Ryo Kaji
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画までShunji Umetani
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会Kimikazu Kato
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版Masami Yabushita
 
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかわんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかMasami Yabushita
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造Takuya Akiba
 
競プロは人生の役に立つ!
競プロは人生の役に立つ!競プロは人生の役に立つ!
競プロは人生の役に立つ!Kensuke Otsuki
 
実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)AtCoder Inc.
 
自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章Hiroki Mizukami
 
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep LearningまでHokuto Kagaya
 
Web本文抽出 using crf
Web本文抽出 using crfWeb本文抽出 using crf
Web本文抽出 using crfShuyo Nakatani
 
深層学習(岡本孝之 著) - Deep Learning chap.1 and 2
深層学習(岡本孝之 著) - Deep Learning chap.1 and 2深層学習(岡本孝之 著) - Deep Learning chap.1 and 2
深層学習(岡本孝之 著) - Deep Learning chap.1 and 2Masayoshi Kondo
 
Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用Nobuaki Oshiro
 
これは楽しい数学マジック(その1)
これは楽しい数学マジック(その1)これは楽しい数学マジック(その1)
これは楽しい数学マジック(その1)神戸大学
 
クラスタリングとレコメンデーション資料
クラスタリングとレコメンデーション資料クラスタリングとレコメンデーション資料
クラスタリングとレコメンデーション資料洋資 堅田
 
ニューラルネットワークを用いた自然言語処理
ニューラルネットワークを用いた自然言語処理ニューラルネットワークを用いた自然言語処理
ニューラルネットワークを用いた自然言語処理Sho Takase
 

Similar to 210122 msi dp (20)

Infer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみたInfer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみた
 
今日からはじめる微分方程式
今日からはじめる微分方程式今日からはじめる微分方程式
今日からはじめる微分方程式
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
Scrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pubScrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pub
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
 
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかわんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
 
T69 episteme
T69 epistemeT69 episteme
T69 episteme
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
 
競プロは人生の役に立つ!
競プロは人生の役に立つ!競プロは人生の役に立つ!
競プロは人生の役に立つ!
 
実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第三回講義資料(ワークスアプリケーションズ & AtCoder)
 
自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章
 
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
 
Web本文抽出 using crf
Web本文抽出 using crfWeb本文抽出 using crf
Web本文抽出 using crf
 
深層学習(岡本孝之 著) - Deep Learning chap.1 and 2
深層学習(岡本孝之 著) - Deep Learning chap.1 and 2深層学習(岡本孝之 著) - Deep Learning chap.1 and 2
深層学習(岡本孝之 著) - Deep Learning chap.1 and 2
 
Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用
 
これは楽しい数学マジック(その1)
これは楽しい数学マジック(その1)これは楽しい数学マジック(その1)
これは楽しい数学マジック(その1)
 
クラスタリングとレコメンデーション資料
クラスタリングとレコメンデーション資料クラスタリングとレコメンデーション資料
クラスタリングとレコメンデーション資料
 
ニューラルネットワークを用いた自然言語処理
ニューラルネットワークを用いた自然言語処理ニューラルネットワークを用いた自然言語処理
ニューラルネットワークを用いた自然言語処理
 

More from Kensuke Otsuki

ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)Kensuke Otsuki
 
人それぞれの競プロとの向き合い方
人それぞれの競プロとの向き合い方人それぞれの競プロとの向き合い方
人それぞれの競プロとの向き合い方Kensuke Otsuki
 
IT エンジニア本大賞 2021 講演資料
IT エンジニア本大賞 2021 講演資料IT エンジニア本大賞 2021 講演資料
IT エンジニア本大賞 2021 講演資料Kensuke Otsuki
 
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)Kensuke Otsuki
 
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~Kensuke Otsuki
 
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方Kensuke Otsuki
 
2部グラフの最小点被覆の求め方
2部グラフの最小点被覆の求め方2部グラフの最小点被覆の求め方
2部グラフの最小点被覆の求め方Kensuke Otsuki
 

More from Kensuke Otsuki (7)

ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
ものづくりに活かす数学 (2024 年 1 月 26 日 N/S 高等学校での数学の授業)
 
人それぞれの競プロとの向き合い方
人それぞれの競プロとの向き合い方人それぞれの競プロとの向き合い方
人それぞれの競プロとの向き合い方
 
IT エンジニア本大賞 2021 講演資料
IT エンジニア本大賞 2021 講演資料IT エンジニア本大賞 2021 講演資料
IT エンジニア本大賞 2021 講演資料
 
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
虫食算に学ぶ、深さ優先探索アルゴリズム (combmof, 2018/12/23)
 
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
 
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
二部グラフの最小点被覆と最大安定集合と最小辺被覆の求め方
 
2部グラフの最小点被覆の求め方
2部グラフの最小点被覆の求め方2部グラフの最小点被覆の求め方
2部グラフの最小点被覆の求め方
 

210122 msi dp