0

저는 유전 프로그래밍에서 프로젝트를하고 있습니다. 유전자 프로그램 (문자열 deap.creator.Individual)을 문자열로 변환하고, 문제를 100 % 통일적으로 DEAP에 맞춰 유지하면서 변경할 수 있어야합니다. 그리고 나서 그것을 진화를위한 개인 집단으로 되돌려 놓습니다.GP를 문자열로 변환하고 파이썬에서 DEAP을 사용하여 다시 어떻게 변환합니까?

그러나 from_string 메서드를 사용하여 문자열을 gp.PrimitiveTree 클래스로 다시 변환 할 수만있었습니다. 창조자를위한 유일한 생성자. 개인은 맹목적으로 전체 모집단을 생성하거나 기존의 개인으로부터 개인을 구성하는 것을 봅니다. 기존 gp.PrimitiveTree에서 개인 한 명만 생성하는 방법은 없습니다.

그래서, 아무도 내가 그것에 대해 어떻게 생각하는지 모르십니까?

참고 : 개인이 자기 정의이지만, 모든 DEAP 예에서 표준이며 나는이 문제를 알아 냈어요 생각 많은 많은 시간 후에

creator.create("FitnessMax", base.Fitness, weights=(1.0,)) 
creator.create("Individual", gp.PrimitiveTree, fitness=creator.FitnessMax) 

답변

1

를 사용하여 만들어집니다.

그래서 'DEAP'모듈 중 두 가지 : '창조자'와 '도구 상자'가 혼란스러워졌습니다. 하지 않는 당신이

creator.Individual(myPrimativeTree) 

무엇 :와

toolbox.individual(myPrimativeTree) 

은 일반적으로 initialiser로 설치를 얻을 제가 간단하게 할 필요가 주어진 PrimitiveTree와 개인을 생성하기 위해서는 그 자체로 논쟁을하지 않는다.

앞으로 어떤 시점에서 누군가가 상당한 시간을 절약 할 수 있기를 바랍니다.