Научная статья на тему 'Непрерывная логика и синтез динамических процессов в конечных автоматах. Ii'

Непрерывная логика и синтез динамических процессов в конечных автоматах. Ii Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
90
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛОГИЧЕСКИЙ МНОГОПОЛЮСНИК / ДИНАМИЧЕСКИЙ ПРОЦЕСС / НЕПРЕРЫВНАЯ ЛОГИКА / АЛГОРИТМ СИНТЕЗА / LOGICAL MULTI-POLE / DYNAMIC PROCESS / CONTINUOUS LOGIC / ALGORITHM OF SYNTHESIS

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Левин Виталий Ильич

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

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

CONTINUOUS LOGIC AND THE SYNTHESIS OF DYNAMIC PROCESSES IN FINITE AUTOMATA. II

In the second part of work the general synthesis algorithm of dynamic processes in final automata is stated by reduction of algorithm to the typical cases considered earlier [1].

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

УДК 519.7:007.52

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

© В.И. Левин

Ключевые слова: логический многополюсник; динамический процесс; непрерывная логика; алгоритм синтеза.

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

4. НЕОДНОЗНАЧНОСТЬ РЕШЕНИЯ

Как следует из изложенного в п. 3, задача синтеза логического (n,1) -полюсника, реализующего на выходе y заданный динамический процесс y(t ) , решается неоднозначно. Так, динамический процесс вида y(t ) = 1 можно реализовать тремя способами: 1) на выходе n -входового конъюнктора, получающего на входах динамические процессы x1(t) = 1^xn(t) = 1'а

Xi(t) = I'ü ,..., xn (t) = I'ü , удовлетворяющие условию

n

üi = b , где V - дизъюнкция непрерывной логики

i=1

(рис. 1); 2) на выходе n -входового дизъюнктора, получающего на входах динамические процессы Xi(t) = i'a, xn(t) = I'ü , удовлетворяющие условию

n

Л üi = b , где Л - конъюнкция непрерывной логики

i=1

(рис. 3); 3) на выходе одновходового элемента-сдвигателя, получающего на входе динамический процесс x(t) = I'ü , удовлетворяющий условию a = b , где

- отрицание непрерывной логики (рис. 5). Аналогично, тремя различными способами можно реализовать динамический процесс вида y(t) = 0b , а именно:

1) на выходе n -входового конъюнктора, получающего на входах динамические процессы

xi(t) = 0'a,...,xn(t) = 0'ü , удовлетворяющие условию

n

Л üj = b (рис. 2); 2) на выходе n -входового дизъ-

i=1

юнктора, получающего на входах динамические процессы xi (t) = 0'a,..., xn (t) = Ой , удовлетворяющие

n

условию V ai = b (рис. 4); 3) на выходе одновходово-

i=1

го элемента-сдвигателя, получающего на входе дина-

мический процесс х(/) = 0'а , удовлетворяющий условию а = Ь (рис. 6).

Из изложенного в п. 3 следует также неоднозначность получаемого решения задачи конструктивной интерпретации формул алгебры непрерывной логики путем синтеза логического (п,1) -полюсника, в котором зависимость моментов последовательных переключений сигнала в выходном динамическом процессе у(/) от аналогичных моментов во входных динамических процессах х1(/),...,хп(/) описывается заданными формулами алгебры непрерывной логики. Так, конст-

п

руктивную интерпретацию формулы а1, задающей

1=1

п -местную дизъюнкцию непрерывной логики, можно получить двумя способами: 1) путем синтеза п -входового конъюнктора, получающего на своих входах динамические процессы х1(/) = = 1^,...,хп(/) = 1'а и вырабатывающего на выходе динамический процесс

п

= 1Ь , такой что Ь = а , т. е. момент Ь пере-

¿=1

ключения сигнала на выходе конъюнктора выражается через моменты а1,...,ап переключения сигналов на п

п

его входах как раз формулой Ь = а п -местной

¿=1

