Matroid Intersection under Restricted Oracles
Abstract
Matroid intersection is one of the most powerful frameworks of matroid theory that generalizes various problems in combinatorial optimization. Edmonds’ fundamental theorem provides a min-max characterization for the unweighted setting, while Frank’s weight-splitting theorem provides one for the weighted case. Several efficient algorithms were developed for these problems, all relying on the usage of one of the conventional oracles for both matroids.
In the present paper, we consider the tractability of the matroid intersection problem under restricted oracles. In particular, we focus on the rank sum, common independence, and maximum rank oracles. We give a strongly polynomial-time algorithm for weighted matroid intersection under the rank sum oracle. In the common independence oracle model, we prove that the unweighted matroid intersection problem is tractable when one of the matroids is a partition matroid, and that even the weighted case is solvable when one of the matroids is an elementary split matroid. Finally, we show that the common independence and maximum rank oracles together are strong enough to realize the steps of our algorithm under the rank sum oracle.
Keywords: Matroid intersection, Tractability, Rank sum oracle, Common independence oracle, Maximum rank oracle
1 Introduction
A cornerstone of matroid theory is the efficient solvability of the matroid intersection problem introduced by Edmonds [9]. Efficient algorithms for weighted matroid intersection were developed subsequently by Edmonds [10], by Lawler [21, 23], and by Iri and Tomizawa [15]. The min-max duality theorem of Edmonds [9] for the unweighted matroid intersection problem was generalized by Frank [11] to the weighted case. These results do not only provide a well-established framework that includes various tractable combinatorial optimization problems such as bipartite matching and arborescence packing, but in certain cases they are unavoidable in solving natural optimization problems that seem to be unrelated to matroids. A beautiful example is the problem of computing a cheapest rooted -connected spanning subgraph of a digraph [12]. This is a pure graph optimization problem and yet the only known polynomial algorithm is based on the recognition that minimal rooted -connected subgraphs of a digraph form the common bases of two matroids, and therefore a weighted matroid intersection algorithm can be applied.
In order to design matroid algorithms and to analyze their complexity, it should be clarified how matroids are given. As the number of bases can be exponential in the size of the ground set, defining a matroid in an explicit form is inefficient. Rather than giving a matroid as an explicit input, it is usually assumed that one of the standard oracles is available, and the complexity of the algorithm is measured by the number of oracle calls and other elementary steps. Another way to define a matroid is to give an explicit linear representation, but this restricts the scope of the algorithm to linear matroids for which such an explicit representation is known.
For both the unweighted and weighted problems, a variety of efficient algorithms have been developed; see e.g. [9, 10, 21, 1, 22, 15, 8, 11, 5, 14]. A common feature of these algorithms, and also all previous studies on matroid intersection, is that they assume the availability of one of the standard oracles for both matroids; e.g., we can ask for the rank of a subset in each of them. Our main contribution is showing that this assumption is not necessary for the tractability of matroid intersection, not even in the weighted setting.
One motivation for studying restricted oracles comes from polymatroid matching, a framework introduced by Lawler [23] as a common generalization of matroid intersection and non-bipartite matching. In [26], Edmonds’ theorem was deduced from polymatroid matching using a sophisticated argument. The main point is that when the matroid intersection problem is formulated as a polymatroid matching problem, only the rank sum function of the two matroids is used rather than the two rank functions. Although the polymatroid matching problem cannot be solved in polynomial time in general [25, 16], the hardness was shown through special instances that seem to be far from matroid intersection. This suggests that matroid intersection might still be tractable when only the sum of the rank functions is available.
We mention that another natural oracle to consider is the minimum rank function, which answers the smaller value among the two ranks of a subset. It follows from the polyhedral results of Edmonds [9] that this oracle suffices to describe the convex hull of common independent sets. In an unpublished manuscript, Bárász [2] gave a polynomial-time algorithm for unweighted matroid intersection under the minimum rank oracle. We will present additional results about this oracle in a separate paper [3].
Our results
Our goal is to settle the tractability of the weighted matroid intersection problem under restricted oracles. In particular, we will focus on three different oracles: rank sum, common independence, and maximum rank oracles.
The study of the rank sum oracle is motivated by the above discussed connection to polymatroid matching results. The difficulty of giving an efficient algorithm is that the usual augmenting path approach cannot be applied directly, since the exchangeability graphs are not determined by the rank sum oracle. Still, we are able to give a strongly polynomial-time algorithm for the weighted matroid intersection problem by emulating the Bellman–Ford algorithm without explicitly knowing the underlying graph.
Theorem 1.1.
There exists a strongly polynomial-time algorithm for the weighted matroid intersection problem in the rank sum oracle model.
It is not difficult to see that a common independence oracle can be constructed with the help of a rank sum oracle. Therefore, any algorithm that is based on the usage of a common independence oracle immediately translates into an algorithm that uses a rank sum oracle. Nevertheless, the reverse implication does not hold, hence the common independence oracle is strictly weaker. We show that unweighted matroid intersection remains tractable under the common independence oracle model when one of the matroids is a partition matroid.
Theorem 1.2.
There exists a strongly polynomial-time algorithm for the unweighted matroid intersection problem in the common independence oracle model when one of the matroids is a partition matroid with all-one upper bound on the partition classes.
Although the complexity of the problem in general remains an intriguing open question even for the unweighted setting, this seemingly simple case already includes matchings in bipartite graphs and arborescences.
Recently, Joswig and Schröter [17] introduced the notion of split matroids, a class with distinguished structural properties that generalizes paving matroids. Bérczi, Király, Schwarcz, Yamaguchi and Yokoi [4] showed that every split matroid can be obtained as the direct sum of a so-called elementary split matroid and uniform matroids, and provided a hypergraph characterization of elementary split matroids. By relying on this characterization, we show that even weighted matroid intersection is tractable in the common independence oracle model when one of the matroids is from this class.
Theorem 1.3.
There exists a strongly polynomial-time algorithm for the weighted matroid intersection problem in the common independence oracle model when one of the matroids is an elementary split matroid.
We will see that the maximum rank oracle does not carry too much information on its own. However, when combined with the common independence oracle, they are strong enough to mimic our algorithm for the rank sum case.
Theorem 1.4.
There exists a strongly polynomial-time algorithm for the weighted matroid intersection problem when both the common independence and the maximum rank oracles are available.
Organization
The rest of the paper is organized as follows. Basic definitions and notation are introduced in Section 2, together with some fundamental results on matroid intersection. Section 3 describes the relation between different oracles. We present our strongly polynomial algorithm under the rank sum oracle in Section 4. The common independence oracle case when one of the matroids is a partition matroid or an elementary split matroid, as well as the combination of the common independence and maximum rank oracles, is discussed in Section 5.
2 Preliminaries
For the basics on matroids and the matroid intersection problem, we refer the reader to [27, 29]. Throughout the paper, for , let be loopless111The assumption that the matroids are loopless is not restrictive as loops can be easily detected by any of the oracles considered. matroids on the same finite ground set of size , whose independent set families, rank functions, and closure operators are denoted by , by , and by , respectively; that is, and for each . For two sets , we denote their symmetric difference by . The -truncation of a matroid is a matroid with . For and , the fundamental circuit of with respect to in is denoted by .
We consider four oracles for matroid intersection. Given a set as an input, a rank sum oracle (Sum) answers the sum of the ranks of , a minimum rank oracle (Min) answers the minimum of the ranks of , a maximum rank oracle (Max) answers the maximum of the ranks of , and a common independence oracle (CI) answers “Yes” if and “No” otherwise.
Let us first overview some basic results on unweighted matroid intersection. In [9], Edmonds gave the following characterization for the maximum cardinality of a common independent set of two matroids.
Theorem 2.1 (Edmonds [9]).
Given two matroids and on a common ground set , the maximum cardinality of a common independent set of and is equal to
The notion of exchangeability graphs plays a central role in any matroid intersection algorithm.
Definition 2.2 (Exchangeability Graphs).
Assume that . The exchangeability graph corresponding to is a bipartite digraph defined as follows. Set
where elements in and in are called sources and sinks, respectively. We then define the set of exchangeability arcs, where
Note that and depend only on , and and depend only on .
Brualdi [6] observed that the set satisfies the following property for .
Lemma 2.3.
Let and let satisfy and . Then contains a perfect matching on (i.e., a set of vertex-disjoint arcs whose tails and heads constitute ).
Lemma 2.4 (Unique Perfect Matching Lemma).
Let and let satisfy . If contains a unique perfect matching on , then .
Finally, let us recall that a standard algorithm for finding a maximum-cardinality common independent set is driven by the following subroutine, Algorithm 1 (see [29, 41.2]).
For any digraph , a path in is a sequence of distinct vertices such that for each ; we call an – path or an – path for sets and to emphasize the end vertices, and define as the length. A cycle in is a sequence such that is a path and . We often identify a path or a cycle with its vertex set .
Now we turn to the weighted setting. For a weight function and a subset , define . For a family , a subset is -maximal in if . We define for and .
One approach to solve the weighted matroid intersection problem is via augmentation along cheapest paths in the exchangeability graph as shown in Algorithm 2 (see [29, 41.3]), where the cost function is defined on the vertex set as follows:
(2.1) |
For each path (or cycle) in , we define the cost of as .
The next lemma characterizes -maximal common independent sets in .
3 Polynomial Reducibility of Oracles
The aim of this section is to clarify the relation between oracles for matroid intersection, which implies the relation between the problem under the restricted oracles. For a single matroid, although there are many different types of oracles that are often used, many of these conventional oracles have the same computational power. More precisely, we say that an oracle is polynomially reducible to another oracle if can be simulated by using a polynomial number of oracle calls to measured in terms of the size of the ground set. Two oracles are polynomially equivalent if they are mutually polynomially reducible to each other. In this sense, the rank, independence, strong basis, circuit-finding, spanning, and port oracles are polynomially equivalent [28, 13, 7].
As defined in Section 2, we consider four types of oracles for matroid intersection: Sum, Min, Max, and CI. As it turns out, Max is not very useful on its own, but it provides a powerful tool when combined with any of the other three oracles. We denote by a ‘+’ sign when we have access to two of the oracles, e.g., Min+Max means that for a set the oracle tells both and .
In what follows, we discuss the reducibility of the oracles one by one. In order to keep the presentation clear, some of the ideas appear multiple times. For an overview of the results, see Figure 1. Observe that, by , any combination of at least two of Min, Max, and Sum is clearly equivalent. This immediately implies that each of Min, Sum, and Max is reducible to each of Min+Max, Min+Sum, and Sum+Max.

