Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ.doc
Скачиваний:
116
Добавлен:
03.11.2018
Размер:
5.47 Mб
Скачать

Занятие 5. Перевод высказываний естественного языка на язык логики предикатов

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

В естественном языке слово “все” обычно опускается.

Так, например, “Рыбы дышат жабрами” означает, что все рыбы дышат жабрами или, что каждая рыба дышит жабрами. Если обозначить , а , то при символизации фразы “Рыбы дышат жабрами” необходимо использовать квантор всеобщности: .

84

Однако не в каждом случае слова “все” понимаются как “каждый”. Например, предложение “Все песчинки образуют кучу песка” вовсе не означает, что каждая песчинка образует кучу песка. В этом случае употреблять квантор всеобщности нельзя.

Рассмотрим особенности перевода на язык исчисления предикатов следующих выражений: “Все студенты отличники” и “Некоторые студенты отличники”.

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

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

Вот еще один пример: “Собакам и кошкам вход запрещен”. Формально перевод будет таким: “Если - собака и - кошка, то - вход запрещен”. Однако, ясно, что таких , которые были бы одновременно и собакой и

кошкой, не существует. Правильным будет такой перевод:

“Если - собака или - кошка, то - вход воспрещен”.

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

85

Таблица 3

Выражение естественного языка

Формула

Для любого (имеет место)

при произвольном

Для всех верно

, каково бы ни было

Для каждого (верно)

Всегда имеет место

Каждый обладает свойством

Свойство присуще вcем

Все удовлетворяет

Любой объект является

Всякая вещь обладает свойством

Для некоторых (имеет место)

Для подходящего (верно)

Существует , для которого (такой, что)

Имеется , для которого (такой, что)

Найдется , для которого (такой, что)

86

Продолжение табл. 3

У некоторых вещей есть признак

Хотя бы для одного (верно)

Кто-нибудь относится к (есть)

По крайней мере, один объект есть

Не для каждого (верно)

Не при всяком (верно)

оказывается истинным не для всех

Не все обладает свойством

Не все суть

не всегда верно

Для всякого неверно

всегда ложно

Ничто не обладает свойством

Все суть не

Не существует , такого, что

Нет никакого , такого, что

Нет , такого, что

не выполняется ни для какого

Ничто не обладает свойством

Никто не есть

Ни для какого не верно

Неверно, что для некоторых

87

Окончание табл. 3

Для некоторого не (верно)

Что-то не обладает свойством

Кто-то есть не

Если для какого-нибудь , то

Если имеется , для которого , то

Если хоть что-нибудь есть , то

Если , то для некоторого (верно)

Что-то удовлетворяет , а что-то –

Нечто есть и и

Все суть или

Все, кроме , суть

Все суть или все суть

Как следует из таблицы, знак общности заменяет в словесных формулировках слова: все, всякий, каждый, любой. Знак существования употребляется вместо слов: хотя бы один, найдется, существует.

Для иллюстрации особенностей перевода рассмотрим еще несколько примеров.

88

Пусть означает “ - нечетное число”, где принадлежит множеству простых чисел. Рассмотрим высказывание – “Каждое простое число – нечетное”. Отрицание этого высказывания можно построить двумя способами.

а) Не каждое простое число нечетное.

б) Найдется (существует) простое число, которое четно.

Для высказывания – “Существует простое число , являющееся нечетным” отрицание можно построить двумя способами:

а) Не существует простого нечетного числа.

б) Все простые числа являются четными.

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

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

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

Равносильность двух способов построения отрицания следует из формул

89

Первая формула утверждает: истинно не для всех тогда и только тогда, когда существует , для которого ложно.

Вторая формула утверждает: не существует , для которого истинно, тогда и только тогда, когда ложно для всех .

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

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

Недопонимание этого правила приводит к типичной ошибке при построении отрицания.

Пример 1. Пусть - “В треугольнике угол равен 60°”.

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

Правильная формулировка отрицания для высказывания будет такой: “Существуют треугольники, у которых угол не равен 60°”.

Пример 2. Пусть предикат - “ - серая кошка” определен на множестве всех кошек. Правильное выражение для отрицания высказывания дается следующим образом: “Существует хотя бы одна не серая кошка”.

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

90

Пример 1. Любые два действительных числа либо равны, либо одно из них меньше другого.

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

- есть действительное число”.

- ”.

- ”.

- ”.

Тогда высказывание запишется в виде:

Пример 2. Ни один пациент не любит знахарей.

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

- “ - пациент”.

- “ – знахарь”.

- “ любит ”.

Тогда высказывание запишется в виде:

.

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

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

б) нет числа, за которым непосредственно следует 0;

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

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

”число, непосредственно следующее за ”.

- “число, непосредственно, предшествующее ”.

- “”.

Тогда аксиомы будут представлены так:

91

а) ;

б) ;

в) .