MSC 05C85
DOI: 10.14529/mmp 160302
AN INFERENCE ALGORITHM FOR MONOTONE BOOLEAN FUNCTIONS ASSOCIATED WITH UNDIRECTED GRAPHS
D.N. Gainanov, Ural Federal University, Ekaterinburg, Russian Federation, damir.gainanov@gmail.com
V.A. Rasskazova, Moscow Aviation Institute, Moscow, Russian Federation, 2265874@mail.ru
Boolean functions are a modelling tool useful in many applications; monotone Boolean functions make up an important class of these functions. For instance, monotone Boolean functions can be used for describing the structure of the feasible subsystems of an infeasible system of constraints, because feasibility is a monotone feature. In this paper we consider monotone Boolean functions (MBFs), associated with undirected graphs, whose upper zeros are defined as binary tuples for which the corresponding subgraph of the original undirected graphs is either the empty graph, or it has no edges.
For this class of MBFs, we present the settings of problems which are related to the search for upper zeros and maximal upper zeros of these functions. The notion of k-vertices and (k, m)-vertices in a graph is introduced. It is shown that for any k-vertices of the original graph there exists a maximal upper zero of an MBF associated with the graph, in which the component xi corresponding to this k-vertex takes the value 1.
Based on this statement, we construct an algorithm of searching for a maximal upper zero, for the class of MBFs under consideration, which allows one to find, under certain conditions, the solution to the problem of searching for a maximal upper zero, or to substantially reduce the dimension of the original problem.
The proposed algorithm was extended for the case of (k, m)-vertices. This extended algorithm allows one to fix a bound on the deviation of an upper zero of the MBF from the maximal upper zeros, in the sense of the number of units in these tuples. The algorithm has the complexity O(n2p), where n is a number of vertices and p is a number of edges of the original graph.
Keywords: monotone Boolean function; upper zero of a monotone Boolean function; graph; algorithm of searching for maximal upper zeros of a monotone Boolean function.
Introduction
In a wide class of problems, infeasible systems of constraints occur naturally and become the research subject. A variety of such systems is treated in [1] by methods of combinatorial geometry and graph theory. The study of infeasible systems, whose constraints correspond to the vertices of undirected graphs, and the subsystems with two constraints are feasible if and only if the corresponding vertex pairs are edges of the graphs, is of special applied interest.
In this paper we associate with a graph a monotone Boolean function whose zeros correspond to the feasible subsystems of the initial infeasible system of constraints, in which any subsystem of infeasible system is feasible if and only if every pairs of constrains is also feasible.
The settings of Problems 1 and 2 in terms of inference of monotone Boolean functions and, more precisely, as the search for upper zeros and maximal upper zeros, make sense because such a setting allows one to use, for example, an algorithm of searching for upper
zeros of monotone Boolean functions described in [1,2]; see also [3-12], where the above-mentioned and similar algorithms from the family of Find Border Algorithms are discussed. In this context, the border means the union of the sets of all upper zeros and lower units of a monotone Boolean function. An extensive survey of the current state of the theory and practice of MBF inference is presented in [11,13].
Problem 2 can also be solved by the algorithm proposed in [1]; among the upper zeros, we must find the maximal ones. In addition, an approximate algorithm, guided by the increasing collection of generated upper zeros, can be involved in research. Let us turn to basic notions and problems.
1. Basic Notions and Problems
Let [n] := {1,..., n} denote the set of consecutive integers, and let Bn := {0,1}n denote the unit discrete n-dimensional cube. If x := (x\,..., xn) E Bn, then supp(x) := {i E [n] : Xi = 1}.
For binary tuples x and x', of length n, the ordering x < x' in Bn by definition holds if and only if xi < xi, for a 11 i E [n].
If X C Bn is a set of tuples, then max X denotes the subset of maximal elements of
X with respect to the partial order on Bn, and niax X denotes the subset of all tuples
X
A Boolean function f : Bn — B is called monotone if the implication x, x' E Bn , x < x' f(x) < f(x')
holds. A tuple x E Bn is called a zero (respectively, a unit) of f if f(x) = 0 (respectively,
f(x) = 1).
A tuple x E Bn is called an upper zero of the monotone Boolean function f : Bn — B if f(x) = 0, and f(x') = 1 holds for all x' E Bn such that x < x'; dually, a tupie x E Bn is called a lower unit of the function f if f(x) = 1, and f(x') = 0 holds for all x' E Bn such that x' < x. A tuple x E Bn is called a maximal upper zero of the MBF f if |supp(x)| = max{supp(x') : x' E maxf_1(0)}.
Let a simple undirected graph G := (V(G), E(G)) be given, with the vertex set V(G) := {v1,..., vn} and the edge family E(G) := {e1,..., ep}. If U C V(G), then G(U) denotes the induced subgraph of the graph G, on the vertex set U. For a vertex v E V(G), N(v) C V(G) denotes the neighborhood of the vertex v in the graph G. For a subset of vertices U C V(G), % (2) denote the family of all unordered 2-subsets of the U
Denote by #(•) the number of sets in a family, and by | • | the cardinality of a set. Consider the monotone Boolean function fG : Bn — B whose set of units fG1(1) is defined as following:
fG(x) := 1 ^ # {E(G) n t (GMesuppM} ee > 1 .
in other words, we suppose fG(x) := 1 if and only if the induced subgraph G({vi E V(G) : i E supp(x)}) has at least one edge.
Another monotone Boolean function gG : Bn ^ B, which is naturally associated with the graph G, is defined by the set of its zeros 0G1(O) as following:
gG(x) := 0 ^^ subgraph G({vi E V(G) : i E supp(x)}) is complete ; (2)
we relate to the complete graphs, the empty graph G(0) and the isolated vertices G^v^), Vi E V(G).
The graph-theoretic construction that establishes the connection between MBFs from (1) and (2) is the complement of the graph. The complement G of the graph G by definition has the vertex set V(G) and the edge family (y(2G^) — E(G). Definitions (1) and (2) imply the following useful identities:
fG = 0G > fG = gG •
Problem 1. For the function fG defined in (1), to find the set
max fG1(0)
of its upper zeros.
Problem 2. For the function fG; to find the set
ma xmax fG1 (0)
of its maximal upper zeros.
2. An Algorithm for Finding a Maximal Upper Zero of a Monotone Boolean Function Associated with an Undirected Graph
Consider Problem 2, for graphs from a certain class in more detail.
Proposition 1. Let Vi E V(G) be a vertex of a graph G := (V(G), E(G)), such that for its neighborhood N(vi) the induced subgraph G(N(vi)) of the graph G is complete. Then there exists a maximal upper zero X E njaxmax fG1(0) of the function fG such that x'i = 1.
Proof. Consider an arbitrary maximal upper zero x E m^max fG1(0) of the funct ion fG,
and associate with this zero the index set I := {s E [n] : vs E N(vi)}. It is easy to see that among the elements of the set IU{i} there is at least one index j such that Xj = 1, because otherwise we could find a tuple x' E Bn such th at x'i = 1 and x's = xs for all indices s E [n] — {i}. Thus, because of fG(x) = 0 and by the assumption that xs = 0 for all s E I, the definition of the function fG implies th at fG(x') = 0. This contradicts the maximality of the upper zero x. because we obtain the strict inclusion supp(x') ^ supp(x) and fG(x') = fG(x) = 0. Now let us consider the two possible cases. If xi = 1, then we are
xi = 0 xs = 1 s E I x
x' E Bn (by the rule: xj := xj for all j E [n] — {i, s}, xi := 1, and x's := 0), which is an upper zero of the function fG, in view of the completeness of the induced subgraph G(N(vi)), and |sup p(x')| = ^p p(x)^; we thus obtained a maximal u pper zero x' of the funct ion fG such that xi = 1, as it was to be proved. □
Definition 1. For an integer k E [n — 1], a vertex v E V(G) of the graph G := (V(G), E(G)) is called a k-vertex, if IN(v)| = k and the induced subgraph G(N(v)) of the G
Definition 2. For integers k,m E [n — 1], a vert ex v E V (G) of the graph G := (V(G), E(G)) is called a (k, m)-vertex; if k = N(v)| and m = g) — #(E(G) n N^))-
A (k, m)-vertex v E V(G) of the graph G := (V(G), E(G)) is its k-vertex when m = 0. On the basis of Proposition 1 one can propose an efficient recursive algorithm for solving Problem 2, which finishes its work either by the construction of a maximal upper zero of the function fa, or by the reduction of Problem 2 for the function fG to the new Problem 2 for a function fG', where G' C G, that is, by the decrease of the dimension of the problem to be solved.
Given a vertex v E V0 C V(G), denote by N(v,V0) C V0 the neighborhood of the vertex v in the induced subgraph G(Vq).
Algorithm 1. Algorithm A(G, V0) for finding a maximal up per zero x := (x1;... ,xn) E Bn of the function fG Input data: G,V0 Output data: VO, x
1: xi = 0, i E [n], vi E V0 vi E Vo
3: if vi is a N (vi, VO)|-vertex in the sub graph G(VO) then 4: xi ^ 1
Vo ^ Vo — ({vi}U N (vi, VO)) A(G, VO) end of condition end of loop
If at the end of the work of Algorithm 1 we get V0 = 0, then, according to Proposition 1, the resulting tuple x E Bn is a maximal upper zero of the function fG.
However, if at the end of the work of Algorithm 1 we have VO = 0, then for all vertices of the graph G(V — VO) we determined the values of some components xi such that there exists a maximal upper zero x' of the funct ion fG with precisely the same values for these
xi = xi problem from V | to |VO|.
Lemma 1. Let two graphs G1 := (V, E(G1)) and G2 := (V, E(G2)) be given, with the V
E(G1) C E(G2) .
Then
niaxmax fG (0) C max f^ (0) C fc2 (0) C f^ (0) .
Proof It is clear that max max fG„ (0) C max fG„ (0) C fG2 (0).
| | g ^ G2
Consider an arbitrary tuple x E Bn such that x E fG1 (0). By the definition of the set of zeros fGl (0) of the MBF fG2, we have:
# (E(G2) П ({vi: i€)) =0 .
By the hypothesis of the lemma, we have E(Gi) С E(G2^d V(Gi) = V(G2); as a ( ( ))
# (E(Gi) П ({vi: iesuppi®)^) =0 , Vx E fG2(0) ,
and
x E fGl (0). (3)
Then for any tuples x E Bn such th at x E fG2 (0), inclusion (3) holds, that is,
fG2 (0) с fG; (0),
as it was to be proved.
□
It should be mentioned that
max fG2(0) С max fGi (0) .
Indeed, consider the graphs
Gi :=(V(Gi), E(Gi)) = (V, 0), G2 := (V(G2), E(G2)) = (V, (2)) ,
V(G1) = V(G2) E(G1) С E(G2) G1
therefore, the set of upper zeros of the function fGl consists of the unique tuple
x := (1,1,...,1) .
The graph G2 is complete; thus, the set of upper zeros оf the function fG2 has the form:
x1 : = (1,0,..., 0) , x2 : = (0, 1, . . . , 0) ,
xn : = (0,0,..., 1) . Any tuple x E max fG (0) is a zero of the function fGl, that is,
max fG2 (0) С fGl (0) , max fG2 (0) С max fGl (0) ,
as Lemma 1 asserts; this justifies (4).
Let us define the quantity max0 fG := |supp(x)|, where x E mLgLxmaxfGi(0), that is
fG
Corollary 1. Let G1 := (V, E1) and G2 := (V, E2) be graphs such that E1 C E2. Then
maxOfd > maxOfG2 •
Proof. Let x E mmxmax fG^ (0) According to Lemma 1, we have x E fGl (0).
By the definition of the maximal upper zeros of the function, for any tuple x E fGl (0) there exists a tuple x' E maxmgx fGl (0) such that x' > x. Then
maxOfGl = |supp(x')| > |supp(x)| = maxOfGa ,
as it was to be proved. n
Proposition 2. Let G := (V(G), E(G)) be a graph for which vertices vi and vj are not adjacent. Then
maxOfG > maxOfGu{Kv)} > maxOfG — 1 • (5)
Proof. The inequality maxO fG > maxO fGU{(Vi,Vj)} follows from Corollary 1.
Let us prove the inequality maxO fGU{(Vi,V.)} > maxO fG — 1 Let x := (x1, • • •, xn) be a
fG
1 xi = 0 xj = 0 x
function fGU{(Vi,Vj)}, and it is a maximal upper zero, because otherwise we would obtain, by definition, that there exists a maximal upper zero x' of the function fGU{(Vi,Vj)} such that x' > x and |supp(x')| > |supp(x)|. According to Lemma 1, we obtain that x' is a
fG x
Thus, in this case, we have:
maxOfG = maxOfGu{(Vi;Vj)} > maxOfG — 1 •
Case 2. Suppose that xi = 1 and xj = 0 If the edge (vi,vj) is added, then the tuple x is again a zero of the function fGU{(Vi,Vj)} and, as it was shown above, it is also a maximal upper zero of the function fGU^v)}•
Case 3. Suppose that xi = 1 and xj = 1. If the edge (vi,vj) is added, then we obtain that x is not a zero of the function fGU{(Vi,Vj)}■ In this case, we can find a tuple x' for which x's = xs for all s E [n] — {i}, and xi = 0 The tuple x' will be a zero of the function fGU{(Vi,Vj)}■ Moreover, by construction,
|sup p(x')| = |sup p(x)| — 1 •
By the definition of the maximal upper zeros of the function, we have:
maxOfGU{(Vi,Vj)} > |supp(x')| = ^pp(x)| — 1 = maxOfG — 1 ,
as it was to be proved. n
Corollary 2. For a graph G := (V (G), E (G)), let e} c {V (2G)) — E (G) be a subfamily of t vertex pairs that are not edges of the graph G. Then
maxOfGU{ei,...,et} > maxOfG — t •
tG
1
work of the algorithm will continue until the set of remaining vertices V0 becomes empty and, besides, a zero x of the function fG will be found, for which, at the same time, we will calculate the estimate (max0 fG — |supp(x)|) of the deviation of the number of unit
x
upper zero of the function fG.
Algorithm 2. Algorithm Am(G, V0) Input data: G, V0, m E [n] V0 x
1: Ind = 0
vi E V0
3: if vi is a (|N(vi, V0)|, m)-vertex in the subgraph G(V0) then 4: xi ^ 1
Vo ^ Vo — ({vi} U N(vi,Vo)) Ind ^ 1 5: break
end of condition
end of loop_
Algorithm 2 sequentially checks, for the given value of m and for each vertex of the initial set V0, whether it is a (|N(vi, V0)|,m)-vertex. If there are no such vertices, then no
V0
V0 Ind = 0 x
vi V0 V0 vi Ind = 1
xi x 1
Algorithm 3. Algorithm B(G, V0) G V0
Output data: x E fG1(0) 1: while V0 = 0 2: m = 0 Ind = 1
3: while (Ind = 1) & V0 = 0 do 4: Am(G, V0)
Ind ^ Ind(Am(G, V0)) end of loop
5:
6: while (Ind = 0) & V0 = 0 do
7: m ^ m +1 Am(G, V0)
Ind ^ Ind(Am(G, V0)) end of loop end of loop
During operation Algorithm 3, ^ the result of repeated calls of Algorithm 2, the tuple x is formed, which is a zero of the function fG.
Proposition 3. Let vi be a (k, m)-vertex in a graph G := (V (G), E (G)). Then there exists a tuple x' E max fG1 (0) such th at x'i = 1 and
c
|supp(x')| > max0fG — m .
Proof. Suppose, according to the definition of the (k, m)-vertices, that for vi E V(G) we have
{^1,..., em} := — (S(G) n (N^)) .
Then the vertex vi is a k-vertex in the graph G1; which is obtained from the graph G by m { e 1 , . . . , em } vi G
to turn the induced subgraph G1 (N(vi)) into a complete graph.
x xi = 1
and x E maxmax fGl (0)-
G1
|supp(x)| = max0fGl > max0fG — m .
It follows from Lemma 1 that x E fG1(0)- By the definition of the upper zeros, there exists a tuple x' E max fG1(0) such th at x' > x and, as a consequence,
|supp(x')| > |supp(x)| > max0fG — m ,
as it was to be proved.
□
In every next loop of Algorithm 1, the search is terminated when some k-vertex is found. Such an approach minimizes the number of operations in the working loop of the
V0 = 0
Let us present an Algorithm 4, in each next working loop of which the parameters k m V0
Algorithm 4.
G V0 m = 0
Output data: x E maxfG1 (0) and m which is the estimate of deviation from max0 fG V0 = 0
vi E V0 = 0 ki mi vi
a (ki,m^-vertex in the graph G(V0); in the set V0, to extract the subset V0 C V0 of
mi
in the set V0', to find a vertex vi0 E V0 with the maximal value of the parameter ki0
xio ^ 1
m ^ m + mi0
V0 ^ V0 — (K}U N(vio, V0)) end of loop_
Algorithm 4 finds a tupie x E max fG1(0), for which the precision estimate max0 fG — |supp(x)| < mof the solution is true.
4
For each vertex vi from the current set V0, it is necessary to find the number of vertices in the neighborhood N(vi, V0) and the number of new edges that should be added into the neighborhood N(vi, V0) for turning the induced subgraph G(N(vi,V0)) into a complete graph. We remove the vertices viUN(vi, V0) and the edges ei E G^v^lJN(vi; V0)) until the current set of vertices V0 becomes empty. Given the in put data V (G) = {v1;... ,vn} and E(G) = {e1,..., ep}, we obtain the following estimate. The common number of iterations undertaken during the work of Algorithm 4 is less than or equal to n; every iteration demands no more than O(np) actions for the computation of the parameters k and m; and no more than O(p) actions are needed for the removal of a vertex and its neighborhood from the current graph. Thus, Algorithm 4 has the complexity of O(n • np + np) = O(n2p).
3. Solving the Problem of Searching for a Maximal Upper Zero
For some applied problems that are reduced to Problem 2, either exact results were obtained, or the significant decrease of the dimension of Problem 2 was achieved.
Example 1. The graph G := (V := {v^^,... ,v22}, E) is specified by the incidence lists N(vi) of its vertices, i E [22], V0 = V:
N (vi) = {V2, Va,V4, Va, V8, Vg} , N (vi2) = {v2,va,v4,va,vn,vi7} ,
N (v2) = {vi, va,V4, va, V12} , N (via) = {vii vi4,vi5} ,
N (va) = {vi,v2,v4,v7,vi2} , N (vi4) = {vii via, vi5 } ,
N (V4) = {vi, v2 ,va, v5, va, v8, vg, vi0,vi2} , N (vi5) = {vii via,vi4,via} ,
N (V5) = {v4, va,v7, vg, vio} , N (via) = {vi5 vi7} ,
N (va) = {vi, v2,v4, v5, v7, v8, vg, vi2} , N(vi7) = {vi2 via,vi8,vig,v2i,v22} ,
N (v7) = {va, v5, va} , N (vi8) = {vio vi7,vig,v2i,v22} ,
N (v8) = {vi,v4,va,vg} , N (vig) = {vi7 vi8,v2i,v22} ,
N (v9) = {vi,v4,v5,va,v8,vio} , N (v2o) = {vio v2i,v22} ,
N(Vio) := {v4,v5,vg,vii,vi8,v2o} , N(v2i) = {vi7 vi8,vig,v2o} ,
N(vii) := {vio, vi2, via, vi4, vi5} , N(v22) = {vi7 vi8, vig,v2o} ■
Acting in accordance with Algorithm 1, for each vertex vi E V0 we check whether it is kG A(G,Vo):
v1 (2,3,4,5,6,7) is not a 6 (5, 5, 9, 5,8, 3)-vertex.
v8 is a 4-vertex ^ x8 ^ 1; V0 ^ V0 — {v1,v4,v6,v8,v9}.
v2 is a 2-vertex ^ x2 ^ 1; V0 ^ V0 — {v2,v3,v12}.
v5 2
v7 is a 1-vertex ^ x7 ^ 1; V0 ^ V0 — {v5,v7}. v10 (11) is not a 3 (4)-vertex.
v13 is a 3-vertex ^ X13 ^ 1; Vo ^ Vo — {vu, v13, v14, v15}. v10 2
v16 is a 1-vertex ^ x16 ^ 1; V0 ^ V0 — {v16,v17}. v1o (18,19,20,21,22) is not a 2 (4, 3, 3, 3, 3)-vertex.
x = (0,1, 0, 0, 0, 0,1,1, 0, 0, 0, 0,1, 0, 0,1,0, 0, 0, 0,0, 0) is a zero of the function fo, x E fo1 (0) besides, a maximal upper zero X E max max fG1(0) of the function fG has the
form:
X' = (0, 1, 0, 0, 0, 0, 1, 1, 0,X10, 0, 0, 1, 0, 0, 1, 0,X18,X19,X20,X21,X22) •
Thus, the dimension of the problem was decreased from |V0| = 22 to
M = |{^10,^18,^19,^20,^21,^22}| = 6.
For exhausting the vertex set V0, we follow Algorithm 3, that is, among the vertices from the set V0 we search for (k, m)-vertices (the case of m = 0 corresponds to the search for k-vertices, which was undertaken by Algorithm 1).
Table 1
3
m 0 0 0 0 0 0 1 0 0 X
Ind 1 1 1 1 1 1 0 1 1
V1 1 0 0 0 0 0 0 0 0 0
V2 1 1 0 0 0 0 0 0 0 1
V3 1 1 0 0 0 0 0 0 0 0
V4 1 0 0 0 0 0 0 0 0 0
V5 1 1 1 0 0 0 0 0 0 0
V6 1 0 0 0 0 0 0 0 0 0
V7 1 1 1 0 0 0 0 0 0 1
V8 1 0 0 0 0 0 0 0 0 1
V9 1 0 0 0 0 0 0 0 0 0
V10 1 1 1 1 1 1 0 0 0 1
V11 1 1 1 1 0 0 0 0 0 0
V12 1 1 0 0 0 0 0 0 0
V13 1 1 1 1 0 0 0 0 0 1
V14 1 1 1 1 0 0 0 0 0 0
V15 1 1 1 1 0 0 0 0 0 0
V16 1 1 1 1 1 0 0 0 0 1
V17 1 1 1 1 1 0 0 0 0 0
V18 1 1 1 1 1 1 0 0 0 0
V19 1 1 1 1 1 1 1 0 0 0
V20 1 1 1 1 1 1 0 0 0 0
V21 1 1 1 1 1 1 1 0 0 1
V22 1 1 1 1 1 1 1 1 0 1
Example 2. Acting in accordance with Algorithm 3, for each vertex vi E V0 we check whether it is a (k, m)-vertex in the graph G. V0 = 0, m = 0:
Ind = 0 ^ m ^ m +1 = 1 Ai(G, V0):
vio is a (2, 1)-vertex: xw ^ 1, V0 ^ V0 - {vi0,vis,v20}■
Ind = 1 ^ m = 0, Ao(G,Vo):
v19 is not a 2-vertex;
i>2i is a 1-vertex: x21 ^ 1, V ^ V0 — {v19,v21}. Ind = 1 ^ m = 0, Ao(G,Vo): V22 is a 0-vertex: X22 ^ 1 Vo ^ Vo — {^22}-Vo = 0.
x' = (0,1, 0, 0, 0,0,1,1, 0,1, 0, 0,1, 0, 0,1, 0, 0,0, 0,1,1) te a zero of the function fG, and it is a maximal upper zero of the function fGu{(^i8,^2o)}> then, according to Proposition 2, the number of unit components in a maximal upper zero of the function fG is restricted by the inequality:
maxofo < maxofcu«^,^)} + 1 = lsuPP(x')| + 1 = 9 .
Table 2
The work of Algorithm 4
k/m k/m k/m k/m k/m k/m k/m k/m k/m x
Vi 6/5 0
V2 5/2 2/0 2/0 1
V3 5/5 3/2 3/2 0
V4 9/19 0
V5 5/4 2/1 2/1 2/1 0
V6 8/15 0
V7 3/2 2/1 2/1 1/0 1
V8 4/0 1
V9 6/5 0
Vi0 6/12 4/6 3/3 3/3 2/1 2/1 1/0 1
Vii 5/7 5/7 0
V12 6/10 4/5 3/2 0
V13 3/0 3/0 1
V14 3/0 3/0 0
V15 4/3 4/3 0
V16 2/1 2/1 1/0 1/0 1/0 1
V17 6/10 6/10 6/10 5/5 5/5 0
V18 5/5 5/5 5/5 5/5 5/5 4/4 0
V19 4/1 4/1 4/1 4/1 4/1 3/1 1
V20 3/3 3/3 3/3 3/3 3/3 3/3 1/0 0
V21 4/3 4/3 4/3 4/3 4/3 3/2 0
V22 4/3 4/3 4/3 4/3 4/3 3/2 0
3
V0
k V0
xi vi k
24
4 V0
in an z-th row's values of k and m are related to the vertex vi in the current subgraph G(Vo).
For the resulting tuple x = (0,1, 0, 0, 0, 0,1,1, 0,1,0, 0,1, 0,0,1, 0, 0,1, 0, 0, 0) it holds
that x £ max fG1 (0) and according to Corollary 2 from Proposition 2 we see that
|supp(x)| = 7 > max0 fG — 1, or equally max0 fG < 8.
Earlier, for the tuple x' obtained with the help of Algorithm 3, we also obtained that
max0 fG < 9. Since x' £ maxfG1(0), |supp(x')| = 8 and max0fG < 8, we see that x' £
niaxmax fG1 (0) and max0 fG = 8. References
1. Gainanov D.N. Kombinatornaya geometriya i grafy v analize nesovmestnykh sistem i raspoznavanii obrazov [Combinatorial Geometry and Graphs in an Analysis of Infeasible Systems and Pattern Recognition]. Moscow, 2014. (in Russian)
2. Gainanov D.N. On One Criterion of the Optimality of an Algorithm for Evaluating Monotonie Boolean Functions. Zhurnal vychislitel'noi matematiki i matematicheskoi fiziki [USSR Computational Mathematics and Mathematical Physics], 1984, vol. 24, no. 4, pp. 176-181. (in Russian)
3. Korshunov A.D. Monotone Boolean functions. Uspekhi matematicheskikh nauk [Progress in Mathematical Sciences], 2003, vol. 58, no. 5 (535), pp. 89-162. (in Russian)
4. Sapozhenko A.A. Problema Dedekinda i rnetod granichnykh funktsionalov [Dedekind's Problem and the Method of Boundary Functionals]. Moscow, 2009. (in Russian)
5. Bioch J.C., Ibaraki T., Makino K. Minimum Self-Dualdecompositions of Positive Dual-Minor Boolean Functions. Discrete Applied Mathematics, 1999, vol. 96-97, pp. 307-326.
6. Boros E., Hammer P., Ibaraki T., Kawakami K. Polynomial Time Ecognition of 2-monotonic Positive Boolean Functions Given by an Oracle. SIAM Journal on Computing, 1997, no. 26, pp. 93-109.
7. Domingo C., Mishra N., Pitt L. Efficient Read-Restricted Monotone CNF/DNF Dualization by Learning with Membership Queries. Machine Learning, 1999, no. 37 (1), pp. 89-110.
8. Makino K., Ibaraki T. A Fast and Simple Algorithm for Identifying 2-Monotonic Positive Boolean Functions. Journal of Algorithms, 1998, no. 26 (2), pp. 291-305.
9. Makino K., Ibaraki T. The Maximum Latency and Identification of Positive Boolean Functions. SIAM Journal on Computing, 1997, no. 26, pp. 1363-1383.
10. Torvik V.l., Triantaphyllou E. Guided Inference of Nested Monotone Boolean Functions. Information Sciences, 2003, no. 151 (SUPPL), pp. 171-200.
11. Triantaphyllou E. Data Mining and Knowleadge Discovery Via Logic-Based Methods. Theory, Algorithms and Applications. N.Y., Springer, 2010.
12. Valiant L. A Theory of the Learnable. Communications of the ACM, 1984, no. 27 (11), pp. 1134-1142.
13. Torvik V.l., Triantaphyllou E. Inference of Monotone Boolean Functions. Encyclopedia of Optimization. N.Y., Springer, 2009, pp. 1591-1598.
Received April 1, 2016
УДК 519.1 Б01: 10.14529/ттр160302
АЛГОРИТМ РАСШИФРОВКИ МОНОТОННЫХ БУЛЕВЫХ ФУНКЦИЙ, ПОРОЖДАЕМЫХ НЕОРИЕНТИРОВАННЫМИ ГРАФАМИ
Д.Н. Гайнанов, В.А. Рассказова
Существует достаточно прикладных задач, в которых одним из инструментов моделирования служат булевы функции, среди которых важную роль играют монотонные булевы функции. Например, монотонные булевы функции являются удобным средством для описания структуры совместных подсистем несовместных систем условий, поскольку совместность является монотонным свойством.
В работе рассматриваются монотонные булевы функции, порождаемые неориентированными графами, в которых нули функции определяются как такие двоичные наборы, для которых соответствующий подграф исходного неориентированного графа пуст, или не содержит ребер. Для такого класса монотонных булевых функций даются постановки задач, связанных с выделением верхних нулей и максимальных верхних нулей функции. Вводятся понятия к-вершины и (к, т)-вершины в неориентированном графе. Показано, что для любой к-вершины исходного графа существует максимальный верхний нуль порожденной монотонной булевой функции, в котором компонента хг, соответствующая этой к-вершине, принимает значение 1.
На основе этого утверждения построен алгоритм выделения максимального верхнего нуля для рассматриваемого класса монотонных булевых функций, который гарантирует, при определенных условиях, нахождение точного решения задачи поиска максимального верхнего нуля, либо приводит к снижению размерности исходной задачи. Предложенный алгоритм обобщается для случая использования (к, т)-вершин. Построенный алгоритм выделяет верхний нуль монотонной булевой функции и дает оценку его отклонения от максимального верхнего нуля по числу единиц в этих наборах. Алгоритм имеет сложность О (п2р), где п - число вершин и р - число ребер исходного графа.
Ключевые слова: монотонная булева функция; верхний нуль монотонной булевой функции; неориентированный граф; алгоритм поиска максимальных верхних нулей монотонной булевой функции.
Работа проводилась при финансовой поддержке К ЦП (Коллективный центр превосходства) «Квантум и видеоинформационные технологии> программа развития Уральского федерального университета им. первого президента России Б.Н. Ельцина.
Литература
1. Гайнанов, Д.Н. Комбинаторная геометрия и графы в анализе несовместных систем и распознавании образов / Д.Н. Гайнанов. - М.: Наука, 2014.
2. Гайнанов, Д.Н. Об одном критерии оптимальности алгоритма расшифровки монотонных булевых функций / Д.Н. Гайнанов // Журнал вычислительной математики и математической физики. - 1984. - Т. 24, № 8. - С. 1250-1257.
3. Коршунов, А.Д. Монотонные булевы функции / А.Д. Коршунов // Успехи математических наук. - 2003. - Т. 58, № 5 (535). - С. 89-162.
4. Сапоженко, A.A. Проблема Дедекинда и метод граничных функционалов / A.A. Сапо-женко. - М.: Физматлит, 2009.
5. Bioch, J.С. Minimum Self-Dualdecompositions of Positive Dual-Minor Boolean Functions / J.C. Bioch, T. Ibaraki, K. Makino // Discrete Applied Mathematics. - 1999. - V. 96-97. -P. 307-326.
6. Boros, E. Polynomial Time Ecognition of 2-monotonic Positive Boolean Functions Given by an Oracle / E. Boros, P. Hammer, T. Ibaraki, K. Kawakami // SIAM Journal on Computing. - 1997. - № 26. - P. 93-109.
7. Domingo, C. Efficient Read-restricted Monotone CNF/DNF Dualization by Learning with Membership Queries / C. Domingo, N. Mishra, L. Pitt // Machine Learning. - 1999. -№ 37 (1). - P. 89-110.
8. Makino, K. A Fast and Simple Algorithm for Identifying 2-Monotonic Positive Boolean Functions / K. Makino, T. Ibaraki // Journal of Algorithms. - 1998. - № 26 (2). - P. 291-305.
9. Makino, K. The Maximum Latency and Identification of Positive Boolean Functions / K. Makino, T. Ibaraki // SIAM Journal on Computing. - 1997. - № 26. - P. 1363-1383.
10. Torvik, V.l. Guided Inference of Nested Monotone Boolean Functions / V.l. Torvik, E. Triantaphyllou // Information Sciences. - 2003. - № 151 (SUPPL). - P. 171-200.
11. Triantaphyllou, E. Data Mining and Knowleadge Discovery Via Logic-Based Methods. Theory, Algorithms and Applications / E. Triantaphyllou. - N.Y.: Springer, 2010.
12. Valiant, L. A Theory of the Learnable / L. Valiant // Communications of the ACM. - 1984.
27 (11). - P. 1134-1142.
13. Torvik, V.l. Triantaphyllou E. Inference of Monotone Boolean Functions / Torvik, V.l. -Encyclopedia of Optimization. - N.Y.: Springer, 2009. - P. 1591-1598.
Дамир Насибуллович Гайнанов, кандидат технических наук, заведующий кафедрой «Аналитика больших данных и методы видеоанализа >, Уральский федеральный университет им. первого Президента России Б.Н. Е ЛЬЦИНс! (г. Екатеринбург, Российская Федерация), damir.gainanov@gmail.com.
Варвара Андреевна Рассказова, аспирант, кафедра «Теория вероятностей:», Московский авиационный институт (г. Москва, Российская Федерация), 2265874@mail.ru.
Поступила в редакцию 1 апреля 2016 г.