Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример. Составляющие Пролог-программы




Составляющие Пролог-программы

Язык логического программирования Пролог

Инструментальные средства логического программирования

После почти 20-летнего успешного развития в 1996 г. Пролог стал стандартом логических языков программирования. Главным отличием его от так называемых процедурных языков, таких как Borland С, Delphi, Java и др., является его декларативный характер.

Если в традиционных языках программирования необходимо знать заранее, как решить ту или иную задачу, то в декларативном Прологе, это делает «сам» интерпретатор. Эта особенность языка делает его незаменимым в областях, где сложность задач и объем необходимых знаний превосходят возможности человека. Это свойство наиболее подходит для исследований в области ИИ.

Пролог – это декларативный язык, в среде которого необходимо точно и грамотно на логическом языке описать условие задач, а ее выполнение – это результат работы некоторого рутинного процесса, выполняемого интерпретатором. Фрагменты Пролог-программы иногда называют базами знаний. Далее рассмотрение языка осуществляется для версии Турбо Пролог.

Пролог реализует управляющую структуру в виде обратной цепочки логического вывода, то есть доказательство от противного. Этим частично исключается монотонность.

 

В самом общем виде Пролог-программа может быть представлена как совокупность двух основных разделов.

Первый раздел содержит постановку задачи, т.е. описание ее условия в виде набора исходных данных, представленных в форме БД.

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

Таким образом, в структуре программы выделяются следующие виды утверждений: факты, вопросы (запросы) и правила. В бинарной интерпретации факт включает только «голову» утверждения. В конце факта ставится точка. Вопрос (запрос) представляет собой неосновной терм, всегда содержащий только непустое «тело» утверждения. Правило состоит из подцели и условий ее доказательства, т.е. заполненных «головы» и «тела» утверждения. В конце правила также ставится точка.

Утверждения

Простейший вид утверждений Пролог-программы – это факт. Он констатирует наличие отношений между объектами или переменными. Отношение в программе называется предикатом.

нравится ("Лена", "теннис").

играет ("Костя", "футбол").

имеет ("Сергей", ___).

отец ("Катя", "Дмитрий").

плюс (3, 2, 5).

 

Составляющими отношений или предикатов являются атомы и переменные. Атомы в Пролог-программе записываются строчными буквами. Если атом необходимо записать с прописной буквы, его значение заключается в апострофы (двойные кавычки). В конце факта в базе данных программы ставится точка.

Вопросы в Пролог-программе имеют тот же формат, что и факты. Их можно различить по контексту, расположению на экране в режиме отладки программы или по наличию знака «?» в начале или в конце утверждения (в зависимости от диалекта интерпретатора). Семантически вопрос в Пролог-программе определяет наличие того или иного отношения между объектами.




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 515; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.