Изучение рекурсии в Прологе
У меня есть общее представление о том, как рекурсия работает в Прологе. Мне трудно думать в декларативной парадигме. Не могли бы вы предложить некоторые учебные ресурсы (с решенными примерами) для написания рекурсивных предикатов?
2 ответа
Мой ответ здесь на вопрос " Программирование Пролога - путь к решению" перечисляет несколько [книжных] ресурсов.
Когда я изучал Пролог, я обнаружил, что "Искусство пролога" Леона Стерлинга и Эхуда Шапиро гораздо более поучительно, чем другие книги на эту тему.
" Ремесло пролога" Ричарда О'Кифи тоже выглядит хорошо, но не могу сказать, что когда-либо смотрел на него:
Я думаю, что Prolog показывает свои лучшие результаты в "базовой" обработке естественного языка. Действительно, это было его первое и главное поле битвы, давным-давно.
("базовый", потому что НЛП имеет большую сложность, которая вообще не связана с выбором любой реализации...)
Но НЛП показывают две области, где рекурсия важна для реализации (это присуще проблеме):
- грамматики по своей природе рекурсивны - рекурсия в "данных"
- парсинг: нужен язык для анализа языков - метапрограммирование как основной инструмент.
Разбор можно рассматривать как простейшую область, где необходимо решить обе проблемы.
Как следствие, книга, которую я предпочитаю, это " Пролог и анализ естественного языка", Перейра-Шибер.