Muxson

  • 25 сент. 2012 г.
  • 1889 Слова
ЛАБОРАТОРНАЯ РАБОТА №1 1. Цель работы Ознакомиться с основами декларативной и процедурной части Prolog-программ. 2. Краткие сведения из теории ПРОЛОГ – язык логического программирования (ПРОграммирование в ЛОГике), используемый для представления и манипулирования знаниями в системах ИИ. Логическое программирование – программирование, основанное на использовании механизма доказательства теорем влогике, который позволяет выяснить, является ли противоречивым некоторое множество логических формул. При этом программа рассматривается как набор логических формул, описывающих предметную область, совместно с теоремой, которая должна быть доказана. Логическое программирование избавляет программиста от необходимости определения точной последовательности шагов выполнения вычислений. Программа на языкеПРОЛОГ – набор утверждений, составляющих базу фактов и базу правил, к которым допустимо обращение с запросами, касающимися их содержимого. Запросы называются также целевыми утверждениями. Утверждение языка ПРОЛОГ – линейная конструкция из термов, заканчивающаяся точкой. Терм языка ПРОЛОГ – это либо константа, либо переменная, либо структура. Константами являются атомы и числа. Константыиспользуются для обозначения (именования) конкретных объектов предметной области и конкретных отношений между ними. Атом языка ПРОЛОГ – это:  последовательность букв, цифр и знака "подчеркивание", обязательно начинающаяся со строчной буквы;  последовательности специальных знаков ":-", "?-", "=", ">" и других. Переменная языка ПРОЛОГ - последовательность букв, цифр и знака "подчеркивание", обязательно начинающаясяс прописной буквы;  знак "подчеркивание". Область известности (лексический диапазон) переменных - одно предложение. Поэтому одно и то же имя в двух предложениях обозначает две разные переменные. Структура языка ПРОЛОГ - конструкция из функтора и компонент, имеющая следующий вид <функтор>(<компонент-1>,<компонент-2>, ... ,<компонент-n>), где в качестве функтора должен выступать атом, а компонентомможет быть любой терм (в том числе и структура). База фактов в языке ПРОЛОГ последовательность утверждений, описывающих факты предметной области в виде структур, функторами которых являются атомы - имена отношений (предикатные буквы), а компонентами - предметные константы. Каждый факт представляет собой элементарную формулу (предикат) исчисления предикатов первого порядка и является дизъюнктомХорна, состоящим из одного (положительного) литерала. При описании фактов переменные не используются. База правил - совокупность правил в программе на языке ПРОЛОГ. Правило представляет собой дизьюнкт Хорна, содержащий один положительный литерал и несколько отрицательных, и записывается следующим образом <структура-0>:-<структура-1>, ... ,<структура-N>.

Здесь каждая структура представляет собой предикат,областью действия переменных является все правило. Предикат, стоящий слева от атома ":-", называется заголовком правила, все остальные предикаты образуют его тело. Правило может трактоваться следующим образом: предикат, являющийся заголовком правила доказан (удовлетворен), когда доказан каждый предикат тела правила. В качестве предикатов, составляющих тело правила, могут выступать:  предикаты,фигурирующие в базе фактов;  предикаты, совпадающие с заголовком других правил;  встроенные предикаты систем программирования ПРОЛОГ. Примеры правил языка ПРОЛОГ: Встроенный предикат - предикат, выводимость (согласованность) которого устанавливается непосредственно системой программирования ПРОЛОГ. Запрос на языке ПРОЛОГ - утверждение, рассматриваемое в качестве целевого, имеющее следующий вид<структура-1>, ...,<структура-N>. Здесь каждая структура представляет собой предикат, возможно, содержащий переменные. Причем областью действия переменной является все утверждение в целом, т. е. одна и та же переменная в пределах утверждения означает один и тот же объект. Символ "," между предикатами трактуется как логическая связка "И", т.е. запрос необходимо рассматривать как...
tracking img