- •Введение
- •Содержание
- •Революционный прорыв русской науки
- •Комбинационные логические цепи Основные положения алгебры логики
- •Основные законы алгебры Буля
- •Синтез комбинационных схем
- •Минимизация полностью определённых булевых функций.
- •Карты и прямоугольники Карно.
- •Алгоритм "ниирта" графической минимизации булевых функций.
- •Практикум по логике суждений
- •Алгоритм "Импульс".
- •Русская силлогистика
- •Алгоритм "иэи"(Ивановский энергетический институт)
- •Алгоритм "тват"(Тушинский вечерний авиационный техникум)
- •Практикум по силлогистике
- •Логика и плешь б. Рассела
- •Практикум по решению логических уравнений
- •Практикум по обратным логическим функциям
- •Алгоритм "Селигер-с"
- •Отыскание обратных функций.
- •Заключение
- •Краткий справочник по русской логике Варианты частноутвердительного силлогистического функтора Ixy.
- •Список публикаций
- •Лобанов Владимир Иванович. Автобиография
Практикум по обратным логическим функциям
На основе метода, заложенного в алгоритме "Селигер", можно вывести соотношения для операций, обратных конъюнкции и дизъюнкции. Поскольку эти операции часто называются соответственно логическими умножением и сложением, то логично обратным операциям присвоить имена логического деления и логического вычитания. Впервые формулы для логического частного и логической разности для троичной логики получены Н.П.Брусенцовым[5].
Если логическое уравнение вида z=f(x1, x2, x3 .....xi .....xn) решается относительно одной из своих переменных, например, отыскивается обратная функция x1=fi(z, x2, x3 .....xi ..... xn), то можно воспользоваться более простым алгоритмом "Селигер-С" решения задачи.
Алгоритм "Селигер-с"
Построить таблицу истинности для уравнения z=f(x1, x2 ..... xn).
По исходной таблице истиннсти построить таблицу истинности для обратной функции вида x1=fi(z, x2 ......xn) простой перестановкой столбцов z и х1.
По полученной таблице истинности построить обратную функцию x1=fi(z, x2, ..... xn) и провести её минимизацию.
Пример 5
Дано: z = xу , v = x + у.
Найти: у = z/x , у = v-x.
Решение
На основе формулы эквивалентности преобразуем исходную формулу z=xу. Тогда получим (z=xу) = zxу + z'(x'+у'). В соответствии с пп.4, 5 алгоритма "Селигер" получим у = xz+ix'z'+jx'z.
Решим ту же задачу посредством алгоритма "Селигер-С". Исходные уравнения представим в виде таблицы истинности. Тогда в соответствии с п.2 алгоритма "Селигер-С" построим частные таблицы истинности для у= z/x и у=v-x.
xy z v
00 0 0
01 0 1
10 0 1
11 1 1
xz y=z/x
00 i
01 j
10 0
11 1
xv y=v-x
00 0
01 1
10 j
11 i
В соответствии с п.3 алгоритма "Селигер-С" проведём минимизацию искомых функций в трёхзначной и комплементарной логиках.
Для комплементарной логики получим:
у = z/x = xz + ix'z' + jx'z
у = u-x = x'v + ixv + ixv'
Для трёхзначной логики уравнения имеют вид:
у = z/x = xz + ix'
у = v-x = x'v + ix
Однозначным и более строгим решением являются уравнения комплементарной логики.
Пример 5
Дана система логических уравнений (В. С. Левченков "Булевы уравнения" - М.:1999 ):
ax = bc
bx = ac
Найти х.
Решение
Напрашивается простой и "очевидный" метод решения: сложить левые и правые части уравнений и сократить на общий множитель. В результате получим (a+b)x = (a+b)c. Откуда x = c, a = b. Ответ настораживает, тем более, что что решение противоречит принципу отыскания парных индивидов, поэтому проверим его на основе разработанных алгоритмов.
Действительно, сложить левые и правые части уравнений мы имеем право на основании правила (9П) Порецкого[35,стр,376]. Кстати, заодно и проверим это правило:
(9П) (e=c) —> (e+b=c+b) = ec'+e'c+(e+b)(c+b)+(e+b)'(c+b)' = ec'+e'c+ec+b+e'b'c' = 1;
Да, Порецкий не ошибся. Однако относительно сокращения на общий множитель великий русский логик нам ничего не сообщил. А так хочется это сделать, тем более что всё очевидно, и обычная алгебра нам не запрещает подобные операции. Проверим допустимость сокращения на общий множитель с помощью алгоритма "Импульс":
(cx=cy) —> (x=y) = cx(cy)'+(cx)'cy+xy+x'y' = cxy'+cx'y+xy+x'y' <> 1.
Оказывается, что алгебра логики не разрешает нам этакие вольности
По алгоритму "Селигер":
M = (ax = bc)( bx = ac)
M' = (ax bc) + ( bx ac) = ab'x+ac'x+a'bc+bcx'+a'bx+bc'x+acx'+ab'c.
После занесения M'в карту Карно получим
M = a'b'+abcx+c'x'.
Откуда решение системы логических уравнений в соответствии с алгоритмом "Селигер" примет вид:
x = abc+ia'b'+jc(ab'+a'b).
a = bcx+ic'x'+jb(cx'+c'x).
Заданная система уравнений может быть представлена графически при помощи скалярных диаграмм.
a ---==--=
b ---===--
c --==----
a ---==--=
b ---===--
c --==----
d -===----
d -===----
Подтвердим корректность метода на решении более прозрачной задачи.
Пример 6
Дана система логических уравнений:
x = y
u = v
Найти решение системы.
Решение
M = (x = y)(u = v) = (xy + x'y')(uv + u'v') = u'v'(x'y' + xy)+uv(x'y' + xy)
По алгоритму "Селигер" получим y(x,u,v) = x(u = v)+j(u v)
Для перехода к y(x) достаточно в таблице истинности для полной единицы М вынести столбец значений y в графу функций и произвести синтез y(x) по вышеизложенным алгоритмам. В результате мы подтвердим исходное уравнение системы y(x) = x. Аналогично можно показать,что u(v) = v.