stringtranslate.com

Gráfico implícito

En el estudio de algoritmos de gráficos , una representación gráfica implícita (o más simplemente, gráfico implícito ) es un gráfico cuyos vértices o aristas no se representan como objetos explícitos en la memoria de una computadora, sino que se determinan algorítmicamente a partir de alguna otra entrada, por ejemplo, una función computable .

Representaciones del barrio

La noción de un gráfico implícito es común en varios algoritmos de búsqueda que se describen en términos de gráficos. En este contexto, un gráfico implícito puede definirse como un conjunto de reglas para definir todos los vecinos para cualquier vértice especificado. [1] Este tipo de representación de gráfico implícito es análoga a una lista de adyacencia , en el sentido de que proporciona un acceso fácil a los vecinos de cada vértice. Por ejemplo, al buscar una solución a un rompecabezas como el Cubo de Rubik , se puede definir un gráfico implícito en el que cada vértice representa uno de los posibles estados del cubo, y cada arista representa un movimiento de un estado a otro. Es sencillo generar los vecinos de cualquier vértice probando todos los movimientos posibles en el rompecabezas y determinando los estados alcanzados por cada uno de estos movimientos; sin embargo, es necesaria una representación implícita, ya que el espacio de estados del Cubo de Rubik es demasiado grande para permitir que un algoritmo enumere todos sus estados. [2]

En la teoría de la complejidad computacional , se han definido varias clases de complejidad en relación con los grafos implícitos, definidos como se ha indicado anteriormente mediante una regla o algoritmo para enumerar los vecinos de un vértice. Por ejemplo, PPA es la clase de problemas en los que se da como entrada un grafo implícito no dirigido (en el que los vértices son cadenas binarias de n bits, con un algoritmo de tiempo polinomial para enumerar los vecinos de cualquier vértice) y un vértice de grado impar en el grafo, y debe encontrarse un segundo vértice de grado impar. Por el lema del apretón de manos , existe un vértice de este tipo; encontrar uno es un problema en NP , pero los problemas que se pueden definir de esta manera pueden no ser necesariamente NP-completos , ya que se desconoce si PPA = NP. PPAD es una clase análoga definida en grafos dirigidos implícitos que ha atraído la atención en la teoría de juegos algorítmicos porque contiene el problema de calcular un equilibrio de Nash . [3] El problema de probar la alcanzabilidad de un vértice a otro en un grafo implícito también puede usarse para caracterizar clases de complejidad no deterministas acotadas en el espacio, incluyendo NL (la clase de problemas que pueden caracterizarse por la alcanzabilidad en grafos dirigidos implícitos cuyos vértices son cadenas de bits de O(log n ) -bit), SL (la clase análoga para grafos no dirigidos) y PSPACE (la clase de problemas que pueden caracterizarse por la alcanzabilidad en grafos implícitos con cadenas de bits de longitud polinómica). En este contexto de teoría de la complejidad, los vértices de un grafo implícito pueden representar los estados de una máquina de Turing no determinista , y los bordes pueden representar posibles transiciones de estado, pero los grafos implícitos también pueden usarse para representar muchos otros tipos de estructura combinatoria. [4] PLS , otra clase de complejidad, captura la complejidad de encontrar óptimos locales en un grafo implícito. [5]

Los modelos de grafos implícitos también se han utilizado como una forma de relativización para demostrar separaciones entre clases de complejidad que son más fuertes que las separaciones conocidas para modelos no relativizados. Por ejemplo, Childs et al. utilizaron representaciones de vecindad de grafos implícitos para definir un problema de recorrido de grafos que se puede resolver en tiempo polinomial en una computadora cuántica , pero que requiere tiempo exponencial para resolverse en cualquier computadora clásica. [6]

Esquemas de etiquetado de adyacencia

En el contexto de representaciones eficientes de grafos, JH Muller definió una estructura local o esquema de etiquetado de adyacencia para un grafo G en una familia dada F de grafos como una asignación de un identificador de O (log n ) bits a cada vértice de G , junto con un algoritmo (que puede depender de F pero es independiente del grafo individual G ) que toma como entrada dos identificadores de vértice y determina si son o no los puntos finales de una arista en G . Es decir, este tipo de representación implícita es análoga a una matriz de adyacencia : es sencillo verificar si dos vértices son adyacentes, pero encontrar los vecinos de cualquier vértice puede implicar recorrer todos los vértices y probar cuáles son vecinos. [7]

Las familias de gráficos con esquemas de etiquetado de adyacencia incluyen:

Gráficas de grado acotado
Si cada vértice en G tiene como máximo d vecinos, se pueden numerar los vértices de G de 1 a n y dejar que el identificador de un vértice sea la ( d + 1) -tupla de su propio número y los números de sus vecinos. Dos vértices son adyacentes cuando los primeros números en sus identificadores aparecen más tarde en el identificador del otro vértice. De manera más general, se puede utilizar el mismo enfoque para proporcionar una representación implícita para grafos con arboricidad acotada o degeneración acotada , incluidos los grafos planares y los grafos en cualquier familia de grafos menores cerrados . [8] [9]
Gráficas de intersección
Un gráfico de intervalo es el gráfico de intersección de un conjunto de segmentos de línea en la línea real . Se le puede dar un esquema de etiquetado de adyacencia en el que los puntos que son puntos finales de los segmentos de línea se numeran de 1 a 2 n y cada vértice del gráfico se representa por los números de los dos puntos finales de su intervalo correspondiente. Con esta representación, se puede verificar si dos vértices son adyacentes comparando los números que los representan y verificando que estos números definen intervalos superpuestos. El mismo enfoque funciona para otros gráficos de intersección geométricos, incluidos los gráficos de boxicidad acotada y los gráficos circulares , y subfamilias de estas familias, como los gráficos hereditarios de distancia y los cografos . [8] [10] Sin embargo, una representación de gráfico de intersección geométrica no siempre implica la existencia de un esquema de etiquetado de adyacencia, porque puede requerir más de un número logarítmico de bits para especificar cada objeto geométrico. Por ejemplo, representar un gráfico como un gráfico de disco unitario puede requerir exponencialmente muchos bits para las coordenadas de los centros del disco. [11]
Gráficos de comparabilidad de baja dimensión
El gráfico de comparabilidad para un conjunto parcialmente ordenado tiene un vértice para cada elemento del conjunto y una arista entre dos elementos del conjunto que están relacionados por el orden parcial. La dimensión de orden de un orden parcial es el número mínimo de órdenes lineales cuya intersección es el orden parcial dado. Si un orden parcial tiene una dimensión de orden acotada, entonces se puede definir un esquema de etiquetado de adyacencia para los vértices en su gráfico de comparabilidad etiquetando cada vértice con su posición en cada uno de los órdenes lineales definitorios y determinando que dos vértices son adyacentes si cada par de números correspondiente en sus etiquetas tiene la misma relación de orden que cada otro par. En particular, esto permite un esquema de etiquetado de adyacencia para los gráficos de comparabilidad cordal , que provienen de órdenes parciales de dimensión como máximo cuatro. [12] [13]

La conjetura del grafo implícito

Problema sin resolver en matemáticas :
¿Cada familia hereditaria de grafos de crecimiento lento tiene una representación implícita?

