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/09/09 06:49]
andrey.suchkov [Основные теоретические положения]
courses:knowledge_base_and_expert_system:lab2 [2019/09/19 21:20]
andrey.suchkov [Порядок выполнения работы]
Line 5: Line 5:
 Пролог (англ. Prolog) -- язык и система логического программирования,​ основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. Пролог (англ. Prolog) -- язык и система логического программирования,​ основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.
  
-Prolog является декларативным языком программирования:​ логика программы выражается в терминах отношений,​ представленных в виде фактов и правил. Для того чтобы инициировать вычисления,​ выполняется специальный запрос к базе знаний,​ на которые система логического программирования генерирует ответы ​«истина» и «ложь». Для обобщённых запросов с переменными в качестве аргументов созданная система Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.+Prolog является декларативным языком программирования:​ логика программы выражается в терминах отношений,​ представленных в виде фактов и правил. Для того чтобы инициировать вычисления,​ выполняется специальный запрос к базе знаний,​ на которые система логического программирования генерирует ответы ​<<истина>> ​и <<ложь>>. Для обобщённых запросов с переменными в качестве аргументов созданная система Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.
  
 Иначе говоря,​ предикат можно определить как функцию,​ отображающую множество произвольной природы в множество булевых значений {ложно,​ истинно}. Задача пролог-программы заключается в том, чтобы доказать,​ является ли заданное целевое утверждение следствием из имеющихся фактов и правил. Иначе говоря,​ предикат можно определить как функцию,​ отображающую множество произвольной природы в множество булевых значений {ложно,​ истинно}. Задача пролог-программы заключается в том, чтобы доказать,​ является ли заданное целевое утверждение следствием из имеющихся фактов и правил.
Line 45: Line 45:
     - Кому Balto является родителем?​     - Кому Balto является родителем?​
   - Постройте трассу выполнения программы для каждого запроса.   - Постройте трассу выполнения программы для каждого запроса.
-  - **//​Задание для самостоятельной работы.//​** Используя предикаты ''​parent(symbol,​symbol)'',​ ''​man(symbol)'',​ ''​woman(symbol)'',​ ''​married(symbol,​symbol)'',​ записать факты, описывающие Вашу семью. \\ Написать на языке Visual Prolog программу //FAMILY//, содержащую 8 правил вывода для любых родственных отношений в Вашей семье (например:​ мать, отец, сестра,​ брат, племянница,​ племянник,​ тетя, дядя, внучка,​ внук, бабушка,​ дедушка,​ двоюродная сестра,​ двоюродный брат и т.д.). \\ Отладить программу на 5-6 различных запросах.+  - **//​Задание для самостоятельной работы.//​** Используя предикаты ''​parent(symbol,​symbol)'',​ ''​man(symbol)'',​ ''​woman(symbol)'',​ ''​married(symbol,​symbol)'',​ записать факты, описывающие Вашу семью. \\ Написать на языке Visual Prolog программу //FAMILY//, содержащую ​не менее ​8 правил вывода для любых родственных отношений в Вашей семье (например:​ мать, отец, сестра,​ брат, племянница,​ племянник,​ тетя, дядя, внучка,​ внук, бабушка,​ дедушка,​ двоюродная сестра,​ двоюродный брат и т.д.). \\ Отладить программу на 5-6 различных запросах.
 ===== Варианты заданий ===== ===== Варианты заданий =====
 [[.lab2:​lab2_vars]] [[.lab2:​lab2_vars]]
courses/knowledge_base_and_expert_system/lab2.txt · Last modified: 2022/12/10 09:08 (external edit)