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




Процедура ответпольз - часть 6


                запрос_арг( Термы).

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

        можно_спросить( X ест Y).

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

        ?-  ответпольз( питер ест мясо, [ ], Ответ).

            Это правда: питер ест мясо?

         % Вопрос пользователю

            да.

                                                        % Ответ пользователя

            Ответ = правда

Более интересный пример диалога (с использованием переменных) мог бы выглядеть примерно так:

        ?-  ответпольз( Кто ест Что, [ ], Ответ).

        Это правда: _17 ест _18?

                                % Пролог дает переменным свои внутренние имена

        да.

        _17 = питер.

        _18 = мясо.

        Ответ = правда.

        Кто = питер

        Что = мясо;

        % Возврат для получения других решений

        Это правда: _17 ест _18?

        да.

        _17 = сьюзен.

        _18 = бананы.

        Ответ = правда

        Кто = сьюзен

        Что = бананы;

        Это правда : _17 ест _18?

        нет.

        Ответ = ложь




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