Árbol (teoría de grafos)

Compartir Imprimir Citar

En la teoría de grafos, un árbol es un grafo no dirigido en el que dos vértices cualesquiera están conectados por exactamente una ruta, o de manera equivalente, un grafo no dirigido acíclico conectado. Un bosque es un gráfico no dirigido en el que dos vértices cualesquiera están conectados por como máximo camino, o de manera equivalente un gráfico no dirigido acíclico, o de manera equivalente una unión disjunta de árboles.

Un poliárbol (o árbol dirigido o árbol orientado o red conectada individualmente) es un gráfico acíclico dirigido (DAG) cuyo gráfico subyacente no dirigido es un árbol. Un polibosque (o bosque dirigido o bosque orientado) es un grafo acíclico dirigido cuyo grafo no dirigido subyacente es un bosque.

Los diversos tipos de estructuras de datos denominadas árboles en informática tienen gráficos subyacentes que son árboles en la teoría de gráficos, aunque tales estructuras de datos son generalmente árboles con raíces. Un árbol enraizado puede ser dirigido, llamado árbol enraizado dirigido, ya sea haciendo que todos sus bordes apunten lejos de la raíz, en cuyo caso se llama arborescencia o out-tree, o hacer que todos sus bordes apunten hacia la raíz, en cuyo caso se denomina anti-arborescence o in-tree. Algunos autores han definido un árbol enraizado como un gráfico dirigido. Un bosque enraizado es una unión inconexa de árboles enraizados. Un bosque enraizado puede ser dirigido, llamado bosque enraizado dirigido, ya sea haciendo que todos sus bordes apunten lejos de la raíz en cada árbol enraizado, en cuyo caso se denomina ramificado o fuera del bosque, o hacer que todos sus bordes apunten hacia la raíz en cada árbol enraizado, en cuyo caso se denomina anti-ramificación o dentro del bosque .

El término "árbol" fue acuñado en 1857 por el matemático británico Arthur Cayley.

Definiciones

Árbol

Un árbol es un gráfico no dirigido G que satisface cualquiera de las siguientes condiciones equivalentes:

Si G tiene un número finito de vértices, diga n de ellos, entonces las declaraciones anteriores también son equivalentes a cualquiera de las siguientes condiciones:

Como en otras partes de la teoría de grafos, el gráfico de orden cero (gráfico sin vértices) generalmente no se considera un árbol: mientras que está conectado de forma vacía como un gráfico (cualquiera de los dos vértices pueden estar conectados por un camino), no está conectado a 0 (ni siquiera a (-1)) en la topología algebraica, a diferencia de los árboles no vacíos, y viola el "un vértice más que los bordes" relación. Sin embargo, puede ser considerado como un bosque que consta de cero árboles.

Un vértice interno (o vértice interno) es un vértice de grado al menos 2. De manera similar, un vértice externo (o vértice exterior, vértice terminal o hoja) es un vértice de grado 1. Un vértice de rama en un árbol es un vértice de grado al menos 3.

Un árbol irreducible (o árbol reducido en serie) es un árbol en el que no existe un vértice de grado 2 (enumerado en la secuencia A000014 en el OEIS).

Bosque

Un bosque es un grafo no dirigido en el que dos vértices cualesquiera están conectados como máximo por un camino. De manera equivalente, un bosque es un gráfico acíclico no dirigido, todos cuyos componentes conectados son árboles; en otras palabras, el gráfico consiste en una unión disjunta de árboles. Como casos especiales, el gráfico de orden cero (un bosque que consta de cero árboles), un árbol único y un gráfico sin bordes son ejemplos de bosques. Dado que para cada árbol VE = 1, podemos contar fácilmente la cantidad de árboles que hay dentro de un bosque por restando la diferencia entre el total de vértices y el total de aristas. TVTE = número de árboles en un bosque.

Polytree

Un poliárbol (o árbol dirigido o árbol orientado o red conectada individualmente) es un gráfico acíclico dirigido (DAG) cuyo gráfico no dirigido subyacente es un árbol. En otras palabras, si reemplazamos sus aristas dirigidas por aristas no dirigidas, obtenemos un grafo no dirigido que es a la vez conexo y acíclico.

Algunos autores restringen la frase "árbol dirigido" al caso donde los bordes están todos dirigidos hacia un vértice particular, o todos dirigidos lejos de un vértice particular (ver arborescencia).

Polybosque

Un polibosque (o bosque dirigido o bosque orientado) es un grafo acíclico dirigido cuyo grafo no dirigido subyacente es un bosque. En otras palabras, si reemplazamos sus aristas dirigidas por aristas no dirigidas, obtenemos un grafo no dirigido que es acíclico.

Algunos autores restringen la frase "bosque dirigido" al caso donde los bordes de cada componente conectado están todos dirigidos hacia un vértice particular, o todos dirigidos lejos de un vértice particular (ver bifurcación).

Árbol enraizado

Un árbol con raíz es un árbol en el que un vértice ha sido designado como raíz. A los bordes de un árbol con raíces se les puede asignar una orientación natural, ya sea lejos de o hacia la raíz, en cuyo caso la estructura se convierte en un árbol con raíces dirigidas. Cuando un árbol con raíz dirigida tiene una orientación que se aleja de la raíz, se denomina arborescencia o árbol exterior; cuando tiene una orientación hacia la raíz, se denomina antiarborescencia o in-tree. El orden del árbol es el ordenamiento parcial en los vértices de un árbol con u < v si y solo si la ruta única desde la raíz hasta v pasa por < span class="texhtml mvar" style="font-style:italic;">u. Un árbol con raíz T que es un subgrafo de algún gráfico G es un árbol normal si los extremos de cada ruta T en G son comparables en este orden de árbol (Diestel 2005, p. 15). Los árboles enraizados, a menudo con una estructura adicional, como el orden de los vecinos en cada vértice, son una estructura de datos clave en informática; ver estructura de datos de árbol.

En un contexto donde los árboles normalmente tienen una raíz, un árbol sin ninguna raíz designada se denomina árbol libre.

Un árbol etiquetado es un árbol en el que a cada vértice se le asigna una etiqueta única. Los vértices de un árbol etiquetado en n vértices normalmente reciben las etiquetas 1, 2, …, n. Un árbol recursivo es un árbol enraizado etiquetado donde las etiquetas de los vértices respetan el orden del árbol (es decir, si u < v< /i> para dos vértices u y v, entonces la etiqueta de u es más pequeña que la etiqueta de v).

En un árbol con raíz, el padre de un vértice v es el vértice conectado a < span class="texhtml mvar" style="font-style:italic;">v en la ruta a la raíz; cada vértice tiene un padre único excepto la raíz que no tiene padre. Un hijo de un vértice v es un vértice del cual v es el padre. Un ascendente de un vértice v es cualquier vértice que sea el padre de v o es (recursivamente) el ascendente del padre de v . Un descendiente de un vértice v es cualquier vértice que sea hijo de v o es (recursivamente) el descendiente de cualquiera de los hijos de v. Un hermano de un vértice v es cualquier otro vértice del árbol que tiene el mismo padre que < span class="texhtml mvar" style="font-style:italic;">v. Una hoja es un vértice sin hijos. Un vértice interno es un vértice que no es una hoja.

La altura de un vértice en un árbol con raíz es la longitud del camino descendente más largo hasta una hoja desde ese vértice. La altura del árbol es la altura de la raíz. La profundidad de un vértice es la longitud del camino a su raíz (ruta raíz). Esto suele ser necesario en la manipulación de los diversos árboles autoequilibrados, en particular los árboles AVL. La raíz tiene profundidad cero, las hojas tienen altura cero y un árbol con un solo vértice (por lo tanto, una raíz y una hoja) tiene profundidad y altura cero. Convencionalmente, un árbol vacío (un árbol sin vértices, si se permiten) tiene profundidad y altura −1.

Un árbol k-ario es un árbol enraizado en el que cada vértice tiene como máximo k niños. Los árboles 2-arios a menudo se denominan árboles binarios, mientras que los árboles 3-arios a veces se denominan árboles ternarios.

Árbol ordenado

Un árbol ordenado (o árbol plano) es un árbol con raíz en el que se especifica un orden para los hijos de cada vértice. Esto se llama un "árbol plano" porque un ordenamiento de los hijos equivale a una incrustación del árbol en el plano, con la raíz arriba y los hijos de cada vértice por debajo de ese vértice. Dada la incrustación de un árbol enraizado en el plano, si uno fija una dirección de los niños, digamos de izquierda a derecha, entonces una incrustación da una ordenación de los niños. Por el contrario, dado un árbol ordenado y dibujando convencionalmente la raíz en la parte superior, los vértices secundarios en un árbol ordenado se pueden dibujar de izquierda a derecha, lo que produce una incrustación plana esencialmente única.

Propiedades

Enumeración

Árboles etiquetados

La fórmula de Cayley establece que hay nn−2 árboles en n vértices etiquetados. Una prueba clásica usa secuencias de Prüfer, que naturalmente muestran un resultado más fuerte: el número de árboles con vértices 1, 2, …, n de grados d1, d2, …, dn respectivamente, es el coeficiente multinomial

Un problema más general es contar árboles de expansión en un gráfico no dirigido, que se aborda mediante el teorema del árbol matriz. (La fórmula de Cayley es el caso especial de árboles de expansión en un gráfico completo). El problema similar de contar todos los subárboles independientemente del tamaño es #P-completo en el caso general (Jerrum (1994)).

Árboles sin etiquetar

Contar el número de árboles libres sin etiquetar es un problema más difícil. No hay fórmula cerrada para el número t(n) de árboles con n vértices hasta que se conoce el isomorfismo del gráfico. Los primeros valores de t(n) son

1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235, 551, 1301, 3159,... A000055 en el OEIS).

Otter (1948) demostró la estimación asintótica

con C ≈ 0,534949606... y α ≈ 2,95576528565... (secuencia A051491 en el OEIS). Aquí, el símbolo ~ significa que

Esta es una consecuencia de su estimación asintótica del número r(n) de árboles enraizados no etiquetados con < span class="texhtml mvar" style="font-style:italic;">n vértices:

con D ≈ 0.43992401257... y el mismo α que anterior (cf. Knuth (1997), cap. 2.3.4.4 y Flajolet & Sedgewick (2009), cap. VII.5, p. 475).

Los primeros valores de r(n) son

1, 1, 2, 4, 9, 20, 48, 115, 286, 719, 1842, 4766, 12486, 32973,... A000081 en el OEIS)

Tipos de árboles