Научная статья на тему 'О тестах относительно множественных монотонных симметрических слипаний переменных в булевых функциях'

О тестах относительно множественных монотонных симметрических слипаний переменных в булевых функциях Текст научной статьи по специальности «Математика»

CC BY
53
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕСТЫ / TESTS / СЛИПАНИЯ / ФУНКЦИЯ ШЕННОНА / TEST-LENGTH SHANNON FUNCTION / CONGLUTINATION OF VARIABLES

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

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

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

Текст научной работы на тему «О тестах относительно множественных монотонных симметрических слипаний переменных в булевых функциях»

УДК 519.718

Е. В. Морозов1

О ТЕСТАХ ОТНОСИТЕЛЬНО МНОЖЕСТВЕННЫХ МОНОТОННЫХ СИММЕТРИЧЕСКИХ СЛИПАНИЙ ПЕРЕМЕННЫХ В БУЛЕВЫХ ФУНКЦИЯХ*

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

Ключевые слова: тесты, слипания, функция Шеннона.

1. Введение. Будем говорить, что в булевой функции /(х\,... ,хп) произошло Ф-слипание переменных Хгг,..., Хгк, если вместо исходной функции реализуется булева функция, полученная из нее подстановкой вместо каждой из переменных х^,..., х^к функции (р(хгг, • • •, х^к) от х^,..., х^к, где функция (р € Ф, будем также называть функцией слипания. Пусть д € М, д ^ п, ¿2; • • •, %, ■ ■ •, , • • •, 1 • • •! Ь, — попарно различные натуральные числа из отрезка [1, п]. Бу-

дем говорить, что в булевой функции /(х\,..., хп) произошло множественное Ф-слипание переменных

1 Факультет ВМК МГУ, асп., e-mail: morozov_msuQmail.ru

* Работа выполнена при финансовой поддержке РФФИ (грант № 12-01-00964-а).

Хг1,..., Хгн ,..., ж^ +1,..., ж^, если вместо исходной функции реализуется булева функция, полученная из нее подстановкой вместо каждой из переменных ж^, х^,..., х^ функции ¡¿>1 (ж^

1 1 ' ' ' 1 Хил ) €

€ Ф, вместо каждой из переменных ж^ +1,..., ж^ функции (р2{хгн+1 ) € Ф и так далее, вместо

каждой из переменных Xij _1+1,..., ж^ функции _1+1,..., ж^ ) € Ф, функции ..., также

будем называть функциями слипания. Через Ф = обозначим множество функций, в которое

входит /(ж1,...,жп) и всевозможные булевы функции, получающиеся из /(х\,... ,хп) в результате множественных Ф-слипаний переменных при любых допустимых значениях чисел д, ¿1, %2, • • •, %, ..., ,..., г^ !, г^ 1+1,..., г.,- . Множество наборов Т назовем проверяющим (диагностическим) тестом для функции /(х\,..., жп), если для функции / и любой д € Ф, отличной от /, (соответственно для любой пары неравных функций из Ф и /) в Т найдется набор, на котором эти функции принимают разные значения. Традиционным образом введем функцию Шеннона длины проверяющего (диагностического) теста относительно множественных Ф-слипаний переменных Ьйе*есЛ(п) (соответственно ЬАш&и(п)) как максимум по всем булевым функциям длины минимального проверяющего (диагностического) теста относительно множественных Ф-слипаний. Множество наборов, у которых ровно р единиц, называется р-м слоем булева куба. Булева функция ср(ж^,...,ж^) называется симметрической, если на всяких двух наборах, принадлежащих одному слою булева куба, значения функции совпадают. Все неопределенные понятия можно найти в [1]. В данной работе рассматривается случай, когда Ф — всевозможные монотонные симметрические функции, а слипания соответственно называются монотонными симметрическими.

Основные определения. Будем говорить, что набор а = (аъ...,ап) больше набора ¡3 = = (/?!,..., /Зп), если щ ^ /?г и а ф ¡3. Будем обозначать данное отношение как ¡3 ■< а.

Порогом монотонной или антимонотонной симметрической функции будем называть такое число к, что значения функции на к-м и (к + 1)-м слоях булева куба различаются.

Проверяют,ей парой для переменных ж^ж^-, г ф назовем пару таких наборов а = («1,... ,ап), (3 = (/?!,... ,/Зп), что /(а) ф /(/3), Щ ф а,.] и при к € {г,,]} верно, что аф а при всех остальных к имеет место равенство а^ = ¡3^.

Проверяют,ей тройкой для переменных ж*, ж^ назовем такие наборы а1,а2,аз; что 1) /(«1) = = /(«з) Ф /(«г); 2) в позициях г, ] набора а,\ стоят нули; 3) набор «2 является соседним с а,\ по одной из компонент % или а набор «з соседний с «2 по другой компоненте.

