Origin
An open-world assumption was first developed by Ancient Greek philosophers as a means to explain varying degrees of validity amongst mathematical and philosophical concepts proposed at the time of inception.Logical implication
The open-world assumption (OWA) codifies 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 the lack of knowledge of a statement being true that the 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
Semantic Web languages such as 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, irrespective of whether it would be true or not, and irrespective of whether we believe that it 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.Procedural programming
Many 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 is assumed that 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). There are, however, many databases with incomplete information: for example, one cannot assume that because there is no mention on a patient's history of a particular allergy, that the patient does not suffer from that allergy.Example
Statement: "Mary" "is a citizen of" "France" Question: Is Paul a citizen of France? "Closed world" (for example SQL) answer: No. "Open world" answer: Unknown. 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 Paul is not a citizen of France, nor that he 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 Paul is also a citizen of France, this does not change any earlier positive or negative conclusions.Middle ground
The language of logic programs with strong negation allows us to postulate the closed-world assumption for some statements and leave the other statements in the realm of the open-world assumption.Russell, Stuart J.; Norvig, Peter (2010). Artificial Intelligence: A Modern Approach (3rd ed.). Upper Saddle River: Prentice Hall. An intermediate ground between OWA and CWA is provided by the (PCWA). Under the PCWA, the knowledge base is generally treated under open-world semantics, yet it is possible to assert parts that should be treated under closed-world semantics, via completeness assertions. The PCWA is especially needed for situations where the CWA is not applicable due to an open domain, yet the OWA is too credulous in allowing anything to be possibly true.See also
* Closed-world assumption * Unique name assumption *References
{{DEFAULTSORT:Open-world assumption Logic programming Knowledge representation