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

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

  1. Привести СДНФ булевых функций fi(1, …, N-1) к СДНФ булевых функций вида fi((X)) = f i(1(X), …, i-1(X), i+1(X), …, N(X)).

  2. По СДНФ построить таблицы истинности для каждой булевой функции fi((X)).

  3. Построить обобщенную таблицу функции выбора, состоящую из 2N+2 столбцов:

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

второй – N+1-й столбец – значения булевых переменных 1(X), …, N(X);

N+2-й – 2N+1-й столбец – значения произведений булевых переменных 1(X), …, N(X) на значения соответствующих булевых функций fi((X));

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

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

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

Столбцы со второго по N+1-й заполняются значениями булевых переменных i(X): «1», если xi X, «0», если xi X.

Столбцы с N+2-го по 2N+1-й заполняются значениями произведений булевых переменных 1(X), …, N(X) на значения соответствующих булевых функций fi((X)). Произведение булевой переменной i(X) на булеву функцию fi((X)) принимает значение «1», если:

  • в таблице истинности fi((X)) в столбце значений функции стоит «1» в строке с теми же значениями остальных булевых переменных 1(X), …, N(X) в столбцах аргументов, что и в той строке обобщенной таблицы функции выбора, в которой i(X)=1.

2N+2-й столбец заполняется перечнем элементов множества C(X), полученного в результате выбора из предложенного множества X по следующему правилу:

  • альтернатива xi записывается в перечень элементов множества C(X) строки X только в том случае, если в этой строке произведение булевой переменной i(X) на булеву функцию fi((X)) принимает значение «1».

4. По составу элементов множеств C(X), полученных в результате выбора из предложенных множеств X описывается функция выбора C: какие альтернативы из предложенного множества X следует выбрать в состав множества C(X).

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

ЛФВ(C) = {f1, f2, f3}, где f1(1, 2) = 12; f2(1, 2) =1; f3(1, 2)= 12.

Решение:

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

2. Для f1((X)), f2((X)), f3((X)) по их СДНФ построим таблицы истинности:

2

3

f1

1

3

f2

1

2

f3

0

0

0

0

0

1

0

0

0

0

1

1

0

1

1

0

1

0

1

0

1

1

0

1

1

0

0

1

1

1

1

1

1

1

1

1

3. Заполним обобщенную таблицу функции выбора, находя произведения булевой переменной i(X) на булеву функцию fi((X)).

X

1

2

3

1 · f1

2 · f2

3 · f3

C(X)

0

0

0

0

0

0

{x1}

1

0

0

0

0

0

{x2}

0

1

0

0

1

0

{x2}

{x3}

0

0

1

0

0

0

{x1, x2}

0

1

1

1

1

0

{x1, x2}

{x1, x3}

1

0

1

1

0

0

{x1}

{x2, x3}

0

1

1

0

1

0

{x2}

{x1, x2, x3}

1

1

1

1

1

1

{x1, x2, x3}

Ответ: Функция выбора описывается следующим образом:

={x1, x2, x3};

C(xi)= xi, только если imin{i, j, k} и i max {i, j, k} и C(xi)= , в противном случае;

C(xi, xj)= xk, где k=min{i, j}, если il, jl, где l= max {i, j, k} и C(xi, xj)= {xi, xj}, в противном случае; C(xi, xj, xk)= { xi, xj, xk }.

Пример 3. Определить, является ли нормальной функция выбора, заданная ее логической формой: f1(1) = 1; f2(1) =1;

Решение:

1. Заменим в СДНФ каждой булевой функции все j на соответствующие i(X):

f1(2) = 2; f2(1) =1.

2. Для f1((X)), f2((X)) по их СДНФ построим таблицы истинности:

2

f1

1

f2

0

0

0

1

1

1

1

1

3. Заполним обобщенную таблицу функции выбора, находя произведения i(X)·fi((X)).

X

1

2

1 · f1

2 · f2

C(X)

0

0

0

0

{x1}

1

0

0

0

{x2}

0

1

0

1

{x2}

{x1, x2}

1

1

1

1

{x1, x2}

Ответ: Функция выбора, заданная ее логической формой: f1(1) = 1; f2(1) =1 не является нормальной, поскольку не существует бинарного отношения R, порождающего эту функцию выбора. Т. к. альтернатива x1 не может являться мажорантой по  отношению R, поскольку она не выбирается, когда на выбор предлагается только одна альтернатива x1, но выбирается, когда на выбор предлагаются обе альтернативы x1 и x2. Данная функция выбора C не является нормальной, т. к. (x1C(x1))(x1C(x1, x2)).

Функция выбора является нормальной, если в ее логической форме СДНФ ни одной булевой функции не содержит ни одной переменной i, а содержит только либо 1, либо , либо комбинации из .

