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

Contracting a Single Element in a Transversal Matroid

Sam Bastida
Abstract.

It is well known that the class of transversal matroids is not closed under contraction or duality. In particular, after contracting a set of elements from a transversal matroid, the resulting matroid may or may not be transversal, and the computational complexity of determining whether it is transversal is not well understood. As a step toward resolving this, we provide a polynomial-time algorithm for determining whether a single-element contraction of a transversal matroid is transversal. In the case that the single-element contraction is transversal, the algorithm also provides a transversal representation. We then discuss possible applications of our techniques toward finding a polynomial-time algorithm to determine if the dual of a transversal matroid is transversal.

1. Introduction

1.1. Motivation

Transversal matroids are an important class of matroids. In introductory texts to matroid theory the theory of transversal matroids is often well developed [welsh], and they are regularly given as an example of naturally arising matroids alongside the original classes, representable and graphic matroids [oxley]. However, there are some key differences that separate transversal matroids from these other two fundamental classes. Firstly, representable and graphic matroids are closed under minors while transversal matroids are not. Furthermore, obtaining representations of minors of representable or graphic matroids can be done in polynomial time while no polynomial-time algorithm is known that determines if a minor of a transversal matroid is even transversal or not, nevermind one that obtains a representation. Secondly, representable matroids are closed under duality and representations of their duals can, once again, be found in polynomial time. Graphic matroids are not closed under duality, however, the class of graphic matroids which are also co-graphic is well understood and such matroids can be recognised, and representations of their duals found, in polynomial time. Currently there is very little understanding of which transversal matroids are also co-transversal and of course there does not exist a polynomial-time algorithm to find transversal representations of duals of transversal matroids.

These ideas immediately give rise to the following natural problems. In all such problems where our problem instance contains a transversal matroid we will assume that the transversal matroid is represented by a bipartite graph in the usual way.

Transversal Contraction
Instance
: A transversal matroid MM and a subset XE(M)X\subseteq E(M).
Question: Is M/XM/X transversal?


Transversal Dual
Instance
: A transversal matroid MM.
Question: Is MM^{*} transversal?

These are questions that have remained unresolved for a long time: Welsh asked in 1971 [DominicProblems, Problem 29] for a characterisation of the matroids that are both transversal and co-transversal; while Bonin, in 2010, asked the same thing [jobonotes, Open Problem 6.1]. We are interested in a slightly different, but related question: whether there even exists a polynomial-time algorithm for determining if a matroid is transversal and co-transversal. As we explain in Section 4 a polynomial-time algorithm that solves Transversal Contraction would provide a polynomial-time algorithm that solves Transversal Dual.

We work toward answering these questions by addressing the simplest case of Transversal Contraction, when XX consists of a single element.

Single Element Transversal Contraction
Instance
: A transversal matroid MM and an element eE(M)e\in E(M).
Question: Is M/eM/e transversal?

We provide a polynomial-time algorithm that solves this problem and, if M/eM/e is determined to be transversal, our algorithm provides a bipartite graph representation. Therefore we obtain the following theorem.

Theorem 1.

There exists a polynomial time algorithm that solves Single Element Transversal Contraction. If this algorithm obtains a positive answer then it also provides the transversal representation of M/eM/e.

We will discuss the underlying complexity theory of the problem in more detail in Section 2 but we give a brief description here to show that this problem is in Σ2\Sigma_{2}. We assume that ee is not a loop of MM as then M/e=M\eM/e=M\backslash e which is trivially transversal. We are able to check, in polynomial time, if a set BE(M)eB\subseteq E(M)-e is a basis of M/eM/e by simply checking if BeB\cup e is a basis of MM. Similarly for any transversal matroid, MTM_{T}, with a transversal representation, we can check if BB is a basis of MTM_{T}. This means that if we are given a transversal matroid, MTM_{T}, on the same ground set as M/XM/X we can check in polynomial time whether a basis of one is a basis of the other. In order for us to obtain a positive answer to Transversal Contraction there must exist a matroid, MTM_{T}, such that for all BB we have that BB is not a basis of exactly one of M/XM/X or MTM_{T}. This alternation of quantifiers puts Transversal Contraction into Σ2\Sigma_{2} [npcompleteness]. Whether the problem is in fact in NPNP, or perhaps even in PP, remains open.

1.2. Strategy

Our approach to obtaining a polynomial time algorithm will examine the duals of transversal matroids. The class of co-transversal matroids is exactly the class of strict gammoids [INGLETON197351]. Strict gammoids have their own graphical representation [mason] which we shall discuss in Section 2.

Instead of working directly with transversal representations we will work with strict gammoids. This allows us to examine restrictions of strict gammoids instead of contractions of transversal matroids. Restrictions of strict gammoids are called gammoids and they have their own graphical representation. This allows us to quickly determine any matroid properties such as independence or closure that we might need from the restricted matroid for our algorithm.

Gammoids are interesting in their own right as they are closed under minors and since any transversal matroid is also a gammoid [oxley] they are a minor closed class containing transversal matroids. In fact they are exactly the class of transversal matroids and their minors [oxley]. Representing gammoids graphically can be a challenge though as it was only recently that a bound was put on the size of a graphic representation of a gammoid [6375323]. Our work approaches this problem from another direction, assuming that we already have a small representation of a gammoid and finding a representation that is one vertex smaller or determining that no such representation exists.

Since we are working in the dual picture we obtain a solution to the dual of Single Element Transversal Contraction where our strict gammoid is represented by a directed graph in the usual way.

Single Element Strict Gammoid Deletion
Instance
: A strict gammoid MM and an element eE(M)e\in E(M).
Question: Is M\eM\backslash e a strict gammoid?

That is, we provide a proof for the following theorem which, through duality, also proves Theorem 1.

Theorem 2.

There exists a polynomial time algorithm that solves Single Element Strict Gammoid Deletion. If this algorithm obtains a positive answer then it also provides the strict gammoid representation of M\eM\backslash e.

1.3. Further Applications

One might wonder why a polynomial-time algorithm for a single-element contraction does not lead to a polynomial-time algorithm for a many-element contraction. As it turns out, it is possible that for a transversal matroid, MM, there are distinct elements ee and ff such that neither M/eM/e nor M/fM/f is transversal, but M/{e,f}M/\{e,f\} is transversal. Note that, in this case, our algorithm can determine that M/eM/e and M/fM/f are not transversal, but then cannot be used to determine anything about M/{e,f}M/\{e,f\}.

In general, even our most fundamental results do not apply when contracting more than one element. However, there is a specific case in which some of our results do apply. A fundamental basis of a matroid, MM, is a basis, BFB_{F}, of MM such that for any cyclic flat ZZ of MM we have that BFZB_{F}\cap Z spans ZZ. As we explain in Section 4, if a polynomial-time algorithm existed that could solve Transversal Contraction in polynomial time in the case when XX is a fundamental basis of MM, then a polynomial time algorithm for Transversal Dual would also exist. Therefore, while we can currently only contract a single element in polynomial time, if our methods can be built upon, we may be able to provide the first real progress toward the questions in [DominicProblems] and [jobonotes] in over 50 years.

Also in Section 4 we explain that while many of our important results for a single element contraction do not carry over to the general case, some of them do transfer to the case when XX is a fundamental basis. This provides hope that perhaps our technique, or a similar technique can solve this problem and therefore provide a polynomial-time algorithm that solves Transversal Dual.

1.4. Organisation

The remainder of this paper is organised as follows. In Section 2 we introduce some basic concepts in matroid theory and the theory of transversal matroids. In Section 3 we develop the necessary theory and then prove Theorem 2 which of course also proves Theorem 1. In Section 4 we then examine the potential of extending our ideas toward obtaining a polynomial-time algorithm to determine if a transversal matroid is co-transversal. Then in Section 5 we conclude the paper with some conjectures about extensions of our results.

2. Preliminaries

2.1. Notation

If SS is a set we let S+xS+x be S{x}S\cup\{x\}. We use [n][n] to denote the set {0,1,2,n}\{0,1,2...,n\}. For sets SS and SS^{\prime} we use SSS\subseteq S^{\prime} to denote that SS is a subset of SS^{\prime} and SSS\subset S^{\prime} to denote that SS is a proper subset of SS^{\prime}. If MM is a matroid and XX is a subset of MM we use M|XM|X to represent M\(MX)M\backslash(M-X), that is, MM restricted to XX.

2.2. Transversals

Let EE be a finite set. We define a set system (E,𝒜)(E,\mathcal{A}) to be EE along with a multiset 𝒜=(Aj:j[n])\mathcal{A}=(A_{j}:j\in[n]) of subsets of EE where n=|𝒜|n=|\mathcal{A}|. Thus the same set may appear multiple times in 𝒜\mathcal{A}, indexed by different elements of [n][n].

A set system (E,𝒜)(E,\mathcal{A}) can be represented by a bipartite graph whose vertex set is 𝒜E\mathcal{A}\cup E; an edge connects Aj𝒜A_{j}\in\mathcal{A} with eEe\in E if and only if eAje\in A_{j}. Similarly each bipartite graph can be seen as representing a set system.

A transversal of the set system (E,𝒜)(E,\mathcal{A}) is a subset TT of EE for which there is a bijection ϕ:E[n]\phi:E\rightarrow[n] with eϕ(e)e\in\phi(e) for all eEe\in E. We refer to the bijection, ϕ\phi, as a matching.

A well known theorem of Hall determines necessary and sufficient conditions for when a set system has a transversal [hall1987representatives].

Theorem 3.

A finite set system (E,(Aj:j[n]))(E,(A_{j}:j\in[n])) has a transversal if and only if for all K[n]K\subseteq[n],

|jKAj||K|.|\bigcup_{j\in K}A_{j}|\geq|K|.

If TT is a transversal of set system (E,𝒜)(E,\mathcal{A}) and TT^{\prime} is a proper subset of TT then we say TT^{\prime} is a partial transversal of the system (E,𝒜)(E,\mathcal{A}).

2.3. Lattices

A lattice is a set, LL, with a partial order such that any two elements, e0e_{0} and e1e_{1} have a unique least upper bound, called the join of e0e_{0} and e1e_{1}, denoted e0e1e_{0}\lor e_{1}, and a unique greatest lower bound, called the meet of e0e_{0} and e1e_{1}, denoted e0e1e_{0}\land e_{1}. We will only consider finite lattices. Such a lattice will have both a minimum element, 0L0_{L} and a maximum element 1L1_{L}.

We say a set system is a lattice under inclusion if the partial ordering imposed on the sets in the system by containment gives rise to a lattice.

2.4. Matroids

We will use the terms; independent sets, dependent sets, loops, coloops, bases, circuits, cyclic sets, rank, closure, flats, cyclic flats, span, contraction, deletion, minors, and duality without providing definitions. We refer the reader to [oxley] for details on matroids.

We have from [bonin2008lattice] that it is possible to define a matroid from its set of cyclic flats and their ranks in the following way:

Definition 4.

Let (E(M),𝒵)(E(M),\mathcal{Z}) be a set system where all sets in 𝒵\mathcal{Z} are distinct and let rr be an integer-valued function on 𝒵\mathcal{Z}. There is a matroid for which 𝒵\mathcal{Z} is the collection of cyclic flats and rr is the rank function restricted to the sets in 𝒵\mathcal{Z} if and only if

  1. Z1

    𝒵\mathcal{Z} is a lattice under inclusion.

  2. Z2

    r(0𝒵)=0r(0_{\mathcal{Z}})=0.

  3. Z3

    0<r(Y)r(X)<|YX|0<r(Y)-r(X)<|Y-X| for all sets X,Y𝒵X,Y\in\mathcal{Z} with XYX\subset Y.

  4. Z4

    For all sets X,Y𝒵X,Y\in\mathcal{Z},

    r(X)+r(Y)r(XY)+r(XY)+|(XY)(XY)|.r(X)+r(Y)\geq r(X\lor Y)+r(X\land Y)+|(X\cap Y)-(X\land Y)|.

We let 𝒵(M)\mathcal{Z}(M) be the collection of all cyclic flats of a matroid MM. We will also define the nullity function, n:2E(M)n:2^{E(M)}\rightarrow\mathbb{N} as n(X)=|X|r(X)n(X)=|X|-r(X). Therefore we see that we can equivalently define a matroid using its set of cyclic flats and their nullities. We also have from [oxley]*Chapter 2.1 Exercise 13a that a set is a cyclic flat of a matroid, MM, if and only if its complement is a cyclic flat of, MM^{*}, the dual of MM. We will also make use of the following equation for the dual rank function [oxley]:

(1) rM(X)=rM(X¯)+|X|rM(M).r_{M^{*}}(X)=r_{M}(\overline{X})+|X|-r_{M}(M).

Now let (E(M),𝒜)(E(M),\mathcal{A}) be a set system and let \mathcal{I} be the set of partial transversals on (E(M),𝒜)(E(M),\mathcal{A}). Then (E(M),)(E(M),\mathcal{I}) is a matroid [jobonotes]. We call any matroid arising in this way a transversal matroid. We define an important function called the β\beta function recursively on all subsets of a matroid

(2) β(X)=r(M)r(X)Z𝒵(M):XZβ(Z).\beta(X)=r(M)-r(X)-\sum_{Z\in\mathcal{Z}(M):X\subset Z}\beta(Z).

Though they did not formulate their theorem in this way we have the following theorem from [ingletoninequality] and [masoninequality] (the proof that this is equivalent to the formulations of [ingletoninequality] and [masoninequality] can be found in [jobonotes]).

Theorem 5.

A matroid, MM, is transversal if and only if β(X)0\beta(X)\geq 0 for all XE(M)X\subseteq E(M).

Next let DD be a directed graph with EE and SS each being subsets of V(D)V(D), we do not require that EE and SS are disjoint. We say that a set IEI\subseteq E is linked into SS if there exist |I||I| disjoint directed paths each starting at a vertex in II and ending at a vertex in SS. The set system (E,)(E,\mathcal{I}) where \mathcal{I} is the collection of sets with linkings into SS is a matroid [oxley]. We denote this particular matroid as M(D,E,S)M(D,E,S) and we call any matroid arising in this way a gammoid. If MM is a gammoid such that M=M(D,V(D),S)M=M(D,V(D),S) for some directed graph DD then we say that MM is a strict gammoid.

It is not difficult to see that gammoids are the restrictions of strict gammoids. Strict gammoids, and as an extension, gammoids, are of interest to us due to the following theorem [INGLETON197351].

Theorem 6.

A matroid is co-transversal if and only if it is a strict gammoid.

2.5. Complexity Theory

Let SS be a set of characters. We call a sequence of characters from SS a word. We call a set of words, LL, a language. Complexity theory examines the complexity of algorithms that determine if a given word belongs to a given language. For our purposes we can imagine our words as inputs to a Turing Machine coded with an algorithm that will eventually accept the word if it belongs to the language and reject it otherwise. If we can bound the number of steps the Turing Machine will take by some polynomial function, nkn^{k}, where nn is the size of the word and kk is some constant then we say that the algorithm runs in polynomial time.

We classify languages based on their complexity and thus build a structure known as the polynomial hierarchy. The first level of the polynomial hierarchy is PP. A language, LL, is in PP if there exists an algorithm which will determine that a word belongs to LL in polynomial time.

The next level of the polynomial hierarchy is best viewed through an example. Let LSL_{S} be the language of satisfiable boolean formulae. We let LSL_{S}^{\prime} be the language consisting of words of the form (F,A)(F,A) where FF is a boolean formula and AA is an assignment of the variables of FF such that FF evaluates to true. Clearly a word, FF, belongs to LSL_{S} if and only if there exists a word, (F,A)(F,A), belonging to LSL_{S}^{\prime}. A polynomial-time algorithm for determining whether a word belongs to LSL_{S} does not exist as far as we know, however, a polynomial-time algorithm for determining whether a word belongs to LSL_{S}^{\prime} does exist, one simply needs to evaluate FF with AA to ensure that FF evaluates to true.

This example gives us our definition of the next set of the polynomial hierarchy we are examining, Σ1\Sigma_{1}, also known as NP. A language, LL, of words, WW, is in Σ1\Sigma_{1} if and only if there exists some language, LPL^{\prime}\in P, of pairs, (W,V)(W,V), where a word, WW is in LL if and only if there exists some VV such that (W,V)L(W,V)\in L^{\prime}. Therefore, since LSL_{S}^{\prime} is in PP we see that LSL_{S} is in Σ1\Sigma_{1}.

Of course “there exists” is not the only quantifier we can consider. Our next example will be the language of tautological formulae, LTL_{T}, that is, those logical formulae for which every assignment of boolean variables results in the formula evaluating to true. Here we let LTL_{T}^{\prime} be the language consisting of words of the form (F,A)(F,A) where FF is a logical formula and AA can be anything except an assignment of variables to FF such that FF evaluates to false. Clearly a word, FF, belongs to LTL_{T} if and only if “for all” AA we have that (F,A)LT(F,A)\in L_{T}^{\prime}. Once again we have that LTL_{T}^{\prime} is in PP but there exists no known polynomial-time algorithm to verify that a formula belongs to LTL_{T}.

This example gives us our definition of the next set that we are examining, Π1\Pi_{1} (or co-NP), which can be thought of as being at the same level of the hierarchy as Σ1\Sigma_{1} but distinct from it. A language, LL, of words, WW, is in Π1\Pi_{1} if and only if there exists some language, LPL^{\prime}\in P, of pairs (W,V)(W,V), where a word, WW is in LL if and only if for all VV we have that (W,V)L(W,V)\in L^{\prime}. Therefore, since LTL_{T}^{\prime} is in PP we see that LTL_{T} is in Π1\Pi_{1}.

We can construct further levels of the polynomial hierarchy by alternating quantifiers. For our purposes we need only construct one more set, Σ2\Sigma_{2}. A language, LL, of words, WW, is in Σ2\Sigma_{2} if and only if there exists some language, LΠ1L^{\prime}\in\Pi_{1}, of pairs, (W,V)(W,V), where a word WW belongs to LL if and only if there exists a VV such that (W,V)L(W,V)\in L^{\prime}.

We will now show that both Transversal Contraction and Transversal Dual are in Σ2\Sigma_{2}. To see this we first have the fact that if given the associated bipartite graph for a set system (E,𝒜)(E,\mathcal{A}), we may determine whether a subset of EE is a transversal or not in polynomial time [oxley].

We first examine Transversal Contraction. Let MTM_{T} be a transversal matroid on the same ground set as M/XM/X for which we have the transversal representation. Let LTL_{T} be the language of triples of the form (M/X,MT,B)(M/X,M_{T},B) where BB can be anything except a set which is a basis in one of M/XM/X or MTM_{T} but not the other. Since we can check in polynomial time if BB is a basis in M/XM/X or MTM_{T} we have that LTPL_{T}\in P.

Now let LXL_{X} be the language of pairs of the form (M/X,MT)(M/X,M_{T}) where M/XMTM/X\cong M_{T}. We have that a word, (M/X,MT)(M/X,M_{T}) is in LXL_{X} if and only if for all BB we have that (M/X,MT,B)LT(M/X,M_{T},B)\in L_{T}. Therefore LXL_{X} is in Π1\Pi_{1}.

Finally we have the language, LL, with words of the form M/XM/X where M/XM/X is a transversal matroid. We see that determining whether a word is in LL is equivalent to solving Transversal Contraction. A word, M/XM/X, is in LL if and only if there exists some transversal matroid MTM_{T} such that M/XMTM/X\cong M_{T}, that is if (M/X,MT)LX(M/X,M_{T})\in L_{X}. Since LXΠ1L_{X}\in\Pi_{1} this means that LΣ2L\in\Sigma_{2}.

For Transversal Dual the argument is the same except that instead of M/XM/X we use MM^{*}. That is, for a given transversal matroid MTM_{T} with representation, the language of triples of the form (M,MT,B)(M^{*},M_{T},B) where BB is not a basis of only one of MM^{*} or MTM_{T}, is in PP. Therefore, the language of pairs of the form (M,MT)(M^{*},M_{T}) where MMTM^{*}\cong M_{T}, is in Π1\Pi_{1}. Therefore, the language of words, MM^{*}, for which an MTM_{T} exists such that MMTM^{*}\cong M_{T}, is in Σ2\Sigma_{2}.

This means that determining if a dual or minor of a transversal matroid is also transversal is in Σ2\Sigma_{2}, even if we are only contracting a single element. One might suspect that LL should be at least in Π1\Pi_{1} given Equation 2, as all one has to do to verify that MM is not a transversal matroid is to find a set, XX, for which β(X)<0\beta(X)<0, however, even if such an XX is found there could be exponentially many cyclic flats that strictly contain XX and so verifying the β\beta value of XX in polynomial time is likely to require some other technique, leaving the problem in Σ2\Sigma_{2}.

3. Results

3.1. Co-Transversal Matroids

We begin this section by calculating the dual of (2). That is, we wish to obtain a function which will be non-zero on all sets of a matroid if and only if that matroid is co-transversal.

At first, we have

β(Y)=r(M)r(Y)Z𝒵(M):YZβ(Z).\beta^{*}(Y)=r^{*}(M)-r^{*}(Y)-\sum_{Z\in\mathcal{Z}(M^{*}):Y\subset Z}\beta^{*}(Z).

We can use (1) to get

β(Y)=|E(M)|r(M)r(Y¯)|Y|+r(M)Z𝒵(M):YZβ(Z).\beta^{*}(Y)=|E(M)|-r(M)-r(\overline{Y})-|Y|+r(M)-\sum_{Z\in\mathcal{Z}(M^{*}):Y\subset Z}\beta^{*}(Z).

We may cancel the r(M)r(M) terms and combine the cardinality terms

β(Y)=|Y¯|r(Y¯)Z𝒵(M):YZβ(Z).\beta^{*}(Y)=|\overline{Y}|-r(\overline{Y})-\sum_{Z\in\mathcal{Z}(M^{*}):Y\subset Z}\beta^{*}(Z).

We wish to replace YY with Y¯\overline{Y} in the range of the summation. To do this note that if YZY\subset Z then Z¯Y¯\overline{Z}\subset\overline{Y}, this gives us

β(Y)=|Y¯|r(Y¯)Z𝒵(M):Z¯Y¯β(Z).\beta^{*}(Y)=|\overline{Y}|-r(\overline{Y})-\sum_{Z\in\mathcal{Z}(M^{*}):\overline{Z}\subset\overline{Y}}\beta^{*}(Z).

The first two terms in the sum are of course the nullity of Y¯\overline{Y} which is defined as n(Y¯)=|Y¯|r(Y¯)n(\overline{Y})=|\overline{Y}|-r(\overline{Y}), while in the summation term it would help if we just examined Z¯\overline{Z} directly. This is fortunately, quite easy, as the cyclic flats of MM are exactly the complements of cyclic flats of MM^{*}, hence we have

β(Y)=n(Y¯)Z𝒵(M):ZY¯β(Z¯).\beta^{*}(Y)=n(\overline{Y})-\sum_{Z\in\mathcal{Z}(M):Z\subset\overline{Y}}\beta^{*}(\overline{Z}).

We now relable Y¯\overline{Y} to be XX and then we have

β(X¯)=n(X)Z𝒵(M):ZXβ(Z¯).\beta^{*}(\overline{X})=n(X)-\sum_{Z\in\mathcal{Z}(M):Z\subset X}\beta^{*}(\overline{Z}).

Now we define a new function γ(X)\gamma(X) which is simply β(X¯)\beta^{*}(\overline{X}), we can then replace both of our β\beta^{*} terms as follows

(3) γ(X)=n(X)Z𝒵(M):ZXγ(Z)\gamma(X)=n(X)-\sum_{Z\in\mathcal{Z}(M):Z\subset X}\gamma(Z)

and so we obtain our γ\gamma function. Since the γ\gamma function checks the same sets as the β\beta^{*} function we obtain the following Corollary.

Corollary 7.

A matroid, MM, is co-transversal if and only if γ(X)0\gamma(X)\geq 0 for all XE(M)X\subseteq E(M).

Combining this result with Theorem 6 implies the following:

Corollary 8.

A matroid, MM, is a strict gammoid if and only if γ(X)0\gamma(X)\geq 0 for all XE(M)X\subseteq E(M).

The proof of Theorem 5, which can be found in [jobonotes], takes the cyclic flats with nonzero β\beta values and constructs a transversal representation. A similar construction can be obtained in the dual case for strict gammoids.

For this construction we define a few terms. If M=M(D,V(D),S)M=M(D,V(D),S) is a strict gammoid we call (D,V(D),S)(D,V(D),S) a representation of MM. We say that a representation is maximal if (D+a,V(D),S)(D+a,V(D),S) is not a representation of MM for any arc aA(D)a\notin A(D). If vv is a vertex of V(D)SV(D)-S then the set of vertices, uu for which the arc (v,u)A(D)(v,u)\in A(D) is called the forward neighbourhood of vv, denoted ND+(v)N_{D}^{+}(v). The closed forward neighbourhood of vv, denoted ND+[v]N_{D}^{+}[v], is ND+(v)+vN_{D}^{+}(v)+v. If XX is a set of vertices of DD then the set N(X)N(X) is the set of vertices, vv such that ND+[v]=XN^{+}_{D}[v]=X.

Theorem 9.

Let DMD_{M} be a maximal representation of a strict gammoid, MM. Let XX be a subset of E(M)E(M). Then XX is a closed forward neighbourhood of DMD_{M} if and only if XX is a cyclic flat of MM with nonzero γ\gamma value and |N(X)|=γ(X)|N(X)|=\gamma(X).

Our version of the proof of Theorem 9 is quite detailed and involves many results about strict gammoids that are not used in this paper. For this reason the proof is ommitted and will be available in the author’s thesis. We justify this with the fact that the dual result exists for transversal matroids as can be found in [jobonotes] and the fact that we will not use Theorem 9 directly.

What this Theorem tells us is that we can simply read off the γ\gamma values of cyclic flats with nonzero γ\gamma values from the maximal directed graph representation. Similarly if we have these particular γ\gamma values we can construct the maximal directed graph representation. This does not directly follow from the result, however, this is something that is also proved in the author’s thesis. The full result is as follows:

Lemma 10.

Let MM be any matroid and let (M)\mathcal{F}(M) be the collection of cyclic flats of MM with positive γ\gamma values. There is a polynomial-time algorithm that either constructs a maximal representation of a strict gammoid, MM^{\prime}, with (M)=(M)\mathcal{F}(M^{\prime})=\mathcal{F}(M) and γM(F)=γM(F)\gamma_{M^{\prime}}(F)=\gamma_{M}(F) for all F(M)F\in\mathcal{F}(M^{\prime}) or verifies that no such strict gammoid exists. If MM is a strict gammoid then M=MM=M^{\prime}.

Note that if MM is not a strict gammoid, MM^{\prime} may still exist, in which case MM is not equal to MM^{\prime}. This will cause difficulties for our algorithm as we will construct such an MM^{\prime} and then have to verify that M=MM=M^{\prime}, however, we are able to do so in polynomial time.

Since any representation obtained from Lemma 10 has |E(M)||E(M)| vertices there are at most |E(M)||E(M)| closed forward neighbourhoods and so viewing a strict gammoid as a directed graph is equivalent (for the purposes of polynomial-time algorithms) to viewing the set of cyclic flats with nonzero γ\gamma values and their γ\gamma values. Therefore we use Theorem 9 to justify viewing strict gammoids by their collections of cyclic flats with nonzero γ\gamma values rather than as directed graph representations.

To do this in general we need one more result which allows us to obtain a maximal representation of a strict gammoid from a general representation of a strict gammoid. Once again, the dual of this result exists for transversal matroids and can be found in [jobonotes]. Therefore we will not provide a proof here and instead refer the reader to the author’s thesis for details.

Lemma 11.

Let (D,V(D),S)(D,V(D),S) be a representation of a strict gammoid MM. There exists an algorithm which obtains a maximal representation for MM in 𝒪(|V(D)|2)\mathcal{O}(|V(D)|^{2}) operations.

Finally we also explicitly state the result we proved and used above about the bound on the number of cyclic flats of a strict gammoid with nonzero γ\gamma values.

Corollary 12.

Let MM be a strict gammoid. Then

Z𝒵(M):ZE(M)γ(Z)|E(M)|.\sum_{Z\in\mathcal{Z}(M):Z\subset E(M)}\gamma(Z)\leq|E(M)|.

3.2. Flats

We require some results concerning flats of matroids. Some of these results pertain to general matroids rather than simply strict gammoids.

Proposition 13.

Let XX be a subset of a matroid, MM and let LL^{*} be the set of coloops of M|XM|X. Then XLX-L^{*} is the unique maximal cyclic set contained in XX and n(X)=n(XL)n(X)=n(X-L^{*}).

Furthermore if XX is a flat then XLX-L^{*} is a cyclic flat.

Proof.

Removing LL^{*} from XX decreases the size and the rank of XX by the same amount so we see that n(X)=n(XL)n(X)=n(X-L^{*}). If XX is closed cl(XL)Xcl(X-L^{*})\subseteq X and since adding any elements from LL^{*} would increase the rank of XLX-L^{*} we see that cl(XL)=XLcl(X-L^{*})=X-L^{*} and finally since M|(XL)M|(X-L^{*}) contains no coloops XLX-L^{*} is a cyclic flat.

Also any other maximal cyclic set XX^{\prime} could not contain any elements in LL^{*} since they are coloops of M|XM|X and therefore would be contained in XLX-L^{*}, hence XL=XX-L^{*}=X^{\prime} and therefore XLX-L^{*} is unique. ∎

We can use Proposition 13 to see that in a strict gammoid, MM, we have

(4) n(M)=Z𝒵(M)γ(Z).n(M)=\sum_{Z\in\mathcal{Z}(M)}\gamma(Z).

Which we can see by letting ZωZ_{\omega} be the maximum cyclic flat contained in E(M)E(M) described by Proposition 13, then

γ(Zω)=n(Zω)Z𝒵(M)Zωγ(Z)\gamma(Z_{\omega})=n(Z_{\omega})-\sum_{Z\in\mathcal{Z}(M)-Z_{\omega}}\gamma(Z)

but by Proposition 13 we see that n(Zω)=n(M)n(Z_{\omega})=n(M) and so rearranging gives the result. This gives another proof of Corollary 12. Next we have two results about the γ\gamma function that we will use later.

Lemma 14.

Let XX be a non-cyclic set in any matroid and let LL^{*} be the set of coloops of M|XM|X. If XLX-L^{*} is not a cyclic flat then γ(X)=γ(XL)\gamma(X)=\gamma(X-L^{*}), and if XLX-L^{*} is a cyclic flat then γ(X)=0\gamma(X)=0.

Proof.

First assume that XLX-L^{*} is not a cyclic flat. Then, since no cyclic flats in XX can contain elements of LL^{*} we have that the collection of cyclic flats strictly contained in XLX-L^{*} is the same as the collection of cyclic flats strictly contained in XX. Therefore

Z𝒵(M):ZXγ(Z)=Z𝒵(M):ZXLγ(Z).\sum_{Z\in\mathcal{Z}(M):Z\subset X}\gamma(Z)=\sum_{Z\in\mathcal{Z}(M):Z\subset X-L^{*}}\gamma(Z).

Also by Proposition 13 we have that n(X)=n(XL)n(X)=n(X-L^{*}) and therefore

n(X)Z𝒵(M):ZXγ(Z)=n(XL)Z𝒵(M):ZXLγ(Z)n(X)-\sum_{Z\in\mathcal{Z}(M):Z\subset X}\gamma(Z)=n(X-L^{*})-\sum_{Z\in\mathcal{Z}(M):Z\subset X-L^{*}}\gamma(Z)

which is of course

γ(X)=γ(XL)\gamma(X)=\gamma(X-L^{*})

as required.

On the other hand if XLX-L^{*} is a cyclic flat then the collection of cyclic flats strictly contained in XX, that is Z𝒵(M),ZXZ\in\mathcal{Z}(M),Z\subset X, contains one cyclic flat more than the collection of cyclic flats strictly contained in XLX-L^{*}, namely, XLX-L^{*} is a cyclic flat strictly contained in XX but not in XLX-L^{*}. This means that

(Z𝒵(M):ZX)=(Z𝒵(M):ZXL)+(XL)(Z\in\mathcal{Z}(M):Z\subset X)=(Z\in\mathcal{Z}(M):Z\subset X-L^{*})+(X-L^{*})

this gives us

n(X)Z𝒵(M):ZXγ(Z)=n(XL)(Z𝒵(M):ZXLγ(Z))γ(XL)n(X)-\sum_{Z\in\mathcal{Z}(M):Z\subset X}\gamma(Z)=n(X-L^{*})-\left(\sum_{Z\in\mathcal{Z}(M):Z\subset X-L^{*}}\gamma(Z)\right)-\gamma(X-L^{*})
γ(X)=γ(XL)γ(XL)=0\gamma(X)=\gamma(X-L^{*})-\gamma(X-L^{*})=0

as required. ∎

Note that if XX in Lemma 14 is a flat then we have from Proposition 13 that XLX-L^{*} will be a cyclic flat and so we obtain the following corollary:

Corollary 15.

Let XX be a non-cyclic flat in any matroid. Then γ(X)=0\gamma(X)=0.

Lemma 16.

Let XX be a flat in a strict gammoid. Then for every xXx\in X such that xx is not a coloop of M|XM|X, there is some cyclic flat ZxXZ_{x}\subseteq X such that xZxx\in Z_{x} and γ(Zx)>0\gamma(Z_{x})>0.

Proof.

Let xx be an element of XX and let there be no cyclic flat ZxXZ_{x}\subseteq X such that xZxx\in Z_{x} and γ(Zx)>0\gamma(Z_{x})>0. Clearly we have that if XX is a cyclic flat γ(X)=0\gamma(X)=0 since xXx\in X. By the definition of γ\gamma we have

γ(X)=n(X)Z𝒵(M):ZXγ(Z).\gamma(X)=n(X)-\sum_{Z\in\mathcal{Z}(M):Z\subset X}\gamma(Z).

If XX is cyclic then we can rearrange this as follows:

(5) n(X)=Z𝒵(M):ZXγ(Z).n(X)=\sum_{Z\in\mathcal{Z}(M):Z\subseteq X}\gamma(Z).

If XX is not cyclic then by Proposition 13 there exists a unique maximal cyclic flat Z0XZ_{0}\subseteq X and n(X)=n(Z0)n(X)=n(Z_{0}). Since Z0Z_{0} is unique and maximal we see that all cyclic flats contained in XX are contained in Z0Z_{0}, this gives us

n(X)=n(Z0)=Z𝒵(M):ZXγ(Z).n(X)=n(Z_{0})=\sum_{Z\in\mathcal{Z}(M):Z\subseteq X}\gamma(Z).

Therefore (5) still holds even though XX is not cyclic. But since xx is not a coloop of M|XM|X we have that r(Xx)=r(X)r(X-x)=r(X) and so

(6) n(Xx)=|Xx|r(Xx)=|X|r(X)1=n(X)1.n(X-x)=|X-x|-r(X-x)=|X|-r(X)-1=n(X)-1.

We now examine the sum of γ\gamma values of cyclic flats contained in XX. If XX is not a cyclic flat it is not in the sum and if it is a cyclic flat then it contains xx and so must have γ\gamma value zero by assumption, either way we can remove it from the sum without changing the value of the sum.

Similarly, every other cyclic flat contained in XX that contains xx must have γ\gamma value of zero and so we can remove all of these cyclic flats from the sum as well, leaving only cyclic flats contained in XxX-x.

(7) Z𝒵(M):ZXγ(Z)=Z𝒵(M):ZXγ(Z)=Z𝒵(M):ZXxγ(Z)\sum_{Z\in\mathcal{Z}(M):Z\subseteq X}\gamma(Z)=\sum_{Z\in\mathcal{Z}(M):Z\subset X}\gamma(Z)=\sum_{Z\in\mathcal{Z}(M):Z\subset X-x}\gamma(Z)

where we do not need \subseteq for the last sum because if such a cyclic flat existed it would clearly contain xx in its closure. We now examine the γ\gamma value of XxX-x to get

γ(Xx)=n(Xx)Z𝒵(M):ZXxγ(Z)\gamma(X-x)=n(X-x)-\sum_{Z\in\mathcal{Z}(M):Z\subset X-x}\gamma(Z)

and by (6) this is

γ(Xx)=n(X)1Z𝒵(M):ZXxγ(Z)\gamma(X-x)=n(X)-1-\sum_{Z\in\mathcal{Z}(M):Z\subset X-x}\gamma(Z)

substituting in (5) gives us

γ(Xx)=(Z𝒵(M):ZXγ(Z))1Z𝒵(M):ZXxγ(Z)\gamma(X-x)=\left(\sum_{Z\in\mathcal{Z}(M):Z\subseteq X}\gamma(Z)\right)-1-\sum_{Z\in\mathcal{Z}(M):Z\subset X-x}\gamma(Z)

then we use (7) to get

γ(Xx)=(Z𝒵(M):ZXxγ(Z))1Z𝒵(M):ZXxγ(Z)\gamma(X-x)=\left(\sum_{Z\in\mathcal{Z}(M):Z\subset X-x}\gamma(Z)\right)-1-\sum_{Z\in\mathcal{Z}(M):Z\subset X-x}\gamma(Z)

cancelling gives

γ(Xx)=1\gamma(X-x)=-1

which contradicts the fact that our matroid was a strict gammoid, giving us the result. ∎

3.3. The Lattice of Cyclic Flats

By Definition 4 we see that the collection of cyclic flats of a matroid forms a lattice under inclusion. Specifically if Z0Z_{0} and Z1Z_{1} are cyclic flats then their join, Z0Z1Z_{0}\lor Z_{1}, is the closure of their union, and their meet, Z0Z1Z_{0}\land Z_{1} is the union of all circuits contained in their intersection. Note that the set of all loops of a matroid is a cyclic flat even if it is empty. If given a set of cyclic flats 𝒵={Z0,Z1,,Zn}\mathcal{Z}=\{Z_{0},Z_{1},\ldots,Z_{n}\} we define 𝒵\lor\mathcal{Z} to be Z0Z1ZnZ_{0}\lor Z_{1}\lor\dots\lor Z_{n} and 𝒵\land\mathcal{Z} to be Z0Z1ZnZ_{0}\land Z_{1}\land\dots\land Z_{n}. It is clear that given any pair of cyclic flats in a gammoid their join and meet can be obtained in polynomial time, however, there may be exponentially many cyclic flats in the matroid and so it is not feasible to examine all of them in polynomial time.

Our goal is to examine a single-element deletion from a strict gammoid and determine if the resulting gammoid remains a strict gammoid. Naively in order to do this we would have to check the γ\gamma values of every subset of the ground set of the resulting matroid which clearly could not be done in polynomial time. In fact, even checking all the cyclic flats could not be done in polynomial time. However, recall that by Corollary 12 the number of cyclic flats with nonzero γ\gamma values in the original matroid is bounded by the size of the ground set. While that may not be true for our new matroid we can use this information to help us obtain information about it in polynomial time. As such we first examine the relationship between the lattices of cyclic flats for each matroid.

Let M+M^{+} be a matroid with eE(M+)e\in E(M^{+}), let M=M+\eM=M^{+}\backslash e. We obtain a function f:𝒵(M+)2E(M)f:\mathcal{Z}(M^{+})\rightarrow 2^{E(M)} which is defined as f(Z)=Zef(Z)=Z-e. Note that f(Z)f(Z) may or may not be a cyclic flat in MM. We now prove the following properties about ff.

Lemma 17.

The function ff has the following properties for all Z0,Z1𝒵(M+)Z_{0},Z_{1}\in\mathcal{Z}(M^{+}) and Z𝒵(M)Z\in\mathcal{Z}(M):

  1. 17.1.

    If f(Z0)=f(Z1)f(Z_{0})=f(Z_{1}) then Z0=Z1Z_{0}=Z_{1}.

  2. 17.2.

    clM(f(Z0)f(Z1))=f(clM+(Z0Z1))cl_{M}(f(Z_{0})\cup f(Z_{1}))=f(cl_{M^{+}}(Z_{0}\cup Z_{1}))

  3. 17.3.

    Let LL^{*} be the set of all coloops of M|(f(Z0)f(Z1))M|(f(Z_{0})\cap f(Z_{1})). We have that

    (f(Z0)f(Z1))Lf(Z0Z1)(f(Z_{0})\cap f(Z_{1}))-L^{*}\subseteq f(Z_{0}\land Z_{1})

    and if f(Z0Z1)f(Z_{0}\land Z_{1}) is cyclic in MM then

    (f(Z0)f(Z1))L=f(Z0Z1).(f(Z_{0})\cap f(Z_{1}))-L^{*}=f(Z_{0}\land Z_{1}).
  4. 17.4.

    There exists some Z𝒵(M+)Z^{\prime}\in\mathcal{Z}(M^{+}) such that f(Z)=Zf(Z^{\prime})=Z.

  5. 17.5.

    Either f(Z0)𝒵(M)f(Z_{0})\in\mathcal{Z}(M) or γM(f(Z0))=0\gamma_{M}(f(Z_{0}))=0.

Proof.

For the first result note that if f(Z0)=f(Z1)f(Z_{0})=f(Z_{1}) and Z0Z1Z_{0}\neq Z_{1} then the symmetric difference of Z0Z_{0} and Z1Z_{1} would be the singleton element {e}\{e\} which is impossible for cyclic flats [oxley].

For the second result note that since Z0Z_{0} and Z1Z_{1} are both cyclic flats in M+M^{+} we have that ee is not a coloop of either M+|Z0M^{+}|Z_{0} or M+|Z1M^{+}|Z_{1} and therefore clearly isn’t a coloop of M+|Z0Z1M^{+}|Z_{0}\cup Z_{1}. Hence rM+((Z0e)(Z1e))=rM+(Z0Z1)r_{M^{+}}((Z_{0}-e)\cup(Z_{1}-e))=r_{M^{+}}(Z_{0}\cup Z_{1}). Hence clM+(Z0Z1)=clM+((Z0e)(Z1e))cl_{M^{+}}(Z_{0}\cup Z_{1})=cl_{M^{+}}((Z_{0}-e)\cup(Z_{1}-e)). Which means that

