Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Произведение автоматов




Схема доказательства правильности конечного автомата

Схема доказательства правильности конечного автомата такова:

1) определить (описать) для каждого состояния q Q язык L(q),состоящий из слов, переводящих начальное состояние q0 в q;

2) доказать, что это определение правильное, используя индукцию по длине входного слова;

3) показать, что .

Применим эту схему к доказательству правильности, построенного выше автомата A. Языки, связанные с состояниями этого автомата, фактически, уже были определены при его построении. Уточним их:

L(q0) = {ε},

L(q1) = {a},

L(q2) = {w | слова, начинающиеся с aa и содержащие четное число букв b},

L(q3) = L,

L(q!) = {w | слова, не начинающиеся с aa}.

Правильность определения языков L(q0), L(q1) и L(q1) следует непосредственно из определения A. Самое короткое слово, переводящее q0 в q2aa, и оно принадлежит L(q2). Аналогично, самое короткое слово, переводящее q0 в q3 aab, и оно принадлежит L(q3). Предположим теперь, что для каждого слова w длины ≤ n выполнено условие (*):

Покажем, что оно будет выполнено и для всех слов длины n + 1.

Пусть |w|=n+1. Тогда w=wα, где α {a, b}. Так как |w| = n, то для w выполнено условие (*). Поэтому, если w’ переводит q0 в q2, то это слово начинается с aa и содержит четное число b. При α = a слово w переводит q0 в q2 и также начинается с aa и содержит четное число b, а при α = b слово w переводит q0 в q3, начинается с aa и содержит нечетное число b, т.е. принадлежит L.

Аналогично, если w’ переводит q0 в q3, то это слово начинается с aa и содержит нечетное число b. При α =a слово w также переводит q0 в q3 и также начинается с aa и содержит нечетное число b, а при α = b w переводит q0 в q2, оно начинается с aa и содержит четное число b. Обратно, если α= a, то слово w переводит q0 в qi (i = 2, 3) w переводит q0 в qi(i = 2, 3) и условие (*) выполнено, так как четность числа букв b в w и в w’ одинакова. Если же α = b, то из определения автомата A следует, что слово w переводит q0 в q2 w’ переводит q0 в q3 и w переводит q0 в q3 w переводит q0 в q2. Так как четность числа букв b в w и в w0 разная, то и в этом случае условие (*) выполнено. Для завершения доказательства осталось заметить, что единственным заключительным состоянием автомата A является q3 и поэтому LA= L(q3) = L.

 

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

Пусть M1=< Σ, Q1, , ,Φ1> и M2=< Σ, Q2, , F2,Φ2> два конечных автомата с общим входным алфавитом Σ, распознающие языки L1 и L2, соответственно.

Определим по ним автомат M=< Σ, Q, q0, F, Φ >, называемый произведением M1 и M2(M = M1хM2), следующим образом. Q = Q1хQ2= {(q, p) | q Q1, p Q2}, т.е. состояния нового автомата это пары, первый элемент которых состояние первого автомата, а второй состояние второго автомата. Для каждой такой пары (q, p) и входного символа a Σ определим функцию переходов: Φ((q, p), a) =(Φ1(q, a), Φ2(p, a)). Начальным состоянием M является пара q0= ( , ), состоящая из начальных состояний автоматов-множителей. Что касается множества заключительных состояний, то оно определяется в зависимости от операции над языками L1 и L2, которую должен реализовать M.




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 1309; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.