1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
| Rocket |
22.10.2008 22:08
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Вот реализация генетического алгоритма. Вобщем, помогите исправить баг.
Кусок места, где происходит вылет из программы. Вывод матрицы срабатывает, а потом... Прикрепленные файлы
Mlab_3GA.cpp ( 13.94 килобайт )
Кол-во скачиваний: 228 |
| volvo |
22.10.2008 22:42
Сообщение
#2
|
|
Гость |
Цитата Вывод матрицы срабатывает, а потом... ... а потом продолжает работать дальше. Показывай, какие данные вводишь...Единственное, что бросается в глаза: Ma3x = new int*[nota];Я бы все-таки заменил закомментированную строку так, как показано ниже... Иначе у тебя могут инициализироваться не все элементы матрицы... |
| Rocket |
22.10.2008 23:47
Сообщение
#3
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
... а потом продолжает работать дальше. Показывай, какие данные вводишь... Единственное, что бросается в глаза: Ma3x = new int*[nota];Я бы все-таки заменил закомментированную строку так, как показано ниже... Иначе у тебя могут инициализироваться не все элементы матрицы... хехе всё так и оказалось Добавлено через 5 мин. Вот в этом месте, где я провожу турнирный отбор особей, рандомайз мой всё время с равнивает с одной и той же особью предыдушего поколения...
Как исправить этот момент? |
| volvo |
23.10.2008 0:11
Сообщение
#4
|
|
Гость |
Зачем ты на протяжении одной программы несколько раз инициализируешь датчик случайных чисел? Где-то было описание бага: при вызове srand() несколько раз функция rand() генерирует одинаковые значения... Сделай один вызов в самом начале программы, все остальные закомментируй и проверь...
|
| Rocket |
23.10.2008 0:13
Сообщение
#5
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Зачем ты на протяжении одной программы несколько раз инициализируешь датчик случайных чисел? Где-то было описание бага: при вызове srand() несколько раз функция rand() генерирует одинаковые значения... Сделай один вызов в самом начале программы, все остальные закомментируй и проверь... Так а я же с разными параметрами использую srand(). Или всё равно? |
| Rocket |
23.10.2008 0:36
Сообщение
#6
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Вот нашел ещё один косяк: последующее поколение полностью состоит из одинаковых особей. Чем это вызвано?...даа и ещё походу мутация барахлит)...
Прикрепленные файлы
SaveGA.txt ( 3.27 килобайт )
Кол-во скачиваний: 210 |
| volvo |
23.10.2008 1:12
Сообщение
#7
|
|
Гость |
Ты опять за свое? ОТКУДА ты взял ЭТОТ файл? Вот расскажи, ты что, действительно думаешь, что я не обратил внимание на то, что у тебя В ПРОГРАММЕ не выводится нигде строка: "Comparison with 1- Generation 2- Individ" в файл? Что выводится строка
out <<"***GENERATION*** " <<i+1<<endl;, которая ну никак не выдаст в файл Цитата *** 2 - GENERATION: *** , ну хоть что ты с ней делай - не выдаст...Правил исходники - выкладывай новую версию, я не намерен догадываться, ЧТО ты там наисправлял... Не правил - значит спрашивай у того, кто выдумал такой выходной файл, ибо программа его сгенерировать просто не может!!! |
| Rocket |
23.10.2008 1:39
Сообщение
#8
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Ты опять за свое? ОТКУДА ты взял ЭТОТ файл? Вот расскажи, ты что, действительно думаешь, что я не обратил внимание на то, что у тебя В ПРОГРАММЕ не выводится нигде строка: "Comparison with 1- Generation 2- Individ" в файл? Что выводится строка out <<"***GENERATION*** " <<i+1<<endl;, которая ну никак не выдаст в файл , ну хоть что ты с ней делай - не выдаст... Правил исходники - выкладывай новую версию, я не намерен догадываться, ЧТО ты там наисправлял... Не правил - значит спрашивай у того, кто выдумал такой выходной файл, ибо программа его сгенерировать просто не может!!! Ну я тут совсем чуть-чуть переделал, чтоб вывод был более понятен. Вот последний вариант, который у меня сейчас на руках... Прикрепленные файлы
Mlab_3GA.cpp ( 14.82 килобайт )
Кол-во скачиваний: 210 |
| Rocket |
29.11.2008 19:26
Сообщение
#9
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Перешёл к реализации генетического алгоритма с элитой (алгорит организации элиты - критический путь).
Вроде бы всё вобщем работает, только имеются ошибки: - при турнирном отборе в следущее поколение попадает особь с большим Т ( согласно алгоритму в следующее поколение должна попадать особь с меньшим Т) ; - элита не занимает место "0" особи поколения (по моему алгоритму она должна это делать); - не считается первое повторение Т. Чем вызваны эти ошибки? Помогите пожалуйста их исправить. Прикрепленные файлы
ganj.cpp ( 10.99 килобайт )
Кол-во скачиваний: 255 |
![]() ![]() |
|
Текстовая версия | 8.12.2025 15:59 |