Download The number of fixed length cycles in an undirected graph. Explicit

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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
Related documents