SlideShare uma empresa Scribd logo
1 de 87
Baixar para ler offline
Introduction To Algorithms.
§15. Dynamic Programming
                      2010 / 06
What is DP ?

 最適化問題に使う

 Divide-and-conquer method に似てる

 Programming → tabular method
Difference (いめーじ)

 Divide and conquer : 分割統治法

    トップダウン + 似た小問題

 Dynamic Programming : 動的計画法

    ボトムアップ + 同じ形の小問題
Step of DP(簡単に)

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Step of DP(詳しく)

 最適解の構造を特徴付ける

 再帰的に最適解を定義する

 ボトムアップ的に解を計算する

 結果から最適解を構築する
とりあえず例題
§15.1 Rod Cutting

 長い鋼鉄の棒を切って売る




 切るのはタダ

 価格表が与えられる

 高く売りたい
§15.1 Rod Cutting

 価格表の例
   L     1   2    3   4    5   6    7    8    9    10
   P     1   5    8   9   10   17   17   20   24   30


 長さ n = 4 の場合…

   4 , 3-1 , 2-2 , 1-3 , 1-1-2 , 1-2-1 , 2-1-1 , 1-1-1-1

             パターン。
§15.1 Rod Cutting

 切り方の表現

    4=1+1+2

 一般に n = i1 + i2 + … + ik

 収入は rn = pi1 + pi2 + … + pik

                             R <- Revenue : 収入
§15.1 Example Revenue

 最大収入の例

  N   1   2   3   4    5    6    7    8    9    10
  P   1   5   8    9   10   17   17   20   24   30
  R   1   5   8   10   13   17   18   22   25   30



4=2+2,5=2+3,7=2+2+3

8=2+6,9=3+6
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
how to get the optimal revenue



 Rnを求めるために、Rn-1を求めてる

 長さnからiだけ切る … n = i + ( n - i )

 右の破片からだけ切るようにする
how to get the optimal revenue

 R1 = p1

 R2 = max( p2 , r1 + r1 ) = max( p2 , 2p1 )

 R3 = max( p3 , r1 + r2 , r2 + r1 )

     = max( p3 , p1 + max( p2, 2p1 ) )
how to get the optimal revenue

 R1 = p1

 R2 = max( p1 + r1 , p2 ) = max( 2p1 , p2 )

 R3 = max( p1 + r2 , p2 + r1 , p3 )

     = max( p1 + max( 2p1 , p2 ) , p1 + p2 , p3 )

     = max( p1 + max( 2p1 , p2 ) , p3 )
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Implement 1.
Features of Implement 1.

 小さい問題を

 たくさん解いている                      4

                    3           2       1   0

        2       1       0   1       0   0

    1       0   0           0

    0
Analysis 1.

 CutRodの実行時間 T(n) の再帰方程式




 計算する
Improvement.

 Memoize : メモ化

      過去に解いた小問題を記録しておく

 Bottom-up approach

      小さいのから上へ積み上げる

      Dynamic Programmingの特徴
Bottom-up
Analysis 2.

 ButtomUpCutRod

     O( n^2 ) : for for

 MemoizedCutRod

     O( n^2 ) らしい。
※Subproblem Graph.

 小問題同士の関係をグラフ化

 XからYに矢印がある : Xを解くのにYを使う




  4     3    2       1   0
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Construct an optimal solution

 例えばBottom-upを拡張する。

 どの長さを選択するのか、記録する

 一番最初の切断長だけ記録

   7=2+2+3 -> 2を記録

   7=2+5 と 5の解を利用すればいい
Extended Buttom-up Cut Rod
Output

 出力例

  N      1   2   3   4    5    6    7    8    9    10
  P      1   5   8    9   10   17   17   20   24   30
  R      1   5   8   10   13   17   18   22   25   30
  S      1   2   3    2   2    6    1    2    3    10


7=1+6=2+2+3
 最初の切断点が小さい方が優先
Caution

 一般的に・・・

  Speed – memory , trade off

  Memoizeすれば確かに高速だけど・・・
§15.2 Matrix-chain multiplication

 行列の列

    例 < A1 , A2 , A3 , A4 >

 A1 A2 A3 A4 を求める

 求め方

    例 ( A1 ( A2 ( A3 A4 ) ) )
Matrix Multiply (A, B) #01

 A of (n,m) * B of (m, s) = AB of (n, s)

for I = 1 to n

  for J = 1 to s

       for K = 1 to m

                 c[I,J] += a[I,K] * b[K,J]
