Árboles y grafos

27
UNIVERSIDAD NORORIENTAL PRIVADA “GRAN MARISCAL DE AYACUCHO” FACULTAD DE INGENIERÍA ESCUELA DE INFORMÁTICA NUCLEO PUERTO ORDAZ ESTRUCTURA DE DATOS INVESTIGACIÓN SOBRE GRAFOS Y ÁRBOLES

Upload: ramon-moreno-malave

Post on 09-Jul-2016

6 views

Category:

Documents


1 download

DESCRIPTION

Árboles y Grafos

TRANSCRIPT

Page 1: Árboles y Grafos

UNIVERSIDAD NORORIENTAL PRIVADA“GRAN MARISCAL DE AYACUCHO”

FACULTAD DE INGENIERÍAESCUELA DE INFORMÁTICA

NUCLEO PUERTO ORDAZ

ESTRUCTURA DE DATOS

INVESTIGACIÓN SOBREGRAFOS Y ÁRBOLES

Page 2: Árboles y Grafos

UNIVERSIDAD NORORIENTAL PRIVADA“GRAN MARISCAL DE AYACUCHO”

FACULTAD DE INGENIERÍAESCUELA DE INFORMÁTICA

NUCLEO PUERTO ORDAZ

Profesor IntegrantesIng. Thays Parra Ramón Moreno (8.860.691)

Laboratorio Estructura de datos Ramón Figuera (26.138.564)Sección 1S

Puerto Ordaz, mayo de 2016

Page 3: Árboles y Grafos

Contenido

INTRODUCCIÓN.............................................................................................................................4

GRAFOS...........................................................................................................................................5

CONCEPTO.................................................................................................................................5

Aristas.......................................................................................................................................5

Vértices.....................................................................................................................................5

Caminos....................................................................................................................................6

CLASIFICACION DE GRAFOS.................................................................................................6

GRAFOS EULERIANOS............................................................................................................8

GRAFOS CONEXOS..................................................................................................................8

ÁRBOLES.........................................................................................................................................9

BOSQUES DE ÁRBOLES..........................................................................................................9

RECORRIDO DE UN GRAFO...................................................................................................9

Sub-Árboles............................................................................................................................13

Notación polaca.....................................................................................................................14

Árbol etiquetado.....................................................................................................................14

Árboles de expansión............................................................................................................14

Árboles enraizados................................................................................................................15

REPRESENTACIÓN DE GRAFOS EN PROGRAMAS.......................................................15

DÍGRAFO (GRAFO DIRIGIDO)...............................................................................................15

APLICACIONES DE LOS DIGRAFOS...................................................................................16

CONCLUSIÓN...............................................................................................................................17

BIBLIOGRAFÍA..............................................................................................................................18

Página 3 de 20

Page 4: Árboles y Grafos

Página 4 de 20

Page 5: Árboles y Grafos

INTRODUCCIÓN

Hoy en día podemos ver muchas cosas que nos pueden parecer de lo más cotidianas, carreteras, líneas telefónicas, líneas de televisión por cable, el transporte colectivo metro, circuitos eléctricos de nuestras casas, automóviles, y tantas cosas más; lo que no pensamos frecuentemente es que estos forman parte de algo que en matemáticas se denomina como grafos.

En esta investigación se tratará brevemente de explicar lo que son los Grafos y los Árboles, sus tipos, y algunas derivaciones de ellos, así como su representación gráfica y en algunos casos, su representación en algún programa informático, así como en la memoria.

Esta investigación trata de ser lo más breve posible, y explica de manera muy sencilla los conceptos y algunas metodologías con un lenguaje no tan rebuscado para su mayor entendimiento.

Página 5 de 20

Page 6: Árboles y Grafos

GRAFOS

CONCEPTO.

Un grafo, G, es un par ordenado de V y A, donde V es el conjunto de vértices o nodos del grafo y A es un conjunto de pares de vértices, a estos también se les llama arcos o ejes del grafo. Un vértice puede tener 0 o más aristas, pero toda arista debe unir exactamente a dos vértices.

Los grafos representan conjuntos de objetos que no tienen restricción de relación entre ellos. Un grafo puede representar varias cosas de la realidad cotidiana, tales como mapas de carreteras, vías férreas, circuitos eléctricos, etc.

La notación G = A (V, A) se utiliza comúnmente para identificar un grafo.

Los grafos se constituyen principalmente de dos partes: las aristas, vértices y los caminos que pueda contener el mismo grafo.

Aristas Son las líneas con las que se unen las aristas de un grafo y con la que se construyen también caminos.

Si la arista carece de dirección se denota indistintamente {a, b} o {b, a}, siendo a y b los vértices que une.

Si {a, b} es una arista, a los vértices a y b se les llama sus extremos.

Aristas Adyacentes: Se dice que dos aristas son adyacentes si convergen en el mismo vértice.

Aristas Paralelas: Se dice que dos aristas son paralelas si vértice inicial y el final son el mismo.

Aristas Cíclicas: Arista que parte de un vértice para entrar en el mismo. Cruce: Son dos aristas que cruzan en un punto.

Vértices Son los puntos o nodos con los que está conformado un grafo.

Llamaremos grado de un vértice al número de aristas de las que es extremo. Se dice que un vértice es `par' o `impar' según lo sea su grado.

Vértices Adyacentes: 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.

Vértice Aislado: Es un vértice de grado cero.

Página 6 de 20

Page 7: Árboles y Grafos

Vértice Terminal: Es un vértice de grado 1.

Página 7 de 20

Page 8: Árboles y Grafos

Caminos Sean x, y " V, se dice que hay un camino en G de x a y si existe una sucesión finita no vacía de aristas {x,v1}, {v1,v2},..., {vn, y}. En este caso

x e y se llaman los extremos del camino El número de aristas del camino se llama la longitud del camino. Si los vértices no se repiten el camino se dice propio o simple. Si hay un camino no simple entre 2 vértices, también habrá un camino

simple entre ellos. Cuando los dos extremos de un camino son iguales, el camino se llama

circuito o camino cerrado. Llamaremos ciclo a un circuito simple Un vértice a se dice accesible desde el vértice b si existe un camino entre

ellos. Todo vértice es accesible respecto a si mismo

CLASIFICACION DE GRAFOS Podemos clasificar los grafos en dos grupos: dirigidos y no dirigidos. En un grafo no dirigido el par de vértices que representa un arco no está ordenado. Por lo tanto, los pares (v1, v2) y (v2, v1) representan el mismo arco. En un grafo dirigido cada arco está representado por un par ordenado de vértices, de forma que y representan dos arcos diferentes.

Ejemplos

G1 = (V1, A1) V1 = {1, 2, 3, 4} A1 = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)} G2 = (V2, A2) V2 = {1, 2, 3, 4, 5, 6} A2 = {(1, 2), (1, 3), (2, 4), (2, 5), (3, 6)} G3 = (V3, A3) V3 = {1, 2, 3} A3 = { <1, 2>, <2, 1>, <2, 3> }

Gráficamente estas tres estructuras de vértices y arcos se pueden representar de la siguiente manera:

Página 8 de 20

Page 9: Árboles y Grafos

Algunos de los principales tipos de grafos son los que se muestran a continuación:

Grafo regular: Aquel con el mismo grado en todos los vértices. Si ese grado es k lo llamaremos k−regular.

Grafo bipartito: Es aquel con cuyos vértices pueden formarse dos conjuntos disjuntos de modo que no haya adyacencias entre vértices pertenecientes al mismo conjunto

Grafo completo: Aquel con una arista entre cada par de vértices. Un grafo completo con n vértices se denota Kn.

A continuación pueden verse los dibujos de K3, K4, K5 y K6

Un grafo bipartito regular: se denota Km, n donde m, n es el grado de cada conjunto disjunto de vértices.

A continuación ponemos los dibujos de K1,2, K3,3, y K2,5

Grafo nulo: Se dice que un grafo es nulo cuando los vértices que lo componen no están conectados, esto es, que son vértices aislados.

Grafos Isomorfos: Dos grafos son isomorfos cuando existe una correspondencia biunívoca (uno a uno), entre sus vértices de tal forma que dos de estos quedan unidos por una arista en común.

Página 9 de 20

Page 10: Árboles y Grafos

Grafos Platónicos: Son los Grafos formados por los vértices y aristas de los cinco sólidos regulares (Sólidos Platónicos), a saber, el tetraedro, el cubo, el octaedro, el dodecaedro y el icosaedro.

GRAFOS EULERIANOS. Para definir un camino euleriano es importante definir un camino euleriano primero. Un camino euleriano se define de la manera más sencilla como un camino que contiene todos los arcos del grafo.

Teniendo esto definido podemos hablar de los grafos eulerianos describiéndolos simplemente como aquel grafo que contiene un camino euleriano. Como ejemplos tenemos las siguientes imágenes:

El primer grafo de ellos no contiene caminos eulerianos mientras el segundo contiene al menos uno.

GRAFOS CONEXOS. Un grafo se puede definir como conexo si cualquier vértice V pertenece al conjunto de vértices y es alcanzable por algún otro. Otra definición que dejaría esto más claro sería: un grafo conexo es un grafo no dirigido de modo que para cualquier par de nodos existe al menos un camino que los une.

Página 10 de 20

Page 11: Árboles y Grafos

ÁRBOLES.

Un árbol se define como un tipo de grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo. Tal es el caso de los siguientes dos grafos en donde se puede notar que ninguno de los dos contiene repeticiones (ciclos).

BOSQUES DE ÁRBOLES.Los bosques de árboles son un caso similar a los árboles, son acíclicos, pero no son conexos. Como ejemplo tenemos la siguiente figura.

RECORRIDO DE UN GRAFO.Recorrer un grafo significa tratar de alcanzar todos los nodos que estén relacionados con uno que llamaremos nodo de salida. Existen básicamente dos técnicas para recorrer un grafo: el recorrido en anchura; y el recorrido en profundidad.

Recorrido en anchura: El recorrido en anchura supone recorrer el grafo, a partir de un nodo dado, en niveles, es decir, primero los que están a una distancia de un arco del nodo de salida, después los que están a dos arcos de distancia, y así sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida.

Recorrido en profundidad: el recorrido en profundidad trata de buscar los caminos que parten desde el nodo de salida hasta que ya no es posible avanzar más. Cuando ya no puede avanzarse más sobre el camino elegido, se vuelve atrás en busca de caminos alternativos, que no se estudiaron previamente.

Página 11 de 20

Page 12: Árboles y Grafos

Sea A un grafo. A recibe el nombre de árbol sí y sólo si:

A es conexo. A no contiene circuitos.

Ejemplos:

Sea A un árbol. Un vértice de grado 1 se llama una hoja. Un vértice de grado mayor que 1 se llama rama.

De las definiciones anteriores se desprenden las siguientes propiedades:

Existe una trayectoria única entre dos vértices cualesquiera de un árbol. El número de vértices es mayor en 1 al número de aristas. Un árbol con dos o más vértices tiene al menos dos hojas.

Ejemplo Un grupo de ajedrecistas que luchan por un campeonato. Cada ajedrecista tiene una única oportunidad para enfrentar al campeón vigente, y que el perdedor de cualquier encuentro será eliminado de la contienda.

Sea A = (V, E) un grafo no dirigido donde los vértices de V representan los ajedrecistas y las aristas de E representan los encuentros.

Sea V = { v1, v2, v3, v4, v5, v6, v7, v8, v9 }

Al inicio, v1 es el campeón vigente y que se dan los siguientes encuentros:

- v1 venció a v2, v3 y v4 y pierde con v5. - v5 venció a v6 y v7 y pierde con v8. - v8 pierde con v9.

Página 12 de 20

Page 13: Árboles y Grafos

El árbol que detalla esta situación, es el siguiente:

- Los vértices v2, v3, v4, v6, v7, v9 son hojas.

- Los vértices v1, v5, v8 son ramas.

Sea G un grafo dirigido. Se dice que G es un árbol dirigido si se convierte en un árbol cuando se ignoran las direcciones de sus aristas.

Un árbol con raíz es un árbol dirigido que posee exactamente un vértice cuyo grado de entrada es 0 y los grados de entrada de todos los demás vértices es 1.

El vértice con grado de entrada 0 se llama raíz de árbol. Un vértice cuyo grado de salida es 0 se llama hoja. Un vértice cuyo grado de salida es diferente de 0 se llama rama.

Sea Vi una rama de un árbol con raíz. Se dice que Vk es un hijo de Vi si existe una arista dirigida de Vi a Vk , además se dice que Vi es padre de Vk .

En un árbol con raíz se dice que los vértices son hermanos si son hijos del mismo vértice.

Ejemplo Un hombre que tiene dos hijos, de los cuales uno no tiene hijos y el otro tiene tres hijos.

Solución:

Página 13 de 20

Page 14: Árboles y Grafos

Sea A un árbol con raíz. Se dice que A es un árbol binario si cada rama tiene exactamente dos hijos.

El árbol anterior muestra el número de encuentros en un torneo de eliminación simple con 8 competidores.

Se juegan un total 7 encuentros a saber: Cuatro encuentros en la primera ronda. Dos encuentros en la segunda ronda. El encuentro final. En total son 7 encuentros.

En este árbol binario, las hojas representan a los competidores en el torneo y las ramas a los ganadores de los encuentros o, equivalentemente los encuentros jugados en el torneo.

Si se llama r el número de ramas y h el número de hojas en un árbol binario, se puede demostrar que:

r = h –1.

Si un grafo tiene un vértice Uo que solo contiene una diferente de Uo −U1 (a sí mismo) entonces es un árbol.

Página 14 de 20

Page 15: Árboles y Grafos

En general

