本文整理匯總了Python中rule.Rule.crossover方法的典型用法代碼示例。如果您正苦於以下問題:Python Rule.crossover方法的具體用法?Python Rule.crossover怎麽用?Python Rule.crossover使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類rule.Rule
的用法示例。
在下文中一共展示了Rule.crossover方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _crossover
# 需要導入模塊: from rule import Rule [as 別名]
# 或者: from rule.Rule import crossover [as 別名]
def _crossover(self, list_of_rules):
"""
Crea cruces entre las reglas en la lista `list_of_rules`.
TODO: A DEFINIRSE.
- Parametros
- Eleccion
- Forma de cruzamiento
"""
"""
Implementacion α. Suponiendo que se obtienen 4 reglas, y se quieren
10 en total se crean hijos a partir de las combinaciones de 4 tomadas
de a dos (6) y se lo suma a los padres para un total de 10.
"""
if len(list_of_rules) > 1:
combinations = [x for x in itertools.combinations(list_of_rules, 2)]
# Uso itertools.combinations para crear sets de combinaciones de las reglas.
while len(list_of_rules) < self.size_rule_generation:
for rule1, rule2 in combinations:
new_rule = Rule.crossover(rule1['rule'], rule2['rule'])
rule_map = {'fitness': (0, 0), 'rule': new_rule}
list_of_rules.append(rule_map)
else:
print "Invalid number of rules to crossover (" + str(len(list_of_rules)) + ")."
exit(0)
return list_of_rules[:self.size_rule_generation]