There may be many different expressions for the same function. Among them are two special expressions, the conjunctive normal form and disjunctive normal form. For monotone functions these two special forms can also be restricted to be monotone:
The dual of a Boolean function is obtained by negating all of its variables, applying the function, and then negating the result. The dual of the dual of any Boolean function is the original function. The dual of a monotone function is monotone. If one is given a monotone Boolean expression, then replacing all conjunctions by disjunctions produces another monotone Boolean expression for the dual function, following De Morgan's laws. However, this will transform the conjunctive normal form into disjunctive normal form, and vice versa, which may be undesired. Monotone dualization is the problem of finding an expression for the dual function without changing the form of the expression, or equivalently of converting a function in one normal form into the dual form.
As a functional problem, monotone dualization can be expressed in the following equivalent ways:
Another version of the problem can be formulated as a problem of "exact learning" in computational learning theory: given access to a subroutine for evaluating a monotone Boolean function, reconstruct both the CNF and DNF representations of the function, using a small number of function evaluations. However, it is crucial in analyzing the complexity of this problem that both the CNF and DNF representations are output. If only the CNF representation of an unknown monotone function is output, it follows from information theory that the number of function evaluations must sometimes be exponential in the combined input and output sizes. This is because (to be sure of getting the correct answer) the algorithm must evaluate the function at least once for each prime implicate and at least once for each prime implicant, but this number of evaluations can be exponentially larger than the number of prime implicates alone.
It is also possible to express a variant of the monotone dualization problem as a decision problem, with a Boolean answer:
The problem of finding the prime CNF expression for the dual function of a monotone function, given as a CNF formula, can be solved by finding the DNF expression for the given function and then dualizing it. Therefore, finding the dual CNF expression, and finding the DNF expression for the (primal) given function, have the same complexity.
This problem can also be seen as a special case of the exact learning formulation of the problem. From a given CNF expression, it is straightforward to evaluate the function that it expresses. An exact learning algorithm will return both the starting CNF expression and the desired DNF expression. Therefore, dualization can be no harder than exact learning.
It is also straightforward to solve the decision problem given an algorithm for dualization: dualize the given CNF expression and then test whether it is equal to the given DNF expression. Therefore, research in this area has focused on the other direction of this equivalence: solving the exact learning problem (or the dualization problem) given a subroutine for the decision problem.
Bioch & Ibaraki (1995) outline the following algorithm for solving exact learning using a decision subroutine:
Each iteration through the outer loop of the algorithm uses a linear number of calls to the decision problem to find the unforced truth assignment, uses a linear number of function evaluations to find a minimal true or maximal false function value, and adds one clause to the output. Therefore, the total number of calls to the decision problem and the total number of function evaluations is a polynomial of the total output size.
In more detail, the first and slower of the two algorithms of Fredman and Khachiyan performs the following steps:
When this algorithm branches on a variable occurring in many clauses, these clauses are eliminated from one of the two recursive calls. Using this fact, the running time of the algorithm can be bounded by an exponential function of
(
log
n
)
3
{\displaystyle (\log n)^{3}}
.
A second algorithm of Fredman and Khachiyan has a similar overall structure, but in the case where the branch variable occurs in many clauses of one set and few of the other, it chooses the first of the two recursive calls to be the one where setting the branch variable significantly reduces the number of clauses. If that recursive call fails to find an inconsistency, then, instead of performing a single recursive call for the other branch, it performs one call for each clause that contains the branch variable, on a restricted subproblem in which all the other variables of that clause have been assigned in the same way. Its running time is an exponential function of
(
log
n
)
2
{\displaystyle (\log n)^{2}}
.
Many special cases of the monotone dualization problem have been shown to be solvable in polynomial time through the analysis of their parameterized complexity. These include:
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Gainer-Dewar, Andrew; Vera-Licona, Paola (2017), "The minimal hitting set generation problem: algorithms and computation", SIAM Journal on Discrete Mathematics, 31 (1): 63–100, arXiv:1601.02939, doi:10.1137/15M1055024, MR 3590650 /wiki/SIAM_Journal_on_Discrete_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Gainer-Dewar, Andrew; Vera-Licona, Paola (2017), "The minimal hitting set generation problem: algorithms and computation", SIAM Journal on Discrete Mathematics, 31 (1): 63–100, arXiv:1601.02939, doi:10.1137/15M1055024, MR 3590650 /wiki/SIAM_Journal_on_Discrete_Mathematics
Gainer-Dewar, Andrew; Vera-Licona, Paola (2017), "The minimal hitting set generation problem: algorithms and computation", SIAM Journal on Discrete Mathematics, 31 (1): 63–100, arXiv:1601.02939, doi:10.1137/15M1055024, MR 3590650 /wiki/SIAM_Journal_on_Discrete_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Moon, J. W.; Moser, L. (1965), "On cliques in graphs", Israel Journal of Mathematics, 3: 23–28, doi:10.1007/BF02760024, MR 0182577, S2CID 9855414 /wiki/Leo_Moser
Bioch, Jan C.; Ibaraki, Toshihide (1995), "Complexity of identification and dualization of positive Boolean functions", Information and Computation, 123 (1): 50–63, doi:10.1006/inco.1995.1157, hdl:1765/55247, MR 1358967 /wiki/Toshihide_Ibaraki
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Gurvich, V.; Khachiyan, L. (1999), "On generating the irredundant conjunctive and disjunctive normal forms of monotone Boolean functions", Discrete Applied Mathematics, 96/97: 363–373, doi:10.1016/S0166-218X(99)00099-2, MR 1724731 /wiki/Leonid_Khachiyan
Bioch, Jan C.; Ibaraki, Toshihide (1995), "Complexity of identification and dualization of positive Boolean functions", Information and Computation, 123 (1): 50–63, doi:10.1006/inco.1995.1157, hdl:1765/55247, MR 1358967 /wiki/Toshihide_Ibaraki
Bioch, Jan C.; Ibaraki, Toshihide (1995), "Complexity of identification and dualization of positive Boolean functions", Information and Computation, 123 (1): 50–63, doi:10.1006/inco.1995.1157, hdl:1765/55247, MR 1358967 /wiki/Toshihide_Ibaraki
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Fredman, Michael L.; Khachiyan, Leonid (1996), "On the complexity of dualization of monotone disjunctive normal forms", Journal of Algorithms, 21 (3): 618–628, doi:10.1006/jagm.1996.0062, MR 1417667 /wiki/Michael_Fredman
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Fredman, Michael L.; Khachiyan, Leonid (1996), "On the complexity of dualization of monotone disjunctive normal forms", Journal of Algorithms, 21 (3): 618–628, doi:10.1006/jagm.1996.0062, MR 1417667 /wiki/Michael_Fredman
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Fredman, Michael L.; Khachiyan, Leonid (1996), "On the complexity of dualization of monotone disjunctive normal forms", Journal of Algorithms, 21 (3): 618–628, doi:10.1006/jagm.1996.0062, MR 1417667 /wiki/Michael_Fredman
Eiter, Thomas; Makino, Kazuhisa; Gottlob, Georg (2008), "Computational aspects of monotone dualization: a brief survey", Discrete Applied Mathematics, 156 (11): 2035–2049, doi:10.1016/j.dam.2007.04.017, MR 2437000 /wiki/Discrete_Applied_Mathematics
Fredman, Michael L.; Khachiyan, Leonid (1996), "On the complexity of dualization of monotone disjunctive normal forms", Journal of Algorithms, 21 (3): 618–628, doi:10.1006/jagm.1996.0062, MR 1417667 /wiki/Michael_Fredman
Gainer-Dewar, Andrew; Vera-Licona, Paola (2017), "The minimal hitting set generation problem: algorithms and computation", SIAM Journal on Discrete Mathematics, 31 (1): 63–100, arXiv:1601.02939, doi:10.1137/15M1055024, MR 3590650 /wiki/SIAM_Journal_on_Discrete_Mathematics
Domingo, Carlos; Mishra, Nina; Pitt, Leonard (1999), "Efficient Read-Restricted Monotone CNF/DNF dualization by learning with membership queries", Machine Learning, 37 (1): 89–110, doi:10.1023/a:1007627028578 /wiki/Doi_(identifier)
Mishra, Nina; Pitt, Leonard (1997), "Generating all maximal independent sets of bounded-degree hypergraphs", in Freund, Yoav; Schapire, Robert E. (eds.), Proceedings of the Tenth Annual Conference on Computational Learning Theory, COLT 1997, Nashville, Tennessee, USA, July 6-9, 1997, Association for Computing Machinery, pp. 211–217, doi:10.1145/267460.267500 /wiki/Yoav_Freund
Khachiyan, Leonid; Boros, Endre; Gurvich, Vladimir; Elbassioni, Khaled (2007), "Computing many maximal independent sets for hypergraphs in parallel", Parallel Processing Letters, 17 (2): 141–152, doi:10.1142/S0129626407002934, MR 2334718 /wiki/Leonid_Khachiyan
Eiter, Thomas; Gottlob, Georg; Makino, Kazuhisa (2003), "New results on monotone dualization and generating hypergraph transversals", SIAM Journal on Computing, 32 (2): 514–537, arXiv:cs/0204009, doi:10.1137/S009753970240639X, MR 1969402 /wiki/SIAM_Journal_on_Computing
Elbassioni, Khaled M.; Hagen, Matthias; Rauf, Imran (2008), "Some fixed-parameter tractable classes of hypergraph duality and related problems", in Grohe, Martin; Niedermeier, Rolf (eds.), Parameterized and Exact Computation, Third International Workshop, IWPEC 2008, Victoria, Canada, May 14-16, 2008. Proceedings, Lecture Notes in Computer Science, vol. 5018, Springer, pp. 91–102, doi:10.1007/978-3-540-79723-4_10 /wiki/Doi_(identifier)
Gainer-Dewar, Andrew; Vera-Licona, Paola (2017), "The minimal hitting set generation problem: algorithms and computation", SIAM Journal on Discrete Mathematics, 31 (1): 63–100, arXiv:1601.02939, doi:10.1137/15M1055024, MR 3590650 /wiki/SIAM_Journal_on_Discrete_Mathematics
Reiter, Raymond (April 1987), "A theory of diagnosis from first principles", Artificial Intelligence, 32 (1): 57–95, doi:10.1016/0004-3702(87)90062-2 /wiki/Raymond_Reiter
Gainer-Dewar, Andrew; Vera-Licona, Paola (2017), "The minimal hitting set generation problem: algorithms and computation", SIAM Journal on Discrete Mathematics, 31 (1): 63–100, arXiv:1601.02939, doi:10.1137/15M1055024, MR 3590650 /wiki/SIAM_Journal_on_Discrete_Mathematics
Klamt, Steffen; Gilles, Ernst Dieter (January 2004), "Minimal cut sets in biochemical reaction networks", Bioinformatics, 20 (2): 226–234, doi:10.1093/bioinformatics/btg395 /wiki/Doi_(identifier)
Haus, Utz-Uwe; Klamt, Steffen; Stephen, Tamon (April 2008), "Computing knock-out strategies in metabolic networks", Journal of Computational Biology, 15 (3): 259–268, arXiv:0801.0082, doi:10.1089/cmb.2007.0229 /wiki/ArXiv_(identifier)
Gainer-Dewar, Andrew; Vera-Licona, Paola (2017), "The minimal hitting set generation problem: algorithms and computation", SIAM Journal on Discrete Mathematics, 31 (1): 63–100, arXiv:1601.02939, doi:10.1137/15M1055024, MR 3590650 /wiki/SIAM_Journal_on_Discrete_Mathematics
Gainer-Dewar, Andrew; Vera-Licona, Paola (2017), "The minimal hitting set generation problem: algorithms and computation", SIAM Journal on Discrete Mathematics, 31 (1): 63–100, arXiv:1601.02939, doi:10.1137/15M1055024, MR 3590650 /wiki/SIAM_Journal_on_Discrete_Mathematics
McGuire, Gary; Tugemann, Bastian; Civario, Gilles (2014), "There is no 16-clue Sudoku: solving the Sudoku minimum number of clues problem via hitting set enumeration", Experimental Mathematics, 23 (2): 190–217, arXiv:1201.0749, doi:10.1080/10586458.2013.870056, MR 3223774 /wiki/ArXiv_(identifier)