УДК 519.8
ЧАСТИЧНО ОПРЕДЕЛЕННЫЕ БУЛЕВЫ ФУНКЦИИ С ЛОГИЧЕСКИМИ ПРОИЗВОДНЫМИ В МОДЕЛЯХ ТЕХНИЧЕСКОЙ ДИАГНОСТИКИ
ДИСКРЕТНЫХ СИСТЕМ
© 2008 г. А.В. Черное
Ростовский государственный строительный Rostovskiy State Building
университет University
Предложен метод дополнения частично определенной булевой функции на основе логического дифференциального исчисления. Используется свойство двойственности логических операций, позволяющее разрабатывать модели диагностики технических систем в различных логических базисах.
Ключевые слова: диагностика технических систем, булевы функции, частичное определение, логическая производная.
Supplement method for partially defined Boolean function on the logical difference calculation basis has been developed. Logical operations duality property has been used allowing to develop technical systems diagnosis models
in different bases.
Keywords: system mechanics diagnostics, boolean function, partial determination, logical derivative.
Развитие цифровых устройств и проектируемых на их базе дискретных систем, вместе с удешевлением их производства и применения, требует развития и совершенствования методов тестирования и диагностики состояний, а также режимов функционирования таких систем.
Для дискретных систем во многих случаях абстрактной моделью является конечный автомат
A =< х, у, 8, 8, X > ,
где x = {x1,..., xk} - входной алфавит, множество входных слов, являющихся вектором состояний двоичных входных переменных x1,..., xk; у = {у1,...,у1 } -выходной алфавит, множество векторов значений выходных двоичных переменных >'1,..., Ук;
8 = {^1,..., ""т} - внутренний алфавит или множество векторов внутренних состояний двоичных переменных "1,...,"к ; к, I, т - любые натуральные числа; 8(з,х) -
функция смены состояний, т. е. функция переходов, задающая произвольное отображение 8 х х ^ 8; Х(з, х) - функция выходов, задающая отображение 8 х х ^ у .
Комбинационные устройства автомата описываются функциями алгебры логики или булевыми функциями f (х1,...хи), являющимися отображениями
вида f: ЕП ^ Е2 , Е2 {0,1} - поле характеристики 2.
В связи с возможностью возникновения ошибок функционирования автомата, в виде внутренних сбоев, внешних помех, параметрических и логических ошибок автоматное отображение входной последовательности в выходную может изменяться. Для учета этих изменений были предложены различные модели в виде полуконечных детерминированных и вероятностных автоматов. Заметим, что при построении таких моделей зачастую по умолчанию подразумевается,
что вектор входных параметров x е E^ полностью определен на всем векторном пространстве наборов длины n с компонентами из поля E 2, и редко упоминается, что соответствующая некоторому вектору x булева функция f (x) определена полностью. Тем не
менее в работах данной области проводятся исследования частично определенных булевых функций [1], которые также называют (на наш взгляд, менее удачно) не полностью специфицированными булевыми функциями [2].
Целью данной работы является развитие и совершенствование математического аппарата булевых функций при частично определенных векторах двоичных переменных. Основной идеей предлагаемого подхода является доопределение частично определенных булевых функций с помощью векторов состояний, содержащих логическую производную. Аппарат логического (булева) дифференциального исчисления, успешно применяемый в задачах технической диагностики, анализа, синтеза дискретных систем [3, 4], позволяет распознавать различные типы ошибок функционирования цифровых устройств, и его использование для снятия неопределенности в параметрах булевых функций, по мнению автора, вполне приемлемо.
Основные определения и постановка задачи
Пусть f - булева функция, которая при некотором наборе параметров получает значение 1, множество таких векторов обозначим T (f). Аналогично, множество векторов, обращающих значение функции в 0 (false), обозначим F (f). Очевидно, что
F (f ) = E% \ T (f) Предположим также, что некоторое подмножество T с T (f) содержит компоненты
из множества М = {0,1, *}, где знак « * » обозначает не
полностью определенное значение, т. е. либо 0, либо 1. Обозначим векторное пространство наборов длины
п с компонентами из М :МхМх...хМ = Мп . Ана-
*_^_'
п раз
логично определяется F с F (/). Определение 1
На множествах Т, F введен лексикографический порядок, булева функция / является монотонной. Тогда если Тп F = 0, то булеву функцию /^ТТ,F^, для которой Т,F с ЕП, ЕП сМп называют частично определенной.□
Примером частично определенных функций при М 4 могут являться /1 = (1, *, 0,1) , /2 = (1, *, *, 0) .
Физический смысл введения недоопределенного состояния «*» достаточно прост и, в зависимости от типов ошибок, возникающих в дискретных системах, требуется введение доопределения наборов двоичных значений. Для принятия решений о значениях неопределенных переменных предлагается использовать не широко известные функции паритета (четности) и мажорирования (большинства), а аппарат булевых производных, применяемый следующим образом. Обозначим
x(г,0) =(x1,...,х-ЧАх-+1,...,хп), (г,1) = ( , )
Определение 2 Булева функция
f (x )
ОХ:
, определяемая как
■ = / (x(г,0))© / (x(-,1)) , где © является сумми-
дШ = / (т (г,0))© / (т М)
дхг
рованием по модулю 2, называется частной производной функции /(x) по переменной хг, 1 < г < п .□
Важными свойствами булевых производных являются следующие. Для любых г = 1,2,..., п
О f ( x )( x ) _ f ( x )
. Булева функция f (x) не зависит
дхг дхг
от значения некоторого аргумента хг тогда и только
д/ (x) , ч
тогда, когда —— = 0 . Булеву функцию / (x) можно
дХ:
выразить в виде / (x) = хг (x)© / (x(г,0)). Выра-
жение булевой функции через частные производные по переменным записывается как
, = xс, f
f (x) = xC> ^ ^>2'"' Х" ) © f (с ,, с 2,..., с n ) ,
где стг е Е2, г' = 1,2,...,п, что дает 2п различных выражений, зависящих от выбора ст г.
Поставленная в работе задача формируется следующим образом: выполнить доопределение частично определенной булевой функции для исключения наборов неоднозначно определенных аргументов, т. е. сформировать полностью определенную булеву функцию с учетом влияния воздействующих на аргументы случайных и непреднамеренных ошибок и сбоев функционирования дискретной системы.
Метод дополнения частично определенной булевой функции
В работе автора [4] предложено теоретико-множественное обобщение и развитие аппарата логического дифференциального исчисления, введена операция, которой может соответствовать либо решеточная операция OR, либо AND (такая операция обозначена символом й ), и двойственная к ней операция 0 . Также показана справедливость утверждения 1.
Утверждение 1
Если операция а й ь = sup{а,Ь}, то а и ь = = ^ {а, Ь} , и, двойственно, если а и ъ = $ир {а, Ъ}, то а й Ъ = ^ {а,Ъ} .□
Добавляя обозначение для нейтральных элементов при учете двойственных операций е и = а й а,
е й = а 0 а, имеем базовую алгебраическую структуру, с которой будем работать в дальнейшем, следующего вида.
Утверждение 2
Булева алгебра < в, й, и , е й , е и > с учетом вводимых обозначений принципа двойственности представляет собой булево кольцо < В, и, ей , й, еи >, где и обозначает аддитивную операцию вида а иЪ = (а иЪ)й(а иЪ) и, двойственно: булево кольцо является булевой алгеброй, если операции й и NOT определены следующим образом:
а й Ъ = а и Ъ и( а и Ъ ), а = а и е и .□
Подчеркнем, что обозначение и соответствует кольцевой операции, аналогичной теоретико-множественной операции симметрической разности; будем также использовать в дальнейшем и обозначение двойственной ей операции й . Легко устанавливаются по таблицам истинности из утверждения 2 следующие свойства ранее определенных двойственных операций:
10 Если операция и есть OR, то и - операция
© .
20 Если операция й есть AND , то и - операция эквивалентности.
Введение вышеупомянутых теоретико-множественных операций позволяет записать каноническое разложение булевых функций в матричной форме:
-(t)
[ f (e u), f (e ft)][Uft]
[ f (e u), f (e ft), f (e u)ft f (e ft)][Uft]
x x
(1)
(2)
f (eu), f (eft), f (eu)ft f (eft)
ftft
e ft e u
e U e_ft x x
. (3)
xB = ■
e^, если x е B; e ^, если x g B.
Тогда частная производная функции f по переменной х^ будет записываться как
f = f t f (x,- © xB ).
f X/ =0' f x, =1
f ( x )
ox,-
(4)
Выражение (4) может быть записано для двух переменных в виде
Ф x, ( f (x,' xj )) =
~(t). ~(t) . ~(t). Ф x, (fxt =0 ) 'ф x, (fx, =1 )'Ф x, (fxt =0 t fx, =1 )
Ф x, (fxt =0 ) 'ф x, (fx, =1 )'
52 f (x)
dx,dx :
1 J
(5)
Рекурсивное применение выражений (4), (5), которое допустимо, потому что рассматриваемые булевы функции являются монотонными, позволяет записывать вектор доопределения для п входных двоичных переменных в виде
-(t)
В терминологии введенных двойственных операций определение частной булевой производной по переменной записывается следующим образом.
Пусть B е {{©},{0},{1},{0,1}}. Обозначим ft как
любую из операций {AND, OR, ©}, при этом операция возведения в степень будет определяться как
-(с)( г ~II ~(t)(
fix,T I I' Ф ^ I fix,F
f\ x, T, F I I =
~№)( ( ~|| ( ( ~M Фx f\ x,T I t f\ x,T
Ф x, [f [x,TII, Ф x, [f [x F
5 Bf ( x)
5f ~ (x )5f ~ (x)
T F
(6)
Заметим, что выражение для вектора доопределения булевой функции п переменных представляет
собой (1 х 3 п | матрицу, что очевидно при рассмотрении выражений (5) и (6), но при этом существенным обстоятельством ее построения является лексикографический порядок, т. е.
-(t)
Теперь становится возможным ввести понятие вектора доопределения частично определенной булевой функции, применяя матричные обозначения
(1) - (3).
Определение 3
Вектор доопределения частично определенной булевой функции, составляемый по переменной х^, определяется как
ф(х!)( f ) = [ f ( Х1,..., хг = 0,..., Хп ), f (Х1,...хг = 1,..., Хп ),
f (X1'...' x, = 0'...' xn ) ft f (xu...x, = l'...' xn )] =
Ф
x, =0
-(t)
Ф x, =1 ( f )
~ (t) x, =1
-(t)
Ф x,=0 ( f )
Более компактной формой записи вектора доопределения булевой функции является матричная запись, которую предлагается определить следующим образом. Как и прежде, используем обозначение ft
для одной из решеточных операций {AND, OR, ©},
и пусть ft будет являться дистрибутивной для операции ft. Однако следует учитывать, что AND и OR являются дистрибутивными операциями друг для друга, но AND дистрибутивна по операции © , но не
наоборот. Пусть также eft ив ~ обозначают ней-
i
тральные (нулевые) элементы для применяемых операций ft и ft , соответственно, тогда e~ = e~ . Таким
i i
образом, матричная запись, учитывая что eft является
единичным элементом относительно операции ft, выглядит так:
x
e
ft
x
f ( х = 0), f ( x = 1)
5f ( x ) '
5 B x
= [ f (0), f (1)]
GG
eG e~ eG G
e~ eG eG
G
Множество М, при его использовании в матричных вычислениях, представляет собой матрицу размерности (п х 3), тогда, обозначив ©Мп - Кронеке-
рово произведение матриц М©М...©М, получим
п раз
основной результат работы в виде определения 4. Определение 4
Вектором доопределения частично определенной булевой функции является вектор, определяемый как
.G
Ф ( f ) = [ fe ]
GG
G
© Mn
Выводы
1. На основе теоретико-множественного обобщения операций логического дифференциального исчисления предложен вектор доопределения частично определенной булевой функции.
2. Предложенное в виде компактной матричной записи определение 4 позволяет выполнить реализацию схем и устройств диагностики дискретных систем в различных логических базисах, в том числе и в доказуемо оптимальном для самодиагностируемых систем базисе {AND, ©, 1}.
Работа выполнена при финансовой поддержке РФФИ (проект 07-08-00052-а)
Литература
1. Boros E., Ibaraki T., Makino K. Error-free and best-fit exten-
sions of partially defined Boolean functions // Information and Computation. 1998. Vol. 140. P. 254 - 283.
2. Jennings G. Symbolic incompletely specified functions for
correct evaluation in the presents of indeterminate input values // HICSS IEEE. 1995. Vol. 1. P. 23 - 31.
3. Янушкевич С., Бохманн Д., Станкович Р., Тожич Ж., Шмерко В. Логическое дифференциальное исчисление: достижения, тенденции и приложения // Автоматика и телемеханика. 2000. № 6. С. 155 - 170.
4. Чернов А.В. Развитие аппарата логического дифференциального исчисления в применении к задачам проектирования и диагностики телекоммуникационных систем // Науч.-техн. ведомости Санкт-Петербургского государственного политехнического университета. 2008. № 2. С. 45 - 63.
Поступила в редакцию
1 июля 2008 г.
Чернов Андрей Владимирович - канд. техн. наук, доцент кафедры прикладной математики и вычислительной техники Ростовского государственного строительного университета. Тел.: (863)2711727. E-mail: [email protected].