Логическое программирование. Основная идея логического программирования - использование формальной логической записи для сообщения компьютеру вычислительных процессов

Основная идея логического программирования - использование формальной логической записи для сообщения компьютеру вычислительных процессов. В современных языках логического программирования в качестве формы записи используется исчисление предикатов.

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

Самый известный язык, поддерживающий логическое программирование Prolog. Программы на этом языке состоят из набора утверждений. Видов утверждений в языке немного. Одним из обычных применений языка Prolog является его использование в качестве базы данных с встроенной логикой. База данных языка состоит из двух типов утверждений: фактов и правил. Примерам фактов могут служить следующие выражения:

mother (joanne, jake)

father (vern, joanne).

Они утверждают, что объект joanne приходится матерью (mother) объекту jake, а объект vern – отцом (father) объекту joanne.

Пример правила:

grandparent(X, Z):-parent (X,Y), parent(Y,Z)

Оно утверждает, что для конкретных значений переменных X, Y, Z и из факта, что X является родителем объекта Y, а объект Y является родителем объекта Z, можно сделать вывод, что объект X является бабушкой или дедушкой grandparent объекту Z.

База данных Prolog может интерактивно запрашиваться целевыми утверждениями, например:

father (bob, jane).

В нем спрашивается является ли объект bob отцом (father) объекта jane. При получении такого запроса система Prolog использует резолюцию, чтобы определить истинность или ложность утверждения.

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: