Научная статья на тему 'Характеризация живых решений синхронного автоматного уравнения'

Характеризация живых решений синхронного автоматного уравнения Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Вилла Тизиано, Евтушенко Нина Владимировна, Жарикова Светлана Владимировна

В работе рассматривается задача характеризации живых решений синхронного автоматного уравнения AX≅S. Решение уравнения называется живым, если композиция решения и автомата A не имеет «зависаний», т.е. при подаче любой допустимой входной последовательности система может произвести внешний выходной сигнал. В работе показывается, что если уравнение имеет живое решение, то уравнение имеет и наибольшее живое решение, которое является подавтоматом специального, так называемого совершенного, автомата. Любое живое решение есть редукция наибольшего живого решения. Однако обратное в общем случае не верно. В работе предлагается метод описания всех редукция наибольшего живого решения, которые являются живыми решениями уравнения для случая, когда спецификация S является детерминированным автоматом.

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

The paper is devoted to the characterization of progressive solutions to a synchronous finite state machine (FSM) equation AX≅S. A solution to the equation is progressive if none of external se quences can be blocked in the composition of the solution and FSM A. The theorem is proved that the equation has a progressive solution if and only if the equation has the largest progressive solution. Any progressive solution is a reduction of the largest. However, the converse is not always true. The paper establishes the necessary and sufficient conditions for a reduction of the largest solution to be a progressive solution to the equation.

Текст научной работы на тему «Характеризация живых решений синхронного автоматного уравнения»

Т. Вилла, Н.В. Евтушенко, С.В. Жарикова

ХАРАКТЕРИЗАЦИЯ ЖИВЫХ РЕШЕНИИ СИНХРОННОГО АВТОМАТНОГО УРАВНЕНИЯ

Работа выполнена при поддержке программы «Университеты России».

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

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

Задача решения автоматного уравнения Х=Б, извест-

ная также как задача факторизации или логического деления, исследовалась в ряде работ. В работах [1 - 3] для решения автоматных уравнений был применен языковый подход, т.е. операции композиции были определены как операции над языками автоматов, компонент композиции. Подобный подход позволил рассмотреть в едином ключе любые автоматы, в том числе частичные и недетерминированные. Было показано, что если синхронное автоматное уравнение разрешимо, то уравнение имеет наибольшее решение, язык которого выражается через классические операции подстановки, пересечения и дополнения автоматных языков. Для этих операций существуют эффективные алгоритмы вычисления результата каждой из операций, таким образом был предложен эффективный способ нахождения хотя бы одного решения (если существует) автоматных уравнений. Однако вопрос о характеризации всех решений уравнения остается открытым, так как не всякая редукция наибольшего решения является решением уравнения. Более того, не всякое решение интересно с теоретической и/или практической точек зрения. Наибольший интерес представляют так называемые живые решения, которые гарантируют, что синтезируемая система не имеет «зависаний», т.е. при подаче любой допустимой входной последовательности система может произвести внешний выходной сигнал. Данная работа посвящена характеризации живых решений разрешимого автоматного уравнения. Следует заметить, что, кроме логического синтеза, к решению автоматных уравнений сводится ряд задач, в частности задача оптимизации компонент дискретных систем, формирования выигрышных стратегий в логических играх.

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

1. ОПРЕДЕЛЕНИЯ

Конечным автоматом или просто автоматом далее называется пятерка А = (Б, I, О, Т, г), где Б - конечное множество состояний с выделенным начальным состоянием г; I - входной алфавит; О - выходной алфавит; Т<^[хБхБхО — отношение переходов. Гово-

рят, что автомат А переходит из состояния р в состояние п под действием геI с выходным символом оеО, если и только если (¡,р,п,о)еТ, т.е. (¡,р,п,о) является переходом в автомате. В общем случае, в текущем состоянии для данного входного символа может существовать более одного перехода.

Если для каждой пары (¡,р)е!хБ существует хотя бы один переход, то автомат называется полностью определенным или полным. В противном случае автомат называется частично определенным или частичным. Автомат называется тривиальным, если в нем нет ни одного перехода, т.е. Т=0. Автомат называется наблюдаемым, если для любой тройки (¡,р,о)е!хБхО существует не более одного состояния пеБ такого, что (¡,р,п,о)еТ. Автомат называется детерминированным, если для любой пары (¡,р)е!хБ существует не более одной пары (п,о)еБхО такой, что (г,р,п,о)еТ. В детерминированном автомате вместо отношения переходов обычно используют две функции: функция переходов описывает следующее состояние п, в которое автомат переходит из текущего состояния р под действием входного символа г, функция выходов описывает выходной сигнал о на этом переходе. Мы называем детерминированный, полностью определенный автомат автоматом Мура, если функция выходов зависит только от состояний автомата. Автомат В=(2, I, О, Т’, г) называется подавтоматом автомата А, если и Т’сТ.

Отношение переходов обычным образом распространяется на последовательности в алфавитах I и О. Пусть реБ и г1...гkеI*. Четверка (¡1...1к,р,п,о\...ок)еТ, если и только если существует последовательность состояний s0, ..., sk е Б такая, что у0 = р, sk = п и (¡)-у.1у,оу)еТ, у'=1,...,к. Аналогичным образом на последовательности распространяются функция переходов и выходов детерминированного автомата.

Свойство автомата как преобразователя информации характеризуется языком автомата. Пусть А=(Б, I, О, Т, г) - конечный автомат и. Языком автомата А в состоянии sеБ, обозначение: ЬА(у), называется множество последовательностей входо-выходных пар, получаемых при последовательных переходах из состояния s. Формально, язык ЬА(у) есть подмножество (IXО)*, и последовательность (¡1о1)...(гкок)еЬА(у), если и только если ЗпеБ(г1...гк,у,п,о1...ок)еТ. Язык ЬА(г) автомата в начальном состоянии г называется языком автомата А и обозначается ЬА.

Свойства включения и равенства автоматных отображений описываются в терминах отношений редукции и эквивалентности между состояниями автоматов. Состояние г автомата В называется редукцией состояния s автомата А, обозначение: г<у, если Ьв(г)£ЬА(у). Состояния г и у называются эквивалентными, если Ьв(г)оЬА(у), обозначение: г^у. Неэквивалентные состояния называются различимыми. Авто-

мат, состояния которого попарно различимы, называется приведенным. Автомат В называется редукцией автомата А, если начальное состояние автомата В есть редукция начального состояния автомата А. Если начальные состояния автоматов В и А эквивалентны, то автоматы В и А называются эквивалентными. Известно [4], что для каждого автомата А существует единственный с точностью до изоморфизма приведенный наблюдаемый автомат, который эквивалентен автомату А и называется приведенной формой последнего. Для детерминированных автоматов отношения редукции и эквивалентности совпадают. В данной работе мы полагаем, что все рассматриваемые автоматы являются полностью определенными, приведенными и наблюдаемыми, если только явно не утверждается обратное.

Все конечно автоматные языки являются регулярными. Поэтому для представления языка мы будем использовать конечные полуавтоматы, в которых действия не делятся на входные и выходные. Полуавтомат, соответствующий автомату А = (Б, I, О, Т, г), имеет то же самое множество состояний и переходов. Множество действий полуавтомата есть декартово произведение ЫО. Мы далее рассматриваем автомат и соответствующий полуавтомат как один и тот же объект и обозначаем их одним символом.

2. КОМПОЗИЦИЯ КОНЕЧНЫХ АВТОМАТОВ

Для конечных полуавтоматов хорошо известны операции объединения, пересечения, дополнения и разности, которые соответствуют теоретико-множественным операциям над языками полуавтоматов. В данной работе мы рассматриваем дополнительные операции, которые используются для определения синхронной композиции автоматов.

