Está en la página 1de 10

75.

569 · Grafos y Complejidad · PEC1


2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

Presentación

Esta PEC es una introducción a la teorı́a de grafos que cubre los contenidos estudiados en los
3 primeros módulos de la asignatura. Los ejercicios trabajan tanto los conceptos previos sobre
funciones y algoritmos, los fundamentos de la teorı́a de grafos y los problemas de recorridos y
conectividades sobre grafos.

Competencias

En esta PEC se trabajan las siguientes competencias del Grado de Ingenierı́a Informática:

Capacidad para utilizar los fundamentos matemáticos, estadı́sticos y fı́sicos para comprender
los sistemas TIC.

Capacidad para analizar un problema en el nivel de abstracción adecuada en cada situación


y aplicar las habilidades y conocimientos adquiridos para resolverlos.

Objetivos

Los objetivos concretos de esta PEC son:

Conocer los principales conceptos de combinatoria.

Conocer el concepto de complejidad temporal y espacial de un algoritmo.

Conocer el concepto de grafo y los diferentes tipos de grafos (grafos orientados, grafos pon-
derados, pseudografos, multigrafos, ...).

Conococer las principales propiedades de los grafos y saber analizarlas.

Conocer los problemas de conectividad más usuales sobre grafos, los algoritmos que los re-
suelven y saber aplicarlos en un grafo concreto.

Ser capaz de representar y analizar un problema en términos de la teorı́a de grafos.

1
75.569 · Grafos y Complejidad · PEC1
2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

Descripción de la PEC a realizar


1. (Valoración de un 15 % = 4 %+4 %+2 %+5 %)
“Los Juegos del Hambre” es una serie de novelas escritas por Suzanne Collins y adaptadas a
pelı́culas. La historia se desarrolla en un futuro distópico donde un gobierno opresivo organiza
un evento anual llamado “Los Juegos del Hambre”. En estos juegos, un chico y una chica de
cada uno de los 12 distritos son seleccionados como tributos para luchar hasta la muerte en
un vasto escenario televisado.
Dı́as antes del evento, los tributos son entrevistados uno detrás de otro en televisión para
darse a conocer a la audiencia y obtener la oportunidad de ganarse el apoyo de patrocinadores
ricos que pueden enviar regalos, suministros y ayuda durante los juegos. Una buena posición
en el orden de las entrevistas puede resultar esencial para sobrevivir.
Suponiendo que el orden de las entrevistas fuera al azar, responde:
a) ¿Cuántas ordenaciones distintas hay para las entrevistas si ambos tributos del mismo
distrito deben ir seguidos en orden chico, chica? ¿Y si únicamente se pide que ambos
tributos del mismo distrito vayan seguidos?
b) Si el gobierno reparte al azar la posición inicial, la central (la sexta) y la de cierre para
los tres distritos más ricos y las otras posiciones para el resto de los distritos, ¿cuántas
ordenaciones posibles hay en este caso para las entrevistas? Igual que en el apartado
anterior, considerad los dos casos siguientes: ambos tributos de un mismo distrito deben
ir en orden chico-chica; únicamente importa que uno vaya detrás de otro.
En la antesala a los juegos es habitual que los tributos formen alianzas entre ellos con el fin
de aumentar sus posibilidades de sobrevivir. Sabiendo que el gobierno permite alianzas de
entre dos y cuatro tributos, y que únicamente se puede estar en una alianza, contesta:

c) ¿Cuál es el número máximo de alianzas simultáneas que se pueden formar?


d ) ¿Cuántas alianzas distintas pueden formarse? ¿Y si no se permite que ambos tributos
de un mismo distrito formen parte de la misma alianza?

Solución:
a) Únicamente se deben ordenar los 12 distritos. Para ello hay 12! formas. Para la segunda parte
vemos que los tributos de cada distrito se pueden ordenar de dos formas distintas (chico - chica,
chica-chico). Ası́ pues, en este caso hay 212 · 12! ordenaciones.
b) Hay 3! formas de ordenar los distritos ricos en las posiciones reservadas y (12 − 3)! de ordenar el
resto. Ası́ pues, hay 3! · 9! posibles ordenaciones (o 212 3! · 9! si permitimos ordenar los tributos).

2
75.569 · Grafos y Complejidad · PEC1
2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

c) Como máximo se pueden formar 12 alianzas simultaneas, ya que el tamaño mı́nimo es de 2


