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

Лекция 2. Логика

Определить истинность логического выражения, т. е. выяснить, какое значение оно принимает — истина или ложь, можно с помощью математического аппарата, называемого исчислением высказываний.

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

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

Объектами исчисления высказываний служат обычные предложения, например: «Сегодня падал снег», «Джо любит жареную рыбу», «Изучить логику просто» и т. д.

Об этих предложениях всегда можно сказать, что они истинны или ложны, т. е. принимают значения «истина» или «ложь».

Предположим, имеется высказывание: «Джо любит жареную рыбу». Если Джо действительно предпочитает это блюдо другим, то высказывание принимает значение истины, в противном случае — лжи.

Предложения типа «Сколько времени?» или «Проклятая логика» не могут быть объектами исчисления высказываний.

-----

Истину и ложь в символьной записи принято обозначать соответственно Т (от true

истина) и F (от false — ложь).

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

Вэтом исчислении можно оперировать с оценками степени уверенности в истинности высказываний.

Так, например, для высказывания «Сегодня будет дождь» может быть определена вероятность истинности, равная 55%.

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

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

--------

-------.

КОМБИНАЦИИ ВЫСКАЗЫВАНИЙ

Два любых высказывания можно объединить в одно с помощью двух основных операций: конъюнкции — логического И, обозначаемого AND, и дизъюнкции — логического ИЛИ, обозначаемого OR.

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

Во всех остальных случаях конъюнкция ложна.

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

В логике используется также другая операция, напоминающая дизъюнкцию, которая называется ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR).

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

В разговорной речи такие высказывания часто объединяются конструкцией «или

..., или ...», например: «Или я пойду на футбольный матч, или будут смотреть его прямую трансляцию по телевизору». Очевидно, что истинность одной составляющей

исключает истинность другой.

--------

Другая важная операция, используемая в логике, — это отрицание, логическое НЕ,

обозначаемое NOT. Например, из высказывания «Сегодня идет снег» можно с помощью отрицания получить «Сегодня не идет снег».

Представление значений сложных высказываний, для каждой возможной

комбинации значений их составляющих осуществляется с помощью таблиц истинности.

Например, в табл. 4.1 одновременно представлены четыре таблицы истинности

для операций И (AND), ИЛИ (OR), исключающее ИЛИ (XOR) и НЕ (NOT).

В таблице буквами Р и Q обозначаются любые два логических высказывания.

Т а б л и ц а 4.1

Истинность операций AND (И), OR (ИЛИ), XOR

(Исключающее ИЛИ) и NOT (HE)

-------

Т а б л и ц а 4.2

Рассмотрим логические функции, представленные в табл. 4.2.

Как видно из табл. 4 . 2 , высказывание Р A N D N O T P (Р И НЕ Р) всегда принимает значение ложь, тогда как высказывание Р OR NOT Р (Р ИЛИ НЕ Р), наоборот, всегда имеет значение истина.

Высказывание, всегда имеющее значение истина, называется тавтологией.

Высказывание с постоянным значением ложь называется противоречием.

Следует учитывать приоритеты логических операций: сначала выполняется отрицание (NOT), затем конъюнкция (AND) и, наконец, дизъюнкция (OR).

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

В том, что результат зависит от порядка выполнения операций, можно убедиться, сравнив, например, таблицы истинности для высказываний NOT P AND Q

и NOT (P AND Q).

-------

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

Пример. О фразе «Это предложение ложно» нельзя сказать, что она имеет значение истина или ложь.

Следовательно, данная фраза не является логическим высказыванием.

-------

-------

БУЛЕВА АЛГЕБРА

Английский математик Джордж Буль (1815—1864) сформулировал правила для

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

Т а б л и ц а 4.3

AND, OR и NOT от двоичных переменных, обозначаемых буквами латинского алфавита.

Из основных свойств указанных операций, иллюстрируемых табл. 4.1 и 4.2, можно вывести следующие три правила

---------

-------

В табл. 4.3 приведены таблицы истинности, позволяющие проверить правила

двойного отрицания и идемпотентности.

Предлагается построить таблицу для проверки правила поглощения в качестве упражнения.

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

механической замены в нем операций AND на OR, OR на AND, а также констант Т на F и наоборот.

Приведенные ниже основные свойства булевой алгебры сгруппированы согласно этому принципу:

---------

-------

ЛОГИЧЕСКОЕ СЛЕДОВАНИЕ (ИМПЛИКАЦИЯ)

Рассмотрим высказывания типа «Если Р, то Q». Частным случаем высказывания данного типа служит, например, следующее: «Если дождь идет, то трава растет».

В приведенном примере Р — «идет дождь», a Q — «трава растет».

Отмечаем, что таблица истинности для этого высказывания должна включать в себя его значения для всех комбинаций значений составляющих.

Т. е. истинность высказывания типа «Если Р, то Q» зависит от того, как интерпретируются значения Р и Q.

Например, можно обнаружить, что значение всего высказывания — ложь,

когда значение Р равно истине, a Q — лжи, что для приведенного выше примера

соответствует тому факту, что при дожде трава не растет.

Итак, имеем три логические величины: само высказывание и две его составляющие. Каждая из этих величин может произвольно принимать значение истина или ложь. Дождь может идти и не идти, трава может расти и не расти и,

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

высказываний типа «Если Р, то Q».

Проверить его истинность можно только на практике.

-------

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

По высказыванию «Если Р, то Q» в случае, когда Р ложно, нельзя судить об истинности Q.

В приведенном примере этот случай соответствует тому, что если дождь не идет,

трава может расти, и не расти — и то, и другое может быть истиной. Поэтому для рассмотренного случая, т. е. при условии, что Р принимает значение ложь и при любом значении Q, все высказывание остается истинным.

Т а б'л и ц а 4.4

---------

---------

Операция, соответствующая высказываниям типа «Если Р, то. Q», называется логическим следованием, или импликацией, и обозначается Р IMPLIES Q.

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

IFF.

Таблицы истинности для обеих рассмотренных операций представлені в табл. 4.4.

ЛОГИЧЕСКИЕ СИМВОЛЫ

До настоящего времени не использовались символы при записи высказываний.

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

-------

-------

 

 

 

 

В булевой алгебре операция отрицания обозначается

горизонтальной чертой над

переменной или

выражением. Например, обозначает

NOT

А, а запись

эквивалентна высказыванию NOT (A AND В).

Последняя

операция имеет

самостоятельное

название И-НЕ (или NAND).

 

 

 

Аналогично, операция , обозначающая высказывание НЕ (А ИЛИ В),

обычно называется ИЛИ-НЕ (NOR). Таблицы истинности операций NAND и NOR приводятся в табл. 4.6.

-------

------

Таблицы истинности для NAND и NOR могут быть получены также из таблиц истинности для операций AND и OR путем замены их значений в соответствующих строках на противоположные.

В табл. 4.7 приведено несколько примеров записи логических операций.

-------

ЛОГИЧЕСКИЕ ФУНКЦИИ ОТ ДВУХ ПЕРЕМЕННЫХ

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

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

Для двух логических переменных возможны четыре различные комбинации их значений: ТТ, TF, FT и FF.

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

Например, множество истинности для функции AND состоит из одного элемента (ТТ), тогда как для функции OR — из трех элементов (ТТ, TF, FT).

--------

-------

Упражнение 4.1

Запишите множества истинности для следующих функций: a ) NAND; б) NO R;

в) XOR; г) А· В; д) ~ А и е) А → В.

Существует всего 16 различных способов заполнения таблиц истинности

логических функций от двух переменных.

В табл. 4.8 представлены все функции указанного вида от переменных р и q.

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

Запись р означает: «высказывание р истинно», а «высказывание р ложно».

--------

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

Рассмотрим функцию h из табл. 4.8.

Высказывание, соответствующее данной функции, истинно только тогда, когда р и q одновременно равны Т, поэтому функцию можно быть записана как h = р q

или в булевой форме:

Высказывание, соответствующее функции О, истинно, когда р и q одновременно

ложны. Поэтому или в булевой форме:

Высказывание О не совпадает с

----------

-----------

Рассмотрим теперь четыре функции от двух переменных, принимающих на одной комбинации значений р и q значение не Т как в рассмотренных выше случаях, a F.

Эти функции обозначены в табл. 4.8 через Ь, с, е и i.

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

искомую функцию.

Так, например, функция i равна F при

Тогда