grafos.casanova.rodriguez.cecilia

23
UNIVERSIDAD AUTONOMA DE CAMPECHE FACULTAD DE INGENIERIA ISC INVESTIGACIÓN CASANOVA RODRIGUEZ CECILIA DEL CARMEN 20 DE JUNIO DE 2011

Upload: elienai40

Post on 05-Jul-2015

65 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GRAFOS.casanova.rodriguez.cecilia

UNIVERSIDAD AUTONOMA DE CAMPECHE

FACULTAD DE INGENIERIA

ISC

INVESTIGACIÓN

CASANOVA RODRIGUEZ CECILIA DEL CARMEN

20 DE JUNIO DE 2011

Page 2: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

INDICE

DEFINICION DE GRAFOS………………………………………………………………3

DE QUE CONSTA UN GRAFO…………………………………………………………4

TIPOS DE GRAFOS……………………………………………………………………..4

DIRIGIDOS NO DIRIGIDOS

TIPOS ESPECIALES DE GRAFOS……………………………………………………6

Regular Ciclo Completo Rueda Cubo Bipartito Bipartito completo Multígrafo Pseudografo Grafo conexo

CAMINNO………………………………………………………………………………..10

CICLO…………………………………………………………………………………….11

REPRESENTACION…………………………………………………………………....12

ARBOL……………………………………………………………………………………16

BIBLIOGRAFIA…………………………………………………………………………..17

2

Page 3: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

DEFINICION

Los grafos son estructuras discretas que aparecen ubicuamente en cada

disciplina donde se requiera modelar algo. Por ejemplo, sirven para representar:

◮ El esquema organizacional de una empresa;

◮ Una red de computadores;

◮ Un árbol genealógico;

◮ La interacción entre científicos;

◮ La web semántica, etc.

En general, los grafos son mapas conceptuales que nos ayudan a

representar nuestro conocimiento.

PUn grafo G está conformado por un conjunto no vacío V de vértices o

nodos, y un conjunto E de arcos o aristas, tal que cada e ∈ E tiene un par (v1, v2) ∈ V × V asociado. En tal caso, decimos que ‘e’ conecta v1 con v2. Note que dos

arcos diferentes pueden conectar al mismo par de vértices. En la anterior

definición V y E pueden ser finitos o infinitos.

Ejemplo: Para representar una red de computadores, podemos usar un

grafo en que cada nodo es un servidor y cada arco es una conexión.

¿DE QUE CONSTA UN GRAFO?

3

Page 4: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

Un grafo consta de dos cosas:

a) Un conjunto N cuyos elementos se llaman nodos, vértices o puntos.

b) Un conjunto S de parejas no ordenadas de nodos diferentes, llamadas

segmentos o aristas.

Denotamos un grafo por G(N, S) cuando queremos destacar las dos partes

de G.

Los nodos u y v se llaman adyacentes si hay un segmento {u, v}.

Representamos de una manera natural los grafos por diagramas en el

plano. O sea, cada nodo u de N se representa por un punto (o pequeño círculo) y

cada segmento s= {[pic] } se representa por una curva que conecta sus terminales

[pic].

TIPO DE GRAFOS

Gráficamente los vértices se representan por círculos, las líneas (o aristas)

pertenecen a los grafos no dirigidos y las flechas (o arcos) a los grafos dirigidos.

Existen dos tipos de grafos los dirigidos y los no dirigidos:

Un dígrafo o grafo dirigido .- Es un par D = (V, E) consistente en un

conjunto finito no vacío V cuyos miembros se llaman vértices y una familia

finita E de pares ordenados de vértices a cuyos elementos llamaremos

aristas o arcos. Al par (u, v) ∈E lo denotaremos por uv y diremos que u es

el extremo inicial y que v es el extremo final. Son aquellos en los cuales los

lados están orientados (flechas). Cada lado se representa entre ángulos,

separando sus vértices por comas y teniendo en cuenta <Vi, Vj >!=<Vj, Vi>.

En grafos dirigidos, para cada lado <A, B>, A, el cual es el vértice origen, se

conoce como la cola del lado y B, el cual es el vértice destino, se conoce

como cabeza del lado. 

Un grafo dirigido (o dígrafo) consta de:

4

Page 5: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

1. un conjunto finito de vértices V

2. un conjunto de arcos E V × V (obsérvese que cada arco es un par

ordenado vértices)

Este es un ejemplo de un grafo dirigido

No dirigidos : Son aquellos en los cuales los lados no están orientados (No

son flechas). Cada lado se representa entre paréntesis, separando sus vértices

por comas. Son aquellos en los cuales los lados no están orientados (No son

flechas). Cada lado se representa entre paréntesis, separando sus vértices por

comas, y teniendo en cuenta (Vi,Vj)=(Vj,Vi).

TIPO ESPECIALES DE GRAFOS

5

Page 6: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

a) Un grafo regular de grado n si todos sus vértices tienen grado n.

b) Se dice que un grafo es completo cuando todos sus vértices son adyacentes a

todos los vértices del grafo, es decir, cuando cada par de vértices son los

extremos de una arista. Notaremos por Kn los grafos completos de n vértices.

c) Un ciclo si V = {v1, v2,. . . vn}, n³> 3, y E = {(v1, v2), (v2, v3), . . . , (vn, v1)}. Se

denota por Cn al ciclo de n vértices

6

Page 7: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

d) Una rueda si V = {v0, v1, v2, . . . vn}, n n 3, y E = {(v1, v2), (v2, v3), . . . , (vn,

v1), {(v1, v0), (v2, v0), . . . , (vn, v0) }. Se denota por Wn a la rueda de n+1

vértices.

e) Un cubo si sus vértices y aristas están relacionados como los de un cubo n-

dimensional. Se denota por Qn al cubo asociado al cubo n-dimensional.

7

Page 8: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

f)  Un grafo bipartido si V=V1V2 y cada arista de E une un vértice de V1 y otro

de V2.

g)  Un grafo bipartido completo si V=V1V2 y dos vértices de V están unidos por

una arista de E si y solo si un vértice está en V1 y el otro en V2. Se denota por

Kr,s al grafo bipartido completo donde V1 tiene r vértices y V2 tiene s vértices.

8

Page 9: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

Grafo conexo

Un grafo es conexo si cada par de vértices está conectado por un camino;

es decir, si para cualquier par de vértices (a, b), existe al menos un camino

posible desde a hacia b.

Un grafo es doblemente conexo si cada par de vértices está conectado

por al menos dos caminos disjuntos; es decir, es conexo y no existe un vértice tal

que al sacarlo el grafo resultante sea disconexo.

Es posible determinar si un grafo es conexo usando un algoritmo

Búsqueda en anchura (BFS) o Búsqueda en profundidad (DFS).

En términos matemáticos la propiedad de un grafo de ser (fuertemente)

conexo permite establecer con base en él una relación de equivalencia para sus

vértices, la cual lleva a una partición de éstos en "componentes (fuertemente)

conexas", es decir, porciones del grafo, que son (fuertemente) conexas cuando

se consideran como grafos aislados. Esta propiedad es importante para muchas

demostraciones en teoría de grafos.

Multígrafos

Llamaremos de esta forma a los grafos en los que haya pares de v´ertices

unidos por más de una arista.

Pseudografo

9

Page 10: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

Llamaremos pseudografos a los grafos en los que existan aristas cuyos

extremos coincidan, es decir, aquellos en los que existan aristas que unan

vértices consigo mismos. A tales aristas las llamaremos lazos o bucles.

CAMINO

Sea G un grafo o un multígrafo. Un camino en G es una sucesión donde se

alternan vértices y aristas, comenzando y terminando con vértices y en el que

cada arista es incidente con los dos vértices que la preceden y la siguen.

Un camino que une los vértices v1 y vn sería:

v1, v1v2, v2, v2v3, . . . , vn−1, vn−1vn, vn

Si se trata de un grafo (no un multígrafo) este camino también puede

especificarse simplemente por la sucesión de sus vértices, v1, v2, v3 . . . , vn−1,

vn y lo representaremos por:

¥ = (v1, v2, v3, . . . , vn−1, vni)

A los vértices v1 y vn se les denomina extremos del camino. Suele decirse

también que el camino conecta v1 con vn o que va de v1 a vn. La longitud del

camino es el número n − 1 de aristas que contiene.

Un camino es simple si en la sucesión de vértices no hay ninguno

repetido.

10

Page 11: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

Un camino en un grafo es una sucesión finita en la que aparecen

alternadamente vértices y aristas de dicho grafo. Otras definiciones

básicas son:

Los extremos son los vértices iníciales y final del camino.

La longitud de un camino es el número de aristas que contiene.

Un camino es cerrado si sus extremos coinciden.

Un camino es simple si en la sucesión de vértices no hay ninguno

repetido.

Un ciclo es un camino cerrado donde los únicos vértices repetidos

son el primero y el último.

Un circuito es un camino cerrado que no repite aristas.

Si en un grafo existe un camino que conecta dos vértices distintos,

entonces existe un camino simple con extremos en dichos vértices.

TIPOS DE CAMINOS

Camino euleriano: es un camino o circuito que contiene todas las

aristas apareciendo cada una de ellas exactamente una vez. Un

grafo que admite dicho circuito se denomina grafo euleriano, y sus

vértices o tienen grado par o dos de los vértices tienen grado impar.

Camino hamiltoniano: es un camino simple que contiene todos los

vértices apareciendo cada uno de ellos exactamente una vez. Un

ciclo que a su vez es un camino hamiltoniano se denomina ciclo

hamiltoniano, y un grafo que contiene un ciclo hamiltoniano se

denomina grafo hamiltoniano.

CICLO

Sea G un grafo o un multígrafo. Un ciclo en G es un camino en el que sus

extremos coinciden.

El ciclo será simple si no hay, además del primero y el último, ningún otro

vértice repetido.

En un grafo dirigido, utilizaremos los términos caminos y ciclos dirigidos.

11

Page 12: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

Aquí tenemos un ejemplo de lo que es un camino y un ciclo.

¥ = (v1, v2, v6, v3, v4, v6, v5) es un camino.

¥ = (v1, v2, v3, v4) es un camino simple ya que no hay ningún vértice repetido.

¥ = (v1, v2, v6, v5, v4, v6, v2, v1) es un ciclo.

¥ = (v2, v3, v4, v5, v6, v6) es un ciclo simple ya que se repiten, ´únicamente, los

vértices primero y último.

REPRESENTACIÓN

Existen varias estructuras de datos que pueden utilizarse para representar grafos

y dígrafos. La elección de la estructura de datos adecuada depende del tipo de

operaciones que se quieran aplicar al conjunto de vértices y aristas (arcos) del

grafo (dígrafo) en cuestión. Las representaciones más comunes son las matrices

de adyacencia y las listas de adyacencia.

Matriz de adyacencia

Dado un grafo (dígrafo) G = (V, E) con V = {1, 2, . . . , n}, la matriz de

adyacencias de G es una matriz A de boléanos de tamaño n×n en la que A[i][j]

12

Page 13: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

es cierto si y sólo si la arista (arco) que une al vértice i con el vértice j está en E

({i, j} en el caso de grafos y (i, j) en el caso de dígrafos). Sea G un grafo cuyo

conjunto de v´ertices es V = {v1, v2,. . ., vp}. Llamaremos matriz de adyacencia

del grafo G a la matriz A = (aij) de p filas y p columnas, donde

aij = 1 si vi y vj son adyacentes

0 si vi y vj no son adyacentes

Es fácil observar que la matriz de adyacencias de un grafo no dirigido es una

matriz simétrica y que podemos ahorrar espacio (la mitad) guardando solo su

parte inferior. En un grafo representado por matrices de adyacencia el tiempo

que se requiere para accesar un elemento es independiente de las tallas de V y

de E, por tanto, esta puede ser una representación adecuada en las aplicaciones

en las que es necesario saber con mucha frecuencia si una determinada arista

(arco) está presente en el grafo (dígrafo). La desventaja principal de utilizar una

matriz de adyacencias para representar un grafo (dígrafo) es que la matriz

requiere un espacio (n2) incluso si el grafo (dígrafo) es esparzo, es decir, si

tiene bastante menos de n2 aristas (arcos). Sólo leer o examinar la matriz

requerirá tiempo O (n2), en perjuicio de posibles algoritmos de tiempo O(n) para

manipular grafos (dígrafos) con O(n) aristas (arcos). Una alternativa para evitar

esta desventaja es utilizar listas para representar un grafo.

Ejemplos:

13

Page 14: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

Matriz de incidencia

Sea G = (V,A) un grafo cuyos conjuntos de v´ertices y aristas son,

respectivamente,

V = {v1, v2, . . . , vp} y A = {a1, a2, . . . , aq}

Llamaremos matriz de incidencia del grafo G a la matriz B = (bij) de p filas y q

columnas, donde

bij = 1, si vi y aj son incidentes.

0, en otro caso.

− La matriz de incidencia de un grafo permite representar tanto bucles como

aristas repetidas entre dos vértices.

− Si el grafo no tiene bucles, entonces cada columna tiene dos 1 y la suma de

cada fila nos da el grado del vértice correspondiente.

Ejemplos:

14

Page 15: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

15

Page 16: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

ARBOL

Un árbol es un grafo en el que dos vértices están conectados por

exactamente un camino. Un bosque es un grafo en el que dos vértices

cualquiera están conectados por como máximo un camino. Una definición

equivalente es que un bosque es una unión disjunta de árboles. Un árbol a veces

recibe el nombre de árbol libre.

Propiedades

Todo árbol es a su vez un grafo bipartido. Todo árbol con sólo un

conjunto contable de vértices es además un grafo plano.

Todo grafo conexo G admite un árbol de cobertura, que es un árbol que

contiene cada vértice de G y cuyas aristas son aristas de G.

Tipos de arboles

Árbol binario: es una estructura de datos en la cual cada nodo siempre

tiene un hijo izquierdo y un hijo derecho. No pueden tener más de dos hijos (de

ahí el nombre "binario"). Si algún hijo tiene como referencia a null, es decir que

no almacena ningún dato, entonces este es llamado un nodo externo. En el caso

contrario el hijo es llamado un nodo interno. Usos comunes de los árboles

binarios son los árboles binarios de búsqueda, los montículos binarios y

Codificación de Huffman.

Un árbol binario de búsqueda auto-balanceable o equilibrado: es un

árbol binario de búsqueda que intenta mantener su altura, o el número de niveles

de nodos bajo la raíz, tan pequeños como sea posible en todo momento,

automáticamente. Esto es importante, ya que muchas operaciones en un árbol de

búsqueda binaria tardan un tiempo proporcional a la altura del árbol, y los árboles

binarios de búsqueda ordinarios pueden tomar alturas muy grandes en situaciones

normales, como cuando las claves son insertadas en orden. Mantener baja la

altura se consigue habitualmente realizando transformaciones en el árbol, como la

rotación de árboles, en momentos clave.

16

Page 17: GRAFOS.casanova.rodriguez.cecilia

ESTRUCTURA DE DATOS I INVESTIGACION

BIBLIOGRAFIA

WWW.BUENASTAREAS.COM

WWW.WIKIPEDIA.COM

WWW.DOCENCIA.UDEA.EDU.CO/REGIONALIZACION/

TEORIADEREDES/INFORMACI

%F3N/C1_REPRESENTACIONMATRICES.PDF 080608 12:30

WWW.DMA.FI.UPM.ES/DOCENCIA/SEGUNDOCICLO/TEORGRAF

HTTP://WWW2.UDEC.CL/~GRAFOS/GRAFOS/EJERC/EJERC1/

EJERC1.HTM

LINK

17