дизъюнкции непрерывной логики, которая тем самым и получает конструктивную интерпретацию в терминах п -входового конъюнктора (рис. 1); 2) путем синтеза п -входового дизъюнктора, получающего на входах динамические процессы хх() = 0Г ,...,Хп(/) = 0а и вырабатывающего на выходе динамический процесс

п

у(?) = 0Ь, такой что Ь = V ах , т. е. опять момент Ь

¿=1

переключения сигнала на выходе дизъюнктора выражается через соответствующие моменты а1,...,ап переключения сигналов на п его входах формулой п -

n

местной дизъюнкции непрерывной логики b = V ai ,

i=1

которая благодаря этому конструктивно интерпретируется, на этот раз в терминах n -входового дизъюнктора (рис. 4).

Аналогичным образом, конструктивную интерпре-

n

тацию формулы ai, задающей n -местную конъ-

i=1

юнкцию непрерывной логики, можно получить двумя способами: 1 ) путем синтеза n -входового конъюнкто-ра, получающего на входах динамические процессы Xl(t) = O a,..., Xn (t) = O'a и вырабатывающего на выхо-

n

де динамический процесс y(t) = Ob, где b = a¡, так

i=l

что момент b переключения сигнала на выходе конъ-юнктора выражается через моменты a1,...,an переключения сигналов на n его входах формулой

n

b = a n -местной конъюнкции непрерывной логи-i=1

ки, которая, таким образом, получает конструктивную интерпретацию в терминах n -входового конъюнктора (рис. 2); 2) путем синтеза n -входового дизъюнктора, получающего на входах динамические процессы

Xj(t) = l'a,...., xn (t) = 1'a и вырабатывающего на

выходе динамический процесс y(t) = lb, такой что

n

b = Л ai , т. е. момент b переключения сигнала на

i=1

выходе дизъюнктора выражается через моменты a1,...,an переключения сигналов на его входах также

n

формулой b = a n -местной конъюнкции непре-i=1

рывной логики, которая, таким образом, получает еще одну конструктивную интерпретацию, на этот раз в терминах n -входового дизъюнктора (рис. З). Наконец, конструктивную интерпретацию формулы b = a , задающей одноместную операцию отрицания непрерывной логики, можно получить следующими двумя способами: 1) путем синтеза одноместного элемента-сдвигателя, принимающего на входе динамический процесс x(t) = 1'a и вырабатывающего на выходе динамический процесс y(t) = lb , такой что b = a , т. е. момент b переключения сигнала на выходе сдвигателя выражается через момент a переключения сигнала на его входе как раз формулой b = a отрицания непрерывной логики, которая тем самым получает конструктивную интерпретацию в терминах сдвигателя (рис. 5); 2) путем синтеза одноместного элемента-сдвигателя, получающего на входе динамический процесс x(t) = O'a и вырабатывающего на выходе динамический процесс y(t) = Ob , где b = a , так что опять момент b переключения сигнала на выходе сдвигателя выражается через момент a переключения сигнала на

его входе формулой b = a отрицания непрерывной логики, которая получает тем самым еще одну конструктивную интерпетацию в терминах сдвигателя (рис. 6).

5. РЕШЕНИЕ ЗАДАЧИ В ОБЩЕМ СЛУЧАЕ

Решение поставленной в п. 1 задачи синтеза логического многополюсника для реализации заданного динамического процесса в общем случае не так просто, как в простейших, типовых случаях, рассмотренных в п. 3. Возникающая здесь сложность связана с тем, что в общем случае формула алгебры непрерывной логики, выражающая момент t переключения заданного динамического процесса на выходе искомого логического (n,1) -полюсника через моменты t1;...,tn аналогичных переключений на его входах, может представлять собой произвольную суперпозицию всех непрерывнологических операций (2)-(5). Поэтому указанную задачу разумнее всего решать путем ее сведения к последовательности простейших, типовых задач из п. 3. Это сведение рассмотрено ниже в рамках двух возможных ситуаций, исчерпывающих в совокупности все возможные случаи.

