stringtranslate.com

oráculo matroide

En matemáticas e informática, un oráculo matroide es una subrutina a través de la cual un algoritmo puede acceder a una matroide , una estructura combinatoria abstracta que puede usarse para describir las dependencias lineales entre vectores en un espacio vectorial o los árboles de expansión de un gráfico , entre otros. aplicaciones.

El oráculo de este tipo más comúnmente utilizado es un oráculo de independencia , una subrutina para probar si un conjunto de elementos matroides es independiente. También se han utilizado otros tipos de oráculos; Se ha demostrado que algunos de ellos son más débiles que los oráculos de independencia, otros más fuertes y otros equivalentes en poder computacional. [1]

Muchos algoritmos que realizan cálculos en matroides han sido diseñados para tomar un oráculo como entrada, lo que les permite ejecutarse eficientemente sin cambios en muchos tipos diferentes de matroides y sin suposiciones adicionales sobre qué tipo de matroides están usando. Por ejemplo, dado un oráculo de independencia para cualquier matroide, es posible encontrar la base de peso mínimo de la matroide aplicando un algoritmo codicioso que agrega elementos a la base en orden de peso, usando el oráculo de independencia para probar si cada elemento puede ser agregado. [2]

En la teoría de la complejidad computacional , el modelo de Oracle ha llevado a límites inferiores incondicionales que demuestran que ciertos problemas matroides no se pueden resolver en tiempo polinomial, sin invocar suposiciones no probadas como la suposición de que P ≠ NP . Los problemas que se ha demostrado que son difíciles de esta manera incluyen probar si una matroide es binaria o uniforme , o probar si contiene ciertos menores fijos . [3]

¿Por qué 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 de bases de la matroide, [4] estas representaciones no son sucintas : una matroide con elementos puede expandirse hasta convertirse en una representación que ocupa un espacio exponencial en . De hecho, el número de matroides distintas en los elementos crece doblemente exponencialmente a medida que

[5]

de lo cual se deduce que cualquier representación explícita capaz de manejar todas las matroides posibles necesariamente utilizaría el espacio exponencial. [6]

En cambio, diferentes tipos de matroides pueden representarse más eficientemente a partir de otras estructuras a partir de las cuales se definen: matroides uniformes a partir de sus dos parámetros numéricos, matroides gráficas , matroides bicirculares y gammaides a partir de gráficos, matroides lineales a partir de matrices , etc. Un algoritmo para realizar cálculos en matroides arbitrarias necesita un método uniforme para acceder a su argumento, en lugar de tener que ser rediseñado para cada una de estas clases de matroides. El modelo de Oracle proporciona una manera conveniente de codificar y clasificar los tipos de acceso que podría necesitar un algoritmo.

Historia

