Open world assumption
From Wikipedia, the free encyclopedia
In formal logic, the open world assumption is the assumption that the truth-value of a statement is independent of whether or not it is known by any single observer or agent to be true. It is the opposite of the closed world assumption which holds that any statement that is not known to be true is false. The open world assumption (OWA) is used in knowledge representation to codify the informal notion that in general no single agent or observer has complete knowledge, and therefore cannot make the closed world assumption. The OWA limits the kinds of inference and deductions an agent can make to those that follow from statements that are known to the agent to be true. In contrast, the closed world assumption allows an agent to infer, from its lack of knowledge of a statement being true, anything that follows from that statement being false.
Heuristically, the open world assumption applies when we represent knowledge within a system as we discover it, and where we cannot guarantee that we have discovered or will discover complete information. In the OWA, statements about knowledge that are not included in or inferred from the knowledge explicitly recorded in the system may be considered unknown, rather than wrong or false.
Semantic Web languages such as RDF(S) and OWL make the open world assumption. The absence of a particular statement within the web means, in principle, that the statement has not been made explicitly yet, irrespectively of whether it would be true or not, and irrespectively of whether we believe (or would believe) that it is (or would be) true or not. In essence, from the absence of a statement alone, a deductive reasoner cannot (and must not) infer that the statement is false.
By contrast, most procedural programming languages and databases make the closed world assumption. For example, if a typical airline database does not contain a seat assignment for a traveler, it means the traveler has not checked in. The closed world assumption typically applies when a system has complete control over information; this is the case with many database applications where the database transaction system acts as a central broker and arbiter of concurrent requests by multiple independent clients (e.g., airline booking agents).
Example
Statement: "Mary" "is a citizen of" "France"
Question: Is Mary a citizen of Canada?
"Closed world" (for example SQL or XML) answer: No. "Open world" answer: unknown (Mary could have dual citizenship).
Under OWA, failure to derive a fact does not imply the opposite. For example, assume we only know that Mary is a citizen of France. From this information we can neither conclude that Mary is not a citizen of Canada, nor that she is. Therefore, we admit the fact that our knowledge of the world is incomplete. The open world assumption is closely related to the monotonic nature of first-order logic: adding new information never falsifies a previous conclusion. Namely, if we subsequently learn that Mary is also a citizen of Canada, this does not change any earlier positive or negative conclusions.
The language of logic programs with strong negation allows us to postulate the closed world assumption for some predicates and leave the other predicates in the realm of the open world assumption.