Root node at center surrounded by equally spaced concentric circles. First concentric circle of radius 1. Its circumference is approximately 6, so put 6 child nodes on the circle all connected to the center root node.
Second circle radius 2, circumference approximately 13. Put 13 nodes on it, each node connected independently randomly to 1 of the 6 parents of the first circle.
Repeat for larger circles. Each node on a circle uniformly randomly chooses a parent from among the nodes in the previous (inner) circle.
Graph layout problem: arrange the nodes on each circle nicely. Edges shouldn't cross. Nodes on a circle should be well separated. Edges between parents and children should be short. Color nodes to be able to tell how related they are: most recent common ancestor. Reuse colors if a subtree dies out.
Repeat for 3D: concentric spheres. On a given sphere, descendants of a common ancestor will probably clump geographically.
Simpler "1D" version: do it on a strip (or tube). The number of nodes (population) stays constant between generations.
Population of a circle or sphere does not have to be proportional to circumference or surface area. Maybe permit exponential growth. It could be interpreted as a sequence of constant sized spheres over time with increasing population density.
No comments :
Post a Comment