How to create a special graph?

31 Views Asked by At

I wish to generate an undirected lattice graph $G$ with following features:

  1. It has $m\times n$ vertexes;
  2. Each vertex has only two kinds of labels ($0$ or $1$);
  3. Every $t\times t$ subgraph is unique.

Set the parameters $m,n,t$ as you needed, but obviously, larger $m,n$ and smaller $t$ would be better.

For example, if the array of the vertex labels of a lattice graph $G$ is

1 1 1 1 0
0 1 0 0 1
1 0 0 1 1
1 1 0 0 0
1 1 0 0 1

then any $3\times 3$ subgraph of $G$ is unique (only one isomorphism can be found). For example, subgraph

1 0 1
0 1 1
0 0 1

must be the top-left block of $G$, $90$ degree rotated.

Actually, I can generate such graphs by wave function collapsing. The example above is generated in this way.


However, I want to go further. Here are the true questions:

  1. If the subgraph can be any shape, how to generate the graph $G$ (every subfigure with $t$ vertexes is unique, whatever the shape is)?
  2. What if graph $G$ is not limited in lattice shape?

Any idea or keyword?