This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

\NewEnviron

movableProof[1][Proof] 11institutetext: Amazon Robotics, North Reading, MA, USA. 11email: zhangyl@amazon.com22institutetext: Texas A&M University, College Station, TX, USA. 22email: dshell@tamu.edu

A fixed-parameter tractable algorithm for combinatorial filter reduction

Yulin Zhang 11    Dylan A. Shell 22
Abstract

What is the minimal information that a robot must retain to achieve its task? To design economical robots, the literature dealing with reduction of combinatorial filters approaches this problem algorithmically. As lossless state compression is NP-hard, prior work has examined, along with minimization algorithms, a variety of special cases in which specific properties enable efficient solution. Complementing those findings, this paper refines the present understanding from the perspective of parameterized complexity. We give a fixed-parameter tractable algorithm for the general reduction problem by exploiting a transformation into clique covering. The transformation introduces new constraints that arise from sequential dependencies encoded within the input filter — some of these constraints can be repaired, others are treated through enumeration. Through this approach, we identify parameters affecting filter reduction that are based upon inter-constraint couplings (expressed as a notion of their height and width), which add to the structural parameters present in the unconstrained problem of minimal clique covering. Compared with existing work, we precisely identify and quantitatively characterize those features that contribute to the problem’s hardness: given a problem instance, the combinatorial core may be a fraction of the instance’s full size, with a small subset of constraints needing to be considered, and even those may have directly identifiable couplings that collapse degrees of freedom in the enumeration.

This work was done prior to Y. Zhang joining Amazon Robotics.

1 Introduction

The design of robots that are simple is important not only because small resource footprints often translate into money saved, but also because parsimony can be enlightening. In fact, the pursuit of minimalism has a long history in robotics (cf. [1, 2, 4]). But the elegance in that prior work was obtained, mostly, through human nous rather than computational tools—our work pursues the latter avenue.

Combinatorial filters are a general and abstract model of stateful devices that take a stream of sensor readings as input and, processing sequentially, produce a stream of outputs. They have found direct application in describing estimators (e.g., tracking agents in an environment [14]) and also as representations for sensor-based plans (e.g., for navigation, or manipulation for part orientating [6]). Figure 1 provides specific concrete examples from the literature showing different scenarios and the associated filters. In the context of the present paper, what is interesting about combinatorial filters is that (unlike, say, Bayesian estimators) they are objects which themselves can be modified by algorithms. In our view, the fundamental information processing task faced by a robot can oftentimes be abstractly represented via a combinatorial filter, so specific obstructions to tractability have significance beyond mere applications; for instance, they speak to the challenge of niche fit as optimization under resource constraints.

[Uncaptioned image]

(a)

[Uncaptioned image]

(c)

Refer to caption

(e)

Refer to caption

(b)

Refer to caption

(d)

Refer to caption

(f)

Figure 1: Diverse examples of combinatorial filters. Sakcak et al. [12] consider a circular environment like that shown in (a) with two types of break-beam sensors that trigger when crossed by an agent. They derive the 4-state filter, depicted in (b), that outputs grey when it detects that strictly clockwise/anticlockwise motion has been violated. Scenario (c) is re-drawn from [8], where the robot observes only the cyclic ordering of 4 landmarks. Their 3-state filter, depicted in (d), determines definitively whether the robot’s current location is within the cyan region. In (e), the task of orienting a polygon with a squeeze-gripper, based upon [13], is expressed as feedback plan (f), with green encoding the action of rotating the gripper by 6565^{\circ}, and purple the squeeze action (reproduced from [18]).

space

1.1 Related Work

The idea of determining fundamental limits, such as necessary information and performance bounds, is a topic receiving renewed attention (for instance, see [3, 12]), especially when such analysis can be conducted via automated means. A key problem is that of taking a combinatorial filter and compressing it to form an equivalent filter, but with the fewest states. Regrettably, this is NP-hard [6]. A direction of work has sought to identify special cases [10, 19], to employ ILP and SAT techniques [7, 16], and to focus on special types of reductions which may give inexact solutions [8, 11]. (The state-of-the-art practical method for exact combinatorial filter minimization, at the time of writing, appears in [16].) The very closely related work of [10] identifies some parameters for which filter reduction is not FPT (namely: output size, treewidth, maximum number of appearances of any observation); they also give an FPT algorithm for a stage-by-stage reduction problem (not identical to the problem we study, see [17, Lemma 10, pg. 95]) which has parameters distinct from those we examine.

1.2 Contributions

The present paper gives a new fixed-parameter tractable (FPT) algorithm for the filter reduction problem. Such algorithms are so named because they involve the identification of specific parameters as dimensions that characterize problem instances as inputs to the algorithm. These algorithms have attractive (polynomial) performance when the instances are scaled up but with the parameters held constant. As a formal tool, they provide more fine-grained treatment than merely showing the problem is NP-hard [5]. The primary significance of the algorithm we introduce is that it highlights specific structural aspects of instances that make minimization difficult. Put another way: when the parameters identified are bounded, that which remains is a characterization of easy (i.e. polynomial time) filter minimization instances. For instance, easy filters to minimize are those where the number of zipper constraints (see Definition 4) is small. Or, when the set of zipper constraints might be large, minimization can be easy if the vast majority satisfy the repairability property we describe (see Definition 6), while being disconnected from those which do not. Also, when non-repairable constraints, owing to constraint inter-dependencies, form long chains, or—even better—cycles, the problem is simplified. Each of these help reduce the (worst-case) cost of solution.

The perspective we emphasize, thus, is that the algorithm provides a new complexity-theoretic insight by teasing apart specific structural factors affecting the hardness of filter reduction; though we do not put the algorithm to practical use, there is no basis to presume that it is impractical, either.

2 Preliminaries

Definition 1 (filter [9]).

A deterministic filter, or just filter, is a 6-tuple =(V,v0,Y,τ,C,c)\mathscr{F}=(V,v_{0},Y,\tau,C,c), with VV a non-empty finite set of states, v0v_{0} an initial state, YY the set of observations, τ:V×YV\tau:V\times Y\hookrightarrow V the partial function describing transitions, CC the set of outputs, and c:VCc:V\to C being the output function.

One traces a finite observation sequence y0y1yky_{0}y_{1}\dots y_{k} on a filter by starting at state v0v_{0}, and repeatedly following the edge labeled by yiy_{i} to arrive at vi+1=τ(vi,yi)v_{i+1}=\tau(v_{i},y_{i}). The filter’s output is c(vk)Cc(v_{k})\in C obtained from the last state visited.

Problem: Filter Minimization ( FM ()({\mathscr{F}}))  Input: A deterministic filter \mathscr{F}.  Output: A deterministic filter \mathscr{F}^{\star} with fewest states, such that: 1. any sequence which can be traced on \mathscr{F} can also be traced on \mathscr{F}^{\star}; 2. the outputs they produce on any of those sequences are identical. .

Solving this problem requires some minimally-sized filter \mathscr{F}^{\star} that is functionally equivalent to \mathscr{F}, where the notion of equivalence —called output simulation— needs only criteria 1. and 2. to be met. For a formal definition of output simulation, see [17, Definition 5, pg. 93].

Lemma 2 ([6]).

The problem FM is NP-hard.

Recently, in giving a minimization algorithm [17], FM was shown to be equivalent to vertex covering when the valid coverings satisfy a set of auxiliary constraints. These constraints, denoted 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}, are termed zipper constraints as they may cause long chains of vertices to be ‘pulled together’ incrementally. First, we describe this vertex covering problem in and of itself. Next, this abstract problem will be connected back to filters through the notion of compatibility.

Problem: Minimum Zipped Clique Cover ( MZCC (G,𝒵)({G},{{\color[rgb]{0,0.25,0.25}\mathcal{Z}}}))  Input: A graph G=(V,E)G=(V,E) and a collection of ordered pairs of GG’s edges 𝒵={(U1;V1),(U2;V2),,(Um;Vm)}{\color[rgb]{0,0.25,0.25}\mathcal{Z}}=\{({U_{1}};{V_{1}}),({U_{2}};{V_{2}}),\dots,({U_{m}};{V_{m}})\}, where Ui,ViEU_{i},V_{i}\in E.  Output: Minimum cardinality clique cover 𝕂\mathbb{K} such that: 1. Ki𝕂Ki=V\bigcup_{K_{i}\in\mathbb{K}}K_{i}=V​, with each KiK_{i} forming a clique on GG; 2. Ki𝕂\forall K_{i}\in\mathbb{K}, if there is some \ell such that UKiU_{\ell}\subseteq K_{i}, then some Kj𝕂K_{j}\in\mathbb{K} must have KjVK_{j}\supseteq V_{\ell}. . (This is a special case of MZCC in [17] but will suffice, see discussion in footnote 2.)

11footnotetext: After examining filters like those here, the later sections of that paper go further by studying a generalization in which function cc may be a relation. Complications arising from that generalization will not be discussed herein.

In bridging filters and covers, the key idea is that certain sets of states in a filter can be identified as candidates to merge together, and such ‘mergability’ can be expressed as a graph. The process of forming covers of this graph identifies states to consolidate and, accordingly, minimal covers yield small filters. The first technical detail concerns this graph and states that are candidates to be merged:

Definition 3 (extensions/compatibility).

For a state vv of filter \mathscr{F}, use (v)\mathcal{L}_{\mathscr{F}}(v) to denote the set of observation sequences, or extensions, that can be traced starting from vv. States vv and ww are compatible if their outputs agree on (v)(w)\mathcal{L}_{\mathscr{F}}(v)\cap\mathcal{L}_{\mathscr{F}}(w), their common extensions. In such cases, we write vcwv\sim_{c}w. The compatibility graph GG_{\mathscr{F}} possesses edges between states if and only if they are compatible.

But simply building a minimal cover on GG_{\mathscr{F}} is not enough because covers may merge some elements which, when transformed into a filter, produce nondeterminism. The core obstruction is when a fork is created, as when two compatible states are merged, both of which have outgoing edges bearing identical labels, but whose destinations differ. To enforce determinism, we use constraints to forbid forking and require mergers to flow downwards. See the following:

Definition 4 (determinism-enforcing zipper constraints).

Given a pair of compatible states U={u1,u2}U=\{u_{1},u_{2}\} in \mathscr{F} and their yy-children, V={τ(u1,y),τ(u2,y)}V=\{\tau(u_{1},y),\tau(u_{2},y)\}, then the ordered pair (U;V)({U};{V}) is a determinism-enforcing zipper constraint of \mathscr{F}.

A zipper constraint (U;V)({U};{V}) is satisfied by a clique cover if UU is not covered in a clique, or both UU and VV are covered in cliques. (This is criterion 2. for MZCC .) For filters, in other words, if the states in UU are to be merged (or consolidated) then the downstream states, in VV, must be as well. The collection of all determinism-enforcing zipper constraints for a filter \mathscr{F} is denoted 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}_{\mathscr{F}}.

Refer to caption
Figure 2: An illustration showing (partially) a filter \mathscr{F} (left inset) leading to a compatibility graph GG_{\mathscr{F}} (above). The Z2{Z^{2}} set is also shown.

In summary: for filter \mathscr{F}, the collection of zipper constraints 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}_{\mathscr{F}} that ensures the desired result will be a deterministic filter can be constructed directly as follows. For ucvu\sim_{c}v, a pair of compatible states in \mathscr{F}, use τ(,y)\tau(\cdot,y) to trace forward under observation yy; if the yy-children thus obtained are distinct, we form zipper constraint ({u,v},{τ(u,y),τ(v,y)})(\{u,v\},\{\tau(u,y),\tau(v,y)\}) to ensure that if uu and vv are merged (by occupying some set in the cover together), their yy-children will be as well. Construct 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}_{\mathscr{F}} by collecting all such constraints for all compatible pairs, using every observation. A cartoon illustrating the result of this procedure is shown in Figure 2: a snippet of the filter \mathscr{F} appears at bottom left; its undirected compatibility graph, GG_{\mathscr{F}}, appears above; zipper constraints are shown as the directed edges on the undirected compatibility edges. Both GG_{\mathscr{F}} and 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}_{\mathscr{F}} are clearly polynomial in the size of \mathscr{F}. Then, a minimizer of \mathscr{F} can be obtained from the solution to the minimum zipped vertex cover problem, MZCC (G,𝒵)({G_{\mathscr{F}}},{{\color[rgb]{0,0.25,0.25}\mathcal{Z}}_{\mathscr{F}}}):

Lemma 5 ([17]).

Any FM ()({\mathscr{F}}) ​​ can be converted to an MZCC (G,𝒵)({G_{\mathscr{F}}},{{\color[rgb]{0,0.25,0.25}\mathcal{Z}}_{\mathscr{F}}}) in polynomial time; hence MZCC is NP-hard.

Though we skip the details, the proof in [17] of the preceding lemma also gives an efficient way to construct a deterministic filter from the minimum cardinality clique cover.

As a final point on the connection of these two problems, combinatorial filters generate ‘most’ graphs. Specifically, [19] proves that some filter \mathscr{F} realizes GG as its constraint graph GG_{\mathscr{F}} if and only if either: (1) the graph GG has at least two connected components, or (2) GG is a complete graph.


In any graph G=(V,E)G=(V,E), we refer to the neighbors of a vertex vVv\in V by set 𝒩G(v){wV|(w,v)E}{v}\mathcal{N}_{G}(v)\coloneqq\{w\in V\;|\;(w,v)\in E\}\cup\{v\}. Note that we explicitly include vv in its own neighborhood.

Definition 6 (comparable neighborhoods 222This generalizes a concept first introduced in [19, Definition 25].).

A pair of vertices {v,w}\{{v},{w}\} in some graph G=(V,E)G=(V,E) have comparable neighborhoods if and only if we have either 𝒩G(v)𝒩G(w)\mathcal{N}_{G}(v)\subseteq\mathcal{N}_{G}(w) or 𝒩G(v)𝒩G(w)\mathcal{N}_{G}(v)\supseteq\mathcal{N}_{G}(w).

We will use the following recent result of Ullah:

Lemma 7 (From [15]).

Given a graph GG with nn vertices, let β\beta be the size of the largest clique in GG, and let the number of cliques in the minimum clique cover be mm, then there is an algorithm that computes the minimum clique cover in 2βmlogmnO(1)2^{\beta m\log m}\,n^{O(1)}.

Proof.

This follows from Theorem 1.8 of [15, pg. 4], and the algorithms therein: in his notation, we solve a VCC problem, which is possible via the LRCC problem with its three parameters set to GG, k=mk=m, E=E^{*}=\varnothing. ∎

3 Zippers and prescriptions

For a zipper constraint collection 𝒵={(U1;V1),(U2;V2),,(Um;Vm)}{\color[rgb]{0,0.25,0.25}\mathcal{Z}}=\{({U_{1}};{V_{1}}),({U_{2}};{V_{2}}),\dots,({U_{m}};{V_{m}})\}, let Z2={U1,U2,,Um,V1,V2,,Vm}{Z^{2}}=\{U_{1},U_{2},\dots,U_{m},V_{1},V_{2},\dots,V_{m}\}, i.e., the unordered pairs of vertices (or edges) appearing within collection 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}. We will write PQP\mathrlap{\raisebox{1.0pt}{${}^{\,\phantom{\ast}}$}}{\,\prec\,}Q if and only if there exists a zipper constraint (P;Q)𝒵({P};{Q})\in{\color[rgb]{0,0.25,0.25}\mathcal{Z}}. We define Zsrc2Z2Z_{\scalebox{0.5}{\text{src}}}^{2}\subseteq{Z^{2}} to be the set Zsrc2{PV()|QZ2,PQ}Z_{\scalebox{0.5}{\text{src}}}^{2}\coloneqq\{P\subseteq V(\mathscr{F})\;|\;\exists Q\in{Z^{2}},P\mathrlap{\raisebox{1.0pt}{${}^{\,\phantom{\ast}}$}}{\,\prec\,}Q\}, i.e., the unordered pairs appearing as sources in the zipper constraint collection 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}. Similarly, let Ztgt2Z2Z_{\scalebox{0.5}{\text{tgt}}}^{2}\subseteq{Z^{2}} be those pairs appearing as potential targets for enforced merging within the zipper constraints, i.e., Ztgt2{QV()|PZ2,PQ}Z_{\scalebox{0.5}{\text{tgt}}}^{2}\coloneqq\{Q\subseteq V(\mathscr{F})\;|\;\exists P\in{Z^{2}},P\mathrlap{\raisebox{1.0pt}{${}^{\,\phantom{\ast}}$}}{\,\prec\,}Q\}. By construction Z2=Zsrc2Ztgt2{Z^{2}}=Z_{\scalebox{0.5}{\text{src}}}^{2}\cup Z_{\scalebox{0.5}{\text{tgt}}}^{2}, and, in general, Zsrc2Ztgt2Z_{\scalebox{0.5}{\text{src}}}^{2}\cap Z_{\scalebox{0.5}{\text{tgt}}}^{2}\neq\varnothing.

Definition 8.

Given 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}, the pair PbZ2P_{b}\in{Z^{2}} is downstream from pair PaZ2P_{a}\in{Z^{2}}, written PaPbP_{a}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{b}, if PaPbP_{a}\mathrlap{\raisebox{1.0pt}{${}^{\,\phantom{\ast}}$}}{\,\prec\,}P_{b}, or if PaPcP_{a}\mathrlap{\raisebox{1.0pt}{${}^{\,\phantom{\ast}}$}}{\,\prec\,}P_{c} for some PcZ2P_{c}\in{Z^{2}} with PcPbP_{c}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{b}.

3.1 Prescriptions

To tackle the MZCC problem, we search for covers subject to a rule stating that some specific pairs must be merged, while others must never be. The idea is to make and fix choices for a subset of the pairs involved in the zipper constraint collection so that this prescription respects the zipper constraints for elements in the collection. We will denote the collection via set D{\color[rgb]{0.0,0.0,0.4}D}, defined next.

Definition 9.

With zipper constraint collection 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}} given some set of pairs DZ2{\color[rgb]{0.0,0.0,0.4}D}\subseteq{Z^{2}}, a prescription on D{\color[rgb]{0.0,0.0,0.4}D} is a subset of pairs 𝕊DOND\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\subseteq{\color[rgb]{0.0,0.0,0.4}D}. Prescription 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} on D{\color[rgb]{0.0,0.0,0.4}D} is termed downstream enabled if and only if (Pa𝕊DON)(PaPb)(Pb𝕊DON)(PbD)(P_{a}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\wedge(P_{a}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{b})\implies(P_{b}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\vee(P_{b}\not\in{\color[rgb]{0.0,0.0,0.4}D}).

The elements in 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} are called the on pairs; those in D𝕊DON{\color[rgb]{0.0,0.0,0.4}D}\setminus\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} are the off pairs, which we write as 𝕊DOFF\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}}. A prescription is silent about elements outside D{\color[rgb]{0.0,0.0,0.4}D} (the mnemonic for D{\color[rgb]{0.0,0.0,0.4}D} being ‘domain’ — elements within the domain are prescribed as either being on or off; elements outside the domain have no prescription). See Figure 3. (Note that since DZ2{\color[rgb]{0.0,0.0,0.4}D}\subseteq{Z^{2}}, both the on pairs and off pairs are from the set of zipper constraints, hence are edges within the graph in the MZCC problem.) If 𝕊DON={P1,P2,,Pm}\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}=\{P_{1},P_{2},\dots,P_{m}\} is a prescription, then it will be used to require that the on pairs be merged, while the off pairs are prohibited from being merged. The idea is to ensure that a cover is produced that respects the prescription:

Refer to caption
Figure 3: An example downstream-enabled prescription for the pairs in D=Z2{\color[rgb]{0.0,0.0,0.4}D}={Z^{2}} corresponding to the instance in Figure 2. Dashed red and solid green outlines represent states in \mathscr{F} to be split and merged, respectively.
Definition 10 (Faithfulness).

Let graph GG and the collection of zipper constraints 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}} be given. For some domain DZ2{\color[rgb]{0.0,0.0,0.4}D}\subseteq{Z^{2}}, a cover 𝕂={K1,K2,,Km}\mathbb{K}=\{K_{1},K_{2},\allowbreak\dots,K_{m}\} of GG is faithful to prescription 𝕊DON={P1,P2,,Pn}\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}=\{P_{1},P_{2},\dots,P_{n}\} if and only if:

  1. 1.

    For every Pi𝕊DONP_{i}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} there exists some clique K𝕂K_{\ell}\in\mathbb{K} where PiKP_{i}\subseteq K_{\ell};

  2. 2.

    For every Pj𝕊DOFFP_{j}\in\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}} there is no clique K𝕂K_{\ell}\in\mathbb{K} such that PjKP_{j}\subseteq K_{\ell}.

We will achieve this via modification of a compatibility graph that will make on and off sets enforce and prohibit mergers. The modification of the graph is given through a series of set constructions next, before showing (in Lemma 17) that this can be used as desired.

3.2 Enumerating downstream enabled prescriptions

A pair graph is a directed graph whose vertices are pairs from D{\color[rgb]{0.0,0.0,0.4}D}. We will write 𝔾\mathbb{G}, where vertices 𝕍(𝔾)D\mathbb{V}(\mathbb{G})\subseteq{\color[rgb]{0.0,0.0,0.4}D} and edges 𝔼(𝔾)𝕍(𝔾)×𝕍(𝔾)\mathbb{E}(\mathbb{G})\subseteq\mathbb{V}(\mathbb{G})\times\mathbb{V}(\mathbb{G}). Let 𝔾[R]\mathbb{G}-[R] denote the subgraph 𝔾\mathbb{G^{\prime}} with vertices RR removed, i.e., vertices 𝕍(𝔾)=𝕍(𝔾)R\mathbb{V}(\mathbb{G^{\prime}})=\mathbb{V}(\mathbb{G})\setminus R, and also edges 𝔼(𝔾)=(𝕍(𝔾)×𝕍(𝔾))𝔼(𝔾)\mathbb{E}(\mathbb{G^{\prime}})=\left(\mathbb{V}(\mathbb{G^{\prime}})\times\mathbb{V}(\mathbb{G^{\prime}})\right)\cap\mathbb{E}(\mathbb{G}). Next, we define the collection of up and downstream pairs within a given pair graph: 𝒰𝔾(P)={Pu𝕍(𝔾)PuP}\mathcal{U}_{\mathbb{G}}({P})\!=\!\{P_{u}\in\mathbb{V}(\mathbb{G})\!\mid\!P_{u}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P\}; 𝒟𝔾(P)={Pd𝕍(𝔾)PPd}.\mathcal{D}_{\mathbb{G}}({P})\!=\!\{P_{d}\in\mathbb{V}(\mathbb{G})\!\mid\!P\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{d}\}.

Algorithm 1 EnumDS(𝔾\mathbb{G})
0:  Pair graph 𝔾\mathbb{G}
0:  All prescriptions that are downstream enabled
1:  if 𝕍(𝔾)=\mathbb{V}(\mathbb{G})=\varnothing then
2:     return  \;\varnothing
3:  Let P𝕍(𝔾)P\in\mathbb{V}(\mathbb{G}) be an arbitrary pair where Q𝕍(𝔾)\forall Q\in\mathbb{V}(\mathbb{G}), |𝒟𝔾(P)||𝒟𝔾(Q)||\mathcal{D}_{\mathbb{G}}({P})|\geq|\mathcal{D}_{\mathbb{G}}({Q})|
4:  return  EnumDS(𝔾[𝒰𝔾(P)]){{P}𝒟𝔾(P)S|SEnumDS(𝔾[𝒟𝔾(P)])}\;\;{\color[rgb]{0.375,0,0.125}\textrm{{EnumDS}}}\big{(}\mathbb{G}-[\mathcal{U}_{\mathbb{G}}({P})]\big{)}\bigcup\Big{\{}\!\{P\}\cup\mathcal{D}_{\mathbb{G}}({P})\cup S\,\big{|}\,S\in{\color[rgb]{0.375,0,0.125}\textrm{{EnumDS}}}\big{(}\mathbb{G}-[\mathcal{D}_{\mathbb{G}}({P})]\big{)}\!\Big{\}}

To generate all downstream enabled prescriptions, we invoke EnumDS(𝔾\mathbb{G}(D{\color[rgb]{0.0,0.0,0.4}D})) in Algorithm 1, where 𝔾(D)\mathbb{G}({\color[rgb]{0.0,0.0,0.4}D}) is the pair graph having vertices D{\color[rgb]{0.0,0.0,0.4}D}, and an edge from pair PsP_{s} to PdP_{d} if and only if PsPdP_{s}\mathrlap{\raisebox{1.0pt}{${}^{\,\phantom{\ast}}$}}{\,\prec\,}P_{d}. In the return statement in line 4, the first set corresponds to prescriptions where PP is being turned off, while the second set has PP being turned on. Note that because cycles are possible between zipper constraints, 𝒰𝔾(P)𝒟𝔾(P)\mathcal{U}_{\mathbb{G}}({P})\cap\mathcal{D}_{\mathbb{G}}({P})\neq\varnothing, in general. The presence of cycles reduces the number of prescriptions to enumerate. When PP appears within a cycle, if PP is off, then all pairs in the cycle have to be off too; if PP in on, then they are all also on as well.

To dispatch with cycles, define a relation on pairs in D{\color[rgb]{0.0,0.0,0.4}D}: let PQP\equiv Q if and only if P=QP=Q or PQPP\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}Q\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P. Further, \equiv is an equivalence relation and the set of equivalence classes D/{\color[rgb]{0.0,0.0,0.4}D}/\!\!\!\equiv can be partially ordered by lifting the \mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,} relation. Then the total number of downstream enabled prescriptions, |EnumDS(𝔾)||{\color[rgb]{0.375,0,0.125}\textrm{{EnumDS}}}(\mathbb{G})|, is bounded by ((+1)+1)ω=2ωlg(2+)((\ell+1)+1)^{\omega}=2^{\omega\lg(2+\ell)} with \ell being the height (i.e., the length of the longest chain) and ω\omega width (i.e., size of the largest anti-chain) of (D/,)({\color[rgb]{0.0,0.0,0.4}D}/\!\!\equiv,\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}) respectively. See Figure 4 above.

Refer to caption
Figure 4: Partial order of \mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}. Here, height =4\ell=4 and width ω=8\omega=8.

As the enumeration is of downstream-enabled prescriptions from Z2{Z^{2}}, it is worth noting, firstly, that Z2{Z^{2}} will often be much smaller than the size of the input filter (|Z2||V()||{Z^{2}}|\leq|V(\mathscr{F})|). Second, D{\color[rgb]{0.0,0.0,0.4}D} may be a proper subset of Z2{Z^{2}} (see Section 6, where |D||Z2||{\color[rgb]{0.0,0.0,0.4}D}|\leq|{Z^{2}}|). Third, the number of downstream-enabled prescriptions for D{\color[rgb]{0.0,0.0,0.4}D} will often be much smaller than 2|D|2^{|{\color[rgb]{0.0,0.0,0.4}D}|}, i.e., ω|D|\omega\ll|{\color[rgb]{0.0,0.0,0.4}D}|, owing to both the reduction obtained from cycles (|D/||D||{\color[rgb]{0.0,0.0,0.4}D}/\!\!\equiv\!|\leq|{\color[rgb]{0.0,0.0,0.4}D}|), and ordering structure inherited from the sequential zipping that arises from the filter (e.g., as \ell increases, worst-case ω\omega decreases).

4 Graph Augmentation

Downstream-enabled prescriptions are effective at encoding choices that are imperative to satisfaction of the zipper constraints, without specifying a full clique cover. Given such a prescription, first we augment the compatibility graph by incorporating the prescription. Thereafter, as the zipper constraints are no longer a concern, we can focus on the remaining minimum clique cover problem on the augmented graph. Finally we transport the solution from the augmented graph back to the original compatibility graph.

4.1 Augmenting the constraint graph

Construction 11 (Augmented Graph G+G^{+}).

If G=(V,E)G=(V,E), then construct G+(𝕊DON)=(V+(𝕊DON),E+(𝕊DON))G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})=\left(V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}),E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\right) with V+(𝕊DON)VpriorVnew(𝕊DON)V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\coloneqq V_{{\scalebox{0.7}{\text{prior}}}}\cup V_{{\scalebox{0.7}{\text{new}}}}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) where

  • Vprior{𝗏new{u}|uV}V_{{\scalebox{0.7}{\text{prior}}}}\coloneqq\big{\{}\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{u}\}\!$}}\;\big{|}\;u\in V\big{\}},

  • Vnew(𝕊DON){𝗏new{u,w}|{u,w}𝕊DON}V_{{\scalebox{0.7}{\text{new}}}}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\coloneqq\big{\{}\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{u},{w}\}\!$}}\;\big{|}\;\{{u},{w}\}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\big{\}},

  • E+(𝕊DON){{𝗏newA,𝗏newB}V+(𝕊DON)×V+(𝕊DON)|AB form a clique ingraph G=(V,E𝕊DOFF)}E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\coloneqq\Big{\{}\{{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}}},{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}}}\}\in V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\times V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\;\Big{|}\;A\cup B\text{ form a clique in}\phantom{xxx}\allowbreak\phantom{.}\hfill\text{graph }G^{\prime}=(V,E\setminus\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\Big{\}}.

The vertices in VpriorV_{\scalebox{0.7}{\text{prior}}} are simply re-named copies of those in VV. The set VnewV_{{\scalebox{0.7}{\text{new}}}} introduces new vertices for those pairs in D{\color[rgb]{0.0,0.0,0.4}D} which have been turned on. The definition of the edge set adds edges to ensure that the new vertices will be seen as mutually compatible when there is no obstruction to compatibility from within the original graph.

Property 12.

Let vertices 𝗏newA,𝗏newBV+(𝕊DON)\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}}\in V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}), 𝗏newA𝗏newB\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}}\neq\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}} then

{𝗏newA,𝗏newB}E+(𝕊DON)uA,wB,uw,{𝗏new{u},𝗏new{w}}E+(𝕊DON).\{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}}\}\in E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\iff\forall u\in A,\forall w\in B,u\neq w,\{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{u}\}\!$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{w}\}\!$}}\}\in E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}).
Proof.

When AA and BB are singletons, i.e., 𝗏newA,𝗏newBVprior\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}}\in V{\scalebox{0.7}{\text{prior}}}, the two sides of the if and only if are identical statements.

  • \impliedby

    The given antecedents and fact that 𝗏newA,𝗏newBV+(𝕊DON)\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}}\in V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) are exactly the conditions in the construction of E+(𝕊DON)E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}), hence {𝗏newA,𝗏newB}E+(𝕊DON)\{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}}\}\in E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}).

  • \implies

    Suppose {𝗏newA,𝗏newB}E+(𝕊DON)\{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}}\}\in E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) but there is some uAu\in A and wBw\in B with {𝗏new{u},𝗏new{w}}E+(𝕊DON)\{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{u}\}\!$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{w}\}\!$}}\}\not\in E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}). Since uwu\neq w, hence {u,w}E\{u,w\}\not\in E or {u,w}𝕊DOFF\{u,w\}\in\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}}; both contradict the supposition that {𝗏newA,𝗏newB}E+(𝕊DON)\{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}}\}\in E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}).

4.2 Relating graphs and their augmentations

Next, we consider two operations which connect vertices in the original graph with those in its augmented graph.

Definition 13 (Distillation).

Suppose a graph G=(V,E)G=(V,E) and its augmentation G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) based on prescription 𝕊DOND\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\subseteq{\color[rgb]{0.0,0.0,0.4}D} is given. The set of vertices of the augmented graph, S+={𝗏newA1,𝗏newA2,,𝗏newAn}V+(𝕊DON)S^{+}=\{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{1}}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{2}}$}},\dots,\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{n}}$}}\}\subseteq V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}), may be distilled to obtain a set of vertices in the original graph: SA1A2An.S\coloneqq A_{1}\cup A_{2}\cup\dots\cup A_{n}.

In the preceding, when SS is obtained from S+S^{+} in this way, we will also refer to it as S+S^{+}’s distillate. Further, we will also talk of the distillate of a collection of sets {S1+,S2+,,Sn+}\{S_{1}^{+},S_{2}^{+},\dots,S_{n}^{+}\}, as the collection obtained by applying Definition 13 to each Si+S_{i}^{+}, each yielding their respective SiS_{i}. In the particular uses of this concept which follow we will be interested in distilling collections that are covers. The next property shows that distillation preserves cliqueness, while transporting a structure from graph G+G^{+} back to GG.

Property 14.

For a graph G=(V,E)G=(V,E) and its augmentation G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) based on prescription 𝕊DOND\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\subseteq{\color[rgb]{0.0,0.0,0.4}D}, suppose S+V+(𝕊DON)S^{+}\subseteq V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) produces SVS\subseteq V when distilled. Then S+S^{+} is a clique in G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) if and only if SS is a clique in G=(V,E(𝕊DOFF))G^{\prime}=(V,E\setminus(\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}})).

Proof.

:\impliedby: Let S+={𝗏newA1,𝗏newA2,,𝗏newAn}S^{+}=\{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{1}}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{2}}$}},\dots,\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{n}}$}}\}. According to Construction 11, for every 𝗏newAi\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{i}}$}} and 𝗏newAj\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{j}}$}}, with iji\neq j, we know that AiAjA_{i}\cup A_{j} form a clique in GG^{\prime}. But AiAjSA_{i}\cup A_{j}\subseteq S; since SS is a clique, AiAjA_{i}\cup A_{j} is a clique, and hence there is an edge in E+(𝕊DON)E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) connecting 𝗏newAi\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{i}}$}} and 𝗏newAj\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{j}}$}}.

:\implies: Suppose SS was not a clique, then there are distinct vertices u,wSu,w\in S that have no connecting edge in GG^{\prime}. But SS being the distillate of S+S^{+} means that there is some 𝗏newAuS+\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{u}}$}}\in S^{+} with uAuu\in A_{u}, and some 𝗏newAwS+\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{w}}$}}\in S^{+} with wAww\in A_{w}. If Au=Aw={u,w}A_{u}=A_{w}=\{{u},{w}\}, then 𝗏new{u,w}Vnew(𝕊DON)\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{u},{w}\}\!$}}\in V_{{\scalebox{0.7}{\text{new}}}}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}), but that implies {u,w}𝕊DONE𝕊DOFF\{{u},{w}\}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\subseteq E\setminus\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}}, a contradiction. Otherwise, AuAvA_{u}\neq A_{v} but this is also a contradiction for we know S+S^{+} is a clique, so there is an edge between 𝗏newAu\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{u}}$}} and 𝗏newAw\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A_{w}}$}}, but Construction 11, thus, requires an edge between uu and ww in GG^{\prime}. ∎

The concept in the following definition is a sort of counterpoint to that of Definition 13.

Definition 15 (Expansion).

Suppose a graph G=(V,E)G=(V,E) and its augmentation G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) based on prescription 𝕊DOND\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\subseteq{\color[rgb]{0.0,0.0,0.4}D} is given. A set of vertices SVS\subseteq V can be expanded to give elements of V+(𝕊DON)V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}), i.e., vertices in G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}):

expand(S){𝗏newAV+(𝕊DON)AS}.{\operatorname{expand}}({S})\coloneqq\{\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}}\in V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\mid A\subseteq S\}. (1)

(Notice the subtlety that binding elements to within V+(𝕊DON)V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) ensures AA will be singletons or pairs.) Observe that if S+=expand(S)S^{+}={\operatorname{expand}}({S}), i.e. SS expands to S+S^{+}, then the distillation of S+S^{+} is SS — this is proved as the first part of the next property.

Property 16.

Given a graph G=(V,E)G=(V,E) and its augmentation G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) based on prescription 𝕊DOND\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\subseteq{\color[rgb]{0.0,0.0,0.4}D}. If 𝕂={K1,,Km}\mathbb{K}=\{K_{1},\dots,K_{m}\} is a clique cover of GG faithful to 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} then, collecting the expanded sets in 𝕂+={expand(K)K𝕂}\mathbb{K}^{+}=\{{\operatorname{expand}}({K})\mid K\in\mathbb{K}\}, the collection 𝕂+\mathbb{K}^{+} is a clique cover on G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}).

Proof.

To start we establish that the distillate of expand(S){\operatorname{expand}}({S}) is SS. Let SS^{\prime} be the distillate of expand(S){\operatorname{expand}}({S}); we show equality via two subset statements. First, SSS\subseteq S^{\prime} as if xSx\in S then 𝗏new{x}expand(S)\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{x}\}\!$}}\in{\operatorname{expand}}({S}), and hence is in SS^{\prime}. For the reverse, SSS^{\prime}\subseteq S: if ySy\in S^{\prime} then either 𝗏new{y}expand(S)\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{y}\}\!$}}\in{\operatorname{expand}}({S}), or 𝗏new{y,w}expand(S)\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{y},{w}\}\!$}}\in{\operatorname{expand}}({S}) for some ww; but then {y}S\{y\}\subseteq S or {y,w}S\{y,w\}\subseteq S, respectively.

Hence, for any Ki+𝕂+K_{i}^{+}\in\mathbb{K}^{+}, where Ki+=expand(Ki)K_{i}^{+}={\operatorname{expand}}({K_{i}}), we know KiK_{i} is the distillate of Ki+K_{i}^{+}. Then, via Property 14, each Ki+K_{i}^{+} is a clique in G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) because KiK_{i} is a clique in G=(V,E(𝕊DOFF))G^{\prime}=(V,E\setminus(\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}})). (This latter is a consequence of faithfulness: owing to requirement 2 in Definition 10.)

Furthermore, the collection 𝕂+\mathbb{K}^{+} cannot omit to cover any 𝗏newAV+(𝕊DON)\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}}\in V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) because: (ii) each element of 𝗏new{v}Vprior\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{v}\}\!$}}\in V_{{\scalebox{0.7}{\text{prior}}}} corresponds to a vertex vVv\in V, and vv is covered by 𝕂\mathbb{K}; (iiii) elements 𝗏new{u,w}Vnew(𝕊DON)\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{u},{w}\}\!$}}\in V_{{\scalebox{0.7}{\text{new}}}}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) come from {u,w}𝕊DON\{{u},{w}\}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}, and faithfulness of 𝕂\mathbb{K} means, via requirement 1 in Definition 10, that some Ki𝕂K_{i}\in\mathbb{K} will cover {u,w}\{{u},{w}\}, and hence expand(Ki){\operatorname{expand}}({K_{i}}) covers 𝗏new{u,w}\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{u},{w}\}\!$}}. ∎

5 Connecting covers, prescriptions, and constraints

We now have the machinery in place to present a useful lemma. This will show that the augmented graph, recalling Definition 10 for faithfulness, will yield covers that adhere to the prescription.

Lemma 17 (Faithful constraint satisfaction).

Given a graph GG and an associated Z2{Z^{2}} from zipper constraint collection 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}, let DZ2{\color[rgb]{0.0,0.0,0.4}D}\subseteq{Z^{2}}. Then, suppose we have some downstream-enabled prescription 𝕊DON={P1,P2,,Pn}\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}=\{P_{1},P_{2},\dots,P_{n}\}. If 𝕂+\mathbb{K}^{+} is a cover of G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}), then there is a cover 𝕂\mathbb{K} of GG, the distillation of 𝕂+\mathbb{K}^{+}, with |𝕂||𝕂+||\mathbb{K}|\leq|\mathbb{K}^{+}|, such that:

  • Cover 𝕂\mathbb{K} is faithful to 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}.

  • Also, 𝕂\mathbb{K} is a cover of GG which satisfies all those zipper constraints strictly interior to D{\color[rgb]{0.0,0.0,0.4}D}, namely those {(U1;W1),(U2;W2),,(Ut;Wt)}𝒵\big{\{}({U_{1}};{W_{1}}),\allowbreak({U_{2}};{W_{2}}),\dots,({U_{t}};{W_{t}})\big{\}}\subseteq{\color[rgb]{0,0.25,0.25}\mathcal{Z}} where U1,W1,U2,W2,,Ut,WtDU_{1},W_{1},U_{2},W_{2},\dots,U_{t},W_{t}\in{\color[rgb]{0.0,0.0,0.4}D}.

Proof.

Let 𝕂+={K1+,K2+,,Km+}\mathbb{K}^{+}=\{K^{+}_{1},K^{+}_{2},\dots,K^{+}_{m}\}, where each Ki+V+(𝕊DON)K^{+}_{i}\subseteq V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}). Applying Definition 13 to distill each Ki+K^{+}_{i} to yield a KiK_{i}, we obtain 𝕂={K1,K2,,Km}\mathbb{K}=\{K_{1},K_{2},\dots,\allowbreak K_{m}\}. Via Property 14, each KiK_{i} is a clique, and since every vertex in VpriorV+(𝕊DON)V_{{\scalebox{0.7}{\text{prior}}}}\subseteq V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) is covered by some Ki+K^{+}_{i}, 𝕂\mathbb{K} is a cover of GG. Clearly, |𝕂||𝕂+||\mathbb{K}|\leq|\mathbb{K}^{+}|, and equality only fails to hold when distinct Kr+K^{+}_{r} and Ks+K^{+}_{s} give rise to Kr=KsK_{r}=K_{s}.

First, we show that the faithfulness of 𝕂\mathbb{K} follows from Construction 11 and the process of distillation. Criterion 1: for any {v1,v2}𝕊DON\{{v_{1}},{v_{2}}\}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} there is a vertex 𝗏new{v1,v2}\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{v_{1}},{v_{2}}\}\!$}} in Vnew(𝕊DON)V_{\scalebox{0.7}{\text{new}}}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) and this vertex must be covered by some Kj+𝕂+K^{+}_{j}\in\mathbb{K}^{+}, which then will have v1v_{1} and v2v_{2} covered by its distillate KjK_{j}. Criterion 2: if, instead, {v1,v2}𝕊DOFF\{{v_{1}},{v_{2}}\}\in\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}} then the construction ensures that the distillate 𝕂\mathbb{K} of 𝕂+\mathbb{K}^{+} will never have both v1v_{1} and v2v_{2} in the same clique: suppose both v1v_{1} and v2v_{2} appear in clique KjK_{j}, then there must be 𝗏newA,𝗏newBKj+\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${A}$}},\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{${B}$}}\in K^{+}_{j}, where {v1,v2}AB\{v_{1},v_{2}\}\in A\cup B (including the possibility that A=BA=B). Further, E+(𝕊DON)E^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) has no edge between 𝗏new{v1}\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{v_{1}}\}\!$}} and 𝗏new{v2}\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{v_{2}}\}\!$}} as 𝕊DOFF\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}} eliminates it from both Ecopy(𝕊DON)E_{{\scalebox{0.7}{\text{copy}}}}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) and Enew(𝕊DON)E_{{\scalebox{0.7}{\text{new}}}}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}). But these two facts contradict Property 12.

Lastly, we show that 𝕂\mathbb{K} satisfies the subset of zipper constraints strictly interior to D{\color[rgb]{0.0,0.0,0.4}D}. Suppose that some zipper constraint (U;W)𝒵({U_{\ell}};{W_{\ell}})\in{\color[rgb]{0,0.25,0.25}\mathcal{Z}} with U,WDU_{\ell},W_{\ell}\in{\color[rgb]{0.0,0.0,0.4}D} is violated in 𝕂\mathbb{K}. This means that the pair of vertices UU_{\ell} must appear within some clique (i.e., UKiU_{\ell}\subseteq K_{i}) while WW_{\ell} does not (i.e., for all Kj𝕂K_{j}\in\mathbb{K}, WKjW_{\ell}\not\subseteq K_{j}). As 𝕂\mathbb{K} is faithful and Ki𝕂K_{i}\in\mathbb{K}, we know U𝕊DONU_{\ell}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}. There are two cases for WDW_{\ell}\in{\color[rgb]{0.0,0.0,0.4}D}:

  • If W={w1,w2}𝕊DONW_{\ell}=\{{w_{1}},{w_{2}}\}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}, then there must be a corresponding vertex 𝗏new{w1,w2}V+(𝕊DON)\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{w_{1}},{w_{2}}\}\!$}}\in V^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) from Vnew(𝕊DON)V_{\scalebox{0.7}{\text{new}}}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}). Since 𝕂+\mathbb{K}^{+} is a cover, the 𝗏new{w1,w2}\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{w_{1}},{w_{2}}\}\!$}} is in at least one Kj+𝕂+K^{+}_{j}\in\mathbb{K}^{+}. But then, following the distillation of Kj+K^{+}_{j} into KjK_{j}, both w1w_{1} and w2w_{2} are within KjK_{j}, so WKjW_{\ell}\in K_{j}, giving a contradiction.

  • If W𝕊DOFFW_{\ell}\in\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}} then, as UWU_{\ell}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}W_{\ell}, this contradicts the fact that 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} is downstream enabled.

Further, when cover 𝕂+\mathbb{K}^{+} is minimal, then the preceding result can be strengthened, as we show next.

Lemma 18 (Optimal faithful constraint satisfaction).

Given the elements in Lemma 17, if 𝕂+\mathbb{K}^{+} is a minimal clique cover of G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}), then, in addition to the properties in the previous lemma, cover 𝕂\mathbb{K} of GG has:

  • |𝕂|=|𝕂+||\mathbb{K}|=|\mathbb{K}^{+}|.

  • There exists no clique cover 𝕂\mathbb{K}_{\circ} of GG, faithful to 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}, with |𝕂|<|𝕂||\mathbb{K}_{\circ}|<|\mathbb{K}|.

Proof.

Suppose |𝕂||𝕂+||\mathbb{K}|\lneq|\mathbb{K}^{+}|, but this happens only when some Kr+,Ks+𝕂+K^{+}_{r},K^{+}_{s}\in\mathbb{K}^{+}, with Kr+Ks+K^{+}_{r}\neq K^{+}_{s}, distill to Kr=KsK_{r}=K_{s}. Were this the case, one may obtain a valid clique cover for G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) by replacing the cliques Kr+K^{+}_{r} and Ks+K^{+}_{s} with the single set Krs+=Kr+Ks+K^{+}_{rs}=K^{+}_{r}\cup K^{+}_{s}.

The union of identical unions (underlying Definition 13) means that Krs+K_{rs}^{+} distills to KrK_{r} as well. Applying Property 14 (in ‘if’ direction from Kr+K^{+}_{r}) means that KrK_{r} is a clique. And applying Property 14 (in the ‘only if’ direction from KrK_{r}) means that Krs+K^{+}_{rs} is a clique. Notice that no vertex will be uncovered in {Krs+}𝕂+{Kr+,Ks+}\big{\{}K^{+}_{rs}\big{\}}\cup\mathbb{K}^{+}\setminus\big{\{}K^{+}_{r},K^{+}_{s}\big{\}}, hence we have obtained smaller clique cover than the minimal one.

For the second claim, suppose some 𝕂\mathbb{K}_{\circ}, |𝕂|<|𝕂||\mathbb{K}_{\circ}|<|\mathbb{K}|, is faithful to 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}. Then Property 16 indicates that 𝕂+\mathbb{K}_{\circ}^{+} can be found such that it is a clique cover of G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}). Moreover, then |𝕂+||𝕂|<|𝕂||𝕂+||\mathbb{K}_{\circ}^{+}|\leq|\mathbb{K}_{\circ}|<|\mathbb{K}|\leq|\mathbb{K}^{+}|, hence |𝕂+|<|𝕂+||\mathbb{K}_{\circ}^{+}|<|\mathbb{K}^{+}|, which is a contradiction since 𝕂+\mathbb{K}^{+} is assumed to be a minimal cover of G+(𝕊DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}). ∎

Combining Algorithm 1 with the preceding results, and picking D=Z2{\color[rgb]{0.0,0.0,0.4}D}={Z^{2}}, we already have an FPT-algorithm for MZCC . For each prescription 𝕊iEnumDS(𝔾)\mathbb{S}^{i}\in{\color[rgb]{0.375,0,0.125}\textrm{{EnumDS}}}(\mathbb{G}), one constructs G+(𝕊i)G_{\mathscr{F}}^{+}(\mathbb{S}^{i}), then uses an FPT-algorithm to solve that classical minimum clique cover. As per Lemma 18, one distills that cover into a zipper-constraint–satisfying cover for GG; the smallest such cover —across all 𝕊i\mathbb{S}^{i}s— will be a solution to the problem. (This claim requires proof, but becomes a special case of a later result, by taking D=Z2{\color[rgb]{0.0,0.0,0.4}D}={Z^{2}} in Theorem 23.) Next, an improved algorithm, which takes more care to pick a (potentially) smaller D{\color[rgb]{0.0,0.0,0.4}D} will be presented.

6 Repairable constraints

We may be able to pick D{\color[rgb]{0.0,0.0,0.4}D} as a strict subset of Z2{Z^{2}} if there are zipper constraints which, though they may be violated during the covering process, can be resolved thereafter. The next lemma, making use of Definition 6, will show this:

Lemma 19.

Given a graph GG and an associated Z2{Z^{2}} from zipper constraint collection 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}, let RZ2{\color[rgb]{0.0,0.0,0.4}R}\subseteq{Z^{2}} be a set of pairs such that for every pair {u,w}\{{u},{w}\} in R{\color[rgb]{0.0,0.0,0.4}R}, uu and ww have comparable neighborhoods. If R¯R{\color[rgb]{0.0,0.0,0.4}\underline{R}}\subseteq{\color[rgb]{0.0,0.0,0.4}R} then let 𝒮R¯{(Ui;Wi)Z|UiR¯}\mathscr{S}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}\coloneqq\{({U_{i}};{W_{i}})\in Z_{\mathscr{F}}\;|\;U_{i}\in{\color[rgb]{0.0,0.0,0.4}\underline{R}}\} and 𝒟R¯{(Uj;Wj)Z|WjR¯}\mathscr{D}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}\coloneqq\{({U_{j}};{W_{j}})\in Z_{\mathscr{F}}\;|\;W_{j}\in{\color[rgb]{0.0,0.0,0.4}\underline{R}}\}. If 𝕂\mathbb{K} is a cover for GG, then there is a cover 𝕂~\widetilde{\mathbb{K}}, no larger than 𝕂\mathbb{K}, such that:

  1. 1.

    𝕂~\widetilde{\mathbb{K}} is a clique cover of GG that satisfies the specific zipper constraints 𝒮R¯𝒟R¯\mathscr{S}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}\cap\mathscr{D}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}.

  2. 2.

    If 𝕂\mathbb{K} satisfies the zipper constraints C𝒵C\subseteq{\color[rgb]{0,0.25,0.25}\mathcal{Z}}, and 𝕂~\widetilde{\mathbb{K}} satisfies the zipper constraints C~𝒵\widetilde{C}\subseteq{\color[rgb]{0,0.25,0.25}\mathcal{Z}}, and then CC~𝒮R¯𝒟R¯{C}\setminus\widetilde{C}\subseteq\mathscr{S}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}\setminus\mathscr{D}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}.

The intuition is that we can repair 𝕂\mathbb{K}, without increasing its size, to ensure that those zipper constraints wholly in R¯{\color[rgb]{0.0,0.0,0.4}\underline{R}} will hold (item 1). This process can have an unfortunate side-effect of breaking some zipper constraints which held formerly: but those are only the zipper constraints that ‘depart’ R¯{\color[rgb]{0.0,0.0,0.4}\underline{R}}, i.e., 𝒮R¯𝒟R¯\mathscr{S}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}\setminus\mathscr{D}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}} (item 2).

Proof.

Let 𝕂={K1,K2,,Km}\mathbb{K}=\{K_{1},K_{2},\dots,K_{m}\}. Collect all the interior pairs {WiZtgt2|(Ui;Wi)𝒮R¯𝒟R¯}\mathcal{I}\coloneqq\{W_{i}\in Z_{\scalebox{0.5}{\text{tgt}}}^{2}\;|\;({U_{i}};{W_{i}})\in\mathscr{S}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}\cap\mathscr{D}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}\}. Starting with cover 𝕂(0)=𝕂\mathbb{K}^{({0})}=\mathbb{K}, we iterate over collection \mathcal{I} and modify the cover incrementally. Form 𝕂(i)\mathbb{K}^{({i})} from 𝕂(i1)\mathbb{K}^{({i-1})} by taking the ithi^{\rm th} pair {u,w}\{{u},{w}\} from \mathcal{I} and doing the following: if 𝒩G(u)𝒩G(w)\mathcal{N}_{G}(u)\subseteq\mathcal{N}_{G}(w) then, first, copy those K𝕂(i1)K_{\ell}\in\mathbb{K}^{({i-1})} not containing uu to 𝕂(i)\mathbb{K}^{({i})}; next, gather those Kj𝕂(i1)K_{j}\in\mathbb{K}^{({i-1})} containing uu and place Kj{w}K_{j}\cup\{w\} in 𝕂(i)\mathbb{K}^{({i})}. Otherwise, 𝒩G(u)𝒩G(w)\mathcal{N}_{G}(u)\supseteq\mathcal{N}_{G}(w), so do the same two operations but reverse the roles of vv and ww. Once this iteration has been completed, take 𝕂~=𝕂(||)\widetilde{\mathbb{K}}=\mathbb{K}^{({|\mathcal{I}|})}.

In the construction above, ‘coverness’ must be preserved as the sets in 𝕂(i)\mathbb{K}^{({i})} only grow with each subsequent ii. Because, when ww is added to a clique containing vv, the former must already be compatible with all those vertices in the clique —via the comparable neighborhoods property— the set Kj{w}K_{j}\cup\{w\} is a clique too. Also, every zipper constraint in 𝒮R¯𝒟R¯\mathscr{S}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}\cap\mathscr{D}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}} is satisfied because every destination pair of each such zipper constraint will appear in some clique in 𝕂~\widetilde{\mathbb{K}}. Further, |𝕂~|m|\widetilde{\mathbb{K}}|\leq m.

For the second property, notice that in 𝕂~\widetilde{\mathbb{K}} the only pairs that have changed are those in \mathcal{I}; they have been altered by including some vertices in a common clique, where before they had been separated. But this change can only alter the satisfaction of constraints for which those pairs act as sources, viz. 𝒮R¯\mathscr{S}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}. So CC~𝒮R¯{C}\setminus\widetilde{C}\subseteq\mathscr{S}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}. But, as just established, those elements in 𝒮R¯𝒟R¯\mathscr{S}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}\cap\mathscr{D}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}} are satisfied, so CC~{C}\setminus\widetilde{C} cannot include pairs in 𝒟R¯\mathscr{D}_{{\color[rgb]{0.0,0.0,0.4}\underline{R}}}, thus the claim follows. ∎

The preceding shows that zipper constraints with both ends in a set R¯R{\color[rgb]{0.0,0.0,0.4}\underline{R}}\subseteq{\color[rgb]{0.0,0.0,0.4}R} which possesses comparable neighborhoods, need not cause any trouble. Our prior discussion, using downstream-enabled prescriptions, allows one to deal with constraints entirely outside of R{\color[rgb]{0.0,0.0,0.4}R}. However, a remaining difficulty is that some constraints may straddle the two sets. We put R{\color[rgb]{0.0,0.0,0.4}R} aside briefly, returning to it again in Lemma 22 and subsequent theorems, as we now introduce extra machinery for the liminal constraints.

Broadly speaking, the preceding shows that rather than taking D=Z2{\color[rgb]{0.0,0.0,0.4}D}={Z^{2}} we can avoid having to include the comparable-neighborhood pairs in the enumeration. This idea is close to being correct, but we need to ensure D{\color[rgb]{0.0,0.0,0.4}D} will handle the liminal constraints correctly as well. To do this, the idea will be to expand the domain D{\color[rgb]{0.0,0.0,0.4}D} to embrace some additional pairs. (The additional pairs are those, when interpreted back in the filter, whose merger or non-merger is entailed from the choices made in a given prescription on D{\color[rgb]{0.0,0.0,0.4}D}.)

Construction 20 (Prescription Boundary Inclusion).

Given a prescription 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}, we modify it by increasing 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} and 𝕊DOFF\mathbb{S}^{\scalebox{0.5}{\text{OFF}}}_{{\color[rgb]{0.0,0.0,0.4}D}}. This is achieved, firstly, by modifying its domain and then, secondly, by selecting some additional elements, which transforms it into a new prescription. To do so, define sets:

  1. 1.

    Upstream vertex pairs of the off pairs should be treated as if they were turned off too, i.e., prohibited from being in a clique together (the constraint cannot be satisfied otherwise); let Doff(𝕊DON)={PaZ2D|PbD𝕊DON,PaPb}\mathcal{F}^{\textsc{off}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})=\{P_{a}\in{Z^{2}}\setminus{\color[rgb]{0.0,0.0,0.4}D}\;|\;\exists P_{b}\in{\color[rgb]{0.0,0.0,0.4}D}\setminus\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}},P_{a}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{b}\}.

  2. 2.

    Downstream vertex pairs of the on pairs should be turned on as well, i.e. must be in some clique together; let Don(𝕊DON)={PcZ2D|Pd𝕊DON,PdPc}\mathcal{F}^{\textsc{on}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})=\{P_{c}\in{Z^{2}}\setminus{\color[rgb]{0.0,0.0,0.4}D}\;|\;\exists P_{d}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}},P_{d}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{c}\}.

Construct a derived prescription by expanding the domain and on pairs as

 ¯DDDoff(𝕊DON)Don(𝕊DON), and 𝕊 ¯DON𝕊DONDon(𝕊DON),\mathchoice{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.27846pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.41666pt\kern 3.25346pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}\coloneqq{\color[rgb]{0.0,0.0,0.4}D}\cup\mathcal{F}^{\textsc{off}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\cup\mathcal{F}^{\textsc{on}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}),\text{ and }\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}\coloneqq\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\cup\mathcal{F}^{\textsc{on}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}),

where the on pairs have grown to include those in Don\mathcal{F}^{\textsc{on}}_{\color[rgb]{0.0,0.0,0.4}D}. And, as before, the off pairs are those in  ¯D𝕊 ¯DON\mathchoice{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.27846pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.41666pt\kern 3.25346pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}\setminus\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}; and the prescription is silent about the elements outside ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D}.

Caution: in 𝕊 ¯DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}} we have lightened the notation by eliding the dependence of ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D} on 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}. Care is warranted because ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D} cannot be constructed from D{\color[rgb]{0.0,0.0,0.4}D} alone—different prescriptions will give different ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D}s.

Property 21.

If prescription 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} is downstream enabled then 𝕊 ¯DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}} is downstream enabled.

Proof.

We prove a slightly stronger statement, which is that (Pa𝕊 ¯DON)(PaPb)(Pb𝕊 ¯DON)(P_{a}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}})\wedge(P_{a}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{b})\implies(P_{b}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}). Given that antecedent, we have Pa𝕊DONP_{a}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} or PaDon(𝕊DON)P_{a}\in\mathcal{F}^{\textsc{on}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}), since 𝕊 ¯DON=𝕊DONDon(𝕊DON)\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}=\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\cup\mathcal{F}^{\textsc{on}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}). Then we need to show

  • 1.

    (Pa𝕊DON)(PaPb)(Pb𝕊 ¯DON)(P_{a}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}})\wedge(P_{a}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{b})\implies(P_{b}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}) and

  • 2.

    (PaDon(𝕊DON))(PaPb)(Pb𝕊 ¯DON)(P_{a}\in\mathcal{F}^{\textsc{on}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}))\wedge(P_{a}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{b})\implies(P_{b}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}).

For the first, PbP_{b} is certainly in 𝕊 ¯DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}: When PbDP_{b}\not\in{\color[rgb]{0.0,0.0,0.4}D} then Construction 20 ensures PbDon(𝕊DON)P_{b}\in\mathcal{F}^{\textsc{on}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}); alternatively, when PbDP_{b}\in{\color[rgb]{0.0,0.0,0.4}D} then Pb𝕊DON𝕊 ¯DONP_{b}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\subseteq\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}} due to the original prescription being downstream enabled.

For the second, the definition of Don(𝕊DON)\mathcal{F}^{\textsc{on}}_{\color[rgb]{0.0,0.0,0.4}D}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}) means there is some pair PdPaP_{d}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{a} with Pd𝕊DONP_{d}\in\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}. Transitivity and PaPbP_{a}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{b} means PdPbP_{d}\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P_{b}. Again, PbP_{b} is certainly in 𝕊 ¯DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}, using the argument above but with PdP_{d} fulfilling the role of PaP_{a} before. ∎

(Note, as per the discussion at the end of Section 5, when D=Z2{\color[rgb]{0.0,0.0,0.4}D}={Z^{2}}, then  ¯D=D=Z2\mathchoice{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.27846pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.41666pt\kern 3.25346pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}={\color[rgb]{0.0,0.0,0.4}D}={Z^{2}}, and we have 𝕊 ¯DON=𝕊DON=𝕊Z2ON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}=\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}=\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{Z^{2}}} so long as 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} was downstream enabled.)

7 Main result: FPT algorithm

The paper’s key algorithm just assembles all the pieces presented up to this point; it appears in Algorithm 2. The following lemma and theorem provide its correctness, while the final corollary gives the parameterized running-time.

Algorithm 2 Solve

MZCC

(G,𝒵)({G},{{\color[rgb]{0,0.25,0.25}\mathcal{Z}}})
0:  Compatibility graph GG, zipper constraints 𝒵\mathcal{Z}
0:  Clique cover 𝕂best\mathbb{K}_{\text{best}} with minimum cardinality
1:  Take D=Z2R{\color[rgb]{0.0,0.0,0.4}D}={Z^{2}}\setminus{\color[rgb]{0.0,0.0,0.4}R}
2:  Initialize 𝕂best{{v}vV(G)}\mathbb{K}_{\text{best}}\leftarrow\big{\{}\{v\}\mid v\in V(G)\big{\}}
3:  for 𝕊DONEnumDS(𝔾(D))\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}\in{\color[rgb]{0.375,0,0.125}\textrm{{EnumDS}}}(\mathbb{G}({\color[rgb]{0.0,0.0,0.4}D})) do
4:     Form ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D} and 𝕊¯DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}} from 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} (via Construction 20)
5:     Build graph G+(𝕊¯DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}) (via Construction 11)
6:     𝕂+\mathbb{K}^{+}\leftarrow Find-min-clique-cover(G+(𝕊¯DON))(G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}))
7:     Distill 𝕂+\mathbb{K}^{+} to 𝕂\mathbb{K} (via Definition 13)
8:     Repair 𝕂\mathbb{K} with R¯=R¯D{\color[rgb]{0.0,0.0,0.4}\underline{R}}={\color[rgb]{0.0,0.0,0.4}R}\setminus\mathchoice{\hbox to0.0pt{\hbox to8.55695pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to8.55695pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.27846pt{\lx@algorithmic@hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.41666pt\kern 3.25346pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}} to give 𝕂\mathbb{K}^{\dagger} (Lemma 19)
9:     𝕂best𝕂\mathbb{K}_{\text{best}}\leftarrow\mathbb{K}^{\dagger} when |𝕂|<|𝕂best||\mathbb{K}^{\dagger}|<|\mathbb{K}_{\text{best}}|
10:  return  𝕂best\mathbb{K}_{\text{best}}

Figure 5 helps to illustrate the relationships between the subsets of Z2{Z^{2}} appearing in the algorithm: D{\color[rgb]{0.0,0.0,0.4}D} and R{\color[rgb]{0.0,0.0,0.4}R} partition Z2{Z^{2}}, and so too do ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D} and R¯{\color[rgb]{0.0,0.0,0.4}\underline{R}}. Two additional points are worth noting. Though the domains are taken as ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D} when G+G^{+} is constructed, and ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D} is usually larger than D{\color[rgb]{0.0,0.0,0.4}D}, it is only the downstream enabled prescriptions on D{\color[rgb]{0.0,0.0,0.4}D} that are enumerated. Secondly, line 6 constructs a minimal clique cover on G+G^{+}, which is unconstrained. This sub-problem, though NP-hard, is fixed-parameter tractable, and we will use the specific method mentioned in Lemma 7 for the subsequent analysis appearing below.

Lemma 22 (Constraint satisfaction).

Given GG and an associated Z2{Z^{2}} from zipper constraint collection 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}, let RZ2{\color[rgb]{0.0,0.0,0.4}R}\subseteq{Z^{2}} be a set of pairs such that every pair in R{\color[rgb]{0.0,0.0,0.4}R} has comparable neighborhoods. With DZ2R{\color[rgb]{0.0,0.0,0.4}D}\supseteq{Z^{2}}\setminus{\color[rgb]{0.0,0.0,0.4}R}, let 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} be a downstream-enabled prescription on domain D{\color[rgb]{0.0,0.0,0.4}D}. If 𝕂+\mathbb{K}^{+} is a cover of G+(𝕊 ¯DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}) that is faithful to 𝕊 ¯DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}, then 𝕂+\mathbb{K}^{+} can be distilled and repaired so that every constraint in 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}} is satisfied.

Proof.

The repair process on the cover chooses R¯=R ¯D{\color[rgb]{0.0,0.0,0.4}\underline{R}}={\color[rgb]{0.0,0.0,0.4}R}\setminus\mathchoice{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.27846pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.41666pt\kern 3.25346pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}. First, the collection of zipper constraints are of four types, depending on whether the zipper constraints have both source and target in ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D} or not: (i) zipper constraints with both source and target in ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D}, (ii) zipper constraints with neither source nor target in ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D}, (iii) zipper constraints with only target in ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D}, (iv) zipper constraints with only source in ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D}. Next, we will show that all zipper constraints in the above types are satisfied. The derived 𝕊 ¯DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}} is downstream-enabled (according to Property 21) and, then, Lemma 17 applied on that prescription means that 𝕂\mathbb{K} (the distillation of 𝕂+\mathbb{K}^{+}) satisfies all zipper constraints internal to ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D}. Hence type (i) are not violated. The repair procedure ensures that type-(ii) constraints hold (as type-(ii) constraints fall entirely within R¯{\color[rgb]{0.0,0.0,0.4}\underline{R}}.) As per Lemma 19, the repair procedure may have the side-effect of altering some constraints so they no longer hold. Those are constraints with source in that region of R{\color[rgb]{0.0,0.0,0.4}R} outside of ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D} and destinations in ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D}, i.e., constraints of type (iii). This is not a concern as the source must be on, and the destination must be off. The destination is downstream from the source. Either the destination is itself in D{\color[rgb]{0.0,0.0,0.4}D} or it is in  ¯DD\mathchoice{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.27846pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.41666pt\kern 3.25346pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}\setminus{\color[rgb]{0.0,0.0,0.4}D}, but in this latter case, there must be a downstream off-pair in D{\color[rgb]{0.0,0.0,0.4}D} which caused it to be created. But then Construction 20 would have placed the source into ¯\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D}, which contradicts the criterion for being of type (iii). The argument for type (iv) is symmetric: a violation involves an upstream on-pair either in D{\color[rgb]{0.0,0.0,0.4}D} or  ¯DD\mathchoice{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to8.55695pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.83331pt\kern 6.50694pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.27846pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.41666pt\kern 3.25346pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}\setminus{\color[rgb]{0.0,0.0,0.4}D}, where the latter case only arises from some further upstream pair in D{\color[rgb]{0.0,0.0,0.4}D} that is on. But then, as the destination of the type-(iv) element is a downstream of an on pair, it must be on (through Construction 20), contradicting the criterion for being type (iv). Therefore, all zipper constraints in 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}} are satisfied. ∎

Refer to caption
Figure 5: Subsets of the set of Z2{Z^{2}} appearing in Algorithm 2. First (on the left), Z2{Z^{2}} is partitioned into D{\color[rgb]{0.0,0.0,0.4}D} and R{\color[rgb]{0.0,0.0,0.4}R}. Then (on the right), with some particular prescription given, D{\color[rgb]{0.0,0.0,0.4}D} is grown to form ¯\overline{\vrule width=0.0pt,height=6.14998pt\kern 5.85623pt}D\textstyle{\color[rgb]{0.0,0.0,0.4}D} by including those pairs which are upstream of off elements and those pairs downstream of on ones. And R¯{\color[rgb]{0.0,0.0,0.4}\underline{R}} is reduced by this same difference so that  ¯DR¯=Z2\mathchoice{\hbox to0.0pt{\hbox to7.70125pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.14998pt\kern 5.85623pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to7.70125pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=6.14998pt\kern 5.85623pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.39087pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.305pt\kern 4.09935pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to3.85062pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.07498pt\kern 2.9281pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}\cup{\color[rgb]{0.0,0.0,0.4}\underline{R}}={Z^{2}}.
Theorem 23 (Correctness).

Suppose 𝕂\mathbb{K}^{\star} is a solution to MZCC (G,𝒵)({G},{{\color[rgb]{0,0.25,0.25}\mathcal{Z}}}), i.e., it is a minimum cardinality clique cover of GG and satisfies 𝒵{\color[rgb]{0,0.25,0.25}\mathcal{Z}}. Then, there is a 𝕂\mathbb{K}^{\dagger}, the repair of a distilled cover of a graph G+(𝕊 ¯DON)G^{+}(\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}), constructed from 𝕊 ¯DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{\mathchoice{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\displaystyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to5.98985pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=4.78333pt\kern 4.55486pt}$}}\hss}\hbox{\set@color$\textstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to4.1929pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=3.34833pt\kern 3.1884pt}$}}\hss}\hbox{\set@color$\scriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}{\hbox to0.0pt{\hbox to2.99492pt{\hfill{\color[rgb]{0.0,0.0,0.4}$\overline{\vrule width=0.0pt,height=2.39166pt\kern 2.27742pt}$}}\hss}\hbox{\set@color$\scriptscriptstyle{\color[rgb]{0.0,0.0,0.4}D}$}}}, itself being obtained as the boundary inclusion of some downstream-enabled prescription from 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} for a domain D{\color[rgb]{0.0,0.0,0.4}D} chosen with DZ2R{\color[rgb]{0.0,0.0,0.4}D}\supseteq{Z^{2}}\setminus{\color[rgb]{0.0,0.0,0.4}R}, such that |𝕂|=|𝕂||\mathbb{K}^{\dagger}|=|\mathbb{K}^{\star}|.

Proof.

Having chosen some domain DZ2R{\color[rgb]{0.0,0.0,0.4}D}\supseteq{Z^{2}}\setminus{\color[rgb]{0.0,0.0,0.4}R}, we use 𝕂\mathbb{K}^{\star} to construct a downstream-enabled selection. For any pair {v,w}D\{{v},{w}\}\in{\color[rgb]{0.0,0.0,0.4}D}, if there is a clique in 𝕂\mathbb{K}^{\star} that contains both vv and ww, then add {v,w}\{{v},{w}\} to 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}. (This ‘turns’ them on; otherwise, as the pair is in D{\color[rgb]{0.0,0.0,0.4}D}, they’ll be off.) This process, having followed Definition 10, means that 𝕂\mathbb{K}^{\star} is faithful to 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}}. Next, perform the operations in lines 48 of Algorithm 2. As distillation and repair operations do not increase the cover size, thus |𝕂+||𝕂||𝕂||\mathbb{K}^{+}|\geq|\mathbb{K}|\geq|\mathbb{K}^{\dagger}|.

Using Lemma 18, there is no clique cover on GG that is faithful to 𝕊DON\mathbb{S}^{\scalebox{0.5}{\text{ON}}}_{{\color[rgb]{0.0,0.0,0.4}D}} and is smaller than |𝕂||\mathbb{K}|. Therefore, we have |𝕂||𝕂||\mathbb{K}^{\star}|\geq|\mathbb{K}|. But 𝕂\mathbb{K}^{\dagger} satisfies all the zipper constraints (via Lemma 22), and with 𝕂\mathbb{K}^{\star} being the smallest such cover, |𝕂||𝕂||\mathbb{K}^{\star}|\leq|\mathbb{K}^{\dagger}|. Combining: |𝕂||𝕂||𝕂||𝕂||\mathbb{K}^{\dagger}|\leq|\mathbb{K}|\leq|\mathbb{K}^{\star}|\leq|\mathbb{K}^{\dagger}|. ∎

Corollary 24.

Algorithm 2 is fixed-parameter tractable, having complexity:

f(β,m,,ω,d)nO(1)f(\beta,m,\ell,\omega,d)\,n^{O(1)}

with f(β,m,,ω,d)=(2+)ω2(β+d)(m+d)log(m+d)f(\beta,m,\ell,\omega,d)=(2+\ell)^{\omega}2^{(\beta+d)(m+d)\log(m+d)}, where nn is the size of the input graph GG, β\beta is the size of the largest clique in GG, mm is the number of cliques in the minimum clique cover of GG, \ell and ω\omega are the height and width of (Z2/,)({Z^{2}}/\!\!\equiv,\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}), respectively, and d=|D|+|{PZ2D|QD,PQ or QP}|d=|{\color[rgb]{0.0,0.0,0.4}D}|+|\{P\in{Z^{2}}\setminus{\color[rgb]{0.0,0.0,0.4}D}\;|\;\exists Q\in{\color[rgb]{0.0,0.0,0.4}D},P\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}Q\text{ or }Q\mathrlap{\raisebox{1.0pt}{${}^{\,\ast}$}}{\,\prec\,}P\}|.

Proof.

Take D{\color[rgb]{0.0,0.0,0.4}D} to be the entire Z2{Z^{2}}. Following Algorithm 1, there are (2+)ω(2+\ell)^{\omega} downstream-enabled prescriptions. For each prescription, we can construct an augmented graph. Compared to the original graph GG, the augmented graph creates at most dd additional states and keeps the copies of incompatible states incompatible. In the worst case, the copies of the vertices in the largest clique of GG still remains fully connected in the augmented graph. Hence, the size of the largest clique in the augmented graph is at most m+dm+d, where there are additionally dd new states to be covered by the largest clique. For each state pair {v,w}\{{v},{w}\} in Z2{Z^{2}}, if it is off, then it requires at most one additional clique since you can no longer put these two states in the same clique. If it is on, then it also requires at most one additional clique to cover the additional new states 𝗏new{v,w}\mathsf{v}_{{\scalebox{0.7}{\text{new}}}}^{\scalebox{0.67}{$\!\{{v},{w}\}\!$}}, as the copies of both vv and ww are already covered by the clique cover of size β\beta. Therefore, the size of the minimum clique cover for the augmented graph is at most β+d\beta+d. Hence, the computational complexity to find the minimum clique cover for each augmented graph is 2(β+d)(m+d)log(m+d)O(n)2^{(\beta+d)(m+d)\log(m+d)}O(n) following Lemma 7. Together, the complexity for Algorithm 2 is (2+)ω2(β+d)(m+d)log(m+d)O(n)(2+\ell)^{\omega}2^{(\beta+d)(m+d)\log(m+d)}O(n). ∎

Notice that the approach does not depend upon any particular details of the FPT-algorithm employed to find the traditional clique cover. For Corollary 24’s precise expression of ff, we use Lemma 7 as a specific example, and modifications for the G+G^{+} graphs add only dd terms to upper bound the parameters. In a sense, we can see the compositionality of the FPT theory: in order to account for the enumeration, the zipper constraints themselves contribute to the complexity via the (2+)ω=2ωlg(2+)(2+\ell)^{\omega}=2^{\omega\lg(2+\ell)} factor.

8 Conclusion and outlook

It is unclear whether the algorithm we have presented is of particular practical value. Given past successes with ILP- and SAT-based formulations, and the vast body of active work on improving solvers of those sorts, they may well outperform direct treatment via clique covers on graphs. Nevertheless, what the present algorithm does provide is some deeper understanding of the fact that the constraints to enforce determinism play a role in making the problem hard. To gain further insight, one might look at regularity which affects the down-/upstream relationship between zipper constraints, and examine its impact on the chains and anti-chains that result. Under the usual interpretation of FPT, such regularity leads one to identify classes of tractable instances with complexity characterized by constant parameters. These instances are efficient to solve when scaling the problem while keeping those parameters fixed. Finally, the notion of repairability in [19] has definitely been sharpened within the present paper, though, unlike that work, our emphasis has not been on the direct structural aspects of the compatibility graph.

Acknowledgements: We thank the anonymous referees for their close reading of the manuscript, and acknowledge the support of the Office of Naval Research under Award #N00014-22-1-2476.

References

  • [1] Jonathan H. Connell. Minimalist Mobile Robotics. A Colony-Style Architecture for an Artificial Creature, volume 5 of Perspectives in AI. Academic Press, Inc., 1990.
  • [2] Ken Goldberg. Minimalism in Robot Manipulation, April 1996. https://goldberg.berkeley.edu/minimalism/, Accessed 2024–02–02.
  • [3] Anirudha Majumdar and Vincent Pacelli. Fundamental Performance Limits for Sensor-Based Robot Control and Policy Learning. In Robotics: Science and Systems, New York City, NY, USA, June 2022.
  • [4] Matthew T. Mason. Kicking the Sensing Habit. AI Magazine, 14(1):58–59, 1993.
  • [5] Rolf Niedermeier. Invitation to fixed-parameter algorithms. Oxford University Press, 2006.
  • [6] Jason M. O’Kane and Dylan A. Shell. Concise planning and filtering: Hardness and algorithms. IEEE Transactions on Automation Science and Engineering, 14(4):1666–1681, 2017.
  • [7] Hazhar Rahmani and Jason M. O’Kane. Integer linear programming formulations of the filter partitioning minimization problem. Journal of Combinatorial Optimization, 40(2):431–453, 2020.
  • [8] Hazhar Rahmani and Jason M. O’Kane. Equivalence notions for state-space minimization of combinatorial filters. IEEE Transactions on Robotics, 37(6):2117–2136, 2021.
  • [9] Fatemeh Zahra Saberifar, Shervin Ghasemlou, Jason M. O’Kane, and Dylan A. Shell. Set-labelled filters and sensor transformations. In Robotics: Science and Systems, Ann Arbor, Michigan, 2016.
  • [10] Fatemeh Zahra Saberifar, Ali Mohades, Mohammadreza Razzazi, and Jason M. O’Kane. Combinatorial Filter Reduction: Special Cases, Approximation, and Fixed-Parameter Tractability. Journal of Computer and System Sciences, 85:74–92, May 2017.
  • [11] Fatemeh Zahra Saberifar, Ali Mohades, Mohammadreza Razzazi, and Jason M. O’Kane. Improper Filter Reduction. Journal of Algorithms and Computation, 50(1):69–99, June 2018.
  • [12] Basak Sakcak, Kalle G Timperi, Vadim Weinstein, and Steven M LaValle. A mathematical characterization of minimally sufficient robot brains, 2024. Accepted to appear in The International Journal of Robotics Research, https://doi.org/10.1177/02783649231198898.
  • [13] Russell H. Taylor, M. T. Mason, and Ken Goldberg. Sensor-based manipulation planning as a game with nature. In Proceedings of International Symposium of Robotics Research, pages 421–429, 1988.
  • [14] Benjamin Tovar, Fred Cohen, Leonardo Bobadilla, Justin Czarnowski, and Steven M. Lavalle. Combinatorial filters: Sensor beams, obstacles, and possible paths. ACM Transactions on Sensor Networks, 10(3):1–32, 2014.
  • [15] Ahammed Ullah. Computing clique cover with structural parameterization. arXiv preprint arXiv:2208.12438, 2022.
  • [16] Yulin Zhang, Hazhar Rahmani, Dylan A. Shell, and Jason M. O’Kane. Accelerating combinatorial filter reduction through constraints. In Proceedings of IEEE International Conference on Robotics and Automation, pages 9703–9709, 2021.
  • [17] Yulin Zhang and Dylan A. Shell. Cover combinatorial filters and their minimization problem. In Algorithmic Foundations of Robotics XIV, pages 90–106. Springer, 2021.
  • [18] Yulin Zhang and Dylan A. Shell. Nondeterminism subject to output commitment in combinatorial filters. In Algorithmic Foundations of Robotics XV, pages 205–222. Springer, 2022.
  • [19] Yulin Zhang and Dylan A. Shell. A general class of combinatorial filters that can be minimized efficiently. In Proceedings of IEEE International Conference on Robotics and Automation, pages 1645–1651, 2023.