КАТЕГОРИИ: Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |