Научная статья на тему 'О синтезе легкотестируемых схем в случае однотипных константных неисправностей на выходах элементов'

О синтезе легкотестируемых схем в случае однотипных константных неисправностей на выходах элементов Текст научной статьи по специальности «Математика»

CC BY
3698
101
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Бородина Ю. В.

Предложен метод синтеза легкотестируемых схем из функциональных элементов в базисе {&, V, -} для булевых функций. В качестве неисправностей предполагаются константные неисправности типа "1" на выходах элементов. Доказано, что для таких схем полный проверяющий тест имеет длину, не превосходящую 2. Приведен пример функции, которую нельзя реализовать схемой, допускающей полный проверяющий тест меньшей длины.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «О синтезе легкотестируемых схем в случае однотипных константных неисправностей на выходах элементов»

СПИСОК ЛИТЕРАТУРЫ

1. Clements М.Р. Evaluating econometric forecasts of economic and financial variables. N.Y.: Palgrave Macmillan, 2005.

2. Frances P. H., D i j к V. D. Nonlinear time series models in empirical finance. Cambridge: Cambridge University Press, 2000.

3. West K. D. Asymptotic inference about predictive ability // Econometrica. 1996. 64. N 5. P. 1067-1084.

4. West K.D., McCraken M.V. Regression-based tests of predictive ability // Inter. Economic Review. 1998. 39. N 4. P. 817-840.

5. Анатольев С. А. Эконометрика для продолжающих. М.: Российская экономическая школа, 2004.

