12.07.2015 Views

Методы построения конечных автоматов на основе ...

Методы построения конечных автоматов на основе ...

Методы построения конечных автоматов на основе ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

87поступившей <strong>на</strong> вход особи (x + 1) раз применяется мутация,использующаяся в методе спуска и эволюционной стратегии.2.1.9. Генетический алгоритмВ <strong>на</strong>стоящем разделе описывается генетический алгоритм,предложенный в <strong>на</strong>стоящей работе для <strong>построения</strong> управляющих<strong>конечных</strong> <strong>автоматов</strong> по тестам.2.1.9.1. Генерация <strong>на</strong>чального поколенияНачальное поколение заполняется автоматами, сгенерированнымислучайным образом. При этом все автоматы содержат оди<strong>на</strong>ковое числосостояний, из каждого их которых число переходов определяетсяслучайным образом в диапазоне от нуля до числа событий, которыеприсутствуют в рассматриваемой системе со сложным поведением.2.1.9.2. Формирование следующего поколенияВ качестве основной стратегии формирования следующегопоколения используется элитизм [2]. При обработке текущего поколенияотбрасываются все особи, кроме нескольких <strong>на</strong>иболее приспособленных.Доля выживающих особей постоян<strong>на</strong> для каждого поколения и являетсяодним из параметров алгоритма.Эти особи переходят в следующее поколение. После этого онодополняется до требуемого размера следующим образом: пока оно незаполнено выбираются две особи из текущего поколения, и они снекоторой вероятностью скрещиваются или мутируют. Обе особи,полученные в результате мутации или скрещивания, добавляются в новоепоколение.Кроме этого, если <strong>на</strong> протяжении достаточно большого числапоколений не происходит увеличения приспособленности, то применяются«малая» и «большая» мутации поколения. При «малой» мутации

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!