Математические заметки
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Скоро в журнале
Архив
Импакт-фактор
Правила для авторов
Лицензионный договор
Загрузить рукопись

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Матем. заметки:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Математические заметки, 2023, том 113, выпуск 1, страницы 75–89
DOI: https://doi.org/10.4213/mzm13639
(Mi mzm13639)
 

Эта публикация цитируется в 1 научной статье (всего в 1 статье)

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

К. А. Попков

Институт прикладной математики им. М.В. Келдыша Российской академии наук, г. Москва
Список литературы:
Аннотация: Доказано, что каждую из булевых функций $x_1\oplus\dots\oplus x_n$, $x_1\oplus\dots\oplus x_n\oplus 1$ можно реализовать схемой из функциональных элементов в каждом из базисов $\{x\oplus y,1\}$, $\{x\&\overline y,x\vee y,\overline x\}$, $\{x\&y,x\vee y,\overline x\}$, допускающей полный диагностический тест длины не более $\lceil\log_2(n+1)\rceil$ (для первых двух базисов) либо не более $n$ (для третьего базиса) относительно однотипных константных неисправностей на выходах элементов. Установлено также, что каждую из функций $x_1\oplus\dots\oplus x_n$, $x_1\oplus\dots\oplus x_n\oplus 1$ можно реализовать схемой из функциональных элементов в базисе $\{x\oplus y,1\}$, допускающей полный диагностический тест длины не более $\lceil\log_2(n+1)\rceil+1$ относительно произвольных константных неисправностей на выходах элементов.
Библиография: 17 названий.
Ключевые слова: схема из функциональных элементов, полный диагностический тест, константная неисправность, линейная булева функция.
Финансовая поддержка Номер гранта
Министерство науки и высшего образования Российской Федерации 075-15-2022-283
Исследование выполнено при финансовой поддержке Московского центра фундаментальной и прикладной математики, соглашение с Министерством науки и высшего образования Российской Федерации № 075-15-2022-283.
Поступило: 30.06.2022
Англоязычная версия:
Mathematical Notes, 2023, Volume 113, Issue 1, Pages 80–92
DOI: https://doi.org/10.1134/S0001434623010091
Реферативные базы данных:
Тип публикации: Статья
УДК: 519.718.7

1. Введение

В работе рассматривается задача синтеза легкотестируемых схем из функциональных элементов (СФЭ), реализующих заданные булевы функции (см. [1]–[3]). Пусть имеется СФЭ $S$ с одним выходом, реализующая булеву функцию $f(\widetilde x^{\,n})$, где $n\in\mathbb N$ и $\widetilde x^{\,n}=(x_1,\dots,x_n)$. Предположим, что в схеме $S$ могут происходить константные неисправности на выходах элементов, при которых значение на выходе любого неисправного элемента становится равно некоторой булевой константе; число неисправных элементов в схеме предполагается произвольным. В результате схема $S$ вместо исходной функции $f(\widetilde x^{\,n})$ будет реализовывать какие-то, вообще говоря, отличные от нее булевы функции, называемые функциями неисправности данной схемы. Через $M(S)$ будем обозначать множество, состоящее из функции $f(\widetilde x^{\,n})$ и всех функций неисправности схемы $S$.

Константные неисправности на выходах элементов называются однотипными константными, если на выходе каждого неисправного элемента реализуется одна и та же заранее заданная булева константа (определяющая тип этих неисправностей), и произвольными константными, если на выходе каждого неисправного элемента реализуется одна из булевых констант $0$ или $1$ независимо от неисправностей других элементов.

Полным диагностическим тестом (ПДТ) для схемы $S$ называется такое множество $T$ наборов значений переменных $x_1,\dots,x_n$, что для любой отличной от $f(\widetilde x^{\,n})$ функции неисправности $g(\widetilde x^{\,n})$ схемы $S$ в $T$ найдется набор $\widetilde\sigma$, на котором $f(\widetilde\sigma)\ne g(\widetilde\sigma)$, а для любых двух различных функций неисправности $g_1(\widetilde x^{\,n})$ и $g_2(\widetilde x^{\,n})$ схемы $S$ в $T$ найдется набор $\widetilde\pi$, на котором $g_1(\widetilde\pi)\ne g_2(\widetilde\pi)$. Число наборов в $T$ называется длиной теста. В качестве тривиального ПДТ длины $2^n$ для схемы $S$ всегда можно взять множество, состоящее из всех $2^n$ двоичных наборов длины $n$.

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

Если базис $B$ является функционально полным, то введем также обозначение $D^B(n)=\max D^B(f)$, где максимум берется по всем булевым функциям $f$ от $n$ переменных. Функция $D^B(n)$ называется функцией Шеннона длины ПДТ. Для удобства под буквой $D$ будем ставить символы “$01$”, “$0$” или “$1$” в случаях, когда в схемах допускаются произвольные константные неисправности, однотипные константные неисправности типа 0 или типа 1 на выходах элементов соответственно.

Всюду далее в данном разделе будем считать, что $n$ – произвольное натуральное число. Положим $l_n(\widetilde x^{\,n})=x_1\oplus\dots\oplus x_n$, $\overline l_n(\widetilde x^{\,n})=x_1\oplus\dots\oplus x_n\oplus 1$. Очевидно, что $l_n$ и $\overline l_n$ – единственные линейные булевы функции, существенно зависящие в точности от переменных $x_1,\dots,x_n$.

Редькин в [4] для любой булевой функции $f(\widetilde x^{\,n})$, существенно зависящей от всех своих переменных, доказал неравенства

$$ \begin{equation*} D^{B_0}_0(f)\leqslant\min(N_1(f),1+N_0(f)),\qquad D^{B_0}_1(f)\leqslant\min(N_0(f),1+N_1(f)), \end{equation*} \notag $$
где $B_0=\{\&,\vee,\neg\}$ – стандартный (классический) базис, а $N_\alpha(f)$ – число наборов, на которых функция $f(\widetilde x_n)$ принимает значение $\alpha$ ($\alpha=0,1$). Нетрудно заметить, что в случаях $f=l_n$ и $f=\overline l_n$ каждое из выражений $\min(N_1(f),1+N_0(f))$, $\min(N_0(f),1+N_1(f))$ принимает максимально возможное значение, равное $2^{n-1}$. Тем самым в указанных случаях верхние оценки величин $D^{B_0}_0(f)$ и $D^{B_0}_1(f)$, найденные в [4], лишь в два раза меньше тривиальной верхней оценки $2^n$. В теореме 3 настоящей работы эти оценки понижены до $n$.

В работе автора [5] установлены неравенства

$$ \begin{equation*} D^{\mathtt B_1}_1(n)>\frac{2^{n/2}\cdot\sqrt[4]{n}} {2\sqrt{n+(1/2)\log n+2}}\,,\quad D^{\mathtt B_2}_{01}(n)>\frac{2^{n/2}\cdot\sqrt[4]{n}} {2\sqrt{n+(1/2)\log n+2}}\,, \end{equation*} \notag $$
где $\mathtt B_1=\{\overline{x\&y}\}$ и $\mathtt B_2=\{x\&y,\overline x\}$. Х. Фудзивара доказал [6; теорема 7], что минимально возможная длина ПДТ для СФЭ в базисе $\{x\oplus y\}$, реализующих функцию $l_n$, при произвольных константных неисправностях на выходах элементов и на входах схем равна $n+1$. В теореме 1 настоящей работы, в частности, установлено, что при рассмотрении произвольных константных неисправностей только на выходах элементов верхнюю оценку $n+1$ можно понизить до $\lceil\log_2 n\rceil+1$.

В [7], [8] для любой булевой функции $f(\widetilde x^{\,n})$ получены верхние оценки $1$ и $2$ минимально возможных длин ПДТ для реализующих ее СФЭ в базисах соответственно $\{x_1\&\dots\&x_t,x\oplus y,1\mid t=2,3,4,\dots\}$ и $\{x\&y\&z,x\oplus y,1\}$ при инверсных неисправностях на выходах элементов, при которых значение на выходе любого неисправного элемента становится противоположным значению на этом выходе в случае, когда элемент исправен. Г. В. Антюфеев и Д. С. Романов доказали [9; теорема 3] существование такой булевой функции $f(\widetilde x^{\,n})$, что длина любого ПДТ для любой реализующей ее СФЭ при произвольных константных неисправностях на входах схем асимптотически не меньше $2^{\lfloor n/2\rfloor+1}$. В работах автора [10], [11] рассматривались ПДТ для СФЭ, моделирующих булевы функции с одним или двумя дополнительными входами, при однотипных константных неисправностях на выходах элементов. Тесты (но не ПДТ) для схем, реализующих линейные булевы функции, в различных базисах при различных неисправностях элементов исследовались в работах [3; с. 128–130], [12], [13]. ПДТ для контактных схем при константных неисправностях (обрывах и/или замыканиях) контактов рассматривались в статьях [14], [15]; упомянем также работу автора [16].

2. Диагностические тесты для некоторых множеств линейных функций

Диагностическим тестом (ДТ) для множества булевых функций, зависящих от переменных $x_1,\dots,x_n$, назовем такое множество $T$ двоичных $n$-разрядных наборов, что для любых двух различных функций $f_1(\widetilde x^{\,n})$ и $f_2(\widetilde x^{\,n})$ из этого множества в $T$ найдется набор $\widetilde\sigma$, на котором $f_1(\widetilde\sigma)\ne f_2(\widetilde\sigma)$.

Пусть зафиксированы допустимые неисправности функциональных элементов в схемах. Из определений вытекает, что множество $T$ является ПДТ для схемы $S$ тогда и только тогда, когда $T$ – ДТ для множества $M(S)$. Для каждого содержащегося в формулировке одной из нижеследующих лемм 14 множества $M$ булевых функций в доказательстве теоремы 1 и/или теоремы 2, представленном в разделе “Формулировки и доказательства основных результатов”, будет рассмотрена такая СФЭ $S$, что $M(S)=M$. Поэтому из верхней оценки мощности ДТ для множества $M$ будет следовать такая же верхняя оценка длины ПДТ для схемы $S$.

Лемма 1. Пусть $p\in\{0,1\}$, $n\geqslant 2$, $g_{p,i}(\widetilde x^{\,n})= x_{i+1}\oplus\dots\oplus x_n\oplus p$ для каждого $i=1,\dots,n-1$ и $g_{p,n}(\widetilde x^{\,n})\equiv p$. Тогда для множества $\{\overline l_n,g_{p,1},\dots,g_{p,n}\}$ существует ДТ мощности не более $\lceil\log_2(n+1)\rceil$.

Доказательство. Введем для удобства обозначение $g_{p,0}=\overline l_n$. Занумеруем разряды произвольного двоичного $n$-разрядного набора слева направо числами $0,1,\dots, n- 1$. Пусть $m=\lceil\log_2(n+1)\rceil$ и $\widetilde\sigma_j$ – такой двоичный $n$-разрядный набор, у которого единицы стоят в точности во всех разрядах с номерами, делящимися на $2^j$, $j=0,\dots,m-1$. Например, если $n=11$, то $m=4$,

$$ \begin{equation*} \widetilde\sigma_0=(11111111111),\quad \widetilde\sigma_1=(10101010101),\quad \widetilde\sigma_2=(10001000100), \widetilde\sigma_3=(10000000100). \end{equation*} \notag $$
Обозначим через $\widetilde\sigma_{p,j}$ набор, получающийся из набора $\widetilde\sigma_j$ заменой числа, стоящего в крайнем левом разряде, с $1$ на $p$. Докажем, что $M^n_p=\{g_{p,0},g_{p,1},\dots,g_{p,n}\}$ допускает ДТ $T^n_p=\{\widetilde\sigma_{p,0},\widetilde\sigma_{p,1},\dots, \widetilde\sigma_{p,m-1}\}$.

Достаточно доказать, что для любых $i$ и $i'$ из множества $\{0,1,\dots,n\}$, удовлетворяющих условию $i<i'$, функции $g_{p,i}$ и $g_{p,i'}$ можно отличить друг от друга хотя бы на одном из наборов $\widetilde\sigma_{p,0}, \widetilde\sigma_{p,1},\dots,\widetilde\sigma_{p,m-1}$. Пусть $k$ – максимальное такое целое неотрицательное число, что $i'-i$ делится на $2^k$. Тогда

$$ \begin{equation*} 2^k\leqslant i'-i\leqslant n<2^{\log_2(n+1)}\leqslant 2^m, \end{equation*} \notag $$
поэтому $k<m$, т.е. $k\in\{0,\dots,m-1\}$. Докажем, что значение функции $g_{p,i}\oplus g_{p,i'}$ на наборе $\widetilde\sigma_{p,k}$ равно $1$; отсюда будет следовать, что $g_{p,i}(\widetilde\sigma_{p,k})\ne g'_{p,i}(\widetilde\sigma_{p,k})$. В силу определения функций $g_{p,0},g_{p,1},\dots,g_{p,n}$ при $i\geqslant 1$, $i'\leqslant n-1$ имеем
$$ \begin{equation*} g_{p,i}\oplus g_{p,i'}=(x_{i+1}\oplus\dots\oplus x_n\oplus p)\oplus (x_{i'+1}\oplus\dots\oplus x_n\oplus p)= x_{i+1}\oplus\dots\oplus x_{i'}; \end{equation*} \notag $$
при $i\geqslant 1$, $i'=n$ имеем
$$ \begin{equation*} g_{p,i}\oplus g_{p,i'}=(x_{i+1}\oplus\dots\oplus x_n\oplus p)\oplus p=x_{i+1}\oplus\dots\oplus x_n=x_{i+1}\oplus\dots\oplus x_{i'}; \end{equation*} \notag $$
при $i=0$, $i'\leqslant n-1$ имеем
$$ \begin{equation*} g_{p,i}\oplus g_{p,i'}=(x_1\oplus\dots\oplus x_n\oplus 1)\oplus (x_{i'+1}\oplus\dots\oplus x_n\oplus p)=x_1\oplus\dots\oplus x_{i'}\oplus p\oplus 1; \end{equation*} \notag $$
наконец, при $i=0$, $i'=n$ имеем
$$ \begin{equation*} g_{p,i}\oplus g_{p,i'}=(x_1\oplus\dots\oplus x_n\oplus 1)\oplus p=x_1\oplus\dots\oplus x_{i'}\oplus p\oplus 1. \end{equation*} \notag $$
Таким образом, функция $g_{p,i}\oplus g_{p,i'}$ равна $x_{i+1}\oplus\dots\oplus x_{i'}$ при $i\geqslant 1$ и равна $x_1\oplus\dots\oplus x_{i'}\oplus p\oplus 1$ при $i=0$. Число $i'-i$ делится на $2^k$, но не делится на $2^{k+1}$, поэтому число $(i'-i)/2^k$ нечетно и представимо в виде $2a+1$, где $a\in\mathbb N\cup\{0\}$. В силу определения наборов $\widetilde\sigma_0,\widetilde\sigma_1,\dots,\widetilde\sigma_{m-1}$ набор $\widetilde\sigma_k$ обладает следующим свойством: среди любых $2^k$ его последовательных разрядов имеется ровно один единичный, значит, сумма по модулю $2$ любых $2^k$ последовательных разрядов набора $\widetilde\sigma_k$ равна $1$. В случае $i\geqslant 1$ значение функции $x_{i+1}\oplus\dots\oplus x_{i'}$ на наборе $\widetilde\sigma_{p,k}$ равно сумме по модулю $2$ некоторых $i'-i=2^k(2a+1)$ его последовательных разрядов, среди которых нет крайнего левого, так как $i+1\geqslant 2$. Следовательно, указанное значение равно сумме по модулю $2$ некоторых $2^k(2a+1)$ последовательных разрядов набора $\widetilde\sigma_k$, т.е. равно сумме $2a+1$ единиц по модулю $2$ и равно $1$. В случае $i=0$ значение функции $x_1\oplus\dots\oplus x_{i'}\oplus p\oplus 1$ на наборе $\widetilde\sigma_{p,k}$ равно сумме по модулю $2$ крайних левых $i'=i'-i=2^k(2a+1)$ его разрядов и числа $p\oplus 1$. Заметим, что сумма по модулю $2$ крайних левых $2^k(2a+1)$ разрядов набора $\widetilde\sigma_k$ равна $1$, а сумма по модулю $2$ крайних левых $2^k(2a+1)$ разрядов набора $\widetilde\sigma_{p,k}$ получается из нее прибавлением $p\oplus 1$ по модулю $2$, так как число, стоящее в крайнем левом разряде, меняется с $1$ на $p$. Тем самым показано, что значение функции $x_1\oplus\dots\oplus x_{i'}\oplus p\oplus 1$ на наборе $\widetilde\sigma_{p,k}$ равно $1\oplus(p\oplus 1)\oplus(p\oplus 1)=1$.

В итоге получаем, что значение функции $g_{p,i}\oplus g_{p,i'}$ на наборе $\widetilde\sigma_{p,k}$ равно $1$, что и требовалось доказать. Отсюда вытекает, что $g_{p,i}(\widetilde\sigma_{p,k})\ne g'_{p,i}(\widetilde\sigma_{p,k})$, т.е. функции $g_{p,i}$ и $g_{p,i'}$ можно отличить друг от друга хотя бы на одном из наборов $\widetilde\sigma_{p,0},\widetilde\sigma_{p,1},\dots, \widetilde\sigma_{p,m-1}$ и множество $T^n_p$ является ДТ мощности не более $m=\lceil\log_2(n+1)\rceil$ для множества $M^n_p$. Лемма 1 доказана.

Лемма 2. Пусть $n\geqslant 2$, $g_{p,i}(\widetilde x_n)=x_{i+1}\oplus\dots\oplus x_n\oplus p$ для каждых $i=1,\dots,n-1$ и $p=0,1$, $g_{p,n}(\widetilde x^{\,n})\equiv p$ для каждого $p=0,1$. Тогда для множества $\{\overline l_n,g_{0,1},\dots,g_{0,n}, g_{1,1},\dots,g_{1,n}\}$ существует ДТ мощности не более $\lceil\log_2(n+1)\rceil+1$.

Доказательство. Введем для удобства обозначение $g_{1,0}=\overline l_n$. В силу леммы 1 для множества $M^n_1=\{g_{1,0},g_{1,1},\dots,g_{1,n}\}$ существует ДТ $T^n_1$ мощности не более $\lceil\log_2(n+1)\rceil$. Докажем, что множество $M^n=\{g_{0,1},\dots,g_{0,n},g_{1,0},g_{1,1},\dots,g_{1,n}\}$ допускает ДТ $T^n=T^n_1\cup\{\widetilde 0^n\}$, где $\widetilde 0^n=(\underbrace{0\dots 0}_n)$. Заметим, что $g_{0,i}(\widetilde 0^n)=0$ для любого $i\in\{1,\dots,n\}$ и $g_{1,i'}(\widetilde 0^n)=1$ для любого $i'\in\{0,1,\dots,n\}$. Следовательно, функции $g_{0,i}$ и $g_{1,i'}$ можно отличить друг от друга на наборе $\widetilde 0^n\in T^n$. Для любых различных $i,i'\in\{0,1,\dots,n\}$ функции $g_{1,i}$ и $g_{1,i'}$ можно отличить друг от друга хотя бы на одном наборе из множества $T^n_1\subseteq T^n$, поскольку $T^n_1$ – ДТ для $M^n_1$. Осталось различить между собой функции $g_{0,i}$ и $g_{0,i'}$, где $i$ и $i'$ – произвольные различные индексы из множества $\{1,\dots,n\}$. Легко видеть, что $g_{0,i}=g_{1,i}\oplus 1$ и $g_{0,i'}=g_{1,i'}\oplus 1$, поэтому

$$ \begin{equation*} g_{0,i}\oplus g_{0,i'}=(g_{1,i}\oplus 1)\oplus(g_{1,i'}\oplus 1)= g_{1,i}\oplus g_{1,i'}, \end{equation*} \notag $$
откуда следует, что функции $g_{0,i}$ и $g_{0,i'}$ можно различить на том же наборе из множества $T^n_1\subseteq T^n$, что и функции $g_{1,i}$ и $g_{1,i'}$.

В итоге получаем, что любые две функции из множества $M^n$ можно различить на наборах из множества $T^n$, поэтому $T^n$ – ДТ для $M^n$. Мощность этого теста не превосходит $|T^n_1|+1\leqslant\lceil\log_2(n+1)\rceil+1$. Лемма 2 доказана.

Лемма 3. Пусть $p\in\{0,1\}$, $n\geqslant 2$, $g_{p,i}(\widetilde x^{\,n})=x_{i+1}\oplus\dots\oplus x_n\oplus p$ для каждого $i=2,\dots,n-1$ (в случае $n\geqslant 3$) и $g_{p,n}(\widetilde x^{\,n})\equiv p$. Тогда для множества $\{l_n,g_{p,2},\dots,g_{p,n}\}$ существует ДТ мощности не более $\lceil\log_2 n\rceil$.

Доказательство. В случае $n=2$ функции $l_2(x_1,x_2)=x_1\oplus x_2$ и $g_{p,2}(x_1,x_2)\equiv p$ можно отличить друг от друга на наборе $(p1)$, поэтому для множества $\{l_2,g_{p,2}\}$ существует ДТ мощности $1=\lceil\log_2 2\rceil$. Далее будем считать, что $n\geqslant 3$. Пусть

$$ \begin{equation*} \begin{aligned} \, g^{n-1}_{p,0}(\widetilde x^{\,n-1})&= \overline l_{n-1}(\widetilde x^{\,n-1})= x_1\oplus\dots\oplus x_{n-1}\oplus 1, \\ g^{n-1}_{p,i}(\widetilde x^{\,n-1})&=x_{i+1}\oplus\dots\oplus x_{n-1}\oplus p,\qquad i=1,\dots,n-2, \\ g^{n-1}_{p,n-1}(\widetilde x^{\,n-1})&\equiv p. \end{aligned} \end{equation*} \notag $$
Тогда в силу леммы 1, применяемой с заменой $n$ на $n-1$, для множества $M^{n-1}_p=\{g^{n-1}_{p,0},g^{n-1}_{p,1}, \dots,g^{n-1}_{p,n-1}\}$ существует ДТ $T^{n-1}_p$ мощности не более $\lceil\log_2 n\rceil$. Все наборы из множества $T^{n-1}_p$ являются $(n-1)$-разрядными. Добавим к каждому из них слева еще один разряд, равный $1$. Полученное множество $\widehat T^n_p$ состоит из $n$-разрядных наборов и также имеет мощность не более $\lceil\log_2 n\rceil$. Докажем, что $\widehat T^n_p$ – ДТ для множества $\widehat M^n_p=\{l_n,g_{p,2},\dots,g_{p,n}\}$. Достаточно доказать, что для любых двух различных функций $f_1,f_2\in\widehat M^n_p$ в $\widehat T^n_p$ найдется набор, на котором значения функций $f_1(\widetilde x^{\,n})$ и $f_2(\widetilde x^{\,n})$ различаются. Имеем
$$ \begin{equation*} \begin{gathered} \, l_n(1,x_2,\dots,x_n)=x_2\oplus\dots\oplus x_n\oplus 1=g^{n-1}_{p,0}(x_2,\dots,x_n), \\ g_{p,i}(1,x_2,\dots,x_n)=x_{i+1}\oplus\dots\oplus x_n\oplus p=g^{n-1}_{p,i-1}(x_2,\dots,x_n),\qquad i=2,\dots,n-1, \\ g_{p,n}(1,x_2,\dots,x_n)\equiv p\equiv g^{n-1}_{p,n-1}(x_2,\dots,x_n). \end{gathered} \end{equation*} \notag $$
Таким образом,
$$ \begin{equation*} f_1(1,x_2,\dots,x_n)=g^{n-1}_{p,i}(x_2,\dots,x_n),\qquad f_2(1,x_2,\dots,x_n)=g^{n-1}_{p,i'}(x_2,\dots,x_n) \end{equation*} \notag $$
для некоторых различных $i,i'\in\{0,1,\dots,n-1\}$. Существует набор $(\sigma_1,\dots,\sigma_{n-1})\in T^{n-1}_p$ такой, что $g^{n-1}_{p,i}(\sigma_1,\dots,\sigma_{n-1})\ne g^{n-1}_{p,i'}(\sigma_1,\dots,\sigma_{n-1})$, так как $T^{n-1}_p$ – ДТ для множества $M^{n-1}_p$ и $g^{n-1}_{p,i},g^{n-1}_{p,i'}\in M^{n-1}_p$. Тогда
$$ \begin{equation*} f_1(1,\sigma_1,\dots,\sigma_{n-1})= g^{n-1}_{p,i}(\sigma_1,\dots,\sigma_{n-1})\ne g^{n-1}_{p,i'}(\sigma_1,\dots,\sigma_{n-1})= f_2(1,\sigma_1,\dots,\sigma_{n-1}), \end{equation*} \notag $$
т.е. $f_1(1,\sigma_1,\dots,\sigma_{n-1})\ne f_2(1,\sigma_1,\dots,\sigma_{n-1})$. Заметим, что $(1,\sigma_1,\dots,\sigma_{n-1})\in\widehat T^n_p$ в силу построения множества $\widehat T^n_p$.

В итоге получаем, что $\widehat T^n_p$ – ДТ мощности не более $\lceil\log_2 n\rceil$ для множества $\widehat M^n_p$. Лемма 3 доказана.

Лемма 4. Пусть $n\geqslant 2$, $g_{p,i}(\widetilde x^{\,n})=x_{i+1} \oplus\dots\oplus x_n\oplus p$ для каждых $i=2,\dots,n-1$ и $p=0,1$ (в случае $n\geqslant 3$), $g_{p,n}(\widetilde x^{\,n})\equiv p$ для каждого $p=0,1$. Тогда для множества $\{l_n,g_{0,2},\dots,g_{0,n},g_{1,2},\dots,g_{1,n}\}$ существует ДТ мощности не более $\lceil\log_2 n\rceil+1$.

Доказательство. Лемма 4 выводится из леммы 3 по аналогии с тем, как лемма 2 выводится из леммы 1. Введем для удобства обозначение $g_{0,1}=l_n$. В силу леммы 3 для множества $\widehat M^n_0=\{g_{0,1},g_{0,2},\dots,g_{0,n}\}$ существует ДТ $\widehat T^n_0$ мощности не более $\lceil\log_2 n\rceil$. Докажем, что множество $\widehat M^n= \{g_{0,1},g_{0,2},\dots,g_{0,n},g_{1,2},\dots,g_{1,n}\}$ допускает ДТ $\widehat T^n=\widehat T^n_0\cup\{\widetilde 0^n\}$, где $\widetilde 0^n=(\underbrace{0\dots 0}_n)$. Заметим, что $g_{0,i}(\widetilde 0^n)=0$ для любого $i\in\{1,\dots,n\}$ и $g_{1,i'}(\widetilde 0^n)=1$ для любого $i'\in\{2,\dots,n\}$. Следовательно, функции $g_{0,i}$ и $g_{1,i'}$ можно отличить друг от друга на наборе $\widetilde 0^n\in\widehat T^n$. Для любых различных $i,i'\in\{1,\dots,n\}$ функции $g_{0,i}$ и $g_{0,i'}$ можно отличить друг от друга хотя бы на одном наборе из множества $\widehat T^n_0\subseteq\widehat T^n$, поскольку $\widehat T^n_0$ – ДТ для $\widehat M^n_0$. Осталось различить между собой функции $g_{1,i}$ и $g_{1,i'}$, где $i$ и $i'$ – произвольные различные индексы из множества $\{2,\dots,n\}$. Легко видеть, что $g_{1,i}=g_{0,i}\oplus 1$ и $g_{1,i'}=g_{0,i'}\oplus 1$, поэтому

$$ \begin{equation*} g_{1,i}\oplus g_{1,i'}=(g_{0,i}\oplus 1)\oplus(g_{0,i'}\oplus 1)= g_{0,i}\oplus g_{0,i'}, \end{equation*} \notag $$
откуда следует, что функции $g_{1,i}$ и $g_{1,i'}$ можно различить на том же наборе из множества $\widehat T^n_0\subseteq\widehat T^n$, что и функции $g_{0,i}$ и $g_{0,i'}$.

В итоге получаем, что любые две функции из множества $\widehat M^n$ можно различить на наборах из множества $\widehat T^n$, поэтому $\widehat T^n$ – ДТ для $\widehat M^n$. Мощность этого теста не превосходит $|\widehat T^n_0|+1\leqslant\lceil\log_2 n\rceil+1$. Лемма 4 доказана.

3. Формулировки и доказательства основных результатов

Вместо “вход схемы $S$, отвечающий переменной $x_i$” для краткости будем писать “вход $x_i$ схемы $S$”.

Рассмотрим базис $B_\oplus=\{x\oplus y,1\}$. Любой функциональный элемент, реализующий функцию вида $x\oplus y$ от своих входов, будем называть сумматором. Предполагается, что константа $1$ подается со входа схемы, не является функциональным элементом и не может быть неисправна.

Теорема 1. Справедливы неравенства

$$ \begin{equation*} \begin{alignedat}{2} D^{B_\oplus}_0(l_n)&\leqslant\lceil\log_2 n\rceil,&\qquad D^{B_\oplus}_1(l_n)&\leqslant\lceil\log_2 n\rceil, \\ D^{B_\oplus}_{01}(l_n)&\leqslant\lceil\log_2 n\rceil+1,&\qquad D^{B_\oplus}_0(\overline l_n)&\leqslant\lceil\log_2(n+1)\rceil, \\ D^{B_\oplus}_1(\overline l_n)&\leqslant\lceil\log_2(n+1)\rceil,&\qquad D^{B_\oplus}_{01}(\overline l_n)&\leqslant\lceil\log_2(n+1)\rceil+1. \end{alignedat} \end{equation*} \notag $$

Доказательство. Рассмотрим вначале случай $n=1$. Функцию $l_1(x_1)=x_1$ можно реализовать СФЭ, не содержащей функциональных элементов. У такой схемы нет ни одной функции неисправности, поэтому пустое множество является для нее ПДТ и

$$ \begin{equation*} D^{B_\oplus}_0(l_1)=D^{B_\oplus}_1(l_1)= D^{B_\oplus}_{01}(l_1)=0=\lceil\log_2 1\rceil. \end{equation*} \notag $$
Функцию $\overline l_1(x_1)=x_1\oplus 1$ можно реализовать СФЭ, состоящей из одного сумматора, на входы которого подаются переменная $x_1$ и константа $1$. Очевидно, что при неисправностях типа $0$ (типа $1$) на выходах элементов данная схема имеет единственную функцию неисправности – константу $0$ (соответственно константу $1$), которую можно отличить от функции $x_1\oplus 1$ на наборе $(0)$ (соответственно на наборе $(1)$). Поэтому
$$ \begin{equation*} \begin{aligned} \, D^{B_\oplus}_0(\overline l_1)\leqslant 1&=\lceil\log_2(1+1)\rceil, \\ D^{B_\oplus}_1(\overline l_1)\leqslant 1&=\lceil\log_2(1+1)\rceil. \end{aligned} \end{equation*} \notag $$
При произвольных константных неисправностях на выходах элементов указанная схема имеет две функции неисправности – константы $0$ и $1$, которые можно отличить от функции $x_1\oplus 1$ и друг от друга на наборах $(0)$, $(1)$, поэтому
$$ \begin{equation*} D^{B_\oplus}_{01}(\overline l_1)\leqslant 2= \lceil\log_2(1+1)\rceil+1. \end{equation*} \notag $$
Далее будем считать, что $n\geqslant 2$.

Построим схему $S$ в базисе $B_\oplus$, реализующую функцию $\overline l_n(\widetilde x^{\,n})$ (см. рис. 1). Схема $S$ представляет собой цепочку из сумматоров $E_1,\dots,E_n$. На входы сумматора $E_1$ подаются константа $1$ и переменная $x_1$ со входов схемы. Для каждого $i\in\{2,\dots,n\}$ входы сумматора $E_i$ соединяются с выходом элемента $E_{i-1}$ и со входом $x_i$ схемы. Выходом схемы $S$ объявим выход сумматора $E_n$; легко видеть, что на этом выходе реализуется функция $\overline l_n(\widetilde x^{\,n})$.

Рассмотрим два случая.

1) Пусть в схеме возможны только неисправности заданного типа $p$, $p\in\{0,1\}$, на выходах элементов. Найдем все возможные функции неисправности схемы $S$. Обозначим через $q$ максимальный такой индекс из множества $\{1,\dots,n\}$, что сумматор $E_q$ неисправен. Тогда на выходе этого сумматора реализуется константа $p$. Если $q=n$, то на выходе схемы $S$ получим функцию неисправности $g_{p,n}(\widetilde x^{\,n})\equiv p$. Если же $q\leqslant n-1$, то все сумматоры $E_{q+1},\dots,E_n$ исправны, поэтому на выходе схемы $S$ реализуется функция неисправности $g_{p,q}(\widetilde x^{\,n})=p\oplus x_{q+1}\oplus\dots\oplus x_n$. Таким образом, множество всех функций неисправности схемы $S$ имеет вид $\{g_{p,1},\dots,g_{p,n}\}$ и $M(S)=\{\overline l_n,g_{p,1},\dots,g_{p,n}\}$. По лемме 1 для множества $M(S)$ существует ДТ мощности не более $\lceil\log_2(n+1)\rceil$, поэтому схема $S$ допускает ПДТ длины не более $\lceil\log_2(n+1)\rceil$, откуда следует, что $D^{B_\oplus}_0(\overline l_n)\leqslant\lceil\log_2(n+1)\rceil$ и $D^{B_\oplus}_1(\overline l_n)\leqslant\lceil\log_2(n+1)\rceil$. Четвертое и пятое неравенства из формулировки теоремы 1 доказаны.

2) Пусть в схеме возможны произвольные константные неисправности на выходах элементов. Найдем все возможные функции неисправности схемы $S$. Обозначим через $q$ максимальный такой индекс из множества $\{1,\dots,n-1\}$, что сумматор $E_q$ неисправен. Тогда на выходе этого сумматора реализуется некоторая булева константа $b$. Если $q=n$, то на выходе схемы $S$ получим функцию неисправности $g_{b,n}(\widetilde x^{\,n})\equiv b$. Если же $q\leqslant n-1$, то все сумматоры $E_{q+1},\dots,E_n$ исправны, поэтому на выходе схемы $S$ реализуется функция неисправности $g_{b,q}(\widetilde x^{\,n})=b\oplus x_{q+1}\oplus\dots\oplus x_n$. Таким образом, множество всех функций неисправности схемы $S$ имеет вид $\{g_{0,1},\dots,g_{0,n},g_{1,1},\dots,g_{1,n}\}$ и $M(S)=\{\overline l_n,g_{0,1},\dots,g_{0,n},g_{1,1},\dots, g_{1,n}\}$. По лемме 2 для множества $M(S)$ существует ДТ мощности не более $\lceil\log_2(n+1)\rceil+1$, поэтому схема $S$ допускает ПДТ длины не более $\lceil\log_2(n+1)\rceil+1$ и $D^{B_\oplus}_{01}(\overline l_n)\leqslant \lceil\log_2(n+1)\rceil+1$. Шестое неравенство из формулировки теоремы 1 доказано.

Удалим из схемы $S$ сумматор $E_1$, а соединявшийся с его выходом вход сумматора $E_2$ соединим вместо этого со входом $x_1$ схемы. Полученную схему, выход которой совпадает с выходом элемента $E_n$, обозначим через $S'$ (см. рис. 2); легко видеть, что на выходе схемы $S'$ реализуется функция $l_n(\widetilde x^{\,n})$.

Рассмотрим два случая.

1$'$) Пусть в схеме возможны только неисправности заданного типа $p$, $p\in\{0,1\}$, на выходах элементов. Найдем все возможные функции неисправности схемы $S'$. Обозначим через $q$ максимальный такой индекс из множества $\{2,\dots,n\}$, что сумматор $E_q$ неисправен. Тогда на выходе этого сумматора реализуется константа $p$. Если $q=n$, то на выходе схемы $S'$ получим функцию неисправности $g_{p,n}(\widetilde x^{\,n})\equiv p$. Если же $q\leqslant n-1$, то все сумматоры $E_{q+1},\dots,E_n$ исправны, поэтому на выходе схемы $S'$ реализуется функция неисправности $g_{p,q}(\widetilde x^{\,n})=p\oplus x_{q+1}\oplus\dots\oplus x_n$. Таким образом, множество всех функций неисправности схемы $S'$ имеет вид $\{g_{p,2},\dots,g_{p,n}\}$ и $M(S')=\{l_n,g_{p,2},\dots,g_{p,n}\}$. По лемме 3 для множества $M(S')$ существует ДТ мощности не более $\lceil\log_2 n\rceil$, поэтому схема $S'$ допускает ПДТ длины не более $\lceil\log_2 n\rceil$, откуда следует, что $D^{B_\oplus}_0(l_n)\leqslant\lceil\log_2 n\rceil$ и $D^{B_\oplus}_1(l_n)\leqslant\lceil\log_2 n\rceil$. Первое и второе неравенства из формулировки теоремы 1 доказаны.

2$'$) Пусть в схеме возможны произвольные константные неисправности на выходах элементов. Найдем все возможные функции неисправности схемы $S'$. Обозначим через $q$ максимальный такой индекс из множества $\{2,\dots,n\}$, что сумматор $E_q$ неисправен. Тогда на выходе этого сумматора реализуется некоторая булева константа $b$. Если $q=n$, то на выходе схемы $S'$ получим функцию неисправности $g_{b,n}(\widetilde x^{\,n})\equiv b$. Если же $q\leqslant n-1$, то все сумматоры $E_{q+1},\dots,E_n$ исправны, поэтому на выходе схемы $S'$ реализуется функция неисправности $g_{b,q}(\widetilde x^{\,n})=b\oplus x_{q+1}\oplus\dots\oplus x_n$. Таким образом, множество всех функций неисправности схемы $S'$ имеет вид $\{g_{0,2},\dots,g_{0,n},g_{1,2},\dots,g_{1,n}\}$ и $M(S')=\{l_n,g_{0,2},\dots,g_{0,n},g_{1,2},\dots,g_{1,n}\}$. По лемме 4 для множества $M(S')$ существует ДТ мощности не более $\lceil\log_2 n\rceil+1$, поэтому схема $S'$ допускает ПДТ длины не более $\lceil\log_2 n\rceil+1$, откуда следует, что $D^{B_\oplus}_{01}(l_n)\leqslant\lceil\log_2 n\rceil+1$. Третье неравенство из формулировки теоремы, а вместе с ним и вся теорема 1 доказаны.

Рассмотрим базис $B_1=\{x\&\overline y,x\vee y,\overline x\}$. Любой функциональный элемент, реализующий функцию вида $x\vee y$ (вида $x\&\overline y$, вида $\overline x$) от своих входов, будем называть дизъюнктором (соответственно косым конъюнктором, инвертором). Вход произвольного косого конъюнктора, отвечающий переменной $x$ (переменной $y$), будем считать положительным (соответственно отрицательным).

Теорема 2. Справедливы неравенства

$$ \begin{equation*} D^{B_1}_1(l_n)\leqslant\lceil\log_2 n\rceil,\qquad D^{B_1}_1(\overline l_n)\leqslant\lceil\log_2(n+1)\rceil. \end{equation*} \notag $$

Доказательство. Рассмотрим вначале случай $n=1$. Функцию $l_1(x_1)=x_1$ можно реализовать СФЭ, не содержащей функциональных элементов. У такой схемы нет ни одной функции неисправности, поэтому пустое множество является для нее ПДТ и $D^{B_1}_1(l_1)=0$. Функцию $\overline l_1(x_1)=\overline x_1$ можно реализовать СФЭ, состоящей из одного инвертора. Очевидно, что данная схема имеет единственную функцию неисправности (при неисправностях типа $1$ на выходах элементов) – константу $1$, которую можно отличить от функции $\overline x_1$ на наборе $(1)$, поэтому $D^{B_1}_1(\overline l_1)\leqslant 1$. Далее будем считать, что $n\geqslant 2$.

Построим схему $S_\oplus$ со входами $x$ и $y$ в базисе $B_1$, реализующую функцию $x\oplus y$ (см. рис. 3). Переменная $x$ подается на положительный, а переменная $y$ – на отрицательный вход косого конъюнктора. Кроме того, переменная $x$ подается на отрицательный, а переменная $y$ – на положительный вход другого косого конъюнктора. Выходы указанных двух косых конъюнкторов соединяются со входами дизъюнктора, выход которого объявляется выходом схемы $S_\oplus$. Очевидно, что на этом выходе реализуется функция $(x\&\overline y)\vee(\overline x\&y)=x\oplus y$, а единственной функцией неисправности схемы $S_\oplus$ является тождественная единица.

Теперь построим схему $S$ в базисе $B_1$, реализующую функцию $\overline l_n(\widetilde x^{\,n})$ (см. рис. 4). Схема $S$ состоит из подсхем $S_1,\dots,S_n$. Подсхема $S_1$ содержит единственный элемент – инвертор, вход которого соединяется со входом $x_1$ схемы. Для каждого $i\in\{2,\dots,n\}$ подсхема $S_i$ представляет собой копию схемы $S_\oplus$. Входы подсхемы $S_i$ соединяются с выходом подсхемы $S_{i-1}$ и со входом $x_i$ схемы. Выходом схемы $S$ объявим выход подсхемы $S_n$; легко видеть, что на этом выходе реализуется функция $\overline x_1\oplus x_2 \oplus\dots\oplus x_n=\overline l_n(\widetilde x^{\,n})$.

Найдем все возможные функции неисправности схемы $S$. Пусть $q$ – максимальный такой индекс из множества $\{1,\dots,n\}$, что в подсхеме $S_q$ хотя бы один элемент неисправен. Тогда на выходе этой подсхемы реализуется константа $1$. Если $q=n$, то на выходе схемы $S$ получим функцию неисправности $g_{1,n}(\widetilde x^{\,n})\equiv 1$. Если же $q\leqslant n-1$, то в подсхемах $S_{q+1},\dots,S_n$ все элементы исправны и каждая из них реализует функцию $x\oplus y$ от своих входов, поэтому на выходе схемы $S$ реализуется функция неисправности $g_{1,q}(\widetilde x^{\,n})=1\oplus x_{q+1}\oplus\dots\oplus x_n$. Таким образом, множество всех функций неисправности схемы $S$ имеет вид $\{g_{1,1},\dots,g_{1,n}\}$ и $M(S)=\{\overline l_n,g_{1,1},\dots,g_{1,n}\}$. По лемме 1 для множества $M(S)$ существует ДТ мощности не более $\lceil\log_2(n+1)\rceil$, поэтому схема $S$ допускает ПДТ длины не более $\lceil\log_2(n+1)\rceil$ и неравенство $D^{B_1}_1(\overline l_n)\leqslant\lceil\log_2(n+1)\rceil$ доказано.

Удалим из схемы $S$ подсхему $S_1$, а соединявшийся с ее выходом вход подсхемы $S_2$ соединим вместо этого со входом $x_1$ схемы. Полученную схему, выход которой совпадает с выходом подсхемы $S_n$, обозначим через $S'$ (см. рис. 5); легко видеть, что на выходе схемы $S'$ реализуется функция $l_n(\widetilde x^{\,n})$.

Найдем все возможные функции неисправности схемы $S'$. Пусть $q$ – максимальный такой индекс из множества $\{2,\dots,n\}$, что в подсхеме $S_q$ хотя бы один элемент неисправен. Тогда на выходе этой подсхемы реализуется константа $1$. Если $q=n$, то на выходе схемы $S'$ получим функцию неисправности $g_{1,n}(\widetilde x^{\,n})\equiv 1$. Если же $q\leqslant n-1$, то в подсхемах $S_{q+1},\dots,S_n$ все элементы исправны и каждая из них реализует функцию $x\oplus y$ от своих входов, поэтому на выходе схемы $S'$ реализуется функция неисправности $g_{1,q}(\widetilde x^{\,n})=1\oplus x_{q+1}\oplus\dots\oplus x_n$. Таким образом, множество всех функций неисправности схемы $S'$ имеет вид $\{g_{1,2},\dots,g_{1,n}\}$ и $M(S')=\{l_n,g_{1,2},\dots,g_{1,n}\}$. По лемме 3 для множества $M(S')$ существует ДТ мощности не более $\lceil\log_2 n\rceil$, поэтому схема $S'$ допускает ПДТ длины не более $\lceil\log_2 n\rceil$ и неравенство $D^{B_1}_1(l_n)\leqslant\lceil\log_2 n\rceil$, а вместе с ним теорема 2 доказаны.

Из теоремы 2 с использованием принципа двойственности (см., например, [17; с. 24]) можно получить неравенства

$$ \begin{equation*} \begin{aligned} \, D^{B^*_1}_0(l_n)&\leqslant\begin{cases} \lceil\log_2 n\rceil,&\text{если } n \text{ нечетно}, \\ \lceil\log_2(n+1)\rceil,&\text{если } n \text{ четно}, \end{cases} \\ D^{B^*_1}_0(\overline l_n)&\leqslant\begin{cases} \lceil\log_2(n+1)\rceil,&\text{если } n \text{ нечетно}, \\ \lceil\log_2 n\rceil,&\text{если } n \text{ четно}, \end{cases} \end{aligned} \end{equation*} \notag $$
где $B^*_1=\{x\&y,x\to y,\overline x\}$ – базис, двойственный базису $B_1$.

Рассмотрим стандартный базис $B_0=\{x\&y,x\vee y,\overline x\}$. Любой функциональный элемент, реализующий функцию вида $x\&y$ от своих входов, будем называть конъюнктором.

Теорема 3. Справедливы неравенства $D^{B_0}_0(l_n)\leqslant n$, $D^{B_0}_0(\overline l_n)\leqslant n$, $D^{B_0}_1(l_n)\leqslant n$ и $D^{B_0}_1(\overline l_n)\leqslant n$.

Доказательство. Докажем неравенства $D^{B_0}_0(l_n)\leqslant n$ и $D^{B_0}_0(\overline l_n)\leqslant n$; оставшиеся два неравенства будут следовать из них по принципу двойственности. Рассмотрим вначале случай $n=1$. Функцию $l_1(x_1)=x_1$ можно реализовать СФЭ, не содержащей функциональных элементов. У такой схемы нет ни одной функции неисправности, поэтому пустое множество является для нее ПДТ и $D^{B_0}_0(l_1)=0$. Функцию $\overline l_1(x_1)=\overline x_1$ можно реализовать СФЭ, состоящей из одного инвертора. Очевидно, что данная схема имеет единственную функцию неисправности (при неисправностях типа $0$ на выходах элементов) – константу $0$, которую можно отличить от функции $\overline x_1$ на наборе $(0)$, поэтому $D^{B_0}_0(\overline l_1)\leqslant 1$. Далее будем считать, что $n\geqslant 2$.

Построим схему $S_\oplus$ со входами $x$ и $y$ в базисе $B_0$, реализующую функцию $x\oplus y$ (см. рис. 6). Переменные $x$ и $y$ подаются на входы конъюнктора $E$ и на входы дизъюнктора. Выход элемента $E$ соединяется со входом инвертора, а выходы инвертора и дизъюнктора соединяются со входами еще одного конъюнктора, выход которого объявляется выходом схемы $S_\oplus$. Легко видеть, что на этом выходе реализуется функция $\overline{x\&y}\&(x\vee y)=x\oplus y$, а схема $S_\oplus$ имеет ровно две функции неисправности: константу $0$ и функцию $x\vee y$ (последняя из них возникает при неисправности конъюнктора $E$).

Теперь построим схему $S$ в базисе $B_0$, реализующую функцию $l_n(\widetilde x^{\,n})$. Схема $S$ имеет вид, изображенный на рис. 5. Она состоит из подсхем $S_2,\dots,S_n$ (для удобства выберем именно такую нумерацию), каждая из которых представляет собой копию схемы $S_\oplus$. Входы подсхемы $S_2$ соединяются со входами $x_1$ и $x_2$ схемы $S$. В случае $n\geqslant 3$ для каждого $i\in\{3,\dots,n\}$ входы подсхемы $S_i$ соединяются с выходом подсхемы $S_{i-1}$ и со входом $x_i$ схемы $S$. Выходом схемы $S$ объявим выход подсхемы $S_n$; очевидно, что на этом выходе реализуется функция $l_n(\widetilde x^{\,n})$.

Найдем все возможные функции неисправности схемы $S$. Пусть $q$ – максимальный такой индекс из множества $\{2,\dots,n\}$, что подсхема $S_q$, рассматриваемая как схема со входами $x$ и $y$, реализует тождественный нуль (если такого индекса нет, полагаем $q=0$). Тогда в случае $2\leqslant q\leqslant n-1$ каждая из подсхем $S_{q+1},\dots,S_n$, а в случае $q=0$ каждая из подсхем $S_2,\dots,S_n$, как показано выше, реализует либо сумму по модулю $2$, либо дизъюнкцию значений, подаваемых на свои входы. Отсюда с учетом равенств $0\oplus x_{q+1}=x_{q+1}$, $0\vee x_{q+1}=x_{q+1}$ получаем, что каждая функция неисправности схемы $S$ имеет вид

$$ \begin{equation} g_{q,i}(\widetilde x^{\,n})=\underbrace{(\cdots(}_{n-q-2}x_{q+1} \circ_{i,1}x_{q+2})\circ_{i,2}x_{q+3})\cdots \circ_{i,n-q-2}x_{n-1})\circ_{i,n-q-1}x_n \end{equation} \tag{3.1} $$
(в случаях $q=n$, $q=n-1$ и $q=n-2$ полагаем соответственно $g_{q,i}(\widetilde x^{\,n})\equiv 0$, $g_{q,i}(\widetilde x^{\,n})=x_n$ и $g_{q,i}(\widetilde x^{\,n})=x_{n-1}\circ_{i,1}x_n$), где $q\in\{0,2,3,\dots,n\}$ и каждая из бинарных операций $\circ_{i,1},\dots,\circ_{i,n-q-1}$ – это либо $\oplus$, либо $\vee$. Функция $l_n(\widetilde x^{\,n})$ также имеет вид (3.1) при $q=0$ и $\circ_{i,1}=\cdots=\circ_{i,n-q-1}=\oplus$ (под равенством бинарных операций понимается их совпадение).

Докажем, что схема $S$ допускает ПДТ $T=\{\widetilde\sigma_1,\dots,\widetilde\sigma_n\}$, где

$$ \begin{equation*} \widetilde\sigma_1=(1\underbrace{0\dots 0}_{n-1}),\qquad \widetilde\sigma_k=(\underbrace{0\dots 0}_{k-2}11 \underbrace{0\dots 0}_{n-k}),\quad k=2,\dots,n. \end{equation*} \notag $$
Достаточно доказать, что любые две различные булевы функции вида (3.1) можно отличить друг от друга хотя бы на одном из наборов $\widetilde\sigma_1,\dots,\widetilde\sigma_n$. Итак, пусть $g_{q,i}(\widetilde x^{\,n})$ – функция вида (3.1) и
$$ \begin{equation} g_{r,j}(\widetilde x^{\,n})=\underbrace{(\cdots(}_{n-r-2}x_{r+1} \circ_{j,1}x_{r+2})\circ_{j,2}x_{r+3})\cdots \circ_{j,n-r-2}x_{n-1})\circ_{j,n-r-1}x_n \end{equation} \tag{3.2} $$
(в случаях $r=n$, $r=n-1$ и $r=n-2$ полагаем соответственно $g_{r,j}(\widetilde x^{\,n})\equiv 0$, $g_{r,j}(\widetilde x^{\,n})=x_n$ и $g_{r,j}(\widetilde x^{\,n})=x_{n-1}\circ_{j,1}x_n$), где $r\in\{0,2,3,\dots,n\}$ и $\circ_{j,1},\dots,\circ_{j,n-r-1}\in\{\oplus,\vee\}$, причем $g_{q,i}\ne g_{r,j}$. Без ограничения общности $q\geqslant r$. Рассмотрим два случая.

1. Пусть $q\geqslant r+1$. Докажем, что $g_{q,i}(\widetilde\sigma_{r+1})=0$ и $g_{r,j}(\widetilde\sigma_{r+1})=1$. Из определения наборов $\widetilde\sigma_1,\dots,\widetilde\sigma_n$ вытекает, что крайние правые $n-r-1$ разрядов набора $\widetilde\sigma_{r+1}$ равны $0$, а его $(n-r)$-й справа разряд равен $1$, поэтому в силу неравенства $n-q\leqslant n-r-1$, соотношения (3.1) и равенств $0\oplus 0=0$, $0\vee 0=0$ имеем

$$ \begin{equation} g_{q,i}(\widetilde\sigma_{r+1})=\underbrace{(\cdots(}_{n-q-2}0 \circ_{i,1}0)\circ_{i,2}0)\cdots\circ_{i,n-q-2}0)\circ_{i,n-q-1}0=0, \end{equation} \tag{3.3} $$
а в силу соотношения (3.2) и равенств $1\oplus 0=1$, $1\vee 0=1$ имеем
$$ \begin{equation} g_{r,j}(\widetilde\sigma_{r+1})=\underbrace{(\dots(}_{n-r-2}1 \circ_{j,1}0)\circ_{j,2}0)\dots\circ_{j,n-r-2}0)\circ_{i,n-r-1}0=1, \end{equation} \tag{3.4} $$
что и требовалось доказать.

2. Пусть $q=r$. Из различия функций $g_{q,i}$ и $g_{r,j}$ следует неравенство $q\leqslant n-2$ и существование такого $t\in\{1,\dots,n-q-1\}$, что $\circ_{i,t}\ne\circ_{j,t}$. Без ограничения общности $\circ_{i,t}=\oplus$, $\circ_{j,t}=\vee$. Докажем, что $g_{q,i}(\widetilde\sigma_{t+q+1})=0$ и $g_{r,j}(\widetilde\sigma_{t+q+1})=1$. Из определения наборов $\widetilde\sigma_1,\dots,\widetilde\sigma_n$ вытекает, что в наборе $\widetilde\sigma_{t+q+1}$ единицы стоят только в $(t+q)$-м и $(t+q+1)$-м слева разрядах, поэтому в силу соотношений (3.1), (3.2) и свойств функций $x\oplus y$, $x\vee y$ имеем

$$ \begin{equation*} \nonumber g_{q,i}(\widetilde\sigma_{t+q+1}) = \underbrace{(\cdots(}_{n-q-2}0\circ_{i,1}0)\cdots\circ_{i,t-2}0) \circ_{i,t-1}1)\circ_{i,t}1)\circ_{i,t+1}0)\cdots\circ_{i,n-q-1}0 \end{equation*} \notag $$
$$ \begin{equation*} \nonumber =\underbrace{(\cdots(}_{n-q-t}0\circ_{i,t-1}1)\oplus 1) \circ_{i,t+1}0)\cdots\circ_{i,n-q-1}0 \end{equation*} \notag $$
$$ \begin{equation} =\underbrace{(\cdots(}_{\substack{n-q-\\-t-2}}0\circ_{i,t+1}0) \cdots\circ_{i,n-q-1}0=0, \end{equation} \tag{3.5} $$
$$ \begin{equation*} \nonumber g_{r,j}(\widetilde\sigma_{t+q+1}) = \underbrace{(\cdots(}_{n-q-2}0\circ_{j,1}0)\cdots\circ_{j,t-2}0) \circ_{j,t-1}1)\circ_{j,t}1)\circ_{j,t+1}0)\cdots\circ_{j,n-q-1}0 \end{equation*} \notag $$
$$ \begin{equation*} \nonumber =\underbrace{(\cdots(}_{n-q-t}0\circ_{j,t-1}1)\vee 1)\circ_{j,t+1}0) \cdots\circ_{j,n-q-2}0 \end{equation*} \notag $$
$$ \begin{equation} =\underbrace{(\cdots(}_{\substack{n-q-\\-t-2}}1\circ_{j,t+1}0) \cdots\circ_{j,n-q-1}0=1, \end{equation} \tag{3.6} $$
что и требовалось доказать.

Тем самым установлено, что любые две различные булевы функции вида (3.1) можно отличить друг от друга хотя бы на одном наборе из множества $T$, поэтому схема $S$ допускает ПДТ $T$ длины $n$ и неравенство $D^{B_0}_0(l_n)\leqslant n$ доказано.

Неравенство $D^{B_0}_0(\overline l_n)\leqslant n$ доказывается похожим образом; перечислим основные отличия. Подсхема $S_n$, рассматриваемая как схема со входами $x$ и $y$, теперь не является копией схемы $S_\oplus$, а имеет следующий вид (см. рис. 7). Переменные $x$ и $y$ подаются на входы инверторов $I_1$ и $I_2$ соответственно. Выход элемента $I_1$ и вход $y$ схемы соединяются со входами дизъюнктора, а вход $x$ схемы и выход элемента $I_2$ – со входами другого дизъюнктора. Выходы двух указанных дизъюнкторов соединяются со входами конъюнктора, выход которого объявляется выходом схемы $S_n$. Легко видеть, что на этом выходе реализуется функция

$$ \begin{equation*} (\overline x\vee y)\&(x\vee\overline y)=x\oplus y\oplus 1=x\sim y, \end{equation*} \notag $$
а схема $S_n$ имеет ровно две функции неисправности: константу $0$ и функцию $x\&y$ (последняя из них возникает при неисправности одного или обоих инверторов схемы).

Очевидно, что на выходе схемы $S$ при отсутствии в ней неисправностей реализуется функция $(x_1\oplus\dots\oplus x_{n-1})\oplus x_n\oplus 1= \overline l_n(\widetilde x^{\,n})$.

В представлении (3.1) операция $\circ_{i,n-q-1}$ теперь является одной из операций $\sim$, $\&$, а в случае $q=n-1$ полагаем $g_{q,i}(\widetilde x^{\,n})=\overline x_n$. Функция $\overline l_n(\widetilde x^{\,n})$ также имеет вид (3.1) при $q=0$ и $\circ_{i,1}=\cdots=\circ_{i,n-q-2}=\oplus$, $\circ_{i,n-q-1}=\sim$.

У каждого из наборов $\widetilde\sigma_1,\dots,\widetilde\sigma_{n-1}$ последний разряд меняется с $0$ на $1$. Набор $\widetilde\sigma_n$ становится равным $(\underbrace{0\dots 0}_n)$.

Если выполнен случай 1 (т.е. $q\geqslant r+1$) и при этом $r\leqslant n-2$, или же если выполнен случай 2 (т.е. $q=r$) и при этом $t\leqslant n-q-2$, то в каждом из соотношений (3.3), (3.4) (соответственно в каждом из соотношений (3.5), (3.6)) каждый нуль, стоящий непосредственно перед знаком равенства, заменяется на единицу, поскольку $\widetilde\sigma_{r+1}\in \{\widetilde\sigma_1,\dots,\widetilde\sigma_{n-1}\}$ (соответственно $\widetilde\sigma_{t+q+1}\in\{\widetilde\sigma_1, \dots,\widetilde\sigma_{n-1}\}$); при этом крайняя правая часть каждого из этих соотношений с учетом равенств $0\sim 1=0$, $0\&1=0$, $1\sim 1=1$, $1\&1=1$ остается неизменной. Если выполнен случай 1 и $r=n-1$, то $q=n$, $g_{q,i}(\widetilde x^{\,n})\equiv 0$, $g_{r,j}(\widetilde x^{\,n})=\overline x_n$ и функции $g_{q,i}$ и $g_{r,j}$ можно различить на наборе $\widetilde\sigma_n$.

Наконец, пусть выполнен случай 2 и $t=n-q-1$. Тогда $\circ_{i,n-q-1}\ne\circ_{j,n-q-1}$. Без ограничения общности $\circ_{i,n-q-1}=\sim$, $\circ_{j,n-q-1}=\&$. В силу соотношений (3.1), (3.2) и свойств функций $x\oplus y$, $x\vee y$, $x\sim y$, $x\&y$ имеем

$$ \begin{equation*} \begin{aligned} \, g_{q,i}(\widetilde\sigma_n)&= \underbrace{(\cdots(}_{n-q-2}0\circ_{i,1}0)\cdots\circ_{i,n-q-2}0) \circ_{i,n-q-1}0=0\sim 0=1, \\ g_{r,j}(\widetilde\sigma_n)&= \underbrace{(\cdots(}_{n-q-2}0\circ_{j,1}0)\cdots \circ_{j,n-q-2}0)\circ_{j,n-q-1}0=0\&0=0, \end{aligned} \end{equation*} \notag $$
значит, функции $g_{q,i}$ и $g_{r,j}$ можно различить на наборе $\widetilde\sigma_n$.

Тем самым установлено, что любые две различные булевы функции вида (3.1) можно отличить друг от друга хотя бы на одном наборе из $T=\{\widetilde\sigma_1,\dots,\widetilde\sigma_n\}$, поэтому схема $S$ допускает ПДТ $T$ длины $n$ и неравенство $D^{B_0}_0(\overline l_n)\leqslant n$, а вместе с ним теорема 3 доказаны.

4. Заключение

Легко проверить, что число функциональных элементов в каждой из схем $S$, $S'$, построенных в ходе доказательств теорем 13, не превосходит $4n-3$. С учетом этого обстоятельства, а также малой длины ПДТ для данных схем, широкой распространенности линейных булевых функций и простоты базисов $\{x\oplus y,1\}$, $\{x\&\overline y,x\vee y,\overline x\}$, $\{x\&y,x\vee y,\overline x\}$ полученные результаты могут иметь практическое применение.

СПИСОК ЦИТИРОВАННОЙ ЛИТЕРАТУРЫ

1. С. В. Яблонский, “Надежность и контроль управляющих систем”, Материалы Всесоюзного семинара по дискретной математике и ее приложениям, Изд-во Моск. ун-та, М., 1986, 7–12
2. С. В. Яблонский, “Некоторые вопросы надежности и контроля управляющих систем”, Математические вопросы кибернетики, Вып. 1, Наука, М., 1988, 5–25
3. Н. П. Редькин, Надежность и диагностика схем, Изд-во Моск. ун-та, М., 1992
4. Н. П. Редькин, “К вопросу о длине диагностических тестов для схем”, Матем. заметки, 102:4 (2017), 624–627  mathnet  crossref  mathscinet
5. К. А. Попков, “Нижние оценки длин полных диагностических тестов для схем и входов схем”, ПДМ, 2016, № 4(34), 65–73  mathnet  crossref
6. H. Fujiwara, “On closedness and test complexity of logic circuits”, IEEE Trans. Comput., 30:8 (1981), 556–562  crossref  mathscinet
7. Д. С. Романов, Е. Ю. Романова, “Короткий диагностический тест для одного класса схем”, XXI век: итоги прошлого и пробл. настоящего плюс. Сер.: Технические науки. Информ., вычисл. техника и управл., 2017, № 04 (38), 91–93
8. К. А. Попков, “Полные диагностические тесты длины $2$ для схем при инверсных неисправностях функциональных элементов”, Комплексный анализ, математическая физика и приложения, Сборник статей, Труды МИАН, 301, МАИК «Наука/Интерпериодика», М., 2018, 219–224  mathnet  crossref  mathscinet
9. Г. В. Антюфеев, Д. С. Романов, “Об оценках функции Шеннона длины диагностического теста при локальных константных неисправностях на входах схем”, Вопросы радиоэлектроники. Сер. ЭВТ, 2016, № 2, 49–51
10. К. А. Попков, “Короткие полные диагностические тесты для схем с одним дополнительным входом в стандартном базисе”, ПДМ, 2022, № 56, 104–112  mathnet  crossref
11. К. А. Попков, “Короткие полные диагностические тесты для схем с двумя дополнительными входами в одном базисе”, Дискрет. матем., 34:2 (2022), 67–82  mathnet  crossref
12. В. Г. Хахулин, “О проверяющих тестах для счетчика четности”, Дискрет. матем., 7:4 (1995), 51–59  mathnet  mathscinet  zmath
13. С. Р. Беджанова, “Легкотестируемые схемы для линейных функций”, Вестн. Моск. ун-та. Сер. 1. Матем., мех., 2011, № 4, 57–59  mathnet  mathscinet  zmath
14. Х. А. Мадатян, “Полный тест для бесповторных контактных схем”, Пробл. киберн., 23, Наука, М., 1970, 103–118  mathscinet
15. К. А. Попков, “О полных диагностических тестах для контактных схем при обрывах и/или замыканиях контактов”, Изв. Вузов. Поволжский регион. Физ.-матем. науки, 2019, № 3 (51), 3–24
16. К. А. Попков, “Короткие тесты замыкания для контактных схем”, Матем. заметки, 107:4 (2020), 591–603  mathnet  crossref  mathscinet
17. С. В. Яблонский, Введение в дискретную математику, Наука, М., 1986  mathscinet

Образец цитирования: К. А. Попков, “Короткие полные диагностические тесты для схем, реализующих линейные булевы функции”, Матем. заметки, 113:1 (2023), 75–89; Math. Notes, 113:1 (2023), 80–92
Цитирование в формате AMSBIB
\RBibitem{Pop23}
\by К.~А.~Попков
\paper Короткие полные диагностические тесты для схем,
реализующих линейные булевы функции
\jour Матем. заметки
\yr 2023
\vol 113
\issue 1
\pages 75--89
\mathnet{http://mi.mathnet.ru/mzm13639}
\crossref{https://doi.org/10.4213/mzm13639}
\mathscinet{http://mathscinet.ams.org/mathscinet-getitem?mr=4563350}
\transl
\jour Math. Notes
\yr 2023
\vol 113
\issue 1
\pages 80--92
\crossref{https://doi.org/10.1134/S0001434623010091}
\scopus{https://www.scopus.com/record/display.url?origin=inward&eid=2-s2.0-85149966047}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/mzm13639
  • https://doi.org/10.4213/mzm13639
  • https://www.mathnet.ru/rus/mzm/v113/i1/p75
  • Эта публикация цитируется в следующих 1 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Математические заметки Mathematical Notes
    Статистика просмотров:
    Страница аннотации:172
    PDF полного текста:16
    HTML русской версии:120
    Список литературы:28
    Первая страница:6
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024