This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Термин «полнота» применительно к базам знаний относится к двум различным концепциям.
В формальной логике база знаний KB является полной , если не существует формулы α такой, что KB ⊭ α и KB ⊭ ¬α.
Пример базы знаний с неполными знаниями:
КБ := {А ∨ Б}
Тогда у нас есть KB ⊭ A и KB ⊭ ¬A.
В некоторых случаях согласованную базу знаний можно сделать полной с предположением о закрытом мире — то есть, добавляя все невыведенные литералы как отрицания к базе знаний. Однако в приведенном выше примере это не сработает, поскольку сделает базу знаний непоследовательной:
КБ' = {А ∨ В, ¬А, ¬В}
В случае, когда KB := { P(a), Q(a), Q(b) }, KB ⊭ P(b) и KB ⊭ ¬P(b), поэтому, исходя из предположения о замкнутости мира, KB' = { P(a), ¬P(b), Q(a), Q(b) }, где KB' ⊨ ¬P(b).
В управлении данными полнота — это метазнание , которое может быть подтверждено для частей базы знаний посредством утверждений о полноте. [1] [2]
Например, база знаний может содержать полную информацию для предикатов R и S, тогда как для предиката T ничего не утверждается. Тогда рассмотрим следующие запросы:
Q1 :- Р(х), С(х) Q2 :- Р(х), Т(х)
Для запроса 1 база знаний вернула бы полный ответ, поскольку пересекаются только предикаты , которые сами по себе являются полными. Для запроса 2 такой вывод сделать нельзя, поскольку предикат T потенциально неполный.
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь )