INSTITUTO TECNOLÓGICO DEL ISTMO




Teoría de Grafos




         Matemáticas Discretas




             2 de Enero 2012

               1
ÍNDICE


Contenido
1.- ELEMENTOS Y CARACTERÍSTICAS DE LOS GRAFOS ------------------------------------------3
    1.1     Componentes de un grafo (vértices, aristas, lazos, valencia) -----------------------3
    1.2     TIPOS DE GRAFOS --------------------------------------------------------------------------------------4
2.- REPRESENTACIÓN DE LOS GRAFOS ------------------------------------------------------------------6
3     ALGORITMOS DE RECORRIDO Y BÚSQUEDA ---------------------------------------------------7
    3.1     EL CAMINO MÁS CORTO -----------------------------------------------------------------------------7
    3.2     A LO ANCHO ------------------------------------------------------------------------------------------------8
    3.3     EN PROFUNDIDAD ---------------------------------------------------------------------------------------8
4.- ARBOLES -------------------------------------------------------------------------------------------------------------8
    4.1 COMPONENTES -----------------------------------------------------------------------------------------------9
    4.2 PROPIEDADES -------------------------------------------------------------------------------------------------9
    4.3 CLASIFICACIÓN -----------------------------------------------------------------------------------------------9
    4.4 ÁRBOLES CON PESO ------------------------------------------------------------------------------------- 10
    4.5 RECORRIDO DE UN ÁRBOL --------------------------------------------------------------------------- 10
5.- REDES --------------------------------------------------------------------------------------------------------------- 11




                                                             2
1.- ELEMENTOS Y CARACTERÍSTICAS DE LOS GRAFOS


En ciencias de la computación, la teoría de grafos estudia las propiedades de los
grafos (gráficas). El grafo es un conjunto de objetos llamados vértices (nodos) y
una selección de pares de vértices, llamados aristas. El diagrama de Grafos se
representa por una serie de vértices conectados las aristas.



       1.1 Componentes de un grafo (vértices, aristas, lazos, valencia)


                                   VÉRTICES




                                         3
Son los nodos con los que se forman los grafos. Los grafos no dirigidos está
formado por un conjunto de vértices y de aristas; y un grafo dirigido está
compuesto por un conjunto de vértices y arcos (pares ordenados de vértices).

Se dice que un vértice es:

       Adyacente: Si tenemos un par de vértices de un grafo (U, V), y si tenemos
       un arista que los une, entonces U y V son vértices adyacentes y se dice que
       U es el vértice inicial y V el vértice adyacente.
       Aislado: Es el vértice de grado Cero.
       Terminal: Vértice de grado 1

Un vértice de corte es aquel que al removerlo desconecta al grafo restante. Un
conjunto independiente es un conjunto de vértices tal que ninguno es adyacente a
otro, y una cobertura de vértices es un conjunto de vértices que incluye los puntos
finales de cada arista en un grafo.

                                      ARISTAS

La arista es la relación que tienen dos vértices de un grafo.

Las aristas se representan como una línea que une a dos vértices (esto es para
grafos no dirigidos); si el grafo es dirigido, entonces la arista se representa como
una flecha.

                                       LAZOS

Se denomina lazo cuando una arista conecta a un mismo vértice



                                     VALENCIA

El grado o valencia de un vértice es el número de aristas incidentes en él. Para un
grafo con bucles, éstos son contados por dos. En un digrafo, podemos distinguir el
grado saliente (el número de aristas que dejan el vértice) y el grado entrante (el
número de aristas que entran en un vértice). El grado de un vértice sería la suma
de ambos números.



                              1.2 TIPOS DE GRAFOS



                                      SIMPLES



                                          4
Un grafo simple es un par G = (V;E) donde V es un
conjunto _nito no vacío de elementos llamados vértices y E es un conjunto
de pares no ordenados de elementos distintos de V llamados aristas. Por
razones técnicas se supondrá que V  E = ᴓ

                                   COMPLETOS

Un grafo completo es un grafo simple donde cada par de vértices está conectado
por una arista.

Un grafo completo de n vértices tiene n(n − 1) / 2 aristas, y se nota Kn. Es un grafo
regular con todos sus vértices de gradon − 1. Ningún grafo completo tiene lazos y
está conectado totalmente, por ende, la única forma de hacer disconexo el grafo
con una eliminación de vértices es aplicarla a todos.

                                   BIPARTIDOS

Es un grafo cuyos vértices se pueden separar en dos conjuntos disjuntosV1 y V2 y
las aristas siempre unen vértices de un conjunto con vértices de otro:

Los grafos bipartitos suelen representarse gráficamente con dos columnas (o filas)
de vértices y las aristas uniendo vértices de columnas (o filas) diferentes.

Los dos conjuntos U y V pueden ser pensados como un coloreo del grafo con dos
colores: si pintamos los vértices en U de azul y los vértices deV de verde
obtenemos un grafo de dos colores donde cada arista tiene un vértice azul y el
otro verde. Por otro lado, si un gráfico no tiene la propiedad de que se puede
colorear con dos colores no es bipartito.

Un grafo bipartito suele con la partición de los vértices en U y V suele denotarse G
= (U, V, E). Si |U| =|V|, esto es, si los dos subconjuntos tiene la misma cantidad de
elementos, decimos que el grafo bipartito G es balanceado.

                                      PLANOS

Un grafo es plano si, y sólo si, nocontiene ningún subgrafo isomorfo a K5 ni a
K3,3, ni a subdivisiones de ellos.
Un grafo no es plano si no puede ser dibujado sobre un plano sin que sus aristas se
intersequen. Los grafos K5 y el K3,3 son los grafos no planos minimales, lo cual nos
permitirán caracterizar el resto de los grafos no planos.

                                     CONEXOS

En matemáticas y ciencias de la computación es aquel grafo que entre cualquier
par de sus vértices existe un Camino (Grafo) que los une.

                                  PONDERADOS


                                          5
Un grafo ponderado o grafo con pesos es un grafo G(V, E), en el que a cada arista
se le asigna un valor real no negativo o peso. Sobre el conjunto de aristas se
introduce una función peso. El peso de un subgrafo de un grafo ponderado es la
suma de los pesos de todas sus aristas.




                   2.- REPRESENTACIÓN DE LOS GRAFOS

   1. La representación gráfica: Adecuada para la interpretación de grafos
      pequeños o medianos.
   2. Representación por matriz asociada: Para la interpretación de grafos con
      programas informáticos.
   3. Diccionario de grafos: Define el grafo de forma compacta en términos de
      memoria.




                                        6
3 ALGORITMOS DE RECORRIDO Y BÚSQUEDA



                            3.1 EL CAMINO MÁS CORTO

El algoritmo de Dijkstra resuelve el problema de encontrar los caminos más cortos
a partir de un origen, en grafos pesados que no tengan pesos negativos. El
algoritmo de Dijkstra es un algoritmo voraz que opera a partir de un conjunto S de
nodos cuya distancia más corta desde el origen ya es conocida. En principio, S
contiene sólo el nodo origen. En cada paso, se agrega algún nodo v a S, cuya
distancia desde el origen es la más corta posible. Bajo la hipótesis de que los
pesos son no negativos, siempre es posible encontrar un camino más corto entre



                                        7
el origen y v que pasa sólo a través de los nodos de S, al que llamaremos
“especial”. En cada paso del algoritmo, se utiliza un arreglo D para registrar la
longitud del camino “especial” más corto a cada nodo. Una vez que S incluye
todos los nodos, todos los caminos son “especiales”, así que D contendrá la
distancia más corta del origen a cada vértice. Se puede utilizar un arreglo P, para
ir almacenando los caminos más cortos.

                                   3.2 A LO ANCHO

En este algoritmo también se utiliza la estrategia de marcas los nodos como
“visitados” para detectar la culminación del recorrido, pero los nodos se recorren
de una manera ligeramente distinta.Este algoritmo puede crear menos ambientes
recursivos que el anterior porque visita mas nodos en un mismo ambiente, pero
esto depende de cómo este construido el grafo. El algoritmo se conoce como el
algoritmo de BFS (Breadth-First Search).


                                3.3 EN PROFUNDIDAD



Para efectuar un recorrido en profundidad de un grafo, se selecciona cualquier
nodocomo punto de partida (por lo general el primer nodo del grafo) y se marcan
todos los nodos del grafo como “no visitados”. El nodo inicial se marca como
“visitado” y si hay un nodo adyacente a este que no haya sido “visitado”, se toma
este nodo como nuevo punto de partida del recorrido. El recorrido culmina cuando
todos los nodos hayan sido visitados.




                                     4.- ARBOLES

Es una estructura jerárquica aplicada sobre una colección de elementos u objetos
llamados nodos; uno de los cuales es conocido como raíz. Además se crea una
relación o parentesco entre los nodos dando lugar a términos como padre, hijo,
hermano, antecesor, sucesor, ancestro, etc… Formalmente se define un árbol de
tipo T como una estructura homogénea que es la concatenación de un elemento
de tipo T junto con un número finito de árboles disjuntos, llamados subárboles.

Una forma particular de árbol puede ser la estructura vacía. Un árbol es un grafo
simple en el cual existe un único camino entre cada par de vértices. Los árboles


                                         8
representan las estructuras no lineales y dinámicas de datos más importantes en
computación. Dinámicas porque las estructuras de árbol pueden cambiar durante
la ejecución de un programa. No lineales, puesto que a cada elemento del árbol
pueden seguirle varios elementos.


4.1 COMPONENTES

   1. Raíz: Un árbol recibe el nombre de árbol con raíz si cada vértice ha sido
      designado raíz, en cuyo caso las aristas tienen una orientación natural
      hacia o desde la raíz. Los árboles con raíz, a menudo con estructuras
      adicionales como orden de los vecinos de cada vértice, son una estructura
      clave en informática
   2. Hoja: Es un nodo sin hijos. Los nodos que no son hojas se llaman internos.
   3. Padre: Se dice que un nodo a es padre de un nodo b si existe un enlace
      desde a hasta b (en ese caso, también decimos que b es hijo de a)
   4. Hijo: Se dice que un nodo a es padre de un nodo b si existe un enlace
      desde a hasta b (en ese caso, también decimos que b es hijo de a)
   5. Descendientes: Son todos los vértices que se tienen como ancestro.
   6. Ancestro: Cualquier nodo en el camino a la raíz de un nodo x es un
      ancestro de x.



4.2 PROPIEDADES

Las propiedades de los árboles son:

      Existe un único paseo entre dos vértices cualesquiera en un árbol.
      El número de vértices en uno al número al número de aristas en un árbol
      Un árbol con dos o más vértices tiene al menos dos hojas.




4.3 CLASIFICACIÓN

   1. Altura: Llamamos altura de un árbol a la cantidad de vértices del sendero
      más largo que exista en el árbol
   2. Número de nodos: Cuando existen 2 o mas conexiones entre las hojas.




                                        9
4.4 ÁRBOLES CON PESO

Un grafo ponderado o grafo con pesos es un grafo G(V, E), en el que a cada
arista se le asigna un valor real no negativo o peso. Sobre el conjunto de aristas
se introduce una función peso              . El peso de un subgrafo de un grafo
ponderado es la suma de los pesos de todas sus aristas.



4.5 RECORRIDO DE UN ÁRBOL


Los ordenamientos más importantes son llamados: preorden, post-orden y en-
orden y se definen recursivamente como sigue:

      Si un árbol T es nulo, entonces, la lista vacía es el listado preorden, post-
      orden y en-orden del árbol T.
      Si T consiste de un sólo nodo n, entonces, n es el listado preorden, post-
      orden y en-orden del árbol T.



Recorrido en PRE-ORDEN:

      Visitar el raíz
      Recorrer el subárbol izquierdo en pre-orden
      Recorrer el subárbol derecho en pre-orden

Recorrido EN-ORDEN

      Recorrer el subárbol izquierdo en en-orden
      Visitar el raíz
      Recorrer el subárbol derecho en en-orden

Recorrido en POST-ORDEN

      Recorrer el subárbol izquierdo en post-orden
      Recorrer el subárbol derecho en post-orden
      Visitar el raíz

   Si T es un árbol con raíz n y subárboles T1, T2, . . . , Tk, entonces, El listado
   pre-orden de los nodos de T es la raíz n, seguida por los nodos de T1 en pre-
   orden, después los nodos de T2 en preorden, y así, hasta los nodos de Tk en
   pre-orden.




                                         10
El listado post-orden de los nodos de T es los nodos de T1 en postorden,
seguidos de los nodos de T2 en post-orden, y así hasta los nodos de Tk en
post-orden, todos ellos seguidos de n. El listado en-orden de los nodos de T es
los nodos de T1 en-orden, seguidos por n, seguidos por los nodos de T2, . . . ,
Tk, cada grupo.




                                  5.- REDES




                                     11
TEOREMA DE FLUJO MÁXIMO

   1. Todo flujo a través de una red conexa dirigida se origina en un nodo,
      llamado fuente, y termina en otro llamado destino.
   2. Los nodos restantes son los nodos de trasbordo.
   3. Se permite el flujo a través de un arco solo en la dirección indicada por la
      flecha, donde la cantidad máxima de flujo está dada por la capacidad del
      arco.
   4. El objetivo es maximizar la cantidad total de flujo de la fuente al destino.
      Esta cantidad se mide en cualquiera de las dos maneras equivalentes, esto
      es, la cantidad que sale de la fuente o la cantidad que entra al destino.



                           TEOREMA DE FLUJO MINIMO

Un corte T es una selección cualquiera de nodos de una red tal que la fuente F
está en T y el sumidero S no está en T. Vemos por lo tanto que S ∈ Tc.

Definición: Decimos que un corte es mínimo si la capacidad tiene un valor mínimo.

Ejemplo. La capacidad del corte del ejemplo 1 es w(F,e) + w(f,h) + w(c,d) = 3 + 6
+5 = 14

Teorema. Si tenemos una red R con flujo f y un corte T.

Entonces si la igualdad del teorema anterior se cumple se tiene un flujo máximo y
un corte mínimo. En este caso se tiene: f(i,j) = w(i,j) si i ∈ T, j NO∈ T y también f(i,j)
= 0 si i NO∈ T, j ∈ T.

A este teorema se le conoce como el teorema del flujo máximo y corte mínimo.



                                        PAREOS

Supongamos que tenemos una relación entre dos conjuntos, por ejemplo el caso
de que 4 personas S1, S2, S3 y S4 solicitan trabajo y se tienen 4 trabajos
disponibles T1, T2, T3, T4: El primero está capacitado para los trabajos T2 y T4, el
segundo solicita a T1, T3 y T4 y el tercero a T2 y T4 y el cuarto para T2 y T4.Un
acoplamiento con el número máximo de aristas se obtiene cuando el flujo es
máximo. También es posible ver que se tiene un acoplamiento completo, o sea
que todos pueden conseguir trabajo, si el flujo equivale al número de elementos en
el primer conjunto.




                                            12
REDES DE PETRI

Una red de Petri es un grafo dirigido bipartito, con un estado inicial, llamado
marcación inicial. Los dos componentes principales de la red de Petri son los sitios
(también conocidos como estados) y las transiciones.

Gráficamente, los sitios son dibujados como círculos y las transiciones como
barras o rectángulos. Las aristas del grafo son conocidas como arcos. Estos
tienen un peso específico, el cual es indicado por un número entero positivo, y van
de sitio a transición y viceversa. Por simplicidad, el peso de los arcos no se indica
cuando éste es igual a 1. Un arco que esté etiquetado con k puede ser
interpretado como k arcos paralelos.

El estado del sistema que la red esté modelando es representado con la
asignación de enteros no-negativos a los sitios. Esta asignación es conocida como
una marcación, la cual es representada gráficamente mediante unos pequeños
círculos negros dentro de un sitio p, llamados tokens . Si el número de tokens es
demasiado grande, los k tokens son representados con un número no-negativo
dentro del correspondiente sitio.

Las redes de Petri representan una alternativa para modelar sistemas, sus
características hacen que, para algunos problemas las redes de Petri funcionen de
una manera natural.




                                         13
14

Teoría de grafos

  • 1.
    INSTITUTO TECNOLÓGICO DELISTMO Teoría de Grafos Matemáticas Discretas 2 de Enero 2012 1
  • 2.
    ÍNDICE Contenido 1.- ELEMENTOS YCARACTERÍSTICAS DE LOS GRAFOS ------------------------------------------3 1.1 Componentes de un grafo (vértices, aristas, lazos, valencia) -----------------------3 1.2 TIPOS DE GRAFOS --------------------------------------------------------------------------------------4 2.- REPRESENTACIÓN DE LOS GRAFOS ------------------------------------------------------------------6 3 ALGORITMOS DE RECORRIDO Y BÚSQUEDA ---------------------------------------------------7 3.1 EL CAMINO MÁS CORTO -----------------------------------------------------------------------------7 3.2 A LO ANCHO ------------------------------------------------------------------------------------------------8 3.3 EN PROFUNDIDAD ---------------------------------------------------------------------------------------8 4.- ARBOLES -------------------------------------------------------------------------------------------------------------8 4.1 COMPONENTES -----------------------------------------------------------------------------------------------9 4.2 PROPIEDADES -------------------------------------------------------------------------------------------------9 4.3 CLASIFICACIÓN -----------------------------------------------------------------------------------------------9 4.4 ÁRBOLES CON PESO ------------------------------------------------------------------------------------- 10 4.5 RECORRIDO DE UN ÁRBOL --------------------------------------------------------------------------- 10 5.- REDES --------------------------------------------------------------------------------------------------------------- 11 2
  • 3.
    1.- ELEMENTOS YCARACTERÍSTICAS DE LOS GRAFOS En ciencias de la computación, la teoría de grafos estudia las propiedades de los grafos (gráficas). El grafo es un conjunto de objetos llamados vértices (nodos) y una selección de pares de vértices, llamados aristas. El diagrama de Grafos se representa por una serie de vértices conectados las aristas. 1.1 Componentes de un grafo (vértices, aristas, lazos, valencia) VÉRTICES 3
  • 4.
    Son los nodoscon los que se forman los grafos. Los grafos no dirigidos está formado por un conjunto de vértices y de aristas; y un grafo dirigido está compuesto por un conjunto de vértices y arcos (pares ordenados de vértices). Se dice que un vértice es: Adyacente: Si tenemos un par de vértices de un grafo (U, V), y si tenemos un arista que los une, entonces U y V son vértices adyacentes y se dice que U es el vértice inicial y V el vértice adyacente. Aislado: Es el vértice de grado Cero. Terminal: Vértice de grado 1 Un vértice de corte es aquel que al removerlo desconecta al grafo restante. Un conjunto independiente es un conjunto de vértices tal que ninguno es adyacente a otro, y una cobertura de vértices es un conjunto de vértices que incluye los puntos finales de cada arista en un grafo. ARISTAS La arista es la relación que tienen dos vértices de un grafo. Las aristas se representan como una línea que une a dos vértices (esto es para grafos no dirigidos); si el grafo es dirigido, entonces la arista se representa como una flecha. LAZOS Se denomina lazo cuando una arista conecta a un mismo vértice VALENCIA El grado o valencia de un vértice es el número de aristas incidentes en él. Para un grafo con bucles, éstos son contados por dos. En un digrafo, podemos distinguir el grado saliente (el número de aristas que dejan el vértice) y el grado entrante (el número de aristas que entran en un vértice). El grado de un vértice sería la suma de ambos números. 1.2 TIPOS DE GRAFOS SIMPLES 4
  • 5.
    Un grafo simplees un par G = (V;E) donde V es un conjunto _nito no vacío de elementos llamados vértices y E es un conjunto de pares no ordenados de elementos distintos de V llamados aristas. Por razones técnicas se supondrá que V E = ᴓ COMPLETOS Un grafo completo es un grafo simple donde cada par de vértices está conectado por una arista. Un grafo completo de n vértices tiene n(n − 1) / 2 aristas, y se nota Kn. Es un grafo regular con todos sus vértices de gradon − 1. Ningún grafo completo tiene lazos y está conectado totalmente, por ende, la única forma de hacer disconexo el grafo con una eliminación de vértices es aplicarla a todos. BIPARTIDOS Es un grafo cuyos vértices se pueden separar en dos conjuntos disjuntosV1 y V2 y las aristas siempre unen vértices de un conjunto con vértices de otro: Los grafos bipartitos suelen representarse gráficamente con dos columnas (o filas) de vértices y las aristas uniendo vértices de columnas (o filas) diferentes. Los dos conjuntos U y V pueden ser pensados como un coloreo del grafo con dos colores: si pintamos los vértices en U de azul y los vértices deV de verde obtenemos un grafo de dos colores donde cada arista tiene un vértice azul y el otro verde. Por otro lado, si un gráfico no tiene la propiedad de que se puede colorear con dos colores no es bipartito. Un grafo bipartito suele con la partición de los vértices en U y V suele denotarse G = (U, V, E). Si |U| =|V|, esto es, si los dos subconjuntos tiene la misma cantidad de elementos, decimos que el grafo bipartito G es balanceado. PLANOS Un grafo es plano si, y sólo si, nocontiene ningún subgrafo isomorfo a K5 ni a K3,3, ni a subdivisiones de ellos. Un grafo no es plano si no puede ser dibujado sobre un plano sin que sus aristas se intersequen. Los grafos K5 y el K3,3 son los grafos no planos minimales, lo cual nos permitirán caracterizar el resto de los grafos no planos. CONEXOS En matemáticas y ciencias de la computación es aquel grafo que entre cualquier par de sus vértices existe un Camino (Grafo) que los une. PONDERADOS 5
  • 6.
    Un grafo ponderadoo grafo con pesos es un grafo G(V, E), en el que a cada arista se le asigna un valor real no negativo o peso. Sobre el conjunto de aristas se introduce una función peso. El peso de un subgrafo de un grafo ponderado es la suma de los pesos de todas sus aristas. 2.- REPRESENTACIÓN DE LOS GRAFOS 1. La representación gráfica: Adecuada para la interpretación de grafos pequeños o medianos. 2. Representación por matriz asociada: Para la interpretación de grafos con programas informáticos. 3. Diccionario de grafos: Define el grafo de forma compacta en términos de memoria. 6
  • 7.
    3 ALGORITMOS DERECORRIDO Y BÚSQUEDA 3.1 EL CAMINO MÁS CORTO El algoritmo de Dijkstra resuelve el problema de encontrar los caminos más cortos a partir de un origen, en grafos pesados que no tengan pesos negativos. El algoritmo de Dijkstra es un algoritmo voraz que opera a partir de un conjunto S de nodos cuya distancia más corta desde el origen ya es conocida. En principio, S contiene sólo el nodo origen. En cada paso, se agrega algún nodo v a S, cuya distancia desde el origen es la más corta posible. Bajo la hipótesis de que los pesos son no negativos, siempre es posible encontrar un camino más corto entre 7
  • 8.
    el origen yv que pasa sólo a través de los nodos de S, al que llamaremos “especial”. En cada paso del algoritmo, se utiliza un arreglo D para registrar la longitud del camino “especial” más corto a cada nodo. Una vez que S incluye todos los nodos, todos los caminos son “especiales”, así que D contendrá la distancia más corta del origen a cada vértice. Se puede utilizar un arreglo P, para ir almacenando los caminos más cortos. 3.2 A LO ANCHO En este algoritmo también se utiliza la estrategia de marcas los nodos como “visitados” para detectar la culminación del recorrido, pero los nodos se recorren de una manera ligeramente distinta.Este algoritmo puede crear menos ambientes recursivos que el anterior porque visita mas nodos en un mismo ambiente, pero esto depende de cómo este construido el grafo. El algoritmo se conoce como el algoritmo de BFS (Breadth-First Search). 3.3 EN PROFUNDIDAD Para efectuar un recorrido en profundidad de un grafo, se selecciona cualquier nodocomo punto de partida (por lo general el primer nodo del grafo) y se marcan todos los nodos del grafo como “no visitados”. El nodo inicial se marca como “visitado” y si hay un nodo adyacente a este que no haya sido “visitado”, se toma este nodo como nuevo punto de partida del recorrido. El recorrido culmina cuando todos los nodos hayan sido visitados. 4.- ARBOLES Es una estructura jerárquica aplicada sobre una colección de elementos u objetos llamados nodos; uno de los cuales es conocido como raíz. Además se crea una relación o parentesco entre los nodos dando lugar a términos como padre, hijo, hermano, antecesor, sucesor, ancestro, etc… Formalmente se define un árbol de tipo T como una estructura homogénea que es la concatenación de un elemento de tipo T junto con un número finito de árboles disjuntos, llamados subárboles. Una forma particular de árbol puede ser la estructura vacía. Un árbol es un grafo simple en el cual existe un único camino entre cada par de vértices. Los árboles 8
  • 9.
    representan las estructurasno lineales y dinámicas de datos más importantes en computación. Dinámicas porque las estructuras de árbol pueden cambiar durante la ejecución de un programa. No lineales, puesto que a cada elemento del árbol pueden seguirle varios elementos. 4.1 COMPONENTES 1. Raíz: Un árbol recibe el nombre de árbol con raíz si cada vértice ha sido designado raíz, en cuyo caso las aristas tienen una orientación natural hacia o desde la raíz. Los árboles con raíz, a menudo con estructuras adicionales como orden de los vecinos de cada vértice, son una estructura clave en informática 2. Hoja: Es un nodo sin hijos. Los nodos que no son hojas se llaman internos. 3. Padre: Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso, también decimos que b es hijo de a) 4. Hijo: Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso, también decimos que b es hijo de a) 5. Descendientes: Son todos los vértices que se tienen como ancestro. 6. Ancestro: Cualquier nodo en el camino a la raíz de un nodo x es un ancestro de x. 4.2 PROPIEDADES Las propiedades de los árboles son: Existe un único paseo entre dos vértices cualesquiera en un árbol. El número de vértices en uno al número al número de aristas en un árbol Un árbol con dos o más vértices tiene al menos dos hojas. 4.3 CLASIFICACIÓN 1. Altura: Llamamos altura de un árbol a la cantidad de vértices del sendero más largo que exista en el árbol 2. Número de nodos: Cuando existen 2 o mas conexiones entre las hojas. 9
  • 10.
    4.4 ÁRBOLES CONPESO Un grafo ponderado o grafo con pesos es un grafo G(V, E), en el que a cada arista se le asigna un valor real no negativo o peso. Sobre el conjunto de aristas se introduce una función peso . El peso de un subgrafo de un grafo ponderado es la suma de los pesos de todas sus aristas. 4.5 RECORRIDO DE UN ÁRBOL Los ordenamientos más importantes son llamados: preorden, post-orden y en- orden y se definen recursivamente como sigue: Si un árbol T es nulo, entonces, la lista vacía es el listado preorden, post- orden y en-orden del árbol T. Si T consiste de un sólo nodo n, entonces, n es el listado preorden, post- orden y en-orden del árbol T. Recorrido en PRE-ORDEN: Visitar el raíz Recorrer el subárbol izquierdo en pre-orden Recorrer el subárbol derecho en pre-orden Recorrido EN-ORDEN Recorrer el subárbol izquierdo en en-orden Visitar el raíz Recorrer el subárbol derecho en en-orden Recorrido en POST-ORDEN Recorrer el subárbol izquierdo en post-orden Recorrer el subárbol derecho en post-orden Visitar el raíz Si T es un árbol con raíz n y subárboles T1, T2, . . . , Tk, entonces, El listado pre-orden de los nodos de T es la raíz n, seguida por los nodos de T1 en pre- orden, después los nodos de T2 en preorden, y así, hasta los nodos de Tk en pre-orden. 10
  • 11.
    El listado post-ordende los nodos de T es los nodos de T1 en postorden, seguidos de los nodos de T2 en post-orden, y así hasta los nodos de Tk en post-orden, todos ellos seguidos de n. El listado en-orden de los nodos de T es los nodos de T1 en-orden, seguidos por n, seguidos por los nodos de T2, . . . , Tk, cada grupo. 5.- REDES 11
  • 12.
    TEOREMA DE FLUJOMÁXIMO 1. Todo flujo a través de una red conexa dirigida se origina en un nodo, llamado fuente, y termina en otro llamado destino. 2. Los nodos restantes son los nodos de trasbordo. 3. Se permite el flujo a través de un arco solo en la dirección indicada por la flecha, donde la cantidad máxima de flujo está dada por la capacidad del arco. 4. El objetivo es maximizar la cantidad total de flujo de la fuente al destino. Esta cantidad se mide en cualquiera de las dos maneras equivalentes, esto es, la cantidad que sale de la fuente o la cantidad que entra al destino. TEOREMA DE FLUJO MINIMO Un corte T es una selección cualquiera de nodos de una red tal que la fuente F está en T y el sumidero S no está en T. Vemos por lo tanto que S ∈ Tc. Definición: Decimos que un corte es mínimo si la capacidad tiene un valor mínimo. Ejemplo. La capacidad del corte del ejemplo 1 es w(F,e) + w(f,h) + w(c,d) = 3 + 6 +5 = 14 Teorema. Si tenemos una red R con flujo f y un corte T. Entonces si la igualdad del teorema anterior se cumple se tiene un flujo máximo y un corte mínimo. En este caso se tiene: f(i,j) = w(i,j) si i ∈ T, j NO∈ T y también f(i,j) = 0 si i NO∈ T, j ∈ T. A este teorema se le conoce como el teorema del flujo máximo y corte mínimo. PAREOS Supongamos que tenemos una relación entre dos conjuntos, por ejemplo el caso de que 4 personas S1, S2, S3 y S4 solicitan trabajo y se tienen 4 trabajos disponibles T1, T2, T3, T4: El primero está capacitado para los trabajos T2 y T4, el segundo solicita a T1, T3 y T4 y el tercero a T2 y T4 y el cuarto para T2 y T4.Un acoplamiento con el número máximo de aristas se obtiene cuando el flujo es máximo. También es posible ver que se tiene un acoplamiento completo, o sea que todos pueden conseguir trabajo, si el flujo equivale al número de elementos en el primer conjunto. 12
  • 13.
    REDES DE PETRI Unared de Petri es un grafo dirigido bipartito, con un estado inicial, llamado marcación inicial. Los dos componentes principales de la red de Petri son los sitios (también conocidos como estados) y las transiciones. Gráficamente, los sitios son dibujados como círculos y las transiciones como barras o rectángulos. Las aristas del grafo son conocidas como arcos. Estos tienen un peso específico, el cual es indicado por un número entero positivo, y van de sitio a transición y viceversa. Por simplicidad, el peso de los arcos no se indica cuando éste es igual a 1. Un arco que esté etiquetado con k puede ser interpretado como k arcos paralelos. El estado del sistema que la red esté modelando es representado con la asignación de enteros no-negativos a los sitios. Esta asignación es conocida como una marcación, la cual es representada gráficamente mediante unos pequeños círculos negros dentro de un sitio p, llamados tokens . Si el número de tokens es demasiado grande, los k tokens son representados con un número no-negativo dentro del correspondiente sitio. Las redes de Petri representan una alternativa para modelar sistemas, sus características hacen que, para algunos problemas las redes de Petri funcionen de una manera natural. 13
  • 14.