Matrix Multiply (A, B) #02




 1ブロック:乗算2+加算2

 ブロック数:2 * 3 = 6
Matrix Multiply (A, B) #03

 A : ( P , Q ) , B : ( Q , R ) , AB : ( P , R )

 ブロック数 : PR

 乗算の数: Q , 全体で PQR

 加算の数: Q : とりあえず無視
Matrix Multiply (A, B) #04

 A1 : ( 10 , 100 ) , A2 : ( 100 , 5 ) , A3 : (5 , 50 )

 A1 A2 A3 : ( 10 , 50 )

 A1 A2 : 5000回の乗算 -> * A3 : 2500回の乗算

 A2 A3 : 25000回の乗算 -> A1 * : 50000回の乗算

 (A1 A2) A3 : 7500 << A1 (A2 A3) : 75000
Matrix-Chain Multiplication Problem

 Matrices ( A1 A2 … An ) が与えられる

 行列 Ai : ( pi-1, pi ) 型の行列

 乗算回数を最も少なくするようにしたい
Number of Parenthesize

 Parenthesize : 括弧をつける

 括弧の付け方      ≒       乗算のやり方

 括弧の付け方の数:カタラン数

        P(1)  1
               n 1
        P(n)   P(k) P(n  k)   n2
               k 1
Number of Parenthesize

 N=1 : ()

 N=2 : (()) , ()()

 N=3 : ((())) , (()()) , (())() , ()(()) , ()()()
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Split Product #01

 I < K < J のとき

   Ai Ai+1 … Aj = ( Ai … Ak ) ( Ak+1 … Aj)

 このときの乗算回数は?

 例題を思い出せば部分積での回数の和
Split Product #02

 最適解を二つに分けても最適解?

 最適解

 もし部分和でより最適な部分解があれば

 そもそも元の最適解が最適じゃない

 構造がわかった
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Recursive Solution #01

 積 Ai … Aj ( 1 <= I <= j <= n )

 M[i][j] : 最小な積の回数

 全体の問題の解 : M[1][n]
Recursive Solution #02

 M[i][j]をどう定義するか (Rod Cutのように)

 M[i][i] = 0

 Ai … Aj = ( Ai … Ak ) ( Ak+1 … Aj)

 M[i][j] = M[i][k] + M[k+1][j] + Pi-1 Pk Pj
Recursive Solution #03

 分割位置 k は任意 ( I <= k <= J)

 実際はMが最小になるような k が必要


 M[i][i]  0
 M[i][j]  min {M[i][k] M[k  1][j]  Pi 1Pk Pj}
           ik  j
Recursive Solution #04

 本当に必要な情報はMではない

 切断位置 k の情報が必要

 S[i][j]にでも格納しておけばいい
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Computing #01

 式を普通に計算する?

 指数関数時間・・・

 Keyword: Tabular and Bottom-up
Computing #02 – Imprement

 実装はP375.

 式より →      M[i][i] = 0

 For for で計算

 S[i][j]に括弧の位置も記憶する
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Constructing

 分離箇所の情報 S を使う

 詳しくはP376,377
例題終わり
一般的なこと
§15.3 Elements of DP

 DPをどういうときに使うか

 2つの要素( ingredients )

1. Optimal Substructure

2. Overlapping Subproblem
Optimal Substructure

 Step1で最適化問題をCharacterizeしている

 最適解の中に小問題の最適解を含んでいた

 Optimal Substructure と呼ぶ

 これを見つけることがStep1の仕事
How to discover

 見つけるときにどんなことをしている?

    小問題に分けるための選択・切り分け

    部分空間に分けている

    Cut-and-paste
Cut-and-paste

 Cut-out と Paste-in という技法

 最適でない部分を取り除く

 最適な解を取り入れる

 全体として better な解になる
Space of Subproblems

 出来るだけシンプルに保つ

 Rod-cutting (Length n)

     -> Rod-cutting (Length i)

 Matrices (A1 … Aj)

     -> (A1 … Ak) , (Ak+1 … Aj)
Optimal Substructure

 全体の最適解のために、いくつの部分解を使うか

 どの小問題を使うかをどれだけ選択するか

 RodCut(n) -> 1つの小問題(length n-i) + iの選択(n)

 Matrices(I,J) -> 2つの小問題 + 選択(j-i)
Runnnig Time

 一般的な要因は2つ

 全体での小問題の個数

 選択の回数

 Subproblem graphで解析できる
