stringtranslate.com

Ancho del árbol

En teoría de grafos , el ancho de árbol de un gráfico no dirigido es un número entero que especifica, de manera informal, qué tan lejos está el gráfico de ser un árbol . El ancho de árbol más pequeño es 1; las gráficas con ancho de árbol 1 son exactamente los árboles y los bosques . Las gráficas con un ancho de árbol como máximo de 2 son las gráficas en serie-paralelo . Los gráficos máximos con un ancho de árbol exactamente k se llaman k -árboles , y los gráficos con un ancho de árbol como máximo k se llaman k -árboles parciales . Muchas otras familias de gráficos bien estudiadas también tienen un ancho de árbol acotado.

El ancho del árbol se puede definir formalmente de varias maneras equivalentes: en términos del tamaño del conjunto de vértices más grande en una descomposición en árbol del gráfico, en términos del tamaño de la camarilla más grande en una terminación cordal del gráfico, en términos del máximo orden de un refugio que describe una estrategia para un juego de persecución-evasión en el gráfico, o en términos del orden máximo de una zarza , una colección de subgrafos conectados que se tocan entre sí.

El ancho de árbol se usa comúnmente como parámetro en el análisis de complejidad parametrizado de algoritmos de gráficos . Muchos algoritmos que son NP-hard para gráficos generales se vuelven más fáciles cuando el ancho del árbol está limitado por una constante.

El concepto de ancho de árbol fue introducido originalmente por Umberto Bertelè y Francesco Brioschi (1972) bajo el nombre de dimensión . Posteriormente fue redescubierto por Rudolf Halin  (1976), basándose en propiedades que comparte con un parámetro gráfico diferente, el número de Hadwiger . Posteriormente fue redescubierto nuevamente por Neil Robertson y Paul Seymour  (1984) y desde entonces ha sido estudiado por muchos otros autores. [1]

Definición

Un gráfico con ocho vértices y una descomposición en árbol del mismo en un árbol con seis nodos. Cada borde del gráfico conecta dos vértices que se enumeran juntos en algún nodo del árbol, y cada vértice del gráfico se enumera en los nodos de un subárbol contiguo del árbol. Cada nodo del árbol enumera como máximo tres vértices, por lo que el ancho de esta descomposición es dos.

Una descomposición en árbol de un gráfico G = ( V , E ) es un árbol T con nodos X 1 , …, X n , donde cada X i es un subconjunto de V , que satisface las siguientes propiedades [2] ( se utiliza el término nodo para referirse a un vértice de T para evitar confusión con vértices de G ):

  1. La unión de todos los conjuntos X i es igual a V . Es decir, cada vértice del gráfico está contenido en al menos un nodo del árbol.
  2. Si X i y X j contienen un vértice v , entonces todos los nodos X k de T en el camino (único) entre Xi y X j también contienen v . De manera equivalente, los nodos del árbol que contienen el vértice v forman un subárbol conectado de T.
  3. Para cada arista ( v , w ) del gráfico, hay un subconjunto Xi que contiene tanto v como w . Es decir, los vértices son adyacentes en el gráfico sólo cuando los subárboles correspondientes tienen un nodo en común.

El ancho de la descomposición de un árbol es el tamaño de su conjunto más grande X i menos uno. El ancho de árbol tw( G ) de un gráfico G es el ancho mínimo entre todas las posibles descomposiciones de árbol de G . En esta definición, el tamaño del conjunto más grande se reduce en uno para que el ancho de un árbol sea igual a uno.

De manera equivalente, el ancho del árbol de G es uno menos que el tamaño de la camarilla más grande en el gráfico cordal que contiene G con el número de camarilla más pequeño . Se puede obtener un gráfico cordal con este tamaño de camarilla agregando a G un borde entre cada dos vértices que pertenezcan al menos a uno de los conjuntos Xi .

Treewidth también se puede caracterizar en términos de paraísos , funciones que describen una estrategia de evasión para un determinado juego de persecución-evasión definido en un gráfico. Un gráfico G tiene un ancho de árbol k si y sólo si tiene un refugio de orden k + 1 pero no de orden superior, donde un refugio de orden k + 1 es una función β que asigna cada conjunto X de como máximo k vértices en G a uno de los componentes conectados de G \ X y que obedece a la propiedad de monotonicidad de que β ( Y ) ⊆ β ( X ) siempre que XY .

Una zarza de orden cuatro en un gráfico de cuadrícula de 3 × 3, cuya existencia muestra que el gráfico tiene un ancho de árbol de al menos 3

También se puede hacer una caracterización similar usando zarzas , familias de subgrafos conectados que se tocan entre sí (lo que significa que comparten un vértice o están conectados por un borde). [3] El orden de una zarza es el conjunto de aciertos más pequeño para la familia de subgrafos, y el ancho del árbol de un gráfico es uno menos que el orden máximo de una zarza.

Ejemplos

Todo gráfico completo K n tiene un ancho de árbol n – 1 . Esto se ve más fácilmente usando la definición de ancho de árbol en términos de gráficos cordales: el gráfico completo ya es cordal y agregar más aristas no puede reducir el tamaño de su camarilla más grande.

Un gráfico conectado con al menos dos vértices tiene un ancho de árbol 1 si y sólo si es un árbol. Un árbol tiene un ancho de árbol uno por el mismo razonamiento que para los gráficos completos (es decir, es cordal y tiene un tamaño de camarilla máximo de dos). Por el contrario, si un gráfico tiene un ciclo, entonces cada terminación cordal del gráfico incluye al menos un triángulo que consta de tres vértices consecutivos del ciclo, de lo que se deduce que el ancho de su árbol es al menos dos.

Ancho de árbol delimitado

Familias de gráficos con ancho de árbol acotado

Para cualquier constante fija k , las gráficas de ancho de árbol como máximo k se denominan k -árboles parciales . Otras familias de gráficos con ancho de árbol acotado incluyen los gráficos de cactus , los pseudobosques , los gráficos de series-paralelas , los gráficos de planos exteriores , los gráficos de Halin y las redes apolíneas . [4] Los gráficos de flujo de control que surgen en la compilación de programas estructurados también tienen un ancho de árbol limitado, lo que permite que ciertas tareas, como la asignación de registros, se realicen de manera eficiente en ellos. [5]

Los gráficos planos no tienen un ancho de árbol limitado, porque el gráfico de cuadrícula n × n es un gráfico plano con un ancho de árbol exactamente n . Por lo tanto, si F es una familia de gráficos menores cerrados con un ancho de árbol acotado, no puede incluir todos los gráficos planos. Por el contrario, si algún gráfico plano no puede ocurrir como menor para los gráficos de la familia F , entonces hay una constante k tal que todos los gráficos en F tienen un ancho de árbol como máximo k . Es decir, las tres condiciones siguientes son equivalentes entre sí: [6]

  1. F es una familia cerrada menor de gráficos de ancho de árbol acotado;
  2. Uno de los finitos menores prohibidos que caracterizan a F es plano;
  3. F es una familia de gráficos menores cerrados que no incluye todos los gráficos planos.

Menores prohibidos

Los cuatro menores prohibidos para el ancho del árbol 3: K 5 (arriba a la izquierda), la gráfica del octaedro (abajo a la izquierda), la gráfica de Wagner (arriba a la derecha) y la gráfica del prisma pentagonal (abajo a la derecha)

Para cada valor finito de k , las gráficas de ancho de árbol como máximo k pueden caracterizarse por un conjunto finito de menores prohibidos . (Es decir, cualquier gráfico de ancho de árbol > k incluye uno de los gráficos del conjunto como menor). Cada uno de estos conjuntos de menores prohibidos incluye al menos un gráfico plano.

Para valores mayores de k , el número de menores prohibidos crece al menos tan rápido como el exponencial de la raíz cuadrada de  k . [8] Sin embargo, los límites superiores conocidos sobre el tamaño y el número de menores prohibidos son mucho más altos que este límite inferior. [9]

Algoritmos

Calcular el ancho del árbol

Es NP-completo determinar si un gráfico dado G tiene un ancho de árbol como máximo para una variable k dada . [10] Sin embargo, cuando k es una constante fija, se pueden reconocer los gráficos con un ancho de árbol k y se puede construir una descomposición de árbol de ancho k para ellos, en tiempo lineal. [11] La dependencia temporal de este algoritmo de k es exponencial.

