УДК 519.711.3
ПРИМЕНЕНИЕ НЕПРЕРЫВНОЙ ЛОГИКИ В ТЕОРИИ АВТОМАТОВ И ЦИФРОВОЙ ТЕХНИКЕ
© В.И. Левин
Levin V.I. The application of continuous logic to the theory of automata and digital technology. The reviews works on application of continuous logic to the mathematical description of finite automata and digital devices. Simple and complex automata, automata with and without memory, determined and non-determined automata are considered.
1. В 1972 году автор установил, что операции непрерывной логики (НЛ), определенные на достаточно широком отрезке С = [А, В]: а V Ь = тах( а, Ь) -дизъюнкция, а л Ь = тіп( а, Ь) - конъюнкция (знак л часто не ставится), позволяют описывать в аналитической форме динамические процессы в схемах конечных (цифровых) автоматов. Было показано, что квазибулева алгебра НЛ {С^;л} является адекватным математическим аппаратом для описания динамики указанных автоматов. Именно, что с помощью операций НЛ V ил можно выразить моменты изменений сигнала в любом узле схемы любого автомата, если известны моменты изменений ее входных сигналов. Этот результат обобщил и расширил результаты Шеннона, Накашимы и Шестакова, установивших в 1938-1941 гг. соответствие между булевой алгеброй логики и статикой работы схем автоматов без памяти (точнее, релейно-контактных схем). На базе указанного результата была разработана новая наука - аналитическая динамика конечных автоматов. Эта наука позволяет находить в аналитической форме, анализировать и синтезировать динамические процессы в схемах автоматов достаточно большой сложности при достаточно сложных входных процессах. Она является сегодня основным средством для получения НЛ - описания работы разнообразных систем в технике, экономике, биологии, социологии, политологии, истории, для чего эти системы предварительно моделируются динамическим автоматом. Ниже дан краткий обзор результатов НЛ - динамики конечных автоматов.
2. Простейший объект в рассматриваемой теории - детерминированный динамический автомат без памяти, с вход-выходными соотношениями
Ук (ґ) = °к [Х1({X Хп (ґ)]
к = 1, т, хі є X, ук є 7.
В (1) хі (ґ) и Ук (ґ) - входные и выходные процессы, X и 7 - входные и выходные алфавиты, (Є, ..., От ) - оператор без памяти. Такой автомат реализуется в виде асинхронной комбинационной схемы - схемы из логических и инерционных элементов,
не имеющей обратных связей. Обычно X = 7 = {0,1}, так что входные, выходные и внутренние процессы в схеме и ее элементы - двоичные. Каждый логический элемент і реализует на выходе соответствующую булеву функцию своих входов {0,1}я ^ {0,1} . Инерционные элементы - задержка и фильтр. Задержка сдвигает момент изменения входного процесса на постоянную х, а фильтр не пропускает на выход изменения входного процесса, отстоящие по времени менее чем на х . Реакция у( х ) на выходе элемента (логического или инерционного) на заданные входные процессы хі (ґ) , і = 1, р называется динамическим процессом в этом элементе. Совокупность процессов в элементах схемы с действующими на ее входах процессами хі (ґ) , і = 1, п называется динамическим процессом в схеме, соответствующим этим воздействиям. Задача расчета (анализа) динамики схемы состоит в отыскании в аналитической форме (анализе полученного) динамического процесса в любом ее узле (в частности, на выходах), если заданы аналитические процессы на ее входах. Основной метод расчета динамики схем - метод подстановок. Он состоит в разбиении схемы на последовательные ступени глубиной в один элемент и использовании соотношений «входные процессы - выходной процесс» элементов. Эти соотношения относительно просты для одноходовых элементов: инвертора (функция у = х ), задержки и фильтра. Если входной процесс записать как последовательность импульсов и пауз
х(ґ) = и(аъ а2)и(-, а3) ... и(ат_х, ат), и є {0,1}, (2)
то динамические процессы на выходах этих элементов
Уи (ґ) = и(аЬа2 М- а3 )...~(ат-Ъат X
У к (ґ) = и( а1 + х, а2 + х)м (-, а3 +х)...
•••«(ат-1 +х, ат +х), (3)
у™ (ґ) = и[а1,а1 + (а2 - а1)1 (а2 - а1 - х)] х х и[а2,а2 + (а3 - а2 ) х I(а3 - а2 - т]...м х
Х [ат-1, ат-1 + (ат - ат-1) Х 1 (ат - ат-1 - х)].
Для двухвходовых элементов эти соотношения значительно сложнее, ив их установлении выдающаяся роль принадлежит НЛ. Найдем, например, реакцию конъюнктора (функция у = x1 л x2 ) на входные воздействия x1(/) = 0 =а (обозначение 1'а ),
x2^) = 1 ^ 0t=ь (обозначение 0'а ). Реакция равна импульсу 1(a, Ъ) при a > Ъ и постоянному нулю при Ъ < а или, с использованием дизъюнкции НЛ,
1' л 0' =
1(а, Ь),
Ь > а
0 = 1(а, а), Ь < а
= 1( а, а V Ь).
(3)
Аналогично анализируются другие случаи простых воздействий в конъюнкторе, а также в дизъюнк-торе (функция у = х1 V х2 )
0а л 0Ь = 0алЬ , 0а V 0Ь = 0
1'„л 1' = 1^Ь ,1', V1' = 1
avЬ,
алЬ,
(4)
1'а л 0Ь = 1(а,а V Ь), 1'а V 0Ь = 0(Ь,а V Ь).
Формулы (4) демонстрируют удобство аппарата НЛ в изучении динамики логических элементов.
3. Если входные процессы логических элементов имеют число изменений >1, то для нахождения их динамических процессов нужны формальные методы. Простейший из них - декомпозиция одного из двух входных процессов х ^) и у($) , например, х ^) на два последовательных подпроцесса ха ^) и Хъ ) ; последнее по времени изменение в ха (: ) называется точкой разделения. Далее находят реакции элемента /а (:) и / (:) на частичные входные воздействия
{ха(/), у(/)} и {хЪ(/), у(/)} . Если они не пересекаются во времени, то реакция /(7) элемента на заданное входное воздействие {х(:), y(t)} вычисляется как последовательность частичных реакций /а (t) и / (t) . Метод декомпозиции сводит вычисление динамического процесса в элементе при данных входных воздействиях к аналогичной задаче при более простых воздействиях. Этот метод применим (то есть /а и /ъ не пересекаются) при условии:
1) подходящего выбора точки разделения (для конъ-юнктора это точка 0Ъ , для дизъюнктора - 1'а);
2) приведения процесса /а (t) (процесса /ъ (t) ) к нормальной справа (нормальной слева) форме, где выражение момента окончания (начала) процесса удовлетворяет некоторой оценке сверху фактического момента окончания (оценке снизу фактического момента начала). Методом декомпозиции можно найти выражение динамических процессов в элементах с входными процессами, содержащими до нескольких изменений. Например,
(5)
0'а V 1(Ь,с) = 0(а, а V Ь)1(-, а V с); 0' V 0(Ь, с) = 0(а V Ь, а V с); і'а V 1(Ь, с) = 1(а л Ь, с)0(-, а V с), 0'а л 1(Ь, с) = 1( а л Ь, а л с);
0'а л 0(Ь, с) = 0(а л Ь, с)1(-, а V с); 1' л 1( Ь, с) = 1( а V Ь, а V с);
1'а V 0(Ь, с) = 0(а л Ь, а л с);
1а л0(Ь,с) = 1(а,а V Ь)0(-,а V с).
Используя формулы типа (4), (5) для динамических процессов в типовых логических элементах, можно находить динамические процессы в несложных схемах, а затем анализировать их, записывая условия, при которых процессы принимают ту или иную форму, и решая получающиеся уравнения и неравенства НЛ.
4. Более сложный объект в рассматриваемой теории - детерминированный автомат с памятью, со вход-выходными соотношениями
Ук(ґ) = °к [х1(ґ хп(ґ), и1(ґ Х-- ир (ґ)], к =
и'і (ґ ) = иі (ґ + х ) = ^ [х^ґ ),..., хп (ґ ), ^(ґ ),..., ир (ґ)], і = 1 р
хі є X,
Ук є7, (6) и і єи.
В (6) хг- (ґ ), Ук (ґ), и у (ґ) - входные, выходные и внутренние процессы, X, 7 и и - входной, выходной и внутренний алфавиты, (01, ..., ) и
(^1, ..., _Рр ) - операторы без памяти. Такой автомат
реализуется в виде асинхронной схемы с памятью, имеющей логический блок в виде некоторой асинхронной комбинационной схемы и блок памяти в виде работающих параллельно р задержек с временами
задержки х1, ..., хр , причем логический блок окружен р обратными связями, проходящими с выходов логического блока на его входы через соответствующие задержки блока памяти. В этой схеме х(ґ) = (х1(ґ), ..., хп(ґ)) - вектор входных процессов, у(ґ) = (У1(ґ),..., Ут (ґ)) - вектор выходных процессов, и(ґ) = (щ(ґ),..., ир(ґ)) - вектор процессов на выходах блока памяти (внутреннее состояние автомата в момент ґ ), и(ґ + х) = (щ(ґ + х),..., ир (ґ + х)) - вектор процессов на входах блока памяти, (следующее внутреннее состояние автомата), (х (ґ), и(ґ)) и (у(ґ), и(ґ + х)) - векторы процессов на входах и выходах логического блока. Обычно X = 7 = и = {0,1}, так что все процессы в схеме двоичные. Динамический процесс в схеме с памятью определяется аналогично комбинационной схеме. Задача расчета (анализа) динамики автомата с памятью состоит в вычислении в аналитической форме (анали-
зе) динамического процесса в любом узле (в т. ч. на выходе) соответствующей схемы по заданным в аналитической форме процессам на ее входах и ее начальному внутреннему состоянию. Имеется два основных метода расчета динамики автомата: 1) метод уравнений динамики и 2) метод комбинационного моделирования. Первый реализуется в виде 4-шагового алгоритма: 1) составление по схеме системы уравнений (6) относительно неизвестных процессов иі (ґ), хі (ґ);
2) определение формы, в которой следует искать решение (для каждого неизвестного процесса возможно несколько форм, различающихся сложностью);
3) выбор простейшей формы и упрощение системы уравнений; 4) решение системы уравнений. Если решение существует и справедливо при любых временных параметрах схемы, то конец алгоритма. В противном случае - переход к шагу 3 с выбором следующей по сложности формы неизвестных процессов. Второй метод реализуется в виде такого алгоритма: 1) зная начальное устойчивое внутреннее состояние
(Щ , ..., и°р ) , входные процессы х°(ґ), хп (ґ) и операторы ^°, ..., _Рр , из последних р уравнений (6) методами расчета динамики комбинационных схем находим первые начальные участки и'°(ґ), і = °, р процессов и'(ґ) = щ(ґ + тг) на входах блока памяти. Эти участки, прошедшие через блок памяти и принявши форму щ°(ґ) = и°° (ґ)Ті,..., и°(ґ) = и'р (ґ)^ ,
где индекс хі означает сдвиг процесса на хі, представляют собой первые начальные участки процесса и(ґ) = (и°(ґ),..., ир(ґ)) эволюции внутреннего состояния автомата; 2) аналогично, зная первые начальные участки и°°(ґ),..., и°(ґ) процессов и°(ґ),..., ир(ґ) ,
входные процессы X!(ґ),..., хп (ґ) и операторы Ъ, ..., ¥Р , из тех же уравнений (6) находим вторые,
более длинные начальные участки и'2 (ґ), і = 1, р процессов и' (ґ) = щ (ґ + хі) на входах блока памяти. Эти участки, пройдя блок памяти и приняв форму и^(ґ) = Щ 2 (ґ )ч,..., и2р (ґ) = и'р2(ґ)х , становятся
вторыми начальными участками процесса и(ґ) . Шаги
3) и нижеследующие выполняются аналогично. В результате получаем достаточный начальный участок
ип (ґ) = (иП(ґ), ..., иП(ґ)) процесса эволюции внутреннего состояния автомата. После этого из первых т уравнений (6) находим соответствующий начальный
участок уп(ґ) = (уП(ґ),..., упр(ґ)) выходного процесса автомата. Приведенные алгоритмы позволяют находить динамические процессы в несложных автоматах с помощью операций НЛ, а затем анализировать их, записывая условия, при которых процессы принимают нужную форму, и решая получающиеся уравнения и неравенства НЛ. Нахождение динамических процессов в автоматах можно совместить с их анализом, если используется метод уравнений динамики.
Для этого необходимо на шагах 2, 3 алгоритма данного метода учесть нужные требования к форме процессов.
5. При расчетах и анализе динамических процессов в сложных автоматах с длинными (с большим числом изменений) входными процессами возникает проблема размерности. Решение этой проблемы базируется на каноническом представлении входных воздействий схем в соответствии с теоремой: любое воздействие (х°(ґ),..., хп(ґ)) на п входах одновыходной безинерционной комбинационной схемы, с оператором О (1) в виде симметрической булевой функции, можно представить эквивалентной входной совокупностью свободных (т. е. не привязанных к определенным входам) импульсов
1(аг, Ьг ), г = 1, М , упорядоченных линейно
°(а°, Ь°) < ... < °(аМ, ) . Здесь аг[Ьг] -
момент г -го по порядку изменения вида 0 ^ ° [вида ° ^ 0 ] в совокупности входных процессов X!(ґ), ..., хп (ґ) , М - суммарное число изменений каждого вида (число импульсов) в указанной совокупности. Заменив входное воздействие эквивалентной совокупностью импульсов, можно разбить время на интервалы с постоянным числом импульсов в каждом и потому с постоянным значением выходного
процесса у(ґ) . Сложность разбиения О (М2) . Для численного нахождения процесса у(ґ ) остается вычислить его значение в какой-то одной точке каждого интервала. Воздействие на комбинационную схему можно представить в аналитической форме. Действительно, если оно задано последовательностями импульсов и пауз
хг (ґ) = 1(ai1, Ь,1 )0(-, —)1(аі2, Ьі2 ) ... 1(агт , Ьіт ), і = °, п,
то по теореме оно представляется эквивалентной совокупностью свободных импульсов
____ п
°(аг, Ьг), г = 1, М , М = ^ті , моменты начала и
і =1
окончания которых выражаются через моменты изменений процессов (7) порядковыми логическими определителями
а11 • • а1т° г Ь11 • • Ь1 т°
II сз ап1 • аптп , Ьг = Ьп1 • Ьптп
_____ п
г = 1,М, М = ^ті .
і=1
Определители в (8) есть функции
I \г г
\аЛ = (а^} ^ а . В явной форме определители выражаются через свои элементы операциями НЛ.
/ ті ти ч /гч\
= V (а°, л ... л ат"). (9)
п
X Іs =п+г-1 і=°
Аналитическое представление в терминах НЛ входных воздействий в сложных схемах с симметрической функцией позволяет получать такое же представление для динамических процессов в таких схемах. Для этого достаточно рассмотреть взаимодействие соседних свободных входных импульсов и выделить интервалы, в которых действует постоянное число импульсов, имея в виду, что значение симметрической функции полностью определяется числом ее аргументов с единичными значениями. Найдем, например, реакцию дизъюнктора (функция у = х1 V х2 ) на пару входных воздействий х1(/), х2(/) вида (7) при п = 2 . Заменим эти воздействия эквивалентной совокупностью импульсов 1(аг, Ьг) с аг, Ьг из (8). Теперь достаточно рассмотреть взаимодействие соседних импульсов: г -го и г + 1 -го, что дает такой фрагмент реакции элемента
у г (ґ ) =
1(аг, Ьг )0(-, -)1(аг+°, Ьг+°),
Ьг < аг
1(аг, Ьг+1) = 1(аг, аг+1 )0(-, -)1(аг+1, Ьг+1), Ьг > аг+1,
цессы, а также все элементы - троичные в алфавите (0,1, ©}. Каждый логический элемент реализует на выходе троичную функцию своих входов
я
(0, 1, ©}^{0, 1, 0} . Каждая такая функция ^ получается как 0 - расширение соответствующей двоичной функции ¥{ на основании некоторых аксиом.
Расчет динамических процессов в недетерминированных комбинационных схемах можно выполнять методом подстановок, используя соотношения «троичные входные процессы - выходной процесс» элементов. Соотношения находятся методом огибающих:
1) замена всех троичных процессов х (/) е (0,1, 0} эквивалентной парой двоичных процессов - нижней х (/) и верхней х (/) огибающими
/1, х (/) = 1, /0, х (/) = 0,
х (/) = [ х (/) = [ (12)
[0, х (/) е (0,0}; [1, х Ц) е(1,0};
2) расчет элементов и нахождение огибающих его выходного динамического процесса у(/), для чего используются вход-выходные соотношения огибающих типовых элементов
или с использованием конъюнкции НЛ
V хі(ґ) = V хі(ґX V хі(ґ) = V хі(ґX
і=1 і=1 і=1 і=1
уг(ґ) = 1(аг, Ьг лаг+1 )0(-, -)1(аг+1, Ьг+1). (10)
Согласно (10), искомая реакция у(ґ) есть последовательность импульсов 1(аг, Ь г ) , сжатых по правилу Ьг ^ аг+1 л Ьг, г = 1, М, М = т1 + т2 и потому уже не пересекающихся. Итак,
у(ґ) = 1( а1, Ь1 л а2 )0( -,-)1(а 2, Ь2 л а3).. ...1(аМ-1,ЬМ-1 л аМ )0(-,-)1(аМ,ЬМ ), М = т1 + т2.
(11)
Аналогично анализируются другие двух- и многовходовые логические элементы, а также любые комбинационные схемні с симметрической функцией. Получаемые при этом формулы динамических процессов являются основой для аналитического расчета динамики сложных комбинационных схем с несимметрическими функциями, а также сложных схем с памятью. Здесь проблема размерности преодолевается с помощью логических определителей, вбирающих в себя размерность схемы и ее входных воздействий.
6. Еще более сложный объект - недетерминированный автомат без памяти. Он отличается от детерминированного автомата тем, что вход-выходные соотношения (1) реализует в алфавите X = У = {0,1, 0}, где © - неопределенность (промежуточное значение между 0 и 1). В недетерминированной комбинационной схеме, реализующей такой автомат, входные, выходные и внутренние про-
л хі (0 = л хі (ґ X л хі(ґ) = л хі (ґX
і=1 і=1 і=1 і=1
(13)
х(ґ) = х (ґ), х(ґ) = х (ґ)
и представление рассматриваемого элемента в виде схемы из типовых элементов; 3) переход от огибающих входных и выходного процессов элемента к самим процессам. Можно также вести расчет динамических процессов в недетерминированных комбинационных схемах методом подстановок, манипулируя огибающими процессами и переходя к самим процессам лишь после того, как найдены огибающие выходного процесса. С помощью изложенной методики можно проанализировать случаи простых воздействий на простые элементы и схемы, например,
©1,а 0©,Ь л01,с 00,й =©1,алс 00,Ьлй ,
©1,а 0©,Ь V0^,c 00,й = 01^с 00,Ь^ ;
©0,а 1'©,Ь л00,с10,й = ©0,^10,6^ ,
(н)' 1 ' \/(н)' 1 ' — (н)' 1 '
©0 ,а 1©,Ь V0O,c10,d = ©1,алс10,Ьл^ ; (14)
©0,а 10,Ь л©1,с00,^ = {/1:(Ь,Ь V с); 1 )
10 : (-да, а), (а V й,да)};
©0,а 1©,Ь ^1,с 0©й = {І1 :(-да с),(Ь V С да);
10 : (й, а V й)}
(I а - интервалы, в которых реакция равна а), а также случаи сложных воздействий и/или сложных схем (с использованием логических определителей).
г
а
а
1т
а
а
пт
п
п
п
п
п
п
7. Наиболее сложный объект рассматриваемой теории - недетерминированный автомат с памятью. Он отличается от детерминированного автомата тем, что вход-выходные соотношения (6) реализует в алфавите X = У = и = (0,1, 0} . Схема, реализующая такой автомат, отличается от схемы детерминированного автомата тем, что в ней 1) логический блок является недетерминированной схемой с алфавитом X = У = (0,1, 0} (см. п. 6); 2) блок памяти имеет р параллельно работающих задержек с временами задержек в виде интервалов ^ = [т 1, т12 ],..., т р = [т р1, т р2 ]. В недетерминированной схеме с
памятью входные, выходные и внутренние процессы, а также все элементы - троичные, в алфавите X = У = (0,1, 0}, но структура ее та же, что и детерминированной схемы. Поэтому методы расчета и анализа динамических процессов здесь те же, а результаты по-прежнему выражаются с помощью НЛ. Но для этих методов нужен предварительный переход от уравнения недетерминированной схемы относительно троичных процессов к соответствующим уравнениям относительно их огибающих, которые являются двоичными процессами. Это повышает размерность объекта и делает его расчет более сложным.
8. Одна из труднейших задач динамики автоматов - расчет нелинейных инерционных элементов (задержки и фильтра) с интервальными временными параметрами. В нелинейной задержке время задержки зависит от входного изменения: 0 ^ 1 или 1 ^ 0
__ __ г 1 2 Т
и равно, соответственно, Т01 = [Т01, ^1] или
т10 = [т10, т20]. В нелинейном фильтре время фильтрации зависит от входного сигнала: импульса 0 ^ 1 ^ 0 или паузы 1 ^ 0 ^ 1 и равно, соответственно, т1 = [т1, т2 ] или т0 = [т'0, т0 ]. Для решения этой задачи разработан универсальный метод разде-терминизации, пригодный также для расчетов динамических процессов в недетерминированных схемах. Он состоит в следующем: 1) производится детерми-
низация заданных троичных входных процессов и временных параметров инерционных элементов путем совмещения концов интервалов неопределенности; 2) в полученной детерминированной схеме проводится расчет динамических процессов методами расчета этих классов схем (см. п.. 2 - 5); З) в найденных детерминированных (двоичных) динамических процессах производится раздетерминизация, в соответствии с заданной недетерминированностью входных процессов схемы и временных параметров ее элементов, так что моменты изменений процессов принимают вид функций от интервалов; 4) путем вычисления функций от интервалов по правилам интервальных анализа и ИЛ выражения всех динамических процессов получают окончательный, явный вид.
9. Более подробные сведения по затронутым в данном обзоре вопросам содержатся в обобщающих работах [1-10]. Там же имеется обширная библиография.
ЛИТЕРАТУРА
1. Рогшстй B.H. Основы дискретной автоматики. М.: Связь, 1975. 4З0 с.
2. Левш BM. Введение в динамическую теорию конечных автоматов. Рига: Зинатне, 19У5. ЗУб с.
3. Dinamische Processe in Automaten / Herausgegeben von D. Bochman, V.N. Roginski. Berlin: Verlag «Technik», 19УУ. З81 с.
4. Левш BM. Динамика логических устройств и систем. М.: Энергия, 1980. 224 с.
5. Левш BM. Бесконечнозначная логика в задачах кибернетики. М.: Радио и связь, 1982. 176 с.
6. Левш B-И. Исследование динамики дискретных автоматов с возможной неопределенностью значений сигналов. I, II // Кибернетика. 1988. № б. С. 7-14; 1989. № 2. С. З0-36.
7. Левш BM. Модели и расчет динамики цифровых схем с неполностью определенными сигналами // Электронное моделирование. 1989. № 1, 2.
8. Левш B-И. Расчет динамики цифровых схем с памятью при неполностью определенных сигналах // Кибернетика. 1989. № 4. С. 19-25.
9. Левш BM. Расчет динамических процессов в дискретных автоматах с неопределенными параметрами с помощью недетерминированной бесконечнозначной логики // Кибернетика и системный анализ. 1992. № З. С. 15-29.
10. Левш BM. Теория динамических автоматов. Пенза: Изд-во Пенз. гос. ун-та, 1995. 408 с.
Поступила в редакцию 28 марта 2000 г.