Method
The simulation was a modified version of Arthur and Polak (2008). In
the original simulation, several NAND circuits were randomly wired together in a non-cyclic way to make a new circuit that could be used to
create another circuit in the next trial. This sequence was repeated
several thousand times, which created circuits that were often used in
reality (e.g. OR circuit, AND circuit, and n-bit ADDER). The simulation
used in this experiment added agents that created circuits
simultaneously to vary group size.
In the first trial of all conditions, agent(s) started only with a
NAND circuit. The agents wired several NAND circuits to create a new
circuit that served a new functionality. The minimum and the maximum number
of circuits that could be wired together were 2 and 12 respectively
throughout all the trials. The new circuit that was created in the first
trial was automatically stored in the pool, which was a group of
circuits that could be used as a component for making a new circuit in
the next trial. Each circuit was insured to be a directed acyclic
graph. In the circuits hereafter, the choice of using which preexisting
circuit was determined by a choice function (Arthur and Polak, 2008)
that specifies probabilities of selection.
Circuits were evaluated by its functionality.
Preceding the simulations, goals were defined which consisted of
specific input-output circuitry (Table 1). When the created circuit
either met the goal for the first time or was close to meeting the goal
determined by the prespecified truth table, the created circuit was
called invention.
Determined by the truth table, when the created circuit met the same
functionality as with the circuit that is included in the pool but with
less cost (here cost refers to the total number of NAND circuits used
since all the created circuits are created from NAND circuits), the
created circuit is called improvement. When improvement is made, the
older circuit that fulfilled the same functionality is deleted from the
pool. On the other hand, if the circuit was neither an invention or an improvement, the circuit was called junk and was never included in the
pool.
The conditions were separated by how many agents were involved in
creating the circuits in the simultaneous trial. The group sizes were 1,
2, 4, and 8. In the conditions that had multiple agents, agents created
circuits by themselves. After creating the circuits, the circuits were
pooled together. The pooled circuits could be used by all agents in the
next trial. This means that the agents had no synergetic influence on
one another.
In each condition, 1 replication consisted of 100,000 trials and 20
replications were run. Whenever all the goals were met, the replication
was terminated. The program was created in GNU CLISP (ver. 2.49) which is an
implementation of Common Lisp. The simulation was run on 16GB memory
Windows 10.
Results
The number of generations by conditions and trials are shown in table 3. Trials were terminated when all the given goals had been achieved. Trial 16 of group size 4 was aborted by memory error, thus we excluded it from the following results.
Basic properties of evolution in group size-1
Since the results of size-1 condition were identical to Arthur & Polak (2006), we regarded the results of the size-1 condition as a baseline. The primary results of group size-1 are shown in Fig 1.
Figure 1a shows the timing of when goals were achieved in each trial. While the trial with the fastest progress reached the 16th goal in about 30,000 trials, the trial with the slowest progress did not yet reach the 11th goal even after 100000 trials. This indicated that a large variation existed when only 1 agent was modifying the circuits.
The number of inventions in each trial is shown in figure 1b. Generally, we see a repeated pattern where there is a rapid increase in invention followed by a period where there is minimal increase, which resembles that of a continuous convex function. This continuous sigmoidal like function was present in all replication, indicating that this trend is robust.
Figure 1c shows the number of improvements that made the circuit more efficient. In total, we see a general increase in improvements as trials progress. Though in some replications we see a convex like shape in the increase in improvement, compared to invention however, improvement seemed to diminish marginally.
Figure 1d shows the number of cases where neither invention nor improvement occurred. The figure indicates that there is little variance within junk. This is because the number of times innovation and improvement occurred is less than the number of trials.
Comparison between group sizes