Debido al papel que desempeña el ancho del árbol en una enorme cantidad de campos, se desarrollaron diferentes algoritmos prácticos y teóricos que calculan el ancho del árbol de un gráfico. Dependiendo de la aplicación en cuestión, se puede preferir una mejor relación de aproximación o una mejor dependencia en el tiempo de ejecución del tamaño de la entrada o del ancho del árbol. La siguiente tabla proporciona una descripción general de algunos de los algoritmos de ancho de árbol. Aquí k es el ancho del árbol y n es el número de vértices de un gráfico de entrada G. Cada uno de los algoritmos genera en el tiempo f ( k ) ⋅ g ( n ) una descomposición del ancho dada en la columna Aproximación. Por ejemplo, el algoritmo de Bodlaender (1996) en el tiempo 2 O ( k 3 )n construye una descomposición en árbol del gráfico de entrada G de ancho como máximo k o informa que el ancho del árbol de G es mayor que k . De manera similar, el algoritmo de Bodlaender et al. (2016) en el tiempo 2 O ( k )n construye una descomposición en árbol del gráfico de entrada G de ancho como máximo 5 k + 4 o informa que el ancho del árbol de G es mayor que k . Korhonen (2021) mejoró esto a 2 k + 1 en el mismo tiempo de ejecución.

Problema no resuelto en matemáticas :

¿ Se puede calcular el ancho de árbol de gráficos planos en tiempo polinomial?

No se sabe si la determinación del ancho de árbol de gráficos planos es NP-completa o si su ancho de árbol se puede calcular en tiempo polinómico. [12]

En la práctica, un algoritmo de Shoikhet & Geiger (1997) puede determinar el ancho de árbol de gráficos con hasta 100 vértices y el ancho de árbol hasta 11, encontrando una terminación cordal de estos gráficos con el ancho de árbol óptimo.

Para gráficos más grandes, se pueden utilizar técnicas basadas en búsqueda, como la búsqueda de rama y límite (BnB) y la búsqueda del mejor primero para calcular el ancho del árbol. Estos algoritmos se encuentran en cualquier momento en el que, cuando se detienen temprano, generarán un límite superior en el ancho del árbol.

Gogate y Dechter propusieron el primer algoritmo BnB para calcular el ancho de un árbol, llamado algoritmo QuickBB [13] . [14] Dado que la calidad de cualquier algoritmo BnB depende en gran medida de la calidad del límite inferior utilizado, Gogate y Dechter [14] también propusieron un algoritmo novedoso para calcular un límite inferior en el ancho del árbol llamado ancho mínimo menor. [14] En un nivel alto, el algoritmo de ancho mínimo menor combina el hecho de que el ancho del árbol de un gráfico nunca es mayor que su grado mínimo o su menor para producir un límite inferior del ancho del árbol. El algoritmo de ancho mínimo menor construye repetidamente un gráfico menor contrayendo un borde entre un vértice de grado mínimo y uno de sus vecinos, hasta que solo queda un vértice. Se garantiza que el máximo del grado mínimo sobre estos menores construidos será un límite inferior en el ancho del árbol del gráfico.

Dow y Korf [15] mejoraron el algoritmo QuickBB utilizando la búsqueda "mejor primero" . En ciertos gráficos, este algoritmo de búsqueda del mejor primero es un orden de magnitud más rápido que QuickBB.

Resolver otros problemas en gráficas de ancho de árbol pequeño

A principios de la década de 1970, se observó que una gran clase de problemas de optimización combinatoria definidos en gráficos podían resolverse eficientemente mediante programación dinámica no serial siempre que el gráfico tuviera una dimensión acotada , [16] un parámetro que se demostró que era equivalente a ancho del árbol por Bodlaender (1998). Posteriormente, varios autores observaron de forma independiente a finales de la década de 1980 [17] que muchos problemas algorítmicos que son NP-completos para gráficos arbitrarios pueden resolverse eficientemente mediante programación dinámica para gráficos de ancho de árbol acotado, utilizando las descomposiciones de árbol de estos gráficos.

