Логическоепрограммирование

Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами (в терминах условий или ограничений) и цели (запроса). Процесс выполнения программы трактуется как процесс общезначимости логической формулы, построенной из программы по правилам, установленным семантикой используемого языка. Результат вычисления является побочным продуктом этого процесса. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить.

В этом программировании программа представляет собой не набор команд и инструкций, а описание абстрактной модели решаемой задачи в виде логических аксиом. Формулируются сведения о задаче и предположения, достаточные для её решения.

Программа выполняется путем постановки задачи, описанной в виде задачи проверки целевого логического утверждения (вопроса). Выполнение программы состоит в попытке доказать целевое утверждение, используя сформулированные предположения (аксиомы и способы их преобразования).

Пролог - это наиболее известный язык логического программирования. Этот язык (наряду с функциональным языком Lisp) часто называют языком искусственного интеллекта - с его помощью решаются задачи создания экспертных систем и систем обработки естественных языков.

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