Theorem 3.1.
CI is not polynomially reducible to Max, but it is polynomially reducible to Min and Sum.
Proof.
If is the free matroid, then Max always answers independently from the choice of . Thus deciding if is a common independent set or not is impossible relying solely on Max.
To see the second half, observe that for a set , CI answers “Yes” if and only if is a common independent set of the two matroids, that is, . By the subcardinality of the rank functions, this is equivalent to and to . As these conditions can be checked by Min and Sum, respectively, the theorem follows. ∎
Theorem 3.2.
Min is not polynomially reducible to Sum, CI, Max, and CI+Max.
Proof.
We define two instances of the matroid intersection problem on the same ground set as follows. For , let be the graphic matroid of the graph on Figure 2(a), and let be the graphic matroid of the graph on Figure 2(b). Consider the maximum-cardinality common independent set problem for and , and for and . For any subset of , both Sum and CI give the same answer in the two instances, thus it is not possible to distinguish them from each other using one of these oracles. However, is in one of them while in the other one, showing that Min cannot be reduced to Sum or CI.
Now take the -truncation of these graphic matroids, and define , , , and . Consider the maximum-cardinality common independent set problem for and , and for and . By the slight change in the definitions, both CI and Max give the same answer in the two instances for any subset , thus it is not possible to distinguish them from each other using a combination of these two oracles. However, is in one of them while in the other one, showing that Min cannot be reduced to CI+Max.
The case when is the free matroid shows again that cannot be determined relying solely on Max. ∎


Theorem 3.3.
Sum is not polynomially reducible to Min, CI, Max, and CI+Max.
Proof.
If is a uniform matroid of rank , then if and otherwise, while CI answers “Yes” if and “No” otherwise. These answers are independent from the choice of , therefore we cannot determine with their help.
The case when is the free matroid shows again that cannot be determined relying solely on Max.
Consider the same two instances of the matroid intersection problem defined by the -truncations of the graphic matroids on Figure 2 as in the proof of Theorem 3.2. Recall that both CI and Max give the same answer in the two instances for any subset , thus it is not possible to distinguish them from each other using a combination of these two oracles. However, is in one of them while in the other one, showing that Sum cannot be reduced to CI+Max. ∎
Theorem 3.4.
Max is not polynomially reducible to Min, Sum, and CI.
Proof.
The case when is a uniform matroid of rank shows again that cannot be determined relying solely on Min or CI.
Consider the same two instances of the matroid intersection problem defined by Figure 2 as in the proof of Theorem 3.2. Recall that for any subset of , Sum gives the same answer in both instances, thus it is not possible to distinguish them from each other using Sum. However, is in one of them while in the other one, showing that Max cannot be reduced to Sum. ∎
4 Matroid Intersection under Rank Sum Oracle
In Algorithm 2, we assume that we are given the independence oracles of matroids and , which are polynomially equivalent to the oracles of rank functions and , respectively. In this section, we consider the solvability of the weighted matroid intersection problem when only the rank sum function is available, that is, for any set the oracle answers the value of . Note that a subset belongs to if and only if . However, when , we cannot decide whether or not for each .
The matroid intersection problem under this oracle model is exactly a special case of the polymatroid matching problem, which is equivalent to the so-called matroid matching (or parity) problem [26, § 11.1]. While a max-min duality theorem was given by Lovász [24] for the case when the matroids in question admit linear representations222For the matroid intersection considered as a special case, the two matroids are necessarily representable over the same field., such a good characterization is not known in general even in the matroid intersection case.
In what follows, we provide an algorithm for the weighted matroid intersection problem with the rank sum oracle. We consider emulating Algorithm 2, i.e., CheapestPathAugment.
4.1 Searching a Shortest Cheapest Path
Take any and let be a -maximal set . To emulate Algorithm 2, we want to find a shortest cheapest – path in with respect to vertex cost defined in Algorithm 2. With only the rank sum oracle, however, we cannot determine the sets , , , and , and hence cannot simply emulate Algorithm 2.
We show that, despite this difficulty, we can compute a shortest cheapest – path in . We first make some observations. Let be the subgraph of obtained from by removing arcs entering and leaving , i.e.,
Note that each element in is an isolated vertex in . Recall that has no negative cost cycle with respect to by Lemma 2.5. This fact implies that finding a shortest cheapest – path in is equivalent to finding one in .
Lemma 4.1.
Any shortest cheapest – path in is a shortest cheapest – path in .
Proof.
It is sufficient to show that any shortest cheapest – path in is contained in . Suppose, to the contrary, that a shortest cheapest – path uses some arc or , and let and be its end vertices. If uses , let and be the subpaths of from to and from to , respectively. Since , the path is extended to a cycle with the same vertex set in , and hence is nonnegative by Lemma 2.5. Then and , which contradicts that is a shortest cheapest – path in . If uses , we can similarly show that is an – path that is at least as cheap as and shorter than . ∎
While we cannot determine and , we can determine as . We now provide a search algorithm with the rank sum oracle. Its description is given as Algorithm 3. For any (resp., ), it emulates the Bellman–Ford algorithm in (resp., in the inverse of ) rooted at without knowing explicitly. Since there is no negative cost cycle in by Lemma 2.5, the algorithm finds shortest cheapest paths from to all reachable vertices, and it returns a shortest cheapest – path (resp., – path) if it exists. By applying this search algorithm for all , we can obtain a shortest cheapest – path in , which is also a shortest cheapest path in by Lemma 4.1.
For each , the algorithm maintains a sequence of distinct elements of , which is initialized by a virtual token with . We will show that is an – path in unless . For a sequence and an element , we denote by the sequence obtained by appending to .
4.2 Correctness of the Search
The following lemma shows an important property of Algorithm 3, where we can assume that belongs to by symmetry. (For , replace with its inverse in the arguments.)
Lemma 4.2.
Let and take any . For any , just after the th updating process of Step 2 of Algorithm 3, the sequence is a shortest cheapest – path in subject to , where means that there is no such path.
Proof.
We use induction on . Note that the statement holds if . We show the statement for any assuming that it holds for . We use the following two claims.
Claim 4.3.
Suppose that, for any , is a shortest cheapest – path in subject to . Then, for any and such that [, , and ], condition holds if and only if .
Claim 4.4.
Suppose that, for any , is a shortest cheapest – path in subject to . Then, for any and such that [, , and ], condition holds if and only if .
We postpone the proofs of these claims and complete the proof of the lemma relying on them. For any , let and be the sequence just after the st and th process, respectively. By induction, is a shortest cheapest – path in subject to . Let be any shortest cheapest – path in subject to .
By the “only if” parts of Claims 4.3 and 4.4, is an – path in with , and hence . Also, by the algorithm. If , then and the statement immediately follows. Otherwise, . This implies . Then if is odd and if is even (recall that is a bipartite digraph between and ). Let be the second last element in and let (i.e., delete from ). Then is an – path with , and hence by the induction hypothesis. So . If is odd, then , and hence () holds with and by Claim 4.3. If is even, then , and hence () holds with and by Claim 4.4. In either case, we obtain and . Hence is a shortest cheapest – path subject to . ∎
Lemma 4.5.
Let . At any moment of the algorithm, the following conditions hold.
-
(a)
Any with satisfies , , and .
-
(b)
Any with satisfies , , and . Moreover, it satisfies if and only if .
-
(c)
For each with , we have and .
Proof.
By the algorithm, for each with , the sequence starts with and uses elements in and alternately. Then for any with and for any with . For any , after is updated, it satisfies by the condition () for update. Then (a) follows.
For any with , any has some succeeding element in and () holds for and . Hence . If , it immediately implies . If , then has some preceding element in , and () for and implies (as ), and hence . Thus, and any satisfies .
For any with , by () for and its preceding element , we have or . In the former case, implies , and hence . This implies , and then implies and . In the latter case, implies . Since any satisfies (as seen in the previous paragraph), we must have , and then follows from . Thus, (b) and (c) are shown. ∎
Now we are ready to show Claims 4.3 and 4.4. We sometimes denote by the set of elements in a sequence for emphasizing that we focus on the set rather than the sequence.
Proof of Claim 4.3.
By Lemma 4.5(b), is equivalent to . Lemma 4.5(b) also implies , and hence . Therefore, is equivalent to , i.e., . Then, the condition is equivalent to
We show that holds if and only if . By the induction hypothesis, is an – path in , and hence it uses arcs of and alternately. Let and be the sets of those arcs of and , respectively. Since , forms a matching that covers and forms a matching that covers .
To show the “if” part, suppose . Then by the definition of . Also, forms a perfect matching on . Suppose conversely that . Then Lemma 2.4 implies that contains some other perfect matching on . We see that because by Lemma 4.5(c) and . Thus, , , and are all contained in . Consider the digraph whose arc set consists of the arcs in , , and two copies of , where we consider their multiplicity, i.e., each arc in is taken twice (parallel). Since , there exists an arc in whose head precedes its tail on the path . Then contains at least one directed cycle. The indegree and outdegree of each vertex in are given as , , and for all the other vertices . Then can be decomposed into the arc sets of two – paths and one or more cycles. Let and be those – paths and be the set of those cycles (where paths and cycles are sequences of vertices). Then each vertex in is used exactly twice in this decomposition, and hence
Since has no negative cycle, this implies . Also, implies or . In case , we have , which implies because holds by induction. Also, implies , where by assumption. Thus, is an – path in with and , which contradicts the induction hypothesis that is a shortest cheapest – path subject to . The case is similar. In case and , both and satisfy and at least one of them, say , satisfies , which again contradicts the induction hypothesis on .
We next show the “only if” part. Let hold. By , Lemma 2.3 implies that contains a perfect matching on . Also, because by Lemma 4.5(c) and . Thus, , , and are all contained in . Consider the digraph whose arc set consists of the arcs in , , and two copies of , where we consider their multiplicity as before. Conversely, suppose that . Then . Since covers , it has an arc whose tail is and whose head precedes in the path . Then contains at least one directed cycle. Note that , , , and for all the other vertices in . Then can be decomposed into the arc sets of one – path, one – path, and one or more cycles. Let , , and be that – path, – path, and the set of cycles, respectively. Then each vertex in is used twice and is used once in this decomposition, and hence
Since has no negative cost cycle, . Also, implies or . If , then , which implies . Also, implies . Thus, is an – path with and , which contradicts the induction hypothesis on . In case , we have , which implies . Also, implies . Thus, is an – path with and , which contradicts the induction hypothesis on . In case and , we have and . Also, we have or , and each of them yields a contradiction. ∎
Proof of Claim 4.4.
Since , Lemma 4.5(a) implies , , and . Also, by Lemma 4.5(c), we have (which implies ), and hence holds if and only if . If (resp., ), then (resp., ) is equivalent to , and also (resp., ) is equivalent to . Therefore, is equivalent to
We show that holds if and only if . By induction hypothesis, is an – path in , and hence it uses arcs of and alternately. Let and be the sets of those arcs of and , respectively. Then forms a matching that covers and forms a matching that covers .
To show the “if” part, suppose . Then by the definition of . Also, forms a perfect matching on . Suppose conversely that . It implies as follows. Lemma 4.5(c) implies , and hence . If , then , and as , a contradiction. Thus, we have , which implies . Then Lemma 2.4 implies that contains some other perfect matching on . We see that because by Lemma 4.5(b) and . Thus, , , and are all contained in . Consider the digraph whose arc set consists of the arcs in , , and two copies of , where we consider their multiplicity as before. Similarly to the proof of Claim 4.3, we see that there exists an – path in with and , which contradicts the induction hypothesis on .
We next show the “only if” part. Let hold. By , Lemma 2.3 implies that contains a perfect matching on . Also, because by Lemma 4.5(c) and . Thus, , , and are all contained in . Consider the digraph whose arc set consists of the arcs in , , and two copies of , where we consider their multiplicity as before. Then, similarly to the proof of Claim 4.3, we see that there exists an – or – path whose property contradicts the induction hypothesis on or . ∎
Lemma 4.6.
The output of EmulatingBellmanFord is always correct.
4.3 Matroid Intersection Algorithm under Rank Sum Oracle
The following theorem concludes the section.
Lemma 4.7.
The output of CheapestPathAugmentRankSum is always correct.
Proof of Theorem 1.1.
Starting from , the size of the common independent set can be gradually increased using CheapestPathAugmentRankSum until becomes a common independent set of maximum cardinality. The correctness of the algorithm follows from Lemma 4.7. Note that, if we are asked to find a maximum-weight common independent set, then it suffices to output one with maximum weight among the obtained -maximal common independent sets. ∎
5 Matroid Intersection under Common Independence Oracle
As discussed in Section 3, the common independence oracle is strictly weaker than the minimum rank and the rank sum oracles. As weighted matroid intersection turned out to be tractable for the rank sum oracle, the complexity of the problem under the common independence oracle is especially interesting.
In what follows, we present an algorithm for the unweighted matroid intersection problem when one of the matroids is a partition matroid, and an algorithm for the weighted matroid intersection problem when one of the matroids is an elementary split matroid. We also show that the common independence oracle, when complemented with the rank oracle, is strong enough to design an algorithm similar to that for the rank sum case.
5.1 Intersection with Partition Matroid
The aim of this section is to show that the unweighted matroid intersection problem is tractable under the common independence oracle when is a partition matroid with all-one upper bound on the partition classes, that is, when is represented as for some partition . We will provide an algorithm that emulates Algorithm 1, i.e., Augment, using only the common independence oracle.
Take any and let . To emulate Algorithm 1, we want to find a shortest – path in the exchangeability graph . With only the common independence oracle, however, we cannot construct , and cannot determine even or .
Note that a shortest – path in never uses arcs entering sources or leaving sinks. Therefore, finding a shortest – path in is equivalent to finding it in , where is the subgraph of obtained by removing those arcs from (it is used also in Section 4). We now provide a search procedure, described as Algorithm 5, that will be used as a subroutine for our augmentating procedure. If a given element belongs to , this search algorithm works like the breadth first search in rooted at , and returns a shortest – path or certifies the nonexistence of such a path.
In Algorithm 5, for each , a sequence of distinct elements is defined. In our analysis, will turn out to be a shortest – path in . We use the notation to denote the sequence obtained by appending an element to .
By the algorithm, it is clear that the output is either a sequence with and or a message “No”. Also, if , we see that itself is a shortest – path and is returned at Step 1. Therefore, we assume and show that a shortest – path is returned if such a path exists. We denote by the length (i.e., the number of vertices) of a shortest – path in and by the length of a shortest – path in for each . Note that is odd and is even for any .
Lemma 5.1.
Let . The following hold for any and any .
-
(a)
is defined in Step 2 if and only if . If defined, it is a shortest – path in .
-
(b)
A sequence is returned in the th process of Step 3(ii) if and only if . The returned sequence is a shortest – path in .
-
(c)
is defined in the th process of Step 3(iii) if and only if . If defined, it is a shortest – path in .
Proof.
For any , means , which is equivalent to as . Since implies , then holds if and only if . When , clearly is a shortest – path. Thus, (a) is shown.
We show (b) and (c) by induction on . Suppose that they hold for and we are at the beginning of the th process of Step 3. Then because otherwise the algorithm has halted before. Take any with . Then
-
•
is a shortest – path in by (a) and induction for (c);
-
•
because
-
–
and hold by the algorithm (Steps 2 and 3(iii)), and
-
–
follows from .
-
–
As is a path in , it uses arcs in and alternately. Let and be the sets of those arcs of and , respectively. By and , then and form matchings that cover and , respectively (recall that we denote by the set of elements in a sequence for emphasizing that we focus on the set rather than the sequence).
Take any with . The following claim completes the proof of (b).
Claim 5.2.
and if and only if and .
Proof.
For the “only if” part, suppose and . As is a partition matroid with all-one upper bounds, means that is a circuit in , and hence . Since and forms a matching that covers , we have . (In , each element in is replaced by another element in the same partition class and comes from a partition class whose element is not used in .) Also, and imply . Thus, the “only if” part is shown.
For the “if” part, suppose and . As holds, implies . Then , and hence implies that is a circuit in . Thus . ∎
Suppose that we are at the beginning of th process of Step 3(iii). Take and as before and take any such that is undefined. Then by (a) and induction for (c). Also implies since otherwise the algorithm has halted at Step 3 (ii). The following claim completes the proof of (c).
Claim 5.3.
Assume that implies . Then and if and only if and .
Proof.
For the “only if” part, suppose and . Similarly to the proof of Claim 5.2, implies and , and hence . Suppose, to the contrary, . Since forms a perfect matching on , Lemma 2.4 implies that there exists some other perfect matching on . This is included in because follows from and . Then, contains an – path with arcs in and length at most , which contradicts .
For the “if” part, suppose and . By Lemma 2.3, implies that contains a perfect matching on . Conversely, suppose . Then for some , and implies . Hence has an – path with length at most , a contradiction. Thus, , which implies or , where the latter implies . Thus, in both cases, . Therefore, implies , and hence , and follows. By assumption, we then have , and hence . ∎
Thus, both (b) and (c) hold for . ∎
Lemma 5.4.
The output of EmulatingBFS is always correct.
Proof.
If , i.e., if , then the algorithm correctly returns at Step 1. If , then , and hence Lemma 5.1(b) implies that a shortest – path is returned in the th process of Step 3(ii). ∎
Using EmulatingBFS (Algorithm 5) as a subroutine, we design a procedure that emulates Augment with the common independence oracle.
Lemma 5.5.
The output of AugmentCommonIndependencePartition (Algorithm 6) is always correct.
Proof.
The output in Step 6 is clearly correct. As Step 6 returns some sequence only if is indeed a common independent set of size , it suffices to show that if there exists a common independent set of size , then EmulatingBFS returns a sequence for some . By the correctness of Augment, the existence of such implies that has some – path, and so does . Then contains an – path for some . For such , EmulatingBFS returns a shortest – path in . ∎
5.2 Intersection with Elementary Split Matroid
Motivated by the study of matroid polytopes from a tropical geometry point of view, Joswig and Schröter [17] introduced the notion of split matroids. This class does not only generalize paving matroids, but it is closed both under duality and taking minors. Bérczi, Király, Schwarcz, Yamaguchi and Yokoi [4] later observed that every split matroid can be obtained as the direct sum of a so-called elementary split matroid and uniform matroids. Elementary split matroids capture all the nice properties of connected split matroids, and is closed not only under duality and taking minors but also truncation. Motivated by representations of paving matroids by hypergraphs, they provided a hypergraph characterization of elementary split matroids as follows.
Let be a ground set of size at least , be a (possibly empty) collection of subsets of (called hyperedges), and be nonnegative integers satisfying
for , | (H1) | ||||
for . | (H2) |
Then forms the family of independent sets of a rank- matroid with rank function . Matroids that can be obtained in this form are called elementary split matroids.
We call a set -tight or tight with respect to if . The following lemma shows that an independent set of size less than cannot be tight with respect to two different hyperedges.
Lemma 5.6.
Let be an elementary split matroid with representation and , and let be a set of size less than . Then is tight with respect to at most one of the hyperedges.
Proof.
Now we show that the weighted matroid intersection problem is tractable under the common independence oracle when is an elementary split matroid, that is, when can be represented as for some (possibly empty) hypergraph and nonnegative integers satisfying (H1) and (H2). The proof is based on observing that the exchangeability graph has a special structure.
Proof of Theorem 1.3.
Suppose that we have oracle access to the common independent set family of two matroids on , where belongs to an elementary split matroid. Consider a -maximal set for some . According to Algorithm 2 and Lemma 4.1, a -maximal set , if exists, can be obtained in the form where is a shortest cheapest – path in .
Claim 5.7.
If , then there exists a shortest cheapest – path in of length at most .
Proof.
As , there necessarily exists an – path in ; let be a shortest cheapest one. As is not a basis of , observe that for some if and only if there exists a hyperedge such that is -tight and . By Lemma 5.6, is tight with respect to at most one of the hyperedges, hence we get that . This also implies that .
Assume that the length of the path is more than . Then, by the above observation, both and exist in . Therefore is a cycle in , and is an – path in . By Lemma 2.5, the cost of is nonnegative, and hence the cost of is at most the cost of , contradicting the choice of . ∎
By Claim 5.7, a -maximal member of , if exists, can be found by checking every set of size with . This concludes the proof of the theorem. ∎
5.3 Complemented with Maximum Rank Oracle
When access is given to both a common independence and a maximum rank oracle, every step of Algorithms 3 and 4, i.e., EmulatingBellmanFord and CheapestPathAugmentRankSum, can be emulated and hence the weighted matroid intersection problem is solved as with Section 4.
Proof of Theorem 1.4.
Suppose that we have oracle access to the common independent set family and the maximum rank function of two matroids on instead of that to . In EmulatingBellmanFord and CheapestPathAugmentRankSum, we ask the rank sum oracle the following types of questions:
-
(a)
whether or not for and ,
-
(b)
whether or not for and ,
-
(c)
whether or not for and , and
-
(d)
whether or not for .
6 Concluding Remarks
In this paper, we have shown the tractability of unweighted/weighted matroid intersection problems under several restricted oracles. The rank sum oracle or the combination of the common independence oracle and the maximum rank oracle is enough to solve the weighted matroid intersection problem in polynomial time (Theorems 1.1 and 1.4). Also, if one matroid is restricted to a partition matroid with all-one upper bound or to an elementary split matroid, the unweighted or weighted problem, respectively, can be solved only using the common independence oracle (Theorems 1.2 and 1.3).
The following two big questions still remain, and our subsequent paper [3] is tackling the first question.
Question 6.1.
Is there a strongly polynomial-time algorithm for the weighted matroid intersection problem in the minimum rank oracle model? Or can we show the hardness?
Question 6.2.
Is there a strongly polynomial-time algorithm for the unweighted/weighted matroid intersection problem in the common independence oracle model? Or can we show the hardness?
Acknowledgments
We are grateful to Yuni Iwamasa and Taihei Oki for initial discussions on the problem. We would like to thank the reviewers, who read this paper and provided positive and helpful comments.
The work was supported by the Lendület Programme of the Hungarian Academy of Sciences – grant number LP2021-1/2021 and by the Hungarian National Research, Development and Innovation Office – NKFIH, grant numbers FK128673 and TKP2020-NKA-06. Yutaro Yamaguchi was supported by JSPS KAKENHI Grant Numbers 20K19743 and 20H00605, and by Overseas Research Program in Graduate School of Information Science and Technology, Osaka University. Yu Yokoi was supported by JST PRESTO Grant Number JPMJPR212B.
References
- [1] M. Aigner and T. A. Dowling. Matching theory for combinatorial geometries. Transactions of the American Mathematical Society, 158(1):231–245, 1971.
- [2] M. Bárász. Matroid intersection for the min-rank oracle. Technical Report QP-2006-03, Egerváry Research Group, Budapest, 2006. http://www.cs.elte.hu/egres/.
- [3] M. Bárász, K. Bérczi, T. Király, Y. Yamaguchi, and Y. Yokoi. Matroid intersection under minimum rank oracle. In preparation.
- [4] K. Bérczi, T. Király, T. Schwarcz, Y. Yamaguchi, and Y. Yokoi. Hypergraph characterization of split matroids. Journal of Combinatorial Theory, Series A, 194:105697, 2023.
- [5] C. Brezovec, G. Cornuéjols, and F. Glover. Two algorithms for weighted matroid intersection. Mathematical Programming, 36(1):39–53, 1986.
- [6] R. A. Brualdi. Comments on bases in dependence structures. Bulletin of the Australian Mathematical Society, 1(2):161–167, 1969.
- [7] C. R. Coullard and L. Hellerstein. Independence and port oracles for matroids, with an application to computational learning theory. Combinatorica, 16(2):189–208, 1996.
- [8] W. H. Cunningham. Improved bounds for matroid partition and intersection algorithms. SIAM Journal on Computing, 15(4):948–957, 1986.
- [9] J. Edmonds. Submodular functions, matroids, and certain polyhedra. In Combinatorial Structures and Their Applications, pages 69–87. Gorden and Breach, 1970. (Also in Combinatorial Optimization — Eureka, You Shrink!, pages 11–26, Springer, 2003.).
- [10] J. Edmonds. Matroid intersection. Annals of Discrete Mathematics, 4:39–49, 1979.
- [11] A. Frank. A weighted matroid intersection algorithm. Journal of Algorithms, 2(4):328–336, 1981.
- [12] A. Frank. Rooted -connections in digraphs. Discrete Applied Mathematics, 157(6):1242–1254, 2009.
- [13] D. Hausmann and B. Korte. Algorithmic versus axiomatic definitions of matroids. In Mathematical Programming at Oberwolfach, pages 98–111. Springer, 1981.
- [14] C.-C. Huang, N. Kakimura, and N. Kamiyama. Exact and approximation algorithms for weighted matroid intersection. Mathematical Programming, 177(1-2):85–112, 2019.
- [15] M. Iri and N. Tomizawa. An algorithm for finding an optimal “independent assignment”. Journal of the Operations Research Society of Japan, 19(1):32–57, 1976.
- [16] P. M. Jensen and B. Korte. Complexity of matroid property algorithms. SIAM Journal on Computing, 11(1):184–190, 1982.
- [17] M. Joswig and B. Schröter. Matroids from hypersimplex splits. Journal of Combinatorial Theory, Series A, 151:254–284, 2017.
- [18] S. Krogdahl. A combinatorial base for some optimal matroid intersection algorithms. Technical Report STAN-CS-74-468, Computer Science Department, Stanford University, Stanford, CA, U.S., 1974.
- [19] S. Krogdahl. A combinatorial proof for a weighted matroid intersection algorithm. Technical Report Computer Science Report 17, Institute of Mathematical and Physical Sciences, University of Tromso, Tromso, Norway, 1976.
- [20] S. Krogdahl. The dependence graph for bases in matroids. Discrete Mathematics, 19(1):47–59, 1977.
- [21] E. L. Lawler. Optimal matroid intersections. In Combinatorial Structures and Their Applications, pages 233–234. Gorden and Breach, 1970.
- [22] E. L. Lawler. Matroid intersection algorithms. Mathematical Programming, 9(1):31–56, 1975.
- [23] E. L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, 1976.
- [24] L. Lovász. Matroid matching and some applications. Journal of Combinatorial Theory, Series B, 28(2):208–236, 1980.
- [25] L. Lovász. The matroid matching problem. In Algebraic Methods in Graph Theory II, pages 495–517. North-Holland, 1981.
- [26] L. Lovász and M. D. Plummer. Matching Theory. American Mathematical Society, 2009.
- [27] J. Oxley. Matroid Theory. Oxford University Press, 2011.
- [28] G. Robinson and D. Welsh. The computational complexity of matroid properties. In Mathematical Proceedings of the Cambridge Philosophical Society, volume 87, pages 29–45. Cambridge University Press, 1980.
- [29] A. Schrijver. Combinatorial Optimization: Polyhedra and Efficiency. Springer, 2003.