stringtranslate.com

Estructura de niveles

Un ejemplo de un gráfico no dirigido con un vértice r y su estructura de nivel correspondiente

En el subcampo matemático de la teoría de grafos, una estructura de niveles de un grafo con raíz es una partición de los vértices en subconjuntos que tienen la misma distancia desde un vértice raíz dado. [1]

Definición y construcción

Dado un grafo conexo G = ( V , E ) con V el conjunto de vértices y E el conjunto de aristas , y con un vértice raíz r , la estructura de niveles es una partición de los vértices en subconjuntos L i llamados niveles, que consisten en los vértices a una distancia i de r . De manera equivalente, este conjunto puede definirse estableciendo L 0  = { r }, y luego, para i  > 0, definiendo L i como el conjunto de vértices que son vecinos de los vértices en L i  − 1 pero que no están en ningún nivel anterior. [1]

La estructura de niveles de un gráfico se puede calcular mediante una variante de búsqueda en amplitud : [2] : 176 

nivel de algoritmo -BFS(G, r): Q ← {r} parade 0 a ∞: proceso(Q, ℓ) // el conjunto Q contiene todos los vértices en el nivel ℓ Marcar todos los vértices en Q como descubiertos Q' ← {} para u en Q: para cada arista (u, v): si v aún no está marcado: añadir v a Q' Si Q' está vacío: retorna Q ← Q'

Propiedades

En una estructura de niveles, cada borde de G tiene ambos puntos finales dentro del mismo nivel, o sus dos puntos finales están en niveles consecutivos. [1]

Aplicaciones

La partición de un gráfico en su estructura de niveles se puede utilizar como una heurística para problemas de diseño de gráficos, como el ancho de banda del gráfico . [1] El algoritmo Cuthill-McKee es un refinamiento de esta idea, basado en un paso de clasificación adicional dentro de cada nivel. [3]

Las estructuras de niveles también se utilizan en algoritmos para matrices dispersas , [4] y para construir separadores de gráficos planares . [5]

Referencias

  1. ^ abcd Díaz, Josep; Petit, Jordi; Serna, Maria (2002), "Un estudio de problemas de diseño de gráficos" (PDF) , ACM Computing Surveys , 34 (3): 313–356, CiteSeerX  10.1.1.12.4358 , doi :10.1145/568522.568523, S2CID  63793863.
  2. ^ Mehlhorn, Kurt ; Sanders, Peter (2008). Algoritmos y estructuras de datos: la caja de herramientas básica (PDF) . Springer.
  3. ^ Cuthill, E. ; McKee, J. (1969), "Reducción del ancho de banda de matrices simétricas dispersas", Actas de la 24.ª conferencia nacional de 1969 (ACM '69) , ACM, págs. 157-172, doi :10.1145/800195.805928, S2CID  18143635.
  4. ^ George, J. Alan (1977), "Solución de sistemas lineales de ecuaciones: métodos directos para problemas de elementos finitos", Técnicas de matrices dispersas (Curso avanzado, Universidad Técnica de Dinamarca, Copenhague, 1976) , Berlín: Springer, págs. 52-101. Lecture Notes in Math., vol. 572, MR  0440883.
  5. ^ Lipton, Richard J. ; Tarjan, Robert E. (1979), "Un teorema separador para grafos planares", SIAM Journal on Applied Mathematics , 36 (2): 177–189, CiteSeerX 10.1.1.214.417 , doi :10.1137/0136016 .