Эволюционные вычисления

Эволюционные вычисления

Omi-io


Эволюционные алгоритмы — направление в искусственном интеллекте (раздел эволюционного моделирования), которое использует и моделирует процессы естественного отбора.

Виды алгоритмов:

  • Генетические алгоритмы — эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров;
  • Генетическое программирование — автоматическое создание или изменение программ с помощью генетических алгоритмов;
  • Эволюционное программирование — аналогично генетическому программированию, но структура программы постоянна, изменяются только числовые значения;
  • Программирование экспрессии генов
  • Эволюционные стратегии— похожи на генетические алгоритмы, но в следующее поколение передаются только положительные мутации;
  • Дифференциальная эволюция
  • Нейроэволюция — аналогично генетическому программированию, но геномы представляют собой искусственные нейронные сети, в которых происходит эволюция весов при заданной топологии сети, или помимо эволюции весов также производится эволюцию топологии;
  • Системы классификаторов;

Все они моделируют базовые положения в теории биологической эволюции — процессы отбора, мутации и воспроизводства. Поведение агентов определяется окружающей средой. Множество агентов принято называть популяцией. Такая популяция эволюционирует в соответствии с правилами отбора в соответствии с целевой функцией, задаваемой окружающей средой. Таким образом, каждому агенту (индивидууму) популяции назначается значение его пригодности в окружающей среде. Размножаются только наиболее пригодные виды. Рекомбинация и мутация позволяют изменяться агентам и приспособляться к среде. Такие алгоритмы относятся к адаптивным поисковым механизмам.

Эволюционные алгоритмы успешно использовались для задач типа функциональной оптимизации и могут легко быть описаны на математическом языке.


Отрасли использования

Эволюционные алгоритмы используются при комбинаторной оптимизации, в частности при решении классических NP-полных проблем , таких как задача коммивояжера, задача упаковки ранца, разбитие чисел, максимально независимое множество и зарисовка графов.

Возможность использования эволюционных алгоритмов в музыке активно исследуется в Австрии, в первую очередь при попытках моделирования игры на музыкальных инструментах известными людьми разных эпох.

*Как и обещал, решение задачи из предыдущей статьи:


H1input = 1*0.45+0*-0.12=0.45

H1output = sigmoid(0.45)=0.61


H2input = 1*0.78+0*0.13=0.78

H2output = sigmoid(0.78)=0.69


O1input = 0.61*1.5+0.69*-2.3=-0.672

O1output = sigmoid(-0.672)=0.33


O1ideal = 1 (0xor1=1)


Error = ((1-0.33)^2)/1=0.45


Результат — 0.33, ошибка — 45%.

Report Page