combinatorics - tcs @ njutcs.nju.edu.cn/slides/comb2017/polya.pdf · graph isomorphism (gi)...

44
Combinatorics 南京大学 尹一通

Upload: others

Post on 21-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Combinatorics南京大学尹一通

Page 2: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Pólya’s Theory of Counting

George Pólya(1887-1985)

Page 3: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Counting with SymmetryRotation :

Rotation & Reflection:

Page 4: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Symmetries

Page 5: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Symmetry

01

23

4

5

rotation

reflection

configuration x : [n] ! [m] X = [m][n]

positions colors

permutation ⇡ : [n]1-1���!

on-to

[n]

Page 6: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Permutation Groups(G, ·)group · : G⇥G ! Gwith binary operator

• closure:• associativity:• identity:• inverse:

⇡,� 2 G ) ⇡ · � 2 G⇡ · (� · ⌧) = (⇡ · �) · ⌧

� = ⇡�18⇡ 2 G, 9� 2 G,⇡ · � = � · ⇡ = e9e 2 G, 8⇡ 2 G, e · ⇡ = ⇡

commutative (abelian) group: ⇡ · � = � · ⇡

symmetric groupcyclic groupDihedral group

Sn

Cn

Dn

: all permutations: rotations

: rotations & reflections

Page 7: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Permutation Groupssymmetric group

cyclic group

Dihedral group

Sn

Cn

Dn

: all permutations

: rotations

: rotations & reflections

⇡ : [n]1-1���!

on-to

[n]

h(012 · · ·n� 1)i generated by (012 · · ·n� 1)

⇡(i) = (i+ 1) mod n⇡ = (012 · · ·n� 1)

generated by (012 · · ·n� 1) and

⇢(i) = (n� 1)� i

Page 8: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Group Action0

1

23

4

5

01

23

4

5

configuration x : [n] ! [m]

permutation ⇡ : [n]1-1���!

on-to

[n]

group action

X = [m][n]

group G

� : G⇥X ! X

• associativity:• identity:

(⇡ · �) � x = ⇡ � (� � x)e � x = x

(⇡ � x)(i) = x(⇡(i))

Page 9: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Graph Isomorphism (GI) Problem

?

• GI is in NP, but is NOT known to be in P or NPC

• trivial algorithm: O(n!) time

• Babai-Luks ’83: time

nvertices

Babai 2015: a quasi-polynomial time algorithm!npolylog(n) = 2polylog(n)

2O(pn logn)

⇠=

input: two undirected graphs G and Houtput: ?G ⇠= H

Page 10: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

input: two strings a permutation group output:

String Isomorphism (SI)

⇠= ?

x, y : [n] ! [m]

G ✓ Sn

x

⇠=G y? (9� 2 G s.t. � � x = y)

Page 11: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

String Isomorphism (SI)

a graph X(V,E) is a string

x :

✓V

2

◆! {0, 1}

all permutations on V induces a permutation group on

on vertex pairs

two graphs X ⇠= Y iff their string versions x

⇠=S(2)Vy

positions ⟷ vertex-pairs

1: edge0: no edge

Johnson group:

input: two strings a permutation group output:

x, y : [n] ! [m]

G ✓ Sn

x

⇠=G y? (9� 2 G s.t. � � x = y)

S(2)V ⇢ S(V2)

✓V

2

Page 12: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

01

23

4

5

01

23

4

5

group action � : G⇥X ! X

Orbits

orbit of x :Gx = {⇡ � x | ⇡ 2 G}

equivalent class of configuration x

X/G = {Gx | x 2 X}

our goal: count |X/G|

Page 13: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

X = [2][n]

G = Cn

G = Dn

X/G :

X/G :

Page 14: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

2 ×4 ×

configuration x : [n] ! [m]

~v = (n1, n2, . . . , nm)

a~v : # of config. (up to symmetry) with ni many color i

n1 + n2 + · · ·+ nm = n

pattern inventory :

FG(y1, y2, . . . , ym) =X

~v=(n1,...,nm)n1+···+nm=n

a~v yn11 yn2

2 · · · ynmm

(multi-variate) generating function

s.t.

a(2,4) = 3

Page 15: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

a~v : # of config. (up to symmetry) with ni many color i

pattern inventory :

FG(y1, y2, . . . , ym) =X

~v=(n1,...,nm)n1+···+nm=n

a~v yn11 yn2

2 · · · ynmm

(multi-variate) generating function

G = Dn X/G :

