stringtranslate.com

Ancho de ruta

En teoría de grafos , una descomposición de camino de un gráfico G es, informalmente, una representación de G como un gráfico de camino "engrosado" , [ 1] y el ancho de camino de G es un número que mide cuánto se engrosó el camino para formar  G. Más formalmente, una descomposición de ruta es una secuencia de subconjuntos de vértices de G tal que los puntos finales de cada arista aparecen en uno de los subconjuntos y tal que cada vértice aparece en una subsecuencia contigua de los subconjuntos, [2] y el ancho de ruta es uno menos que el tamaño del conjunto más grande en tal descomposición. El ancho de ruta también se conoce como espesor de intervalo (uno menos que el tamaño máximo de camarilla en un supergrafo de intervalo de G ), número de separación de vértices o número de búsqueda de nodos . [3]

El ancho de ruta y las descomposiciones de ruta son muy análogos al ancho de árbol y las descomposiciones de árbol . Desempeñan un papel clave en la teoría de grafos menores : las familias de grafos que están cerradas bajo grafos menores y no incluyen todos los bosques pueden caracterizarse por tener un ancho de camino acotado, [2] y los "vórtices" que aparecen en la teoría de la estructura general. para familias de gráficos menores cerrados tienen un ancho de ruta limitado. [4] El ancho de ruta y los gráficos de ancho de ruta acotado también tienen aplicaciones en el diseño VLSI , dibujo de gráficos y lingüística computacional .

Es NP-difícil encontrar el ancho de ruta de gráficos arbitrarios, o incluso aproximarlo con precisión. [5] [6] Sin embargo, el problema es manejable con parámetros fijos : probar si un gráfico tiene un ancho de ruta k se puede resolver en una cantidad de tiempo que depende linealmente del tamaño del gráfico pero superexponencialmente de  k . [7] Además, para varias clases especiales de gráficos, como árboles , el ancho de ruta se puede calcular en tiempo polinómico sin depender de  k . [8] [9] Muchos problemas en algoritmos de gráficos se pueden resolver eficientemente en gráficos de ancho de ruta acotado, mediante el uso de programación dinámica en una descomposición de ruta del gráfico. [10] La descomposición de rutas también se puede utilizar para medir la complejidad espacial de algoritmos de programación dinámica en gráficos de ancho de árbol acotado . [11]

Definición

Un gráfico de ejemplo G con ancho de ruta 2 y su descomposición de ruta de ancho 2. La parte inferior de la imagen es el mismo gráfico y descomposición de ruta con color agregado para énfasis. (Este ejemplo es una adaptación del gráfico presentado en Bodlaender (1994a), énfasis añadido)

En el primero de su famosa serie de artículos sobre grafos menores , Neil Robertson y Paul Seymour  (1983) definen una descomposición de caminos de un grafo G como una secuencia de subconjuntos Xi de vértices de G , con dos propiedades:

  1. Para cada arista de G , existe una i tal que ambos puntos finales de la arista pertenecen al subconjunto Xi , y
  2. Por cada tres índices ijk ,

La segunda de estas dos propiedades equivale a exigir que los subconjuntos que contienen cualquier vértice particular formen una subsecuencia contigua de la secuencia completa. En el lenguaje de los artículos posteriores en la serie menor de gráficos de Robertson y Seymour, una descomposición de ruta es una descomposición de árbol ( X , T ) en la que el árbol subyacente T de la descomposición es un gráfico de ruta .

El ancho de una descomposición de ruta se define de la misma manera que para las descomposiciones de árbol, como max i | X yo | − 1 , y el ancho de ruta de G es el ancho mínimo de cualquier descomposición de ruta de  G . La resta de uno del tamaño de X i en esta definición hace poca diferencia en la mayoría de las aplicaciones de ancho de ruta, pero se utiliza para hacer que el ancho de ruta de un gráfico de ruta sea igual a uno.

Caracterizaciones alternativas

Como describe Bodlaender (1998), el ancho de ruta se puede caracterizar de muchas maneras equivalentes.

Secuencias de pegado

Una descomposición de caminos se puede describir como una secuencia de gráficos Gi que se pegan identificando pares de vértices de gráficos consecutivos en la secuencia, de modo que el resultado de realizar todos estos pegados es G. Los gráficos G i pueden tomarse como los subgrafos inducidos de los conjuntos X i en la primera definición de descomposiciones de trayectorias, con dos vértices en subgrafos inducidos sucesivos pegados cuando son inducidos por el mismo vértice en G y en la otra dirección. se pueden recuperar los conjuntos X i como conjuntos de vértices de los gráficos G i . El ancho de la descomposición del camino es entonces uno menos que el número máximo de vértices en uno de los gráficos G i . [2]

Grosor del intervalo

Un gráfico de intervalo con un ancho de ruta dos, uno menor que la cardinalidad de sus cuatro camarillas máximas ABC , ACD , CDE y CDF .

El ancho de ruta de cualquier gráfico G es igual a uno menos que el número de camarilla más pequeño de un gráfico de intervalo que contiene G como subgrafo. [12] Es decir, para cada descomposición de trayectoria de G se puede encontrar un supergrafo de intervalo de G , y para cada supergrafo de intervalo de G se puede encontrar una descomposición de trayectoria de G , tal que el ancho de la descomposición sea uno menos que la camarilla número del gráfico de intervalo.

En una dirección, supongamos que se da una descomposición de trayectoria de G. Entonces se pueden representar los nodos de la descomposición como puntos en una línea (en orden de trayectoria) y representar cada vértice v como un intervalo cerrado que tiene estos puntos como puntos finales. De esta manera, los nodos de descomposición de caminos que contienen v corresponden a los puntos representativos en el intervalo para v . El gráfico de intersección de los intervalos formados a partir de los vértices de G es un gráfico de intervalo que contiene G como subgrafo. Sus camarillas máximas están dadas por los conjuntos de intervalos que contienen los puntos representativos, y su tamaño máximo de camarilla es uno más el ancho de ruta de G.

En la otra dirección, si G es un subgrafo de un gráfico de intervalo con número de camarilla p + 1 , entonces G tiene una descomposición de camino de ancho p cuyos nodos están dados por las camarillas máximas del gráfico de intervalo. Por ejemplo, el gráfico de intervalos que se muestra con su representación de intervalos en la figura tiene una descomposición de trayectoria con cinco nodos, correspondientes a sus cinco camarillas máximas ABC , ACD , CDE , CDF y FG ; el tamaño máximo de camarilla es tres y el ancho de esta descomposición del camino es dos.

Esta equivalencia entre el ancho de la ruta y el espesor del intervalo es muy análoga a la equivalencia entre el ancho del árbol y el número mínimo de camarilla (menos uno) de un gráfico cordal del cual el gráfico dado es un subgrafo. Los gráficos de intervalos son un caso especial de gráficos de cuerdas, y los gráficos de cuerdas se pueden representar como gráficos de intersección de subárboles de un árbol común, generalizando la forma en que los gráficos de intervalo son gráficos de intersección de subtrayectos de una ruta.

Número de separación de vértices

El número de separación de vértices de G con respecto a un ordenamiento lineal de los vértices de G es el número más pequeño s tal que, para cada vértice v , como máximo s vértices son anteriores a v en el ordenamiento pero que tienen v o un vértice posterior como un vecino. El número de separación de vértices de G es el número de separación de vértices más pequeño de G con respecto a cualquier ordenamiento lineal de G. El número de separación de vértices fue definido por Ellis, Sudborough y Turner (1983) y es igual al ancho de ruta de G. [13] Esto se desprende de la equivalencia anterior con los números de camarilla del gráfico de intervalo: si G es un subgrafo de un gráfico de intervalo I , representado (como en la figura) de tal manera que todos los puntos finales del intervalo sean distintos, entonces el orden de la izquierda Los puntos finales de los intervalos de I tienen una separación de vértices número uno menor que el número de camarilla de I. Y en la otra dirección, a partir de un ordenamiento lineal de G se puede derivar una representación de intervalo en la que el punto extremo izquierdo del intervalo para un vértice v es su posición en el ordenamiento y el punto extremo derecho es la posición del vecino de v que viene último en el pedido.

Número de búsqueda de nodo

