SlideShare una empresa de Scribd logo
1 de 57
Descargar para leer sin conexión
指数時間アルゴリズムの最先端



         岩田 陽一
    PFIセミナー (2012/03/29)
自己紹介

 TopCoder: ◎wata
  TCO2010Marathon優勝など   Twitter: @wata_orz

 東京大学情報理工学系研究科コンピュータ科学専攻
  理論計算機科学 (アルゴリズムの理論的な解析とか)


 プログラミングコンテストチャレンジブック
  第二版好評発売中!


  PFIでは2011年夏インターン,その後アルバイト


                                             2
本日の内容
 NP困難問題を解くためのアルゴリズムを扱います

                           𝑂𝑃𝑇 𝐼 ≤ 𝐴 𝐼 ≤ 𝑐𝑂𝑃𝑇(𝐼)

                           近似アルゴリズム


ヒューリスティック                                          𝑓 𝑘 𝑝 𝑛

                                           FPT アルゴリズム

  max⁡ 𝑐𝑥|𝐴𝑥 ≤ 𝑏, 𝑥: 整数}
     {
                                                    𝑂∗ 𝑐 𝑛
       整数計画                          厳密指数時間アルゴリズム


                                                             3
指数時間アルゴリズム
 指数時間アルゴリズムとは
   NP困難問題を指数時間かけて厳密に解く

   計算量をちゃんと解析

   近年盛んに研究され始めた

   アルゴリズムも証明もシンプルなのが多い

 入門編
   情報オリンピック春合宿講義

   http://www.slideshare.net/wata_orz/ss-12131479

 今日はキャンセリングを中心に最先端のアルゴリズ
  ムを紹介

                                                     4
キャンセリング
 欲しいものを含む集合から,いらないものをうまいこ
  と打ち消すことにより,欲しいものだけを残す手法
 近年の指数時間アルゴリズムでのブレークスルーは
  大体この手法
   彩色数を𝑂 2
            𝑛
                   3
  ハミルトン閉路を𝑂2 𝑛∗   4

                  ∗                 𝑤
  連結制約のある様々な問題を𝑂   𝑐
                                        ∗
  指定された𝑘点を通る最小単純閉路を𝑂                       2𝑘
                                𝑛
  完全マッチングの個数を𝑂
                       ∗   2   2



                                                 5
内容一覧
 包除原理
   ハミルトンパス,彩色数,シュタイナー木

   完全マッチングの個数

 偶奇で打ち消す
   完全マッチング(多項式時間)

   ハミルトン閉路,𝑘点通る最小単純閉路




                          6
包除原理
 𝐴∪ 𝐵∪ 𝐶 = 𝐴 + 𝐵 + 𝐶 − 𝐴∩ 𝐵 − 𝐵∩ 𝐶 −
 ⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡⁡ 𝐶 ∩ 𝐴 + |𝐴 ∩ 𝐵 ∩ 𝐶|


                        𝐴




                  𝐵            𝐶



                                                    7
包除原理
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇) , 𝑔 𝑆 =                −1    𝑆 −|𝑇|   𝑓(𝑇)
                                  𝑇⊆𝑆
   こっちの方が使いやすい

     𝑔 𝑆 =   𝑖∉𝑆   𝐴 𝑖 とおけば先の式に
      𝑔 𝑆 =         −1   𝑆 −|𝑇|
             𝑇⊆𝑆                 𝑋⊆𝑇 𝑔(𝑋)
                                   𝑆− 𝑇
         =    𝑋⊆𝑆    𝑋⊆𝑇⊆𝑆   −1              𝑔(𝑋)
         = 𝑔(𝑆)




                                                              8
包除原理
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇) , 𝑔 𝑆 = 𝑇⊆𝑆 −1 𝑆 −|𝑇| 𝑓(𝑇)
   𝑔を計算したいが,直接は難しい時に,その和𝑓を
    計算することが出来れば2 𝑛 回𝑓を計算することで𝑔
    が求まる
   𝑔 → 𝑓: ゼータ変換,𝑓 → 𝑔: メビウス変換
    • フーリエ・逆フーリエみたいな感じ




                                              9
ハミルトンパス
 0から5へ,全ての頂点をちょうど一度ずつ通って移動
  できるか?
             1
                     2

     0
                         3


         5
                 4


                              10
ハミルトンパス
 0から5へ,全ての頂点をちょうど一度ずつ通って移動
  できるか?
             1
                     2

     0
                         3


         5
                 4


                              11
ハミルトンパス
 ハミルトンパスを求めるのは難しい
  同じ頂点を通らないためには,すでに訪れたか覚
  えていないといけない
             1
                     2

     0
                         3


         5
                 4
                             12
ハミルトンパス
 長さ𝑛 − 1のパスを求めるのは簡単
  同じ頂点を通っても良いなら,現在の長さとどこに
  いるかしか覚える必要がない
             1
                     2

     0
                         3


         5
                 4
                             13
ハミルトンパス
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇) , 𝑔 𝑆 = 𝑇⊆𝑆 −1 𝑆 −|𝑇| 𝑓(𝑇)
 𝑔 𝑆 ≔ 𝑆のみを通り,かつ𝑆を全て通る長さ𝑛 − 1の
 パスの個数
   𝑔(𝑉) := ハミルトンパスの個数

 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇)
   𝑆のみを通る長さ𝑛 − 1のパスの個数




𝑆のみを通るパス     𝑆           𝑇     実際に通ったのは𝑇




                                              14
ハミルトンパス
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇) , 𝑔 𝑆 = 𝑇⊆𝑆 −1 𝑆 −|𝑇| 𝑓(𝑇)
 𝑔 𝑆 ≔ 𝑆のみを通り,かつ𝑆を全て通る長さ𝑛 − 1の
 パスの個数
   𝑔(𝑉) := ハミルトンパスの個数

 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇)
   𝑆のみを通る長さ𝑛 − 1のパスの個数



 𝑂 2 𝑛 ⁡𝑛𝑚 time, 𝑂(𝑛) space
                          𝑛  𝑛
   動的計画法だと, 𝑂 2 𝑚 time, 𝑂(2 𝑛) space



                                              15
除原理
 𝑆を全て通るパスの総数 =
  (𝑆 ∖ 𝑣 を全て通り,𝑣はどちらでもよいパスの総数)
  − (𝑆 ∖ 𝑣 を全て通り,𝑣は通らないパスの総数)

 再帰的に展開していくと,先の式が得られる

 引き算しかないので,コンテスト界では除原理と呼ば
  れている
  こっちのほうが多項式部分が良くなることが時々
  ある

                                 16
彩色数
 隣接する頂点が異なる色となるように彩色するため
  に必要な最小色数を求める
              1
                      2

      0
                          3


          5
                  4


                              17
彩色数
 隣接する頂点が異なる色となるように彩色するため
  に必要な最小色数を求める
              1
                      2

      0
                          3


          5
                  4


                              18
彩色数 [1]
   グラフ𝐺 = (𝑉, 𝐸)が𝑘彩色可能⇔𝑉を𝑘個の独立集合
    で被覆できる
     独立集合から𝑘個選んで𝑉を覆う方法の総数を数
      えることが出来れば良い (もちろん難しい)
   独立集合を𝑘個選ぶ方法の総数は簡単
                    𝑘
     独立集合の個数



   包除原理を用いて全ての頂点を覆っているのだけ取
    り出そう!

[1] A. Björklund and T. Husfeldt, “Inclusion--Exclusion Algorithms for Counting Set Partitions,” FOCS 2006.

                                                                                                              19
彩色数 [1]
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇) , 𝑔 𝑆 = 𝑇⊆𝑆 −1 𝑆 −|𝑇| 𝑓(𝑇)⁡
 𝑔 𝑆 ≔ 𝑆の部分集合で独立なもの𝑘個選び,Sを覆う
 方法の総数
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇)
   𝑆の部分集合で独立なもの𝑘個選ぶ方法の総数




             𝑆         𝑇        実際に覆ったのは𝑇
𝑆の部分集合から
独立なのを𝑘個


                                               20
彩色数 [1]
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇) , 𝑔 𝑆 = 𝑇⊆𝑆 −1 𝑆 −|𝑇| 𝑓(𝑇)⁡
 𝑔 𝑆 ≔ 𝑆の部分集合で独立なもの𝑘個選び,Sを覆う
 方法の総数
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇)
   𝑆の部分集合で独立なもの𝑘個選ぶ方法の総数



 𝐼 𝑆 : 𝑆の部分集合で独立なものの個数とすると,
       𝑓 𝑆 = 𝐼 𝑆 𝑘
    𝐼 𝑆 = 𝐼 𝑆∖ 𝑣  + 𝐼 𝑆 ∖ 𝑁 𝑣 という漸化式から
      𝑂(2 𝑛 𝑛)時間で全ての𝑆 ⊆ 𝑉について計算可能

                                               21
彩色数 [1]
 𝑂 2 𝑛 𝑛 time, 𝑂(2 𝑛 ) space
   動的計画法だと 𝑂 3
                           𝑛 time かかる



 実は,彩色方法の総数を求めることも可能
   𝑔 𝑆 ≔ 独立集合から𝑘個,サイズの総和が𝑛と

  なるように選んでSをちょうど覆う方法の総数
   𝑓(𝑆)の計算はDPをすればよい




                                        22
シュタイナー木
 辺の部分集合であって,与えられた𝑘点のターミナル
  を連結にする最小のものを求める




                             23
シュタイナー木
 辺の部分集合であって,与えられた𝑘点のターミナル
  を連結にする最小のものを求める




                             24
シュタイナー木 [2]
 シュタイナー木を求めるのは難しい
   全てのターミナルを通り,木でないといけない

 木という条件は外して問題ない
      同じ辺を複数回使ったり,閉路を作ることでよくな
         らない
 全てのターミナルを通るという条件は包除原理を用
  いて外すことが出来る



[2] J. Nederlof, “Fast Polynomial-Space Algorithms Using Möbius Inversion: Improving on Steiner Tree
and Related Problems,” ICALP 2009.

                                                                                                       25
シュタイナー木 [2]
 木という条件を外したもの(分岐路)の個数を数える
 𝑑𝑝 𝑣 𝑖 ≔ 𝑣を根とする大きさ𝑖の分岐路の個数
   𝑑𝑝[𝑣][𝑖] = 𝑢∈𝑁 𝑣 𝑗 𝑑𝑝 𝑣 𝑗 × 𝑑𝑝 𝑢 [𝑖 − 𝑗 − 1]




                𝑢

       𝑣




                                                   26
シュタイナー木 [2]
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇) , 𝑔 𝑆 = 𝑇⊆𝑆 −1 𝑆 −|𝑇| 𝑓(𝑇)⁡
 𝑔 𝑆 ≔ 𝑆のみを通り,かつ𝑆を全て通る大きさ𝑡の分
 岐路の個数
 𝑓 𝑆 = 𝑇⊆𝑆 𝑔(𝑇)
   𝑆のみを通る大きさ𝑡の分岐路の個数



 𝑂(2 𝑘 ⁡𝑚𝑛2 ) time 𝑂 𝑛2 space
   動的計画法だと𝑂          3 𝑘 𝑛 time 𝑂 2 𝑘 𝑛 space



                                                 27
完全マッチングの個数
                        𝑛
 完全マッチング:端点を共有しない 本の辺集合2


            1
                    2

    0
                            3


        5
                4


                                28
完全マッチングの個数
                        𝑛
 完全マッチング:端点を共有しない 本の辺集合2


            1
                    2

    0
                            3


        5
                4


                                29
完全マッチングの個数
                        𝑛
 完全マッチング:端点を共有しない 本の辺集合2


            1
                    2

    0
                            3


        5
                4


                                30
完全マッチングの個数
                        𝑛
 完全マッチング:端点を共有しない 本の辺集合2


            1
                    2

    0
                            3


        5
                4


                                31
完全マッチングの個数
                        𝑛
 完全マッチング:端点を共有しない 本の辺集合2


            1
                    2

    0
                            3


        5
                4


                                32
完全マッチングの個数 [3]
 頂点を二つ切り離し,ラベルaの付いた辺を張る

                       1

                                                2
        0

                                                           3


                   5
                                           4
 [3] A. Björklund, “Counting perfect matchings as fast as Ryser,” SODA 2012.

                                                                               33
完全マッチングの個数 [3]
 マッチングにラベルaのついた辺25を使う→元のグラ
  フで辺05,12を使う


                              2
           ※ラベル無しの辺と
 1         ラベルaの辺があるの意味


     1+a         1+a

                          a       3
 0

           5
                          4
                  1+a



                                      34
完全マッチングの個数 [3]
 もとのグラフでの完全マッチングの個数=新しいグラ
  フでラベルaをちょうど一回使う完全マッチングの個数


                         2
 1
     1+a       1+a

                     a       3
 0

           5
                     4
               1+a



                                 35
完全マッチングの個数 [3]
 もとのグラフでの完全マッチングの個数=新しいグラ
  フでラベルabをちょうど一回ずつ使う完全マッチング
  の個数

                              2
 1
                                  1+b
     1+a

 0                            3

           5
                          4
               1+a+b+ab


                                        36
完全マッチングの個数 [3]
 もとのグラフでの完全マッチングの個数=新しいグラ
  フでラベルabcをちょうど一回ずつ使う完全マッチング
  の個数 → これは包除原理で2 𝐿 で求まる (𝐿 = 𝑛 )
                              2
                                    2
  1
                                        1+b
      1+a         4通り!

  0                                 3

            5
                                4
                1+c+ac+bc+abc


                                              37
完全マッチングの個数 [3]
 ラベル集合𝐿をちょうど一回ずつ使う方法の総数
=各ラベルを一回以上使い,合計|𝐿|回使う方法の総数
=(ラベル𝑎 ∈ 𝐿を0回以上使い,合計 𝐿 回使う方法)
− (ラベル𝑎 ∈ 𝐿を使わず,合計|L|回使う方法)
     (除原理)

               𝑛
計算量は全体で𝑂 2 𝑛2 time, 𝑂 𝑛4 space
              2




                                 38
行列式を用いた完全マッチング
 det 𝐴 =         𝜎∈𝑆 𝑛 sgn   𝜎    𝑖   𝐴 𝑖,𝜎(𝑖)
                                  3
   ガウスの消去法で𝑂                     𝑛 で計算できる

 グラフ𝐺 = 𝑉, 𝐸 に対し,以下のような行列を考える
                  𝑥 𝑢,𝑣 ⁡ 𝑢, 𝑣 ∈ 𝐸
     𝐴 𝑢,𝑣   = ⁡
                 0⁡⁡⁡⁡⁡⁡( 𝑢, 𝑣 ∉ 𝐸)
    𝑥 𝑢,𝑣 = −𝑥 𝑣,𝑢
 det⁡ 𝐴)は𝑥の多項式で,
     (
      det 𝐴 ≠ 0 ⇔ 𝐺に完全マッチングが存在

                                                  39
行列式を用いた完全マッチング
 det 𝐴 =     𝜎∈𝑆 𝑛 sgn    𝜎       𝑖   𝐴 𝑖,𝜎(𝑖)
   これは閉路カバー上での和と考えることができる

 det 𝐴 =     𝐶∈𝑐𝑐(𝐺) sgn(𝐶)            𝑒∈𝐶   𝑥𝑒

      𝜎 1 = 2, 𝜎 2 = 4, 𝜎 3 = 5, 𝜎 4 = 6, 𝜎 5 = 3, 𝜎 6 = 1


                  1            2                  5



                  6            4                  3

                                                             40
行列式を用いた完全マッチング
 閉路カバーに奇数長の閉路があると,向きを反転さ
  せると符号も反転して打ち消しあう


   𝜎 1 = 2, 𝜎 2 = 3, 𝜎 3 = 1   𝜎 1 = 3, 𝜎 2 = 1, 𝜎 3 = 2


        1            2             1             2



              3                           3



                                                           41
行列式を用いた完全マッチング
 長さ2の閉路は向きを反転しても同じなので,完全
  マッチングに対応する閉路カバーは打ち消されない



   𝜎 1 = 2, 𝜎 2 = 1   𝜎 1 = 2, 𝜎 2 = 1



   1            2     1            2




                                         42
行列式を用いた完全マッチング
 変数のままだと行列式が効率良く計算できないが,
  ランダムに𝑥に値を入れて計算すれば良い
   体𝐹次数𝑑の非零多変数多項式に,ランダムに値
                        𝑑
    を入れた時,たまたま0になる確率は高々 𝐹
  (Schwartz-Zippel Lemma)
   • 一変数だと,次数dの多項式の根は高々d個


 行列のランクを求めれば最大マッチングが求まる



                             43
行列式を用いたハミルトン閉路 [4]
 無向グラフ𝐺 =                   𝑉, 𝐸 に対し,以下のような行列を考
  える
                   𝑥 𝑢,𝑣 ⁡ 𝑢, 𝑣 ∈ 𝐸
      𝐴 𝑢,𝑣   = ⁡
                  0⁡⁡⁡⁡⁡⁡( 𝑢, 𝑣 ∉ 𝐸)
      𝑢, 𝑣 ≠ 1に対して,𝑥 𝑢,𝑣 = 𝑥 𝑣,𝑢
                                    𝑘
    行列の要素はGF(2                         ) とする
       • 二倍すると0になる体
 頂点1の周りだけ非対称にしたことで,頂点1を含む
  閉路は打ち消されなくなる

[4] A. Björklund, “Determinant Sums for Undirected Hamiltonicity,” FOCS 2010.
                                                                                44
行列式を用いたハミルトン閉路 [4]
 閉路カバーに頂点1を通らない長さ3以上の閉路があ
  ると,向きを反転させることで打ち消しあう


   𝜎 2 = 3, 𝜎 3 = 4, 𝜎 4 = 2   𝜎 2 = 4, 𝜎 3 = 2, 𝜎 4 = 3


        2            3             2             3



              4                           4



                                                           45
行列式を用いたハミルトン閉路 [4]
 つまり,頂点1を含む閉路+マッチングからなる閉路カ
  バーだけが残る
   マッチング部分がなければハミルトン閉路



        1




                              46
行列式を用いたハミルトン閉路 [4]
 長さ2の閉路が悪さをしている
   向きを反転できない

 辺に𝑛種類のラベルを張り,包除原理を用いて全て
  のラベルを用いる閉路カバーについて和を取れば,
  長さ2の閉路も向きを反転することで打ち消しあうよう
  になる

   𝜎 1 = 2, 𝜎 2 = 1   𝜎 1 = 2, 𝜎 2 = 1

          𝑎                  𝑎
   1            2     1            2
          𝑏                  𝑏


                                         47
行列式を用いたハミルトン閉路 [4]
 ラベルは𝑛種類 → 包除原理に𝑂 2 𝑛 → 計算量が良
  くなっていない (´・ω・`)

 実は頂点の一部をラベルとして用いることができる!
 簡単なニ部グラフの場合だけ紹介




                                 48
行列式を用いたハミルトン閉路 [4]
 片側の頂点をラベルにしてしまう



 a   b   c   d   e               1
                                       a,b
                             c
                     5                       2
                                 a,b
                     d                       a,b


1    2   3   4   5       4             3
                                 e




                                                   49
行列式を用いたハミルトン閉路 [4]
 変換後のグラフでラベルを全部使うハミルトン閉路を
  求めれば良い
 これはラベルを全部使う閉路カバーについて和を取
                         𝑛
             𝑛
 ればよく,ラベルの数は なので 𝑂∗ 2   2
             2


 一般の場合はランダムに半分をラベルにし,追加で 3
     𝑛                 ∗ 4𝑛
  もう 4 個くらいラベルがあれば足りて 𝑂 2




                              50
𝑘点通る最小単純閉路
 無向グラフで,指定された𝑘点を通る最小の単純な閉
  路を求める

             1
                     2

     0
                         3


         5
                 4


                             51
𝑘点通る最小単純閉路
 無向グラフで,指定された𝑘点を通る最小の単純な閉
  路を求める

             1
                     2

     0
                         3


         5
                 4


                             52
𝑘点通る最小単純閉路 [5]
  先の行列式を用いたハミルトン閉路と似たことをする
  必ず通らなければいけない点から一つ選び𝑠とする
  各辺𝑢𝑣に𝑠以外で対称な変数𝑥 𝑢,𝑣 ∈ 𝐺𝐹 2 𝑘 を割り当
   て,ある長さ𝑖の閉路集合𝑪 𝒊 上での和 𝐶∈𝑪 𝒊 𝑒∈𝐶 𝑥 𝑒
   の値を評価する
  この値が非零であることと,指定された点を通る長さ𝑖
   の単純閉路が存在することが同値で,かつ𝑪 𝒊 上での
   和が高速に計算できるような集合𝑪 𝒊 を設計したい



[5] A. Björklund, T. Husfeldt, and N. Taslaman, “Shortest cycle through specified elements,” SODA 2012.
                                                                                                          53
𝑘点通る最小単純閉路 [5]
 𝑪 𝒊 ≔ 長さ𝑖の単純とは限らない閉路で指定された点
 を全て通るもの,とする
 単純でない閉路は,向きを反転させることで打ち消し
  あう



単純でない閉路




                                54
𝑘点通る最小単純閉路 [5]
 再び長さ2の閉路が悪さをする
   反転できない!

 𝑪 𝒊 ≔ 長さ𝑖の単純とは限らない閉路で指定された点
  を全て通り,Uターンしないものすればよい




                                55
𝑘点通る最小単純閉路 [5]
   𝐶∈𝑪 𝒊   𝑒∈𝐶   𝑥𝑒
 𝑪 𝒊 ≔ 長さ𝑖の単純とは限らない閉路で指定された点
  を全て通り,Uターンしないもの
 これはDPで𝑂(2 𝑘 𝑚𝑖)で計算できる
   dp[長さ][通った点集合][直前の点][現在地]
                           𝑘
   𝑖を0から𝑛まで順に増やすと全体で𝑂(2 𝑛𝑚)




                                56
その他のキャンセリングによるアルゴリズム
  畳み込み (FFTみたいなの) [6]
  群環を用いてキャンセリング [7]
  非連結性を用いた偶奇でキャンセリング [8]

       他にも色々



[6] A. Björklund, T. Husfeldt, P. Kaski, and M. Koivisto, “Fourier meets möbius: fast subset
convolution,” STOC 2007.
[7] I. Koutis and R. Williams, “Limits and Applications of Group Algebras for Parameterized
Problems,” ICALP 2009.
[8] M. Cygan et al. “Solving Connectivity Problems Parameterized by Treewidth in Single Exponential
Time,” FOCS 2011.

                                                                                                      57

Más contenido relacionado

La actualidad más candente

最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解くshindannin
 
LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~Yuma Inoue
 
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説AtCoder Inc.
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~Takuya Akiba
 
KMC 競技プログラミング練習会 Advanced 第3回 ふろー
KMC 競技プログラミング練習会 Advanced 第3回 ふろーKMC 競技プログラミング練習会 Advanced 第3回 ふろー
KMC 競技プログラミング練習会 Advanced 第3回 ふろーkyoto university
 
AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説AtCoder Inc.
 
AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説AtCoder Inc.
 
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドMasaki Hara
 
直前合宿 講義スライド
直前合宿 講義スライド直前合宿 講義スライド
直前合宿 講義スライドtozan gezan
 
AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説AtCoder Inc.
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化yosupo
 
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)AtCoder Inc.
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界Preferred Networks
 
2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方Tsuneo Yoshioka
 

La actualidad más candente (20)

最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
 
LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~LCA and RMQ ~簡潔もあるよ!~
LCA and RMQ ~簡潔もあるよ!~
 
Trianguler
TriangulerTrianguler
Trianguler
 
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
 
KMC 競技プログラミング練習会 Advanced 第3回 ふろー
KMC 競技プログラミング練習会 Advanced 第3回 ふろーKMC 競技プログラミング練習会 Advanced 第3回 ふろー
KMC 競技プログラミング練習会 Advanced 第3回 ふろー
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 
目指せグラフマスター
目指せグラフマスター目指せグラフマスター
目指せグラフマスター
 
AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説
 
AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説
 
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライド
 
直前合宿 講義スライド
直前合宿 講義スライド直前合宿 講義スライド
直前合宿 講義スライド
 
AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化
 
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
 
Nazoki
NazokiNazoki
Nazoki
 
全域木いろいろ
全域木いろいろ全域木いろいろ
全域木いろいろ
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
 
Binary indexed tree
Binary indexed treeBinary indexed tree
Binary indexed tree
 
2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方
 

Similar a 指数時間アルゴリズムの最先端

Faster matroid intersection
Faster matroid intersectionFaster matroid intersection
Faster matroid intersectionga sin
 
劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節Hakky St
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)Kensuke Otsuki
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃trmr
 
表現論 ゼミ資料
表現論 ゼミ資料表現論 ゼミ資料
表現論 ゼミ資料HanpenRobot
 
AtCoder Regular Contest 017
AtCoder Regular Contest 017AtCoder Regular Contest 017
AtCoder Regular Contest 017AtCoder Inc.
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながりMITSUNARI Shigeo
 
幾何を使った統計のはなし
幾何を使った統計のはなし幾何を使った統計のはなし
幾何を使った統計のはなしToru Imai
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツShuyo Nakatani
 
Introduction to Topological Data Analysis
Introduction to Topological Data AnalysisIntroduction to Topological Data Analysis
Introduction to Topological Data AnalysisTatsuki SHIMIZU
 
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~Tatsuki SHIMIZU
 
続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章Roy Ray
 
代数方程式とガロア理論
代数方程式とガロア理論代数方程式とガロア理論
代数方程式とガロア理論Junpei Tsuji
 
非正則素数チェッカー #日曜数学会
非正則素数チェッカー #日曜数学会非正則素数チェッカー #日曜数学会
非正則素数チェッカー #日曜数学会Junpei Tsuji
 
One
OneOne
Oneoupc
 
強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現Kazu Ghalamkari
 

Similar a 指数時間アルゴリズムの最先端 (20)

Faster matroid intersection
Faster matroid intersectionFaster matroid intersection
Faster matroid intersection
 
劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
 
Buchburger
BuchburgerBuchburger
Buchburger
 
無限
無限無限
無限
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
 
表現論 ゼミ資料
表現論 ゼミ資料表現論 ゼミ資料
表現論 ゼミ資料
 
AtCoder Regular Contest 017
AtCoder Regular Contest 017AtCoder Regular Contest 017
AtCoder Regular Contest 017
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
 
幾何を使った統計のはなし
幾何を使った統計のはなし幾何を使った統計のはなし
幾何を使った統計のはなし
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
 
Introduction to Topological Data Analysis
Introduction to Topological Data AnalysisIntroduction to Topological Data Analysis
Introduction to Topological Data Analysis
 
しかくのお勉強
しかくのお勉強しかくのお勉強
しかくのお勉強
 
Practical topology
Practical topologyPractical topology
Practical topology
 
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
 
続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章
 
代数方程式とガロア理論
代数方程式とガロア理論代数方程式とガロア理論
代数方程式とガロア理論
 
非正則素数チェッカー #日曜数学会
非正則素数チェッカー #日曜数学会非正則素数チェッカー #日曜数学会
非正則素数チェッカー #日曜数学会
 
One
OneOne
One
 
強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現
 

Último

Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...oganekyokoi
 
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイントshu1108hina1020
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfoganekyokoi
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfoganekyokoi
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrRodolfFernandez1
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1Toru Oga
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdfoganekyokoi
 
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...yutakashikano1984
 

Último (8)

Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...
 
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdf
 
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
 

指数時間アルゴリズムの最先端