Учебное пособие: Язык логического программирования Visual Prolog
likes(symbol,symbol)
clauses
likes(ellen,tennis).
likes(John,football).
likes(torn,baseball).
likes(eric,swimming).
likes(mark,tennis).
likes(bill,Activity):-likes(torn, Activity).
goal
likes(bill, baseball).
Утилита TestGoal ответит в окне приложения:
yes (да)
Система использовала комбинированное правило
likes(bill, Activity):- likes(torn, Activity).
сфактом
likes(torn, baseball). для решения, что likes(bill, baseball).
Попробуйте также следующий запрос в GOAL-разделе:
likes (bill, tennis).
УтилитаTest Goal ответит:
no (нет)
поскольку:
· нет фактов, которые говорят, что Билл любит теннис;
· отношение Билла к теннису не может быть логически выведено с использованием данного правила и имеющихся в распоряжении фактов.
Вполне возможно, что Билл любит теннис в реальной жизни, но ответ Visual Prolog основан только на фактах и правилах, которые вы дали ему в тексте программы.
7. ПРОГРАММЫ НА VISUAL PROLOG
Синтаксис VisualProlog разработан для того, чтобы отображать знания о свойствах и взаимосвязях.
В отличие от других версий Пролога, VisualProlog — компилятор, контролирующий типы: для каждого предиката объявляются типы объектов, которые он может использовать. Это объявление типов позволяет программам VisualProlog быть скомпилированными непосредственно в машинные коды, при этом, скорость выполнения сравнима, а в некоторых случаях — и превышает скорости аналогичных программ на языках С и Pascal.
8. Основные разделы Visual Prolog-программ
Обычно программа на VisualProlog состоит из четырех основных программных разделов, к которым относятся:
· раздел clauses (предложений);