@@ -55,7 +55,7 @@ enum Type {
55
55
* 交叉を行うインスタンスを生成するメソッド.
56
56
*
57
57
* @see Crossover.Type#initialize(Random, FirstVariantSelectionStrategy,
58
- * SecondVariantSelectionStrategy, int)
58
+ * SecondVariantSelectionStrategy, int, int )
59
59
*
60
60
* @param random 交叉処理の内部でランダム処理を行うためのシード
61
61
* @param firstVariantSelectionStrategy 1つ目の親を選ぶためのアルゴリズム
@@ -84,7 +84,7 @@ public Crossover initialize(final Random random,
84
84
* 交叉を行うインスタンスを生成するメソッド.
85
85
*
86
86
* @see Crossover.Type#initialize(Random, FirstVariantSelectionStrategy,
87
- * SecondVariantSelectionStrategy, int)
87
+ * SecondVariantSelectionStrategy, int, int )
88
88
*
89
89
* @param random 交叉処理の内部でランダム処理を行うためのシード
90
90
* @param firstVariantSelectionStrategy 1つ目の親を選ぶためのアルゴリズム
@@ -113,7 +113,7 @@ public Crossover initialize(final Random random,
113
113
* 交叉を行うインスタンスを生成するメソッド.
114
114
*
115
115
* @see Crossover.Type#initialize(Random, FirstVariantSelectionStrategy,
116
- * SecondVariantSelectionStrategy, int)
116
+ * SecondVariantSelectionStrategy, int, int )
117
117
*
118
118
* @param random 交叉処理の内部でランダム処理を行うためのシード
119
119
* @param firstVariantSelectionStrategy 1つ目の親を選ぶためのアルゴリズム
@@ -130,6 +130,35 @@ public Crossover initialize(final Random random,
130
130
return new UniformCrossover (random , firstVariantSelectionStrategy ,
131
131
secondVariantSelectionStrategy , generatingCount , requiredSolutions );
132
132
}
133
+ },
134
+
135
+ /**
136
+ * 直列交叉を表す型.
137
+ *
138
+ * @see jp.kusumotolab.kgenprog.ga.crossover.CascadeCrossover
139
+ */
140
+ Cascade {
141
+ /**
142
+ * 交叉を行うインスタンスを生成するメソッド.
143
+ *
144
+ * @see Crossover.Type#initialize(Random, FirstVariantSelectionStrategy,
145
+ * SecondVariantSelectionStrategy, int, int)
146
+ *
147
+ * @param random 交叉処理の内部でランダム処理を行うためのシード
148
+ * @param firstVariantSelectionStrategy 1つ目の親を選ぶためのアルゴリズム
149
+ * @param secondVariantSelectionStrategy 2つ目の親を選ぶためのアルゴリズム
150
+ * @param generatingCount 一世代の交叉処理で生成する個体の数
151
+ * @param requiredSolutions 生成する必要がある修正プログラムの数
152
+ * @return 交叉を行うインスタンス
153
+ */
154
+ @ Override
155
+ public Crossover initialize (final Random random ,
156
+ final FirstVariantSelectionStrategy firstVariantSelectionStrategy ,
157
+ final SecondVariantSelectionStrategy secondVariantSelectionStrategy ,
158
+ final int generatingCount , final int requiredSolutions ) {
159
+ return new CascadeCrossover (firstVariantSelectionStrategy ,
160
+ secondVariantSelectionStrategy , requiredSolutions );
161
+ }
133
162
};
134
163
135
164
/**
0 commit comments