Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Искусственный интеллект arrow Генетический алгоритм (платный раздел) arrow Генетический алгоритм. Урок 11. Отглючиваем генетический алгоритм
16.08.2018 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Генетический алгоритм. Урок 11. Отглючиваем генетический алгоритм Печать E-mail
Автор megabax   
09.12.2016 г.
unit AIObj

Генетический алгоритм. Урок 11. Отглючиваем генетический алгоритм

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


И так, как я уже писал на прошлом уроке, обнаружился странный глюк с исчезновением лучшей особи. Согласно нашему алгоритму, это исчезновение невозможно, так как лучшая особь не мутирует.  Так что это глюк и его нужно ловить. Как мы это будем делать? Давайте сначала убедимся в том, что она действительно не матирует. Как мы это сделаем? Просто на каждой итерации будем проверять целостность объекта, отвечающей за лучшую особь. Каким образом?  Сравнить с эталоном.  Но для этого нам потребуется специальная функция, производящая сравнения. Для начала создадим этот метод у передаточной функции, для чего сначала добавим его в интерфейс:

    /// <summary>

    /// Интерфейс передаточной функции

    /// </summary>

    public interface ITransFunc

    {

 

        /// <summary>

        /// Проверить эквивалентность передаточной функции

        /// </summary>

        /// <param name="a_func">Другой объект передаточной функции</param>

        /// <returns>true - эквивалентны, false - разные</returns>

        bool is_equal(ITransFunc a_func);

...

...

Теперь будем делать его у всех передаточных функций, ....

...

...

...

 
« След.   Пред. »
 
© 2018 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше