Grafos (angel)[1]

9
Que es grafos El origen de la palabra grafo es griego y su significado etimológico es "trazar". Aparece con gran frecuencia como respuesta a problemas de la vida cotidiana, algunos ejemplos podrían ser los siguientes: un gráfico de una serie de tareas a realizar indicando su secuenciación (un organigrama),grafos matemáticos que representan las relaciones binarias, una red de carreteras, la red de enlaces ferroviarios o aéreos o la red eléctrica de una ciudad.(Véase la figura 1).En cada caso, es conveniente representar gráficamente el problema dibujando un grafo como un conjunto de puntos(vértices)con líneas conectándolos (arcos). De aquí se podría deducir que un grafo es básicamente un objeto geométrico aunque en realidad sea un objeto combinatorio, es decir, un conjunto de puntos y un conjunto de líneas tomado de entre el conjunto de líneas que une cada par de vértices. Por otro lado, y debido a su generalidad y a la gran diversidad de formas que pueden usarse, resulta

Transcript of Grafos (angel)[1]

Page 1: Grafos (angel)[1]

Que es grafos

El origen de la palabra grafo es griego y su significado etimológico es "trazar". Aparece con gran frecuencia como respuesta a problemas de la vida cotidiana, algunos ejemplos podrían ser los siguientes: un gráfico de una serie de tareas a realizar indicando su secuenciación (un organigrama),grafos matemáticos que representan las relaciones binarias, una red de carreteras, la red de enlaces ferroviarios o aéreos o la red eléctrica de una ciudad.(Véase la figura 1).En cada caso, es conveniente representar gráficamente el problema dibujando un grafo como un conjunto de puntos(vértices)con líneas conectándolos (arcos).

De aquí se podría deducir que un grafo es básicamente un objeto geométrico aunque en realidad sea un objeto combinatorio, es decir, un conjunto de puntos y un conjunto de líneas tomado de entre el conjunto de líneas que une cada par de vértices. Por otro lado, y debido a su generalidad y a la gran diversidad de formas que pueden usarse, resulta complejo tratar con todas las ideas relacionadas con un grafo.

Para facilitar el estudio de este tipo de dato, a continuación se realizará un estudio de la teoría de grafos desde el punto de vista de las ciencias de la computación. Considerando que dicha teoría es compleja y amplia, aquí sólo se realizará una introducción a la misma, describiéndose el grafo como un tipo de dato y mostrándose los problemas típicos y los algoritmos que permiten solucionarlos usando un ordenador.

Page 2: Grafos (angel)[1]

Los grafos son estructuras de datos no lineales que tienen una naturaleza generalmente dinámica. Su estudio podría dividirse en dos grandes bloques:

Grafos Dirigidos.

Grafos no Dirigidos (pueden ser considerados un caso particular de los anteriores).

Un ejemplo de grafo dirigido lo constituye la red de aguas de una ciudad ya que cada tubería sólo admite que el agua la recorra en un único sentido. Por el contrario, la red de carreteras de un país representa en general un grafo no dirigido, puesto que una misma carretera puede ser recorrida en ambos sentidos. No obstante, podemos dar unas definiciones generales para ambos tipos.

A continuación daremos definiciones de los dos tipos de grafos y de los conceptos que llevan asociados.

REPRESENTACIÓN MATRICIAL EN GRAFOS Y DIGRAFOS

Dados G = {V, A,j} y D = {V, A,j} con | A | = m y | V | = n. Se definen:

MATRIZ DE ADYACENCIA

Ma(G) = [bij]nxn / bij: cantidad de aristas con extremos {vi,vj} (cuadrada simétrica).

Ma(D) = [bij]nxn / bij: cantidad de aristas con extremos (vi,vj) (cuadrada y no

Necesariamente simétrica).

MATRIZ DE ADYACENCIA BOOLEANA

Ma(G) = [bij]nxm = 1 si $a Î A :j (a) = {vi, vj}

0 en otro caso

Ma(D) = [bij]nxm = 1 si $a Î A :j (a) = (vi, vj)

0 en otro caso

Grafos – Definiciones Matemática Discreta – FI – UBA Pág. 6

MATRIZ DE INCIDENCIA

2 si aj es lazo con extremo en vi

Mi(G) = [bij]nxm / bij = 1 si vi y aj son incidentes y aj no es lazo

0 si vi y aj no son incidentes

Page 3: Grafos (angel)[1]

* siaj es lazo con extremo en vi ,con * _0

Mi(D) = [bij]nxn / bij: = 1 si aj incide positivamente en vi y aj no es lazo

-1 si aj incide negativamente en vi y aj no es lazo

0 si vi y aj no son incidentes

Propiedad

Sea un grafo o digrafo con matriz de adyacencia Ma, entonces el total de caminos

Diferentes de longitud kW desde vi a vj es igual al elemento i,j de la matriz M(a)

k.

MATRIZ DE CONEXIÓN: Dados G = {V,A,j} con | A | = m y | V | = n.

Se define la siguiente relación:" v ,w Î V vR w _ (v= w Ú $ un camino de v a w)

Mc (G) = [bij]nxn = 1 si vR w0 en otro caso

Grafos Eulerianos

Informalmente, un grafo (digrafo) euleriano es aquél en que pueden recorrerse todas sus las aristas (arcos) de manera consecutiva y sin repetirlas. ¿Puede dibujarse cierta figura de un solo trazo?, ¿puede un carteroefectuar su reparto sin tener que pasar dos veces por la misma calle? son ejemplos de uso de este tipo degrafos. Y por supuesto el problema de los puentes de K¨onigsberg que, como comentamos en la introducción,dio inicio a la teoría de grafos.

Muchas de las situaciones de aplicación de estas cuestiones se plantean sobre multígrafos (multidigrafos),por lo que debemos recordar que en ´estos pueden existir varias aristas (arcos) entre los mismosvértices y lazos.

Puntualicemos además, que:

Definición 19.- La matriz de adyacencia o matriz de un multígrafo G = (V,A) con vértices V =

{x1, x2, . . . , xn}, es una la matriz cuadrada M = (mij)n×n donde mij = “no de aristas entre xi y xj ”.

La matriz de adyacencia o matriz de un multidigrafo D = (V,A) con vértices V = {x1, x2, . . . , xn},es una la matriz cuadrada M = (mij)n×n donde mij = “no de arcos desde xi a xj

Observaciones 21.- 1.- La matriz MG es sim´etrica. Si G no tiene lazos la diagonal principal es nula,

Page 4: Grafos (angel)[1]

y si G es simple, MG está formada ´únicamente por ceros y unos.

2.- El grado de un vértice xi es la suma de los elementos de la fila (o columna) i -´esima más el númerode lazos en ese vértice. Es decir, gr(xi) =Pnk=1mik +mii_=Pnk=1mki + mii_(cada lazo cuenta 1 en la matriz, pero cuenta 2 en el grado del v´ertice).

3.- El ingrado de un vértice vi es la suma de los elementos de la columna i -´esima de la matriz MD, yel exgrado la suma de los elementos de la fila: ing(vi) =Pnk=1mki y exg(vi) =Pnk=1mik .

Naturalmente, gr(vi) = ing(vi) + exg(vi).

Grafo hamiltoniano

Camino hamiltoniano

En el campo matemático de la teoría de grafos, un camino hamiltoniano en un grafo es un camino, una sucesión de aristas adyacentes, que visita todos los vértices del grafo una sola vez. Si además el último vértice visitado es adyacente al primero, el camino es un ciclo hamiltoniano.

El problema de encontrar un ciclo (o camino) hamiltoniano en un grafo arbitrario se sabe que es NP-completo.

Los caminos y ciclos hamiltonianos fueron nombrados después que William Rowan Hamilton, inventor del juego de Hamilton, lanzara un juguete que involucraba encontrar un ciclo hamiltoniano en las aristas de un grafo de un dodecaedro. Hamilton resolvió este problema usando cuaterniones, pero esta solución no se generaliza a todos los grafos

Arboles grafos

Page 5: Grafos (angel)[1]

Un árbol es un grafo simple unidireccional G que satisface alguna de las siguientes condiciones equivalentes:

G es conexo y no tiene ciclos simples.

G no tiene ciclos simples y, si se añade alguna arista se forma un ciclo simple.

G es conexo y si se le quita alguna arista deja de ser conexo.

G es conexo y el grafo completo de 3 vértices K3 no es un menor de G.

Dos vértices cualquiera de G están conectados por un único camino simple.

Si G tiene muchos vértices, n, entonces las definiciones anteriores son también equivalentes a cualquiera de las siguientes condiciones:

G es conexo y tiene n − 1 aristas.

G no tiene aristas simples y tiene n − 1 aristas.

La cantidad de hojas de un árbol siempre es mayor o igual a la mitad de la totalidad de los nodos.

Un grafo unidireccional simple G es un bosque si no tiene ciclos simples.

Un árbol dirigido es un grafo dirigido que sería un árbol si no se consideraran las direcciones de las aristas. Algunos autores restringen la frase al caso en el que todos las aristas se dirigen a un vértice particular, o todas sus direcciones parten de un vértice particular.

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; véase árbol (programación).

Un árbol etiquetado es un árbol en el que cada vértice tiene una única etiqueta. Los vértices de un árbol etiquetado de n vértices reciben normalmente las etiquetas {1,2, ..., n}.

Un árbol regular u homogéneo es un árbol en el que cada vértice tiene el mismo grado

Árbol

Page 6: Grafos (angel)[1]

Árbol etiquetado con 6 vértices y 5 aristas. El único camino simple que conecta los vértices 2 y 6 es 2-4-5-6.

Vértices v

Aristas v-1

Número cromático

2 si v> 1

Propiedades Bipartito, expandible y plano (si el conjunto de vértices es numerable)

Aplicaciones de grafos

Gracias a la teoría de grafos se pueden resolver diversos problemas como por ejemplo la síntesis de circuitos secuenciales, contadores o sistemas de apertura. Se utiliza para diferentes áreas por ejemplo, Dibujo computacional, en toda las áreas de Ingeniería.

Los grafos se utilizan también para modelar trayectos como el de una línea de autobús a través de las calles de una ciudad, en el que podemos obtener caminos óptimos para el trayecto aplicando diversos algoritmos como puede ser el algoritmo de Floyd.

Para la administración de proyectos, utilizamos técnicas como PERT en las que se modelan los mismos utilizando grafos y optimizando los tiempos para concretar los mismos.

La teoría de grafos también ha servido de inspiración para las ciencias sociales, en especial para desarrollar un concepto no metafórico de red social que sustituye los nodos por los actores sociales y verifica la posición, centralidad e importancia de cada actor dentro de la red. Esta medida permite cuantificar y abstraer relaciones complejas, de manera que la estructura social puede representarse gráficamente. Por ejemplo, una red social puede

Page 7: Grafos (angel)[1]

representar la estructura de poder dentro de una sociedad al identificar los vínculos (aristas), su dirección e intensidad y da idea de la manera en que el poder se transmite y a quiénes.

Los grafos son importantes en el estudio de la biología y hábitat. El vértice representa un hábitat y las aristas (o "edges" en inglés) representa los senderos de los animales o las migraciónes. Con esta información, los científicos pueden entender cómo esto puede cambiar o afectar a las especies en su hábitat