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




Работа с базой данных - часть 2


        необычная :-
                солнечно, дождь.

        отвратительная :-
                дождь, туман.

        дождь.

        туман.

Ниже приводится пример диалога с этой программой, во время которого база данных постепенно изменяется:

        ?-  хорошая.
        no

        ?-   отвратительная.
        yes

        ?-  retract( туман).
        yes

        ?-   отвратительная.
        no

        ?-  assert( солнечно).
        yes

        ?-  необычная.
        yes

        ?-  retract( дождь).
        уes

        ?-  хорошая.
        yes

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

        быстр( энн).
        медл( том).
        медл( пат).

К этой программе можно добавить правило:

        ?-  assert(



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