Научная статья на тему 'Некоторые абстрактные модели конечных автоматов и их эквивалентные преобразования'

Некоторые абстрактные модели конечных автоматов и их эквивалентные преобразования Текст научной статьи по специальности «Математика»

CC BY
138
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Некоторые абстрактные модели конечных автоматов и их эквивалентные преобразования»

Секция интеллектуальных систем обработки

информации

УДК 621.081

Ю.М. Вишняков

НЕКОТОРЫЕ АБСТРАКТНЫЕ МОДЕЛИ КОНЕЧНЫХ АВТОМАТОВ И ИХ ЭКВИВАЛЕНТНЫЕ ПРЕОБРАЗОВАНИЯ

Известно, что в 60-70-х годах на теорию конечных автоматов (КА) (универсальное средство описания и синтеза цифровых устройств) возлагались большие надежды. Однако возможности технологического базиса и информационные технологии того времени ограничили практическое использование теории рамками структурного синтеза. Абстрактный синтез так и остался предметом теоретических изысканий. Единственно практическую поддержку он получил со стороны системного программирования при построении различного рода сканеров. Однако сегодня автоматизация больших проектов не мыслима вне различных уровней абстракции, что существенно сокращает информационную и структурную избыточности, а также трудоемкость проектирования. Современный уровень информационных технологий снял названные ограничения, и сегодня теория КА как средство абстрактного анализа и синтеза имеет все условия занять свое достойное место.

В контексте автоматизированного проектирования предлагаемая работа развивает абстрактную теорию КА в части системы переходов (СП), недетерминированного КА (НКА) и их эквивалентных преобразований.

1. Основные понятия. Пусть заданы входной Х={Х1,Х2,...,Хц} и выходной У={У1,У2,...,Уш} алфавиты. КА перерабатывает входные

слова (цепочки) СХ€Х* в выходные (3 Е У* в соответствии с алфавитным

(автоматным) оператором (А-оператор) Р=Р((Х). Доказано, что обрабатываемые множества цепочек относятся к классу регулярных множеств (РМ). Данные множества задаются через правила их порождения, которые называются регулярными выражениями (РВ) [1].

Алгебра РВ задается следующим образом. По определению 0, X (пустая цепочка), Х1,Х2,...,ХП. являются РВ. Если е1, ег, е - РВ, то результат операций б1*ег - (конкатенация), е^Сг (ИЛИ), {е} (Клини), (е) (круглые скобки) также является РВ. Принято через |е| обозначать порождаемое РВ е множество цепочек или язык.

Представим А-оператор через систему регулярных выражений (СРВ). Для этого выделим в X* регулярные подмножества цепочек Е1, Ег, Ещ (в общем случае бесконечные) таким образом, чтобы цепочка

О^еЕ) приводила к появлению на выходе КА буквы У1; СХ26Е2 - буквы

У2; ОСшбЕт -.Уш. Для случая (Хт+1 бХ*\(Е1и ЕгЫ ...и Ет) введем дополнительную букву Ут+1. Также введем условие непротиворечивости

Е|П Е,= 0 0,)=1..т, Ю^). Представим каждое множество Е| порождающим его регулярным выражением (РВ) е( (|с;|= В). Полученную таким образом систему соотношений (1) называют СРВ. Она полностью представляет КА:

У| ое1,У2С>е2,...,Ут оет;

< Ут*юХ*ЧЕ1иЕ2и...иЕт); (1)

ВПВо0 0,.1 = 1 1 * О.

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

2. СП КА общего вида. Итак, пусть задана непротиворечивая СРВ вида (1). Объединим начальные вершины СП всех входящих в нее РВ [2] в одну начальную вершину Я. Каждой заключительной вершине 2|,22,...,2ш сопоставим букву У1,У2,...,Ут- Полученную диаграмму состояний (рис.1) назовем СП КА общего вида, в дальнейшем просто СП.

СП интерпретируется следующим образом. Заключительное состояние Zi - это такое состояние, в которое КА переходит при разборе цепочки

(Х6 В. Если описание КА в виде СРВ (1) непротиворечиво, то эквивалентная СП является также непротиворечивой. Доказательство непротиворечивости СП очевидно и вытекает из условия непротиворечивости СРВ.

В алгебре РВ 0, X, Х^ е1*ег, е^Сг, {е} имеют такой же смысл как и элементарные функции в математике. В этой связи СП любого РВ е можно привести к такому виду, когда все ее ребра будут взвешены только элементарными

РВ вида 0, X, Х|. Такую СП будем называть приведенной и обозначать как СПп. (Построение СПп больших размерностей на основе обратной польской записи рассмотрено в работе [3].)

Введем на СПп ряд понятий.

Определение 1. Если из некоторого состояния () исходит Л-дуга в состояние А], из состояния А1 в состояние Аг и т.д. до состояния Т, а

Рис.1. СП КА общего вида

из состояния Т нет исходящих А.-дуг, то будем говорить, что состояние С} связано с состоянием Т линейным Х-путем.

Определение 2. Если из некоторого состояния С} исходит А_-дуга в состояние А], а из СОСТОЯНИЯ А] в состояние А? и т.д. до СОСТОЯНИЯ Ак, а ИЗ СОСТОЯНИЯ Ак в состояние (), то будем говорить, что состояние (2,

А|, А2,..., Ак входят в один и тот же кольцевой А.-путь.

Длиной Я,-ггути будем называть число входящих в него А,-дуг.

Определение 3. Блоком состояний (ВС) для некоторого состояния БС((3) назовем множество состояний, включающих само состояние (^, и все СОСТОЯНИЯ , входящие В Л-Пути, исходящие ИЗ СОСТОЯНИЯ р.

Если из состояния С? не исходит ?1-путей, то БС(С2)={С2}. В дальнейшем БС((^), включающий более чем одно состояние, будем обозначать А,-БС(С>).

Определение 4. Если из состояния исходит один или несколько

А,-путей единичной длины, то Л, - БС(()) назовем простым, в противном случае - составным.

Введем на СП функцию разбора (.1, представляющую отображение

{БС}хХ—>БС. По аналогии с функцией переходов запишем ее в виде

БС=|1(БС(С2),Х!). Цепочка ОС допускается КА, если существует функция

разбора вида БС(20=Ц(БС(8),ОС), где 8 начальное состояние, & заключительное состояние СП.

3. Графовые преобразования СП. Пусть в СПп для некоторого состояния (} существует простой А, БС(<3) вида

?1-БС(д)={д,А1,А2,.-,Ак}. (2)

Пусть А,-БС(С?) участвует в разборе некоторой допустимой цепочки (О и существует функция разбора БС(21)=}1(БС(8),С0). Представим цепочку СО в виде катенации подцепочек ОС и Р (СО=ОС(3), для которых справедливо БС((})=|11(БС(8),0С) и БС^)=Ц(БС((3), р) соответственно.

Предположим, что простой А.-БС((}) содержит всего одно состояние А|, с которым состояние связано исходящей А,-дугой. Из определения простого Я,-БС следует, что

Ц(БОД), Р)=ц(БС(А0, Р)=БС(^). (3)

В СПп выполним следующие построения: разорвем дугу Л. и навесим все дуги, исходящие из А| на д. Теперь БС((^)=С2, а БС(А*)=Аь

Отметим, что разбор цепочки СО сохранился и соотношение (3) не нарушилось.

По транзитивности удаление А,-дуг распространим на простой X-БС((}) (2), содержащий более чем одно состояние А*. В этом случае на ДОЛЖНЫ быть навешены все дуги, исходящие ИЗ СОСТОЯНИЙ А1,А2,".,А|с. Процедуру удаления А,-дуг в простом А.-БС будем называть развязкой простого ?1-БС. Понятие развязки просто распространяется на составной Я.-БС, у которого нет ни одного состояния , входящего в кольцевые X-

пути, если в нем последовательно выделять простые Х-БС и выполнять их развязку, что поясняется рис. 2.

Рис. 2 Развязка Л-БС (Т)

Рассмотрим два частных случая. Пусть задан простой X-БС(<3)={А1,А2,...,Ак), у которого одно или несколько состояний являются конечными и представляют выходную букву УI. Пусть существует

цепочка (0, для которой имеет место функция разбора вида БС(А1)=Ц

(БС(8), СО), где А| ЕХ,(\\), т.е. является конечным состоянием. Представим СО в виде С0=аА,. Тогда справедливо следующее соотношение БС(А;)=Ц(БС(8),С0)=Ц(|1(БС(8),а)Д). Но поскольку С0=0С^=(Х, то и |Д

(БС(8),С0)=)1(БС(8),СХ). Таким образом, при развязке А,-БС(()) состояние О становится конечным и его надо пометить выходной буквой Уь Аналогично доказывается ситуация, если в Я-БС((^) входит хотя бы одно из

начальных состояний. В этом случае состояние надо сделать начальным.

Пусть в СП имеется кольцевой А.-путь, включающий состояния

{АьАг.....Ак), и существует некоторая цепочка СО, разбираемая данным

КА. Для нее существует функция разбора вида БСй)=|Л.(БС(8), где

Пусть разбор проходит через состояние Аь Входную цепочку

можно представить в виде СО=ССр, для которой имеет место разбор вида

БС(А;)=Ц(БС(8),а) и Х(Ч\)= Ц(БС(А0, Р). в связи с тем, что А,-БС(А1)=

>.-БС(А2)=... Х-БС(Ак), т.е. все состояния А1,Аг,...,Ак в смысле разбора

являются эквивалентными, их можно заменить одним эквивалентным состоянием А, навесив на него все входящие и выходящие дуги состояний А1,Аг,...,Ак. Аналогично, если в состояния А|,Аг,...,А|с входит хотя бы одно начальное (конечное) состояние, то и эквивалентное состояние А надо сделать начальным (конечным).

Алгоритм удаления Л-дуг в СП некоторого КА: сжать все кольцевые А-пути и выполнить развязку всех составных Л-БС. После ЭТОГО в

СП не останется ни одной А,-дуги, и она преобразуется в эквивалентный недетерминированный КА (НКА). Модель НКА является не менее интересной, чем СП, и ее анализ составляет предмет отдельного обсуждения и в данной работе не рассматривается.

На рис. 3 представлены соответственно три эквивалентные модели КА общего вида: непротиворечивая СРВ, СП и НКА. Все они реализуют один и тот же А-оператор.

Рис. 3. Эквивалентные модели КА общего вида

У|=с{а}с1 |с;

< У: = с{а}Ь| Ь;

Уз = сЬ|М.

V 1

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

ЛИТЕРАТУРА

1. Вавилов Е.Н., Портной Г.Л. Синтез схем электронных цифровых машин. М.: Сов.радио, 1963. 440 с.

2. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. М.: Мир, 1975, 545 с.

3. Вишняков ЮМ. Инструментарии разработчика СБИС. Таганрог: ТРТУ, 1993. 178 с.

УДК 681.3.016:007.52:611.81

М.В. Жуковская

ОРГАНИЗАЦИЯ РАСПРЕДЕЛЕННОГО ЛОГИЧЕСКОГО ВЫВОДА В ГИПЕРКУБОВЫХ ПРОЦЕССОРНЫХ СТРУКТУРАХ

Благодаря естественному параллелизму продукционного представления знаний основные действия в системах продукций (поиск и сопоставление) имеют потенциальные возможности для их распараллеливания в процессорных структурах. Сильносвязные процессорные структуры, имеющие коммутационную сеть типа “гиперкуб”, позволяют организовать эффективные процедуры логического вывода на продукциях, представленных в виде графов, в частности, в форме графов типа И/ИЛИ.

После размещения базы знаний в гиперкубовой процессорной структуре с сохранением структуры графов типа И/ИЛИ процесс логического вывода можно осуществлять путем построения, сокращения графа поиска решения (графа вывода) и извлечения из него ответа. Построение дерева решения сопровождается порождением всех возможных ветвей дерева решения. Сокращение дерева решения предполагает удаление ветвей, не входящих ни в один из потенциальных графов решения. Извлечение ответа предусматривает выявление всех графов решения из полного графа вывода. Фактически, извлечение ответа решает задачу, аналогичную поддержанию координации порожденных подпроцессов при традиционном подходе к параллельному логическому выводу, основанному на ведении множества параллельно работающих и взаимодействующих друг с другом процессов.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.