УДК 519.71 Б01 10.17223/2226308X/8/40
ВЕРХНЯЯ ОЦЕНКА НЕНАДЁЖНОСТИ НЕВЕТВЯЩИХСЯ ПРОГРАММ С НЕНАДЁЖНЫМ СТОП-ОПЕРАТОРОМ1
С. М. Грабовская
Рассматривается реализация булевых функций неветвящимися программами с оператором условной остановки в произвольном полном конечном базисе. Предполагается, что вычислительные операторы программы с вероятностью е € € (0,1/2) подвержены однотипным константным неисправностям на выходах, а стоп-операторы — с вероятностями 5 € (0,1/2) и п € (0,1/2) неисправностям 1-го и 2-го рода соответственно. Найдены верхние оценки ненадёжности неветвящихся программ во всевозможных полных конечных базисах.
Ключевые слова: булева функция, неветвящаяся программа, оператор условной остановки, надёжность, константные неисправности.
Программы с оператором условной остановки [1] характеризуются наличием управляющей команды — команды условной остановки, дающей возможность досрочного прекращения работы программы при выполнении определённого условия, а именно при поступлении единицы на вход оператора условной остановки (который ещё называют стоп-оператором).
Будем считать, что все вычислительные операторы независимо друг от друга с вероятностью е € (0,1/2) подвержены константным неисправностям либо типа 0, либо типа 1 на выходах [2]. Константные неисправности типа 0 (типа 1) характеризуются тем, что в исправном состоянии вычислительный оператор реализует приписанную ему булеву функцию а в неисправном — функцию 0 (функцию 1).
Предполагается, что операторы условной остановки ненадёжны и независимо друг от друга подвержены неисправностям двух типов: первого и второго рода [3]. Неисправность первого рода характеризуется тем, что при поступлении единицы на вход стоп-оператора он с вероятностью 8 € (0,1/2) не срабатывает и, следовательно, работа программы продолжается. Неисправность второго рода такова, что при поступлении нуля на вход стоп-оператора он с вероятностью п € (0,1/2) срабатывает и, следовательно, работа программы прекращается. Обозначим ^ = тах{е, 8, п}.
Замечание 1. Заметим, что схему из функциональных элементов (ФЭ) [2] можно считать частным случаем неветвящихся программ, а именно неветвящейся программой, в которой нет стоп-операторов.
Определение 1. Ненадёжностью ЖДРг) программы Рг назовём максимальную вероятность ошибки на выходе программы Рг при всевозможных входных наборах.
Надёжность программы Рг равна 1 — Ж^(Рг).
Определение 2. Особенной функцией называется функция вида х^2 Ф х2х3 Ф Ф Ж1Ж3 Ф ^1x1 Ф ^2x2 Ф взхз Ф во (& € {0,1}, г = 0,1, 2, 3).
Известно [4], что из всякой нелинейной функции от трёх или более переменных отождествлением и/или переименованием переменных можно получить либо некоторую нелинейную функцию двух переменных ф(х1, х2) = х1х2 Ф а1х1 Ф а2х2 Ф а0, либо некоторую особенную функцию ^(х1,х2,х3) = х1х2Фх1 х3Фх2х3Фв1х1 Фв2х2Фв3х3Фв0,
1 Работа поддержана грантом РФФИ, проект №14-01-31360.
Математические основы надёжности вычислительных и управляющих систем
107
где а0, «1, а2, во, в, в2,в3 € {0,1}. Поскольку в любом полном конечном базисе содержится нелинейная функция, далее без ограничения общности будем считать, что рассматриваемый полный базис В содержит либо нелинейную функцию двух переменных, либо особенную функцию.
Для нелинейной функции двух переменных (ж^1 &ж0?2)аз (а1, а2, а3 € {0,1}) возможны два случая: 1) а3 = 0, тогда функция принимает вид ж^1 Vж^2, и будем называть её обобщённой дизъюнкцией; 2) а3 = 1, в этом случае функция принимает вид ж^1 &жа2, будем называть её обобщённой конъюнкцией.
Таким образом, рассмотрим три вида базисов, содержащих 1) особенную функцию; 2) обобщённую дизъюнкцию; 3) обобщённую конъюнкцию. Получены следующие результаты.
1. Пусть полный конечный базис В содержит особенную функцию.
Теорема 1. В полном конечном базисе, содержащем особенную функцию, любую булеву функцию f можно реализовать такой неветвящейся программой Рг/ при однотипных константных неисправностях на выходах вычислительных операторов, что при всех е € (0,1/960] справедливо неравенство Жм(Рг/) ^ шах{е, п} + 68^2.
2. Пусть полный конечный базис содержит обобщённую дизъюнкцию. Здесь возможны два варианта: вычислительные операторы подвержены константным неисправностям на выходах либо типа 0, либо типа 1.
Теорема 2. В полном конечном базисе, содержащем обобщённую дизъюнкцию, любую булеву функцию f можно реализовать такой неветвящейся программой Рг/ при константных неисправностях типа 0 на выходах вычислительных операторов, что при всех е € (0,1/960] справедливо неравенство Жм(Рг/) ^ е + 78^2.
Теорема 3. В полном конечном базисе, содержащем обобщённую дизъюнкцию, любую булеву функцию f можно реализовать такой неветвящейся программой Рг/ при константных неисправностях типа 1 на выходах вычислительных операторов, что при всех е € (0,1/960] справедливо неравенство Жм(Рг/) ^ 80^2.
3. Пусть полный конечный базис содержит обобщённую конъюнкцию. Так же, как и в предыдущем случае, рассмотрим два варианта: вычислительные операторы подвержены константным неисправностям типа 0 либо типа 1 на выходах.
Теорема 4. В полном конечном базисе, содержащем обобщённую конъюнкцию, любую булеву функцию f можно реализовать такой неветвящейся программой Рг/ при константных неисправностях типа 0 на выходах вычислительных операторов, что при всех е € (0,1/960] справедливо неравенство Жм(Рг/) ^ 80^2.
Теорема 5. В полном конечном базисе, содержащем обобщённую конъюнкцию, любую булеву функцию f можно реализовать такой неветвящейся программой Рг/ при константных неисправностях типа 1 на выходах вычислительных операторов, что при всех е € (0,1/960] справедливо неравенство Жм(Рг/) ^ е + 78^2.
Таким образом, в произвольном полном конечном базисе верхняя оценка ненадёжности неветвящихся программ при однотипных константных неисправностях на выходах вычислительных операторов составляет шах{е,п} + 78^2 для всех е € (0,1/960] и ^ = шах{е,$, п}. Однако в некоторых случаях эта оценка может быть существенно улучшена. Например, в базисе, содержащем обобщённую дизъюнкцию (конъюнкцию),
любую булеву функцию можно реализовать неветвящейся программой при константных неисправностях типа 1 (0) на выходах вычислительных операторов с ненадёжностью не больше 80^2 при всех е € (0,1/960].
В качестве сравнения, для схем из ФЭ известно [2], что в произвольном полном конечном базисе любую булеву функцию f можно реализовать схемой из ФЭ при тех же типах неисправностей с ненадёжностью не больше 3е + 100е2 при всех е € € (0,1/960]. Однако в некоторых базисах данную верхнюю оценку можно улучшить. Например, в базисе {х1 Ух2, Х1} она составляет 2е+42е2 при всех е € (0,1/140]; в базисе {х1&Х2, х1 ~ х2} имеем е + 6е2 при всех е € (0,1/320]. Заметим, что для неветвящихся программ без стоп-операторов (см. замечание 1) 8 = п = 0, следовательно, ^ = е. Тогда верхняя оценка ненадёжности таких программ составляет е + 78е2 при всех е € (0,1/960], а в некоторых базисах 80е2, что в общем случае лучше, чем для схем из ФЭ.
ЛИТЕРАТУРА
1. Чашкин А. В. О среднем времени вычисления значений булевых функций // Дискретный анализ и исследование операций. 1997. Т. 4. №1. С. 60-78.
2. Алехина М. А. Синтез асимптотически оптимальных по надежности схем из ненадежных элементов. Пенза: ИИЦ ПГУ, 2006.
3. Алехина М. А., Грабовская С.М. Асимптотически оптимальные по надежности неветвя-щиеся программы с оператором условной остановки. Пенза: ИИЦ ПГУ, 2013.
4. Редькин Н. П. О полных проверяющих тестах для схем из функциональных элементов // Математические вопросы кибернетики. 1989. Вып. 2. С. 198-222.
УДК 519.718 Б01 10.17223/2226308Х/8/41
О ДЛИНЕ, ВЫСОТЕ И НАДЁЖНОСТИ СХЕМ, РЕАЛИЗУЮЩИХ ФУНКЦИИ ВЫБОРА г^1
А. В. Рыбаков
Рассматриваются клеточные (плоские) схемы, реализующие функции выбора г>2г. Предполагается, что коммутационные элементы абсолютно надёжны, а функциональные подвержены инверсным неисправностям на выходах, причём переходят в неисправные состояния независимо друг от друга. Найдены соотношения для длины и высоты, а также получена оценка ненадёжности таких схем.
Ключевые слова: булевы функции, клеточные (плоские) схемы, инверсные неисправности функциональных элементов, ненадёжность схемы, функция выбора.
Впервые задачу синтеза надёжных схем из ненадёжных функциональных элементов рассматривал Дж. фон Нейман. Он предполагал, что все элементы схемы независимо друг от друга с вероятностью е € (0; 1/2) подвержены инверсным неисправностям на выходах. Эти неисправности характеризуются тем, что в исправном состоянии функциональный элемент реализует приписанную ему булеву функцию ф, а в неисправном — функцию ф. С помощью итерационного метода Дж. фон Нейман установил [1], что в произвольном полном базисе при е € (0; 1/6] любую булеву функцию можно реализовать схемой, вероятность ошибки, на выходе которой при любом
1 Работа поддержана грантом РФФИ, проект №14-01-31360.