Что такое Эволюционные алгоритмы?

Изменить эту статью (последний раз изменялась 28 июня 2006 г. 13:34)
Главная | Список обновлений | Содержание | Настройки | Помощь

В.1 Что такое Эволюционные Алгоритмы?

(англ. Evolutionary Algorythm, англ. сокр. EA)

Эволюционный алгоритм – это всеохватывающий термин, используемый для описания компьютерных систем решения проблем, в которых в качестве ключевого элемента конструкции и исполнения используются вычислительные модели эволюционных процессов. Существует множество различных эволюционных алгоритмов. Основные из них: генетические алгоритмы, эволюционное программирование, эволюционные стратегии, системы классификаторов, генетическое программирование. Они все разделяют общую концепцию симуляции эволюции индивидуальных структур, посредством процессов отбора, мутации и воспроизводства. Поведение процессов опрделяется окружающей средой индивидуальных структур и зависит от их текущих характеристик.

Другими словами, эволюционные алгоритмы поддерживают популяции структур, которые эволюционируют в соответствии с правилами отбора и другими операторами, которые называются «операторами поиска» (или генетическими операторами), такие как рекомбинация и мутация. Каждому индивидууму популяции назначается значение его пригодности в окружающей среде. Воспроизводство фокусирует внимание на индивидуумах с более высокими значениями пригодности, используя (Использование) доступную информацию об индивидуумах. Рокомбинация и мутация влияют на индивидуумов, предостовляя тем самым базовую эвристику для исследования. Несмотря на свою простоту с точки зрения биолога, эти алгоритмы достаточно сложны, чтобы предоставить устойчивые и мощные адаптивные поисковые механизмы.

Псевдокод:

Algorithm EA is
    // Начальное время
    t := 0;
    
    // Инициализация обычно случайной популяции инивидуумов
    initpopulation P (t);
    
    // Оценка пригодности всех начальных индивидуумов популяции
    evaluate P (t);
    
    // Проверка критерия прекращения поиска (время, пригодность, и т.п.)
    while not done do
        // Увеличить счетчик времени
        t := t + 1;
        
        // Выбор суб-популяции для производства потомоков
        P' := selectparents P (t);
        
        // Рекомбинация «генов» выбранных родителей
        recombine P' (t);
        
        // Искажение спаренной популяции случайным образом
        mutate P' (t);
        
        // Переоценка новых значений пригодности популяции
        evaluate P' (t);
        
        // Отбор выживших индивидуумов по значению пригодности
        P := survive P,P' (t);
    od
end EA.

Назад к содержанию


по мотивам: http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/faqs/ai/genetic/part2/faq-doc-1.html


Главная | Список обновлений | Содержание | Настройки | Помощь
Изменить статью | Предыдущие версии

Воспользуйтесь поиском, чтобы найти статью:


Новости | Материалы | Справочник | Форум | Гостевая книга | Ссылки | О сайте Copyright © 2001-2022, www.gotai.net