Contracting a Single Element in a Transversal Matroid
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 and a subset .
Question: Is transversal?
Transversal Dual
Instance: A transversal matroid .
Question: Is 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 consists of a single element.
Single Element Transversal Contraction
Instance: A transversal matroid and an element .
Question: Is transversal?
We provide a polynomial-time algorithm that solves this problem and, if 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 .
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 . We assume that is not a loop of as then which is trivially transversal. We are able to check, in polynomial time, if a set is a basis of by simply checking if is a basis of . Similarly for any transversal matroid, , with a transversal representation, we can check if is a basis of . This means that if we are given a transversal matroid, , on the same ground set as 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, , such that for all we have that is not a basis of exactly one of or . This alternation of quantifiers puts Transversal Contraction into [npcompleteness]. Whether the problem is in fact in , or perhaps even in , 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 and an element .
Question: Is 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 .
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, , there are distinct elements and such that neither nor is transversal, but is transversal. Note that, in this case, our algorithm can determine that and are not transversal, but then cannot be used to determine anything about .
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, , is a basis, , of such that for any cyclic flat of we have that spans . As we explain in Section 4, if a polynomial-time algorithm existed that could solve Transversal Contraction in polynomial time in the case when is a fundamental basis of , 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 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 is a set we let be . We use to denote the set . For sets and we use to denote that is a subset of and to denote that is a proper subset of . If is a matroid and is a subset of we use to represent , that is, restricted to .
2.2. Transversals
Let be a finite set. We define a set system to be along with a multiset of subsets of where . Thus the same set may appear multiple times in , indexed by different elements of .
A set system can be represented by a bipartite graph whose vertex set is ; an edge connects with if and only if . Similarly each bipartite graph can be seen as representing a set system.
A transversal of the set system is a subset of for which there is a bijection with for all . We refer to the bijection, , 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 has a transversal if and only if for all ,
If is a transversal of set system and is a proper subset of then we say is a partial transversal of the system .
2.3. Lattices
A lattice is a set, , with a partial order such that any two elements, and have a unique least upper bound, called the join of and , denoted , and a unique greatest lower bound, called the meet of and , denoted . We will only consider finite lattices. Such a lattice will have both a minimum element, and a maximum element .
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 be a set system where all sets in are distinct and let be an integer-valued function on . There is a matroid for which is the collection of cyclic flats and is the rank function restricted to the sets in if and only if
-
Z1
is a lattice under inclusion.
-
Z2
.
-
Z3
for all sets with .
-
Z4
For all sets ,
We let be the collection of all cyclic flats of a matroid . We will also define the nullity function, as . 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, , if and only if its complement is a cyclic flat of, , the dual of . We will also make use of the following equation for the dual rank function [oxley]:
(1) |
Now let be a set system and let be the set of partial transversals on . Then is a matroid [jobonotes]. We call any matroid arising in this way a transversal matroid. We define an important function called the function recursively on all subsets of a matroid
(2) |
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, , is transversal if and only if for all .
Next let be a directed graph with and each being subsets of , we do not require that and are disjoint. We say that a set is linked into if there exist disjoint directed paths each starting at a vertex in and ending at a vertex in . The set system where is the collection of sets with linkings into is a matroid [oxley]. We denote this particular matroid as and we call any matroid arising in this way a gammoid. If is a gammoid such that for some directed graph then we say that 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 be a set of characters. We call a sequence of characters from a word. We call a set of words, , 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, , where is the size of the word and 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 . A language, , is in if there exists an algorithm which will determine that a word belongs to in polynomial time.
The next level of the polynomial hierarchy is best viewed through an example. Let be the language of satisfiable boolean formulae. We let be the language consisting of words of the form where is a boolean formula and is an assignment of the variables of such that evaluates to true. Clearly a word, , belongs to if and only if there exists a word, , belonging to . A polynomial-time algorithm for determining whether a word belongs to does not exist as far as we know, however, a polynomial-time algorithm for determining whether a word belongs to does exist, one simply needs to evaluate with to ensure that evaluates to true.
This example gives us our definition of the next set of the polynomial hierarchy we are examining, , also known as NP. A language, , of words, , is in if and only if there exists some language, , of pairs, , where a word, is in if and only if there exists some such that . Therefore, since is in we see that is in .
Of course “there exists” is not the only quantifier we can consider. Our next example will be the language of tautological formulae, , that is, those logical formulae for which every assignment of boolean variables results in the formula evaluating to true. Here we let be the language consisting of words of the form where is a logical formula and can be anything except an assignment of variables to such that evaluates to false. Clearly a word, , belongs to if and only if “for all” we have that . Once again we have that is in but there exists no known polynomial-time algorithm to verify that a formula belongs to .
This example gives us our definition of the next set that we are examining, (or co-NP), which can be thought of as being at the same level of the hierarchy as but distinct from it. A language, , of words, , is in if and only if there exists some language, , of pairs , where a word, is in if and only if for all we have that . Therefore, since is in we see that is in .
We can construct further levels of the polynomial hierarchy by alternating quantifiers. For our purposes we need only construct one more set, . A language, , of words, , is in if and only if there exists some language, , of pairs, , where a word belongs to if and only if there exists a such that .
We will now show that both Transversal Contraction and Transversal Dual are in . To see this we first have the fact that if given the associated bipartite graph for a set system , we may determine whether a subset of is a transversal or not in polynomial time [oxley].
We first examine Transversal Contraction. Let be a transversal matroid on the same ground set as for which we have the transversal representation. Let be the language of triples of the form where can be anything except a set which is a basis in one of or but not the other. Since we can check in polynomial time if is a basis in or we have that .
Now let be the language of pairs of the form where . We have that a word, is in if and only if for all we have that . Therefore is in .
Finally we have the language, , with words of the form where is a transversal matroid. We see that determining whether a word is in is equivalent to solving Transversal Contraction. A word, , is in if and only if there exists some transversal matroid such that , that is if . Since this means that .
For Transversal Dual the argument is the same except that instead of we use . That is, for a given transversal matroid with representation, the language of triples of the form where is not a basis of only one of or , is in . Therefore, the language of pairs of the form where , is in . Therefore, the language of words, , for which an exists such that , is in .
This means that determining if a dual or minor of a transversal matroid is also transversal is in , even if we are only contracting a single element. One might suspect that should be at least in given Equation 2, as all one has to do to verify that is not a transversal matroid is to find a set, , for which , however, even if such an is found there could be exponentially many cyclic flats that strictly contain and so verifying the value of in polynomial time is likely to require some other technique, leaving the problem in .
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
We can use (1) to get
We may cancel the terms and combine the cardinality terms
We wish to replace with in the range of the summation. To do this note that if then , this gives us
The first two terms in the sum are of course the nullity of which is defined as , while in the summation term it would help if we just examined directly. This is fortunately, quite easy, as the cyclic flats of are exactly the complements of cyclic flats of , hence we have
We now relable to be and then we have
Now we define a new function which is simply , we can then replace both of our terms as follows
(3) |
and so we obtain our function. Since the function checks the same sets as the function we obtain the following Corollary.
Corollary 7.
A matroid, , is co-transversal if and only if for all .
Combining this result with Theorem 6 implies the following:
Corollary 8.
A matroid, , is a strict gammoid if and only if for all .
The proof of Theorem 5, which can be found in [jobonotes], takes the cyclic flats with nonzero 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 is a strict gammoid we call a representation of . We say that a representation is maximal if is not a representation of for any arc . If is a vertex of then the set of vertices, for which the arc is called the forward neighbourhood of , denoted . The closed forward neighbourhood of , denoted , is . If is a set of vertices of then the set is the set of vertices, such that .
Theorem 9.
Let be a maximal representation of a strict gammoid, . Let be a subset of . Then is a closed forward neighbourhood of if and only if is a cyclic flat of with nonzero value and .
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 values of cyclic flats with nonzero values from the maximal directed graph representation. Similarly if we have these particular 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 be any matroid and let be the collection of cyclic flats of with positive values. There is a polynomial-time algorithm that either constructs a maximal representation of a strict gammoid, , with and for all or verifies that no such strict gammoid exists. If is a strict gammoid then .
Note that if is not a strict gammoid, may still exist, in which case is not equal to . This will cause difficulties for our algorithm as we will construct such an and then have to verify that , however, we are able to do so in polynomial time.
Since any representation obtained from Lemma 10 has vertices there are at most 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 values and their values. Therefore we use Theorem 9 to justify viewing strict gammoids by their collections of cyclic flats with nonzero 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 be a representation of a strict gammoid . There exists an algorithm which obtains a maximal representation for in 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 values.
Corollary 12.
Let be a strict gammoid. Then
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 be a subset of a matroid, and let be the set of coloops of . Then is the unique maximal cyclic set contained in and .
Furthermore if is a flat then is a cyclic flat.
Proof.
Removing from decreases the size and the rank of by the same amount so we see that . If is closed and since adding any elements from would increase the rank of we see that and finally since contains no coloops is a cyclic flat.
Also any other maximal cyclic set could not contain any elements in since they are coloops of and therefore would be contained in , hence and therefore is unique. ∎
We can use Proposition 13 to see that in a strict gammoid, , we have
(4) |
Which we can see by letting be the maximum cyclic flat contained in described by Proposition 13, then
but by Proposition 13 we see that and so rearranging gives the result. This gives another proof of Corollary 12. Next we have two results about the function that we will use later.
Lemma 14.
Let be a non-cyclic set in any matroid and let be the set of coloops of . If is not a cyclic flat then , and if is a cyclic flat then .
Proof.
First assume that is not a cyclic flat. Then, since no cyclic flats in can contain elements of we have that the collection of cyclic flats strictly contained in is the same as the collection of cyclic flats strictly contained in . Therefore
On the other hand if is a cyclic flat then the collection of cyclic flats strictly contained in , that is , contains one cyclic flat more than the collection of cyclic flats strictly contained in , namely, is a cyclic flat strictly contained in but not in . This means that
this gives us
as required. ∎
Note that if in Lemma 14 is a flat then we have from Proposition 13 that will be a cyclic flat and so we obtain the following corollary:
Corollary 15.
Let be a non-cyclic flat in any matroid. Then .
Lemma 16.
Let be a flat in a strict gammoid. Then for every such that is not a coloop of , there is some cyclic flat such that and .
Proof.
Let be an element of and let there be no cyclic flat such that and . Clearly we have that if is a cyclic flat since . By the definition of we have
If is cyclic then we can rearrange this as follows:
(5) |
If is not cyclic then by Proposition 13 there exists a unique maximal cyclic flat and . Since is unique and maximal we see that all cyclic flats contained in are contained in , this gives us
Therefore (5) still holds even though is not cyclic. But since is not a coloop of we have that and so
(6) |
We now examine the sum of values of cyclic flats contained in . If is not a cyclic flat it is not in the sum and if it is a cyclic flat then it contains and so must have 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 that contains must have value of zero and so we can remove all of these cyclic flats from the sum as well, leaving only cyclic flats contained in .
(7) |
where we do not need for the last sum because if such a cyclic flat existed it would clearly contain in its closure. We now examine the value of to get
and by (6) this is
substituting in (5) gives us
then we use (7) to get
cancelling gives
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 and are cyclic flats then their join, , is the closure of their union, and their meet, 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 we define to be and to be . 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 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 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 be a matroid with , let . We obtain a function which is defined as . Note that may or may not be a cyclic flat in . We now prove the following properties about .
Lemma 17.
Proof.
For the first result note that if and then the symmetric difference of and would be the singleton element which is impossible for cyclic flats [oxley].
For the second result note that since and are both cyclic flats in we have that is not a coloop of either or and therefore clearly isn’t a coloop of . Hence . Hence . Which means that
Since is a cyclic flat of we can apply to it to get
However, since we have that and therefore we obtain the desired equality.
For the third result; any element, , in that is not in must be in a circuit, of , contained in . Any circuit of is also a circuit of and so is not a coloop of and therefore also not a coloop of . Hence and therefore also in as required.
If is cyclic in then any element must be contained in a circuit in that is contained in . Since we see that . Since we see that is in both and . Hence cannot be in and so as required.
For the fourth result we find by taking . Since every element in must complete a circuit with elements in that element would complete that same circuit with those elements in and therefore the only element that can be in is . Hence .
For the last result we have that is a flat of from [oxley, Proposition 3.3.7(ii)] and therefore the result follows from Corollary 15. ∎
Let be the lattice of cyclic flats of and let be the lattice of cyclic flats of . Lemma 17 tells us that is almost an isomorphism from and . The ‘almost’ coming from the fact that sometimes sends cyclic flats to sets that are not cyclic flats and we have rather than . We will use this near-isomorphic structure to obtain the results we need.
Lemma 18.
Let be a cyclic set in such that . Then
On the other hand if and is a flat of then .
Proof.
To see the first result we begin with the following equation derived from the definition of the function:
But since and is cyclic in we see that is not a coloop of , hence but of course and so and therefore . Hence we have
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 to . Obviously these terms are not necessarily cyclic flats of so the terms of the sum will become .
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 .
We are changing two parts to this range. First we are expanding from looking at cyclic flats of to cyclic flats of . In doing so we may add terms which are not cyclic flats of . However, by Lemma 17.5 all of these will have value of 0 and so adding them does not change the sum.
We are also expanding our range from to . The only new subset of that this change could potentially give us is itself. However since is a cyclic set of we must have that and so is not a cyclic flat of , therefore we are not adding to the range of the sum.
This means that all the terms we are adding have values of 0 and so do not change the sum, this allows us to obtain.
as required. For the second result note that for any set we have that since no elements have been removed from . Similarly, for any flat in we have that is still a flat in [oxley] and for any cyclic flat in we cannot have as since is cyclic and therefore would be in , contradicting the fact that is a flat that does not contain .
Hence all cyclic flats in are the same in both and and all have the same nullities, as does itself. Hence . ∎
To simplify notation we will use to mean for any . Also for a collection of sets we will use to mean the collection of cyclic flats of that are each contained in at least one of the sets . Note that all cyclic flats are contained in . If consists of a single set we simplify notation by writing instead of . This allows us to rewrite the equation from Lemma 18 as
(8) |
We use this notation for the next results:
Lemma 19.
Let be a cyclic set in with . Let be a non-empty collection of cyclic flats in , each properly contained in such that . Then
Proof.
We prove this by contradiction. Assume that the result is false and that we have chosen , , , and amongst all counterexamples so that is as small as possible. Since is non-empty this means that we first examine what happens when . To do this we start with (8)
and then let be just one cyclic flat . We can then take out the terms in the sum that are contained within .
but since we can use (8) again, replacing the second summation with a negative term
we then cancel to obtain
which contradicts the fact that provides a counterexample. We therefore let . Let be a maximal element of and note that since we must have that as well and therefore by our minimality assumption we have
but once again we can take out the terms in the sum that are in to get
however there are various ways to rewrite the range of the second summation term. First note that since we do not need the condition. Next we construct the collection by adding for each . We may replace the condition with instead as for each set in order for an element to be excluded from the second sum by it would have to be in both and , therefore meaning it would have to be in and therefore in . Hence for this particular sum provides the same restriction as does. Hence we can rewrite our equation as
but then we see that the operation is associative and commutative we have that and therefore since . We also have that . Also since is a maximal element of each element is strictly contained in . We also have that is non-empty since . And finally we have that is at most , hence and fulfill all of our conditions and therefore by our minimality assumption we have
which, of course, cancels to give us
contradicting our assumption and therefore proving the result for all . ∎
Lemma 20.
Let be a cyclic set in with . Let there be some cyclic flat of such that and is positive. Let for cyclic flats and of , whenever and and, both and are positive. Then .
Similarly let be a cyclic set in with . Let for cyclic flats and of , whenever and and, both and are negative. Then .
Proof.
We first examine . Note that our hypothesis is non-trivial as if is not a flat it is possible for to not be contained in and even if is a cyclic flat we could still have in which case would not be properly contained in as we require.
Let be the collection of cyclic flats in such that and . Since we have from Lemma 18 that for all . Note that since there exists some cyclic flat of such that and we have that is non-empty.
Let be some cyclic flat of and let be the set if , otherwise let . Either way note that since is non-empty we have that is non-empty as well. We also have that since every cyclic flat of contains every cyclic flat of contains as they all contain at least one cyclic flat of . Note also that by hypothesis every cyclic flat of is strictly contained in as they are all either joins of cyclic flats strictly contained in with positive values, or simply cyclic flats that are already strictly contained in . Finally we have that and therefore and so by Lemma 19 we have
However, since every cyclic flat of is contained within one or more cyclic flats of we have that this sum contains no cyclic flats of , nor any cyclic flats contained within them. Hence for any in this sum must be nonpositive. Hence all terms in the sum are nonpositive and so
which of course means
as required.
The second result is similar except we do not require the condition. This is because of the -1 term from (8) which makes when there are no cyclic flats strictly contained in with negative values. Let be the collection of cyclic flats in such that and . Since we have from Lemma 18 that for all . We have two cases to consider, the first case is when is non-empty.
Let be some cyclic flat of and let be the set if , otherwise let . Either way note that since is non-empty we have that is non-empty as well. We also have that since every cyclic flat of contains every cyclic flat of contains as they all contain at least one cyclic flat of . Note also that by hypothesis every cyclic flat of is strictly contained in as they are all either joins of cyclic flats strictly contained in with negative values, or simply cyclic flats that are already strictly contained in . Finally we have that and therefore and so by Lemma 19 we have
However, since every cyclic flat of is contained within one or more cyclic flats of we have that this sum contains no cyclic flats of , nor any cyclic flats contained within them. Hence for any in this sum must be nonnegative. Hence all terms in the sum are nonnegative and so
which of course means
as required. On the other hand if is empty then we have from Lemma 18
however once again every term in the sum is nonnegative and so
as required. ∎
It will be more useful to view Corollary 20 via its contrapositive.
Corollary 21.
Let be a cyclic set in for which and there is some cyclic flat of strictly contained in for which . Then there exists cyclic flats, and of , both strictly contained in for which and and is not strictly contained in .
Similarly let be a cyclic set in for which . Then there exists cyclic flats, and of , both strictly contained in for which and and is not strictly contained in .
Of course when and 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 be a cyclic flat of for which and there is some cyclic flat of strictly contained in for which . Then there exists cyclic flats, and of , both strictly contained in for which and and .
Similarly let be a cyclic flat of for which . Then there exists cyclic flats, and of , both strictly contained in for which and and .
3.4. Constructing the Algorithm
We now assume that is a strict gammoid and describe a polynomial-time algorithm that determines whether is also a strict gammoid. Recall that . We will do this by first checking whether there are any cyclic flats of with negative values and if there aren’t we will check the values of all other sets in by examining a few important sets. To check the values of cyclic flats in we let first let be the set of all cyclic flats, , of for which . Note these values must be positive since 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 is bounded by by (4).
Next we let be the collection of joins of any two cyclic flats in . Note that there are at most cyclic flats in and so there are cyclic flats in . Finally we let be the collection of joins of any two cyclic flats in . Note that for similar reasons there are cyclic flats in . Let be the collection of cyclic flats of for which there is some such that . This means that and so is also of order . The cyclic flats in 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 on , which works the same as the function, except it only counts cyclic flats in . Formally, this is
where sets that contain no such have value equal to their nullity.
Our algorithm will work as follows:
-
•
For each check that .
-
•
If there exists a with then is not a strict gammoid.
-
•
Otherwise; let be the set of cyclic flats of with positive values (which we have obtained at this point by Theorem 23).
-
•
Check whether there is a strict gammoid such that is the set of cyclic flats of with positive values.
-
•
If does not exist then is not a strict gammoid.
-
•
Otherwise; check that and for all .
-
•
If there exists and in such that either or then is not a strict gammoid.
-
•
Otherwise; is a strict gammoid and .
Since has order and checking the value of any cyclic flat in only requires checking the value of at most every other cyclic flat in we have that the first step of the this algorithm takes at most order 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 with positive value, then we have found all cyclic flats of with positive values as we show in Theorem 23. We can then use these cyclic flats to attempt to construct a strict gammoid as described by Lemma 10. If this construction fails then is not a strict gammoid and if is a strict gammoid then .
The last step requires checking ranks and closures of unions of the cyclic flats in but since is bounded by the order of sets to check is 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 of with then there exists a cyclic flat with . If every cyclic flat of has then for all we have and for all cyclic flats of with we have .
Proof.
If is a cyclic flat of then note that by Lemma 17.1 there is a unique cyclic flat of , which we will denote as such that . If then .
Claim 23.1.
Let be a cyclic flat of in . Then either or there exists some cyclic flat of with such that .
Proof.
To see this let be a minimal cyclic flat of such that and such that there does not exist any cyclic flat of with such that . First we examine the two equations for and . These are
and
There are two ways that and could differ. The first is that there is some with , however, this would contradict the minimality of . The second is that there is some with . 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 with .
Firstly if then we simply set and we are done. Otherwise assume that . Since we must have that . This means and so . Hence . Therefore, by Corollary 22 there exist cyclic flats and in , both strictly contained in , such that and and . Then, since is not in either, one of or is not in . Assume, without loss of generality, that . Then and so since we have that . By Lemma 17.5 this means that is a cyclic flat of and so we set and we are done since . ∎
Next we prove the first statement of the theorem. To see this assume first that all values are nonnegative and let be a cyclic flat of such that . We may assume is minimal with the property that . If then by Claim 23.1 and the minimality of we have that , a contradiction since all values are nonnegative. Hence we assume that . In this case note that and therefore meaning that , that is . Therefore by Lemma 18 we have that and so by Lemma 16 since there is some cyclic flat such that and (where we have strict containment because we know that since and ). We use Lemma 19 to get
where since there must be at least one in this sum for which . Hence by Corollary 22 again, there exist cyclic flats and in , both strictly contained in such that and and . We claim that both and are in .
Assume, without loss of generality, that . Since we have by Corollary 22 that there exist cyclic flats and of both strictly contained in such that and and . However, since it cannot be the join of two elements of and so one of or is not in . We can assume, without loss of generality, that , and hence . However, since this means that . Since this contradicts the minimality of . Hence we see that both and must be in .
This means that which means contradicting the fact that . Hence we see that the algorithm will find negative values if any exist, otherwise it produces accurate values for all the sets calculated by Claim 23.1. All that is left to show is that for all cyclic flats .
To see this let be a minimal cyclic flat of such that but . Then and so meaning which means that, once again by Corollary 22, there exist cyclic flats and in such that both and and . Since all values are nonnegative we know that for any cyclic flat of if we must have . Hence both and are in and therefore , a contradiction. Hence we obtain the result. ∎
Theorem 23 verifies that checking the values of sets in is enough to tell us either that is not a strict gammoid, or what the values of all cyclic flats in are. Since we only checked there are at most cyclic flats of with positive values. We first check these against Corollary 12 to ensure that there aren’t too many. Then we can use Lemma 10 to construct from .
If does not exist then we halt the algorithm and conclude that is not a strict gammoid. If is a strict gammoid then by Lemma 10 we have that so all that remains to check is whether or not .
Let the set of cyclic flats in with positive values be . Since is a strict gammoid the set of cyclic flats with positive values is precisely the set of closed forward neighbourhoods of which is precisely by construction. What’s more, each of these neighbourhoods has multiplicity exactly equal to its value and therefore also equal to its value by Theorem 9. Therefore for every in we have that is a cyclic flat of both and and . Since all other cyclic flats of have value of 0 by the definition of and all other cyclic flats of have value of 0 by Theorem 9 and the fact that has no sets with value less than 0 means that for all sets we have
(9) |
So if there exists some for which we must have that . We could then, of course, naively check the nullities of every set in both and but this would, of course, be impossible to do in polynomial time. Instead we will locate a special set of with special properties.
Lemma 24.
If is not a strict gammoid but every cyclic flat of has nonnegative value then there exists a set of with negative value such that contains two cyclic flats and of , both with positive values such that .
Proof.
We begin by examining the set which is a set of with negative value. If is not cyclic then by Lemma 14 since there exists a cyclic set contained in that also has negative value. Therefore we may assume that is cyclic. We may therefore assume that is a maximal cyclic set of with a negative value.
Claim 24.1.
There exists a cyclic flat of such that and .
Proof.
Since , for every cyclic flat, of , that is contained in we have that by Lemma 18. Similarly since we have that . Therefore
However, since and we have that
So there must be some cyclic flat, that is strictly contained in in but is not in . This means that must be a cyclic flat of and therefore we obtain the result. ∎
Since we have that . By Claim 24.1 we have that there exists a cyclic flat, that contains which also means that is cyclic since is cyclic. Therefore by Lemma 19 we have
If all the terms in the sum are nonpositive then we contradict . Hence there exists some cyclic flat of contained in such that . But then by Corollary 21 there must exist cyclic flats and of , both contained in with and such that is not strictly contained in .
Since both and are non zero we have that and by Lemma 18 and so we let and . Also, since both and are positive and and are nonnegative (since is a strict gammoid) we see that and are positive and hence nonzero, meaning they are cyclic flats of by Lemma 17.5. Also by Lemma 17.2 we have that . If then we set and we are done so we assume that . Note that since there exists some element in that is not in .
For ease of notation we set . We have that is a cyclic flat of . Since both and are contained in we clearly have and therefore since we have that . This gives us
which implies
(10) |
Then since this means that and therefore and so we have
(11) |
We now examine .
We then split the first sum into those terms that are properly contained in and those that are not.
This allows us to cancel and obtain
This rearranges to
where we have added the term to the sum by increasing the range from to . We now use (10) to obtain
If then since and are both contained in and contains we may set and be done. Hence we may assume that and so we have
(12) |
We now examine .
We split up the sum into terms that are strictly contained in , the terms that are contained in but not in and all the other terms, to get
where we are including in the second sum since is a cyclic flat of . We now substitute in (11) to get
But then the second and third terms on the right hand side simply add to make and so we have
However, since the range of the first sum is all the cyclic flats that are in but not in we could equally write it as all the cyclic flats that are in but not in since this would exclude the same cyclic flats. This gives us
We then use (12) to swap out the first sum for
which cancels to give
but every term on the right hand side is negative since all cyclic flats of have nonnegative values and is negative by definition. Hence but since is the union of a cyclic set and a cyclic flat it is a cyclic set of with a negative value, contradicting the maximality of 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 with positive values and compute the rank of their union and the closure of their union in both and . If either of these disagree then clearly . Otherwise those two cyclic flats cannot be the two cyclic flats contained in .
To see this let the two cyclic flats be and . If is contained in then since we have that and so if
and
then
and so . But then by (9) we would have but of course since is a strict gammoid and so cannot be the set described by Lemma 24.
Fortunately there are only polynomially many such pairs to check as and are both in and the size of is bounded by which is bounded by , so there are at most 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 whether or not 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 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 and a subset .
Question: Is 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 .
Question: Is 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 be a strict gammoid. There exists a polynomial-time algorithm [oxley] that obtains a representation of as a bipartite graph . We can turn into a representation of a gammoid, , by directing edges from into and letting be the target set [oxley]. Now, sets of paths that link sets from into correspond to matchings in . Everything we have done so far can be done in polynomial time, all that remains is to determine, hopefully in polynomial time, if is a strict gammoid.
If we add all vertices in to we will certainly obtain a strict gammoid, . Then all that remains is to determine whether 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 , the set we are deleting, is a basis of . In fact is a fundamental basis of . 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 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 be a strict gammoid with fundamental basis . Now let . We once more define as . We examine the new version of Lemma 17
Lemma 25.
We also have a new version of Lemma 18
Lemma 26.
Let be a cyclic flat in . Then
As before we can rewrite this as
Unfortunately the next step, where we take elements out of 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 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 is a fundamental basis. If this algorithm obtains a positive answer then it also provides a strict gammoid representation of .
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 .