1. 1.    Считая, что отношение родитель определено так же, как и раньше в данном разделе (см. рис. 1.1), найдите, какими будут ответы пролог-системы на следующие вопросы:

        (a)        ?   -  родитель ( джим, X).

        (b)        ?   -  родитель( X, джим).

        (c)        ?   -  родитель( пам,Х), родитель( Х, пат).

        (d)        ?   -  родитель( пам, X), родитель( Х, Y),

                        родитель( Y, джим).

Посмотреть ответ

1. 2.    Сформулируйте на Прологе следующие вопросы об отношении родитель:

        (a)        Кто родитель Пат?

        (b)        Есть ли у Лиз ребенок?

        (c)        Кто является родителем родителя Пат?

Посмотреть ответ

Назад | Содержание | Вперёд

Назад | Содержание | Вперёд

1. 2.    Расширение программы-примера с помощью правил

Нашу программу-пример можно легко расширить многими интересными способами. Давайте сперва добавим информацию о том, каков пол людей, участвующих в отношении родитель. Это можно сделать, просто добавив в нее следующие факты:

        женщина( пам).

        мужчина( том).

        мужчина( боб).

        женщина( лиз).

        женщина( пат).

        женщина( энн).

        мужчина( джим).

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

        пол( пам, женский).

        пол( том, мужской).

        пол( боб, мужской).

        .  .  .

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

       отпрыск( лиз, том).

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

        Для всех X и Y

                Y

Вы читаете Prolog
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату