Articulo de referencia

oráculo matroide

En matemáticas e informática, un oráculo matroide es una subrutina mediante la cual un algoritmo puede acceder a un matroide , una estructura combinatoria abstracta que puede ut...

En matemáticas e informática, un oráculo matroide es una subrutina mediante la cual un algoritmo puede acceder a un matroide , una estructura combinatoria abstracta que puede utilizarse para describir las dependencias lineales entre vectores en un espacio vectorial o los árboles generadores de un grafo , entre otras aplicaciones.

El oráculo más utilizado de este tipo es un oráculo de independencia , una subrutina para comprobar si un conjunto de elementos de un matroide es independiente. También se han utilizado otros tipos de oráculos; algunos han demostrado ser más débiles que los oráculos de independencia, otros más fuertes y otros equivalentes en potencia computacional. [ 1 ]

Muchos algoritmos que realizan cálculos en matroides se han diseñado para tomar un oráculo como entrada, lo que les permite ejecutarse de manera eficiente sin modificaciones en muchos tipos diferentes de matroides y sin suposiciones adicionales sobre el tipo de matroid que están utilizando. Por ejemplo, dado un oráculo de independencia para cualquier matroid, es posible encontrar la base de peso mínimo del matroid aplicando un algoritmo voraz que agrega elementos a la base en orden ascendente según su peso, utilizando el oráculo de independencia para comprobar si cada elemento puede agregarse. [ 2 ]

En la teoría de la complejidad computacional , el modelo de oráculo ha dado lugar a cotas inferiores incondicionales que demuestran que ciertos problemas de matroides no pueden resolverse en tiempo polinomial, sin recurrir a supuestos no probados como el supuesto de que P ≠ NP . Entre los problemas que se ha demostrado que son difíciles de resolver de esta manera se incluyen comprobar si un matroide es binario o uniforme , o comprobar si contiene ciertos menores fijos . [ 3 ]

Uso de oráculos

Aunque algunos autores han experimentado con representaciones informáticas de matroides que enumeran explícitamente todos los conjuntos independientes o todos los conjuntos base del matroide, [ 4 ] estas representaciones no son sucintas : un matroide connorte{\displaystyle n}Los elementos pueden expandirse en una representación que ocupa espacio exponencialmente ennorte{\displaystyle n}De hecho, el número de matroides distintos ennorte{\displaystyle n}los elementos crecen exponencialmente de forma doble

22nortenorte3/2+o(1){\displaystyle 2^{2^{n}n^{-3/2+o(1)}}}[ 5 ]

de lo cual se deduce que cualquier representación explícita capaz de manejar todos los posibles matroides necesariamente usaría espacio exponencial. [ 6 ]

En cambio, los distintos tipos de matroides pueden representarse de forma más eficiente a partir de las estructuras que los definen: matroides uniformes a partir de sus dos parámetros numéricos, matroides gráficos , matroides bicirculares y gammoides a partir de grafos, matroides lineales a partir de matrices , etc. Sin embargo, un algoritmo para realizar cálculos en matroides arbitrarios necesita un método uniforme para acceder a su argumento, en lugar de tener que rediseñarlo para cada una de estas clases de matroides. El modelo de oráculo proporciona una forma práctica de codificar y clasificar los tipos de acceso que un algoritmo podría necesitar.

Historia

Comenzando con Rado (1942) , "funciones de independencia" o "I{\displaystyle I}Las funciones "-" se han estudiado como una de las muchas formas equivalentes de axiomatizar matroides. Una función de independencia asigna un conjunto de elementos de matroide al número1{\displaystyle 1}si el conjunto es independiente o0{\displaystyle 0}si es dependiente; es decir, es la función indicadora de la familia de conjuntos independientes, esencialmente lo mismo que un oráculo de independencia. [ 7 ]

Los oráculos matroidales también han formado parte de los primeros trabajos algorítmicos sobre matroides. Así, Edmonds (1965) , al estudiar problemas de partición de matroides, asumió que el acceso al matroide dado se realizaba a través de una subrutina que toma como entrada un conjunto independiente.I{\displaystyle I}y un elementoincógnita{\displaystyle x}y devuelve un circuito enI{incógnita}{\displaystyle I\cup \{x\}}(necesariamente único y que contieneincógnita{\displaystyle x}, si existe) o determina que no existe tal circuito. Edmonds (1971) utilizó una subrutina que prueba si un conjunto dado es independiente (es decir, en terminología más moderna, un oráculo de independencia ) y observó que la información que proporciona es suficiente para encontrar la base de peso mínimo en tiempo polinomial.

A partir del trabajo de Korte y Hausmann (1978) y Hausmann y Korte (1978) , los investigadores comenzaron a estudiar los oráculos desde el punto de vista de demostrar cotas inferiores en algoritmos para matroides y estructuras relacionadas. Estos dos artículos de Hausmann y Korte trataban el problema de encontrar un conjunto independiente de cardinalidad máxima, lo cual es fácil para matroides pero (como demostraron) más difícil de aproximar o calcular con exactitud para sistemas de independencia más generales representados por un oráculo de independencia. Este trabajo impulsó una serie de artículos a finales de la década de 1970 y principios de la de 1980 que mostraban resultados de dificultad similares para problemas en matroides [ 8 ] y comparaban la potencia de diferentes tipos de oráculos de matroides. [ 9 ]

Desde entonces, el oráculo de independencia se ha convertido en el estándar para la mayoría de las investigaciones sobre algoritmos de matroides. [ 10 ] También se ha continuado investigando sobre cotas inferiores, [ 11 ] y comparaciones de diferentes tipos de oráculos. [ 12 ]

Tipos de oráculos

Se han considerado los siguientes tipos de oráculos matroides.

  • Un oráculo de independencia toma como entrada un conjunto de elementos de matroide y devuelve como salida un valor booleano , verdadero si el conjunto dado es independiente y falso en caso contrario. [ 13 ] Puede implementarse fácilmente basándose en la estructura subyacente a partir de la cual se definió el matroide para matroides gráficos , matroides transversales , gammoides y matroides lineales, y para matroides formados a partir de estos mediante operaciones estándar como sumas directas. [ 3 ]
  • Un oráculo base toma como entrada un conjunto de elementos matroidales y devuelve como salida un valor booleano: verdadero si el conjunto dado es una base y falso en caso contrario. [ 9 ]
  • Un oráculo de circuitos toma como entrada un conjunto de elementos matroidales y devuelve como salida un valor booleano: verdadero si el conjunto dado es un circuito y falso en caso contrario. [ 9 ]
  • El oráculo de búsqueda de circuitos de Edmonds (1965) toma como entrada un conjunto independiente y un elemento adicional, y determina si su unión es independiente o encuentra un circuito en la unión y lo devuelve.
  • Un oráculo de rango toma como entrada un conjunto de elementos de matroide y devuelve como salida un valor numérico, el rango del conjunto dado. [ 9 ]
  • Se han considerado tres tipos de oráculos de cierre : uno que comprueba si un elemento dado pertenece al cierre de un conjunto dado, un segundo que devuelve el cierre del conjunto y un tercero que comprueba si un conjunto dado es cerrado. [ 9 ]
  • Un oráculo de expansión toma como entrada un conjunto de elementos de matroide y devuelve como salida un valor booleano: verdadero si el conjunto dado es de expansión (es decir, contiene una base y tiene el mismo rango que todo el matroide) y falso en caso contrario. [ 14 ]
  • Un oráculo de circunferencia toma como entrada un conjunto de elementos matroides y devuelve como salida un valor numérico, el tamaño del circuito más pequeño dentro de ese conjunto (o+{\displaystyle +\infty }si el conjunto dado es independiente). [ 14 ]
  • Un oráculo de puerto para un elemento fijoincógnita{\displaystyle x}del matroid toma como entrada un conjunto de elementos matroid y devuelve como salida un valor booleano, verdadero si el conjunto dado contiene un circuito que incluyeincógnita{\displaystyle x}y falso en caso contrario. [ 15 ]

Poder relativo de diferentes oráculos

Aunque existen muchos tipos conocidos de oráculos, la elección de cuál usar se puede simplificar, ya que muchos de ellos son equivalentes en potencia computacional. Un oráculoincógnita{\displaystyle X}Se dice que es polinómicamente reducible a otro oráculo.Y{\displaystyle Y}si alguna llamada aincógnita{\displaystyle X}puede ser simulado por un algoritmo que accede al matroide usando solo oráculoY{\displaystyle Y}y toma tiempo polinomial medido en términos del número de elementos del matroide; en términos de teoría de la complejidad, esto es una reducción de Turing . Se dice que dos oráculos son polinomialmente equivalentes si son polinomialmente reducibles entre sí. Siincógnita{\displaystyle X}yY{\displaystyle Y}son polinomialmente equivalentes, entonces cada resultado que demuestre la existencia o no existencia de un algoritmo de tiempo polinomial para un problema de matroides usando oráculoincógnita{\displaystyle X}Esto también demuestra lo mismo para Oracle.Y{\displaystyle Y}.

Por ejemplo, el oráculo de independencia es polinomialmente equivalente al oráculo de búsqueda de circuitos de Edmonds (1965) . Si se dispone de un oráculo de búsqueda de circuitos, se puede comprobar la independencia de un conjunto utilizando como máximonorte{\displaystyle n}Las llamadas al oráculo comienzan con un conjunto vacío , agregan elementos del conjunto dado uno por uno y utilizan el oráculo de búsqueda de circuitos para comprobar si cada adición preserva la independencia del conjunto que se ha construido hasta el momento. En la otra dirección, si se dispone de un oráculo de independencia, el circuito en un conjuntoI{incógnita}{\displaystyle I\cup \{x\}}puede encontrarse utilizando como máximonorte{\displaystyle n}llamadas al oráculo mediante pruebas, para cada elementoyI{\displaystyle y\in I}, siI{y}{incógnita}{\displaystyle I\setminus \{y\}\cup \{x\}}es independiente y devuelve los elementos para los que la respuesta es no. El oráculo de independencia también es polinómicamente equivalente al oráculo de rango, al oráculo de expansión, a los dos primeros tipos de oráculo de cierre y al oráculo de puerto. [ 1 ]

El oráculo base, el oráculo de circuito y el oráculo que comprueba si un conjunto dado es cerrado son todos más débiles que el oráculo de independencia: pueden ser simulados en tiempo polinomial por un algoritmo que accede al matroide usando un oráculo de independencia, pero no a la inversa. Además, ninguno de estos tres oráculos puede simularse entre sí en tiempo polinomial. El oráculo circunferencial es más fuerte que el oráculo de independencia, en el mismo sentido. [ 9 ]

Además de las reducciones de Turing en tiempo polinomial, también se han considerado otros tipos de reducibilidad. En particular, Karp, Upfal y Wigderson (1988) demostraron que, en algoritmos paralelos , los oráculos de rango e independencia difieren significativamente en potencia computacional. El oráculo de rango permite la construcción de una base de peso mínimo mediantenorte{\displaystyle n}consultas simultáneas, de los prefijos del orden ordenado de los elementos del matroide: un elemento pertenece a la base óptima si y solo si el rango de su prefijo difiere del rango del prefijo anterior. En contraste, encontrar una base mínima con un oráculo de independencia es mucho más lento: se puede resolver de forma determinista enO(norte){\displaystyle O({\sqrt {n}})}pasos de tiempo, y hay un límite inferior deΩ((norte/registronorte)1/3){\displaystyle \Omega ((n/\log n)^{1/3})}incluso para algoritmos paralelos aleatorios.

Algoritmos

