1 Цель 3 2 Введение 3 3 Преимущества логического программирования 4 4 Язык логического программирования Prolog 4 4.1 О языке Prolog 4
4.2 Сравнение с традиционными языками программирования. 6
4.3 Программирование на чистом Прологе. 8
4.4 Порядок правил. 8
4.5 Проблема завершения программ. 9
4.6 Порядок целей. 9
4.7 Избыточные решения. 10
4.8 Эффективность программ на Прологе. 11
4.9 Разработка программ. 13
5 Другие языки логического программирования. 16 5.1 Язык логического программирования KL0. 16
5.2 Типы данных KL0. 17
5.3. Язык программирования ShapeUp. 18
6 Заключение 19 7 Список литературы 21
Цель
Целью данной работы является изучение с парадигмы логического программирования
Введение
Логическое программирование — парадигма программирования, а также раздел дискретной математики, изучающий методы и возможности этой парадигмы, основанной на выводе новых фактов из данных фактов согласно заданным логическим правилам.
Логическое программирование возникло как упрощение функционального программирования для математиков и лингвистов, решающих задачи символьной обработки. Вместо описания алгоритма решения задачи описывается мир задачи, какие имеются объекты, их свойства и отношения между ними. За основу описания берутся отношения между объектами. Логическая программа представляет собой набор отношений, которые называются фактами, и правил, на основании которых могут быть получены новые отношения. Она не задает никакого процесса вычислений. Это своего рода база данных (БД) о предметной области задачи. Ее применение инициализируется запросом. Поиск ответа на запрос заключается в попытке логического вывода запроса на основании фактов и правил, имеющихся в БД. Поиск решения выполняется специальной программой - интерпретатором.
Первым языком логического программирования был язык Planner, в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам (с помощью метода backtracking) и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.
В настоящее время самый популярный язык логического программирования – Prolog, с множеством диалектов, являющийся по своей сути универсальной машиной вывода, работающей в предположении замкнутости мира фактов. Другие менее популярные языки: Datalog, Mercury, Oz.