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

Пролог (язык программирования)

Mercury , Prolog ) — язык и система логики предикатов первого порядка .

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

Факты в языке Пролог описываются логическими предикатами с конкретными значениями. Правила в Прологе записываются в форме правил логического вывода с логическими заключениями и списком логических условий.

Особую роль в интерпретаторе Пролога играют конкретные запросы к базам знаний, на которые система логического программирования генерирует ответы «истина» и «ложь». Для обобщенных запросов с переменными в качестве аргументов созданная систем Пролог выводит конкретные данные в подтверждение истинности обобщенных сведений и правил вывода.

Факты в базах знаний на языке Пролог представляют конкретные сведения (знания). Обобщённые сведения и знания в языке Пролог задаются правилами логического вывода (определениями) и наборами таких правил вывода (определений) над конкретными фактами и обобщенными сведениями.

Начало истории языка относится к 1970-м годам. [1] Будучи декларативным языком программирования , Пролог воспринимает в качестве программы некоторое описание задачи или баз знаний, и сам производит логический вывод, а также поиск решения задач, пользуясь механизмом

Развитие [ ]

Интерес к Прологу поднимался и затихал несколько раз, энтузиазм сменялся жёстким неприятием. Наиболее высоко был поднят интерес к языку Пролог, как к языку будущего, во время разработок японской национальной программы компьютеры пятого поколения в 1980-х годах, когда разработчики надеялись, что с помощью Пролога можно будет сформулировать новые принципы, которые приведут к созданию компьютеров более высокого уровня интеллекта.

Язык Пролог в 1980-х годах был включен в ряд советских вузовских и школьных учебников баз знаний и моделей экспертных систем. С этой целью на IBM PC и ряде советских школьных компьютеров были реализованы учебные русскоязычные интерпретаторы Пролога.

В языке Прологе факты описываются в форме логических предикатов с конкретными значениями. Правила вывода описываются логическими предикатами с определением правил логического вывода в виде списка предикатов над базами знаний и процедурами обработки информации.

Межплатформенность [ ]

Пролог реализован практически для всех известных операционных систем и платформ (в том числе для Архитектура [ ]

Критика [ ]

Пролог критикуется в первую очередь за свою недостаточную гибкость, отчего решения на обычных языках программирования (типа Новая перспектива [ ]

Перспектива развития всемирной Сети, известной как проект OWL, основанного на концепции First-Order Logic (FOL) [2] , реализацию которой, в свою очередь, можно рассматривать как значительно более расширенную технику классического Prolog.

Читайте также:  Программирование экзамен 2 семестр

Примечания [ ]

Ссылки [ ]

  • Международный стандарт ISO для языка Пролог
  • tuProlog — основанный на Java облегчнный Пролог
  • Русский Пролог — Актор
  • Visual Prolog
  • Gprolog (GNU Prolog)
  • Болгарский Клубничный Пролог
  • SWI-пролог
  • Искусственный интеллект: стагнация или новая перспектива

Источник

Prolog урок 1. Язык логического программирования Prolog

егэ разбор егэ разбор pascal уроки c уроки python уроки c++ уроки vb уроки lazarus уроки php уроки html уроки css уроки javascript уроки jquery и ajax уроки prolog уроки flash уроки

Пролог был разработан в Марсельском университете во Франции Алэном Колмероэ и другими членами «группы искусственного интеллекта» в 1973 году. Данная команда энтузиастов разработала программу, предназначенную для доказательства теорем. Написана она была на Фортране, и использовалась при построении систем обработки текстов на естественном языке. Работала программа довольно медленно и назвалась Prolog (от Programmation en Logique на франц.). Программа послужила прообразом Пролога.

Язык логического программирования prolog — декларативный, что означает, что программа, написанная на нем, выглядит как набор логических описаний, определяющих цель, ради которой она и написана.

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

По сути, Prolog представляет собой не столько язык для программирования, сколько средство для описания данных и логики их обработки. Поскольку язык не алгоритмический, то и программа на Прологе не содержит явных алгоритмических конструкций типа условных или циклических операторов, т.е. не является программой в классическом понимании. Написанная на Прологе, она представляет собой модель фрагмента предметной области на решение проблемы которой и направлена задача. Само решение задачи записывается не в терминах компьютера, как это принято в императивных языках, а в терминах предметной области решаемой задачи, по сути, в духе объектно-ориентированного программирования.

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

Области применения языка Prolog и декларативных языков в целом

  • Реализация систем искусственного интеллекта.
  • Создание экспертных систем и оболочек экспертных систем.
  • Разработка систем помощи принятия решений.
  • Разработка систем обработки естественного языка.
  • Построение планов действий роботов.
  • и т.п.

Особенности языка

  • Описание проблемы и правил ее решения.
  • Нахождение всех возможных решений с помощью механизма поиска с возвратом (backtracking).
  • Легкий синтаксис.

Версии и компиляторы

На сегодня существует довольно много реализаций Пролога. Но самый первый компилятор языка был создан Уорреном и Перейрой в 1977 году в Эдинбурге, компилятор предназначался для ЭВМ DEC–10. Тот самый компилятор, известный как реализация под названием «эдинбургская версия», фактически стал первым и единственным стандартом языка и послужил прототипом для многих последующих реализаций Пролога. Интересным фактом является то, что компилятор был написан на самом Прологе.

Читайте также:  Программирование ключа бмв е90

Изучать Пролог без привязки к конкретной его версии не совсем целесообразно. Версий Пролога очень много, но мы выберем наиболее известную в России и довольно эффективную версию Пролога — Турбо Пролог. Начинала разработку версии (реализации) фирма Borland International совместно с датской компанией Prolog Development Center (PDC). Первая версия вышла в 1986 году. Последняя совместная версия 1988 года вышла под номером 2.0.

Prolog Development Center (PDC)

Рис. 1. Сайт центра разработки Prolog (Prolog Developement Center)

Остальные версии начиная с 1990 года, когда PDC получила монопольное право на Турбо Пролог, продвигались под названием PDC Prolog.

Таким образом, в 1992 году вышла версия PDC Prolog 3.31, а в 1996 году, при участии группы питерских программистов, PDC выпустила систему Visual Prolog 4.0, у которой много достоинств, но мы не будем на них останавливаться.

Для работы мы выберем самый простой компилятор TPtolog (Турбо Пролог).

К достоинствам Турбо Пролога относится возможность присоединять к программе на этом языке процедуры, написанные на Паскале, Си, Фортране или ассемблере.

Загрузка Tprolog через Dosbox

Для работы в Tprolog с 68 битной системой необходимо использовать программу для эмуляции DOS (например, dosbox).

Алгоритм работы с программой следующий:

  • запуск dosbox
  • mount c c:\dos\TProlog
  • c: => enter
  • prolog => enter
  • Набор кода программы в редакторе «notepad++» и сохранение с расширением .PRO в папке tprolog\labs

работа с dosbox

Работа в Tprolog

Горячие клавиши и основные команды:

  • F10, Esc — переход в главное меню.
  • Esc — выход из текущего пункта / отмена.
  • Меню Edit — переход к редактированию кода.
  • Меню Files ->New File — создание нового файла.
  • Меню Compile ->Memory -> Меню Run — компиляция и запуск программы.

При работе в tprolog иногда возникают нестандартные ситуации, когда программа не реагирует на нажатия клавиш. Если не открывается какой-либо пункт меню – то надо несколько раз нажать клавишу i .

Запуск программы осуществляется двумя способами:

  1. Через написание раздела GOAL и запуска программы в меню compile и run .
  2. Работа с окном DIALOG (в таком случае раздел GOAL в программе не нужен).

Запуск программы при использовании раздела GOAL

работа в TProlog

работа в TProlog

Работа с окном dialog

Источник

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

На этом шаге мы рассмотрим краткую характеристику языка программирования Пролог .

В начале 70-х годов группа специалистов Марсельского университета во главе с А.Колмероэ разработала специализированную систему для доказательства теорем. Она была написана на языке Фортран и использовалась для обработки естественного языка. Система доказательства теорем, названная Пролог , воплощала процедурную семантику Р.Ковальского . Позже Ван Энден и Р.Ковальский разработали формальную семантику для языка логических программ.

Сегодня Пролог — язык, предназначенный для создания приложений, использующих средства и методы искусственного интеллекта и создания экспертных систем.

Читайте также:  Чем компилятор отличается от среды программирования

  • разработка быстрых прототипов прикладных программ;
  • управление производственными процессами;
  • создание динамических реляционных баз данных;
  • перевод с одного языка на другой;
  • создание естественно-языковых интерфейсов для существующих систем;
  • реализация экспертных систем и оболочек экспертных систем;
  • создание пакетов символьных вычислений для решения уравнений, интегрирования и дифференцирования;
  • доказательство теорем и пакеты искусственного интеллекта, в которых возможности Пролога по обеспечению дедуктивного вывода применяются для проверки различных теорий.

Математическая модель, лежащая в основе Пролога , шире модели реляционных баз данных. По этой причине Пролог может использоваться для приложений обработки информации.

Формальная точность и возможность интерпретации Пролога делают его чрезвычайно подходящим языком для представления знаний.

В области экспертных систем Пролог применяется для моделирования экспертизы в различных предметных областях. Коммерческие системы, написанные на Прологе , ориентированы на такие приложения, как медицина, законодательство, автоматизация производства.

На Прологе удобно описывать различные структуры данных, такие как списки и деревья.

В наших шагах рассматриваются структура и методы Пролога , необходимые для разработки программ. Излагаются вопросы, связанные с использованием списков, файлов, графики, обработки строковой информации.

Пролог существенно отличается от языков, традиционно используемых в программировании. В языках Бейсик , Паскаль основным методом программирования является разбиение задачи на отдельные шаги и их последовательное описание. Последовательность шагов отображается в машинные команды, выполняемые компьютером. Отменить ранее выполненные команды невозможно, поскольку содержимое памяти постоянно обновляется. Языки программирования такого вида называются алгоритмическими .

Свое название Пролог получил от слов » ПРО граммирование на языке ЛОГ ики». На самом деле Пролог не является чистым языком логического программирования, но его создание — важный этап в этом направлении.

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

Теоретической основой Пролога является раздел символьной логики, называемый исчислением предикатов . Прологу присущ ряд свойств, которыми не обладают традиционные языки программирования, что делает его мощным средством в области логического программирования. К таким свойствам относятся механизм вывода с поиском и возвратом, встроенный механизм сопоставления с образцом, и простая структура данных с возможностью ее изменения. Пролог отличает единообразие программ и данных. Программа и данные — это две различные точки зрения на объекты Пролога . В единой базе данных можно свободно создавать и уничтожать отдельные элементы. Поскольку не существует различия между программами и данными, можно менять программу во время ее работы. В Прологе отсутствуют указатели, операторы присваивания и перехода. Естественным методом программирования является рекурсия.

Со следующего шага мы начнем рассматривать некоторые теоретические положения, лежащие в основе Пролога .

Источник

Оцените статью