Реш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)

Hosted by uCoz