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



Логические языки программирования содержат конструкции, позволяющие выполнить описание проблемы в терминах фактов и логических формул, а собственно решение проблемы выполняет система с помощью механизмов логического вывода. От языка программирования неотъемлем механизм конструктивного вывода целевого утверждения, основанный на строгих ма­тематических моделях. Язык Prolog является родоначальником семейства ему подобных языков, в котором можно выделить три ветви:

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

· Функциональное направление (комбинация с функциональными язы­ками)

· Параллельное направление (логическое программирование по сути своей параллельно).

Класс задач

Класс задач логического программирования практически совпадает с классом задач функционального программирования.

2.4.2. Методология логического параллельного программирования

Логическое программирование допускает естественную параллельную реализацию.

2.5. Методология программирования в ограничениях

Методология программирования в ограничениях- подход, в котором в про­грамме определяется тип данных решения, предметная область решения и ограничения на значение искомого решения. Решение находится системой. Методология предлагает двухуровневую архитектуру, интегрирующую ком­понент ограничения и программный компонент. Компонент ограничений обеспечивает основные операции и состоит из системы выводов на фунда­ментальных свойствах системы ограничений. Операции, окружающие ком­понент ограничений, реализуются программно-языковым компонентом.

 

Происхождение

Методология возникла в начале 80-х годов ХХ века как перспективная об­ласть исследований на пересечении символьных вычислений, искусствен­ного интеллекта, исследования операций и интервальной арифметики.

Методы и концепции

Метод описательной модели вычисленийзаключается в том, что программа на языке программирования содержит описание понятий и задач. Метод под­держивается концепцией модели.

Вычислительная модель

Программирование в ограничениях - это программирование в терминах постановок задач.

Синтаксис и семантика

Постановка задачи – это конкретный набор переменных (V), соответствующих им конечных (перечислимых) множеств значений (D), и набор ограничений (C). Ограничения представлены как утверждения, в которые в качестве «параметров» входят переменные из некоторого подмножества набора V. Решение такой задачи - набор значений переменных, удовлетворяющий всем огра­ничениям (С[j]) .

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

С этой целью набор ограничений может быть соответствующим образом преобразован - по правилам, аналогичным правилам языка Prolog. Любую задачу можно рассматривать как ограничение: "значения переменных долж­ны быть решением этой задачи".

Языки программирования в ограничениях

Языки программирования в ограничениях позволяют в программе опреде­лить тип данных решения, предметную область решения и ограничения на значение искомого решения. Решение находится системой. Данные языки получили наибольшую неизвестность в 80-х годах ХХ века.

Заметим, что зачаточным языком программирования в ограничениях может служить язык описания условий для утилиты "make".

Язык программирования УТОПИСТ (Универсальные Текстовые ОПИСания Терминов) предназначен для описания понятий и задач. Язык является ба­зовым для инструментальной системы программирования ПРИЗ. Язык имеет процедурную часть (поскольку при описа­нии задачи иногда приходится описывать действия), но основная его выра­зительность достигается за счет описаний.

Класс задач

Класс задач программирования в ограничениях - задачи исследования опе­раций и искусственного интеллекта. В таких задачах часто используется не­которое пространство решений, сужением которого достигается необходи­мый результат. Такие сужения можно естественным образом представить как ограничения.

 


Дата добавления: 2018-05-12; просмотров: 445; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!