2013-02-03 3 views
1

저는 R을 사용하고 있습니다. 특히 유전자 알고리즘을 빠르게 구현하고 관련 활동을 검색 할 수있는 genalg 패키지를 사용하고 있습니다.rbga.bin에서 크로스 오버 비율을 설정하는 방법, genalg 패키지?

예제 코드를 실행할 수 있습니다. 정상적으로 작동합니다. 저자에게 감사드립니다.

아직도 genalg에서 표준 GA (돌연변이 속도 및 교차율) 매개 변수를 설정하는 방법에 관해 다음과 같은 질문이 있습니다. 패키지 관련 문서에서 이러한 질문에 대한 답변을 찾을 수 없습니다. 내가 rbga.bin의 크로스 오버 속도를 설정하는 방법

그런 다음 함수 호출이

GAcall <- rbga.bin(size= numOfLAttr, 
       popSize=10, mutationChance=0.05, zeroToOneRatio=10, 
       iters=3, evalFunc=trading.evaluate, verbose=TRUE, 
       monitorFunc=monitor) 

)를 고려?

a.1) a) 불가능한 경우 rbga에서 크로스 오버가 구현되며, 그렇다면 어떤 확률이 적용됩니까?

b) mutationChance 매개 변수는 Goldberg의 저서에 설명 된 간단한 GA의 "돌연변이 비율"에 해당합니까?

답변

0

CrosseOver가 구현되었습니다. rbga.bin을 상세 모드로 실행하면 크로스 오버를 적용하는 메시지가 나타납니다..

부모 pobability가 생성됩니다

parentProb = dnorm(1:popSize, mean = 0, 
      sd = (popSize/3)) 

그래서 당신이 popSize 매개 변수를 사용하여 재생할 수 crosseOver을 TUN 할 수 있습니다.

+0

그래서 parentProb은 값의 벡터입니다. 그렇다면 그 벡터는 어떻게 사용 되는가? CrossOver 속도가 알고리즘 실행 중에 변경된다는 의미입니까? Simple GA처럼 일정하지 않아야합니까? –