El juego de búsqueda de nodos en un gráfico es una forma de persecución-evasión en la que un conjunto de buscadores colaboran para localizar a un fugitivo escondido en un gráfico. Los buscadores se colocan en los vértices del gráfico, mientras que el fugitivo puede estar en cualquier borde del gráfico, y la ubicación y los movimientos del fugitivo están ocultos para los buscadores. En cada turno, algunos o todos los buscadores pueden moverse (arbitrariamente, no necesariamente a lo largo de los bordes) de un vértice a otro, y luego el fugitivo puede moverse a lo largo de cualquier camino en el gráfico que no pase por un vértice ocupado por el buscador. El fugitivo es capturado cuando ambos extremos de su borde están ocupados por buscadores. El número de búsqueda de nodos de un gráfico es el número mínimo de buscadores necesarios para garantizar que se pueda garantizar la captura del fugitivo, sin importar cómo se mueva. Como muestran Kirousis y Papadimitriou (1985), el número de búsqueda de nodos de un gráfico es igual al espesor del intervalo. La estrategia óptima para los buscadores es moverlos de modo que en turnos sucesivos formen conjuntos de separación de un orden lineal con un número mínimo de separación de vértices.

Límites

Un árbol de oruga , un gráfico máximo con un ancho de ruta uno.

Cada gráfico de n -vértices con ancho de ruta k tiene como máximo k ( nk + ( k − 1)/2) aristas, y los gráficos de ancho de ruta máximo k (gráficos a los que no se pueden agregar más aristas sin aumentar el ancho de ruta) tienen exactamente esta cantidad de bordes. Un gráfico de ancho de ruta máximo k debe ser un k camino o una k oruga, dos tipos especiales de k árbol. Un k -árbol es un gráfico cordal con exactamente n - k camarillas máximas , cada una de las cuales contiene k + 1 vértices; en un k -árbol que no es en sí mismo una camarilla ( k + 1) , cada camarilla máxima separa el gráfico en dos o más componentes, o contiene un vértice de una sola hoja, un vértice que pertenece a una sola camarilla máxima. Un k -camino es un k -árbol con como máximo dos k -hojas, y una k -oruga es un k -árbol que se puede dividir en un k -camino y un conjunto de k -hojas, cada una adyacente a un separador k - camarilla del k -camino. En particular, las gráficas máximas de ancho de camino uno son exactamente los árboles de orugas . [14]

Dado que las descomposiciones de ruta son un caso especial de descomposición de árboles, el ancho de ruta de cualquier gráfico es mayor o igual que su ancho de árbol . El ancho de ruta también es menor o igual que el ancho de corte , el número mínimo de aristas que cruzan cualquier corte entre los vértices con números más bajos y más altos en una disposición lineal óptima de los vértices de un gráfico; esto se debe a que el número de separación de vértices, el número de vértices con números más bajos con vecinos con números más altos, puede como máximo igualar el número de aristas cortadas. [15] Por razones similares, el ancho de corte es como máximo el ancho de ruta multiplicado por el grado máximo de los vértices en un gráfico determinado. [dieciséis]

Cualquier bosque de n -vértices tiene un ancho de ruta O (log n ) . [17] Porque, en un bosque, siempre se puede encontrar un número constante de vértices cuya eliminación deja un bosque que puede dividirse en dos subbosques más pequeños con como máximo 2 n3 vértices cada uno. Una disposición lineal formada al dividir recursivamente cada uno de estos dos subbosques, colocando los vértices de separación entre ellos, tiene un número de búsqueda de vértices logarítmico. La misma técnica, aplicada a una descomposición en árbol de un gráfico, muestra que, si el ancho de árbol de un gráfico de n vértices G es t , entonces el ancho de ruta de G es O ( t log n ) . [18] Dado que los gráficos de planos exteriores , los gráficos de series-paralelas y los gráficos de Halin tienen un ancho de árbol acotado, todos también tienen como máximo un ancho de ruta logarítmico.

Además de sus relaciones con el ancho del árbol, el ancho de ruta también está relacionado con el ancho de camarilla y el ancho de corte , a través de gráficos de líneas ; el gráfico lineal L ( G ) de un gráfico G tiene un vértice para cada arista de G y dos vértices en L ( G ) son adyacentes cuando los dos aristas correspondientes de G comparten un punto final. Cualquier familia de gráficos tiene un ancho de ruta acotado si y solo si sus gráficos lineales tienen un ancho de camarilla lineal acotado, donde el ancho de camarilla lineal reemplaza la operación de unión disjunta de ancho de camarilla con la operación de unir un único vértice nuevo. [19] Si un gráfico conectado con tres o más vértices tiene un grado máximo de tres, entonces su ancho de corte es igual al número de separación de vértices de su gráfico lineal. [20]

En cualquier gráfico plano , el ancho del camino es como máximo proporcional a la raíz cuadrada del número de vértices. [21] Una forma de encontrar una descomposición de caminos con este ancho es (de manera similar a la descomposición de caminos de bosques de ancho logarítmico descrita anteriormente) usar el teorema del separador plano para encontrar un conjunto de vértices O ( n ) la eliminación de que separa el gráfico en dos subgrafos de como máximo 2 norte3 vértices cada uno, y concatena descomposiciones de rutas construidas recursivamente para cada uno de estos dos subgrafos. La misma técnica se aplica a cualquier clase de gráficas para las que se cumpla un teorema de separación similar. [22] Dado que, al igual que los gráficos planos, los gráficos en cualquier familia de gráficos fijos menores cerrados tienen separadores de tamaño O ( n ) , [23] se deduce que el ancho de ruta de los gráficos en cualquier familia fija menor cerrada es nuevamente O ( norte ) . Para algunas clases de gráficos planos, el ancho de ruta del gráfico y el ancho de ruta de su gráfico dual deben estar dentro de un factor constante entre sí: los límites de esta forma son conocidos para gráficos planos externos biconectados [24] y para gráficos poliédricos. [25] Para gráficos planos de 2 conectados, el ancho de ruta del gráfico dual es menor que el ancho de ruta del gráfico lineal. [26] Queda abierto si el ancho de ruta de un gráfico plano y su dual están siempre dentro de un factor constante entre sí en los casos restantes.

En algunas clases de gráficos, se ha demostrado que el ancho de ruta y el ancho de árbol son siempre iguales entre sí: esto es cierto para los cografos , [27] los gráficos de permutación , [28] los complementos de los gráficos de comparabilidad , [29] y los gráficos de comparabilidad. de órdenes de intervalo . [30]

Problema no resuelto en matemáticas :

¿Cuál es el mayor ancho de ruta posible de un gráfico cúbico de n vértices ?

En cualquier gráfico cúbico , o más generalmente en cualquier gráfico con un grado máximo de vértice tres, el ancho de ruta es como máximo n6 + o( n ) , donde n es el número de vértices en el gráfico. Existen gráficos cúbicos con un ancho de ruta de 0,082 n , pero no se sabe cómo reducir esta brecha entre este límite inferior y el n6 límite superior. [31]

Computar descomposiciones de caminos

Es NP-completo determinar si el ancho de ruta de un gráfico dado es como máximo k , cuando k es una variable dada como parte de la entrada. [5] Los límites de tiempo del peor de los casos más conocidos para calcular el ancho de ruta de gráficos arbitrarios de n -vértices son de la forma O (2 n n c ) para alguna constante  c . [32] Sin embargo, se conocen varios algoritmos que calculan las descomposiciones de caminos de manera más eficiente cuando el ancho de camino es pequeño, cuando la clase de gráficos de entrada es limitada, o aproximadamente.

Tratabilidad de parámetros fijos

El ancho de ruta es manejable con parámetros fijos : para cualquier constante k , es posible probar si el ancho de ruta es como máximo k y, de ser así, encontrar una descomposición de ruta del ancho k , en tiempo lineal. [7] En general, estos algoritmos operan en dos fases. En la primera fase, la suposición de que el gráfico tiene un ancho de ruta k se utiliza para encontrar una descomposición de ruta o descomposición de árbol que no es óptima, pero cuyo ancho puede limitarse en función de k . En la segunda fase, se aplica un algoritmo de programación dinámica a esta descomposición para encontrar la descomposición óptima. Sin embargo, los límites de tiempo para algoritmos conocidos de este tipo son exponenciales en k 2 , poco prácticos excepto para los valores más pequeños de k . [33] Para el caso k = 2, De Fluiter (1997) proporciona un algoritmo explícito de tiempo lineal basado en una descomposición estructural de gráficos de ancho de ruta-2.

Clases especiales de gráficos.

Bodlaender (1994) analiza la complejidad de calcular el ancho de ruta en varias clases especiales de gráficos. Determinar si el ancho de ruta de un gráfico G es como máximo k sigue siendo NP-completo cuando G está restringido a gráficos de grados acotados, [34] gráficos planos , [34] gráficos planos de grado acotado, [34] gráficos cordales , [35] dominó cordal, [36] los complementos de gráficos de comparabilidad , [29] y gráficos bipartitos de distancia-hereditaria . [37] Se deduce inmediatamente que también es NP-completo para las familias de gráficos que contienen los gráficos bipartitos hereditarios de distancia, incluidos los gráficos bipartitos, los gráficos bipartitos cordales, los gráficos hereditarios de distancia y los gráficos circulares . [37]

