Научная статья на тему 'Единичные проверяющие тесты для схем из функциональных элементов в базисе «Конъюнкция-отрицание»'

Единичные проверяющие тесты для схем из функциональных элементов в базисе «Конъюнкция-отрицание» Текст научной статьи по специальности «Математика»

CC BY
333
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СХЕМА ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ / КОНСТАНТНАЯ НЕИСПРАВНОСТЬ / ЕДИНИЧНЫЙ ПРОВЕРЯЮЩИЙ ТЕСТ / LOGIC NETWORK / STUCK-AT FAULT / SINGLE FAULT DETECTION TEST

Аннотация научной статьи по математике, автор научной работы — Попков Кирилл Андреевич

Рассматривается задача синтеза неизбыточных схем из функциональных элементов, реализующих булевы функции от n переменных и допускающих короткие единичные проверяющие тесты относительно однотипных константных неисправностей на выходах элементов, в базисе {&, -} и схожих базисах. Для каждой булевой функции, допускающей реализацию неизбыточной схемой, найдено минимально возможное значение длины такого теста. В частности, доказано, что оно не превосходит трёх.

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

Single fault detection tests for logic networks of AND, NOT gates

Let Di(/) (Do(/)) be the least length of a fault detection test for irredundant logic networks consisting of logic gates in the basis {&, -}, implementing a given Boolean function /(x1,...,xn), and having at most one stuck-at-1 (stuck-at-0 respectively) fault on outputs of the logic gates. Let /1 = xp, /2 = 0, Xi, or ж//&xi2... ; /3 = = Xi1 &Xi2&xig&... &xik or (... ((x/1 &xi2)/2&xig)/3&... &xik)/k; /4 = x/1 &... Ax//; k-i /5 = (... ((x/i1 &x/2 )^1 &x/3 )^2 &... &x/k )^k-1, where 2 @ k @ n for /2, /3, and /5; k-i 1 @ k @ n for /4; ai,...,ak,5i,...,5k-i G {0,1}; i,ii,...,ik G {1,...,n}; indices i]_,...,ik are pairwise different; for /3, at least one of numbers a2,...,ak equals 0 and if k = 2, then assume xi3&... &xik = 1; for /5, at least one of numbers 6i,..., 5k-i equals 0. It is proved that, for each Boolean function f {x\,...,xn) ф 1, 0, iff the function f is representable in the form of f1, Di(/) = 1, iff the function f is representable in the form of /2, 2, iff the function f is representable in the form of f3, 3 otherwise. If f ф 1 then the value D1(f) is undefined. Also, it is proved that, for each Boolean function f (x1,..., xn) which is different from constants, 0, iff the function f is representable in the form of f1, Do(f) = 1, iff the function f is representable in the form of f4 but not of f1, 2, iff the function f is representable in the form of f5, 3 otherwise. If f ф 1 or f ф 0 then the value D0(f) is undefined.

Текст научной работы на тему «Единичные проверяющие тесты для схем из функциональных элементов в базисе «Конъюнкция-отрицание»»

2017 Математические основы надёжности вычислительных и управляющих систем №38

МАТЕМАТИЧЕСКИЕ ОСНОВЫ НАДЁЖНОСТИ ВЫЧИСЛИТЕЛЬНЫХ И УПРАВЛЯЮЩИХ СИСТЕМ

УДК 519.718.7

ЕДИНИЧНЫЕ ПРОВЕРЯЮЩИЕ ТЕСТЫ ДЛЯ СХЕМ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ В БАЗИСЕ «КОНЪЮНКЦИЯ-ОТРИЦАНИЕ»1

К. А. Попков

Институт прикладной математики им. М. В. Келдыша РАН, г. Москва, Россия

Рассматривается задача синтеза неизбыточных схем из функциональных элементов, реализующих булевы функции от n переменных и допускающих короткие единичные проверяющие тесты относительно однотипных константных неисправностей на выходах элементов, в базисе {&, —} и схожих базисах. Для каждой булевой функции, допускающей реализацию неизбыточной схемой, найдено минимально возможное значение длины такого теста. В частности, доказано, что оно не превосходит трёх.

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

DOI 10.17223/20710410/38/5

SINGLE FAULT DETECTION TESTS FOR LOGIC NETWORKS

OF AND, NOT GATES

K. A. Popkov

Keldysh Institute of Applied Mathematics, Moscow, Russia E-mail: [email protected]

Let Di(/) (D0(/)) be the least length of a fault detection test for irredundant logic networks consisting of logic gates in the basis {&, -}, implementing a given Boolean function /(x1,...,xn), and having at most one stuck-at-1 (stuck-at-0 respectively) fault on outputs of the logic gates. Let /1 = xf, /2 = 0, xl, or x^1 &xi2 ... &xik; /3 = = xl1 &xl2&xi3& ... &xik or (... ((x£&xi2)a2&xi3)CT3& ... &xik)ak; /4 = x^1 & ... &x^fck;

k-1

/5 = (... ((x£ &x^2 )Й1 &x^3 )Й2 & ... &x^k )5k-1, where 2 < k < n for /2, /3, and /5; k-1

1 ^ k ^ n for /4; a1,..., ak, ¿1,..., 5k-1 £ {0,1}; i, i1,..., ik £ {1,..., n}; indices i1,...,ik are pairwise different; for /3, at least one of numbers a2,...,ak equals 0 and if k = 2, then assume xi3& ... &xik = 1; for /5, at least one of numbers ¿1,..., 5k-1

1 Работа выполнена при поддержке гранта РНФ, проект № 14-21-00025 П.

equals 0. It is proved that, for each Boolean function f (x\,... , xn) ф 1,

iff the function f is representable in the form of fi, iff the function f is representable in the form of f2, iff the function f is representable in the form of f3, otherwise.

If f ф 1 then the value Di(f) is undefined. Also, it is proved that, for each Boolean function f (xi,..., xn) which is different from constants,

iff the function f is representable in the form of fi, iff the function f is representable in the form of f4 but not of fi, iff the function f is representable in the form of f5, otherwise.

If f ф 1 or f ф 0 then the value Do(f) is undefined.

Keywords: logic network, stuck-at fault, single fault detection test.

Введение

В работе рассматривается задача синтеза легкотестируемых схем, реализующих заданные булевы функции. Логический подход к тестированию электрических схем предложен С. В. Яблонским и И. А. Чегис в [1]; этот подход также применим к тестированию схем из функциональных элементов [2-4]. Пусть имеется схема из функциональных элементов S с одним выходом (без обратных связей), реализующая булеву функцию f (Xn), где Xn = (xi,... , xn). Под воздействием некоторого источника неисправностей один или несколько элементов схемы S могут перейти в неисправное состояние. В результате схема S вместо исходной функции f (xn) будет реализовывать некоторую булеву функцию g(xn), вообще говоря, отличную от f. Все такие функции g(xn), получающиеся при всевозможных допустимых для рассматриваемой задачи неисправностях элементов схемы S, называются функциями неисправности данной схемы.

Введём следующие определения [2-4]. Проверяющим тестом для схемы S называется такое множество T наборов значений переменных xi,...,xn, что для любой отличной от f (xn) функции неисправности схемы S в T найдётся набор а, на котором f (а) = д(а). Диагностическим тестом для схемы S называется такое множество T наборов значений переменных xi,... , xn, что T является проверяющим тестом и, кроме того, для любых двух различных функций неисправности gi(xn) и g2(xn) схемы S в T найдётся набор а, на котором gi(a) = g2(a). Число наборов в T называется длиной теста. В качестве тривиального диагностического (и проверяющего) теста длины 2n для схемы S всегда можно взять множество, состоящее из всех двоичных наборов длины n. Тест называется полным, если в схеме могут быть неисправны сколько угодно элементов, и единичным, если в схеме может быть неисправен только один элемент. Единичные тесты обычно рассматривают для неизбыточных схем [4], т. е. для таких схем, в которых любая допустимая неисправность любого одного элемента приводит к функции неисправности, отличной от исходной функции, реализуемой схемой.

Любое множество булевых функций будем называть базисом.

Пусть зафиксирован вид неисправностей элементов, B — произвольный функционально полный базис и T — единичный проверяющий тест (ЕПТ) для некоторой

Di(f) =

Do(f) =

0,

1, 2, 3

схемы S в базисе B. Введём следующие обозначения: DBdetect(T) —длина теста T; DBdetect(S) = min DBdetect(T), где минимум берётся по всем ЕПТ T для схемы S; DBdetect(/) = min DBdetect(s), где минимум берётся по всем неизбыточным схемам S в базисе B, реализующим функцию /; DBdetect(n) = max DBdetect(/), где максимум берётся по всем булевым функциям / от n переменных, для которых определено значение DBdetect(/). Функция DBdetect(n) называется функцией Шеннона длины ЕПТ.

По аналогии с функЦиями DsBdetect можно ввести функЦии ^diag^ ^detect и ^diagn для соответственно единичного диагностического теста, полного проверяющего и полного

диагностического тестов, зависящие от T, от S, от / и от n (в определениях функций D<fdetect(/) и DBdiagn(/) не требуется предполагать неизбыточность схем). Так, например, DBdiagn(n) —функция Шеннона длины полного диагностического теста.

Перечислим основные результаты, касающиеся тестирования схем из функциональных элементов. Класс допустимых неисправностей функциональных элементов ограничим константными неисправностями на выходах элементов, при которых значение на выходе любого неисправного элемента становится равно некоторой булевой константе. Неисправности на выходах элементов называются однотипными константными типа p, если эта константа одна и та же для каждого неисправного элемента и равна p, и произвольными константными, если эта константа может быть равна как 0, так и 1 для каждого неисправного элемента независимо от неисправностей других элементов. Для удобства над буквой D после символов, обозначающих базис, через точку с запятой будем ставить символы «0,1», «0» или «1» в случаях, когда в схемах допускаются соответственно произвольные константные неисправности, однотипные константные неисправности типа 0 или типа 1 на выходах элементов. Вполне разумно предполагать, что если в базисе содержится булева константа а, то у элемента, её реализующего, не может быть неисправности типа а.

В работе С. М. Редди [5] для базиса Жегалкина Bc = {&, ф, 1, 0} получена оценка Dfde^n) ^ n + 3. В дальнейшем этот результат был обобщён С. С. Колядой в [6] на случай произвольного функционально полного конечного базиса. Последний результат, в свою очередь, был усилен Д. С. Романовым, который в [7] для любого функционально полного базиса B получил оценку D^^e^n) ^ 4 (правда, в [7] используется несколько другое определение неизбыточных схем). Для полных проверяющих тестов Н. П. Редькин в [8, 9] для любого полного конечного базиса B2 получил оценку DcBdet0ec\(n) ^ 2(2Ln/2J + 2^1 + n). Д. С. Романов в [10] доказал, что существует базис B3, содержащий функциональные элементы с числом входов от одного до семи, в котором 2 ^ D^de^t^n) ^ 4. В [4, с. 113, теорема9] с использованием идей С. В. Яблонского установлено, что для любого полного базиса B функция DBdiagn(n) асимптотически не превосходит 2n+c/n; аналогично можно показать, что DsBdfagn(n) < 2n/n, p = 0,1. Для базиса B4 = {&, V,-} Н. П. Редькин в [11, 12] получил оценки D^Pct^n) ^ n и D^ig^n) ^ 2n +1 для p = 0,1. Первая из этих оценок впоследствии была улучшена Ю. В. Бородиной, которая в [13] установила, что D(Bd^Pect(n) = 2; вторая оценка улучшена в [14], где, в частности, доказано, что D^yn) = 2. Ю. В. Бородина в базисе B5 = {|} (штрих Шеффера) получила оценку DcsdetCect(n) ^ n +1 [15]. Ей же в базисе Жегалкина Bc удалось найти точное значение функций Шеннона DSSc1etCect (n) = 1 [16] и D^delLt (n) = 1 [17] (совместно с П. А. Бородиным). В работе [18], в частности, установлено равенство D^ag^n) = 2.

Определим множество булевых функций B0 = {XC, xc& ... : m ^ 2}. В данной работе рассматриваются только единичные проверяющие тесты, в качестве неисправ-

ностей функциональных элементов — однотипные константные неисправности типа р (р € {0,1}) на выходах элементов, а в качестве базиса — произвольное функционально полное подмножество В0 множества В0, например множество {х1, х^х2}. Для краткости вместо DB°l,Jpect(f) и ^^еГес^п) будем писать соответственно Др(/) и Др(п).

Любой элемент, реализующий функцию вида х1&... &хт, где т ^ 2 (функцию хТ), будем называть конъюнктором (соответственно инвертором). Введём обозначения 0Г = 0,..., 0, 1г = 1,..., 1, где г € Будем говорить, что функциональный

г г

элемент Е' расположен в схеме Б выше (ниже) функционального элемента Е, если в ней существует ориентированный путь от Е' к Е (соответственно от Е к Е').

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

1. Вспомогательные утверждения

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

Лемма 1. Пусть Б — произвольная схема из функциональных элементов, неизбыточная относительно однотипных константных неисправностей типа 0 или 1 на выходах элементов; Т — произвольный ЕПТ для этой схемы; Е — произвольный разделяющий элемент схемы Б; Б' — подсхема схемы Б, получающаяся из неё удалением всех элементов, расположенных в схеме Б не выше элемента Е, кроме него самого, и переносом выхода схемы на выход элемента Е. Тогда схема Б' неизбыточна относительно неисправностей такого же типа и множество Т является для неё ЕПТ.

Доказательство. Пусть Е' — произвольный элемент, содержащийся в схеме Б', тогда он содержится и в схеме Б. Так как Т — ЕПТ для неизбыточной схемы Б, то в Т найдётся набор (0, на котором значение на выходе схемы Б при неисправности элемента Е' изменится. Тогда на этом наборе при указанной неисправности изменится и значение на выходе элемента Е. Действительно, в противном случае переход элемента Е' в неисправное состояние никак не отразился бы на значении, выдаваемом схемой Б на наборе 0, что невозможно. Таким образом, при указанной неисправности изменится значение на выходе схемы Б', откуда следует, что эта схема неизбыточна и множество Т является для неё ЕПТ. ■

Лемма 2. Пусть Б — произвольная схема из функциональных элементов в базисе Во, неизбыточная относительно однотипных константных неисправностей типа 1 на выходах элементов; в Б содержится хотя бы один элемент и вход любого инвертора соединён с одним из входов схемы; Т — произвольный ЕПТ для схемы Б; х^,... ,Xid —все попарно различные переменные, подаваемые в Б на входы инверторов (если таких переменных нет, полагаем й = 0); х^ ,... , х^ —все попарно различ-

ные переменные, каждая из которых подаётся на вход хотя бы одного конъюнкто-ра (если таких переменных нет, полагаем к = й; множества индексов {¿1,...,г^} и {¿а+1,... , ¿к} могут пересекаться). Тогда к ^ 1, на выходе схемы Б реализуется функция Х1& ... &ж^&ж^+1 & ... &ж^ (в случае й = 0 полагаем ... &ж^ = 1; в случае к = й полагаем ж^+1 & ... &ж^ = 1) и |Т| ^ й.

Доказательство. Неравенство к ^ 1 очевидно, так как хотя бы одна переменная обязана подаваться на входы произвольного «верхнего» элемента схемы Б. Все инверторы схемы Б и все её входы, отвечающие переменным ж^+1,... , ж^, соединяются со входами некоторой подсхемы, состоящей из одних конъюнкторов (эта подсхема содержит все конъюнкторы схемы Б). Поэтому на выходе схемы Б реализуется функция / = Х1& . . . & . . . &Жгк .

Докажем неравенство |Т| ^ й. При й = 0 оно очевидно. Пусть й ^ 1. Если какая-то из переменных ж^,... , ж^ подаётся в схеме Б на входы хотя бы двух инверторов, то при неисправности любого из них функция неисправности этой схемы равна 1&ж~& ... & ... &ж^ = /, т. е. схема Б избыточна, что невозможно. Поэтому

каждая из переменных ж^,... , ж^ подаётся в схеме Б на вход только одного инвертора (и других инверторов в этой схеме нет). Тогда при неисправности инвертора, на вход которого подаётся переменная ж^., ] Е {1,...,й}, функция неисправности схемы Б равна д^ = ... &ж^._1 &ж^.+1 & ... &Ж^&ж^+1 & ... &ж^. Заметим, что д^ = /, так как схема Б неизбыточна, и функцию д^- можно отличить от функции / только на тех наборах, у которых компоненты с номерами ¿1,... , ... , ¿а равны нулю,

а с номерами ij, ¿а+1, ¿а+2,... , ¿к — единице. Очевидно, что при ] = 1,... , й множества этих наборов попарно не пересекаются. В тест Т должно входить хотя бы по одному набору из каждого из этих й множеств, т.е. хотя бы й наборов, откуда |Т| ^ й. ■

2. Единичные проверяющие тесты при однотипных константных неисправностях типа 1 на выходах элементов

Выделим три возможных представления функции /(жп):

/ (жп) = ж; (1)

/(жп) = 0, ж или ж^1 &xi2& ... &xik; (2)

/(жп) = ж^&ж^&ж^& ... &ж^ или (... ((ж^1 &xi2)СТ2&xiз)СТ3& ... &ж^)СТк, (3)

к-1

где 2 ^ к ^ п; ¿, ¿1,... , ¿к € {1,... , п}, индексы ¿1,..., ¿к попарно различны и а1,... , Ок Е {0,1}, причём в представлении (3) хотя бы одно из чисел о2,... , Ок равно 0 и если к = 2, то полагаем ж^& ... &ж^ = 1.

Теорема 1. Для любой булевой функции /(жп), отличной от тождественной единицы, справедливо равенство

ад)

0, если функция / представима в виде (1),

1, если функция / представима в виде (2),

2, если функция / представима в виде (3),

3, если функция / непредставима в видах (1)-(3).

Если / = 1, то значение Д1(/) не определено.

Следствие 1. Для любого п ^ 2 справедливо равенство (п) = 3.

Для доказательства следствия 1 достаточно заметить, что функция ж ф ... ф при п ^ 2 непредставима в видах (1)-(3).

Доказательство теоремы 1. Вместо ^(/) для краткости будем писать Д(/). Будем считать, что в базисе В0 содержится функция в противном случае можно

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

1. Функция / представима в виде (1). Тогда её можно реализовать схемой, не содержащей функциональных элементов. У такой схемы нет ни одной функции неисправности, поэтому пустое множество является для неё ЕПТ, откуда следует равенство

Я(/) = 0.

2. Функция / представима в виде (2). Поскольку она непредставима в виде (1), выход любой схемы, реализующей функцию /, не может совпадать ни с одним из её входов, поэтому он является выходом некоторого функционального элемента. Тогда при неисправности этого элемента схема реализует тождественную единицу, которую надо отличить от функции / хотя бы на одном наборе, откуда следует, что Д(/) ^ 1. Докажем неравенство Д(/) ^ 1. Рассмотрим три подслучая:

2.1. Пусть / ф 0. Реализуем функцию / схемой Б в базисе В0, содержащей один инвертор и один двухвходовой конъюнктор. На вход инвертора подадим переменную х1, его выход соединим с левым входом конъюнктора, а на правый вход подадим переменную х1. Очевидно, что схема Б реализует тождественный нуль и имеет две функции неисправности — тождественную единицу и х1. Каждую из них можно отличить от функции / на наборе (1га), поэтому схема Б неизбыточна и множество |(1га)} является для неё ЕПТ длины 1, откуда Д(/) ^ 1.

2.2. Пусть / = х", где I € {1,... , п}. Реализуем функцию / схемой в базисе В0, содержащей один инвертор. Эта схема имеет только одну функцию неисправности — тождественную единицу, которую можно отличить от функции / на наборе (1п). Поэтому схема неизбыточна и Д(/) ^ 1.

2.3. Пусть / = ж?1 & ... , где 2 ^ к ^ п; г1,... , 4 — попарно различные индексы из множества {1,... , п} и а1 € {0,1}. Без ограничения общности можно считать, что г1 = 1, ... , = к, т. е. /(жп) = ж^1 &ж2& ... . Реализуем функцию / схемой Б в базисе В0, представляющей собой цепочку из одного инвертора (в случае а1 = 0) и к — 1 двухвходовых конъюнкторов, на правые входы которых подаются переменные ж2,... , . Если а1 = 0, то верхний элемент этой цепочки — инвертор, на вход которого подаётся переменная ж1, а его выход соединяется с левым входом верхнего конъюнктора; если а1 = 1, то верхний элемент этой цепочки — конъюнктор, на левый вход которого подаётся переменная ж1.

Очевидно, что схема Б реализует функцию /. Докажем, что она неизбыточна и множество {П} является для неё ЕПТ, где П = (оТ, 1п-1). Заметим, что /(П) = 0, причём на правые входы всех конъюнкторов в схеме Б на наборе П подаются единицы.

Если неисправен некоторый элемент в схеме, то на указанном наборе на выходе этого и всех следующих за ним элементов в схеме Б, а значит, и на выходе схемы появятся единицы и неисправность будет обнаружена. Поэтому схема Б неизбыточна и Д(/) ^ 1.

В итоге для любой функции / вида (2) получаем равенство Д(/) = 1.

3. Функция / представима в виде (3). Докажем сначала неравенство Д(/) ^ 2. Рассмотрим два подслучая:

3.1. Пусть / = & ... &х^к, где 2 ^ к ^ п и ¿1,... , гк — попарно различные индексы из множества {1,... , п}. Без ограничения общности можно считать, что ¿1 = 1, ..., гк = к, т. е. /(х") = Х1&Х2&Ж3& ... &хк. Реализуем функцию / схемой Б в базисе В0, содержащей два инвертора и к — 1 двухвходовых конъюнкторов. На входы инверторов подадим переменные х1 и х2; затем выходы этих инверторов и входы схемы, отвечающие переменным х3,..., Хк, последовательно соединим со входами цепочки из к — 1 конъюнкторов: входы верхнего конъюнктора из цепочки соединим с выходами инверторов; на правые входы остальных к — 2 конъюнкторов подадим переменные хз,... ,Хк.

Очевидно, что схема Б реализует функцию /. Докажем, что она неизбыточна и множество {7т1,7Г2} является для неё ЕПТ, где П1 = (0,1"-1), П2 = (1,0,1"-2). Заметим, что /(П1) = / (П2) = 0, причём на один из входов верхнего конъюнктора и на правые входы всех остальных конъюнкторов в схеме Б на каждом из наборов П1, П2 подаются единицы. Если неисправен некоторый элемент, то по крайней мере на одном из указанных наборов на выходе этого и всех следующих за ним элементов, а значит, и на выходе схемы появятся единицы и неисправность будет обнаружена. Поэтому схема Б неизбыточна и Д(/) ^ 2.

3.2. Пусть / = (... ((х?1&х,2)?2&х,3)?3 & ... &х,к) ?к, где 2 ^ к ^ п; ¿1,..., ¿к — по-

к-1

парно различные индексы из множества {1,... , п} и а1,... , ак Е {0,1}, причём хотя бы одно из чисел а2,... , ак равно 0. Без ограничения общности можно считать, что ¿1 = 1, ..., ¿к = к, т.е. / (х") = (... ((х?1 &х2)?2&х3)?3 & ... &хк)?к. Реализуем функ-

к-1

цию / схемой Б в базисе В0, представляющей собой цепочку из инверторов и конъ-юнкторов, в соответствии с последним равенством. В этой схеме содержатся к — 1 двухвходовых конъюнкторов и столько инверторов, сколько чисел из а1,... , ак равны 0. Если а1 = 1, то верхний элемент схемы Б — двухвходовой конъюнктор, на входы которого подаются переменные х1 и х2. Если а1 = 0, то верхний элемент схемы Б — инвертор, на вход которого подаётся переменная х1 ; выход инвертора соединяется с левым входом конъюнктора, на правый вход которого подаётся переменная х2. Если а2 = 0, то выход указанного конъюнктора соединяется со входом инвертора. Далее, если к ^ 3, то выход последнего построенного элемента соединяется с левым входом конъюнктора, на правый вход которого подаётся переменная х3, и т. д.

Очевидно, что схема Б реализует функцию /. Докажем, что она неизбыточна и множество Т = {П1,712} является для неё ЕПТ, где П1 = (0,1"-1), П2 = (Г"). Заметим, что /(х1,1"-1) = (... ((х?1)?2)?3 ...)?к, поэтому к-1

/ (11) = / (П2). (4)

Единственная цепь, связывающая вход х1 схемы Б с её выходом, проходит через каждый элемент. Поэтому если в схеме какой-то элемент неисправен, то при подаче на её

входы вместо переменных ж2,... , константы 1 изменение значения переменной ж1 с 0 на 1, т. е. переход от входного набора П1 к набору П2, никак не отразится на значении, выдаваемом схемой Б. Следовательно, функция неисправности д схемы Б удовлетворяет условию д(П1) = д(П2). Отсюда и из (4) вытекает, что д ф /, т.е. схема Б неизбыточна и множество Т является для неё ЕПТ, поэтому Д(/) ^ 2.

Докажем теперь, что Д(/) ^ 2. Пусть Б — произвольная неизбыточная схема, реализующая функцию / вида (3); Т — произвольный ЕПТ для этой схемы. Надо доказать, что |Т | ^ 2. Рассмотрим два подслучая:

3.1'. В схеме Б найдётся хотя бы один инвертор I, вход которого соединён с выходом некоторого функционального элемента Е. Пусть на выходе элемента Е в схеме Б реализуется булева функция тогда на выходе элемента I реализуется функция Чтобы обнаружить неисправность элемента Е (I), в тесте Т должен содержаться набор о1 (о2), для которого ^(01) = 0 (соответственно ^(02) = 0). Из двух последних равенств следует, что 01 = о2, поэтому |Т| ^ 2, что и требовалось доказать.

3.2'. Вход любого инвертора схемы Б соединён с одним из входов схемы. Пусть Хг1 , ...,ж^ —все попарно различные переменные, подаваемые на входы инверторов (если таких переменных нет, полагаем d = 0), а ,..., — все попарно различные переменные, каждая из которых подаётся на вход хотя бы одного конъюнктора (если таких переменных нет, полагаем к = d). Тогда в силу леммы 2 имеем к ^ 1, / = ... & ... (в случае d = 0 полагаем & ... ф 1; в случае

к = d полагаем &... ф 1) и |Т | ^ d. Так как функция / непредставима в видах (1), (2), то d ^ 2, следовательно, |Т| ^ 2, что и требовалось доказать.

В итоге для любой функции / вида (3) получаем равенство Д(/) = 2.

4. Функция / отлична от тождественной единицы и непредставима в видах (1)-(3). Докажем сначала неравенство Д(/) ^ 3. Идеи доказательства сходны с идеями, использованными в [6, 7] при получении верхних оценок длин ЕПТ в базисе {&, —}. Представим функцию / полиномом Жегалкина

/ (жп) = К ф ... ф Кт ф С, (5)

где с € {0,1} и К1 — самая короткая конъюнкция в полиноме. Без ограничения общности К1 = ж1&... . Отметим, что к < п, так как в противном случае функция / была бы равна ж1& ... &жп ф с = (ж1& ... &жп)с, т. е. имела бы вид (2) или (3). По аналогичной причине т ^ 2. Если в полиноме Жегалкина для функции / присутствует слагаемое ж1&... , то будем без ограничения общности считать, что это слагаемое Кт. Представим К1 в виде К1 ф Кт+1, где К1 = ж1&... &ж&+1, Кт+1 = ж1& ... &Ж;&жл+1. Тогда

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

/ = К1 ф К ф ... ф Кт ф Кт+1 ф С = К1 ф К ф ... ф Кц ф С, (6)

где q = т — 1 при Кт = Кт+1 и q = т +1 при Кт = Кт+1. Отметим, что случай т =2, Кт = Кт+1 невозможен, так как тогда функция / была бы равна К1 ф с = = (ж^+1&ж1... )с, т. е. была бы представима в виде (2) или (3). Поэтому q ^ 2.

Так как К1 — самая короткая конъюнкция в полиноме Жегалкина для функции /, в каждую конъюнкцию К = ж,1(г)& ... (¿), где г = 2,..., q, входит хотя бы одна переменная, отличная от переменных ж1,...,ж&. Без ограничения общности это переменная ж,^). В случае ^ ^ 3 представим конъюнкцию К^, г = 2,...^, в виде (К^2)ф.. .фК^-1)фК^)ф(К(2)ф.. .фК^-1)), где К^ = жлМ& ... &ЗД, в = 2,...

(конъюнкция первых в переменных из К^. Тогда представление (6) примет вид

ч/Ч \

/ = к © 0 е К^ © е к^ч © с (7)

¿=2 \ «=2 «=2 /

(в случае и е {1, 2} полагаем 0 К^ © 0 К^ = К^.

«=2 «=2

Наконец, заменим в представлении (7) все операции © на ©', где по определению полагаем х ©' у = х © у © 1. Эта замена приведёт к прибавлению к правой части представления (7) некоторого числа единиц (по одному на каждую операцию ©). Сложив все эти единицы, а также константу с по модулю 2, получим некоторую булеву константу с', такую, что

ч / и \

/ = К1 ©'0' 0'К<в) ©' 0 'К(Я © с'. (8)

¿=2 \«=2 «=2 /

Пусть Бф' —схема в базисе В0 с двумя входами и одним выходом, изображённая на рис. 1 (все конъюнкторы двухвходовые). Нетрудно проверить, что на выходе этой схемы реализуется функция х©'у, её всевозможными функциями неисправности являются функции 1, 0,х Vу,Х Vу, Х,у,ху (и, следовательно, схема Бф' неизбыточна), а в качестве ЕПТ для неё можно взять множество Тф' = {(0,0), (0,1), (1, 0)} (действительно, единственной булевой функцией от двух переменных, которую нельзя отличить от функции х ©' у на наборах из множества Тф', кроме неё самой, является функция ху, но она не входит в число функций неисправности схемы Бф').

х У

Реализуем функцию /(хп) схемой Б в базисе В0 в соответствии с представлением (8) (рис. 2). Конъюнкцию К1 реализуем цепочкой из одного инвертора и к двухвходо-вых конъюнкторов, верхним элементом в которой является инвертор; на вход инвертора подадим переменную хк+1, а на правые входы конъюнкторов — последовательно переменные х1,... , хк. Каждую конъюнкцию К, г = 2,... , д, реализуем цепочкой Zi из 1г — 1 двухвходовых конъюнкторов, на входы которой последовательно подадим переменные х^), х^)..., х^.(¿) (в случае и = 1 в этой цепочке не содержится элементов, а

её выход совпадает с входом ж,^) схемы Б). Далее, для каждого г € {2,...^}, такого, что ¿г ^ 3, реализуем конъюнкцию Кг(*г 1) цепочкой из — 2 двухвходовых конъюнк-торов, на входы которой последовательно подадим переменные ж^^ж,(г) ... , ж,,_1(г). Затем выход цепочки выходы всех цепочек в которых не содержится элементов, и выходы всех конъюнкторов, содержащихся в цепочках Д2,... , Д, Д2,... , Д (точнее, в тех из них, которые были определены), соединим со входами цепочки Д®/, состоящей из блоков Б®/ и (в случае с' =1) инвертора, вход которого соединён с выходом нижнего из этих блоков, причём левый верхний вход этой цепочки соединим с выходом цепочки Д1. Выход нижнего элемента цепочки Д®/ объявим выходом схемы Б.

Х/1(2) ед

ХУ1(2) /(2)

Х/1(^) Х/2(^) V/

Рис. 2. Схема 5

Нетрудно убедиться, что построенная схема Б реализует функцию /(жп). Для этого достаточно заметить, что на выходах конъюнкторов, содержащихся в цепочке Дг, г = 2,... , q, при движении по этой цепочке «сверху вниз» реализуются функции

К(2),... , К^ (при ^ ^ 2), а на выходах конъюнкторов, содержащихся в цепочке г = 2,... , д, — функции К(2),... , К^-1) (при ^ ^ 3).

Докажем, что схема Б неизбыточна и множество Т = {а1, 52, 5"3} является для неё ЕПТ, где 11 = (0П), 52 = (Р, 0п-к), 53 = (1п). В случае исправности всех элементов схемы Б на наборе а1 на выходах всех конъюнкторов, содержащихся в цепочках Z¿, Z¿, где г = 2,... , д, появятся нули. Если неисправен некоторый конъюнктор в одной из цепочек, то на наборе а1 на выходе этого конъюнктора будет единица, а на выходах всех остальных конъюнкторов — по-прежнему нули. Учитывая, что выход неисправного конъюнктора соединяется ровно с одним входом цепочки Zф', реализующей линейную функцию от своих входов, значение на выходе данной цепочки, т. е. на выходе всей схемы Б, изменится, поэтому рассматриваемая неисправность будет обнаружена на наборе а1.

Далее, в случае исправности всех элементов схемы Б на наборе 53 на выходах всех элементов, содержащихся в цепочке Z1, будут нули, причём на правые входы всех конъюнкторов в цепочке подаются единицы. Если неисправен некоторый элемент в цепочке, то на наборе 53 на выходе этого и всех следующих за ним элементов в цепочке Z1, т.е. на выходе этой цепочки, очевидно, возникнут единицы. Учитывая, что выход цепочки Z1 соединяется ровно с одним входом цепочки Zф', реализующей линейную функцию от своих входов, значение на выходе данной цепочки, т. е. на выходе всей схемы Б, изменится, поэтому рассматриваемая неисправность будет обнаружена на наборе 53.

Осталось рассмотреть неисправность некоторого элемента в цепочке Zф'. В случае исправности всех элементов схемы Б на наборах а1,а2,а3 на выходе цепочки Z1 возникают значения соответственно 0,1, 0, а на выходах всех цепочек Z¿, в которых не содержится элементов, и выходах всех конъюнкторов, содержащихся в цепочках Z¿, Z¿, где г = 2, ... , д, — соответственно 0, 0,1 (здесь используется то свойство, что каждая переменная х,^) отлична от переменных х1,..., ). В таком случае на входы верхнего блока Бф' цепочки Zф' подаются наборы (0, 0), (1, 0), (0,1), а на его выходе реализуются значения 0 ©' 0,1 ©' 0, 0 ©' 1, т. е. 1,0, 0. Тогда на входы второго сверху блока Бф' цепочки Zф' (если он существует) подаются наборы (1, 0), (0, 0), (0,1), а на его выходе реализуются значения 1 ©' 0, 0 ©' 0,0 ©' 1, т. е. 0,1, 0. Далее, на входы третьего сверху блока Бф' цепочки Zф' (если он существует) подаются наборы (0, 0), (1, 0), (0,1), а на его выходе реализуются значения 0 ©' 0,1 ©' 0, 0 ©' 1, т.е. 1, 0, 0, и т.д. Таким образом, на входах каждого блока Бф' цепочки Zф' при подаче на входы схемы Б наборов а1,а2,а3 возникают все наборы из множества Тф'. Так как это множество является ЕПТ для неизбыточной схемы Бф', то при неисправности любого элемента в любом блоке Бф' цепочки Zф' хотя бы на одном из наборов а1, а2, 53 значение на выходе этого блока изменится. Учитывая, что выход указанного блока либо совпадает с выходом схемы Б, либо соединяется ровно с одним входом некоторой нижней части цепочки Zф', реализующей линейную функцию от своих входов, значение на выходе схемы Б изменится, поэтому рассматриваемая неисправность будет обнаружена на одном из наборов 51, 52, 5-3.

Наконец, если неисправен выходной инвертор цепочки Zф' (в случае с' = 1), то функция неисправности схемы Б равна тождественной единице, которую можно отличить от функции / на одном из наборов 51,52 (поскольку /(51) = с, /(52) = с — это следует из представления (5)).

В итоге получаем, что любую функцию неисправности схемы Б можно отличить от функции /(хп) хотя бы на одном наборе из множества Т. Это означает, что схема Б

неизбыточна и множество Т является для неё ЕПТ. Его длина равна 3, откуда следует неравенство Д(/) ^ 3.

Докажем теперь, что Д(/) ^ 3. Пусть Б — произвольная неизбыточная схема, реализующая функцию /, отличную от тождественной единицы и непредставимую в видах (1)-(3); Т — произвольный ЕПТ для этой схемы. Надо доказать, что |Т| ^ 3. Рассмотрим два подслучая:

4.1. В схеме Б найдётся элемент, входы которого соединены с выходами по крайней мере двух различных функциональных элементов. Среди всех элементов с таким свойством выберем произвольный «нижний» элемент Е, ниже которого в схеме Б не существует элемента с указанным свойством (это можно сделать, так как схема конечна и не содержит ориентированных циклов). Очевидно, что элемент Е — конъюнктор, а входы каждого элемента, расположенного в схеме Б ниже элемента Е, соединены с выходом ровно одного функционального элемента (напомним, что мы рассматриваем только схемы без «висячих» элементов) и, как следствие, Е — разделяющий элемент.

Среди всех элементов, выходы которых соединены в схеме Б непосредственно со входами элемента Е (а таких элементов не меньше двух), выберем произвольный «нижний» элемент Е1 , ниже которого в схеме Б не существует элемента с указанным свойством, и любой другой элемент Е2. Пусть в случае исправности всех элементов схемы Б на выходе элемента Е1 (Е2) этой схемы реализуется булева функция (соответственно ^2). Тогда на выходе элемента Е реализуется булева функция где — конъюнкция функций, подаваемых на все те входы элемента Е, которые не соединены с выходом ни одного из элементов Е1, Е2, либо тождественная единица, если таких входов не существует. Рассмотрим три подслучая:

4.1.1. В схеме Б найдётся хотя бы один инвертор, расположенный ниже элемента Е. Пусть I — «верхний» из этих инверторов. Очевидно, что I — разделяющий элемент. По лемме 1 схема Б', получающаяся из схемы Б удалением всех элементов, расположенных в ней не выше элемента I, кроме него самого, и переносом выхода схемы на выход элемента I, неизбыточна и Т — ЕПТ для схемы Б'. Все элементы, расположенные в схеме Б ниже элемента Е, но выше элемента I (если такие есть) — конъюнкто-ры. Поэтому на вход элемента I подаётся функция где —некоторая

булева функция. Тогда на выходе элемента I, т. е. на выходе схемы Б', реализуется функция /' = ^1&^2&^3&^4.

При неисправности инвертора I на выходе схемы Б' возникнет функция неисправности д1 ф 1. При неисправности элемента Е1 на его выходе вместо функции возникнет тождественная единица, а функции на выходах всех остальных элементов, соединяющихся со входами элемента Е, не изменятся, поскольку все эти элементы расположены в схеме Б' не ниже элемента Е1 в силу его выбора. Поэтому на выходе схемы Б' появится функция неисправности д2 = 1&^2&^3&^4 = ^2&^3&^4.

Так как схема Б' неизбыточна, каждая из функций д1, д2 отлична от функции /'. Чтобы отличить функцию /' от функции д1, в множестве Т должен содержаться хотя бы один набор о1, для которого /'(о1) = 0, т.е. ^1(5'1) = ^2(а1) = ^3(5'1) = ^4(а1) = 1. Чтобы отличить функцию /' от функции д2, в множестве Т должен содержаться хотя бы один набор о2, для которого ^1(а2) = 0, ^2(о2) = ^3(о2) = ^4(о2) = 1. Из равенств ^1(а1) = 1, ^1(о2) = 0 следует, что 01 = о2, а из равенств ^2(о1) = ^2(а2) = 1 —что неисправность элемента Е2, на выходе которого в случае исправности всех элементов схемы Б' реализуется функция нельзя обнаружить на наборах 01, а2. Поэтому в тесте Т должен содержаться ещё какой-то набор, отличный от этих двух наборов. Таким образом, |Т| ^ 3, что и требовалось доказать.

4.1.2. Условие случая 4.1.1 не выполнено, но при этом в схеме Б найдётся хотя бы один инвертор, расположенный выше элемента Е, вход которого соединён с выходом некоторого функционального элемента. Среди всех инверторов с такими свойствами выберем произвольный «нижний» инвертор I, ниже которого в схеме Б не существует инвертора с указанными свойствами. Пусть Z — произвольная цепочка, соединяющая элемент I с элементом Е. Будем считать, что сам элемент I в неё не входит. Очевидно тогда, что все элементы в цепочке Z — конъюнкторы. По лемме 1 схема Б', получающаяся из схемы Б удалением всех элементов, расположенных в ней не выше элемента Е, кроме него самого, и переносом выхода схемы на выход элемента Е, неизбыточна и Т — ЕПТ для схемы Б'. На выходе элемента Е, т.е. на выходе схемы Б', как было показано ранее, реализуется функция /' =

При неисправности того элемента, выход которого соединён в схеме Б (и, следовательно, в схеме Б') со входом инвертора I, на вход I подаётся тождественная единица, а на его выходе появится тождественный нуль. Он будет подаваться на один из входов цепочки Z из конъюнкторов, поэтому на её выходе, т. е. на выходе элемента Е, а значит, и схемы Б', возникнет функция неисправности #1 = 0. Далее, при неисправности элемента Е1 на его выходе вместо функции будет тождественная единица, а функции на выходах всех остальных элементов, соединяющихся со входами элемента Е, не изменятся, поскольку все эти элементы расположены в схеме Б' не ниже элемента Е1 в силу его выбора. Поэтому на выходе схемы Б' возникнет функция неисправности #2 = 1&^2&^3 = ^2

Так как схема Б' неизбыточна, каждая из функций #1, #2 отлична от функции /'. Чтобы отличить функцию /' от функции #1, в множестве Т должен содержаться хотя бы один набор 51, для которого /'(51) = 1, т.е. ^1(51) = ^2(51) = ^3(51) = 1. Чтобы отличить функцию /' от функции #2, в множестве Т должен содержаться хотя бы один набор 52, для которого ^1(52) = 0, ^2(52) = ^3(52) = 1. Из равенств ^1(51) = 1, ^1(12) = 0 следует, что 11 = 12, а из равенств ^2(11) = ^2(52) = 1 —что неисправность элемента Е2, на выходе которого в случае исправности всех элементов схемы Б' реализуется функция нельзя обнаружить на наборах 51, 52. Поэтому в тесте Т должен содержаться ещё какой-то набор. Таким образом, |Т| ^ 3, что и требовалось доказать.

4.1.3. Отрицание объединения случаев 4.1.1 и 4.1.2: в схеме Б ниже элемента Е не расположено ни одного инвертора, а вход любого инвертора этой схемы, расположенного выше элемента Е, соединён с одним из входов схемы. В таком случае вход любого инвертора схемы Б соединён с одним из входов этой схемы. Пусть х^,..., х^ — все попарно различные переменные, подаваемые в схеме на входы инверторов (если таких переменных нет, полагаем d = 0), а х^+1,..., х^ — все попарно различные переменные, каждая из которых подаётся на вход хотя бы одного конъюнктора (если таких переменных нет, полагаем к = d). Тогда в силу леммы 2 имеем к ^ 1, / = ... &х^&х^+1 & ... &х^ (в случае d = 0 полагаем хЦ& ... = 1; в случае к = d полагаем х^+1 &... &х^ = 1) и |Т | ^ d. Так как функция / непредставима в видах (1)-(3), то d ^ 3, следовательно, |Т| ^ 3, что и требовалось доказать. Случай 4.1 разобран.

4.2. Входы каждого элемента схемы Б соединены с выходом не более чем одного функционального элемента. Очевидно, что в таком случае схема Б представляет собой цепочку из элементов, причём в ней содержится хотя бы один элемент, так как функция / непредставима в виде (1). Пусть в этой цепочке при движении сверху вниз расположены элементы Е1,..., Ег, где г — общее число элементов в схеме Б.

Докажем по индукции, что на выходе каждого из этих элементов реализуется функция вида

0,1 или (... ((ж^1 &жг2 Г2&жгз Г & ... &жг, , (9)

£-1

где 1 ^ к ^ п; г1,... , — попарно различные индексы и а1,... , € {0,1} (при к = 1 этот вид превращается в ж^1). Легко видеть, что вне зависимости от того, является элемент Е1 инвертором или конъюнктором, на его выходе будет реализована функция вида (9). В случае г =1 утверждение доказано. Далее будем считать, что г ^ 2. Пусть утверждение верно для элемента Е,, где ] € {1,..., г — 1}; докажем его для элемента Е,+1. На выходе элемента Е, по предположению индукции реализуется функция /, вида (9); этот выход соединяется в схеме Б с одним или несколькими входами элемента Е,+1, на все остальные входы которого подаются переменные. Если —инвертор, то утверждение очевидно, так как отрицание любой функции вида (9) является функцией того же вида. Пусть этот элемент — конъюнктор и все попарно различные переменные, которые подаются на его входы, не соединённые с выходом элемента Е,, — это переменные ,...,ж^, где I ^ к и ,... , ¿г — попарно различные индексы (если таких переменных нет, полагаем / = к). Тогда на выходе реализуется функция /&ж^+1 & ... &ж^ (в случае I = к полагаем ж^к+1 & ... &ж^ = 1). Справедливо тождество

/&ж^+1 & ... &ж^ = Л,&ж^+1 & ... &ж^, (10)

где Л, —булева функция, получающаяся подстановкой в функцию /, вместо всех переменных из множества {ж^к+1,... , ж^} константы 1 (в случае / = к полагаем {ж^к+1,... , ж^} = 0). Для доказательства тождества (10) достаточно рассмотреть случай, когда хотя бы одна из переменных ж^к+1, ...,ж^ равна 0, и противоположный случай. Но функция Л,&ж^+1 & ... &ж^, как нетрудно видеть, представима в виде (9) при указанных в начале этого абзаца условиях на индексы. Индуктивный переход доказан.

Получаем, что на выходе элемента Ег, т.е. на выходе всей схемы Б, реализуется функция / вида (9). Но тогда эта функция имеет один из видов (1)-(3) или равна тождественной единице, что невозможно по предположению случая 4. Противоречие.

В итоге для любой булевой функции /, отличной от тождественной единицы и непредставимой в видах (1)-(3), получаем равенство Д(/) = 3. ■

3. Единичные проверяющие тесты при однотипных константных неисправностях типа 0 на выходах элементов

Выделим ещё два возможных представления функции /(жп):

/ (жп) = ж£ & ... &ж£, (11)

/(жп) = ж£&ж- )Й1 &ж£)й2& ... &ж£ ^, (12) £-1

где 1 ^ к ^ п в представлении (11) и 2 ^ к ^ п в представлении (12); ¿1,...,г^ —

попарно различные индексы из множества {1,... , п} и а1,... , ,$!,..., € {0,1}, причём хотя бы одно из чисел ... , (в представлении (12)) равно 0.

Теорема 2. Для любой булевой функции /(Хп), отличной от констант, справедливо равенство

А,(/)

0, если функция / представима в виде (1),

1, если функция / представима в виде (11), но не в виде (1),

2, если функция / представима в виде (12),

3, если функция / непредставима в видах (1), (11), (12).

Если / ф 0 или / ф 1, то значение Д0(/) не определено.

Следствие 2. Для любого п ^ 2 справедливо равенство Д0(п) = 3.

Для доказательства следствия 2 достаточно заметить, что функция ж1 ф ... ф жп при п ^ 2 непредставима в видах (1), (11), (12).

Доказательство теоремы 2. Вместо Д0(/) для краткости будем писать Д(/). Можно считать, что в базисе В0 содержится функция ж1&ж2 (см. начало доказательства теоремы 1). Пусть / ф 0 или / ф 1. Рассуждая аналогично доказательству теоремы 5 из [7], получаем, что неизбыточных схем, реализующих функцию /, не существует и, следовательно, значение Д(/) не определено. Далее будем считать, что / ф 0 и / ф 1. Рассмотрим четыре случая:

1. Функция / представима в виде (1). Тогда её можно реализовать схемой, не содержащей функциональных элементов. У такой схемы нет ни одной функции неисправности, поэтому пустое множество для неё является ЕПТ, откуда следует равенство

Я(/) = 0.

2. Функция / представима в виде (11), но не в виде (1). Выход любой схемы, реализующей функцию /, не может совпадать ни с одним из её входов, поэтому он является выходом некоторого функционального элемента. Тогда при неисправности этого элемента схема реализует тождественный нуль, которую надо отличить от функции / хотя бы на одном наборе, откуда следует, что Д(/) ^ 1.

Докажем неравенство Д(/) ^ 1. Имеем / = ж^1 & ... &ж^, где 1 ^ к ^ п; г1,... , гк — попарно различные индексы и а1,... , Е {0,1}. Реализуем функцию / схемой Б в базисе В0 в соответствии с последним равенством. В этой схеме содержатся к — 1 двух-входовых конъюнкторов и столько инверторов, сколько чисел из а1,... , равны 0. Каждый множитель вида ж" реализуем с использованием одного инвертора. Затем все построенные инверторы и все входы ж" соединим цепочкой из конъюнкторов. Очевидно, что полученная схема реализует функцию /, а единственной её функцией неисправности является тождественный нуль. Отсюда следует, что схема Б неизбыточна и множество, состоящее из любого одного набора, на котором функция / принимает значение 1, является для этой схемы ЕПТ длины 1. Поэтому Д(/) ^ 1.

В итоге получаем равенство Д(/) = 1. Случай 2 разобран.

3. Функция / представима в виде (12). Докажем сначала неравенство Д(/) ^ 2. Без ограничения общности можно считать, что г1 = 1, ..., = к, т.е. /(жга) = = (... ((ж ^&ж^2 )Й1 &ж^3)Й2& ... &ж£* )йк-1. Реализуе м функцию / схемой Б в базисе В0

к-1

в соответствии с последним равенством. В этой схеме содержатся к — 1 двухвходовых конъюнкторов и столько инверторов, сколько чисел из а1,... , ,$!,..., равны 0. Для каждого г Е {1,... , к}, такого, что о = 0, подадим входную переменную ж^ на вход инвертора. Затем подадим функции ж^1 и ж^2 (каждая из которых берётся либо со входа схемы, либо с выхода одного из инверторов) соответственно на левый и правый

входы конъюнктора. Если = 0, то выход конъюнктора соединим со входом инвертора. Далее, если к ^ 3, то выход последнего построенного элемента соединим с левым входом конъюнктора, на правый вход которого подадим функцию жЗ3 (взятую либо со входа схемы, либо с выхода одного из инверторов). Если = 0, то выход конъюнктора соединим со входом инвертора, и т. д.

Очевидно, что схема Б реализует функцию /. Докажем, что она неизбыточна и множество Т = {7Г1,7Г2} является для неё ЕПТ, где 7Т1 = (0, о2,..., о*, 1га-к), П = (1,02,...,0к, ). Заметим, что / (жьо,... , о*, ) = (... ((ж?1 )Й1 )'2 ... )4-1,

к-1

поэтому верно соотношение (4): /(-/г1) = / (П2). Неисправность каждого инвертора в схеме Б, кроме выходного (если выходной элемент — инвертор), приводит к той же функции неисправности схемы Б, что и неисправность следующего за ним конъюнк-тора. Поэтому достаточно рассмотреть неисправности конъюнкторов и, быть может, выходного инвертора. Единственная цепь, связывающая вход ж1 схемы Б с её выходом, проходит через каждый из этих элементов. Поэтому если какой-то из них неисправен, то при подаче на входы схемы Б вместо переменных ж2,... , жп констант соответственно о2,... , о*, 1га-к изменение значения переменной ж1 с 0 на 1, т. е. переход от входного набора П1 к входному набору П2, никак не отразится на значении, выдаваемом схемой. Следовательно, получающаяся функция неисправности д схемы Б удовлетворяет условию д(П1) = д(П2). Отсюда и из (4) вытекает, что д ф /, т.е. схема Б неизбыточна, и множество Т является для неё ЕПТ, поэтому Д(/) ^ 2.

Докажем теперь, что Д(/) ^ 2. Пусть Б — произвольная неизбыточная схема, реализующая функцию / вида (12); Т — произвольный ЕПТ для этой схемы. Надо доказать, что |Т | ^ 2. Рассмотрим два подслучая:

3.1. В схеме Б найдётся хотя бы один инвертор I, вход которого соединён с выходом некоторого функционального элемента Е. Пусть на выходе элемента Е в схеме Б реализуется булева функция тогда на выходе элемента I реализуется функция Чтобы обнаружить неисправность элемента Е (I), в тесте Т должен содержаться набор о1 (о2), для которого ^(о1) = 1 (соответственно ^(о2) = 1). Из двух последних равенств следует, что о1 = о2, поэтому |Т| ^ 2, что и требовалось доказать.

3.2. Вход любого инвертора схемы Б соединён с одним из входов схемы. Рассуждая аналогично первому абзацу из доказательства леммы 2 и учитывая соотношение / ф 0, получаем, что функция / представима в одном из видов (1), (11). Однако это невозможно, так как она представима в виде (12). Противоречие.

В итоге для любой функции / вида (12) получаем равенство Д(/) = 2. Случай 3 разобран.

4. Функция / отлична от булевых констант и непредставима в видах (1), (11) и (12). Докажем сначала неравенство Д(/) ^ 3. Идеи доказательства сходны с идеями, использованными при получении аналогичного неравенства в случае 4 из доказательства теоремы 1. Представим функцию / полиномом Жегалкина (5), где с Е {0,1}, а К1 — самая короткая конъюнкция в этом полиноме. Пусть К = ж^-1(г)& ... &ж,4. (ф г = 1,... , т. Без ограничения общности К1 = ж1& ... &ж*. Отметим, что к < п, так как в противном случае функция / равна ж1& ... &жп ф с = (ж1& ... &жп)с, т. е. имеет вид (11) или (12). По аналогичной причине т ^ 2.

Так как К1 — самая короткая конъюнкция в полиноме Жегалкина для функции /, в каждую конъюнкцию К^, г = 2,... , т, входит хотя бы одна переменная, отличная от переменных ж1,... , ж*. Без ограничения общности это переменная ж,^).

Заменим в представлении (5) все операции ф на операции ф'. Эта замена приведёт к прибавлению к правой части представления (5) некоторого числа единиц (по одному на каждую операцию ф). Сложив все эти единицы, а также константу с по модулю 2, получим некоторую булеву константу с', такую, что

/ = К ф' ... ф' Кт ф с'. (13)

Пусть Бф/ — схема в базисе В0 с двумя входами и одним выходом (рис. 3). Нетрудно проверить, что на выходе схемы реализуется функция ж ф'у, её всевозможными функциями неисправности являются функции 0,1, жу, жу (и, следовательно, схема Бф/ неизбыточна), а в качестве ЕПТ для неё можно взять множество Тф/ = {(0, 0), (1, 0), (1,1)} (действительно, единственной булевой функцией от двух переменных, которую нельзя отличить от функции ж ф' у на наборах из множества Тф/, кроме неё самой, является функция ж V у, но она не входит в число функций неисправности схемы Бф/).

х у

Реализуем функцию / (жп) схемой Б в базисе В0 в соответствии с представлением (13) (рис.4). Каждую конъюнкцию К, г = 1,...,т, реализуем цепочкой Zi из конъюнкторов, причём если г ^ 2 и ранг конъюнкции К не менее 2, то на левый вход верхнего элемента цепочки подадим переменную ж,1(г), а если ранг конъюнкции К равен 1, то в цепочке Zi не содержится элементов, а её выход совпадает со входом ж,1(^) схемы Б. Затем выходы всех построенных цепочек ,... , соединим со входами цепочки ^ф/, состоящей из блоков Бф/ и (в случае с' = 1) инвертора, вход которого соединён с выходом нижнего из этих блоков, причём левый верхний вход этой цепочки соединим с выходом цепочки Выход нижнего элемента цепочки ^ф/ объявим выходом схемы Б.

Легко видеть, что схема Б реализует функцию /(жп). Докажем, что она неизбыточна и множество Т = {а1,а2,аз} является для неё ЕПТ, где а1 = (0П), а2 = , 0"-), = (1п). В случае исправности всех элементов схемы Б на наборе а3 на выходах всех конъюнкторов, содержащихся в цепочках ..., Zm, будут единицы. Если неисправен некоторый конъюнктор в цепочке Zi, г € {1,... ,т}, то на наборе а3 на выходе этого конъюнктора и всех следующих за ним конъюнкторов в указанной цепочке, а значит, и на выходе цепочки Zi, будут нули, а на выходах всех остальных конъюнкторов из этих цепочек по-прежнему будут единицы. Поскольку выход цепочки Zi соединяется ровно с одним входом цепочки Zф/, реализующей линейную функцию, значение на выходе

X X Х/1(2) *Л(2) ^(Х) х/2(т)

данной цепочки, т. е. на выходе всей схемы Б, изменится, поэтому рассматриваемая неисправность будет обнаружена на наборе а3.

Далее, в случае исправности всех элементов схемы Б на наборах а2,5з на выходе цепочки возникают значения соответственно 0,1,1, а на выходе каждой из цепочек Д2,... , — соответственно 0, 0,1 (здесь используется то свойство, что каждая из переменных ж^1(2),... , отлична от переменных х1,... , ). В таком случае на входы верхнего блока 5ф/ цепочки Дф/ подаются наборы (0, 0), (1, 0), (1,1), а на его выходе реализуются значения 0 ф' 0,1 ф' 0,1 ф' 1, т. е. 1, 0,1. Тогда на входы второго сверху блока £ф/ цепочки Дф/ (если он существует) подаются наборы (1, 0), (0, 0), (1,1), а на его выходе реализуются значения 1 ф'0, 0ф'0,1ф' 1, т. е. 0,1,1. Далее, на входы третьего сверху блока 5ф/ цепочки Дф/ (если он существует) подаются наборы (0,0), (1, 0), (1,1), а на его выходе реализуются значения 0 ф' 0,1 ф' 0,1 ф' 1, т. е. 1, 0,1, и т. д. Таким образом, на входах каждого блока 5ф/ цепочки Дф/ при подаче на входы схемы Б наборов 51,а2,а3 возникают все наборы из множества Тф/. Так как это множество является ЕПТ для неизбыточной схемы 5ф/, то при неисправности любого элемента в любом блоке Бф/ цепочки Дф хотя бы на одном из наборов а1, а2, а3 значение на выходе этого блока изменится. Поскольку выход блока либо совпадает с выходом схемы Б, либо соединяется ровно с одним входом некоторой нижней части цепочки Дф/, реализующей линейную функцию, значение на выходе схемы Б изменится, поэтому рассматриваемая неисправность будет обнаружена на одном из наборов а1, а2, а3.

Наконец, если неисправен выходной инвертор цепочки Дф/ (в случае с' = 1), то функция неисправности схемы Б равна тождественному нулю, которую можно отличить от функции / на одном из наборов а1,а2 (поскольку /(а1) = с, /(а2) = с — это следует из представления (5)).

В итоге получаем, что любую функцию неисправности схемы Б можно отличить от функции /(жга) хотя бы на одном наборе из множества Т. Это означает, что схема Б

неизбыточна и множество Т является для неё ЕПТ. Его длина равна 3, откуда следует неравенство Д(/) ^ 3.

Докажем теперь, что Д(/) ^ 3. Пусть Б — произвольная неизбыточная схема, реализующая функцию /, отличную от констант и непредставимую в видах (1), (11) и (12); Т — произвольный ЕПТ для этой схемы. Надо доказать, что |Т| ^ 3.

Пусть Е — произвольный конъюнктор, содержащийся в схеме Б. Через А1(Е) будем обозначать множество всех таких конъюнкторов схемы Б, каждый из которых является верхним элементом хотя бы одной цепочки из конъюнкторов, у которой нижний элемент — Е. Очевидно, что Е Е А1(Е). Через А2(Е) обозначим множество всех таких элементов схемы Б, не принадлежащих множеству А1(Е), выход каждого из которых соединён хотя бы с одним входом хотя бы одного элемента из множества А1(Е). Легко видеть, что все элементы в множестве А2(Е) (если такие есть)—инверторы. Через А3(Е) обозначим множество всех таких элементов схемы Б, выход каждого из которых соединён со входом хотя бы одного инвертора из множества А2(Е). Рассмотрим два подслучая:

4.1. В схеме Б найдётся разделяющий конъюнктор Е, для которого |А3(Е)| ^ 2. Среди всех элементов из множества А3(Е) выберем произвольный «нижний» элемент Е1, ниже которого в схеме Б не существует элемента из этого множества, и любой другой элемент Е2. Пусть 11 (12) —произвольный инвертор из множества А2(Е), вход которого соединён с выходом элемента Е1 (соответственно Е2); Е1 (Е2)—произвольный конъюнктор из множества А1 (Е), хотя бы один вход которого соединён с выходом элемента 11 (соответственно 12; элементы Е1 и Е2 могут совпадать). Пусть в случае исправности всех элементов схемы Б на выходе элемента Е1 (Е2) реализуется булева функция (соответственно ^2). Тогда на выходе элемента 11 (12) реализуется функция (соответственно ^2), на выходе элемента Е1 (Е2) — функция, меньшая либо равная (соответственно ^2), а на выходе элемента Е — функция, меньшая либо равная как 1рГ, так и ^2, т. е. функция вида где — некоторая булева функция.

По лемме 1 схема Б', получающаяся из схемы Б удалением всех элементов, расположенных в ней не выше элемента Е, кроме него самого, и переносом выхода схемы на выход элемента Е, неизбыточна и Т — ЕПТ для схемы Б'. На выходе элемента Е, т.е. на выходе схемы Б', как показано ранее, реализуется функция /' = При неисправности элемента Е на выходе схемы Б' возникнет функция неисправности д1 ф 0. При неисправности элемента Е1 в силу его выбора на выходе элемента Е2 в схеме Б (а значит, и в схеме Б') по-прежнему будет реализована функция а на выходе элемента 12 — функция ^2. Тогда на выходе элемента Е2 и, как следствие, элемента Е будет реализована функция, меньшая либо равная ^2. Поэтому получающаяся функция неисправности д2 схемы Б' представима в виде где —некоторая булева функция.

Так как схема Б' неизбыточна, то каждая из функций д1, д2 отлична от функции /'. Чтобы отличить функцию /' от функции д1, в множестве Т должен содержаться хотя бы один набор Г1, для которого /'(о1) = 1, т.е. ^1(о1) = ^2(1'1) = 0, ^3(о1) = 1. Чтобы отличить функцию /' от функции д2, в множестве Т должен содержаться хотя бы один набор о2, для которого ^2(о2) = 0 (это следует из выражений для функций /', д2) и ^1(Г2) = 1 (чтобы можно было обнаружить появление на выходе элемента Е1 вместо функции константы 0). Из равенств ^1(о1) = 0, ^1(1'2) = 1 следует, что Г1 = о2, а из равенств <£2(01) = ^2(12) = 0 — что неисправность элемента Е2 , на выходе которого в случае исправности всех элементов схемы Б' реализуется функция нельзя обна-

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

ружить на наборах а1, о2. Поэтому в тесте Т должен содержаться ещё какой-то набор, отличный от указанных двух. Таким образом, |Т| ^ 3, что и требовалось доказать.

4.2. Для любого разделяющего конъюнктора Е в схеме Б выполняется неравенство |А3(Е)| ^ 1. Так как функция / непредставима в видах (1), (11), то в схеме Б содержится хотя бы один конъюнктор. «Нижний» конъюнктор схемы Б, очевидно, является разделяющим (ниже него в схеме Б может располагаться только цепочка из инверторов). Обозначим этот конъюнктор через Е1. Если |А3(Е1)| = 0, то вход каждого инвертора, расположенного в схеме Б выше элемента Е1, соединён с одним из входов этой схемы. Тогда, рассуждая аналогично первому абзацу из доказательства леммы 2, получаем, что на выходе элемента Е1 и, как следствие, на выходе схемы Б реализуется функция одного из видов (1), (11), (12) или булева константа, что невозможно. Поэтому |А3(Е1)| = 1. Пусть Е2 —единственный элемент из множества А3(Е1); 11 —произвольный инвертор из множества А2(Е1), вход которого соединён с выходом элемента Е2. Входы всех остальных инверторов из множества А2(Е1) соединены либо с выходом элемента Е2, либо со входами схемы. Входы всех «верхних» конъюнкторов из множества А1(Е1), очевидно, соединены либо с выходами инверторов из множества А2(Е1), либо со входами схемы.

Пусть в случае исправности всех элементов схемы Б на выходе элемента Е2 реализуется булева функция <1. Тогда на выходе элемента 11 реализуется функция <1. Заметим, что Е2 Е А1(Е1) и А2(Е1), так как в противном случае на выходе элемента Е1 реализовывалась бы функция <1&<1&... = 0, что невозможно. В таком случае легко видеть, что функция /, реализуемая на выходе всей схемы, имеет вид (<1&К )Й1, где ¿1 Е {0,1}, а К1 —либо тождественная единица, либо выражение вида ж^1 & ... , в котором к ^ 1; ¿1,...,г^ — попарно различные индексы из множества {1,... , п} и оь...,о;ь Е {0,1}).

Справедливо тождество = ^1&К1, где — булева функция, получающая-

ся подстановкой в функцию < вместо тех переменных, которые входят в конъюнкцию К1, булевых констант, обращающих эту конъюнкцию в единицу (доказательство аналогично доказательству тождества (10); в случае К1 = 1 полагаем, что таких переменных нет). Тогда / = (^1&К1)Й1. Функция < не может иметь вид (1), (11), (12) или равняться константе, так как в противном случае такой же вид имела бы функция ^1&К1, а значит, и функция / = (^1&К1)Й1, что невозможно.

Легко видеть, что элемент Е2 в схеме Б является разделяющим. Действительно, любая цепочка, соединяющая любой элемент, расположенный в схеме Б выше элемента Е2' , с выходным элементом, обязана проходить через Е2' , так как у всех остальных элементов из множества А1(Е1) и А2(Е1) и А3(Е1) все входы уже «заняты» либо выходами элементов из этого же множества, либо входами схемы (рис. 5).

Далее, если элемент Е2 — конъюнктор, то положим Е2 = Е2; если Е2 — инвертор, то пусть Е2 — «нижний» конъюнктор, расположенный в схеме Б выше элемента Е2 (если такого конъюнктора нет, то выше элемента Е2' располагается цепочка из инверторов, поэтому функция <1, реализуемая на выходе элемента Е2, имеет вид ж^, где г е {1,...,п}, о е {0,1}, т.е. вид (1) или (11), что невозможно); во втором случае очевидно, что от элемента Е2 к элементу Е2' ведёт цепочка из инверторов. В любом случае получаем, что на выходе конъюнктора Е2 реализуется булева функция , где

¿2 е {0,1}.

Из того, что элемент Е2 разделяющий, а между элементами Е2 и Е2 в схеме Б может располагаться только цепочка из инверторов, вход каждого из которых уже «занят» выходом предыдущего элемента в этой цепочке или выходом элемента Е2, лег-

Входы схемы или выход элемента Е'2 . I .

Множество А2(Е1)

Входы схемы или выходы элементов из множества А2(Е1) I I . .11. . I I

Входы схемы или выходы элементов из множества А1(Е1) и А2(Е1)

Е1

Множество А1(Е1)

Выход схемы Рис. 5. Нижняя часть схемы 5

ко следует, что Е2 —разделяющий конъюнктор. По предположению случая 4.2 имеем |А3(Е2)| ^ 1. Далее отдельно разбираем случаи |А3(Е2)| = 0 и |А3(Е2)| = 1 по аналогии с разбором случаев |А3(Е1)| = 0 и |А3(Ех)| = 1 (с использованием того факта, что функция отлична от констант и непредставима в видах (1), (11), (12)). Получаем, что в схеме Б выше элемента Е2 должен существовать некоторый разделяющий конъ-юнктор Е3, на выходе которого реализуется функция, отличная от булевых констант и непредставимая в видах (1), (11), (12), и т. д. Поскольку число элементов в схеме Б конечно, придём к противоречию. Поэтому случай 4.2 невозможен.

В итоге для любой булевой функции f, отличной от констант и непредставимой в видах (1), (11), (12), получаем равенство D(f) = 3. ■

Используя теоремы 1, 2, следствия 1, 2 и принцип двойственности (см., например, [19, с. 24]), а именно рассматривая схемы, получающиеся заменой всех элементов в схемах из доказательства теорем 1, 2 на двойственные, нетрудно получить двойственные им результаты для базиса В0, являющегося произвольным функционально полным подмножеством множества В0 = {XI, х1 V ... V хт : т ^ 2} (например, для базиса {XI,х1 V х2}). В частности, при п ^ 2 справедливы равенства

3.

ДвскЛе^М

Двск^е^М

ЛИТЕРАТУРА

1. ЧегисИ.А., Яблонский С. В. Логические способы контроля работы электрических схем // Труды МИАН. 1958. Т. 51. С. 270-360.

2. Яблонский С. В. Надежность и контроль управляющих систем // Материалы Всесоюзного семинара по дискретной математике и ее приложениям (Москва, 31 января-2 февраля 1984 г.). М.: Изд-во МГУ, 1986. С. 7-12.

3. Яблонский С. В. Некоторые вопросы надежности и контроля управляющих систем // Математические вопросы кибернетики. Вып. 1. М.: Наука, 1988. С. 5-25.

4. Редькин Н. П. Надежность и диагностика схем. М.: Изд-во МГУ, 1992. 192 с.

5. Reddy S. M. Easily testable realization for logic functions // IEEE Trans. Comput. 1972. V. C-21. No. 11. P. 1183-1188.

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. Бородина Ю. В. О синтезе легкотестируемых схем в случае однотипных константных неисправностей на выходах элементов // Вестник Московского университета. Серия 15. Вычислительная математика и кибернетика. 2008. №1. С. 40-44.

14. Попков К. А. О точном значении длины минимального единичного диагностического теста для одного класса схем // Препринты ИПМ им. М.В.Келдыша. 2015. №74. 21с.

15. Бородина Ю. В. Нижняя оценка длины полного проверяющего теста в базисе {x | y} // Вестник Московского университета. Серия 1. Математика. Механика. 2015. №4. С. 49-51.

16. Бородина Ю. В. О схемах, допускающих единичные тесты длины 1 при константных неисправностях на выходах элементов // Вестник Московского университета. Серия 1. Математика. Механика. 2008. №5. С. 49-52.

17. Бородина Ю. В., Бородин П. А. Синтез легкотестируемых схем в базисе Жегалкина при константных неисправностях типа 0 на выходах элементов // Дискретная математика. 2010. Т. 22. №3. С. 127-133.

18. Попков К. А. О единичных диагностических тестах для схем из функциональных элементов в базисе Жегалкина // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. 2016. №3. С. 3-18.

19. Яблонский С. В. Введение в дискретную математику. М.: Наука, 1986. 384 с.

REFERENCES

1. Chegis I. A. and Yablonskiy S. V. Logicheskie sposoby kontrolya raboty elektricheskikh skhem [Logical methods of control of work of electric circuits]. Trudy Mat. Inst. Steklov, 1958, vol. 51, pp. 270-360. (in Russian)

2. Yablonskiy S. V. Nadezhnost' i kontrol' upravlyayushchikh sistem [Reliability and verification of control systems]. Materialy Vsesoyuznogo seminara po diskretnoy matematike i ee

prilozheniyam (Moskva, 31 yanvarya-2 fevralya 1984 g.) Moscow., MSU Publ., 1986, pp. 7-12. (In Russian)

3. Yablonskiy S. V. Nekotorye voprosy nadezhnosti i kontrolya upravlyayushchikh sistem [Some questions of reliability and verification of control systems]. Matematicheskie Voprosy Kibernetiki, iss. 1, Moscow, Nauka Publ., 1988, pp. 5-25. (in Russian)

4. Red'kin N. P. Nadezhnost' i diagnostika skhem [Circuits Reliability and Diagnostics]. Moscow, MSU Publ., 1992. 192 p. (in Russian)

5. Reddy S. M. Easily testable realization for logic functions. IEEE Trans. Comput., 1972, vol. C-21, no. 11, pp. 1183-1188.

6. Kolyada S. S. Verkhnie otsenki dlin proveryayushchikh testov dlya skhem iz funktsional'nykh elementov [Upper bounds on the lengths of fault detection tests for logic networks]. Cand. Sci. Dissertation, MSU, Moscow, 2013. 77p. (in Russian)

7. Romanov D. S. Method of synthesis of easily testable circuits admitting single fault detection tests of constant length. Discrete Math. Appl., 2014, vol.24, no.4, pp.227-251.

8. Red'kin N. P. O polnykh proveryayushchikh testakh dlya skhem iz funktsional'nyhkh elementov [On complete fault detection tests for logic networks]. Vestnik MSU, ser. 1, 1986, no. 1, pp. 72-74. (in Russian)

9. Red'kin N. P. O polnykh proveryayushchikh testakh dlya skhem iz funktsional'nyhkh elementov [On complete fault detection tests for logic networks]. Matematicheskie Voprosy Kibernetiki, iss. 2, Moscow, Nauka Publ., 1989, pp. 198-222. (in Russian)

10. Romanov D. S. On the synthesis of circuits admitting complete fault detection test sets of constant length under arbitrary constant faults at the outputs of the gates. Discrete Math. Appl., 2013, vol.23, no. 3-4, pp. 343-362.

11. Red'kin N. P. O skhemakh, dopuskayshchikh korotkiye testy [On circuits admitting short tests]. Vestnik MSU, ser. 1, 1988, no. 2, pp. 17-21. (in Russian)

12. Red'kin N. P. O edinichnykh diagnosticheskikh testakh dlya odnotipnykh konstantnykh neispravnostey na vykhodakh funktsional'nykh elementov [On single diagnostic tests for one-type stuck-at faults at outputs of logic gates]. Vestnik MSU, ser. 1, 1992, no. 5, pp. 43-46. (in Russian)

13. Borodina Yu. V. Synthesis of easily-tested circuits in the case of single-type constant malfunctions at the element outputs. Mosc. Univ. Comput. Math. Cybern., 2008, vol.32, no. 1, pp.42-46.

14. Popkov K. A. O tochnom znachenii dliny minimal'nogo edinichnogo diagnosticheskogo testa dlya odnogo klassa skhem [On an exact length value of a minimal single diagnostic test for a particular class of circuits]. Preprinty IPM im. M.V.Keldysha, 2015, no. 74. 21 p. (in Russian)

15. Borodina Yu. V. Lower estimate of the length of the complete test in the basis {x | y}. Mosc. Univ. Math. Bull., 2015, vol. 70, no. 4, pp. 185-186.

16. Borodina Yu. V. Circuits admitting single-fault tests of length 1 under constant faults at outputs of elements. Mosc. Univ. Math. Bull., 2008, vol.63, no. 5, pp. 202-204.

17. Borodina Yu. V., Borodin P. A. Synthesis of easily testable circuits over the Zhegalkin basis in the case of constant faults of type 0 at outputs of elements. Discrete. Math. Appl., 2010, vol. 20, no. 4, pp. 441-449.

18. Popkov K. A. O edinichnykh diagnosticheskikh testakh dlya skhem iz funktsional'nykh elementov v bazise Zhegalkina [On single diagnostic tests for logic networks in the Zhegalkin basis]. Izvestiya Vysshikh Uchebnykh Zavedeniy. Povolzhskiy Region. Fiziko-Matematicheskie Nauki, 2016, no. 3, pp. 3-18. (In Russian)

19. Yablonskiy S. V. Vvedenie v diskretnuyu matematiku [Introduction to Discrete Mathematics]. Moscow, Nauka, 1986. 384 p. (in Russian)

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