О надежности неветвящихся программ в базисе, содержащем обобщенную конъюнкцию, при произвольных неисправностях вычислительных операторов

УДК 519.718

DOI 10.21685/2072-3040-2017-3-3

С. М. Грабовская

О НАДЕЖНОСТИ НЕВЕТВЯЩИХСЯ ПРОГРАММ В БАЗИСЕ, СОДЕРЖАЩЕМ ОБОБЩЕННУЮ КОНЪЮНКЦИЮ, ПРИ ПРОИЗВОЛЬНЫХ НЕИСПРАВНОСТЯХ ВЫЧИСЛИТЕЛЬНЫХ ОПЕРАТОРОВ1

Аннотация.

Актуальность и цели. Понятие неветвящейся программы тесно связано с понятием схемы из функциональных элементов. Схемы из функциональных элементов являются моделями электронных схем, а неветвящиеся программы (как с условной остановкой, так и без нее) моделируют работу вычислительных устройств. Несмотря на эти различия, результаты о надежности и сложности, полученные для схем из функциональных элементов, переносятся на не-ветвящиеся программы без стоп-операторов и наоборот. До появления работ автора проблема построения надежных (а также и асимптотически оптимальных по надежности) неветвящихся программ с оператором условной остановки не рассматривалась. Впервые эта задача исследовалась при инверсных неисправностях на выходах вычислительных операторов, а затем при однотипных константных неисправностях на выходах вычислительных операторов. Вопрос о надежности неветвящихся программ при неисправностях произвольного типа до сих пор остается открытым. В работе рассматривается реализация булевых функций неветвящимися программами с оператором условной остановки в полном конечном базисе, содержащем обобщенную конъюнкцию, в предположении, что вычислительные операторы независимо друг от друга подвержены неисправностям произвольного типа, а операторы условной остановки абсолютно надежны.

Материалы и методы. Для повышения надежности исходных схем (программ) используется итерационный подход, т.е. многократное дублирование исходных схем (программ). Кроме того, разработан новый метод построения неветвящихся программ с оператором условной остановки.

Результаты. Найдена верхняя оценка ненадежности неветвящихся программ с оператором условной остановки в полном конечном базисе B, содержащем обобщенную конъюнкцию.

Выводы. Если полный конечный базис содержит обобщенную конъюнкцию, то любую булеву функцию можно реализовать неветвящейся программой с оператором условной остановки сколь угодно высокой наперед заданной надежности.

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

S. M. Grabovskaya

ON RELIABILITY OF NON-BRANCHING PROGRAMS IN A BASIS CONTAINING THE GENERALIZED CONJUNCTION AT ARBITRARY FAULTS OF COMPUTATIONAL OPERATORS

1 Работа выполнена при поддержке РФФИ (проект № 17-01-00451-а).

Abstract.

Background. The concept of non-branching programs is closely related to the concept of circuits of functional elements (FE). FE circuits are models of electronic circuits, and non-branching programs (both with conditional stop and without it) model the operation of computing devices. Despite these differences, reliability and complexity results obtained for FE circuits are transferred to non-branching programs without stop-operators and vice versa. Prior to the author's work, the problem of constructing reliable (and asymptotically optimal regarding reliability) non-branching programs with a conditional stop-operator has not been considered. For the first time this problem was researched for inverse faults at the outputs of computational operators, and then for the one-type constant faults at the outputs of computational operators. The question of reliability of non-branching programs for faults of arbitrary type still remains open. In this work the implementation of Boolean functions by non-branching programs with a conditional stop-operator is considered in a complete finite basis containing the generalized conjunction. It is assumed that the computational operators are prone to faults of arbitrary type independently of each other, and conditional stop-operators are absolutely reliable.

Materials and methods. To raise the reliability of the aource circuits (programs), the iterative approach is used, i.e. multiple duplication of the source circuits (programs). In addition, a new method for constructing non-branching programs has been developed.

Results. The work resulted in discovering an upper bound for the unreliability of non-branching programs with a conditional stop-operator in complete finite basis B, containing the generalized conjunction.

Conclusions. If a complete finite basis contains the generalized conjunction, then any Boolean function can be implemented by a non-branching program with a conditional stop-operator of arbitrarily high preassigned reliability.

Key words: Boolean function, non-branching program, conditional stop-operator, synthesis, reliability.

Введение

Рассматривается реализация булевых функций неветвящимися программами с оператором условной остановки [1] в полном конечном базисе,

содержащем функцию вида х™1 & х™2 (аь а2 е {0, 1}). Программы с оператором условной остановки характеризуются наличием управляющей команды - команды условной остановки, дающей возможность досрочного прекращения работы программы при выполнении определенного условия, а именно при поступлении единицы на вход оператора условной остановки (который еще называют стоп-оператором).

Понятие неветвящейся программы тесно связано с понятием схемы из функциональных элементов (ФЭ). Схемы из функциональных элементов являются моделями электронных схем, а неветвящиеся программы (как с условной остановкой, так и без нее) моделируют работу вычислительных устройств. Несмотря на эти различия, результаты о надежности и сложности, полученные для схем из ФЭ, переносятся на неветвящиеся программы без стоп-операторов и наоборот. Впервые задачу синтеза надежных схем из ненадежных элементов рассматривал Дж. фон Нейман (1956). Для повышения надежности он использовал многократное дублирование исходных схем, что, естественно, приводило к увеличению сложности. Поэтому именно

сложность была в центре внимания дальнейших исследований С. И. Ортюко-ва (1987), Д. Улига (1987) и С. В. Яблонского (1982). Методы построения асимптотически оптимальных по надежности схем из ненадежных элементов впервые рассматривала М. А. Алехина (2004). Затем исследования продолжили ее ученики: В. В. Чугунова, А. В. Васин и О. Ю. Барсукова. Неветвящиеся программы с оператором условной остановки исследовал А. В. Чашкин (1998) с точки зрения среднего времени вычисления в предположении, что все операторы абсолютно надежны. До появления работ автора проблема построения надежных (а также и асимптотически оптимальных по надежности) неветвящихся программ с оператором условной остановки не рассматривалась. Впервые эта задача исследовалась при инверсных неисправностях на выходах вычислительных операторов, а затем при однотипных константных неисправностях на выходах вычислительных операторов. Вопрос о надежности неветвящихся программ при неисправностях произвольного типа до сих пор остается открытым.

Основные понятия и определения

Сформулируем необходимые понятия и определения [2].

Пусть X = {хь ..., xn} - множество независимых булевых переменных, x = (x1, ..., xn) - набор независимых переменных, n 6 N. Введем множество переменных Y = {y1, ..., y}, которое назовем множеством внутренних переменных, l 6 N. Кроме того, обозначим z выходную переменную.

Пусть далее a е Yu{z}, b1, bd е XuYu{z} (d e {1, n}), h - булева функция из базиса B, зависящая не более чем от d переменных. Вычислительной командой (или вычислительным оператором) p назовем выражение p: a = h(bi, ..., bd). Переменную a назовем выходом вычислительного оператора, переменные b1, ., bd - входами этого оператора.

Пусть теперь a e XuYu{z}. Командой остановки (стоп-оператором) p назовем выражение p: stop(a). Переменную a назовем входом оператора остановки p.

Последовательность Pr = p1...pj...pL, состоящая из вычислительных операторов и операторов остановки, называется неветвящейся программой с условной остановкой, если при любом j е {1, ..., L} каждый вход команды pj есть либо независимая переменная, либо выход некоторого вычислительного оператора.

Неветвящаяся программа работает в дискретные моменты времени t = 0, 1, 2, ..., не изменяет значения независимых переменных и изменяет значения внутренних переменных y, (i e {1, ..., l}) и значение выходной переменной z.

Результат действия программы Pr на наборе x обозначим через Pr(x). Значение Pr(x) равно значению выходной переменной z в момент остановки программы. Программа Pr вычисляет n-местную булеву функцию fx) (x = (x1, ..., xn)), если при отсутствии неисправностей в программе для любого x е {0, 1}n справедливо равенство Pr(x) = fx).

Пусть n 6 N, P2 - множество всех булевых функций, т.е. функций f(x1, ..., xn): {0, 1}n —^{0, 1}. Рассмотрим реализацию булевых функций невет-вящимися программами с оператором условной остановки в полном

конечном базисе В = {в1, ..., вч}Я:Р2 (д е ЭД, содержащем функцию вида х™1 & х™2 (аь а2 е {0, 1}). Обозначим через Е, базисный элемент с функцией

в, (1 е {1, ..., д}). Пусть в1= х^1 & х^2, обозначим данную базисную функцию

через в&, а соответствующий ей базисный элемент через Е&.

Будем считать, что неисправности вычислительных операторов программы произвольные [3, с. 480] и статистически независимые, т.е. вычислительные операторы переходят в неисправные состояния независимо друг от друга. Предполагается, что операторы условной остановки абсолютно надежны.

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

Замечание 1. Схему из функциональных элементов можно считать частным случаем неветвящихся программ, а именно неветвящейся программой, в которой нет стоп-операторов.

Ненадежностью Щ(Рг) программы Рг назовем максимальную вероятность ошибки на выходе программы Рг при всевозможных входных наборах. Надежность программы Рг равна 1 - Щ(Рг).

Обозначим через ЩВ) максимальную ненадежность базисных элементов, т.е. Щ(В) = шах{Щ(ЕД ..., Щ(Е,)}.

Для схем из функциональных элементов известен следующий результат. Теорема 1 [4]. Пусть В - произвольный полный конечный базис. Тогда любую булеву функцию / можно реализовать схемой в базисе В, ненадежность которой N(5) < 5,17  Щ(В) при Щ(В) е (0, 1/960].

Для повышения надежности исходных схем (программ) будем использовать функцию g(x1, х2, х3, х4) вида (х^1 х^2 V х^3х^4)05 (а е {0,1}, 1 е {1, 2, 3,

4, 5}). Справедлива теорема 2.

Теорема 2 [5]. Пусть В - полный конечный базис; пусть существует такое Щ, что любую булеву функцию / можно реализовать неветвящейся программой Я/ с ненадежностью Щ(Я/) < N. Пусть g(x1, х2, х3, х4) - функция вида

(хОх2°2 V х^3х04)05 (ог- е {0,1}, 1 е {1, 2, 3, 4, 5}), Рг& - программа, реализующая функцию g(x1, х2, х3, х4), а Щ(Pгg) - ненадежность программы Рг&. Тогда любую булеву функцию / в этом базисе можно реализовать такой программой Рг/, что справедливо неравенство

Щ(Рг/) < шах{у1, V0} + 4Щ  Щ(Р^) + 4Щ2,

где V1 и V0 - вероятности ошибок программы Ргг на наборах (0^, О2, 03,04) и (01, О2, 03, 04) соответственно.

Основные результаты

Для функции х^1 & х^2 (а1, а2 е{0, 1}) с точностью до переименования переменных возможны три случая:

1) XI &

2) Х1 & Х2;

3) Х1 & Х2.

Справедлива теорема 3.

Теорема 3. Если полный конечный базис В содержит функцию вида Х«1 & х™2 («и «2 е {0, 1}), то для любой булевой функции/при WеN можно построить такую неветвящуюся программу Ргу с оператором условной остановки, реализующую/, что ЩРг^ < [-(В)]' при -(В) е (0,1/960].

Доказательству теоремы 3 предпошлем леммы 1-3.

Лемма 1. Если полный конечный базис содержит функцию Х1 & Х2, то в этом базисе функцию g (Х1, Х2, Х3, Х4) = Х1Х2 V Х3 Х4 можно реализовать такой неветвящейся программой Prg, что справедливы соотношения шах{у°, V1} = 0 и ЩРг^ < -(В), где V0, V1 - вероятности ошибок программы Prg на наборах (1, 1, 1, 1) и (0, 0, 0, 0) соответственно.

Доказательство. Пусть полный конечный базис В содержит функцию е&(Хь Х2) = Х1 & Х2 . Построим в этом базисе неветвящуюся программу Рг8, реализующую функцию g(Х1, Х2, Х3, Х4) = Х1Х2 V Х3Х4 :

2 = Х],

У = Х]&Х2,

81юр(у),

2 = Х3,

81юр(Х4),

2 — Х4.

Найдем вероятности V0 и V1 ошибок программы Ргг на наборах (1,1,1,1) и (0,0,0,0) соответственно. Пусть набор Ь = (1, 1, 1, 1). Заметим, g(b) = 1. На выходе программы при возникновении неисправности произвольного типа вычислительного оператора непременно появится значение одной из свободных переменных Хь Х2 или Х4, которое равно 1. Таким образом, при подобном построении программы, когда выходной переменной 2 приписаны значения свободных переменных, ошибки вычислительных операторов не влияют на результат работы программы. Следовательно, V0 = 0. Пусть теперь набор Ь = (0, 0, 0, 0). На этом наборе g(b) = 0. Аналогично предыдущему случаю V1 = 0. Таким образом, шах^0, V1} = 0.

Поскольку программа Рг& содержит только один вычислительный оператор (ненадежность его равна ЩЕ&)), то ненадежность программы не превосходит ненадежности данного вычислительного оператора, т.е. ЩЕ&). Очевидно, что —(£&) < -(В). Таким образом, -(Рг^ < -(В).

Лемма 1 доказана.

Лемма 2. Если полный конечный базис содержит функцию Х1 & Х2, то в этом базисе функцию g (Х1, Х2, Х3, Х4) = Х1Х2 V Х3 Х4 можно реализовать такой неветвящейся программой Рг^ что справедливы соотношения шax{v0, V1} = 0 и -(Рг^ < -(В), где V0, V1 - вероятности ошибок программы Ргг на наборах (0, 1, 1, 1) и (1, 0, 0, 0) соответственно.

Доказательство. Пусть полный конечный базис В содержит функцию е&(хь x2) = xj & Х2 . Построим в этом базисе неветвящуюся программу Prg, реализующую функцию g (Xj, Х2, Х3, Х4) = XjX2 v Х3 Х4 :

^ = Х2, У = Х & Х2, stop(y),

Z = Х3,

stop(x4),

Z — Х4.

Найдем вероятности v0 и v1 ошибок программы Prg на наборах (0, 1, 1, 1) и (1, 0, 0, 0) соответственно. Пусть набор b = (0, 1, 1, 1). Заметим, g(b) = 1. На выходе программы при возникновении неисправности произвольного типа вычислительного оператора непременно появится значение одной из свободных переменных Х2, Х3 или Х4, которое равно 1. Таким образом, v0 = 0. Пусть теперь набор b = (1, 0, 0, 0). На этом наборе g(b) = 0. Аналогично получим v1 = 0. Таким образом, max{v0, v1} = 0.

Поскольку программа Prg содержит только один вычислительный оператор (ненадежность его равна N(E&)), то ненадежность программы не превосходит ненадежности данного вычислительного оператора, т.е. N(E&). Очевидно, что N(E&) < N(5). Таким образом, N(Prg) < N(5).

Лемма 2 доказана.

Лемма 3. Если полный конечный базис содержит функцию Х[ & Х2, то в этом базисе функцию g(Х1, Х2, Х3, Х4) = (Х1 v Х2ХХ3 v Х4) можно реализовать такой неветвящейся программой Prg, что справедливы соотношения max{v0, v1} = 0 и N(Prg) < N(5), где v0, v1 - вероятности ошибок программы Prg на наборах (1, 1, 1, 1) и (0, 0, 0, 0) соответственно.

Доказательство. Пусть полный конечный базис В содержит функцию е&(Хь Х2) = Х1 & Х2 . Построим в этом базисе неветвящуюся программу Prg, реализующую функцию g(Х1, Х2, Х3, Х4) = (Х1 v Х2)(Х3 v Х4):

z = Хь

y = Х1 & Х2, stop(y), z = Х3, stop^),

Z = Х4.

Найдем вероятности v0 и v1 ошибок программы Prg на наборах (1, 1, 1, 1) и (0, 0, 0, 0) соответственно. Пусть набор b = (1, 1, 1, 1). Заметим, g(b) = 1. На выходе программы при возникновении неисправности произвольного типа вычислительного оператора непременно появится значение одной из свободных переменных Хь Х3 или Х4, которое равно 1. Таким образом, v0 = 0. Пусть теперь набор b = (0, 0, 0, 0). На этом наборе g(b) = 0. Аналогично получим v1 = 0. Таким образом, max{v0, v1} = 0.

Поскольку программа Prg содержит только один вычислительный оператор (ненадежность его равна N(E&)), то ненадежность программы не пре-

восходит ненадежности данного вычислительного оператора, т.е. -(Е&). Очевидно, что ЩЕ&) < -(В). Таким образом, -(Рг^ < -(В).

Лемма 3 доказана.

Доказательство теоремы 3. Пусть В - полный конечный базис, содержащий хотя бы одну из функций Х1 & Х2, Х1 & Х2 или Х1 & Х2; операторы условной остановки некоторой неветвящейся программы абсолютно надежны, а вычислительные операторы независимо друг от друга подвержены неисправностям произвольного типа. Пусть / - любая булева функция.

По теореме 1 функцию / можно реализовать такой схемой S, что -(5) < 5,17-0) при -(В) е (0,1/960].

Воспользуемся теоремой 2, используя программу Prg и взяв в качестве программы Я/ схему 5 (см. замечание 1). Построим программу Рг/Г>, полагая Ы = 5,17-(В) и учитывая условия шах{у:, V0} = 0 и -(Рг^) < -(В) (см. леммы 1-3). По теореме 2 неветвящаяся программа Рг/Г> реализует функцию /с ненадежностью -(Рг/(1)) < 128[-(В)]2 при -(В) е (0,1/960].

Выполним еще один шаг итерации. Возьмем теперь в качестве Я/ уже построенную программу Рг/Г>, ненадежность которой при -(В) е (0,1/960] удовлетворяет неравенству -(Я/ < 128[-(В)]2 < 0,14-(В). Пусть И = 0,14-(В). Снова воспользуемся теоремой 2, учитывая, что шах^1, V0} = 0 и ЩРг^) < -(В). Тогда функцию /можно реализовать такой неветвящейся программой Рг}2\ что ЩРг}2) < 0,64[-(В)]2 < [-(В)]2 при -(В) е (0,1/960].

Таким образом, в произвольную функцию / можно реализовать такой неветвящейся программой (обозначим ее через Рг/), что ЩРг/) < [-(В)]2 при -(В) е (0,1/960].

Снова воспользуемся теоремой 2, взяв теперь в качестве неветвящейся программы Я/ программу Рг/ и полагая - = [-(В)]2. Тогда функцию/можно

реализовать такой программой Рг/(1), что справедливо неравенство

-(Рг/41'') < 4  Щ-Р^) + -) < 4  [-(В)]2  ([-(В)] + [-(В)]2) = 4  [-(В)]3-(1 + -(В)) <4  [-(В)]3  1,1 < 5  [-(В)]3 (поскольку -(В)е (0,1/960]).

Теперь возьмем в качестве - величину 5  [-(В)]3 и снова воспользуемся теоремой 2 (проделаем еще один шаг итерации). Тогда функцию / можно реализовать такой программой Рг/, что справедливо неравенство

-(Рг/) < 5  -(В)  5  [-(В)]3 = (5  -(В))2  [-(В)]2.

Нетрудно видеть, что после т итераций функцию / можно реализовать такой программой Рг/*(т), что справедливо неравенство

-(Рг/*(т)) < (5  -(В))т  [-(В)]2.

Пусть ' - любое натуральное число, ' >3 (напомним, что при ' = 1 и ' = 2 утверждение теоремы верно). Выберем натуральное число т, для которого выполняется неравенство: т > (' - 2)1о§5.-(В) -(В). Тогда (5  -(В))" < [-(В)]'-2, т.е. (5  Ш(В))т  [-(В)]2 < [-(В)]', следовательно, -(Рг/0")) < [-(В)]'.

Заметим, что поскольку т - число итераций, разумно выбрать наименьшее натуральное число т, для которого выполняется неравенство т > (' - 2) 1о85.лг(В) -(В).

Теорема 3 доказана.

Заключение

Таким образом, на основании теоремы 3 можно сделать вывод, что если

полный конечный базис содержит функцию вида х™ & х™ (а1, а2 е{0, 1}),

то любую булеву функцию можно реализовать неветвящейся программой

с оператором условной остановки сколь угодно высокой наперед заданной

надежности при N(B) е (0,1/960].

Библиографический список

1. Чашкин, А. В. О среднем времени вычисления значений булевых функций /

A. В. Чашкин // Дискретный анализ и исследование операций. - 1997. - Т. 4, № 1. - С. 60-78.

2. Alekhina, M. A. Reliability of nonbranching programs in an arbitrary complete finite basis / M. A. Alekhina, S. M. Grabovskaya // Russian mathematics. - 2012. -Т. 56, № 2. - P. 10-18.

3. Яблонский, С. В. Избранные труды / С. В Яблонский ; под ред. В. Б. Алексеева,

B. И. Дмитриева. - М. : МАКС Пресс, 2004. - 584 с.

4. Алехина, М. А. Верхняя оценка ненадежности схем в полном конечном базисе (в Р2) при произвольных неисправностях элементов / М. А. Алехина, Ю. С. Гусынина, Т. А. Шорникова // Известия вузов. Математика. - 2017. -№ 12. - С. 80-83.

5. Грабовская, С. М. О методах повышения надежности неветвящихся программ с оператором условной остановки / С. М. Грабовская // Проблемы автоматизации и управления в технических системах - 2015 : c6. ст. Междунар. науч.-техн. конф., посвященной 70-летию Победы в Великой Отечественной войне (г. Пенза, 19-21 мая 2015 г.). - Пенза : Изд-во ПГУ, 2015. - С. 339-342.

References

1. Chashkin A. V. Diskretnyy analiz i issledovanie operatsiy [Discrete analysis and research of operations]. 1997, vol. 4, no. 1, pp. 60-78.

2. Alekhina M. A., Grabovskaya S. M. Russian mathematics. 2012, vol. 56, no. 2, p. 10-18.

3. Yablonskiy S. V. Izbrannye trudy [Selected works]. Moscow: MAKS Press, 2004, 584 p.

4. Alekhina M. A., Gusynina Yu. S., Shornikova T. A. Izvestiya vuzov. Matematika [University proceedings. Mathematics]. 2017, no. 12, pp. 80-83.

5. Grabovskaya S. M. Problemy avtomatizatsii i upravleniya v tekhnicheskikh sistemakh -2015: cb. st. Mezhdunar. nauch.-tekhn. konf., posvyashchennoy 70-letiyu Pobedy v Ve-likoy Otechestvennoy voyne (g. Penza, 19-21 maya 2015 g.) [Problems of automation and control in technical systems 2015: proceeding of the International scientific and technical conference devoted to the 70th anniversary of the Victory in the Great Patriotic War (Penza, 19th-21st May 2015)]. Penza: Izd-vo PGU, 2015, pp. 339-342.

Грабовская Светлана Михайловна

кандидат физико-математических наук, доцент, кафедра компьютерных технологий, Пензенский государственный университет

E-mail: ct@pnzgu.ru

Grabovskaya Svetlana Mikhaylovna Candidate of physical and mathematical sciences, associate professor, subdepartment of computer technologies, Penza State University

УДК 519.718 Грабовская, С. М.

О надежности неветвящихся программ в базисе, содержащем обобщенную конъюнкцию, при произвольных неисправностях вычислительных операторов / С. М. Грабовская // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2017. - № 3 (43). -С. 28-36. DOI 10.21685/2072-3040-2017-3-3