МАТЕМАТИКА
УДК 519.718.7
DOI 10.21685/2072-3040-2016-3-1
К. А. Попков
О ЕДИНИЧНЫХ ДИАГНОСТИЧЕСКИХ ТЕСТАХ ДЛЯ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ В БАЗИСЕ ЖЕГАЛКИНА1
Аннотация.
Актуальность и цели. Рассматривается задача синтеза неизбыточных схем из функциональных элементов в базисе {&, ©, 1,0} , реализующих булевы функции от n переменных и допускающих короткие единичные диагностические тесты относительно константных неисправностей типа 0 на выходах элементов. Эта задача относится к проблеме синтеза легкотестируемых схем, поставленной С. В. Яблонским и И. А. Чегис в 50-х гг. прошлого века, и к настоящему времени достаточно хорошо изучена.
Материалы и методы. При построении легкотестируемых схем используется ранее известный метод синтеза, модифицированный под данную задачу. Нижние оценки длин тестов доказываются «от противного», путем получения ограничений на структуру схем, допускающих короткие тесты.
Результаты. Для каждой булевой функции найдено минимально возможное значение длины единичного диагностического теста в базисе {&, ©, 1,0} при указанных неисправностях. В частности, доказано, что оно не превосходит двух.
Выводы. Рассмотренная задача решена полностью. В частности, существенно улучшены имевшиеся ранее верхние оценки минимальных длин единичных диагностических тестов в этой постановке задачи.
Ключевые слова: схема из функциональных элементов, неисправность, единичный диагностический тест.
K. A. Popkov
ON SINGLE DIAGNOSTIC TESTS FOR LOGIC CIRCUITS IN THE ZHEGALKIN BASIS
Abstract.
Background. The article considers a problem of synthesis of irredundant logic circuits in the basis {&, ©, 1,0} which implement Boolean functions on n variables and allow short single diagnostic tests regarding constant faults of type 0 on outputs of gates. It relates to the problem of synthesis of easily testable circuits which was put in 1950s and has been well researched by now.
1 Работа выполнена при поддержке Российского фонда фундаментальных исследований (проект № 14-01-00598) и программы фундаментальных исследований ОМН РАН «Алгебраические и комбинаторные методы математической кибернетики и информационные системы нового поколения» (проект «Задачи оптимального синтеза управляющих систем»).
Materials and methods. For construction of easily testable circuits the earlier known method of synthesis was used and modified for the given problem. The lower bounds of test lengths were proved "by contradiction" via obtaining restrictions on the structure of circuits admitting short tests.
Results. For each Boolean function, the minimal possible length value of a single diagnostic test in the basis {&, ©, 1,0} regarding the faults mentioned has been found. In particular, it is proved that this value does not exceed two.
Conclusions. The problem considered is completely solved. In particular, earlier upper bounds of the minimal lengths of single diagnostic tests in this problem statement have been significally improved.
Key words: logic circuit, fault, single diagnostic test.
Введение
В работе рассматривается задача синтеза легкотестируемых схем, реализующих заданные булевы функции. Логический подход к тестированию электрических схем предложен С. В. Яблонским и И. А. Чегис [1]; этот подход также применим к тестированию схем из функциональных элементов [2-4]. Пусть имеется схема из функциональных элементов S, реализующая булеву функцию f (xi,...,xn). Под воздействием некоторого источника неисправностей один или несколько элементов схемы S могут перейти в неисправное состояние. В результате схема S вместо исходной функции f(xi,...,xn) будет реализовывать некоторую булеву функцию g(x^.,xn), вообще говоря, отличную от f . Все такие функции g(xi,.,xn), получающиеся при всевозможных допустимых для рассматриваемой задачи неисправностях элементов схемы S, называются функциями неисправности данной схемы.
Введем следующие определения [2-4].
Проверяющим тестом для схемы S называется такое множество T наборов значений переменных xi,...,xn, что для любой отличной от f (xi,.,xn) функции неисправности схемы S в T найдется набор а, на котором f (а) Ф g(а).
Диагностическим тестом для схемы S называется такое множество T наборов значений переменных xi,...,xn , что T является проверяющим тестом и, кроме того, для любых двух различных функций неисправности gi(xi,.,xn) и g2(xi,.,xn) схемы S в T найдется набор а, на котором gi(a) Ф g2(а).
Число наборов в T называется длиной теста. В качестве тривиального
диагностического (и проверяющего) теста длины 2n для схемы S всегда можно взять множество T , состоящее из всех двоичных наборов длины n . Тест называется полным, если в схеме могут быть неисправны сколько угодно элементов, и единичным, если в схеме может быть неисправен только один элемент. Единичные тесты обычно рассматривают для неизбыточных схем [4], т.е. для таких схем, в которых любая допустимая неисправность любого одного элемента приводит к функции неисправности, отличной от исходной функции, реализуемой данной схемой.
Пусть зафиксирован вид неисправностей элементов, B - произвольный функционально полный базис и T - единичный диагностический тест для
некоторой схемы S. Введем следующие обозначения: DS^dtagn (T) - длина теста T ; Dfdtagn (S) = min Dfdtagn (T), где минимум берется по всем единичным диагностическим тестам T для схемы S; D^dagn (f) = min D^Bdiagn (S), где минимум берется по всем неизбыточным схемам S в базисе B, реализу-
в в
ющим функцию f ; Ds(jiagn (n) = max Ds dig (f), где максимум берется по всем булевым функциям f от n переменных, для которых определено зна-
BB
чение Ds diagn (f) . Функция Dsdiagn (n) называется функцией Шеннона дли-
B
ны единичного диагностического теста. По аналогии с функциями Ds diagn
B B B
можно ввести функции Dsdetect, Dc,detect и Dc,diagn для соответственно единичного проверяющего, полного проверяющего и полного диагностического тестов, зависящие от T, от S, от f и от n (в определениях функций
DB'detect(f) и D^Bdiagn (f) не требуется предполагать неизбыточность схем).
B
Так, например, Dc detect (n) - функция Шеннона длины полного проверяющего теста.
Перечислим основные результаты, касающиеся тестирования схем из функциональных элементов. Класс допустимых неисправностей функциональных элементов ограничим константными неисправностями на выходах элементов, при которых значение на выходе любого неисправного элемента становится равно некоторой булевой константе. Неисправности на выходах элементов называются однотипными константными типа p, если эта константа одна и та же для каждого неисправного элемента и равна p , и произвольными константными, если эта константа может быть равна как 0, так и 1 для каждого неисправного элемента, независимо от неисправностей других элементов. Для удобства над буквой D после символов, обозначающих базис, через точку с запятой будем ставить символы «{0,1} », «{0}» или «{1} » в случаях, когда в схемах допускаются соответственно произвольные константные неисправности, однотипные константные неисправности типа 0 или типа 1 на выходах элементов. Будем считать, что если в базисе содержатся булевы константы (одна или обе), то они подаются с входов схемы, не являются функциональными элементами и, соответственно, не могут быть неисправны. В работе С. М. Редди [5] для базиса Жегалкина B1 = {&, ©,1,0} была
получена оценка D^^Hn < n + 3 . В дальнейшем результат работы [5] был
обобщен С. С Колядой в [6] на случай произвольного функционально полного конечного базиса. Последний результат, в свою очередь, был впоследствии усилен Д. С. Романовым, который в [7] для любого функционально полного
базиса B получил оценку D^e^t (n) < 4 . Для полных проверяющих тестов Н. П. Редькин в [8, 9] для любого полного конечного базиса B получил оценку
DB;{0,1} ( c,detect^
n n
_ 2 _ + 2 2
+ n
Д. С. Романов [10] доказал, что существует базис В2, содержащий функциональные элементы с числом входов от одного до семи, в котором
2 < ^^ееС/Сп) - 4. В работе [4] (с. 113, теорема 9) с использованием идей
С. В. Яблонского установлено, что для любого полного базиса В функция
2П+1
^(п) асимптотически не превосходит -; аналогично можно пока-
2 п
зать что (п) < —, р е{0Д}.
Для базиса В3 = {&,V, —1} Н. П. Редькин в [11, 12] получил оценки О^жИСи (п) < п и О^^ (п) < 2п + 1 для р е {0,1} . Первая из этих двух оценок впоследствии была улучшена Ю. В. Бородиной, которая в [13] установила, что О^^р}^ (п) = 2 ; вторая оценка улучшена в [14], где, в частности, доказано, что О^^рп (п) = 2. Ю. В. Бородиной в базисе Жегалкина В1 удалось найти точное значение функций Шеннона О1^}^ (п) = 1 [15] и
О^е^сг (п) = 1 [16] (совместно с П. А. Бородиным).
Поскольку в данной работе будут рассматриваться только единичные диагностические тесты, вместо О^^^ (/), О^^^п (п) для краткости будем
В В
писать соответственно Ор (/), Ор (п), где В - произвольный функционально полный базис, р е {0,1} . Основной целью является нахождение верхних и
ВВ
нижних оценок (в идеале - точных значений) величин Ор (/) и Ор (п) при различных В, р, / и п .
Формулировки и доказательства основных результатов
Рассмотрим базис Жегалкина В1 = {&, ©,1,0}. В качестве неисправностей функциональных элементов будем рассматривать однотипные константные неисправности типа 0 на выходах элементов, т.е. конъюнкторов и сумматоров (напомним, что константы 0 и 1 согласно предположению подаются со входов схемы). Выделим два возможных представления функции / :
/(*1,--,Хп) = 0,1 или х{, (*)
где iе {1,...,п};
/(Х1,...,Хп) = ... &Ьт, (**)
где т > 1 и каждый множитель Ьз, 3 = 1,..., т , имеет вид либо х{,, либо х^, ,
^ 3 3
либо Х; © хг' для некоторых ,е {1,.,п} , Ф ¡3.
Теорема 1. Для любой булевой функции /(Х1,...,хп) справедливо равенство
<4 f) =
0, если функция / представима в виде (*),
1, если функция / представима в виде (**), но не в виде (*),
2, если функция / не представима ни в одном из видов (*),(**).
Следствие 1. Для любого п > 2 справедливо равенство (п) = 2 .
Для доказательства следствия 1 достаточно заметить, что функция Х1 V.. .V хп при п > 2 не представима ни в одном из видов (*),(**).
Доказательству теоремы 1 предпошлем следующую лемму, в которой, так же как и в доказательстве теоремы 1, вместо (£), (/) для краткости будем писать соответственно £(£), £(/).
Лемма 1. Пусть булева функция / и реализующая ее неизбыточная схема £ таковы, что £( £) = £( /) = 1. Тогда функция, реализуемая на выходе любого элемента схемы £, не меньше / .
Доказательство. Предположим, что это не так, т.е. значение функции Н, реализуемой на выходе некоторого элемента Е схемы £, на каком-то наборе 5 меньше значения функции / на этом же наборе. Тогда /(5) = 1 и
Н(5) = 0. В таком случае при переходе элемента Е в неисправное состояние значение на выходе любого элемента схемы £ (в том числе выходного) на наборе 5 не изменится, и, следовательно, значение получающейся функции неисправности g схемы £ на наборе 5 будет равно /(5) = 1. Так как схема £ неизбыточна, то g Ф / . Далее, выход схемы £ не может совпадать ни с одним из ее входов в силу неравенства £(£) > 0, поэтому он является выходом некоторого функционального элемента. Тогда при неисправности этого элемента получающаяся схема будет реализовывать тождественный нуль, причем 0 Ф / по предположению случая и 0 Ф g в силу того, что g(5) = 1. Таким образом, функции / , g и 0 попарно различны. Эти три функции невозможно отличить друг от друга на одном наборе, что противоречит равенству £(£) = 1. Полученное противоречие доказывает лемму 1.
Доказательство теоремы 1. Если функция / представима в виде (*), то ее, очевидно, можно реализовать схемой, не содержащей конъюнкторов и сумматоров. У такой схемы нет ни одной функции неисправности, поэтому пустое множество для нее является единичным диагностическим тестом, откуда следует равенство £(/) = 0 .
Пусть теперь функция / представима в виде (**) и не представима
в виде (*). Каждый множитель Ь; вида х^, = х^, © 1 или х^ © х^; реализуем
^ 3 3 3 3
с использованием одного сумматора, на входы которого подадим соответственно переменную х^, и базисную функцию 1 или переменные х^, и хг' . Затем выходы всех построенных элементов и все входы « х^, », отвечающие множителям Ь; вида хI,, соединим цепочкой из конъюнкторов. Очевидно, что полученная схема реализует функцию /, а единственной ее функцией неисправ-
ности является тождественный нуль. Отсюда следует, что данная схема неизбыточна и множество, состоящее из любого одного единичного набора функции / (т.е. набора, на котором / принимает значение 1), является для этой схемы единичным диагностическим тестом длины 1. Поэтому В(/) < 1. С другой стороны, так как функция / не представима в виде (*), то выход любой схемы, реализующей функцию /, не может совпадать ни с одним из ее входов, поэтому он является выходом некоторого функционального элемента. Тогда при неисправности этого элемента получающаяся схема будет реализовывать тождественный нуль, который надо отличить от функции / хотя бы на одном наборе, откуда следует, что В(/) > 1. В итоге получаем равенство В(/) = 1.
Пусть, наконец, функция / не представима ни в одном из видов (*), (**). Докажем сначала, что В(/) > 2 , если В(/) определено. Предположим, что В(/) < 1. Аналогично предыдущему случаю показывается, что В(/) > 1, поэтому В(/) = 1. Пусть ^ - произвольная неизбыточная схема, реализующая функцию /, для которой В( ^) = В( /) = 1.
Пусть хг- ..., х^ - все такие входные переменные схемы ^, каждая из
которых подается в ней на вход какого-то конъюнктора (если таких переменных нет, полагаем к = 0). На выходах этих конъюнкторов реализуются функции, меньшие либо равные соответственно хг- ...,х^ , а тогда по лемме 1
имеем х?1 > /,..., х^ > / . Следовательно,
хк&... &хк > / (1)
(в случае к = 0 полагаем х^ &... & хк = 1).
Далее, пусть хк ,...,хк - все такие входные переменные схемы ^,
к к ^ г
что каждая переменная хк ., . = 1,..., г, подается в ней на вход какого-то
к+.
сумматора Е., другой вход которого соединен с выходом некоторого функционального элемента Еу (если таких переменных нет, полагаем г = 0). Пусть на выходе элемента Еу в схеме ^ реализуется булева функция ф., тогда на выходе элемента Еу реализуется функция ф. © х^ + . . Из леммы 1 следует, что ф. > / и ф. © х^к+ . > /, а тогда
f toj ®xik+j) = фу ®^jXik+] = Фу (1 ®xik+j) = <p jXik+. < x;
k+j
т.е. xik . > f, откуда
k+j
x &... & xi > f (2)
lk+1 lk+r J v '
(в случае r = 0 полагаем xt &... & xt = 1).
k +1 k + r
Пусть теперь ( , ),...,( , ) - все такие неупоря-
J ^ v ik+r+1 ' ik+r+2 ' v ik+r+2 ^ -1 ' ik+r+2 s '
доченные пары входных переменных схемы S, что обе переменные из каж-
8 University proceedings. Volga region
дой пары подаются в ней на входы какого-то одного и того же сумматора (если таких пар переменных нет, полагаем 5 = 0). На выходах этих сумматоров реализуются функции х, ©х, ,...,х, ©х, , каждая из кото-
^ ^ 1к+г+\ гк+г+2 ' ' гк+г+25-1 1к+г+25 '
рых по лемме 1 не меньше / . Поэтому
(х, ©х, )&...&(х ©х, ) > / (3)
у 1к+г+1 1к+г+2 ' у к+г+2 5 -1 'к+г+2 5 ' •> у '
(в случае 5 = 0 полагаем (х,■ © х, )& ... &( х, © х, ) = 1).
у у гк+г+1 гк+г+2' у к+г+25-1 гк+г+25' '
Отметим, что хотя бы одно из чисел к, г, 5 больше нуля, так как в противном случае ни одна входная переменная схемы £ не подается в ней на вход ни одного функционального элемента и функция, реализуемая данной схемой, имеет вид (*), что невозможно по предположению.
Из (1)—(3) получаем соотношение /' > / , где
/' = х, & ... & х, & х, & ... & х, & п &
у г1 гк 1к+1 гк+г
&( х, © х, )&... &( х, © х, ). (4)
у гк+г+1 гк+г+2 ' у гк+г+25-1 гк+г+25 ' у '
Если /'ф /, то функция / представима в виде (**), что противоречит предположению рассматриваемого случая. Поэтому /'> /, т.е. существует такой набор й, что /'(тс) = 1, /(тс) = 0 . Тогда значение на выходе выходного элемента схемы £ на наборе й равно 0. Из этого следует существование в схеме £ такого элемента Е , что на наборе тс значение на его выходе равно 0, а значение на выходе любого элемента Е , расположенного в схеме £ выше элемента Е (если такой элемент существует), равно 1 (считаем, что элемент Е' расположен в схеме £ выше элемента Е , если в ней существует ориентированный путь от Е' к Е ).
Возможны шесть случаев.
1. Элемент Е - конъюнктор, и оба его входа соединены в схеме £ с выходами функциональных элементов. В этом случае в силу выбора элемента Е на наборе тс в схеме £ значение на обоих входах элемента Е равно единице, а значение на его выходе - нулю, что невозможно.
2. Элемент Е - конъюнктор, и один его вход (без ограничения общности левый) соединен в схеме £ с выходом функционального элемента, а другой - со входом схемы £, отвечающим некоторой переменной х, . Тогда в силу выбора элемента Е на наборе й в схеме £ значение на левом входе элемента Е равно единице, а значение на его выходе - нулю, следовательно, на этом наборе х, = 0. Но iе {/1,.,^} по определению этих индексов, а тогда /'(й) = 0 в силу (4). Противоречие.
3. Элемент Е - конъюнктор, и оба его входа соединены в схеме £ со входами этой схемы. В силу выбора элемента Е на наборе й в схеме £ значение на выходе этого элемента равно нулю, следовательно, на этом наборе значение хотя бы одной из двух входных переменных схемы £, подающихся на входы элемента Е, равно нулю (обозначим эту переменную через х,). Но iе {71,..., 1к} по определению этих индексов, а тогда /'(й) = 0 в силу (4). Противоречие.
4. Элемент Е - сумматор, и оба его входа соединены в схеме 5 с выходами функциональных элементов. Пусть на выходах этих двух элементов в схеме £ реализуются функции ф и ^, тогда на выходе элемента Е реализуется функция ф©^ . Из леммы 1 следует, что ф> /, /, и также из этой леммы ф©^ > / , а тогда / < ф¥(ф © ¥) = ф¥ © ф¥ = 0 , т.е. / = 0 . Противоречие.
5. Элемент Е - сумматор, и один его вход (без ограничения общности левый) соединен в схеме £ с выходом функционального элемента, а другой -со входом схемы £, отвечающим некоторой переменной хк. Тогда в силу выбора элемента Е на наборе й в схеме £ значение на левом входе элемента Е равно единице, а значение на его выходе - нулю, следовательно, на этом наборе хк = 1. Но ке {кк+1,.,кк+г} по определению этих индексов, а тогда /'(й) = 0 в силу (4). Противоречие.
6. Элемент Е - сумматор, и оба его входа соединены в схеме 5 со входами этой схемы, отвечающими каким-то переменным хк, х^. В силу выбора элемента Е на наборе й в схеме £ значение на выходе этого элемента равно нулю, следовательно, на этом наборе хк © х^ = 0. Но
(к,к') е {(кк+г+Ъкк+г+2),.,(кк+г+2з-1,кк+г+2,5)} по определению этих инДексов, а тогда /'(й) = 0 в силу (4). Противоречие.
Во всех случаях получено противоречие, значит, исходное предположение было неверно и В(/) > 2 , если В(/) определено.
Докажем теперь, что В(/) определено и В(/) < 2 . Пусть к(х1,.,хп) -произвольная булева функция от п переменных, отличная от констант; су - произвольный единичный набор функции к( х1,., хп), содержащий наименьшее число единиц. Из предложения 1 работы [16, с. 130] и рассуждений, проведенных в ней, следует, что функцию к можно реализовать неизбыточной схемой в базисе В1, для которой множество сс является единичным (и даже полным) проверяющим тестом.
Заметим, что функция /(х1,...,хп) принимает значение 1 хотя бы на двух наборах в силу того, что / = 0 и / не представима в виде
хс &... & хСп , являющемся частным случаем вида (**). Пусть сс 1 - произвольный единичный набор функции /(х1,..., хп), содержащий наименьшее число единиц. Тогда функцию / можно реализовать неизбыточной схемой 51 в базисе В1, для которой множество сс 1 является единичным проверяющим тестом. Пусть 52 - копия схемы £1.
Для любого двоичного набора сС длины п через (х1,...,хп) будем обозначать булеву функцию, равную единице на наборе сс и нулю на всех остальных наборах. Функция /1( х1,..., хп) = / ©Х(С1( х1,..., хп) принимает
значение 0 на наборе сс 1 и значение 1 хотя бы на одном наборе. Пусть ((2 -произвольный единичный набор функции / (х1,..., хп), содержащий наименьшее число единиц, тогда сс 1 Ф ((2 и существует неизбыточная схема £3
в базисе , реализующая функцию / , для которой множество {сг2} является единичным проверяющим тестом. Пусть /2( х^,..., хп) = / © Х(С2 (х1,..., хп) . Заметим, что / = / на всех наборах длины п , кроме набора (С2; при этом /(с2) = (/ ©%( 1)(сс2) = /1((с2) = 1, а /2(с2) = (/ ©Х&2)(С2) = /(С2) © 1 = 0. Отсюда /2 < / и /2 (сс 1) = /(с 1) = 1, следовательно, с1 является единичным набором функции /2(х1,...,хп), содержащим наименьшее число единиц. Тогда функцию /2 можно реализовать неизбыточной схемой £4 в базисе В1, для которой множество {(С 1} является единичным проверяющим тестом. Будем считать, что все функциональные элементы, содержащиеся в схемах £1, £2, £3 и £4, попарно различны.
Пусть £ - схема, состоящая из подсхем £1,£2,£3,£4,£5 (рис. 1). Подсхемы £1 - £4 определены ранее; подсхема £5 имеет четыре входа у1, у2, у3, у4 и один выход, содержит четыре сумматора и два конъюнктора и реализует на выходе булеву функцию
9(У1,^Уз,У4) =(У1 © У3)(У2 © У3)(У3 © У4) © Уз,
где У1, У2, У3, У4 - значения, подаваемые на ее входы У1, У2, vз, У4 соответственно. Вход V, подсхемы £5 , i = 1,2,3,4 , в схеме £ соединяется с выходом подсхемы £,.
Отметим некоторые свойства функции 6(У1, У2, У3, У4): (1) на любом двоичном наборе длины 4, не менее трех компонент которого равны а, она равна а;
(п) 9(0,1,0,1) = 0(1,0,0,1) = 0(1,1,0,0) = 0;
(ш) 0(0,1,1,0) = 0(1,0,1,0) = 1.
Докажем, что схема £ реализует булеву функцию /(х1,...,хп). Пусть сс - произвольный двоичный набор длины п . На выходах подсхем £1, £2, £3, £4 на наборе б по построению реализуются значения соответственно /(с),/(с),/1(с) = /(б)©Хо1(с) и /2(с) = /(с)©Хб2(б), а на выходе всей схемы £ - значение 0(/(б), /(а), /(а) ©х б 1(а), /(а) ©X б2(а)). В силу выполнения хотя бы одного из равенств Хб1 (б) = 0, Xб2 (б) = 0 и свойства (1) это значение равно / (С), что и требовалось доказать.
Докажем теперь, что схема £ неизбыточна и множество {б 1,62 } является для нее единичным диагностическим тестом. При неисправности выходного элемента подсхемы £5 функция неисправности схемы £ будет равна тождественному нулю. Легко видеть, что при неисправности любого элемента подсхемы £5 , отличного от выходного, функция, реализуемая подсхемой £5, будет равна уз (где уз - значение, подаваемое на ее вход Уз), а функция неисправности всей схемы £ равна /1 .
Предположим, что неисправен некоторый элемент в одной из подсхем £1, £2, £4. Тогда на любом наборе б, отличном от наборов б1 и б2, оставшиеся три из подсхем £1, £2, £3, £4 будут выдавать значение / (б), и по свойству (1) такое же значение будет на выходе всей схемы £. Ранее было показано, что / ( 62) = 1. На наборе б 2 в случае исправной работы всех элементов в схеме £ на выходах подсхем £1, £2, £3, £4 реализуются значения соответственно /(62),/(62),/(62)©Хб1(б2),/(С2)©Хб2(б2), т.е. 1,1,1,0, значит, на входы подсхемы £5 подается набор (1,1,1,0). При наличии неисправного элемента в одной из подсхем £1, £2, £4 в этом наборе может измениться не более одной из 1-й, 2-й и 4-й компонент, а 3-я компонента остается неизменной. Тогда на выходе всей схемы £ будет реализовано значение 1 = / (б 2), так как 0(1,1,1,0) = 0(0,1,1,0) = 0(1,0,1,0) = 0(1,1,1,1) = 1 (см. свойства (1), (ш)).
Далее, на наборе а1 в случае исправной работы всех элементов в схеме £ на выходах подсхем £1, £2, £3, £4 реализуются значения соответственно /(61),/(61),/(61) ©хб1(61),/(61) ©хб2(61), т.е. 1,1,0,1, значит, на входы подсхемы £5 подается набор (1,1,0,1). При наличии неисправного элемента в одной из подсхем £1, £2, £4 в этом наборе изменится соответствующая компонента, так как множество {б 1} является единичным проверяющим тестом для каждой из неизбыточных схем £1, £2, £4. Остальные три компоненты набора (1,1,0,1) останутся неизменными. Тогда на выходе всей схемы £ будет реализовано значение 0 Ф / (б 1), так как 0(0,1,0,1) = 0(1,0,0,1) = = 0(1,1,0,0) = 0 (см. свойство (и)). В итоге получаем, что функция, реализуемая
схемой £ при неисправности любого элемента в любой из подсхем «1, «2, £4, отличается от функции /(х^,...,хп) только на наборе с, т.е. равна /.
Предположим, наконец, что неисправен некоторый элемент в подсхеме «3 . Тогда на любом наборе с, отличном от наборов с 1 и с2, подсхемы «1, «2, «4 будут выдавать значение / (с), и по свойству (1) такое же значение будет на выходе всей схемы £. На наборе с 1 подсхемы «1, «2, «4 будут выдавать значения соответственно /(с),/(6^1),/(6^1) © (с 1), т.е. 1,1,1, значит, на входы подсхемы «5 будет подаваться один из наборов (1,1,0,1),(1,1,1,1), а тогда на выходе всей схемы « будет реализовано значение 1 = /(сс 1), так как 9(1,1,0,1) = 9(1,1,1,1) = 1 (см. свойство (1)).
Далее, на наборе сс2 в случае исправной работы всех элементов в схеме « на входы подсхемы «5 подается набор (1,1,1,0) (см. выше). При наличии неисправного элемента в подсхеме «3 в этом наборе изменится 3-я компонента, так как множество {с 2} является единичным проверяющим тестом для неизбыточной схемы «3 . Остальные три компоненты набора (1,1,1,0) останутся неизменными. Тогда на выходе всей схемы « будет реализовано значение 0 Ф /(62), так как 9(1,1,0,0) = 0 (см. свойство (и)). В итоге получаем, что функция, реализуемая схемой « при неисправности любого элемента в подсхеме «3, отличается от функции /(Х1,...,хп) только на наборе &2, т.е. равна /2 .
Из приведенных рассуждений следует, что у схемы « есть только три функции неисправности - g = 0, /1 и /2 . Каждая из них отлична от функции / , поэтому схема « неизбыточна и значение £(/) определено. На наборах сс 1 и сс2 функции / , /1, /2 и g принимают пары значений соответственно (1,1), (0,1), (1,0) и (0,0). Поэтому на этих наборах функцию / можно отличить от каждой из функций неисправности, а любые две функции неисправности - друг от друга. Это означает, что {с 1, с 2} - единичный диагностический тест для схемы « . Его длина равна 2, откуда следует неравенство £(/) - 2.
Теорема 1 доказана.
Замечание 1. При рассмотрении вместо базиса В1 базиса Б{ = {&, ©,1}, где константа 1 подается со входов схемы, результат теоремы 1 остается верен для всех булевых функций / , кроме / = 0 ; значение (0) не определено. Действительно, на входы схем, использованных в доказательстве теоремы 1 и допускающих единичный диагностический тест длины 0Б (/), за исключением случая / = 0, не подавалась константа 0. Это следует из построения этих схем, в частности, из метода синтеза схем, используемого в ра-
В' в
боте [16] при доказательстве теоремы 2. Поэтому /) - А)^/) при / = 0 . С другой стороны, А^1 (/) - о01 (/) в силу того, что любая (неизбы-
точная) схема в базисе В{ является (неизбыточной) схемой в базисе В1. Если же / = 0, то выход произвольной схемы £ в базисе В{, реализующей функцию / , очевидно, не может совпадать ни с одним из ее входов, поэтому он является выходом некоторого функционального элемента. Тогда при неисправности этого элемента получающаяся схема по-прежнему будет реализо-вывать тождественный нуль, т.е. схема £ избыточна. Получаем, что неизбыточных схем, реализующих константу 0, не существует и, следовательно,
значение В^ (0) не определено.
Замечание 2. Если предполагать, что булевы константы в базисах В1, В{ являются функциональными элементами и элемент «константа 1» может быть неисправен и реализовывать тождественный нуль, и обозначить соответствующие базисы через В, В{, то результат теоремы 1 и аналогичный ей результат из замечания 1 остаются верны для всех булевых функций / , кроме / = 1; вместе с тем В^1 (1) = В^ (1) = 1.
Докажем это. При / = 1 схема, состоящая из одного элемента «константа 1», неизбыточна и допускает единичный диагностический тест из одного (пустого) набора; с другой стороны, выход любой схемы, реализующей функцию / , не может совпадать ни с одним из ее входов (в силу предположения замечания 2), поэтому он является выходом некоторого функционального элемента. Тогда при неисправности этого элемента получающаяся схема будет реализовывать тождественный нуль, который надо отличить от функции / хотя бы на одном наборе. Отсюда следуют равенства
ВВ (1) = вЦ1 (1) = 1. Если / = 0, то значение В^1 (/) по аналогии с замечанием 1 не определено, а вЦ1 (/) = 0, так как схема, состоящая из одного элемента «константа 0», не имеет ни одной функции неисправности. Если функция / равна какой-то переменной, то ее можно реализовать схемой без ис-
в Ву
пользования функциональных элементов, поэтому В01 (/) = В01 (/) = 0 .
Пусть теперь функция / отлична от констант и переменных. Рассмотрим неизбыточную схему £ в базисе В{, реализующую функцию / , для которой В^ (£) = ВВ (/). Ясно, что в схеме £ содержится выходной элемент.
Преобразуем эту схему следующим образом. Все входы элементов схемы £, на которые подавалось значение 1 со входов этой схемы, соединим с выходом элемента Е1 типа «константа 1». Добавим к получившейся схеме конъюнктор Е&, один из входов которого соединим с бывшим выходом схемы £, а второй - с выходом элемента Е1 . Выход элемента Е& будем считать выходом получившейся схемы, которую обозначим . Данная схема, очевидно, реализует функцию / . Легко заметить, что при неисправности любого элемента
схемы £', кроме Е1 и Е&, получающаяся функция неисправности схемы £' будет совпадать с функцией неисправности схемы £ при неисправности
в ней соответствующего элемента. Если же неисправен один из элементов , Е&, то схема Б' будет реализовывать тождественный нуль, но такая же функция неисправности есть и у схемы 5 при неисправности ее выходного элемента. Получаем, что любая функция неисправности схемы Б' является функцией неисправности схемы Б, поэтому
Е$ (Б') < Б2 (Б) = Б2 (/) и ОБ (/) < ОБ (/) < ОБ (Б') < Б2 (/) = (/)
(неравенство О*1 (/) < О*1 (/) следует из того, что Д з Б{, а последнее равенство - из замечания 1). С другой стороны, при наличии дополнительных возможных неисправностей в схемах (а именно неисправности типа 0 на выходе любого элемента «константа 1») значения величин О*1 (/) и О*1 (/),
очевидно, не могут уменьшиться. Следовательно, О*1 (/) = О01(/) и
(/) = О*1 (/), что и требовалось доказать.
Рассмотрим теперь в качестве неисправностей функциональных элементов однотипные константные неисправности типа 1 на выходах элементов. Выделим еще одно возможное представление функции / :
/(*!,..., хп) = ¿1 Ьт, (***)
где т > 1 и каждый множитель , . = 1,..., т, имеет вид либо ху., либо ху. , либо Ху. ~ Ху' для некоторых ,е {1,.,п} , Ф .
Используя теорему 1, замечания 1, 2 и принцип двойственности (см., например, утверждение 3 [17, с. 19], а именно рассматривая схемы, получающиеся заменой всех элементов в схемах из доказательства теоремы 1 и замечаний 1 и 2 на двойственные, нетрудно получить двойственные им резуль-
ф I ф /V Ф Л !5|с
таты для базисов Б1 = Б1 = {V, 0,1} , = = {V, 0} (в базисах без штрихов булевы константы подаются со входов схемы, в базисах со штрихами -являются функциональными элементами). В частности, справедлива следующая теорема.
Теорема 2. Для любой булевой функции /(х^,...,хп) справедливо равенство
DBl( f) = \
0, если функуция f представима в виде (*),
1, если функуция f представима в виде (* * *), но не виде (*),
2, если функуция f не представима ни в одном из видов (*),(* * *).
Б*
Следствие 2. Для любого п > 2 справедливо равенство О1 (п) = 2 .
Заключение
Для каждой булевой функции найдены точные значения длин минимальных единичных диагностических тестов при реализации ее схемами из
функциональных элементов в базисах Bi = {&, ©,1,0} (при p = 0),
Bi = {v, 0,1} (при p = 1), а также в схожих с ними базисах Bi , Bi, B>i (при
/уф
p = 0), Bi , Вт* , Bi (при p = 1). Таким образом, в указанных случаях поставленная задача, представляющая собой частный случай задачи синтеза
легкотестируемых схем, решена полностью.
Список литературы
1. Чегис, И. А. Логические способы контроля работы электрических схем / И. А. Чегис, С. В. Яблонский // Труды Математического института имени
B. А. Стеклова. - 1958. - Т. 51. - С. 270-360.
2. Яблонский, С. В. Надежность и контроль управляющих систем / С. В. Яблонский // Материалы Всесоюзного семинара по дискретной математике и ее приложениям. - М. : МГУ, 1986. - С. 7-12.
3. Яблонский, С. В. Некоторые вопросы надежности и контроля управляющих систем / С. В. Яблонский // Математические вопросы кибернетики. - Вып. 1. -М. : Наука, 1988. - С. 5-25.
4. Редькин, Н. П. Надежность и диагностика схем / Н. П. Редькин. - М. : Изд-во МГУ, 1992.
5. Reddy, S. M. Easily testable realization for logic functions / S. M. Reddy // IEEE Trans. Comput. - 1972. - Vol. 21, № 1. - P. 124-141.
6. Коляда, С. С. Верхние оценки длины проверяющих тестов для схем из функциональных элементов : дис. ... канд. физ.-мат. наук / Коляда С. С. - М., 2013. -77 с.
7. Романов, Д. С. Метод синтеза легкотестируемых схем, допускающих единичные проверяющие тесты константной длины / Д. С. Романов // Дискретная математика. - 2014. - Т. 26, вып. 2. - С. 100-130.
8. Редькин, Н. П. О полных проверяющих тестах для схем из функциональных элементов / Н. П. Редькин // Вестник Московского университета. Сер. 1. Математика. Механика. - 1986. - № 1. - С. 72-74.
9. Редькин, Н. П. О полных проверяющих тестах для схем из функциональных элементов / Н. П. Редькин // Математические вопросы кибернетики. - Вып. 2. -М. : Наука, 1989. - С. 198-222.
10. Романов, Д. С. О синтезе схем, допускающих полные проверяющие тесты константной длины относительно произвольных константных неисправностей на выходах элементов / Д. С. Романов // Дискретная математика. - 2013. - Т. 25, вып. 2. - С. 104-120.
11. Редькин, Н . П . О схемах, допускающих короткие тесты / Н. П. Редькин // Вестник Московского университета. Сер. 1. Математика. Механика. - 1988. -№ 2. - С. 17-21.
12. Редькин, Н. П. О единичных диагностических тестах для однотипных константных неисправностей на выходах функциональных элементов / Н. П. Редькин // Вестник Московского университета. Сер. 1. Математика. Механика. - 1992. -№ 5. - С. 43-46.
13. Бородина, Ю. В. О схемах, допускающих единичные тесты длины 1 при константных неисправностях на выходах элементов / Ю. В. Бородина // Вестник Московского университета. Сер. 1. Математика. Механика. - 2008. - № 5. -
C. 49-52.
14. Попков, К. А. О точном значении длины минимального единичного диагностического теста для одного класса схем / К. А. Попков // Препринты ИПМ им. М. В. Келдыша. - 2015. - № 74. - 20 с.
15. Бородина, Ю . В . О синтезе легкотестируемых схем в случае однотипных константных неисправностей на выходах элементов / Ю. В. Бородина // Вестник Московского университета. Сер. 15. Вычислительная математика и кибернетика. -2008. - № 1. - С. 40-44.
16. Бородина, Ю. В. Синтез легкотестируемых схем в базисе Жегалкина при константных неисправностях типа 0 на выходах элементов / Ю. В. Бородина, П. А. Бородин // Дискретная математика. - 2010. - Т. 22, вып. 3. - С. 127-133.
17. Угольников, А. Б. Классы Поста : учеб. пособие / А. Б. Угольников. - М. : Изд-во ЦПИ при механико-математическом факультете МГУ, 2008.
References
1. Chegis I. A., Yablonskiy S. V. Trudy Matematicheskogo instituta imeni V. A. Steklova [Proceedings of Mathematical Institute named after V. A. Steklov]. 1958, vol. 51, pp. 270-360.
2. Yablonskiy S. V. Materialy Vsesoyuznogo seminara po diskretnoy matematike i ee prilozheniyam [Proceedings of All-USSR seminar on discrete mathematics and its applications]. Moscow: MGU, 1986, pp. 7-12.
3. Yablonskiy S. V. Matematicheskie voprosy kibernetiki [Problems of mathematical cybernetics]. Issue 1. Moscow: Nauka, 1988, pp. 5-25.
4. Red'kin N. P. Nadezhnost' i diagnostika skhem [Reliability and diagnostics of circuits]. Moscow: Izd-vo MGU, 1992.
5. Reddy S. M. IEEE Trans. Comput. 1972, vol. 21, no. 1, pp. 124-141.
6. Kolyada S. S. Verkhnie otsenki dliny proveryayushchikh testov dlya skhem iz funktsion-al'nykh elementov: dis. kand. fiz.-mat. nauk [Upper bounds of test lengths for circuits consisting of functional gates: dissertation to apply for the degree of the candidate of physical and mathematical sciences]. Moscow, 2013, 77 p.
7. Romanov D. S. Diskretnaya matematika [Discrete mathematics]. 2014, vol. 26, iss. 2, pp. 100-130.
8. Red'kin N. P. Vestnik Moskovskogo universiteta. Ser. 1. Matematika. Mekhanika [Bulletin of Moscow University. Series 1. Mathematics. Mechanics]. 1986, no. 1, pp. 72-74.
9. Red'kin N. P. Matematicheskie voprosy kibernetiki [Mathematical problems of cybernetics]. Issue 2. Moscow: Nauka, 1989, pp. 198-222.
10. Romanov D. S. Diskretnaya matematika [Discrete mathematics]. 2013, vol. 25, iss. 2, pp. 104-120.
11. Red'kin N. P. Vestnik Moskovskogo universiteta. Ser. 1. Matematika. Mekhanika [Bulletin of Moscow University. Series 1. Mathematics. Mechanics]. 1988, no. 2, pp. 17-21.
12. Red'kin N. P. Vestnik Moskovskogo universiteta. Ser. 1. Matematika. Mekhanika [Bulletin of Moscow University. Series 1. Mathematics. Mechanics]. 1992, no. 5, pp. 43-46.
13. Borodina Yu. V. Vestnik Moskovskogo universiteta. Ser. 1. Matematika. Mekhanika [Bulletin of Moscow University. Series 1. Mathematics. Mechanics]. 2008, no. 5, pp. 49-52.
14. Popkov K. A. Preprinty IPM im. M. V. Keldysha [Preprints of Keldysh Institute of Applied Mathematics]. 2015, no. 74, 20 p.
15. Borodina Yu. V. Vestnik Moskovskogo universiteta. Ser. 15. Vychislitel'naya matematika i kibernetika [Bulletin of Moscow University. Series 15. Calculus mathematics and cybernetics]. 2008, no. 1, pp. 40-44.
16. Borodina Yu. V., Borodin P. A. Diskretnaya matematika [Discrete mathematics]. 2010, vol. 22, iss. 3, pp. 127-133.
17. Ugol'nikov A. B. Klassy Posta: ucheb. posobie [Post's classes: tutorial]. Moscow: Izd-vo TsPI pri mekhaniko-matematicheskom fakul'tete MGU, 2008.
Попков Кирилл Андреевич
младший научный сотрудник, сектор теоретической кибернетики отдела № 4, Федеральный исследовательский центр, Институт прикладной математики имени М. В. Келдыша Российской академии наук (Россия, г. Москва, Миусская площадь, 4)
E-mail: kirill-formulist@mail.ru
УДК 519.718.7 Попков, К. А.
О единичных диагностических тестах для схем из функциональных элементов в базисе Жегалкина / К. А. Попков // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2016. -№ 3 (39). - С. 3-18. БОТ 10.21685/2072-3040-2016-3-1
Popkov Kirill Andreevich Junior researcher, sector of theoretical cybernetics, department No. 4, Keldysh Institute of Applied Mathematics of the Russian Academy of Sciences (4 Miusskaya square, Moscow, Russia)