We study how big the blow-up in size can be when one switches between the CNF and DNF representations of boolean functions. For a function f : {0, 1}n → {0, 1}, cnfsize(f) denotes the minimum number of clauses in a CNF for f; similarly, dnfsize(f) denotes the minimum number of terms in a DNF for f. For 0 ≤ m ≤ 2n-1, let dnfsize(m, n) be the maximum dnfsize(f) for a function f : {0, 1}n → {0, 1} with cnfsize(f) ≤ m. We show that there are constants c1, c2 ≥ 1 and ∈ > 0, such that for all large n and all m ∈ [1/∈n, 2∈n], we have 2n-c1 n/log(m/n) ≤ dnfsize(m, n) ≤ 2n-c2 n/log(m/n) In particular, when m is the polynomial nc, we get dnfsize(nc, n) = 2n-θ(c-1 n/log n). © Springer-Verlag Berlin Heidelberg 2003.
CITATION STYLE
Miltersen, P. B., Radhakrishnan, J., & Wegener, I. (2003). On converting CNF to DNF. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2747, 612–621. https://doi.org/10.1007/978-3-540-45138-9_55
Mendeley helps you to discover research relevant for your work.