No todas las familias de grafos tienen estructuras locales. Para algunas familias, un simple argumento de conteo demuestra que los esquemas de etiquetado de adyacencia no existen: solo se pueden usar O ( n log n ) bits para representar un grafo completo, por lo que una representación de este tipo solo puede existir cuando el número de grafos de n -vértices en la familia dada F es como máximo 2 O ( n log n ) . Las familias de grafos que tienen un número mayor de grafos que este, como los grafos bipartitos o los grafos sin triángulos , no tienen esquemas de etiquetado de adyacencia. [8] [10] Sin embargo, incluso las familias de grafos en las que el número de grafos en la familia es pequeño podrían no tener un esquema de etiquetado de adyacencia; por ejemplo, la familia de grafos con menos aristas que vértices tiene 2 grafos de O ( n log n ) n -vértices pero no tiene un esquema de etiquetado de adyacencia, porque uno podría transformar cualquier grafo dado en un grafo más grande en esta familia agregando un nuevo vértice aislado para cada arista, sin cambiar su etiquetabilidad. [7] [10] Kannan et al. preguntaron si tener una caracterización de subgrafo prohibido y tener como máximo 2 grafos de O ( n log n ) n -vértices son juntos suficientes para garantizar la existencia de un esquema de etiquetado de adyacencia; esta pregunta, que Spinrad reformuló como una conjetura, permanece abierta. [8] [10] Entre las familias de grafos que satisfacen las condiciones de la conjetura y para las cuales no hay un esquema de etiquetado de adyacencia conocido están la familia de grafos de disco y grafos de intersección de segmentos de línea.

Esquemas de etiquetado y gráficos universales inducidos

Si una familia de grafos F tiene un esquema de etiquetado de adyacencia, entonces los grafos de n -vértices en F pueden representarse como subgrafos inducidos de un grafo universal inducido común de tamaño polinomial, consistiendo el grafo en todos los identificadores de vértices posibles. Por el contrario, si se puede construir un grafo universal inducido de este tipo, entonces las identidades de sus vértices pueden usarse como etiquetas en un esquema de etiquetado de adyacencia. [8] Para esta aplicación de representaciones de grafos implícitos, es importante que las etiquetas usen la menor cantidad de bits posible, porque la cantidad de bits en las etiquetas se traduce directamente en la cantidad de vértices en el grafo universal inducido. Alstrup y Rauhe demostraron que cualquier árbol tiene un esquema de etiquetado de adyacencia con log 2 n + O ( log * n ) bits por etiqueta, de lo que se deduce que cualquier grafo con arboricidad k tiene un esquema con k log 2 n + O ( log * n ) bits por etiqueta y un grafo universal con n k 2 O ( log * n ) vértices. En particular, los grafos planares tienen arboricidad como máximo tres, por lo que tienen grafos universales con un número casi cúbico de vértices. [14] Este límite fue mejorado por Gavoille y Labourel, quienes demostraron que los grafos planares y las familias de grafos menores cerrados tienen un esquema de etiquetado con 2 log 2 n + O ( log log n ) bits por etiqueta, y que los grafos de ancho de árbol acotado tienen un esquema de etiquetado con log 2 n + O ( log log n ) bits por etiqueta. [15] El límite para los grafos planares fue mejorado nuevamente por Bonamy, Gavoille y Piliczuk, quienes demostraron que los grafos planares tienen un esquema de etiquetado con (4/3+o(1))log 2 n bits por etiqueta. [16] Finalmente, Dujmović et al. demostraron que los grafos planares tienen un esquema de etiquetado con (1+o(1))log 2 n bits por etiqueta, lo que da un grafo universal con n 1+o(1) vértices. [17]

Evasividad

La conjetura de Aanderaa–Karp–Rosenberg se refiere a grafos implícitos dados como un conjunto de vértices etiquetados con una regla de caja negra para determinar si dos vértices son adyacentes. Esta definición difiere de un esquema de etiquetado de adyacencia en que la regla puede ser específica para un grafo en particular en lugar de ser una regla genérica que se aplica a todos los grafos de una familia. Debido a esta diferencia, cada grafo tiene una representación implícita. Por ejemplo, la regla podría ser buscar el par de vértices en una matriz de adyacencia separada. Sin embargo, un algoritmo al que se le da como entrada un grafo implícito de este tipo debe operar sobre él solo a través de la prueba de adyacencia implícita, sin referencia a cómo se implementa la prueba.

