УДК 519.718
C. М. Грабовская
О НАДЕЖНОСТИ НЕВЕТВЯЩИХСЯ ПРОГРАММ С НЕНАДЕЖНЫМ ОПЕРАТОРОМ УСЛОВНОЙ ОСТАНОВКИ В ПРОИЗВОЛЬНОМ ПОЛНОМ КОНЕЧНОМ БАЗИСЕ1
Аннотация. Рассматривается реализация булевых функций неветвящимися программами с оператором условной остановки (стоп-оператором) в произвольном полном конечном базисе. В исправном состоянии стоп-оператор прекращает работу программы, если на его вход поступает единица. Предполагается, что и функциональные операторы, и стоп-операторы программы ненадежны, переходят в неисправные состояния независимо друг от друга. Считаем, что вычислительные операторы с вероятностью е (ее (0,1 /2)) подвержены инверсным неисправностям на выходах. А для операторов условной остановки рассматриваются два типа неисправностей. Неисправность первого типа характеризуется тем, что при поступлении единицы на вход стоп-оператора он с вероятностью 8 (8е (0,1/ 2)) не срабатывает, и, следовательно, работа программы продолжается. Неисправность второго типа такова, что при поступлении нуля на вход стоп-оператора он с вероятностью л (ле (0,1 / 2)) срабатывает, и, следовательно, работа программы прекращается. Доказано, что любую булеву функцию f можно реализовать программой, ненадежность которой не
больше max{e, л} + 145а2 при всех ее (0,1/960] и а = max{e, 8, л}.
Ключевые слова: булевы функции, неветвящиеся программы, оператор условной остановки, синтез, надежность.
Abstract. The article considers a problem of nobranching programs synthesis with a conditional stop-operator in any full finite base. In operative condition the stop-operator stops the program flow in case a unit arrives on its input. All functional operators and stop-operators are supposed to be unreliable and pass in failure conditions independently from each other. Functional operators are prone output inverse failures with probability e (ее (0,1/2)). For conditional stop-operators two failure types are considered. The first type failure is characterized by the fact that the stop-operator won’t work with probability 8 (8е (0,1/ 2)) when a unit inflows on the stop-operator input and, hence, the program work proceeds. The second type failure is that the stop-operator will works with probability л (ле (0,1/ 2)) when a zero inflows on the stop-operator input and, hence, the program work stops. It is proved that any Boolean function f can be realized by the nobranching program with unreliability not exceeding max{e, л} + 145а2 for all ее (0,1/960] and а = max{e, 8, л} .
Key words: Boolean functions, nobranching programs, conditional stop-operator, synthesis, reliability.
Введение
Рассматривается реализация булевых функций неветвящимися программами с операторами условной остановки (стоп-операторами) [1] в полном конечном базисе B. Программы с оператором условной остановки харак-
1 Работа выполнена при финансовой поддержке Российского фонда фундамен-
тальных исследований (номер проекта 11-01-00212а).
теризуются наличием управляющей команды - команды условной остановки, дающей возможность досрочного прекращения работы при выполнении определенного условия [2].
В исправном состоянии стоп-оператор срабатывает при поступлении на его вход единицы. При этом программа прекращает работу, а результатом работы программы считается значение выходной переменной г, вычисленное перед остановкой.
Полагаем, что оператор условной остановки подвержен двум типам неисправностей. Неисправность первого типа характеризуется тем, что при поступлении единицы на вход стоп-оператора он с вероятностью 5 (8 е (0,1 / 2)) не срабатывает, и, следовательно, работа программы продолжается. Неисправность второго типа такова, что при поступлении нуля на вход стоп-оператора он с вероятностью ^ (^е (0,1 / 2)) срабатывает, и, следовательно, работа программы прекращается.
Инверсные неисправности на выходах вычислительных операторов характеризуются тем, что в исправном состоянии вычислительный оператор реализует приписанную ему булеву функцию ф, а в неисправном - функцию ф.
Считаем, что программа с ненадежными операторами реализует булеву функцию /(Х1, *2, • • •, хп), если при отсутствии неисправностей во всех ее операторах (как вычислительных, так и остановки) на каждом входном наборе а (а = (г?!,02,...,ап)) значение выходной переменной г равно /(а).
Нетрудно видеть, что схемы из функциональных элементов являются частным случаем неветвящихся программ с условной остановкой, точнее, схему из функциональных элементов можно считать программой, в которой нет ни одного стоп-оператора.
Ненадежностью N (Рг) программы Рг назовем максимальную вероятность ошибки на выходе программы Рг при всевозможных входных наборах. Надежность программы Рг равна (1 - N (Рг)).
Теорема 1 [3]. В произвольном полном конечном базисе любую булеву функцию / можно реализовать схемой Б, ненадежность которой N(Б) < 5,2е при всех ее (0,1/960].
Константа 5 в оценке ненадежности из теоремы 1 в некоторых базисах, например {*1 & *2, х1} или {*1 V *2, *1} , не может быть понижена [4].
/'-г 1 а Оо 01 03 Оо 03
Обозначим Ц множество функций вида л^1 *2 V л^1 *з3 V %2 *з3 (О е{0,1}, г е {1,2,3}).
Теорема 2 [5]. Если в полном конечном базисе В содержится функция фе 01, то в этом базисе любую булеву функцию можно реализовать схемой,
2
ненадежность которой не больше е + 8е при всех ее (0,1 /960].
Теорема 3. Пусть В - полный конечный базис, программа Рг^ реализует функцию g(*1, *2, *3) = x01 %02 V x01 *303 V %02*303 (аг- е {0,1}, г е {1, 2, 3}) с
ненадежностью N(Р^). Тогда любую булеву функцию/в этом базисе можно реализовать программой Рг/ (рис. 1), ненадежность которой при всех ее (0,1/ 960] удовлетворяет неравенству
N(Рг/) < шах{у1, V0} + 15,6е • N(Pгg) + 81,12е2,
где V1 и V0 - вероятности ошибок программы Р^ на наборах (01,02,03) и (01,02,03) соответственно.
Рг/ :
У1 = ГЧ^]
У2 = /02 [^2]
У3 = Г3^
Pгg(Уl, У2, У3)
Рис. 1
Основные результаты
Основной результат этой статьи сформулирован в теореме 4.
Теорема 4. В произвольном полном конечном базисе любую булеву функцию / можно реализовать такой программой Рг/, что при всех
2
ее (0,1/960] справедливо неравенство N (Рг/) < шах{е, г|} + 145а . Доказательству теоремы 4 предпошлем леммы 1-12.
Булевы функции ф(*1, *2, *3) = *1*2 © *2 *3 © *1*3 © с^ © С2 *2 © с3 х3 © © С0 (с, е {0,1}, г е {1, 2, 3}) будем называть особенными [6].
Лемма 1 [6]. Из всякой нелинейной и неособенной функции от трех и более переменных можно получить либо нелинейную функцию от двух переменных, либо особенную функцию.
Другими словами, из всякой нелинейной функции подстановкой (отождествлением и/или переименованием [7]) переменных можно получить либо некоторую нелинейную функцию двух переменных ф(*1, *2) = *1*2 © С1*1 © ©С2*2 © С0, либо некоторую особенную функцию ф(*1, *2, *3) = *1*2 © ©*2*3 © *1*3 © С1*1 © С2*2 © С3*3 © С0 , где С0, С1, С2, С3 е {0,1} .
Рассмотрим два случая:
1. Базис В содержит нелинейную функцию двух переменных.
2. Базис В содержит особенную функцию.
1. О надежности программы Р^ в базисах, содержащих нелинейную функцию двух переменных
Пусть полный конечный базис В содержит нелинейную функцию двух переменных, т.е. некоторую функцию вида (*1С1 & *22)С3 (С1, С2, С3 е{0,1}). Таким образом, базис В содержит хотя бы одну из функций *1 V *2, *1 V *2, *1 V *2, *1 & *2, *1 & *2, *1 & *2 . Рассмотрим эти шесть случаев.
Лемма 2. Если полный конечный базис содержит функцию *1 V *2 , то в этом базисе функцию g(*1, *2, *3) = *1*2 V *2*3 V *1*3 можно реализовать
такой неветвящейся программой Рг^ (рис. 2), что справедливы неравенства
тах^1, V0} <£ и N(Рг^) < 3а, где V1, V0 - вероятности ошибок программы Рг§ на наборах (0, 0, 0) и (1,1,1) соответственно, а а = тах{е, 8, г|}.
Лемма 3. Если полный конечный базис содержит функцию Х1 V Х2 , то в этом базисе функцию ,(Х1, Х2, Х3) = ХХ2 V Х2Х3 V хх можно реализовать такой неветвящейся программой Р^ (рис. 3), что справедливы неравенства
тах^1, V0} <е и N(Р^) < 3а, где V1, V0 - вероятности ошибок программы
Рг, на наборах (1, 0, 0) и (0,1,1) соответственно, а а = тах{е, 8, г|}.
Замечание 1. Лемма 3 справедлива для полных конечных базисов, содержащих Х1 V Х2, поскольку функция Х1 V Х2 получается из функции Х1 V Х2 переименованием переменных Х1 на Х2 и Х2 на Х1 .
Лемма 4. Если полный конечный базис содержит функцию Х1 V Х2 , то в этом базисе функцию g(Х1, Х2, Х3) = ХХ2 V Х2Х3 V ХХ можно реализовать такой неветвящейся программой Р^ (рис. 4), что справедливы неравенства
тах^1, V0} <£ и N(PГg) < 3а, где V1, V0 - вероятности ошибок программы Рг, на наборах (1, 0,1) и (0,1, 0) соответственно, а а = тах{е, 8, г|}.
Рг,(Х1, Х2, Х3): г = Х2 V Х3 stop( Х1) г = Х2
StOp(Х3 )
г = Х3
Рис. 2
Рг,(Х1, Х2, Х3): г = Х1 V Х3
Мор( Х2) г = Х2
StOp( Х1) г = Х3
Рис. 3
Рг,(Х1, Х2, Х3): г = Х1 V Х3 Мор(Х2) г = Х2 stop( Х1) г = Х3 V Х3 Рис. 4
Лемма 5. Если полный конечный базис содержит функцию Х1 & Х2, то в этом базисе функцию ,(Х1, Х2, Х3) = Х Х2 V Х2Х3 V ХХ3 можно реализовать такой неветвящейся программой Рг, (рис. 5), что справедливы неравенства
тах^1, V0} <е и N(Рг,) < 3а, где V1, V0 - вероятности ошибок программы
Рг, на наборах (1, 0, 0) и (0,1,1) соответственно, а а = тах{е, 8, г|}.
Обозначим через Т [7] класс всех булевых функций / (Х1,..., хп), сохраняющих константу 0, т.е. функций, для которых выполнено равенство / (0,...,0) = 0.
По теореме Поста о функциональной полноте [7] любой полный конечный базис содержит функцию /Т0 , которая не сохраняет константу 0, т.е.
/т0 (0,..., 0) = 1/ г тъ).
Рг,(Х1, Х2, Х3): г = Х2 & Х3 stop( Х1) г = Х2 stop( Х2) г = Х3
Рис. 5
Лемма 6 [7]. Любой полный конечный базис содержит такую функцию И, что И(х, ..., х) є {1, х} .
Лемма 7. Если полный конечный базис содержит функцию Х & Х2, то в этом базисе функцию ,(Х1, Х2, Х3) = хХ V Х>Х3 V Х1Х3 можно реализовать такой неветвящейся программой Рг, (рис. 6), что справедливы неравенства
тах^1, V0} < е + 82 и N(Рг,) < 3 а, где V1, V0 - вероятности ошибок программы Рг, на наборах (1,1, 0) и (0, 0,1) соответственно, а а = тах{е, 8, г|}.
Рг,(Х1, Х2, Х3): Рг, (Х1, Х2, Х3)
г = Х2 & Х3 г = Х2 & Х3
StOp( Х1) stop( Х1)
г = Х3 г = Хз
stop( Х2) stop( х2)
г = Х2 г = 1
а) б)
Рис. 6
Замечание 2. Лемма 7 справедлива для полных конечных базисов, содержащих Х1 & Х2, поскольку функция Х1 & Х2 получается из функции Х & Х2 переименованием переменных Х1 на Х2 и Х2 на Х1.
Лемма 8. Если полный конечный базис содержит функцию Х & Х2, то в этом базисе функцию ,(Х1, Х2, Х3) = ХХі V Х2Х3 V ХХ; можно реализовать такой неветвящейся программой Рг, (рис. 7), что справедливы неравенства
тах^1, V0} <е + 82 и N(Рг,) < 3а, где V1, V0 - вероятности ошибок программы Рг, на наборах (1,1,1) и (0,0,0) соответственно, а а = тах{е, 8, г|}.
2. О надежности программы Рг, в базисах,
содержащих особенную функцию
Пусть полный конечный базис В содержит некоторую особенную функцию
ф(Х1, Х2, Х3) = Х1Х2 © Х2 Х3 © Х1Х3 © С1Х1 © С2 Х2 © С3 Х3 © С0,
где С0, С1, С2, С3 є {0,1} .
Рг,(Х1, Х2, Х3):
г = Х2 & Х3 StOp( Х1)
г = Х3 stop( Х2) г = Х2
а)
Рг,(Х1, Х2, Х3):
г = Х2 & Х3 StOp( Х1) г = Х3 & Х3 stop( Х2)
г = 1
б)
Рис. 7
Рассмотрим четыре случая.
Лемма 9. Если полный конечный базис содержит функцию ф1 (Х1, Х2, Х3) = Х1Х2 © Х2 Х3 © Х1Х3 © Х1 © Х2 © Х3 © 1, то в этом базисе функцию ,(Х1, Х2, Х3) = Х1Х2 V Х2Х3 V ХХ3 можно реализовать такой неветвящей-ся программой Рг, (рис. 8), что справедливы неравенства
тах^1, V0} < тах{е, г|} и N(Рг,) < 3а, где V1, V0 - вероятности ошибок программы Рг, на наборах (0,0,0) и (1,1,1) соответственно, а а = тах{е, 8, г|}.
Лемма 10. Если полный конечный базис содержит функцию ф2 (Х1, Х2, Х3) = Х1Х2 © Х2 Х3 © Х1Х3 © Х1 © 1, то в этом базисе функцию ,(Х1, Х2, Х3) = Х1Х2 V Х2Х3 V Х1Х3 можно реализовать такой неветвящейся программой Рг, (рис. 9), что справедливы неравенства тах^1, V0} <
< тах{е, г|} и N(Рг,) < 3а, N(Рг,) < 3а, где V1, V0 - вероятности ошибок программы Рг, на наборах (1,0,0) и (0,1,1) соответственно, а а = тах{е, 8, г|}.
Рг,(Х1, Х2, Х3):
г = ф1(Х1, Х2, Х3) StOp( Х1)
г = Х2 stop( Х2)
г = Х3
Рис. 8
Рг,(Х1, Х2, Х3): г = Ф2(Х1, Х2, Х3) StOp( Х1)
г = Х3 stop( Х2) г = Х1
Рис. 9
Лемма 11. Если полный конечный базис содержит функцию ф3(Х1, Х2, Х3) = Х1Х2 © Х2Х3 © Х1Х3 © Х1 © Х2 © Х3 , то в этом базисе функцию
g(х-у, Х2, Х3) = хх V Х2Х3 V х^хз можно реализовать такой неветвящейся
программой Р^ (рис. 10), что справедливы неравенства шах(уУ, V0} <
2 10
< шах{е, г|} + а и N(Р^) < 4а, где V , V - вероятности ошибок программы
Р^ на наборах (0,1,1) и (1, 0, 0) соответственно, а а = шах{е, 8, г|}.
Рг,(Х1, Х2, Х3): Рг,(Х1, Х2, Х3):
г = ф3(Х1, Х2, Х3) г = Ф3(Х1, Х2, х:
StOp(Ху ) StOp( Х1)
г = Х1 г = Х1
stop( Х2) stop( Х2)
г = Х3 StOp( Х3)
г=1
а) б)
Рис. 10
Лемма 12. Если полный конечный базис содержит функцию ф4 (Х1, Х2, Х3) = Х1Х2 © Х2 Х3 © Х1Х3 © Х1, то в этом базисе функцию ,(Х1, Х2, Х3) = ХХ> V Х2Х3 V Х1Х3 можно реализовать такой неветвящейся
10 2
программой Рг, (рис. 11), что справедливы неравенства тах^ , V } <е + а
и N(Рг,) < 4а, где V1, V0 - вероятности ошибок программы Рг, на наборах (1,1, 0) и (0, 0,1) соответственно, а а = тах{е, 8, г|}.
Рг,(Х1, Х2, Х3): Рг, (Х1, Х2, Х3):
г = ф4(Х1, Х2, Х3) г = ф4(Х1, Х2, Х3)
stop( Х2) stop( Х2)
г = Х3 г = Х3
StOp( Х3) StOp( Х3)
г = Х StOp( Х1)
г=1
а) б)
Рис. 11
Доказательство теоремы 4
Доказательство. Пусть В - полный конечный базис, содержащий некоторую нелинейную функцию. По лемме 1 из всякой нелинейной функции подстановкой (отождествлением и/или переименованием [7]) переменных можно получить либо некоторую нелинейную функцию двух переменных, либо некоторую особенную функцию.
Положим, базис В содержит нелинейную функцию двух переменных, т.е. некоторую функцию вида (x^1 & x^2)6"3 (q, c^, С3 є {0,1}). Возможны шесть вариантов: 1) ci = С2 = С3 = 0 ; 2) ci = 1, С2 = С3 = 0; 3) ci = C2 = 1, C3 = 0; 4) c1 = c2 = c3 = 1; 5) q = 0, c2 = c3 = 1; 6) q = c2 = 0, c3 = 1.
В каждом из этих случаев по леммам 2-5, 7 и 8 соответственно некоторую функцию g = xf1 x^2 V x^2 x^3 V x^1 x^3 (a¿ є {0,1}, i є {1, 2, 3}) можно реализовать программой Prg , ненадежность которой N(Prg) < 3 а, а максимум
2
из вероятностей ошибок на характеристических наборах не больше є + 8 . Отметим, что значения параметров аi (i = 1, 2, 3) во всех случаях различны и соответственно равны: 1) а1 = а2 = а3 = 1; 2) а1 = 0, а2 = а3 = 1; 3) а1 = 0, а2 = 1, а3 = 0 ; 4) а1 = 0, а2 = а3 = 1; 5) а1 = а2 = 0, а3 = 1; 6) а1 = а2 = = а3 = 0 .
Пусть f - любая булева функция. Воспользуемся теоремой 3, выбирая значения а1, а2, а3 в каждом случае соответствующим образом. Тогда функцию f можно реализовать неветвящейся программой, ненадежность которой удовлетворяет неравенству
N (Prf) < max{v1, v0} + 15,6є• N (Prg) + 81,12є2 < є + 129а2.
Пусть теперь базис В содержит особенную функцию ф(x1, x2, x3) = = x1 x2 © x2x3 © x^3 ©c1x1 ©c2x2 ©c3x3 ©c0 (c0, c1, c2, c3 є {0,1}). Возможны два случая: В содержит функцию ф(x1, x2, x3) вида xx © x2 x3 © x^3 © ©c1(x2 © x3) ©c2 или x1x2 ©x2x3 ©x^3 ©x1 ©c1(x2 ©x3)©c2 (c1, c2 є{0,1}).
В первом случае легко проверить, что ф(x1, x2, x3) є G1. Тогда применима теорема 2 (поскольку схему из функциональных элементов можно считать частным случаем неветвящейся программы), по которой любую булеву функцию можно реализовать неветвящейся программой с ненадежностью не
больше є + 8є при всех єє (0,1 / 960], т.е. утверждение теоремы 4 верно.
Пусть теперь базис B содержит некоторую функцию вида x^2 © x2x3 © x1 x3 © x1 © c1 (x2 © x3) © c2, c1, c2 є {0,1} . Возможны четыре варианта: 1) c = c2 = 1; 2) c = 0, c2 = 1; 3) c1 = 1, c2 = 0; 4) c1 = c2 = 0 .
В каждом из этих случаев по леммам 9, 10, 11 и 12 соответственно некоторую функцию g = xf1 x^2 V x^2 x^3 V x^ x^3 (аі є {0,1}, i є {1, 2, 3}) можно реализовать программой Prg , ненадежность которой N (Prg) < 4а, а максимум из вероятностей ошибок на характеристических наборах не больше
2
тах{є, г|} + а . Отметим, что значения параметров аi (i = 1, 2, 3) во всех четырех случаях различны и соответственно равны: 1) а1 = 0, а2 = а3 = 1; 2) а1 = а2 = а3 = 1; 3) а1 = 1, а2 = а3 = 0; 4) а1 = а2 = 0, а3 = 1.
Пусть f - любая булева функция. Воспользуемся теоремой 3, выбирая значения а1, а2, а3 в каждом из четырех случаев соответствующим образом. Тогда функцию f можно реализовать неветвящейся программой, ненадежность которой удовлетворяет неравенству
N (Prf) < max{v\ v0} + 15,6є • N (Prg) + 81,12є2 < max{e, r|} + 145a2.
Цель дальнейших исследований автора - получить нижние оценки ненадежности программ.
Список литературы
1. Чашкин, А. В. О среднем времени вычисления значений булевых функций / А. В. Чашкин // Дискретный анализ и исследование операций. Серия 1, 1997. -Т. 4, № 1. - С. 3-17.
2. Алехина, М. А. О надежности неветвящихся программ в произвольном полном конечном базисе / М. А. Алехина, С. М. Грабовская // Известия вузов. Математика. - Казань, 2011. В печати.
3. Алехина, М. А. О надежности схем в базисах, содержащих функции не более чем трех переменных / М. А. Алехина, А. В. Васин // Ученые записки Казанского государственного университета. Серия «Физико-математические науки». - 2009. -Т. 151, Кн. 2. - С. 25-35.
4. Васин, А. В. Об асимптотически оптимальных схемах в базисе {x1 & x¿, x|} /
А. В. Васин // Дискретный анализ и исследование операций. - Новосибирск : Изд-во института математики. - 2009. - Т. 16, № 6. - С. 12-22.
5. Васин, А. В. Асимптотически оптимальные по надежности схемы в полных базисах из трехвходовых элементов : дис. ... канд. физико-математ. наук / Васин А. В. -Пенза, 2010. - 100 с.
6. Редькин, Н. П. О полных проверяющих тестах / Н. П. Редькин // Математические вопросы кибернетики. - М. : Наука, 1989. - Вып. 2. - С. 198-222.
7. Яблонский, С. В. Введение в дискретную математику : учебное пособие для вузов / С. В. Яблонский ; под ред. В. А. Садовничего. - 3-е изд., стер. - М. : Высшая школа, 2001. - 384 с.
Грабовская Светлана Михайловна Grabovskaya Svetlana Mikhaylovna
старший преподаватель, кафедра Senior lecturer, sub-department of discrete
дискретной математики, Пензенский mathematics, Penza State University
государственный университет
E-mail: [email protected]
УДК 519.718 Грабовская, С. М.
О надежности неветвящихся программ с ненадежным оператором условной остановки в произвольном полном конечном базисе / С. М. Грабовская // Известия высших учебных заведений. Поволжский регион. Физикоматематические науки. - 2011. - № 3 (19). - С. 52-60.