Способы задания логической функции

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

- словесным описанием;

- таблицами соответствия;

- номерами единичных и нулевых (неопределенных) наборов;

- формулами (аналитическими выражениями).

При словесном описании логической функции должны быть перечислены совокупности единичных и нулевых (неопределенных) наборов или указаны их характерные свойства. Например, логическая функция трех переменных задана единичными и нулевыми наборами. Единичные наборы переменных содержат две или более переменных, равных единице (011, 110, 101, 111), а все остальные наборы (000, 001, 010, 100) являются нулевыми.

Задание логических функций таблицами соответствия может быть выполнено несколькими вариантами. Для задания логической функции строится таблица, число строк которой равно числу различных наборов значений переменных, а число столбцов равно n+1. Первые n столбцов обозначаются символами переменных от которых зависит функция, а (n+1)-й столбец обозначается символом функции. В каждую строку такой таблицы записываются набор значений переменных и соответствующее ему значение функции. Например, функция трех переменных z(x) задана таблицей соответствия 2.2. Такую таблицу называют одновходовой таблицей соответствия.

 

Таблица 2.2

Таблица соответствия полностью и неполностью определенных логических функций z(x) и u(x)

w10 x3 x2 x1 z(x) u(x)
           
           
           
          ~
          ~
           
          ~
           

При задании неполностью определенных функций таблицами соответствия значения функции на условных наборах будем обозначать “-“ или “~” как показано в таблице соответствия 2.2 для логической функции u(x).

Рассмотренный способ задания функций приемлем для функций небольшого числа переменных, так как с увеличением числа переменных (n) количество наборов увеличится как 2n и таблица соответствия получается громоздкой.

Более компактным табличным способом задания логических функций является использование двухвходовых таблиц соответствия. Для построения такой таблицы переменные, от которых зависит логическая функция, разделяются на две примерно равные группы. Для образования групп переменных определяются всевозможные наборы их значений. Строки таблицы в произвольном порядке обозначаются наборами переменных первой группы, а столбцы таблицы - наборами переменных второй группы. Каждая клетка такой таблицы соответствует одному набору значений переменных, от которых зависит функция. В каждой клетке таблицы проставляется значение функции на соответствующем ей наборе значений переменных. Количество клеток такой таблицы соответствует числу всевозможных наборов значений переменных. Примером двухуровневой таблицы является таблица 2.3 в которой задана неполностью определенная логическая функция трех переменных u(x).

 

Таблица 2.3

Двухвходовая таблица соответствия для логической функции u(x)

x3 x3 x1
         
        ~
  ~ ~    

u(x)

Удобным способом задания логических функций является использование номеров единичных, нулевых или неопределенных наборов. Для этой цели любой набор будем рассматривать как представление целого неотрицательного числа в двоичной системе счисления, которая также оперирует с цифрами “0” и “1”. Целое число в двоичной системе счисления можно представить эквивалентным ему числом в десятичной или восьмеричной системах счисления. Эти числа будем называть номерами наборов в двоичной, восьмеричной или десятичной системах счисления, что позволит записывать в компактной форме наборы значений переменных логической функции. При этом будем полагать, что в двоичном числе младший разряд расположен справа. Например, набор 10011 может быть представлен десятичным числом

1×24+0×23+0×22+1×21+1×20=19,

а набор 1110 - числом

1×23+1×22+1×21+0×2=14.

Для представления набора (двоичного числа) в восьмеричной системе счисления необходимо его разделить на триады, начиная с младшего разряда, и каждую триаду записать цифрой в восьмеричной системе счисления. Например, набор 110011 может быть представлен восьмеричным числом 63, так как ® 63.

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

Удобство использования восьмеричной системы счисления состоит в том, что при записи двоичного набора в этой системе счисления сохраняется взаимооднозначное соответствие между разрядами восьмеричного числа и триадами двоичного набора (двоичного числа). Это позволяет легко переходить от задания двоичного набора значений переменных логических функций к восьмеричному числу и наоборот.

Для однозначного задания двоичного набора значений переменных необходимо указать его номер, систему счисления, в которой задан номер, порядок расположения переменных и размерность, т.е. количество переменных логических функций. Так, например, десятичному числу 25 соответствует набор 11001 при размерности 5 или набор 0011001 при размерности 7.

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

z(x3, x2, x1)=[3, 5, 6, 7 (0, 1, 2, 4)]10.

 

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

u(x3, x2, x1)=[1, 5, {3, 4,6}]10.

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

u(x3, x2, x1)=[0, 2, 7 (3, 4, 6)]10.

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

Произвольная логическая функция может быть задана в виде аналитического выражения (формулы), представляющего совокупность переменных, объединяемых определенными логическими операциями, которые будут введены в следующих параграфах.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: