Изучение Pilog — 1: Краткое введение в Prolog

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


Краткая история ПРОЛОГа

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

В 1980-х годах Пролог сыграл важную роль в развитии экспертных систем и искусственного интеллекта. В 1982 году японское правительство выступило с инициативой «Компьютерные системы пятого поколения», целью которой было занять лидирующие позиции в мире в области искусственного интеллекта и умных машин, и выбранным инструментом для достижения этой цели было логическое программирование. В ответ на это был запущен аналогичный европейский проект под названием Esprit, и оба они привели к активизации исследований и разработок в области Prolog.


Забавный факт: Лисп был разработан в США, а Пролог — в Европе, и это привело к своеобразному националистическому предпочтению одного из этих языков в области искусственного интеллекта. Давайте возьмем лучшее из обоих миров для Pilog!


До сих пор Пролог является самым важным и популярным языком логического программирования и используется в научных исследованиях и образовании, хотя в промышленных приложениях встречается редко. Он оказал значительное влияние на другие языки, такие как Clojure и Erlang.

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


Насколько Prolog необходим для Pilog?

Для того чтобы понять Pilog, я прошел бесплатную онлайн-версию курса Learn Prolog Now! в качестве справочника для следующих сообщений.

Курс Learn Prolog Now! состоит из 12 глав, из которых мы выберем следующие 7 наиболее важных для понимания Pilog:

  • Глава 1 Факты, правила и запросы
  • Глава 2 Унификация и поиск доказательств
  • Глава 3 Рекурсия
  • Глава 4 Списки
  • Глава 6 Больше списков
  • Глава 10 Вырезания и отрицания.

В основном мы будем следовать содержанию этих глав, только синтаксис будет переведен из Prolog в Pilog.


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

  • Глава 5 Арифметика
  • Глава 7 Грамматики определенных предложений
  • Глава 8 Больше грамматик определенного предложения
  • Глава 9 Более пристальный взгляд на термины
  • Глава 11 Манипулирование базами данных и сбор решений
  • Глава 12 Работа с файлами

Установка Pilog и Prolog

Pilog поставляется со стандартным pil21-дистрибутивом, дополнительная установка не требуется. Если вы используете старую версию PicoLisp (например, из репозитория Ubuntu или аналогичного), подумайте о том, чтобы обновить ее до новой (инструкции здесь).

Я также установил Prolog во время создания вводных постов по Pilog. Если вы хотите сравнить синтаксис Pilog с Prolog или провести некоторые тесты, я рекомендую установить Prolog в вашей системе. Существует две основные реализации: SWI-Prolog и SICStus Prolog, который является коммерческим. Так что если вы не хотите платить 165 евро в год, вам лучше выбрать SWI-Prolog.

В системах Linux его можно установить с помощью следующих команд:

$ sudo apt-add-repository ppa:swi-prolog/stable
$ sudo apt-get update
$ sudo apt-get install swi-prolog
Войти в полноэкранный режим Выйти из полноэкранного режима

или вы можете получить его из репозитория GIT. Существуют также стабильные версии для Windows и MacOSX, а также termux-binary для Android.


В следующем посте мы действительно начнем работу с Pilog и познакомимся с основными фактами, правилами и запросами.


Источники

  • http://www.let.rug.nl/bos/lpn//lpnpage.php?pageid=online
  • https://dev.to/donaldkellett/less-than-12-days-of-prolog—a-guide—brief-review-of-the-prolog-programming-language-1dgl

Оцените статью
Procodings.ru
Добавить комментарий