tributos por alianza.
d ) Es claro que el orden dentro de cada alianza no es importante. Hay 24
 
2
posibles alianzas de
dos, 24
  24 
posibles
3 
alianzas de tres y 4
posibles alianzas de cuatro. Ası́ pues, en total se pueden
formar 24
24 24
2
+ 3
+ 4
= 12926 alianzas distintas.
Para el caso de no poder tener ambos tributos de un distrito en una alianza hay 242! ·22
posibles
alianzas de dos tributos, 24·22
3!
·20
posibles alianzas de tres tributos y 24·224!
·20·18 posibles alianzas

de cuatro tributos. El número total de alianzas es la suma de estas cantidades: 9944.

2. (Valoración de un 15 % = 4 %+8 %+3 %)


Sean p y q dos números primos distintos, y sean a = pi · q j , b = pk · q l dos números con
i, j, k, l ∈ N. Definimos X = {a, a2 , a3 , a4 } y Y = {b, b2 , b3 , b4 }
a) ¿Cuántas funciones inyectivas, exhaustivas y biyectivas f : X → Y hay?

Considerad el algoritmo de cálculo del determinante de forma recursiva desarrollando por


filas. Es decir, dada una matriz A cuadrada de tamaño N × N , cogemos la primera fila y,
para cada elemento j de esa fila, construimos el menor Aj de tamaño (N − 1) × (N − 1) que
resulta de eliminarPla primera fila y la columna j de la matriz A. Entonces, el determinante
N
de A es: det(A) = j=1 (−1)j+1 · a1,j · det(Aj ).
Decimos que este cálculo del determinante es recursivo, porque el cálculo del determinante
se aplica otra vez en cada sub-iteración.

b) Escribid un algoritmo que realice este cálculo del determinante, y dad su complejidad
computacional en número de operaciones (sumas/restas y multiplicaciones). Asumid que
el ordenador es muy rápido asignando valores y, por lo tanto, la asignación o creación
de variables tiene un coste menospreciable respecto a sumas, restas, multiplicaciones y
divisiones. No consideréis tampoco las operaciones de indexación. Por ejemplo, buscar
la posición j + 1 en una fila. Solo consideramos las operaciones de números con coma
flotante.
c) Si al ordenador usado le cuesta 5 veces más realizar una multiplicación que una suma
o resta, y le cuesta 1 nanosegundo hacer una suma. ¿cuánto tardará en calcular el
determinante de una matriz de tamaño 6 × 6?

Solución:

3
75.569 · Grafos y Complejidad · PEC1
2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

a) Como ambos conjuntos tienen el mismo cardinal, hay que asignar cada uno de los elementos de
A a uno de los elementos de B sin repetir, eso será una cantidad de 4! = 24 funciones inyectivas,
que también serán exhaustivas y, por lo tanto, biyectivas
b) Hay varias formas de expresar el algoritmo, una de ellas es, desarrollando a partir de la primera
fila:
función DeterminanteRecursivo(A): Dimensión de A
0 N = dim(A)
Si el tamaño N de A es 1, devolvemos A(1, 1)
0 si N = 1 entonces
1 devolver A(1, 1)
2 finpara
Creamos el valor determinante
3 det := 0
4 para i ← 1 hasta N
Creamos el menor correspondiente a la posición (1,i):
5 B1,i := 0(N −1×N −1)
6 para j ← 1 hasta N − 1
7 para k ← 1 hasta N − 1
Asignamos los valores de A al menor B. Notar aquı́ que si el ı́ndice que mide en
qué columna estamos (k) aún no ha llegado a la columna eliminada i, asignamos A(j + 1, k ).
Si no, tenemos que sumar 1 a k para saltar la posición de la columna i eliminada y asignar
A(j + 1, k + 1).
8 si k < i entonces
9 B1,i (j, k) := A(j + 1, k)
10 sino
11 B1,i (j, k) := A(j + 1, k + 1)
12 fin si
13 finpara
14 finpara
15 si i %2 == 1 entonces
16 det = det + A(1, i) · DeterminanteRecursivo(B)
17 sino
18 det = det − A(1, i) · DeterminanteRecursivo(B)
19 fin si
20 devolver det
Si miramos detenidamente el algoritmo, el número de operaciones que se hacen es, teniendo
el cuenta el primer bucle, N sumas/restas y N multiplicaciones/divisiones. Además, hay que
calcular N veces la función DeterminanteRecursivo de una matriz N − 1 × N − 1, lo que implica
N −1 sumas/restas, N −1 multiplicaciones y otros N −1 DeterminanteRecursivo de una matriz

