ГлавнаяITПрограммированиеProlog — один из старейших и наиболее популярных языков логического программирования
Prolog — один из старейших и наиболее популярных языков логического программирования.
Введение Prolog был создан в 1972 с целью сочетать использование логики с представлением знаний. С тех пор у него появился ряд диалектов, расширяющих основу языка различными возможностями. Prolog — один из старейших и все еще один из наиболее популярных языков логического программирования, хотя он значительно менее популярен, чем основные императивные языки. Он используется в системах обработки естественных языков, исследованиях искусственного интеллекта, экспертных системах, онтологиях и других предметных областях, для которых естественно использование логической парадигмы. Prolog был создан под влиянием более раннего языка Planner и позаимствовал из него следующие идеи: • обратный логический вывод (вызов процедур по шаблону, исходя из целей); • построение структура управляющей логики в виде вычислений с откатами; • принцип “отрицание как неудача”; • использование разных имен для разных сущностей и т.д. Главной парадигмой, реализованной в языке Prolog, является логическое программирование. Как и для большинства старых языков, более поздние реализации, например, Visual Prolog, добавляют в язык более поздние парадигмы, например, объектно-ориентированное или управляемое событиями программирование, иногда даже с элементами императивного стиля. Prolog использует один тип данных, терм, который бывает нескольких типов: атом — имя без особого смысла, используемое для построения составных термов; числа и строки такие же, как и в других языках; переменная обозначается именем, начинающимся с прописной буквы, и используется как символ-заполнитель для любого другого терма; составной терм состоит из атома-функтора, за которым следует несколько аргументов, каждый из которых в свою очередь является ато-мом. Программы, написанные на чистом Prolog, описывают отношения между обрабатываемыми сущностями при помощи клауз Хорна. Клауза — это формула вида Голова :- Тело., которая читается как “чтобы доказать/решить Голову, следует доказать/решить Тело”. Тело клаузы состоит из нескольких предикатов (целей клаузы), скомбинированных с помощью конъюнкции и дизъюнкции. Клаузы с пустым телом называются фактами и эквивалентны клаузам вида Голова :- true. (true — не атом, как в других языках, а встроенный предикат). Другой важной частью Prolog являются предикаты. Унарные предикаты выражают свойства их аргументов, тогда как предикаты с несколькими аргументами выражают отношения между ними. Ряд встроенных предикатов языка выполняют ту же роль, что и функции в других языках, например, …. Предикаты с несколькими аргументами могут действовать в нескольких направлениях в зависимости от того, какие из аргументов уже связаны, а какие — нет. Например, …. Наконец, для того, чтобы быть языком общего назначения, Prolog должен предоставлять ряд сервисных функций, например, процедур ввода/вывода. Они реализованы как предикаты без специального логического смысла, которые всегда оцениваются как истинные и выполняют свои сервисные функции как побочный эффект оценивания. Целью выполнения программы на Prolog является оценивание одного целевого предиката. Имея этот предикат и набор правил и фактов, заданных в программе, Prolog пытается найти привязки (значения) переменных, при которых целевой предикат принимает значение истинности. В курсовой работе Prolog будет использован для написания логической игры «Суммируйте до 20». Введение 2 1. Постановка задачи 4 2. Разработка алгоритма 5 3. Описание предикатов 7 4. Контрольный пример 8 Заключение 11 Список литературы 12 Приложение 13 1. Братко И. «Программирование на языке ПРОЛОГ для искусственного интеллекта». – М.: «МИР», 1990. – 560 с. 2. Батырь А.Ю., Герр Р.Г. Компьютер обретает разум Пер. с англ. - М.: Мир, 1990. - 238 с.: ил. 3. Малпас Дж. Реляционный язык Пролог и его применение: Пер. с англ. /Под редакцией В.Н. Соболева. - М.: Наука. Гл. ред. физ.-мат. лит., 1990. - 464 с. Похожие работы:
Поделитесь этой записью или добавьте в закладки |
Полезные публикации |