Altura = 3 (el nivel mas grande) raíz = que no tiene padre (inicial) padre = que tiene hijo(s) hoja = no tiene hijo(s), tiene padre

Conjunto de árboles = Bosque. Árbol ordenado: tiene nivel, los hijos de izquierda a derecha. n-árbol: cuando cada padre tiene a lo más n hijos árbol binario: cada padre tiene a lo más 2 hijos.

Sub-Árboles

¿Cuántos subárboles? = 6

¿Altura? = 5

Página 15 de 20

Page 16: Árboles y Grafos

Notación polaca La evaluación se realiza de derecha a izquierda y de abajo hacia arriba

Ejemplo:

[3∗(1− x) ÷ (4 + (7) – (y + 2))) ] ∗[ 7 + (y ÷ x)]Primero: paréntesis interiores

Árbol etiquetado

Árboles de expansión Un árbol T es un árbol de expansión de un grafo G si T es un subgrafo de G que contiene todos los vértices de G.

Página 16 de 20

Page 17: Árboles y Grafos

Árboles enraizados

En ciencias computacionales los árboles tienen muchas veces vértices principales que pueden utilizarse para dar a los árboles estructuras dirigidas. En general, se puede transformar cualquier grafo no dirigido en un grafo dirigido poniéndole flechas. Si el grafo es un árbol lo que se obtiene es un árbol dirigido. Si todas las flechas parten de un solo vértice se llama árbol enraizado.

REPRESENTACIÓN DE GRAFOS EN PROGRAMAS. Hay tres maneras de representar un grafo en un programa: mediante matrices, mediante listas y mediante matrices dispersas.

Representación mediante matrices: La forma más fácil de guardar la información de los nodos es mediante la utilización de un vector que indexe los nodos, de manera que los arcos entre los nodos se pueden ver como relaciones entre los índices. Esta relación entre índices se puede guardar en una matriz, que llamaremos de adyacencia.

Representación mediante listas: En las listas de adyacencia lo que haremos será guardar por cada nodo, además de la información que pueda contener el propio nodo, una lista dinámica con los nodos a los que se puede acceder desde él. La información de los nodos se puede guardar en un vector, al igual que antes, o en otra lista dinámica.

Representación mediante matrices dispersas: Para evitar uno de los problemas que teníamos con las listas de adyacencia, que era la dificultad de obtener las relaciones inversas, podemos utilizar las matrices dispersas, que contienen tanta información como las matrices de adyacencia, pero, en principio, no ocupan tanta memoria como las matrices, ya que al igual que en las listas de adyacencia, sólo representaremos aquellos enlaces que existen en el grafo.

DÍGRAFO (GRAFO DIRIGIDO). A un grafo dirigido se le puede definir como un grafo que contiene aristas dirigidas, como en el siguiente caso.

Página 17 de 20

Page 18: Árboles y Grafos

APLICACIONES DE LOS DIGRAFOSUna de las aplicaciones más importantes es de hallar el camino mas corto hacia un destino, ya sea de una ciudad a otra, de unos departamentos a otros, para el recorrido de árboles, sirve para la representación de algoritmos, etc.

Un ejemplo de esto es la tarea de freír un huevo:

Página 18 de 20

Page 19: Árboles y Grafos

CONCLUSIÓN

Tanto los arboles como los grafos son estructuras de datos no lineales, de igual manera tienen las características de que ambas estructuras están conformadas por nodos.

En si los árboles son estructuras que implican la relación de sus elementos a través de ramas mientras que los grafos son estructuras que están formadas por un conjunto de vértices y un conjunto de aristas.

Por último, los arboles facilitan la búsqueda y ordenamiento de los datos; en tanto los grafos pueden representar diagramas de transformación de estado, también se aplican en diversos campos de investigación para encontrar el método más corto y más rentable

Página 19 de 20

Page 20: Árboles y Grafos

BIBLIOGRAFÍA

Facultad de Informática. (2009-2010). Grafos y ´arboles. 23-05-2016, de Universidad Politécnica de Valencia Sitio web: http://users.dsic.upv.es/asignaturas/facultad/eda/teoria/tema4/t4eda.pdf

M.C. Nazira Guerrero Jezzini. (2011). Teoría de Grafos. 23-05-2016, de Tecnológico de Monterrey Sitio web: http://campus.cva.itesm.mx/nazira/Tc1003/PDF/Apuntes/0703Tc1003_Arboles.pdf

Profesor Pablo Fernández Gallardo. (2003). Árboles. 23-05-2016, de Universidad Autónoma de México Sitio web: https://www.uam.es/personal_pdi/ciencias/gallardo/capitulo9.pdf

Página 20 de 20