18
Using Evolutionary Computing for Feature- driven Graph Generation Merijn Verstraaten, Ana Lucia Varbanescu & Cees de Laat

Using Evolutionary Computing for Feature-driven Graph generation

Embed Size (px)

Citation preview

Page 1: Using Evolutionary Computing for Feature-driven Graph generation

Using Evolutionary Computing for Feature-

driven Graph GenerationMerijn Verstraaten, Ana Lucia Varbanescu &

Cees de Laat

Page 2: Using Evolutionary Computing for Feature-driven Graph generation

Performance Quiz

Page 3: Using Evolutionary Computing for Feature-driven Graph generation

Structural Properties#V #E ACC Triangles Diameter

90% Diameter

as-Skitter 1.696.415 11.095.298 0,2581 28.769.868 25 6

cit-Patents 3.774.768 16.518.948 0,0757 7.515.023 22 9,4

email-EuAll 265.214 420.045 0,0671 267.313 14 4,5

Facebook 4.039 88.234 0,6055 1.612.010 8 4,7

GPlus 107.614 13.673.453 0,4901 1.073.677.742 6 3

roadNet-CA 1.965.206 2.766.607 0,0464 120.676 849 500

roadNet-TX 1.379.917 1.921.660 0,047 82.869 1.054 670

soc-Livejournal 4.847.571 68.993.773 0,2742 285.730.264 16 6,5

Twitter 81.306 1.768.149 0,5653 13.082.506 7 4,5

web-BerkStan 685.230 7.600.595 0,5967 64.690.980 514 9,9

web-Google 875.713 5.105.039 0,5143 13.391.903 21 8,1

wikiTalk 2.394.385 5.021.410 0,0526 9.203.519 9 4

Page 4: Using Evolutionary Computing for Feature-driven Graph generation

Structural PropertiesNumber of vertices

Number of edges

Edge properties

Vertex properties

Directivity

Connectivity

Centrality – betweenness, degree, edge, PageRank(?)

Chromatic number

Cycles

Assortativity

Treewidth

Average degree

Average distance

Diameter

Max degree

Degree distribution

Clustering Coefficient

Number of triangles

Max-clique

Modularity

Eigenvalue and second eigenvalue

Degeneracy

Motif profile

Page 5: Using Evolutionary Computing for Feature-driven Graph generation

Generator Wishlist

Set of relevant properties

Independently variable (if possible)

Easy to extend set

Page 6: Using Evolutionary Computing for Feature-driven Graph generation

Start

Generate intial population

Determine fitness

Acceptable solution found

Select parents Crossover

Mutation

Select survivors

End Yes

No

Evolutionary Computing

Good at:

Large search space

Complex, interdependent parameters

Page 7: Using Evolutionary Computing for Feature-driven Graph generation

Representations

Connectivity matrices

Edge lists

Generating functions

Generators

Page 8: Using Evolutionary Computing for Feature-driven Graph generation

0

1

2

3

4

5

G

A

B

E

D

C

F

Connectivity Matrix

0 1 2 3 4 5

0 0 1 0 0 1 0

1 0 0 1 0 1 0

2 0 0 0 1 0 0

3 0 0 0 0 1 0

4 0 0 0 0 0 0

5 0 0 0 1 0 0

Page 9: Using Evolutionary Computing for Feature-driven Graph generation

Pros & Cons

Pros:

Easy to implement primitives

Fixed number of vertices

Cons:

Number of edges not fixed

Page 10: Using Evolutionary Computing for Feature-driven Graph generation

Exponential Degree

��

��

� �� �� ��

���

�������������

������ ������

����������� ������ ������������

����������� ������������ �� � ����

Page 11: Using Evolutionary Computing for Feature-driven Graph generation

Gaussian Degree

� �� �� �� �� �� �� �� �� �� ������

���

���

�������������

������ ������

������ ������ ������������

������ ������������ �� � ��� � � ���

Page 12: Using Evolutionary Computing for Feature-driven Graph generation

Uniform Degree

� �� �� �� �� �� �� �� �� �� ������

���

�������������

������ ������

������� ������ ������������

������� ������������ �� � ����

Page 13: Using Evolutionary Computing for Feature-driven Graph generation

Results

+ Substantially faster than Bach, et al. & Bailey, et al.

- Graphs >1.000 vertices converge too slowly

Page 14: Using Evolutionary Computing for Feature-driven Graph generation

Future WorkExperiment with different primitives

Evaluate the HyperNEAT approach

Miscellaneous ObservationsPrimitives matter (edgewise vs vertexwise)

Need better mutation

Minimum necessary size?

Page 15: Using Evolutionary Computing for Feature-driven Graph generation

Questions? Suggestions? Comments?

... are welcome live or online!

[email protected]

[email protected]

Page 16: Using Evolutionary Computing for Feature-driven Graph generation

Existing Generators

Complex Networks: Erdös-Rényi R-MAT Kronecker graphs

Misc: Social networks Freescale Power law etc.

Problems: Focus on social graphs Limited expressivity Not easily extensible

Page 17: Using Evolutionary Computing for Feature-driven Graph generation

NeuroEvolution of Augmenting Topologies

(NEAT)Pros:

Very expressive Good results

Cons: Scalability Slow…

HyperNEAT: Generate generating functions

Pros: ``Webscale’’

Cons: Unclear impact on expressivity

Page 18: Using Evolutionary Computing for Feature-driven Graph generation

More…Bach, et al.

Interactive random graph generation with evolutionary algorithms

Bailey, et al.

Automatic generation of graph models for complex networks by genetic programming.