# Graph Golf

The Order/degree Problem Competition

## Problem statement

Update 2017-02-23

### Definition

The order/degree problem with parameters n and d: Find a graph with minimum diameter over all undirected graphs with the number of vertices = n and degree ≤ d. If two or more graphs take the minimum diameter, a graph with minimum average shortest path length (ASPL) over all the graphs with the minimum diameter must be found.

The order/degree problem on a grid graph with a limited edge length r: Do the same as above, but on a √n × √n square grid in a two-dimensional Euclidean space, keeping the lengths of the edges ≤ r in Manhattan distance. Here a "grid" implies that (1) the vertices are located at integer coordinates but are not necessarily connected to its adjacent vertices; and (2) the edges must not run diagonally while being allowed to change its direction at the grid points.

### Example

Let us show examples for the order/degree problem with parameters n = 16 and d 4. The figure illustrates three examples of 4-regular graphs with 16 nodes. The diameter of the first and the second graphs is 3, while that of the third one is 4. Thus, we should select the first or the second one. Next, we compare the average shortest path length (ASPL) of those two graphs. Since the ASPL of the first one is smaller, this is the best solution of the problem among the three.

### Why order/degree problem?

Graph design has a rich variety of application fileds of computer systems. In particular, it is just meeting a network design of future supercomputers and future high-end datacenters in terms of hop counts , since their networks are topologically modeled as undirected regular graphs. Low latency is preconditioned on small hop counts, but existing network topologies have hop counts much larger than theoretical lower bounds. Therefore, computer network designers desire to find a graph that has a small number of hops between any pair of vertices. The same solution is beneficial for desining such a micro network, though the layout of a graph on two-dimensional surface (on a chip) must be considered .

### Why not degree/diameter problem?

The degree/diameter problem (DDP) has been studied for decades and consists in generating the largest possible graph given degree and diameter constraints, striving to approach theoretical upper bounds . However, DDP solutions may not be directly usable for network topologies in supercomputer and high-end datacenter systems because they are for particular number of compute nodes, whereas the number of nodes in a real system is determined based on practical considerations, e.g., budget.

### Lower bound of diameter & ASPL

For a order n and a degree d, the lower bound Kn,d on the diameter k is computed as

Similarly, the lower bound Ln,d on the ASPL l is computed as

### Starting point

A random graph serves as a good baseline of diameter and ASPL for each order/degree pair. The Python script below generates a regular random graph with specified order/degree pair calculating its diameter and ASPL. This may be a good starting point if you are new to creating graphs.

For the "grid" version of the problem, a useful C program is contributed by Koji Nakano and Daisuke Takafuji. Thank you!