Логичным является тот вывод что. Фундаментальные исследования. Получение следствий из данных посылок

Логический вывод в Прологе

Логика предикатов и понятие логического вывода были разработаны в первой половине нашего века, но только в конце 60-х были поняты огромные возможности логического вывода для построения непроцедурных алгоритмов, тогда же и были разработаны методы резолюции, алгоритм унификации, и в конце концов язык логического программирования ПРОЛОГ. Основной вклад в логическое программирование был сделан Аланом Робинсоном (Alan Robinson), Алайном Колмерауером (Alain Colmeraurer) и Робертом Ковальски (Robert Kowalski), причем он был сделан сравнительно недавно. В этом языке исходное множество формул, для которого ищется пустая резольвента, представляется в виде так называемых “дизъюнктов Хорна ”. Хорновские дизъюнкты - это формулы одного из трех типов:

отрицание: Ø(В1,...,Вn)

импликация (правило): АÜ(В1,...,Вm),

где А, В 1 , ... - литеры - атомные высказывания или предикаты с отрицаниями или без них в нормальной предваренной форме только с (подразумеваемыми) кванторами всеобщности для всех переменных. Как мы видели из предыдущих разделов, любую логическую формулу можно привести к такому виду. Факты можно рассматривать как импликации, не имеющие посылок (антецедентов). Отрицания - как импликации, не имеющие следствий (консеквентов). Поэтому все дизъюнкты Хорна - это формулы вида АÜ(В 1 ,...,В m), которые просто являются другой записью импликации В 1 &...&В m ÞА, и знак Ü здесь может читаться как "при условии, что ". Все эти формулы представляются в виде дизъюнктов: ØВ 1 Ú...ÚØВ m ÚА, или просто множеством литер {А,ØВ 1 ,...,ØВ m }, поскольку знак дизъюнкции подразумевается. Именно к этим дизъюнктам и применяются последовательные шаги метода резолюции.

Таким образом, все задачи логического вывода можно формулировать, пользуясь только дизъюнктами Хорна, и все те задачи, которые являются в принципе разрешимыми, можно решить с помощью метода резолюции. Рассмотрим несколько примеров из .

Пусть в нотации, близкой языку ПРОЛОГ, записана программа:

Программа_1::

1: птица(Х) Ü откладывает_яйца(Х), имеет_крылья(Х)

2: рептилия(Х) Ü откладывает_яйца(Х), имеет_чешую(Х)

3: откладывает_яйца(ворона )

4: откладывает_яйца(питон )

5: имеет_чешую(питон )

6: имеет_крылья(ворона )

7:?птица(ворона )

В первой строке стоит правило, которое можно понять так: любое животное является птицей при условии, что оно откладывает яйца и имеет крылья . Очевидно, что это просто предикат в предваренной нормальной форме с опущенным квантором всеобщности (потому здусь и следует читать: любое животное ). Этот предикат задан здесь одним дизъюнктом (птица(Х), Øотладывает_яйца(Х), Øимеет_крылья(Х)), где атомные предикаты дизъюнкта просто перечисляются через запятую вместо того, чтобы перечисляться через знак дизъюнкции. Вторая строка - это правило, аналогично определяющее класс рептилий. Третья строка - “откладывает_яйца(ворона )” - это, факт, который мы считаем истинным. Часто подобные факты присоединяются к программе из базы данных. Последняя строка - это утверждение-вопрос, истинность которого процессор языка ПРОЛОГ пытается проверить с помощью метода резолюции, пользуясь фактами и правилами.

Стратегии

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

Выполнение программы на ПРОЛОГЕ следует другой стратегии: отрицание вопроса программы принимается за цель. Далее вычисляются резольвенты, порождаемые целью и каким-либо правилом или фактом , которые просматриваются последовательно сверху вниз. Если резольвента существует при наиболее общей унификации, она вычисляется. Если пустая резольвента с помощью такой стратегии не найдена, то ответ на вопрос отрицателен. В нашем примере резольвентой утверждений: Øптица(ворона ) и птица(Х)Üоткладывает_яйца(Х),имеет_крылья(Х) является дизъюнкт, включающий отрицания двух утверждений: отладывает_яйца(Х) и имеет_крылья(Х). Эта пара становится новой целью, для которой снова ищется резольвента. Очевидно, что если в процессе вычислений найдена пустая резольвента, ответ на заданный вопрос утвердительный. Результатом программы на ПРЛОГЕ являются также и значения переменных, конкретизированные алгоритмом унификации в процессе вычислений - т.е. те значения параметров. при которых справедливо заключение. В примерах далее будем использовать прописные буквы для обозначения переменных, а строчные буквы - для имен конкретных объектов универсума.

Рассмотрим вычисление Программы 1:

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

Рассмотрим вычисление этой же программы с другой целью: 7:?птица(Х ), что означает "Существует ли (произвольная ) птица ?". Пользователя обычно интересует не только сам факт успешного вычисления программы, но и конкретное значение переменной Х, при котором это возможно:

Заметим, что здесь цель вычисления была достигнута при нахождении единственного примера, который ему удовлетворяет. В общем случае может быть необходимо найти все такие конкретизации, удовлетворяющие цели, т.е. процессор Пролога должен пытаться найти все возможные резольвенты-продолжения. Рассмотрим следующий пример.

Программа_2::

1: Grandparent(X,Y) Ü Parent(X,Z), Parent(Z,Y)

2: Parent(elizabeth, charles)

3: Parent(charles, william)

4: Parent(charles, henry)

5-а: ?Grandparent(elizabeth, henry);

5-b: ?Grandparent(elizabeth, V);

5-c: ?Grandparent(U, henry);

5-d: ?Grandparent(U, V).

Рассмотрим все возможные вычисления программы 2 при цели 5-d:

В качестве последнего примера из рассмотрим логическую программу сортировки списка. Будем считать, что если у списка L выделены начальный элемент (голова) H и весь остальной список Т (хвост), то список L будем записывать как L=H:T.

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

1. Sort(H:T,S)ÜSort(T,L),Insert(H,L,S)

Смысл этого утверждения следующий: "список S является результатом сортировки списка H:T, если L является результатом сортировки списка T и S есть результат вставки элемента H в подходящее место списка L ". Это определение справедливо для всех списков, кроме пустых; этот частный случай можно учесть указанием конкретного факта: пустой список уже отсортирован:

Теперь мы должны определить, что означает операция Insert(Х,L,S)вставки элемента Х в отсортированный список L с получением отсортированного списка S. В случае, если этот элемент Х предшествует первому элементу списка L, то список S строится добавлением Х в качестве новой головы L:

Это утверждение имеет следующий смысл: "Если элемент X предшествует по порядку элементу Н, то результатом вставки X в отсортированный список H:T является отсортированный список X:H:T" .

Если элемент H предшествует элементу X в списке H:T, то этот случай можно описать так:

что можно интерпретировать так: "Результатом вставки X в отсортированный список H:T является список H:T1, если H предшествует X и T1 является отсортированным списком, получаемым после вставки X в отсортированный список T".

Кроме того, следует определить вставку элемента в пустой список:

5. Insert(X,,[X]).

Таким образом, полная программа сортировки списка имеет пять операторов - утверждений:

Программа_3::

1. Sort(H:T,S) Ü Sort(T,L), Insert(H,L,S)

3. Insert(X,H:T,X:H:T) Ü Precedes(X,H)

4. Insert(X,H:T,H:T1) Ü Precedes(X,H), Insert(X,T,T1)

5. Insert(X,,[X]).

Эту программу мы можем использовать многими различными способами, задавая различные цели. Например, "?Sort(, )". При этой цели вычисление проверит, действительно ли список является отсортированной версией списка . При цели: "?Sort(, S)" вычислитель Пролога поместит в переменную S отсортированный список . При цели: "?Sort(S, )" в переменную типа список S будут подставляться все перестановки элементов отсортированного списка .

1

В работе приводится формальное описание задачи прогнозирования как задачи дедуктивного вывода, даётся содержательная постановка задачи логического вывода следствий и предлагается новый метод с построением схемы логического вывода. Применение метода иллюстрируется на примерах с использованием исчисления высказываний. Прогнозирование различных событий, происходящих в реальности, играет очень важную роль во всех сферах человеческой деятельности. Данный процесс особенно актуален в наши дни, так как развитие экономики, науки и техники, управления производством требуют очень продуманных решений. Ошибки могут стоить больших затрат ресурсов и времени. Прогнозирование представляет собой процесс разработки прогнозов – научно-обоснованных суждений о возможных состояниях объекта в будущем, об альтернативных путях и сроках его существования. Многообразие видов прогнозов предполагает использование различных методов для их разработки. Математические методы параметрического программирования обычно применяются в случае, когда ни функция, ни структура объекта не изменяются во времени. В последние годы особый интерес вызывают методы логического прогнозирования. Подобные методы используются для анализа объектов, развитие которых либо полностью, либо частично не поддается предметному описанию или математической формализации. Также методы логического прогнозирования эффективны, когда либо время или средства, выделяемые на прогнозирование и принятие решений, не позволяют исследовать проблему с применением математических моделей, либо отсутствуют необходимые технические средства моделирования, например, вычислительная техника с соответствующими характеристиками. В отличие от методов прогнозирования, основанных на регрессионном анализе или на анализе временных рядов, методика прогнозирования на основе логического вывода требует меньших объемов статистической информации при выполнении условий на способ представления этой информации.

логическое прогнозирование

дедуктивный логический вывод

исчисление высказываний

схема вывода

1. Люгер Дж.Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. – 4-е изд. – М.: Издательский дом «Вильямс», 2003. – 864 с.

2. Матвеев М.Г., Свиридов А.С., Алейникова Н.А.. Модели и методы искусственного интеллекта: применение в экономике. – М.: ИНФРА-М, 2008. – 397 с.

3. Страбыкин Д.А. Логический вывод в системах обработки знаний. – СПб.: СПбГЭТУ, 1998. – 164 с.

4. Страбыкин Д.А., Томчук М.Н. Метод логического вывода модифицируемых заключений. // Известия РАН. Теория и системы управления. – 2008. – № 2. – С. 276–282.

5. Russel S., Norvig P. Artificial Intelligence: a modern approach. Third edition. New Jersey, Prentice Hall, 2010. 784 p.

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

Постановка задачи

Задачу логического вывода следствий с построением схемы вывода можно сформулировать следующим образом. Имеются исходные непротиворечивые посылки, заданные в виде множества дизъюнктов M^ = {D1, D2, …, DI}. При этом каждый дизъюнкт содержит один литерал без инверсии. Множество M^ включает подмножество однолитеральных дизъюнктов MF - фактов. Также имеется множество новых фактов mF = {L1, L2,…, Lp,…, LP}. Схема вывода описывается множеством литералов с параметрами: S = {L(j, k); L ∈ A, j, k ∈ N}, где L - литерал из множества A различных литералов, используемых в посылках; N - номер посылки (дизъюнкта); j - номер посылки, из вершины которой на схеме выходит, а k - номер посылки, в вершину которой входит дуга, помеченная литералом L. Параметр j называется левым, а k - правым номером литерала L.

Тогда задачу вывода логических следствий (литералов без инверсий) можно сформулировать так:

1) определить множество следствий MS и семейство множеств следствий S = {s0, s1, …, sh, …, sH}, в котором множество следствий sh содержит следствия, выводимые с помощью множества посылок Mh (Mh ⊆ M^) из множества следствий sh-1: sh-1, Mh ⇒ sh и s0 = MF ∩ mF;

2) сформировать описание O схемы логического вывода, по которому может быть построена схема вывода следствий, в виде семейства множеств O = {g1, g2, …, gh, …, gH}, где gh - множество литералов, полученных при формировании описания схемы на h-м шаге вывода;

3) определить подмножество конечных следствий s+ ⊆ MS, из которых не могут быть выведены новые следствия.

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

Метод вывода следствий основан на вышеуказанной процедуре и состоит из ряда шагов, на каждом из которых выполняется процедура вывода V″. Причем результаты выполнения процедуры i-го шага становятся исходными данными для процедуры i + 1-го шага. Процесс заканчивается в случае, если дальнейший вывод следствий невозможен (получено значение признака p = 1).

Обозначим через h номер шага вывода, а через P - общий признак продолжения вывода (P = 0 - продолжение вывода возможно, P = 1 - продолжение вывода не возможно). Тогда описание метода может быть представлено в следующем виде.

1. Определение начальных значений: h = 1, M^ ≠ ∅, mF ≠ ∅, M1 = M^-MF (исключение из исходного множества дизъюнктов однолитеральных дизъюнктов - фактов). Формируется выводимый дизъюнкт R1, состоящий из литералов множества mF, и вспомогательный дизъюнкт r, состоящий из литералов фактов исходных посылок MF. Определяется множество следствий s0, совпадающих с фактами MF, имеющимися в исходных посылках: s0 = MF ∩ mF, S0 = {s0}. Устанавливается начальное значение общего признака продолжения вывода P0 = 0 и семейства множеств частных, описывающих схему вывода следствий G0 = ∅.

2. Выполнение h-й процедуры вывода.

V″h = .

3. Формирование семейств множеств следствий и множеств частных и проверка признаков. Формируется семейство множеств следствий Sh = Sh - 1 ∪ {sh} и семейство множеств частных Gh = Gh - 1 ∪ {gh}. Вычисляется значение общего признака продолжения вывода Ph = Ph - 1∨ph. Если Ph = 0, то вывод продолжается: h увеличивается на единицу и производится переход к п. 2, иначе вывод завершается.

Полученные следствия содержатся в семействе множеств S = Sh, а общее множество следствий образуется путем объединения множеств семейства Sh: MS = s0 ∪ s1 ∪ s2 ∪ … ∪ sh.

Описание схемы вывода следствий представляет собой семейство множеств частных O = Gh. Это множество состоит из множеств частных, содержащих литералы с параметрами. Литералом помечается дуга схемы, причем первый параметр литерала представляет собой вершину схемы, из которой выходит, а второй - вершину, в которую входит дуга. Таким образом, множество литералов Gh однозначно определяет схему логического вывода. Построение схемы осуществляется в соответствии с шагами логического вывода: в начале на схему наносятся вершины и дуги, описываемые во множестве литералов G1, затем к ним добавляются связи и вершины, описываемые во множестве литералов G2, и т.д.

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

где Mg = g1 ∪ g2 ∪ … ∪ gh, а особенностью операции специального объединения множеств литералов является поглощение литерала L(j, +) ∈ MS литералом L(j, k) ∈ Mg.

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

Применение метода вывода следствий рассмотрим на следующем примере. Пусть исходные посылки заданы множеством секвенций:

Необходимо определить, какие следствия можно вывести из фактов mF = {A, B, M}.

Представим посылки в виде дизъюнктов:

D1 = A(+ ,1)∨B(+ ,1)∨C(1, +);

D3 = C(+ ,3)∨D(+ ,3)∨E(3, +);

D4 = E(+ ,4)∨V(+ ,4)∨L(4, +);

D6 = L(+ ,6)∨R(6, +);

D7 = M(+ ,7)∨P(+ ,7)∨N(7, +);

D9 = R(+ ,9)∨U(9, +);

D10 = N(+ ,10)∨V(10, +);

D11 = S(+ ,11)∨R(+ ,11)∨X(11, +);

D12 = X(+ ,12)∨Z(12, +).

Представим в виде дизъюнктов факты, из которых требуется определить следствия:

D13 = A(13, +); D14 = B(14, +);

Определение начальных значений: h = 1, M^ = {D1, D2, D3, D4, D5, D7, D8, D9, D10, D11, D12}, mF = {D13, D14, D15}, M1 = M^-MF = {D1, D3, D4, D7, D9, D10, D11, D12}. Формирование выводимого дизъюнкта R1 = A(13, +)∨B(14, +)∨M(15, +), состоящего из литералов множества mF, и вспомогательного дизъюнкта r = D(2, +)∨P(5, +)∨S(8, +), составленного из литералов фактов исходных посылок MF. Определение множества следствий s0, совпадающих с фактами MF, имеющимися в исходных посылках: s0 = MF ∩ mF = ∅, S0 = {s0} = ∅. Формирование начального значения общего признака решений Q0 = 1, так как s0 = ∅. Установка начального значения общего признака продолжения вывода P0 = 0 и семейства множеств частных, описывающих схему вывода следствий G0 = ∅.

Выполнение процедуры вывода V″1 = .

1. Производится обобщенное деление дизъюнктов исходных посылок на дизъюнкт R1: Di %R1 = < ai, bi > , i = 1, ..., 12. При этом b1 = C(1, +), b7 = P(+ ,7)∨N(7, +), остальные остатки равны единице. Образуется начальное множество частных: g1* = a1∪a7, где a1 = {A(13,1),B(14,1)}, a7 = {M(15,7)}. Анализируются остатки bi, i = 1, ..., 12. Так как есть остатки, отличные от единицы, то выполняется следующий пункт.

2. Проверяется наличие фактов. Полученные ранее остатки делятся на вспомогательный дизъюнкт r: b1 %r = , b7 %r = . В результате получается: a′1 = ∅, b′1 = 1, B1 = b′1 и a′7 = {P(5,7)}, b′7 = N(7, +), B7 = b′. Корректируется множество частных: g1 = g1*∪a′1∪a′7 = {A(13,1), B(14,1), M(15,7), P(5,7)}, и выполняется следующий пункт.

3. Формируется множество следствий s1. В это множество включаются литералы остатков B1 и B7: s1 = {C(1, +), N(7, +)}.

4. Формируется новое множество исходных секвенций

M2 = M1 ‒ M0 = {D3, D4, D6, D9, D10, D11, D12},

где M0 = {D1, D7} - подмножество дизъюнктов множества M1, для которых были получены остатки, представляющие собой литерал без инверсии.

5. Формируется новый выводимый дизъюнкт R2 = C(1, +)∨N(7, +) как дизъюнкция литералов множества следствий s1.

6. Устанавливается значение признака p1. Поскольку получено непустое множество s1, то p1 = 0 (возможно продолжение вывода).

Формирование семейств множеств следствий и множеств частных и проверка признаков. Формируется семейство множеств следствий

S1 = S0∪{s1} = {{C(1, +),N(7, +)}}

и семейство множеств частных G1 = G0 ∪ {g1} = {{A(13, 1), B(14, 1), M(15, 7), P(5, 7)}}. Вычисляется значение общего признака продолжения вывода P1 = P0∨p1 = 0. Поскольку P1 = 0, то вывод продолжается: h увеличивается на единицу и производится переход к следующему шагу.

Выполнение процедуры вывода V″2 = .

1. Производится обобщенное деление дизъюнктов посылок множества M2 на дизъюнкт R2. При этом a3 = {C(1,3)}, b3 = D(+ ,3)∨E(3, +), a10 = {N(7,10)}, b10 = V(10, +), остальные остатки равны единице. Образуется начальное множество частных: g2* = a3 ∪ a10 = {C(1, 3), N(7, 10)}. Так как есть остатки, отличные от единицы, то выполняется следующий пункт.

2. Проверяется наличие фактов. Полученные ранее остатки делятся на вспомогательный дизъюнкт r: b3 %r = , b10 %r = . В результате получается: a′3 = {D(2, 3)}, b′3 = E(3, +), B3 = b′3 и a′10 = ∅, b′10 = 1; B10 = b10. Корректируется множество частных: g2 = g2* ∪ a′3 ∪ a′10 = {C(1, 3), N(7, 10), D(2, 3)}, и выполняется следующий пункт.

3. Формируется множество следствий s2. В это множество включаются литералы остатков B3 и B10: s2 = {E(3, +),V(10, +)}.

4. Формируется новое множество исходных секвенций M3 = M2 - M0 = {D4, D6, D9, D11, D12}, где M0 = {D3, D10} - подмножество дизъюнктов множества M2, для которых были получены остатки, представляющие собой литерал без инверсии.

5. Формируется новый выводимый дизъюнкт R3 = E(3, +)∨V(10, +) как дизъюнкция литералов множества следствий s2.

6. Устанавливается значение признака p2. Поскольку получено непустое множество s2, то p2 = 0 (возможно продолжение вывода).

Формирование семейств множеств следствий и множеств частных и проверка признаков. Формируется семейство множеств следствий: S2 = S1 ∪ {s2} = {s1, s2} и семейство множеств частных: G2 = G1 ∪ {g2} = {g1, g2} = {{A(13, 1), B(14, 1), M(15, 7), P(5, 7)}, {C(1, 3), N(7, 10), D(2, 3)}}. Вычисляется значение общего признака продолжения вывода P2 = P1∨p2 = 0. Поскольку P2 = 0, то вывод продолжается: h увеличивается на единицу и производится переход к следующему шагу.

Выполнение процедуры вывода V″3 = .

1. Производится обобщенное деление дизъюнктов посылок множества M3 на дизъюнкт R3. При этом a4 = {E(3, 4), V(10, 4)}, b4 = L(4, +), остальные остатки равны единице. Образуется начальное множество частных: g3* = a4. Так как есть остатки, отличные от единицы, то выполняется следующий пункт.

2. Проверяется наличие фактов. Полученный ранее остаток делится на вспомогательный дизъюнкт r: b4 %r = < a′4, b′4 > . В результате получается: a′4 = ∅, b′4 = 1; B4 = b4. Принимается g3 = g3* = {E(3, 4), V(10, 4)} и выполняется следующий пункт.

3. Формируется множество следствий s3. В это множество включаются литерал остатка B4: s3 = {L(4, +)}.

4. Формируется новое множество исходных секвенций M4 = M3 - M0 = {D6, D9, D11, D12}, где M0 = {D4} - подмножество дизъюнктов множества M3, для которых были получены остатки, представляющие собой литерал без инверсии.

5. Формируется новый выводимый дизъюнкт R4 = L(4, +) как дизъюнкция литералов множества следствий s3.

6. Устанавливается значение признака p3. Поскольку получено непустое множество s3, то p3 = 0 (возможно продолжение вывода).

Формирование семейств множеств следствий и множеств частных и проверка признаков. Формируется семейство множеств следствий: S3 = S2 ∪ {s3} = {s1, s2, s3} и семейство множеств частных: G3 = G2 ∪ {g3} = {g1, g2, g3}. Вычисляется значение общего признака продолжения вывода P3 = P2∨p3 = 0. Поскольку P3 = 0, то вывод продолжается: h увеличивается на единицу и производится переход к следующему шагу.

Выполнение процедуры вывода V″4 = .

1. Производится обобщенное деление дизъюнктов посылок множества M4 на дизъюнкт R4. При этом a6 = {L(4,6)}, b6 = R(6, +), остальные остатки равны единице. Образуется начальное множество частных: g4* = a6. Так как есть остатки, отличные от единицы, то выполняется следующий пункт.

2. Проверяется наличие фактов. Полученный ранее остаток делится на вспомогательный дизъюнкт r: b6 %r = < a′6, b′6 > . В результате получается: a′6 = ∅, b′6 = 1; B6 = b6. Принимается g4 = g4* = {L(4, 6)} и выполняется следующий пункт.

3. Формируется множество следствий s4. В это множество включаются литерал остатка B6: s4 = {R(6, +)}.

4) Формируется новое множество исходных секвенций M5 = M4 - M0 = {D9, D11, D12}, где M0 = {D6} - подмножество дизъюнктов множества M4, для которых были получены остатки, представляющие собой литерал без инверсии.

5. Формируется новый выводимый дизъюнкт R5 = R(6, +), как дизъюнкция литералов множества следствий s4.

6. Устанавливается значение признака p4. Поскольку получено непустое множество s4, то p4 = 0 (возможно продолжение вывода).

Формирование семейств множеств следствий и множеств частных и проверка признаков. Формируется семейство множеств следствий: S4 = S3 ∪ {s4} = {s1, s2, s3, s4} и семейство множеств частных: G4 = G3 ∪ {g4} = {g1, g2, g3, g4}. Вычисляется значение общего признака продолжения вывода P4 = P3∨p4 = 0. Поскольку P4 = 0, то вывод продолжается: h увеличивается на единицу и производится переход к следующему шагу.

Выполнение процедуры вывода V″5 = .

1. Производится обобщенное деление дизъюнктов посылок множества M5 на дизъюнкт R5. При этом a9 = {R(6, 9)}, b9 = U(9, +), a11 = {R(6, 11)}, b11 = S(+ ,11)∨X(11, +), остальные остатки равны единице. Образуется начальное множество частных: g5* = a9 ∪ a11. Так как есть остатки, отличные от единицы, то выполняется следующий пункт.

2. Проверяется наличие фактов. Полученные ранее остатки делятся на вспомогательный дизъюнкт r: b9 %r = < a′9, b′9 >, b11 %r = < a′11, b′11 >. В результате получается: a′9 = ∅, b′9 = 1, B9 = b9; a′11 = {S(8, 11)}, b′11 = X(11, +), B11 = b′11. Принимается g5 = g5* ∪ a′9∪a′11 = = {R(6, 9), R(6, 11), S(8, 11)} и выполняется следующий пункт.

3. Формируется множество следствий s5. В это множество включаются литералы остатков B9, B11: s5 = {U(9, +),X(11, +)}.

4. Формируется новое множество исходных секвенций M6 = M5 - M0 = {D12}, где M0 = {D9, D11} - подмножество дизъюнктов множества M5, для которых были получены остатки, представляющие собой литерал без инверсии.

5. Формируется новый выводимый дизъюнкт R6 = U(9, +)∨X(11, +), как дизъюнкция литералов множества следствий s5.

6. Устанавливается значение признака p5. Поскольку получено непустое множество s5, то p5 = 0 (возможно продолжение вывода).

Формирование семейств множеств следствий и множеств частных и проверка признаков. Формируется семейство множеств следствий: S5 = S4 ∪ {s5} = {s1, s2, s3, s4, s5} и семейство множеств частных: G5 = G4∪{g5} = {g1, g2, g3, g4, g5}. Вычисляется значение общего признака продолжения вывода P5 = P4∨p5 = 0. Поскольку P5 = 0, то вывод продолжается: h увеличивается на единицу и производится переход к следующему шагу.

Выполнение процедуры вывода V″6 = .

1. Производится обобщенное деление дизъюнктов посылок множества M6 на дизъюнкт R6. При этом a12 = {X(11, 12)}, b12 = Z(12, +), остальные остатки равны единице. Образуется начальное множество частных: g6* = a12. Так как есть остатки, отличные от единицы, то выполняется следующий пункт.

2. Проверяется наличие фактов. Полученный ранее остаток делится на вспомогательный дизъюнкт r: b12 %r = < a′12, b′12 >. В результате получается: a′12 = ∅, b′12 = 1; B12 = b12. Принимается g6 = g6* = {X(11, 12)} и выполняется следующий пункт.

3. Формируется множество следствий s6. В это множество включаются литерал остатка B121: s6 = {Z(12, +)}.

4) Формируется новое множество исходных секвенций M7 = M6 - M0 = ∅, где M0 = {D12} - подмножество дизъюнктов множества M6, для которых были получены остатки, представляющие собой литерал без инверсии. Поскольку из множества M6 исключаются все дизъюнкты: M7 = ∅, то принимается q6 = 1, p6 = 1 - дальнейший вывод невозможен.

Формирование семейств множеств следствий и множеств частных и проверка признаков. Формируется семейство множеств следствий: S6 = S5 ∪ {s6} = {s1, s2, s3, s4, s5, s6} и семейство множеств частных: G6 = G5∪{g6} = {g1, g2, g3, g4, g5, g6}. Вычисляется значение общего признака продолжения вывода P6 = P5∨p6 = 1. Поскольку P6 = 1, то вывод завершается.

Полученные следствия содержатся в семействе множеств S = S6, а общее множество следствий образуется путем объединения множеств семейства S6: MS = {C(1, +), N(7, +), E(3, +), V(10, +), L(4, +), R(6, +),U(9, +), X(11, +), Z(12, +)}.

Описание схемы вывода следствий представляет собой семейство множеств частных O = G6. содержащих литералы с параметрами. Построение схемы осуществляется в соответствии с шагами логического вывода: в начале на схему наносятся вершины и дуги, описываемые во множестве литералов G1, затем к ним добавляются связи и вершины, описываемые во множестве литералов G2, и т.д. (см. рисунок).

Множество конечных следствий определяется на основе множеств MS и Mg = g1 ∪ … ∪ g6 = {A(13, 1), B(14, 1), M(15, 7), P(5, 7), C(1, 3), D(2, 3), N(7, 10), E(3, 4), V(10, 4), L(4, 6), R(6, 9), R(6, 11), S(8, 11), X(11, 12)} следующим образом: s + = = {U(9, +), Z(12, +)}.

Схема вывода следствий (обозначения фактов множества MF выделены курсивом)

Таким образом, результатом вывода является следующее семейство множеств следствий: S6 = {{C, N}, {E, V}, {L}, {R}, {U, X}, {Z}}. В процессе вывода получено 9 различных следствий: MS = {C, N, E, V, L, R, U, X, Z}. Следствия U и Z являются конечными, так как дальнейший вывод из них невозможен.

Процесс логического вывода в данном примере требует шесть шагов. Формируемые на каждом шаге выводимые дизъюнкты Rh и соответствующие им множества следствий sh (h = 1, 2, 3, 4, 5, 6, 7) приведены в таблице.

Выводимые дизъюнкты и множества следствий, формируемые в процессе логического вывода

Номер шага, h

Выводимый дизъюнкт, Rh

Используемые посылки, Mh

Множество следствий, sh

A∨B∨M

1) AB → C; 5) 1 → P; 7) MP → N

3) CD → E; 10) N → V

9) R → U; 8) 1 → S; 11) SR → X

Заключение

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

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

Рецензенты:

Пономарев В.И., д.т.н., профессор, директор закрытого акционерного общества «НПП «Знак», г. Киров;

Частиков А.В., д.т.н., профессор, декан факультета Прикладной математики и телекоммуникаций, ФГБОУ ВПО ВятГУ, г. Киров.

Работа поступила в редакцию 15.01.2014.

Библиографическая ссылка

Мельцов В.Ю., Страбыкин Д.А. ВЫВОД СЛЕДСТВИЙ С ПОСТРОЕНИЕМ СХЕМЫ ЛОГИЧЕСКОГО ВЫВОДА // Фундаментальные исследования. – 2013. – № 11-8. – С. 1588-1593;
URL: http://fundamental-research.ru/ru/article/view?id=33384 (дата обращения: 27.03.2019). Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»

Вывод в формальной логической системе является процедурой, которая из заданной группы выражений выводит отличное от заданных семантически правильное выражение. Эта процедура, представленная в определенной форме, и является правилом вывода. Если группа выражений, образующая посылку, является истинной, то должно гарантироваться, что применение правила вывода обеспечит получение истинного выражения в качестве заключения.

Наиболее часто используются два метода. Первый – метод правил вывода, или метод естественного (натурального) вывода, названный так потому, что используемый тип рассуждений в исчислении предикатов приближается к обычному человеческому рассуждению. Второй – метод резолюций. В его основе лежит исчисление резольвент.

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

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

«Если известно, что высказывание «А» влечет (имплицирует) высказывание «В» , а также известно, что высказывание «А» истинно, то, следовательно, «В» истинно»

В логике предикатов имеются универсальные правила, оперирующие с формулами, содержащими свободные переменные. Решение задач (получение выводов) в логических моделях может основываться на применении подобных правил к исходной совокупности истинных предикатов как доказательство правильности какого-либо составного предиката. Такой способ получения решения называется неаксиоматическим или другими словами – натуральным, естественным и совпадает со способами вывода в продукционных моделях.

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

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

Если в формальной логической модели механизм логического вывода использует метод правил вывода, то есть основания эту модель отнести к продукционным или логико-лингвистическим.

Пример: вывод решения в логической модели на основе правила вывода – modus ponens.

Даны утверждения:

  • «Сократ – человек»;
  • «Человек – это живое существо»;
  • «Все живые существа смертны».

Требуется доказать утверждение «Сократ смертен» .

Решение:

Шаг 1. Представим высказывания в предикатной форме:

Шаг 2. На основе правила вывода (modus ponens) и подстановки (Сократ/X) в первом предикате получим утверждение:

«Сократ – это живое существо»

Шаг 3. На основе правила вывода (modus ponens) и подстановки (Сократ/Y) в третьем предикате получим утверждение:

«Сократ – смертен»

Логическое и психологическое

Прагматизм и логика. Индуктивные и дедуктивные рассуждения

Линейное упорядочение.

Линейные схемы. Различие между истинностью и валидностью

Условные суждения

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

Комбинаторное рассуждение

Силлогистическое рассуждение

Круговые диаграммы для проверки валидности рассуждений. Вербальные правила проверки валидности заключения. Силлогизмы в повседневной жизни Распространенные ошибки в силлогистических рассуждениях. Дизъюнктивные (разделительные) суждения

Вероятностные рассуждения

Рассуждение в повседневной жизни Рассуждение с помощью схем

Использование алгоритма

Краткий итог главы

Термины для запоминания

Дискуссия склонялась не в пользу оппонента Джоан. По кивкам слушателей и их одобрительному «поддакиванию» можно было понять, что Джоан укрепляет свои позиции и постепенно убеждает аудиторию, в то время как ее оппонент с каждой своей репликой, казалось, терял поддержку. И это неудивительно: его предупредили, что Джоан изучала логику и знала, как заставить людей поверить во что угодно. Скоро она убедит всех, что война была оправданной и что все ложное оказалось истинным. Если так и дальше пойдет, ей, пожалуй, удастся заставить всех поверить, что день - это ночь. Конечно, это было несправедливо, но чего еще можно ожидать от человека, который учился искусству логических рассуждений?

Этот выдуманный сюжет основан на реальном случае из жизни. Я присутствовала на дискуссии, во время которой один из споривших обвинял второго в жульничестве, которое якобы заключалось в применении логических рассуждений. В тот момент эти обвинения показались мне довольно смешными, потому что я привыкла считать логические рассуждения важным навыком критического мышления - навыком, необходимым для того, чтобы делать правильные выводы, имея дело со сложной информацией, особенно если она воздействует на эмоции. Проигравший спор (158:) оппонент считал логические рассуждения чем-то вроде фокуса. Чем бы мы ни считали логические рассуждения - трюком, навыком или стратегией - они остаются лучшим способом решить, кому и чему следует верить.

Логическое и психологическое

Весь фокус в том, чтобы правильно рассуждать. Это не так-то просто и не получается само собой.

Каэйн (Kahane, 1980, р. 3)

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



Во многих определениях термина критическое мышление логические рассуждения принимаются в качестве центрального понятия. Это видно из определения, которое приняли за основное директора школ США, оценивавшие различные определения на конкурсе, состоявшем из трех этапов. Процедура, которой они воспользовались для выбора определения критического мышления, называется дельфийским методом - с помощью этого метода достигается согласие между экспертами в какой-либо области. Директора согласились, что «критическое мышление - это... связанные между собой паттерны логических рассуждений» (Stahl & Stahl, 1991, p. 84).

Прагматизм и логика

Рассуждая логически, мы следуем ряду правил, которые указывают, как «положено» выводить заключения. Логика - это раздел философии, в котором в явном виде сформулированы правила вывода валидных (т. е. обоснованных) заключений. Законы логики устанавливают нормы, по которым мы оцениваем качество чьих-либо рассуждений (Garnham & Oakhill, 1994). Согласно логике, заключение является валидным, если оно неизбежно следует из других утверждений, которые считаются признанными фактами. Фактические суждения называются посылками. Заключения, которые не согласуются с законами логики, называются алогичными. Хотя



мы придерживаемся мнения, что способность к разумному, логическому мышлению является уникальной и присуща только людям, мы слишком часто приходим к неправильным, или алогичным, заключениям. Это привело к тому, что М. Хант (Hunt, 1982) оценил логические способности «единственного на свете логически мыслящего животного» как «неудовлетворительные» (р. 121).

Психологов, изучающих рассуждения, интересует вопрос о том, как люди обрабатывают информацию при решении логических задач. Дело в том, что психологические процессы, происходящие при обыденном мышлении, довольно часто не являются логическими. В классической статье о связи между логикой и мышлением Хенле (Henle, 1962) заметила, что при повседневном мышлении люди обычно не следуют формальным правилам логики, они используют свои собственные несовершенные правила. Если бы мы хотя бы время от времени не придерживались логики, мы бы не смогли понимать друг друга, «следить за чужими мыслями, приходить к общим решениям и работать вместе» (Henle, 1962, р. 374). Для доказательства этого попытайтесь решить задачу, предложенную Хенле на одном из ее занятий:

Группа женщин обсуждала проблемы домашнего хозяйства Миссис Шивере разбила лед отчуждения, заявив: «Я так рада, что мы обсуждаем эти проблемы. Очень важно говорить о том, что у тебя на уме. Мы столько времени проводим на кухне, что, конечно же, домашние проблемы все время вертятся у нас в голове. Поэтому очень важно говорить о них». (Следует ли из сказанного, что важно говорить о домашних проблемах? Приведите свои рассуждения.) (р. 370)

Прежде чем продолжить чтение, ответьте: верным ли будет заключение, что миссис Шивере права, когда говорит о важности обсуждения проблем домашнего хозяйства? Объясните, пожалуйста, свой ответ.

Когда Хенле (Henle, 1962) предложила эту задачу аспирантам, она обнаружила, что некоторые из них пришли к ошибочному (с точки зрения законов логики) ответу, в то время как другие пришли к верному выводу, но неправильно его обосновали. Рассмотрим ответ, данный одним из участников ее эксперимента: «Нет. Важно говорить только о тех мыслях, которые тебя беспокоят, а это не тот случай» (р. 370). В чем же ошибка этого участника? Вместо того чтобы решить, следует ли данное заключение логически из сказанного ранее, он добавил свое собственное мнение о том, какие вещи важно обсуждать. Таким образом, ответ, неправильный с точки зрения стандартных законов формальной логики, правилен с точки зрения законов, установленных этим аспирантом для себя. Рассмотрим теперь другой ответ: «Да. Это имеет значение непосредственно для говорящего и, возможно, для кого-то из слушающих, потому что людям важно излить свою душу. Но только по этой причине, за исключением тех случаев, когда собеседники узнают что-то новое и ценное для себя» (р. 370). Этот участник дал правильный ответ, но рассуждения его были ошибочны. Он, так же как и первый, добавил свое собственное мнение о проблеме вместо того, чтобы выводить заключение исключительно на основе полученной информации. Хенле назвала такую ситуацию неумением подойти к решению логической задачи.

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

ных нами суждений. Мы действуем согласно некоторой субъективной логике, в которой пользуемся своими личными представлениями о мире для формулирования заключений по интересующему нас вопросу.

Психологи и философы были озадачены, обнаружив, что при решении одних формальных или неформальных задач большинство людей рассуждает, как будто пользуясь законами логики, но при решении других задач мало что указывает на использование этих законов. Другими словами, логичность или алогичность наших рассуждений зависит от типа решаемой задачи. Саймон и Каплан (Simon & Caplan, 1989) не нашли в этом ничего удивительного. Они утверждают, что «разумное поведение адаптивно (отличается приспособляемостью) и, следовательно, должно принимать поразительно разнообразные формы в различных условиях» (р. 38).

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

В этом уроке мы, наконец, переходим к теме, которая составляет ядро любого рассуждения и любой логической системы - умозаключениям. В четвёртом уроке мы говорили, что рассуждение - это совокупность суждений или высказываний. Очевидно, что такое определение не полно, ведь оно ничего не говорит о том, почему вдруг какие-то разные высказывания оказались рядом. Если дать более точное определение, то рассуждение - это процесс обоснования какого-либо высказывания с помощью его последовательного вывода из других высказываний. Этот вывод чаще всего осуществляется в форме умозаключений.

Умозаключение - это непосредственный переход от одного или нескольких высказываний А 1 , А 2 , …, А n к высказыванию В. А 1 , А 2 , …, А n называют посылками. Посылка может быть одна, их может быть две, три, четыре, в принципе - сколько угодно. В посылках содержится известная нам информация. В - это заключение. В заключении находится уже новая информация, которую мы извлекли из посылок с помощью специальных процедур. Эта новая информация уже содержалась в посылках, но в скрытом виде. Так вот задача умозаключения сделать это скрытое явным. Кроме того, иногда посылки называют аргументами, а заключение - тезисом, а само умозаключение в этом случае называют обоснованием. Разница между умозаключением и обоснованием состоит в том, что в первом случае, мы не знаем, к какому заключению мы придём, а во втором - тезис нам уже известен, мы просто хотим установить его связь с посылками-аргументами.

В качестве иллюстрации умозаключения можно взять рассуждения Эркюля Пуаро из «Убийства в восточном экспрессе» Агаты Кристи:

Но я почувствовал, что он перестроился на ходу. Предположим, он хотел сказать: «А разве ее не сожгли?» Следовательно, Маккуин знал и о записке, и о том, что ее сожгли, или, говоря другими словами, он был убийцей или пособником убийцы.

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

Критерии истинности умозаключений

Также как и для суждений, для умозаключений существуют определённые условия их истинности. При определении, истинное умозаключение или ложное, нужно обращать внимание на два аспекта. Первый аспект - это истинность посылок. Если хотя бы одна из посылок ложна, то и сделанное заключение тоже будет ложным. Поскольку заключение - это та информация, которая была скрыта в посылках и которую мы просто извлекли на свет, то из неверных посылок невозможно случайно получить верный вывод. Это можно сравнить с попыткой сделать бифштекс из моркови. Наверное, моркови можно придать цвет и форму бифштекса, но внутри всё равно будет морковь, а не мясо. Никакие кулинарные операции не преобразуют одно в другое.

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

Змеи едят яйца.
Девочки едят яйца.
Значит, девочки - это змеи.

Хотя посылки правильные, заключение абсурдно. Умозаключение в целом сделано неверно. Чтобы избежать подобных ошибок, логики выявили такие умозаключения, логические формы которых при истинности посылок гарантируют истинность заключения. Их принято называть правильными умозаключениями. Таким образом, чтобы умозаключение было сделано верно, нужно следить за истинностью посылок и за правильностью самой формы умозаключения.

Мы рассмотрим различные формы правильных умозаключений на примере силлогистики. В этом уроке мы разберём самые простые однопосылочные заключения. В следующем уроке - более сложные заключения: силлогизмы, энтимемы, многопосылочные заключения .

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

Начнём с отношений подчинения . Мы уже сталкивались с ними в четвёртом уроке, когда рассматривали условия истинности для частно-утвердительных и частно-отрицательных высказываний. Мы говорили, что из высказывания «Все S есть P» будет логичным вывести высказывание «Некоторые S есть P», а из высказывания «Ни один S не есть P» - «Некоторые S не есть P». Таким образом, возможны следующие типы умозаключений:

  • Все S есть P
  • Некоторые S есть P
  • Все птицы имеют клюв. Следовательно, некоторые птицы имеют клюв.
  • Ни один S не есть P
  • Некоторые S не есть P
  • Ни один гусь не хочет быть пойман и зажарен. Следовательно, некоторые гуси не хотят быть пойманными и зажаренными.

Кроме того, по правилу контрапозиции из отношений подчинения можно вывести ещё два правильных умозаключения. Правило контрапозиции - это логический закон, который гласит: если из высказывания А следует высказывание В, то из высказывания «неверно, что В» будет следовать высказывание «неверно, что А». Вы можете попробовать проверить этот закон с помощью таблицы истинности. Итак, будут верны и следующие умозаключения по контрапозиции:

  • Неверно, что все S есть P
  • Неверно, что некоторые автомобили не имеют колёс. Поэтому неверно, что все автомобили не имеют колёс.
  • Неверно, что все S не есть P
  • Неверно, что некоторые вина не являются спиртными напитками. Таким образом, неверно, что все вина не являются спиртными напитками.

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

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

  • Все S есть P
  • Все яблоки - это фрукты. Следовательно, неверно, что ни одно яблоко не является фруктом.
  • Ни один S не есть P
  • Неверно, что все S есть P
  • Ни один кит не умеет летать. Поэтому неверно, что все киты умеют летать.

Отношения субконтрарности (подпротивоположности) означают, что высказывания типа «Некоторые S есть P» и «Некоторые S не есть P» не могут быть одновременно ложными, хотя могут быть одновременно истинными. На этом основании может быть сформулирован закон субконтрарного исключённого третьего: Некоторые S не есть P или Некоторые S есть P.

  • Согласно этому закону правильными будут следующие умозаключения:
  • Неверно, что некоторые S есть P
  • Некоторые S не есть P
  • Неверно, что некоторые продукты полезны для здоровья. Поэтому некоторые продукты не полезны для здоровья.
  • Неверно, что некоторые S не есть P
  • Некоторые S есть P
  • Неверно, что некоторые ученики из нашего класса не являются двоечниками. Таким образом, некоторые ученики из нашего класса являются двоечниками.

Отношения противоречия (контрадикторности) говорят о том, что высказывания, находящиеся в них, не могут быть одновременно истинными или ложными. На основании этих отношений можно сформулировать два закона противоречия и два закона исключённого третьего. Первый закон противоречия: Неверно, что все S есть P и некоторые S не есть P. Второй закон противоречия: Неверно, что ни один S не есть P и некоторые S есть P. Первый закон исключённого третьего: Все S есть P или некоторые S не есть P. Второй закон исключённого третьего: Ни один S не есть P или некоторые S есть P.

На этих законах строятся умозаключения следующих видов:

  • Все S есть P
  • Неверно, что некоторые S не есть P
  • Все дети нуждаются в заботе. Следовательно, неверно, что некоторые дети не нуждаются в заботе.
  • Некоторые S не есть P
  • Неверно, что все S есть P
  • Некоторые книги не являются скучными. Поэтому, неверно, что все книги являются скучными.
  • Неверно, что все S есть P
  • Некоторые S не есть P
  • Неверно, что все сотрудники нашей фирмы усердно работают. Таким образом, некоторые сотрудники нашей фирмы не работают усердно.
  • Неверно, что некоторые S не есть P
  • Все S есть P
  • Неверно, что некоторые зебры не имеют полосок на коже. Следовательно, все зебры имеют полоски на коже.
  • Ни один S не есть P
  • Неверно, что некоторые S есть P
  • Ни одна картина в этом зале не относится к XX веку. Поэтому неверно, что некоторые картины в этом зале относятся к XX веку.
  • Некоторые S есть P
  • Неверно, что ни один S не есть P
  • Некоторые студенты занимаются спортом. Таким образом, неверно, что ни один студент не занимается спортом.
  • Неверно, что ни один S не есть P
  • Некоторые S есть P
  • Неверно, что ни один учёный не интересуется искусством. Следовательно, некоторые учёные интересуются искусством.
  • Неверно, что некоторые S есть P
  • Ни один S не есть P
  • Неверно, что некоторые коты курят сигары. Таким образом, ни один кот не курит сигары.

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

Ещё одним видом однопосылочных умозаключений является обращение. Это такой тип умозаключений, при которых субъект посылки совпадает с предикатом заключения, а субъект заключения совпадает с предикатом посылки. Грубо говоря, в заключении S и P просто меняются местами.

Прежде чем перейти к умозаключениям через обращение, построим таблицу истинности для высказываний, в которых P встанет на место субъекта, а S - на место предиката.

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

Итак, существует два вида обращения: чистое и с ограничением. Чистое обращение происходит тогда, когда количественная характеристика не изменяется, то есть если в посылке было слово «все», то и в заключении тоже будет слова «все»/«ни один», если в посылке слово «некоторые», то и в заключении «некоторые. Соответственно, при обращении с ограничением количественная характеристика меняется: были «все», а стали «некоторые». Для высказываний типа «Ни один S не есть P» и «Некоторые S есть P» правильным будет следующее чистое обращение:

  • Ни один S не есть P
  • Ни один P не есть S
  • Ни один человек не может выжить без воздуха. Следовательно, ни одно живое существо, способное выжить без воздуха, не является человеком.
  • Некоторые S есть P
  • Некоторые P есть S
  • Некоторые змеи ядовиты. Поэтому, некоторые ядовитые существа - это змеи.
  • Для высказываний типа «Все S есть P» и «Ни один S не есть P» верно обращение с ограничением:
  • Все S есть P
  • Некоторые P есть S
  • Все пингвины - это птицы. Таким образом, некоторые птицы - это пингвины.
  • Ни один S не есть P
  • Некоторый P не есть S
  • Ни один крокодил не ест зефир. Следовательно, некоторые существа, едящие зефир, не являются крокодилами.
  • Высказывания типа «Некоторые S не есть P» вообще не обращаются.

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

Итак, в этом уроке мы начали рассматривать правильные виды умозаключений. Мы поговорили о самых простейших однопосылочных умозаключениях: умозаключениях по логическому квадрату и умозаключениях через обращение. Хотя эти умозаключения довольно просты и даже где-то тривиальны, люди повсеместно совершают в них ошибки. Понятно, что сложно удержать в памяти все виды правильных умозаключений, поэтому, когда вы будете выполнять упражнения или столкнётесь с необходимостью проверить или сделать однопосылочное умозаключение в реальной жизни, не бойтесь прибегать к помощи модельных схем и таблиц истинности. Они помогут вам проверить, всегда ли при истинности посылок заключение тоже истинное, а это главное для правильного умозаключения.

Упражнение «Подберите ключ»

В этой игре вам нужно создать ключ правильной формы. Для этого установите засечки нужной длины (от 1 до 3, 0 – быть не может), а затем нажмите кнопку «Попробовать». Вам будут даны 2 суждения, сколько засечек выбранной длины присутствуют в ключе (для простоты значение «наличие»), и сколько из выбранных находятся на своём месте (для простоты значение «на месте»). Скорректируйте своё решение и пробуйте, пока не подберёте ключ.

Упражнения

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

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

Сделайте обращения с теми, высказываниями, с которыми это возможно:

  • Никто ещё не построил машину времени.
  • Некоторые официанты очень назойливы.
  • Все профессионалы опытны в своём деле.
  • Некоторые книги не имеют твёрдой обложки.

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

  • Некоторые кролики не носят белые перчатки. Следовательно, некоторые кролики носят белые перчатки.
  • Неверно, что никто не был на Луне. Таким образом, некоторые люди были на Луне.
  • Все люди смертны. Поэтому все смертные - это люди.
  • Некоторые птицы не умеют летать. Следовательно, некоторые существа, не умеющие летать, это птицы.
  • Ни один ягнёнок не имеет пристрастия к виски. Следовательно, ни одно существо, имеющее пристрастие к виски, не является ягнёнком.
  • Некоторые морские животные млекопитающие. Таким образом, неверно, что ни одно морское животное не является млекопитающим.

Проверьте свои знания

Если вы хотите проверить свои знания по теме данного урока, можете пройти небольшой тест, состоящий из нескольких вопросов. В каждом вопросе правильным может быть только 1 вариант. После выбора вами одного из вариантов, система автоматически переходит к следующему вопросу. На получаемые вами баллы влияет правильность ваших ответов и затраченное на прохождение время. Обратите внимание, что вопросы каждый раз разные, а варианты перемешиваются.