Пролог: искусственный интеллект в ваших программах...
Умеренный успех языка, несомненно, обусловлен тем, что его создатели захотели использовать его как полноценный язык, из-за чего программист наталкивается на проблемы, где логическое программирование не является ни естественным, ни очень удобным.
В то время как она преуспевает в других проблемах, когда процедурный метод очень трудоемкий, благодаря своей способности оценивать на основе данных, выраженных в виде предикатов.
Таким образом, язык Пролога принимает все свое значение, если вложить его в процедурный язык, что позволяет использовать один или другой тип программирования там, где они позволяют лучше всего выразить обработку. Например, процедурные функции для рисования лабиринта и перемещения в него сущностей, классы для их характеристики, логические предложения для придания им умного поведения и интеграции добавленных со временем знаний.
Для каких проблем лучше всего подходит Prolog?
Проблемы, которые Пролог решит для вас
Отношения
При регистрации реляционных данных в виде клаузул, например родственных отношений между людьми, оценка позволяет сделать вывод о родственных отношениях между всеми парами людей.
Понимание
Естественный язык может быть сформулирован путем разбиения правил грамматики на пункты, после чего можно реализовать машинный перевод или ответить на обычные вопросы.
Предвкушение и объяснение
Представление данных в древовидной форме, где данные одного пункта - это другие пункты, позволяет анализировать гипотезы, прогнозировать последствия, находить причины.
Краткий учебник Prolog
Пролога учат использовать, установив интерпретатор, например, SWI-Prolog или GNU Prolog. Их командная консоль позволяет загружать программы и взаимодействовать с содержащейся в них базой знаний.
После загрузки и установки консоль открывается щелчком значка SWI или GNU.
Также в системную консоль можно запустить интерпретатор, например:
swipl -s programme -g "message" -t halt
Программа - имя вашего файла без расширения «.pl».
Программа компилируется и запускается с командой «consunt» из консоли Prolog.
Оба интерпретатора совместимы с одним и тем же исходным кодом, но SWI отвечает истиной или ложью, в то время как SWI отвечает yes или no.
- Учебник Пролога: Записывается набор фактов.
- Учебник Пролога: Проблема изложена в виде правил .
- Демо Пролог: Ищу квартиру .
Наборы Prolog для интеграции с другим языком
SWI-Prolog является бесплатным и разрабатывается с 1987 года, эта реализация может использоваться сама по себе как платформа разработки и даже как HTTP-сервер. Она может анализировать и генерировать HTML или JSON-код и общаться с базой данных.
И она может взаимодействовать с другими языками, такими как C++, Java, C #. Недавно появилась версия для WebAssembly: swi-prolog-wasm. Так что можно использовать с JavaScript или любым языком компиляции в wasm .
Prolog можно использовать в веб-приложении с такой реализацией wasm, как выше, или с интервьюером, написанным на JavaScript, например, как Tau Prolog. Он может работать с Node.js.
Другие комплекты для JavaScript и других языков:
- JSL. Расширение логического программирования для JS на основе JSON. Обеспечивает объединение. Данные добавляются в базу как JS-объекты и одно правило - массив объектов.
- CHR.js Набор для разрешения ограничений, выраженных в виде правил для JavaScript.
- Йилд Пролог. Может быть добавлен к JS или C #. Это минималистический набор.
- Пролог интерпретирует. Основная и очень компактная реализация в JavaScript, если ты хочешь решить простые задачи в веб-приложении.