Sin embargo, el ancho del camino se puede calcular en tiempo lineal para árboles y bosques. [9] También se puede calcular en tiempo polinómico para gráficos de ancho de árbol acotado, incluidos gráficos en series paralelas , gráficos planos externos y gráficos de Halin , [7] así como para gráficos divididos , [38] para los complementos de gráficos cordales, [ 39] para gráficos de permutación , [28] para cografos , [27] para gráficos de arco circular , [40] para gráficos de comparabilidad de órdenes de intervalo, [30] y por supuesto para los propios gráficos de intervalo , ya que en ese caso el ancho de ruta es solo uno menos que el número máximo de intervalos que cubren cualquier punto en una representación de intervalo del gráfico.

Algoritmos de aproximación

Es NP-difícil aproximar el ancho de ruta de un gráfico dentro de una constante aditiva. [6] La relación de aproximación más conocida de un algoritmo de aproximación de tiempo polinomial para el ancho de ruta es O ((log n ) 3/2 ) . [41] Para algoritmos de aproximación anteriores para el ancho de ruta, consulte Bodlaender et al. (1992) y Guha (2000). Para aproximaciones sobre clases restringidas de gráficos, consulte Kloks y Bodlaender (1992).

Graficar menores

Un menor de un gráfico G es otro gráfico formado a partir de G contrayendo aristas, eliminando aristas y eliminando vértices. Los grafos menores tienen una teoría profunda en la que varios resultados importantes involucran el ancho de ruta.

Excluyendo un bosque

Si una familia F de grafos es cerrada tomando menores (cada menor de un miembro de F también está en F ), entonces, según el teorema de Robertson-Seymour, F puede caracterizarse como los grafos que no tienen ningún menor en X , donde X es un conjunto finito de menores prohibidos . [42] Por ejemplo, el teorema de Wagner establece que los gráficos planos son los gráficos que no tienen ni el gráfico completo K 5 ni el gráfico bipartito completo K 3,3 como menores. En muchos casos, las propiedades de F y las propiedades de X están estrechamente relacionadas, y el primer resultado de este tipo fue el de Robertson & Seymour (1983), [2] y relaciona el ancho de camino acotado con la existencia de un bosque en la familia de menores prohibidos. Específicamente, defina una familia F de gráficos para que tenga un ancho de ruta acotado si existe una p constante tal que cada gráfico en F tenga un ancho de ruta como máximo p . Entonces, una familia F cerrada con menores tiene un ancho de camino acotado si y sólo si el conjunto X de menores prohibidos para F incluye al menos un bosque.

En una dirección, este resultado es sencillo de probar: si X no incluye al menos un bosque, entonces los gráficos libres de X no tienen un ancho de ruta acotado. Porque, en este caso, los gráficos libres de X menor incluyen todos los bosques y, en particular, incluyen los árboles binarios perfectos . Pero un árbol binario perfecto con 2 k + 1 niveles tiene un ancho de ruta k , por lo que en este caso los gráficos libres menores de X tienen un ancho de ruta ilimitado. En la otra dirección, si X contiene un bosque de n -vértices, entonces los gráficos libres de X -menores tienen un ancho de ruta como máximo n − 2 . [43]

Obstrucciones al ancho de camino acotado

Los menores prohibidos para gráficos de ancho de ruta 1.

La propiedad de tener un ancho de camino como máximo p es, en sí misma, cerrada al tomar menores: si G tiene una descomposición de camino con un ancho como máximo p , entonces la misma descomposición de camino sigue siendo válida si se elimina cualquier borde de G , y cualquier vértice puede ser eliminado de G y de su descomposición de caminos sin aumentar el ancho. La contracción de un borde también se puede lograr sin aumentar el ancho de la descomposición, fusionando las subtrayectorias que representan los dos puntos finales del borde contraído. Por lo tanto, las gráficas de ancho de ruta como máximo p pueden caracterizarse por un conjunto X p de menores excluidos. [42] [44]

Aunque X p incluye necesariamente al menos un bosque, no es cierto que todos los gráficos en X p sean bosques: por ejemplo, X 1 consta de dos gráficos, un árbol de siete vértices y el triángulo K 3 . Sin embargo, el conjunto de árboles en X p puede caracterizarse con precisión: estos árboles son exactamente los árboles que pueden formarse a partir de tres árboles en X p − 1 conectando un nuevo vértice raíz mediante una arista a un vértice elegido arbitrariamente en cada uno de los tres árboles más pequeños. Por ejemplo, el árbol de siete vértices en X 1 se forma de esta manera a partir del árbol de dos vértices (una arista única) en X 0 . Con base en esta construcción, se puede demostrar que el número de menores prohibidos en X p es al menos ( p !) 2 . [44] Se ha calculado el conjunto completo X 2 de menores prohibidos para gráficos de ancho de ruta-2; Contiene 110 gráficos diferentes. [45]

Teoría de la estructura

El teorema de estructura de grafos para familias de grafos cerrados menores establece que, para cualquier familia de este tipo F , los gráficos en F se pueden descomponer en sumas de gráficos que se pueden incrustar en superficies de género acotado , junto con un número acotado de vértices y vórtices para cada componente de la suma camarilla. Un vértice es un vértice que puede ser adyacente a cualquier otro vértice en su componente, mientras que un vórtice es un gráfico de ancho de ruta acotado que está pegado en una de las caras de la incrustación de género acotado de un componente. El ordenamiento cíclico de los vértices alrededor de la cara en la que está incrustado un vórtice debe ser compatible con la descomposición del camino del vórtice, en el sentido de que romper el ciclo para formar un ordenamiento lineal debe conducir a un ordenamiento con un número de separación de vértices acotado. [4] Esta teoría, en la que el ancho de ruta está íntimamente conectado con familias arbitrarias de gráficos menores cerrados, tiene importantes aplicaciones algorítmicas. [46]

Aplicaciones

VLSI

En el diseño VLSI , el problema de separación de vértices se estudió originalmente como una forma de dividir circuitos en subsistemas más pequeños, con una pequeña cantidad de componentes en el límite entre los subsistemas. [34]

Ohtsuki et al. (1979) utilizan el espesor del intervalo para modelar el número de pistas necesarias en un diseño unidimensional de un circuito VLSI, formado por un conjunto de módulos que deben estar interconectados mediante un sistema de redes. En su modelo, se forma un gráfico en el que los vértices representan redes, y en el que dos vértices están conectados por un borde si ambas redes se conectan al mismo módulo; es decir, si se interpreta que los módulos y las redes forman los nodos e hiperbordes de un hipergrafo , entonces el gráfico formado a partir de ellos es su gráfico lineal . Una representación de intervalo de un supergrafo de este gráfico lineal, junto con un color del supergrafo, describe una disposición de las redes a lo largo de un sistema de pistas horizontales (una pista por color) de tal manera que los módulos se pueden colocar a lo largo de las pistas. en orden lineal y conectar a las redes apropiadas. El hecho de que los gráficos de intervalo sean gráficos perfectos [47] implica que el número de colores necesarios, en una disposición óptima de este tipo, es el mismo que el número de camarilla del intervalo completado del gráfico neto.

El diseño de matriz de puertas [48] es un estilo específico de diseño CMOS VLSI para circuitos lógicos booleanos . En los diseños de matriz de puertas, las señales se propagan a lo largo de "líneas" (segmentos de línea verticales), mientras que cada puerta del circuito está formada por una secuencia de características del dispositivo que se encuentran a lo largo de un segmento de línea horizontal. Así, el segmento de línea horizontal de cada compuerta debe cruzar los segmentos verticales de cada una de las líneas que forman las entradas o salidas de la compuerta. Como en los diseños de Ohtsuki et al. (1979), se puede encontrar un diseño de este tipo que minimice el número de pistas verticales en las que se organizarán las líneas calculando el ancho de ruta de un gráfico que tiene las líneas como vértices y pares de líneas que comparten una puerta como punto de partida. bordes. [49] El mismo enfoque algorítmico también se puede utilizar para modelar problemas de plegado en matrices lógicas programables . [50]

dibujo gráfico

Pathwidth tiene varias aplicaciones para dibujar gráficos :

Diseño del compilador

En la compilación de lenguajes de programación de alto nivel , el ancho de ruta surge en el problema de reordenar secuencias de código en línea recta (es decir, código sin ramas o bucles de flujo de control ) de tal manera que todos los valores calculados en el código puedan ser colocados en los registros de la máquina en lugar de tener que derramarse en la memoria principal. En esta aplicación, se representa el código que se va a compilar como un gráfico acíclico dirigido en el que los nodos representan los valores de entrada al código y los valores calculados por las operaciones dentro del código. Un borde del nodo x al nodo y en este DAG representa el hecho de que el valor x es una de las entradas a la operación y . Un ordenamiento topológico de los vértices de este DAG representa un reordenamiento válido del código, y el número de registros necesarios para evaluar el código en un orden determinado viene dado por el número de separación de vértices del ordenamiento. [55]

Para cualquier número fijo w de registros de máquina, es posible determinar en tiempo lineal si un fragmento de código lineal se puede reordenar de tal manera que se pueda evaluar con como máximo w registros. Porque, si el número de separación de vértices de un ordenamiento topológico es como máximo w , la separación mínima de vértices entre todos los ordenamientos no puede ser mayor, por lo que el gráfico no dirigido formado ignorando las orientaciones del DAG descrito anteriormente debe tener un ancho de ruta como máximo w . Es posible probar si este es el caso, utilizando los algoritmos manejables de parámetros fijos conocidos para el ancho de ruta y, de ser así, encontrar una descomposición de ruta para el gráfico no dirigido, en tiempo lineal, dado el supuesto de que w es una constante. Una vez que se ha encontrado una descomposición de ruta, se puede encontrar un ordenamiento topológico de ancho w (si existe) usando programación dinámica, nuevamente en tiempo lineal. [55]

Lingüística

Kornai y Tuza (1992) describen una aplicación del ancho de ruta en el procesamiento del lenguaje natural . En esta aplicación, las oraciones se modelan como gráficos, en los que los vértices representan palabras y los bordes representan relaciones entre palabras; por ejemplo, si un adjetivo modifica un sustantivo en la oración, entonces el gráfico tendría una ventaja entre esas dos palabras. Debido a la capacidad limitada de la memoria humana a corto plazo, [56] Kornai y Tuza argumentan que este gráfico debe tener un ancho de ruta acotado (más específicamente, argumentan, un ancho de ruta como máximo seis), ya que de lo contrario los humanos no serían capaces de analizar el habla correctamente. .

Algoritmos exponenciales

Muchos problemas en algoritmos de gráficos se pueden resolver de manera eficiente en gráficos de ancho de ruta bajo, mediante el uso de programación dinámica en una descomposición de ruta del gráfico. [10] Por ejemplo, si se da un orden lineal de los vértices de un gráfico G de n -vértices , con número de separación de vértices w , entonces es posible encontrar el conjunto independiente máximo de G en el tiempo O(2 w n ). [31] En gráficos de ancho de ruta acotado, este enfoque conduce a algoritmos manejables de parámetros fijos, parametrizados por el ancho de ruta. [49] Estos resultados no se encuentran con frecuencia en la literatura porque están incluidos en algoritmos similares parametrizados por el ancho del árbol; sin embargo, el ancho de ruta surge incluso en algoritmos de programación dinámica basados ​​en ancho de árbol al medir la complejidad espacial de estos algoritmos. [11]

El mismo método de programación dinámica también se puede aplicar a gráficos con ancho de ruta ilimitado, lo que lleva a algoritmos que resuelven problemas de gráficos no parametrizados en tiempo exponencial . Por ejemplo, combinar este enfoque de programación dinámica con el hecho de que los gráficos cúbicos tienen un ancho de ruta n /6 + o( n ) muestra que, en un gráfico cúbico, el conjunto independiente máximo se puede construir en el tiempo O(2 n /6 + o( n ) ), más rápido que los métodos conocidos anteriores. [31] Un enfoque similar conduce a algoritmos de tiempo exponencial mejorados para los problemas de corte máximo y conjunto dominante mínimo en gráficos cúbicos, [31] y para varios otros problemas de optimización NP-hard. [57]

Ver también

Notas

  1. ^ Diestel y Kühn (2005).
  2. ^ abcd Robertson y Seymour (1983).
  3. ^ Bodlaender (1998).
  4. ^ ab Robertson y Seymour (2003).
  5. ^ ab Kashiwabara y Fujisawa (1979); Ohtsuki et al. (1979); Lengauer (1981); Arnborg, Corneil y Proskurowski (1987).
  6. ^ ab Bodlaender y col. (1992).
  7. ^ abc Bodlaender (1996); Bodlaender y Kloks (1996)
  8. ^ Bodlaender (1994).
  9. ^ ab Möhring (1990); Scheffler (1990); Ellis, Sudborough y Turner (1994); Peng et al. (1998); Skodinis (2000); Skodinis (2003); Coudert, Huc y Mazauric (2012).
  10. ^ ab Arnborg (1985).
  11. ^ ab Aspvall, Proskurowski y Telle (2000).
  12. ^ Bodlaender (1998), Teorema 29, pág. 13.
  13. ^ Kinnersley (1992); Bodlaender (1998), Teorema 51.
  14. ^ Proskurowski y Telle (1999).
  15. ^ Koraj y Solel (1993), Lema 3 p.99; Bodlaender (1998), Teorema 47, pág. 24.
  16. ^ Koraj y Solel (1993), Lema 1, pág. 99; Bodlaender (1998), Teorema 49, pág. 24.
  17. ^ Koraj y Solel (1993), Teorema 5, p. 99; Bodlaender (1998), Teorema 66, pág. 30. Scheffler (1992) proporciona un límite superior más estricto de log 3 (2 n + 1) en el ancho de camino de un bosque de n vértices.
  18. ^ Koraj y Solel (1993), Teorema 6, p. 100; Bodlaender (1998), Corolario 24, p.10.
  19. ^ Gurski y Wanke (2007).
  20. ^ Golovach (1993).
  21. ^ Bodlaender (1998), Corolario 23, p. 10.
  22. ^ Bodlaender (1998), Teorema 20, p. 9.
  23. ^ Alon, Seymour y Thomas (1990).
  24. ^ Bodlaender y Fomin (2002); Coudert, Huc y Sereni (2007).
  25. ^ Fomín y Thilikos (2007); Amini, Huc y Pérennes (2009).
  26. ^ Fomín (2003).
  27. ^ ab Bodlaender y Möhring (1990).
  28. ^ ab Bodlaender, Kloks y Kratsch (1993).
  29. ^ ab Habib y Möhring (1994).
  30. ^ ab Garbe (1995).
  31. ^ abcd Fomin y Høie (2006).
  32. ^ Fomín y col. (2008).
  33. ^ Downey y compañeros (1999), p.12.
  34. ^ abc Monien y Sudborough (1988).
  35. ^ Gustedt (1993).
  36. ^ Kloks, Kratsch y Müller (1995). Un dominó cordal es un gráfico cordal en el que cada vértice pertenece como máximo a dos camarillas máximas.
  37. ^ ab Kloks et al. (1993).
  38. ^ Kloks y Bodlaender (1992); Gustedt (1993).
  39. ^ Garbe (1995) atribuye este resultado al Ph.D. tesis de Ton Kloks; El algoritmo de tiempo polinomial de Garbe para gráficos de comparabilidad de órdenes de intervalo generaliza este resultado, ya que cualquier gráfico cordal debe ser un gráfico de comparabilidad de este tipo.
  40. ^ Suchan y Todinca (2007).
  41. ^ Feige, Hajiaghayi y Lee (2005).
  42. ^ ab Robertson y Seymour (2004).
  43. ^ Bienstock y otros. (1991); Diestel (1995); Cattell, Dinneen y compañeros (1996).
  44. ^ ab Kinnersley (1992); Takahashi, Ueno y Kajitani (1994); Bodlaender (1998), pág. 8.
  45. ^ Kinnersley y Langston (1994).
  46. ^ Demaine, Hajiaghayi y Kawarabayashi (2005).
  47. ^ Bergé (1967).
  48. ^ López y Law (1980).
  49. ^ ab Fellows y Langston (1989).
  50. ^ Mohring (1990); Ferreira y Canción (1992).
  51. ^ Hliněny (2003).
  52. ^ Suderman (2004).
  53. ^ Dujmović y otros. (2008).
  54. ^ Dujmović, Morin y Wood (2003).
  55. ^ ab Bodlaender, Gustedt y Telle (1998).
  56. ^ Molinero (1956).
  57. ^ Kneis y col. (2005); Björklund y Husfeldt (2008).

Referencias