Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 - Булева алгебра / Лекция 15 Булева произ.doc
Скачиваний:
109
Добавлен:
09.04.2015
Размер:
283.65 Кб
Скачать

16.2.2 Построение тестов методом булевой производной

Предположим, что схема рис. 16.2 описывается функцией

f(x) =f(x1,x2,…,xj,…,xn) .

Рисунок 16.2 – Условное обозначение схемы

для пояснения понятия «булевой производной»

Пусть на входе xjвозникла неисправность “константа 0” (0).

Чтобы обнаружить ее, необходимо сделать xjсущественной переменной, т.е. чтобы при измененииxjменялось значение выходаf(x). Это условие можно записать так

f(x1,x2,…,,…,xn)f(x1,x2,…,,…,xn) = 1 .

(Обратите внимание на и.)

Или коротко

f()f() = 1 .

Это выражение равно 1 тогда и только тогда, когда только одно из значений f() илиf() равно 1. Если же оба значения одинаковы, т.е.f(x) не управляется, то сумма по модулю два равна 0.

Сумма f()f() носит названиебулевой производнойилибулевой разностии обозначается

f()f() .

Решение уравнения

1

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

  • для обнаружения неисправности 0 надо подать на вход1,

  • для обнаружения неисправности 1 надо подать на вход0.

Таким образом, для определения набора входных переменных, обнаруживающего неисправность 0, надо решить уравнение

1, (1)

а для неисправности 1 соответственно уравнение

1. (2)

Производные удобнее определять по выражению

f(x1,x2,…, 1,…,xn)f(x1,x2,…, 0,…,xn)

или проще

f(1)f(0),

где заменена на 1, ана 0.

В логическом базисе И, ИЛИ, НЕ булева производная запишется так

. (3)

В общем случае переменная не обязательно входная – это может быть внутренняя (промежуточная) или даже выходная переменная.

16.2.3 Свойства булевой производной

При решении уравнений (1) и (2) широко используются свойства булевой производной:

  1. – не зависит от.

  2. Решение уравнения g(x) = 1 определяет набор, при которомстановится существенной переменной.

  3. Решение уравнения g(x) = 0 определяет набор, при которомне влияет на выходную функциюf(x).

  4. Если , товсегда является существенной.

  5. Если , тоfне зависит от.

Свойства 6 и 7 следуют из симметричности формулы (3) относительно иf.

Следствие: если f1 не зависит отxj , то

Следствие: если f1 не зависит отxj , то

10.

Следствие: если f1 не зависит отxj, то

где k– промежуточная точка схемы такая, что пути отjк выходу идут черезk.

  1. Булевы производные функций, реализуемых типовыми элементами:

  1. Для f=x1x2xjxnиf=

  1. Для f=иf=

  1. Для f=xиf=

  1. Для

, j =.

16.2.4 Примеры построения тестов

Пример 1: Найти наборы для обнаружения неисправностей на входеaсхемы рис. 16.3.

Для определения тестового набора неисправности а0 надо решить уравнение

(4)

Решаем, используя свойства булевой производной:

,

(свойство 11),

Рисунок 16.3 – Схема к примеру 1

Или сразу (следствие свойства 8).

Или сразу (по выражению 12,b).

Следовательно,

(5)

Для уравнения (4) получаем

или

В обоих произведениях отсутствует по одной переменной, поэтому для каждого из них будет по два решения – по два набора.

Следовательно, наборы для обнаружения неисправности а0 будут такими

1)

a

b

c

d

2)

a

b

c

d

1

0

1

1

1

0

1

1

1

0

1

0

1

0

0

1

Объединяя 1) и 2), получаем

a

b

c

d

1

0

1

0

1

0

1

1

1

0

0

1

Любой из этих наборов обнаруживает неисправность а0.

Для неисправности а1 надо решить уравнение

.

Производную мы уже знаем (5), она равна, поэтому получаем

.

Следовательно, имеем два решения

В обоих произведениях отсутствует по одной переменной, поэтому для каждого из них будет по два решения – по два набора.

Или

1)

a

b

c

d

2)

a

b

c

d

0

0

1

1

0

0

1

1

0

0

1

0

0

0

0

1

Объединяя, получаем

a

b

c

d

0

0

1

0

0

0

1

1

0

0

0

1

Любой из этих наборов обнаруживает неисправность а1.

Пример 2: Найти наборы для обнаружения неисправностей на входах и выходах сумматора (рис. 16.4).

Рисунок 16.4 – Схема к примеру 2

Сумматор выполняет функции

Сначала определим наборы для проверки первой функции.

Находим

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

Для проверки надо подать, а для проверкинадо подать.

Минимальными тестами здесь являются пары инверсных наборов

000 – 111, 001 – 110, 011 – 100, 101 – 010,

которые проверяют не только входы, но и выходы сумматора, так как на одном из наборов пары каждый выход равен 1, а на другом 0. Поэтому строить тест для проверки выхода pнет необходимости.

Замечание:Для контроля работоспособности сумматора получен тест минимально возможной длины (два набора). Тест такой же длины получается и для элементов ИСКЛЮЧАЮЩЕЕ ИЛИ и РАВЕНСТВО с нечетным числом входов.