Суждения в силлогистике.

SoP

SaP

               
       


SiP

               
       


 

 

                       
           


SeP

 

 

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

Для двух суждений число вариантов моделей – 28; для трех – 28*14и так далее.

В любом случае существуют два варианта проверки вывода на правильность:

1. интерпретация на моделях;

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

Например, в силлогистике известны свойства, которым должен удовлетворять правильный вывод на двух посылках (на двух посылках 256 вариантов выводов). Эти выводы систематизированы по четырем группам. Для каждой группы (из 64 вариантов) только часть (около ⅓) правильны.

 

В силлогистике известно все о возможных выводах, их успешности или нет, для описания двух, трех и более числа классов.

Начнем с двух классов. Такому случаю соответствуют одно категорическое высказывание, типов A, E, I, O.

Существует мнемоническое представление всех вариантов отношений между двумя классами.

A противоположность E

п п

 
о о

д д

ч ч

и и

н н

е е

н н

и и

е е

I частичная O

совместимость

По двум сторонам подчинения справедливы выводы, А → I, E → O, а наоборот неправильно. По логическому квадрату легко просматриваются и другие выводы. Например, из

А → Е и другие.

Легко построить все возможные выводы по логическому квадрату. Интегральным представлением всех таких выводов является таблица:

A E I O
И Л И Л
Л Л И И
Л И Л И

 

Легко заметить по таблице, что противоположные углы квадрата не могут быть одновременно истинными. Диагоналям соответствует отношение «контрарность». По таблице видно, что I и O могут быть одновременно истинными, говорят, что они частично совместимые.

Квадрат построен для интерпретации слова «некоторые», в том числе и «все».

В обыденном языке более распространена интерпретация «некоторые, но не все». Для такой интерпретации квадрат переходит в треугольник, у него сжимаются I и O. Для такого случая меняется и таблица.

A E I O
И Л Л Л
Л И Л И
Л Л И И

 

А Е

 

 

I O

Перейдем к случаю трех классов.

Начнем с варианта представления на первом рисунке.

1. M S

 


P M

S P

Схема называется «фигурой силлогизма». Перевернутая «Z» включает две посылки. Первая посылка с именами классов M и S, а вторая – с именами P и M. То имя, которое повторяется, называется средним термином. «S» - большим термином, «Р» - меньшим термином. Из таких двух посылок в зависимости от их типа A, E, I или O возможны успешные или ложные выводы, содержащие S и P. Правильных выводов всего 4 при типах посылок и вывода следующих версий: AAA

EAE

AII

EIO.

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

2. S M EAE

AEE

EIO

P M AOO

 

S P

 

3. M S AAI

IAI

M P AII

EAO

S P OAO

EIO

4. S M AAI

AEE

M P IAI

EAO

S P EIO

 

Перейдем к третьему случаю – много классов, в частности и 3, но когда одна посылка пропущена. Это два варианта: а и b. Пропущенная посылка показана штрихами. Если пропущенную посылку восстановить удалось, то энтимема была правильной (практика). Случаи со многими посылками называют полисиллогизмами.

Энтимема

a) x y b) x y

y z y z

……. ……..

y z y z

Полисиллогизмы

a) x y п b) энтимема 1

y z о

z s с энтимема 2

……. ы …….

v w л

к

x w и заключение

Количество посылок имеет аналоги с числом уравнений в системе уравнений.

Второй случай с энтимемами.

 

 

Тема: «Логика предикатов».

В логике предикатов производится «заглядывание» внутрь предложений и в зависимости от значения слов и связок предложений определяется связь с истинностью, то есть с соответствием предложения действительности. Логику предикатов интересует не все внутри предложения, а только то, что согласовано с истинностью. Причем в вариантах ответа «да» или «нет». Рассмотрим логику предикатов, начиная с простых предложений.

а) [подлежащее сказуемое] → свойство, признак

(указывает на нечто (говорит о

определенное, свойстве, признаке

существующее) подлежащего)

 
 


перевод

[сказуемое (подлежащее)]

(предикат)

В скобках названы предметные единицы, либо через имена собственные (предметные константы), либо через имена классов (предметные переменные).

Логика предикатов – это логика классов. В этом плане она родственница силлогистике.

б) [подлежащее сказуемое дополнение]

 
 


перевод

[сказуемое (подлежащее, дополнение)]

объекты

отношение

Логика предикатов «видит» в предложении имена свойств и отношений, имена объектов и классов. Как и в силлогистике для «всех» и «некоторых», а также логические операции и связки. Категории высказывания переводимы на язык логики предикатов. В переводах используются специальные символы: для всех () и существует ().

SaP: х (S(x) → P(x))

SiP: x (S(x) & P(x))

В логике предикатов различают несколько порядков: первый и второй. Первый порядок означает, что сказуемое является константой, то есть на месте сказуемого не могут стоять имена классов.

Рассмотрим перевод конкретного текста на язык первого порядка.

Сидоров и Петров друзья.

Они всегда вместе. Для всех x {в (Сидоров, х) & в (Петров, х)}

Сидоров в институте. В (Сидоров, институт)

Где Петров? Существует х в (Петров, х)

Предметные единицы: const: Сидоров, Петров, институт;

классы: друзья, они.

Предикаты: находиться в (персона, место);

В (персона, место).

Теперь мы готовы к переводу текста на естественном языке на язык предикатов.

ТП
ТЕЯ

 

 

Подобные переводы человек производит постоянно и очень хорошо, неявно мы пользуемся логикой предикатов, даже в тех случаях когда высказывания категорические. Логика предикатов особенно полезна при решении задач. Существует специальный язык программирования Пролог (программирование логическое). Этот язык позволяет строить специфические программы. Достаточно на языке Пролог описать постановку задачи. После этого всю работу по решению берет на себя интерпретатор с Прологом. Говорят, что используется описательное программирование (декларативное программирование).

Логику предикатов первого порядка вводят как теорию с языками логики предикатов. Часто используется следующие стандарты (с привязкой к отношениям между числами):

1) предметные константы (имена объектов): a, b, 34, -45, …

2) предметные переменные (имена классов): x, y, z, …

3) функции (преобразования объектов): x2, a+y, …

4) предикатные константы: P, Q, больше, меньше, равно; Р1, Р2, Р3.

5) логические знаки и кванторы: &, …

6) атомы (литералы): больше (х, 5), not (равно(х, х));

7) предложения: аксиомы - Р1 | Р2 | Р3 |, Р1 → ~ Р2, Р1 → ~ Р3, Р2 → ~ Р3

формулы - x y {Р1 (x, y) & Р3 (x, y) → Р2 (x, y)}

Язык предикатов первого порядка широко применяют в программировании логических выводов. Для этой цели ввод в компьютер стандартизуют, чтобы программировать было проще. Принято производить следующую подготовку для ввода:

1. исключенные импликации

x → y ≡ x v y

2. ограничение отрицаний

x v y ≡ x Λ y

x Λ y ≡ x v y

3. разделение переменных

«для всех» x P(x) & «существует» x Q(x) ≡ «для всех» x P(x) & «существует» y Q(y)

4. исключение кванторов «существует»

«для всех» x «существует» y Q(x, y) → «для всех» x Q(x, f(x))

5. преобразовать в предваренную

«для всех» x «для всех» y … «для всех» x {Q(x) & P(y) & … & R(x)}

6. преобразовать в конъюнктивную форму (расставить точки)

7. исключить кванторы «для всех» x «для всех» y … «для всех» z

8. исключить символы &

9. переименовать переменные

Пример преобразований:

C1: Р1 v Р2 v Р3

C2: Р1 → Р2

C3: Р1 → Р3

C4: Р2 → Р3

T: Р3 → Р1

Подготовка:

C1: Р1 v Р2 v Р3

C2: Р1 v Р2

C3: Р1 v Р3

C4: Р2 v Р3

T: Р3 v Р1 ≡ Р3 & Р1

 

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

Р1 Р1

       
 
   
 


Р2 Р2 Р2 Р2

       
   


Р3 Р3 Р3 Р3 Р3 Р3 Р3 Р3

 

ВАРИАНТЫ МОДЕЛЕЙ

 

Рассмотрим предыдущую теорему на фоне семантического дерева:

 

C1: Р1 v Р2 v Р3

C2: Р1 v Р2

C3: Р1 v Р3

C4: Р2 v Р3

C5: Р3

C6: Р1

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

 

Р1Р2 Р3 C2, C3, C4

Р1Р2 Р3 C2, C5

Р1 Р2 Р3 C3

Р1 Р2 Р3 C5

Р1Р2 Р3 C4, C6

Р1Р2 Р3 C5, C6

Р1 Р2 Р3 C6

Р1 Р2 Р3 C1, C5, C6

Рассмотрим первую подстановку моделей Р1Р2 Р3 , то есть все значения истинны. Первое предложение C1 при таких значениях истинно, второе дает значение «ложь». Сколько бы потом ни было предложений, так как все они связаны «и» весь текст - «ложь». Хотя при такой подстановки ложны еще два предложения C3 и C4, но нам хватит C2, чтобы сказать, что на такой модели текст равен лжи.

Р1 Р2 Р3 - Р1 – истинно, Р2 – истинно, Р3 – истинно.

Для того чтобы такое выполнялось в принципе нужно искать числа: x и y. Вдруг они есть? В рассмотренном примере таких чисел нет. Но если бы они были, все равно бы C2 превратилось в ложь и весь текст тоже ложь. Проще разобрать 8 вариантов моделей, чем отбирать модели, разделяя их на соответствующие реальности и несоответствующие.

Если в предыдущем примере чуть-чуть подумать, то ложность теории можно доказать на более простом семантическом дереве:

 

Р1 Р1

Р3 Р3 Р3 Р3

               
       


Р1 x Р3 Р1 x Р3 Р1 x Р3 Р1 x Р3

 

Для упрощения модели семантического дерева доказательство можно провести на базе значений только предикатов Р1 и Р3.

 
 


C1: Р1 v Р2 v Р3 Р1 Р3 C3

C2: Р1 v Р2 Р1 Р3 C5

C3: Р1 v Р3 Р1 Р3 C5

C4: Р2 v Р3 Р1 Р3 C5, C6

C5: Р3

C6: Р1

Р2 не влияет на результат вычислений.

 

В реальных практических задачах семантические деревья редко бывают простыми как в примере. В общем случае они бесконечны.

Каждой ветви такого дерева соответствуют модель. Для бесконечного дерева ветвь уходит в бесконечность. Правомерно ожидать, что даже для бесконечной ветви ложность предложения будет обнаружена на конечном значении атомов.

Доказано, что если теорема прикладной логики предикатов истинна, то это можно доказать на конечном дереве.

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

nil

 

В этом случае шаг за шагом произойдет переход к дереву, состоящему из одной вершины. Такое происходит при выводах из множества исследуемых предложений по правилам резолюций новых предложений.

Правило резолюции имеет следующий вид:

F1(…) v P(…),F2(…) v P(…) → F1(…) v F2(…)

где F1 и F2 – формулы, Р – литерал (простой предикат).

Пример.

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

Для всех x {в (Сидоров, x) → в (Петров, x)}

В (Сидоров, институт)

Существует x в (Петров, х)

 
 

 


После нормативных преобразований получим:

В (Сидоров, х) v в (Петров, х)

В (Сидоров, институт)

В (Петров, х)

 

Граф опровержение

В (Сидоров, х) v в (Петров, х) в (Петров, х)

           
     
 
 

 


В (Сидоров, х) в (Сидоров, институт)

       
   

 


 

nil

Построенная конструкция получила название «граф опровержение». Факт опровержения устанавливает вывод пустого семантического дерева nil. Опровержение производится по парным применением резолюций. В процессе вывода при необходимости используются подстановки: вместо переменных других переменных или констант. В примере вместо «х» была произведена подстановка константы «институт». Такие подстановки получили название унификаций.

Граф опровержение легко приспособить для вывода ответа на вопрос с задачей. Для такого вывода применяют следующий прием. Теорему дополняют ее отрицанием.

Вывод ответа.

В (Сидоров, х) v в (Петров, х) в (Петров, х) v в (Петров, х)

           
     
 

 


В (Сидоров, х) v в (Петров, х) в (Сидоров, институт)

 
 

 


В (Петров, институт)

Пример

«Нет столь великой вещи, которую не превзошла бы величиной еще большая. Нет вещи столь малой, в которую не поместилась бы меньшая» Козьма Прутков.

 

Вещи: …, х, …, y, …, v, …, w, …

 

Меньше Больше

Где х – подкласс, меньше – отношение.

{для всех v существует w больше (w, v)}& {для всех y существует х меньше (x, y)}

(на первом месте стоит большее)

Пример

a) Р

На столе лежат 3 кубика: А, В и С. Роботу (Р) дано

Задание переставить их так, чтобы они были

С
расположены по алфавиту друг на дружке.

ontable (A),

В
А
ontable (B),

on (C, A),

clear (B),

clear (C),

handempty.

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

Р ontable (A),

C
on (C, B),

on (B, A),

B
clear (C),

handempty.

 
 
A


 

Для того чтобы выполнить такую задачу робот должен уметь при подходящих условиях выполнять следующие команды:

Pickup (x) – взять;

Putdown (x) – положить;

Stack (x, y) – положить;

Unstack (x, y) – взять.

Перейдем к основным действиям робота.

Начнем с команды «взять со стола» - pickup. У этой команды, как и у любого действия, есть условия, в которых она потенциально применима. Такие условия называют предусловиями. Если условия положительны, команда используется и приведет к изменениям. Что-то из описания вычеркивается, что-то добавится. Все это можно зафиксировать формулами. Для команды pickup, они принимают вид:

Предусловия:

- ontable (x) & handempty & clear (x)

Список вычеркивания:

- ontable (x), handempty, clear (x)

Формула добавления:

- holding (x).

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

Формула добавлений – что должно быть включено в описания вместо вычеркнутого.

 

Подобным образом определяются и другие команды.

Putdown (x):

P & D: holding (x)

A: ontable (x), handempty, clear (x).

 

Stack (x):

P & D: holding (x), clear (y)

A: handempty, on (x, y), clear (x).

 

Unstack (x, y):

P & D: handempty, on (x, y), clear (x)

A: holding (x), clear (y).