Главная | Список обновлений | Содержание | Настройки | Помощь | |
Эволюционный алгоритм – это всеохватывающий термин, используемый для описания компьютерных систем решения проблем, в которых в качестве ключевого элемента конструкции и исполнения используются вычислительные модели эволюционных процессов. Существует множество различных эволюционных алгоритмов. Основные из них: генетические алгоритмы, эволюционное программирование, эволюционные стратегии, системы классификаторов, генетическое программирование. Они все разделяют общую концепцию симуляции эволюции индивидуальных структур, посредством процессов отбора, мутации и воспроизводства. Поведение процессов опрделяется окружающей средой индивидуальных структур и зависит от их текущих характеристик.
Другими словами, эволюционные алгоритмы поддерживают популяции структур, которые эволюционируют в соответствии с правилами отбора и другими операторами, которые называются «операторами поиска» (или генетическими операторами), такие как рекомбинация и мутация. Каждому индивидууму популяции назначается значение его пригодности в окружающей среде. Воспроизводство фокусирует внимание на индивидуумах с более высокими значениями пригодности, используя (Использование) доступную информацию об индивидуумах. Рокомбинация и мутация влияют на индивидуумов, предостовляя тем самым базовую эвристику для исследования. Несмотря на свою простоту с точки зрения биолога, эти алгоритмы достаточно сложны, чтобы предоставить устойчивые и мощные адаптивные поисковые механизмы.
Псевдокод:
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.
Новости | Материалы | Справочник | Форум | Гостевая книга | Ссылки | О сайте | Copyright © 2001-2022, www.gotai.net |