| Literature DB >> 24376669 |
David M Bryson1, Charles Ofria1.
Abstract
We investigate fundamental decisions in the design of instruction set architectures for linear genetic programs that are used as both model systems in evolutionary biology and underlying solution representations in evolutionary computation. We subjected digital organisms with each tested architecture to seven different computational environments designed to present a range of evolutionary challenges. Our goal was to engineer a general purpose architecture that would be effective under a broad range of evolutionary conditions. We evaluated six different types of architectural features for the virtual CPUs: (1) genetic flexibility: we allowed digital organisms to more precisely modify the function of genetic instructions, (2) memory: we provided an increased number of registers in the virtual CPUs, (3) decoupled sensors and actuators: we separated input and output operations to enable greater control over data flow. We also tested a variety of methods to regulate expression: (4) explicit labels that allow programs to dynamically refer to specific genome positions, (5) position-relative search instructions, and (6) multiple new flow control instructions, including conditionals and jumps. Each of these features also adds complication to the instruction set and risks slowing evolution due to epistatic interactions. Two features (multiple argument specification and separated I/O) demonstrated substantial improvements in the majority of test environments, along with versions of each of the remaining architecture modifications that show significant improvements in multiple environments. However, some tested modifications were detrimental, though most exhibit no systematic effects on evolutionary potential, highlighting the robustness of digital evolution. Combined, these observations enhance our understanding of how instruction architecture impacts evolutionary potential, enabling the creation of architectures that support more rapid evolution of complex solutions to a broad range of challenges.Entities:
Mesh:
Year: 2013 PMID: 24376669 PMCID: PMC3871699 DOI: 10.1371/journal.pone.0083242
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Figure 1The architecture of the Avida virtual CPU.
Registers (upper right), stacks (lower right), genomic program (left), heads (middle), and environmental channels (lower right). The solid lines depict the default Heads architectural features. The dashed lines show some of the modifications tested.
Instruction Glossary.
| Instruction | Description |
|
| Add ?BX? to ?CX? and place the result in ?BX? |
|
| Decrement ?BX? by one |
|
| Copy the position of the ?IP? head into ?CX? |
| goto | Move IP to direct match label |
| goto-if-n-equ | Move IP to direct match label if BX ! = CX |
| goto-if-less | Move IP to direct match label if BX |
|
| Allocate maximum allowed space for offspring |
|
| Copy from read-head to write-head; advance both |
|
| Divide code between read and write heads as offspring |
|
| Execute next instruction if just copied complement sequence |
| if-copied-seq-direct | Execute next instruction if just copied direct-match sequence |
| if-copied-lbl-comp | Execute next instruction if just copied complement label |
| if-copied-lbl-direct | Execute next instruction if just copied direct-match label |
| if-equ-0 | Execute next instruction if ?BX? = 0, else skip it |
| if-equ-x | Execute next instruction if BX = ?nop-defined constant?, else skip it |
| if-gtr-0 | Execute next instruction if ?BX? |
| if-gtr-x | Execute next instruction if BX |
|
| Execute next instruction if ?BX? |
| if-less-0 | Execute next instruction if ?BX? |
|
| Execute next instruction if ?BX? ! = ?CX?, else skip it |
| if-not-0 | Execute next instruction if ?BX? ! = 0, else skip it |
|
| Increment ?BX? by one |
| input | Input new number into ?BX? |
|
| Output ?BX?, and input new number back into ?BX? |
|
| Move head ?Flow? by amount in ?CX? register |
| label | No-operation; marks the beginning of a genome position label |
|
| Move head ?IP? to the flow head |
| mov-head-if-less | Move head ?IP? to the flow head if ?BX? |
| mov-head-if-n-equ | Move head ?IP? to the flow head if ?BX? ! = ?CX? |
|
| Nand ?BX? by ?CX? and place the result in ?BX? |
|
| No-operation; modifies other instructions |
|
| No-operation; modifies other instructions |
|
| No-operation; modifies other instructions |
| nop-D | No-operation; modifies other instructions |
| nop-E | No-operation; modifies other instructions |
| nop-F | No-operation; modifies other instructions |
| nop-G | No-operation; modifies other instructions |
| nop-H | No-operation; modifies other instructions |
| nop-I | No-operation; modifies other instructions |
| nop-J | No-operation; modifies other instructions |
| nop-K | No-operation; modifies other instructions |
| nop-L | No-operation; modifies other instructions |
| nop-M | No-operation; modifies other instructions |
| nop-N | No-operation; modifies other instructions |
| nop-O | No-operation; modifies other instructions |
| nop-P | No-operation; modifies other instructions |
| output | Output ?BX? |
|
| Remove top number from stack and place into ?BX? |
|
| Copy number from ?BX? and place it into the stack |
| search-lbl-comp-s | Find complement label from genome start and move the flow head |
| search-lbl-direct-b | Find direct label backward and move the flow head |
| search-lbl-direct-f | Find direct label forward and move the flow head |
| search-lbl-direct-s | Find direct label from genome start and move the flow head |
|
| Find complement sequence from genome start and move the flow head |
| search-seq-direct-b | Find direct sequence backward and move the flow head |
| search-seq-direct-f | Find direct sequence forward and move the flow head |
| search-seq-direct-s | Find direct sequence from genome start and move the flow head |
|
| Set flow-head to position in ?CX? |
| sg-move | Move one location forward in the Navigation environment |
| sg-rotate-l | Rotate heading 45% left in the Navigation environment |
| sg-rotate-r | Rotate heading 45% right in the Navigation environment |
| sg-sense | Read the value of the current location in the Navigation environment |
|
| Shift bits in ?BX? right by one (divide by two) |
|
| Shift bits in ?BX? left by one (multiply by two) |
|
| Subtract ?CX? from ?BX? and place the result in ?BX? |
|
| Swap the contents of ?BX? with ?CX? |
|
| Toggle which stack is currently being used |
Description of the instructions used across all tested instruction set architectures. A register name (AX, BX, CX, etc.) or head (IP, FLOW, etc.) surrounded by question marks refers to the default argument used when executed, subject to nop modi_cation. Instructions depicted in bold are in the default Heads instruction set.
LABEL Instruction Sets Tested.
| Instruction Set | label | if-copied-lbl-comp | if-copied-lbl-direct | if-copied-seq-comp | if-copied-seq-direct | search-lbl-comp-s | search-lbl-direct-s | search-seq-comp-s | search-seq-direct-s |
| R6 | • | • | |||||||
| Label | • | • | • | ||||||
| LABEL-DIRECT | • | • | • | ||||||
| LABEL-BOTH | • | • | • | • | • | ||||
| LABEL-SEQ | • | • | • | • | • | ||||
| LABEL -SEQ-DIRECT | • | • | • | • | • | ||||
| LABEL-DIRECT-SEQ | • | • | • | • | • | ||||
| LABEL-SEQ-BOTH | • | • | • | • | • | • | • | • | • |
Marks in each column indicating that the set contains the relevant instruction.
FLOW Instruction Sets Tested.
| Instruction Set | IF0 Instructions | IFX Instructions | MOVHEAD Instructions |
| FLOW-IF0 | • | ||
| FLOW-IFX | • | ||
| FLOW-MVH | • | ||
| FLOW-IF0-MVH | • | • | |
| FLOW-IFX-MVH | • | • | |
| FLOW-IF0-IFX-MVH | • | • | • |
Instruction set by row, with marks in each column indicating that the set contains the relevant instruction group.
HEADS and FULLY-ASSOCIATIVE Architectures Fitness.
| Logic-9 | Logic-77 | Match-12 | Fibonacci-32 | Sort-10 | Limited-9 | Navigation | |
| HEADS | 19.07 | 12.43 | 0.173 | 3.730 | −0.54 | 4.430 | 1.071 |
| (17.71, 19.76) | (11.51, 14.22) | (0.146, 0.224) | (3.300, 4.050) | (−0.63, −0.45) | (4.283, 4.595) | (1.035, 1.383) | |
| FA |
|
|
|
|
|
| 1.038 |
| (22.70, 23.08) | (35.05, 41.83) | (0.191, 0.251) | (4.474, 5.212) | (−0.45, −0.33) | (4.671, 5.082) | (1.022, 1.069) |
Fitness results of the HEADS and FULLY-ASSOCIATIVE (FA) instruction set architectures, where multiple nop arguments can modify the behavior of an instruction. Each entry shows the median log population mean fitness in the respective environment, with confidence intervals in parentheses. Bold entries indicate significant (, Wilcoxon rank-sum test) deviations after sequential Bonferroni correction.
HEADS and FULLY-ASSOCIATIVE Architectures Task Success.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| HEADS | 0.829 | 0.176 | 0.145 | 0.206 | 1.31 | 0.909 | 3.97 |
| (0.752, 0.839) | (0.161, 0.198) | (0.145, 0.146) | (0.178, 0.238) | (1.08, 1.47) | (0.894, 0.913) | (3.96, 4.35) | |
| FA |
|
|
|
| 1.55 |
| 3.96 |
| (0.930, 0.943) | (0.453, 0.546) | (0.147, 0.149) | (0.278, 0.332) | (1.44, 1.67) | (0.924, 0.929) | (3.95, 3.97) |
Task success results of the HEADS and FULLY-ASSOCIATIVE (FA) instruction set architectures. Each entry shows the median normalized task success in the respective environment, with confidence intervals in parentheses. Bold entries denote significant (, Wilcoxon rank-sum test) deviations.
REGISTER Series Architectures Fitness.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| FA | 22.63 | 38.85 | 0.223 | 4.828 | 0.09 | 4.934 | 1.027 |
| (22.39, 23.01) | (34.76, 43.67) | (0.191, 0.273) | (4.255, 5.332) | (−0.07, 0.21) | (4.661, 5.282) | (1.016, 1.042) | |
| R4 | 22.85 | 38.70 | 0.243 | 4.666 |
| 5.253 |
|
| (22.67, 23.01) | (33.90, 43.02) | (0.204, 0.290) | (4.233, 5.142) | (−0.48, −0.32) | (4.925, 5.514) | (1.054, 1.792) | |
| R5 | 22.73 | 38.42 | 0.231 | 5.067 |
| 5.158 |
|
| (22.50, 22.86) | (34.43, 42.54) | (0.206, 0.281) | (4.540, 5.623) | (−0.57, −0.39) | (4.300, 5.400) | (1.056, 1.340) | |
| R6 | 22.78 | 43.01 | 0.229 | 4.908 |
| 5.117 |
|
| (22.29, 22.97) | (40.01, 45.90) | (0.206, 0.274) | (4.293, 5.719) | (−0.54, −0.34) | (4.925, 5.374) | (1.080, 2.730) | |
| R7 | 22.75 | 43.41 | 0.204 | 4.598 |
| 5.135 |
|
| (22.58, 22.97) | (38.97, 45.67) | (0.177, 0.225) | (4.174, 5.078) | (−0.49, −0.29) | (4.978, 5.407) | (1.096, 3.234) | |
| R8 | 22.75 | 43.04 |
| 4.831 |
| 5.292 |
|
| (22.55, 22.95) | (39.25, 47.78) | (−0.07, 0.19) | (4.392, 5.308) | (−0.57, −0.33) | (5.058, 5.736) | (1.099, 2.815) | |
| R12 | 22.62 | 44.26 |
| 4.678 |
| 5.180 |
|
| (22.45, 22.76) | (40.82, 48.18) | (−0.12, −0.08) | (4.082, 5.244) | (−0.56, −0.49) | (4.901, 5.621) | (1.114, 3.012) | |
| R16 |
| 42.26 |
| 4.028 |
|
|
|
| (19.76, 22.22) | (40.02, 46.26) | (−0.13, −0.10) | (3.620, 4.474) | (−0.59, −0.50) | (5.390, 6.466) | (1.157, 3.326) |
Fitness results of the Register -series instruction set architectures, which vary the number of registers available in the virtual CPUs. Each entry shows the median log population mean fitness in the respective environment, with confidence intervals in parentheses. Bold entries indicate significant (, Wilcoxon rank-sum test) deviations after sequential Bonferroni correction.
REGISTER Series Architectures Task Success.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| FA | 0.932 | 0.495 | 0.147 | 0.288 | 2.53 | 0.926 | 3.96 |
| (0.921, 0.938) | (0.452, 0.565) | (0.146, 0.148) | (0.263, 0.307) | (2.21, 2.74) | (0.923, 0.929) | (3.95, 3.96) | |
| R4 | 0.937 | 0.506 | 0.146 | 0.276 |
| 0.923 |
|
| (0.929, 0.941) | (0.441, 0.554) | (0.145, 0.148) | (0.256, 0.289) | (1.42, 1.67) | (0.920, 0.929) | (3.96, 5.05) | |
| R5 | 0.936 | 0.493 |
| 0.300 |
| 0.927 |
|
| (0.929, 0.940) | (0.450, 0.544) | (0.144, 0.147) | (0.284, 0.327) | (1.09, 1.62) | (0.923, 0.929) | (3.96, 4.20) | |
| R6 | 0.932 | 0.563 |
| 0.294 |
| 0.930 |
|
| (0.927, 0.940) | (0.521, 0.592) | (0.144, 0.147) | (0.268, 0.326) | (1.14, 1.160) | (0.926, 0.932) | (3.97, 6.68) | |
| R7 | 0.940 | 0.554 |
| 0.281 |
| 0.928 |
|
| (0.930, 0.943) | (0.502, 0.592) | (0.142, 0.146) | (0.247, 0.305) | (1.26, 1.63) | (0.923, 0.932) | (3.98, 7.65) | |
| R8 | 0.938 | 0.555 |
| 0.299 |
| 0.927 |
|
| (0.931, 0.942) | (0.504, 0.613) | (0.078, 0.143) | (0.275, 0.323) | (1.06, 1.57) | (0.924, 0.929) | (3.97, 6.19) | |
| R12 | 0.939 | 0.575 |
| 0.298 |
| 0.930 |
|
| (0.933, 0.943) | (0.525, 0.613) | (0.077, 0.078) | (0.268, 0.318) | (1.03, 1.11) | (0.928, 0.933) | (3.98, 7.33) | |
| R16 | 0.910 | 0.550 |
| 0.269 |
| 0.928 |
|
| (0.854, 0.931) | (0.524, 0.589) | (0.077, 0.078) | (0.237, 0.302) | (1.01, 1.08) | (0.925, 0.932) | (3.99, 7.81) |
Task success results of the REGISTER-series instruction set architectures. Each entry shows the median normalized task success in the respective environment, with confidence intervals in parentheses. Bold entries denote significant (, Wilcoxon rank-sum test) deviations.
LABEL Series Architectures Fitness.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| R6 | 22.59 | 38.42 | 0.216 | 4.572 | −0.22 | 5.205 | 1.537 |
| (22.10, 22.85) | (34.96, 44.12) | (0.201, 0.257) | (3.904, 5.134) | (−0.32, −0.09) | (5.016, 5.518) | (1.097, 3.261) | |
| LABEL | 22.67 |
| 0.248 |
| −0.42 | 5.430 | 1.926 |
| (22.42, 22.94) | (25.66, 33.37) | (0.218, 0.316) | (5.669, 6.648) | (−0.52, −0.33) | (5.195, 5.630) | (1.108, 3.313) | |
| DIRECT | 22.50 |
| 0.215 |
|
| 5.784 | 1.087 |
| (21.84, 22.74) | (24.38, 31.32) | (0.189, 0.252) | (4.545, 6.174) | (−0.54, −0.40) | (5.429, 6.325) | (1.064, 2.742) | |
| BOTH | 22.32 |
| 0.203 |
|
| 5.553 | 3.084 |
| (19.68, 22.61) | (28.96, 38.07) | (0.163, 0.230) | (5.715, 6.606) | (−0.56, −0.38) | (5.098, 5.885) | (1.148, 3.396) | |
| SEQ | 22.43 | 40.26 | 0.207 |
| −0.29 | 5.438 | 2.203 |
| (21.94, 22.66) | (35.12, 44.36) | (0.134, 0.257) | (5.797, 6.733) | (−0.36, −0.15) | (5.079, 5.755) | (1.089, 3.161) | |
| SEQ | 22.46 | 44.13 | 0.198 |
| −0.33 | 5.651 | 2.335 |
| DIRECT | (22.23, 22.66) | (39.73, 48.52) | (0.126, 0.217) | (5.212, 6.531) | (−0.44, −0.21) | (5.441, 5.967) | (1.077, 3.335) |
| DIRECT | 22.53 | 41.74 | 0.210 |
| −0.40 | 5.528 | 2.319 |
| SEQ | (22.25, 22.69) | (38.58, 44.36) | (0.183, 0.300) | (5.135, 6.495) | (−0.47, −0.23) | (5.528, 5.968) | (1.093, 3.235) |
| SEQ | 22.44 | 39.56 |
|
| −0.33 |
| 3.173 |
| BOTH | (21.75, 22.68) | (36.64, 42.72) | (−1.42, 0.088) | (5.336, 6.430) | (−0.45, −0.17) | (5.621, 6.374) | (2.955, 3.295) |
Fitness results of the LABEL-series instruction set architectures. Each entry shows the median log population mean fitness in the respective environment, with confidence intervals in parentheses. Bold entries indicate significant (, Wilcoxon rank-sum test) deviations after sequential Bonferroni correction.
LABEL Series Architectures Task Success.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| R6 | 0.926 | 0.505 | 0.144 | 0.278 | 1.86 | 0.930 | 4.33 |
| (0.908, 0.937) | (0.461, 0.574) | (0.142, 0.145) | (0.241, 0.303) | (1.62, 2.10) | (0.926, 0.932) | (3.97, 7.76) | |
| LABEL | 0.941 |
| 0.146 |
|
| 0.932 | 4.58 |
| (0.934, 0.945) | (0.352, 0.450) | (0.144, 0.147) | (0.342, 0.396) | (1.14, 1.57) | (0.928, 0.934) | (3.98, 7.68) | |
| DIRECT | 0.937 |
| 0.145 |
|
| 0.934 | 3.98 |
| (0.916, 0.943) | (0.329, 0.416) | (0.144, 0.146) | (0.295, 0.383) | (1.10, 1.57) | (0.931, 0.936) | (3.97, 6.16) | |
| BOTH | 0.922 |
| 0.145 |
|
| 0.932 | 7.05 |
| (0.857, 0.939) | (0.385, 0.495) | (0.140, 0.146) | (0.367, 0.403) | (1.09, 1.51) | (0.929, 0.935) | (4.00, 7.96) | |
| SEQ | 0.932 | 0.509 | 0.143 |
| 1.68 | 0.928 | 5.31 |
| (0.919, 0.938) | (0.460, 0.573) | (0.139, 0.144) | (0.365, 0.405) | (1.57, 2.02) | (0.925, 0.929) | (3.98, 7.57) | |
| SEQ | 0.929 | 0.559 | 0.144 |
| 1.61 | 0.931 | 5.06 |
| DIRECT | (0.918, 0.939) | (0.522, 0.612) | (0.141, 0.146) | (0.309, 0.398) | (1.49, 1.81) | (0.928, 0.934) | (3.98, 7.70) |
| DIRECT | 0.932 | 0.542 | 0.143 |
| 1.53 | 0.930 | 5.24 |
| SEQ | (0.919, 0.941) | (0.500, 0.562) | (0.141, 0.145) | (0.300, 0.399) | (1.36, 1.77) | (0.928, 0.933) | (3.98, 7.63) |
| SEQ | 0.926 | 0.517 |
|
| 1.64 | 0.928 | 7.74 |
| BOTH | (0.914, 0.934) | (0.482, 0.545) | (0.078, 0.125) | (0.300, 0.398) | (1.51, 1.94) | (0.923, 0.930) | (7.20, 7.91) |
Task success results of the LABEL-series instruction set architectures. Each entry shows the median normalized task success in the respective environment, with confidence intervals in parentheses. Bold entries denote significant (, Wilcoxon rank-sum test) deviations.
bf SPLIT-IO Architecture Fitness.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| SEQ | 22.56 | 43.57 | 0.207 | 6.106 | −0.32 | 5.812 | 2.641 |
| DIRECT | (22.32, 22.72) | (39.73, 46.60) | (0.182, 0.239) | (5.326, 6.549) | (−0.39, −0.24) | (5.390, 6.169) | (1.198, 3.341) |
| SPLITIO |
|
|
|
|
| 5.343 | 1.091 |
| (22.87, 23.22) | (50.34, 56.72) | (0.314, 0.360) | (7.983, 8.207) | (−1.03, −1.02) | (5.221, 5.520) | (1.062, 2.920) |
Fitness results of the LABEL-SEQ-DIRECT and SPLIT-IO instruction set architectures. Each entry shows the median log population mean fitness in the respective environment, with confidence intervals in parentheses. Bold entries indicate significant (, Wilcoxon rank-sum test) deviations after sequential Bonferroni correction.
SPLIT-IO Architecture Task Success.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| SEQ | 0.930 | 0.559 | 0.145 | 0.384 | 1.62 | 0.926 | 6.63 |
| DIRECT | (0.920, 0.935) | (0.521, 0.593) | (0.142, 0.146) | (0.318, 0.397) | (1.52, 1.74) | (0.922, 0.928) | (3.99, 7.94) |
| SPLITIO |
|
|
|
|
|
| 3.99 |
| (0.936, 0.942) | (0.651, 0.707) | (0.148, 0.149) | (0.447, 0.461) | (0.0, 0.0) | (0.927, 0.933) | (3.97, 7.41) |
Task success results of the LABEL-SEQ-DIRECT and SPLIT-IO instruction set architectures. Each entry shows the median normalized task success in the respective environment, with confidence intervals in parentheses. Bold entries denote significant (, Wilcoxon rank-sum test) deviations.
SEARCH Series Architectures Fitness.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| SPLITIO | 23.19 | 54.58 | 0.307 | 8.139 | −1.03 | 5.477 | 2.909 |
| (23.05, 23.25) | (52.46, 58.54) | (0.261, 0.335) | (8.027, 8.318) | (−1.04, −1.02) | (5.014, 5.912) | (1.121, 3.382) | |
| SEARCH | 23.02 |
| 0.313 | 8.188 | −1.02 | 5.393 | 3.150 |
| (22.87, 23.17) | (46.33, 52.21) | (0.265, 0.335) | (8.042, 8.273) | (−1.03, −0.98) | (5.177, 5.745) | (1.708, 3.431) | |
| GOTO | 23.13 |
| 0.311 | 7.946 | −1.04 | 5.598 | 2.584 |
| (22.90, 23.21) | (48.27, 53.34) | (0.232, 0.337) | (7.853, 8.080) | (−1.05, −1.02) | (5.272, 5.850) | (1.084, 3.219) | |
| GOTOIf |
|
| 0.283 | 7.937 | −1.04 | 5.840 | 2.283 |
| (22.61, 23.06) | (44.61, 52.01) | (0.223, 0.336) | (7.844, 8.070) | (−1.05, −1.01) | (5.624, 6.059) | (1.322, 3.028) |
Fitness results of the SEARCH-series instruction set architectures. Each entry shows the median log population mean fitness in the respective environment, with confidence intervals in parentheses. Bold entries indicate significant (, Wilcoxon rank-sum test) deviations after sequential Bonferroni correction.
SEARCH Series Architectures Task Success.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| SPLITIO | 0.937 | 0.694 | 0.149 | 0.449 | 0.0 | 0.927 | 7.28 |
| (0.934, 0.942) | (0.658, 0.719) | (0.148, 0.149) | (0.446, 0.463) | (0.0, 0.0) | (0.926, 0.930) | (3.99, 8.03) | |
| SEARCH |
| 0.626 | 0.149 | 0.448 |
| 0.929 | 7.67 |
| (0.932, 0.941) | (0.584, 0.652) | (0.148, 0.150) | (0.445, 0.455) | (0.0, 0.0) | (0.927, 0.932) | (4.60, 8.01) | |
| GOTO | 0.940 |
| 0.148 | 0.447 |
| 0.930 | 6.43 |
| (0.935, 0.943) | (0.608, 0.676) | (0.147, 0.149) | (0.444, 0.452) | (0.0, 0.0) | (0.928, 0.933) | (3.99, 7.61) | |
| GOTOIF |
|
| 0.149 | 0.447 |
| 0.929 | 5.78 |
| (0.928, 0.939) | (0.569, 0.650) | (0.148, 0.150) | (0.445, 0.448) | (0.0, 0.0) | (0.925, 0.933) | (4.15, 7.57) |
Task success results of the SEARCH-series instruction set architectures. Each entry shows the median normalized task success in the respective environment, with confidence intervals in parentheses. Bold entries denote significant (, Wilcoxon rank-sum test) deviations.
FLOW Series Architectures Fitness.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| SEARCH | 23.14 | 48.59 | 0.313 | 8.061 | −1.02 | 5.571 | 3.022 |
| (23.01, 23.23) | (46.46, 51.41) | (0.243, 0.346) | (7.990, 8.176) | (−1.04, −1.01) | (5.334, 5.867) | (2.151, 3.387) | |
| MVH |
|
| 0.277 | 8.124 |
| 5.474 |
|
| (22.38, 23.05) | (39.76, 46.35) | (0.216, 0.347) | (7.990, 8.270) | (−1.01, −0.69) | (5.181, 5.771) | (3.729, 4.052) | |
| IF0 |
| 47.99 | 0.296 | 7.995 | −1.04 | 5.553 | 3.229 |
| (22.62, 23.07) | (45.02, 51.50) | (0.258, 0.323) | (7.857, 8.099) | (−1.05, −1.02) | (5.326, 5.855) | (2.919, 3.549) | |
| IFX |
| 46.40 |
| 8.037 |
| 5.804 |
|
| (22.33, 22.86) | (44.51, 48.76) | (0.168, 0.264) | (7.964, 8.198) | (−1.07, −1.03) | (5.460, 6.243) | (3.861, 4.312) | |
| IF0-IFX |
| 46.00 |
| 8.011 |
| 5.595 |
|
| (22.65, 23.01) | (42.64, 49.03) | (0.201, 0.308) | (7.952, 8.078) | (−1.09, −1.07) | (5.292, 6.071) | (4.113, 4.615) | |
| IFX |
|
| 0.311 | 8.063 | −1.00 | 5.751 |
|
| MVH | (22.74, 23.11) | (38.48, 44.64) | (0.244, 0.346) | (7.980, 8.193) | (−1.03, −0.92) | (5.522, 6.061) | (4.244, 4.983) |
| IF0-IFX |
|
|
| 7.995 | −1.01 | 6.077 |
|
| MVH | (21.55, 22.37) | (39.12, 43.84) | (0.189, 0.283) | (7.849, 8.066) | (−1.05, −0.91) | (6.723, 6.625) | (4.576, 6.457) |
Fitness results of the FLOW-series instruction set architectures. Each entry shows the median log population mean fitness in the respective environment, with confidence intervals in parentheses. Bold entries indicate significant (, Wilcoxon rank-sum test) deviations after sequential Bonferroni correction.
FLOW Series Architectures Task Success.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| SEARCH | 0.943 | 0.623 | 0.148 | 0.448 | 0.0 | 0.928 | 7.55 |
| (0.939, 0.946) | (0.584, 0.648) | (0.147, 0.149) | (0.444, 0.452) | (0.0, 0.0) | (0.926, 0.932) | (5.51, 8.04) | |
| MVH | 0.938 | 0.563 | 0.150 | 0.465 |
|
|
|
| (0.930, 0.946) | (0.532, 0.593) | (0.149, 0.150) | (0.452, 0.476) | (0.0, 0.0) | (0.941, 0.948) | (8.40, 8.93) | |
| IF0 |
| 0.611 | 0.148 | 0.447 | 0.0 | 0.932 | 7.78 |
| (0.924, 0.937) | (0.581, 0.647) | (0.147, 0.149) | (0.446, 0.451) | (0.0, 0.0) | (0.930, 0.935) | (6.52, 8.12) | |
| IFX |
| 0.607 | 0.147 | 0.447 | 0.0 | 0.931 |
|
| (0.916, 0.935) | (0.577, 0.622) | (0.146, 0.148) | (0.445, 0.453) | (0.0, 0.0) | (0.929, 0.933) | (8.43, 9.67) | |
| IF0-IFX | 0.937 | 0.594 | 0.148 | 0.451 | 0.0 | 0.931 |
|
| (0.932, 0.941) | (0.550, 0.626) | (0.147, 0.149) | (0.446, 0.459) | (0.0, 0.0) | (0.928, 0.935) | (8.75, 10.12) | |
| IFX | 0.945 |
|
| 0.459 |
|
|
|
| MVH | (0.940, 0.951) | (0.508, 0.576) | (0.149, 0.151) | (0.451, 0.467) | (0.0, 0.0) | (0.937, 0.947) | (9.10, 10.64) |
| IF0-IFX |
|
| 0.150 | 0.451 |
|
|
|
| MVH | (0.901, 0.935) | (0.516, 0.577) | (0.148, 0.150) | (0.447, 0.459) | (0.0, 0.0) | (0.935, 0.945) | (10.23, 13.40) |
Task success results of the FLOW-series instruction set architectures. Each entry shows the median normalized task success in the respective environment, with confidence intervals in parentheses. Bold entries denote significant (, Wilcoxon rank-sum test) deviations.
Figure 2Normalized task success distributions of selected Flow -series instruction sets in the Sort-10 environment.
Figure 3The order and relationship of all tested architecture modifications (center), organized by instruction set series (left).
The evolutionary potential of the architecture selected as the basis for further experiments in each series (shown in bold) is displayed (right) for the Logic-9, Logic-77, Match-12, Fibonacci-32, Sort-10, Limited-9, and Navigation environments, respectively. Up arrows (black) indicate increased potential, down arrows (gray) indicate decreased potential, and double ended arrows (white) denote no significant trend. In general, FA (fully-associative) and Split-IO (separated input and output operations) demonstrated broadly beneficial impacts on evolutionary potential. The remaining tested modifications highlight the robustness of digital evolution, exhibiting no systematic effects on evolutionary potential.
HEADS and HEADS-EX Architectures Fitness.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| HEADS | 19.44 | 13.50 | 0.194 | 3.453 | −0.47 | 4.328 | 1.656 |
| (17.74, 19.79) | (11.67, 15.30) | (0.168, 0.248) | (3.216, 3.858) | (−0.61, −0.33) | (4.157, 4.445) | (1.108, 3.606) | |
| IFX |
|
|
|
|
|
|
|
| MVH | (22.74, 23.11) | (38.50, 44.56) | (0.245, 0.347) | (7.980, 8.189) | (−1.03, −0.92) | (5.517, 6.049) | (4.244, 4.953) |
Fitness results for the base HEADS and the HEADS-EX instruction set architectures. The HEADS-EX architecture includes features from all six tested feature groups, including fully associative arguments, six registers, direct-matched labels, split-I/O, directional search instructions, the ifx instruction, and conditional mov-head instructions. Each entry shows the median log population mean fitness in the respective environment, with confidence intervals in parentheses. Bold entries indicate significant (, Wilcoxon rank-sum test) deviations.
HEADS and HEADS-EX Architectures Task Success.
| Logic-9 | Logic-77 | Match-12 | Fib.-32 | Sort-10 | Limited-9 | Navigation | |
| HEADS | 0.834 | 0.185 | 0.146 | 0.202 | 1.42 | 0.908 | 4.72 |
| (0.752, 0.844) | (0.162, 0.211) | (0.145, 0.147) | (0.177, 0.228) | (1.08, 1.66) | (0.897, 0.914) | (3.99, 8.23) | |
| IFX |
|
|
|
|
|
|
|
| MVH | (0.940, 0.951) | (0.507, 0.577) | (0.149, 0.151) | (0.451, 0.467) | (0.0, 0.0) | (0.937, 0.947) | (9.12, 10.62) |
Task success results for the base HEADS and the HEADS-EX instruction set architectures. The HEADS-EX architecture includes features from all six tested feature groups, including fully associative arguments, six registers, direct-matched labels, split-I/O, directional search instructions, the ifx instruction, and conditional mov-head instructions. Each entry shows the median normalized task success in the respective environment, with confidence intervals in parentheses. Bold entries denote significant (, Wilcoxon rank-sum test) deviations.