А. А. Шалыто Санкт-петербург





НазваниеА. А. Шалыто Санкт-петербург
страница9/11
Дата публикации02.09.2013
Размер0.71 Mb.
ТипЗадача
100-bal.ru > Информатика > Задача
1   2   3   4   5   6   7   8   9   10   11

3.2.Описание предлагаемого метода


Исходными данными для построения конечного автомата управления системой со сложным поведением являются:

  • список событий;

  • список входных переменных;

  • список выходных воздействий;

  • набор тестов Tests, каждый из которых содержит последовательность Input[i] событий, поступающих на вход конечному автомату, и соответствующую ей эталонную последовательность Answer[i] выходных воздействий.

Отметим, что для таких тестов справедливо свойство, которое можно сформулировать следующим образом – «префиксы тестов являются тестами» – если из входной последовательности событий удалить часть событий, находящихся в ее конце, то результат обработки автоматом этой последовательности будет префиксом исходной выходной последовательности. Поэтому естественно в набор тестов включать все префиксы теста.

3.2.1.Представление конечного автомата в виде хромосомы генетического алгоритма


Конечный автомат в алгоритме генетического программирования представляется в виде объекта, который содержит описания переходов для каждого из состояний и номер начального состояния. Для каждого из состояний хранится список переходов. Каждый переход описывается событием, при поступлении которого этот переход выполняется и числом выходных воздействий, которые должны быть сгенерированы при выборе этого перехода.

Таким образом, в особи кодируется только «скелет» управляющего конечного автомата, а конкретные выходные воздействия, вырабатываемые на переходах, определяются с помощью алгоритма расстановки пометок, который аналогичен предложенному в работе [52].

Выбор представления графа переходов автомата с помощью списков ребер (в отличие от работы [51], в которой применялись полные таблицы переходов) обоснован тем, что, как правило, в автоматах управления системами со сложным поведением не в каждом состоянии определена реакция на каждое событие.

3.2.1.1.Обработка входных переменных


Отметим, что в общем случае функция переходов и функция действий зависят не только от события, поступившего на вход автомату, но и от значений входных переменных, которые, как правило, имеют логический тип. При построении автомата вручную, например, с использованием инструментального средства UniMod [5] переходы обычно помечаются не только событиями, но и так называемыми «охранными условиями» (guard conditions) – логическими формулами, которые задают ограничения на значения входных переменных.

3.2.1.2.Алгоритм расстановки пометок


Идея алгоритма расстановки пометок состоит в том, что генетическим алгоритмом строится только «скелет» конечного автомата, а пометки на переходах – вырабатываемые на них выходные воздействия – расставляются на основе тестов. При этом расстановка пометок происходит таким образом, чтобы получившийся в результате автомат как можно лучше «соответствовал» тестам.

В работе [52] аналогичный принцип использовался при построении конечных автоматов для распознавания регулярных языков. Главное отличие состоит в том, что в этой работе расставлялись пометки на состояниях – на основе тестов определялось, будет состояние допускающим или нет.

Опишем алгоритм расстановки пометок на переходах, применяемый в настоящей работе. Как было сказано выше, для каждого из перехода в особи генетического алгоритма записано, сколько выходных воздействий должно вырабатываться при его выборе. Подадим на вход конечному автомату последовательность событий, соответствующую одному из тестов, и будем наблюдать, за тем, какие переходы выполняет автомат. Зная эти переходы и информацию о том, сколько выходных воздействий должно быть сгенерировано на каждом из переходов, можно определить, какие выходные воздействия должны вырабатываться на переходах, использовавшихся при обработке входной последовательности.

Например, пусть входной последовательности событий ATTMHTT соответствует выходная последовательность z5, z5, z4, z3, z5, z5, и при обработке входной последовательности выполняются следующие переходы: 1 → 2 → 2 → 2 → 3 → 4 → 2 → 2. Пусть при этом на первом из переходов не должно выполняться ни одно выходное воздействие, а на каждом из остальных – должно выполняться одно (Рис. 24.).



  1. Некоторые переходы «скелета» автомата

На Рис. 24. для каждого из переходов кроме события, при возникновении которого он выполняется, указано число выходных воздействий, которые ему соответствуют.

Тогда на основании этого теста можно сделать вывод о том, что на переходе по событию T из второго состояния в себя должно вырабатываться выходное воздействие z5, на переходе по событию M из второго состояния в третье должно вырабатываться выходное воздействие z4, на переходе по событию H из третьего состояния в четверное должно вырабатываться z5, а на переходе по событию T из четвертого состояния во второе – z3 (Рис. 25.).



  1. Помеченные на основании теста переходы автомата

Таким образом, на основании одного теста можно расставить выходные воздействия на части переходов автомата. Если тестов больше одного, то возможны различные ситуации:

  • может оказаться, что в разных тестах используется один и тот же переход, но на этих тестах при выборе этого перехода должны генерироваться одни и те же выходные воздействия;

  • может оказаться, что в разных тестах используется один и тот же переход, но при его выборе должны генерироваться разные выходные воздействия (то есть, имеется противоречие).

В первом случае ситуация аналогична ситуации с одним тестом. Во втором дело обстоит иначе. Во-первых, понятно, что рассматриваемый «скелет» автомата не позволяет пройти все тесты. С другой стороны, на этом переходе должны выполняться некоторые выходные воздействия. Поэтому предлагается пометить этот переход тем выходным воздействием, которое чаще всего вырабатывается на нем в тестах.

Этот же принцип можно распространить на случай, когда на переходе должно вырабатываться более одного выходного воздействия. Для каждого перехода T и каждой последовательности выходных воздействий zs вычисляется величина C[T][zs] – число раз, когда при обработке входной последовательности, соответствующей одному из тестов, на переходе T должны быть выработаны выходные воздействия, образующую последовательность zs. Далее, каждый переход помечается той последовательностью zs0, для которой величина C[T][zs0] максимальна.

3.2.1.3.Операция мутации


При выполнении операции мутации с заданной вероятностью (по умолчанию, она равна 0.05) выполняется каждое из действий:

  • изменение начального состояния;

  • изменение описания каждого из переходов;

  • удаление или добавление перехода для каждого из состояний.

При изменении начального состояния оно заменяется на выбранное случайным образом. При изменении описания перехода с равной вероятностью выполняется одно из следующих действий:

  • изменение состояния, в которое ведет переход, – оно изменяется на случайно выбранное;

  • изменение события, по которому выполняется этот переход, – оно изменяется на случайно выбранное;

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

После выполнения операции мутации в автомате может возникнуть ситуация, когда в автомате из одного состояния присутствуют два перехода по донному и тому же событию. Для устранения таких переходов применяется операция удаления дублирующихся переходов, описанная в следующем разделе.

3.2.1.4.Операция удаления дублирующихся переходов


Для удаления дублирующихся переходов для каждого состояния проделывается следующие операции: последовательно просматривается список переходов из этого состояния, и при этом запоминаются события, переходы по которым определены для этого состояния. Если очередной переход T происходит по событию, для которого в списке уже есть переход, то переход T удаляется из списка.

3.2.1.5.Операция скрещивания


Скрещивание описаний автоматов производится следующим образом. Обозначим как P1 и P2 «родительские» особи, а как S1 и S2 – особи-«потомки». Для начальных состояний S1.is и S2.is автоматов S1 и S2 будет верно одно из двух соотношений:

  • S1.is = P1.is и S2.is = P2.is;

  • S1.is = P2.is и S2.is = P1.is.

Опишем, как устроены переходы автоматов S1 и S2. Скрещивание описаний автоматов производится отдельно для каждого состояния. Обозначим список переходов из состояния номер i автомата P1 как P1.T[i], а список переходов из состояния номер i автомата P2 как P2.T[i]. Для выполнения «скрещивания переходов» с равной вероятностью может быть выбран один из двух методов.

При использовании традиционного метода скрещивания списки переходов S1.T[i] и S2.T[i] строятся следующим образом:

    1. Строится общий список переходов, в который помещаются переходы, входящие как в P1.T[i], так и в P2.T[i].

    2. К полученному списку применяется случайная перестановка.

    3. Далее возможны два равновероятных варианта:

      • либо в S1.T[i] помещаются первые |P1.T[i]| переходов из полученного списка, а в S2.T[i] – оставшиеся переходы;

      • либо в S1.T[i] помещаются первые |P2.T[i]| переходов из полученного списка, а в S2.T[i] – оставшиеся переходы.

При использовании метода скрещивания с учетом тестов списки переходов S1.T[i] и S2.T[i] строятся следующим образом:

  1. В автоматах P1 и P2 помечаются те переходы, которые выполняются при обработке 10% тестов, для которых нормированное редакционное расстояние между «правильным ответом» Answer и последовательностью Output выходных воздействий, генерируемой автоматом, минимально.

  2. Помеченные переходы копируются в S1.T[i] и S2.T[i] напрямую.

  3. Строится общий список переходов, в который помещаются непомеченные переходы, входящие как в P1.T[i], так и в P2.T[i].

  4. К полученному списку L применяется случайная перестановка.

  5. Список S1.T[i] дополняется первыми переходами из списка L до размера |P1.T[i]|, а список S2.T[i] дополняется оставшимися переходами.

В обоих случаях к получившимся в результате скрещивания автоматам S1 и S2 применяется операция удаления дублирующихся переходов.

3.2.1.6.Генерация начального поколения


Начальное поколение заполняется автоматами, сгенерированными случайным образом. При этом все автоматы содержат одинаковое число состояний, из каждого их которых число переходов определяется случайным образом в диапазоне от нуля до числа событий, которые присутствуют в рассматриваемой системе со сложным поведением.

3.2.2.Генетический алгоритм


Генетический алгоритм, применяемый для построения управляющего конечного автомата, аналогичен описанному в разд. 2.4.1. Начальное поколение также генерируется случайным образом, при этом все конечные автоматы содержат одинаковое число состояний. При генерации очередного поколения, как и ранее, применяется метод элитизма – фиксированная доля особей с наибольшими значениями функции приспособленности напрямую переходит в следующее поколение.

3.2.3.Вычисление функции приспособленности


Функция приспособленности основана на редакционном расстоянии. Для ее вычисления выполняются следующие действия: на вход автомату подается каждая из последовательностей Input[i]. Обозначим последовательность выходных воздействий, которую сгенерировал автомат на входе Input[i] как Output[i]. После этого вычисляется величина , где как ED(A, B) обозначено редакционное расстояние между строками A и B. Отметим, что значения этой функции лежат в пределах от 0 до 1, при этом, чем «лучше» автомат соответствует тестам, тем больше значение функции приспособленности.

Функция приспособленности зависит не только от того, насколько «хорошо» автомат работает на тестах, но и числа переходов, которые он содержит. Она вычисляется по формуле: , где как cnt обозначено число переходов в автомате. Эта функция приспособленности устроена таким образом, что при одинаковом значении функции FF1, отражающей «прохождение» тестов автоматом, преимущество имеет автомат, содержащий меньше переходов. Кроме этого, автомат, который «идеально» проходит все тесты, оценивается выше, чем автомат, проходящий тесты не идеально.

Оценим время вычисления функции приспособленности. Время вычисления редакционного расстояния пропорционально произведению длин последовательностей, для которых оно вычисляется. Таким образом, время вычисления функции приспособленности есть . Заметим также, что добавление в набор тестов «префиксов» тестов не увеличивает время вычисления функции приспособленности, так как достаточно вычислить редакционное расстояние только для «самых больших» тестов, а для их префиксов редакционное расстояние взять из вычисленной таблицы динамического программирования.
1   2   3   4   5   6   7   8   9   10   11

Похожие:

А. А. Шалыто Санкт-петербург iconНовые поступления 2 Сельское хозяйство 2 Общие вопросы сельского хозяйства 2
Агрофизический научно-исследовательский институт (Санкт-Петербург). Материалы координационного совещания Агрофизического института,...
А. А. Шалыто Санкт-петербург iconСпециальная /коррекционная/ общеобразовательная школа (VII вида)...
Субъект Российской Федерации Санкт-Петербург, в лице Комитета по Образованию Санкт-Петербурга. Место нахождения Учредитель -1: 190000,...
А. А. Шалыто Санкт-петербург iconЭкскурсионные туры в карелию
Санкт- петербург приозерск – ладожское озеро валаам – сортавала – парк «рускеала» олонец александро-свирский монастырь старая ладога...
А. А. Шалыто Санкт-петербург iconDhl открывает новое сервисное отделение в Санкт-Петербурге Санкт-Петербург, 20 марта 2008 г
Санкт-Петербург, 20 марта 2008 г. Компания dhl, мировой лидер в области экспресс-доставки и логистики, расширяет свое присутствие...
А. А. Шалыто Санкт-петербург iconМетодическое пособие для врачей Санкт-Петербург 2007
В. Г. Беспалов, д м н., старший научный сотрудник, руководитель группы химиопрофилактики рака фгу "нии онкологии им. Н. Н. Петрова...
А. А. Шалыто Санкт-петербург iconРеферата «г. Санкт-Петербург, как символ новой культуры, великое...
Актуальность темы. Санкт-Петербург один из основных смысловых образов русской культуры. Это город-программа, город-концепция, имеющий...
А. А. Шалыто Санкт-петербург iconПатентам и товарным знакам (19)
Санкт-Петербург, ул. Политехническая, 29, Санкт-Петербургский гту (цпи), С. В. Козыреву
А. А. Шалыто Санкт-петербург iconРеальное и виртуальноЕ в медиапространстве современности
Санкт-Петербургский Гуманитарный университет профсоюзов, г. Санкт-Петербург, Россия
А. А. Шалыто Санкт-петербург iconЗа 2011 год Санкт-Петербург 2011г
Показатели административных правонарушений по районам Санкт-Петербурга в 2010 году 47
А. А. Шалыто Санкт-петербург iconПрограмма по формированию навыков безопасного поведения на дорогах...
Адрес: 191187, Санкт-Петербург, ул. Гагаринская, 3, Европейский Университет в Санкт-Петербурге
А. А. Шалыто Санкт-петербург iconГбоу школа №619 Калининский район Санкт-Петербург
Министерства образования и науки Российской Федерации, Комитета по образованию Санкт-Петербурга и школьным Положением «Об информационном...
А. А. Шалыто Санкт-петербург iconПрограмма по формированию навыков безопасного поведения на дорогах...
Санкт-Петербургский городской дворец творчества юных, спб гбоу лицей искусств «Санкт-Петербург»
А. А. Шалыто Санкт-петербург iconЛабораторные работы на уроках биологии с использованием цифрового микроскопа
Государственное бюджетное образовательное учреждение гимназия №42 Приморского района Санкт-Петербурга (гбоу гимназия №42 Приморского...
А. А. Шалыто Санкт-петербург iconНалогообложение субъектов малого бизнеса в Республике Казахстан (на примере тоо «Рэтро-2»)
Государственной комиссии по защите магистерских диссертаций в Санкт-Петербургском университете управления и экономики по адресу:...
А. А. Шалыто Санкт-петербург iconАлексей Береснев администрирование gnu/Linux с нуля санкт-Петербург «бхв-петербург» 2007
Прилагаемый компакт-диск содержит требования и проверочные тесты для экзаменов lpi-101, lpi-102, а также свободно распространяемое...
А. А. Шалыто Санкт-петербург iconКлассический санкт-петербург (5 дней / 4 ночи)
Санкт-Петербургу, Петропавловская крепость, Петергоф (ансамбль фонтанов Нижнего парка), Эрмитаж, Дворцовая площадь, Царское Село...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск