質問編集履歴

2

エラーの場所の明記

2021/04/26 14:34

投稿

papikonoqui
papikonoqui

スコア10

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,11 @@
12
12
 
13
13
  ### 発生している問題・エラーメッセージ
14
14
 
15
+ エラーはevaluation関数の
15
16
 
17
+     fitness.append(sum(gene[i]))
18
+
19
+ で発生しています。
16
20
 
17
21
  ```
18
22
 

1

関数の呼び出しを行うmain関数のソースコードを追加しました。

2021/04/26 14:34

投稿

papikonoqui
papikonoqui

スコア10

test CHANGED
File without changes
test CHANGED
@@ -30,6 +30,8 @@
30
30
 
31
31
  evaluation(gene):要素の合計を適応度とし、100個体分の適応度をリストfitnessに格納
32
32
 
33
+ main(): 他関数の呼び出しを行う。
34
+
33
35
  となっています
34
36
 
35
37
  ```ここに言語名を入力
@@ -52,6 +54,52 @@
52
54
 
53
55
  return fitness
54
56
 
57
+
58
+
59
+ def main():
60
+
61
+ gene = first_generation()
62
+
63
+ next_gene = []
64
+
65
+ count_a = 0
66
+
67
+ while count_a < generation:
68
+
69
+ fitness = evaluation(gene)
70
+
71
+ generation_evaluation(fitness, count_a+1)
72
+
73
+ elite = elite_selection(gene, fitness)
74
+
75
+ # 優秀な30個体はそのまま引き継がれる
76
+
77
+ next_gene.append(elite)
78
+
79
+
80
+
81
+ count_b = 0
82
+
83
+ while count_b < child_n: # 生成する子個体の数は70
84
+
85
+ parents = tournament_selection(gene, fitness)
86
+
87
+ child = cross(parents)
88
+
89
+ child = mutation(child)
90
+
91
+ next_gene.append(child)
92
+
93
+ count_b += 1
94
+
95
+
96
+
97
+ gene = copy.deepcopy(next_gene)
98
+
99
+ count_a += 1
100
+
101
+
102
+
55
103
  ```
56
104
 
57
105