Для трёхзначной логики в этих клетках помещается прочерк [13], т. е. символ недоопределённости. Доопределение минимизируемой функции единицами позволяет получить компактную формулу.
Для комплементарной логики имеем:
d = cb’ + ca’ + iba + j(c’b’ + c’a’)
Для трёхзначной логики это уравнение выглядит проще:
d = b’ + a’ + iba
Но просто ещё не значит истинно. Поэтому произведём проверку полученных результатов. Кстати, эту проверку я ввёл далеко не сразу. Как её сделать? Очень просто. Если из M = ab+a’b’ мы получили решение a=b, то и из a=b мы должны на основе формулы эквивалентности вернуться к M = ab+a’b’.
Работать с эквивалентностью в 4-значной комплементарной логике достаточно сложно, поэтому я предлагаю Читателю более простой метод обычной булевой алгебры. Дело в том, что для выражения y = f1+if2+jf3 удалось установить соответствие y = f1+yf2+y’f3. Запомните это рекурсивное соотношение:

Я предлагаю Читателю поломать голову над выводом вышеприведённого соответствия. Кстати, заодно и над модификацией алгебры 4-значной комплементарной логики: не всё мне там нравится. Да, есть ещё одна проблема: один студент ТВАТ на моих лекциях по Русской логике заявил, что общеразговорная логика 5-значна: 5-е значение – «не знаю». Надеюсь, что кто-нибудь из русских мыслителей создаст алгебру 5-значной логики. К стыду своему, фамилию этого толкового русского студента я не запомнил. Приношу ему свои самые искрение извинения. Кстати, за 10 прошедших лет это был единственный студент (надеюсь, будущий выдающийся учёный), который открыл 5-значную логику здравого смысла.
А теперь приступим непосредственно к проверке полученных результатов. Начнём с 4-значной комплементарной логики.
Приведём выражение d = cb’ + ca’ + iba + j(c’b’ + c’a’) к рекурсивному виду. Получим d = c(a’+b’)+abd+c’d’(a’+b’). Теперь найдём полную единицу системы, т. е. M. Поиск будем вести по формуле эквивалентности M = (x=y) = xy+x’y’. Тогда M = [d = c(a’+b’)+abd+c’d’(a’+b’)] = d[c(a’+b’)+abd+c’d’(a’+b’)] + d’[c(a’+b’)+abd+c’d’(a’+b’)]’ = cd(a’+b’)+abd+d’(a’c’d+abd’) = cd(a’+b’)+abd+abd’ = ab+cd, что и требовалось доказать.
То, что [c(a’+b’)+abd+c’d’(a’+b’)]’ = (a’c’d+abd’), удалось выяснить с помощью карты Карно: очень скучен процесс аналитического инвертирования.
Итак, проверка решения уравнения в 4-значной комплементарной логике закончилась благополучно.
Проведём проверку решения уравнения в 3-значной логике. Приведём выражение d = b’ + a’ + iba к рекурсивному виду. Получим d = b’+a’+dba=b’+a’+d. Откуда M = (d = b’+a’+d) = d(b’+a’+d)+d’(b’+a’+d)’ = d+abd’ = d+ab, что не сответствует исходному значению М. Мы доказали, что решение логических уравнений возможно только в 4-значной комплементарной логике, чего не знал и не мог знать . Внимательно анализируя метод решения логических уравнений великого русского логика [3], приходишь к выводу, что кое в чём гениальный математик ошибался. Но и на солнце бывают пятна, поэтому великим грехом эту оплошность назвать нельзя.
В связи с тем, что при решении логических уравнений приходится зачастую проводить минимизацию булевых функций от большого числа переменных, полезно ознакомиться с соответствующими алгоритмами, изложенными в [13,14] и в диссертации автора[15].
Пример 2.
Рассмотрим 1-ю задачу Порецкого[34]. Между птицами данного зоосада существует 5 отношений:
1. Птицы певчие - крупные или обладающие качеством Y.
2. Птицы, не имеющие качества Y - или не крупные, или не имеют качества Х.
3. Птицы певчие в соединении с крупными объединяют всех птиц с качеством Х.
4. Каждая не-крупная птица есть или певчая, или обладающая качеством Х.
5. Между птиц с качеством Х совсем нет таких птиц с качеством Y, которые не будучи певчими, были бы крупные.
Определить, были ли птицы качества Х певчие или нет. Узнать то же в отношении птиц качества Y. Найти, были ли среди качества Х птицы качества Y и наоборот.
Решение.
Пусть Х - птицы качества Х.
Y - птицы качества Y.
S - певчие птицы.
G - крупные птицы.
Тогда условие задачи будет представлено следующими рекурсивными уравнениями [34] :
1. s= (g+ у)s;
2. у’= (g’+x’)у’;
3. s+g+x’=1;
4. g’=(s+x)g’;
5. xуs’g=0.
Эти уравнения Порецкий через эквивалентность приводит к единичной форме:
1. g+у+s’=1
2. g’+x’+у=1
3. s+g+x’=1
4. s+g+x=1
5. x’+у’+s+g’=1
Нетрудно заметить, что система уравнений Порецкого представляет из себя сорит, содержащий посылки общего характера. Посылки частно-утвердительного характера метод Порецкого обрабатывать не может.
Кстати, используя силлогистические функторы Аху и Еху, можно получить эти соотношения сразу, не прибегая к рекурсии и эквивалентности. Исходя из вышесказанного можно утверждать, что аналитическое представление силлогистических функторов Axy, Exy было впервые в мире дано русским логиком Порецким , мировая логика не заметила этого научного достижения, как не увидела и того, что позже к аналогичному выводу пришел и Л. Кэрролл[11]. Логика до сих пор прозябает в невежестве.
1.As(g+y) = (s(g+y)’)’ = s’+g+y = 1
2. Ay’(g’+x’) = (y’(g’+x’)’)’ = y+g’+x’ = 1
3. Ax(s+g) = (x(s+g)’)’ = x’+s+g = 1
4. Ag’(s+x) = (g’(s+x)’)’ = g+s+x = 1
5. Ex(ys’g) = (x(ys’g))’ = x’+y’+s+g’ = 1
Поэтому, видимо, целесообразно изучать решение логических уравнений после освоения силлогистики.
Полная логическая единица всей задачи определится как конъюнкция всех левых частей системы логических уравнений. Эту рутинную операцию можно заменить на менее утомительную процедуру построения дизъюнкции нулей. Получим систему:
1. g’у’s=0
2. gxу’=0
3. g’s’x=0
4. g’s’x’=0
5. gs’xу=0
Полный логический нуль системы равен дизъюнкции всех левых частей системы логических уравнений. Проведём решение задачи Порецкого с использованием карты Карно, а потом сопоставим результаты. Заполним карту Карно нулями в соответствии с нулевыми термами системы, а в оставшиеся клетки впишем единицы. Тогда полная логическая единица всей задачи после минимизации примет вид:
m=sу+gx’

Выпишем из карты Карно все единичные термы в виде таблицы истинности. По полученной таблице построим таблицы для х=f1(g, s),y=f2(g, s) и у=f3(х). Если на каком-либо наборе функция принимает значение как 0, так и 1, то в соответствующую клетку карты Карно вписываем i. Если какой-нибудь набор отсутствует, то для этого набора в карту Карно вносим значение j комплементарной логики.

После минимизации получим для комплементарной логики системы уравнений:
x = is + jg’s’
у = g’s + ig + jg’s’
у = x + ix’ = (x + ix) + ix’ = x + i
После приведения к рекурсивной форме имеем:
x = xs + x’g’s’
у = g’s + yg + y’g’s’
у = x + y
Результаты, полученные Порецким:
x = xs
у = gу + g’s
у = у + x
Сравнивая системы уравнений, можно заметить расхождение в результатах. Проверим себя и Порецкого. Полная единица системы M(g, s,x) = s+gx’. Это следует из основной формулы M(g, s,x, y) = sy+gx’. Для комплементарной логики имеем M(g, s,x) = (x=xs+x’g’s’) = xs+x’(xs+x’g’s’)’ = xs+x’(x’s+gs’+xs’) = xs+x’s+x’g = s+gx’, что и требовалось доказать.
Для Порецкого проверка не увенчалась успехом. Здесь великий логик допустил ошибку:он, как и автор в своё время, не догадался о проверке - восстановлении М. Привожу проверку для x=xs:
M(g, s,x) = (x=xs) = xs+x’(xs)’ = xs+x’ = s+x’, что не соответствует заданному M(g, s,x).
Строгим решением является лишь результат, полученный на основе комплементарной логики.
Комплементарная логика в электронике повышает надёжность любого устройства. Электронная система, построенная на такой логике фиксирует те ситуации, которые не могут быть никогда. Например, в сложной системе управления своевременное обнаружение таких состояний может предотвратить аварию или отказ. Поэтому можно надеяться, что вычислительная техника (да и не только она, но и юриспруденция тоже) будет строиться на комплементарной логике.
Кстати, первая в мире троичная ЭВМ «Сетунь-70» была создана в России (МГУ). Что касается 4-значной ЭВМ, то аппаратная реализация комплементарной логики на современной двоичной элементной базе весьма несложна.
Основываясь на примерах 1 и 2, составим алгоритм решения системы логических уравнений.
11.2. Алгоритм «Селигер» решения логических уравнений.
1. Привести систему уравнений к нулевому виду (исходная система).
2. Заполнить карту Карно нулями в соответствии с термами левых частей исходной системы уравнений, а в оставшиеся клетки вписать единицы. Эти единичные термы представляют собой СДНФ полной единицы системы.
3. Произвести минимизацию совокупности единичных термов. Полученное соотношение представляет МДНФ уравнения полной единицы системы.
4. Построить сокращённую (только для единичных термов) таблицу истинности уравнения полной единицы и выписать из неё все значения входных и выходной переменных в виде частной таблицы истинности для искомой функции.
5. Произвести минимизацию полученного выражения..
6. Привести полученное выражение к рекурсивной форме, заменив i на прямое значение искомой переменной, а j – на инверсное значение этой переменной.
7. Произвести проверку рекурсивного выражения на соответствие его полной единице системы для задействованных аргументов.
Алгоритм «Селигер» предполагает не только графическую, но и аналитическую минимизацию методом обобщённых кодов [13, 29]. Для систем уравнений с числом аргументов не более 10 графический метод эффективнее. Минимизация в трёхзначной и комплементарной логиках для двоичных аргументов несущественно отличается от минимизации в двузначной : нужно лишь проводить раздельное склеивание по i, j, 1 или 0.
Пример 3
Рассмотрим 2-ю задачу Порецкого.
Относительно белья в комоде известны 2 положения:
1) часть его состояла из крупных предметов, всё же остальное было тонким, причём часть этого последнего была поношена, прочая часть дёшево стоила;
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |


