Решeние логических уравнений - Лобанов Владимир Иванович




reshi-uravneniya-640-x1003y350108500a4450-425b-280903.html
reshi-uravneniya-8s3-11-6s.html

Решeние логических уравнений


ЛЕКЦИЯ 11
Решeние логических уравнений
Под решением логического уравнения понимается преобразование ис-
ходного уравнения к явному виду относительно одной из переменных.Этой
проблемой занимались Дж.Буль и русский ученый Порецкий Платон Сергее-
вич.
Платон Сергеевич Порецкий родился 3 октября 1846 г. в Елизаветг-
раде Херсонской губернии в семье военного врача.В 1870 г.закончил физ-
матфак Харьковского университета.Был оставлен прфессорским стипендиа-
том на кафедре астрономии.С 1876 г. избирается астрономом-наблюдателем
Казанского университета.За 1876-79 гг. Порецкий опубликовал 2 тома
наблюдений на меридианном круге.Несмотря на слабое здоровье участвует
в общественной жизни университета,являясь секретарем секции физмат.
наук,казначеем,а затем и пожизненным членом.Редактирует либеральную
газету "Телеграф".
За астрономические исследования в 1886 г. ему присуждается ученая
степень доктора астрономии и звание приват-доцента.
П.С.Порецкий умер в 9 августа 1907 г. в с.Жоведь Гродненского
уезда Черниговской губернии,куда переехал из Казани в 1889 г.,будучи
уже тяжелобольным.
Принимал заочное участие в ряде международных научных конгрес-
сов,вел активную переписку как с русскими,так и иностранными учены-
ми.Смерть застала его за неоконченной статьей по логике.
Логикой занимается с 1880 г. В 1881 г. выходит его работа "Изло-
жение основных начал мат.логики ...". В 1884 г. издает свой большой
труд "О способах решения логических равенств и об обратном способе ма-
тематической логики",где излагает теорию логических равенств,закон
форм посылок,закон замещения системы посылок одной посылкою,закон раз-
ложения посылок на элементы,закон исключения терминов из посылок,закон
умозаключений(синтез),закон причин.
Работа П.С.Порецкого "Из области математической логики"(1902) яв-
ляется обобщением классической силлогистики.Синтезируется несколько
заключений из заданных посылок.
При решении системы логических уравнений вначале определяется так
называемая полная единица задачи (системы),а потом отыскивается реше-
ние уравнения относительно заданных переменных.Поскольку известные ме-
тоды решения логических уравнений[5,17] сложны для восприятия и черес-
чур громоздки,попробуем найти решение этой проблемы с помощью таблиц
истинности.В приводимом ниже примере считаем полную единицу системы(M)
известной.
Пример 1.
Дано: M = ab + cd = 1
Найти: d = f(a,b,c)
Решение.
На основании исходного логического уравнения полной единицы стро-
им таблицу истинности для разрешенных наборов(табл.2),т.е. тех набо-
ров,на которых исходное уравнение имеет решение.Перенеся столбцы a,b,c
из табл.2 в качестве входных наборов,а столбец d - в качестве значений
искомой функции, получим таблицу истинности (табл.3) для d = f(a,b,c).
Табл.2 Табл.3
----------T---¬ --------T---¬
¦ d c b a ¦ M ¦ ¦ c b a ¦ d ¦
+---------+---+ +-------+---+
¦ 0 0 1 1 ¦ 1 ¦ -----> ¦ 0 1 1 ¦ 0 ¦
¦ 0 1 1 1 ¦ 1 ¦ ¦ 1 1 1 ¦ 0 ¦
¦ 1 0 1 1 ¦ 1 ¦ ¦ 0 1 1 ¦ 1 ¦
¦ 1 1 1 1 ¦ 1 ¦ ¦ 1 1 1 ¦ 1 ¦
¦ 1 1 0 0 ¦ 1 ¦ ¦ 1 0 0 ¦ 1 ¦
¦ 1 1 0 1 ¦ 1 ¦ ¦ 1 0 1 ¦ 1 ¦
¦ 1 1 1 0 ¦ 1 ¦ ¦ 1 1 0 ¦ 1 ¦
L---------+---- L-------+----
По табл.3 заполним карту Карно (рис.1),откуда после минимизации
получим следующие соотношения(3,4).Если на некотором наборе функция
принимает значение как 0,так и 1,то в соответствующую клетку карты
Карно вписываем символ i.Если на каком-либо наборе функция не опреде-
лена,то в сооветствующую клетку карты Карно вносим значение j.
ba
\ 00 01 11 10 Для четырехзначной логики имеем:
c \---T---T---T---¬
0 ¦ j ¦ j ¦ i ¦ j ¦ d=cb'+ca'+iba+j(c'b'+c'a')
+---+---+---+---+
1 ¦ 1 ¦ 1 ¦ i ¦ 1 ¦
L---+---+---+----
Рис.1
Клетки карты Карно с координатами 011 и 111 заполнены значением
i,т.к. на этих наборах d принимает значения как 0,так и 1.Наборы
000,001 и 010 в табл.3 отсутствуют,поскольку при таких значениях аргу-
ментов исходное уравнение не имеет решения,поэтому соответствующие
клетки карты Карно заполнены символом j.
Автор использует менее трудоемкий,но более сложный для восприятия
метод.Пpи этом вначале в КК вписываются значения i,а потом все осталь-
ное.
----------T---¬ --------T---¬
¦ d c b a ¦ M ¦ ¦ c b a ¦ d ¦
+---------+---+ +-------+---+
¦ - - 1 1 ¦ 1 ¦ -----> ¦ - 1 1 ¦ i ¦
¦ 1 1 - - ¦ 1 ¦ ¦ 1 - - ¦ 1 ¦
L---------+---- L-------+----
ba
\ 00 01 11 10 Для четырехзначной логики имеем:
c \---T---T---T---¬
0 ¦ j ¦ j ¦ i ¦ j ¦ d=c(b'+a')+iba+jc'(b'+a')
+---+---+---+---+
1 ¦ 1 ¦ 1 ¦ i ¦ 1 ¦
L---+---+---+----
Пример 2.
Рассмотрим 1-ю задачу Порецкого[17].Между птицами данного зоосада
существуют 5 отношений:
1.Птицы певчие - крупные или обладающие качеством Y.
2.Птицы,не имеющие качества Y - или не крупны,или не имеют ка-
чества X.
3.Птицы певчие в соединении с крупными объединяют всех птиц с ка-
чеством X.
4.Каждая не-крупная птица есть или певчая,или обладающая качест-
вом X.
5.Между птиц с качеством X совсем нет таких птиц с качеством
Y,которые не будучи певчими,были бы крупны.
Определить,были ли птицы качества X певчие или нет.Узнать то же в
отношении птиц качества Y.Найти,были ли среди птиц качества X птицы
качества Y и наоборот.Т.е. требуется найти M(x,s),M(y,s),M(x,y).
Решение.
Пусть X - птицы качества X,
Y - птицы качества Y,
S - певчие птицы,
G - крупные птицы.
Тогда условие задачи будет представлено следующими рекурсивными
уравнениями:
1.s=(g+y)s;
2.y'=(g'+x')y';
3.x(s+g)=x;
4.g'=(s+x)g';
5.xys'g=0.
Уравнения Порецкий через эквивалентность приводит к единичной
форме:
1.g+y+s'
2.g'+x'+y
3.s+g+x'
4.s+g+x
5.x'+y'+s+g'
Основываясь на введенном нами русском базисе,можно получить эти
же соотношения более простым путем:
1.As(g+y) = s'+g+y
2.Ay'(g'+x') = y+g'+x'
3.Ax(s+g) = x'+s+g
4.Ag'(s+x) = g+s+x
5.Ex(ys'g) = x'+y'+s+g'
Однако восхищает красота решения задачи П.С.Порецким без привле-
чения силлогистики.Фактически русский ученый,сам того не ведая,впервые
в мире вывел соотношения для силлогистических функторов Аху и Еху.
Современная силлогистика до сих пор не замечает и не использует этих
результатов великого русского логика.Кроме того,данная система уравне-
ний представляет из себя 5 посылок силлогизма,точнее сорита.Таким об-
разом,решив систему уравнений,Порецкий впервые в мире синтезировал
аналитически заключение силлогизма(сорита).
Полная логическая единица всей задачи определяется Порецким как
конъюнкция всех левых частей системы логических уравнений .Эту рутин-
ную операцию можно заменить на менее утомительную процедуру построения
дизъюнкции нулей.Получим систему:
1.g'y's=0
2.gxy'=0
3.g's'x=0
4.g's'x'=0
5.gs'xy=0
Полный логический нуль системы равен дизъюнкции всех левых частей
системы логических уравнений .Проведем решение задачи Порецкого с ис-
пользованием карты Карно.Заполним карту Карно нулями в соответствии с
нулевыми термами системы ,а в оставшиеся клетки впишем единицы
(рис.2).Тогда минимальная дизъюнктивная нормальная форма (МДНФ) полной
логической единицы всей задачи примет вид:
xy
M=sy+gx' (8) \ 00 01 11 10
gs \----T----T----T----¬
00¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦
+----+----+----+----+
01¦ 0 ¦ 1 ¦ 1 ¦ 0 ¦
+----+----+----+----+
11¦ 1 ¦ 1 ¦ 1 ¦ 0 ¦
+----+----+----+----+
10¦ 1 ¦ 1 ¦ 0 ¦ 0 ¦
L----+----+----+-----
Рис.2
Из полученной формулы для М легковыводятся следующие соотношения:
M(x,s) = s+x' = Axs
M(y,s) = sy+i = Isy(3)
M(x,y) = y+x' = Axy
Для ответа на вопросы Порецкого в заданной им форме поступим нес-
колько иначе.Выпишем из карты Карно (рис.2) все единичные термы в виде
таблицы истинности (табл.4).По табл.4 построим табл.5 для x =
f1(g,s),табл.6 для y = f2(g,s) и табл.7 для y = f3(x).Если на ка-
ком-либо наборе функция принимает значение как 0,так и 1,то в соот-
ветствующую клетку карты Карно вписываем i.Если какой-либо набор от-
сутствует,то для этого набора в карту Карно вносим значение j при че-
тырехзначной логике или произвольное(по аналогии с двузначной логи-
кой)-при трехзначной. Карты Карно для табл.5,6 и 7 представлены на
рис.3,4 и 5 соответственно.
Табл.4 Табл.5 Табл.6 Табл.7
-------T---¬ ----T---¬ ----T---¬ ----T---¬
¦ gsxy ¦ M ¦ ¦ s ¦ x ¦ ¦ s ¦ y ¦ ¦ x ¦ y ¦
+------+---+ +---+---+ +---+---+ +---+---+
¦ 0101 ¦ 1 ¦ ¦ 1 ¦ 0 ¦ ¦ 1 ¦ 1 ¦ ¦ 0 ¦ 1 ¦
¦ 0111 ¦ 1 ¦ ¦ 1 ¦ 1 ¦ ¦ 1 ¦ 1 ¦ ¦ 1 ¦ 1 ¦
¦ 1101 ¦ 1 ¦ ----> ¦ 1 ¦ 0 ¦ ¦ 1 ¦ 1 ¦ ¦ 0 ¦ 1 ¦
¦ 1111 ¦ 1 ¦ ¦ 1 ¦ 1 ¦ ¦ 1 ¦ 1 ¦ ¦ 1 ¦ 1 ¦
¦ 1000 ¦ 1 ¦ ¦ 0 ¦ 0 ¦ ¦ 0 ¦ 0 ¦ ¦ 0 ¦ 0 ¦
¦ 1001 ¦ 1 ¦ ¦ 0 ¦ 0 ¦ ¦ 0 ¦ 1 ¦ ¦ 0 ¦ 1 ¦
¦ 1100 ¦ 1 ¦ ¦ 1 ¦ 0 ¦ ¦ 1 ¦ 0 ¦ ¦ 0 ¦ 0 ¦
L------+---- L---+---- L---+---- L---+----
\s 0 1 \s 0 1 \x 0 1
\---T---¬ \---T---¬ \---T---¬
¦ 0 ¦ i ¦ ¦ i ¦ i ¦ ¦ i ¦ 1 ¦
L---+---- L---+---- L---+----
Рис.3 Рис.4 Рис.5
После минимизации получим для четырехзначной логики систему урав-
нений :
x = is
y = i
y = x + ix' = (x + ix) + ix' = x + i
Результаты,полученные Порецким :
x = xs
y = g's + gy
y = y + x
Результаты Порецкого менее корректны,поскольку он использует
2-значную(с некоторой натяжкой ее можно считать псевдо-трехзначной:
здесь в качестве i выступает символ функции,встречающийся в правой
части уравнений) логику вместо 4-значной .Метод Порецкого хорошо сра-
ботал на общих посылках,но он абсолютно непригоден для частных посылок
и частных заключений.
Основываясь на примерах 1 и 2 составим алгоритм решения системы
логических уравнений.
Алгоритм "Селигер".
1.Привести систему уравнений к нулевому виду(исходная система).
2.Заполнить карту Карно нулями в соответствии с термами левых
частей исходной системы уравнений,а в оставшиеся клетки вписать едини-
цы.Эти единичные термы представляют собой СДНФ полной единицы системы.
3.Произвести минимизацию совокупности единичных термов.Полученное
соотношение представляет МДНФ уравнения полной единицы системы.
4.Построить сокращенную (только для единичных термов) таблицу ис-
тинности уравнения полной единицы и выписать из нее все значения вход-
ных и выходных переменных в виде частных таблиц истинности для искомых
фумкций.
5.Произвести минимизацию искомых функций.
Используя алгоритм "Селигер",выясним смысл импликации M = x -> y
= x'+y.Решая это уравнение относительно у,получим:y = x+ix'.Откуда
следует физический смысл импликации:"Если х-истинно,то истинно и
у".Или более традиционная формулировка:"Из истинности х следует истин-
ность у".Кроме того,это же уравнение описывает функтор Axy. Таким об-
разом Порецкий в своей 1-й задаче нашел впервые в мире аналитическое
решение для общего сорита,т.е. сорита,имеющего общие посылки и заклю-
чение.
Домашнее задание ДЗ5
Задача Дж.Буля.
Дано: x = y(zw' + z'w)
Найти: y = f(x,z,w),где
x - ответственные существа,
y - разумные существа,
z - обладающие свободой действия,
w - добровольно пожертвовавшие свободой.
Результат,полученный Булем,выражается соотношением .
y = x(zw' + z'w) + vx'z'w'
Решение.
В соответствии с алгоритмом "Селигер" приведем к единичной форме
.сходное уравнение (1) с помощью формулы эквивалентности:
M = xy(zw'+z'w)+x'(y(zw'+z'w))' = xyzw'+xyz'w+x'y'+x'z'w'+x'zw = 1 (2)
На основании логического уравнения (2) строим таблицу истинности
для разрешенных наборов(табл.2),из которой следует таблица истинности
(табл.3) для y = f(x,z,w).Кстати,табл.3 может быть получена непосредс-
твенно из таблицы истинности для уравнения (1).
Табл.2 Табл.3
----------T---¬ --------T---¬
¦ x y z w ¦ M ¦ ¦ x z w ¦ y ¦
+---------+---+ +-------+---+
¦ 1 1 1 0 ¦ 1 ¦ -----> ¦ 1 1 0 ¦ 1 ¦
¦ 1 1 0 1 ¦ 1 ¦ ¦ 1 0 1 ¦ 1 ¦
¦ 0 0 - - ¦ 1 ¦ ¦ 0 - - ¦ 0 ¦
¦ 0 - 0 0 ¦ 1 ¦ ¦ 0 0 0 ¦ i ¦
¦ 0 - 1 1 ¦ 1 ¦ ¦ 0 1 1 ¦ i ¦
L---------+---- L-------+----
На наборах 000 и 011 искомая функция y может принимать любые зна-
чения (состояние i) без нарушения соотношения (2).На наборах 100 и 111
функция не имеет места,т.е. не может быть никогда.По табл.3 заполним
карту Карно (рис.1),откуда после минимизации получим следующие соотно-
шения(3,4).Здесь и далее апостроф означает отрицание аргумента или
функции.
zw
\ 00 01 11 10
x \---T---T---T---¬
0 ¦ i ¦ 0 ¦ i ¦ 0 ¦
+---+---+---+---+
1 ¦ j ¦ 1 ¦ j ¦ 1 ¦
L---+---+---+----
Рис.1
Для четырехзначной логики имеем:
y = x(zw'+z'w) + (ix'+jx)(z'w'+zw) (3)
Для трехзначной логики результат выглядит проще:
y = x + ix'(z'w'+zw) (4)

Синтез обратных логических функций


ЛЕКЦИЯ 12
Синтез обратных логических функций.
Если логическое уравнение вида z=f(x1,x2,x3,...,xi,...xn) решает-
ся относительно одной из своих переменных,например,отыскивается обрат-
ная функция x1=fi(z,x2,x3,...,xi,...,xn),то можно воспользоваться бо-
лее простым алгоритмом "Селигер-С" решения задачи.
Алгоритм "Селигер-С".
1.Построить таблицу истинности для уравнения z=f(x1,x2,..,xn)
2.По исходной таблице истинности построить таблицу истинности для
обратной функции вида x1=fi(z,x2,...,xn) простой перестановкой
столбцов z и x1.
3.По полученной таблице истинности построить обратную функцию
x1=fi(z,x2,...,xn) и провести ее минимизацию.
Пример 1.
Дано: z = xy,v = x+y.
Найти: y = z/x,y = v-x.
Решение.
На основе формулы эквивалентности преобразуем исходную формулу
z=xy.Тогда получим (z=xy) = zxy+z'(x'+y').В соответствии с пп.4,5 ал-
горитма "Селигер" получим y = xz+ix'z'+jx'z.
Решим ту же задачу посредством алгоритма "Селигер-С".Исходные
уравнения представим в виде таблицы истинности (табл.12).Тогда в соот-
ветствии с п.2 алгоритма "Селигер-С" построим частные таблицы истин-
ности для y = z/x и y = v-x.
Табл.12 Табл.13 Табл.14
-----T-----T-----¬ -----T-------¬ -----T-------¬
7

mpedagog.ru