2014-11-09 2 views
2

파이썬 스크립트가 있습니다. 간단한 유전 알고리즘입니다. 리스트 (리스트는 itertools로 생성)에서 무작위 순서를 생성하고, 테스트하고, 최상의 결과를 돌연변이시키고,보다 무작위적인 결과를 생성합니다. 일부 컴퓨터에서는 완벽하게 작동하지만 다른 컴퓨터에서는 솔루션으로 수렴하지 않습니다.스크립트가 다른 컴퓨터에서 다른 결과를 반환합니다.

나는 모든 코드를 보여줄 수 없지만, 내가 아는 한 너무 특별한 것은 아무것도 없다.

중고 libs와 무작위에서

import itertools 
import numpy.random as random 
import copy 

나는 randint, 셔플을 사용합니다.

내가 시도하는 것 : 파이썬 무작위 numpy.random 사이

  1. 변화 - 변화 없음.
  2. check version - 파이썬 < 2.7.x뿐만 아니라 파이썬 2.7.6 이상에서는 작동하지 않습니다. (지금까지 내가 테스트 한 것). 그래서 파이썬 버전이 관련이 있다고 생각하지 않습니다.
  3. 64 비트 및 32 비트 운영 체제를 테스트합니다. 32 비트 Windows 7, 32 비트 우분투, 64 비트 우분투에서 작동하며 다른 32 비트 우분투에서는 작동하지 않습니다! 따라서 운영 시스템이 중요하지 않은 것처럼 보입니다.

아무도 비슷한 문제가 있습니까? 확인해야 할 다음 사항은 무엇입니까?

답변

3

대부분의 경우 알고리즘은 일부 입력에 대해 수렴되지만 다른 알고리즘에는 맞지 않는 버그 또는 숫자 문제가 있습니다 (알고리즘이 난수 생성 프로그램에서 생성 된 값에 따라 결정적이지 않은 경우).

난수 생성기를 시드하여 결과를 재현 할 수있게하십시오.

+0

그것은 그 문제가 난수에 있지 않다는 것을 깨닫는 데 도움이되었습니다. – matousc