Interpretations of network hairs

2 May 2000
Matthew P. Szudzik

Initialization


Interpretations of hairs

Several different algorithms for evolving networks according to replacement rules can be found in the private code for A New Kind of Science (located at \\Pion\sw\NewScience\Programs). Unfortunately, the major algorithms treat the disconnected "hairs" in the templates inconsistently.

Constraint-determined networks

The following graphic from section 9.8 of A New Kind of Science shows which networks satisfy the constraint that every point must have a neighborhood of a certain form.
Note that the hairs within each constraint template are not allowed to connect to points within that constraint template, and also note that it is permissible for more than one hair to connect to the same node in the network (provided that the node is outside of the neighborhood covered by the constraint template).

Planar networks

The planar network code (located at \\Pion\sw\NewScience\Programs\PlanarNetworks) used in section 9.12 of A New Kind of Science interprets the hairs in replacement rules differently. In this code, the hairs are forbidden from connecting to the same node.
Consider for example, the following rule.
Show[Surround[PNRuleGraphic[HexJoinRule]]];
When this rule is applied to the first network below, it is transformed into the second network.
Show[PNGraphics[HexJoinExample1]];
Show[PNGraphics[PNEvolveStep[{HexJoinRule},HexJoinExample1]]];
But this rule cannot be applied to the following network because some of the hairs in the rule would connect to the same node.
Show[PNGraphics[HexJoinExample2]];
Show[PNGraphics[PNEvolveStep[{HexJoinRule},HexJoinExample2]]];
Transformations such as this are forbidden because with certain rules (such as the flip rule below) this could lead to a loss of trivalency.
Show[Surround[PNRuleGraphic[FlipRule]]];

Universe

The universe code (located at \\Pion\sw\NewScience\Programs\Universe-96\Universe.nb) mentioned in the notes for chapter 9 of A New Kind of Science allows hairs to connect to points within the rule template.
For example, when this rule
Show[Surround[PNRuleGraphic[HexJoinRule]]];
is applied to the first network below, it is transformed into the second network.
Show[PNGraphics[FromUNetwork[HexJoinExample3,Embed3a]]];
Show[PNGraphics[FromUNetwork[UStep[{ToURule[HexJoinRule]},HexJoinExample3],Embed3b]]];