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: f = f D= f (x1, x2, … ,xk) 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 selfdual 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 x1 x2 x2 x2 x3 x3 x1 x3 Number of disjuncts vs. variables Example: Consider a monotone self-dual Boolean function Six variables Seven disjuncts x1 x2 x3 x4 x5 x6 x1 x2 x1 x2 x1 x3 x3 x2 x3 x3 x6 x3 x4 x4 x5 x5 x6 x4 x6 x5 k≤n Boolean duality Self-duality problem for monotone Boolean functions with n variables and n disjuncts; k = n. Our algorithm runs in O(n3) 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”. 1. If f is a single variable Boolean function then return “YES”. 2. If f is a specific Boolean function shown below then return “YES”. • This function represents the fano plane with 7 variables and disjuncts. 3. If the intersection property does not hold for f then return “NO”. • If intersection property holds for f then every pair of disjuncts has a nonempty intersection. 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 f = fxb=xc 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, and xc=x3; f = fxb=xc = fx2=x3 : Apply step four; xa=x3, xb=x1, and xc=x4; f = fxb=xc = fx1=x4 : The Algorithm 1. If f isstep a single function return “YES”. Apply four:variable no twoBoolean disjuncts of sizethen two. 2. If f represents plane then return “YES”. Returns “NO”; fthe is Fano not self-dual. 3. If the intersection property does not hold for f then return “NO”. 4. 4. IfIf ff does does not not have have two two disjuncts disjuncts of of size size two, two, xxaaxxbb and and xxaaxxcc then then return return “NO”; “NO”; ifif itit does in IDNF. Repeat this step until f does then then obtain obtain aa new new function function ff == ffxxbb=x =xcc in IDNF. Repeat this step until f consists consists of of aa single single variable; variable; in in this this case, case, return return “YES”. “YES”. Future work Monotone self-duality problem for different k-n relations. Self-duality problem: Testing whether a monotone Boolean function in IDNF is self-dual. Thank you!
© Copyright 2026 Paperzz