|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Система основных событийВ эту систему мы включим те из наиболее часто встречающихся событий, которые используются при записи регулярных выражений на практических занятиях и курсовой работе. Пусть дан алфавит X { x 1, x 2, …, xm }. 1. Событие, состоящее из всех слов входного алфавита (всеобщее событие): 2. Событие, содержащее все слова, оканчивающиеся буквой xi: 3. Событие, содержащее все слова, оканчивающиеся отрезком слова l 1: 4. Событие, содержащее все слова, начинающиеся с отрезка слова l 1 и оканчивающиеся на l 2: S = l 1 F l 2. 5. Событие, содержащее только однобуквенные слова входного алфавита: 6. Событие, содержащее только двухбуквенные слова входного алфавита: 7. Событие, содержащее все слова длиной r: S = (x 1 v x 2 v…v xm)(x 1v x 2 v…v xm)…(x 1 v x 2 v…v xm) - r членов. 8. Событие, содержащее все слова, длина которых кратна r: S = {(x 1 v x 2 v…v xm)(x 1 v x 2 v…v xm)…(x 1 v x 2 v…v xm)} - r членов 9. Событие, состоящее из всех слов алфавита X { x 1, x 2}, не содержащих комбинации букв x 1 x 1 и оканчивающихся буквой x 2: S = { x 2 v x 1 x 2}. 10. Событие, состоящее из всех слов алфавита X { x 1, x 2}, не содержащих серии из r букв x 1 и оканчивающихся буквой x 2: S = { x 2 v x 1 x 2 v x 1 x 1 x 2 v … v x 1 x 1… x 1 x 2} - (r – 1) членов. Рассмотрим пример составления регулярного выражения. Пример. Записать в виде регулярного выражения алгоритм работы автомата, сравнивающего два двоичных числа, представленных в последовательном коде. Количество разрядов числа – произвольно. Окончание чисел фиксируется подачей на вход автомата сигнала xs. Если число, поданное на первый вход автомата, меньше числа, поданного на второй вход, то КА выдает сигнал y 1, если больше – то y 2, если оба числа равны – то y 3. Числа подаются на входы автомата младшими разрядами вперед. На входы автомата сравнения одновременно может поступить одна из четырех комбинаций сигналов 00, 01, 10, 11, которые закодируем следующим образом x 00=00, x 01=01, x 10=10, x 11=11. При этом будем считать, что первая цифра каждой комбинации относится к первому входу, а вторая – ко второму входу. Таким образом, входной алфавит автомата включает пять букв X { x 00, x 01, x 10, x 11, xs }, а выходной – три буквы Y { y 1, y 2, y 3}:
Два двоичных числа равны, если равны цифры в любых одинаковых разрядах. Поэтому событие, заключающееся в поступлении на вход автомата равных чисел, состоит из всех возможных слов, содержащих буквы x 00 и x 11. То есть S 3 = { x 00 v x 11} xs. События, представленные в автомате сигналами y 1 и y 2, можно записать соответственно в виде: S 1 = { x 00v x 01v x 10v x 11} x 01{ x 00v x 11} xs, S 2 = { x 00v x 01v x 10v x 11} x 10{ x 00v x 11} xs. События S 1, S 2 и S 3 не охватывают всего множества слов, которые могут быть записаны в алфавите X { x 00, x 01, x 10, x 11, xs }, т.к. в эти события входят только слова, оканчивающиеся буквой xs. Слова, не входящие в S 1, S 2 и S 3, должны быть представлены в автомате пустой буквой e:. Очевидно, что записанные выражения можно упростить, если входные сигналы 00 и 11 закодировать одной буквой, например xr. Такое кодирование возможно, т.к. КА одинаково реагирует на эти комбинации: S 3 = { xr } xs, S 1={ xr v x 01v x 10} x 01{ xr } xs, S 2 = { xr v x 01v x 10} x 10{ x 00v x 11} xs,. Заметим, что одно и тоже регулярное событие может быть представлено различными регулярными выражениями. Поэтому встает задача отыскания таких регулярных выражений, которые позволяют представлять события наиболее простыми формулами. Рассмотрим несколько основных соотношений, которые используются при преобразовании регулярных выражений: 1. S 1 v S 2 = S 2 v S 1 – закон коммутативности; 2. (S 1v S 2) v S 3 = S 1 v (S 2 v S 3) = S 1 v S 2 v S 3 – законы ассоциативности; 3. – законы ассоциативности; 4. – закон дистрибутивности; 5. {{ S }} = { S }; 6.; 7. {{ S 1} v { S 2}} = { S 1 v S 2}; 8. { e } = e; 9. eS = Se = S. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |