Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по РЛ

.pdf
Скачиваний:
33
Добавлен:
13.05.2015
Размер:
2.35 Mб
Скачать

2. Все неюристы не боятся инфляции и все не боящиеся инфляции предприниматели – юристы (Ax’yAy’x).

Задача 3.1.13.

Не всякий любитель насилия любит собственных детей. Только политики верят в пользу насилия.

----------------------------------------------------------------------------------

Некоторые политики не любят своих детей. Решение.

Пусть x=4 – политики, m=4 – любители насилия, y=6 – не любящие своих детей родители. Универсум U=8 – группа людей. Условие задачи: Imx & Amy → f(x,y).

Получено 3-вариантное заключение:

1.Все политики не любят своих детей (Aхy).

2.Все неполитики не любят своих детей и все любящие своих детей родители – политики (Ax’yAy’x).

3.Некоторые политики не любят своих детей (Iхy).

Задача 3.1.14.

Только в споре рождается истина.

Никто не станет спорить, кроме глупца или мошенника.

-------------------------------------------------------------------------------

Лишь глупец или мошенник могут достичь истины. Решение.

Пусть x – “родители истины”, m – спорщики, y – глупец или мошенник. Универсум – люди.

Условие задачи: Axm & Amy → f(x,y).

Полученное заключение: «Родители истины» - глупцы или мошенники. Почему получился такой бредовый вывод? Из-за глупых посылок.

31

Задача 3.1.15.

Боязливый к прекрасному полу – боязлив и в жизни. Тот, кто знает логику, не боится женщин.

----------------------------------------------------------

Трус не разбирается в логике. Решение.

Пусть x=6 – боязливый в жизни, m=4 – боящийся женщин, y=2 – знающий логику. Универсум U=8 – группа мужчин.

Условие задачи: Amх & Еmy → f(x,y).

Получено 3-вариантное заключение:

1.Ни один трус не знает логику (Exy).

2.Все логики – трусы (Ayx).

3.Некоторые логики – трусы (Ixy).

В данном случае исходное заключение Кэрролла кардинально ошибочно.

Задача 3.1.16.

Среди болтунов нет логиков. Все политики - болтуны.

-------------------------------------------------------

Ни один логик не станет политиком. Решение.

Пусть x – логик, m – болтун, y – политик. Универсум – люди. Условие задачи: Emх & Aym → f(x,y).

Ни один политик не является логиком.

32

Задача 3.1.17.

Иногда проходимец может оказаться ясновидцем. Если ты ясновидец, то не должен лгать.

--------------------------------------------------------------------------------------

Существуют проходимцы, которые обязаны говорить правду. Решение.

Пусть x=4 – проходимец, m=4 – ясновидец, y=6 – честный. Универсум

U=8 – люди. Условие задачи: Imx & Amy → f(x,y).

Получено 3-вариантное заключение:

1.Все проходимцы – честные (Aхy).

2.Все непроходимцы – честные и все нечестные – проходимцы (Ax’yAy’x).

3.Некоторые проходимцы – честные (Iхy).

Задача 3.1.18.

Все лентяи – двоечники.

Ни один студент не любит получать двойки.

---------------------------------------------------------------

Значит, среди студентов нет лентяев. Решение.

Пусть x – лентяй, m – двоечник, y – студент.Универсум – учащиеся.

Условие задачи: Axm & Emy → f(x,y).

Заключение: « Ни один студент не является лентяем.

33

Домашнее задание 3

Все задачи домашнего задания позаимствованы из книги Кэрролла (Кэрролл Л. История с узелками. - М.:Мир,1973).

Задача 7[1,стр.151] Среди юристов имеются профессиональные бизнесмены.

Настоящий бизнесмен не боится инфляции. Некоторые юристы не опасаются инфляции.

Задача 8[1,стр.151] Только политики верят в пользу насилия.

Не всякий любитель насилия любит собственных детей. Некоторые политики не любят своих детей.

Задача 9[1,стр.151] Только в споре рождается истина.

Никто не станет спорить, кроме глупца или мошенника. Лишь глупец или мошенник могут достичь истины.

Задача 12[1,стр.151]

Боязливый к прекрасному полу – боязлив и в жизни. Тот, кто знает логику, не боится женщин.

Трус не разбирается в логике.

Задача 13[1,стр.152]

Среди болтунов нет логиков.

Только болтун может стать политиком. Ни один логик не станет политиком.

Задача 14[1,стр.152]

Иногда проходимец может оказаться ясновидцем. Если ты ясновидец, то не должен лгать.

Существуют проходимцы, которые обязаны говорить правду.

Задача 15[1,стр.152]

Лишь двоечник по убеждению – лентяй. Ни один студент не любит получать двойки.

Значит, среди студентов нет лентяев.

Задача 16[1,стр.152]

Лишь в правовом государстве реализуются права граждан. Только демократическое государство может быть правовым.

Права граждан могут быть реализованы лишь в демократическом государстве.

34

4. ЛЕКЦИЯ № 4. Логические уравнения

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

Под решением логического уравнения понимается преобразование исходного уравнения к явному виду относительно одной из переменных (формулировка Вороничева П.П., сотрудника ИПУ им. Трапезникова, г.Москва). Наиболее полно эта проблема рассмотрена в работах П.С.Порецкого и Н.П.Брусенцова. Результаты великих учёных были не всегда успешными.

Поэтому вначале автор решал проблему на основе 4-значной комплементарной логики [1]. Позднее был найден более простой метод решения логических уравнений, основанный на применении алгоритма «Волга» [6].

Алгоритм «Волга» решения уравнений в двоичной логике.

1.Произвести синтез СДНФ полной единицы системы.

2.По СДНФ построить сокращённую (только для единичных термов) таблицу истинности уравнения полной единицы и выписать из неё все значения входных и выходных переменных в виде частной таблицы истинности для искомой функции.

3.Если на каком-либо наборе функция Y принимает как 0, так и 1, то присвоить ей значение Y. Если существуют наборы, на которых функция Y не определена, то на этих наборах искомой функции присвоить её инверсное значение, т.е. Y’.

4.Произвести минимизацию полученного выражения.

5.Произвести проверку рекурсивного выражения на соответствие его полной единице системы для задействованных аргументов, т.е. выполнить проверку равносильности произведённых преобразований на основе формулы равнозначности (эквивалентности).

Пример.

Рассмотрим 1-ю задачу Порецкого. Между птицами данного зоосада существует 5 отношений:

1.Птицы певчие - крупные или обладающие качеством Y.

2.Птицы, не имеющие качества Y - или не крупные, или не имеют качества Х.

3.Птицы певчие в соединении с крупными объединяют всех птиц с качеством Х.

4.Каждая некрупная птица есть или певчая, или обладающая качеством Х.

5.Между птиц с качеством Х совсем нет таких птиц с качеством Y, которые, не будучи певчими, были бы крупные.

Определить, были ли птицы качества Х певчие или нет, крупные или нет. Узнать то же в отношении птиц качества Y. Найти, были ли среди птиц качества Х птицы качества Y и наоборот.

35

Решение.

Пусть Х - птицы качества Х. Y - птицы качества Y. S - певчие птицы.

G - крупные птицы.

На основе соотношений Axy = x’+y и Exy = x’+y’, выведенных нами в разделе «Силлогистика»), получим:

1.As(g+y) = s’+g+y = 1

2.Ay’(g’+x’) = y+g’+x’ = 1

3.Ax(s+g) = x’+s+g = 1

4.Ag’(s+x) = g+s+x = 1

5.Ex(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’. Это совпадает с результатом Порецкого.

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

36

После минимизации имеем:

x = xs + x’g’s’

у= g’s + yg + y’g’s’

у= x + y

x = xy

Результаты, полученные Порецким:

x = xs

у= gу + g’s

у= у + x

x = xy

Сравнивая системы полученных уравнений, можно заметить различия. Проверим себя и Порецкого на результате x = xs + x’g’s’. Полная единица системы

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).

Строгим решением является лишь результат, полученный на основе алгоритма «Волга». Таким образом, мы доказали некорректность методов Порецкого при решении логических равенств.

37

Домашнее задание 4

По заданной полной единице системы М найти решение уравнения относительно всех переменных.

1.M = a+bcd

2.M = abc+d

3.M = a+bc+d

4.M = ab+c+d

5.M = a+b+cd

6.M = a+b+c+d

Пример выполнения задания относительно одной переменной. Пусть M = acd+b. Найти решение уравнения относительно переменной a.

Решение.

Развернём уравнение полной единицы системы М в СДНФ и в соответствии с п.2 алгоритма «Волга» построим сокращённую таблицу истинности. Из неё по п.3 алгоритма получим таблицу истинности для искомого аргумента. Весь процесс отображён на рисунке.

Из полученной таблицы истинности находим: a = b’cd+ab+a’b’d’+a’b’c’. Проверим результат по формуле равнозначности:

M = a(b’cd+ab+a’b’d’+a’b’c’)+a’(b’cd+ab+a’b’d’+a’b’c’)’ = ab’cd+ab+a’(a’b+ab’c’+ab’d’) = = ab’cd+ab+a’b = acd+b, ч.т.д. Проверка завершена успешно.

38

5. ЛЕКЦИЯ № 5. Отыскание обратных функций

На основе метода, заложенного в алгоритме «Селигер», можно вывести соотношения для операций, обратных конъюнкции и дизъюнкции. Поскольку эти операции часто называются соответственно логическими умножением и сложением, то логично обратным операциям присвоить имена логического деления и логического вычитания. Впервые формулы для логического частного и логической разности для троичной логики получены Н.П.Брусенцовым. Поскольку в троичной логике не может быть получено корректное решение, то требуется проверка уравнений Брусенцова.

Если логическое уравнение вида 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 и х1.

3.По полученной таблице истинности построить обратную функцию x1=fi(z, x2, ..... xn) и провести её минимизацию.

4.Проверить полученное решение, вычислив полную единицу системы М по обратной функции.

Пример 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.

39

В соответствии с п.3 алгоритма «Селигер-С проведём минимизацию искомых функций в комплементарной логике.

Для комплементарной логики получим:

у= z/x = xz + ix’z’ + jx’z = xz+x’yz’+x’y’z - уравнение логического деления.

у= u-x = x’v + iv + jxv’ = x’v+yv+xy’v’ - уравнение логического вычитания.

Проверим оба полученных результата. Пусть вначале это будет операция

логического деления. В рекурсивной форме она выглядит так:

у = xz + yx’z’ + y’x’z

Найдём полную единицу системы М для полученной функции.

M = (у = xz + yx’z’ + y’x’z ) = y(xz + yx’z’ + y’x’z )+y’(xz + yx’z’ + y’x’z )’ = = xyz+x’yz’+y’(y’z’+xz’+x’yz) = xyz+x’yz’+y’z’ = xyz+z’(x’+y’).

Она должна совпадать с исходной

M = (z=xy) = xyz+z’(xy)’ = xyz+z’(x’+y’). Налицо совпадение результатов.

Проверим формулу, полученную для логической разности. Исходная полная единица системы M = (v = x+y) = v(x+y) + v’(x+y)’ = xv+yv+x’y’v’.

Полная единица системы на основе логической разности

M = (y = x’v+yv+xy’v’) = x’yv+yv+y’(x’v+yv+xy’v’)’ = yv+y’(x’v’+yv’+xy’v) = = yv+x’y’v’+xy’v = xv+yv+x’y’v’, ч.т.д.

Проверка подтвердила правильность полученных результатов.

Теперь проверим формулы, полученные Брусенцовым Н.П. Для логического деления была получена формула: y = xz+ix’.

Приведём её к рекурсивному виду – получим y = xz+yx’. Найдём полную единицу системы: M = (y = xz+yx’) = xyz+x’y+y’(xz+yx’)’ = xyz+x’y+y’(xz’+y’x’)’ = xyz+x’+xy’z’ = x’+x(y=z) = x’+(y=z), что не соответствует исходной М.

Для логического вычитания Брусенцовым Н.П. построена частичная функция [3, с.37] : y = x’z+ix. В рекурсивном виде y = x’z+yx. Найдём полную единицу системы

M = (y = x’z+yx) = x’yz+xy+y’(x’z+yx)’ = x’yz+xy+y’(x’z’+y’x) = x’yz+xy+xy’ = x’yz+x, что не соответствует исходной М.

Как мы убедились, однозначными и строгими решениями являются лишь уравнения комплементарной логики. Следовательно, в принципе не может быть правильным решение логического уравнения в троичной логике.

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]