counting perfect matchings in planar graphs
play

Counting perfect matchings in planar graphs With the FKT algorithm - PowerPoint PPT Presentation

Counting perfect matchings in planar graphs With the FKT algorithm FKT Algorithm by PlusOne 1 Def Perfect Matching Z Given a graph G = (V,E), a matching M in G is a set of pairwise non-adjacent edges. M is said to be perfect if every vertex


  1. Counting perfect matchings in planar graphs With the FKT algorithm FKT Algorithm by PlusOne 1

  2. Def Perfect Matching Z Given a graph G = (V,E), a matching M in G is a set of pairwise non-adjacent edges. M is said to be perfect if every vertex of G is included in M. FKT Algorithm by PlusOne 2

  3. Def Cycle Cover 1 2 8 3 7 4 6 5 FKT Algorithm by PlusOne 3

  4. Def Cycle Cover 1 2 8 3 7 4 6 5 A set of disjoint cycles in G that contain all vertices of G. FKT Algorithm by PlusOne 4

  5. Even Directed Cycle Cover (EDCC) Def A cycle cover that satisfies… • All cycles have even number of vertices. • Every cycle has a direction (clockwise or counter-clockwise). 1 2 1 2 8 3 3 7 7 4 4 6 6 5 5 Non-even Directed Cycle Cover Even Directed Cycle Cover FKT Algorithm by PlusOne 5

  6. Every ordered pair of perfect matchings Obs can be uniquely mapped to an EDCC. 1 2 1 2 8 8 3 3 7 7 4 4 1 2 8 6 6 5 5 3 M2 M1 7 4 6 5 <M1, M2> FKT Algorithm by PlusOne 6

  7. Every ordered pair of perfect matchings Obs can be uniquely mapped to an EDCC. 1 2 8 3 7 4 6 5 <M1, M2> It’s easy to see that every EDCC can also be decomposed into an ordered pair of perfect matchings. FKT Algorithm by PlusOne 7

  8. Counting Perfect Matchings |𝑄𝑁| 2 = |𝐹𝐸𝐷𝐷| The number of The number of even directed cycle perfect matchings covers So counting perfect matchings can be converted into counting EDCCs. FKT Algorithm by PlusOne 8

  9. Permutations Tip 𝒋 1 2 3 4 5 6 7 8 𝜌(𝑗) 6 3 4 5 2 7 8 1 The parity of a permutation = the parity of # swaps from the original sequence sgn(𝜌) : sign of a permutation +1 (𝑓𝑤𝑓𝑜 𝑞𝑓𝑠𝑛𝑣𝑢𝑏𝑢𝑗𝑝𝑜) −1 (𝑝𝑒𝑒 𝑞𝑓𝑠𝑛𝑣𝑢𝑏𝑢𝑗𝑝𝑜) Recall Discrete Mathematics II and Linear Algebra. FKT Algorithm by PlusOne 9

  10. Def Determinant of Oriented Graph Is the determinant of the adjacency matrix! +1 (if edge i → j) A: adjacency matrix 𝐵 𝑗𝑘 = −1 (if edge j → i) 0 (if no edge between i, j) sgn(𝜌) : sign of a permutation +1 ( 偶排列 ) −1 ( 奇排列 ) val 𝜌 ∶ 𝐵 𝑗,𝜌(𝑗) By definition, 𝐸𝑓𝑢 𝐵 = 𝑇𝑕𝑜 𝜌 ∙ 𝑊𝑏𝑚(𝜌) 𝜌 FKT Algorithm by PlusOne 10

  11. Every Directed Cycle Cover (DCC) Obs corresponds to a permutation. 𝑗, 𝜌 𝑗 ↔ 𝑓𝑒𝑕𝑓 < 𝑗, 𝜌 𝑗 > 1 2 8 3 𝒋 1 2 3 4 5 6 7 8 𝜌(𝑗) 6 3 4 5 2 7 8 1 7 4 6 5 FKT Algorithm by PlusOne 11

  12. For a permutation 𝜌 , if ∀ 𝑗, 𝜌 𝑗 ∈ 𝐹 , we Obs can map 𝜌 to a DCC. 𝑗, 𝜌 𝑗 ↔ 𝑓𝑒𝑕𝑓 < 𝑗, 𝜌 𝑗 > 1 2 8 3 1 2 𝒋 1 2 3 4 5 6 7 8 8 𝜌(𝑗) 6 3 4 5 2 7 8 1 3 7 4 6 7 𝒋 1 2 3 4 5 6 7 8 5 4 𝜌(𝑗) 7 3 4 5 2 1 8 6 6 5 FKT Algorithm by PlusOne 12

  13. For a permutation 𝜌 , if ∀ 𝑗, 𝜌 𝑗 ∈ 𝐹 , we Obs can map 𝜌 to a DCC. 𝑗, 𝜌 𝑗 ↔ 𝑓𝑒𝑕𝑓 < 𝑗, 𝜌 𝑗 > The inverse proposition : for a permutation 𝜌 , if it cannot be mapped to a DCC, then ∃ 𝑗, 𝜌 𝑗 ∉ 𝐹. ⇒ 𝐵 𝑗,𝜌 𝑗 = 0 ⇒ val 𝜌 = 0 Det A = 𝑇𝑕𝑜 𝜌 𝑊𝑏𝑚(𝜌) = 𝑇𝑕𝑜 𝜌 𝑊𝑏𝑚(𝜌) 𝜌 𝐸𝐷𝐷 FKT Algorithm by PlusOne 13

  14. Non-even DCCs will be cancelled out. Obs You can always find another DCC with an opposite direction for the odd cycle. 𝑡𝑕𝑜 𝜌 = 𝑡𝑕𝑜(𝜌′) Remember that 𝐵 𝑗𝑘 = −𝐵 𝑘𝑗 So 𝑊𝑏𝑚 𝜌 = −1 𝑙 ∙ 𝑊𝑏𝑚 𝜌 ′ 𝜌 (k is the number of edges in the cycle) Therefore: 𝑡𝑕𝑜 𝜌 𝑤𝑏𝑚 𝜌 + 𝑡𝑕𝑜 𝜌 𝑤𝑏𝑚 𝜌 ′ = 0 𝜌′ FKT Algorithm by PlusOne 14

  15. Only EDCCs contribute to Det(A) Det A = 𝑇𝑕𝑜 𝜌 𝑊𝑏𝑚(𝜌) 𝜌 Permutations that are not DCC, val( 𝜌 )=0 = 𝑇𝑕𝑜 𝜌 𝑊𝑏𝑚(𝜌) 𝐸𝐷𝐷 = 𝑇𝑕𝑜 𝜌 𝑊𝑏𝑚(𝜌) + 𝑇𝑕𝑜 𝜌 𝑊𝑏𝑚(𝜌) 𝐹𝐸𝐷𝐷 𝑂𝑝𝑢 𝑓𝑤𝑓𝑜 𝐸𝐷𝐷 This is equal when all ≤ |𝐹𝐸𝐷𝐷| = 𝑇𝑕𝑜 𝜌 𝑊𝑏𝑚(𝜌) 𝑡𝑕𝑜 ( 𝜌 ) 𝑤𝑏𝑚 ( 𝜌 )=1 𝐹𝐸𝐷𝐷 This depends on the orientation! Our goal: Find an orientation that makes all 𝑡𝑕𝑜 𝜌 𝑤𝑏𝑚 𝜌 = 1 (then 𝑄𝑁 2 = 𝐹𝐸𝐷𝐷 = 𝐸𝑓𝑢(𝐵) ) FKT Algorithm by PlusOne 15

  16. FKT Algorithm: Finding an Orientation Alg  Planar Graph: a graph that can be drawn in the 2D plane so that its edges intersect only at its vertices. Not Planar Planar FKT Algorithm by PlusOne 16

  17. FKT Algorithm: Finding an Orientation Alg  Planar Graph: a graph that can be drawn in the 2D plane so that its edges intersect only at its vertices.  Face: a planar graph can be seen as a mesh of faces. Face! FKT Algorithm by PlusOne

  18. FKT Algorithm: Finding an Orientation Alg 1. Find a spanning tree for G. Call this tree T1. FKT Algorithm by PlusOne 18

  19. FKT Algorithm: Finding an Orientation Alg 1. Find a spanning tree for G. Call this tree T1. 2. Orient the edges arbitrarily. 3. Construct a second tree T2, whose vertices are the faces of T1. Put an edge between faces that share an edge that is not in T1. 4. Starting with the leaves of T2, orient these edges of G such that each face has an odd number of edges oriented clockwise. FKT Algorithm by PlusOne 19

  20. If all faces have an odd number of clockwise edges then all cycles in an EDCC are oddly oriented. Lemma Euler’s Formula For any cycle C, e = v + f − 1, where e is the number of edges inside C, v is the number of vertices inside C, and f is the number of faces inside C. 𝑙 𝑗 : the number of clockwise lines on the boundary of face. 𝑔 = 5 𝑙 : the number of clockwise lines on Cycle (C). 𝑤 = 4 Cycle 𝐷 , 𝑓 = 8 . FKT Algorithm by PlusOne 20

  21. For any cycle C, e = v + f − 1, where e is the number of edges inside C, v is the number of vertices inside C, and f is the number of faces inside C. Euler’s Formula Proof Let 𝐷 be a nice cycle, let 𝑑 𝑗 be the number of clockwise lines on • the boundary of face i in 𝐷 , and 𝑑 be the number of clockwise lines on 𝐷 . We oriented each face to have an odd number of clockwise lines, • 𝑔 so 𝑑 𝑗 ≡ 1 𝑛𝑝𝑒 2 , so 𝑔 ≡ 𝑗=1 𝑑 𝑗 𝑛𝑝𝑒 2 . But also 𝑗=1 𝑔 𝑑 𝑗 = 𝑑 + 𝑓 (each interior line is counted as clockwise • once). So 𝑔 ≡ 𝑑 + (𝑤 + 𝑔 − 1) 𝑛𝑝𝑒 2 , so 𝑑 ≡ (𝑤 − 1) 𝑛𝑝𝑒2 . • But 𝑤 ≡ 0 𝑛𝑝𝑒 2 ,as C is a nice cycle. • So 𝐷 , and hence every nice cycle, is oddly oriented. • FKT Algorithm by PlusOne 21

  22. If all cycles in an EDCC are oddly oriented then 𝑡𝑕𝑜 𝜌 𝑤𝑏𝑚 𝜌 = 1 for all corresponding 𝜌 . Lemma 1 2 𝑡𝑕𝑜 𝜌 𝑤𝑏𝑚 𝜌 8 C3 3 = 𝑡𝑕𝑜 𝐷 𝑗 ∙ 𝑤𝑏𝑚 𝐷 𝑗 C1 C2 = 𝑡𝑕𝑜 𝐷 𝑗 𝑤𝑏𝑚(𝐷 𝑗 ) 7 4 = ((−1) × (−1)) 𝑙 6 5 Oddly = 1 oriented Even cycle sgn(𝜌) : sign of a permutation +1 ( 偶排列 ) −1 ( 奇排列 ) val 𝜌 ∶ 𝐵 𝑗,𝜌(𝑗) FKT Algorithm by PlusOne 22

  23. The FKT algorithms finds a feasible orientation! FKT algorithm If all faces have an odd number of clockwise edges Lemma then all cycles in an EDCC are oddly oriented. If all cycles in an EDCC are oddly oriented then 𝑡𝑕𝑜 𝜌 𝑤𝑏𝑚 𝜌 = 1 for all corresponding 𝜌 . Lemma Det (A) = |EDCC| FKT Algorithm by PlusOne 23

  24. How to count perfect matchings? Run FKT to find Compute Graph G PM = det(𝐵) det 𝐵 orientation G FKT Algorithm by PlusOne 24

Recommend


More recommend