Пролог (язык программирования)
логический язык программирования / Материал из Википедии — свободной encyclopedia
Уважаемый Wikiwand AI, давайте упростим задачу, просто ответив на эти ключевые вопросы:
Перечислите основные факты и статистические данные о Пролог (язык программирования)?
Кратко изложите эту статью для 10-летнего ребёнка
Пролог (англ. Prolog) — язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.
Пролог | |
---|---|
Класс языка | Логическое программирование |
Появился в | 1972 |
Автор | Ален Колмероэ[англ.] |
Расширение файлов |
.pl , .pro или .P |
Основные реализации | B-Prolog[англ.], Ciao[англ.], ECLiPSe[англ.], GNU Prolog, Logic Programming Associates[англ.], Poplog[англ.] Prolog, P#, Quintus, SICStus[англ.], Strawberry[англ.], SWI-Prolog, tuProlog[англ.], XSB[англ.], YAP-Prolog[англ.] |
Диалекты | ISO Prolog, Edinburgh Prolog, Turbo Prolog, Visual Prolog |
Испытал влияние | Planner |
Повлиял на | Visual Prolog, Mercury, Oz, Erlang, Strand, KL0, KL1, Datalog |
Язык сосредоточен вокруг небольшого набора основных механизмов, включая сопоставление с образцом, древовидного представления структур данных и автоматического перебора с возвратами. Хорошо подходит для решения задач, где рассматриваются объекты (в частности структурированные объекты) и отношения между ними. Пролог, благодаря своим особенностям, используется в области искусственного интеллекта, компьютерной лингвистики и нечислового программирования в целом. В некоторых случаях реализация символьных вычислений на других стандартных языках вызывает необходимость создавать большое количество кода, сложного в понимании, в то время как реализация тех же алгоритмов на языке Пролог даёт простую программу, легко помещающуюся на одной странице.
Prolog является декларативным языком программирования: логика программы выражается в терминах отношений, представленных в виде фактов и правил. Для того чтобы инициировать вычисления, выполняется специальный запрос к базе знаний, на которые система логического программирования генерирует ответы «истина» и «ложь». Для обобщённых запросов с переменными в качестве аргументов созданная система Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.
Иначе говоря, предикат можно определить как функцию, отображающую множество произвольной природы в множество булевых значений {ложно, истинно}
. Задача пролог-программы заключается в том, чтобы доказать, является ли заданное целевое утверждение следствием из имеющихся фактов и правил.