ч2 16-k (Айдер)
.docxИнформация взята с :
http://lvf2004.com/lect_t2.html
К-значная логика
Введение в к-значную логику. Элементарные функции К-значной логики
В k- значной логике значения аргументов и значения функции могут принимать любые значения из следующего множества {0, 1, …, к-1}.
Функция f(x, …, x) будет полностью определена, если задана ее таблица, т.е. заданы ее значения для всех наборов значений переменных.
Например, для некоторой функции двух переменных при k = 3 это может быть следующая таблица
Таблица 2.1
x1 |
0 |
0 |
0 |
1 |
1 |
1 |
2 |
2 |
2 |
x2 |
0 |
1 |
2 |
0 |
1 |
2 |
0 |
1 |
2 |
f(x1, x2) |
0 |
0 |
1 |
2 |
0 |
2 |
1 |
0 |
1 |
Совокупность всех функций k– значной логики, зависящих от n переменных обозначается Р. Их число равно Р = k.
Например, при k = 3 число функций от двух переменных равно 3^9 = 19683, т.е. это множество практически необозримо. Поэтому, обычно вместо табличного задания функции k- значной логики функцию задают при помощи алгоритма вычислимости функции.
Понятия фиктивной и существенной переменных, эквивалентных функций, формулы, операций суперпозиции и замыкания, замкнутого класса, базиса и другие в k –значной логике определяются так же, как соответствующие понятия в двузначной логике. Поэтому в дальнейшем приводятся определения только таких понятий, которые чем ,то существенным отличаются от аналогичных понятий в Р.
Следующие функции k – значной логики называются элементарными.
1). Константы: 0, 1, …, k-1.
Эти функции рассматриваются как функции, зависящие от произвольного конечного числа переменных (включая и нуль переменных).
2). Отрицание Поста: !х = x + 1 (mod k).
Здесь !х(не икс) представляет обобщение отрицания в смысле “ циклического “ сдвига значений.
3). Отрицание Лукашевича: ~x = (k-1) – x.
Оно представляет другое обобщение отрицания в смысле “зеркального“
отображения значений. Другое обозначение: Nx.
4). Характеристическая функция первого рода значения i:
ji(x) = i = 0, 1, …, k-1.
5). Характеристическая функция второго рода значения i:
Ji(x) = i = 0,1, …, k-1.
6). Минимум x и y: min ( x,y ).
Эта функция представляет обобщение конъюнкции. Другое ее обозначение:
x&y или xy.
7). Максимум x и y: max ( x,y ).
Эта функция представляет обобщение дизъюнкции. Другое ее обозначение: x v y.
8) Сумма по модулю k: x + y (mod k).
9). Произведение по модулю k: xy (mod k).
10). Усеченная разность :
x ч y =
11). Импликация : x -> y =
12). Функция Вебба : V(x,y) = max ( x,y ) + 1 (mod k).
Эта функция представляет собой аналог функции Шеффера.
13). Разность по модулю k: x – y =
В табл 2.2 приведены значения некоторых элементарных функций при k = 3.
Таблица 2.2
x |
y |
max(x,y) |
min(x,y) |
x+y(mod 3) |
xy(mod 3) |
xчy |
xy |
x - y |
V(x,y) |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
2 |
2 |
2 |
0 |
2 |
2 |
0 |
2 |
0 |
0 |
2 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
2 |
1 |
1 |
1 |
1 |
2 |
1 |
0 |
2 |
0 |
2 |
1 |
2 |
2 |
1 |
0 |
2 |
0 |
2 |
2 |
0 |
2 |
0 |
2 |
0 |
2 |
0 |
2 |
0 |
2 |
0 |
2 |
1 |
2 |
1 |
0 |
2 |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
2 |
1 |
1 |
0 |
2 |
0 |
2 |
Следующие равенства вводятся по определению (при n > 2):
max ( x, …, x, x) = max [ max ( x, …, x ), x],
min( x, …, x) = min [ min ( x, …, x ), x].
2) представление функций К-значной логики I и II формы
Любую функцию f (x, …, x) из P можно представить в так называемой первой основной форме, являющейся аналогом СДНФ для функций двузначной логики
f ( x1, …, xn ) = max { min [ f (s1, …, sn), Js1(x1), Js2(x2), …, Jsn(xn) ] }, (2.4)
s
где максимум берется по всем наборам s = (s1, …, sn) значений переменных
x1, …, xn.
Пример. Представить в первой форме при k = 3 следующую функцию:
f ( x, y ) = max { j0 (x) j0(y), x1 [ j1(y) + 2 · j2(y) ] }.
Обозначим через f1 = j0(x) · j0(y), f = j1(y) + 2 · j2(y) .
Составим таблицу заданной функции.
Таблица 2.8
x |
y |
J0(x) |
j 0(y) |
F1 |
j 1(y) |
J 2(y) |
2j2(y) |
F2 |
x·f2 |
f(x,y) |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
2 |
1 |
0 |
0 |
0 |
1 |
2 |
2 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
2 |
0 |
0 |
0 |
0 |
1 |
2 |
2 |
2 |
2 |
2 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
2 |
2 |
2 |
2 |
0 |
0 |
0 |
0 |
1 |
2 |
2 |
1 |
1 |
По первым двум и последнему столбцам табл.2.8 записываем правую часть выражения (2.4). Тогда получим:
f ( x, y ) = max { min [ 1, J(x), J(y)], min [ 0, J(x), J(y)], min [ 0, J(x), J(y)],
min [ 0, J(x), J(y)], min [ 1, J(x), J(y)], min [ 2, J(x), J(y)], min [ 0, J(x), J(y)],
min [ 2, J(x), J(y)], min [ 1, J(x), J(y)] }.
Правую часть этого выражения можно упростить т.к. “слагаемые” в фигурных скобках для которых значения функции f(x,y) равны нулю будут равны нулю. Таких слагамых четыре. Кроме того, “слагаемые “ для которых значения функции равны двум
можно записать без 2. Произведя эти упрощения, получим искомую первую форму данной функции:
f ( x, y ) = max { min [1, J(x), J(y)], min [ 1, J(x), J(y)], min [ J(x), J(y)],
min [ J(x), J(y)], min [ 1, J(x), J(y)] }.
Справедливо еще одно представление для функции k – значной логики, назы-
ваемое второй основной формой:
f ( x1, …, xn) = f ( s ) · js1(x1) …jsn(xn), (2.5)
где суммирование ведется по всем наборам s = (s1, …, sn) значений переменных
x, …, x, причем сумма и произведение берутся по mod k.
Пример. Представить во второй форме функцию, заданную в предыдущем примере.
Подставляя в правую часть выражения (2.5), значения первого, второго и пос-леднего столбцов табл. 2.5, получим:
f ( x, y ) = 1·j(x) j(y) + 0·j(x) j(y) + 0·j(x) j(y) + 0·j(x) j(y) + 1·j(x) j(y) +
+ 2·j(x) j(y) + 0·j(x) j(y) + 2·j(x) j(y) + 1·j(x) j(y) =
= j(x) j(y) + j(x) j (y) + 2·j(x) j(y) + 2·j(x) j(y) + j(x) j(y).
Последнее выражение и является второй формой для данной функции.
Третьей основной формой функции n переменных, являющейся аналогом СКНФ для функции двузначной логики, называется следующее выражение:
f ( x, …, x) = min { max [ f (s, …, s), ~ J(x), ~ J(x), …, ~ J(x) ] } (2.6)
где минимум берется по всем наборам s = (s, …, s) значений переменных x, …, x.
Пример. Представить в форме (2.6) функцию предыдущего примера.
Подставляя в правую часть выражения (2.6) значения первого, второго и последнего столбцов табл.2.8, получим:
f ( x, y ) = min { max [ 1, ~J(x), ~J(y)], max [ 0, ~J(x), ~J(y)], max [ 0, ~J(x), ~J(y)],
max [ 0, ~J(x), ~J(y)], max [ 1, ~J(x), ~J(y)], max [ 2, ~J(x), ~J(y)],
max [ 0, ~J(x), ~J(y)], max [ 2, ~J(x), ~J(y)], max [ 1, ~J(x), ~J(y)]}
Убирая из правой части этого выражения, шестое и восьмое “слагаемые” и значения функции равные нулю, получим искомую форму данной функции:
f ( x, y ) = min { max [1, ~J(x), ~J(y)], max [ ~J(x), ~J(y)], max [ ~J(x), ~J(y)],
max [ ~J(x), ~J(y)], max [ 1, ~J(x), ~J(y)], max [ ~J(x)], ~J(y)],
max [ 1,~J(x),~J(y)] }.
3) примеры полных систем в Рk (искать в "Яблонский " введение в дискретную математику"")
+)4замкнутые системы. Примеры.:
Определение полноты системы функций в k- значной логике аналогично соот-
ветствующему определению в двузначной логике.
Определение. Система функций f, …, f из P называется (функционально)
полной, если любая функция из P может быть записана в виде формулы через функ-ции этой системы.
Для обоснования полноты системы функций в k – значной логике можно так же
использовать принцип сведения задачи о полноте других систем, применяемый п.1.7.
Приведем некоторые примеры полных систем в k – значной логике.
1. Множество всех функций из P является полной системой.
2.Система Россера-Туркетта:
{0, 1, …, k-1, J(x),…, J(x), min(x,y), max(x,y)}
– полная система в P.
Действительно, для произвольной функции из P справедливо равенство (2.4),
правая часть которого состоит из функций данной системы, т.е. любая функция из P
выражается через эти функции.
3. Система Поста: { , max ( x,y ) } является полной.
4. Система: { V(x,y) } – полная. Вопрос о ее полноте может быть легко све-
ден к полноте системы 3.
В k – значных логиках исследование произвольной системы функций на полно-ту сопряжено с большими техническими трудностями: использование критерия полно-
ты, основанного на рассмотрении всех предполных классов в P, даже при k = 3 и 4
требует проверки весьма значительного числа условий т.к. в P существует ровно 18,
а в P – ровно 82 предполных классов. Доказательство полноты конкретных систем
в P проводится обычно методом сведения к заведомо полным системам.
С понятием полноты связано понятие замыкания и замкнутого класса, определе-ния которых аналогичны соответственным определениям для двузначной логики.
Приведем примеры замкнутых классов.
1. Класс P, очевидно, является замкнутым.
2. Пусть e E. Обозначим через T множество всех функций f (x, …, x)
из P сохраняющих e, т.е. таких, что f (a, …, a) e, если a e, ( i = 1, …, n). Класс T очевидно, является замкнутым.
3. Множество всех линейных функций из P образует замкнутый класс линей-
ных функций, который обозначается через L ( или L ). Этот класс отличен от P при любом k > 2.
4. Множество всех функций из P, представимых полиномами по модулю k,
является замкнутым классом в P.
Понятие замкнутого класса может быть приложено к решению вопроса об обос-новании неполноты некоторых систем.
Пример. Доказать, что система M = { ~x, max (x,y) } не является полной.
Пусть e = { 0, (k-1) }. Так как обе функции системы сохраняют e, то [M] T. Поскольку при k > 2, e ` E , то T не содержит, например константу 1. Значит при
k > 2 M не будет полной системой.
На этом примере видно, что хотя данная система и является обобщением полной
cистемы { , x y } булевых функций, она не является полной.
Предыдущий материал показывает, что во многом k – значные логики похожи на двузначную логику. В них сохраняются многие результаты, имеющие место в дву-
значной логике. Однако есть и существенные отличия в этих логиках. Приведем некоторые из них.
Для двузначной логики имеем:
Каждый замкнутый класс имеет конечный базис.
Мощность множества всех замкнутых классов в P счетная.
Всякая логическая функция в P может быть записана в виде полинома по модулю 2.
Для k – значной логики имеем:
Существуют в P замкнутые классы не имеющие конечного базиса.
Мощность множества всех замкнутых классов в P равна континууму.
Всякая логическая функция в P может быть записана в виде полинома по
модулю k в том и только в том случае, когда k – простое число.
5) представление функций в Pk поленома.
Определение. Полиномом по модулю k от переменных x, …, x называет-ся выражение вида: a + a1· X1 + … + an· Xn, где коэффициенты a принадлежат множеству E, а X – либо некоторая переменная, либо произведение переменных, причем сумма и произведения берутся по модулю k.
Говорят, что некоторая функция из P представима полиномом по модулю k, если существует полином по модулю k, равный этой функции.
Теорема. Представление каждой функции из P полиномом по модулю k возможно в том и только в том случае, когда k простое число. Если k – составное число, то в P имеются функции, представимые полиномами по модулю k , и функции не представимые полиномами.
Например, константы 0, 1, …, k-1 и “полиномиальные “ функции x, x, x · y, x + y представимы полиномами, а функции j(x), max (x,y), min (x,y), x ч y
не представимы.
Покажем, что если k – простое число, то характеристическую функцию первого рода можно представить в следующем виде:
j(x) = 1 – x, j(x) = j(x-i), i = 1, …, k-1. (2.7)
Здесь, как обычно, разность и степень берутся по модулю k.
Пусть k = 3. Тогда из (2.7) получим
j(x) = 1 - x,
j(x) = j( x-1 ) = 1 – ( x-1 ) = 2 x - x, (2.8)
j(x) = j( x-2 ) = 1 – (x-2) = x - x.
Подставляя в правые части полученных равенств поочередно значения:
x = 0, 1, 2,
убеждаемся в их справедливости.
Пусть k = 4. Подставляя в правую часть выражения j(x) = 1 - x значение
x = 2 получим j(2) = -7 ` 0. Следовательно, функция j(x) при k = 4 не предста-
вима полиномом по mod 4.
Пример. Представить полиномом функцию f (x) = xч x при k = 5.
Составим следующую таблицу данной функции.
Таблица 2.9
x |
0 |
1 |
2 |
3 |
4 |
x |
0 |
1 |
4 |
4 |
1 |
f(x) |
0 |
0 |
2 |
1 |
0 |
По данной таблице представим функцию во второй форме:
f(x) = f(0) j(x) + f(1) j(x) + f(2) j(x) + f(3) j(x) + f(4) j(x) =
(2.9)
= 0 j(x) + 0 j(x) + 2 j(x) + 1 j(x) + 0 j(x) = 2 j(x) + j(x).
Из выражения (2.7) получим:
j(x) = j(x-2) = 1 – (x-2) = -x – 2 x + x+ 2 x,
j(x) = j(x-3) = 1 – (x-3) = - x + 2 x + x – 2 x.
Подставляя эти выражения в (2.9), получим искомое представление данной
функции полиномом по модулю 5:
f(x) = x ч x = -3 x – 2 x + 3 x + 2 x = 2 x + 3 x + 3 x + 2 x.
Непосредственной подстановкой в полученный полином значений
x = 0, 1, 2, 3, 4
легко убедиться, что табличные значения функции и значения полинома совпадают.
Найти полином можно так же методом неопределенных коэффициентов.
Покажем, как это делается для функции предыдущего примера. Общий вид искомого полинома для данной функции будет следующий:
f(x) = a + a1 x 1+ a2x2 + a3x3 + anxn.
Более высокие показатели степени рассматривать не нужно, т.к. x = x (mod 5). Для нахождения коэффициентов a составим следующую систему:
a = f(0) = 0,
a + a + a + a + a = f(1) = 0,
a + 2 a + 4 a+ 3 a + a = f(2) = 2,
a + 3 a + 4 a + 2 a + a = f(3) = 1,
a + 4 a + a + 4 a + a = f(4) = 0.
Решая эту систему, например методом Гаусса, получим:
a = 0, a = 2, a = 3, a = 3, a = 2.
Следовательно, искомый полином имеет вид:
f(x) = 2 x + 3 x + 3 x + 2 x.
Сравнивая полученный полином, с полиномом, полученным в предыдущем примере видим, что они равны. Это выражение можно записать в более компактном виде:
f(x) = 2 x (x-1) (x+1).
Пример. Представить функцию f ( x,y ) = (2, 2, 0, 1, 1, 1, 0, 0, 0 ) многочленом при k = 3.
Таблица заданной функции представлена табл.2.10.
Таблица 2.10
x |
0 |
0 |
0 |
1 |
1 |
1 |
2 |
2 |
2 |
y |
0 |
1 |
2 |
0 |
1 |
2 |
0 |
1 |
2 |
f |
2 |
2 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
По табл.2.10 составим вторую основную форму для заданной функции. Она бу-дет иметь следующий вид
f ( x,y ) = 2 j(x) j(y) + 2 j(x) j(y) + 1 j(x) j(y) + 1 j(x) j(y) + 1 j(x) j(y) .
Подставляя в правую часть этого выражения соотношения (2.8) получим
f ( x,y ) = 2 ( 1-x) ( 1-y) + 2 ( 1- x) ( 2y-y) + ( 2x-x) ( 1-y) +
+ ( 2x-x ) ( 2y-y) + ( 2x -x) ( y-y).
Раскрывая скобки в полученном выражении и приводя подобные члены, получим иско-мый полином
f ( x,y ) = 2 + 2 x + y + 2 y + 2 xy + xy.
Проверка показывает, что это выражение удовлетворяет табличным значениям заданной функции.
Пример. Доказать, что функция f(x,y) = x ч y не представима полиномом при k = 4.
Допустим противное, т.е., что данная функция представима полиномом по мо-
дулю 4. Тогда этот полином будет иметь следующий вид:
f ( x, y ) = ( a + a x + a x + ax) + ( a y + a x y + axy + axy) +
+ ( ay + ax y + axy + axy) + ( ay + ax y + axy + axy).
Показатель степени выше 3 рассматривать не надо, т.к. при n > 1 справедливо следующее соотношении:
x = x (mod 4) и x = x (mod 4).