Tercera Practica Calificada
Tercera Practica Calificada
Tercera Practica Calificada
I. Introducción
Hoy en día podemos ver muchas cosas que nos pueden parecer de lo
mas 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 mas; lo que no pensamos frecuentemente es que estos forman
parte de algo que en matemáticas se denomina como grafos.
En este trabajo se tratará de explicar lo que son los grafos, 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.
En este trabajo, se explicando de manera muy sencilla los conceptos y
algunas metodologías con un lenguaje no tan rebuscado para su mayor
entendimiento.
II. Grafos
Desafortunadamente no existe una terminología estandarizada en la
teoría de los grafos, por lo tanto es oportuno aclarar que las presentes
definiciones pueden variar ligeramente entre diferentes publicaciones de
estructura de datos y de teoría de grafos, pero en general se puede decir que
un grafo como indica su nombre lo indica es la representación (para nuestro
caso) gráfica de los datos de una situación particular, ejemplo:
Los datos contienen, en algunos casos, relaciones entre ellos que no es
necesariamente jerárquica. Por ejemplo, supongamos que unas líneas aéreas
realizan vuelos entre las ciudades conectadas por líneas como se ve en la
figura anterior (más adelante se presentaran grafos con estructuras de datos);
la estructura de datos que refleja esta relación recibe el nombre de grafo.
Se suelen usar muchos nombres al referirnos a los elementos de una
estructura de datos. Algunos de ellos son "elemento", "ítem", "asociación de
ítems", "registro", "nodo" y "objeto". El nombre que se utiliza depende del tipo
de estructura, el contexto en que usamos esa estructura y quien la utiliza.
En la mayoría de los textos de estructura de datos se utiliza el termino
"registro" al hacer referencia a archivos y "nodo" cuando se usan listas
enlazadas, árboles y grafos.
También un grafo es una terna G = (V,A,j ), en donde V y A son
conjuntos finitos, y j es una aplicación que hace corresponder a cada elemento
de A un par de elementos de V. Los elementos de V y de A se llaman,
respectivamente, "vértices" y "aristas" de G, y j asocia entonces a cada
arista con sus dos vértices.
Esta definición da lugar a una representación gráfica, en donde cada
vértice es un punto del plano, y cada arista es una línea que une a sus dos
vértices.
III. 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 esta 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.
Vértice Terminal: Es un vértice de grado 1.
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
IV. Clasificación de grafos
Grafo regular: Aquel con el mismo grado en todos los vértices. Si ese
grado es k lo llamaremos k-regular.
Por ejemplo, el primero de los siguientes grafos es 3-regular, el segundo
es 2-regular y el tercero no es 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
Ejemplo.- de los dos grafos siguientes el primero es bipartito y el segundo
no lo es
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.
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.
V. 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.
VII. Á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).
ANEXO
Representación de grafos
Las representaciones de grafos más habituales están basadas en
matrices de adyacencia y listas de adyacencia. En este ejercicio se pretende
representar distintos grafos utilizando tanto matrices como listas de
adyacencia.
Apartado a)
El plan de estudios de determinada titulación se compone de 6
asignaturas, que por simplicidad, denominaremos A, B, C, D, E y F. A la hora
de matricularse de las distintas asignaturas se ha de tener en cuenta una serie
de dependencias entre ellas (prerrequisitos). De esta forma, un alumno no se
puede matricular en una asignatura hasta haber aprobado aquellas otras que
sean prerrequisito de dicha asignatura. Representaremos a continuación los
prerrequisitos del plan de estudios como un grafo dirigido de dependencias.
Por ejemplo, un arco del nodo C al nodo A indica que no es posible
matricularse de C sin haber aprobado previamente A. A continuación se
muestran las operaciones del TAD grafos necesarios para construir el grafo de
dependencias.
Solución propuesta:
A continuación se muestra la representación gráfica de los grafos ,
y .
Apartado b)
Una compañía telefónica desea realizar un estudio sobre las llamadas
que realizan sus abonados. Para ello, se desea construir un grafo cuyos nodos
son los abonados (identificados por su número de teléfono). La existencia de
un arco con origen en el nodo y destino en el nodo indica que el abonado
ha llamado alguna vez al abonado . En este grafo se realizan también
borrados cuando alguno de los abonados se da de baja de la compañía
telefónica. A continuación se muestra una serie de operaciones para la
obtención del grafo de llamadas entre usuarios:
Se pide: Representar gráficamente y mediante listas de adyacencia cada uno
de los grafos , y .
Solución
propuesta:
Apartado c)
Teniendo en cuenta que el conjunto de asignaturas del plan de estudios
no varía (aunque si lo pueden hacer los prerrequisitos), es posible
representar el grafo del apartado a) ¿utilizando listas de adyacencia?
¿Por qué?
Solución propuesta:
Sí. De hecho, la representación basada en listas de adyacencia es más
general que la basada en matrices de adyacencia. Por tanto, como es posible
representarlo utilizando matrices de adyacencia, también es posible
representarlo utilizando listas de adyacencia.
Teniendo en cuenta que el conjunto de abonados varía continuamente y
es infactible dar una cota máxima del número de abonados, sería posible
representar el grafo del apartado b) utilizando matrices de adyacencia?
Por qué?
Solución propuesta:
No, ya que no podemos fijar de antemano las dimensiones de la matriz
de adyacencia ni tampoco el nombre de los nodos a que corresponde cada fila
y columna de dicha matriz.