УДК 519.718
DOI 10.21685/2072-3040-2018-4-3
С. М. Грабовская
О НАДЕЖНОСТИ НЕВЕТВЯЩИХСЯ ПРОГРАММ В БАЗИСЕ, СОДЕРЖАЩЕМ ШТРИХ ШЕФФЕРА1
Аннотация.
Актуальность и цели. В математической кибернетике одним из основных направлений исследований является изучение работы управляющих систем. Управляющие системы являются моделями реальных вычислительных устройств. К таким моделям относятся, например, схемы из функциональных элементов, ветвящиеся и неветвящиеся программы и др. Актуальность этих исследований как раз и связана с многочисленными приложениями, возникающими в различных областях науки и техники. В данной статье исследуется надежность неветвящихся программ с оператором условной остановки. Как показывают исследования, применение операторов условной остановки (стоп-операторов) позволяет значительно повысить надежность неветвящихся программ. В работе рассматривается один частный случай: реализация булевых функций неветвящимися программами в полном конечном базисе, содержащем функцию штрих Шеффера. Предполагается, что операторы как вычислительные, так и условной остановки независимо друг от друга могут переходить в неисправные состояния: произвольного типа (вычислительные операторы) и первого и второго рода (стоп-операторы).
Материалы и методы. Используются методы дискретной математики, математической кибернетики, математического анализа.
Результаты. В полном конечном базисе, содержащем штрих Шеффера, найдена верхняя оценка ненадежности неветвящихся программ с оператором условной остановки, данная оценка стремится к нулю с ростом числа итераций.
Выводы. В полном конечном базисе, содержащем функцию штрих Шеффе-ра, любую булеву функцию можно реализовать неветвящейся программой с ненадежными операторами (как вычислительными, так и остановки), причем ненадежность такой программы может быть сколь угодно мала.
Ключевые слова: булева функция, схема из функциональных элементов, неветвящаяся программа, оператор условной остановки, синтез, надежность, базис, штрих Шеффера, неисправность произвольного типа.
S. M. Grabovskaya
ON RELIABILITY OF NON-BRANCHING PROGRAMS IN A BASIS CONTAINING THE SHEFFER STROKE
Abstract.
Background. In mathematical cybernetics, one of the main areas of research is the study of control systems. Control systems are models of real computing devices. Such models include, for example, circuits of functional elements, branching and
1 Работа выполнена при поддержке РФФИ (проект № 17-01-00451-а).
© Грабовская С. М., 2018. Данная статья доступна по условиям всемирной лицензии Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), которая дает разрешение на неограниченное использование, копирование на любые носители при условии указания авторства, источника и ссылки на лицензию Creative Commons, а также изменений, если таковые имеют место.
non-branching programs, etc. The relevance of these studies is connected with numerous applications arising in various fields of science and technology. In this article the reliability of non-branching programs with conditional stop operator is searched. Studies show that the use of conditional stop operators can significantly raise the reliability of non-branching programs. In this paper one particular case is considered, namely, the implementation of Boolean functions by non-branching programs in a complete finite basis containing the Scheffer stroke function. It is assumed that both computational and conditional stop operators can independently switch to the fault conditions: of an arbitrary type (computational operators) and of the first and second kind (stop operators).
Materials and methods. Methods of discrete mathematics, mathematical cybernetics, mathematical analysis were used.
Results. In the considered basis an upper bound of the unreliability of non-branching programs with a conditional stop operator is found, this estimate tends to zero with increasing number of iterations.
Conclusions. In a complete finite basis containing the Scheffer stroke any Boolean function can be implemented by an arbitrarily reliable non-branching program with unreliable operators (both computational and stopping), at that failures of computational operators are arbitrary.
Keywords: Boolean function, circuit of functional elements, non-branching program, conditional stop operator, synthesis, reliability, basis, Scheffer stroke, fault of an arbitrary type.
Данная статья посвящена исследованию ненадежности неветвящейся программы с оператором условной остановки, реализующей произвольную булеву функцию в полном конечном базисе, содержащем штрих Шеффера, т.е. x v %2 .
Математическая теория синтеза, сложности и надежности управляющих систем находит практическое применение во многих областях прикладных научных исследований. Среди управляющих систем большой интерес вызывают неветвящиеся программы с оператором условной остановки. Понятие неветвящейся программы с оператором условной остановки (его еще называют стоп-оператором) [1, 2] тесно связано с понятием схемы из функциональных элементов. В некотором смысле неветвящаяся программа с оператором условной остановки является обобщением схемы из функциональных элементов. Стоп-оператор представляет собой команду условной остановки, позволяющую досрочно прекратить выполнение программы при поступлении единицы на его вход. Ниже будет показано, что использование стоп-операторов приводит к значительному повышению надежности исходных схем.
Будем считать, что вычислительные операторы программы независимо друг от друга могут «ломаться» произвольным образом [3, с. 480].
Предполагается, что операторы условной остановки также ненадежны и независимо друг от друга подвержены неисправностям двух типов: первого и второго рода. При неисправности первого рода стоп-оператор неправильно реагирует на поступление единицы на вход: он с вероятностью 5 (5 е (0, 1/2)) не срабатывает, и, следовательно, работа программы продолжается. А при неисправности второго рода стоп-оператор неправильно реагирует на поступление нуля на вход: он с вероятностью п (П е (0, 1/2)) срабатывает, и,
следовательно, работа программы прекращается. Введем обозначение ц = шах{5, п}.
Считается, что программа с ненадежными операторами реализует булеву функцию/(х) (х = (хь ..., хп), п е ЭД, если при отсутствии неисправностей во всех ее операторах на каждом входном наборе а (а = (а1, а2, ..., ап)) значение выходной переменной г равно Да).
Замечание 1. Схему из функциональных элементов (ФЭ) можно считать неветвящейся программой, в которой отсутствуют стоп-операторы.
Ненадежность ЩРг) программы Рг есть максимальная вероятность ошибки на выходе программы Рг при всевозможных входных наборах. Надежность программы Рг равна 1 - ЩРг).
Обозначим ЩЕ) = шах{^(£1), ..., Щ(ЕЧ)}, т.е. ЩЕ) - ненадежность самого ненадежного («плохого») из базисных элементов.
Для схем из ненадежных функциональных элементов, подверженных произвольным неисправностям, получен следующий результат.
Теорема 1 [4]. В произвольном полном конечном базис В любую булеву функцию / можно реализовать схемой с ненадежностью N(5), не превышающей 5,17 • Щ(Е), где Щ(Е) е (0, 1/960].
Для улучшения надежности исходных схем (программ) будем использовать функцию g(x1, х2, х3, х4) вида (х^1 х^2 V х^3х®4)°5 (ог- е {0, 1},
I е {1, 2, 3, 4, 5}). Обратимся к ранее доказанной теореме 2.
Теорема 2 [5]. Пусть Б - полный конечный базис; пусть существует такое Щ, что любую булеву функцию / можно реализовать неветвящейся программой Я/ с ненадежностью Щ(Я/) < N. Пусть g(xl, х2, х3, х4) - функция вида
(х^1 х2°2 V хз°3х^4)°5 (ог- е {0, 1}, / е {1, 2, 3, 4, 5}), Рг& - программа, реализующая функцию g(x1, х2, х3, х4), а N(Pгg) - ненадежность программы Рг^ Тогда любую булеву функцию / в этом базисе можно реализовать такой программой Рг/, что справедливо неравенство
Щ(Рг-) < шах^У} + 4Щ Щ(Р^) + 4Щ 2,
где V1 и V0 - вероятности ошибок программы РгЁ на наборах (01, 03, 04) и (01, о2, 03, о4) соответственно.
Теперь, когда сформулированы необходимые понятия, утверждения и теоремы, перейдем к изложению полученных результатов.
Лемма 1. В полном конечном базисе, содержащем штрих Шеффера х V х2 , функцию g(x1, х2, х3, х4) = х1х2 V х3х4 можно реализовать неветвящейся программой Рг8 с оператором условной остановки, для которой шахУ, V1} = 0 и Щ(Рг^) < 2(Щ(Е) + ц), где V0, V1 - вероятности ошибок программы Рг8 на наборах (1, 1, 1, 1) и (0, 0, 0, 0) соответственно, а ц = шах{5,п}.
Доказательство. Пусть полный конечный базис В содержит функцию ^(хь х2) = х1 V х2 . Построим в этом базисе неветвящуюся программу Рг^ реализующую функцию g(x1, х2, х3, х4) = х1х2 V х3х4: г = х1
У1 = х1 V х2
У 2 = у1 V у1
81;ор(у2)
г = х3
81ор(х4)
г = Х4
Найдем вероятности V0 и V1 ошибок программы Ргг на наборах (1, 1, 1, 1) и (0, 0, 0, 0) соответственно. Пусть набор Ь = (1, 1, 1, 1), тогда :Ъ) = 1. При возникновении неисправностей вычислительных операторов, либо стоп-операторов на выходе программы непременно появится значение одной из свободных переменных хь х3 или х4, которое равно 1. Следовательно, V0 = 0. Пусть теперь набор Ь = (0, 0, 0, 0), тогда :Ъ) = 0. Рассуждая аналогично предыдущему случаю, получим V1 = 0. Таким образом, шах^0, V1} = 0.
Поскольку программа Рг: содержит два вычислительных оператора (ненадежность каждого из них равна ЩЕЧ) и два стоп-оператора (ненадежность каждого из них не превосходит ц), ее ненадежность удовлетворяет неравенству ЩРгг) < 2Ы(ЕУ) + 2ц. Очевидно, что ЩЕУ) < N(5). Таким образом, ЩРг8) < 2(ВД + ц).
Лемма 1 доказана.
Теорема 3. Если полный конечный базис В содержит функцию Х1 V Х2, то для любой булевой функции / при V' е N можно построить такую невет-вящуюся программу Рг/ с оператором условной остановки, реализующую / что ЩРг/) < [0,84]' • 5,17 • N(5) при N(5) е (0, 1/960] и ц е (0, 1/10].
Доказательство. Пусть В - полный конечный базис, содержащий функцию Х1 V Х2 ; операторы условной остановки и вычислительные операторы некоторой неветвящейся программы ненадежны. Пусть N(5) е (0, 1/960] и ц е (0, 1/10].
Пусть /- любая булева функция. Реализуем ее схемой S, ненадежность которой N(5) < 5,17 • N(5) при N(5) е (0, 1/960] (см. теорему 1).
Согласно лемме 1 можно построить такую программу Рг:, что шах^1, V0} = 0 и ЩРг^) < 2N(B) + 2ц. Чтобы построить программу Рг}г>, реализующую функцию / воспользуемся теоремой 2, взяв в качестве программы Я/ схему 5 (см. замечание 1) и полагая N = 5,17 • N(5). Тогда ненадежность программы Рг/Г> удовлетворяет неравенству
ЩРг}1) < 4ЩЩРг:г + N < 4^2ц + 2Щ5) + 5,17^5)) < < 4^0,2 + 7,17/960) < 0,83^
т.е. ЩР/т) < 0,83^ тогда верно неравенство М^г/^) < 0,83 5,17^(5).
Выполним еще один шаг итерации, т.е. построим программу Рг}Т>, реализующую функцию / но заменим N на 0,83N и в качестве Я/ возьмем уже построенную программу Рг}1\ Тогда справедливо неравенство
N(Pr/(2)) < 4 0,83^^ + 2N(B) + 0,83ЛО < < 4•0,83N(0,2 + 2 / 960 + 0,83 5,17 / 960) < (0,83)2Ж
Далее методом индукции по числу итераций ' нетрудно доказать, что функцию / можно реализовать программой Рг}х\ ненадежность которой N(Pr/)) < (0,83)Ж
Действительно, выполним индуктивный переход. Пусть функцию / можно реализовать программой Р/-1), ненадежность которой N(Pr/(í-1)) < (0,83)-1Ж Проделаем еще одну итерацию, т.е. построим программу Р/ и оценим ее ненадежность с помощью теоремы 2:
N(Pr/)) < 4•(0,83)í-1N(2ц + 2^5) + (0,83)-1ЛО < < 4•(0,83)Í-1N(0,2 + 2 / 960 + (0,83)'-1Л/) <
< 4•(0,83)Í-1N(0,2 + 2 / 960 + 0,83•5,17•N(B)) <
< 4•(0,83)Í-1N(0,2 + 2 / 960 + 0,83 5,17/960) <
< 4•(0,83)Í-1N•0,83 = (0,83)'Ж
Поскольку N = 5,17^(5), функцию / можно реализовать программой Рг/), ненадежность которой ЩРг}^) < (0,8з)í•5,17N(в).
Теорема 3 доказана.
Следствие 1. Если полный конечный базис 5 содержит функцию х-1 V %2 , то любую булеву функцию /можно реализовать сколь угодно надежной неветвящейся программой Рг/ с оператором условной остановки при N(5) е (0, 1/960] и ц е (0, 1/10].
Доказательство. Пусть р - произвольное, сколь угодно малое положительное число. Покажем, что проделав достаточное число итераций, функцию / можно реализовать программой, ненадежность которой не больше р.
Действительно, по теореме 3 функцию / можно реализовать программой, ненадежность которой N(Pr/)) < (0,83)' • 5,17 • N(5) < (0,83)' ■ 5,17 / 960.
Решим неравенство (0,83)^5,17 / 960 <р относительно переменной ' и получим (0,83)' < 960р / 5,17, откуда ' > 1ое0,83(960р / 5,17). Выберем наименьшее целое удовлетворяющее последнему неравенству (обозначим его '0). Тогда программа Рг/('0) функционирует с ненадежностью N(Pr/(í0)) <р.
Следствие 1 доказано.
Таким образом, если полный конечный базис содержит функцию штрих Шеффера, то любую булеву функцию можно реализовать сколь угодно надежной неветвящейся программой, операторы которой, как вычислительные, так и остановки, ненадежны, причем неисправности вычислительных операторов произвольные, N(5) е (0, 1/960] и ц е (0, 1/10].
Отметим, что повышение надежности исходных схем при помощи схем из функциональных элементов (т.е. неветвящихся программ без стоп-операторов) не столь эффективно как неветвящимися программами с оператором условной остановки. Пока ни в одном из базисов при различных типах неисправностей функциональных элементов не удалось добиться ненадежности схемы, сколь угодно близкой к 0; во многих случаях доказана невозможность этого.
Библиографический список
1. Чашкин, А. В. О среднем времени вычисления значений булевых функций / А. В. Чашкин // Дискретный анализ и исследование операций . - 1997. - Т. 4, № 1. -С. 60-78.
2. Грабовская, С. М. О надежности неветвящихся программ в базисе, содержащем обобщенную конъюнкцию, при произвольных неисправностях вычисли-
тельных операторов / С. М. Грабовская // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2017. - № 3 (43). -С. 28-36.
3. Яблонский, С. В. Избранные труды / С. В. Яблонский ; под ред. В. Б. Алексеева, В. И. Дмитриева. - Москва : МАКС Пресс, 2004. - 584 с.
4. Алехина, М. А. Верхняя оценка ненадежности схем в полном конечном базисе (в Р2) при произвольных неисправностях элементов / М. А. Алехина, Ю. С. Гусынина, Т. А. Шорникова // Известия вузов. Математика. - 2017. - № 12. -С. 80-83.
5. Грабовская, С. М. О методах повышения надежности неветвящихся программ с оператором условной остановки / С. М. Грабовская // Проблемы автоматизации и управления в технических системах - 2015 : c6. cr. Междунар. науч.-техн. конф., посвященной 70-летию Победы в Великой Отечественной войне (г. Пенза, 19-21 мая 2015 г.). - Пенза : Изд-во ПГУ, 2015. - С. 339-342.
References
1. Chashkin A. V. Diskretnyy analiz i issledovanie operatsiy [Dicrete analysis and research of operations]. 1997, vol. 4, no. 1, pp. 60-78. [In Russian]
2. Grabovskaya S. M. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Fiziko-matematicheskie nauki [University proceedings. Volga region. Physical and mathematical sciences]. 2017, no. 3 (43), pp. 28-36. [In Russian]
3. Yablonskiy, S. V. Izbrannye trudy [Selected works]. Moscow: MAKS Press, 2004, 584 p. [In Russian]
4. Alekhina M. A., Gusynina Yu. S., Shornikova T. A. Izvestiya vuzov. Matematika [University proceedings. Mathematics]. 2017, no. 12, pp. 80-83. [In Russian]
5. Grabovskaya S. M. Problemy avtomatizatsii i upravleniya v tekhnicheskikh sistemakh -2015: sb. 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: proceedings of an International scientific and technical conference dedicated to the 70th anniversary of the Victory in the Great Patriotic War (Penza, May 19th - 21st, 2015]. Penza: Izd-vo PGU, 2015, pp. 339-342. [In Russian]
Грабовская Светлана Михайловна
кандидат физико-математических наук, доцент, кафедра компьютерных технологий, Пензенский государственный университет (Россия, г. Пенза, ул. Красная, 40)
E-mail: [email protected]
Grabovskaya Svetlana Mikhaylovna Candidate of physical and mathematical sciences, associate professor, sub-department of computer technologies, Penza State University (40 Krasnaya street, Penza, Russia)
УДК 519.718 Грабовская, С. М.
О надежности неветвящихся программ в базисе, содержащем штрих Шеффера / С. М. Грабовская // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2018. - № 4 (48). -С. 33-38. - БОТ 10.21685/2072-3040-2018-4-3.