= y61 + y51y2 + 3y41y22 + 3y31y

32 + 3y21y

42 + y1y

52 + y62FD6(y1, y2)

Page 16: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

a~v : # of config. (up to symmetry) with ni many color i

pattern inventory :

FG(y1, y2, . . . , ym) =X

~v=(n1,...,nm)n1+···+nm=n

a~v yn11 yn2

2 · · · ynmm

(multi-variate) generating function

FG(y1, y2, . . . , ym) = PG

mX

i=1

yi,mX

i=1

y2i , . . . ,mX

i=1

yni

!Pólya’s enumeration formula (1937,1987):

⇡ =

`1z }| {(· · · )

`2z }| {(· · · ) · · ·

`kz }| {(· · · )| {z }

k cycles

M⇡(x1, x2, . . . , xn) =kY

i=1

x`i

PG(x1, x2, . . . , xn) =1

|G|X

⇡2G

M⇡(x1, x2, . . . , xn)cycle index:

Page 17: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

FD20(r, q, l)

Page 18: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)
Page 19: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)
Page 20: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)
Page 21: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

X = [2][n]

G = Cn

G = Dn

X/G :

X/G :

Page 22: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Burnside’s Lemmagroup action � : G⇥X ! X

orbit of x :Gx = {⇡ � x | ⇡ 2 G}

invariant set of π :

X⇡ = {x 2 X | ⇡ � x = x}

|X/G| = 1

|G|X

⇡2G

|X⇡|

Burnside’s Lemma:

X/G = {Gx | x 2 X}

Page 23: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

group action � : G⇥X ! X

orbit of x :Gx = {⇡ � x | ⇡ 2 G}

invariant set of π :X⇡ = {x 2 X | ⇡ � x = x}

X/G = {Gx | x 2 X}

stabilizer of x :G

x

= {⇡ 2 G | ⇡ � x = x}

8x 2 X, |Gx

||Gx| = |G|Lemma:

A(⇡, x) =

(1 ⇡ � x = x

0 otherwise

|X⇡

| =X

x2X

A(⇡, x) |Gx

| =X

⇡2G

A(⇡, x)

Page 24: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

A(⇡, x) =

(1 ⇡ � x = x

0 otherwise

|X⇡

| =X

x2X

A(⇡, x) |Gx

| =X

⇡2G

A(⇡, x)

double counting:

8x 2 X, |Gx

||Gx| = |G|Lemma:

= |G|X

x2X

1

|Gx|

X

⇡2G

|X⇡| =X

⇡2G

X

x2X

A(⇡, x) =X

x2X

X

⇡2G

A(⇡, x) =X

x2X

|Gx

|

Page 25: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

= |G|X

x2X

1

|Gx|

X

⇡2G

|X⇡|

= |G||X/G|X

i=1

X

x2Xi

1

|Gx|

orbits:

= |G||X/G|X

i=1

X

x2Xi

1

|Xi

|

= |G||X/G|X

i=1

1 = |G||X/G|

X1, X2, . . . , X|X/G|

a partition of X

|X/G| = 1

|G|X

⇡2G

|X⇡| Burnside’sLemma

Page 26: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Burnside’s Lemmagroup action � : G⇥X ! X

orbit of x :Gx = {⇡ � x | ⇡ 2 G}

invariant set of π :

X⇡ = {x 2 X | ⇡ � x = x}

|X/G| = 1

|G|X

⇡2G

|X⇡|

Burnside’s Lemma:

X/G = {Gx | x 2 X}

Page 27: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Cycle Decompositionpermutation ⇡ : [n]

1-1���!on-to

[n]

✓0 1 2 · · · n� 1

⇡(0) ⇡(1) ⇡(2) · · · ⇡(n� 1)

✓0 1 2 3 42 4 0 1 3

◆= (0 2)(1 4 3)

�� � *�1%"*�1& 0�*�$�7&+"� 8+IP�!?=��

;� �� ;<� ;� <� ;X� �

>� =� >� =�>�7�XXXX�� �1�� &1��

;XX� X<� <� ;�

;� �B�F� &�< ���X� >@F� 0�:� =� X>� =� =F� E�� � ��1�� �L�� ��

#&$����0SGG?NLC?M�I@�NB?�0KO;L?��NB?�OM?�I@�;LLIQM�CH>C=;NCHA�NB?�G;JJCHA�;N�?;=B�=ILH?L�G;E?M�CN�?;MC?L�@IL�NB?�MNO>?HN�NI�M??�NB?�@OH>;G?HN;F�LIF?�QBC=B�NB?�=S=FC=�>?=IGJIMCNCIH�QCFF�F;N?L�JF;S��

;<ION�IJJIMCN?�=ILH?LM���1B?�GINCIHM�;L?�H;NOL;FFS�=B;L;=N?LCT?>�<S�NB?�Q;S�NB?S�J?LGON?�NB?�=ILH?LM��1BOM�NB?�GINCIH��L��=;H�<?�>?@CH?>�;M�NB?�=ILH?L�J?LGON;NCIH��;=���<>���NB?�L?JL?M?HN;NCIH�I@�J?LGON;NCIHM�;M�;�JLI>O=N�I@�>CMDICHN�=S=F?M�CM�=?HNL;F�NI�IOL�>?P?FIJG?HN���&H�J?LGONCHA�NB?�=ILH?LM�NB?�GINCIHM�CH>O=?�J?LGON;NCIHM�I@�NB?�=IFILCHAM�I@�NB?�=ILH?LM��4?�F?N��=��>?HIN?�NB?�J?LGON;NCIH�I@�NB?�����=IFILCHAM�CH>O=?>�<S�NB?�GINCIH��L=��1BOM�=IFILCHAM� �;H>� ��;L?�?KOCP;F?HN�C@�NB?L?�?RCMNM�;�GINCIH��C�MO=B�NB;N�H�� ���� ���

&N�CM�Q?FF�EHIQH�NB;N�NB?�MSGG?NLC?M�I@�;�A?IG?NLC=�@CAOL?�@ILG�;�ALIOJ�OH>?L�NB?�;MMI=C;NCP?�IJ?L;NCIH�I@�=IGJIMCNCIH��#OLNB?LGIL?�CN�CM�?R;=NFS�NB?�JLIJ?LNC?M�I@�;�ALIOJ�NB;N�CH>O=?�NB?�?KOCP;F?H=?�L?F;NCIH�IH�NB?�=IFILCHAM�C�?��=FIMOL?�CH�NB?�ALIOJ�G;E?M�NB?�L?F;NCIH�NL;HMCNCP?�?RCMN?H=?�I@�;H�C>?HNCNS�G;E?M�CN�L?@F?RCP?�;H>�?RCMN?H=?�I@�CHP?LM?M�G;E?M�CN�MSGG?NLC=���1BCM�=ILL?MJIH>?H=?�CM�HI�=ICH=C>?H=?� BCMNILC=;FFS�NB?�=IH=?JN�I@�;�ALIOJ�AL?Q�ION�I@�NB?�MNO>S�I@�P;LCIOM�MSGG?NLC?M�;H>�NB?CL�CH>O=?>�?KOCP;F?H=?M���

+IQ�Q?�@ILG;FCT?�NB?�L?F;NCIH�<?NQ??H��C�;H>��L��4?�M;S�;�ALIOJ�$�;=NM�IH�;�M?N�0�C@�?;=B�?F?G?HN�C� "�$�CH>O=?M�;�J?LGON;NCIH���� IH�0�=;FF?>�NB?�;=NCIH�I@��C�;H>�C@���CI�LD����� I��I� �� 1B?�M?=IH>�=IH>CNCIH�CGJFC?M�NB;N�NB?�M?N�I@� +�M�;FMI�@ILGM�;�ALIOJ�<ON�NB?��C�M�;L?�?;MC?L�NI�QILE�QCNB�NB;H�NB?�+�M��@IL�?R;GJF?�CH�IOL�=OLL?HN�JLI<F?G�;�J?LGON;NCIH�IH���?F?G?HNM�CM�JL?@?L;<F?�NI�;�J?LGON;NCIH�IH����?F?G?HNM��+IN?�NB;N�NQI�>C@@?L?HN�CN�M�=IOF>�B;P?�NB?�M;G?�;=NCIH�MO=B� ;�MCNO;NCIH�;LCM?M�H;NOL;FFS�QB?H�>?;FCHA�QCNB�MO<M?NM�I@�NB?��=IFILCHAM��@IL�?R;GJF?�;FF�GINCIHM�B;P?�NB?�M;G?�;=NCIH�IH�NB?�MO<M?N�U �� ��W��1B?�@IFFIQCHA�MOGG;LCT?M�IOL�>CM=OMMCIH��

1%",/"*����0OJJIM?�NB?�ALIOJ�$��MSGG?NLC?M�I@�NB?�MKO;L?��;=NM�IH�;�M?N�0���=IFILCHAM�I@�NB?�@CR?>�MKO;L?���1B?H�NBCM�;=NCIH�CH>O=?M�;� J;LNCNCIH�I@�0� CHNI�?KOCP;F?H=?�=F;MM?M�QCNB�NB?�?KOCP;F?H=?�L?F;NCIH�>?@CH?>�<S� ��� ������NB?L?�?RCMNM�C5�"�$�QBIM?�;=NCIH�N;E?M� �NI� ���C�?���L�� ���� ����

Page 28: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Cycle Decompositionpermutation ⇡ : [n]

1-1���!on-to

[n]

⇡ � x = x

invariant every cycle of π has the same color

8i 2 [n], x(⇡(i)) = x(i)

�� � *�1%"*�1& 0�*�$�7&+"� 8+IP�!?=��

;� �� ;<� ;� <� ;X� �

>� =� >� =�>�7�XXXX�� �1�� &1��

;XX� X<� <� ;�

;� �B�F� &�< ���X� >@F� 0�:� =� X>� =� =F� E�� � ��1�� �L�� ��

#&$����0SGG?NLC?M�I@�NB?�0KO;L?��NB?�OM?�I@�;LLIQM�CH>C=;NCHA�NB?�G;JJCHA�;N�?;=B�=ILH?L�G;E?M�CN�?;MC?L�@IL�NB?�MNO>?HN�NI�M??�NB?�@OH>;G?HN;F�LIF?�QBC=B�NB?�=S=FC=�>?=IGJIMCNCIH�QCFF�F;N?L�JF;S��

;<ION�IJJIMCN?�=ILH?LM���1B?�GINCIHM�;L?�H;NOL;FFS�=B;L;=N?LCT?>�<S�NB?�Q;S�NB?S�J?LGON?�NB?�=ILH?LM��1BOM�NB?�GINCIH��L��=;H�<?�>?@CH?>�;M�NB?�=ILH?L�J?LGON;NCIH��;=���<>���NB?�L?JL?M?HN;NCIH�I@�J?LGON;NCIHM�;M�;�JLI>O=N�I@�>CMDICHN�=S=F?M�CM�=?HNL;F�NI�IOL�>?P?FIJG?HN���&H�J?LGONCHA�NB?�=ILH?LM�NB?�GINCIHM�CH>O=?�J?LGON;NCIHM�I@�NB?�=IFILCHAM�I@�NB?�=ILH?LM��4?�F?N��=��>?HIN?�NB?�J?LGON;NCIH�I@�NB?�����=IFILCHAM�CH>O=?>�<S�NB?�GINCIH��L=��1BOM�=IFILCHAM� �;H>� ��;L?�?KOCP;F?HN�C@�NB?L?�?RCMNM�;�GINCIH��C�MO=B�NB;N�H�� ���� ���

&N�CM�Q?FF�EHIQH�NB;N�NB?�MSGG?NLC?M�I@�;�A?IG?NLC=�@CAOL?�@ILG�;�ALIOJ�OH>?L�NB?�;MMI=C;NCP?�IJ?L;NCIH�I@�=IGJIMCNCIH��#OLNB?LGIL?�CN�CM�?R;=NFS�NB?�JLIJ?LNC?M�I@�;�ALIOJ�NB;N�CH>O=?�NB?�?KOCP;F?H=?�L?F;NCIH�IH�NB?�=IFILCHAM�C�?��=FIMOL?�CH�NB?�ALIOJ�G;E?M�NB?�L?F;NCIH�NL;HMCNCP?�?RCMN?H=?�I@�;H�C>?HNCNS�G;E?M�CN�L?@F?RCP?�;H>�?RCMN?H=?�I@�CHP?LM?M�G;E?M�CN�MSGG?NLC=���1BCM�=ILL?MJIH>?H=?�CM�HI�=ICH=C>?H=?� BCMNILC=;FFS�NB?�=IH=?JN�I@�;�ALIOJ�AL?Q�ION�I@�NB?�MNO>S�I@�P;LCIOM�MSGG?NLC?M�;H>�NB?CL�CH>O=?>�?KOCP;F?H=?M���

+IQ�Q?�@ILG;FCT?�NB?�L?F;NCIH�<?NQ??H��C�;H>��L��4?�M;S�;�ALIOJ�$�;=NM�IH�;�M?N�0�C@�?;=B�?F?G?HN�C� "�$�CH>O=?M�;�J?LGON;NCIH���� IH�0�=;FF?>�NB?�;=NCIH�I@��C�;H>�C@���CI�LD����� I��I� �� 1B?�M?=IH>�=IH>CNCIH�CGJFC?M�NB;N�NB?�M?N�I@� +�M�;FMI�@ILGM�;�ALIOJ�<ON�NB?��C�M�;L?�?;MC?L�NI�QILE�QCNB�NB;H�NB?�+�M��@IL�?R;GJF?�CH�IOL�=OLL?HN�JLI<F?G�;�J?LGON;NCIH�IH���?F?G?HNM�CM�JL?@?L;<F?�NI�;�J?LGON;NCIH�IH����?F?G?HNM��+IN?�NB;N�NQI�>C@@?L?HN�CN�M�=IOF>�B;P?�NB?�M;G?�;=NCIH�MO=B� ;�MCNO;NCIH�;LCM?M�H;NOL;FFS�QB?H�>?;FCHA�QCNB�MO<M?NM�I@�NB?��=IFILCHAM��@IL�?R;GJF?�;FF�GINCIHM�B;P?�NB?�M;G?�;=NCIH�IH�NB?�MO<M?N�U �� ��W��1B?�@IFFIQCHA�MOGG;LCT?M�IOL�>CM=OMMCIH��

1%",/"*����0OJJIM?�NB?�ALIOJ�$��MSGG?NLC?M�I@�NB?�MKO;L?��;=NM�IH�;�M?N�0���=IFILCHAM�I@�NB?�@CR?>�MKO;L?���1B?H�NBCM�;=NCIH�CH>O=?M�;� J;LNCNCIH�I@�0� CHNI�?KOCP;F?H=?�=F;MM?M�QCNB�NB?�?KOCP;F?H=?�L?F;NCIH�>?@CH?>�<S� ��� ������NB?L?�?RCMNM�C5�"�$�QBIM?�;=NCIH�N;E?M� �NI� ���C�?���L�� ���� ����

Page 29: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

⇡ � x = x

invariant every cycle of π has the same color

8i 2 [n], x(⇡(i)) = x(i)

X = [m][n]

⇡ = (· · · )(· · · ) · · · (· · · )| {z }k cycles

m-colorings of n positions

|X⇡| = |{x 2 X | ⇡ � x = x}| = mk

|X/G| = 1

|G|X

⇡2G

|X⇡|

Burnside’s Lemma:

=1

|G|X

⇡2G

m#cycle(⇡)

Page 30: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

X = [2][n]

G = Cn

G = Dn

X/G :

X/G :

Page 31: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

2 ×4 ×

configuration x : [n] ! [m]

~v = (n1, n2, . . . , nm)

a~v : # of config. (up to symmetry) with ni many color i

n1 + n2 + · · ·+ nm = n

pattern inventory :

FG(y1, y2, . . . , ym) =X

~v=(n1,...,nm)n1+···+nm=n

a~v yn11 yn2

2 · · · ynmm

(multi-variate) generating function

s.t.

a(2,4) = 3

Page 32: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

a~v : # of config. (up to symmetry) with ni many color i

pattern inventory :

FG(y1, y2, . . . , ym) =X

~v=(n1,...,nm)n1+···+nm=n

a~v yn11 yn2

2 · · · ynmm

(multi-variate) generating function

G = Dn X/G :

= y61 + y51y2 + 3y41y22 + 3y31y

32 + 3y21y

42 + y1y

52 + y62FD6(y1, y2)

Page 33: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Cycle index

⇡ =

`1z }| {(· · · )

`2z }| {(· · · ) · · ·

`kz }| {(· · · )| {z }

k cycles

permutation ⇡ : [n]1-1���!

on-to

[n]

monomial:

from group G

PG(x1, x2, . . . , xn) =1

|G|X

⇡2G

M⇡(x1, x2, . . . , xn)

cycle index:

M⇡(x1, x2, . . . , xn) =kY

i=1

x`i

Burnside’s Lemma:PG(m,m, . . . ,m| {z }

n

) =1

|G|X

⇡2G

M⇡(m,m, . . . ,m| {z }n

)|X/G| =

Page 34: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

a~v : # of config. (up to symmetry) with ni many color i

pattern inventory :

FG(y1, y2, . . . , ym) =X

~v=(n1,...,nm)n1+···+nm=n

a~v yn11 yn2

2 · · · ynmm

(multi-variate) generating function

FG(y1, y2, . . . , ym) = PG

mX

i=1

yi,mX

i=1

y2i , . . . ,mX

i=1

yni

!Pólya’s enumeration formula (1937,1987):

⇡ =

`1z }| {(· · · )

`2z }| {(· · · ) · · ·

`kz }| {(· · · )| {z }

k cycles

M⇡(x1, x2, . . . , xn) =kY

i=1

x`i

PG(x1, x2, . . . , xn) =1

|G|X

⇡2G

M⇡(x1, x2, . . . , xn)cycle index:

Page 35: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

G. Pólya (1937). Kombinatorische Anzahlbestimmungen für Gruppen, Graphen und chemische Verbindungen. Acta

Mathematica 68 (1): 145–254.

G. Pólya; R. C. Read (1987). Combinatorial Enumeration of Groups, Graphs, and Chemical Compounds. Springer-Verlag.

Page 36: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

~v = (n1, n2, . . . , nm) n1 + n2 + · · ·+ nm = n

X = [m][n] X

~v = {x 2 [m][n] | 8i 2 [m], x�1(i) = ni}

Burnside’s Lemma:

a~v =1

|G|X

⇡2G

|X~v⇡ |

X

~v⇡ = {x 2 X

~v | ⇡ � x = x}invariant set of π :

a(2,4) = 3

X(2,4) :

Page 37: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

=X

~v=(n1,...,nm)n1+···+nm=n

|X~v⇡ |y

n11 yn2

2 · · · ynmm

⇡ =

`1z }| {(· · · )

`2z }| {(· · · ) · · ·

`kz }| {(· · · )| {z }

k cycles

X

~v⇡ = {x 2 X

~v | ⇡ � x = x}

⇡ � x = x

invariant every cycle of π has the same color8i 2 [n], x(⇡(i)) = x(i)

M⇡(x1, x2, . . . , xn) =kY

i=1

x`irecall:

M⇡

mX

i=1

yi,mX

i=1

y2i , . . . ,mX

i=1

yni

!

=

(y`11 + y`12 + · · ·+ y`1m)(y`21 + y`22 + · · ·+ y`2m) · · · (y`k1 + y`k2 + · · ·+ y`km )

Page 38: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

=X

~v=(n1,...,nm)n1+···+nm=n

|X~v⇡ |y

n11 yn2

2 · · · ynmm

M⇡

mX

i=1

yi,mX

i=1

y2i , . . . ,mX

i=1

yni

!

X

~v⇡ = {x 2 X

~v | ⇡ � x = x}

Burnside’s Lemma:

a~v =1

|G|X

⇡2G

|X~v⇡ |

pattern inventory :

=X

~v=(n1,...,nm)n1+···+nm=n

1

|G|X

⇡2G

|X~v⇡ |!yn11 yn2

2 · · · ynmm

=1

|G|X

⇡2G

X

~v=(n1,...,nm)n1+···+nm=n

|X~v⇡ |y

n11 yn2

2 · · · ynmm

=1

|G|X

⇡2G

M⇡

mX

i=1

yi,mX

i=1

y2i , . . . ,mX

i=1

yni

!

FG(y1, y2, . . . , ym)

=X

~v=(n1,...,nm)n1+···+nm=n

a~v yn11 yn2

2 · · · ynmm

= PG

mX

i=1

yi,mX

i=1

y2i , . . . ,mX

i=1

yni

!cycle index :

Page 39: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

a~v : # of config. (up to symmetry) with ni many color i

pattern inventory :

FG(y1, y2, . . . , ym) =X

~v=(n1,...,nm)n1+···+nm=n

a~v yn11 yn2

2 · · · ynmm

(multi-variate) generating function

⇡ =

`1z }| {(· · · )

`2z }| {(· · · ) · · ·

`kz }| {(· · · )| {z }

k cycles

M⇡(x1, x2, . . . , xn) =kY

i=1

x`i

PG(x1, x2, . . . , xn) =1

|G|X

⇡2G

M⇡(x1, x2, . . . , xn)cycle index:

= PG

mX

i=1

yi,mX

i=1

y2i , . . . ,mX

i=1

yni

!

FG(y1, y2, . . . , ym)

Pólya’s enumeration formula (1937,1987):

Page 40: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

FD20(r, q, l)

Page 41: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)
Page 42: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)
Page 43: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)
Page 44: Combinatorics - TCS @ NJUtcs.nju.edu.cn/slides/comb2017/Polya.pdf · Graph Isomorphism (GI) Problem? • GI is in NP, but is NOT known to be in P or NPC • trivial algorithm: O(n!)

Orbits of Group Actions