A Method for Generating Colorings over Graph Automophism

29
A METHOD FOR GENERATING COLORINGS OVER GRAPH AUTOMORPHISM Fei He, Hiroshi Nagamochi 2015.8.22. 1 The 12th International Symposium on Operations Research and its Applications in engineering, technology and management (ISORA 2015), Luoyang, August 21-24, 2015. 飛 プレゼン資料

Transcript of A Method for Generating Colorings over Graph Automophism

A METHOD FOR GENERATING COLORINGS OVER GRAPH

AUTOMORPHISM

Fei He, Hiroshi Nagamochi

2015.8.22.

1

The 12th International Symposium on Operations Research and its Applications in engineering, technology and management (ISORA 2015), Luoyang, August 21-24, 2015. 何 飛 プレゼン資料

平成28年度数理工学専攻説明会

第1回: 平成28年5月7日(土)第2回: 平成28年5月30日(月)

場所,プログラムの詳細は以下の専攻HPをご覧ください.http://www.amp.i.kyoto-u.ac.jp

研究室見学できます.在学生から,入試勉強のしかた,過去問の勉強方法などを聞くチャンスです.

京都大学大学院 情報学研究科 数理工学専攻

修士課程,博士課程の学生募集

Background

Enumeration of isomers of chemical compounds

Ex. N

10 Isomers

Naphthalene

N

cl

cl N

cl

N

cl N

cl

N

cl

N

cl

N

cl

N cl N

cl

N cl

Nitrogen Atom

Chlorine Atom

W

2

Background Enumeration of isomers of chemical compounds can be converted into graph coloring problems.

Ex. N

cl

cl

N

10 Isomers 10 Colorings

Chemistry Problem

Graph Coloring Problem

N

cl

Color the vertices with the color of the atom attached to it.

See the carbon atoms as vertices.

3

Assumption on Graphs -- Symmetries

graph G

automorphism φ1 automorphism φ2

automorphism φ3

Axial symmetries

A combination of φ1 and φ2

We only deal with graphs of two axial symmetries.

Ex. 180°

4

Assumption on Graphs --Blocks

graph G

A block: a set of vertices that can be mapped to each other by some automorphism.

Ex. Block B1

180° Block B2

B1∨ B2 = W

Blocks are equivalence classes defined by automorphisms.

W

5

Equivalent Colorings

Coloring c1 Coloring c2

φ2

equivalent

There exists an automorphism φ1, φ2 or φ3

Coloring c1 Coloring c3

non-equivalent

6

Problem Statement

A graph G=(V, E) of two axial symmetries, a subset W of vertices of V

Input :

Output : All non-equivalent colorings to W

Ex.

Input 1 Input 2 7

Output

Output : All non-equivalent colorings to W Color Index In case of a Naphthalene ring: Ex.

We want to realize the generation of colorings in polynomial delay. Avoid duplication of calculation

Total number of possible colorings : > 460,000

… 8

Total number of non-equivalent colorings : 23,911

Idea of Algorithm -- Family Tree

* We put colorings with the same color index in one set.

The Family Tree

9

Parent-child Relationship

Color Priority: Constraints on #: # ≥# ≥# ≥# ≥# ≥# ≥

… …

Color Index

Parent Parent

Child Child Child

Parent

# in Parent = # + #min in Child

the leading color

the leading color

the leading color

10

min

Example of Family Tree

# ≥ # ≥ # ≥ # ≥ # ≥ #

Ex. |W| = 6

11

Generate Children Color Indices

… min=

… … … …

# = 1

# = 2

# = #min

# ≥ # ≥ … ≥ # ≥ # Color Priority: …

The next color in the ordering 12

becomes the new min

Recursive Problem for Generating Colorings

Recursive Problem

13

Known

Unknown

Recursive Problem Set A coloring c

Input :

Output : All colorings c’ that are the children of c

c

c’

Ex. How to generate colorings?

14

By using blocks

Summary

A graph G=(V, E) of two axial symmetries, a subset W of vertices of V

Input :

Output : All non-equivalent colorings to W

Can be realized in polynomial delay by using Family Trees Blocks defined after automorphisms

graph G

15

colorings

16

The End

Flow of the Algorithm

Input: c Define Blocks

Assign Numbers

Output: c’

Assign Numbers

Decide Positions Output: c’

Decide Positions

Decide Positions

Decide Positions

Output: c’

Output: c’ …

17

Flow of the Algorithm

Input: c Define Blocks

Assign Numbers

Check the symmetry of parent coloring c and define blocks on vertices with the leading color over c’s symmetries.

Output: c’

Assign Numbers

Decide Positions Output: c’

Decide Positions

Decide Positions

Decide Positions

Output: c’

Output: c’

18

Define Blocks For a coloring c, its block is a collection of vertices with the leading color, and can be shifted to one another by one of the automorphisms of c.

Ex. Naphthalene ring

φ1

Block 1 Block 2 Block 3

Blocks are equivalence classes defined by c’s automorphism.

c

19

Define Blocks

Define blocks: check the symmetry of c and define blocks on vertices with the leading color.

Block 1

Block 2

Block 1

Block 2

Block 3

φ1, φ2, φ3

φ1

Block 1

Block 2

Block 3

Block 4

Block 5 __

Ex. c

20

Flow of the Algorithm

Input: c Define Blocks

Assign Numbers

Assign the number of the new color to each block.

Output: c’

Assign Numbers

Decide Positions Output: c’

Decide Positions

Decide Positions

Decide Positions

Output: c’

Output: c’

21

Assign Numbers

Block 1

Block 2

Block 3

Change two into

Block 1

Block 2

Block 3

2

0

0

1

1

0

1

0

1

0

2

0

0

1

1

0

0

2

Assign Numbers of to each block:

c

Ex.

22

Flow of the Algorithm

Input: c Define Blocks

Assign Numbers

Output: c’

Assign Numbers

Decide Positions Output: c’

Decide Positions

Decide Positions

Decide Positions

Output: c’

Output: c’

Decide the positions for the new color by the assignment of numbers in each block.

23

Decide Positions

Block 1

Block 2

Block 3

Change two into

Block 1

Block 2

Block 3

2

0

0

Assign Numbers of to each block:

c

c’

Block 1

Ex.

24

Decide Positions

Block 1

Block 2

Block 3

Change two into

Block 1

Block 2

Block 3

1

1

0

Assign Numbers of to each block:

c

c’

c’

Block 2 Block 1

Ex.

25

Decide Positions

c

c’

Block 1

c’

c’

Block 2 Block 1

Block 1

Block 2

Block 3

2

0

0

1

1

0

1

0

1

0

2

0

0

1

1

0

0

2

… Output

Ex.

26

Flow of the Algorithm

Input: c Define Blocks

Assign Numbers

Output: c’

Assign Numbers

Decide Positions Output: c’

Decide Positions

Decide Positions

Decide Positions

Output: c’

Output: c’ …

Can be calculated automatically by our algorithm

27

Summary

A graph G=(V, E) of two axial symmetries, a subset W of vertices of V

Input :

Output : All non-isomorphic colorings to W

Can be realized in polynomial delay by using Family Trees Blocks defined after automorphisms Assignment of colors and decision on their positions. graph G

28