Ю.М. Вишняков
В 60-70-х годах на теорию конечных автоматов (КА), как универсальный инструментарий описания и синтеза цифровых схем, возлагались большие надежды. Однако возможности технологического базиса и информационные технологии того времени ограничили практическое использование теории КА только рамками структурного синтеза. Абстрактный синтез так и остался предметом теоретических изысканий. Сегодня в автоматизированном проектировании происходит интенсивный переход к интегрированным инструментальным средствам, осуществляющим сквозную разработку проектов на всех уровнях. В таких системах наряду со стандартными средствами проектирования топологии и моделирования должны присутствовать и средства реализация проектных процедур логического синтеза. Таким образом сегодня сформированы практические потребности и имеются все условия, чтобы абстрактная теория КА заняла достойное место в автоматизированном проектировании. Однако в этом плане она должна быть переработана в контексте сквозного автоматизированного проектирования.
В рамках этой цели предлагаемая работа развивает абстрактный синтез в части построения непротиворечивых описаний КА на языке регулярных выражений.
Пусть заданы входной X={X1
,X2
,...,Xn
} и выходной Y={Y1
,Y2
,...,Ym
} алфавиты. КА перерабатывает входные слова (цепочки) aÎX* в выходные bÎY* в соответствии с алфавитным (автоматным) оператором b=F(a) (А-оператор). Доказано, что обрабатываемые КА множества цепочек, относятся к классу регулярных множеств (РМ), которые задаются через правила их порождения, называемые регулярными выражениями (РВ) [1].
В алгебре РВ по определению Æ, l (пустая цепочка), X1
, X2
, ..., Xn
являются элементарными РВ. Если e1
, e2
, e - РВ, то результаты операций e1
*e2 -
(конкатенации), e1
|e2
(ИЛИ), {e} (Клини), (e) (круглые скобки) также являются РВ. Также отметим, что порождаемое множество цепочек или язык РВ e обозначают через |e|.
Представим А-оператор через систему РВ (СРВ). Для этого выделим в X* подмножества регулярных цепочек E1
, E2
, ..., Em
(в общем случае бесконечных) таким образом, чтобы цепочка aÎE1
приводила к появлению на выходе КА буквы Y1,
aÎE2
- буквы Y2
, aÎEm
-.Ym
.
Для случая aÎX*(E1
E2
...Em
) определим дополнительную букву Ym+1
. Также введем условие непротиворечивости Ei
Ej
= (i,j=1..m, i¹j). Представим каждое множество Ei
порождающим его регулярным выражением (РВ) ei
(|ei
|= Ei
). Тогда представляющая КА система соотношений вида (1) и называется СРВ:
(1)
Поскольку взаимно однозначное соответствие между языком и порождающим его РВ отсутствует (например, РВ а{a} и {a}a порождают различными способами один и тот же язык), построение непротиворечивой CРВ требует далеко нетривиальных действий. И в этой связи можно предположить, что средства исследования непротиворечивости СРВ нужно искать вне алгебры РВ.
Ближайшей моделью к РВ, которой может быть промоделирован разбор цепочек, является система переходов (СП), дуги которой взвешены буквами входного алфавита. КА с выходным алфавитом Y={0,1}, распознающий язык |e|, называют конечным распознавателем (КР). Представление КР в виде диаграммы состояний (рис.1), в которой начальная вершина S и конечная вершина Z связаны дугой e называется системой переходов (СП). Здесь любая цепочка aÎ|e| переводит КА из состояния S в состояние Z [2].
СП элементарных РВ приведены на рис.2. В соответствии с алгеброй РВ СП любого РВ e можно представить в виде композиции элементарных СП. Такую СП будем называть приведенной и обозначать через СПп
. Введем на СПп
ряд понятий.
Определение 1. Если из некоторого состояния Q исходит l-дуга в состояние A1
, из состояния A1
в состояние A2
и т.д. до состояния Т, а из состояния Т нет исходящих l-дуг, то будем говорить, что состояние Q связано с состоянием Т линейным l-путем.
Определение 2. Если из некоторого состояния Q исходит l-дуга в состояние А1
, а из состояния А1
в состояние А2
и т.д. состояния Ak
, а из состояния Ak
в состояние Q, то будем говорить, что состояние Q, A1
, A2
,..., Ak
входят в один и тот же кольцевой l-путь.
Длиной l-пути будем называть число входящих в него l-дуг.
Определение 3. Блоком состояний (БС) для некоторого состояния Q БС(Q) назовем множество состояний, включающих само состояние Q и все состояния , входящие в l-пути, исходящие из состояния Q.
Если из состояния Q не исходит l-путей, то БС(Q)= {Q}. В дальнейшем БС(Q), включающий более чем одно состояние, будем обозначать l- БС(Q).
Определение 4. Если из состояния Q исходит один или несколько l-путей единичной длины, то l- БС(Q) назовем простым, в противном случае составным.
Введем на СП функцию разбора m, представляющую отображение {БС}Х ® БС. Ее по аналогии с функцией переходов запишем в виде БС=m(БС(Q),xi
). Цепочка a допускается КА, если существует функция разбора вида БС(Zi
)=m(БС(S),a), где S - начальное состояние, Zi
- заключительное состояние СП КА.
Пусть задана СРВ e1
, e2
, ..., em
и для каждого РВ выполнено независимое построение СПп
. Здесь S1
, S2
, ..., Sm
начальные и Z1
, Z2
, ..., Zm
заключительные состояния соответствующих СПп
. Введем следующую проверочную таблицу (ПТ), на основе которой будем одновременно строить функцию разбора для всех РВ. ПТ содержит m+1 столбец, где 1,2,...,m столбцы, соответствуют буквам входного алфавита X, а 0-столбец представляет БС, именующие строки. Множество строк ПТ разбито на группы, каждая из которых может содержать до m строк по числу РВ, и представляет БС для всех РВ, полученных на некотором шаге построения функции разбора. В клетку пересечения строки и столбца записывается вычисленное значение функции разбора для данного БС и входной буквы.
Алгоритм проверки непротиворечивости СРВ.
1. Построить пустую ПТ, сформировать БС(S1
), БС(S2
),..., БС(Sm
) и поименовать ими первую группу строк;
2. Для всех букв xi
ÎX вычислить функцию разбора;
3. Образовать новую группу строк и поименовать их новыми БС, полученными в п.2 и не содержащими заключительных состояний Zi
.
4. Повторять п.2 до тех пор, пока не перестанут образовываться новые БС, не содержащие заключительных состояний.
Выход: СРВ противоречива, если на некотором шаге для одной и той же входной буквы получены более чем один БС, содержащий заключительные состояния.
В качестве примера ниже представлены проверяемая на непротиворечивость СРВ, СП, входящих в нее РВ (рис.4), и соответствующая ПТ:
(2)
Проверочная таблица
Как это видно из построения ПТ СРВ (2) является непротиворечивой.
Итак, предлагаемая в работе процедура проверки на непротиворечивость исходных описаний КА, может быть положена в основу построения одной из функциональных частей программной подсистемы логического синтеза интегрированной инструментальной среды САПР. Это позволит на ранних этапах проектирования выявить корректность исходного описания объекта проектирования.
Список литературы
Вавилов Е.Н., Портной Г.П. Синтез схем электронных цифровых машин. М.: Сов.радио, 1963. 440 с.
Грис Д. Конструирование компиляторов для цифровых вычислительных машин. М.: Мир, 1975, 545 с.
Вишняков Ю.М. Инструментарий разработчика СБИС. - Таганрог: ТРТУ, 1993. 178 с.
Другие работы по теме:
Порядок расчета налога на игорный бизнес
Если игровой стол имеет более одного игрового поля, то ставка налога по данному игровому столу должна быть увеличена кратно количеству игровых полей. Расчет при установлении новых объектов. Расчет при выбытии объектов.
Аудиторство
Сущность аудита. Аудиторская проверка фирмы. Основания проведения проверки.
Камеральная налоговая проверка 2
Камеральная налоговая проверка проводится по месту нахождения налогового органа на основе налоговых деклараций (расчётов) и документов, представленных налогоплательщиком, а также других документов о деятельности налогоплательщика, имеющихся у налогового органа.
Принцип достаточного основания
Принцип, требующий, чтобы в случае каждого утверждения указывались убедительные основания, в силу которых оно принимается и считается истинным.
Проверка докозательств
Контрольная работа По Уголовно процессуальному праву на тему Проверка докозательств Сдавался в Государственном Университете по Землеустройству кафедра правоведения
Задача по теории упругости
Задача №1 Использование плоского напряженного состояния балки-стенки с использованием степенных полиномов Рисунок 1. Решение: Выделим из пластины бесконечно малый элемент aob и рассмотрим его равновесие:
Автоматы с магазинной памятью
Автоматы и преобразователи с магазинной памятью играют важную роль при построении автоматно-лингвистических моделей различного назначения, связанных с использованием бесконтекстных (контекстно-свободных) языков. В частности, такие устройства используются в большинстве работающих программ для синтаксического анализа программ, написанных на различных языках программирования, которые во многих случаях можно рассматривать как бесконтекстные.
Автоматы с магазинной памятью
Автоматы и преобразователи с магазинной памятью играют важную роль при построении автоматно-лингвистических моделей различного назначения, связанных с использованием бесконтекстных (контекстно-свободных) языков. В частности, такие устройства используются в большинстве работающих программ для синтаксического анализа программ, написанных на различных языках программирования, которые во многих случаях можно рассматривать как бесконтекстные.
Стихотворение Бунина Ночь
Великий прозаик Бунин писал стихи всю свою жизнь, хотя и написал когда-то: «Поэзия темна, в словах невыразима». Ему как раз удавалось выразить в словах малейшие оттенки человеческих чувств, всю свою огромную любовь к природе, всему живому, любовь к Богу и человеку. Поэзия Бунина несет в себе те же черты, что и проза: ясность и точность образов, выпуклость описаний, особенно описаний природы, напряженное чувство жизни, удивительную мелодичность.
6Выбор коммутационно защитной аппаратуры
Выбор аппаратуры защиты производится с учётом следующих требований: - номинальный ток Iн и номинальное напряжение Uн автоматов должно соответствовать расчётному току и напряжению;
Абстрактный синтез конечного автомата
СОДЕРЖАНИЕ Введение 1. Абстрактный синтез конечного автомата 1.1 Формирование алфавитного оператора 1.2 Приведение оператора к автоматному виду 1.3 Построение графа переходов абстрактного автомата
Метод конечных разностей
Ознакомление с аналоговым и дискретным вариантами реализации фильтра. Определение конечных разностей первого и второго порядков функции. Программная реализация и график исследуемой функции. Рекуррентное соотношение для вычисления сглаженного значения.
Абстрактный синтез конечного автомата
Формирование алфавитного оператора. Приведение оператора к автоматному виду. Построение графа переходов абстрактного автомата. Кодирование состояний, входных и выходных сигналов. Формирование функций возбуждения и выходных сигналов структурного автомата.
Скотт, Дана Стюарт
Да́на Стю́арт Скотт (англ. Dana Stewart Scott , р. 1932) — американский учёный в области математики и информатики. Исследования Скотта связанны с теорией моделей, теорией автоматов, модальной и интуиционистской логиками, конструктивной математикой и связью между логикой и теорией категорий.
Методика создания программ
Разработка большой программы отличается от разработки малой в двух основных аспектах. Текст программы для решения большой проблемы занимает много больше места, чем одна страница.
Работа с файлами (лабораторная работа)
Лабораторная работа №2 Т е м а: Р а б о т а с ф а й л а м и. Задание: 1)Создание каталога 1-го уровня; провести проверку. 2)Создание каталога 2-го уровня в каталоге 1-го уровня; установка этого каталога.
Лисп-реализация конечных автоматов
Понятие и свойства конечного автомата, его назначение и сферы применения. порядок разработки специальной функции, реализующей конечный автомат. Способы описания данной функции, обоснование выбора одного из них. Программная реализация решения задачи.
Подготовка и решение на ПК задач с разветвлением
Рациональные корни полинома n-й степени с целыми коэффициентами. Значение функции Y(x) при различных значениях исходных данных. Алгоритм: по номеру года вывести его название с использованием оператора switch/case. Исходные коды программ, тестирование.
Трансляция распознающих конечных автоматов
Лабораторная работа №7 Трансляция распознающих конечных автоматов Цель работы: исследование методов эффективной трансляции распознающих автоматов конечных автоматов и R-графов для синтаксического разбора регулярных грамматик.
Синтез операционных автоматов
Министерство образования Российской Федерации Саратовский государственный технический университет Синтез операционных автоматов лабораторная работа по курсу “Организация ЭВМ и систем”
Работа с файлами лабораторная работа
Лабораторная работа №2 Т е м а: Р а б о т а с ф а й л а м и. Задание: 1)Создание каталога 1-го уровня; провести проверку. 2)Создание каталога 2-го уровня в каталоге 1-го уровня; установка этого каталога.
Парсер на РНР - это возможно
Парсер на РНР - это возможно! Антон Калмыков В данной коротенькой статье я хочу продемонстрировать, что РНР может очень хорошо справляться с функцией синтаксического разбора выражений. Для тех, кто никогда не касался данной тематики, я думаю, статья будет так же интересна, поскольку в ней мы рассмотрим метод программирования в виде конечных автоматов.
Методика создания программ
Здесь мы рассмотрим один из наиболее важных вопросов: как создавать программу? До сих пор мы имели дело с относительно небольшими программами для решения несложных алгоритмических проблем. Мы познакомились с важностью и ролью спецификации программы, ясностью формулировки основных шагов алгоритма при обработке данных, трансляцией этих шагов в эффективные последовательности операторов программы на языке Pascal, комментировании программы, проверки ее правильности.
Синтаксический разбор строк и конечные автоматы
Синтаксический разбор строк и конечные автоматы Андрей Боровский В этой статье речь пойдет о том, как анализировать информацию, переданную в виде последовательности символов (строку) и выделять из нее значимые элементы. Мы рассмотрим сравнительно простые ситуации, с которыми программистам приходится сталкиваться при решении самых разных задач: разбор выражений с простой синтаксической структурой, но с довольно свободными правилами записи.
Айзерман Марк Аронович
АЙЗЕРМАН Марк Аронович (1913-92), российский ученый в области теории управления, представитель первого поколения кибернетиков в нашей стране, доктор технических наук.
Гаврилов Михаил Александрович
Гаврилов Михаил Александрович (1903-79), российский ученый, стоявший у истоков информатики в нашей стране, в частности технической кибернетики, теории автоматов и теории ЭВМ, член-корреспондент АН СССР (1964)
Бонгард Михаил Моисеевич
Бонгард Михаил Моисеевич (1924-71), российский ученый в области кибернетики, физиологии зрения и психологии мышления, один из создателей теории узнавания.
Эзоп и электричество
Электрическими, называют пожары, возникающие от использования неисправных защитных автоматов, тех, что стоят на вводе в каждую квартиру. Они предназначены для предохранения вашей “энергосистемы” от повреждений в проводке и приборах.