6. Berkowitz J., Kilian L. Recent developments in bootstrapping time series [PDF]. 1996 (http://ideas, repec.org/p/fip/fedgfe/96-45. html).

7. Berkowitz J., Birgean I., Kilian L. On the finite-sample accuracy of nonparametric resampling algorithms for economic time series [PDF]. 1999 (http://ideas.repec.Org/p/fth/michet/99-01.html).

Поступила в редакцию 10.07.07

УДК 519.718.7

Ю.В. Бородина

О СИНТЕЗЕ ЛЕГКОТЕСТИРУЕМЫХ СХЕМ В СЛУЧАЕ ОДНОТИПНЫХ КОНСТАНТНЫХ НЕИСПРАВНОСТЕЙ НА ВЫХОДАХ ЭЛЕМЕНТОВ1

(кафедра дискретной математики механико-математического факультета, e-mail: [email protected])

Предложен метод синтеза легкотестнруемых схем из функциональных элементов в базисе {&, V, для булевых функций. В качестве неисправностей предполагаются константные неисправности типа "1" на выходах элементов. Доказано, что для таких схем полный проверяющий тест имеет длину, не превосходящую 2. Приведен пример функции, которую нельзя реализовать схемой, допускающей полный проверяющий тест меньшей длины.

Для обеспечения надежного функционирования управляющих систем необходимо решать задачи контроля исправности и диагностики неисправностей этих систем. Для решения этих задач С.В. Яблонским предложены логические методы контроля [1], суть которых состоит в том, что входы схемы подвергаются некоторому специальным образом подобранному "проверяющему" воздействию, т.е. на входы системы подается некоторая тестовая информация и на основе наблюдения реакции системы на это воздействие делается заключение о ее исправности и характере неисправностей (при их наличии).

Будем рассматривать схемы из функциональных элементов [2, 3]. Пусть S — некоторая схема из функциональных элементов, реализующая булеву функцию /(ж), х = (ж1,ж2, • • •,хп).

Функция, реализуемая на выходе схемы при наличии в схеме неисправных элементов, называется функцией неисправности. Всякое множество Т входных наборов схемы S называется полным проверяющим тестом для этой схемы, если для любой функции неисправности д(х), не равной тождественно /(ж), в Т найдется хотя бы один такой набор а, что f(a) ф д(а) [4, 5]. Число наборов, составляющих этот тест, называется длиной теста. В качестве тривиального теста всегда можно взять тест, содержащий все 2" наборов значений переменных булевой функции от п переменных.

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

1 Работа выполнена при финансовой поддержке РФФИ (проект 05-01-00994), программы поддержки ведущих научных школ РФ (проект НШ-5400.2006.1) и программы фундаментальных исследований Отделения математических наук РАН "Алгебраические и комбинаторные методы математической кибернетики" (проект "Синтез и сложность управляющих систем").

Для упрощения решения данной задачи с целью получения практического результата существуют следующие пути:

— ограничение типов возможных неисправностей [6];

— выбор схем определенного типа;

— синтез легкотестируемых схем [5].

Введем обозначения: D(T) — длина теста Г; D(S) = mini?(Г), где минимум берется по всем полным проверяющим тестам Т для схемы 5; D(f) = min D(S), где минимум берется по всем схемам S, реализующим функцию /; D(n) = maxD(f), где максимум берется по всем булевым функциям / от п переменных.

В работе рассматривается задача построения легкотестируемых схем из функциональных элементов для произвольных булевых функций. В качестве базиса возьмем {&, V, "}. В качестве неисправностей предполагаются константные неисправности типа "1" на выходах элементов.

Для произвольной булевой функции /(ж), ж = {х\, Х2, ■ ■ ■, хп), известен [7] способ построения реализующей ее схемы, допускающей полный проверяющий тест длины не больше п. Целью данной работы является доказательство равенства D(n) = 2 (см. теоремы 2 и 3).

Нулевой набор функции /(ж), где ж = (xi,x2, ■ ■ • ,ж„), — это набор значений переменных Х\,Х2, ■ ■ ■ ... ,хп, на котором функция принимает значение 0.

Обозначим через ||сг|| количество единиц в наборе Ъ = (<7i,.. . ,<т„), и положим

m(f) = max{||cr|| : /(сг) = 0} — максимальное количество единиц в нулевых наборах функции /.

Теорема 1. Пусть для функции / от п переменных, отличной от константы, найдутся такой нулевой набор Ъ и такая тупиковая дизъюнктивная нормальная форма F, что:

1) \\д\\ = m(f) ф О-

2) если для какого-то j £ {1 ,...,п} значение аj = 0, то соответствующая переменная Xj входит в F без отрицания.

Тогда функцию / можно реализовать схемой из функциональных элементов, допускающей полный проверяющий тест длины 1.

Доказательство. Пусть задана произвольная булева функция f(x), где х = (х\, Х2, ■ ■ ■, хп). Будем предполагать, что функция / существенно зависит от всех п переменных. Это предположение не умаляет общности — если некоторая функция /* получается из / изъятием фиктивных переменных и для /* утверждение теоремы справедливо, то это утверждение справедливо и для /.

Начнем с построения схемы.

Пусть Ъ — нулевой набор функции /(ж), удовлетворяющий условиям теоремы и содержащий rri(f) = т единиц. Без ограничения общности можем считать, что эти единицы соответствуют последним т переменным. Пусть k = п — т, тогда а = (0,.. .,0,1,..., 1).

к т

Пусть F — тупиковая дизъюнктивная нормальная форма функции /(ж), удовлетворяющая условиям теоремы, т.е. она не содержит отрицаний переменных х\,..., х

Схему S, реализующую функцию /(ж), составим из пяти подсхем S\, S2, S3, 54 и S5 (рисунок).

Подсхема Si содержит не более п — к инверторов, на выходах которых реализуются все входящие в F инверсии переменных из множества

1 7 • • • 7

Схема S2 служит для контроля исправности элементов из схемы SВ S2 содержится столько конъюнкторов, сколько инверторов содержится в схеме S\, и каждый конъюнктор из S2 однозначно

соответствует некоторому элементу схемы 51. Пусть конъюнктор Е из 5г соответствует Е', инвертору для переменной Тогда один вход элемента Е соединяется с выходом Е', а на второй вход элемента Е подается Если все элементы из 51 исправны, то на выходе элемента Е релизуется конъюнкция Таким образом, при отсутствии неисправных элементов в схемах 51 и 5г на выходах всех конъюнкторов из 5г реализуются тождественные нули.

Подсхема 5з релизует все конъюнкции, входящие в дизъюнктивную нормальную форму Е функции /(ж) и зависящие от двух и более переменных, следующим образом. Каждая конъюнкция реализуется цепью из конъюнкторов. В силу выбора параметра к, в каждой из реализуемых в этой подсхеме конъюнкций есть хотя бы один сомножитель из множества {ж1,..., ..., (иначе на наборе сг(/) функция / принимала бы значение 1, что противоречит определению набора как нулевого для функции). Подаем значения этих множителей на верхние входы соответствующих цепей.

Подсхема 54 служит для контроля исправности элементов подсхемы 5з. Подсхема 54 состоит из цепей конъюнкторов длины то. В каждой цепи на вход верхнего элемента Е\ подается выход каждого конъюнктора подсхемы 5з (таким образом, количество цепей в схеме 54 совпадает с количеством элементов подсхемы 5з). На левые входы последующих конъюнкторов • • - ,Ет подаются значения с выходов предыдущих, на правые же входы — значения переменных ж¿, где к + 1 ^ I ^ п.

Схема 55 представляет собой цепь из дизъюнкторов и реализует дизъюнкцию выходных функций подсхем 5г, 5з, 54 и значений одночленных слагаемых из множеств {х\,..., х^} или {ж&+1,..., ж^"}, входящих в дизъюнктивную нормальную форму Е (других одночленных слагаемых в Е нет в силу выбора набора а).

Заметим, что при отсутствии блока 54 совокупность схем 51, 5г, 5з и 5б реализует функцию /(ж).

Докажем, что схема 5 также реализует функцию /(ж). Пусть это не так, и схема 5 реализует такую функцию д(ж), что для некоторого набора 6 значений переменных Х2, ■ ■ ■, хп имеем /(8) ф д(5). Если /(6) = 1, то из устройства схемы 5 следует, что и д(5) = 1. Следовательно, /(6) = 0, а д(§) = 1 — единственно возможный вариант выполнения неравенства /(6) ф д(5). Это означает, что некоторая конъюнкция, реализуемая на выходе подсхемы 54, равна 1 на наборе 6, в то время как /(¿) = 0. Согласно построению схемы каждая такая конъюнкция содержит сомножители из множества {ж1,..., ж&_|_1,..., ж^Г}. Если в конъюнкции присутствуют сомножители хт из {ж&_|_1,..., ж^Г}, то она содержит в качестве сомножителя выражение вида жт&жт, т.е. в исправном состоянии элементов на выходе цепочки, реализующей эту конъюнкцию, получаем тождественный нуль. Иначе конъюнкция в качестве сомножителей обязательно содержит переменные из множества {х\,..., х^} и имеет вид ж¿1& ... .. . &ж„ (в > 0, 1 ^ ^ к) и может быть равна 1 только на наборе 6, содержащем

единицы на местах ¿1,..., к + 1,..., п. Но тогда этих единиц оказывается более то = то(/) штук, откуда /(8) = 1, что противоречит нашему предположению.

Докажем, что полным проверяющим тестом для нашей схемы будет набор а. Рассмотрим поведение схемы при подаче на ее входы этого набора. Это нулевой набор для функции /. Легко заметить, что в исправном состоянии значение на выходах всех элементов всех подсхем на данном наборе равно 0.

При неисправности любого элемента подсхемы 5б или при подаче на любой из ее входов единицы схема 5 выдает значение 1.

При переходе в неисправное состояние одного из элементов подсхем 5г на вход некоторого элемента схемы 55 будет подано значение 1. В этом случае единицу получим и на выходе всей схемы.

При неисправности какого-либо инвертора Е' из подсхемы 51 на оба входа соответствующего ему конъюнктора Е из 5г подаются единицы. Следовательно, на выходе этого конъюнктора Е, а вслед за ним и на выходе подсхемы 5б тоже получим единицу.

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

При переходе в неисправное состояние одного из элементов схемы 5з на вход некоторой цепи схемы 54 будет подано значение 1. Из вышесказанного следует, что и в этом случае на выходе всей схемы 5 получим единицу.

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

Замечание. Исключенные в теореме 1 константные функции также реализуются схемами, допускающими полный проверяющий тест длины 1 [5, с. 149].

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

Доказательство. Пусть задана произвольная функция / от п переменных. Будем предполагать, что функция / существенно зависит от всех п переменных. Это предположение не умаляет общности — если некоторая функция /* получается из / изъятием фиктивных переменных и для /* утверждение теоремы справедливо, то это утверждение справедливо и для /. Так как согласно замечанию 1 для констант утверждение верно, то будем рассматривать функции, отличные от констант.

Если rri(f) = 0, то функция имеет вид f(x) = х\ V ... V хп, и при реализации этой функции цепью из дизъюнкторов полным проверяющим тестом для полученной схемы будет единственный нулевой набор.

Пусть rri(f) ф 0. В случае если / не сохраняет 1 (т.е. /(1,...,1) = 0), rri(f) = п и согласно теореме 1 ее можно реализовать схемой, допускающей полный проверяющий тест длины 1.

Если /(1,..., 1) = 1, рассмотрим функцию f(xi,.. .,хп). Эта функция не сохраняет 1, и, значит, ее можно реализовать схемой S, допускающей полный проверяющий тест, состоящий из одного набора (1,..., 1). Присоединим к выходу этой схемы инвертор I. Полученная таким образом схема S' будет реализовывать функцию /. Докажем, что она допускает полный проверяющий тест длины 2.

Сначала подадим на входы схемы любой нулевой набор функции /. При переходе в неисправное состояние инвертора I на выходе схемы S' мы получим значение 1 независимо от исправности элементов подсхемы S, и эта неисправность будет обнаружена.

Если же на выходе схемы S' получится 0, то инвертор I исправен. Подадим на входы схемы набор (1,...,1). Тогда при переходе в неисправное состояние любого элемента схемы S на выходе инвертора I получится 0. Таким образом, неисправность будет обнаружена, так как /(1,..., 1) = 1.

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

Теорема 3. Для любого га ^ 2 выполняется равенство D(n) = 2.

Доказательство. Верхняя оценка D(n) ^ 2 следует из теоремы 2. Докажем, что D(n) ^ 2. Возьмем функцию от двух переменных x\<k.x2 V х\<к.х2 и докажем, что ее нельзя реализовать схемой в исходном базисе, допускающей полный проверяющий тест длины 1. Допустим противное. Пусть такая схема S существует и набор а является полным проверяющим тестом для нее. Удалим из схемы S все избыточные элементы [5, с. 111] и подадим 1 на входы элементов, которые были соединены с выходами удаленных элементов. Рассмотрим полученную таким образом схему 5'. Она тоже реализует исходную функцию и а по-прежнему является тестом для нее.

Схема S' непременно содержит инверторы (иначе на наборе (0,0) S' будет выдавать значение 0). Если вход инвертора I соединен не с входом схемы 5', а с выходом какого-то ее элемента Е, то на наборе а, подаваемом на входы исходной схемы S, либо сам инвертор, либо предшествующий ему элемент Е будет выдавать 1, и при переходе их в неисправное состояние это не отразится на полученном результате. Таким образом, тест из одного набора не проверяет либо I, либо Е, в то время как оба этих элемента являются неизбыточными для схемы S (поскольку входят в схему S').

Таким образом, входы инверторов могут соединяться только с входами схемы S', а так как наша функция немонотонна по каждой переменной, то схема S' должна содержать инверторы после входа каждой переменной, и оба этих инвертора являются неизбыточными для схемы S. Но тогда проверяющий тест должен состоять из набора, при подаче которого на входы схемы оба инвертора выдают значение 0, т.е. из набора (1,1), но этот набор не является нулевым для нашей функции, и мы не сможем проверить наличие неисправности у выходного элемента. Полученное противоречие показывает, что указанной схемы S не существует.

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

Замечание. Аналогичные результаты справедливы и в случае константных неисправностей типа "0" на выходах элементов. Требующиеся при этом изменения в формулировках и доказательствах очевидны в силу двойственности рассматриваемого базиса.

Автор глубоко благодарен профессору Н.П. Редькину за внимание к работе и ценные замечания.

СПИСОК ЛИТЕРАТУРЫ

1. Чегис И. А., Яблонский C.B. Логические способы контроля работы электрических схем // Труды МИАН. 1958. 51. С. 270-360.

2. Лупанов О. Б. Асимптотические оценки сложности управляющих систем. М., 1984.

3. Яблонский C.B. Введение в дискретную математику. М., 2002.

4. Яблонский C.B. Некоторые вопросы надежности и контроля управляющих систем // Математические вопросы кибернетики. 1988. 1. С. 5-25.

5. Редьки н Н.П. Надежность и диагностика схем. М., 1992.

6. Карибский В. В., Пархоменко П. П., Согомонян Е. С., Халчев В.Ф. Основы технической диагностики. М., 1976.

7. Редьки н Н. П. О схемах, допускающих короткие тесты // Вестн. Моск. ун-та. Сер. 1. Матем. Мех. 1988. № 2. С. 17-21.

Поступила в редакцию 01.02.07

УДК 519.71

0.Б. Седелев

О РЕАЛИЗАЦИИ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ СХЕМАМИ ИЗ ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ, ВЛОЖЕННЫМИ В ЕДИНИЧНЫЙ КУБ1

(кафедра математической кибернетики факультета ВМиК, e-mail: [email protected])

В последнее время достаточно распространенной моделью реализации функций алгебры логики, являются схемы из функциональных элементов. Во многих случаях для дальнейшего использования построенной схемы необходима ее геометрическая реализация, т. е. вложение определенного вида в ту или иную заданную геометрическую структуру. В качестве такой структуры в последнее время часто выступает единичный n-мерный куб.

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

Пусть Б — конечный полный базис из функциональных элементов, а Дб (") — минимальная размерность единичного куба, допускающего для любой ФАЛ f(xi, . . . ,хп) квазигомеоморфное вложение некоторой схемы из функциональных элементов в базисе Б, реализующей f(xi, . . . , хп). Основной результат работы заключается в установлении следующих оценок:

п - log log(n) - сБ < Дб (") < " - log log (и) + с'в , где сб и Cg — некоторые константы, зависящие от базиса.

1. Введение. В настоящее время достаточно распространенной моделью реализации функций алгебры логики (ФАЛ) являются схемы из функциональных элементов (СФЭ) [1, 2]. Известно [2], что для функции Шеннона Ьъ(п), которая равна сложности самой "сложной" ФАЛ от га булевских переменных (БП) при их реализации в классе СФЭ в базисе Б, имеет место асимптотическое равенство:

2"

LB(n) ~ рв —, га

где ръ — константа, зависящая от базиса.

Во многих случаях для дальнейшего использования построенной схемы необходима ее геометрическая реализация, т.е. вложение определенного вида в ту или иную заданную геометрическую структуру. В качестве такой структуры в последнее время часто выступает единичный га-мерный куб. При этом рассматриваются различные типы вложений и, в частности, гомеоморфные [2] и квазигомеоморфные вложения.

1 Работа выполнена при финансовой поддержке РФФИ (проект 06-01-00745).

i Надоели баннеры? Вы всегда можете отключить рекламу.