Изменения
Нет описания правки
=== Введение ===
Способ нахождения эйлерова цикла, описанный в данной статье, является примером применения эволюционных алгоритмов на практике. Мы опишем вариант построения, время работы которого <tex>O(m*log(m))</tex> (до недавнего времени лучшим считался результат <tex>O(m^2*log(m))</tex>). При этом оптимальный (не эволюционный) алгоритм работает за <tex>O(m)</tex>. Здесь и далее <tex>m</tex> — количество ребер в графе.
Сначала опишем представление графа, затем то, как устроена фитнес функция и операция мутации, а потом адаптируем RLS и (1+1) EA стратегии для нашего случая.
=== Постановка задачи ===