Ситуация 1. Задан динамический процесс y(t) на

выходе неизвестного логического (n,1) -полюсника, имеющий вид одиночного переключения сигнала

y(t) = 1'ь, где b = f (ai,...,an) . (25)

В формуле (25) b означает момент переключения заданного выходного процесса, имеющего форму 1' = 0 ^ 1, причем сам момент b выражается некоторой функцией f непрерывной логики от моментов a1,... , an аналогичных переключений на входах искомого (n,1) -полюсника. Требуется построить логический (n,1) -полюсник и найти динамические процессы x1(t),..., xn (t) на его входах, которые приводят к выработке на выходе этого (n,1) -полюсника динамического процесса (25).

Решение. Функция f в формуле (25) в общем случае является некоторой суперпозицией следующих трех операций алгебры непрерывной логики (2): дизъюнкции, конъюнкции и отрицания. Упорядочим все эти операции по порядку их выполнения в f . Выделим последнюю по порядку операцию. Ею может оказаться дизъюнкция, конъюнкция или отрицание непрерывной логики. При этом в любом из трех названных случаев непрерывнологическая функция f может быть разложена на более простые непрерывнологические функции f . В первом случае это дизъюнктивное разложение

N

f Ц^.^ an) = V f an) ’ (26)

i =1

во втором - конъюнктивное разложение

/ап) = д / ) ,

І = 1

в третьем - разложение отрицания

/(а1,..., ап) = /1(а1,..., ап) ■

(27)

(28)

Сравним теперь нашу задачу в первом случае и типовую задачу случая 1 п. 3. Видно, что первую задачу можно рассматривать как вторую, в которой вместо аі,..., ап фигурируют /1,..., /м. Таким образом, решение нашей задачи в первом случае можно получить из решения задачи случая 1 п. 3 (рис. 1), произведя в нем указанные замены. Искомое решение показано на рис. 7.

Аналогично, сравнив нашу задачу во втором случае и типовую задачу случая 3 из п. 3, видим, что первую можно рассматривать как вторую при замене а1,...,ап

на /1,...,/м, так что решение нашей задачи во втором случае получается из решения задачи случая 3 п. 3 (рис. 3) путем указанных замен в нем. Это решение дано на рис. 8. Наконец, сравнив нашу задачу в третьем случае и типовую задачу случая 5 п. 3, видим, что первую можно рассматривать как вторую при замене а на /1 , так что решение нашей задачи в третьем случае получается из решения задачи случая 5 п. 3 (рис. 5) путем указанных замен в нем. Это решение показано на рис. 9.

Рис. 7. Итеративное решение задачи синтеза логического многополюсника для реализации заданного динамического процесса у(Г) = 1Ь в первом случае (дизъюнктивное разложение функции Ь = / (аг-))

*і(0 =

= 1

=1'

xN (і) =

у(0 = 1Ь, где

N

Ь = Л /і (аі,..., ап)

І=1

^ ( а1,... )

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

Рис. 8. Итеративное решение задачи синтеза логического многополюсника для реализации заданного динамического процесса у(/) = 1Ь во втором случае (конъюнктивное разложение функции Ь = / (a¿))

х(і) = С у(і) = 1 Ь, где

= 1' 1/1(а1,...Ап ) а 1^ и <5

Рис. 9. Итеративное решение задачи синтеза логического многополюсника для реализации заданного динамического процесса у(/) = 1Ь в третьем случае (разложение отрицания

функции Ь = / (a¿))

Решения, показанные на рис. 7-9, являются итеративными, сводящими исходную задачу к аналогичной задаче меньшей сложности. Соответствующий итеративный алгоритм позволяет за конечное число шагов получить полное решение поставленной задачи - в виде логического (п,1) -полюсника с полностью известными динамическими процессами на входах х1 (0,...,хп(і) , на выходе которого вырабатывается требуемый выходной процесс у (і) вида (25).

Пример 1. Задан динамический процесс у (і) на выходе неизвестного логического (4,1) -полюсника в виде одиночного переключения сигнала

у(і) = 1'Ь, где Ь = (а1 д а2) V (а3 д а4) ■

Требуется построить логический (4,1) -полюсник и найти динамические процессы х1(і), х2(і), х3(і), х4(і) на его входах, которые приводят к выработке на его выходе заданного динамического процесса у(і) ■

Решение. Шаг 1. Момент переключения сигнала Ь в заданном динамическом процессе у(і) = 1Ь представлен в рассматриваемом случае дизъюнктивным разложением функции Ь = /(а1, а2, а3, а4) . Поэтому, согласно вышеописанному итеративному алгоритму, искомое решение можно представить в виде двухвходового конъюнктора рис. 7 с заданным динамическим процессом у(і) на выходе и следующими динамическими процессами на входах у1 (і) = 1Ь , где Ь1 = а1 д а2, у2(і) = 1Ь2, где Ь2 = а3 д а4 . Таким

образом, исходная задача свелась к паре аналогичных задач меньшей сложности: 1) построить логический

(2,1) -полюсник и найти динамические процессы

х1(і), х2(і) на его входах, которые приводят к выработке на его выходе заданного динамического процесса у1(і) ; 2) построить логический (2,1) -полюсник и найти динамические процессы х3 (і), х4 (і) на его входах, которые приводят к выработке на его выходе заданного динамического процесса у2(і) ■

N

п

Рис. 10. Решение примера 1

Шаг 2. Моменты Ь1,Ь2 переключения сигнала в заданных динамических процессах у1(і), у2 (і) представлены здесь конъюнкциями Ь1 = а1 д а2, Ь2 = а3 д а4 ■ Поэтому мы уже пришли к одному из шести простейших (типовых) случаев, рассмотренных в п. 3. А именно, решением задачи 1) является двухвходовой дизъ-юнктор рис. 3 с заданным динамическим процессом у1(і) на выходе и динамическими процессами

х1(і) = 1'а , х2(і) = 1' на входах, а решением задачи

2) - двухвходовой дизъюнктор рис. 3 с заданным динамическим процессом у2 (і) на выходе и динамическими процессами х1 (і) = 1' , х2 (і) = 1' на входах.

Шаг 3. Результаты выполнения шагов 1 и 2 дали соответственно вторую ступень искомого логического

(4,1) -полюсника и его первую ступень. При этом

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

2 ступени и 3 логических элемента - 2 дизъюнктора и 1 конъюнктор - в соответствии с числом логических операций в заданной функции Ь = /(аь...,а4) ■

Ситуация 2. Задан динамический процесс у (і) на выходе неизвестного логического (п,1) -полюсника, имеющий вид одиночного переключения сигнала

В формуле (29) Ь означает момент переключения заданного выходного процесса, имеющего форму 0 ' = 1 ^ 0, причем сам момент Ь выражается некоторой функцией / непрерывной логики от моментов а1,...,ап аналогичных переключений на входах искомого (п,1) -полюсника. Требуется построить логический (п,1) -полюсник и найти динамические процессы х1(і),..., хп (і) на его входах, которые приводят к выработке на выходе этого (п,1) -полюсника заданного динамического процесса (29).

Решение. Для решения задачи в ситуации 2 действуем аналогично ситуации 1. А именно, выделяем три случая разложения функции / : (26), (27) и (28). Далее сравниваем нашу задачу в первом, втором и третьем случаях соответственно с типовыми задачами случаев 2, 4 и 6 п. 3. Видим, что нашу задачу в первом, втором и третьем случаях можно рассматривать соответственно как типовые задачи случаев 2, 4 и 6 п. 3, в которых а1,...,ап заменены на /1,...,^. Это и дает решение рассматриваемой задачи для первого, второго и третьего возможных случаев ситуации 2 (рис. 11-13).

■1(і) =

= 0 '

у (і) = 0 Ь, где

N

XN (і) =

Ь = Л/г ^Ь.-ап ) І=1

^ (а1,...-Рп )

У(і) = 0'ь, где Ь = /(аь..., ап ) ■

(29)

Рис. 11. Итеративное решение задачи синтеза логического многополюсника для реализации заданного динамического процесса у(0 = 0Ь в первом случае (конъюнктивное разложение функции Ь = / (ai))

Рис. 12. Итеративное решение задачи синтеза логического многополюсника для реализации заданного динамического процесса у($) = 0'ь во втором случае (дизъюнктивное разложение функции Ь = / (аг-))

х(1) = С В _ о о II X

— 0' 0 / (а1,...ап) Ь = /ап

Рис. 13. Итеративное решение задачи синтеза логического многополюсника для реализации заданного динамического процесса у(^) = 0Ь в третьем случае (разложение отрицания функции Ь = / (аг-))

Решения, показанные на рис. 11-13, сводят исходную задачу к аналогичной задаче меньшей сложности, что позволяет последовательными итерациями получить за конечное число шагов полное решение поставленной задачи в виде логического (п,1) -полюсника с известными динамическими процессами на входах х1(/),...,хп(/) , вырабатывающего требуемый выходной процесс у(/) вида (29).

6. НОРМАЛИЗАЦИЯ ОБЩЕГО РЕШЕНИЯ

Решение задачи синтеза динамического процесса, предложенное в п. 5, универсально в том смысле, что позволяет для любого заданного динамического процесса у(/) в виде однократного переключения сигнала

вида 1Ь или 0Ь с произвольной функцией непрерывной логики Ь = /(а^...,ап) , определяющей зависимость момента Ь указанного переключения от моментов а1,...,ап аналогичных переключений на входах некоторого логического (п,1) -полюсника, построить этот (п,1) -полюсник и указать для всех его входов конкретные переключения сигнала 1 а или 0 а , при

которых на его выходе реализуется требуемый динамический процесс у(/) . Однако это универсальное решение имеет, по крайней мере один недостаток: структура (в частности глубина, т. е. число последовательных

ступеней) и сложность (количество логических элементов) получаемого логического (п,1) -полюсника существенно зависят от формы записи функции /(а1,...,ап) . Устранение этого недостатка требует представления функции / в одной из нормальных форм алгебры непрерывной логики. Напомним, что форма называется нормальной в некоторой алгебре, если любая функция, образованная с помощью операций этой алгебры, может быть представлена в такой форме ([1], источники 2-5, 7). Нормализация функции / , т. е. ее приведение к нормальной форме, позволяет устранить этот недостаток. Для этого нужно лишь, чтобы 1) в нормальной форме операции используемой алгебры применялись последовательно (сначала -только операции 1 -го типа, затем - только операции 2го типа и т. д.) и 2) имелась регулярная методика минимизации нормальной формы по общему числу используемых в ней букв и/или по общему числу задействованных операций. Имеющиеся в квазибулевой алгебре непрерывной логики (2) нормальные формы - дизъюнктивная (ДНФ) и конъюнктивная (КНФ) - обладают обоими названными свойствами ([1], источники 2, 4, 5). Поэтому использование этих форм для представления функции / позволяет устранить указанный недостаток.

Напомним, что функциями непрерывной логики в алгебре (2) называются любые функции, имеющие вид суперпозиции операций данной алгебры: дизъюнкции (3), конъюнкции (4) и отрицания (5). ДНФ такой функции называется ее представление в виде дизъюнкции элементарных конъюнкций; последние имеют вид

конъюнкций переменных хг- и их отрицаний х , при

этом вместе с хг- в конъюнкцию может входить и х ■

Пример ДНФ: у = хххг V х2х2х3 . КНФ функции непрерывной логики называется ее представление в виде конъюнкции элементарных дизъюнкций; последние -