Una propiedad de grafo es la cuestión de si un grafo pertenece a una familia dada de grafos; la respuesta debe permanecer invariable bajo cualquier reetiquetado de los vértices. En este contexto, la cuestión a determinar es cuántos pares de vértices deben probarse para determinar su adyacencia, en el peor de los casos, antes de que la propiedad de interés pueda determinarse como verdadera o falsa para un grafo implícito dado. Rivest y Vuillemin demostraron que cualquier algoritmo determinista para cualquier propiedad de grafo no trivial debe probar un número cuadrático de pares de vértices. [18] La conjetura completa de Aanderaa–Karp–Rosenberg es que cualquier algoritmo determinista para una propiedad de grafo monótona (una que sigue siendo verdadera si se agregan más aristas a un grafo con la propiedad) debe, en algunos casos, probar cada par posible de vértices. Se ha demostrado que varios casos de la conjetura son verdaderos (por ejemplo, se sabe que es verdadera para grafos con un número primo de vértices [19] ), pero la conjetura completa permanece abierta. También se han estudiado variantes del problema para algoritmos aleatorios y algoritmos cuánticos.

Bender y Ron han demostrado que, en el mismo modelo utilizado para la conjetura de evasividad, es posible distinguir en tiempo constante los grafos acíclicos dirigidos de los grafos que están muy lejos de ser acíclicos. Por el contrario, un tiempo tan rápido no es posible en los modelos de grafos implícitos basados ​​en vecindades [20] .

Véase también

Referencias

  1. ^ Korf, Richard E. (2008), "Búsqueda gráfica implícita basada en discos en tiempo lineal", Journal of the ACM , 55 (6), Artículo 26, 40pp, doi :10.1145/1455248.1455250, MR  2477486, S2CID  13969607.
  2. ^ Korf, Richard E. (2008), "Minimizar la E/S de disco en la búsqueda en amplitud de dos bits" (PDF) , Proc. 23.ª Conferencia AAAI sobre Inteligencia Artificial , págs. 317-324. El cubo de Rubik 3×3×3 estándar contiene 4,3252 × 10 19 estados y es demasiado grande para realizar una búsqueda exhaustiva.
  3. ^ Papadimitriou, Christos (1994), "Sobre la complejidad del argumento de paridad y otras pruebas ineficientes de existencia" (PDF) , Journal of Computer and System Sciences , 48 (3): 498–532, doi :10.1016/S0022-0000(05)80063-7, archivado desde el original (PDF) el 2016-03-04 , consultado el 2011-07-12
  4. ^ Immerman, Neil (1999), "Ejercicio 3.7 (Todo es un gráfico)", Complejidad descriptiva , Textos de posgrado en informática, Springer-Verlag, pág. 48, ISBN 978-0-387-98600-5.
  5. ^ Yannakakis, Mihalis (2009), "Equilibrios, puntos fijos y clases de complejidad", Computer Science Review , 3 (2): 71–85, arXiv : 0802.2831 , doi :10.1016/j.cosrev.2009.03.004.
  6. ^ Childs, Andrew M.; Cleve, Richard; Deotto, Enrico; Farhi, Edward; Gutmann, Sam; Spielman, Daniel A. (2003), "Aceleración algorítmica exponencial mediante un paseo cuántico", Actas del trigésimo quinto simposio anual de la ACM sobre teoría de la computación , Nueva York: ACM, págs. 59-68, arXiv : quant-ph/0209131 , doi : 10.1145/780542.780552, ISBN 1-58113-674-9, MR  2121062, S2CID  308884.
  7. ^ ab Muller, John Harold (1988), Estructura local en clases de grafos , tesis doctoral, Instituto Tecnológico de Georgia.
  8. ^ abcde Kannan, Sampath; Naor, Moni ; Rudich, Steven (1992), "Representación implícita de grafos", SIAM Journal on Discrete Mathematics , 5 (4): 596–603, doi :10.1137/0405049, MR  1186827.
  9. ^ Chrobak, Marek; Eppstein, David (1991), "Orientaciones planares con bajo grado de salida y compactación de matrices de adyacencia" (PDF) , Theoretical Computer Science , 86 (2): 243–266, doi : 10.1016/0304-3975(91)90020-3.
  10. ^ abcd Spinrad, Jeremy P. (2003), "2. Representación gráfica implícita", Representaciones gráficas eficientes, American Mathematical Soc., págs. 17-30, ISBN 0-8218-2815-0.
  11. ^ Kang, Ross J.; Müller, Tobias (2011), Representaciones de gráficos mediante productos esféricos y escalares (PDF) , archivado desde el original (PDF) el 2012-03-16 , consultado el 2011-07-12.
  12. ^ Ma, Tze Heng; Spinrad, Jeremy P. (1991), "Órdenes parciales sin ciclos y gráficos de comparabilidad cordal", Order , 8 (1): 49–61, doi :10.1007/BF00385814, MR  1129614, S2CID  120479154.
  13. ^ Curtis, Andrew R.; Izurieta, Clemente; Joeris, Benson; Lundberg, Scott; McConnell, Ross M. (2010), "Una representación implícita de gráficos de comparabilidad cordal en tiempo lineal", Discrete Applied Mathematics , 158 (8): 869–875, doi : 10.1016/j.dam.2010.01.005 , MR  2602811.
  14. ^ Alstrup, Stephen; Rauhe, Theis (2002), "Gráficos universales inducidos pequeños y representaciones gráficas implícitas compactas" (PDF) , Actas del 43.º Simposio anual IEEE sobre fundamentos de la informática , págs. 53-62, doi :10.1109/SFCS.2002.1181882, ISBN 0-7695-1822-2, S2CID  1820524, archivado desde el original (PDF) el 27 de septiembre de 2011 , consultado el 13 de julio de 2011.
  15. ^ Arnaud, Labourel; Gavoille, Cyril (2007), "Representación implícita más corta para gráficos planares y gráficos de ancho de árbol acotado" (PDF) , Actas del 15.º Simposio europeo anual sobre algoritmos , Lecture Notes in Computer Science, vol. 4698, págs. 582–593, doi :10.1007/978-3-540-75520-3_52, ISBN 978-3-540-75519-7.
  16. ^ Bonamy, Marthe; Gavoille, Cyril; Pilipczuk, Michał (2020), "Esquemas de etiquetado más cortos para gráficos planares", Actas del Simposio ACM-SIAM 2020 sobre algoritmos discretos , págs. 446–462, arXiv : 1908.03341 , doi :10.1007/978-3-540-75520-3_52.
  17. ^ Dujmović, Vida ; Espéret, Louis; Joret, Gwenaël; Gavoille, Cyril; Micek, Piotr; Morin, Pat (2020), "Etiquetado de adyacencia para gráficos planos (y más)", 61.º Simposio anual del IEEE sobre fundamentos de la informática , págs. 577–588, arXiv : 2003.04280 , doi : 10.1007/978-3-540-75520 -3_52.
  18. ^ Rivest, Ronald L. ; Vuillemin, Jean (1975), "Una generalización y prueba de la conjetura de Aanderaa-Rosenberg", Proc. 7th ACM Symposium on Theory of Computing , Albuquerque, Nuevo México, Estados Unidos, págs. 6–11, CiteSeerX 10.1.1.309.7236 , doi :10.1145/800116.803747, S2CID  16220596 {{citation}}: Mantenimiento de CS1: falta la ubicación del editor ( enlace ).
  19. ^ Kahn, Jeff; Saks, Michael ; Sturtevant, Dean (1983), "Un enfoque topológico de la evasión", Simposio sobre fundamentos de la informática , Los Alamitos, CA, EE. UU.: IEEE Computer Society, págs. 31-33, doi : 10.1109/SFCS.1983.4, ISBN 0-8186-0508-1.
  20. ^ Bender, Michael A.; Ron, Dana (2000), "Prueba de aciclicidad de grafos dirigidos en tiempo sublineal", Autómatas, lenguajes y programación (Ginebra, 2000) , Lecture Notes in Comput. Sci., vol. 1853, Berlín: Springer, págs. 809–820, doi :10.1007/3-540-45022-X_68, ISBN 978-3-540-67715-4, Sr.  1795937.