Coverable functions Petr Ku č era, joint work with Endre Boros, Ond ř ej Č epek, Alexandr Kogan
Coverable functions Let us recall that given a Boolean function f , we denote by: cnf ( f ) - minimum number of clauses needed to represent f by a CNF . ess ( f ) - maximum number of pairwise disjoint essential sets of implicates of f . A function f is coverable, if cnf ( f )= ess ( f ) .
Talk outline We already know from the previous talk, that not every function is coverable. We shall show, that quadratic, acyclic, quasi- acyclic, and CQ Horn functions are coverable. Before that we shall show, that in case of Horn functions we can restrict our attention to only pure Horn functions.
Negative implicates Let f be a Horn function. Let be an exclusive set of implicates of f , such X that no two clauses in are E = I ( f ) \ R ( X ) resolvable. Then there exists an integer k , and pairwise disjoint essential sets , such that for Q 1 , . . . , Q k ⊆ E every CNF representing f : C |C ∩ Q j | = 1 , j = 1 , . . . , k does not contain other elements of . C E
Negative implicates We can use this proposition to negative implicates, if we put: = pure Horn implicates of f , and X = negative implicates of f . E Now we can observe that: ess ( f ) = ess ( X ) + k Therefore we can restrict our attention to only pure Horn functions.
CNF Graph For a Horn CNF let be the digraph G ϕ = ( N, A ϕ ) ϕ defined as: N is the set of variables of . ϕ ( x , y ) belongs to , if there is a clause C in , A ϕ ϕ which contains and y . x , where f is the function represented by , is G f ϕ transitive closure of . G ϕ
Quadratic functions A quadratic function is function, which can be represented by a CNF , in which every clause ϕ consists of at most two literals. Minimization algorithm for pure Horn quadratic functions: Make prime and irredundant. ϕ Construct CNF graph . G ϕ Find strong components of . G ϕ Replace strong components by cycles.
Example Let us consider the following CNF: ( a ∨ b ) ∧ ( b ∨ c ) ∧ ( c ∨ d ) ( d ∨ c ) ∧ ( c ∨ e ) ∧ ( e ∨ c ) ∧ CNF graph follows: d a b c e
Example A shortest CNF: ( a ∨ b ) ∧ ( b ∨ c ) ∧ ( c ∨ d ) ∧ ( d ∨ e ) ∧ ( e ∨ c ) and its CNF graph: d a b c e
Disjoint essential sets for quadratic functions Let us have a clause and let us define ( x ∨ y ) essential set for this clause. E If x and y belong to different strong components of , we put into , if u belongs to the ( u ∨ v ) G f E same strong component as x and v belongs to the same strong component as y . x v u y
Disjoint essential sets ... If x and y belong to the same component of , we G f put into for every u in this component. ( u ∨ y ) E u . . . x y It is easily possible to find vector based definition of these sets as well. If the input CNF is minimum, the sets are disjoint.
Example For our shortest CNF ( a ∨ b ) ∧ ( b ∨ c ) ∧ ( c ∨ d ) ∧ ( d ∨ e ) ∧ ( e ∨ c ) we would have: ( a ∨ b ) { ( a ∨ b ) } → d ( b ∨ c ) { ( b ∨ c ) } → ( c ∨ d ) { ( c ∨ d ) , ( e ∨ d ) } → a b c ( d ∨ e ) { ( d ∨ e ) , ( c ∨ e ) } → ( e ∨ c ) { ( e ∨ c ) , ( d ∨ c ) } → e
Essentiality of defined sets I At first let us assume, that x and y belong to different strong components of . G f We have u in the same SC as x , v in the same SC as y , and for some z . ( u ∨ v ) = R ( u ∨ z, z ∨ v ) If z does not belong to the same SC as x or y , then is redundant. ( x ∨ y ) Therefore one of parent clauses belongs to . E z u v x y
Essentiality of defined sets I At first let us assume, that x and y belong to different strong components of . G f We have u in the same SC as x , v in the same SC as y , and for some z . ( u ∨ v ) = R ( u ∨ z, z ∨ v ) If z does not belong to the same SC as x or y , then is redundant. ( x ∨ y ) Therefore one of parent clauses belongs to . E z u v x y
Essentiality of defined sets I At first let us assume, that x and y belong to different strong components of . G f We have u in the same SC as x , v in the same SC as y , and for some z . ( u ∨ v ) = R ( u ∨ z, z ∨ v ) If z does not belong to the same SC as x or y , then is redundant. ( x ∨ y ) Therefore one of parent clauses belongs to . E z u v x y
Essentiality II Now let us assume, that x and y belong to the same strong component of . G f We have u in this strong component and z , for which . ( u ∨ y ) = R ( u ∨ z, z ∨ y ) It follows, that z belong to the same strong component as well. u z x y
Acyclic functions A function f is acyclic, if its CNF graph is acyclic. Prime and irredundant CNF is the only minimum representation of an acyclic function. Given the only prime and irredundant acyclic CNF , we define for each clause an C ∈ ϕ ϕ essential set . E C = { C } This set is essential due to similar reasons as in the case of quadratic functions. Vector based definition is also possible.
Quasi-acyclic functions A function f is quasi-acyclic, if every two variables x and y , which belong to the same strong component of , are logically equivalent. G f Definition of essential sets is a combination of cases of quadratic and acyclic function.
CQ functions A Horn CNF is CQ, if in every clause at C ∈ ϕ ϕ most one subgoal belongs to the same strong component as its head. A Horn function f is CQ, if it can be represented by a CQ CNF . a a c c b b ( a ∨ b ∨ c ) ∧ ( c ∨ b ) ( a ∨ b ∨ c ) ∧ ( c ∨ b ) ∧ ( c ∨ a ) is CQ is CQ
CQ and essential sets Any prime CNF representation of a CQ function is a CQ CNF . In order to be able to define disjoint essential sets, we have to investigate structure of minimum CQ CNFs and minimization algorithm for CQ functions.
Decomposition lemma Let us have: a function f , a chain of exclusive subsets ∅ = X 0 ⊆ X 1 ⊆ · · · ⊆ X t in which , R ( X t ) = I ( f ) minimal subsets , such C ∗ i ⊆ X i \ X i − 1 , i = 1 , . . . , t that . R ( X i − 1 ∪ C ∗ i ) = R ( X i ) Then: is a minimal representation of f . C ∗ = � t i =1 C ∗ i If we can find these sets effectively and solve corresponding subproblems effectively, we are done.
Clause graph Let be a pure Horn CNF representing a function ϕ f , we define clause graph as follows: D ϕ = ( V ϕ , E ϕ ) V ϕ = ϕ if and only if: ( A ∨ u, B ∨ v ) ∈ E ϕ v can be reached from u by a path in , and G ϕ for every , is an implicate of f . ( B ∨ a ) a ∈ A A u B v
Properties of clause graphs By we denote . D f = ( V f , E f ) D I ( f ) By , where H is a digraph and u one of its Cone H ( u ) vertices, we denote the set of vertices, from which there is a path to u in H . If , then and C = R ( C 1 , C 2 ) ( C 1 , C ) ∈ E f ( C 2 , C ) ∈ E f Therefore is an exclusive set. Cone D f ( C ) If K is a strong component of containing C , D f then is again an exclusive set. Cone D f ( C ) \ K Although the size of may be exponentially D f larger than , it is sufficient to work with , D ϕ ϕ which can be constructed in polynomial time.
Back to decomposition lemma Let be strong components of in K 1 , . . . , K t D f topological order, and let us define . X i = � i j =1 K j , i = 1 , ..., t Every is an exclusive set and we can X i , i = 1 , ..., t use it in decomposition lemma. Representation given by is sufficient for our X i ∩ ϕ needs. Now we only have to solve partial problem for each strong component of . K i D f
Strong components We say, that an implicate of f is of ( A ∨ u ) type 0, if no element of A belong to the same strong component of as u , and it is of G f type 1, if one element of A belongs to the same strong component of as u . G f If K is a strong component of and f is CQ, then D f all clauses belonging to K are of the same type. Therefore we can assign this type to K as well. If K is of type 0, we can leave the clauses in K ∩ ϕ as they are, primality and irredundancy of is ϕ sufficient in this case.
Type 1 (example) We shall demonstrate what we can do with strong components of type 1 on the following example: = ( b ∨ c ) ∧ ( b ∨ e ) ∧ ( a ∨ c ∨ b ) ϕ ( a ∨ e ∨ b ) ∧ ( a ∨ d ∨ b ) ∧ ( a ∨ b ∨ d ) ∧ G ϕ c a b d e
Type 1 (example) has two strong components: D ϕ K 1 = { ( b ∨ c ) , ( b ∨ e ) } K 2 = { ( a ∨ c ∨ b ) , ( a ∨ e ∨ b ) , ( a ∨ d ∨ b ) , ( a ∨ b ∨ d ) } is itself minimum (primality and irredundancy K 1 are sufficient for it).
Recommend
More recommend