Основные данные о работе
Версия шаблона
|
2.1
|
ЦДОР
|
Бежецкий
|
Вид работы
|
Творческое эссе
|
Название дисциплины
|
Информационные технологии
|
Тема
|
Язык логического
программирования Пролог
|
Фамилия
|
Забелина
|
Имя
|
Мария
|
Отчество
|
Владимировна
|
№ контракта
|
0713012400509031
|
Основная часть
Язык логического программирования Пролог
С появления языка Пролог прошло более 30 лет, и сейчас он
вступил в пору «зрелости». Пролог один из старейших языков программирования,
хотя он менее популярен, чем, например, паскаль.
Язык программирования Пролог
разработан коллективом во главе с Колмерауэром в 1970 году. Это была первая
попытка в разработке языка, который позволял бы программисту описывать свои
задачи средствами математической логики, а не с помощью привычных и традиционных
для программирования конструкций, указывающих что и как должна делать
вычислительная машина.
Язык Пролог предназначен для представления
и использования знаний в различных предметных областях. Этот язык является
декларативным. Будучи таким языком, Пролог воспринимает в качестве программы
некоторое описание задачи или баз знаний, и сам производит логический вывод, а
также поиск решения задач.
Основными понятиями в этом
языке являются факты, правила логического вывода и запросы, позволяющие
описывать базу данных, процедуры логического вывода и принятия решений.
Под базами знаний в
информатике подразумевается совокупность фактов и правил вывода, допускающих
логический вывод и осмысленную обработку информации. В языке программирования
Пролог базы знаний описываются в форме конкретных фактов и правил логического
вывода над базами знаний и процедуры обработки информации, представляющей собой
сведения и знания о людях, предметах и так далее.
Наиболее важным свойством
информации, хранящейся в базе знаний, является достоверность конкретных фактов
и сведений.
В ответах на простейшие
запросы к базам знаний логического программирования Пролог выдается либо
истина, либо ложь в зависимости от соответствующих фактов. Истинность и
ложность ответов зависит от накопления баз знаний информацией.
Обобщенные сведения в базах
знаний на языке Пролог задаются с помощью правил логического вывода,
выполняющих роль определения понятий, а также логических процедур, которые
состоят из набора правил логического вывода. Достоверность обобщенных сведений
зависит от наличия необходимых фактов достоверности фактов в базе знаний.
Факты в Пролог описываются
логическими предикатами с конкретными значениями. Правила в языке
программирования записываются в форме правил логического вывода с логическими
заключениями и списком логических условий.
Особую роль в интерпретаторе
Пролога играют конкретные запросы к базам данных, на которые система
логического программирования генерирует ответы «истина» и «ложь».
Факты в базах данных этого
языка представляют конкретные сведения. Обобщенные сведения и знания в языке
задаются правилами логического вывода и наборами таких правил вывода над
конкретными фактами. Факты помимо отношений, могут выражать и свойства.
Программа на языке Пролог
состоит из утверждений, составляющих базу фактов и базу правил, к которым
допустимо обращение с запросами. Они также называются целевыми утверждениями
или просто целями.
Утверждения языка Пролог
конструируются из термов. Терм – это либо константа, либо переменная, либо
структура. Константа – это либо атом, либо число. Атомы бывают трех типов –
последовательность букв, цифр и знака «подчеркивания», обязательно начинающаяся
с маленькой буквы; заключенная в апострофы последовательность любых символов;
последовательность специальных знаков.
Любая система программирования
Пролог обеспечивает работу с целыми числами, а в большинстве своем
действительными числами.
Константы в Прологе
используются для именования конкретных объектов предметной области и конкретных
отношений между ними.
Переменная – это
последовательность букв, цифр, знака «_», обязательно начинающаяся с большой
буквы. Среди переменных выделена «_» называемая анонимной. Она используется в
ситуациях, когда нас не интересует ее значение.
Структура языка Пролог
используется для представления предикатов, операций, информации сложной
структуры.
Структура программы на Прологе
отличается от структуры программы, написанной на процедурном языке. Пролог –
программа является набором фактов и утверждений. Решение задачи достигается
путем интерпретации этих правил и фактов. При этом пользователю не требуется
обеспечить детальную последовательность инструкций, чтобы указать, каким же
образом осуществляется управление ходом вычислений на пути к результату.
Во всех других отношениях
Пролог ничем не отличается от традиционных языков программирования. Пролог –
программа предназначена для решения отдельной задачи.
Перечень возможных
синтаксических конструкций Пролога невелик, а это означает, что этот язык
довольно просто изучать, он легко осваивается. Он очень хорошо подходит для
начального изучения программирования, так как он ориентирован на человеческое
мышление в отличие от императивных языков, ориентированных на компьютер.
Практически полное отсутствие таких конструкций, как ветвление, цикл, влияют на
скорость освоения языка. Кроме того, язык программирования упорядочивает
мышление и позволяет человеку, изучающему этот язык программирования, лучше
разобраться в своей мыслительной деятельности. Ведь очень часто для того, чтобы
запрограммировать решение задачи, программисту требуется понять, как он сам
решает эту задачу.
На Прологе описываются объекты
и отношения, а затем описываются правила, при которых эти отношения являются
истинными.
Для описания арифметических
операций в языке Пролог используются структуры, функторами которых выступают
знаки арифметических действий, а компонентами – термы, являющие операндами. В
качестве операндов могут выступать числа, переменные и структуры. А структуры
должны представлять собой арифметические выражения.
Термы имеют рекурсивное
определение, как рекурсивная совокупность объектов. Если рассматривать терм,
как математическое понятие, то терм является функций, а точнее фуктором. С
точки зрения программирования можно сказать о терме гораздо проще – это объект
с набором атрибутов, атрибутами могут являться другие термы, константы либо
переменные.
Но запись арифметических
выражений в виде структур для человека непривычна, поэтому синтаксис языка
допускает для них инфиксную форму.
Одной из важнейших особенностей
Пролога является то, что в дополнение к логическому поиску ответов на
поставленные нами вопросы, он может иметь дело с альтернативами и находить все
возможные решения. Вместо обычной работы от начала программы и до ее конца,
Пролог может возвращаться назад и просматривать более одного пути при решении
всех составляющих задачу частей.
Пролог реализован практически
во всех операционных системах и платформах.
Многие современные реализации
языка имеют внутренне расширение за счет ОПП – архитектуры. Кроме того,
существуют и свободные реализации языка Пролог.
Базовым принципом языка
является равнозначность представления программы и данных, отчего утверждения
языка одновременно являются и записями, подобными записям в базе данных, и
правилами. Сочетание этого приводят к тому, что по мере работы системы Пролога
знания накапливаются. Отсюда следует, что Пролог считают естественной средой
для накопления базы знаний и обучения школьников и студентов принципам
логического программирования.
Читать программы на языке
Пролог довольно легко, так как в языке очень мало специальных символов и
ключевых слов, которые в свою очередь легко переводятся на естественный язык.
Язык Пролог, как
интерпретатор, приглашает пользователя вводить информацию. Пользователь набирает
запрос или имя функции. Выводится значение этого запроса, а также возможные
значения переменных запроса, присвоение которых делает запрос истинным.
Язык Пролог является
практически единственным широко используемым язык программирования, для
которого имеется множество реализаций для работы с ними. По наличию интерфейса
все приложения можно разделить на два типа – визуальные и консольные
приложения. Если мы рассмотрим реализацию работы с Пролог для операционной
системы Windows, то наиболее популярным консольным приложением является Turbo
Prolog.
У него есть ряд особенностей.
В нем отсутствует возможность рассматривать правила как данные, то есть
добавлять, удалять их во время работы. Изменяемой частью программы является
внутренняя база данных. Во время выполнения программы в нее можно добавлять и
из нее можно удалять факты. Данное консольное приложение не способно работать с
мышью, что иногда делает его неудобным в работе. Если взять операционную
систему Linux, то в ней самыми популярными для работы с приложениями являются
компиляторы и интерпретаторы. Они также являются консольными приложениями, что
ведет к затруднению работы при написании программы на языке программирования
Пролог.
Интерес к Прологу затихал и
возобновлялся вновь. Наиболее высоко он «ценился» во время разработок японской
национальной программы компьютеры пятого поколения в 1980 годах. Он в 1980 году
был включен в ряд советских учебников по информатики для изучения элементов
математической логики и принципов логического построения.
На сегодняшний момент нет
приложения под операционной системой Windows для программирования на языке
Пролог, которое бы сочетало в себе удобный интерфейс и реализацию Пролог
соответствующие стандарту этого языка.
В настоящее время язык
программирования Пролог продолжает развиваться в разных странах и вбирает в
себя новые технологии и концепции. Например, одно из направлений языка, которое
также реализуется и в России, представляет собой концепцию интеллектуальных
агентов.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.