courses:knowledge_base_and_expert_system:lab2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
courses:knowledge_base_and_expert_system:lab2 [2019/08/30 19:46]
andrey.suchkov [Порядок выполнения работы]
courses:knowledge_base_and_expert_system:lab2 [2019/09/09 06:55]
andrey.suchkov [Основные теоретические положения]
Line 5: Line 5:
 Пролог (англ. Prolog) -- язык и система логического программирования,​ основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. Пролог (англ. Prolog) -- язык и система логического программирования,​ основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.
  
-Prolog является декларативным языком программирования:​ логика программы выражается в терминах отношений,​ представленных в виде фактов и правил. Для того чтобы инициировать вычисления,​ выполняется специальный запрос к базе знаний,​ на которые система логического программирования генерирует ответы ​«истина» и «ложь». Для обобщённых запросов с переменными в качестве аргументов созданная система Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.+Prolog является декларативным языком программирования:​ логика программы выражается в терминах отношений,​ представленных в виде фактов и правил. Для того чтобы инициировать вычисления,​ выполняется специальный запрос к базе знаний,​ на которые система логического программирования генерирует ответы ​<<истина>> ​и <<ложь>>. Для обобщённых запросов с переменными в качестве аргументов созданная система Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.
  
-Иначе говоря,​ предикат можно определить как функцию,​ отображающую множество произвольной природы в множество булевых значений {ложно,​ истинно}. Задача прологпрограммы заключается в том, чтобы доказать,​ является ли заданное целевое утверждение следствием из имеющихся фактов и правил.+Иначе говоря,​ предикат можно определить как функцию,​ отображающую множество произвольной природы в множество булевых значений {ложно,​ истинно}. Задача пролог-программы заключается в том, чтобы доказать,​ является ли заданное целевое утверждение следствием из имеющихся фактов и правил.
  
 Язык программирования,​ реализованный в Visual (а ранее в Turbo) Prolog'​е отличается от классического пролога тем, что он основан на строгой статической типизации. В него также добавлены средства объектно-ориентированного программирования,​ анонимные предикаты (лямбда-предикаты),​ факты-переменные и разрушающее присваивание для них, аргументы-домены (''​Generic Interfaces and Classes''​) и параметрический полиморфизм,​ мониторы (''​Monitors with guards''​),​ императивные конструкции (''​foreach'',​ ''​if<​nowiki>​...</​nowiki>​then<​nowiki>​...</​nowiki>​else''​),​ коллекторы списков (''​[<​nowiki>​...</​nowiki>​||<​nowiki>​...</​nowiki>​]''​) и пр. Язык программирования,​ реализованный в Visual (а ранее в Turbo) Prolog'​е отличается от классического пролога тем, что он основан на строгой статической типизации. В него также добавлены средства объектно-ориентированного программирования,​ анонимные предикаты (лямбда-предикаты),​ факты-переменные и разрушающее присваивание для них, аргументы-домены (''​Generic Interfaces and Classes''​) и параметрический полиморфизм,​ мониторы (''​Monitors with guards''​),​ императивные конструкции (''​foreach'',​ ''​if<​nowiki>​...</​nowiki>​then<​nowiki>​...</​nowiki>​else''​),​ коллекторы списков (''​[<​nowiki>​...</​nowiki>​||<​nowiki>​...</​nowiki>​]''​) и пр.
courses/knowledge_base_and_expert_system/lab2.txt · Last modified: 2022/12/10 09:08 (external edit)