유전자 알고리즘 프로그램이 있으며, 모든 것은 벡터를 사용하여 동적으로 할당됩니다. 컴파일 타임에 세대 당 세대 수나 세대 수는 아무데도 없습니다.벡터의 첨자가 때때로 범위를 벗어납니다.
500, 1000, 2000 세대를 사용해 보았는데 완벽하게 실행됩니다. 그런 다음 1 만 세대를 시험했습니다. 그것은 나에게 디버그 단언 실패, 벡터 첨자가 4966 세대에서 범위를 벗어났습니다.
동일한 매개 변수 10,000 번을 사용하여 두 번 다시 시도했지만 정상적으로 실행되었습니다.
나는 가끔 오류를 얻을, 그것은 한 번 더, 나는 세대 7565.그것은 때로는 완벽하게 작동하는지 이상한에서 오류가 발생했습니다 시도했다. 특히 모든 것을 벡터를 사용하여 수행하는 것을 고려하십시오.
어디에서 문제가 발생했는지에 대한 아이디어가 있습니까? 어쩌면 디버그 모드가 어떤 이유로 버그가있을 수 있습니까?
문제는 코드의 버그에서 비롯됩니다. 코드를 보지 않고서 무엇이 될지 추측하기는 어렵습니다. – john
벡터를 제로 초기화 하시겠습니까? 그렇지 않은 경우 무작위 데이터를 기반으로 의사 결정을 내릴 수 있습니다. 아마도 Valgrind를 사용합니까? – RichieHindle
"때로는 완벽하게 작동하고 때로는 오류가 발생하는 것이 이상합니다."- 그렇지 않습니다. 나는 벌레들과 함께 많은 것을 가지고있다. 우리에게 코드를 보여주십시오. –