Graph -> Running Time

 頂点(vertex)の個数 -> 小問題の個数

 辺(edge)の個数 -> 選択の回数

 N vertices, N edges / vertex. -> O(n^2)




     4           3        2        1        0
Cost

 ボトムアップ

 小問題のコスト+それ自身を選ぶコスト

 Rod-cuttingの例

      小問題 n 個(Length 0,1,….,n-1)
      Nのどこで切るかを選択 ( nパターン )
      切断しない、というコスト (pn)
Without optimal substructure

 最適解を分割して求められない

 部分最適解の和が全体の最適解にならない

 例はグラフのLongest Simple Path (P381)

 Independentかどうかが大切(P383)
   資源とか情報を使うかどうか・・・
Overlapping Subproblem

 小問題は元の問題より小さくなる

 同じ問題が何度も出てくる

 Overlapping Subproblem

 Divide-and-conqureとの違い
Divide-and-conquer

 分割の時に似た問題を作る

 同じ問題は出てこないかも( quick sort )

 Tabularが使えない

 DPでは表に結果を蓄積して高速化
※ Memoize

 トップダウン用の技術

 過去の計算情報を保存

 上手く使えば効率的

 詳しくは第三版P387-389
例題ラッシュ
§15.4 LCS

 Longest Common Subsequence

 例えばDNA配列のLCSを求める

 Sequence X := < x1 , x2 , … , xm >

 Subsequence Z of X := < z1 , z2 , … , zk >

 Increasingly <i1 , i2 , … ik >が存在すること
Example

 X=<A,B,C,B,D,A,B>

 Z=<B,C,A>

 Z は X の Subsequence ( I = < 2 , 3 , 6 >)
Common and Longest

 Common Sequence Z of X and Y

 Z は X と Y の両方のSubsequence

 Longest Common Subsequence Z of X and Y

 CS の中でもっとも長いもの
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Characterize LCS #01

 X ( Length m ) -> 2^m パターン

 X = < x1 , x2 , … , xm > とするとき

 Xi = < x1 , x2 , … , xi > とする ( I <= m)
Characterize LCS #02

 Theorem 15.1 ( P392 ) LCS’s optimal substructure

 X = < x1 , … , xm > , Y = < y1 , … , yn >

 Z を X と Y のLCSとする。 Z = < z1 , … , zk >
Theorem 15.1

 xm=yn -> zk=xm=yn で Zk-1 が Xm-1 と Yn-1 の LCS

 xm != yn

    zk != xm -> Z は Xm-1 と Y の LCS

    zk != yn -> Z は X と Yn-1 の LCS

 証明はP392
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
C[i][j] : LCS の 長さ

 再帰的に定義する(式15.9)

 C[0][0] = 0

 xi = yi -> c[i][j] = c[i-1][j-1] + 1

 xi != yi -> c[i][j-1]とc[i-1][j]の大きい方
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Compute / Imprement

 P394

 For for で計算

 長さの情報C[i][j]と向きの情報B[i][j]を確保

 向きの情報はStep4で使う
Step of DP

 Characterize

 Recursively define

 Compute

 Construct an optimal solutions
Constructing

 図はP395
§15.5 Optimal binary search tree

 昇順でK=<k1, k2, … , kn>が与えられる

 二分探索木を作りたい

 N個の接点とN+1個のダミーの値を持つ

 接点kiに対する確率piが与えられる
Binary Search Tree
                                            k2


 n = 5 の例                    k1                           k3


 ダミー(Kに入ってない)           d0        d1            k4                  k5

 kiへの探索確率 pi
 diへの探索確率 qi                               d2        d3        d4        d5



             i      0         1         2        3              4          5
             pi      -   0.15       0.10     0.05          0.10       0.20
             qi   0.05   0.10       0.05     0.05          0.05       0.10
Problem

 二分探索木の形は一意に決まるわけではない

 kiへの探索が成功、diへの探索が失敗

 確率が与えられてるから期待値が出せる
   n                     n

   (depth(ki)  1)pi   (depth(di)  1)qi
  i 1                 i 0
          n              n
   1   depth(ki)pi   depth(di)qi
         i 1           i 0
Problem

 期待値が最良になる二分探索木を求める

 Step1. ~ Step4. (P399~404)
問題
Problem. of DP. #01

 Ex15-1 : Longest simple path in a directed acyclic
  graph
 Ex15-2 : Longest Palindrome subsequence

 Ex15-3 : Bitonic euclidean traveling-salesman
  problem
 Ex15-4 : Printing neatly
