All streams
Search
Write a publication
Pull to refresh
5
0
Антон Чапоргин @wpm1

User

Send message
тьфу. «Some error… We know...»
Ну и мы сделали так:
1) ввели вторую цель той же длины #define GA_TARGET2 std::string(«Hello gnome!»)
2) изменили целевую функцию
population[i].fitness = 0;
fitness = 0;
for (int j=0; j<tsize; j++) {
fitness += abs(int(population[i].str[j] — target[j]));
}
population[i].fitness = fitness;
fitness = 0;
for (int j=0; j<tsize; j++) {
fitness += abs(int(population[i].str[j] — target2[j]));
}

population[i].fitness *= fitness;

Т.е. определили её как произведение модулей разности целевых векторов и особи.
И теперь алгоритм падает то к одному то ко второму экстремуму.
Ну и мы сделали так:
1) ввели вторую цель той же длины #define GA_TARGET2 std::string(«Hello gnome!»)
2) изменили целевую функцию
population[i].fitness = 0;
fitness = 0;
for (int j=0; j<tsize; j++) {
fitness += abs(int(population[i].str[j] — target[j]));
}
population[i].fitness = fitness;
fitness = 0;
for (int j=0; j<tsize; j++) {
fitness += abs(int(population[i].str[j] — target2[j]));
}

population[i].fitness *= fitness;

Т.е. определили её как произведение модулей разности целевых векторов и особи.
И теперь алгоритм падает то к одному то ко второму экстремуму.
Мы вот с другом задумались. У вас ведь задача получается с одним глобальным экстремумом? И локальные экстремумы совпадают с глобальным.
Можно ли вашу целевую функцию сделать функцией с двумя глобальными экстремумами. Чтобы задача интереснее была.
мерси. второй пример захватывает. Рассылаю по контакт листу.
Поделитесь нормальным примером. Очень интересно попробовать.
А зачем потихоньку? Учите смелее, раз взялись!
оффтопик. Вот часто говорят на два порядка, на три порядка. Вчера с другом вышел разговор, а что это значит? «На два порядка выше» — это значит примерно на 20 больше или больше примерно в 100 раз?
ну конечно… Только вот подорожает не только электроэнергия. А сразу все товары, для производства которых требуется куча электроэнергии. Алюминий например.
ну насколько я понимаю оранжевые точки до 2010 года это вполне реальные показатели цены на ядерную энергию. И они тоже все выше. Интересно, почему.
В Шене есть «массивный тип»
ну, чито же, можно $end_time = $time_limit?time():strtotime('+1 year');
Они вообще там колоссальную базу говнокода создали, поэтому будет невозможно что-то изменить к лучшему в нем. Можно только переписать и назвать новый продукт старым именем.
как и любая революция!
Это даже необязательно прописывать в договоре. Это из трудового законодательства следует.

Information

Rating
Does not participate
Location
Иркутск, Иркутская обл., Россия
Date of birth
Registered
Activity