Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
The number of fixed length cycles in an undirected graph. Explicit formulae in case of small lengths S. N. Perepechko A. N. Voropaev Faculty of Mathematics Petrozavodsk State University Areas of application • Real-world networks (structural properties) • • • • • sociometry (influence patterns, spread of rumor) World-Wide Web (thematic structure, communities) urban street patterns Lattice models of statistical mechanics (statistics of polymer chains) Error correcting codes (grade estimation of low-density parity-check codes) List of slides 2 Graphs. Basic notations G = (V ; E), n m A aij (k) aij di — — — — — — E ⊂ {{u; v} ⊂ V | u 6= v} number of vertices number of edges adjacency matrix elements of matrix A elements of matrix Ak degree of vertex vi (2) di = aii List of slides 3 Graphs. Paths and cycles P2 = 2 A (2) = aij n 1 X (3) 1 3 a c3 = tr(A ) = 6 6 i=1 ii Pk — matrix of k-paths ck — number of k-cycles tr — trace of a matrix ck = List of slides 1 tr(Pk−1 · A) 2k 4 Matrix algebra in sociometry. Historical background 1949, L. Festinger, Human Relations, The analysis of sociograms using matrix algebra 1949, R. D. Luce and A. D. Perry, Psychometrika, A method of matrix analysis of group structure 1950, L. Katz, Mimeograph Series, An application of matrix algebra to the study of human relations within organizations 1952, I. C. Ross and F. Harary, Psychometrika, On the determination of redundancies in sociometric chains List of slides 5 Matrices of 3-paths and 4-paths and operation code of Ross and Harary Pk = Ak − Rk P3 = A3 − d(A2 ) · A − A · d(A2 ) + A × AT P4 = A4 − d(A3 ) · A − A · d(A3 ) − d(A2 ) · A2 − − A2 · d(A2 ) − A · d(A2 ) · A + 2 A × AT × A2 + + A × (AT )2 + (A × AT ) · A + A · (A × AT ) «T » «·» «×» d(A) List of slides — matrix transposition — ordinary matrix multiplication — elementwise matrix multiplication = diag(a11 ; a22 ; . . . ; ann ) 6 Matrix of 5-paths P5 = A5 − d(A4 ) · A − A · d(A4 ) − d(A3 ) · A2 − A2 · d(A3 ) − − d(A2 ) · (A3 ) − A3 · d(A2 ) − A · d(A3 ) · A + 2 A × A3 × AT + + A2 × A2 × AT + 2 d(A2 )2 · A + 2 A · d(A2 )2 − A2 × AT − − A · d(A2 ) · A2 − A2 · d(A2 ) · A + 2 A × A2 × (AT )2 + + d(A2 ) · A · d(A2 ) + 2 (A × A2 × AT ) · A + A · (A × AT ) · A + + 2 A · (A × A2 × AT ) + d(A · d(A2 ) · A) · A + 4 A × AT + + A · d(A · d(A2 ) · A) − 3 A × (A × AT )2 + A × (AT )3 + + (A × (AT )2 ) · A + A · (A × (AT )2 ) + (A × AT ) · A2 + + A2 · (A × AT ) − 4 d(A2 ) · (A × AT ) − 4 (A × AT ) · d(A2 ) − − 2 d(A2 ) · A − 2 A · d(A2 ) List of slides 7 Formulae inflation Number of terms P3 P4 P 5 P 6 P7 P8 P9 P10 4 10 33 102 349 1226 4556 17476 P10 = A10 − . . . ! . . . − 108 d(A2 ) × d A · A × (A × (AT )2 ) · (A × AT ) ·A + ... . . . − 28 n X n X n X n X p=1 q=1 r=1 s=1 List of slides n aip apq apr aps aqp aqr arp ars asq asj + ... i,j=1 8 Numbers of 4-cycles and 5-cycles 1971, F. Harary and B. Manvel, Matematický časopis, On the number of cycles in a graph 4 8 c4 = tr(A ) − 2 m − 2 X (2) aij i6=j 10 c5 = tr(A5 ) − 5 tr(A3 ) − 5 n n X X i=1 ! (3) aij − 2 aii j=1 n — number of vertices m — number of edges List of slides 9 Different versions of c4 formula 8 c4 = tr(A4 ) − 2 m − 2 = n X (4) aii i=1 + n X X i6=j (2) aii −2 i=1 4 (2) aij = n X n X (2) aij = i=1 j=1 2 2 2 = tr(A ) + tr(A ) − 2 tr d(A ) = n X 4 di (di − 1) = = tr(A ) − 2 m − 2 i=1 n X = tr(A4 ) + tr(A2 ) − 2 d2i i=1 di — degree of vertex vi List of slides 10 Shapes of closed 7-walks 1997, N. Alon, R. Yuster, and U. Zwick, Algorithmica, Finding and counting given length cycles the shape missed by Harary and Manvel List of slides 11 Number of 7-cycles 14 c7 = tr(A7 ) − 7 tr(d(A4 ) × d(A3 )) + + 7 tr(A · (A2 × A2 × A2 )) − − 7 tr(d(A5 ) × d(A2 )) + + 21 tr(A · (A3 × A2 )) + + 7 tr(A5 ) − 28 tr(A · (A2 × A2 )) + + 14 tr(d(A3 ) × d(A2 )2 ) + + 7 tr(d(A2 ) × d(A · d(A3 ) · A)) + + 7 tr(d(A2 ) × d(A2 · d(A2 ) · A)) − − 77 tr(d(A3 ) × d(A2 )) + 56 tr(A3 ) List of slides 12 Number of 6-cycles in bipartite graph 12 c6 = n X (6) aii −3 i=1 −6 +3 n X (3) aii 2 +9 i=1 n X (4) aii di i=1 n X n X i=1 j=1 +6 n X (4) aii i=1 (3) aij − 12 n X i=1 − n X n X i=1 j=1 n X (3) 4 aii i=1 n X d2i + 4 (2) aij 2 +4 aij − n X d3i + i=1 di i=1 ≡ 0 for bipartite graphs List of slides 13 Numbers of terms in the formulae k 34 5 6 7 8 9 10 11 12 13 14 Pk−1 1 4 10 33 102 349 1226 4556 17476 ck 1 3 3 10 12 35 58 160 341 958 c0k 3 7 20 59 230 1002 Pk — matrix of paths ck — number of cycles c0k — number of cycles in bipartite graph List of slides 14 Time complexity of evaluation k 4 6 8 Pk−1 O(r(n)) O(r(n)) O(n4 log n) ck O(r(n)) O(r(n)) O(n4 log n) c0k O(r(n)) O(r(n)) O(r(n)) 10 12 14 k Pk−1 O(n6 log n) O(n7 log n) O(n8 log n) ck O(n5 log n) O(n6 log n) O(n7 log n) c0k O(n4 log2 n) O(n6 log2 n) O(n6 log2 n) r(n) — complexity of n×n-matrices multiplication List of slides 15 An alternative approach to count cycles of given length 1972, N. P. Khomenko and L. D. Golovko, Ukrainskii Matematicheskii Zhurnal, Identifying certain types of parts of a graph and computing their number 1 ck = 2k n−k−1 X X i tr(AkS )+ (−1) i=0 |S|=i n−2 X + (−1)i i=n−k+1 X |S|=i 1 + (−1)i−n+k ξi−n+k tr(AkS ) , ∀ k < n, where AS is the submatrix of A obtained by striking out its rows and columns with the ordinal numbers from the set S ⊂ 1 . . n List of slides 16 Recurrence for ξl ξ1 = n − k + 1, ξ1 + l − 1 l−1 l−1 ξl = − ξ1 + ξ2 + l−1 l ξ1 + 1 + (l − 1)(l − 2) ξ3 + . . . (ξ1 + 1)(ξ1 + 2) (l − 1)(l − 2) . . . 2 ... + ξl−1 (ξ1 + 1)(ξ1 + 2) . . . (ξ1 + l − 2) List of slides 17 Improved Khomenko and Golovko formula X k X 1 n − i c00k = (−1)k−i tr(AkS ), n−k 2 k i=2 |S|=n−i ∀k ∈ 3 . . n c00k can be found in O(nk log n) time List of slides 18 8-cycles counting in GAP system c08 c8 P7 c008 Time (s) 103 102 101 100 10−1 10 20 30 40 50 60 70 80 90 100 Number of vertices List of slides 19 10-cycles counting in GAP system c010 c10 P9 c0010 104 Time (s) 103 102 101 100 10−1 5 List of slides 10 15 20 25 30 35 40 Number of vertices 45 50 20 Counting cycles in GAP system within one hour interval (maximum graph order) k 4 6 8 10 c0k 4390 2373 1385 145 ck 4390 2200 144 44 Pk−1 4312 1967 90 16 c00k 240 62 37 28 O(r(n)), where r(n) is complexity of n×n-matrices multiplication List of slides 21 Graphs of chess pieces on n × n chessboard. Examples of symbolic evaluation Queen 60 c4 = n(n − 1)(21 n3 + 526 n2 − 1709 n + 996) − − 60(3 n2 − 12 n + 4)[n/2] King c5 = 4(n − 2)(9 n − 14), n>2 Bishop 840 c6 = n(n − 1)(40 n5 − 289 n4 + 887 n3 − 2193 n2 + 3792 n − − 1934) − 210(n2 − 12 n + 26)[n/2] Rook 7 c7 = n2 (n − 1)(n − 2)(n4 + 24 n3 − 133 n2 + 134 n + 94) List of slides 22 Current research • New formulae for particular graph classes • Efficient low-level implementation • Accuracy of FPTAS List of slides 23 THANK YOU FOR YOUR ATTENTION! Выражение количества циклов длиной 6 в графе порядком 24 через коэффициенты имманантных полиномов 2007, G. G. Cash, Applied Mathematics and Computation, The number of n-cycles in a graph 12 c6 = 1358 p{124 } + 2 p{24} − 15 p{22 120 } + p{23 118 } 18 x p{ax by ...} — имманантный полином, ассоциированный с разбиением n = ax + by + . . . i p[x ] — коэффициент полинома p при xi List of slides 25 Определение маршрута в графе G = (V ; E) Маршрут — (v0 ; v1 ; . . . ; vk ), где vi ∈ V маршрут 4s s s3 s 1 2 (1; 2; 3; 1; 4) List of slides и {vi ; vi+1 } ∈ E простая цепь простой цикл 4s 4s s3 s3 1 s (2; 3; 1; 4) s 2 1 s s 2 (1; 2; 3; 1) 26 Определение матрицы смежности графа G = (V ; E) Матрица смежности — n×n-матрица A = (aij ), где ( 1, если {vi ; vj } ∈ E, aij = 0, если {vi ; vj } ∈ /E 4s 1 List of slides s s3 s 2 0 1 A= 1 1 1 0 1 0 1 1 0 1 1 0 1 0 27 Смысл степени матрицы смежности графа (k) A = aij , (k) aij k = n X n X ... l1 =1 l2 =1 (2) aij = n X n X ail1 al1 l2 . . . alk−1 j lk−1 =1 ail alj = ai1 a1j + ai2 a2j + ai3 a3j + ai4 a4j l=1 4s 1 s s3 s 2 4s 1 s s3 s 2 3 1 A2 = 2 1 1 2 1 2 2 1 3 1 1 2 1 2 (k) aij — количество всех маршрутов из i в j длиной k List of slides 28 Количество простых циклов длиной 3 n 1 1 X (3) c3 = tr(A3 ) = a =2 6 6 i=1 ii tr — след матрицы 4s 1 s s3 s 2 (1; 2; 3; 1) (2; 3; 1; 2) (3; 1; 2; 3) (1; 3; 2; 1) (2; 1; 3; 2) (3; 2; 1; 3) List of slides 29 Взаимосвязь простых циклов и простых цепей Pk — матрица простых цепей длиной k ck — количество простых циклов длиной k ck = tr(Pk−1 · A) 4s 1 s3 s s 2 (2) p12 a21 List of slides 4s 1 s3 s s 2 (2) p13 a31 4s 1 s3 s s 2 (2) p14 a41 30 Маршруты и простые цепи длиной 3 (3) a12 (3) p12 4s s3 4s =5 =1 1 s s 2 1 (1; 4; 3; 2) 4s 1 s (1; 2; 1; 2) List of slides s3 s3 s 2 4s 1 s (1; 3; 1; 2) s s 2 (1; 2; 3; 2) s3 s 2 4s 1 s s3 s 2 (1; 4; 1; 2) 31 Формула для матрицы простых цепей длиной 6. Часть I P6 = A6 − d(A5 ) · A − A · d(A5 ) − d(A4 ) · A2 − A2 · d(A4 ) − − d(A2 ) · A4 − A4 · d(A2 ) − A · d(A4 ) · A + 2 (A × AT × A4 ) − − d(A3 ) · A3 − A3 · d(A3 ) − A · d(A2 ) · A3 − A3 · d(A2 ) · A − − A · d(A3 ) · A2 − A2 · d(A3 ) · A + 2 A × A2 × (AT )3 + + 2 A × A3 × (AT )2 + 4 (d(A2 ) × d(A3 ) · A + 2 d(A2 )2 · A2 + + 2 A2 · d(A2 )2 + 4 A · (d(A2 ) × d(A3 )) + d(A2 ) · A · d(A3 ) + + d(A3 ) · A · d(A2 ) + 2 A2 × A3 × AT + d(A · d(A3 ) · A) · A + + A · d(A · d(A3 ) · A) + 2 (A × AT × A3 ) · A − A2 × (AT )2 + + 2 A · (A × AT × A3 ) − A2 · d(A2 ) · (A2 ) + A · (A × AT ) · A2 + + d(A2 ) · (A2 ) · d(A2 ) + A2 × A2 × (AT )2 + A2 · (A × AT ) · A + + d(A2 · d(A2 ) · A) · A + A · d(A · d(A2 ) · (A2 )) + 4 (A × AT )2 + List of slides 32 Формула для матрицы простых цепей длиной 6. Часть II + 2 (A × AT × A2 ) · A2 + 2 A2 · (A × AT × A2 ) − 2 A · d(A2 ) · A + + d(A · d(A2 ) · A) · A2 + A2 · d(A · d(A2 ) · A) + (d(A2 ) · A)2 + + (A · d(A2 ))2 + d(A · d(A2 ) · A2 ) · A + A · d(A2 · d(A2 ) · A) + + 2 (A × A2 × (AT )2 ) · A + 2 A · (A × A2 × (AT )2 ) − − 8 d(A2 ) · (A × AT × A2 ) − 8 (A × AT × A2 ) · d(A2 ) + + 2 A · d(A2 )2 · A + (A2 × A2 × AT ) · A + A · (A2 × A2 × AT ) − − 3 A × ((A × AT ) · (A × (AT )2 )) − 3 A2 × (A × AT )2 − − 3 A × ((A × (AT )2 ) · (A × AT )) − 3 (A × (A × AT )2 ) · A − − 2 A × AT × (A · d(A2 ) · A) − 3 A × ((A × AT ) · (A2 × AT )) − − 3 A × ((A2 × AT ) · (A × AT )) − 3 A · (A × (A × AT )2 ) + + 2 (A · (A × AT × A2 ) · A) + A · d(A · d(A2 ) · A) · A + List of slides 33 Формула для матрицы простых цепей длиной 6. Часть III + A × (AT )4 + (A × AT ) · A3 + A3 · (A × AT ) − 2 d(A2 ) · A2 + + (A × (AT )3 ) · A + A · (A × (AT )3 ) − 4 d(A3 ) · (A × AT ) − − 4 (A × AT ) · d(A3 ) + (A × (AT )2 ) · A2 + A2 · (A × (AT )2 ) − − 4 d(A2 ) · (A × (AT )2 ) − 4 (A × (AT )2 ) · d(A2 ) − 2 A2 · d(A2 ) − − 4 d(A · (A × A2 )) · A − 4 A · d((A × A2 ) · A) − − 4 d((A × A2 ) · A) · A − 4 A · d(A · (A × A2 )) − − 2 AT × (A · (A × A2 )) − 2 AT × ((A × A2 ) · A) − − 4 d(A2 ) · (A × AT ) · A − 4 A · (A × AT ) · d(A2 ) − − (A × AT ) · A · d(A2 ) − d(A2 ) · A · (A × AT ) − − A × (AT · d(A2 ) · AT ) − 4 (A × AT ) · d(A2 ) · A − − 4 A · d(A2 ) · (A × AT ) + A · (A × (AT )2 ) · A + List of slides 34 Формула для матрицы простых цепей длиной 6. Часть IV + 8 A × AT × ((A × AT ) · A) + 8 A × AT × (A · (A × AT )) − − d(A · (A × AT ) · A) · A − A · d(A · (A × AT ) · A) − − (A2 × AT ) · A − A · (A2 × AT ) + 12 A × AT × A2 + + 8 A × AT × (AT )2 + 4 A × ((A × AT ) · AT ) + + 4 A × (AT · (A × AT )) + 4 (A × AT ) · A + 4 A · (A × AT ) List of slides 35 Сложность формул для матриц простых цепей n X n X H akl aij aik ail ajk ajl H= k=1 l=1 = aij · = aij · n X ! aik akj k=1 (2) (2) aij · aij · n X ! ail alj = l=1 2 = (A × A × A2 )ij Сложность формулы для Pk есть O nb(k+3)/2c log n при k > 8 List of slides 36 Реализация в Maple алгоритма Росса и Харари и его улучшенного варианта P6 P7 P8 P9 P10 Количество слагаемых Оригин. алг. 103 356 1301 Улучшен. алг. 102 349 1226 4556 17476 Время вывода (с) Оригин. алг. 0,8 65 3449 Улучшен. алг. 0,2 1,1 9,6 180 9773 Память вывода (МБ) Оригин. алг. 1,4 1,7 2 Улучшен. алг. 1,4 1,6 3,1 22 474 List of slides 37 Опечатки в записи формул для величин c4 и c5 F. Harary, Graph Theory, 1969 c5 6= tr(A5 ) − 5 tr(A3 ) − 5 n X n X (3) (aij − 2) aii i=1 j=1 M. Doob, Eigenvalues of graphs, 2004, in Topics in Algebraic Graph Theory, L. Beineke et al. n X 4 2 c4 6= tr(A ) + tr(A ) − d2i i=1 List of slides 38 Опечатки в записи формул для величин c4 и c5 F. Harary, Graph Theory, 1969 c5 6= tr(A5 ) − 5 tr(A3 ) − 5 n X n X (3) (aij − 2) aii i=1 j=1 c5 = tr(A5 ) − 5 tr(A3 ) − 5 n n X X i=1 ! (3) aij − 2 aii j=1 M. Doob, Eigenvalues of graphs, 2004, in Topics in Algebraic Graph Theory, L. Beineke et al. n X 4 2 c4 6= tr(A ) + tr(A ) − d2i i=1 List of slides 39 Опечатки в записи формул для величин c4 и c5 F. Harary, Graph Theory, 1969 c5 6= tr(A5 ) − 5 tr(A3 ) − 5 n X n X (3) (aij − 2) aii i=1 j=1 c5 = tr(A5 ) − 5 tr(A3 ) − 5 n n X X i=1 ! (3) aij − 2 aii j=1 M. Doob, Eigenvalues of graphs, 2004, in Topics in Algebraic Graph Theory, L. Beineke et al. n X 4 2 c4 6= tr(A ) + tr(A ) − d2i i=1 c4 = tr(A4 ) + tr(A2 ) − 2 n X d2i i=1 List of slides 40 Простые циклы в двудольных графах V = V1 + V 2 E ⊂ {{v1 ; v2 } ⊂ V | v1 ∈ V1 , v2 ∈ V2 } 4s s3 3s s4 @ @ @ @ @ @ @ @ 1 List of slides s s 2 1 s @ @ @ @s 2 41 Количество простых циклов длиной 7 в графе ладьи s2 wtsk = (t s − 2) (s − 2)k + 2k (s − 1)k + (−2)k (1 − s)t n X n X (2) (2) (2) 2 aii ajj aij aij = s2 (2 s − 2) w2s2 w1s2 i=1 j=1 7 c7 = s2 (s − 1)(s − 2)(s4 + 24 s3 − 133 s2 + 134 s + 94) wtsk — количество маршрутов длиной k на доске s × s для пары клеток типа t ∈ {0; 1; 2} List of slides 42 Primary slides Secondary slides Areas of application Cash formula Graphs. Basic notations Walks Graphs. Paths and cycles Adjacency matrix Matrix algebra in sociometry Powers of adjacency matrix P3 , P4 and operations of Ross and Harary c3 P5 c4 and c5 c7 c06 P6 Relationship of paths and cycles Formulae inflation Walks and paths of length 3 Different versions of c4 formula Complexity of Pk evaluation Shapes of closed 7-walks Improvement of Ross and Harary algorithm Numbers of terms in the formulae Misprints in formulae Time complexity of evaluation Cycles in bipartite graphs Khomenko and Golovko formula c7 for rook graphs Recurrence for ξl Improved Khomenko and Golovko formula 8-cycles counting in GAP system 10-cycles counting in GAP system Maximum graph order within 1 hour Graphs of chess pieces Current research