Действительно, если для того чтобы можно было выбрать альтернативу xi, ее необходимо предъявлять совместно с какой-нибудь другой альтернативой xj, то это означает, что альтернатива xi не будет выбрана, если предъявляется только она одна. Следовательно, в этом случае альтернатива xi не является мажорантой, а, значит, не существует бинарных отношений, способных породить такую функцию выбора, в логической форме которой присутствует СДНФ хотя бы одной булевой функции с хотя бы одной переменной i.

Динамические функции выбора.

В предыдущих вопросах лекции рассматривались такие функции выбора, в которых выбор из предъявляемого множества X определялся только им самим и свойствами функции выбора.

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

Предположим, что старший инженер БЧ-7 получает на складе радиотехническое имущество. Буквой  обозначим множество всех элементов радиотехнического имущества, которое может находиться на складе. А Xi обозначим множество элементов радиотехнического имущества, которое находится на складе во время i–го приезда старшего инженера БЧ-7 на склад. Yi-1 – множество элементов радиотехнического имущества, которое старший инженер БЧ-7 получил на складе в предыдущий приезд. Очевидно, что выбор элементов радиотехнического имущества Yi, сделанный старшим инженером БЧ-7 во время i–го приезда на склад будет зависеть:

  • от потребностей БЧ-7 C, от множества элементов радиотехнического имущества, которое находится на складе Xi и

  • от того множества элементов радиотехнического имущества Yi-1, которое старший инженер БЧ-7 получил на складе в прошлый раз.

Пусть для выбора последовательно предъявляются подмножества Xi множества : X1, X2, X3, …, XN, …. Иными словами, если i < j, то множество Xi было предъявлено на выбор раньше, чем множество Xj.

Состав множества выбранных альтернатив Yi из очередного предъявленного на выбор множества Xi зависит от множества Xi и от ранее сделанного выбора Yi-1.

Yi= C(Xi, Yi-1)

Результатами последовательных выборов является вся последовательность множеств Yi с заданным начальным состоянием Y0 (т. е. начальным выбором). Процесс последовательных выборов задается совокупностью всех последовательных предъявлений множеств Xi.

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

Известно, что конечный автомат задается:

  • множеством входов Xа;

  • множеством выходов Yа;

  • множеством состояний Sа;

  • функцией переходов Fа: Sаi = Fа (Xаi, Sаi-1);

  • функцией выходов Фа: Yаi = Фа (Xаi, Sаi) для автомата Мили и Yаi = Фа (Xаi-1, Sаi) для автомата Мура.

Для описания динамических функций выбора удобнее использовать автомат Мили.

Заметим, что формулы функции переходов конечного автомата Fа и динамической функции выбора C аналогичны Sаi = Fа(Xаi, Sаi-1) и Yi= C(Xi, Yi-1) при условии, что множество состояний конечного автомата Sа соответствует множеству возможных выборов динамической функции выбора Y.

Конечным автоматом, порожденным динамической функцией выбора, называется автомат у которого:

  • множество состояний конечного автомата Sа есть множество возможных выборов динамической функции выбора Yi из всех возможных выборов альтернатив ;

  • множество входов Xа есть множество всех, предъявляемых для выбора подмножеств Xi, множества альтернатив ;

  • множество выходов Yа есть (также как и множество состояний) множество возможных выборов динамической функции выбора Yi из всех возможных выборов альтернатив ;

  • функция переходов Fа есть функция выбора C, которая определяет: каким должен быть выбор Yi при условии, что для выбора предъявлено множество Xi, а предыдущим выбором было множество Yi-1;

  • функция выходов Фа есть (также как и функция переходов Fа) функция выбора C, которая определяет: каким должен быть выбор Yi при условии, что для выбора предъявлено множество Xi, а предыдущим выбором было множество Yi-1.

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

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

  • если предъявляется x1, а предыдущий выбор не содержал x1, то выбирается x1, в противном случае – выбор пуст;

  • если предъявляется x2, а предыдущий выбор содержал x2, то выбирается x2, в противном случае – выбор пуст;

  • если предъявляется {x1, x2}, а предыдущий выбор не был пуст, то выбирается x1, в противном случае выбирается x2.

Решение:

1. Определим множество возможных выборов, как множество состояний (выходов) автомата S={, {x1}, {x2}} и обозначим каждое состояние автомата: S1=; S2={x1}; S3={x2}.

2. Определим предлагаемые на выбор подмножества альтернатив, как множества входных воздействий на автомат X и обозначим каждое входное воздействие X1=; X2={x1}; X3={x2}; X4={x1, x2}.

3. Построим граф конечного автомата по описанию динамической функции выбора.

Рис. 2.2.1. Граф конечного автомата, порожденного динамической функцией выбора

4. По графу конечного автомата заполним таблицу переходов (выходов).

X

S

X1=

X2={x1}

X3={x2}

X4={x1, x2}

S1=

S1=

S2={x1}

S1=

S3={x2}

S2={x1}

S1=

S1=

S1=

S2={x1}

S3={x2}

S1=

S2={x1}

S3={x2}

S2={x1}