Optimization Methods in Logic
Optimization Methods in Logic
复制标题
逻辑优化方法
DOI:
10.1017/cbo9780511780448.008
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
P. Hammer
中科院分区:
文献类型:
--
作者:
J. Hooker;Y. Crama;P. Hammer
Optimization can make at least two contributions to boolean logic. Its solution methods can address inference and satisfiability problems, and its style of analysis can reveal tractable classes of boolean problems that might otherwise have gone unnoticed. They key to linking optimization with logic is to provide logical formulas a numerical interpretation or semantics. While syntax concerns the structure of logical expressions, semantics gives them meaning. Boolean semantics, for instance, focuses on truth functions that capture the meaning of logical propositions. To take an example, the function f(x1, x2) given by f(0, 1) = 0 and f(0, 0) = f(1, 0) = f(1, 1) = 1 interprets the expression x1 ∨ x̄2, where 0 stands for “false” and 1 for “true.” The Boolean function f does not say a great deal about the meaning of x1 ∨ x̄2, but this is by design. The point of formal logic is to investigate how one can reason correctly based solely on the form of propositions. The meaning of the atoms x1 and x2 is irrelevant, aside from the fact either can be true or false. Only the “or” (∨) and the “not” ( ̄) require interpretation for the purposes of formal logic, and the function f indicates how they behave in the expression x1 ∨ x̄2. In general, interpretations of logic are chosen to be as lean as possible in order to reflect only the formal properties of logical expressions. For purposes of solving inference and satisfiability problems, however, it may be advantageous to give logical expressions a more specific meaning. This chapter presents the idea of interpreting 0 and 1 as actual numerical values rather than simply as markers for “false” and “true.” Boolean truth values signify nothing beyond the fact that there are two of them, but the numbers 0 and 1 derive additional meaning from their role in mathematics. For example, they allow Boolean expressions to be regarded as inequalities, as when x1 ∨ x̄2 is read as x1 + (1 − x2) ≥ 1. This maneuver makes such optimization techniques as linear and 0-1 programming available to logical inference and satisfiability problems. In addition it helps to reveal the structure of logical problems and calls attention to classes of problems that are more easily solved. George Boole seems to give a numerical interpretation of logic in his seminal work, The Mathematical Analysis of Logic, since he notates disjunction and conjunction with