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.

8алгоритмы оценки распределений [86], поиск с запретами [58],меметические алгоритмы [51], метод рассеянного поиска [59],квадратичное программирование [105], целочисленное программирование[113], искусственные иммунные системы [47]. При этом в <strong>на</strong>стоящеевремя <strong>на</strong>ибольшее распространение получили эволюционные алгоритмы[71].Как указано выше, при использовании автоматногопрограммирования возникает задача, для решения которой можно, аиногда и необходимо, применять методы поисковой инженерии ПО. Этоопределяется тем, что построение управляющих <strong>конечных</strong> <strong>автоматов</strong>вручную может представлять существенную сложность, а в ряде случаевпостроить автоматы вручную и вовсе не удается.Примерами таких задач являются: управление командойбеспилотных летательных аппаратом в соревнованиях с другой командой[21, 136], итерирован<strong>на</strong>я дилемма узника [98], задача о «Флибах» [1, 53],задача «Умный муравей» [79]. Полный перебор управляющих <strong>конечных</strong><strong>автоматов</strong> даже при их небольших размерах крайне трудоемок, аэвристическое их построение, как отмечено выше, не всегда даетприемлемые результаты.Разработка методов решения указанной задачи является одним изшагов к автоматическому построению программ и позволит повыситьуровень автоматизации <strong>построения</strong> автоматных программ (как отмечалосьвыше, до 70% исходного кода программ может быть построеноавтоматически) и снизить влияние человеческого фактора <strong>на</strong> их качество.Как отмечается в работе [69], большая часть работ в областипоисковой инженерии ПО основа<strong>на</strong> <strong>на</strong> использовании эволюционныхалгоритмов, а для решения задач проектирования ПО (к которымотносится задача <strong>построения</strong> <strong>конечных</strong> <strong>автоматов</strong>) применялись толькоэволюционные и муравьиные алгоритмы, методы имитации отжига и

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

Saved successfully!

Ooh no, something went wrong!