это дизъюнкции переменных хг- и их отрицаний х , причем вместе с х{ в дизъюнкцию может входить и

х{ . Пример КНФ: у = (х1 Vх2)• • (х2 Vх2 Vх3) ■

Алгоритм преобразования произвольной функции непрерывной логики в ДНФ таков ([1], источники 2, 4, 5): 1) спуск отрицаний с более сложных выражений на менее сложные в соответствии с законами де Моргана

А V В = А л В, А л В = А V В (30)

и двойного отрицания

А = А ; (31)

2) раскрытие скобок в соответствии с распределительным законом

А л (В V С) = (А л В) V (А л С) ■ (32)

Алгоритм преобразования произвольной функции непрерывной логики в КНФ следующий ([1], источники

2, 4, 5): 1) спуск отрицаний с более сложных выражений на менее сложные в соответствии с законами де Моргана (30) и двойного отрицания (31); 2) введение скобок в соответствии с распределительным законом

A v (B л C) = (A v B) л (A v C) . (33)

Следующий пример иллюстрирует преимущества синтеза заданного динамического процесса с использованием предварительной нормализации заданной функции непрерывной логики b = f(aj,...,an), определяющей зависимость момента b переключения сигнала на выходе искомого (n,1) -полюсника от соответствующих моментов a1,...,an на его входах.

Пример 2. Задан динамический процесс y(t) на выходе неизвестного логического (4,1) -полюсника в виде одиночного переключения сигнала

y(t) = 1 Ъ, где b = a v a2 v a v â4 .

Требуется построить логический (4,1) -полюсник и найти динамические процессы X1(t), X2(t), X3(t), x4 (t) на его входах, при которых на его выходе вырабатывается данный динамический процесс y(t) .

Решение. Преобразуем заданную функцию непрерывной логики b = f (a1, a2, a3, a4) в ДНФ. Для этого в данном случае достаточно применить дважды закон де Моргана. В результате получим b = (ax л a2) v (a3 л a4) . Задача с такой функцией b = f(a1,... , a4) уже рассмотрена в примере 1. Полученное там решение показано на рис. 10. Если бы мы не преобразовали функцию b = f (a1v.., a4) в ДНФ, то, используя универсальный алгоритм синтеза (4,1) -полюсника с требуемым выходным динамическим процессом y(t) на выходе (п. 5), получили бы совсем другое решение, а именно, логический (4,1) -полюсник с 4 ступенями и 9 логическими элементами, в соответствии

с номенклатурой логических операций в заданной функции Ь = /а4).

ЗАКЛЮЧЕНИЕ

Выше мы убедились, что существует регулярная процедура, позволяющая за конечное число шагов построить логический (п,1) -полюсник и определить необходимые воздействия на его входах, обеспечивающие реализацию на его выходе однократного переключения сигнала в момент, зависящий от моментов аналогичных переключений на входах согласно наперед заданной функции / непрерывной логики. Данную задачу можно рассматривать двояко: 1) как синтез логической схемы, реализующей требуемую динамику переключения выхода относительно входов; 2) как конструктивную интерпретацию заданной функции / непрерывной логики в виде некоторого логического (п,1) -полюсника, в котором момент переключения сигнала на выходе и моменты переключения сигналов на входах связаны именно этой функцией. Было бы интересно распространить полученные результаты с однократных переключений сигналов на входах и выходе схем на случай произвольных входных и выходных динамических процессов.

ЛИТЕРАТУРА

1. Левин В.И. Непрерывная логика и синтез динамических процессов в конечных автоматах. I // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2011. Т. 16. Вып. 2. С. 481-487.

Поступила в редакцию ll января 2Gll г.

Levin V.I. CONTINUOUS LOGIC AND THE SYNTHESIS OF DYNAMIC PROCESSES IN FINITE AUTOMATA. II.

In the second part of work the general synthesis algorithm of dynamic processes in final automata is stated by reduction of algorithm to the typical cases considered earlier [1].

Key words: logical multi-pole; dynamic process; continuous logic; algorithm of synthesis.

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