У меня есть программа генетического алгоритма, все распределяется динамически с использованием векторов. Нигде число поколений или отдельных лиц на поколение не установлено во время компиляции.Подпись вектора иногда за пределами допустимого диапазона
Я пробовал его с использованием 500, 1000, 2000 поколений, он отлично работает. Затем я попробовал 10 000 поколений. Это дало мне отладочное утверждение, неудачный, индекс вектора вышел из диапазона в генерации 4966.
Я попытался снова дважды с теми же параметрами, 10 000 поколений, все прошло отлично.
Я попробовал это еще раз, я получил ошибку при генерации 7565.
Это странно, что иногда он отлично работает, иногда я получаю сообщение об ошибке. Особенно учитывая, что все делается с использованием векторов.
Любые идеи о том, где могла возникнуть проблема? Может быть, режим отладки по какой-то причине глючит?
Проблема возникает из-за ошибки в коде. Не видя какого-либо из вашего кода, трудно догадаться, что это может быть. – john
Вы ноль-инициализируете свои векторы? Если нет, вы можете принимать решения на основе случайных данных. Возможно, использовать Вальгринда? – RichieHindle
«Странно, что иногда это работает отлично, иногда я получаю ошибку» - нет, это не так. У меня много чего с моими ошибками. пожалуйста, покажите нам код. –