Author Contributions
Conceptualization, A.M.T. and M.P.; Methodology, A.C., I.F., S.J.H., E.B. and P.G.; Software, A.C., I.F., S.J.H., E.B., P.G. and F.T.-J.; Formal analysis, F.T.-J.; Visualization, F.T.-J.; Validation, F.T.-J.; Writing—original draft preparation, A.C. and F.T.-J.; Writing—review and editing, S.J.H., E.B., P.G., A.M.T., M.P., T.R. and F.T.-J.; Supervision, A.M.T. and M.P.; Funding acquisition, A.M.T.; Project administration, A.M.T. All authors have read and agreed to the published version of the manuscript.
Figure 1.
Concept of a design growing from a seed. Growth is regulated through the continuous interaction between external stimuli and the outputs of the GRN.
Figure 1.
Concept of a design growing from a seed. Growth is regulated through the continuous interaction between external stimuli and the outputs of the GRN.
Figure 2.
A heterogeneous graph representing a shape, unfurled into a hierarchy of cell types and topologies. Cells can be represented as faces, edges or vertices; however, this paper focuses on the edge and vertex representations.
Figure 2.
A heterogeneous graph representing a shape, unfurled into a hierarchy of cell types and topologies. Cells can be represented as faces, edges or vertices; however, this paper focuses on the edge and vertex representations.
Figure 3.
Hybrid control structure: two gene regulatory networks for vertex and edge cells with neighbour message exchange. A vertex GRN updates node positions , while an edge GRN adjusts member areas .
Figure 3.
Hybrid control structure: two gene regulatory networks for vertex and edge cells with neighbour message exchange. A vertex GRN updates node positions , while an edge GRN adjusts member areas .
Figure 4.
Genetic search algorithm for evolving GRN.
Figure 4.
Genetic search algorithm for evolving GRN.
Figure 5.
Influence of initial mutation rate and taper coefficient on overall mutation rate over evolutionary generations.
Figure 5.
Influence of initial mutation rate and taper coefficient on overall mutation rate over evolutionary generations.
Figure 6.
Seedling in single-load (17.0 kN) case environment with 9 nodes and 15 edges.
Figure 6.
Seedling in single-load (17.0 kN) case environment with 9 nodes and 15 edges.
Figure 7.
The node-only GNN: This combines coordinates and aggregated neighbour/edge features and then uses linear projections, a leaky ReLU and a final linear tanh function to output . The weight matrices form the evolvable genome.
Figure 7.
The node-only GNN: This combines coordinates and aggregated neighbour/edge features and then uses linear projections, a leaky ReLU and a final linear tanh function to output . The weight matrices form the evolvable genome.
Figure 8.
The edge-only GNN: This combines strain energy, volume and neighbour features and then uses linear projections, a leaky ReLU and a final tanh function to output the cross-sectional area update (). The weight matrices form the evolvable genome.
Figure 8.
The edge-only GNN: This combines strain energy, volume and neighbour features and then uses linear projections, a leaky ReLU and a final tanh function to output the cross-sectional area update (). The weight matrices form the evolvable genome.
Figure 9.
Hybrid node–edge GNN: The blue path maps edge features and their neighbours to the cross-sectional update (), and the red path maps vertex coordinates plus node/edge neighbours to . The weight matrices form the evolvable genome.
Figure 9.
Hybrid node–edge GNN: The blue path maps edge features and their neighbours to the cross-sectional update (), and the red path maps vertex coordinates plus node/edge neighbours to . The weight matrices form the evolvable genome.
Figure 10.
Metrics related to the highest reward structures obtained by the edge-only method after 10 development steps. (Left): GNN controller. (Right): CGP controller. (Top row): best performing structure. (Second row): change in strain energy E through devo. (Third row): change in volume V through devo. (Fourth row): change in cost through devo.
Figure 10.
Metrics related to the highest reward structures obtained by the edge-only method after 10 development steps. (Left): GNN controller. (Right): CGP controller. (Top row): best performing structure. (Second row): change in strain energy E through devo. (Third row): change in volume V through devo. (Fourth row): change in cost through devo.
Figure 11.
Metrics related to the highest reward structures obtained by the node-only method after 10 development steps. (
Left): GNN controller. (
Right): CGP controller. Rows as described in
Figure 10.
Figure 11.
Metrics related to the highest reward structures obtained by the node-only method after 10 development steps. (
Left): GNN controller. (
Right): CGP controller. Rows as described in
Figure 10.
Figure 12.
Metrics related to the highest reward structures obtained by the node–edge method after 10 development steps. (
Left): GNN controller. (
Right): CGP controller. Rows as described in
Figure 10.
Figure 12.
Metrics related to the highest reward structures obtained by the node–edge method after 10 development steps. (
Left): GNN controller. (
Right): CGP controller. Rows as described in
Figure 10.
Figure 13.
Distribution of the best reward obtained by each algorithm over 15 independent runs. The box shows the inter-quartile range, the horizontal line is the median, and the individual circles represent single runs. The circle’s colour varies for each method.
Figure 13.
Distribution of the best reward obtained by each algorithm over 15 independent runs. The box shows the inter-quartile range, the horizontal line is the median, and the individual circles represent single runs. The circle’s colour varies for each method.
Figure 14.
Seedling truss used for generalisation experiments: (a) three point loads with 9 vertices and 15 edges; (b) single central load with 17 vertices and 30 edges. Numbers inside the circles denote node indices, while numbers along the edge members denote edge indices.
Figure 14.
Seedling truss used for generalisation experiments: (a) three point loads with 9 vertices and 15 edges; (b) single central load with 17 vertices and 30 edges. Numbers inside the circles denote node indices, while numbers along the edge members denote edge indices.
Figure 15.
GNN behaviour in Environment #1 (three loads and 9 × 15 truss). (Left): trained controller; (right): untrained controller. (Top plots) show the final geometry after ten devo steps with strain energy E, volume V and cost. (Lower plots) trace E, V and cost over the ten devo steps.
Figure 15.
GNN behaviour in Environment #1 (three loads and 9 × 15 truss). (Left): trained controller; (right): untrained controller. (Top plots) show the final geometry after ten devo steps with strain energy E, volume V and cost. (Lower plots) trace E, V and cost over the ten devo steps.
Figure 16.
CGP behaviour in Environment #1 (three loads and 9 × 15 truss). (Left): trained controller; (right): untrained controller. (Top plots) show the final geometry after ten devo steps with strain energy E, volume V and cost. (Lower plots) trace E, V and cost over the ten devo steps.
Figure 16.
CGP behaviour in Environment #1 (three loads and 9 × 15 truss). (Left): trained controller; (right): untrained controller. (Top plots) show the final geometry after ten devo steps with strain energy E, volume V and cost. (Lower plots) trace E, V and cost over the ten devo steps.
Figure 17.
GNN behaviour in Environment #2 (one load and 17 × 30 truss). (Left): trained controller; (right): untrained controller. (Top plots) show the final geometry after ten devo steps with strain energy E, volume V and cost. (Lower plots) trace E, V and cost over the ten devo steps.
Figure 17.
GNN behaviour in Environment #2 (one load and 17 × 30 truss). (Left): trained controller; (right): untrained controller. (Top plots) show the final geometry after ten devo steps with strain energy E, volume V and cost. (Lower plots) trace E, V and cost over the ten devo steps.
Figure 18.
CGP behaviour in Environment #2 (one load and 17 × 30 truss). (Left): trained controller; (right): untrained controller. (Top plots) show the final geometry after ten devo steps with strain energy E, volume V and cost. (Lower plots) trace E, V and cost over the ten devo steps.
Figure 18.
CGP behaviour in Environment #2 (one load and 17 × 30 truss). (Left): trained controller; (right): untrained controller. (Top plots) show the final geometry after ten devo steps with strain energy E, volume V and cost. (Lower plots) trace E, V and cost over the ten devo steps.
Figure 19.
GNN-based truss outputs for energy, volume and cost after ten development steps based on the parameters in [
54].
Figure 19.
GNN-based truss outputs for energy, volume and cost after ten development steps based on the parameters in [
54].
Table 1.
Summary of CGP methods.
Table 1.
Summary of CGP methods.
CGP Structure | Inputs | Outputs | Purpose |
---|
edge | 2 | 1 | strain energy & volume → |
node | 2 | 2 | |
node–edge (hybrid) | 2/2 | 2/1 | two cgp controllers update hierarchically |
Table 2.
Key EvoDevo concepts and their biological counterparts.
Table 2.
Key EvoDevo concepts and their biological counterparts.
This Work | Biological Analogue | Purpose |
---|
Seedling truss | Embryo | Minimal viable structure that initiates growth. |
Node/edge cells | Somatic cells | Local agents that sense state and apply growth rules. |
GRN | GRN | Maps sensed state to growth commands for each cell. |
GNN/CGP weights | Genome | Heritable code evolved by the genetic algorithm. |
Development step | Cell cycle | One round of sensing, decision and growth. |
Growth mechanism | Cell growth | (i) Move a node, (ii) resize an edge. |
Fitness | Fitness | Global signal guiding evolution towards better performance. |
Genetic algorithm | Darwinian evolution | Selects and mutates GRNs each generation. |
Table 3.
Default evolutionary experiment parameters.
Table 3.
Default evolutionary experiment parameters.
Development steps = 10 | Generations = 150 | Population size = 512 |
Top k = 32 | Obj a 1: strain energy (se) | Initial mutation rate () = 1.0 |
Mutation rate taper () = 0.4 | Obj 2: volume (v) | |
Table 4.
Adjacency and incidence matrices used by the GNN controllers.
Table 4.
Adjacency and incidence matrices used by the GNN controllers.
| node–node adjacency: if vertices i and j share a member |
| edge–edge adjacency: if members p and q share a vertex |
| node–edge incidence: if vertex i is an endpoint of member p |
Table 5.
Cartesian genetic programming parameters used for each method.
Table 5.
Cartesian genetic programming parameters used for each method.
Methods | | | | | | Primitive Set † |
---|
CGP_edge | 2 | 1 | 8 | 2 | 3 | {Add, Sub, Mul, Const} |
CGP_node | 2 | 2 | 8 | 2 | 3 | {Add, Sub, Mul, Const} |
CGP_node–edge (edge) | 2 | 1 | 8 | 2 | 3 | {Add, Sub, Mul, Const} |
CGP_node–edge (node) | 2 | 2 | 8 | 2 | 3 | |
Table 6.
Summary statistics of best rewards achieved over 15 runs per method.
Table 6.
Summary statistics of best rewards achieved over 15 runs per method.
Method | Num_Runs | Mean | Std | Min | Max |
---|
cgp_edge | 15 | 0.098 | 0.003 | 0.094 | 0.102 |
cgp_node | 15 | 0.282 | 0.005 | 0.277 | 0.291 |
cgp_node_edge | 15 | 0.389 | 0.021 | 0.364 | 0.447 |
gnn_edge | 15 | 0.103 | 0.002 | 0.095 | 0.104 |
gnn_node | 15 | 0.291 | 0.001 | 0.289 | 0.292 |
gnn_node_edge | 15 | 0.425 | 0.075 | 0.291 | 0.500 |
Table 7.
Performance of GNN and CGP controllers on the two new seedling benchmarks for the generalisation test.
Table 7.
Performance of GNN and CGP controllers on the two new seedling benchmarks for the generalisation test.
Seedling | GRN | Criteria | Trained Controller | Untrained Controller |
---|
Environment #1 | GNN | Energy | 0.590 | 0.6358 |
Volume | 235.704 | 307.848 |
Cost | 1.310 | 1.556 |
CGP | Energy | 0.476 | 3.631 |
Volume | 268.678 | 94.577 |
Cost | 1.267 | 4.449 |
Environment #2 | GNN | Energy | 1.381 | 1.732 |
Volume | 529.189 | 642.085 |
Cost | 1.469 | 1.816 |
CGP | Energy | 1.201 | 1.459 |
Volume | 585.465 | 518.154 |
Cost | 1.440 | 1.500 |
Table 8.
Seedling and material parameters used in the GNN truss run.
Table 8.
Seedling and material parameters used in the GNN truss run.
Parameters | Value |
---|
Span | 2500.0
|
Height | 500.0
|
Young’s modulus | 210.0
|
Density | 7700.0
/ |
Poisson ratio | 0.28 |
Table 9.
Optimised weights of the small bridge and GNN-based truss.
Table 9.
Optimised weights of the small bridge and GNN-based truss.
Solver/Method | Final Weight |
---|
SolidWorks | 49.7 |
ANSYS | 55.5 |
ABAQUS | 43.26 |
GNN-based truss | 40.666 |