Проверяют,ей четверкой для переменных ж*, ж^ назовем наборы «1, а2, «3; «4; такие, что:

1) /(«1) ф /(«г); /(а3) Ф /(¿К4); 2) у набора а,\ стоят нули в разрядах г, а у «з стоит нуль в одном из разрядов г, (обозначим этот разряд через I) и единица в другом разряде; 3) наборы а,\ и «2 являются соседними по компоненте наборы «з и «4 также являются соседними по компоненте Ц 4) а,\ -< «2 -< |. «1 -< «з -< «4.

Множество наборов называется дизъюнктивным (конъюнктивным) детектором, если для каждой пары переменных ж*, ж^- в нем есть два набора а 1, «2, такие, что: 1) наборы а 1, «2 являются соседними по одной из компонент г, причем у набора «2 («1) в позициях г ш ] стоят единицы (нули);

2) /(а 1) ф /(«г); 3) V«: «2 а => /(«г) = /(а) (V«: а -<! «1 /(«1) = /(а))- Выбранные два набора обнаруживают дизъюнктивные (конъюнктивные) слипания переменных Жг, Ху

Пусть /г(ж1,..., ж8) — монотонная или антимонотонная симметрическая функция. Множество наборов «о,«!,..., ап называется ж ^-детектором, если выполнено следующее: 1) наборы а0 и щ являются соседними по г-ж компоненте, причем а0 -< щ; 2) /г.(ао) ^ Ь,{щ); 3) при ] € {1,..., г — 2, г — 1, г + 1, г + 2,..., п} и нулевой ;/'-й компоненте набора «о набор ау является соседним с «о по ;/'-й компоненте, а при единичной — соседним с оц по компоненте.

Назовем а0 нижним ведущим набором, а — верхним ведущим набором.

3. Вспомогательные леммы. При доказательстве следующих лемм под (* + 1)-й компонентой 5-мерного вектора будем понимать 1-ю компоненту, под (« + 2) — 2-ю и так далее, т. е. для удобства считаем сложение "циклическим", когда говорим о номерах разрядов в булевых наборах.

Лемма 1. Пусть 1 ^ к ^ в, /1(2/1,... ,у3) — симметрическая функция, которая на к-м слое куба

2

равна а, на всех остальных слоях — а. Тогда существует множество наборов мощности + О(я), содержащее хотя бы по одной проверяющей тройке для каждой пары переменных.

Доказательство. Будем последовательно отбирать проверяющие тройки для переменных

(УъУг), (Уъ Уз); • • •, (УиУз), • • •, (ys-i,ys)-

Пусть к ^ §. Для всех г€{1,...,п — 1} оценим число наборов, содержащих проверяющие тройки для (yj, yi+i), ■ ■ ■, {уг, Уз)- Возьмем набор а\, в котором на позициях г, г + 1,..., {г + s — к) стоят нули, а на остальных — единицы, и набор п[,. соседний с а\ по г-ш компоненте. Теперь возьмем наборы, соседние с а2 по компонентам г + 1,..., min(s, г + s — к). Среди выбранных наборов содержатся проверяющие тройки ДЛЯ (уг,уг-ц),- • • -,{Уг-, Ушт(з,г+з-к)) • ЕСЛИ % + S — к < S, ТО ВОЗЬМвМ набор ß\, В КОТОрОМ на позициях г, i + s — к + l,i + s — к + 2,... ,г + 2 (s — к) стоят нули, а на остальных — единицы, и набор /?2, соседний с ß\ по г-ш компоненте. И также возьмем наборы, соседние с ß2 по компонентам

1 + s — k + 1,... ,s. Всего для данного г выбрано наборов не более, чем s — г + 4. Тогда суммарно для всех

2

переменных выбрано наборов не более, чем 4j- + 0(s). Для каждой пары переменных среди выбранных

наборов есть проверяющая тройка.

Пусть теперь к > Заметим, что в предыдущем варианте мы выбирали проверяющие тройки

так, что первые два набора были общими у некоторых троек. В текущем случае будем выбирать

наборы аналогично, только общими у проверяющих троек будут последние два набора. Получаем ту 2

же верхнюю оценку 4j- + 0(s) для множества наборов, содержащего проверяющие тройки для всех пар

переменных. Лемма доказана.

Лемма 2. Пусть h(yi,...,ys) — симметрическая функция и существуют числа ko,k\,ko < k\,

такие, что функция h(yi,..., ys) принимает значение а на слоях 0,1,..., ко — 1, значение а на слое

ко, значение Ь на слое к\ и значение Ь на слоях к\ + 1,..., s. Тогда существует множество набо-2

ров мощности 4j- + 0(s), содержащее хотя бы по одной проверяющей четверке для каждой пары переменных.

Доказательство. Будем последовательно добавлять проверяющие четверки для переменных

(УъЫ, (Уъ Уз); • • •, (УиУз), • • •, (ys-i,ys)-

Пусть ко < ■§. Оценим число наборов, содержащих проверяющие четверки для (yi,yi+1),... ... ,{yi,ys). Возьмем набор ct\, у которого на позициях г, i + 1,... ,i + s — ко стоят нули, а на остальных — единицы. Возьмем набор nf,. соседний с а\ по г-ш компоненте. Это будут первые два набора проверяющих четверок. Далее будем последовательно получать вторые два набора проверяющих четверок следующим образом. Получим два новых набора, заменив нулевые компоненты г + 1,..., г + ki — ко + 1 наборов аг2 единицами. Построенные четыре набора являются проверяющими четверками для пар переменных (у^, Уг+i), (Уг, Уг+г); • • •, (Уг+fci-fco+i)- Затем заменим следующие ki — ко + 1 нулевые компоненты а\, аг2 единицами и получим еще два набора. Когда более не будет следующих — + 1 компонент, процесс прекращается. Если при этом остались ни разу не инвертированные нулевые компоненты в позициях с номерами больше i, получим еще два набора, заменив разряды г + s — ко — (к\ — ко), ■■■ ,г + s — ко + I единицами. Затем, если г + s — ко < s, возьмем набор ß\, у которого нули в компонентах г, г + s — ко +1, • • •, г + 2(s — ко + 1), и ßl2, соседний с ß\ по г-ш компоненте. Аналогичным образом будем добавлять единицы к наборам ß\, ß%2 группами по к\ — ко + 1 единиц, начиная с (s — ко + 1)-й компоненты, пока не будут получены наборы с единицами в s-й компоненте.

Оценим сверху число добавленных наборов. Для переменной уj было добавлено не более, чем

2

2 • kl t^o+i +2 + 2 + 4 наборов. Тогда для всех переменных добавлено не более, чем fci_sfco+1 + O(s) ^

2

^ + O(s) наборов. В выбранном множестве есть проверяющие четверки для всех пар переменных.

Пусть к о ^ Но тогда к\ > Тогда множество наборов строится аналогично, только общими у проверяющих четверок будут не первые, а вторые два набора. Получаем аналогичную оценку множества, содержащего проверяющие четверки для всех пар переменных. Лемма доказана.

Лемма 3. Пусть h(yi,..., ys) — монотонная или антимонотонная симметрическая функция с порогом к. Тогда существует дизъюнктивный детектор Ту, |TV| ^ + O(s), и конъюнктивный детектор Т&, |Т&| ^ 2(sS-k) + O(s).

Доказательство. Пусть k ^ Обозначим t = . Возьмем t наборов сх\,... таких, что при г € {1,..., t} в компонентах с номерами (г—1)А;+1,... ,гк набора щ стоят единицы, а в остальных — нули. Выбранные наборы назовем основными наборами.

Далее добавим дополнительные наборы. Дополнительный набор определяется натуральным чи-

2'Г

слом р и целыми неотрицательными числами г, Ii,..., l2r, такими, что ^ lj — (р—1) ^ п, следующим

з=1

способом. Первые 1\ разрядов набора начиная с р-го равны 1, следующие 12 — 0, следующие /3 — 1 и так далее. Эти +12 + ... +1%'- разрядов назовем рабочими. Все остальные разряды дополнительного набора положим равными нулю. Число р в данном определении назовем начальной позицией, 2Г — числом длин, а 1\,... ,12г — последовательностью длин.

Опишем процесс добавления дополнительных наборов.

Последовательно перебираются возможные начальные позиции из множества {1,2к + 1,...,

Пусть текущая начальная позиция равна р'. В первом дополнительном наборе в позициях р',... ... ,р' + к — 1 стоят единицы, в остальных — нули. Этот набор задается указанной начальной позицией, числом длин 2, последовательностью длин {к, к} (это не единственный способ задать данный набор, но мы будем пользоваться именно таким способом). Заметим, что этот набор уже содержится среди основных. Пусть 7 — последний добавленный набор с начальной позицией р'. Он задается начальной позицией р', числом длин 2Г , последовательностью длин ..., l2r>. Определим последовательность чисел mi,..., m2r'+1 следующим образом. Последовательно перебираем значения г из множества

|l, 3,5,..., 2 lj".

Если k < 1, li+1 < 1, то m2i-1 = k, m2i = k+i, m2i+1 = 0, m2i+2 = 0.

Если k = li+1 = 21, то m2i-i = t, m2i = t, m2i+1 = t, m2i+2 = t.

Если k = li+1 2/ + I. то m2i-i = t + 1, m2i = t, m2i+1 = t, m2i+2 = t.

Если k = 2t + 1, li+1 = 21, то m2i-i = t + 1, m2i = t, m2i+1 = t, m2i+2 = t.

Если k = 2t + 2, li+1 2/ + I. то m2i-i = t+ 1, m2i = t + 1, m2i+1 = t + 1, m2i+2 = t.

Если k = 21, li+1 2/ + I. то m2i-i = t, m2i = t, m2i+1 = t, m2i+2 = t + 1.

Если li = 2t + 1, li+2 21 + 2. то m2i-i = t, m2i = t+ 1, m2i+1 = t + 1, m2i+2 = t + 1.

Определим набор 7' с числом длин 2r +1, последовательностью длин тi,... ,m2r>+i и начальной позицией р'. Если 7^7', добавляем его к множеству дополнительных наборов, в противном случае переходим к следующей начальной позиции. Процесс завершается, когда перебраны все начальные позиции.

Приведем пример множества дополнительных наборов для п = 12, к = 5:

(1,1,1,1,1,0,0,0,0,0,0,0), (1,1,1,0,0,1,1,0,0,0,0,0), (1,1,0,1,0,1,0,1,0,0,0,0), (1,0,1,1,0,1,0,0,1,0,0,0), (1,1,1,0,0,0,0,0,0,0,1,1), (1,0,0,1,1,0,0,0,0,0,1,1), (0,1,0,1,0,1,0,0,0,0,1,1), (1,1,0,1,0,0,1,0,0,0,1,0).

Заметим, что для любой пары переменных ж*, жj в множестве основных и дополнительных наборов есть хотя бы один набор к-го слоя, в котором ¿-я и j-я компоненты не равны друг другу.

Число дополнительных наборов не более, чем [logfc]. Теперь к каждому дополнительному набору добавим все наборы, соседние с ним по нулевым рабочим разрядам. Таких наборов ровно к для каждого дополнительного набора. Заметим, что для любых пар г, j, таких, что при некотором q, 2 kq < г < j ^ 2 k(q+ 1), существует пара наборов, обнаруживающих дизъюнктивное слипание ж ¿, ж j. Всего дополнительных наборов вместе с их соседними не более, чем к [logfc] ^ slogs + 0(s).

Затем к первому основному набору добавим все наборы, соседние с ним по компонентам к +1,..., s. К г-му основному набору добавим все наборы, соседние с ним по компонентам ik + 1,... ,s. Итого, добавлено наборов s — k + s — 2k + ... + s— — l) к ^ | . Теперь для всех пар переменных найдены пары наборов, обнаруживающие дизъюнктивные слипания этих переменных.

Поменяв местами Ои 1, fcns-fc, аналогичным образом строим конъюнктивный детектор мощности

0(s) logs.

не более, чем |

s—k

Если к > |, то проводим доказательство аналогично, поменяв местами нули и единицы. Лемма доказана.

Лемма 4. Пусть к{у\,... ,у3) — монотонная или антимонотонная симметрическая функция с порогом к. Тогда существует множество наборов Т, которое содержит у\-детектор, ..., у,ч-де-тектор, причем |Т| ^ втт(к, в — к) + О(в).

Доказательство. Пусть к ^ Возьмем набор /3, в котором первые я — к компонент равны нулю, остальные — единице. Возьмем наборы /?!,... ,/3,ч-к-, которые являются соседними с /3 по компонентам 1► » » » ► 5 А* соответственно. Для каждого из наборов Д возьмем к наборов /3® к+1,... ,/3|,

которые являются соседними с Д по компонентам я — к + 1,..., я соответственно. Заметим, что среди выбранных наборов содержатся ?/1-, ..., ув_^-детекторы. Всего выбрано я — к + 1 + к(я — к) наборов.

Затем возьмем набор 7, в котором последние я —к компонент равны нулю, а остальные — единице. Возьмем наборы 7^+1,...,%, которые являются соседними с 7 по компонентам к + 1,..., я соответственно. При ] ^ я — к + 1 для каждого из наборов -у^ возьмем к наборов 7|,..., 7^, которые являются соседними с 7^ по компонентам 1,..., к соответственно. Среди выбранных наборов содержатся ..., ^-детекторы. В этом случае всего выбрано я — к + 1 + к2 наборов.

Объединив выбранные наборы, получаем искомое множество мощности 2(я — к + 1) + як наборов.

Если же к > то поменяв местами нули и единицы и1;и8-1;в доказательстве предыдущего случая, получим искомое множество мощности 2(к + 1) + (з — к)к. Лемма доказана.

4. Доказательство основных теорем.

Теорема 1. При п ^ оо имеет место следующее неравенство:

2

2п < Ь'шш(п) < у + 0{п\о%п).

Доказательство. Докажем нижнюю оценку. Рассмотрим функцию /(х\,..., хп) = х\х2 ■ ■ ■ хпУ УXI ... хп. Эта же функция была использована в [2] при изучении тестов для некоторого подмножества неисправностей, рассматриваемых в данной работе. Пусть в тест не входят 2 набора (п — 1) слоя куба. В одном наборе ноль стоит в позиции г, в другом — в позиции Тогда дизъюнктивное слипание этих двух переменных не будет проверено. Аналогично, если некоторые 2 набора первого слоя куба отсутствуют в тесте, не будет проверено конъюнктивное слипание некоторых двух переменных. Пусть в тест не входит нулевой набор. Тогда неисправность, связанная с подстановкой единицы вместо ж*, может быть проверена только на наборе (п — 1)-го слоя, в котором г-ш разряд равен нулю. Поэтому либо в тест входит нулевой набор, либо все наборы (п — 1)-слоя. Используя подстановку нуля, аналогично доказываем, что в тест входят либо все наборы 1-го слоя, либо единичный набор.

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

Воспользуемся результатами, полученными в [3, 4]. В этих работах исследовались тесты относительно единичных транспозиций и перестановок переменных. В булевой функции /(х\,... ,хп) произошла транспозиция переменных ж^ж.,, г < если вместо исходной функции реализуется функция д(х 1,..., хп) = /(ж1,..., Xi-l,Xj,Xi+l,..., ж.,-!, ж*, ж.7+1,..., хп). Если За: /(а) ф д(а), то транспозиция переменных ж*, х^ обнаруживаема, в противном случае — необнаруживаема. В работе [3] введено бинарное отношение Я} на множестве переменных х\,... ,хп следующим образом: XiRfXj транспозиция переменных ж*, х^ необнаруживаема. Доказано, что Я} — отношение эквивалентности.

Введем бинарное отношение Qf на множестве переменных функции /(хп) следующим образом. Всегда верно, что XiQfXi. Если г ф то XiQfXj тогда и только тогда, когда для переменных ж*, ж^ функции /(жп) не существует проверяющей пары. Очевидно, что XiRfXj XiQfXj, следовательно, Qf — отношение эквивалентности и переменные х\,..., хп разбиваются на непересекающиеся классы эквивалентности по отношению Qf. Каждый класс будем называть множеством симметричности.

Без ограничения общности будем считать, что переменные х\,..., жТО1 образуют первое множество симметричности, жТО1+1,..., жТО2 — второе множество симметричности, ..., жто,г_1+1,..., хГПг — г-е множество симметричности, а начиная с жто,г+1 каждая переменная образует отдельное множество симметричности.

Если переменные ж¿, х^ из разных множеств симметричности участвуют в одном слипании, то для обнаружения данной неисправности достаточно проверяющей пары для данных переменных. Построим множество, содержащее проверяющие пары для всевозможных пар переменных из разных множеств симметричности. В работе [4] был построен проверяющий тест ТреттхЛ мощности €)(n\ogn) относительно всевозможных перестановок переменных. Частным случаем перестановки является единичная транспозиция переменных, определенная выше. Легко видеть, что транспозицию переменных ж*, Х3 можно обнаружить на наборе а тогда и только тогда, когда существует набор /3, такой, что а, ¡3 — проверяющая пара для переменных ж*, Следовательно, к ТреттхЛ достаточно добавить не более

одного набора, чтобы в нем содержалась проверяющая пара для ж*, х^. Всего число пар переменных, для которых есть проверяющая пара, равно (— С^ — С^П2_т1 — ... — С^ то . Следовательно, существует множество содержащее хотя бы по одной проверяющей паре для всевозможных пар

г

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

переменных из разных множеств симметричности, причем (Т^е^ | (- V С%г _тп +0(п к^п), где

г=0

то полагаем равным 0. Множество обнаруживает все множественные слипания, при которых

хотя бы в одном слипании участвуют переменные разных множеств симметричности. Рассмотрим оставшиеся неисправности. Далее будем последовательно добавлять к Т^ЛесЛ наборы, обнаруживающие слипания внутри очередного множества симметричности. Опишем процесс на примере первого множества симметричности.

Случай 0. Переменные х\,..., жТО1 фиктивны. Их слипания не меняют исходную функцию, переходим к следующему множеству симметричности.

Случай 1. Существуют такие числа аТО1+1,..., ап, что функция /г(ж1,..., жТО1) = /(х\,..., жТО1, аТО1+1,..., а,„) не является ни монотонной, ни антимонотонной.

Подслучай 1а. Функция к(х\,..., жТО1) на к-м слое куба равна а, на всех остальных слоях — а. Заметим, что к не может равняться 0 или п.

По лемме 1 можно построить множество, содержащее все проверяющие тройки для любых пар

2

переменных из х\,..., жТО1 мощности не более, чем ^ + 0(7711). Приписав к каждому набору числа аТО1+1,..., ап, получим множество Т\ той же мощности, содержащее проверяющие тройки для переменных Ж1,..., жТО1 функции /(ж1,..., х„). Выберем проверяющую тройку а 1, а2, «з Для произвольных переменных ж¿, х^ из первого множества симметричности. У исправной функции значение на наборе с?2 должно отличаться от значений на наборах а,\ и а3. Если же переменные х^ и участвуют в одном слипании, то либо на «1, а2, либо на а2, с?з значения функции неисправности будут совпадать. Построенное множество обнаруживает всевозможные неисправности, при которых в одном слипании участвуют переменные из первого множества симметричности.

Подслучай 1Ь. Существуют числа ко,к\,ко < к\, такие, что функция /1(2/1,..., уГП1) принимает значение а на слоях 0,1,..., ко — 1, значение а на слое /го, значение Ь на слое к\ и значение Ь на слоях к\ + 1,..., п.

По лемме 2 можно построить множество, содержащее все проверяющие четверки для любых пар

2

переменных из х\,..., жТО1 мощности не более, чем ^ + 0(7711). Приписав справа к каждому набору числа а,ГП1,..., а,п получим множество Т2 той же мощности, содержащее проверяющие четверки для переменных Ж1,..., жТО1 функции /(х\,..., х„).

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

Случай 2. При любых ЬГП1+1,..., Ьп функция /(х\,..., жТО1, ЬГП1+1,..., Ьп) будет монотонной или антимонотонной симметрической функцией. Выберем числа аТО1+1,...,ап так, что функция /г(ж1,..., жТО1) = /(ж1,..., жТО1,аТО1+1,..., ап) имеет максимально возможный порог к.

По лемме 3 построим множества Ту и Т^, являющиеся дизъюнктивным и конъюнктивным детекторами для функции /г(ж1,..., жТО1). К каждому набору этих множеств припишем справа числа аТО1,..., ап, получим множества Ту и 1\ . 1? исправной функции на двух наборах, проверяющих дизъюнктивные слипания любой пары переменных из первого множества симметричности, должны реали-зовываться разные значения. Если же эти переменные участвуют в одном дизъюнктивном слипании, то значения будут одинаковыми. Аналогично с конъюнктивными слипаниями. В множествах Ту и Т& для каждой пары переменных есть наборы, проверяющие их дизъюнктивное и конъюнктивное слипания. Поэтому далее можно считать, что нет дизъюнктивных и конъюнктивных слипаний переменных среди первого множества симметричности.

Далее, для /г(ж1,..., жТО1) по лемме 4 построим множество, являющееся Ж1-детектором, ..., жТО1 -детектором. Покажем, что ж^-детектор (обозначим Т^) обнаруживает все неисправности, при которых Х3 участвует в каком-либо слипании, кроме, быть может, слипания переменных Ж1,...,ЖТО1. Пусть

Т,} = < «д, ..., а\ где о^, а3, — верхний и нижний ведущие наборы.

Пусть /'(ж 1,..., х„) — функция неисправности, получающаяся из f(x\,..., хп) в результате множественного слипания. Через ¡ск^,...^ обозначим число единиц набора à в позициях di,..., dq, через à{d) — значение d-то разряда набора à.

Определим наборы /3q, ,..., fj-jtli следующим образом. Если переменная хг не участвует в слипаниях, то /3|(г) = «¿(г). Если переменная хг участвует в некотором слипании, для которого функция слипания (p(xdl,.. .,xdq), то ¡3j(r) = .. .,âj(dg)). Ясно, что f0f) = ¡'(âf).

Пусть произошло слипание переменных х^,... ,xi , среди них Xj, а функция данного слипания равна (pi(xh,.. .,х1р). Если порог функции (pi(xh,.. -,xlp) отличен от |о!^|г1,...,гр, то = /'(Ц), то

неисправность обнаружена. Далее считаем, что порог ¡¿^(ж^,... ,жip) равен

Пусть также произошло слипание переменных жi ,... ,ж¡s из первого множества симметричности, а функция данного слипания <p2(xi +1,... ,ж¡3). Если на их местах стоят нули в ведущих наборах, то /'(®гр+1) = f'(àg), поскольку слипание не является дизъюнктивным и f(âjp+1) ф /(¿о)- Неисправность обнаружена. Аналогично неисправность будет обнаружена в случае единиц, так как слипание не конъюнктивное.

Далее будем считать, что â3Q(lp+i) = 0, оР0(1р+2) = 1. Возьмем из Tj набор ôf • Если f'(â¿) = = f'io^i ), то неисправность обнаружена, так как /(Ôq) = /(ôf +1)- В противном случае порог функции (p2(xlp+1,...,xls) равен \а?0\ip+1,...,is. Поскольку |à;p+2|ip+1,...,is < \Ц\ip+1,...,is = ip+1,...,is, получаем ¡3{p+2 = Ц, f0fp+2) = f03), /'(«гр+2) = Неисправность обнаружена, так как

Теперь пусть нет слипаний без участия Xj, но есть хотя бы одна переменная хд, не участвующая в слипаниях. Допустим, Ôq(g) = c^-(g) = 0. Заметим, что в слипании с Xj участвует хотя бы одна переменная xt, равная единице в ведущих наборах, иначе порог функции ¡¿^(ж^,... ,жi ) был бы равен р и слипание было бы конъюнктивным. Поэтому /3q(î) = 0. Других слипаний в первом множестве симметричности не было, поэтому 1/3(511,...,ТО1 < к, |/3||i,...,TOl < к +1, поэтому f0Jo) = /(/3|), /'(«о) = /'(«t) и неисправность обнаружена. Случай, когда Ôq (g) = c^-(g) = 1, доказывается аналогично.

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

Если при всех значениях переменных вне первого множества симметричности реализуется либо константная функция, либо монотонная или антимонотонная симметрическая функция с порогом к, тогда указанное выше слипание не меняет реализуемую функцию. В противном случае зафиксируем остальные переменные так, чтобы реализовывалась некоторая монотонная или антимонотонная симметрическая функция h'(Ж1,..., жТО1 ) с порогом к', к' < к. Возьмем любые два набора к'-го и (к' + 1)-го слоев булева куба. На них исходная функция должна принимать разные значения, а в случае слипания всех переменных с порогом к — одинаковые. Добавим в тест два n-мерных набора, соответствующие выбранным mi-мерным наборам. Теперь проверены всевозможные неисправности, в которых участвуют переменные первого множества симметричности. Для этого потребовалось не более, чем

2 2 fJX^1

m 1 min (к, m 1 — к) + 0(mi logmi) ^ ——h 0(mi logmi).

m\ m1

2к + 2(mi - k)

Аналогично разбираем остальные множества симметричности. Сложив число наборов, добавленных в тест, получим искомую оценку. Теорема доказана. Теорема 2. Имеет место равенство ЬЛшдп{п) = 2".

Доказательство. Обозначим через )(жь • • • >хп) функцию, получающуюся из

/(ж1,...,жп) в результате слипания переменных ж^,..., ж^, когда функция слипания равна

(р(Жг1, • • • , Хгк ).

Рассмотрим функцию /(х\,...,хп) = х,\ .. .хп. Предположим, что некоторый набор а не входит в тест. Пусть его компоненты с номерами ^1,... равны нулю, а остальные — единице. Но тогда

1\/...\/Хзе (ЖЬ • • • ! Хп) И /1

Поэтому в диагностический тест для конъюнкции должны войти все наборы. Теорема доказана.

функции неисправностей (жь • • • ,хп) и f131 13 (х\,..., хп) не будут различаться тестом.

ВЕСТН. МОСК. УН-ТА. СЕР. 15. ВЫЧИСЛ. МАТЕМ. И КИБЕРН. 2014. № 4

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

1. Редькин Н. П. Надежность и диагностика схем. М.: Изд-во МГУ, 1992.

2. И к рам о в А. А. О сложности тестирования логических устройств на некоторые типы неисправностей // Интеллектуальные системы. 2013. 17. Вып. 1-4. С. 311-313.

3. Romanov D. S. On estimates of Shannon functions of the length of unit tests for transpositions of variables // Moscow University Computational Mathematics and Cybernetics. 2007. 31. N 2. P. 60-65.

4. Romanov D. S. Tests with respect to permutations of variables in Boolean functions // Computational Mathematics and Modeling. 2012. 23. N 1. P. 72-78.

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

ON THE TESTS FOR MULTIPLE MONOTONOUS SYMMETRIC CONGLUTINATIONS OF VARIABLES IN BOOLEAN FUNCTIONS

Morozov E. V.

In the present paper it is shown that the Shannon function of the length of the detecting test for multiple monotonous symmetric conglutinations is no less than linear and no more than squared and also the exact value of the Shannon function of the length of the diagnostic test for multiple monotonous symmetric conglutinations is founds. A conglutination of variables in Boolean functions is a substitution of some function depending on these variables instead of them. The conglutination is multiple is there are several blocks of conglutinated variables.

Keywords: tests, conglutination of variables, test-length Shannon function.

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