Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники ТПР / Учебник ТПР_2.2.doc
Скачиваний:
174
Добавлен:
17.06.2016
Размер:
387.58 Кб
Скачать

Методика определения логической формы функции выбора по ее описанию

  1. По описанию функции выбора заполнить обобщенную таблицу функции выбора, в которой имеются 4 столбца:

первый столбец – перечень элементов множества X, предлагаемого для выбора;

второй столбец – перечень элементов множества C(X), полученного в результате выбора;

третий столбец – бинарные вектора (X), состоящие из булевых переменных i(X);

четвертый столбец – бинарные вектора (C(X)), состоящие из булевых переменных i(C(X)).

Каждая строка таблицы соответствует одному из возможных множеств X, предлагаемых для выбора. Количество строк соответствует возможному количеству комбинаций альтернатив множества : 2N. Так, для двух альтернатив таких строк четыре, для трех альтернатив – 8, для четырех – 16, для пяти – 32, и т. д.

Первый столбец заполняется возможными комбинациями альтернатив в X.

Второй столбец заполняется в соответствии с описанием функции выбора. В нем указывается, какие альтернативы из предложенного множества X следует выбрать в состав множества C(X).

Бинарные вектора (X) третьего столбца заполняются «1» на i–й позиции, если xi X, а «0» если xi X.

Бинарные вектора (C(X)) четвертого столбца, аналогично бинарным векторам (X) третьего столбца, заполняются «1» на i–й позиции, если xi C(X), а «0» если xi C(X).

2. Для определения таблицы истинности первой булевой функции f1((X)) = f1(2(X), …, N(X)) из семейства булевых функций ЛФВ необходимо отыскивать строки третьего столбца, в которых в бинарных векторах (X) на первой позиции стоит «1». Это означает, что 1(X)=1. Количество таких строк будет равно количеству строк в таблице истинности булевой функции f1((X)).

Затем выписывать в таблицу истинности значения бинарных векторов третьего столбца (X) и четвертого столбца (C(X)) в этих строках. Причем значение первой позиции бинарного вектора (C(X)) записывается в качестве значения булевой функции f1((X)), а значения остальных N–1 позиций бинарного вектора (X) записывается в качестве N–1 аргумента булевой функции f 1(2(X), …, N(X)).

После построения таблицы истинности булевой функции f1 ((X)) следует найти ее сокращенную дизъюнктивную нормальную форму (СДНФ). Затем в СДНФ заменить 2(X), …, N(X) соответственно на 1, …, N-1 и получить f1(1, …, N-1).

3. Аналогичным образом определить таблицы истинности остальных булевых функций fi((X)) = f i(1(X), …, i-1(X), i+1(X), …, N(X)) из семейства булевых функций ЛФВ, найти СДНФ этих булевых функций и получить fi(1, …, N-1).

4. Записать логическую форму функции выбора C: ЛФВ(C)=(f1, f2, …, fN).

Пример 1. Определить логическую форму функции выбора по ее описанию:

={x1, x2, x3}; C(xi)= xi; C(xi, xj)= xk, где k=max{i, j}; C(xi, xj, xk)= {xj, xk}, где i=min{i, j, k}.

Решение:

1. Заполним обобщенную таблицу функции выбора по ее описанию. Всего строк в таблице будет восемь, т. к. альтернатив в исходном множестве – три.

X

C(X)

(X)

(C(X))

0, 0, 0

0, 0, 0

{x1}

{x1}

1, 0, 0

1, 0, 0

{x2}

{x2}

0, 1, 0

0, 1, 0

{x3}

{x3}

0, 0, 1

0, 0, 1

{x1, x2}

{x2}

1, 1, 0

0, 1, 0

{x1, x3}

{x3}

1, 0, 1

0, 0, 1

{x2, x3}

{x3}

0, 1, 1

0, 0, 1

{x1, x2, x3}

{x2, x3}

1, 1, 1

0, 1, 1

2. Построим таблицы истинности для f1((X)), f2((X)), f3((X)):

2

3

f1

1

3

f2

1

2

f3

0

0

1

0

0

1

0

0

1

0

1

0

0

1

0

0

1

1

1

0

0

1

0

1

1

0

1

1

1

0

1

1

1

1

1

1

3. По таблицам истинности определим СДНФ для каждой булевой функции: f1(2, 3)=;f2(1, 3)= 1·3; f3(1, 2)= 1;

4. Заменим в СДНФ каждой булевой функции все i(X) на соответствующие j: f1(1, 2)=;f2(1, 2)= 1·2; f3(1, 2)= 1.

Ответ: ЛФВ(C)={f1, f2, f3}, где f1(1, 2)=;f2(1, 2)= 1·2; f3(1, 2)= 1;