Problem. of DP. #02

 Ex15-5 : Edit distance

 Ex15-6 : Planning a company party

 Ex15-7 : Viterbi algorithm

 Ex15-8 : Image Compression by seam carving
Problem. of DP. #03

 Ex15-9 :Breaking a string

 Ex15-10 : Planning a investment strategy

 Ex15-11 : Inventory planning

 Ex15-12 : Signing free-agent baseball players
問題ラッシュおしまい
History of DP.

 1955. R. Bellman (1920-1984)

     動的計画法(最適性の原理)

     次元の呪い

Mais conteúdo relacionado

Mais procurados

SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来Hidekazu Oiwa
 
TopCoder SRM614 解説
TopCoder SRM614 解説TopCoder SRM614 解説
TopCoder SRM614 解説EmKjp
 
Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会Shuyo Nakatani
 
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説AtCoder Inc.
 
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスターUnity Technologies Japan K.K.
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しようUnity Technologies Japan K.K.
 
20170422 数学カフェ Part1
20170422 数学カフェ Part120170422 数学カフェ Part1
20170422 数学カフェ Part1Kenta Oono
 
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解くshindannin
 
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical SearchWSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Searchsleepy_yoshi
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化Miyoshi Yuya
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜Tomoki Yoshida
 
Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会Shuyo Nakatani
 
Clustering _ishii_2014__ch10
Clustering  _ishii_2014__ch10Clustering  _ishii_2014__ch10
Clustering _ishii_2014__ch10Kota Mori
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムMiyoshi Yuya
 
Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2Kota Matsui
 
任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案
任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案
任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案Kamiya Toshihiro
 

Mais procurados (20)

SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
 
Tokyo r27
Tokyo r27Tokyo r27
Tokyo r27
 
TopCoder SRM614 解説
TopCoder SRM614 解説TopCoder SRM614 解説
TopCoder SRM614 解説
 
Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会
 
FHE in Action
FHE in ActionFHE in Action
FHE in Action
 
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
 
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
 
20170422 数学カフェ Part1
20170422 数学カフェ Part120170422 数学カフェ Part1
20170422 数学カフェ Part1
 
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical SearchWSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
 
Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会
 
Clustering _ishii_2014__ch10
Clustering  _ishii_2014__ch10Clustering  _ishii_2014__ch10
Clustering _ishii_2014__ch10
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズム
 
Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2
 
任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案
任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案
任意粒度機能モデルに基づく動的型付けプログラミング言語向けソースコード検索手法の提案
 

Destaque

Dynamic Program Problems
Dynamic Program ProblemsDynamic Program Problems
Dynamic Program ProblemsRanjit Sasmal
 
Dynamic programming1
Dynamic programming1Dynamic programming1
Dynamic programming1debolina13
 
Instrucciones trabajo
Instrucciones trabajoInstrucciones trabajo
Instrucciones trabajoamarilis17
 
Perkembangan asuransi syariah di indonesia 2012
Perkembangan asuransi syariah di indonesia 2012Perkembangan asuransi syariah di indonesia 2012
Perkembangan asuransi syariah di indonesia 2012Wiku Suryomurti
 
8&11 pp. key trends and developments of pr market in 2013
8&11 pp. key trends and developments of pr market in 20138&11 pp. key trends and developments of pr market in 2013
8&11 pp. key trends and developments of pr market in 2013Pavel Melnikov
 
презентация1[1]
презентация1[1]презентация1[1]
презентация1[1]gueste73644a
 
Presentation
PresentationPresentation
Presentations1170006
 
Roy Presen
Roy PresenRoy Presen
Roy Presens1140181
 
Sec16 greedy algorithm no2
Sec16 greedy algorithm no2Sec16 greedy algorithm no2
Sec16 greedy algorithm no2Keisuke OTAKI
 
What is art?
What is art?What is art?
What is art?mertxita
 
Why and how to use graphs and infographics in your presentations
Why and how to use graphs and infographics in your presentationsWhy and how to use graphs and infographics in your presentations
Why and how to use graphs and infographics in your presentationsFormation 3.0
 
51st Winter Nationals Inauguration
51st Winter Nationals Inauguration51st Winter Nationals Inauguration
51st Winter Nationals Inaugurationguestdcd72
 
Meic Swapnil Srivastava 200505589
Meic Swapnil Srivastava 200505589Meic Swapnil Srivastava 200505589
Meic Swapnil Srivastava 200505589swap_1985
 

Destaque (20)

Dynamic Program Problems
Dynamic Program ProblemsDynamic Program Problems
Dynamic Program Problems
 
Dynamicpgmming
DynamicpgmmingDynamicpgmming
Dynamicpgmming
 
Dynamic programming1
Dynamic programming1Dynamic programming1
Dynamic programming1
 
Em
EmEm
Em
 
Audi
AudiAudi
Audi
 
Instrucciones trabajo
Instrucciones trabajoInstrucciones trabajo
Instrucciones trabajo
 
Perkembangan asuransi syariah di indonesia 2012
Perkembangan asuransi syariah di indonesia 2012Perkembangan asuransi syariah di indonesia 2012
Perkembangan asuransi syariah di indonesia 2012
 
8&11 pp. key trends and developments of pr market in 2013
8&11 pp. key trends and developments of pr market in 20138&11 pp. key trends and developments of pr market in 2013
8&11 pp. key trends and developments of pr market in 2013
 
презентация1[1]
презентация1[1]презентация1[1]
презентация1[1]
 
Avatar Technology
Avatar TechnologyAvatar Technology
Avatar Technology
 
Argegna
ArgegnaArgegna
Argegna
 
Dance Project English
Dance Project EnglishDance Project English
Dance Project English
 
Presentation
PresentationPresentation
Presentation
 
Roy Presen
Roy PresenRoy Presen
Roy Presen
 
Sec16 greedy algorithm no2
Sec16 greedy algorithm no2Sec16 greedy algorithm no2
Sec16 greedy algorithm no2
 
What is art?
What is art?What is art?
What is art?
 
Why and how to use graphs and infographics in your presentations
Why and how to use graphs and infographics in your presentationsWhy and how to use graphs and infographics in your presentations
Why and how to use graphs and infographics in your presentations
 
51st Winter Nationals Inauguration
51st Winter Nationals Inauguration51st Winter Nationals Inauguration
51st Winter Nationals Inauguration
 
Strategic Planning
Strategic PlanningStrategic Planning
Strategic Planning
 
Meic Swapnil Srivastava 200505589
Meic Swapnil Srivastava 200505589Meic Swapnil Srivastava 200505589
Meic Swapnil Srivastava 200505589
 

Semelhante a Sec15 dynamic programming

Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説kuno4n
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
JOI予選はランチの後で
JOI予選はランチの後でJOI予選はランチの後で
JOI予選はランチの後でKen Ogura
 
topology of musical data
topology of musical datatopology of musical data
topology of musical dataTatsuki SHIMIZU
 
AtCoder Beginner Contest 020 解説
AtCoder Beginner Contest 020 解説AtCoder Beginner Contest 020 解説
AtCoder Beginner Contest 020 解説AtCoder Inc.
 
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説AtCoder Inc.
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料mdkcpp 1015
 
diffの真髄
diffの真髄diffの真髄
diffの真髄fuku68
 
人工無脳バトル 1st STEP 回答と解説
人工無脳バトル 1st STEP 回答と解説人工無脳バトル 1st STEP 回答と解説
人工無脳バトル 1st STEP 回答と解説JustSystems Corporation
 
Gcd
GcdGcd
Gcdoupc
 
【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について和人 桐ケ谷
 
Operations research yonezawa_no1
Operations research yonezawa_no1Operations research yonezawa_no1
Operations research yonezawa_no1ssuser0bebd2
 
Pythonではじめる競技プログラミング
Pythonではじめる競技プログラミングPythonではじめる競技プログラミング
Pythonではじめる競技プログラミングcocodrips
 
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説AtCoder Inc.
 

Semelhante a Sec15 dynamic programming (20)

Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
JOI予選はランチの後で
JOI予選はランチの後でJOI予選はランチの後で
JOI予選はランチの後で
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
AtCoder Beginner Contest 020 解説
AtCoder Beginner Contest 020 解説AtCoder Beginner Contest 020 解説
AtCoder Beginner Contest 020 解説
 
Gurobi python
Gurobi pythonGurobi python
Gurobi python
 
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料
 
C07
C07C07
C07
 
diffの真髄
diffの真髄diffの真髄
diffの真髄
 
人工無脳バトル 1st STEP 回答と解説
人工無脳バトル 1st STEP 回答と解説人工無脳バトル 1st STEP 回答と解説
人工無脳バトル 1st STEP 回答と解説
 
Gcd
GcdGcd
Gcd
 
【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について
 
Operations research yonezawa_no1
Operations research yonezawa_no1Operations research yonezawa_no1
Operations research yonezawa_no1
 