Se sabe que muchos problemas sobre matroides se pueden resolver en tiempo polinomial mediante algoritmos que acceden al matroide únicamente a través de un oráculo de independencia u otro oráculo de potencia equivalente, sin necesidad de ninguna suposición adicional sobre el tipo de matroide que se les ha proporcionado. Estos problemas resolubles en tiempo polinomial incluyen:

  • Encontrar una base de peso mínimo o máximo de un matroide ponderado , utilizando un algoritmo voraz . [ 2 ]
  • Particionar los elementos de un matroide en un número mínimo de conjuntos independientes y encontrar el conjunto más grande que sea simultáneamente independiente en dos matroides dados. Este último problema se denomina intersección de matroides , y las soluciones a ambos problemas están estrechamente relacionadas entre sí. [ 16 ]
  • Probar si un matroide esk{\displaystyle k}-conectado (en el sentido de Tutte 1966 ) parak3{\displaystyle k\leq 3}. [ 17 ]
  • Prueba para determinar si un matroide dado es gráfico [ 18 ] o regular . [ 19 ]
  • Encontrar una descomposición en orejas de un matroide dado, una secuencia de circuitos cuya unión es el matroide y en la que cada circuito permanece como tal después de que todos los circuitos anteriores de la secuencia se contraen. Dicha descomposición también puede encontrarse con la propiedad adicional de que un elemento del matroide elegido pertenece a cada circuito. [ 15 ]
  • Hallar una descomposición en ramas de un matroide dado, siempre que el ancho de sus ramas no sea mayor que una constante fija. [ 20 ]
  • Enumerar todas las bases, planos o circuitos de un matroide, en tiempo polinomial por conjunto de salida. [ 21 ]
  • Aproximación del número de bases mediante un esquema de aproximación aleatoria de tiempo totalmente polinomial , para un matroide connorte{\displaystyle n}elementos y rangor{\displaystyle r}, con la suposición adicional de que el número de bases está dentro de un factor polinomial del número der{\displaystyle r}-conjuntos de elementos. [ 22 ]

Pruebas de imposibilidad