A partir de Rado (1942), las "funciones de independencia" o " funciones -" se han estudiado como una de las muchas formas equivalentes de axiomatizar las matroides. Una función de independencia asigna un conjunto de elementos matroides al número si el conjunto es independiente o 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 matroides también han sido parte de los primeros trabajos algorítmicos sobre matroides. Así, Edmonds (1965), al estudiar problemas de partición de matroides, supuso que el acceso a la matroide dada se realizaba a través de una subrutina que toma como entrada un conjunto independiente y un elemento , y devuelve un circuito en (necesariamente único y que contiene , 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 & Hausmann (1978) y Hausmann & Korte (1978), los investigadores comenzaron a estudiar los oráculos desde el punto de vista de demostrar límites inferiores en algoritmos para matroides y estructuras relacionadas. Estos dos artículos de Hausmann y Korte se referían al problema de encontrar un conjunto independiente de cardinalidad máxima, que es fácil para las matroides pero (como demostraron) más difícil de aproximar o calcular exactamente para sistemas de independencia más generales representados por un oráculo de independencia. Este trabajo inició una avalancha de artículos a finales de los años 1970 y principios de los 1980 que mostraban resultados de dureza similares para problemas en matroides [8] y comparaban el poder de diferentes tipos de oráculos matroides. [9]

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

Tipos de oráculos

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

Poder relativo de diferentes oráculos.

Aunque existen muchos tipos conocidos de oráculos, la elección de cuál utilizar puede simplificarse, porque muchos de ellos son equivalentes en potencia computacional. Se dice que un oráculo es polinómicamente reducible a otro oráculo si cualquier llamada a puede ser simulada mediante un algoritmo que accede a la matroide utilizando únicamente el oráculo y toma el tiempo polinómico medido en términos del número de elementos de la matroide; en términos de teoría de la complejidad, esto es una reducción de Turing . Se dice que dos oráculos son polinómicamente equivalentes si son polinomialmente reducibles entre sí. Si y son polinomialmente equivalentes, entonces cada resultado que prueba la existencia o no existencia de un algoritmo de tiempo polinomial para un problema matroide usando Oracle también prueba lo mismo para Oracle .

Por ejemplo, el oráculo de la independencia es polinómicamente 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 probar la independencia de un conjunto usando como máximo llamadas al oráculo comenzando desde un conjunto vacío , agregando elementos del conjunto dado un elemento a la vez y usando el oráculo de búsqueda de circuitos para Probar si cada suma preserva la independencia del conjunto que se ha construido hasta el momento. En la otra dirección, si hay disponible un oráculo de independencia, el circuito en un conjunto se puede encontrar usando como máximo llamadas al oráculo probando, para cada elemento , si es independiente y devolviendo los elementos para los cuales la respuesta es no. El oráculo de la independencia también es polinomialmente 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 del circuito y el oráculo que prueba si un conjunto dado es cerrado son todos más débiles que el oráculo de la independencia: pueden simularse en tiempo polinomial mediante un algoritmo que accede a la matroide utilizando un oráculo de la independencia, pero no al revés. . Además, ninguno de estos tres oráculos puede simularse entre sí en un tiempo polinómico. El oráculo de la circunferencia es más fuerte que el oráculo de la 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 son significativamente diferentes en poder computacional. El oráculo de rango permite la construcción de una base de peso mínimo mediante consultas simultáneas, de los prefijos del orden de los elementos matroides: un elemento pertenece a la base óptima si y sólo si el rango de su prefijo difiere del rango del anterior prefijo. Por el contrario, encontrar una base mínima con un oráculo de independencia es mucho más lento: se puede resolver de manera determinista en pasos de tiempo y existe un límite inferior de par para algoritmos paralelos aleatorios.

Algoritmos

Se sabe que muchos problemas de matroides se pueden resolver en tiempo polinomial , mediante algoritmos que acceden a la matroide sólo a través de un oráculo de independencia u otro oráculo de poder equivalente, sin necesidad de suposiciones adicionales sobre qué tipo de matroide se les ha dado. Estos problemas con solución polinomial incluyen:

Pruebas de imposibilidad

Para muchos problemas 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 pruebas es encontrar dos matroides en las que la respuesta al problema difiere y que son difíciles de diferenciar para un algoritmo. En particular, si tiene un alto grado de simetría y difiere sólo en las respuestas a un pequeño número de consultas, entonces puede ser necesario un gran número de consultas para que un algoritmo esté seguro de distinguir una entrada de tipo de una entrada. formado usando una de las simetrías de permutar . [3]

Se puede utilizar un ejemplo sencillo de este enfoque para demostrar que es difícil comprobar si una matroide es uniforme . Para simplificar la exposición, sea par, sea la matroide uniforme y sea una matroide formada al hacer uno solo de los conjuntos de bases de elementos dependientes en lugar de independientes. Para que un algoritmo pruebe correctamente si su entrada es uniforme, debe poder distinguir entre todas las permutaciones posibles de . Pero para que un algoritmo determinista lo haga, debe probar cada uno de los subconjuntos de elementos: si omitió un conjunto, podría ser engañado por un oráculo que eligiera ese mismo conjunto como el que convertiría en dependiente. Por lo tanto, probar si una matroide es uniforme puede requerir

consultas de independencia, mucho más altas que las polinomiales. Incluso un algoritmo aleatorio debe realizar casi tantas consultas para poder distinguir con seguridad estas dos matroides. [23]

Jensen y Korte (1982) formalizan este enfoque demostrando que, siempre que existan dos matroides y en el mismo conjunto de elementos pero con diferentes respuestas al problema, un algoritmo que resuelva correctamente el problema dado en esos elementos debe utilizar al menos

consultas, donde denota el grupo de automorfismos de , denota la familia de conjuntos cuya independencia difiere de a y denota el subgrupo de automorfismos que se asigna a sí mismo. Por ejemplo, el grupo de automorfismo de la matroide uniforme es solo el grupo simétrico , con tamaño , y en el problema de probar matroides uniformes solo había un conjunto con , más pequeño en un factor exponencial que . [24]

Los problemas que se ha demostrado que son imposibles de calcular en tiempo polinómico para un algoritmo de Oracle matroide incluyen:

Entre el conjunto de todas las propiedades de las matroides de elementos, la fracción de las propiedades que no requieren tiempo exponencial para probarse llega a cero, en el límite, ya que llega al infinito. [6]

Ver también

Notas

  1. ^ ab Robinson y Welsh (1980); Hausmann y Korte (1981); Coullard y Hellerstein (1996).
  2. ^ ab Edmonds (1971).
  3. ^ abcde 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. ^ ab Robinson y Welsh (1980).
  7. ^ Para investigaciones adicionales sobre matroides basadas 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. ^ abcdef Robinson y galés (1980); Hausmann y Korte (1981).
  10. ^ Véase, por ejemplo, Cunningham (1986), Kelmans & Polesskiĭ (1994) Fujishige & Zhang (1995), Chávez Lomelí & 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. ^ ab Hausmann y Korte (1981).
  15. ^ ab Coullard y Hellerstein (1996).
  16. ^ Edmonds (1965); Cunningham (1986).
  17. ^ Bixby y Cunningham (1979). Cunningham y Edmonds anunciaron un artículo que afirmaba un resultado similar para cualquier constante fija aproximadamente al mismo tiempo, pero parece no haber sido publicado. Truemper (1998), págs. 186-187, escribe: "Localizar sumas -para generales es mucho más difícil... No sabemos cómo se puede lograr esto de manera eficiente para matroides binarias, y mucho menos para matroides generales".
  18. ^ Seymour (1981).
  19. ^ Truemper (1982).
  20. ^ Oum y Seymour (2007).
  21. ^ Khachiyan y otros. (2005).
  22. Chávez Lomelí & Galés (1996). Por el contrario, los algoritmos deterministas no pueden aproximar con precisión el número de bases de una matroide en tiempo polinómico (Azar, Broder y Frieze 1994).
  23. ^ ab Robinson y Welsh (1980); Jensen y Korte (1982).
  24. ^ Además de encontrarse en Jensen y Korte (1982), esta formalización se analiza en Korte y Schrader (1981). En la mayoría de las aplicaciones de esta técnica en Jensen y Korte (1982), es uniforme, pero Seymour (1981) aplica la misma idea a una matroide no uniforme pero altamente simétrica.
  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 un menor y un Vámos matroide menor, respectivamente. Probar si una matroide es gráfica 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 la matroide uniforme , por lo que no contradicen este resultado de imposibilidad.
  26. ^ Seymour (1981) demostró esto para matroides binarias, 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 la matroide es representable.
  27. ^ Lovász (1981); Jensen y Korte (1982). Sin embargo, el caso especial de este problema para gráficos bipartitos se puede resolver en tiempo polinomial como un problema de intersección matroide .

Referencias