On converting CNF to DNF
DOI:
https://doi.org/10.7146/brics.v10i45.21817Abstract
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 <= 2^{n-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 c_1, c_2 >= 1 and epsilon > 0 , such that for all large n and all m in [ 1/epsilon n , 2^{epsilon n}], we have2^{(n - c_1) n / log(m/n)} <= dnfsize(m,n) <= 2^{(n - c_2) n / log(m/n)}.
In particular, when m is the polynomial n^c, we get dnfsize(n^c,n) = 2^{(n - theta) (c^{-1} n / log n)}.
Downloads
Published
2003-12-11
How to Cite
Miltersen, P. B., Radhakrishnan, J., & Wegener, I. (2003). On converting CNF to DNF. BRICS Report Series, 10(45). https://doi.org/10.7146/brics.v10i45.21817
Issue
Section
Articles
License
Articles published in DAIMI PB are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.