Knowledge Compilation
   HOME





Knowledge Compilation
Knowledge compilation is a family of approaches for addressing the intractability of a number of artificial intelligence problems. A propositional model is compiled in an off-line phase in order to support some queries in polynomial time. Many ways of compiling a propositional model exist.Adnan Darwiche, Pierre Marquis,A Knowledge Compilation Map, Journal of Artificial Intelligence Research 17 (2002) 229-264 Different compiled representations have different properties. The three main properties are: * The compactness of the representation * The queries that are supported in polynomial time * The transformations of the representations that can be performed in polynomial time Classes of representations Some examples of diagram classes include OBDDs, FBDDs, and non-deterministic OBDDs, as well as MDD. Some examples of formula In science, a formula is a concise way of expressing information symbolically, as in a mathematical formula or a ''chemical formula''. The informal ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Artificial Intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in computer science that develops and studies methods and software that enable machines to machine perception, perceive their environment and use machine learning, learning and intelligence to take actions that maximize their chances of achieving defined goals. High-profile applications of AI include advanced web search engines (e.g., Google Search); recommendation systems (used by YouTube, Amazon (company), Amazon, and Netflix); virtual assistants (e.g., Google Assistant, Siri, and Amazon Alexa, Alexa); autonomous vehicles (e.g., Waymo); Generative artificial intelligence, generative and Computational creativity, creative tools (e.g., ChatGPT and AI art); and Superintelligence, superhuman play and analysis in strategy games (e.g., ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Polynomial Time
In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by the algorithm, supposing that each elementary operation takes a fixed amount of time to perform. Thus, the amount of time taken and the number of elementary operations performed by the algorithm are taken to be related by a constant factor. Since an algorithm's running time may vary among different inputs of the same size, one commonly considers the worst-case time complexity, which is the maximum amount of time required for inputs of a given size. Less common, and usually specified explicitly, is the average-case complexity, which is the average of the time taken on inputs of a given size (this makes sense because there are only a finite number of possible inputs of a given size). In both cases, the time complexity is gener ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Binary Decision Diagram
In computer science, a binary decision diagram (BDD) or branching program is a data structure that is used to represent a Boolean function. On a more abstract level, BDDs can be considered as a compressed representation of sets or relations. Unlike other compressed representations, operations are performed directly on the compressed representation, i.e. without decompression. Similar data structures include negation normal form (NNF), Zhegalkin polynomials, and propositional directed acyclic graphs (PDAG). Definition A Boolean function can be represented as a rooted, directed, acyclic graph, which consists of several (decision) nodes and two terminal nodes. The two terminal nodes are labeled 0 (FALSE) and 1 (TRUE). Each (decision) node u is labeled by a Boolean variable x_i and has two child nodes called low child and high child. The edge from node u to a low (or high) child represents an assignment of the value FALSE (or TRUE, respectively) to variable x_i. Such a BDD i ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Multi-valued Decision Diagram
In mathematics, a multivalued function, multiple-valued function, many-valued function, or multifunction, is a function that has two or more values in its range for at least one point in its domain. It is a set-valued function with additional properties depending on context; some authors do not distinguish between set-valued functions and multifunctions, but English Wikipedia currently does, having a separate article for each. A ''multivalued function'' of sets ''f : X → Y'' is a subset : \Gamma_f\ \subseteq \ X\times Y. Write ''f(x)'' for the set of those ''y'' ∈ ''Y'' with (''x,y'') ∈ ''Γf''. If ''f'' is an ordinary function, it is a multivalued function by taking its graph : \Gamma_f\ =\ \. They are called single-valued functions to distinguish them. Motivation The term multivalued function originated in complex analysis, from analytic continuation. It often occurs that one knows the value of a complex analytic function f(z) in some neighbourhood of a point z=a. T ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Boolean Formula
Any kind of logic, function, expression, or theory based on the work of George Boole is considered Boolean. Related to this, "Boolean" may refer to: * Boolean data type, a form of data with only two possible values (usually "true" and "false") * Boolean algebra, a logical calculus of truth values or set membership * Boolean algebra (structure), a set with operations resembling logical ones * Boolean domain, a set consisting of exactly two elements whose interpretations include ''false'' and ''true'' * Boolean circuit, a mathematical model for digital logical circuits. * Boolean expression, an expression in a programming language that produces a Boolean value when evaluated * Boolean function, a function that determines Boolean values or operators * Boolean model (probability theory), a model in stochastic geometry * Boolean network, a certain network consisting of a set of Boolean variables whose state is determined by other variables in the network * Boolean processor, a 1-bit ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Disjunctive Normal Form
In boolean logic, a disjunctive normal form (DNF) is a canonical normal form of a logical formula consisting of a disjunction of conjunctions; it can also be described as an OR of ANDs, a sum of products, or in philosophical logic a ''cluster concept''. As a normal form, it is useful in automated theorem proving. Definition A logical formula is considered to be in DNF if it is a disjunction of one or more conjunctions of one or more literals. A DNF formula is in full disjunctive normal form if each of its variables appears exactly once in every conjunction and each conjunction appears at most once (up to the order of variables). As in conjunctive normal form (CNF), the only propositional operators in DNF are and (\wedge), or (\vee), and not (\neg). The ''not'' operator can only be used as part of a literal, which means that it can only precede a propositional variable. The following is a context-free grammar for DNF: : ''DNF'' \, \to \, ''Conjunct'' \, \mid \, ''Conjunc ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Conjunctive Normal Form
In Boolean algebra, a formula is in conjunctive normal form (CNF) or clausal normal form if it is a conjunction of one or more clauses, where a clause is a disjunction of literals; otherwise put, it is a product of sums or an AND of ORs. In automated theorem proving, the notion "''clausal normal form''" is often used in a narrower sense, meaning a particular representation of a CNF formula as a set of sets of literals. Definition A logical formula is considered to be in CNF if it is a conjunction of one or more disjunctions of one or more literals. As in disjunctive normal form (DNF), the only propositional operators in CNF are or (\vee), and (\and), and not (\neg). The ''not'' operator can only be used as part of a literal, which means that it can only precede a propositional variable. The following is a context-free grammar for CNF: : ''CNF'' \, \to \, ''Disjunct'' \, \mid \, ''Disjunct'' \, \land \, ''CNF'' : ''Disjunct'' \, \to \, ''Literal'' \, \mid\, ''Literal'' ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Negation Normal Form
In mathematical logic, a formula is in negation normal form (NNF) if the negation operator (\lnot, ) is only applied to variables and the only other allowed Boolean operators are conjunction (\land, ) and disjunction (\lor, ). Negation normal form is not a canonical form: for example, a \land (b\lor \lnot c) and (a \land b) \lor (a \land \lnot c) are equivalent, and are both in negation normal form. Definition The following is a context-free grammar for ''NNF'': : where ''Variable'' is any variable. Examples and counterexamples : The following formulae are all in negation normal form: :\begin &((A \lor B) \land C) \\ &(A \lor \lnot B) \\ &(A \land \lnot B) \\ &\ \end The first example is also in conjunctive normal form, the next two are in both conjunctive normal form and disjunctive normal form, but the last example is in neither. The following formulae are not in negation normal form: :\begin (A &\to B) \\ \lnot (A &\lor B) \\ \lnot (A &\land B) \\ \lnot (A ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Sentential Decision Diagram
In artificial intelligence, a sentential decision diagram (SDD) is a type of knowledge representation used in knowledge compilation to represent Boolean functions. SDDs can be viewed as a generalization of the influential ordered binary decision diagram (OBDD) representation, by allowing decisions on multiple variables at once. Like OBDDs, SDDs allow for tractable Boolean operations, while being exponentially more succinct. For this reason, they have become an important representation in knowledge compilation. Properties SDDs are defined with respect to a generalization of variable ordering known as a variable tree (''vtree''). Provided that they satisfy additional properties known as compression and trimming (which are analogous to ROBDDs), SDDs are a canonical representation of Boolean functions; that is, they are unique given a vtree. Like OBDDs, they allow for operations such as conjunction, disjunction and negation to be computed directly on the representation in polyn ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]