# EvoDevo: Bioinspired Generative Design via Evolutionary Graph-Based Development
## 3 Proposed Method
### Normalising Inputs
Each experiment investigates the development of truss bridges, although the approach is not limited to these types of problems. Every evolutionary experiment, unless stated otherwise, uses the parameters in Table 3.

The number of best individuals that move forward each generation is fixed at \(k=32\) (6.25% of the population). Based on these work experiments, it is proven that smaller values (\(k<16\)) lead to premature convergence, while larger values (\(k>64\)) slow progress [52,53]. In addition, Figure 5 illustrates how the mutation rate balances exploration and exploitation over the evolutionary generation. As stated in Section 3.2, two different cell types are used in the experiments: vertex cells (nodes) and edge cells. Also, we apply a combination of node and edge cells as the ultimate design scenario. The node cells are equivalent to the nodes in the truss, and the edge cells are equivalent to the members. Each cell type has different growth mechanisms available to them to globally change the structure. To test whether the GRN of each cell type can learn growth mechanisms to minimise the objectives, the total strain energy and total volume, a Warren truss with seven triangles and edges with equal cross-sectional areas is used as the seedling. The environment consists of a 17 kN load placed on centre vertex 4, with a pinned support at vertex 0 and a roller support at vertex 8. The bottom line \begin{table}
\begin{tabular}{c c c} \hline \hline
**This Work** & **Biological Analogue** & **Purpose** \\ \hline 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. \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Key EvoDevo concepts and their biological counterparts. \begin{table}
\begin{tabular}{c c c} \hline \hline Development steps = 10 & Generations = 150 & Population size = 512 \\ \hline Top \(k\) = 32 & Obj \({}^{a}\) 1: strain energy (se) & Initial mutation rate (\(\varepsilon_{0}\)) = 1.0 \\ \hline Mutation rate taper (\(\varepsilon_{\text{tap}}\)) = 0.4 & Obj 2: volume (v) \\ \hline \hline \end{tabular} \({}^{a}\) Objectives.

\end{table} 
Table 3: Default evolutionary experiment parameters. of the vertices (0, 2, 4, 6 and 8) are constrained to prevent any movement. This seedling is shown in Figure 6, where the colour of the edges represents the strain energy induced. In the implementation of the GNN structure, the truss is represented as a graph including \(n\) vertices and \(m\) edges, utilising three binary adjacency matrices in each method (Table 4). All three matrices are static during the development steps and provide the neighbourhood information needed for aggregation. As shown in Figure 7, the node-only GNN method converts each vertex's position \((x_{i},y_{i})\) and the state of its neighbourhood into the final vertex translation \((\Delta x_{i},\Delta y_{i})\). Each vertex begins with the vector of \(\mathbf{n}_{i}=[x_{i},y_{i}]^{\top}\). Neighbour information comes from two \begin{table}
\begin{tabular}{c c} \hline \(A_{N}\in\{0,1\}^{n\times n}\) & node–node adjacency: \(A_{N}[i,j]=1\) if vertices \(i\) and \(j\) share a member \\ \hline \(A_{E}\in\{0,1\}^{m\times m}\) & edge–edge adjacency: \(A_{E}[p,q]=1\) if members \(p\) and \(q\) share a vertex \\ \hline \(A_{NE}\in\{0,1\}^{n\times m}\) & node–edge incidence: \(A_{NE}[i,p]=1\) if vertex \(i\) is an endpoint of member \(p\) \\ \hline \end{tabular}
\end{table} 
Table 4: Adjacency and incidence matrices used by the GNN controllers.