clM+(Z0Z1)=clM+(f(Z0)f(Z1)).cl_{M^{+}}(Z_{0}\cup Z_{1})=cl_{M^{+}}(f(Z_{0})\cup f(Z_{1})).

Since clM+(Z0Z1)cl_{M^{+}}(Z_{0}\cup Z_{1}) is a cyclic flat of M+M^{+} we can apply ff to it to get

f(clM+(Z0Z1)=clM+(f(Z0)f(Z1))e.f(cl_{M^{+}}(Z_{0}\cup Z_{1})=cl_{M^{+}}(f(Z_{0})\cup f(Z_{1}))-e.

However, since ef(Z0)f(Z1)e\notin f(Z_{0})\cup f(Z_{1}) we have that clM+(f(Z0)f(Z1))e=clM(f(Z0)f(Z1))cl_{M^{+}}(f(Z_{0})\cup f(Z_{1}))-e=cl_{M}(f(Z_{0})\cup f(Z_{1})) and therefore we obtain the desired equality.

For the third result; any element, e0e_{0}, in f(Z0)f(Z1)f(Z_{0})\cap f(Z_{1}) that is not in LL^{*} must be in a circuit, C0C_{0} of MM, contained in f(Z0)f(Z1)f(Z_{0})\cap f(Z_{1}). Any circuit of MM is also a circuit of M+M^{+} and so e0e_{0} is not a coloop of M+|(f(Z0)f(Z1))M^{+}|(f(Z_{0})\cap f(Z_{1})) and therefore also not a coloop of M+|(Z0Z1)M^{+}|(Z_{0}\cap Z_{1}). Hence e0(Z0Z1)e_{0}\in(Z_{0}\land Z_{1}) and therefore also in f(Z0Z1)f(Z_{0}\land Z_{1}) as required.

If f(Z0Z1)f(Z_{0}\land Z_{1}) is cyclic in MM then any element e0f(Z0Z1)e_{0}\in f(Z_{0}\land Z_{1}) must be contained in a circuit C0C_{0} in MM that is contained in f(Z0Z1)f(Z_{0}\land Z_{1}). Since f(Z0Z1)(Z0Z1)ef(Z_{0}\land Z_{1})\subseteq(Z_{0}\cap Z_{1})-e we see that C0(Z0Z1)eC_{0}\subseteq(Z_{0}\cap Z_{1})-e. Since (Z0Z1)e=(Z0e)(Z1e)(Z_{0}\cap Z_{1})-e=(Z_{0}-e)\cap(Z_{1}-e) we see that C0C_{0} is in both f(Z0)f(Z_{0}) and f(Z1)f(Z_{1}). Hence e0e_{0} cannot be in LL^{*} and so e0f(Z0)f(Z1)Le_{0}\in f(Z_{0})\cap f(Z_{1})-L^{*} as required.

For the fourth result we find ZZ^{\prime} by taking clM+(Z)cl_{M^{+}}(Z). Since every element in clM+(Z)Zcl_{M^{+}}(Z)-Z must complete a circuit with elements in ZZ that element would complete that same circuit with those elements in MM and therefore the only element that can be in clM+(Z)Zcl_{M^{+}}(Z)-Z is ee. Hence clM+(Z)=Zcl_{M^{+}}(Z)=Z^{\prime}.

For the last result we have that f(Z0)f(Z_{0}) is a flat of MM from [oxley, Proposition 3.3.7(ii)] and therefore the result follows from Corollary 15. ∎

Let +\mathcal{L}^{+} be the lattice of cyclic flats of M+M^{+} and let \mathcal{L} be the lattice of cyclic flats of MM. Lemma 17 tells us that ff is almost an isomorphism from +\mathcal{L}^{+} and \mathcal{L}. The ‘almost’ coming from the fact that sometimes ff sends cyclic flats to sets that are not cyclic flats and we have f(Z0)f(Z1)f(Z0Z1)f(Z_{0})\land f(Z_{1})\subseteq f(Z_{0}\land Z_{1}) rather than f(Z0)f(Z1)=f(Z0Z1)f(Z_{0})\land f(Z_{1})=f(Z_{0}\land Z_{1}). We will use this near-isomorphic structure to obtain the results we need.

Lemma 18.

Let XX be a cyclic set in M+M^{+} such that eXe\in X. Then

γM+(X)γM(Xe)1=Z𝒵(M+):ZX(γM(Ze)γM+(Z)).\gamma_{M^{+}}(X)-\gamma_{M}(X-e)-1=\sum_{Z\in\mathcal{Z}(M^{+}):Z\subset X}(\gamma_{M}(Z-e)-\gamma_{M^{+}}(Z)).

On the other hand if eXe\notin X and XX is a flat of M+M^{+} then γM+(X)γM(Xe)=0\gamma_{M^{+}}(X)-\gamma_{M}(X-e)=0.

Proof.

To see the first result we begin with the following equation derived from the definition of the γ\gamma function:

γM+(X)γM(Xe)=nM+(X)(Z𝒵(M+):ZXγM+(Z))nM(Xe)+Z𝒵(M):ZXeγM(Z).\gamma_{M^{+}}(X)-\gamma_{M}(X-e)=n_{M^{+}}(X)-\left(\sum_{Z\in\mathcal{Z}(M^{+}):Z\subset X}\gamma_{M^{+}}(Z)\right)\\ -n_{M}(X-e)+\sum_{Z\in\mathcal{Z}(M):Z\subset X-e}\gamma_{M}(Z).

But since eXe\in X and XX is cyclic in M+M^{+} we see that ee is not a coloop of M+|XM^{+}|X, hence rM+(X)=rM+(Xe)r_{M^{+}}(X)=r_{M^{+}}(X-e) but of course rM+(Xe)=rM(Xe)r_{M^{+}}(X-e)=r_{M}(X-e) and so rM+(X)=rM(Xe)r_{M^{+}}(X)=r_{M}(X-e) and therefore nM+(X)1=nM(Xe)n_{M^{+}}(X)-1=n_{M}(X-e). Hence we have

γM+(X)γM(Xe)=1Z𝒵(M+):ZXγM+(Z)+Z𝒵(M):ZXeγM(Z).\gamma_{M^{+}}(X)-\gamma_{M}(X-e)=1-\sum_{Z\in\mathcal{Z}(M^{+}):Z\subset X}\gamma_{M^{+}}(Z)+\sum_{Z\in\mathcal{Z}(M):Z\subset X-e}\gamma_{M}(Z).

We now wish to combine the two sums into one. In order to do this we must first change the range of the second sum from Z𝒵(M),ZXeZ\in\mathcal{Z}(M),Z\subseteq X-e to Z𝒵(M+),ZXZ\in\mathcal{Z}(M^{+}),Z\subseteq X. Obviously these terms are not necessarily cyclic flats of MM so the terms of the sum will become γM(Ze)\gamma_{M}(Z-e).

We need to show that changing the sum in this way leaves its total value the same. First we see by Lemma 17.4 that we have not lost any terms and so we need only worry about adding additional terms. We see from Lemma 17.1 that we are not adding any terms that we already have. Therefore we must only be adding terms that are not in Z𝒵(M):ZXeZ\in\mathcal{Z}(M):Z\subset X-e.

We are changing two parts to this range. First we are expanding from looking at cyclic flats of MM to cyclic flats of M+M^{+}. In doing so we may add terms which are not cyclic flats of MM. However, by Lemma 17.5 all of these will have γM\gamma_{M} value of 0 and so adding them does not change the sum.

We are also expanding our range from ZXeZ\subset X-e to ZXZ\subset X. The only new subset of E(M)E(M) that this change could potentially give us is XeX-e itself. However since XX is a cyclic set of M+M^{+} we must have that eclM+(Xe)e\in cl_{M^{+}}(X-e) and so XeX-e is not a cyclic flat of M+M^{+}, therefore we are not adding XeX-e to the range of the sum.

This means that all the terms we are adding have γM\gamma_{M} values of 0 and so do not change the sum, this allows us to obtain.

γM+(X)γM(Xe)=1Z𝒵(M+):ZXγM+(Z)+Z𝒵(M+):ZXγM(Ze)\gamma_{M^{+}}(X)-\gamma_{M}(X-e)=1-\sum_{Z\in\mathcal{Z}(M^{+}):Z\subset X}\gamma_{M^{+}}(Z)+\sum_{Z\in\mathcal{Z}(M^{+}):Z\subset X}\gamma_{M}(Z-e)
γM+(X)γM(Xe)1=Z𝒵(M+):ZX(γM(Ze)γM+(Z))\gamma_{M^{+}}(X)-\gamma_{M}(X-e)-1=\sum_{Z\in\mathcal{Z}(M^{+}):Z\subset X}(\gamma_{M}(Z-e)-\gamma_{M^{+}}(Z))

as required. For the second result note that for any set XXX^{\prime}\subseteq X we have that nM(X)=nM+(X)n_{M}(X^{\prime})=n_{M^{+}}(X^{\prime}) since no elements have been removed from XX^{\prime}. Similarly, for any flat FXF\subseteq X in M+M^{+} we have that FF is still a flat in MM [oxley] and for any cyclic flat ZXZ\not\subseteq X in M+M^{+} we cannot have ZeXZ-e\subseteq X as since ZZ is cyclic eclM+(Ze)e\in cl_{M^{+}}(Z-e) and therefore ee would be in clM+(X)cl_{M^{+}}(X), contradicting the fact that XX is a flat that does not contain ee.

Hence all cyclic flats in XX are the same in both MM and M+M^{+} and all have the same nullities, as does XX itself. Hence γM+(X)=γM(X)\gamma_{M^{+}}(X)=\gamma_{M}(X). ∎

To simplify notation we will use Δγ(X)\Delta\gamma(X) to mean γM(Xe)γM+(X)\gamma_{M}(X-e)-\gamma_{M^{+}}(X) for any XE(M+)X\subseteq E(M^{+}). Also for a collection 𝒳\mathcal{X} of sets XE(M+)X\subset E(M^{+}) we will use down(𝒳)\operatorname{down}(\mathcal{X}) to mean the collection of cyclic flats of M+M^{+} that are each contained in at least one of the sets X𝒳X\in\mathcal{X}. Note that all cyclic flats Z𝒳Z\in\mathcal{X} are contained in down(𝒳)\operatorname{down}(\mathcal{X}). If 𝒳\mathcal{X} consists of a single set XX we simplify notation by writing down(X)\operatorname{down}(X) instead of down({X})\operatorname{down}(\{X\}). This allows us to rewrite the equation from Lemma 18 as

(8) Δγ(X)1=Zdown(X)XΔγ(Z).-\Delta\gamma(X)-1=\sum_{Z\in\operatorname{down}(X)-X}\Delta\gamma(Z).

We use this notation for the next results:

Lemma 19.

Let XX be a cyclic set in M+M^{+} with eXe\in X. Let 𝒴\mathcal{Y} be a non-empty collection of cyclic flats in M+M^{+}, each properly contained in XX such that e𝒴e\in\land\mathcal{Y}. Then

Δγ(X)=Zdown(X)XZdown(𝒴)Δγ(Z)-\Delta\gamma(X)=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(\mathcal{Y})\end{subarray}}\Delta\gamma(Z)
Proof.

We prove this by contradiction. Assume that the result is false and that we have chosen M+M^{+}, ee, XX, and 𝒴\mathcal{Y} amongst all counterexamples so that |𝒴||\mathcal{Y}| is as small as possible. Since 𝒴\mathcal{Y} is non-empty this means that we first examine what happens when |𝒴|=1|\mathcal{Y}|=1. To do this we start with (8)

Δγ(X)1=Zdown(X)XΔγ(Z)-\Delta\gamma(X)-1=\sum_{Z\in\operatorname{down}(X)-X}\Delta\gamma(Z)

and then let 𝒴\mathcal{Y} be just one cyclic flat Y𝒵(M+)Y\in\mathcal{Z}(M^{+}). We can then take out the terms in the sum that are contained within YY.

Δγ(X)1=Zdown(X)XZdown(Y)Δγ(Z)+(Zdown(Y)YΔγ(Z))+Δγ(Y)-\Delta\gamma(X)-1=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(Y)\end{subarray}}\Delta\gamma(Z)+\left(\sum_{Z\in\operatorname{down}(Y)-Y}\Delta\gamma(Z)\right)+\Delta\gamma(Y)

but since eYe\in Y we can use (8) again, replacing the second summation with a negative Δγ(Y)\Delta\gamma(Y) term

Δγ(X)1=(Zdown(X)XZdown(Y)Δγ(Z))Δγ(Y)1+Δγ(Y)-\Delta\gamma(X)-1=\left(\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(Y)\end{subarray}}\Delta\gamma(Z)\right)-\Delta\gamma(Y)-1+\Delta\gamma(Y)

we then cancel to obtain

Δγ(X)=Zdown(X)XZdown(Y)Δγ(Z)-\Delta\gamma(X)=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(Y)\end{subarray}}\Delta\gamma(Z)

which contradicts the fact that 𝒴\mathcal{Y} provides a counterexample. We therefore let |𝒴|=k>1|\mathcal{Y}|=k>1. Let YkY_{k} be a maximal element of 𝒴\mathcal{Y} and note that since e𝒴e\in\land\mathcal{Y} we must have that e(𝒴Yk)e\in\land(\mathcal{Y}-Y_{k}) as well and therefore by our minimality assumption we have

Δγ(X)=Zdown(X)XZdown(𝒴Yk)Δγ(Z)-\Delta\gamma(X)=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(\mathcal{Y}-Y_{k})\end{subarray}}\Delta\gamma(Z)

but once again we can take out the terms in the sum that are in down(Yk)\operatorname{down}(Y_{k}) to get

Δγ(X)=Zdown(X)XZdown(𝒴)Δγ(Z)+(Zdown(X)XZdown(𝒴Yk)Zdown(Yk)YkΔγ(Z))+Δγ(Yk)-\Delta\gamma(X)=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(\mathcal{Y})\end{subarray}}\Delta\gamma(Z)+\left(\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(\mathcal{Y}-Y_{k})\\ Z\in\operatorname{down}(Y_{k})-Y_{k}\end{subarray}}\Delta\gamma(Z)\right)+\Delta\gamma(Y_{k})

however there are various ways to rewrite the range of the second summation term. First note that since YkXY_{k}\subset X we do not need the Zdown(X)XZ\in\operatorname{down}(X)-X condition. Next we construct the collection 𝒴\mathcal{Y}^{\prime} by adding YYkY\land Y_{k} for each Y(𝒴Yk)Y\in(\mathcal{Y}-Y_{k}). We may replace the Zdown(𝒴Yk)Z\notin\operatorname{down}(\mathcal{Y}-Y_{k}) condition with Zdown(𝒴)Z\notin\operatorname{down}(\mathcal{Y}^{\prime}) instead as for each set Y𝒴YkY\in\mathcal{Y}-Y_{k} in order for an element to be excluded from the second sum by YY it would have to be in both down(Y)\operatorname{down}(Y) and down(Yk)\operatorname{down}(Y_{k}), therefore meaning it would have to be in down(YYk)\operatorname{down}(Y\land Y_{k}) and therefore in down(𝒴)\operatorname{down}(\mathcal{Y}^{\prime}). Hence for this particular sum Zdown(𝒴)Z\notin\operatorname{down}(\mathcal{Y}^{\prime}) provides the same restriction as Zdown(𝒴Yk)Z\notin\operatorname{down}(\mathcal{Y}-Y_{k}) does. Hence we can rewrite our equation as

Δγ(X)=Zdown(X)XZdown(𝒴)Δγ(Z)+(Zdown(Yk)YkZdown(𝒴)Δγ(Z))+Δγ(Yk)-\Delta\gamma(X)=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(\mathcal{Y})\end{subarray}}\Delta\gamma(Z)+\left(\sum_{\begin{subarray}{c}Z\in\operatorname{down}(Y_{k})-Y_{k}\\ Z\notin\operatorname{down}(\mathcal{Y}^{\prime})\end{subarray}}\Delta\gamma(Z)\right)+\Delta\gamma(Y_{k})

but then we see that the \land operation is associative and commutative we have that 𝒴=𝒴\land\mathcal{Y}^{\prime}=\land\mathcal{Y} and therefore e𝒴e\in\land\mathcal{Y}^{\prime} since e𝒴e\in\land{\mathcal{Y}}. We also have that eYke\in Y_{k}. Also since YkY_{k} is a maximal element of 𝒴\mathcal{Y} each element Y𝒴Y^{\prime}\in\mathcal{Y}^{\prime} is strictly contained in YkY_{k}. We also have that 𝒴\mathcal{Y}^{\prime} is non-empty since |𝒴|>1|\mathcal{Y}|>1. And finally we have that |𝒴||\mathcal{Y}^{\prime}| is at most k1k-1, hence YkY_{k} and 𝒴\mathcal{Y}^{\prime} fulfill all of our conditions and therefore by our minimality assumption we have

Δγ(X)=(Zdown(X)XZdown(𝒴)Δγ(Z))Δγ(Yk)+Δγ(Yk)-\Delta\gamma(X)=\left(\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(\mathcal{Y})\end{subarray}}\Delta\gamma(Z)\right)-\Delta\gamma(Y_{k})+\Delta\gamma(Y_{k})

which, of course, cancels to give us

Δγ(X)=Zdown(X)XZdown(𝒴)Δγ(Z)-\Delta\gamma(X)=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(\mathcal{Y})\end{subarray}}\Delta\gamma(Z)

contradicting our assumption and therefore proving the result for all kk. ∎

Lemma 20.

Let XX be a cyclic set in M+M^{+} with eXe\in X. Let there be some cyclic flat ZXZ_{X} of M+M^{+} such that ZXXZ_{X}\subset X and Δγ(ZX)\Delta\gamma(Z_{X}) is positive. Let Z0Z1XZ_{0}\lor Z_{1}\subset X for cyclic flats Z0Z_{0} and Z1Z_{1} of M+M^{+}, whenever Z0XZ_{0}\subset X and Z1XZ_{1}\subset X and, both Δγ(Z0)\Delta\gamma(Z_{0}) and Δγ(Z1)\Delta\gamma(Z_{1}) are positive. Then Δγ(X)0\Delta\gamma(X)\geq 0.

Similarly let WW be a cyclic set in M+M^{+} with eWe\in W. Let Z0Z1WZ_{0}\lor Z_{1}\subset W for cyclic flats Z0Z_{0} and Z1Z_{1} of M+M^{+}, whenever Z0WZ_{0}\subset W and Z1WZ_{1}\subset W and, both Δγ(Z0)\Delta\gamma(Z_{0}) and Δγ(Z1)\Delta\gamma(Z_{1}) are negative. Then Δγ(W)0\Delta\gamma(W)\leq 0.

Proof.

We first examine XX. Note that our hypothesis is non-trivial as if XX is not a flat it is possible for Z0Z1Z_{0}\lor Z_{1} to not be contained in XX and even if XX is a cyclic flat we could still have Z0Z1=XZ_{0}\lor Z_{1}=X in which case Z0Z1Z_{0}\lor Z_{1} would not be properly contained in XX as we require.

Let 𝒴\mathcal{Y} be the collection of cyclic flats YY in M+M^{+} such that YXY\subset X and Δγ(Y)>0\Delta\gamma(Y)>0. Since Δγ(Y)0\Delta\gamma(Y)\neq 0 we have from Lemma 18 that eYe\in Y for all Y𝒴Y\in\mathcal{Y}. Note that since there exists some cyclic flat ZXZ_{X} of M+M^{+} such that ZXXZ_{X}\subset X and Δγ(ZX)>0\Delta\gamma(Z_{X})>0 we have that 𝒴\mathcal{Y} is non-empty.

Let YY^{\prime} be some cyclic flat of 𝒴\mathcal{Y} and let 𝒴\mathcal{Y}^{\prime} be the set {YY,Y𝒴Y}\{Y^{\prime}\lor Y,\forall Y\in\mathcal{Y}-Y^{\prime}\} if |𝒴|>1|\mathcal{Y}|>1, otherwise let 𝒴={Y}\mathcal{Y}^{\prime}=\{Y^{\prime}\}. Either way note that since 𝒴\mathcal{Y} is non-empty we have that 𝒴\mathcal{Y}^{\prime} is non-empty as well. We also have that since every cyclic flat of 𝒴\mathcal{Y} contains ee every cyclic flat of 𝒴\mathcal{Y}^{\prime} contains ee as they all contain at least one cyclic flat of 𝒴\mathcal{Y}. Note also that by hypothesis every cyclic flat of 𝒴\mathcal{Y}^{\prime} is strictly contained in XX as they are all either joins of cyclic flats strictly contained in XX with positive Δγ\Delta\gamma values, or simply cyclic flats that are already strictly contained in XX. Finally we have that Y𝒴Y^{\prime}\subseteq\land\mathcal{Y}^{\prime} and therefore e𝒴e\in\land\mathcal{Y}^{\prime} and so by Lemma 19 we have

Δγ(X)=Zdown(X)XZdown(𝒴)Δγ(Z)-\Delta\gamma(X)=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(\mathcal{Y}^{\prime})\end{subarray}}\Delta\gamma(Z)

However, since every cyclic flat of 𝒴\mathcal{Y} is contained within one or more cyclic flats of 𝒴\mathcal{Y}^{\prime} we have that this sum contains no cyclic flats of 𝒴\mathcal{Y}, nor any cyclic flats contained within them. Hence for any ZZ in this sum Δγ(Z)\Delta\gamma(Z) must be nonpositive. Hence all terms in the sum are nonpositive and so

Δγ(X)0-\Delta\gamma(X)\leq 0

which of course means

Δγ(X)0\Delta\gamma(X)\geq 0

as required.

The second result is similar except we do not require the ZXZ_{X} condition. This is because of the -1 term from (8) which makes Δγ(W)0\Delta\gamma(W)\leq 0 when there are no cyclic flats strictly contained in WW with negative Δγ\Delta\gamma values. Let 𝒴\mathcal{Y} be the collection of cyclic flats YY in M+M^{+} such that YWY\subset W and Δγ(Y)<0\Delta\gamma(Y)<0. Since Δγ(Y)0\Delta\gamma(Y)\neq 0 we have from Lemma 18 that eYe\in Y for all Y𝒴Y\in\mathcal{Y}. We have two cases to consider, the first case is when 𝒴\mathcal{Y} is non-empty.

Let YY^{\prime} be some cyclic flat of 𝒴\mathcal{Y} and let 𝒴\mathcal{Y}^{\prime} be the set {YY,Y𝒴Y}\{Y^{\prime}\lor Y,\forall Y\in\mathcal{Y}-Y\} if |𝒴|>1|\mathcal{Y}|>1, otherwise let 𝒴={Y}\mathcal{Y}^{\prime}=\{Y^{\prime}\}. Either way note that since 𝒴\mathcal{Y} is non-empty we have that 𝒴\mathcal{Y}^{\prime} is non-empty as well. We also have that since every cyclic flat of 𝒴\mathcal{Y} contains ee every cyclic flat of 𝒴\mathcal{Y}^{\prime} contains ee as they all contain at least one cyclic flat of 𝒴\mathcal{Y}. Note also that by hypothesis every cyclic flat of 𝒴\mathcal{Y}^{\prime} is strictly contained in WW as they are all either joins of cyclic flats strictly contained in WW with negative Δγ\Delta\gamma values, or simply cyclic flats that are already strictly contained in WW. Finally we have that Y𝒴Y^{\prime}\subseteq\land\mathcal{Y}^{\prime} and therefore e𝒴e\in\land\mathcal{Y}^{\prime} and so by Lemma 19 we have

Δγ(W)=Zdown(X)XZdown(𝒴)Δγ(Z)-\Delta\gamma(W)=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X)-X\\ Z\notin\operatorname{down}(\mathcal{Y}^{\prime})\end{subarray}}\Delta\gamma(Z)

However, since every cyclic flat of 𝒴\mathcal{Y} is contained within one or more cyclic flats of 𝒴\mathcal{Y}^{\prime} we have that this sum contains no cyclic flats of 𝒴\mathcal{Y}, nor any cyclic flats contained within them. Hence for any ZZ in this sum Δγ(Z)\Delta\gamma(Z) must be nonnegative. Hence all terms in the sum are nonnegative and so

Δγ(X)0-\Delta\gamma(X)\geq 0

which of course means

Δγ(X)0\Delta\gamma(X)\leq 0

as required. On the other hand if 𝒴\mathcal{Y} is empty then we have from Lemma 18

Δγ(W)1=Zdown(W)WΔγ(Z)-\Delta\gamma(W)-1=\sum_{Z\in\operatorname{down}(W)-W}\Delta\gamma(Z)

however once again every term in the sum is nonnegative and so

Δγ(W)10-\Delta\gamma(W)-1\geq 0
Δγ(W)0\Delta\gamma(W)\leq 0

as required. ∎

It will be more useful to view Corollary 20 via its contrapositive.

Corollary 21.

Let XX be a cyclic set in M+M^{+} for which Δγ(X)<0\Delta\gamma(X)<0 and there is some cyclic flat ZXZ_{X} of M+M^{+} strictly contained in XX for which Δγ(ZX)>0\Delta\gamma(Z_{X})>0. Then there exists cyclic flats, Z0Z_{0} and Z1Z_{1} of M+M^{+}, both strictly contained in XX for which Δγ(Z0)>0\Delta\gamma(Z_{0})>0 and Δγ(Z1)>0\Delta\gamma(Z_{1})>0 and Z0Z1Z_{0}\lor Z_{1} is not strictly contained in XX.

Similarly let WW be a cyclic set in M+M^{+} for which Δγ(X)>0\Delta\gamma(X)>0. Then there exists cyclic flats, Z0Z_{0} and Z1Z_{1} of M+M^{+}, both strictly contained in WW for which Δγ(Z0)<0\Delta\gamma(Z_{0})<0 and Δγ(Z1)<0\Delta\gamma(Z_{1})<0 and Z0Z1Z_{0}\lor Z_{1} is not strictly contained in WW.

Of course when XX and WW are cyclic flats any join of two cyclic flats that are both strictly contained within them is contained within them and so we obtain another more specific corollary for this case.

Corollary 22.

Let XX be a cyclic flat of M+M^{+} for which Δγ(X)<0\Delta\gamma(X)<0 and there is some cyclic flat ZXZ_{X} of M+M^{+} strictly contained in XX for which Δγ(ZX)<0\Delta\gamma(Z_{X})<0. Then there exists cyclic flats, Z0Z_{0} and Z1Z_{1} of M+M^{+}, both strictly contained in XX for which Δγ(Z0)>0\Delta\gamma(Z_{0})>0 and Δγ(Z1)>0\Delta\gamma(Z_{1})>0 and Z0Z1=XZ_{0}\lor Z_{1}=X.

Similarly let WW be a cyclic flat of M+M^{+} for which Δγ(X)>0\Delta\gamma(X)>0. Then there exists cyclic flats, Z0Z_{0} and Z1Z_{1} of M+M^{+}, both strictly contained in WW for which Δγ(Z0)<0\Delta\gamma(Z_{0})<0 and Δγ(Z1)<0\Delta\gamma(Z_{1})<0 and Z0Z1=WZ_{0}\lor Z_{1}=W.

3.4. Constructing the Algorithm

We now assume that M+M^{+} is a strict gammoid and describe a polynomial-time algorithm that determines whether MM is also a strict gammoid. Recall that M=M+\eM=M^{+}\backslash e. We will do this by first checking whether there are any cyclic flats of MM with negative γM\gamma_{M} values and if there aren’t we will check the γM\gamma_{M} values of all other sets in MM by examining a few important sets. To check the γM\gamma_{M} values of cyclic flats in MM we let first let \mathcal{F} be the set of all cyclic flats, ZZ, of M+M^{+} for which γM+(F)0\gamma_{M^{+}}(F)\neq 0. Note these values must be positive since M+M^{+} is a strict gammoid and also note that by Theorem 9 we can simply examine the closed forward neighbourhoods of our graphical representation to obtain these in polynomial time. Recall that |||\mathcal{F}| is bounded by n=|E(M+)|n=|E(M^{+})| by (4).