Пусть А есть полуавтомат, множество действий которого есть Хх V. Х-проекция А полуавтомата А получается посредством «стирания» символа из V на каждом переходе с последующей детерминизацией полученного полуавтомата. и-расширение А ги получается добавлением переходов в полуавтомат А. Для каждого перехода (ху,р,п,) полуавтомата А в полуавтомат А щ добавляются переходы (хш,р,п,) для всех ие и.

Рассмотрим композицию автоматов, в которой автомат А имеет входной алфавит I1хV и выходной алфавит О\х'и; автомат В имеет входной алфавит ^хи и выходной алфавит O2хV (рис. 1). Синхронная композиция автоматов А и В имеет входной алфавит выходной алфавит О1хО2=О; под действием входного символа (ц^е '^х^ композиция «вырабатывает» выходной символ (о1,о2)еО1хО2 и пару соответствующих внутренних символов (у,и)еГхи. Под парой соответствующих внутренних символов (у,и)е VхU в текущих состояниях рА и рв мы понимаем, что ЗпАеБАВпвеБВ[((11,у),рА,11,У),РА,пА,(о1,и))еТА & ((¡2,и), рв,пв,(о2,у))еТв]. Формально, композиция автоматов определяется через операции над соответствующими полуавтоматами. Синхронной композицией или просто композицией А^'В автоматов А и В называется приведенный наблюдаемый автомат с входным алфавитом Ьх^ и выходным алфавитом О1хО2, который соответствует полуавтомату (Аг/2х02^ВгЛх01);лх/2х01х02. Если

пересечение есть полуавтомат, в котором множество Т переходов пустое, то композиция А^'В есть тривиальный автомат. По определению, синхронная композиция детерминированных и полностью определенных автоматов может быть частичным и недетерминированным автоматом. Частичный автомат получается тогда, когда для некоторого входного символа в текущем состоянии не существует согласованной пары внутренних символов. Недетерминированный автомат может получиться, если существует несколько пар согласованных внутренних символов.

А А О

к V

V и

12 л г О2

В

Рис. 1. Композиция конечных автоматов

Определение композиции автоматов с использованием операций над соответствующими полуавтоматами позволило единым образом определить композицию автоматов, независимо от того, являются ли компоненты детерминированными или недетерминированными автоматами, частично или полностью определенными. Операция синхронной композиции, определенная ранее только на множестве детерминированных полностью определенных автоматов [5], является частным случаем определенной выше операции.

3. СИНХРОННОЕ АВТОМАТНОЕ УРАВНЕНИЕ

Пусть А и С - детерминированные, полностью определенные конечные автоматы с входными алфавитами I1хV и ^х^ и выходными алфавитами О1хи и О1хО2 соответственно. Выражение вида А^Х=С будем называть синхронным автоматным уравнением или просто автоматным уравнением относительно свободной переменной Х, которая является автоматом с входным алфавитом ^хи и выходным алфавитом О^К1 Автомат В с входным алфавитом ^хи и выходным алфавитом O2хV называется решением уравнения, если А^В=С. Решение М уравнения А^Х=С называется наибольшим, если каждое решение уравнения есть редукция автомата М. В работах [1, 2] показано, что разрешимое автоматное уравнение имеет наибольшее решение, которое в общем случае является недетерминированным автоматом.

Решение В уравнения называется живым решением уравнения, если полуавтомат Аг/2х02^Вг/1х01 является полностью определенным автоматом с входным алфавитом ^х^. Таким образом, если В - живое решение уравнения, то в любом состоянии полуавтомата Аг/2х02^Вг/1х01, которое достижимо из начального состояния, существует переход по любому входному символу из алфавита Дх^, т.е. поведение композиции

1 Алфавиты автоматов определяются структурой композиции.

определено на любой входной последовательности. Более того, ни одна внешняя входная последовательность не может быть «блокирована», т.е. независимо от выполняемой последовательности согласованных внутренних символов композиция А»В перейдет в устойчивое состояние. Известно, что всякий автомат Мура [2], являющийся решением уравнения, есть живое решение. Однако живые решения не исчерпываются автоматами Мура. В заключение параграфа сформулируем утверждение о множестве последовательностей полуавтомата АгпхсоЛВгпх.оъ которое будет использоваться при доказательстве последующих теорем. Утверждение непосредственно следует из определения операций над полуавтоматами.

Лемма. Последовательность в переводит полуавтомат Аг/2х02 п В глх01 из начального состояния в состояние уг, если и только если (I1хUх VхO1)-проекция в переводит контекстный автомат А из начального состояния в состояние у, а (I2хUх VхO2)-проекция в переводит автомат В из начального состояния в состояние г.

4. НАИБОЛЬШЕЕ ЖИВОЕ РЕШЕНИЕ СИНХРОННОГО АВТОМАТНОГО УРАВНЕНИЯ

В работе [3] доказывается, что если автоматное уравнение имеет живое решение, то уравнение имеет и наибольшее живое решение. В общем случае, наибольшее живое решение является редукцией, но не подавтоматом наибольшего решения. Для нахождения наибольшего живого решения предлагается способ, основанный на удалении «плохих» последовательностей из наибольшего решения. Если наибольшее решение М уравнения живое, то М - наибольшее живое решение; однако не всякая его редукция является живым решением. Если решение М не является живым, то язык автомата М «подстригается» таким образом, чтобы получить его наибольшее подмножество, обеспечивающее живое решение. Однако, поскольку число последовательностей недетерминированного автомата бесконечно, основная сложность состоит в доказательстве сходимости предлагаемого алгоритма. В данной работе при построении наибольшего живого решения мы предлагаем использовать специальный автомат, эквивалентный наибольшему решению, такой, что наибольшее живое решение является его подавтоматом. Следуя [6], мы называем построенный автомат совершенным в контексте автомата А и в следующем разделе используем его для описания всех живых решений уравнения. Заметим, что в общем случае наибольшее живое решение не является подавтоматом наибольшего решения.

Автомат Р = (Л, ^хи, О2хV, ТР, г0) назовём совершенным в контексте А = (Б, I1хV, О1хи, ТА, у0), если для любого состояния уг полуавтомата А'Г/2хо2пР'Тлхо1 множество (I2хUх VхO2)-проекций последовательностей, переводящих автомат из начального состояния в состояние уг, совпадает с множеством последовательностей, которые переводят полуавтомат Р из начального состояния в состояние г.

Теорема 1. Для наибольшего решения автоматного уравнения А^Х=С существует эквивалентный наблюдаемый автомат, совершенный в контексте А.

Доказательство теоремы конструктивное, т.е. мы показываем, как для автомата M = (Q, 12хи, 02хУ, TM, q0), который является наибольшим решением автоматного уравнения A^X=C, можно построить эквивалентный ему наблюдаемый автомат P = (R, 12хи, 02хУ, TP, r0), совершенный в контексте A.

Для построения совершенного автомата построим автомат R=(At/2X02nMt/ix0i)i/2XuxVx02 с входным алфавитом I2xU и приведем его к наблюдаемой форме P. Приведение к наблюдаемой форме есть, вообще говоря, процесс детерминизации соответствующего полуавтомата. Поэтому состояниями автомата P являются множества пар sq, где s - состояние автомата A и q -состояние автомата M. Добавим в автомат R те последовательности из языка автомата M, которые не участвуют в композиции с автоматом A. Иными словами, для каждого перехода автомата M из состояния q в безразличное состояние DNC (DONT CARE) под действием входного символа i2uvo2 добавим в автомат R переход в безразличное состояние DNC под действием входного символа i2uvo2 из каждого состояния r, содержащего пару sq, seS. Полученный автомат эквивалентен автомату M, так как содержит все входовыходные последовательности автомата M, которые участвуют в композиции с автоматом A. Каждая вхо-до-выходная последовательность, которая не участвует в композиции, переводит автомат M в безразличное состояние и, по построению, является входо-выход-ной последовательностью автомата R.

Построим наблюдаемую форму P автомата R и рассмотрим состояние r наблюдаемой формы, отличное от безразличного состояния DNC. По построению наблюдаемой формы, r есть подмножество состояний полуавтомата At/2xO2 п Stuxoi, т.е., r = {siq, ..., s*q}, где sq есть состояние полуавтомата A\I2xO2 п StI1xO1. Для подмножества r = {s1q, ..., s^q} рассмотрим множество {Psq} последовательностей, sqer, где множество {Psq} состоит из всех последовательностей, которые переводят полуавтомат A\I2xO2 п StI1xO1 из начального состояния в состояние s,q. По построению наблюдаемой формы, множество {ar} последовательностей, которые переводят полуавтомат (AtI2xO2 п St/1xo1)ii2xUxVxo2 из начального состояния в состояние r, есть {ar} = n{pSiîH/2xUxVxO2, где пересечение берется по всем sqer. Иными словами, множество {ar} равно пересечению (12хихКх02)-проекций последовательностей из множеств {Ps.q). Более того, для любого состояния sq справедливо следующее. Если множество {Psq)i/2xUxVxO2 пересекается с множеством {ar}, то состояние sq принадлежит подмножеству r.

Пусть r = {s1q, ..., sjq} есть состояние наблюдаемого автомата P. Рассмотрим состояние sr полуавтомата AtI2xO2 п P-Глхоь Согласно лемме из разд. 3, множество (12хихКх02)-проекций последовательностей, которые переводят полуавтомат AtI2xO2 п PtI1xO1 из начального состояния в состояние sr, есть подмножество множества {ar} последовательностей, которые переводят автомат P из начального состояния в состояние r.

Рассмотрим последовательность a из множества {ar} и последовательность в с (12хихКх02)-проекцией a, которая переводит полуавтомат A\I2xO2 п MtI1xO1 из начального состояния в состояние sq. Поскольку

множества {в^-ки^хкхсе и {аг} пересекаются, состояние уд принадлежит подмножеству г, т.е. последовательность в переводит полуавтомат Аг/2х02 п РгЛх01 из начального состояния в состояние уг. Следовательно, множество (I2хUх VхO2)-проекций последовательностей, которые переводят полуавтомат Аг/2х02 п РгЛх01 из начального состояния в состояние уг, содержит множество {аг}. Другими словами, (I2хUхVхO2)-проекция языка, представляемого состоянием уг полуавтомата Аг/2х02 п РгЛхоъ совпадает с языком, который представляется состоянием г полуавтомата Р.

Далее мы показываем, что если Р - совершенный автомат, эквивалентный наибольшему решению уравнения А^Х=С, то наибольшее живое решение есть подавтомат автомата Р, т.е. может быть получено посредством удаления состояний и переходов в автомате Р.

Алгоритм построения наибольшего живого решения

Вход: Совершенный автомат Р, являющийся наибольшим решение уравнения А • Х = С.

Выход: Наибольшее живое решение уравнения А • Х = С (если существует).

1. Полагаем г: =1 и Б1: = Р.

2. Строим полуавтомат Л' = Аг/2х02 п Б'гЛх01.

3. Если полуавтомат Л' соответствует полностью определенному автомату с входным алфавитом ^х^, то Б‘ есть наибольшее живое решение уравнения А • Х = С. Конец.

Иначе:

a) Определяем множество состояний В = {уг}: уеАг/2х02, геБ^лхоъ в которых поведение автомата Л' не полностью определено.

b) Строим Б!+1, итеративно удаляя из Б каждое состояние г такое, что Зу, уеАг/2х02, угеВ, или поведение автомата Б не полностью определено в состоянии г.

c) Если удаляется начальное состояние, то уравнение не имеет живого решения. Конец.

Иначе:

1) Строим Л'+1, удаляя из Л' каждое состояние у'г, такое, что Зу, уеАг/2х02, угеВ. и) Увеличиваем i на 1 и Шаг 3.

Теорема 2. Если уравнение А • Х = С имеет живое решение, то алгоритм доставляет наибольшее живое решение.

Доказательство. Состояние г автомата Р называется 1-непрогрессивным, если полуавтомат А^/2х02 п Рглх01 имеет состояние уг, в котором автомат частично определен. Пусть мы уже определили к-непрогрес-сивные состояния автомата для к>0. Состояние г называется (к+1)-непрогрессивным, если оно к-непрог-рессивное или существует состояние уг полуавтомата Аг/2х02 п Р-Глхсп и входной символ i1i2еI такие, что любая шестерка ¡1г2иуо1о2 переводит полуавтомат из состояния уг в состояние у г, где г' есть к-непрогрес-сивное состояние. Состояние г называется непрогрессивным, если оно к-непрогрессивное для некоторого к. В противном случае состояние г называется прогрессивным. Согласно алгоритму, только непрогрессивные состояния удаляются из автомата Р. Следовательно, для доказательства теоремы достаточно показать, что ни одна последовательность в живом реше-

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

База индукции. Пусть г является 1-непрогрес-сивным состоянием автомата Р. По определению, существует состояние уг, в котором поведение полуавтомата Аг/2х02 п РгЛх01 определено не для каждого входного символа ¡112. Более того, согласно свойствам совершенного автомата Р, для каждой последовательности а, которая переводит автомат Р из начального состояния в состояние г, существует последовательность в с (I2хUх VхO2)-проекцией а, которая переводит автомат Аг/2х02 п РЛх01 из начального состояния в состояние уг, т.е. а не может быть входо-выходной последовательностью любого живого решения.

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

Предположим, что живое решение содержит последовательность а, которая переводит автомат Р из начального состояния в т-непрогрессивное состояние г. Тогда существует последовательность в с (^хих УхО2)-проекцией а, которая переводит автомат Аг/2х02 п Рглх01 в состояние уг и входной символ i1i2еI такой, что ¡112шо1о2 переводит полуавтомат из уг в состояние у'г', где г' есть (т-1)-непрогрессивное состояние.

Поскольку состояние уг не является 1-непрогрес-сивным, в живом решении, последовательность а можно продолжить (I2хUх VхO2)-проекцией некоторой шестерки ¡1¡2uvo1o2; которая помечает соответствующий переход из состояния уг, т.е. живое решение содержит последовательность, которая переводит автомат Р из начального состояния в (т-1)-непрог-рессивное состояние. Полученное противоречие и доказывает утверждение.

5. ХАРАКТЕРИЗАЦИЯ ЖИВЫХ РЕШЕНИЙ УРАВНЕНИЯ

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

Пример. Рассмотрим автоматы А и С на рис. 2. Непосредственной проверкой можно убедиться, что автомат М является наибольшим живым решением уравнения А^Х = С. Более того, для любой входовыходной последовательности автомата можно построить полностью определенное живое решение

уравнения, содержащее данную последовательность, т.е. из языка автомата нельзя удалить ни одной последовательности без потери некоторых живых решений. Однако не каждая полностью определенная редукция автомата М является живым решением. Примером может служить подавтомат автомата М на рис. 2, й.

г!v!U1o i2V1u2o i1v2u2o i2v2u1o

i1o

i2o

Автомат A (a)

Специ ф икация C (b )

u 1 / v1 u2/v2

Ы1/у1 , У2

Подавтомат,

Наибольшее решение М (с) не являющийся

живым решением ((

Рис. 2

Для полной характеризации живых решений мы расширяем совершенный автомат Р, эквивалентный наибольшему живому решению, сопоставляя каждому состоянию систему подмножеств входо-выходных символов. Рассмотрим полуавтомат Аг/2х02пРг/1х01 и алфавит (I2хUх VхO2). Для каждого состояния уг полуавтомата и входного символа ¡1¡2еI через БиЪА (уг, ¡^2) обозначим множество, содержащее (I2хUхVхO2)-проекции всех символов, которые помечают переходы из состояния уг с внешним входным символом ¡-[¡2. Так как Р - наибольшее живое решение, то множество БиЪА (уг, ¡-[¡2) не пусто. Состоянию г автомата сопоставляем систему /(г) подмножеств БиЪА (уг, ¡^г), где уг - состояние полуавтомата Аг/2х02пРг/1х01, ¡1¡2еI. Если для некоторого состояния г в полуавтомате отсутствуют состояния уг, то, по определению, полагаем множество /(г) пустым. Соответствие / назовем А-прогрессивным отображением множества состояний автомата Р в совокупности подмножеств входовыходных символов автомата.

Теорема 3. Пусть Р - наибольшее совершенное живое решение уравнения А^Х = С, которое является совершенным в контексте А, и В - редукция автомата Р. Автомат В является живым решением уравнения, если и только если для любого состояния дг пересечения ВпР множество /(г) не является пустым, множество входо-выходных пар в состоянии д пересекает каждое подмножество из системы /(г), сопоставленной состоянию г автомата Р.

Доказательство. Пусть В - редукция автомата Р. Рассмотрим пересечение В п Р автоматов и состояние дг пересечения.

Необходимость. Пусть В - живое решение уравнения А^Х = С. Для состояния г автомата Р выполняется одно из следующих двух условий:

1. В полуавтомате А не существует состояния у е Б, такого, что пара уг является состоянием полуавтомата А-гдхотпР-гл х01.

2. В полуавтомате А существует состояние у е Б, такое, что пара уг является состоянием полуавтомата

АГ/2х02пРГЛх01.

В первом случае на множество входо-выходных пар в состоянии д не накладывается никаких ограничений, так как по определению, множество /(г) является пустым. Рассмотрим второй случай.

Пусть уг - состояние автомата Аг/2х02пРг/1х01. Для доказательства необходимости достаточно показать, что полуавтомат А'[12х02п'Р'[11хо1 содержит состояние уд. Действительно, так как состояние дг есть состояние пересечения В п Р, то существует входная последовательность а, которая переводит автоматы В и Р в состояния д и г соответственно. Так как Р - совершенный автомат, то согласно лемме из разд. 4, существует последовательность в такая, что (I1хUхVхO1)-проекция в переводит автомат А из начального состояния в состояние у, а (I2хUх VхO2)-проекция в равна а. Таким образом, согласно лемме, полуавтомат Аг/2х02пРг/1х01 содержит состояние уд.

Достаточность. Пусть уд - состояние автомата Аг/2х02пВг/1х01 и выполняются условия теоремы. Покажем, что в состоянии уд поведение автомата Аг/2х02пВ г/1х01 определено для каждого входного символа ¡1 ¡2 е7. Так как В - редукция автомата Р и дг -состояние пересечения В п Р автоматов В и Р, то в полуавтомате Аг/2х02пРг/1х01 есть состояние уг. Для входного символа ¡-¡¡2 множество входо-выходных пар в состоянии уд пересекает множество БиЪА (уг, ¡^2), т.е. поведение автомата А'[12х02пВ'[11х01 определено в состоянии уд для входного символа ¡^2.

ЗАКЛЮЧЕНИЕ

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

ЛИТЕРАТУРА

1. Евтушенко Н., Вилла Т., Брайтон Р. и др. Решение уравнений в логическом синтезе. Томск: Изд-во «Спектр», 1999. 27 с.

2. Yevtushenko N., Villa. T., Brayton R.K., et al. Solution of synchronous language equations for logic synthesis // Вестник ТГУ. Приложение. 2002. № 1 (II). С. 132-137.

3. Yevtushenko N., Villa. T., Brayton R.K., et al. Synchronous equations over FSM languages // Proceedings of the International Couference IWLS2003. USA, 2003.

4. Starke P.H. Abstract Automata. N.Y.: American Elsevier Publishing Company, 1972.

5. Kim T., Villa T., Brayton R.K., Sangiovanni-Vincentelli A. Synthesis of FSMs: functional optimization. N.Y.: Kluwer Academic Publishers, 1997.

6. Buffalov S., El-Fakih K., Yevtushenko N, Bochmann G. Progressive solutions to a parallel automata equation // Труды международной конференции F0RTE2003. - Германия, 2003.

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