AIに関する記事を読んでいると「進化的アルゴリズム」という言葉をよく見かける。また似たような言葉で「進化的プログラミング(または遺伝的プログラミング)」というのも見かける。それぞれどのような概念で、どのような違いがあるのか。私は全く分かっていない。しかし興味はある。
AIに聞けば教えてくれるのではないか、とふと思い、ヒマだったのでAIに教えてもらいながら勉強することにした。
進化的アルゴリズム
難しそうなテーマなので、普段使っている8Bのモデルではなく、70Bのモデルに聞くことにした。LM-Studioに「tokyotech-llm-Llama-3.1-Swallow-70B-Instruct-v0.1-gguf 」をダウンロードした。LM-Studioが推奨してきたのは「Q3_K_S」という量子化版で30.91GBのサイズだった。これ以上のサイズのモデルは「おそらくこのマシンには大きすぎます」と書かれているので、素直に指示に従うことにした。
AIの進化的アルゴリズムについて高校生でもわかるように説明してください。
大学生の家庭教師に教えてもらうつもりで、中学生でもわかるようにとしようかと思ったが見栄をはって「高校生」とした😅。
進化的アルゴリズムは、生物学的な進化プロセスを模倣した最適化手法の一種です。自然淘汰や突然変異などの概念を用いて、問題の解決策を見つけ出す方法です。
まず、「個体」という概念があります。個体とは、特定の解決策を表す単位で、遺伝子情報(染色体)を持っています。個体は、生物のDNAに似た役割を果たし、進化的アルゴリズムではこれらが操作されます。
次に、「集団」という概念があります。集団とは、複数の個体から構成されるグループです。この集団内で、個々の個体は競争し合い、より適応度の高い個体が生き残ります。これを「淘汰圧力」と呼びます。
進化的アルゴリズムでは、以下のようなステップがあります:
- 初期集団生成: ランダムに作られた初期集団からスタートします。
- 適応度評価: 各個体の適応度を計算し、その「フィットネス」に基づいて淘汰圧力を決めます。フィットネスは、問題に対する解決策の品質を示す指標です。
- 淘汰: フィットネスの高い個体が生き残り、低い個体は淘汰されます。これにより、より適応度の高い集団へと進化します。
- 突然変異: 生き残った個体にランダムな突然変異を加え、新しい解決策を見つける可能性を高めます。突然変異は新しい遺伝子情報を導入することで、より適応度の高い解決策が生まれることがあります。
- 交叉: 個体間で遺伝子情報(染色体)を交換し、新たな個体を作り出します。これにより、異なる特性を持つ個体が生成され、集団全体としての多様性が増します。
これらのステップを繰り返すことで、進化的アルゴリズムは問題に対するより適切な解決策を見つけ出そうとします。生物学的な進化プロセスに似たこの手法は、最適化や機械学習の分野で広く用いられています。
高校生向けに例を挙げると、次のようなものが考えられます:あるクラスの全員が数学テストを受けたとします。各々の点数が「フィットネス」だとすると、より高い点数を持つ生徒は生き残り(淘汰)、低い点数の生徒は淘汰されます。また、ランダムな「突然変異」を加えることで、新たな解決策を見つけ出す可能性を高めます。さらに、「交叉」により、互いに教え合ったりすることでより良い解決策が生まれることがあります。
このように、進化的アルゴリズムは生物学的な概念を用いて問題の解決策を探る手法であり、その原理は高校レベルでも理解可能です。実際の応用では、適切なパラメータ設定や淘汰圧力の調整などが重要となりますが、基本コンセプトはこのように単純明快です。
UbuntuのシステムモニターでCPUの動作を観察すると、質問を投げたあとしばらくはCPUは動かずにGPUで考えているようだ。コマンドで確認するとGPU稼働率80%となっていた。
$ rocm-smi ============================================ ROCm System Management Interface ============================================ ====================================================== Concise Info ====================================================== Device Node IDs Temp Power Partitions SCLK MCLK Fan Perf PwrCap VRAM% GPU% (DID, GUID) (Edge) (Socket) (Mem, Compute, ID) ========================================================================================================================== 0 1 0x15bf, 29081 58.0°C 34.152W N/A, N/A, 0 None 2800Mhz 0% auto Unsupported 19% 80% ========================================================================================================================== ================================================== End of ROCm SMI Log ===================================================
考えがまとまって回答を出力し始めるとCPUがフル回転し始める。そのように設定したつもりはないが、LM-Studioが自動で判断し、そうしてくれているようだ。
進化的アルゴリズムと遺伝的プログラミングの最もシンプルな例とそれを実証できるサンプルプログラムを教えて
言葉だけで説明されてもよく理解できない。サンプルプログラムを見たり、動かしたほうが理解できる気がしたので聞いてみた。
進化的アルゴリズムと遺伝的プログラミングは、生物学的な進化プロセスに基づく問題解決手法です。以下では、これらの概念の最もシンプルな例として「OneMax」問題を取り上げます。
OneMax問題:
この問題は、与えられた長さNのバイナリ文字列(0と1のみで構成された文字列)の中から、1が最も多く含まれる文字列を見つけることを目的とします。例えば、N=5の場合、「11111」や「10101」といった文字列を考えます。
進化的アルゴリズムによるOneMax問題の解法:
以下に示すのは、Pythonで実装したシンプルな進化的アルゴリズムです。ここでは個体はバイナリ文字列として表現され、適応度は1の数をカウントします。
import random # パラメータ設定 N = 10 # 文字列長さ POPULATION_SIZE = 50 # 集団サイズ MUTATION_RATE = 0.2 # 突然変異率 CROSSOVER_RATE = 0.8 # 交叉率 MAX_GENERATIONS = 100 # 最大世代数 # 個体クラス class Individual: def __init__(self): self.genes = [random.randint(0, 1) for _ in range(N)] self.fitness = sum(self.genes) # 突然変異 def mutate(self): if random.random() < MUTATION_RATE: index = random.randint(0, N-1) self.genes[index] = int(not self.genes[index]) self.fitness = sum(self.genes) # 交叉 @staticmethod def crossover(individual1, individual2): if random.random() < CROSSOVER_RATE: point = random.randint(0, N-1) return Individual(), Individual() else: child1_genes = individual1.genes[:point] + individual2.genes[point:] child2_genes = individual2.genes[:point] + individual1.genes[point:] return Individual(genes=child1_genes), Individual(genes=child2_genes) # 初期集団生成 population = [Individual() for _ in range(POPULATION_SIZE)] # メインループ for generation in range(MAX_GENERATIONS): # 適応度評価 population.sort(key=lambda x: x.fitness, reverse=True) # 淘汰 new_population = population[:int(POPULATION_SIZE * 0.5)] # 突然変異と交叉 for _ in range(int(POPULATION_SIZE*0.4)): parent1, parent2 = random.sample(new_population, k=2) child1, child2 = Individual.crossover(parent1, parent2) new_population.append(child1) new_population.append(child2) # 新しい集団に更新 population = new_population # 最適な個体の出力 print("Best individual:", max(population, key=lambda x: x.fitness).genes)このコードでは、初期集団を生成した後、淘汰圧力を適用し、高い適応度を持つ個体が生き残ります。次に、ランダムな突然変異と交叉を行うことで新たな解決策を見つけ出す可能性を高めます。このプロセスを繰り返すことで、最終的に1の数が最も多い文字列、つまり「111...11」のような文字列を見つけ出します。
この例は進化的アルゴリズムと遺伝的プログラミングの基本的な考え方を示しています。実際の問題解決では、より複雑な表現やルールが用いられることがありますが、このシンプルな例を通じてその概念を理解することができます。進化的アルゴリズムは多くの最適化問題に応用可能で、その柔軟性と探索能力から広く利用されています。
なかなか面白そうなサンプルを回答してくれた。
- 「0」と「1」の文字列を持つ「個体」の集団を作る
- 「1」の数の多い個体ほど適応性が高いと評価する
- 適応性の高い集団を選び世代交代させる
- 交叉率(結合位置をランダムに決めて親の配列を結合して子をつくる)も設定できる
- 突然変異(子の文字列を一文字だけ「0」と「1」を反転させる)の確率を指定できる
まさにDNAの配列が徐々に進化していく過程を思わせるようなサンプルプログラムである。
ただし、残念ながら上記Pythonコードはエラーを吐いて動かなかった。そこでClaude3.5Sonnetに、エラー内容と上記コードを渡して動くソースを作ってもらった。
動作するPythonコードは以下の通りである。文字列が徐々に「進化」する様子を見なければ、アルゴリズムを理解できないので、私がコードを追加して途中結果を出力するようにしている。
import random # パラメータ設定 N = 10 # 文字列長さ POPULATION_SIZE = 50 # 集団サイズ MUTATION_RATE = 0.2 # 突然変異率 CROSSOVER_RATE = 0.8 # 交叉率 MAX_GENERATIONS = 10 # 最大世代数 # 個体クラス class Individual: def __init__(self, genes=None): if genes is None: self.genes = [random.randint(0, 1) for _ in range(N)] else: self.genes = genes self.fitness = sum(self.genes) # 突然変異 def mutate(self): if random.random() < MUTATION_RATE: index = random.randint(0, N-1) self.genes[index] = int(not self.genes[index]) self.fitness = sum(self.genes) # 交叉 @staticmethod def crossover(individual1, individual2): if random.random() < CROSSOVER_RATE: point = random.randint(0, N-1) child1_genes = individual1.genes[:point] + individual2.genes[point:] child2_genes = individual2.genes[:point] + individual1.genes[point:] return Individual(genes=child1_genes), Individual(genes=child2_genes) else: return Individual(genes=individual1.genes[:]), Individual(genes=individual2.genes[:]) # 初期集団生成 population = [Individual() for _ in range(POPULATION_SIZE)] for p in population: print("init_gene:", p.genes, p.fitness) # メインループ for generation in range(MAX_GENERATIONS): # 適応度評価 population.sort(key=lambda x: x.fitness, reverse=True) # 淘汰 new_population = population[:int(POPULATION_SIZE * 0.5)] for new in new_population: print("half of top generation", generation, ":", new.genes, new.fitness) # 突然変異と交叉 while len(new_population) < POPULATION_SIZE: parent1, parent2 = random.sample(new_population, k=2) print("parent1", parent1.genes, parent1.fitness) print("parent2", parent2.genes, parent2.fitness) child1, child2 = Individual.crossover(parent1, parent2) print("child1 ", child1.genes, child1.fitness) print("child2 ", child2.genes, child2.fitness) child1.mutate() print("mutate child1 ", child1.genes, child1.fitness) child2.mutate() print("mutate child2 ", child2.genes, child2.fitness) new_population.append(child1) new_population.append(child2) # 新しい集団に更新 population = new_population[:POPULATION_SIZE] for n in population: print("new_generation", generation, ":", n.genes, n.fitness) # 最適な個体の出力 best_individual = max(population, key=lambda x: x.fitness) print("Best individual:", best_individual.genes) print("Fitness:", best_individual.fitness)
実行結果は以下の通り。実行結果を見ると、最初の世代は適応度(「1」の数)が3から8の間であるのが、世代交代していくうちに適応度9から10の集団に徐々に変化していく様子がわかると思う。パラメータの交叉率や突然変異率を変化させて実行すると結果も違ってきて面白い。
init_gene: [1, 1, 1, 0, 0, 1, 0, 0, 1, 0] 5 init_gene: [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 init_gene: [0, 1, 0, 1, 0, 1, 1, 0, 0, 1] 5 init_gene: [0, 0, 0, 1, 0, 1, 1, 1, 0, 0] 4 init_gene: [1, 1, 0, 0, 1, 0, 1, 1, 1, 0] 6 init_gene: [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 init_gene: [0, 1, 1, 1, 0, 1, 0, 0, 0, 1] 5 init_gene: [0, 0, 0, 0, 1, 1, 0, 0, 0, 0] 2 init_gene: [0, 0, 1, 0, 0, 1, 1, 0, 0, 1] 4 init_gene: [0, 0, 1, 0, 0, 0, 0, 1, 1, 0] 3 init_gene: [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 init_gene: [0, 1, 1, 1, 0, 0, 0, 1, 0, 0] 4 init_gene: [0, 0, 1, 0, 1, 1, 1, 0, 1, 0] 5 init_gene: [0, 0, 0, 0, 1, 0, 0, 1, 0, 1] 3 init_gene: [0, 0, 0, 0, 0, 0, 1, 0, 1, 1] 3 init_gene: [1, 1, 0, 1, 1, 0, 0, 1, 0, 0] 5 init_gene: [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 init_gene: [0, 0, 0, 1, 1, 0, 0, 1, 0, 0] 3 init_gene: [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 init_gene: [1, 0, 1, 1, 1, 1, 0, 0, 1, 0] 6 init_gene: [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 init_gene: [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 init_gene: [0, 1, 1, 1, 1, 1, 1, 0, 0, 0] 6 init_gene: [1, 1, 1, 0, 0, 0, 0, 0, 0, 1] 4 init_gene: [1, 0, 0, 1, 0, 1, 1, 1, 0, 1] 6 init_gene: [0, 1, 0, 1, 1, 0, 0, 0, 0, 0] 3 init_gene: [0, 0, 0, 1, 0, 1, 1, 0, 0, 1] 4 init_gene: [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 init_gene: [0, 1, 1, 0, 0, 0, 1, 1, 0, 0] 4 init_gene: [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 init_gene: [1, 0, 1, 1, 1, 0, 0, 0, 0, 0] 4 init_gene: [1, 0, 0, 1, 1, 1, 0, 1, 1, 0] 6 init_gene: [1, 1, 0, 0, 1, 0, 0, 1, 1, 0] 5 init_gene: [1, 0, 0, 0, 0, 0, 1, 1, 1, 1] 5 init_gene: [0, 0, 0, 1, 1, 1, 1, 1, 1, 0] 6 init_gene: [0, 0, 1, 1, 0, 1, 0, 1, 0, 0] 4 init_gene: [1, 0, 0, 0, 0, 1, 0, 1, 0, 1] 4 init_gene: [1, 1, 1, 1, 0, 1, 0, 0, 0, 1] 6 init_gene: [0, 0, 0, 0, 0, 1, 0, 1, 0, 0] 2 init_gene: [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 init_gene: [0, 1, 1, 0, 0, 0, 0, 1, 0, 0] 3 init_gene: [0, 0, 1, 1, 1, 1, 1, 0, 1, 0] 6 init_gene: [1, 0, 1, 1, 0, 0, 1, 0, 1, 1] 6 init_gene: [0, 1, 0, 0, 0, 0, 1, 1, 1, 0] 4 init_gene: [1, 0, 0, 0, 1, 0, 1, 1, 0, 1] 5 init_gene: [0, 1, 0, 0, 0, 1, 1, 1, 1, 0] 5 init_gene: [1, 0, 0, 1, 1, 0, 0, 1, 1, 0] 5 init_gene: [1, 1, 0, 0, 1, 1, 1, 0, 0, 0] 5 init_gene: [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 init_gene: [1, 0, 1, 1, 0, 0, 0, 0, 0, 1] 4 half of top generation 0 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 0 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 half of top generation 0 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 half of top generation 0 : [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 half of top generation 0 : [1, 1, 0, 0, 1, 0, 1, 1, 1, 0] 6 half of top generation 0 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 half of top generation 0 : [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 half of top generation 0 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 half of top generation 0 : [1, 0, 1, 1, 1, 1, 0, 0, 1, 0] 6 half of top generation 0 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 half of top generation 0 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 0] 6 half of top generation 0 : [1, 0, 0, 1, 0, 1, 1, 1, 0, 1] 6 half of top generation 0 : [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 half of top generation 0 : [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 half of top generation 0 : [1, 0, 0, 1, 1, 1, 0, 1, 1, 0] 6 half of top generation 0 : [0, 0, 0, 1, 1, 1, 1, 1, 1, 0] 6 half of top generation 0 : [1, 1, 1, 1, 0, 1, 0, 0, 0, 1] 6 half of top generation 0 : [0, 0, 1, 1, 1, 1, 1, 0, 1, 0] 6 half of top generation 0 : [1, 0, 1, 1, 0, 0, 1, 0, 1, 1] 6 half of top generation 0 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 half of top generation 0 : [1, 1, 1, 0, 0, 1, 0, 0, 1, 0] 5 half of top generation 0 : [0, 1, 0, 1, 0, 1, 1, 0, 0, 1] 5 half of top generation 0 : [0, 1, 1, 1, 0, 1, 0, 0, 0, 1] 5 half of top generation 0 : [0, 0, 1, 0, 1, 1, 1, 0, 1, 0] 5 half of top generation 0 : [1, 1, 0, 1, 1, 0, 0, 1, 0, 0] 5 parent1 [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 parent2 [1, 0, 1, 1, 0, 0, 1, 0, 1, 1] 6 child1 [1, 0, 1, 1, 0, 0, 1, 0, 1, 1] 6 child2 [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 mutate child1 [1, 0, 1, 1, 0, 0, 1, 0, 1, 1] 6 mutate child2 [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 parent1 [0, 0, 0, 1, 1, 1, 1, 1, 1, 0] 6 parent2 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 child1 [0, 0, 0, 1, 1, 1, 1, 1, 0, 1] 6 child2 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 mutate child1 [0, 0, 0, 1, 1, 1, 1, 1, 0, 1] 6 mutate child2 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 parent1 [0, 1, 0, 1, 0, 1, 1, 0, 0, 1] 5 parent2 [0, 0, 1, 1, 1, 1, 1, 0, 1, 0] 6 child1 [0, 1, 0, 1, 0, 1, 1, 0, 1, 0] 5 child2 [0, 0, 1, 1, 1, 1, 1, 0, 0, 1] 6 mutate child1 [0, 1, 0, 1, 0, 1, 1, 0, 1, 0] 5 mutate child2 [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 parent1 [1, 0, 0, 1, 1, 1, 0, 1, 1, 0] 6 parent2 [1, 1, 0, 1, 1, 0, 0, 1, 0, 0] 5 child1 [1, 0, 0, 1, 1, 0, 0, 1, 0, 0] 4 child2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 mutate child1 [1, 0, 0, 1, 1, 0, 0, 1, 0, 0] 4 mutate child2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 parent1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 parent2 [0, 0, 1, 0, 1, 1, 1, 0, 1, 0] 5 child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 0] 5 child2 [0, 0, 1, 0, 1, 1, 1, 0, 1, 1] 6 mutate child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 0] 5 mutate child2 [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 parent1 [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 parent2 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 child1 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 child2 [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 mutate child1 [1, 1, 0, 1, 0, 0, 1, 1, 1, 0] 6 mutate child2 [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 parent1 [1, 0, 1, 1, 0, 0, 1, 0, 1, 1] 6 parent2 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 child1 [1, 0, 1, 1, 0, 0, 1, 1, 0, 1] 6 child2 [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 mutate child1 [1, 0, 1, 1, 0, 0, 1, 1, 0, 1] 6 mutate child2 [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 parent1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 0] 5 parent2 [1, 0, 1, 1, 0, 0, 1, 1, 0, 1] 6 child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 child2 [1, 0, 1, 1, 0, 0, 1, 1, 0, 0] 5 mutate child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 mutate child2 [1, 0, 1, 1, 0, 0, 1, 1, 0, 0] 5 parent1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 0] 5 parent2 [0, 0, 1, 0, 1, 1, 1, 0, 1, 0] 5 child1 [1, 0, 1, 0, 0, 1, 1, 1, 1, 0] 6 child2 [0, 0, 1, 0, 1, 1, 1, 0, 0, 0] 4 mutate child1 [1, 0, 0, 0, 0, 1, 1, 1, 1, 0] 5 mutate child2 [0, 0, 1, 0, 1, 1, 1, 0, 0, 0] 4 parent1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 parent2 [0, 0, 0, 1, 1, 1, 1, 1, 0, 1] 6 child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 child2 [0, 0, 0, 1, 1, 1, 1, 1, 0, 1] 6 mutate child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 mutate child2 [0, 0, 0, 1, 1, 1, 1, 1, 0, 1] 6 parent1 [1, 1, 0, 1, 1, 0, 0, 1, 0, 0] 5 parent2 [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 child1 [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 child2 [1, 1, 0, 1, 0, 0, 0, 1, 0, 0] 4 mutate child1 [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 mutate child2 [1, 1, 0, 1, 0, 0, 0, 1, 0, 0] 4 parent1 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 parent2 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 child1 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 child2 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 mutate child1 [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 mutate child2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent1 [1, 0, 1, 1, 0, 0, 1, 1, 0, 0] 5 parent2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 child1 [1, 0, 1, 1, 0, 0, 1, 1, 0, 0] 5 child2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 mutate child1 [1, 0, 1, 1, 0, 0, 1, 1, 0, 0] 5 mutate child2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 0 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 0 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 new_generation 0 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 new_generation 0 : [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 new_generation 0 : [1, 1, 0, 0, 1, 0, 1, 1, 1, 0] 6 new_generation 0 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 0 : [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 new_generation 0 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 0 : [1, 0, 1, 1, 1, 1, 0, 0, 1, 0] 6 new_generation 0 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 new_generation 0 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 0] 6 new_generation 0 : [1, 0, 0, 1, 0, 1, 1, 1, 0, 1] 6 new_generation 0 : [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 new_generation 0 : [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 new_generation 0 : [1, 0, 0, 1, 1, 1, 0, 1, 1, 0] 6 new_generation 0 : [0, 0, 0, 1, 1, 1, 1, 1, 1, 0] 6 new_generation 0 : [1, 1, 1, 1, 0, 1, 0, 0, 0, 1] 6 new_generation 0 : [0, 0, 1, 1, 1, 1, 1, 0, 1, 0] 6 new_generation 0 : [1, 0, 1, 1, 0, 0, 1, 0, 1, 1] 6 new_generation 0 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 new_generation 0 : [1, 1, 1, 0, 0, 1, 0, 0, 1, 0] 5 new_generation 0 : [0, 1, 0, 1, 0, 1, 1, 0, 0, 1] 5 new_generation 0 : [0, 1, 1, 1, 0, 1, 0, 0, 0, 1] 5 new_generation 0 : [0, 0, 1, 0, 1, 1, 1, 0, 1, 0] 5 new_generation 0 : [1, 1, 0, 1, 1, 0, 0, 1, 0, 0] 5 new_generation 0 : [1, 0, 1, 1, 0, 0, 1, 0, 1, 1] 6 new_generation 0 : [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 new_generation 0 : [0, 0, 0, 1, 1, 1, 1, 1, 0, 1] 6 new_generation 0 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 new_generation 0 : [0, 1, 0, 1, 0, 1, 1, 0, 1, 0] 5 new_generation 0 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 new_generation 0 : [1, 0, 0, 1, 1, 0, 0, 1, 0, 0] 4 new_generation 0 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 0 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 0] 5 new_generation 0 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 new_generation 0 : [1, 1, 0, 1, 0, 0, 1, 1, 1, 0] 6 new_generation 0 : [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 new_generation 0 : [1, 0, 1, 1, 0, 0, 1, 1, 0, 1] 6 new_generation 0 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 new_generation 0 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 new_generation 0 : [1, 0, 1, 1, 0, 0, 1, 1, 0, 0] 5 new_generation 0 : [1, 0, 0, 0, 0, 1, 1, 1, 1, 0] 5 new_generation 0 : [0, 0, 1, 0, 1, 1, 1, 0, 0, 0] 4 new_generation 0 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 new_generation 0 : [0, 0, 0, 1, 1, 1, 1, 1, 0, 1] 6 new_generation 0 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 0 : [1, 1, 0, 1, 0, 0, 0, 1, 0, 0] 4 new_generation 0 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 new_generation 0 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 0 : [1, 0, 1, 1, 0, 0, 1, 1, 0, 0] 5 half of top generation 1 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 1 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 half of top generation 1 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 half of top generation 1 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 half of top generation 1 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 half of top generation 1 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 half of top generation 1 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 half of top generation 1 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 half of top generation 1 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 half of top generation 1 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 half of top generation 1 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 half of top generation 1 : [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 half of top generation 1 : [1, 1, 0, 0, 1, 0, 1, 1, 1, 0] 6 half of top generation 1 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 half of top generation 1 : [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 half of top generation 1 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 half of top generation 1 : [1, 0, 1, 1, 1, 1, 0, 0, 1, 0] 6 half of top generation 1 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 half of top generation 1 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 0] 6 half of top generation 1 : [1, 0, 0, 1, 0, 1, 1, 1, 0, 1] 6 half of top generation 1 : [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 half of top generation 1 : [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 half of top generation 1 : [1, 0, 0, 1, 1, 1, 0, 1, 1, 0] 6 half of top generation 1 : [0, 0, 0, 1, 1, 1, 1, 1, 1, 0] 6 half of top generation 1 : [1, 1, 1, 1, 0, 1, 0, 0, 0, 1] 6 parent1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent2 [0, 0, 0, 1, 1, 1, 1, 1, 1, 0] 6 child1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 child2 [0, 0, 0, 0, 1, 1, 1, 1, 0, 1] 5 mutate child1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 mutate child2 [0, 0, 0, 0, 1, 1, 1, 1, 0, 1] 5 parent1 [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 parent2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 child1 [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 child2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 mutate child1 [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 mutate child2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 parent1 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 parent2 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 child1 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 child2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 mutate child1 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 mutate child2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 parent1 [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 parent2 [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 child1 [1, 0, 1, 0, 0, 0, 0, 1, 0, 1] 4 child2 [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 mutate child1 [1, 0, 1, 0, 0, 0, 0, 1, 0, 1] 4 mutate child2 [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 parent1 [0, 0, 0, 0, 1, 1, 1, 1, 0, 1] 5 parent2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 child1 [0, 0, 0, 0, 1, 1, 1, 1, 0, 1] 5 child2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 mutate child1 [0, 0, 0, 0, 1, 1, 1, 1, 0, 1] 5 mutate child2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 parent2 [1, 0, 0, 1, 1, 1, 0, 1, 1, 0] 6 child1 [1, 0, 1, 0, 0, 1, 0, 1, 1, 0] 5 child2 [1, 0, 0, 1, 1, 1, 1, 1, 0, 1] 7 mutate child1 [0, 0, 1, 0, 0, 1, 0, 1, 1, 0] 4 mutate child2 [1, 0, 0, 1, 1, 1, 1, 1, 0, 1] 7 parent1 [1, 0, 0, 1, 1, 1, 0, 1, 1, 0] 6 parent2 [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 child1 [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 child2 [0, 0, 0, 1, 1, 1, 0, 1, 1, 0] 5 mutate child1 [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 mutate child2 [0, 0, 0, 1, 1, 1, 0, 1, 1, 1] 6 parent1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 parent2 [1, 0, 1, 1, 1, 1, 0, 0, 1, 0] 6 child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 child2 [1, 0, 1, 1, 1, 1, 0, 0, 1, 0] 6 mutate child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 mutate child2 [1, 0, 1, 1, 1, 1, 0, 0, 1, 0] 6 parent1 [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 parent2 [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 child1 [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 child2 [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 mutate child1 [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 mutate child2 [0, 1, 0, 1, 1, 1, 1, 0, 0, 1] 6 parent1 [1, 0, 1, 0, 0, 0, 0, 1, 0, 1] 4 parent2 [0, 1, 0, 1, 1, 1, 1, 0, 0, 1] 6 child1 [1, 0, 1, 1, 1, 1, 1, 0, 0, 1] 7 child2 [0, 1, 0, 0, 0, 0, 0, 1, 0, 1] 3 mutate child1 [1, 0, 0, 1, 1, 1, 1, 0, 0, 1] 6 mutate child2 [0, 1, 0, 0, 0, 0, 1, 1, 0, 1] 4 parent1 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 parent2 [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 child1 [1, 0, 0, 1, 1, 1, 0, 0, 1, 1] 6 child2 [1, 1, 0, 1, 0, 1, 1, 1, 1, 0] 7 mutate child1 [1, 0, 0, 1, 1, 1, 0, 0, 1, 1] 6 mutate child2 [1, 1, 0, 1, 0, 1, 1, 1, 1, 0] 7 parent1 [1, 0, 1, 0, 0, 0, 0, 1, 0, 1] 4 parent2 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 child1 [1, 0, 1, 0, 0, 0, 0, 1, 0, 1] 4 child2 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 mutate child1 [1, 0, 1, 0, 0, 0, 0, 1, 0, 1] 4 mutate child2 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 parent1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 parent2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 child2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 mutate child1 [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 mutate child2 [1, 1, 0, 1, 1, 1, 0, 1, 0, 0] 6 new_generation 1 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 1 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 new_generation 1 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 new_generation 1 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 new_generation 1 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 new_generation 1 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 1 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 new_generation 1 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 new_generation 1 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 1 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 new_generation 1 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 1 : [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 new_generation 1 : [1, 1, 0, 0, 1, 0, 1, 1, 1, 0] 6 new_generation 1 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 1 : [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 new_generation 1 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 1 : [1, 0, 1, 1, 1, 1, 0, 0, 1, 0] 6 new_generation 1 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 new_generation 1 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 0] 6 new_generation 1 : [1, 0, 0, 1, 0, 1, 1, 1, 0, 1] 6 new_generation 1 : [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 new_generation 1 : [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 new_generation 1 : [1, 0, 0, 1, 1, 1, 0, 1, 1, 0] 6 new_generation 1 : [0, 0, 0, 1, 1, 1, 1, 1, 1, 0] 6 new_generation 1 : [1, 1, 1, 1, 0, 1, 0, 0, 0, 1] 6 new_generation 1 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 1 : [0, 0, 0, 0, 1, 1, 1, 1, 0, 1] 5 new_generation 1 : [1, 1, 0, 1, 0, 1, 0, 0, 1, 1] 6 new_generation 1 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 1 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 new_generation 1 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 1 : [1, 0, 1, 0, 0, 0, 0, 1, 0, 1] 4 new_generation 1 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 1 : [0, 0, 0, 0, 1, 1, 1, 1, 0, 1] 5 new_generation 1 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 1 : [0, 0, 1, 0, 0, 1, 0, 1, 1, 0] 4 new_generation 1 : [1, 0, 0, 1, 1, 1, 1, 1, 0, 1] 7 new_generation 1 : [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 new_generation 1 : [0, 0, 0, 1, 1, 1, 0, 1, 1, 1] 6 new_generation 1 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 new_generation 1 : [1, 0, 1, 1, 1, 1, 0, 0, 1, 0] 6 new_generation 1 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 1 : [0, 1, 0, 1, 1, 1, 1, 0, 0, 1] 6 new_generation 1 : [1, 0, 0, 1, 1, 1, 1, 0, 0, 1] 6 new_generation 1 : [0, 1, 0, 0, 0, 0, 1, 1, 0, 1] 4 new_generation 1 : [1, 0, 0, 1, 1, 1, 0, 0, 1, 1] 6 new_generation 1 : [1, 1, 0, 1, 0, 1, 1, 1, 1, 0] 7 new_generation 1 : [1, 0, 1, 0, 0, 0, 0, 1, 0, 1] 4 new_generation 1 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 new_generation 1 : [1, 0, 1, 0, 0, 1, 1, 1, 0, 1] 6 half of top generation 2 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 2 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 half of top generation 2 : [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 half of top generation 2 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 half of top generation 2 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 half of top generation 2 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 half of top generation 2 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 half of top generation 2 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 half of top generation 2 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 half of top generation 2 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 half of top generation 2 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 half of top generation 2 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 half of top generation 2 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 half of top generation 2 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 half of top generation 2 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 half of top generation 2 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 half of top generation 2 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 half of top generation 2 : [1, 0, 0, 1, 1, 1, 1, 1, 0, 1] 7 half of top generation 2 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 half of top generation 2 : [1, 1, 0, 1, 0, 1, 1, 1, 1, 0] 7 half of top generation 2 : [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 half of top generation 2 : [1, 1, 0, 0, 1, 0, 1, 1, 1, 0] 6 half of top generation 2 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 half of top generation 2 : [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 half of top generation 2 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 parent1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 child1 [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 child2 [1, 1, 0, 0, 1, 1, 1, 1, 0, 1] 7 mutate child1 [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 mutate child2 [1, 1, 0, 0, 1, 1, 1, 1, 0, 1] 7 parent1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent2 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 child1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 child2 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 mutate child1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 mutate child2 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 parent1 [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 parent2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 child1 [0, 1, 0, 1, 1, 1, 1, 1, 1, 0] 7 child2 [1, 0, 0, 1, 0, 1, 1, 1, 0, 1] 6 mutate child1 [0, 1, 0, 1, 1, 1, 1, 1, 1, 0] 7 mutate child2 [1, 0, 0, 1, 0, 1, 1, 1, 0, 1] 6 parent1 [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 parent2 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 child1 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 child2 [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 mutate child1 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 mutate child2 [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 parent1 [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 parent2 [1, 0, 0, 1, 0, 1, 1, 1, 0, 1] 6 child1 [1, 1, 1, 1, 1, 1, 0, 0, 0, 1] 7 child2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 1] 7 mutate child1 [1, 1, 1, 1, 1, 1, 0, 0, 0, 1] 7 mutate child2 [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 parent1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent2 [1, 1, 1, 1, 1, 1, 0, 0, 0, 1] 7 child1 [1, 0, 1, 0, 1, 1, 0, 0, 0, 1] 5 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child1 [1, 0, 1, 0, 1, 1, 0, 0, 0, 1] 5 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 parent1 [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 parent2 [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 child1 [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 child2 [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 mutate child1 [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 mutate child2 [0, 1, 1, 0, 1, 1, 0, 0, 1, 1] 6 parent1 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 parent2 [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 child1 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 child2 [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 mutate child1 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 mutate child2 [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 parent1 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 parent2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 child1 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 child2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 mutate child1 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 mutate child2 [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 parent1 [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 parent2 [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 child1 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 child2 [1, 0, 1, 1, 1, 1, 0, 0, 1, 1] 7 mutate child1 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 mutate child2 [1, 0, 1, 1, 1, 1, 0, 0, 1, 1] 7 parent1 [0, 1, 0, 1, 1, 1, 1, 1, 1, 0] 7 parent2 [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 child1 [0, 1, 0, 1, 0, 0, 0, 1, 0, 1] 4 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [0, 1, 0, 1, 0, 0, 0, 1, 0, 1] 4 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [0, 1, 0, 1, 1, 1, 1, 1, 1, 0] 7 parent2 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 child1 [0, 1, 0, 1, 1, 0, 1, 1, 1, 0] 6 child2 [1, 1, 0, 1, 1, 1, 1, 1, 1, 0] 8 mutate child1 [0, 1, 0, 1, 1, 0, 1, 1, 1, 0] 6 mutate child2 [0, 1, 0, 1, 1, 1, 1, 1, 1, 0] 7 parent1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 parent2 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 child1 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 child2 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 mutate child1 [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 mutate child2 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 2 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 2 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 2 : [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 new_generation 2 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 new_generation 2 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 new_generation 2 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 new_generation 2 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 new_generation 2 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 2 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 new_generation 2 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 new_generation 2 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 2 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 new_generation 2 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 2 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 2 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 new_generation 2 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 2 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 2 : [1, 0, 0, 1, 1, 1, 1, 1, 0, 1] 7 new_generation 2 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 2 : [1, 1, 0, 1, 0, 1, 1, 1, 1, 0] 7 new_generation 2 : [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 new_generation 2 : [1, 1, 0, 0, 1, 0, 1, 1, 1, 0] 6 new_generation 2 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 2 : [1, 1, 1, 1, 0, 0, 0, 1, 0, 1] 6 new_generation 2 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 2 : [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 2 : [1, 1, 0, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 2 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 2 : [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 new_generation 2 : [0, 1, 0, 1, 1, 1, 1, 1, 1, 0] 7 new_generation 2 : [1, 0, 0, 1, 0, 1, 1, 1, 0, 1] 6 new_generation 2 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 new_generation 2 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 new_generation 2 : [1, 1, 1, 1, 1, 1, 0, 0, 0, 1] 7 new_generation 2 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 2 : [1, 0, 1, 0, 1, 1, 0, 0, 0, 1] 5 new_generation 2 : [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 new_generation 2 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 new_generation 2 : [0, 1, 1, 0, 1, 1, 0, 0, 1, 1] 6 new_generation 2 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 2 : [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 2 : [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 new_generation 2 : [1, 0, 0, 1, 0, 1, 1, 1, 1, 0] 6 new_generation 2 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 new_generation 2 : [1, 0, 1, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 2 : [0, 1, 0, 1, 0, 0, 0, 1, 0, 1] 4 new_generation 2 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 2 : [0, 1, 0, 1, 1, 0, 1, 1, 1, 0] 6 new_generation 2 : [0, 1, 0, 1, 1, 1, 1, 1, 1, 0] 7 new_generation 2 : [1, 0, 1, 0, 1, 1, 0, 1, 1, 0] 6 half of top generation 3 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 3 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 3 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 half of top generation 3 : [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 half of top generation 3 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 3 : [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 half of top generation 3 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 half of top generation 3 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 half of top generation 3 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 half of top generation 3 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 half of top generation 3 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 half of top generation 3 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 half of top generation 3 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 half of top generation 3 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 half of top generation 3 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 half of top generation 3 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 half of top generation 3 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 half of top generation 3 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 half of top generation 3 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 half of top generation 3 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 half of top generation 3 : [1, 0, 0, 1, 1, 1, 1, 1, 0, 1] 7 half of top generation 3 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 half of top generation 3 : [1, 1, 0, 1, 0, 1, 1, 1, 1, 0] 7 half of top generation 3 : [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 half of top generation 3 : [1, 1, 0, 0, 1, 1, 1, 1, 0, 1] 7 parent1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent2 [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 child1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 child2 [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 mutate child1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 mutate child2 [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 parent1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 parent2 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 child1 [1, 0, 0, 1, 1, 0, 1, 1, 1, 0] 6 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 0, 0, 1, 1, 0, 1, 1, 1, 0] 6 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent2 [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 child1 [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child1 [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 parent1 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent2 [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 child1 [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 child2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 mutate child1 [1, 0, 1, 0, 1, 1, 1, 0, 1, 1] 7 mutate child2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 child2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 parent1 [1, 0, 0, 1, 1, 0, 1, 1, 1, 0] 6 parent2 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 child1 [1, 0, 0, 1, 1, 0, 1, 1, 1, 1] 7 child2 [0, 1, 1, 1, 0, 1, 1, 1, 1, 0] 7 mutate child1 [1, 0, 0, 1, 1, 0, 1, 1, 1, 1] 7 mutate child2 [0, 1, 1, 1, 0, 1, 1, 1, 1, 0] 7 parent1 [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 child1 [1, 0, 1, 1, 1, 1, 1, 0, 0, 1] 7 child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child1 [1, 0, 1, 1, 1, 1, 1, 0, 0, 1] 7 mutate child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent1 [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 parent2 [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 child1 [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 child2 [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 mutate child1 [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 mutate child2 [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 parent1 [1, 1, 0, 0, 1, 1, 1, 1, 0, 1] 7 parent2 [1, 0, 0, 1, 1, 0, 1, 1, 1, 0] 6 child1 [1, 1, 0, 0, 1, 1, 1, 1, 1, 0] 7 child2 [1, 0, 0, 1, 1, 0, 1, 1, 0, 1] 6 mutate child1 [1, 1, 0, 0, 1, 1, 1, 1, 1, 0] 7 mutate child2 [1, 0, 0, 1, 1, 0, 1, 1, 0, 1] 6 parent1 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 parent2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 child1 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 child2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 mutate child1 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 mutate child2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 parent1 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 parent2 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 child1 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 child2 [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 mutate child1 [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 mutate child2 [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 parent1 [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 parent2 [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 child1 [1, 1, 1, 0, 1, 0, 1, 0, 1, 1] 7 child2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 mutate child1 [1, 1, 1, 0, 1, 0, 1, 0, 1, 1] 7 mutate child2 [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 3 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 3 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 3 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 3 : [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 new_generation 3 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 3 : [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 new_generation 3 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 new_generation 3 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 new_generation 3 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 new_generation 3 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 new_generation 3 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 3 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 new_generation 3 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 new_generation 3 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 3 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 new_generation 3 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 3 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 3 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 new_generation 3 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 3 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 3 : [1, 0, 0, 1, 1, 1, 1, 1, 0, 1] 7 new_generation 3 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 3 : [1, 1, 0, 1, 0, 1, 1, 1, 1, 0] 7 new_generation 3 : [1, 0, 1, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 3 : [1, 1, 0, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 3 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 3 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 new_generation 3 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 3 : [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 new_generation 3 : [1, 0, 0, 1, 1, 0, 1, 1, 1, 0] 6 new_generation 3 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 3 : [1, 0, 1, 0, 1, 1, 0, 0, 1, 1] 6 new_generation 3 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 3 : [1, 0, 1, 0, 1, 1, 1, 0, 1, 1] 7 new_generation 3 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 3 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 3 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 3 : [1, 0, 0, 1, 1, 0, 1, 1, 1, 1] 7 new_generation 3 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 0] 7 new_generation 3 : [1, 0, 1, 1, 1, 1, 1, 0, 0, 1] 7 new_generation 3 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 3 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 3 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 new_generation 3 : [1, 1, 0, 0, 1, 1, 1, 1, 1, 0] 7 new_generation 3 : [1, 0, 0, 1, 1, 0, 1, 1, 0, 1] 6 new_generation 3 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 3 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 3 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 new_generation 3 : [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 new_generation 3 : [1, 1, 1, 0, 1, 0, 1, 0, 1, 1] 7 half of top generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 4 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 4 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 4 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 half of top generation 4 : [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 half of top generation 4 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 half of top generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 half of top generation 4 : [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 half of top generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 half of top generation 4 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 4 : [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 half of top generation 4 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 half of top generation 4 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 half of top generation 4 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 half of top generation 4 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 half of top generation 4 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 half of top generation 4 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 half of top generation 4 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 half of top generation 4 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 half of top generation 4 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 half of top generation 4 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 half of top generation 4 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 parent1 [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 child1 [0, 1, 1, 0, 1, 1, 1, 0, 1, 0] 6 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child1 [0, 1, 1, 0, 1, 1, 1, 0, 1, 0] 6 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent1 [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 parent2 [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 child1 [0, 1, 1, 0, 1, 1, 1, 1, 0, 1] 7 child2 [0, 1, 0, 1, 1, 1, 1, 0, 1, 1] 7 mutate child1 [0, 1, 1, 0, 1, 1, 1, 1, 0, 1] 7 mutate child2 [0, 1, 0, 1, 1, 1, 1, 0, 1, 1] 7 parent1 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 parent2 [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 child1 [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child1 [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 mutate child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent2 [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 child1 [1, 1, 1, 0, 1, 1, 1, 1, 0, 1] 8 child2 [1, 0, 1, 1, 1, 1, 1, 0, 1, 0] 7 mutate child1 [1, 1, 1, 0, 1, 1, 1, 1, 0, 1] 8 mutate child2 [1, 0, 1, 1, 1, 1, 1, 0, 1, 0] 7 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent2 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 0, 1, 1, 1, 1, 1, 0, 1, 0] 7 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 0, 1, 1, 1, 1, 1, 0, 1, 0] 7 parent1 [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 parent2 [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 child1 [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 child2 [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 mutate child1 [1, 1, 0, 1, 1, 1, 1, 0, 1, 1] 8 mutate child2 [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent2 [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 child1 [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 child2 [0, 1, 1, 1, 1, 1, 1, 0, 1, 0] 7 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 mutate child2 [0, 1, 0, 1, 1, 1, 1, 0, 1, 0] 6 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent2 [0, 1, 0, 1, 1, 1, 1, 0, 1, 0] 6 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 child2 [0, 1, 0, 1, 1, 1, 1, 0, 1, 0] 6 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child2 [0, 1, 0, 1, 1, 1, 1, 0, 1, 0] 6 parent1 [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 parent2 [0, 1, 0, 1, 1, 1, 1, 0, 1, 1] 7 child1 [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 child2 [0, 1, 0, 1, 1, 1, 1, 0, 1, 1] 7 mutate child1 [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 mutate child2 [0, 1, 0, 1, 1, 1, 1, 0, 1, 1] 7 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 4 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 4 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 4 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 4 : [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 new_generation 4 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 4 : [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 4 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 4 : [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 new_generation 4 : [0, 1, 0, 1, 1, 1, 1, 1, 0, 1] 7 new_generation 4 : [1, 1, 0, 1, 1, 0, 1, 1, 0, 1] 7 new_generation 4 : [1, 1, 0, 1, 1, 0, 1, 1, 1, 0] 7 new_generation 4 : [0, 1, 1, 1, 1, 1, 1, 0, 0, 1] 7 new_generation 4 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 4 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 1] 7 new_generation 4 : [1, 1, 0, 1, 1, 0, 1, 0, 1, 1] 7 new_generation 4 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 4 : [1, 1, 1, 0, 1, 1, 0, 1, 1, 0] 7 new_generation 4 : [1, 0, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 4 : [1, 1, 0, 1, 1, 1, 0, 1, 1, 0] 7 new_generation 4 : [0, 1, 1, 0, 1, 1, 1, 0, 1, 0] 6 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 4 : [0, 1, 1, 0, 1, 1, 1, 1, 0, 1] 7 new_generation 4 : [0, 1, 0, 1, 1, 1, 1, 0, 1, 1] 7 new_generation 4 : [0, 1, 1, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 4 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 new_generation 4 : [1, 1, 1, 0, 1, 1, 1, 1, 0, 1] 8 new_generation 4 : [1, 0, 1, 1, 1, 1, 1, 0, 1, 0] 7 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 4 : [1, 0, 1, 1, 1, 1, 1, 0, 1, 0] 7 new_generation 4 : [1, 1, 0, 1, 1, 1, 1, 0, 1, 1] 8 new_generation 4 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 new_generation 4 : [0, 1, 0, 1, 1, 1, 1, 0, 1, 0] 6 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 4 : [0, 1, 0, 1, 1, 1, 1, 0, 1, 0] 6 new_generation 4 : [1, 1, 0, 1, 1, 1, 0, 0, 1, 1] 7 new_generation 4 : [0, 1, 0, 1, 1, 1, 1, 0, 1, 1] 7 new_generation 4 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 5 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 5 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 5 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 5 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 half of top generation 5 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 half of top generation 5 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 half of top generation 5 : [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 half of top generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 half of top generation 5 : [1, 1, 1, 0, 1, 1, 1, 1, 0, 1] 8 half of top generation 5 : [1, 1, 0, 1, 1, 1, 1, 0, 1, 1] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent2 [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child2 [1, 1, 0, 1, 1, 1, 1, 0, 1, 0] 7 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child2 [1, 1, 0, 0, 1, 1, 1, 0, 1, 0] 6 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 parent1 [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 0, 1, 1, 1, 1, 1, 1, 0, 1] 8 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 0, 1, 1, 0, 1, 1, 1, 0, 1] 7 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 parent2 [1, 1, 0, 1, 1, 1, 1, 0, 1, 1] 8 child1 [1, 0, 1, 1, 1, 1, 1, 0, 1, 1] 8 child2 [1, 1, 0, 1, 1, 1, 1, 1, 1, 0] 8 mutate child1 [1, 0, 1, 1, 1, 1, 1, 0, 1, 1] 8 mutate child2 [1, 1, 0, 1, 1, 1, 1, 1, 1, 0] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 child1 [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 0, 1, 0, 0, 1, 1] 7 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 0, 1, 1, 1, 1, 1, 0, 1, 1] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child1 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent2 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child2 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child2 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 5 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 5 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 5 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 0, 0, 1, 1] 8 new_generation 5 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 0, 1] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 5 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 5 : [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 new_generation 5 : [1, 1, 1, 0, 1, 1, 1, 1, 0, 1] 8 new_generation 5 : [1, 1, 0, 1, 1, 1, 1, 0, 1, 1] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 5 : [1, 1, 0, 0, 1, 1, 1, 0, 1, 0] 6 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 1, 0, 1, 1, 1, 1, 1, 0, 1] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 0, 1, 1, 0, 1, 1, 1, 0, 1] 7 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 0, 1, 1, 1, 1, 1, 0, 1, 1] 8 new_generation 5 : [1, 1, 0, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 5 : [1, 1, 1, 1, 0, 1, 0, 0, 1, 1] 7 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 5 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 6 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 6 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 6 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 0, 1, 1, 0] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 0] 8 mutate child2 [1, 1, 1, 0, 1, 1, 1, 1, 1, 0] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 0] 8 child1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 0] 8 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 0, 1, 0, 1, 1, 0] 7 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 parent1 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child2 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child2 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [0, 1, 1, 1, 0, 1, 1, 1, 1, 0] 7 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [0, 1, 1, 1, 0, 1, 1, 1, 1, 0] 7 mutate child2 [1, 1, 1, 0, 1, 1, 1, 1, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 6 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 6 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 0, 1, 1, 0] 8 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 0] 8 new_generation 6 : [1, 1, 1, 0, 1, 1, 1, 1, 1, 0] 8 new_generation 6 : [1, 1, 1, 1, 0, 1, 0, 1, 1, 0] 7 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 6 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 6 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 0] 7 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 7 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 7 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 1, 0, 1, 0, 1, 1] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 0, 1, 1, 1, 1, 1, 1, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 0, 1, 1, 1, 1, 1, 1, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 7 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 0] 8 new_generation 7 : [1, 1, 1, 1, 1, 0, 1, 0, 1, 1] 8 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 0, 1, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 7 : [1, 1, 0, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 7 : [1, 1, 0, 1, 1, 1, 1, 1, 1, 0] 8 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 7 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 8 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 8 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child2 [1, 1, 1, 0, 1, 1, 1, 1, 1, 0] 8 parent1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent2 [1, 1, 1, 0, 1, 1, 1, 1, 1, 0] 8 child1 [1, 1, 1, 0, 1, 1, 1, 1, 1, 0] 8 child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child1 [1, 1, 1, 0, 1, 1, 1, 1, 1, 0] 8 mutate child2 [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 0, 1, 1, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child1 [1, 1, 1, 1, 1, 0, 1, 1, 0, 1] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 8 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 8 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 0] 8 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 8 : [1, 1, 1, 0, 1, 1, 1, 1, 1, 0] 8 new_generation 8 : [1, 1, 1, 0, 1, 1, 1, 1, 1, 0] 8 new_generation 8 : [0, 1, 1, 1, 0, 1, 1, 1, 1, 1] 8 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 8 : [1, 1, 1, 1, 1, 0, 1, 1, 1, 1] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 8 : [1, 1, 1, 1, 1, 0, 1, 1, 0, 1] 8 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 8 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 half of top generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 0] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 0, 1, 1, 0, 1, 1, 1, 1, 0] 7 parent1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 child1 [1, 1, 1, 1, 0, 1, 1, 1, 0, 1] 8 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child1 [1, 1, 1, 1, 0, 1, 1, 1, 0, 1] 8 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 child1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child1 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 mutate child2 [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 parent1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 parent2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 mutate child1 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 mutate child2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 0, 1] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 0, 1, 1, 0, 1, 1, 1, 1, 0] 7 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 0, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 1, 1, 0, 1, 0, 1] 8 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 0, 1] 8 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 0, 1, 1, 1, 1, 1] 9 new_generation 9 : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 10 Best individual: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] Fitness: 10
遺伝的プログラミング(進化的プログラミング)
AIは遺伝的プログラミングについても教えてくれた。
遺伝的プログラミングは、より高度な抽象化レベルで問題を解決する手法です。ここでは個体がプログラムとして表現され、その実行可能コードが適応度の評価に用いられます。
以下には、簡単な遺伝的プログラミング例を示します。この例は、与えられた入力に対して特定の出力を生成する関数を見つけ出すことを目的とします。ここで個体はLisp風の構文木として表現され、その実行結果が適応度に影響します。
サンプルプログラムはLISPで書かれていたが、やはり動かなかった。サンプルプログラムは初めからClaude3.5Sonnetに聞いたほうがよさそうだ。
また、遺伝的プログラミングではLISPが使われることが多い。なぜLISPプログラムなのかをAIに聞いてみた。
遺伝的プログラミングにはどうしてLISPが使われるのですか?
遺伝的プログラミングにおけるLISP(LISt Processing)の使用理由は以下の通りです:
構造木表現: 遺伝的プログラミングでは個体を構文木として表現し、ランダムな突然変異や交叉が可能となります。LISPのような言語は、その自然なリスト構造と操作関数から、このような構造木の作成・操作に適しています。
動的生成: LISPではプログラムを実行時に動的に生成することができます。これにより、遺伝的プログラミングで新たな個体を作り出す際に、新しい構文木を簡単に生成することができます。
シンプルさと柔軟性: LISPは非常にシンプルでありながらも高い表現力を持つ言語です。このため、遺伝的プログラミングで必要な複雑な操作や判断を容易に行うことができ、その柔軟性から多様な問題に対応可能となります。
歴史的な理由: 遺伝的プログラミングの初期において、LISPが広く用いられていたこともあります。John Koza博士らによる先駆的な研究ではLISPが中心的に使用されており、この流れを受けて多くの実装でLISPが採用されました。
以上のように、遺伝的プログラミングにおけるLISPの使用には技術的な利点と歴史的な背景があります。ただし、近年は他の言語やフレームワークも広く用いられるようになっており、問題に応じて最適なツールを選択することが重要です。
LISPはEmacsのElispを少しさわったことがある程度で、Common LISPは使ったことがない。
LISPは動的生成といって、プログラムを実行時に動的に生成できる、というのは昔聞いたような気がするが、自分の中では理解できていない。
Ubuntu環境では「sudo apt install clisp」で簡単にCommon LISPはインストールできるのだが、サンプルプログラムを動かして理解するのは大変そうだ。
本日のまとめ
70BのAIは、サンプルプログラムは完璧ではなかったが、優秀な大学生の家庭教師レベルで「進化的アルゴリズム」と「遺伝的プログラミング」について、教えてくれた。
「進化的アルゴリズム」はなんとなく理解できたが、「遺伝的プログラミング」を理解するには、もう少し時間と努力が必要なようだ。