会津合宿2015Day3:D問題
会津合宿2015Day3:D問題会津合宿2015Day3:D問題
会津合宿2015Day3:D問題
 
Pythonではじめる競技プログラミング
Pythonではじめる競技プログラミングPythonではじめる競技プログラミング
Pythonではじめる競技プログラミング
 
TVM の紹介
TVM の紹介TVM の紹介
TVM の紹介
 
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
 
Kosakunakano
KosakunakanoKosakunakano
Kosakunakano
 
1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題
 

Mais de Keisuke OTAKI

KDD読み会(図なし版)
KDD読み会(図なし版)KDD読み会(図なし版)
KDD読み会(図なし版)Keisuke OTAKI
 
Reading Seminar (140515) Spectral Learning of L-PCFGs
Reading Seminar (140515) Spectral Learning of L-PCFGsReading Seminar (140515) Spectral Learning of L-PCFGs
Reading Seminar (140515) Spectral Learning of L-PCFGsKeisuke OTAKI
 
一階述語論理のメモ
一階述語論理のメモ一階述語論理のメモ
一階述語論理のメモKeisuke OTAKI
 
Grammatical inference メモ 1
Grammatical inference メモ 1Grammatical inference メモ 1
Grammatical inference メモ 1Keisuke OTAKI
 
ベイジアンネットワーク入門
ベイジアンネットワーク入門ベイジアンネットワーク入門
ベイジアンネットワーク入門Keisuke OTAKI
 
Tensor Decomposition and its Applications
Tensor Decomposition and its ApplicationsTensor Decomposition and its Applications
Tensor Decomposition and its ApplicationsKeisuke OTAKI
 
PRML§12-連続潜在変数
PRML§12-連続潜在変数PRML§12-連続潜在変数
PRML§12-連続潜在変数Keisuke OTAKI
 
Foilsを使ってみた。
Foilsを使ってみた。Foilsを使ってみた。
Foilsを使ってみた。Keisuke OTAKI
 
ウェーブレット勉強会
ウェーブレット勉強会ウェーブレット勉強会
ウェーブレット勉強会Keisuke OTAKI
 
Sec16 greedy algorithm no1
Sec16 greedy algorithm no1Sec16 greedy algorithm no1
Sec16 greedy algorithm no1Keisuke OTAKI
 

Mais de Keisuke OTAKI (14)

KDD読み会(図なし版)
KDD読み会(図なし版)KDD読み会(図なし版)
KDD読み会(図なし版)
 
Reading Seminar (140515) Spectral Learning of L-PCFGs
Reading Seminar (140515) Spectral Learning of L-PCFGsReading Seminar (140515) Spectral Learning of L-PCFGs
Reading Seminar (140515) Spectral Learning of L-PCFGs
 
一階述語論理のメモ
一階述語論理のメモ一階述語論理のメモ
一階述語論理のメモ
 
Grammatical inference メモ 1
Grammatical inference メモ 1Grammatical inference メモ 1
Grammatical inference メモ 1
 
ベイジアンネットワーク入門
ベイジアンネットワーク入門ベイジアンネットワーク入門
ベイジアンネットワーク入門
 
Tensor Decomposition and its Applications
Tensor Decomposition and its ApplicationsTensor Decomposition and its Applications
Tensor Decomposition and its Applications
 
Ada boost
Ada boostAda boost
Ada boost
 
PRML§12-連続潜在変数
PRML§12-連続潜在変数PRML§12-連続潜在変数
PRML§12-連続潜在変数
 
Prml sec6
Prml sec6Prml sec6
Prml sec6
 
Foilsを使ってみた。
Foilsを使ってみた。Foilsを使ってみた。
Foilsを使ってみた。
 
ウェーブレット勉強会
ウェーブレット勉強会ウェーブレット勉強会
ウェーブレット勉強会
 
Prml sec3
Prml sec3Prml sec3
Prml sec3
 
Sec16 greedy algorithm no1
Sec16 greedy algorithm no1Sec16 greedy algorithm no1
Sec16 greedy algorithm no1
 
Hash Table
Hash TableHash Table
Hash Table
 

Último

JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜Naomi Yamasaki
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~honeshabri
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析sugiuralab
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版Takayuki Nakayama
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」IGDA Japan SIG-Audio
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313ssuserf8ea02
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG-Audio
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。iPride Co., Ltd.
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))yoshidakids7
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りiPride Co., Ltd.
 

Último (12)

JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 

Sec15 dynamic programming