110 likes | 284 Views
Self-Duality Problem. Mustafa Altun Electrical & Computer Engineering University of Minnesota Advisor: Marc D. Riedel. Boolean duality. Famous unsolved problem (self-duality problem): Time complexity of testing whether a monotone Boolean function in IDNF is self-dual.
E N D
Self-Duality Problem Mustafa Altun Electrical & Computer Engineering University of Minnesota Advisor: Marc D. Riedel
Boolean duality • Famous unsolved problem (self-duality problem): • Time complexity of testing whether a monotone Boolean function in IDNF is self-dual. Monotone: No negation IDNF: Irredundant form Self-dual:
Boolean duality Consider a monotone self-dual Boolean function f in IDNF with k variables and n disjuncts: Lemma (Fredman and Khachiyan, 1996; Gaur and Krishnamurti, 2008):k ≤ n2.. Theorem(Altun and Riedel, 2012):k ≤ n.
Number of disjuncts vs. variables Matching between a variable x and a disjunct D: There is a matching between x and D if x is a variable of D. Example: if D = x 1x2 then there is a matching between x 1 and D as well as x 2 and D. Theorem (Altun and Riedel, 2012):Consider a monotone Boolean function f in IDNF. If f is self-dual then each variable of f can be matched with a distinct disjunct. Corollary:k ≤ n
Number of disjuncts vs. variables Example: Consider a monotone self-dual Boolean function • Three variables • Three disjuncts x1 x2 x2 x3 x1 x3 x1 x2 x3
Number of disjuncts vs. variables Example:Consider a monotone self-dual Boolean function • Six variables • Seven disjuncts x1 x2x3 x2 x3x6 x1 x3x4 x2x4x5 x1x5x6 x3x4x6 x3x5 x1 x2 x3 x4 x5 x6 k ≤ n
Boolean duality Self-duality problem for monotone Boolean functions with n variables and n disjuncts; k =n. Our algorithm runs in O(n4) time.
Self-duality problem The Algorithm Input:A monotone Boolean function f in IDNF with n variables n disjuncts. Output:If f is self-dual then “YES”; otherwise “NO”. • If f is a single variable Boolean function then return “YES”. • If f is a specific Boolean function shown below then return “YES”. • This function represents the fano plane with 7 variables and disjuncts. • If the intersection property does not hold for f then return “NO”. • If intersection property holds forfthenevery pair of disjuncts has a non-empty intersection. • If f does not have two disjuncts of size two, xaxb and xaxc then return “NO”; if it does then obtain a new function in IDNF. Repeat this step until f consists of a single variable; in this case, return “YES”.
Self-duality problem Example:Consider a monotone Boolean function • Seven variables and seven disjuncts; n=7. • Apply step four; xa=x1,xb=x2, andxc=x3; : • Apply step four; xa=x3,xb=x1, andxc=x4; : • Apply step four: no two disjuncts of size two. • Returns “NO”; fis not self-dual. The Algorithm If f is a single variable Boolean function then return “YES”. If f represents the Fano plane then return “YES”. If the intersection property does not hold for f then return “NO”. If f does not have two disjuncts of size two, xaxb and xaxc then return “NO”; if it does then obtain a new function in IDNF. Repeat this step until f consists of a single variable; in this case, return “YES”. 4. If f does not have two disjuncts of size two, xaxb and xaxc then return “NO”; if it does then obtain a new function in IDNF. Repeat this step until f consists of a single variable; in this case, return “YES”.
Future work • Self-duality problem: • Testing whether a monotone Boolean function in IDNF is self-dual. Monotone self-duality problem for different k-n relations.