Como ejemplo, el problema de colorear un gráfico de ancho de árbol k se puede resolver utilizando un algoritmo de programación dinámica en una descomposición en árbol del gráfico. Para cada conjunto X i de la descomposición del árbol, y cada partición de los vértices de X i en clases de color, el algoritmo determina si esa coloración es válida y puede extenderse a todos los nodos descendientes en la descomposición del árbol, combinando información de naturaleza similar. tipo calculado y almacenado en esos nodos. El algoritmo resultante encuentra una coloración óptima de un gráfico de n vértices en el tiempo O ( k k + O (1) n ) , un límite de tiempo que hace que este problema de parámetros fijos sea manejable .

teorema de courcelle

Para una clase grande de problemas, existe un algoritmo de tiempo lineal para resolver un problema de la clase si se proporciona una descomposición de árbol con un ancho de árbol acotado constante. Específicamente, el teorema de Courcelle [18] establece que si un problema de grafos se puede expresar en la lógica de grafos usando lógica monádica de segundo orden , entonces se puede resolver en tiempo lineal en gráficos con ancho de árbol acotado. La lógica monádica de segundo orden es un lenguaje para describir propiedades de gráficos que utiliza las siguientes construcciones:

Consideremos, por ejemplo, el problema de los 3 colores para gráficos. Para un gráfico G = ( V , E ) , este problema pregunta si es posible asignar a cada vértice vV uno de los 3 colores de modo que no se asigne el mismo color a dos vértices adyacentes. Este problema se puede expresar en lógica monádica de segundo orden de la siguiente manera:

,

donde W 1 , W 2 , W 3 representan los subconjuntos de vértices que tienen cada uno de los 3 colores. Por lo tanto, según los resultados de Courcelle, el problema de los 3 colores se puede resolver en tiempo lineal para un gráfico dada una descomposición en árbol de ancho de árbol constante acotado.

Parámetros relacionados

Ancho de ruta

El ancho de ruta de un gráfico tiene una definición muy similar al ancho de árbol mediante descomposiciones de árboles, pero está restringido a descomposiciones de árboles en las que el árbol subyacente de la descomposición es un gráfico de ruta . Alternativamente, el ancho de ruta se puede definir a partir de gráficos de intervalo de manera análoga a la definición del ancho de árbol a partir de gráficos de cuerdas. Como consecuencia, el ancho de ruta de un gráfico es siempre al menos tan grande como el ancho de su árbol, pero sólo puede ser mayor en un factor logarítmico. [4] Otro parámetro, el ancho de banda del gráfico , tiene una definición análoga a partir de los gráficos de intervalo adecuados y es al menos tan grande como el ancho de ruta. Otros parámetros relacionados incluyen la profundidad del árbol , un número acotado para una familia de gráficos menores cerrados si y sólo si la familia excluye una ruta, y la degeneración , una medida de la escasez de un gráfico que es como máximo igual a su ancho del árbol.

Tamaño menor de cuadrícula

Debido a que el ancho del árbol de un gráfico de cuadrícula n × n es n , el ancho del árbol de un gráfico G siempre es mayor o igual al tamaño de la cuadrícula cuadrada menor más grande de G. En la otra dirección, el teorema de la cuadrícula menor de Robertson y Seymour muestra que existe una función ilimitada f tal que la cuadrícula menor cuadrada más grande tiene un tamaño al menos f ( r ) donde r es el ancho del árbol. [19] Los mejores límites conocidos para f son que f debe ser al menos Ω( r d ) para alguna constante fija d > 0 , y como máximo [20]

Para conocer la notación Ω en el límite inferior, consulte Notación O grande . Se conocen límites más estrictos para familias de gráficos restringidas, lo que lleva a algoritmos eficientes para muchos problemas de optimización de gráficos en esas familias a través de la teoría de la bidimensionalidad . [21] El teorema de la cuadrícula de Halin proporciona un análogo de la relación entre el ancho del árbol y el tamaño menor de la cuadrícula para gráficos infinitos. [22]

Diámetro y ancho del árbol local.

Se dice que una familia F de gráficos cerrados tomando subgrafos tiene un ancho de árbol local acotado , o la propiedad diámetro-ancho del árbol , si el ancho de árbol de los gráficos de la familia está acotado superiormente por una función de su diámetro . Si también se supone que la clase está cerrada al aceptar menores , entonces F tiene un ancho de árbol local acotado si y sólo si uno de los menores prohibidos para F es un gráfico de vértices . [23] Las pruebas originales de este resultado mostraron que el ancho del árbol en una familia de gráficos sin ápice menor crece como máximo dos veces exponencialmente en función del diámetro; [24] más tarde esto se redujo a un exponencial simple [21] y finalmente a un límite lineal. [25] El ancho de árbol local acotado está estrechamente relacionado con la teoría algorítmica de la bidimensionalidad , [26] y cada propiedad de gráfico definible en lógica de primer orden se puede decidir para una familia de gráficos sin ápice menor en una cantidad de tiempo que es solo ligeramente superlineal. . [27]

También es posible que una clase de gráficos que no esté cerrada bajo menores tenga un ancho de árbol local limitado. En particular, esto es trivialmente cierto para una clase de gráficos de grados acotados, ya que los subgrafos de diámetro acotados tienen un tamaño acotado. Otro ejemplo lo dan los gráficos uniplanares , gráficos que se pueden dibujar en el plano con un cruce por arista y, más generalmente, los gráficos que se pueden dibujar sobre una superficie de género acotado con un número acotado de cruces por arista. Al igual que con las familias de gráficos menores cerrados de ancho de árbol local acotado, esta propiedad ha señalado el camino hacia algoritmos de aproximación eficientes para estos gráficos. [28]

Número de Hadwiger y funciones S

Halin (1976) define una clase de parámetros de gráficos que llama funciones S , que incluyen el ancho del árbol. Se requiere que estas funciones de gráficos a números enteros sean cero en gráficos sin aristas , que sean monótonas menores (una función f se denomina "monótona menor" si, siempre que H es menor de G , se tiene f ( H ) ≤ f ( G ) ), para aumentar en uno cuando se agrega un nuevo vértice que sea adyacente a todos los vértices anteriores y para tomar el valor mayor de los dos subgrafos a cada lado de un separador de camarilla . El conjunto de todas estas funciones forma una red completa bajo las operaciones de minimización y maximización por elementos. El elemento superior de esta red es el ancho del árbol y el elemento inferior es el número de Hadwiger , el tamaño del menor completo más grande en el gráfico dado.

Notas

  1. ^ Diestel (2005) págs. 354–355
  2. ^ Diestel (2005) sección 12.3
  3. ^ Seymour y Thomas (1993).
  4. ^ abc Bodlaender (1998).
  5. ^ Thorup (1998).
  6. ^ Robertson y Seymour (1986).
  7. ^ Arnborg, Proskurowski y Corneil (1990); Satyanarayana y Tung (1990).
  8. ^ Ramachandramurthi (1997).
  9. ^ Lagergren (1993).
  10. ^ Arnborg, Corneil y Proskurowski (1987).
  11. ^ Bodlaender (1996).
  12. ^ Kao (2008).
  13. ^ "Vibhav Gogate". personal.utdallas.edu . Consultado el 27 de noviembre de 2022 .
  14. ^ abc Gogate, Vibhav; Dechter, Rina (11 de julio de 2012). "Un algoritmo completo en cualquier momento para el ancho del árbol". arXiv : 1207.4109 [cs.DS].
  15. ^ "Mejor primera búsqueda de ancho de árbol". www.aaai.org . Consultado el 27 de noviembre de 2022 .
  16. ^ Bertelè y Brioschi (1972).
  17. ^ Arnborg y Proskurowski (1989); Berna, Lawler y Wong (1987); Bodlaender (1988).
  18. ^ Courcelle (1990); Courcelle (1992)
  19. ^ Robertson, Seymour. Graficar menores. V. Excluyendo un gráfico plano . [1]Icono de acceso abierto
  20. ^ Chekuri y Chuzhoy (2016)
  21. ^ ab Demaine y Hajiaghayi (2008).
  22. ^ Diéstel (2004).
  23. ^ Eppstein (2000).
  24. ^ Eppstein (2000); Demaine y Hajiaghayi (2004a).
  25. ^ Demaine y Hajiaghayi (2004b).
  26. ^ Demaine y col. (2004); Demaine y Hajiaghayi (2008).
  27. ^ Frick y Grohe (2001).
  28. ^ Grigoriev y Bodlaender (2007).

Referencias