УДК 519.718
М. А. Алехина, С. И. Аксенов, А. В. Васин
О ФУНКЦИЯХ И СХЕМАХ, ПРИМЕНЯЕМЫХ ДЛЯ ПОВЫШЕНИЯ НАДЕЖНОСТИ СХЕМ
Найден широкий класс булевых функций, способных повышать надежность схем. Доказано, что при инверсных неисправностях на выходах элементов наличие функции из предлагаемого класса в заданном базисе гарантирует реализацию произвольной булевой функции асимптотически оптимальной по надежности схемой.
Впервые задачу синтеза надежных схем из ненадежных элементов рассматривал Дж. фон Нейман [1]. Он предполагал, что все элементы схемы независимо друг от друга подвержены с вероятностью е (0<е<1/2) инверсным неисправностям на выходах, когда функциональный элемент с приписанной ему функцией ф(Х) в неисправном состоянии реализует функцию ф(Х) . Дж. фон Нейман предложил итерационный метод, позволяющий при 0<е< 1/6 произвольную булеву функцию реализовать схемой, ненадежность которой асимптотически не больше е при условии, что в рассматриваемом базисе содержится функция голосования g (Х1, Х2, Х3) = хх V Х1Х3 V Х2 Х3 .
Метод дает экспоненциальное увеличение сложности схемы (примерно в 3к раз, где к - используемое число итераций). В этом его главный недостаток.
Схема из ненадежных элементов имеет две важные характеристики: вероятность ошибки на выходе схемы (ненадежность) и сложность схемы. Оптимизации сложности схем уделялось главное внимание в работах С. И. Ортюкова [2], Д. Улига [3] и некоторых других авторов. Задача построения асимптотически оптимальных по надежности схем из ненадежных элементов решалась М. А. Алехиной [4]. Сформулируем результаты этих и других авторов.
Рассматривается реализация булевых функций схемами из ненадежных элементов над конечным полным базисом В = {е^ ..., ет} [5]. Множество всех функциональных элементов Еу, функции которых еу принадлежат базису В, будем также называть базисом В [6]. Схема из ненадежных функциональных элементов реализует булеву функцию /(Х1, ..., хп), если при поступлении на вход схемы двоичного набора а = (о^,..., ап) при отсутствии неисправностей на выходе схемы появляется значение /(а). Каждому элементу базиса приписано положительное число у(Еу) - вес данного элемента. Сложность Ь($) схемы S определяется как сумма весов всех входящих в нее элементов. Предполагается, что все элементы схемы независимо друг от друга с вероятностью е (0 <е<1/2) подвержены инверсным неисправностям на выходах.
Пусть Р/о (£, а) - вероятность появления /(а) на выходе схемы S,
реализующей булеву функцию /(Х), при входном наборе а . Ненадежность Р(£) схемы S определяется как максимальное из чисел Р/(~) (£, а) при всевозможных входных наборах а . Надежность схемы £ равна 1-Р(£).
Пусть P (f ) = inf P (S), где S - схема из ненадежных элементов,
реализующая булеву функцию /. Схему A из ненадежных элементов, реализующую булеву функцию /, назовем асимптотически оптимальной по на-
Вводится функция Шеннона Lpе(п) = шахштL(S), где минимум беР’ / й
рется по всем схемам £ из ненадежных элементов, реализующим функцию / (Х1,..., Хп) с ненадежностью Р( £) < р, а максимум - по всем булевым функциям / от п переменных.
Пусть р = шт у(Еу )/(п(Еу) -1), где минимум берется по всем элементам Еу базиса, для которых п(Еу) > 1, а п(Еу) - число существенных переменных функции е^, реализуемой элементом Еу, г = 1,..., т. Для схем, реализующих булевы функции и состоящих только из надежных элементов (т.е. е = 0, р = 0), О. Б. Лупанов [7] показал, что /^(п) ~ р- 2п /п.
С. И. Ортюков [2] получил следующий результат: если 0 <е<е0, р > д(е)Lg, где Lg - минимальное число надежных элементов, необходимое
для реализации функции голосования g (Х1, Х2, Х3) = Х1Х2 V Х2 Х3 V Х1Х3 в рас-
2 2
сматриваемом базисе, q(е) = е + 3е + о(е ) при е^ 0, то существует такая функция р(е)^р при е^0, что Lpе(п) < р(е)2п /п.
Д. Улиг [3] для инверсных неисправностей с вероятностью ошибки не более е показал, что для любых с, Ь (с, Ь > 0) существует е/(е/е (0,1/2)) такое, что при любом е , 0 <е<е', и любом р , р > (1 + Ь) е Lg, справедливо
соотношение Lpе (п) < (1 + с)р- 2п /п.
С. И. Ортюков и Д. Улиг для инверсных неисправностей нашли методы синтеза оптимальных по сложности схем, функционирующих с некоторым уровнем надежности.
С. В. Яблонский [8] рассматривал задачу синтеза надежных схем в базисе В = {Х1&Х2, Х^Х2, Х1 , g(Х1,Х2,Х3) }. В отличие от С. И. Ортюкова и Д. Улига, он предполагал, что элемент, реализующий функцию голосования g(Х1,Х2,Х3) = Х1Х2 V Х2Х3 V Х1Х3, абсолютно надежный, а конъюнктор, дизъ-юнктор и инвертор - ненадежные, подвержены произвольным неисправностям, ненадежность каждого из них не больше е. Доказано [8], что для любого р > 0 существует алгоритм, который для каждой булевой функции
/(Х1,..., Хп) строит такую схему £, что Р(£) < р, L(S) < 2п-1 /п .
Отметим, что все названные авторы для повышения надежности схем использовали функцию голосования g (Х1, Х2, Х3) = Х1Х2 V Х2 Х3 V Х1Х3 .
Задача реализации булевых функций асимптотически оптимальными по надежности схемами при однотипных константных неисправностях только на входах или только на выходах элементов решалась М. А. Алехиной [4]. Предполагалось, что неисправности элементов статистически независимы.
е^О р (/)
Определим константные неисправности, а затем сформулируем полученный ею результат.
Если неисправность такова, что элемент (реализующий в исправном состоянии приписанную ему булеву функцию) в неисправном состоянии, в которое переходит с вероятностью е (0 <е<1/2), реализует константу 0, то она называется неисправностью типа 0 на выходе элемента. Если же элемент в неисправном состоянии реализует константу 1, то такая неисправность называется неисправностью типа 1 на выходе элемента.
Если неисправность элемента такова, что поступающий на его вход нуль не искажается, а поступающая на его вход единица с вероятностью е (0 <е<1/2) может превратиться в нуль, то она называется неисправностью типа 0 на входе элемента. Если же неисправность элемента такова, что поступающая на его вход единица не искажается, а нуль с вероятностью е может превратиться в единицу, то она называется неисправностью типа 1 на входе элемента.
М. А. Алехиной [4] доказано, что во всех неприводимых полных базисах (исключая три случая), содержащих функции не более чем двух переменных, почти все булевы функции можно реализовать асимптотически наилучшими по надежности схемами, функционирующими с ненадежностью асимптотически равной aеt при е ^ 0, константы а и t зависят от базиса и типа неисправностей, ае {1, 2, 3}, te {1, 2}. Сложность таких схем по порядку равна сложности схем, построенных только из надежных элементов (т.е. увеличивается несущественно).
Задача реализации булевых функций асимптотически оптимальными по надежности схемами при инверсных неисправностях на входах элементов решена В. В. Чугуновой для всех полных неприводимых базисов, содержащих функции не более чем двух переменных [9]. Сложность этих схем (так же, как в случае однотипных константных неисправностей) по порядку равна сложности схем, построенных только из надежных элементов.
Для повышения надежности М. А. Алехина [4] применяла схемы, реализующие как функцию голосования g (Х1, Х2, Х3) = Х1Х2 V Х1Х3 V Х2 Х3, так и функции Х1Х2 V Х3Х4 и (х1 V Х2 )(х3 V Х4). С. И. Аксенов [10] расширил множество функций, схемы которых обладают свойством повышать надежность. Он рассматривал функции вида
/ = 1, 2, 3,4 , и показал, что при инверсных неисправностях на выходах элементов наличие любой из этих функций в заданном конечном полном базисе В гарантирует реализацию произвольной булевой функции схемой й, функционирующей с ненадежностью
где е<d , с, й- некоторые положительные константы.
Заметим, что при инверсных неисправностях ненадежность любой схемы, содержащий хотя бы один функциональный элемент, не меньше е. По-
(1)
О1 Со ^ С/|
а также Х1 1Х2 2 V Х3 3 Х4 4 и
XХ1°1 V Х2°2)1Х3°3 V Х4°4 ), где е {0,1},
Р(й) <е + се2,
(2)
этому схемы, ненадежность которых удовлетворяет условию (2), являются асимптотически оптимальными по надежности и функционируют с ненадежностью, асимптотически равной е при е^ 0 .
Позднее М. А. Алехина [4] существенно расширила класс функций, используемых для повышения надежности, и показала, что наличие в базисе булевой функции т( Х1,..., Хк), к > 3, обладающей некоторыми свойствами, при инверсных неисправностях на выходах элементов гарантирует реализацию произвольной булевой функции схемой с ненадежностью, удовлетворяющей неравенству (2). Опишем эти функции.
Пусть булева функция т(Х1,..., Хк), к > 3, обладает свойствами: существуют двоичные наборы а, ( длины к; (будем называть их характеристическими) такие, что на наборе а и всех соседних с ним наборах Х верно т(Х) = 0, а на наборе (3 и всех соседних с ним наборах Х верно т(Х) = 1. Множество функций, обладающих этим свойством, обозначим Мк (к > 3).
Доказано [4], что 22 -2к-1 < | Мк | < 22 -к-2 . Заметим, что Нш -—р- = 0, т.е.
к22
2к
число функций из —к мало по сравнению с числом 22 всех булевых функций от к переменных.
Оказалось, что наличие и некоторых других функций в базисе В гарантирует реализацию произвольной булевой функции схемой с ненадежностью, удовлетворяющей неравенству (2). Описать эти функции и оценить их число — задача авторов этой статьи.
к
Пусть а,(3 — некоторые двоичные наборы длины к; р(а,(3) = ^ |а2- - -
у=1
расстояние Хэмминга между ними.
Пусть булева функция т( Х1,..., Хк), к > 3, обладает следующим
свойством: существуют двоичные наборы а,3 длины к такие, что 1) 3 <р(а,(3) = р<к; 2) для любого набора Х такого, что р (Х,а) < 1, верно т(Х) = 0; 3) для любого набора Х такого, что р (Х,Р) < 1, верно т(Х) = 1.
Обозначим через —к(р) класс функций с названным свойством, а наборы а,3, так же как раньше, будем называть характеристическими. Полагаем к
Мк = У —к(р) (к > 3). Очевидно: 1) —к(к) = —к; 2) —к с —к .
р=3
Теорема 1. Допустим, что любую булеву функцию можно реализовать схемой с ненадежностью не больше р < 1/2 . Пусть схема йт реализует функцию т(Х1,..., Хк) е —к с ненадежностью Р(£т) < р , причем V1 и V0 — вероятности ошибок схемы йт на характеристических наборах. Тогда произвольную функцию /(Х1,...,Хп) можно реализовать такой схемой А, что
Р(А) < шах{у°, V1} + ср2, где положительная константа с < к + 2/2-^.
Доказательство. Пусть функция т(х) имеет характеристические наборы а = (о“,..., ад-) и (3 = ( (3^,(д) такие, что т(а) = 0 и т( (3) = 1. Не ограничивая общности, будем полагать, что для характеристических наборов а ,3 верны следующие соотношения:
а1 * Рь..., ай * рй, а1 = а2 =... = “ = 0 , аГ+1 = аГ+2 =... = ай = и ай+1 = ай+2 = ... = а/ = +1 = +2 = ... = р/ = 0 , а/+1 = а/+2 = ... = ак = Р/+1 = Р/+2 = ... = Рк = 1.
Пусть /(х1,..., хп) — произвольная булева функция. Возьмем г экземпляров схемы S, реализующей функцию / с ненадежностью Р(£) — р, и й-г экземпляров схемы £', реализующей функцию / с ненадежностью Р(£') — р . Соединим первые г из й входов схемы Бт с выходами г экземпляров схемы £ соответственно, а последние й-г входов схемы Бт с выходами й-г экземпляров схемы £' соответственно.
Поскольку любую булеву функцию можно реализовать схемой с ненадежностью не больше р — 1/2, возьмем /-й экземпляров схемы £0, реализующей константу 0 с ненадежностью Р(50) — Р ■ Соединим (й+1)-й, ..., /-й входы схемы £т с выходами /-й экземпляров схемы £0 соответственно.
Возьмем к-/ экземпляров схемы £ь реализующей константу 1 с ненадежностью Р(51) — р , и последние к-/ входов схемы Бт соединим с выходами к-/ экземпляров схемы £ соответственно.
Построенная таким образом схема О реализует функцию/(рис. 1).
х
Рис. 1
Вычислим вероятности ошибок на выходе построенной схемы О.
Пусть входной набор 5 схемы £ является нулевым для функции / т.е. /(а) = 0 . Вероятность ошибки Р^О, а) на выходе схемы О в этом случае удовлетворяет неравенству
к к
Р1(О, ¿5) — V1 + крР(Бт) + 2 с{р> —V1 + кр2 + 2 С{р> —
г=2 г=2
+ кр2 + С
X Р =у1 +кр2 +С[2 ^ р2 X Р = у1 +кр2 + Ск 2 ^ р:
2 рк-1 -1 7-т
1=2
і=0
к + С
к Л Ґ к
2 1 р2 <у1 + к + 2С 2
к 1- р к
р 2-
Следовательно
Р(В,а) <у1 +(к + 2скк/2])р2.
(3)
Пусть входной набор а схемы £ является единичным для функции / т.е. /(а) = 1. Вероятность ошибки Р° (В а) на выходе схемы В также удовлетворяет неравенству
к к Р° (Б, а) <У° + крР(Ят) + 2 С\Р <У° + кр2 +2 С\Р <
<у0 +кр2 +С
і=2 к
і=2
і=2
X рі = у0 +кр2 + ск 2 ] р 2Х р1 = у0 +кр2 +С
і=0
2 рк-1 -1 7-Т:
<у0 +
к + С
к Л Ґ к
2 1 р2 <у0 + к + 2С 2
к 1 - р к
р 2.
Следовательно
(В,¿5) <у0 + (к + 2с[к/2])р2.
(4)
0 1 2
Из соотношений (3) и (4) следует, что Р(Б) < шах(у , V } + ср , где < 1 + 2С [к/2]
положительная константа с < к + 2С1 .
Теорема 1 доказана.
Следствие 1. Пусть конечный полный базис В содержит функцию т( %1,..., %к) е Мк, а функциональные элементы с вероятностью е (°<е<1/2) подвержены инверсным неисправностям на выходах. Допустим, что любую булеву функцию можно реализовать схемой £ с ненадежностью Р(£) < 5е< 1/2. Тогда произвольную функцию / можно реализовать такой
2
схемой А над В, что Р(А) <е + се , где с - положительная константа,
с < 52 ^к + 2скк/2] ^ .
Доказательство следует из равенства у° = V = е и теоремы 1.
Из теоремы 1 для инверсных неисправностей на выходах элементов следует, что для реализации произвольной булевой функции схемой £ с ненадежностью Р(£) <е + се требуется только, чтобы схема £т, реализующая некоторую функцию из Мк, имела вероятности ошибок V0 и V1 на характе-
ристических наборах такие, что шах{у°,V1} ~ є при е^0. Это обстоятельство позволяет утверждать, что существуют функции, отличные от функций из класса Мк, наличие которых в базисе дает такой же результат.
Пример 1. Предположим, что в конечном полном базисе В содержится функция вида х^1 х2°2 © Х303 или (х^1 V х^1) © Х303 , где аг- є {0, 1},
і = 1, 2, 3 . Поскольку
(х1°1 V х2°2) © х3°3 = (х^1 х2°2 © 1) © х3°3 = х^1 х2°2 © х3°3 ,
2
таких функций всего С3 8 = 24. Очевидно, что ни одна из них ни в классе Мк, ни в классе Мк не содержится.
Предположим, что базисные элементы с вероятностью є (0<є<1/2) подвержены инверсным неисправностям на выходах. Для простоты изложения будем считать, что функция ф (х1, х2, х3) = х1х2 © х3 є В . Поскольку В -полный базис, У1 © У2 є [В]. Реализуем последнюю функцию схемой 5© с ненадежностью р < 58 и построим схему 51 (рис. 2), реализующую функцию голосования g (х1, х2, х3) = х1х2 V х^3 V х2 х3 .
Нетрудно видеть,
(х1 © х2)(х1 © х3) © х1 = х1 © х1х2 © х1х3 © х2х3 © х1 =
= х^2 © х1 х3 © х2 х3 = х1х2 V хх V х2 х3 ; для этой функции характеристическими являются наборы а = (000) и Р = (111).
х1 х2 х3
Рис. 2
Вычислим вероятность ошибки V1 схемы «і на наборе а = (000): у1 < є + 2рє + р2 < є + є2(52 + 25) .
Аналогично вычисляется и оценивается вероятность ошибки V0 схемы «1 на наборе Р = (111): у0 < є + є2(52 + 25).
Применим теорему 1 и получим, что произвольную булеву функцию
2
можно реализовать схемой « с ненадежностью Р(«) <є + с^є , где положительная константа с < 52 + 25 + 52 (к + 2С^к /2] ] = 25 + 52 (к + 2С^/2] + 11.
Таким образом, из примера 1 следует, что реализовать произвольную булеву функцию схемой с ненадежностью (2) можно и при отсутствии в базисе функций из класса Mk, т.е. следствие 1 содержит достаточные (но не необходимые!) условия для реализации произвольной булевой функции схемой S с ненадежностью P(S) <£ + qe .
Теорема 2. |Mk| < 22k-2-(k2 + k + 2^-k-3 .
Доказательство. Пусть функция m(xi,..., xk)є Mk . Характеристический набор X, m(X) = 0 , этой функции можно выбрать 2k способами, тогда характеристический набор ß, m( ß ) = 1, можно выбрать 2k -1 - k - k (k -1) / 2 способами, остальные 2k - 2k - 2 значений функции m( X1,..., Xk ) произвольны. Поэтому |Mk| < 2k (2k -1 - k - k(k -1)/2) 22k-2k-2= 22k -2-(k2 + k + 2 ^ -k-3. Теорема 2 доказана.
I Mk| 1 -
Следствие 2. 0 < -—< 4, т.е. число функций в классе Mk составляет
2k
меньше 1/4 от числа 2 всех булевых функций от k переменных.
Замечание 1. Число |М.4|= 3152 найдено непосредственным вычислением с использованием ПЭВМ (компьютера) [11]. Следовательно,
IM4|
-—= 0,0480957, что существенно отличается от 1/4.
2
Список литературы
1. Neuman Von J. // Automata Studies. - Princeton Univ. Press, 1956. - (Русский перевод: фон Нейман Дж. // Автоматы. - М. : Изд-во ИЛ, 1956. - С. 68-139).
2. Ор тюков С. И. // Труды семинара по дискретной математике и ее приложениям (Москва, 27-29 января 1987 г.). - М. : Изд-во Моск. ун-та, 1989. - С. 166-168.
3. Uhlig D. // Fundamentals of Computation Theory. Intern. сопГ FCT'87 (Kazan, June 1987). Proc. Berlin: Springer-Verl, 1987. - P. 462-469. - (Lecture Notes in Comput. Sci. - V. 278).
4. Алехина, М. А. Синтез асимптотически оптимальных по надежности схем / М. А. Алехина. - Пенза : Информационно-издательский центр ПензГУ, 2006.
5. Редькин, Н. П. Надежность и диагностика схем / Н. П. Редькин. - М. : Изд-во МГУ, 1992.
6. Лупанов, О. Б. Асимптотические оценки сложности управляющих систем / О. Б. Лупанов. - М. : Изд-во МГУ, 1984.
7. Лупанов, О. Б. Об одном методе синтеза схем / О. Б. Лупанов // Известия вузов. Радиофизика. - 1958. - Т. 1. - № 1. - С. 120-140.
8. Яблонский, С. В. Асимптотически наилучший метод синтеза надежных схем из ненадежных элементов / С. В. Яблонский // Banach Center. - 1982. - № 7. -P. 11-19.
9. Чугунова, В. В. Синтез асимптотически оптимальных по надежности схем при инверсных неисправностях на входах элементов : дис. ... канд. физ.-мат. наук /
В. В. Чугунова. - Пенза, 2007.
10.Аксенов, С. И. О надежности схем над произвольной полной системой функций при инверсных неисправностях на выходах элементов / С. И. Аксенов // Известия высших учебных заведений. Поволжский регион. - 2005. - № 6 (21). -
С. 42-55. - (Естественные науки).
11. Алехина, М. А. О числе функций, используемых для повышения надежности схем / М. А. Алехина, К. Ю. Заваровский, Н. С. Спиридонов // Надежность и качество : труды Международного симпозиума. - Пенза : Информационноиздательский центр ПензГУ, 2008. - Т. 1 - С. 363.