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.

122содержать тесты для каждого из этих режимов и для переходов междуними. Во-вторых, тесты не должны противоречить друг другу – есливход<strong>на</strong>я последовательность в одном из тестов является префиксомвходной последовательности в другом тесте, то и выход<strong>на</strong>япоследовательность из первого теста долж<strong>на</strong> быть префиксом выходнойпоследовательности из второго теста. В-третьих, <strong>на</strong>бор тестов долженсодержать все существующие в системе входные события, входныепеременные и выходные воздействия.При записи темпоральных формул необходимо учитывать, что, таккак <strong>на</strong> момент их формирования известны только входные воздействия,входные переменные и выходные воздействия, то они не могут содержатьутверждения о состояниях автомата.На <strong>основе</strong> спецификации необходимо также задать максимальноечисло состояний в автомате и требуемое число переходов в нем. По числупереходов необходимо определить целевое з<strong>на</strong>чение функцииприспособленности.Тесты совместно с темпоральными формулами подаются <strong>на</strong> входэволюционному алгоритму. Отметим, что эволюционный алгоритмоди<strong>на</strong>ков для всех задач – для новой задачи необходим только новый<strong>на</strong>бор тестов, входных и выходных воздействий и, возможно, параметровалгоритма – размера поколения, вероятности выполнения операциимутации и т. д. (рис. 31).В качестве эволюционного алгоритма, как показывает приведенноевыше экспериментальное исследование, рекомендуется использоватьгенетический алгоритм, использующий метод скрещивания с учетомповедения автомата <strong>на</strong> обучающих примерах.

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

Saved successfully!

Ooh no, something went wrong!