4
75.569 · Grafos y Complejidad · PEC1
2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

N −2 para cada uno de esos N menores iniciales. De esta forma, vamos acumulando hasta llegar
a menores de dimensión 1 y tenemos que tanto las sumas/restas como las multiplicaciones son
N + N (N − 1) + N (N − 1)(N − 2) + ... + N (N − 1)...(N − (N − 2)). Por lo tanto, el algoritmo
tiene coste N !
c) A partir del apartado anterior, tendremos 6 + 6 · 5 + 6 · 5 · 4 + 6 · 5 · 4 · 3 + 6 · 5 · 4 · 3 · 2 = 1236
sumas/restas y también multiplicaciones. En total, el coste será 1236 · 1 + 1236 · 5 = 7416
nanosegundos.

3. (Valoración de un 20 % =8 %+3 %+9 %)


a) Dada la secuencia S = {8, 7, 6, 5, 4, 4, x, 2, 1}, dad el mı́nimo valor de x ∈ [2, 5] tal que
S es una secuencia gráfica. Dad también la secuencia gráfica del grafo complementario
y una matriz de adyacencias del grafo complementario.
b) Sean G y F dos grafos distintos cualesquiera, decid si se cumplen la siguientes propie-
dades.
1) G ∪ F = F ∪ G
2) G + F = F + G
3) G × F = F × G
c) Sea G un grafo tal que G = C3 × F , siendo F otro grafo desconocido, sabemos que la
suma de los grados del complementario de G es 42. Encontrad un grafo F que cumpla
tal condición.
NOTA: podéis usar las propiedades siguientes:
El orden del grafo producto de dos grafos es el producto de órdenes de los grafos
La medida del grafo producto de dos grafos con órdenes n1 , n2 y medidas m1 , m2
es m1×2 = n1 × m2 + n2 × m1

Solución:
a) Usaremos el algoritmo de Havel–Hakimi, empezando con x = 2:

Secuencia Operación
8,7,6,5,4,4,2,2,1 Secuencia inicial
1 6,5,4,3,3,1,1,0 1a subsecuencia
2 4,3,2,2,0,0,0 2a subsecuencia
3 2,1,1,-1,0,0 3a subsecuencia
Fin

5
75.569 · Grafos y Complejidad · PEC1
2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

Como tenemos un −1, la secuencia no es gráfica.


Probamos con x = 3:

Secuencia Operación
8,7,6,5,4,4,3,2,1 Secuencia inicial
1 6,5,4,3,3,2,1,0 1a subsecuencia
2 4,3,2,2,1,0,0 2a subsecuencia
3 2,1,1,0,0,0 3a subsecuencia
4 0,0,0,0,0 4a subsecuencia
Fin

Por lo tanto, para x = 3 la secuencia sı́ es gráfica. No hace falta probar los otros dos casos,
pues estamos buscando el mı́nimo valor de x que lo cumple.
Ahora, teniendo en cuenta que el grafo tiene orden 9, el complementario tendrá por secuencia
de grados 8 − gi , donde gi es el grado de cada vértice de la secuencia inicial con x = 3. Por
lo tanto, la secuencia del complementario será 7, 6, 5, 4, 4, 3, 2, 1, 0. Para construir su matriz de
adyacencias, empezaremos con una matriz 9 × 9 vacı́a con ceros en la diagonal. Para la primera
fila, empezaremos con un 0 en la diagonal, seguido de siete 1s que corresponden al primer
número de la secuencia. Luego copiaremos esa primera fila en la primera columna, ya que la
matriz de adyacencias es simétrica. En la segunda fila, empezamos con 1, 0 y añadimos los 5
unos que nos faltan. Luego copiamos esa segunda fila en la segunda columna, y seguimos ası́
hasta que llenamos la matriz:
0 1 1 1 1 1 1 1 0
 
 1 0 1 1 1 1 1 0 0 
 
 1 1 0 1 1 1 0 0 0 
 
 1 1 1 0 1 0 0 0 0 
 
 1 1 1 1 0 0 0 0 0 
 
 1 1 1 0 0 0 0 0 0 
 
 1 1 0 0 0 0 0 0 0 
 
 1 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0
b) La unión de dos grafos es independiente del orden de éstos por construcción. En el caso de la
suma, sucede lo mismo. También con el producto. Es decir, las tres operaciones son conmuta-
tivas
c) Por el teorema de los grados, tenemos que el complementario tiene m = 21 aristas. Ahora,
intentaremos ver cuantas aristas y vértices tiene G: Para el número de aristas, sabemos que
tendrá tantas como M − 21, donde M serı́a el número de aristas de un grafo completo de orden
N ( el orden de G). Por la fórmula dada del orden del producto, y que G es producto de C3 por
otro grafo, tenemos que N será múltiple de 3. Además, un grafo completo de orden N tiene
tantas aristas como todas las combinaciones posibles de vértices escogidos de dos en dos. Eso
2 !
es, C N = 2!(NN−2)! . Eso es: 3 para N = 3, 15 para N = 6 y 36 para N = 9. Como el grafo
completo tiene que tener más aristas que el complementario de G, el mı́nimo orden N de G que

6
75.569 · Grafos y Complejidad · PEC1
2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

cumple tal condición es N = 9, y por lo tanto G tiene 36 − 21 = 15 aristas. Sabiendo también


que si N = 3 y C3 tiene 3 vértices y aristas, podemos usar las ecuaciones dadas para obtener
que F tiene orden 3 y 15 = 3 · mF + 3 · 3 → mF = 2. Por lo tanto, F tiene tres vértices y dos
aristas, condición que cumple el grafo trayecto T3 .

4. (Valoración de un 20 % = 5 %+2 %+10 %+3 %)


La tabla siguiente muestra el tiempo necesario para viajar en transporte público entre cinco
ciudades. El sı́mbolo “-” significa que las dos ciudades no están conectadas directamente.

A B C D E
A 0 8 25 50 30
B 8 0 10 - -
C 25 10 0 16 -
D 50 - 16 0 8
E 30 - - 8 0

a) Comprobar, mediante el algoritmo adecuado, a qué ciudades es posible viajar (no nece-
sariamente con viaje directo) desde la ciudad E . En caso de poder escoger más de un
vértice en el mismo paso del algoritmo, escoger en orden lexicográfico. Mostrar todos
los pasos del algoritmo y describir los conceptos en términos de teorı́a de grafos.
b) Indicar (sin resolver el algoritmo) qué algoritmo escogerı́as para determinar la ruta
menos duradera entre la ciudad A y la ciudad D (no necesariamente con viaje directo).
¿Cuáles serı́an los elementos del problema? (vértices, aristas, pesos)
c) Encontrar, mediante el algoritmo adecuado, las rutas menos duraderas entre todos los
pares de ciudades. Mostrar todos los pasos del algoritmo.
d ) Utiliza los resultados anteriores para justificar si es o no posible moverse de una ciudad
a otra pasando como máximo por un total de 3 ciudades. ¿A qué concepto corresponde,
en términos de teorı́a de grafos?

Solución:

7
75.569 · Grafos y Complejidad · PEC1
2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

a) Se puede usar cualquier algoritmo de exploración de grafos. Aquı́ se muestra la solución usando
BFS.
P Vértice añadido Vértice eliminado R
E E − [E]
EA A − [EA]
EAD D − [EAD]
AD − E [EAD]
ADB B − [EADB]
ADBC C − [E ADBC ]
DBC − A [EADBC ]
BC − D [EADBC]
C − B [EADBC]
∅ − C [EADBC ]

b) El algoritmo a aplicar serı́a Dijkstra. Los vértices serı́an las ciudades, las aristas los trayectos
entre ciudades y los pesos de las aristas serı́an los tiempos de los viajes directos.
c) Puede aplicarse el algoritmo de Floyd:
   
0 8 25 50 30 0 8 25 50 30
 8 0 10 ∞ ∞  8
 0 10 58 38 
d0 =  d1 = 
 
 
 25 10 0 16 ∞ ,

 25 10 0 16 55 

 50 ∞ 16 0 8  50
 58 16 0 8 
30 ∞ ∞ 8 0 30 38 55 8 0
   
0 8 18 50 30 0 8 18 34 30
 8 0 10 58 38   8 0 10 26 38 
2 3
   
d =  18 10
 0 16 48  , d =  18
  10 0 16 48 

 50 58 16 0 8   34 26 16 0 8 
30 38 48 8 0 30 38 48 8 0
 
0 8 18 34 30
 8 0 10 26 34 
d4 =  d5 = d4
 
 18 10 0 16 24  ,
 34 26 16 0 8 
30 34 24 8 0
d ) Se hace referencia al diámetro del grafo no ponderado. En este caso es 2 (se puede ver si se
han guardado los caminos por Floyd) y, por lo tanto, es posible viajar entre dos ciudades
cualesquiera sin pasar por más de tres ciudades distintas en total.

5. (Valoración de un 30 %) Cuestionario de evaluación Moodle

8
75.569 · Grafos y Complejidad · PEC1
2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

Dentro del aula de la asignatura, en el Campus Virtual, encontraréis la herramienta Moodle.


En este Moodle hay un cuestionario con diversas preguntas que debéis resolver como último
ejercicio de esta PEC.
Leed atentamente las siguientes instrucciones antes de abrir el cuestionario:

Los contenidos que se evalúan en este cuestionario corresponden al módulo “Fundamen-


tos de grafos” y “Recorridos y conectividad”. Es importante que hayáis asimilado estos
conocimientos antes de abrir el cuestionario.
El cuestionario estará abierto durante el plazo de la PEC y lo podéis resolver cuando
queráis. De todas formas, una vez lo abráis tendréis un tiempo limitado para resolverlo
(1 hora).
Importante: El cuestionario quedará cerrado a las 23:59 de la fecha lı́mite de entrega.
Si empezáis a hacerlo después de las 22:59 del último dı́a, ¡tendréis menos de una hora
para hacerlo!
Las respuestas a las preguntas se tienen que introducir directamente en el cuestionario
Moodle. No es necesario que las entreguéis junto con el resto de respuestas de la PEC.
Las preguntas del cuestionario son aleatorias: cada estudiante recibirá un enunciado
diferente.
En algunas preguntas tendréis que introducir la respuesta en un formato especı́fico (p. ej.
con los valores ordenados de una determinada forma y sin espacios). Es muy importante
seguir fielmente el formato indicado a la hora de introducir vuestra respuesta.
Disponéis de 2 intentos para resolver el cuestionario. El objetivo de tener dos intentos es
poder solventar posibles problemas que hayáis tenido en la realización del cuestionario,
ya sean problemas técnicos o bien que hayáis abierto el cuestionario por error. Por tanto,
debéis tener en cuenta que:
• La nota que obtendréis en el cuestionario será la de vuestro último intento.
• Después del 1er intento, no recibiréis la calificación obtenida ni recibiréis feedback
sobre vuestra propuesta de solución. Por lo tanto, no recomendamos usar el 2o
intento para intentar mejorar nota, ya que puede ser que obtengáis una nota inferior.
• Si usáis el 2o intento, el enunciado que encontraréis será diferente del 1er intento.
• Podéis realizar los dos intentos en dı́as diferentes, siempre que sea dentro del plazo
de la PEC. Dispondréis de 1 hora para cada intento.
• Cada vez que iniciéis el cuestionario contará como un intento, aunque no enviéis
la respuesta. Por ejemplo, si habéis hecho el 1er intento y volvéis a abrir el
cuestionario, invalidaréis vuestro 1er intento y os quedaréis con la nota
del 2o .

9
75.569 · Grafos y Complejidad · PEC1
2023-24-Sem. 1 · Grado en Ingenierı́a Informática
Estudios de Informática, Multimedia y Telecomunicación

Recursos

Recursos Básicos
Módulo didáctico 1. Conceptos previos: funciones y algoritmos.
Módulo didáctico 2. Fundamentos de grafos.
Módulo didáctico 3. Recorridos y conectividad.
Colección de problemas.

Recursos Complementarios
PECs y exámenes de semestres anteriores.
Programario para el estudio de algoritmos sobre grafos.
Enlaces: Applets interactivos sobre algoritmos de grafos.

Criterios de valoración
La PEC se tiene que resolver de forma individual. En caso que hayáis consultado recursos
externos, es necesario referenciarlos.
Es necesario justificar la respuesta de cada apartado. Se valorará tanto el resultado final como
la justificación dada.
En los apartados donde sea necesario aplicar algún algoritmo, se valorará la elección del
algoritmo apropiado, los pasos intermedios, el resultado final y las conclusiones que se deriven.

Formato y fecha de entrega

Hay que entregar un único documento PDF con las respuestas de todos los ejercicios. El nombre
del fichero tiene que ser: PEC1 Apellido1Apellido2Nombre.pdf.

Este documento se tiene que entregar antes de las 23:59 del dı́a 06/11/2023. No se aceptarán
entregas fuera de plazo.

10

También podría gustarte