Изучение рекурсии в Прологе

У меня есть общее представление о том, как рекурсия работает в Прологе. Мне трудно думать в декларативной парадигме. Не могли бы вы предложить некоторые учебные ресурсы (с решенными примерами) для написания рекурсивных предикатов?

2 ответа

Решение

Мой ответ здесь на вопрос " Программирование Пролога - путь к решению" перечисляет несколько [книжных] ресурсов.

Когда я изучал Пролог, я обнаружил, что "Искусство пролога" Леона Стерлинга и Эхуда Шапиро гораздо более поучительно, чем другие книги на эту тему.

Обложка Art of Prolog

" Ремесло пролога" Ричарда О'Кифи тоже выглядит хорошо, но не могу сказать, что когда-либо смотрел на него:

Обложка Craft of Prolog

Я думаю, что Prolog показывает свои лучшие результаты в "базовой" обработке естественного языка. Действительно, это было его первое и главное поле битвы, давным-давно.

("базовый", потому что НЛП имеет большую сложность, которая вообще не связана с выбором любой реализации...)

Но НЛП показывают две области, где рекурсия важна для реализации (это присуще проблеме):

  • грамматики по своей природе рекурсивны - рекурсия в "данных"
  • парсинг: нужен язык для анализа языков - метапрограммирование как основной инструмент.

Разбор можно рассматривать как простейшую область, где необходимо решить обе проблемы.

Как следствие, книга, которую я предпочитаю, это " Пролог и анализ естественного языка", Перейра-Шибер.

Другие вопросы по тегам