Декларативное программирование
Направлен на относительно узкий круг задач искусственного интеллекта.
Программист описывает свойства исходных данных, их взаимосвязи, свойства, которыми должен обладать результат, а не алгоритм получения результата.
Разумеется, для получения результата этот алгоритм все равно нужен, но он должен порождаться автоматически той системой, которая поддерживает декларативно-ориентированный язык программирования.
При логическом варианте такого подхода (прежде всего это относится к языку Пролог, PROLOG) задача описывается совокупностью фактов и правил в некотором формальном логическом языке, при функциональном варианте – в виде функциональных соотношений между фактами (язык Лисп, LISP).
Языки логического программирования базируются на классической логике и применимы для систем логического вывода, в частности, для так называемых экспертных систем.
На языках логического программирования естественно формализуется логика поведения, и они применимы для описаний правил принятия решений.
Важным преимуществом такого подхода является достаточно высокий уровень машинной независимости, а также возможность откатов – возвращения к предыдущей подцели при отрицательном результате анализа одного из вариантов в процессе поиска решения (скажем, очередного хода при игре в шахматы), что избавляет от необходимости поиска решения путем полного перебора вариантов и увеличивает эффективность реализации.
Функциональный подход к программированию появился в результате проведения фундаментальных математических исследований.
Важнейшей характеристикой функционального подхода является то обстоятельство, что всякая программа, разработанная на языке
функционального программирования, может рассматриваться как функция, аргументы которой, возможно, также являются функциями.
Функциональный подход породил целое семейство языков, родоначальником которых стал язык программирования LISP.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.