Next we let \mathcal{F}^{\prime} be the collection of joins of any two cyclic flats in \mathcal{F}. Note that there are at most n(n1)/2n(n-1)/2 cyclic flats in \mathcal{F}^{\prime} and so there are 𝒪(n2)\mathcal{O}(n^{2}) cyclic flats in \mathcal{F}\cup\mathcal{F}^{\prime}. Finally we let ′′\mathcal{F}^{\prime\prime} be the collection of joins of any two cyclic flats in \mathcal{F}^{\prime}. Note that for similar reasons there are 𝒪(n4)\mathcal{O}(n^{4}) cyclic flats in ′′\mathcal{F}\cup\mathcal{F}^{\prime}\cup\mathcal{F}^{\prime\prime}. Let \mathcal{E} be the collection of cyclic flats ZZ of MM for which there is some F′′F\in\mathcal{F}\cup\mathcal{F}^{\prime}\cup\mathcal{F}^{\prime\prime} such that Z=FeZ=F-e. This means that |||′′||\mathcal{E}|\leq|\mathcal{F}\cup\mathcal{F}^{\prime}\cup\mathcal{F}^{\prime\prime}| and so |||\mathcal{E}| is also of order 𝒪(n4)\mathcal{O}(n^{4}). The cyclic flats in \mathcal{E} are the only cyclic flats that we will be examining, which will allow our algorithm to run in polynomial time. We define a new function η\eta on MM, which works the same as the γM\gamma_{M} function, except it only counts cyclic flats in \mathcal{E}. Formally, this is

η(X)=nM(X)Z𝒵(M)ZXZη(Z)\eta(X)=n_{M}(X)-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M)\\ Z\subset X\\ Z\in\mathcal{E}\end{subarray}}\eta(Z)

where sets that contain no such ZZ have η\eta value equal to their nullity.

Our algorithm will work as follows:

  • For each ZZ\in\mathcal{E} check that η(Z)0\eta(Z)\geq 0.

  • If there exists a ZZ\in\mathcal{E} with η(Z)<0\eta(Z)<0 then MM is not a strict gammoid.

  • Otherwise; let M\mathcal{F}_{M} be the set of cyclic flats of MM with positive γM\gamma_{M} values (which we have obtained at this point by Theorem 23).

  • Check whether there is a strict gammoid MM^{\prime} such that M\mathcal{F}_{M} is the set of cyclic flats of MM^{\prime} with positive γ\gamma values.

  • If MM^{\prime} does not exist then MM is not a strict gammoid.

  • Otherwise; check that rM(Z0Z1)=rM(Z0Z1)r_{M}(Z_{0}\cup Z_{1})=r_{M^{\prime}}(Z_{0}\cup Z_{1}) and clM(Z0Z1)=clM(Z0Z1)cl_{M}(Z_{0}\cup Z_{1})=cl_{M^{\prime}}(Z_{0}\cup Z_{1}) for all Z0,Z1MZ_{0},Z_{1}\in\mathcal{F}_{M}.

  • If there exists Z0Z_{0} and Z1Z_{1} in M\mathcal{F}_{M} such that either rM(Z0Z1)rM(Z0Z1)r_{M}(Z_{0}\cup Z_{1})\neq r_{M^{\prime}}(Z_{0}\cup Z_{1}) or clM(Z0Z1)clM(Z0Z1)cl_{M}(Z_{0}\cup Z_{1})\neq cl_{M^{\prime}}(Z_{0}\cup Z_{1}) then MM is not a strict gammoid.

  • Otherwise; MM is a strict gammoid and M=MM=M^{\prime}.

Since \mathcal{E} has order 𝒪(n4)\mathcal{O}(n^{4}) and checking the η\eta value of any cyclic flat in \mathcal{E} only requires checking the η\eta value of at most every other cyclic flat in \mathcal{E} we have that the first step of the this algorithm takes at most order 𝒪(n8)\mathcal{O}(n^{8}) time. While this is admittedly not very fast this is still polynomial time and is the slowest part of the algorithm.

If we find all the cyclic flats of MM with positive η\eta value, then we have found all cyclic flats of MM with positive γ\gamma values as we show in Theorem 23. We can then use these cyclic flats to attempt to construct a strict gammoid MM^{\prime} as described by Lemma 10. If this construction fails then MM is not a strict gammoid and if MM is a strict gammoid then M=MM=M^{\prime}.

The last step requires checking ranks and closures of unions of the cyclic flats in M\mathcal{F}_{M} but since M\mathcal{F}_{M} is bounded by nn the order of sets to check is 𝒪(n2)\mathcal{O}(n^{2}) and so once again we can perform this step in polynomial time. We now verify that the algorithm will produce the correct answer.

Theorem 23.

If there exists a cyclic flat ZZ of MM with γM(Z)<0\gamma_{M}(Z)<0 then there exists a cyclic flat ZZ^{\prime}\in\mathcal{E} with η(Z)<0\eta(Z^{\prime})<0. If every cyclic flat ZZ of MM has γM(Z)0\gamma_{M}(Z)\geq 0 then for all ZZ^{\prime}\in\mathcal{E} we have γM(Z)=η(Z)\gamma_{M}(Z^{\prime})=\eta(Z^{\prime}) and for all cyclic flats Z′′Z^{\prime\prime} of MM with Z′′Z^{\prime\prime}\notin\mathcal{E} we have γM(Z′′)=0\gamma_{M}(Z^{\prime\prime})=0.

Proof.

If ZZ is a cyclic flat of MM then note that by Lemma 17.1 there is a unique cyclic flat of M+M^{+}, which we will denote as Z+Z^{+} such that Z+e=ZZ^{+}-e=Z. If ZZ\in\mathcal{E} then Z+′′Z^{+}\in\mathcal{F}\cup\mathcal{F}^{\prime}\cup\mathcal{F}^{\prime\prime}.

Claim 23.1.

Let XX be a cyclic flat of MM in \mathcal{E}. Then either η(X)=γM(X)\eta(X)=\gamma_{M}(X) or there exists some cyclic flat YY of MM with YXY\subset X such that γM(Y)<0\gamma_{M}(Y)<0.

Proof.

To see this let XX be a minimal cyclic flat of \mathcal{E} such that η(X)γM(X)\eta(X)\neq\gamma_{M}(X) and such that there does not exist any cyclic flat YY of MM with YXY\subset X such that γM(Y)<0\gamma_{M}(Y)<0. First we examine the two equations for γM(X)\gamma_{M}(X) and η(X)\eta(X). These are

γM(X)=nM(X)Z𝒵(M)ZXγM(Z)\gamma_{M}(X)=n_{M}(X)-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M)\\ Z\subset X\end{subarray}}\gamma_{M}(Z)

and

η(X)=nM(X)Z𝒵(M)ZXZη(Z).\eta(X)=n_{M}(X)-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M)\\ Z\subset X\\ Z\in\mathcal{E}\end{subarray}}\eta(Z).

There are two ways that γ\gamma and η\eta could differ. The first is that there is some XX^{\prime}\in\mathcal{E} with γM(X)η(X)\gamma_{M}(X^{\prime})\neq\eta(X^{\prime}), however, this would contradict the minimality of XX. The second is that there is some ZZ\notin\mathcal{E} with γM(Z)0\gamma_{M}(Z)\neq 0. If neither of these occur then all the terms in both sums must be equal and there are no terms that are in one sum and not the other. Hence there must be some ZZ\notin\mathcal{E} with γM(Z)0\gamma_{M}(Z)\neq 0.

Firstly if γM(Z)<0\gamma_{M}(Z)<0 then we simply set Y=ZY=Z and we are done. Otherwise assume that γM(Z)>0\gamma_{M}(Z)>0. Since ZZ\notin\mathcal{E} we must have that Z+′′Z^{+}\notin\mathcal{F}\cup\mathcal{F}^{\prime}\cup\mathcal{F}^{\prime\prime}. This means Z+Z^{+}\notin\mathcal{F} and so γM+(Z+)=0\gamma_{M^{+}}(Z^{+})=0. Hence Δγ(Z+)>0\Delta\gamma(Z^{+})>0. Therefore, by Corollary 22 there exist cyclic flats Z0Z_{0} and Z1Z_{1} in M+M^{+}, both strictly contained in Z+Z^{+}, such that Δγ(Z0)<0\Delta\gamma(Z_{0})<0 and Δγ(Z1)<0\Delta\gamma(Z_{1})<0 and Z+=Z0Z1Z^{+}=Z_{0}\lor Z_{1}. Then, since Z+Z^{+} is not in \mathcal{F}^{\prime} either, one of Z0Z_{0} or Z1Z_{1} is not in \mathcal{F}. Assume, without loss of generality, that Z0Z_{0}\notin\mathcal{F}. Then γM+(Z0)=0\gamma_{M^{+}}(Z_{0})=0 and so since γM(Z0e)γM+(Z0)=Δγ(Z0)<0\gamma_{M}(Z_{0}-e)-\gamma_{M^{+}}(Z_{0})=\Delta\gamma(Z_{0})<0 we have that γM(Z0e)<0\gamma_{M}(Z_{0}-e)<0. By Lemma 17.5 this means that Z0eZ_{0}-e is a cyclic flat of MM and so we set Y=Z0eY=Z_{0}-e and we are done since Z0eZ+e=ZXZ_{0}-e\subset Z^{+}-e=Z\subset X. ∎

Next we prove the first statement of the theorem. To see this assume first that all η\eta values are nonnegative and let YY be a cyclic flat of MM such that γM(Y)<0\gamma_{M}(Y)<0. We may assume YY is minimal with the property that γM(Y)<0\gamma_{M}(Y)<0. If YY\in\mathcal{E} then by Claim 23.1 and the minimality of YY we have that η(Y)=γM(Y)\eta(Y)=\gamma_{M}(Y), a contradiction since all η\eta values are nonnegative. Hence we assume that YY\notin\mathcal{E}. In this case note that Y+Y^{+}\notin\mathcal{F} and therefore γM+(Y+)=0\gamma_{M^{+}}(Y^{+})=0 meaning that Δγ(Y+)<0\Delta\gamma(Y^{+})<0, that is Δγ(Y+)0\Delta\gamma(Y^{+})\neq 0. Therefore by Lemma 18 we have that eY+e\in Y^{+} and so by Lemma 16 since γM+(Y+)=0\gamma_{M^{+}}(Y^{+})=0 there is some cyclic flat FYF_{Y}\in\mathcal{F} such that FYY+F_{Y}\subset Y^{+} and eFYe\in F_{Y} (where we have strict containment because we know that FYY+F_{Y}\neq Y^{+} since Y+Y^{+}\notin\mathcal{F} and FYF_{Y}\in\mathcal{F}). We use Lemma 19 to get

Δγ(Y+)=Zdown(Y+)Y+Zdown(FY)Δγ(Z)-\Delta\gamma(Y^{+})=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(Y^{+})-Y^{+}\\ Z\notin\operatorname{down}(F_{Y})\end{subarray}}\Delta\gamma(Z)

where since Δγ(Y+)<0\Delta\gamma(Y^{+})<0 there must be at least one ZZ in this sum for which Δγ(Z)>0\Delta\gamma(Z)>0. Hence by Corollary 22 again, there exist cyclic flats Z0Z_{0} and Z1Z_{1} in M+M^{+}, both strictly contained in Y+Y^{+} such that Δγ(Z0)>0\Delta\gamma(Z_{0})>0 and Δγ(Z1)>0\Delta\gamma(Z_{1})>0 and Z0Z1=Y+Z_{0}\lor Z_{1}=Y^{+}. We claim that both Z0Z_{0} and Z1Z_{1} are in \mathcal{F}^{\prime}.

Assume, without loss of generality, that Z0Z_{0}\notin\mathcal{F}^{\prime}. Since Δγ(Z0)>0\Delta\gamma(Z_{0})>0 we have by Corollary 22 that there exist cyclic flats Z2Z_{2} and Z3Z_{3} of M+M^{+} both strictly contained in Z0Z_{0} such that Δγ(Z2)<0\Delta\gamma(Z_{2})<0 and Δγ(Z3)<0\Delta\gamma(Z_{3})<0 and Z2Z3=Z0Z_{2}\lor Z_{3}=Z_{0}. However, since Z0Z_{0}\notin\mathcal{F}^{\prime} it cannot be the join of two elements of \mathcal{F} and so one of Z2Z_{2} or Z3Z_{3} is not in \mathcal{F}. We can assume, without loss of generality, that Z2Z_{2}\notin\mathcal{F}, and hence γM+(Z2)=0\gamma_{M^{+}}(Z_{2})=0. However, since Δγ(Z2)<0\Delta\gamma(Z_{2})<0 this means that γM(Z2e)<0\gamma_{M}(Z_{2}-e)<0. Since Z2eZ0eY+e=YZ_{2}-e\subset Z_{0}-e\subset Y^{+}-e=Y this contradicts the minimality of YY. Hence we see that both Z0Z_{0} and Z1Z_{1} must be in \mathcal{F}^{\prime}.

This means that Y+′′Y^{+}\in\mathcal{F}^{\prime\prime} which means YY\in\mathcal{E} contradicting the fact that YY\notin\mathcal{E}. Hence we see that the algorithm will find negative η\eta values if any exist, otherwise it produces accurate γM\gamma_{M} values for all the sets calculated by Claim 23.1. All that is left to show is that γM(Z)=0\gamma_{M}(Z)=0 for all cyclic flats ZZ\notin\mathcal{E}.

To see this let YY be a minimal cyclic flat of MM such that γM(Y)>0\gamma_{M}(Y)>0 but YY\notin\mathcal{E}. Then Y+Y^{+}\notin\mathcal{F} and so γM+(Y+)=0\gamma_{M^{+}}(Y^{+})=0 meaning Δγ(Y)>0\Delta\gamma(Y)>0 which means that, once again by Corollary 22, there exist cyclic flats Z0Z_{0} and Z1Z_{1} in M+M^{+} such that both Δγ(Z0)<0\Delta\gamma(Z_{0})<0 and Δγ(Z1)<0\Delta\gamma(Z_{1})<0 and Z0Z1=Y+Z_{0}\lor Z_{1}=Y^{+}. Since all γM\gamma_{M} values are nonnegative we know that for any cyclic flat ZZ of M+M^{+} if Δγ(Z)<0\Delta\gamma(Z)<0 we must have γM+(Z)>0\gamma_{M^{+}}(Z)>0. Hence both Z0Z_{0} and Z1Z_{1} are in \mathcal{F} and therefore YY\in\mathcal{F}^{\prime}, a contradiction. Hence we obtain the result. ∎

Theorem 23 verifies that checking the η\eta values of sets in \mathcal{E} is enough to tell us either that MM is not a strict gammoid, or what the γ\gamma values of all cyclic flats in MM are. Since we only checked \mathcal{E} there are at most 𝒪(n4)\mathcal{O}(n^{4}) cyclic flats of MM with positive γM\gamma_{M} values. We first check these against Corollary 12 to ensure that there aren’t too many. Then we can use Lemma 10 to construct MM^{\prime} from M\mathcal{F}_{M}.

If MM^{\prime} does not exist then we halt the algorithm and conclude that MM is not a strict gammoid. If MM is a strict gammoid then by Lemma 10 we have that M=MM=M^{\prime} so all that remains to check is whether or not M=MM=M^{\prime}.

Let the set of cyclic flats in MM with positive γM\gamma_{M} values be \mathcal{F}. Since MM^{\prime} is a strict gammoid the set of cyclic flats with positive γM\gamma_{M^{\prime}} values is precisely the set of closed forward neighbourhoods of DD which is precisely \mathcal{F} by construction. What’s more, each of these neighbourhoods has multiplicity exactly equal to its γM\gamma_{M} value and therefore also equal to its γM\gamma_{M^{\prime}} value by Theorem 9. Therefore for every FF in \mathcal{F} we have that FF is a cyclic flat of both MM and MM^{\prime} and γM(F)=γM(F)>0\gamma_{M}(F)=\gamma_{M^{\prime}}(F)>0. Since all other cyclic flats of MM have γM\gamma_{M} value of 0 by the definition of \mathcal{F} and all other cyclic flats of MM^{\prime} have γM\gamma_{M}^{\prime} value of 0 by Theorem 9 and the fact that MM^{\prime} has no sets with γM\gamma_{M^{\prime}} value less than 0 means that for all sets XX we have

(9) Z𝒵(M):ZXγM(Z)=Z𝒵(M):ZXγM(Z).\sum_{Z\in\mathcal{Z}(M):Z\subset X}\gamma_{M}(Z)=\sum_{Z\in\mathcal{Z}(M^{\prime}):Z\subset X}\gamma_{M}(Z).

So if there exists some XME(M)X_{M}\subseteq E(M) for which γM(XM)γM(XM)\gamma_{M}(X_{M})\neq\gamma_{M^{\prime}}(X_{M}) we must have that nM(XM)nM(XM)n_{M}(X_{M})\neq n_{M^{\prime}}(X_{M}). We could then, of course, naively check the nullities of every set in both MM and MM^{\prime} but this would, of course, be impossible to do in polynomial time. Instead we will locate a special set XX of MM with special properties.

Lemma 24.

If MM is not a strict gammoid but every cyclic flat of MM has nonnegative γM\gamma_{M} value then there exists a set XX of MM with negative γM\gamma_{M} value such that XX contains two cyclic flats Z0Z_{0} and Z1Z_{1} of MM, both with positive γM\gamma_{M} values such that X(Z0Z1)X\subseteq(Z_{0}\lor Z_{1}).

Proof.

We begin by examining the set XMX_{M} which is a set of MM with negative γM\gamma_{M} value. If XMX_{M} is not cyclic then by Lemma 14 since γM(XM)0\gamma_{M}(X_{M})\neq 0 there exists a cyclic set contained in XMX_{M} that also has negative γ\gamma value. Therefore we may assume that XMX_{M} is cyclic. We may therefore assume that XMX_{M} is a maximal cyclic set of MM with a negative γM\gamma_{M} value.

Claim 24.1.

There exists a cyclic flat Ze+Z_{e}^{+} of M+M^{+} such that Ze+XM+eZ_{e}^{+}\subset X_{M}+e and eZe+e\in Z_{e}^{+}.

Proof.

Since eXMe\notin X_{M}, for every cyclic flat, Z+Z^{+} of MM, that is contained in XMX_{M} we have that Δγ(Z+)=0\Delta\gamma(Z^{+})=0 by Lemma 18. Similarly since eXMe\notin X_{M} we have that nM+(XM)=nM(XM)n_{M^{+}}(X_{M})=n_{M}(X_{M}). Therefore

nM+(XM)Z𝒵(M+):ZXMγM+(Z)=nM(XM)Z𝒵(M+):ZXMγM(Ze).n_{M^{+}}(X_{M})-\sum_{Z\in\mathcal{Z}(M^{+}):Z\subset X_{M}}\gamma_{M^{+}}(Z)=n_{M}(X_{M})-\sum_{Z\in\mathcal{Z}(M^{+}):Z\subset X_{M}}\gamma_{M}(Z-e).

However, since γM(XM)<0\gamma_{M}(X_{M})<0 and γM+(XM)0\gamma_{M^{+}}(X_{M})\geq 0 we have that

nM+(XM)Z𝒵(M+):ZXMγM+(Z)nM(XM)Z𝒵(M):ZXMγM(Z).n_{M^{+}}(X_{M})-\sum_{Z\in\mathcal{Z}(M^{+}):Z\subset X_{M}}\gamma_{M^{+}}(Z)\neq n_{M}(X_{M})-\sum_{Z\in\mathcal{Z}(M):Z\subset X_{M}}\gamma_{M}(Z).

So there must be some cyclic flat, Ze𝒵(M)Z_{e}\in\mathcal{Z}(M) that is strictly contained in XMX_{M} in MM but is not in M+M^{+}. This means that Z+e=Ze+Z+e=Z_{e}^{+} must be a cyclic flat of M+M^{+} and therefore we obtain the result. ∎

Since γM+(XM+e)0\gamma_{M^{+}}(X_{M}+e)\geq 0 we have that Δγ(XM+e)<0\Delta\gamma(X_{M}+e)<0. By Claim 24.1 we have that there exists a cyclic flat, Ze+XM+eZ_{e}^{+}\subset X_{M}+e that contains ee which also means that XM+eX_{M}+e is cyclic since XMX_{M} is cyclic. Therefore by Lemma 19 we have

Δγ(XM+e)=Zdown(XM+e)(XM+e)Zdown(Ze+)Δγ(Z).-\Delta\gamma(X_{M}+e)=\sum_{\begin{subarray}{c}Z\in\operatorname{down}(X_{M}+e)-(X_{M}+e)\\ Z\notin\operatorname{down}(Z^{+}_{e})\end{subarray}}\Delta\gamma(Z).

If all the terms in the sum are nonpositive then we contradict Δγ(XM+e)<0\Delta\gamma(X_{M}+e)<0. Hence there exists some cyclic flat ZX+Z_{X}^{+} of M+M^{+} contained in XM+eX_{M}+e such that Δγ(ZX+)>0\Delta\gamma(Z_{X}^{+})>0. But then by Corollary 21 there must exist cyclic flats Z0+Z_{0}^{+} and Z1+Z_{1}^{+} of M+M^{+}, both contained in XM+eX_{M}+e with Δγ(Z0+)>0\Delta\gamma(Z_{0}^{+})>0 and Δγ(Z1+)>0\Delta\gamma(Z_{1}^{+})>0 such that Z0+Z1+Z_{0}^{+}\lor Z_{1}^{+} is not strictly contained in XM+eX_{M}+e.

Since both Δγ(Z0+)\Delta\gamma(Z_{0}^{+}) and Δγ(Z1+)\Delta\gamma(Z_{1}^{+}) are non zero we have that eZ0+e\in Z_{0}^{+} and eZ1+e\in Z_{1}^{+} by Lemma 18 and so we let Z0=Z0+eZ_{0}=Z_{0}^{+}-e and Z1=Z1+eZ_{1}=Z_{1}^{+}-e. Also, since both Δγ(Z0+)\Delta\gamma(Z_{0}^{+}) and Δγ(Z1+)\Delta\gamma(Z_{1}^{+}) are positive and γM+(Z0+)\gamma_{M^{+}}(Z_{0}^{+}) and γM+(Z1+)\gamma_{M^{+}}(Z_{1}^{+}) are nonnegative (since M+M^{+} is a strict gammoid) we see that γM(Z0)\gamma_{M}(Z_{0}) and γM(Z1)\gamma_{M}(Z_{1}) are positive and hence nonzero, meaning they are cyclic flats of MM by Lemma 17.5. Also by Lemma 17.2 we have that (Z0+Z1+)e=Z0Z1(Z_{0}^{+}\lor Z_{1}^{+})-e=Z_{0}\lor Z_{1}. If XM(Z0Z1)X_{M}\subseteq(Z_{0}\lor Z_{1}) then we set XM=XX_{M}=X and we are done so we assume that XM(Z0Z1)X_{M}\not\subseteq(Z_{0}\lor Z_{1}). Note that since (Z0Z1)XM(Z_{0}\lor Z_{1})\not\subset X_{M} there exists some element in Z0Z1Z_{0}\lor Z_{1} that is not in XMX_{M}.

For ease of notation we set Y=Z0Z1Y=Z_{0}\lor Z_{1}. We have that YY is a cyclic flat of MM. Since both Z0Z_{0} and Z1Z_{1} are contained in XMX_{M} we clearly have Z0Z1XMZ_{0}\cup Z_{1}\subseteq X_{M} and therefore since rM(Y)=rM(Z0Z1)r_{M}(Y)=r_{M}(Z_{0}\cup Z_{1}) we have that rM(Y)=rM(YXM)r_{M}(Y)=r_{M}(Y\cap X_{M}). This gives us

nM(Y)nM(XMY)=|Y|rM(Y)|YXM|+rM(YXM)n_{M}(Y)-n_{M}(X_{M}\cap Y)=|Y|-r_{M}(Y)-|Y\cap X_{M}|+r_{M}(Y\cap X_{M})

which implies

(10) nM(Y)nM(XMY)=|YXM|.n_{M}(Y)-n_{M}(X_{M}\cap Y)=|Y-X_{M}|.

Then since rM(Y)=rM(YXM)r_{M}(Y)=r_{M}(Y\cap X_{M}) this means that YclM(XM)Y\in cl_{M}(X_{M}) and therefore rM(YXM)=rM(XM)r_{M}(Y\cup X_{M})=r_{M}(X_{M}) and so we have

nM(XMY)nM(XM)=|XMY|rM(XMY)|XM|+rM(XM)n_{M}(X_{M}\cup Y)-n_{M}(X_{M})=|X_{M}\cup Y|-r_{M}(X_{M}\cup Y)-|X_{M}|+r_{M}(X_{M})
(11) nM(XMY)=|YXM|+nM(XM).n_{M}(X_{M}\cup Y)=|Y-X_{M}|+n_{M}(X_{M}).

We now examine γM(Y)γM(XMY)\gamma_{M}(Y)-\gamma_{M}(X_{M}\cap Y).

γM(Y)γM(XMY)=nM(Y)(Z𝒵(M):ZYγM(Z))nM(XMY)+Z𝒵(M):Z(XMY)γM(Z).\gamma_{M}(Y)-\gamma_{M}(X_{M}\cap Y)=n_{M}(Y)-\left(\sum_{Z\in\mathcal{Z}(M):Z\subset Y}\gamma_{M}(Z)\right)\\ -n_{M}(X_{M}\cap Y)+\sum_{Z\in\mathcal{Z}(M):Z\subset(X_{M}\cap Y)}\gamma_{M}(Z).

We then split the first sum into those terms that are properly contained in XMYX_{M}\cap Y and those that are not.

γM(Y)γM(XMY)=nM(Y)Z𝒵(M):ZYZ(XMY)γM(Z)(Z𝒵(M):Z(XMY)γM(Z))nM(XMY)+Z𝒵(M):Z(XMY)γM(Z).\gamma_{M}(Y)-\gamma_{M}(X_{M}\cap Y)=n_{M}(Y)-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subset Y\\ Z\not\subset(X_{M}\cap Y)\end{subarray}}\gamma_{M}(Z)\\ -\left(\sum_{Z\in\mathcal{Z}(M):Z\subset(X_{M}\cap Y)}\gamma_{M}(Z)\right)-n_{M}(X_{M}\cap Y)+\sum_{Z\in\mathcal{Z}(M):Z\subset(X_{M}\cap Y)}\gamma_{M}(Z).

This allows us to cancel and obtain

γM(Y)γM(XMY)=nM(Y)(Z𝒵(M):ZYZ(XMY)γM(Z))nM(XMY).\gamma_{M}(Y)-\gamma_{M}(X_{M}\cap Y)=n_{M}(Y)-\left(\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subset Y\\ Z\not\subset(X_{M}\cap Y)\end{subarray}}\gamma_{M}(Z)\right)-n_{M}(X_{M}\cap Y).

This rearranges to

Z𝒵(M):ZYZ(XMY)γM(Z)=γM(XMY)+nM(Y)nM(XMY)\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subseteq Y\\ Z\not\subset(X_{M}\cap Y)\end{subarray}}\gamma_{M}(Z)=\gamma_{M}(X_{M}\cap Y)+n_{M}(Y)-n_{M}(X_{M}\cap Y)

where we have added the γM(Y)\gamma_{M}(Y) term to the sum by increasing the range from ZYZ\subset Y to ZYZ\subseteq Y. We now use (10) to obtain

Z𝒵(M):ZYZ(XMY)γM(Z)=γM(XMY)+|YXM|.\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subseteq Y\\ Z\not\subset(X_{M}\cap Y)\end{subarray}}\gamma_{M}(Z)=\gamma_{M}(X_{M}\cap Y)+|Y-X_{M}|.

If γM(XMY)<0\gamma_{M}(X_{M}\cap Y)<0 then since Z0Z_{0} and Z1Z_{1} are both contained in XMYX_{M}\cap Y and YY contains XMYX_{M}\cap Y we may set X=XMYX=X_{M}\cap Y and be done. Hence we may assume that γM(XMY)0\gamma_{M}(X_{M}\cap Y)\geq 0 and so we have

(12) Z𝒵(M):ZYZ(XMY)γM(Z)|YXM|.\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subseteq Y\\ Z\not\subset(X_{M}\cap Y)\end{subarray}}\gamma_{M}(Z)\geq|Y-X_{M}|.

We now examine γM(XMY)\gamma_{M}(X_{M}\cup Y).

γM(XMY)=nM(XMY)Z𝒵(M):Z(XMY)γM(Z).\gamma_{M}(X_{M}\cup Y)=n_{M}(X_{M}\cup Y)-\sum_{Z\in\mathcal{Z}(M):Z\subset(X_{M}\cup Y)}\gamma_{M}(Z).

We split up the sum into terms that are strictly contained in XMX_{M}, the terms that are contained in YY but not in XMX_{M} and all the other terms, to get

γM(XMY)=nM(XMY)Z𝒵(M):ZXMγM(Z)Z𝒵(M):ZYZXMγM(Z)Z𝒵(M):Z(XMY)ZXM:ZYγM(Z)\gamma_{M}(X_{M}\cup Y)=n_{M}(X_{M}\cup Y)-\sum_{Z\in\mathcal{Z}(M):Z\subset X_{M}}\gamma_{M}(Z)\\ -\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subseteq Y\\ Z\not\subset X_{M}\end{subarray}}\gamma_{M}(Z)-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subset(X_{M}\cup Y)\\ Z\not\subset X_{M}:Z\not\subseteq Y\end{subarray}}\gamma_{M}(Z)

where we are including YY in the second sum since YY is a cyclic flat of MM. We now substitute in (11) to get

γM(XMY)=|YXM|+nM(XM)Z𝒵(M):ZXMγM(Z)Z𝒵(M):ZYZXMγM(Z)Z𝒵(M):Z(XMY)ZXM:ZYγM(Z).\gamma_{M}(X_{M}\cup Y)=|Y-X_{M}|+n_{M}(X_{M})-\sum_{Z\in\mathcal{Z}(M):Z\subset X_{M}}\gamma_{M}(Z)-\\ \sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subseteq Y\\ Z\not\subset X_{M}\end{subarray}}\gamma_{M}(Z)-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subset(X_{M}\cup Y)\\ Z\not\subset X_{M}:Z\not\subseteq Y\end{subarray}}\gamma_{M}(Z).

But then the second and third terms on the right hand side simply add to make γM(XM)\gamma_{M}(X_{M}) and so we have

γM(XMY)=γM(XM)+|YXM|Z𝒵(M):ZYZXMγM(Z)Z𝒵(M):Z(XMY)ZXM:ZYγM(Z).\gamma_{M}(X_{M}\cup Y)=\gamma_{M}(X_{M})+|Y-X_{M}|-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subseteq Y\\ Z\not\subset X_{M}\end{subarray}}\gamma_{M}(Z)-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subset(X_{M}\cup Y)\\ Z\not\subset X_{M}:Z\not\subseteq Y\end{subarray}}\gamma_{M}(Z).

However, since the range of the first sum is all the cyclic flats that are in YY but not in XMX_{M} we could equally write it as all the cyclic flats that are in YY but not in XMYX_{M}\cap Y since this would exclude the same cyclic flats. This gives us

γM(XMY)=γM(XM)+|YXM|Z𝒵(M):ZYZ(XMY)γM(Z)Z𝒵(M):Z(XMY)ZXM:ZYγM(Z).\gamma_{M}(X_{M}\cup Y)=\gamma_{M}(X_{M})+|Y-X_{M}|-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subseteq Y\\ Z\not\subset(X_{M}\cap Y)\end{subarray}}\gamma_{M}(Z)-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subset(X_{M}\cup Y)\\ Z\not\subset X_{M}:Z\not\subseteq Y\end{subarray}}\gamma_{M}(Z).

We then use (12) to swap out the first sum for |YXM||Y-X_{M}|

γM(XMY)γM(XM)+|YXM||YXM|Z𝒵(M):Z(XMY)ZXM:ZYγM(Z)\gamma_{M}(X_{M}\cup Y)\leq\gamma_{M}(X_{M})+|Y-X_{M}|-|Y-X_{M}|-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subset(X_{M}\cup Y)\\ Z\not\subset X_{M}:Z\not\subseteq Y\end{subarray}}\gamma_{M}(Z)

which cancels to give

γM(XMY)γM(XM)Z𝒵(M):Z(XMY)ZXM:ZYγM(Z)\gamma_{M}(X_{M}\cup Y)\leq\gamma_{M}(X_{M})-\sum_{\begin{subarray}{c}Z\in\mathcal{Z}(M):Z\subset(X_{M}\cup Y)\\ Z\not\subset X_{M}:Z\not\subseteq Y\end{subarray}}\gamma_{M}(Z)

but every term on the right hand side is negative since all cyclic flats of MM have nonnegative γM\gamma_{M} values and γM(XM)\gamma_{M}(X_{M}) is negative by definition. Hence γM(XMY)<0\gamma_{M}(X_{M}\cup Y)<0 but since XMYX_{M}\cup Y is the union of a cyclic set and a cyclic flat it is a cyclic set of MM with a negative γM\gamma_{M} value, contradicting the maximality of XMX_{M} and therefore we obtain the result. ∎

We can verify in polynomial time whether or not a set such as the one described in Lemma 24 exists or not. To do this we examine every pair of cyclic flats in MM with positive γM\gamma_{M} values and compute the rank of their union and the closure of their union in both MM and MM^{\prime}. If either of these disagree then clearly MMM\neq M^{\prime}. Otherwise those two cyclic flats cannot be the two cyclic flats contained in XX.

To see this let the two cyclic flats be Z0Z_{0} and Z1Z_{1}. If XX is contained in clM(Z0Z1)cl_{M}(Z_{0}\cup Z_{1}) then since (Z0Z1)X(Z_{0}\cup Z_{1})\subseteq X we have that rM(X)=rM(Z0Z1)r_{M}(X)=r_{M}(Z_{0}\cup Z_{1}) and so if

rM(Z0Z1)=rM(Z0Z1)r_{M^{\prime}}(Z_{0}\cup Z_{1})=r_{M}(Z_{0}\cup Z_{1})

and

clM(Z0Z1)=clM(Z0Z1)cl_{M^{\prime}}(Z_{0}\cup Z_{1})=cl_{M}(Z_{0}\cup Z_{1})

then

rM(X)=rM(clM(Z0Z1))=rM(clM(Z0Z1))=rM(X)r_{M^{\prime}}(X)=r_{M^{\prime}}(cl_{M^{\prime}}(Z_{0}\cup Z_{1}))=r_{M}(cl_{M}(Z_{0}\cup Z_{1}))=r_{M}(X)

and so nM(X)=nM(X)n_{M}^{\prime}(X)=n_{M}(X). But then by (9) we would have γM(X)=γM(X)\gamma_{M}(X)=\gamma_{M^{\prime}}(X) but of course since MM^{\prime} is a strict gammoid γM(X)0\gamma_{M^{\prime}}(X)\geq 0 and so XX cannot be the set described by Lemma 24.

Fortunately there are only polynomially many such pairs to check as Z0Z_{0} and Z1Z_{1} are both in \mathcal{F} and the size of \mathcal{F} is bounded by nM(M)n_{M}(M) which is bounded by n=E(M)n=E(M), so there are at most n(n1)/2n(n-1)/2 pairs to check which can be done in polynomial time. Hence we have constructed an algorithm which will verify in polynomial time in the size of M+M^{+} whether or not MM is a strict gammoid. Therefore we provide a proof of Theorem 2 and therefore a proof of Theorem 1.

4. Future Work

Having put Single Element Strict Gammoid Deletion into PP we naturally examine the clear extension of the problem. Once again any strict gammoids appearing in problem instances will be assumed to be represented by directed graphs in the usual way.

Strict Gammoid Deletion
Instance
: A strict gammoid MM and a subset XE(M)X\subseteq E(M).
Question: Is M\XM\backslash X a strict gammoid?

This problem is clearly the dual problem of Transversal Contraction. We may also examine the dual problem of Transversal Dual, which is

Strict Gammoid Dual
Instance
: A strict gammoid MM.
Question: Is MM^{*} a strict gammoid?

A polynomial-time algorithm to solve Strict Gammoid Dual would provide a solution to [DominicProblems, Problem 29] and [jobonotes, Open Problem 6.1] and so is of great interest. We examine how one might use similar methods to ours to obtain such a solution.

Let M=M(D,V(D),S)M=M(D,V(D),S) be a strict gammoid. There exists a polynomial-time algorithm [oxley] that obtains a representation of MM^{*} as a bipartite graph GG. We can turn GG into a representation of a gammoid, MGM_{G}, by directing edges from VV into AA and letting AA be the target set [oxley]. Now, sets of paths that link sets from VV into AA correspond to matchings in GG. Everything we have done so far can be done in polynomial time, all that remains is to determine, hopefully in polynomial time, if MGM_{G} is a strict gammoid.

If we add all vertices in AA to E(MG)E(M_{G}) we will certainly obtain a strict gammoid, MSM_{S}. Then all that remains is to determine whether MS\AM_{S}\backslash A is a strict gammoid. That is, we have reduced our instance of Strict Gammoid Dual to an instance of Strict Gammoid Deletion. Furthermore this instance of Strict Gammoid Deletion has the property that XX, the set we are deleting, is a basis of MSM_{S}. In fact XX is a fundamental basis of MSM_{S}. That is, a basis whose intersection with any cyclic flat spans the cyclic flat.

Therefore in order to obtain a polynomial time algorithm for Strict Gammoid Dual and therefore for Transversal Dual it suffices to find a polynomial time algorithm for Strict Gammoid Deletion in the case when XX is a fundamental basis. This problem shares certain similarities with the problem we have just solved as we outline below. For the proofs of these results see the author’s thesis.

Let MBM^{B} be a strict gammoid with fundamental basis BB. Now let M=MB\BM=M^{B}\backslash B. We once more define f:𝒵(MB)2E(M)f:\mathcal{Z}(M^{B})\rightarrow 2^{E(M)} as f(Z)=ZBf(Z)=Z-B. We examine the new version of Lemma 17

Lemma 25.

The function ff has the following properties for all Z0,Z1𝒵(MB)Z_{0},Z_{1}\in\mathcal{Z}(M^{B}) and Z𝒵(M)Z\in\mathcal{Z}(M):

  1. 25.1.

    If f(Z0)=f(Z1)f(Z_{0})=f(Z_{1}) then Z0=Z1Z_{0}=Z_{1}.

  2. 25.2.

    clM(f(Z0)f(Z1))f(clMB(Z0Z1)cl_{M}(f(Z_{0})\cup f(Z_{1}))\subseteq f(cl_{M^{B}}(Z_{0}\cup Z_{1}).

  3. 25.3.

    There exists some Z𝒵(MB)Z^{\prime}\in\mathcal{Z}(M^{B}) such that f(Z)=Zf(Z^{\prime})=Z.

  4. 25.4.

    Either f(Z0)𝒵(M)f(Z_{0})\in\mathcal{Z}(M) or γM(f(Z0))=0\gamma_{M}(f(Z_{0}))=0.

We also have a new version of Lemma 18

Lemma 26.

Let XX be a cyclic flat in MBM^{B}. Then

γMB(X)γM(f(X))rM(f(X))=Z𝒵(MB):ZX(γM(f(Z))γMB(Z)).\gamma_{M^{B}}(X)-\gamma_{M}(f(X))-r_{M}(f(X))=\sum_{Z\in\mathcal{Z}(M^{B}):Z\subset X}(\gamma_{M}(f(Z))-\gamma_{M^{B}}(Z)).

As before we can rewrite this as

Δγ(X)rM(f(X))=Zdown(X)XΔγ(Z).-\Delta\gamma(X)-r_{M}(f(X))=\sum_{Z\in\operatorname{down}(X)-X}\Delta\gamma(Z).

Unfortunately the next step, where we take elements out of down(X)X\operatorname{down}(X)-X and cancel things out does not appear to work in this case. What seems to happen is that terms regarding the ranks of cyclic flats and their intersections appear which cannot be cancelled out so easily. However, we are still hopeful that a solution to this problem may exist, or another algorithm may exist.

5. Conclusion

In this paper we have presented two important open problems in Transversal Contraction and Transversal Dual. We have then obtained a polynomial-time algorithm that solves Transversal Contraction in the case of contracting a single element.

It is difficult to be sure whether or not these techniques can be extended to the multiple element case. Unfortunately they do not extend directly and if the wrong elements are deleted even Lemma 17 ceases to hold which means that different cyclic flats of the original matroid can map to the same cyclic flat in the new matroid. This would likely be a problem for any technique similar to ours as then having the sums of Δγ\Delta\gamma terms line up would be more difficult.

In the case of simply deleting a fundamental basis things seem slightly more hopeful, however, as in this case Lemma 17 mostly holds in the form of Lemma 25 and Lemma 18 similarly holds in a slightly different form, that of Lemma 26. While the other results do not hold we are nevertheless optimistic that either different versions of these results exist or that the problem will prove to be tractable using some other technique. Therefore we make the following conjecture:

Conjecture 27.

There exists a polynomial time algorithm that solves Strict Gammoid Deletion in the case when XX is a fundamental basis. If this algorithm obtains a positive answer then it also provides a strict gammoid representation of M\XM\backslash X.

As explained in Section 5 this means that we are also making the following conjecture:

Conjecture 28.

There exists a polynomial time algorithm that solves Transversal Dual. If this algorithm obtains a positive answer then it also provides a transversal representation of MM^{*}.

References