Para muchos problemas de matroides, es posible demostrar que un oráculo de independencia no proporciona suficiente poder para permitir que el problema se resuelva en tiempo polinomial. La idea principal de estas demostraciones es encontrar dos matroides.METRO{\displaystyle M}yMETRO{\displaystyle M'}en las que difiere la respuesta al problema y que son difíciles de distinguir para un algoritmo. En particular, siMETRO{\displaystyle M}tiene un alto grado de simetría y se diferencia deMETRO{\displaystyle M'}solo en las respuestas a un pequeño número de consultas, entonces puede requerir un número muy grande de consultas para que un algoritmo esté seguro de distinguir una entrada de tipoMETRO{\displaystyle M}a partir de una entrada formada mediante el uso de una de las simetrías deMETRO{\displaystyle M}permutarMETRO{\displaystyle M'}. [ 3 ]

Un ejemplo sencillo de este enfoque puede utilizarse para demostrar que es difícil comprobar si un matroide es uniforme . Para simplificar la exposición, seanorte{\displaystyle n}ser par, dejarMETRO{\displaystyle M}ser el matroide uniformeUnortenorte/2{\displaystyle U{}_{n}^{n/2}}y dejarMETRO{\displaystyle M'}ser un matroide formado a partir deMETRO{\displaystyle M}haciendo uno solo de losnorte/2{\displaystyle n/2}conjuntos base de elementos deMETRO{\displaystyle M}dependiente en lugar de independiente. Para que un algoritmo pueda comprobar correctamente si su entrada es uniforme, debe ser capaz de distinguirMETRO{\displaystyle M}de cada permutación posible deMETRO{\displaystyle M'}. Pero para que un algoritmo determinista pueda hacerlo, debe probar cada uno de losnorte/2{\displaystyle n/2}-subconjuntos de elementos de los elementos: si faltara un conjunto, podría ser engañado por un oráculo que eligiera ese mismo conjunto como el que debe hacerse dependiente. Por lo tanto, probar si un matroide es uniforme puede requerir

(nortenorte/2)=Ω(2nortenorte){\displaystyle {\binom {n}{n/2}}=\Omega \left({\frac {2^{n}}{\sqrt {n}}}\right)}

consultas de independencia, mucho mayores que las polinómicas. Incluso un algoritmo aleatorio debe realizar casi tantas consultas para poder distinguir con seguridad estos dos matroides. [ 23 ]

Jensen y Korte (1982) formalizan este enfoque demostrando que, siempre que existan dos matroidesMETRO{\displaystyle M}yMETRO{\displaystyle M'}En el mismo conjunto de elementos pero con diferentes respuestas al problema, un algoritmo que resuelve correctamente el problema dado en esos elementos debe usar al menos

|aut(METRO)|i|arreglar(METRO,Qi)|{\displaystyle {\frac {|\operatorname {aut} (M)|}{\sum _{i}|\operatorname {fix} (M,Q_{i})|}}}

consultas, dondeaut(METRO){\displaystyle \operatorname {aut} (M)}denota el grupo de automorfismos deMETRO{\displaystyle M},Qi{\displaystyle Q_{i}}denota la familia de conjuntos cuya independencia difiere deMETRO{\displaystyle M}aMETRO{\displaystyle M'}, yarreglar(METRO,Qi){\displaystyle \operatorname {fix} (M,Q_{i})}denota el subgrupo de automorfismos que mapeaQi{\displaystyle Q_{i}}a sí mismo. Por ejemplo, el grupo de automorfismos del matroide uniforme es simplemente el grupo simétrico , con tamañonorte¡{\displaystyle n!}y en el problema de probar matroides uniformes solo había un conjuntoQi{\displaystyle Q_{i}}con|arreglar(METRO,Qi)|=(norte/2)¡2{\displaystyle |\operatorname {fix} (M,Q_{i})|=(n/2)!^{2}}, menor por un factor exponencial quenorte¡{\displaystyle n!}. [ 24 ]

Entre los problemas que se ha demostrado que son imposibles de calcular en tiempo polinomial para un algoritmo de oráculo matroide se incluyen:

  • Comprobar si un matroide dado es uniforme. [ 23 ]
  • Comprobar si un matroide dado contiene un matroide fijo.H{\displaystyle H}como menor de edad, excepto en los casos especiales queH{\displaystyle H}es uniforme con rango o corango como máximo uno. Más generalmente, siH{\displaystyle {\mathcal {H}}}es un conjunto finito fijo de matroides, y no hay ningún matroide uniforme enH{\displaystyle {\mathcal {H}}}, entonces no es posible probar en tiempo polinomial si un matroide dado contiene uno o más de los matroides enH{\displaystyle {\mathcal {H}}}como menor de edad. [ 25 ]
  • Comprobar si un matroide dado es binario , es representable sobre algún campo fijo particular , o si existe un campo sobre el cual sea representable. [ 26 ]
  • Resolver el problema de emparejamiento de matroides, en el que la entrada es un grafo y un matroide en sus vértices, y el objetivo es encontrar un emparejamiento en el grafo que sea lo más grande posible, sujeto a la restricción de que los vértices emparejados formen un conjunto independiente. [ 27 ]
  • Probar si un matroide dado es autodual , transversal , bipartito , euleriano u orientable . [ 3 ]
  • Calcular la circunferencia (tamaño del circuito más pequeño), el tamaño del circuito más grande, el número de circuitos, el número de bases, el número de planos, el número de planos de rango máximo, el tamaño del plano más grande, el polinomio de Tutte o la conectividad de un matroide dado. [ 3 ]

Entre el conjunto de todas las propiedades denorte{\displaystyle n}Matroides de -elementos, la fracción de las propiedades que no requieren tiempo exponencial para ser probadas tiende a cero, en el límite, comonorte{\displaystyle n}va hasta el infinito. [ 6 ]

Véase también

Notas

  1. ^ Robinson y Gales (1980 ) ; Hausmann y Korte (1981) ; Coullard y Hellerstein (1996) .
  2. 1 2 Edmonds (1971) .
  3. ^ Jensen y Korte ( 1982 ) .
  4. Mayhew (2008) .
  5. ^ Piff y galés (1971) ; Piff (1973) ; Knuth (1974) ; Bansal, Pendavingh y van der Pol (2012) .
  6. 1 2 Robinson y Welsh (1980) .
  7. Para obtener más información sobre matroides basados ​​en la axiomatización de la función de independencia, consulte, por ejemplo, Rado (1957) , Lazarson (1958) e Ingleton (1959) .
  8. Lovász (1981) ; Seymour (1981) ; Seymour y Walton (1981) ; Jensen y Korte (1982) ; Truemper (1982) .
  9. ^ Robinson y Gales ( 1980 ) ;Hausmann y Korte (1981) .
  10. Por ejemplo, véase Cunningham (1986) , Kelmans y Polesskiĭ (1994) , Fujishige y Zhang (1995) , Chávez Lomelí y Welsh (1996) , Khachiyan et al. (2005) y Oum y Seymour (2007) .
  11. Azar, Broder y Frieze (1994) .
  12. Karp, Upfal y Wigderson (1988) ; Coullard y Hellerstein (1996) .
  13. ^ Edmonds (1971) ; Robinson y Gales (1980) ; Hausmann y Korte (1981) .
  14. 1 2 Hausmann y Korte (1981) .
  15. 1 2 Coullard y Hellerstein (1996) .
  16. Edmonds (1965) ; Cunningham (1986) .
  17. Bixby y Cunningham (1979) . Un artículo que afirma un resultado similar para cualquier constante fija.k{\displaystyle k}fue anunciado por Cunningham y Edmonds casi al mismo tiempo, pero parece no haber sido publicado. Truemper (1998) , págs. 186-187, escribe "Localizark{\displaystyle k}-sumas para generalk4{\displaystyle k\geq 4}es mucho más difícil... No sabemos cómo se puede lograr esto de manera eficiente para matroides binarios, y mucho menos para matroides generales."
  18. Seymour (1981) .
  19. Truemper (1982) .
  20. Oum y Seymour (2007) .
  21. Khachiyan et al. (2005) .
  22. Chávez Lomelí y Welsh (1996) . Por el contrario, no es posible que los algoritmos deterministas aproximen con precisión el número de bases de un matroide en tiempo polinomial ( Azar, Broder y Frieze 1994 ) .
  23. ^ Robinson y Gales (1980 ) ; Jensen y Korte (1982) .
  24. Además de estar en Jensen & Korte (1982) , esta formalización se analiza en Korte & Schrader (1981) . En la mayoría de las aplicaciones de esta técnica en Jensen & Korte (1982) ,METRO{\displaystyle M}es uniforme, pero Seymour (1981) aplica la misma idea a un matroide no uniforme pero altamente simétrico.
  25. Seymour y Walton (1981) . Los resultados de Seymour (1981) y Jensen y Korte (1982) dan casos especiales de esto para los problemas de encontrar unU42{\displaystyle U{}_{4}^{2}}menor y un menor de matroide de Vámos , respectivamente. Probar si un matroide es gráfico o regular puede expresarse en términos de un conjunto finito de menores prohibidos, y puede resolverse en tiempo polinomial, pero los menores prohibidos para estos problemas incluyen el matroide uniforme.U42{\displaystyle U{}_{4}^{2}}, por lo que no contradicen este resultado de imposibilidad.
  26. Seymour (1981) demostró esto para matroides binarios, Seymour y Walton (1981) para campos finitos, Truemper (1982) para campos arbitrarios y Jensen y Korte (1982) para la existencia de un campo sobre el cual el matroide es representable.
  27. Lovász (1981) ; Jensen y Korte (1982) . Sin embargo, el caso especial de este problema para grafos bipartitos se puede resolver en tiempo polinomial como un problema de intersección de matroides .

Referencias

  • Azar, Y.; Broder, AZ ; Frieze, AM (1994), "Sobre el problema de aproximar el número de bases de un matroide", Information Processing Letters , 50 (1): 9–11 , doi : 10.1016/0020-0190(94)90037-X , MR 1279491 .
  • Bansal, N.; Pendavingh, R.; van der Pol, J. (2012), Sobre el número de matroides , arXiv : 1206.6270 , Bibcode : 2012arXiv1206.6270B.
  • Bixby, Robert E.; Cunningham, William H. (1979), "Matroides, grafos y 3-conectividad", Teoría de grafos y temas relacionados (Actas de la Conferencia, Univ. Waterloo, Waterloo, Ont., 1977) , Nueva York: Academic Press, pp. 91–103 , MR 0538038  .
  • Chávez Lomelí, Laura; Welsh, Dominic (1996), "Aproximación aleatoria del número de bases", Matroid Theory (Seattle, WA, 1995) , Contemporary Mathematics, vol.  197, Providence, RI: American Mathematical Society, pp. 371–376 , doi : 10.1090/conm/197/02534 , ISBN  978-0-8218-0508-4, MR 1411698 .
  • Coullard, Collette R .; Hellerstein, Lisa (1996), "Independencia y oráculos de puertos para matroides, con una aplicación a la teoría del aprendizaje computacional", Combinatorica , 16 (2): 189–208 , doi : 10.1007/BF01844845 , MR 1401892 .
  • Cunningham, William H. (1986), "Límites mejorados para algoritmos de partición e intersección de matroides", SIAM Journal on Computing , 15 (4): 948–957 , doi : 10.1137/0215066 , MR 0861361 .
  • Edmonds, Jack (1965), "Partición mínima de un matroide en subconjuntos independientes" , Journal of Research of the National Bureau of Standards , 69B : 67–72 , doi : 10.6028/jres.069b.004 , MR 0190025 .
  • Edmonds, Jack (1971), "Matroides y el algoritmo voraz", Mathematical Programming , 1 : 127–136 , doi : 10.1007/BF01584082 , MR 0297357 .
  • Fujishige, Satoru; Zhang, Xiaodong (1995), "Un algoritmo eficiente de escalado de costos para el problema de asignación independiente", Journal of the Operations Research Society of Japan , 38 (1): 124– 136, doi : 10.15807/jorsj.38.124 , MR 1337446 .
  • Hausmann, Dirk; Korte, Bernhard (1978), "Límites inferiores de la complejidad en el peor caso de algunos algoritmos de oráculo", Matemáticas Discretas , 24 (3): 261– 276, doi : 10.1016/0012-365X(78)90097-3 , MR 0523316 .
  • Hausmann, D.; Korte, B. (1981), "Definiciones algorítmicas versus axiomáticas de matroides", Programación matemática en Oberwolfach (Proc. Conf., Math. Forschungsinstitut, Oberwolfach, 1979) , Estudios de programación matemática, vol.  14, págs. 98–111 , doi : 10.1007/BFb0120924 , ISBN  978-3-642-00805-4, MR 0600125 .
  • Ingleton, AW (1959), "Una nota sobre funciones de independencia y rango", Journal of the London Mathematical Society , Segunda Serie, 34 : 49–56 , doi : 10.1112/jlms/s1-34.1.49 , MR 0101848 .
  • Jensen, Per M.; Korte, Bernhard (1982), "Complejidad de los algoritmos de propiedades de matroides", SIAM Journal on Computing , 11 (1): 184–190 , doi : 10.1137/0211014 , MR 0646772 .
  • Karp, Richard M.; Upfal , Eli ; Wigderson, Avi (1988), "La complejidad de la búsqueda paralela", Journal of Computer and System Sciences , 36 (2): 225–253 , doi : 10.1016/0022-0000(88)90027-X , MR 0950432 .
  • Kelmans, AK; Polesskiĭ, VP (1994), "Conjuntos extremos y problemas de recubrimiento y empaquetamiento en matroides", Temas selectos en matemáticas discretas (Moscú, 1972–1990) , Amer. Math. Soc. Transl. Ser. 2, vol.  158, Providence, RI: Amer. Math. Soc., pp. 149–174 , MR 1269136  .
  • Khachiyan, L .; Boros, E.; Elbassioni, K.; Gurvich, V.; Makino, K. (2005), "Sobre la complejidad de algunos problemas de enumeración para matroides", SIAM Journal on Discrete Mathematics , 19 (4): 966–984 , CiteSeerX 10.1.1.124.4286 , doi : 10.1137/S0895480103428338 , MR 2206374  .
  • Knuth, Donald E. (1974), "El número asintótico de geometrías", Journal of Combinatorial Theory , Serie A, 16 (3): 398–400 , doi : 10.1016/0097-3165(74)90063-6 , MR 0335312 .
  • Korte, Bernhard; Hausmann, Dirk (1978), "An analysis of the greedy heuristic for independence systems", Algorithmic Aspects of Combinatorics (Conf., Vancouver Island, BC, 1976) , Annals of Discrete Mathematics, vol.  2, pp. 65–74 , doi : 10.1016/S0167-5060(08)70322-4 , ISBN  978-0-7204-1043-3, MR 0500689 .
  • Korte, B.; Schrader, R. (1981), "Un estudio sobre técnicas de oráculo", en Gruska, Jozef; Chytil, Michal (eds.), Fundamentos matemáticos de la informática 1981, Actas del 10.º Simposio Štrbské Pleso, Checoslovaquia, 31 de agosto - 4 de septiembre de 1981 , Lecture Notes in Computer Science, vol.  118, Berlín: Springer, pp. 61-77 , doi : 10.1007/3-540-10856-4_74 , ISBN  978-3-540-10856-6, MR 0652740 .
  • Lazarson, T. (1958), "El problema de la representación para funciones de independencia", Journal of the London Mathematical Society , Segunda Serie, 33 : 21–25 , doi : 10.1112/jlms/s1-33.1.21 , MR 0098701 .
  • Lovász, L. (1981), "El problema de coincidencia de matroides", Métodos algebraicos en teoría de grafos, vol. I, II (Szeged, 1978) , Coloq. Matemáticas. Soc. János Bolyai, vol.  25, Ámsterdam: Holanda Septentrional, págs. 495–517 , MR 0642059  .
  • Mayhew, Dillon (2008), "Complejidad de matroides y descripciones no sucintas", SIAM Journal on Discrete Mathematics , 22 (2): 455– 466, arXiv : math/0702567 , doi : 10.1137/050640576 , MR 2399359 .
  • Oum, Sang-il ; Seymour, Paul (2007), "Prueba de ancho de rama", Journal of Combinatorial Theory , Serie B, 97 (3): 385–393 , doi : 10.1016/j.jctb.2006.06.006 , MR 2305892 .
  • Piff, MJ (1973), "Un límite superior para el número de matroides", Journal of Combinatorial Theory , Serie B, 14 (3): 241– 245, doi : 10.1016/0095-8956(73)90006-3 , MR 0316282 .
  • Piff, MJ; Welsh, DJA (1971), "El número de geometrías combinatorias", The Bulletin of the London Mathematical Society , 3 : 55–56 , doi : 10.1112/blms/3.1.55 , MR 0282867 .
  • Rado, R. (1942), "Un teorema sobre relaciones de independencia", The Quarterly Journal of Mathematics , Segunda Serie, 13 : 83–89 , Bibcode : 1942QJMat..13...83R , doi : 10.1093/qmath/os-13.1.83 , MR 0008250 .
  • Rado, R. (1957), "Nota sobre funciones de independencia", Actas de la Sociedad Matemática de Londres , Tercera Serie, 7 : 300–320 , doi : 10.1112/plms/s3-7.1.300 , MR 0088459 .
  • Robinson, GC; Welsh, DJA (1980), "La complejidad computacional de las propiedades de los matroides", Actas Matemáticas de la Sociedad Filosófica de Cambridge , 87 (1): 29– 45, Bibcode : 1980MPCPS..87...29R , doi : 10.1017/S0305004100056498 , MR 0549295 .
  • Seymour, PD (1981), "Reconocimiento de matroides gráficos", Combinatorica , 1 (1): 75– 78, doi : 10.1007/BF02579179 , MR 0602418 .
  • Seymour, PD ; Walton, PN (1981), "Detección de menores de matroides", Journal of the London Mathematical Society , Segunda Serie, 23 (2): 193–203 , doi : 10.1112/jlms/s2-23.2.193 , MR 0609098 .
  • Truemper, K. (1982), "Sobre la eficiencia de las pruebas de representabilidad para matroides", European Journal of Combinatorics , 3 (3): 275– 291, doi : 10.1016/s0195-6698(82)80039-5 , MR 0679212 .
  • Truemper, K. (1998), Descomposición de matroides (PDF) (  edición revisada), archivado del original (PDF) el 29-08-2017 , recuperado el 30-08-2012.
  • Tutte, WT (1966), "Conectividad en matroides", Canadian Journal of Mathematics , 18 : 1301–1324 , doi : 10.4153/CJM-1966-129-2 , MR 0205880 .