stringtranslate.com

Oráculo matroide

En matemáticas y ciencias de la computación, un oráculo matroide es una subrutina a través de la cual un algoritmo puede acceder a un 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 otras aplicaciones.

El oráculo de este tipo más utilizado es el oráculo de independencia , una subrutina para comprobar 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 algunos equivalentes en potencia computacional. [1]

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

En la teoría de la complejidad computacional , el modelo de oráculo ha llevado a límites inferiores incondicionales que prueban que ciertos problemas de matroides no se pueden resolver en tiempo polinomial, sin invocar suposiciones no probadas como la suposición de que P ≠ NP . Los problemas que han demostrado ser difíciles de esta manera incluyen probar si un matroide es binario 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 base del matroide, [4] estas representaciones no son sucintas : un matroide con elementos puede expandirse en una representación que toma el espacio exponencialmente en . De hecho, el número de matroides distintos en elementos crece doblemente exponencialmente a medida que

[5]

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

En cambio, se pueden representar de manera más eficiente diferentes tipos de matroides a partir de las 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 gamroides a partir de grafos, matroides lineales a partir de matrices , etc. Sin embargo, un algoritmo para realizar cálculos en matroides arbitrarias necesita un método uniforme para acceder a su argumento, en lugar de tener que rediseñarse para cada una de estas clases de matroides. El modelo de oráculo proporciona una forma conveniente de codificar y clasificar los tipos de acceso que un algoritmo podría necesitar.

Historia

A partir de Rado (1942), se han estudiado las "funciones de independencia" o "-funciones" como una de las muchas formas equivalentes de axiomatizar matroides. Una función de independencia asigna un conjunto de elementos de matroides al número si el conjunto es independiente o 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 de matroides también han formado parte de los primeros trabajos algorítmicos sobre matroides. Así, Edmonds (1965), al estudiar los problemas de partición de matroides, supuso que el acceso al matroide dado se hacía 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 y Hausmann (1978) y Hausmann y Korte (1978), los investigadores comenzaron a estudiar los oráculos desde el punto de vista de la demostración de límites inferiores en algoritmos para matroides y estructuras relacionadas. Estos dos artículos de Hausmann y Korte se ocupaban del problema de encontrar un conjunto independiente de cardinalidad máxima, que es fácil para los 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 dio inicio a una oleada de artículos a fines 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 matroides. [10] También ha habido investigaciones continuas sobre límites 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.

Poder relativo de diferentes oráculos

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

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 probar la independencia de un conjunto utilizando como máximo llamadas al oráculo comenzando desde un conjunto vacío , añadiendo elementos del conjunto dado un elemento a la vez y utilizando el oráculo de búsqueda de circuitos para probar si cada adición preserva la independencia del conjunto que se ha construido hasta ahora. En la otra dirección, si se dispone de un oráculo de independencia, se puede encontrar el circuito en un conjunto utilizando como máximo llamadas al oráculo probando, para cada elemento , si es independiente y devolviendo los elementos para los que la respuesta es no. El oráculo de 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 de base, el oráculo de circuito y el oráculo que prueba si un conjunto dado está 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 viceversa. Además, ninguno de estos tres oráculos puede simularse entre sí en tiempo polinomial. El oráculo de circunferencia 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 son significativamente diferentes en potencia 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 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. Por el contrario, encontrar una base mínima con un oráculo de independencia es mucho más lento: se puede resolver de forma determinista en pasos de tiempo, y existe un límite inferior de par para algoritmos paralelos aleatorios.

Algoritmos

Se sabe que muchos problemas sobre matroides pueden resolverse en tiempo polinómico 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 suposiciones adicionales sobre qué tipo de matroide se les ha asignado. Estos problemas que pueden resolverse polinómicamente incluyen:

Pruebas de imposibilidad

Para muchos problemas de matroides, es posible demostrar que un oráculo de independencia no proporciona suficiente potencia para permitir que el problema se resuelva en tiempo polinomial. La idea principal de estas pruebas es encontrar dos matroides y en las que la respuesta al problema difiere y que son difíciles de distinguir para un algoritmo. En particular, si tiene un alto grado de simetría y difiere de solo 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 formada mediante el uso de una de las simetrías de para permutar . [3]

Un ejemplo simple de este enfoque se puede utilizar para mostrar que es difícil probar si un matroide es uniforme . Para simplificar la exposición, sea par, sea el matroide uniforme , y sea un matroide formado a partir de haciendo que uno solo de los conjuntos base de elementos de sea dependiente en lugar de independiente. Para que un algoritmo pruebe correctamente si su entrada es uniforme, debe ser capaz de distinguir de cada permutación posible de . Pero para que un algoritmo determinista lo haga, debe probar cada uno de los subconjuntos de elementos de los elementos: si se olvida de un conjunto, podría ser engañado por un oráculo que eligiera ese mismo conjunto como el que se haría dependiente. Por lo tanto, probar si un matroide es uniforme puede requerir

consultas de independencia, mucho más altas 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 al demostrar 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 automorfismos del matroide uniforme es simplemente 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 por un factor exponencial que . [24]

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

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

Véase también

Notas

  1. ^ ab Robinson y Welsh (1980); Hausmann y Korte (1981); Coullard y Hellerstein (1996).
  2. ^Por Edmonds (1971).
  3. ^ abcde Jensen y Korte (1982).
  4. ^ " El hombre que se ha enamorado de mí" (2008).
  5. ^ Piff y galés (1971); Piff (1973); Knuth (1974); Bansal, Pendavingh y van der Pol (2012).
  6. ^ por Robinson y Welsh (1980).
  7. ^ Para investigaciones adicionales sobre matroides basadas en la axiomatización de la función de independencia, véase, 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 Welsh (1980); Hausmann y Korte (1981).
  10. ^ Véase, por ejemplo, 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. ^ por Hausmann y Korte (1981).
  15. ^ desde 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 que no se publicó. Truemper (1998), págs. 186-187, escribe: "Localizar sumas para general 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 y otros (2005).
  22. ^ Chávez Lomelí & 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 & 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 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 un menor y un menor matroide de Vámos , respectivamente. La comprobación de si un matroide es gráfico o regular se puede expresar en términos de un conjunto finito de menores prohibidos, y se puede resolver en tiempo polinomial, pero los menores prohibidos para estos problemas incluyen el matroide uniforme , 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