In this section, we consider a special class of monotone Boolean functions, related to the well-known Kruskal-Katona theorem, which describes the exact optimal monotone constructions of shadow minimization (constraint minimization) problem, and the existence problem of Sperner systems for a given set of parameters. Although the reconstruction problem for general MBFs is intractable, the problem itself is extremely important in system design and implementation. The reconstruction problem for such subsets of MBFs is insufficiently investigated, and in this paper, for the first time in our knowledge, the problem of recognition of functions of class $\textit{KK-MBF}$ is investigated.
3.2 Resolving Sets for KK-MBF
First, let us introduce some general concepts from the field of reconstruction of Boolean functions (Korobkov,
1965). Suppose we are given a certain class
$\mathcal{S}$ of Boolean functions and
$f\in \mathcal{S}$.
Definition 2.
A set of vertices
$G(f,\mathcal{S})$ of
${B^{n}}$ is called a
resolving set for the pair
$(f,\mathcal{S})$, if from the fact that:
-
a) a function g belongs to $\mathcal{S}$, and
-
b) $g(\alpha )=f(\alpha )$ for $\alpha \in G(f,\mathcal{S})$,
it follows that
$g=f$.
It follows from the definition that to reconstruct a function it is sufficient to determine its values on some of its resolving sets.
A resolving set $G(f,\mathcal{S})$ is called a deadlock resolving set for $(f,\mathcal{S})$, if no subset of it is resolving for the pair $(f,\mathcal{S})$.
When
$\mathcal{S}$ is the set of all monotone Boolean functions, then every function
$f\in \mathcal{S}$ has a unique deadlock resolving set included in all its resolving sets; this is the set
$G(f)=\min T(f)\cup \hspace{0.1667em}\max F(f)$ (Korobkov,
1965). Thus, for a general MBF, the concept of deadlock resolving set is given by the set of all upper zeros and lower units of the function, which represent two interrelated Sperner systems.
It should be noted that this is not true for other Boolean functions and classes, for example, for the class of symmetric Boolean functions there are no unique deadlock resolving sets.
In this section, we investigate the existence of a deadlock resolving set for $\textit{KK-MBF}$ functions.
We formulate two simple properties for $\textit{KK-MBF}$ type functions f and call them horizontal and vertical conditions, denoting them as Cond-h and Cond-v.
Cond-h:
-
(1) if $f(\alpha )=0$ for a vertex α of some layer ${L_{k}}$, then $f(\beta )=0$ for all $\beta \in {L_{k}}$ reverse-lexicographically preceding α ($\beta {\preccurlyeq _{\text{revlex}}}\alpha $),
-
(2) if $f(\alpha )=1$ for a vertex α of some layer ${L_{k}}$, then $f(\beta )=1$ for all β of ${L_{k}}$ lexicographically preceding α ($\beta {\preccurlyeq _{\text{lex}}}\alpha $).
Cond-v:
-
(1) if $f(\alpha )=0$ for a vertex α, then $f(\beta )=0$ for all β, $\beta \preccurlyeq \alpha $ (component-wise order),
-
(2) if $f(\alpha )=1$ for a vertex α, then $f(\beta )=1$ for all β, $\beta \succcurlyeq \alpha $ (component-wise order).
These conditions, applied recursively, define a domain for each vertex $\alpha \in f$; denote it by $d(f,\alpha )$. Domain is downward when $f(\alpha )=0$ and upward if $f(\alpha )=1$. A simple characterization of the domains can be given in terms of natural order of vertices (their serial numbers).
Proposition 1.
For $\alpha \in {B^{n}}$ and $f\in \textit{KK - MBF}$, $d(f,\alpha )$ is composed by:
-
• vertices of ${B^{n}}$ with a higher serial number, when $f(\alpha )=1$, and
-
• vertices of ${B^{n}}$ with a smaller serial number, when $f(\alpha )=0$.
Note that not all vertices of ${B^{n}}$ with a higher (smaller) serial number than α, when $f(\alpha )=1$ ($f(\alpha )=0$) are part of the $d(f,\alpha )$.
We also define the notion of corner points for $\textit{KK-MBF}$ type functions.
Definition 3.
A zero vertex
α of a function
f is called a
zero-corner point if:
-
(1) $f(\beta )=1$ for all β from the same layer, such that $\beta {\prec _{\text{lex}}}\alpha $, and
-
(2) $f(\beta )=1$ for all β, $\alpha \prec \beta $ (component-wise order).
Similarly, a unit vertex
α of a
$\textit{KK-MBF}$ type function
f is called
one-corner point if:
-
(1) $f(\beta )=0$ for all β from the same layer such that $\beta {\succ _{\text{lex}}}\alpha $, and
-
(2) $f(\beta )=0$ for all β, $\beta \prec \alpha $ (component-wise order).
Let $z(f)$ denote the set of all zero-corner points, and $o(f)$ denote the set of all one-corner points of function f.
Summarizing all the above reasoning, we formulate the following statement.
Proposition 2.
Every monotone Boolean function f of class $\textit{KK-MBF}$ has a unique deadlock resolving set which is included in all its resolving sets. This deadlock resolving set for f is the set $G(f)=z(f)\cup o(f)$.
Proof.
First note that any zero-corner point α, as a point of $f(\alpha )=0$ has its domain $d(f,\alpha )$ filled with zero values. But as a corner point, $d(f,\alpha )$ cannot be strongly included in any other domain $d(f,\beta )$ of a point with $f(\beta )=0$. So the domain of a zero-corner point α is the deadlock domain filled with zero values. The same note is valid for one-corner points. Now, ${\textstyle\bigcup _{\alpha \in z(f)\cup o(f)}^{}}d(f,\alpha )={B^{n}}$, otherwise, if there exists $\beta \in {B^{n}}$ out of ${\textstyle\bigcup _{\alpha \in z(f)\cup o(f)}^{}}d(f,\alpha )$, then β may generate a new domain, or it will properly include some existing domain in it. It follows that $z(f)\cup o(f)$ is a resolving set. Given that the domains of 0- and 1-corner points cannot intersect by definition, and each point $\alpha \in z(f)\cup o(f)$ is represented only by itself, and by its domain, the proof is complete. □
For a general MBF, it is well-known that $|\hspace{-0.1667em}\min T(f)\cup \max F(f)|$ can reach the value ${C_{n}^{\lfloor n/2\rfloor }}+{C_{n}^{\lfloor n/2\rfloor +1}}$ and as a consequence, recognition of these functions cannot be done with less complexity. Our first notion about the $\textit{KK-MBF}$ recognition complexity is an upper bound obtained for the value $|z(f)\cup o(f)|$. Due to the resolving property of the set $z(f)\cup o(f)$, the estimate will show the number of required tests for reconstruction of $\textit{KK-MBF}$ functions.
Proposition 3.
For monotone Boolean functions f of class $\textit{KK-MBF}$ $|z(f)\cup o(f)|\leqslant 2(n-1)$.
Proof.
According to the condition Cond-h, on each layer of ${B^{n}}$ there can be only one pair α, β of neighbour vertices, for which $f(\alpha )=0$ and $f(\beta )=1$. Theoretically, they also may be corner points; hence, $|z(f)\cup o(f)|\leqslant 2(n+1)$. Exceptionally, on each of the 0-th and n-th layers there can be only 1 corner point, and in these cases $|z(f)\cup o(f)|=1$. Therefore, $|z(f)\cup o(f)|\leqslant 2(n-1)$. □
It is still a question if the value
$2(n-1)$ is reachable. A simple view of exercises in Fig.
4 shows that the real number of corner points will be smaller, but at this point we aim at mentioning the big difference between the recognition complexities of general MBF and the
$\textit{KK-MBF}$.
Concerning the issue about the size of deadlock resolving sets we may refer to the Theorem 1 of Daykin
et al. (
1974) and to Clements (
1973). Here, parametrized subsets of MBF are considered. Let us suppose that there are given numbers
${p_{0}},{p_{1}},\dots ,{p_{n}}$, denoting the quantities of upper zeros of functions on layers of
${B^{n}}$. Existence theorems of Sperner families, i.e. existence of MBF by the sets
$\{{p_{0}},{p_{1}},\dots ,{p_{n}}\}$ are obtained. The first theorem, Daykin
et al. (
1974), transfers all
${p_{i}}$ to the layers upper the middle layer. The second theorem (Clements,
1973; Daykin
et al.,
1974) gives the necessary and sufficient condition of existence in terms of a formula based on Kruskal’s cascade properties (Kruskal,
1963).
Similar theorems could be formulated for $\textit{KK-MBF}$, where ${p_{i}}\hspace{2.5pt}\text{s}$ are the numbers of corner points in layers, and then ${p_{i}}\text{s}$ can be either 0 or 1. Thus, the formulas would obtain simpler Kruskal’s cascade forms. But in our case, the upper bound $2(n-1)$ is relatively small and acceptable as a complexity estimation in comparison to ${C_{n}^{\lfloor n/2\rfloor }}+{C_{n}^{\lfloor n/2\rfloor +1}}$. The problem is how to effectively find the mentioned corner points algorithmically.
On the other hand, let us consider a series of $\textit{KK-MBF}$ functions, which provide a lower bound for $|z(f)\cup o(f)|$.
Define corner points on layers as follows:
On the 1st layer we take two corner points: 1-corner point is the vertex $(1\stackrel{n-1}{\overbrace{00\dots 0}})$, the smallest vertex of ${B_{{x_{1}}=1}^{n-1}}$ in $\textit{lex}$ order; and 0-corner point is $(01\stackrel{n-2}{\overbrace{00\dots 0}})$, the smallest vertex of ${B_{{x_{1}}=\hspace{0.1667em}0,{x_{2}}=1}^{n-2}}$ in $\textit{lex}$ order. These are two neighbour vertices on the 1st layer.
On the 2nd layer we construct two corner points as follows: 1-corner point is $(01\stackrel{n-3}{\overbrace{00\dots 0}}1)$, the smallest vertex of the cube ${B_{{x_{1}}=\hspace{0.1667em}0,{x_{2}}=1,{x_{n}}=1}^{n-3}}$; 0-corner point is $(0011\stackrel{n-4}{\overbrace{00\dots 0}})$, the smallest vertex of ${B_{{x_{1}}=\hspace{0.1667em}0,{x_{2}}=\hspace{0.1667em}0,{x_{3}}=1,{x_{4}}=1}^{n-4}}$, all in $\textit{lex}$ order.
This process is continued until one of the constructed subcubes becomes small and we reach a corner point defined by a 0-size subcube, i.e. a vertex.
Let us explain again the construction. Vertex
$(1\stackrel{n-1}{\overbrace{00\dots 0}})$ is the smallest vertex on layer 1 of
${B^{n}}$. Vertex
$(01\stackrel{n-2}{\overbrace{00\dots 0}})$ is its left neighbour (see Fig.
4). Vertex
$(1\stackrel{n-1}{\overbrace{00\dots 0}})$ defines all vertices of
${B_{{x_{1}}=1}^{n-1}}$ as units of the function by
Cond-h, and vertex
$(01\stackrel{n-2}{\overbrace{00\dots 0}})$ defines as zero only the vertex
$(\stackrel{n}{\overbrace{00\dots 0}})$. Upper area of vertex
$(01\stackrel{n-2}{\overbrace{00\dots 0}})$ still can be defined arbitrarily – either as a zero or as a unit. But we take the leftmost vertex
$(01\stackrel{n-3}{\overbrace{00\dots 0}}1)$ of the layer next to the layer of
$(01\stackrel{n-2}{\overbrace{00\dots 0}})$ defining its value as unit. The left neighbour’s value we define as zero. This simple construction, repeated as long as possible, gives a series of
$\textit{KK-MBF}$ functions. How many corner points may have these functions?
Starting from the first layer, we reach the last possible corner point on the:
$(n/2)$-th layer, if n is even – in this case we have 2 corner points on each layer starting from 1 to $n/2$; and $(n+1)/2$-th layer, if n is odd – in this case we have 2 corner points on each layer starting from 1 to ($n-1)/2$, and one corner point on the ($n+1)/2$-th layer.
In both cases, we get
$|z(f)\cup o(f)|=n$; and thus,
3.3 Identification of KK-MBF Type Functions: Main Procedures
Hansel chain based MBF recognition methods are global tools and can be applied to recognize any class of monotone Boolean functions, including $\textit{KK-MBF}$. However, we aim to exploit specific properties of this class of functions to achieve more efficient recognition. To go beyond the chain-based analysis, in this section we consider the recognition of $\textit{KK-MBF}$ functions at the level of analysis of particular layers of ${B^{n}}$.
A useful step and exercise in recognitions is to determine the first and last nontrivial layers (trivial layers are those with all-zeros or with all units of the function). This can be done considering the following two chains of length
n:
${L_{1}}$ that is the chain consisting of all first, and
${L_{2}}$ that is the chain consisting of all last elements of the lexicographic order of layers.
${L_{1}}$ is the longest Hansel chain in the chain split, see Fig.
3. Applying bisections on chains
${L_{1}}$ and
${L_{2}}$, we can find two neighbouring layers
$({k_{1}}$,
${k_{1}}+1)$ and
$({k_{2}}$,
${k_{2}}+1)$ and vertices on chains
${L_{1}}$ and
${L_{2}}$, respectively, where the function’s value changes from 0 to 1. This means that the layers from
${k_{2}}+1$ to
n, and from 0 to
${k_{1}}$ are trivial, they accept values 0 and 1, correspondingly. Indeed, when first vertex of layer
${k_{1}}$ accepts 0, then the whole layer accepts 0. The layer
${k_{1}}$ and below is filled by values 0 (the trivial 0 layers), but in layer
${k_{1}}+1$ there exists at least one vertex with value 1 so that trivial layers interrupt here. Similar explanation is valid concerning the chain
${L_{2}}$. The bisection procedure of each chain requires only
${\log _{2}}(n)$ queries to the oracle.
On the other hand, if the vertices on each layer of ${B^{n}}$ are ordered lexicographically, we can apply layer by layer bisections and find a corner vertex candidate ${\alpha _{k}}$ on the k-th layer with no more than ${\log _{2}}({C_{n}^{k}}+1)$ queries.
In this manner, a $\textit{KK-MBF}$ type function can be recognized by no more than ${\textstyle\sum _{k=1}^{n}}{\log _{2}}({C_{n}^{k}}+1)$ queries. A very rough estimate of this total value would be $O({n^{2}})$, as the largest layer is the middle k-th layer with $k=[n/2]$, where ${C_{n}^{[n/2]}}\sim \frac{{2^{n+1}}}{\sqrt{2\pi n}}$ with $n\to \infty $.
Proposition 4.
Time complexity of reconstruction of monotone Boolean functions of class $\textit{KK-MBF}$ by layer by layer bisections is $O({n^{2}})$.
For
$\textit{KK-MBF}$ functions the time complexity of Hansel algorithm remains
$\sim {C_{n}^{[n/2]}}$ so
$O({n^{2}})$ is a valuable reduction of the complexity characteristics. But the techniques of Tonoyan (
1979) and Sokolov (
1987) for the reduction of memory used in Hansel algorithm can not be applied in the case of our layer bisection approach.
To find a way to reduce the memory complexity we continue to address algorithmic questions on layers from an additional perspective. In order to apply bisections on layers, we need to keep all ${2^{n}}$ vertices (ordered lexicographically, layer-by-layer) in computer memory. Otherwise, we need to find a vertex by its number in lexicographic order, or by a distance from a certain vertex (again, in lexicographic order). There are no explicit formulas for this. Thus, both cases will require appropriate time and memory resource.
One way to avoid this situation is using sub-cube structures on layers when partitioning the cube. This is easily applicable to find the 0–1 border on layers, although it will require more than logarithmic queries on layers.
We will use ${\alpha _{j}^{k}}$ for the j-th element of ${L_{k}}$ in the lexicographic order. Then the smallest element of ${L_{k}}$ in the lexicographic order is ${\alpha _{1}^{k}}=(\stackrel{k}{\overbrace{11\dots 1}}\stackrel{n-k}{\overbrace{00\dots 0}})$, and the largest one is the element ${\alpha _{{C_{n}^{k}}}^{k}}=$ ($\stackrel{n-k}{\overbrace{00\dots 0}}\stackrel{k}{\overbrace{11\dots 1})}$.
Let ${B_{{x_{1}}=1}^{n-1}}$ and ${B_{{x_{1}}=\hspace{0.1667em}0}^{n-1}}$ be the partitions of ${B^{n}}$ according to ${x_{1}}$, and ${L_{{k,x_{1}}=1}}$ and ${L_{{k,x_{1}}=0}}$ denote the parts of ${L_{k}}$ in ${B_{{x_{1}}=1}^{n-1}}$ and ${B_{{x_{1}}=\hspace{0.1667em}0}^{n-1}}$, respectively. Then ${\alpha _{1}}=\stackrel{k}{(0\overbrace{11\dots 1}}\stackrel{n-k-1}{\overbrace{00\dots 0}})$ is the lexicographically smallest element of ${L_{k,{x_{1}}=\hspace{0.1667em}0}}$, and ${\alpha _{0}}=(1\stackrel{n-k}{\overbrace{00\dots 0}}\stackrel{k-1}{\overbrace{11\dots 1}})$ is the lexicographically largest element of ${L_{{k,x_{1}}=1}}$.
Instead of taking the arithmetical middle vertex of ${L_{k}}$ to ask/test the function value, we take either ${\alpha _{1}}$ or ${\alpha _{0}}$ (for certainty, we will take ${\alpha _{1}}$). If $f({\alpha _{1}})=1$, then $f(\alpha )=1$ for all $\alpha \in {L_{{k,x_{1}}=1}}$; therefore, the next vertex that we will take to ask the function value is the largest element of ${L_{k,{x_{1}}=\hspace{0.1667em}0,{x_{2}}=\hspace{0.1667em}0}}$ (the part of ${L_{k}}$ in ${B_{{x_{1}}=\hspace{0.1667em}0,{x_{2}}=\hspace{0.1667em}0}^{n-2}}$), this is element ${\alpha _{2}}=\stackrel{k}{(00\overbrace{11\dots 1}}\stackrel{n-k-2}{\overbrace{00\dots 0}})$.
If $f({\alpha _{1}})=0$, then $f(\alpha )=0$ for all $\alpha \in {L_{{k,x_{1}}=\hspace{0.1667em}0}}$; therefore, the next vertex that we will take is the largest element of ${L_{k,{x_{1}}=1,{x_{2}}=\hspace{0.1667em}0}}$ (the part of ${L_{k}}$ in ${B_{{x_{1}}=1,{x_{2}}=\hspace{0.1667em}0}^{n-2}}$), this is the element ${\alpha _{2}}=\stackrel{k-1}{(10\overbrace{11\dots 1}}\stackrel{n-k-1}{\overbrace{00\dots 0})}$.
In general, in ${B_{{x_{1}}=\hspace{0.1667em}{\sigma _{1}},\dots ,{x_{i}}={\sigma _{i}}}^{n-i}}$ the largest element of k-th layer is
${\sigma _{1}}\dots {\sigma _{i}}\stackrel{x}{\overbrace{11\dots 1}}\stackrel{y}{\overbrace{00\dots 0}}$, where x is k minus the number of 1s in ${\sigma _{1}}\dots {\sigma _{i}}$, and y is $(n-k)$ minus the number of 0s in ${\sigma _{1}}\dots {\sigma _{i}}$.
In this way, after each query, we continue in a smaller sub-cube, and hence, the number of queries in each layer can be at most $n-1$. For the heaviest layer, for $k=n/2$, we get the same estimate, but without either keeping all vertices in computer memory or calculating the given j-th vertex in the lexicographic order. Indeed, the number of vertices of middle layer equals ${C_{n}^{[n/2]}}\sim \frac{{2^{n+1}}}{\sqrt{2\pi n}}$ when $n\to \infty $. Logarithm of this, the number of steps in dichotomy, is equivalent to $n-1$, and so the partition by cube structures is simple and effective.
Proposition 5.
Reconstruction of monotone Boolean functions of class $\textit{KK-MBF}$ can be organized with complexity $O({n^{2}})$ without keeping the cube structure in computer memory.
As an example, consider the function given in Fig.
4, and suppose that
$k=3$. Then,
${\alpha _{1}}=(01110)$, and since $f(01110)=0$, the next vertex is
${\alpha _{2}}=(10110)$. $f(10110)=1$, and it follows that the next is
${\alpha _{3}}=(10011)$. $f(10011)=1$.
This way, we found the corner points $f(01110)=0$ and $f(10011)=1$ of the third layer.
So far, when recognizing $\textit{KK-MBF}$ functions layer by layer, we have only used the fact that the function satisfies the condition Cond-h and have not used the monotonicity of the function. Using the monotonicity will narrow the space for taking the next vertex for testing.
Suppose that ${\alpha _{k}}$ is the smallest vertex of ${L_{k}}$ in the lexicographic order with $f({\alpha _{k}})=1$. Denote by ${\alpha _{k+1}}$ the lexicographically smallest upper neighbour of ${\alpha _{k}}$ in ${L_{k+1}}$. Then, at the next step, we need to consider only those vertices of ${L_{k+1}}$, lexicographically smaller than ${\alpha _{k+1}}$.
For the given example in Fig.
4,
$(10100)$ is the smallest vertex of
${L_{2}}$ in the reverse-lexicographic order, where the function value is 1. Then, we will choose the next vertex in the interval
$[(00111),(10011)]$ instead of
$[(00111),(11100)]$.
But to calculate the length of the interval $[\text{reverse-lexicographically first vertex of}\hspace{2.5pt}{L_{k+1}}$, ${\alpha _{k+1}}]$ we need to find the number of ${\alpha _{k+1}}$ in lexicographic order. Effective solution of this problem is still open.
Here as well, one can use sub-cube structures, but the benefit is only in the case when ${f(\alpha _{k+1}})=0$.
We conclude the section with the following general note. It addresses an alternative partial order of vertices to the traditional monotony based order, where $\alpha \preccurlyeq \beta $ if α coordinate-wise precedes β. In terms of $\textit{KK-MBF}$, each of the vertices α and β creates 2 domains: upper domains $\hat{d}(f,\alpha )$ and $\hat{d}(f,\beta )$, when $f(\alpha )=f(\beta )=1$, and lower domains $\check{d}(f,\alpha )$ and $\check{d}(f,\beta )$, when $f(\alpha )=f(\beta )=0$. In this case we define the following order: $\alpha {\preccurlyeq _{d}}\beta $ if $d(f,\alpha )\subseteq d(f,\beta )$ with $f(\alpha )=f(\beta )=0$, and, which is the same, $\alpha {\preccurlyeq _{d}}\beta $ if $d(f,\alpha )\supseteq d(f,\beta )$ with $f(\alpha )=f(\beta )=1$. Otherwise, vertices α and β are incomparable. We call this construction KK-poset. Sperner type family may be obtained as a simple extension of this concept to the case of KK-poset. Here, similar to general MBFs, each $\textit{KK-MBF}$ is given by two complementary Sperner families – one is composed by 0-corner points, and the other includes all maximal 1-corner points of the function. We obtain that the $\textit{KK-MBF}$ reconstruction is similar to the MBF reconstruction, just the basic space and poset is a bit different. The technique developed for the general MBF and the experiences may be used in the problem of reconstruction of $\textit{KK-MBF}$ functions. We consider this reduction and transfer from MBF to $\textit{KK-MBF}$ an interesting research topic that is worthy of further investigations.