US 11,657,293 B2
Asynchronous architecture for evolutionary computation techniques
Sahil Hasan, Mountain View, CA (US); and Jeffrey Bush, Mountain View, CA (US)
Assigned to X Development LLC, Mountain View, CA (US)
Filed by X Development LLC, Mountain View, CA (US)
Filed on Nov. 7, 2019, as Appl. No. 16/676,977.
Prior Publication US 2021/0142183 A1, May 13, 2021
Int. Cl. G06N 20/00 (2019.01); G06F 30/33 (2020.01); G06N 3/126 (2023.01); G06F 30/327 (2020.01)
CPC G06N 3/126 (2013.01) [G06F 30/327 (2020.01)] 12 Claims
OG exemplary drawing
 
1. A system, comprising:
a plurality of island computing devices each configured to perform an evolutionary computation technique to generate candidate solutions,
wherein performing the evolutionary computation technique to generate candidate solutions includes:
determining a fitness value for a plurality of individuals in a population;
removing a number of individuals from the population based on the fitness values;
generating new individuals by combining traits from individuals of the population; and
randomly changing traits in one or more individuals in the population;
wherein the plurality of island computing devices includes a first island computing device; and
wherein the system further comprises an archipelago manager computing device including at least one processor and a non-transitory computer-readable medium having logic stored thereon that, in response to execution by the at least one processor, causes the archipelago manager computing device to perform actions comprising:
receiving a first set of candidate solutions from the first island computing device;
storing the first set of candidate solutions in an archipelago management queue;
removing a second set of candidate solutions from the archipelago management queue;
transmitting the second set of candidate solutions to the first island computing device;
receiving a third set of candidate solutions from the first island computing device;
removing a fourth set of candidate solutions from the archipelago management queue; and
transmitting the fourth set of candidate solutions to the first island computing device;
wherein the second set of candidate solutions and the fourth set of candidate solutions include at least two candidate solutions that were not generated by the same island computing device.