Documentos de Académico
Documentos de Profesional
Documentos de Cultura
APUNTES
ESCET
2003
Introduccin
La introduccin de las notas de un curso de Matemtica Discreta para estudiantes de Informtica debe comenzar tratando de responder la pregunta de
qu es la Matemtica discreta. La primera respuesta obvia es sealar
que la matemtica discreta es la parte de la matemtica que estudia los objetos discretos. Esta respuesta no resulta muy satisfactoria pues seguimos sin
conocer el signicado del calicativo discreto. No resulta fcil, sin recurrir a
deniciones formales que en este contexto resultaran muy oscuras, dar una
denicin de lo que es ser discreto, as que vamos a utilizar algunos ejemplos
familiares para el lector.
Comenzamos con los nmeros naturales, un objeto que, aunque matemticamente precisa de cierto esfuerzo para su presentacin, pertenece a nuestro
bagaje cultural comn:
N = {1, 2, 3, 4, 5...}.
Todos entendemos lo que es tener 5 sillas o que en clase haya 80 alumnos.
Cuando los representamos solemos usar una semirrecta colocando a la derecha
los nmeros mayores:
...
...
Una vez que tenemos los nmeros naturales, recurramos a un objeto matemtico un poco ms complejo, los nmeros reales positivos R+ . De nuevo
ste es un conjunto conocido que contiene al conjunto de los nmeros naturales, N R+ , y es estrictamente ms grande. Ahora contiene al cero, a
las fraccines y tambin a esos nmeros especiales que no son fracciones (es
decir que no se pueden escribir mediante un nmero decimal con unacantidad nita de cifras o con un perodo) como por ejemplo el nmero 2 o el
nmero e.
3
4
Tambin solemos representar a los nmeros reales positivos mediante una
semirrecta donde cada uno de sus puntos es un nmero real y hacia la derecha
quedan ordenados de menor a mayor:
...
Lgica
Algoritmos
Aritmtica y Aritmtica modular
Combinatoria
Grafos
Relaciones
Esto es, formalizar, disear procesos nitos para resolver problemas, analizar las propiedades fundamentales de los nmeros enteros, contar, enumerar,
relacionar conjuntos nitos, representar estas relaciones,...
Una vez que hemos respondido (de forma intuitiva) a la pregunta sobre
el concepto de matemtica discreta se trata de responder ahora a la cuestin
de por qu estudiar matemtica discreta.
En primer lugar la matemtica en general y la matemtica discreta en
particular tiene un carcter instrumental. Todas las ciencias usan la matemtica como instrumento (para medir, calcular, estimar, denir...) e incluso
como lenguaje de expresin (por ejemplo las ecuaciones diferenciales para la
fsica). En concreto, la matemtica discreta est ligada profundamente a las
Ciencias de la Computacin pues los objetos con los que trata un ordenador
son objetos nitos (aunque pueden ser muy grandes) y por el triunfo de la
tecnologa digital, que en muchos aspectos es una representacin discreta de
la realidad. A los verbos anteriores objeto de la matemtica discreta podemos asociar algn concepto relacionado con la informtica: formalizar con
lenguajes de programacin, procesos nitos con algoritmos, nmeros enteros
con criptografa, contar con estudiar la capacidad de un ordenador, enumerar
con bases de datos, relacionar con redes, representar las relaciones con planos
de redes,...
Por otro lado la matemtica tiene un carcter formativo para un cientco
cualquiera y tambin para un ingeniero. Escribir con claridad, formalizar,
adquirir destrezas para enfrentar situaciones nuevas, precisin, constancia...
son habilidades fundamentales para el cientco o el ingeniero y para las que
las matemticas son un instrumento adecuado de desarrollo (evidentemente
no el nico).
Finalmente sealar que el curso est estructurado en 6 temas, cada tema
tiene una pequea introduccin donde se explican los objetivos que pretendemos alcanzar, una relacin autocontenida de los conceptos y resultados que
hemos seleccionado, ejemplos ilustradores y ejercicios propuestos y resueltos.
El captulo 7 es una coleccin de exmenes propuestos y resueltos, material
de apoyo para la preparacin del curso.
ndice General
1 Lgica
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
11
Lgica
Lgica
Lgica
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
e informtica . . . . . . . . . . . . . . . . . . . . . .
y modelos matemticos . . . . . . . . . . . . . . . . .
proposicional . . . . . . . . . . . . . . . . . . . . . .
Los conectivos lgicos . . . . . . . . . . . . . . . . . .
Forma de una proposicin . . . . . . . . . . . . . . .
Tautologas y razonamientos vlidos . . . . . . . . . .
El mtodo de refutacin . . . . . . . . . . . . . . . .
Conjuntos adecuados de conectivos en lgica de proposiciones . . . . . . . . . . . . . . . . . . . . . . . . .
Lgica de predicados . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Introduccin: predicados y objetos . . . . . . . . . .
1.4.2 Los cuanticadores universal y existencial . . . . . .
1.4.3 Forma de predicados . . . . . . . . . . . . . . . . . .
1.4.4 Ejemplos de sentencias verdaderas. Contraejemplos .
1.4.5 Modelizacin de expresiones en forma simblica . . .
El razonamiento por induccin . . . . . . . . . . . . . . . . .
1.5.1 Razonamiento por induccin completa . . . . . . . .
1.5.2 Induccin estructural . . . . . . . . . . . . . . . . . .
Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.1 Correccin de algoritmos y vericacin de programas
1.6.2 Ingeniera del conocimiento: sistemas expertos . . . .
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . .
1.8.1 Lgica con Maple . . . . . . . . . . . . . . . . . . . .
7
.
.
.
.
.
.
.
11
13
15
15
18
22
30
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
32
32
35
36
43
46
48
50
51
54
54
57
60
62
62
NDICE GENERAL
2 Algoritmos
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Deniciones y ejemplos . . . . . . . . . .
Algoritmos de bsqueda y de ordenacin
2.2.1 Algoritmos de bsqueda . . . . .
2.2.2 Algoritmos de ordenacin . . . .
Complejidad . . . . . . . . . . . . . . . .
Algoritmos de bsqueda con Maple . . .
2.4.1 Bsqueda secuencial . . . . . . .
2.4.2 Bsqueda binaria . . . . . . . . .
Algoritmos de ordenacin con Maple . .
2.5.1 Ordenacin Burbuja . . . . . . .
2.5.2 Ordenacin seleccin . . . . . . .
Ejercicios . . . . . . . . . . . . . . . . .
Ejercicios resueltos . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Aritmtica modular
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
4 Combinatoria
4.1
4.2
4.3
4.4
4.5
4.6
Introduccin . . . . . . . . . . . . . .
Tcnicas de conteo . . . . . . . . . .
Variaciones . . . . . . . . . . . . . .
Permutaciones . . . . . . . . . . . . .
Combinaciones . . . . . . . . . . . .
Probabilidad . . . . . . . . . . . . . .
4.6.1 Nociones bsicas . . . . . . .
4.6.2 Asignacin de probabilidades
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
83
83
92
92
93
96
102
102
104
106
106
108
109
110
121
121
127
130
130
131
136
139
143
150
153
154
158
167
167
170
173
177
181
188
188
192
NDICE GENERAL
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.7
4.8
5 Grafos
5.1
5.2
5.3
5.4
5.5
6 Relaciones
6.1
6.2
6.3
6.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Compendio de deniciones . . . . . . . . . . . . . . . . . . .
Representacin de relaciones . . . . . . . . . . . . . . . . . .
6.2.1 Mediante tablas . . . . . . . . . . . . . . . . . . . . .
6.2.2 Mediante grafos dirigidos . . . . . . . . . . . . . . . .
6.2.3 Mediante matrices . . . . . . . . . . . . . . . . . . .
Clausuras . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conjuntos parcialmente ordenados . . . . . . . . . . . . . . .
6.4.1 Diagramas de Hasse . . . . . . . . . . . . . . . . . .
6.4.2 Elementos caractersticos de un conjunto parcialmente
ordenado . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.3 Inmersin de un orden parcial en un orden total . . .
.
.
.
.
.
.
.
.
193
195
197
199
200
207
208
212
217
219
222
222
225
226
232
240
245
249
250
252
254
258
259
261
281
282
285
285
285
289
290
296
296
. 298
. 300
10
NDICE GENERAL
6.5
6.6
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 304
319
Captulo 1
Lgica
En este captulo se presenta una introduccin a la lgica proposicional y de
predicados, deniendo con precisin lo que es un razonamiento vlido y mostrando distintos mtodos de demostracin, entre ellos la induccin matemtica. Se comentan algunas aplicaciones de los temas tratados a la informtica.
Como objetivos se espera que los alumnos sean capaces de realizar con
soltura las siguientes actividades:
1.1
Lgica e informtica
12
CAPTULO 1. LGICA
1.2
13
14
CAPTULO 1. LGICA
15
iii) sucientes: todas las propiedades que entendemos que deben satisfacer los objetos que estamos representando deben poderse deducir a partir
de los axiomas.
Una vez establecidos los axiomas, el resto de propiedades verdaderas o
teoremas se obtienen mediante deducciones lgicas o demostraciones a partir
de los axiomas o de otros teoremas previamente demostrados. Los trminos
lema, corolario y proposicin se emplean para cierto tipo de teoremas. Un
lema es un teorema ms simple que se emplea para demostrar otro ms
complejo. Un corolario es un teorema que es consecuencia directa de otro
teorema previo. El trmino proposicin es sinnimo del trmino teorema. Se
suele preferir la palabra teorema para hechos ms relevantes y la palabra
proposicin para hechos ms secundarios.
1.3
Lgica proposicional
p
pyq
Conjuncin
pq
poq
Disyuncin
pq
Si p entonces q
Implicacin
pq
p si y solo si q
Equivalencia
pq
16
CAPTULO 1. LGICA
El signicado del conectivo lgico negacin, , reside en que la proposicin p es verdadera en el caso de que p sea falsa y recprocamente
que p es falsa cuando p es verdadera. Recogemos el signicado del
conectivo en la siguiente tabla de verdad :
p
V
F
p
F
V
Del mismo modo podemos recoger el signicado del resto de los conectivos:
La sentencia p q es verdadera slo cuando p y q son verdaderas simultneamente. La tabla de verdad correspondiente a este conectivo ser,
pues:
p
V
V
F
F
q
V
F
V
F
pq
V
F
F
F
q
V
F
V
F
pq
V
V
V
F
17
Para establecer el signicado de la sentencia p q , que se lee si p entonces q o tambin p implica q, debemos tener presente que en lenguaje
natural la sentencia p implica q encierra una relacin de causalidad, causalidad que no siempre aparece al utilizar este conectivo en el mbito
formal. Se pretende que el valor V o F de la sentencia p q dependa
por completo de los valores de verdad de p y q , con independencia de
que exista o no alguna relacin de causalidad con sentido entre p y q .
En lenguaje matemtico, p implica q quiere decir que si p es verdadera,
necesariamente q es verdadera, o lo que es lo mismo, que es imposible
que q sea f alsa y p verdadera. Esto es, si el valor de verdad de p es
V y el de q es F, el valor de verdad de p q es F; para el resto de
posibles valores de p y q la sentencia ser verdadera. Considrese el
ejemplo siguiente:
Sea la proposicin: Si quemo madera, hay humo en el ambiente, que
representaremos por p q . Entendemos que esta sentencia es verdadera, puesto que en nuestra experiencia no encontramos una situacin
en la que una madera est ardiendo y no produzca humo. Sin embargo,
la sentencia es verdadera independientemente de que se tenga madera
a mano y no haya humo en el ambiente, de que no estemos quemando
madera y haya humo debido a que estamos quemando papel, o incluso
de que efectivamente estemos quemando madera y se est llenando el
ambiente de humo. En otras palabras p q sigue siendo verdadera
aun en el caso en el que p sea falsa (no estemos quemando madera) y
q sea falsa (no hay humo en el ambiente), p sea falsa y q sea verdadera
o incluso que p sea verdadera y q sea verdadera. El signicado de este
conectivo lgico queda pues del siguiente modo:
p
V
V
F
F
q
V
F
V
F
pq
V
F
V
V
18
CAPTULO 1. LGICA
Es importante destacar que de la tabla anterior se sigue que para demostrar que la sentencia p q es verdadera, basta con estudiar el caso en el que
p es verdadera, puesto que si p es falsa, la sentencia p q es verdadera.
A las sentencias p y q las denominaremos, respectivamente, antecedente
y consecuente de la proposicin p q.
La sentencia q p es denominada sentencia recproca de la sentencia
p q, y la sentencia q p sentencia contrarrecproca de la sentencia
p q.
q
V
F
V
F
pq
V
F
F
V
19
pq
p
q
Donde se est representando en cada lnea una de las proposiciones, y se
han separado las hiptesis de la conclusin por una lnea horizontal. Sobre
esto volveremos ms adelante.
Veamos otro ejemplo para aclarar lo que entendemos por forma de una
proposicin:
las proposiciones trabajo o no trabajo y estoy sentado o no estoy sentado
tienen la misma forma pp. La tabla de verdad de esta forma proposicional
p p es:
p
V
F
p
F
V
p p
V
V
20
CAPTULO 1. LGICA
((p (q)) r)
s lo es porque sigue las reglas de su construccin.
Obsrvese que ltima forma proposicional puede ser representada sin ambigedad suprimiendo parntesis por
(p q) r.
Cada forma proposicional tiene asociada una tabla de verdad, que recoge
los distintos valores de verdad de la forma al asignar valores V y F a las
distintas variables involucradas. La tabla de verdad asociada a una forma
proposicional se puede construir sistemticamente a partir del procedimiento
empleado para construir dicha forma proposicional:
21
Lo primero es determinar los pasos seguidos en su construccin. Obsrvese que segn las reglas de construccin de formas proposicionales
siempre se tiene un ltimo conectivo que va separando la parte de la
derecha y la de la izquierda que son proposiciones ms simples (con
menos conectivos):
(pq) r
.
&
(pq)
.
r
&
p q
(pq) r
(pq) r
q
V
F
V
F
(pq)
(pq) r
Finalmente se van rellenando el resto de las columnas teniendo en cuenta por una parte el signicado de los conectivos lgicos , , , ,
y por otra, que cada vez que aparece una nueva variable proposicional
es preciso comparar las situaciones de verdad o falsedad obtenidas con
los dos posibles valores de verdad de la nueva variable proposicional:
22
CAPTULO 1. LGICA
p
V
V
F
F
p
V
V
F
F
V
V
F
F
q
V
F
V
F
q
V
F
V
F
V
F
V
F
(Paso intermedio)
q (pq) r (pq) r
F
F
V
V
V
V
F
F
V
V
F
V
F
F
F
F
q
F
V
F
V
F
V
F
V
(Tabla nal)
(pq) r (pq) r
F
V
V
V
V
V
F
V
V
F
V
V
F
F
V
V
F
F
F
F
V
F
F
V
1. (p q)
2. (p p)
3. (p p)
4. p (q r)
5. (p q) ((p) (q))
valor V cualquiera que sea la forma en que asignemos los valores V F a las
23
tabla de verdad:
p
V
V
F
F
q
V
F
V
F
pq
V
F
V
V
p
F
F
V
V
(p) q
V
F
V
V
(p q) ((p) q)
V
V
V
V
1. (p (p q)) q
2. ((p q) (q r)) (p r)
3. ((p q) (p q)) q
4. ((p q) p) q
5. (p p) q
1. ((p q) (q p)) (p q)
2. (p q) ((q) (p))
3. (p q) ((p q) (p))
4. p (p p)
5. p ((p) (q q))
24
CAPTULO 1. LGICA
Denicin 1.3.6 Si A y B son formas proposicionales se dice que A implica lgicamente a B si la forma proposicional (A B) es una tautologa.
Otras formas habituales de decir A implica lgicamente a B son :
B es consecuencia lgica de A
A es condicin suciente de B
B es condicin necesaria de A.
Analicemos el signicado de esta denicin:
si (A B) es una tautologa entonces es imposible asignar valores de
verdad a las variables proposicionales de A y B de manera que A sea V y B
sea F.
En otras palabras: Si (A B) es una tautologa y A es V, entonces
necesariamente B es V.
Del ejercicio 2 tenemos que:
p (p q)
(p q) (q r)
(p q) (p q)
(p q) p
(p p)
implica
implica
implica
implica
implica
l
ogicamente
l
ogicamente
l
ogicamente
l
ogicamente
l
ogicamente
a
a
a
a
a
q
(p r)
q
q
q
mente a p.
25
lgicamente equivalentes
p
(p q) r
(p q) r
(p q)
(p q)
p (q r)
p (q r)
(p q)
(p q)
(p q)
pV
pF
(p q)
y
y
y
y
y
y
y
y
y
y
y
y
y
p
p (q r)
p (q r)
(q p)
(q p)
(p q) (p r)
(p q) (p r)
(p) (q)
(p) (q)
(q p)
p
p
(p q) F
( es asociativa)
( es asociativa)
( es conmutativa)
( es conmutativa)
( es distributiva respecto de )
( es distributiva respecto de )
ley de De Morgan
ley de De Morgan
(p q) (q p)
(p q)
(p q)
p
p
equivale
equivale
equivale
equivale
equivale
l
ogicamente
l
ogicamente
l
ogicamente
l
ogicamente
l
ogicamente
a
a
a
a
a
(p q)
(q) (p)
((p q) (p))
(p p)
((p) (q q))
equivale l
ogicamente a
((p) (q q))
26
CAPTULO 1. LGICA
de A1 , ..., An
se deduce
A1
..
.
An
B
27
x = 2p + 1
28
CAPTULO 1. LGICA
q q1 .
De hecho, por denicin de impar, q q1 .
Aplicando las reglas para hacer el cuadrado tenemos:
x2 = 2(2p2 + 2p) + 1.
Por lo que en efecto x2 es impar.
Ejemplo 1.3.12 Vamos a demostrar, usando la demostracin por contrapositivo, la implicacin recproca del ejemplo anterior:
29
Ejercicio 9 Determinar la tautologa que justica el mtodo de demostracin por casos. Hacer la tabla de verdad para n = 2.
x = 2p
y por tanto
x2 = 4p2
x = 2p + 1
y por tanto
x2 = 4p2 + 4p + 1 = 4(p2 + p) + 1
30
CAPTULO 1. LGICA
recta y en la demostracin usando la sentencia contrarrecproca se ha demostrado el hecho siguiente: x es impar si y solamente si x2 es impar.
o bien
(p q) (r q) : V
y ((p r) q) : F
de donde
(p q) (r q) : V
(p r) :V , q : F
luego
(p F) (r F) : V
p :V, r :V
por lo que
(V F) (V F) : V
es decir
F: V (contradicci
on)
31
o bien
(p q) (r q) : F
y (p r) q : V
de donde
(p q) : F,(r q) : F
(p r) q : V
luego
p : V, r : V, q : F
(p r) q : V
por lo que
(V V) F : V
es decir
F : V (contradicci
on)
32
CAPTULO 1. LGICA
conjunto {, , }. Por ejemplo, si A es la forma proposicional B C, tendremos que la forma proposicional A es lgicamente equivalente a (B C).
Si A es la forma proposicional B C , tendremos que la forma proposicional
A es lgicamente equivalente a (B C) (C B).
Por eso se dice que los conectivos {, , } constituyen un conjunto
adecuado de conectivos. Utilizando las leyes de De Morgan como axiomas es posible mostrar que tanto {, } como {, } constituyen conjuntos
adecuados de conectivos.
Existen conjuntos adecuados de conectivos que constan nicamente de un
elemento. Sheer introdujo en 1913 dos nuevos conectivos, que actualmente
se conocen como nand y nor. Estos dos conectivos tienen gran utilidad en las
aplicaciones a los circuitos de conmutacin. El conectivo nor se representa
con el smbolo , siendo la sentencia p q lgicamente equivalente a (p q).
El conectivo nand se representa con el smbolo |, siendo p | q lgicamente
equivalente a (p q).
p
q
r
33
3 es primo
5 es primo
5 es impar
observamos que, aun siendo distintas, aparecen en ellas partes comunes:
x es
x es
3 es
5 es
5 es
primo
impar
primo
impar
primo
P(x)
I(x)
P(3)
I(5)
P(5)
x es mortal
x es hombre
M(x)
H(x)
34
CAPTULO 1. LGICA
x es el padre de y
x estudia la carrera y
x,y,z estn alineados
x es igual a y
x es mayor que y
P(x,y)
E(x,y)
L(x,y,z)
x=y
x>y
35
2) Por otra parte, el hecho de que para al menos un elemento a del universo
de discurso U la sentencia P (a) sea una proposicin verdadera, nos permite
armar que la proposicin existe un elemento x de U tal que la proposicin
P (x) es verdadera, que expresamos de forma ms breve por
x U P (x)
es verdadera.
La frase existe un objeto x del conjunto U se denomina cuanticador
existencial y se representa por x U .
As pues, para poder asociar un valor de verdad (o, lo que es lo mismo,
interpretar) a una sentencia abierta, es necesario cerrarla previamente (se
dice que una sentencia es cerrada si no tiene variables sin cuanticar). Como
hemos visto una sentencia se puede cerrar asignando constantes a las variables
que en ella intervienen o cuanticando dichas variables. Si las variables estn
cuanticadas, el valor de verdad depende del universo de discurso que se
considere. As por ejemplo, la sentencia
x U (x2 = 2)
36
CAPTULO 1. LGICA
es verdadera
en el universo de discurso de los nmeros reales (U = R, siendo
x U P (x)
es, por denicin,
x U P (x)
es, por denicin,
37
x U P (x)
aU
P (a)
Nuestra intuicin seala que este razonamiento es vlido siempre, en el
sentido de que no depende del universo de discurso considerado. Resulta entonces natural escribir la siguiente expresin que consideraremos verdadera:
(x P (x)) P (a).
Obsrvese que no se ha escrito el universo de discurso.
De este modo es interesante construir una lgica formal usando predicados. Con este objeto vamos a dar un conjunto de reglas para denir forma
de predicados, que es el equivalente, en la lgica de predicados, al concepto
de forma proposicional en la lgica proposicional.
forma P (x), Q(x), ... (donde tambin se pueden considerar varias variables).
Las funciones proposicionales son formas de predicados.
Paso 2. Se pueden construir nuevas formas de predicados usando los conectivos lgicos. Formas por ejemplo, del tipo:
P (x) Q(x)
P (x) Q(y)
P (x)
P (x) Q(x)
P (x) Q(x)
P (x) Q(x)
Paso 3. Dada una forma de predicados de las construidas hasta ahora, donde
x P (x).
Por ejemplo se construyen las formas:
x (P (x) Q(x))
x (P (x, y) Q(x)).
38
CAPTULO 1. LGICA
En las formas construidas en el paso 3, la variable x afectada por el cuanticador universal o existencial se dice que queda ligada. El resto de posibles
variables se dicen libres. Volveremos ms adelante sobre esta denicin.
(x P (x)) (x Q(x)).
Paso 5. Dada una forma de predicados P(x) donde aparece una variable
libre x, se pueden construir expresiones del tipo:
x P(x)
x P(x).
Por ejemplo expresiones del tipo:
puede sustituirse por una constante arbitraria, dando lugar a una nueva
forma de predicado.
Usaremos los trminos forma de predicados, sentencia de lgica de predicados o expresin de lgica de predicados indistintamente.
(x P (x)) P (a).
(x P (x)) (x Q(x))
(x P (x)) (x Q(x))
39
debe interpretarse como
(x P (x)) (y Q(y))
(x P (x)) (y Q(y))
Denicin 1.4.3 Diremos que una variable x aparece ligada en una forma
de predicado P si est afectada por algn cuanticador. En caso de que una
variable no aparezca ligada diremos que aparece libre.
Por ejemplo
En
N (x)
x>y
y (y > x)
N (x) y (y > x)
x (N (x) y (y > x))
x aparece libre
x e y aparecen libres
x aparece libre e y ligada
x aparece libre e y ligada
x e y aparecen ligadas
Para poder asignar valores de verdad a las formas de predicado hay que,
como se deca anteriormente, cerrar las formas, esto es, sustituir las variables
libres por constantes y entender cmo se asignan valores de verdad a las
variables cuanticadas.
40
CAPTULO 1. LGICA
Dada una forma de predicado del tipo x P (x), donde P (x) es una
forma de predicado sin cuanticadores y con una sola variable x, se
dice que la expresin x P (x) es verdadera si al sustituir x por una
constante a cualquiera en cualquier universo de discurso, se tiene que
P (a) es verdadero.
Dada una forma de predicado del tipo x P (x), donde P (x) es una forma de predicado sin cuanticadores y con una sola variable x, se dice
que la expresin x P (x) es verdadera si al sustituir x por una constante a en algn universo de discurso, se tiene que P (a) es verdadero.
Es decir, el valor de verdad de x P (x) es el mismo de (x P (x)).
Denicin 1.4.8 Diremos que una forma de predicado que contenga variables libres es una tautologa si toma nicamente el valor V independientemente del universo de discurso y los objetos concretos de dicho universo
que asignemos a las variables que aparecen libres.
41
es V, puesto que :
es V.
42
CAPTULO 1. LGICA
x P (x)
es lgicamente equivalente (en el sentido de que tienen el mismo valor de
verdad) a
(x P (x)).
a) Si x P (x) es V , P (x) no es una tautologa, o lo que es lo mismo, x
P (x) es F , con lo que (x P (x)) es V .
b) Recprocamente, si (x P (x)) es V , necesariamente (x P (x)) es
F , o lo que es lo mismo, P (x) no es una tautologa. Entonces existe
un objeto a de un universo de discurso tal que P (a) es F , con lo que
P (a) es V . Esto implica que la sentencia x P (x) es V .
Por consiguiente en cualquier universo de discurso, para todo predicado
P y para toda variable x, la siguiente sentencia es verdadera:
Ejercicio 12 Probar que en cualquier universo de discurso, para toda funcin P (x), la siguientes sentencias son verdaderas:
43
44
CAPTULO 1. LGICA
x U y U P (x, y) : V
ya que para cada nmero natural x siempre existe un nmero natural y (por
ejemplo y = x + 1) estrictamente mayor. Pero:
y U x U P (x, y) : F
ya que no existe un nmero natural mayor que el resto de los nmeros naturales. Por tanto:
(P (a) Q(a))
es verdadera. Existen dos posibilidades:
45
46
CAPTULO 1. LGICA
que xP (x, b) es F . Por ello existe a tal que P (a, b) es F . Luego yP (a, y)
es F y en consecuencia xyP (x, y) es F .
Para la otra implicacin, o bien se razona anlogamente a la implicacin
que acabamos de probar, o bien se aplica el resultado anterior a la sentencia
yx P (x, y).
Observacin 1.4.17 Hay que tener cuidado con la negacin de una sentencia cuando viene afectada por un cuanticador. Supongamos que queremos
negar la sentencia
Todos los alumnos de esta clase han aprobado algn examen en febrero.
Para ello simbolicemos por C(x) el predicado x es un alumno de esta clase,
por A(x, y) el predicado x ha aprobado el examen y y por F (y) y se realiz
en febrero. As, la sentencia dada se puede escribir
47
Ejercicio 14 Escribir de forma simblica las siguientes sentencias y su negacin, de manera que en la expresin nal no haya ningn cuanticador
precedido del smbolo negacin:
1. No todos los espaoles son periodistas
2. Si algn caminante bosteza, todos los caminantes bostezan
3. Todo el mundo conoce a algn modisto
4. Entre dos nmeros nmeros reales distintos cualesquiera existe algn
nmero racional
5. No existe un primo mayor que el resto de los nmeros primos
48
CAPTULO 1. LGICA
Si A N es tal que
1Ay
n N (n A (n + 1) A),
entonces A = N .
Esta propiedad es la base de lo que se conoce como razonamiento por
induccin:
49
hiptesis de induccin.
frmulas:
n N,
n
X
k=1
n N,
k=
n(n + 1)
2
n
X
(2k 1) = n2
k=1
50
CAPTULO 1. LGICA
n N,
2n (n + 1)!.
(n N P (n)) .
El razonamiento por induccin completa consta de los siguientes pasos (observa que la nica diferencia con el razonamiento por induccin est en el
paso de induccin):
Ejemplo 1.5.4 Vamos a demostrar utilizando el mtodo de induccin completa, que todo nmero entero mayor que 1 es primo o producto de nmeros
primos:
51
Ejemplo 1.5.5 Los nmeros enteros vienen determinados por las siguientes
reglas:
0 Z.
Si n Z, entonces (n + 1) Z (n 1) Z.
En este caso el paso de induccin tiene dos direcciones, es decir, para probar
el paso de induccin habra que comprobar que si n satisface la propiedad
objeto de estudio, entonces tambin la satisfacen (n + 1) y (n 1).
Veamos un ejemplo de una demostracin por induccin estructural en este
contexto.
Dado a R, denimos an para n Z del siguiente modo:
a0 = 1
an+1 = an a, an1 =
an
.
a
52
CAPTULO 1. LGICA
am+n = am an
jamos m arbitrario y razonamos por induccin (estructural) en n:
mostrar que en ese caso la ley tambin es vlida para (n + 1) y para (n 1):
am+(n1) = a(m+n)1 =
am+n
=
a
am an
an
) = am ( ) = am an1 ,
a
a
donde de nuevo la igualdad tercera es la hiptesis de induccin. Con esto
concluimos, como consecuencia del razonamiento por induccin estructural
efectuado, que la ley es vlida n Z.
=(
Ejemplo 1.5.6 Dada una forma proposicional A, denimos la forma proposicional complementaria de A del siguiente modo:
Si p es una variable proposicional, comp(p) = p, comp(p) = p,
comp(A B) = comp(A) comp(B),
comp(A B) = comp(A) comp(B).
53
Base de induccin: Los nicos casos (casos bsicos) para los que se puede aplicar directamente la denicin de forma proposicional complementaria
son: si C = p,
comp(C) = comp(p) = p = C
y si C = p
comp(C) = comp(p) = p = p = C.
Antes de hacer el paso de induccin recordar que {, , } es un conjunto
adecuado de conectivos por lo que toda forma proposicional se puede construir
mediante las reglas de construccin de formas proposicionales y slo usando
estos conectivos.
Paso de induccin. Hiptesis de induccin: Supongamos que cualquie
forma proposicional con n conectivos lgicos del tipo o satisface el teorema. Sea C una forma proposicional con n+1conectivos del tipo o .
Si C = A B, tendremos que
comp(C) = C.
54
CAPTULO 1. LGICA
1.6 Aplicaciones
1.6.1 Correccin de algoritmos y vericacin de programas
Como estudiaremos con ms detalle en el siguiente captulo, un algoritmo
es una rutina o procedimiento mecnico que acepta un cierto conjunto de
inputs, para cada uno de los cuales obtiene un output tras un nmero nito
de pasos. Por un programa entenderemos una expresin o una secuencia
nita de expresiones en algn lenguaje de programacin. El concepto de programa est relacionado con el concepto de algoritmo, pero no es exactamente
igual, pues un programa es la realizacin concreta de un algoritmo, pero un
algoritmo puede ser programado (o implementado) en diferentes lenguajes
de programacin. En el siguiente captulo estudiaremos el concepto de eciencia relacionado con los algoritmos (tiempo de ejecucin y necesidades de
memoria). En esta seccin nos ocuparemos de la siguiente pregunta: Cundo podemos asegurar que un algoritmo (o el programa que lo implementa)
es correcto (i.e., que hace aquello para lo que fue diseado)? Probar que
un algoritmo es correcto requiere mtodos de demostracin similares a los
estudiados en el desarrollo del captulo. En cualquier caso, vericar que un
algoritmo es correcto puede ser una tarea muy difcil. Slo algoritmos relativamente simples pueden ser vericados utilizando las tcnicas que vamos a
describir a continuacin. En cualquier caso, la comprensin de estas tcnicas
es seguro que servir de ayuda para disear algoritmos de una manera mejor.
Por otra parte es imposible disear un mtodo que nos permita vericar
la correccin de cualquier programa. Esto es una consecuencia del teorema
de incompletitud de Gdel sobre los lmites del razonamiento formal. No
obstante, este resultado nos permite garantizar que no es posible desarrollar
una maquinaria general de vericacin de la correccin de programas, pero
el tipo de programas que aparecen en la prctica no son, en cualquier caso,
totalmente generales, as que podemos desarrollar mtodos de vericacin en
algunos casos importantes. Ms an, al hacerlo estaremos mejorando nuestra
metodologa de programacin. El ideal sera disear programas junto con las
demostraciones de su correccin.
La vericacin de programas est muy relacionada con lo que se denomina Demostracin automtica de teoremas. De hecho, para ser riguroso
con el concepto de vericacin, necesitaramos una descripcin precisa de
aquello que se pretende que el programa haga, y esto debe expresarse en
1.6. APLICACIONES
55
r := 0 m := a n := b
while m > 0
if m es impar then r := r + n
m := m/2
n := 2n
En las sentencias anteriores, m/2 representa el nmero parte entera del
cociente de m entre 2. La intencin es que si a y b son los valores iniciales de
las variables m y n, entonces el programa debera terminar con la variable
r con el valor ab. Por ejemplo, para a = 11 y b = 26, el programa hara lo
siguiente:
m
11
5
2
1
0
n
26
52
104
208
416
r
0
26
78
78
286
56
CAPTULO 1. LGICA
iteracin while sea ejecutada por primera vez, los valores de m, n y r son,
respectivamente, a, b y 0, con lo que el resultado es inmediato.
Paso de induccin: Supongamos el resultado para k , estrictamente
menor que el nmero de veces que se repite el bucle. Sean a1 , b1 y c1 los
valores de m, n y r antes de la iteracin k + 1, y a2 , b2 y c2 los valores de m,
n y r despus de dicha iteracin. Por hiptesis de induccin
a1 b1 + c1 = ab
y lo que tenemos que demostrar es que
a2 b2 + c2 = ab.
Distingamos dos casos:
a) si a1 es par, entonces a2 =
a1
,
2
a2 b2 + c2 =
b) si a1 es impar, entonces a2 =
a2 b2 + c2 =
a1
2b1 + c1 = ab.
2
(a1 1)
,
2
(a1 1)
2b1 + c1 + b1 = a1 b1 b1 + c1 + b1 = ab
2
1.6. APLICACIONES
57
58
CAPTULO 1. LGICA
(p1 p2 p3 p4 ) q.
En el contexto de un sistema experto en medicina, podramos considerar
las reglas:
R1: Si el paciente tiene ebre,
y tose,
y tiene dolores musculares,
entonces padece gripe.
R2: Si el paciente padece gripe o resfriado,
y no tiene lcera,
entonces recomendar aspirina y coac.
La formalizacin de tales reglas sera:
R1 : [f t m] g
R2 : [(g r) (u)] (a c)
Utilizando las equivalencias lgicas vistas, la regla R2 es lgicamente
equivalente a
1.6. APLICACIONES
59
R2a
R2b
R2c
R2d
:
:
:
:
(g (u)) a
(g (u)) c
(r (u)) a
(r (u)) c.
f tm
R1 : [f t m] g
g
(en este momento hemos ampliado la base de hechos con el nuevo hecho g)
g (u)
R2a : (g (u)) a
a
(en este momento hemos ampliado la base de hechos con el nuevo hecho a)
g (u)
R2b : (g (u)) c ,
c
es decir, la terapia es aspirina y coac.
El problema que surge es que en general no tendremos dos, sino muchas
reglas (en los sistemas expertos es frecuente que sean del orden de cientos
o de miles), y en general hay que establecer en qu orden y de qu manera
aplicamos las reglas (es decir, cul o cules se aplican primero) para establecer
el procedimiento de inferencia.
Para esto, hay dos estrategias bsicas:
1. Ir aplicando cuantas reglas de produccin y cuantas reglas de inferencia
se puedan para ir sucesivamente ampliando la base de hechos, que es lo
60
CAPTULO 1. LGICA
que hemos hecho en el ejemplo y que se conoce como encadenamiento
hacia adelante.
2. Fijarse un hecho como objetivo y tratar de deducirlo, viendo de qu
reglas de produccin es consecuente. Este es el principio de encadenamiento hacia atrs.
En otras palabras, el encadenamiento hacia adelante consistira en ir recorriendo las reglas desde la primera hasta llegar a una que pueda aplicarse
(de acuerdo con la ley de inferencia modus ponens), ampliar la base de hechos con la nueva consecuencia, empezar de nuevo con la primera regla, y as
sucesivamente hasta incluir el objetivo en la base de hechos, o hasta que ya
no puedan aplicarse reglas.
Cuando no se trata de derivar cuantas conclusiones se puedan, sino de inferir un objetivo, o vericar que un hecho concreto es consecuencia de otros
hechos y de las reglas de produccin, lo que procede es aplicar el encadenamiento hacia atrs, para lo cual, si por ejemplo intentamos ver si puede
deducirse un hecho x, buscaramos en primer lugar las reglas en las que gura como consecuente, y a partir de ellas iramos realizando el estudio hacia
atrs.
Un lenguaje grco muy adecuado es el de los rboles de decisin que
estudiaremos en su momento.
1.7 Ejercicios
Ejercicio 18. Escribe la tabla de verdad de las siguientes proposiciones:
1)
2)
3)
4)
((p q) m) m
(q (p q)) p
(p (m n)) m
(p (m n)) m
1.7. EJERCICIOS
61
Ejercicio 21. Sea N el conjunto de los nmeros naturales y P (a, b) la sentencia a divide a b (esto es, el resto de dividir b entre a es 0). Determina el
valor de verdad de las siguientes proposiciones:
P (2, 3)
P (5, 10)
P (2, 3) P (5, 10)
P (2, 3) P (5, 10)
P (2, 3) P (5, 10)
m Nn N P (m, n)
m Nn N P (m, n)
n Nm N P (m, n)
n N P (1, n)
m N P (m, 1)
cia tal que siendo la armacin xyP (x, y) cierta no lo sea la armacin
xyP (x, y).
Ejercicio 25. Demuestra por casos la propiedad del valor absoluto por la
cual:
62
CAPTULO 1. LGICA
|xy| = |x||y|
Ejercicio 26. Demuestra poniendo un contraejemplo que las siguientes armaciones no son verdaderas:
Todo entero mayor que 17 es el cuadrado de un nmero entero.
Todo entero mayor que 6 es mltiplo de 2 de 3.
100n + 1 > n2 para todo entero n.
2 no es racional,
si un nmero real x es racional entonces + x no es racional.
restart; with(logic);
Nos interesan en este momento algunas de estas funciones:
>
63
?logic;
Conectivos lgicos
Maple slo tiene los conectivos lgicos and, or, not. Son sucientes
por las equivalencias lgicas de la implicacin y la doble implicacin con
sentencias lgicas slo hechas con and, or y not. Para evaluar las funciones
hay que poner delante el smbolo & con que se representa la conjuncin y.
>
p and q;
p and q
>
p or q;
p or q
>
not p;
not p
Usemos la funcin bequal para comprobar que la negacin de (p or
q) es equivalente a (not p and not q).
>
>
64
CAPTULO 1. LGICA
>
>
>
>
>
>
>
>
>
impl:=proc(a,b)
local c:
c:=(not a or b):
c; end:
dimpl:=proc(a,b) local c:
c:=(not a or b)
and (not b or a):
c; end:
impl(p,q); dimpl(p,q);
not p or q
( not p or q) and ( not q or p)
Ejemplos de uso
Ejercicio 2.
true
>
tautology(convert(ej2_2,toinert));
true
>
tautology(convert(ej2_3,toinert));
true
>
tautology(convert(ej2_4,toinert));
65
true
>
tautology(convert(ej2_5,toinert));
true
Ejercicio 3.
1. La equivalencia entre la doble implicacin y la conjuncin de las dos
implicaciones (en realidad esto slo comprueba que hemos hecho las cosas
bien pues as hemos denido la doble implicacin al construir dimpl):
>
>
A1:=dimpl(p,q);
A1 := ( not p or q) and ( not q or p)
>
bequal(convert(A,toinert),convert(A1,toinert));
true
A:=impl(p,q);
A := not p or q
>
>
bequal(convert(A,toinert),convert(B,toinert));
true
66
CAPTULO 1. LGICA
B := not (( not p or q) and p and not q and p) and (p and not q and p or not p or q)
>
>
B1:=convert(B,toinert):
tautology(B1); bequal(B1,true);
true
true
4. Reduccin al absurdo:
>
C:=dimpl(p,impl(not p,p));
C := true
>
tautology(convert(C,toinert));
true
5. Reduccin al absurdo:
>
Ejercicio 4.
Doble negacin:
>
dimpl(not(not q),q);
true
And es asociativo:
>
>
>
>
Or es asociativo:
>
>
>
Orasociativo:=dimpl((p or q) or r,p or (q
or
r)):
67
tautology(convert(Orasociativo,toinert));
true
And es conmutativo:
>
>
tautology(convert(Andconmuta,toinert));
true
Distributivas:
>
>
tautology(convert(dist1,toinert));
>
>
>
>
>
true
>
tautology(convert(dist2,toinert));
true
Leyes de de Morgan:
>
>
68
CAPTULO 1. LGICA
tablap:=proc(B)
local A, L, c, i, j:
>
L:=[true,false]:
>
for i from 1 to 2 do
>
c:=bsimp(subs(p=L[i],q=L[i],B));
>
print(p=L[i],q=L[i],A=c);
>
od:
>
end:
>
tablapq:=proc(B)
>
local A, L, c, i, j:
>
L:=[true,false]:
>
for i from 1 to 2 do
>
for j from 1 to 2 do
>
c:=bsimp(subs(p=L[i],q=L[j],B));
>
print(p=L[i],q=L[j],A=c);
>
od:
>
od: end:
>
tablapqr:=proc(B)
>
local A, L, c, i, j, k:
>
L:=[true,false]:
>
for i from 1 to 2 do
>
for j from 1 to 2 do
>
for k from 1 to 2 do
>
c:=bsimp(subs(p=L[i],q=L[j],r=L[k],B));
>
print(p=L[i],q=L[j],r=L[k],A=c);
>
od:
>
od:
>
od: end:
Estos procedimientos se pueden usar siempre que haya una, dos o tres
variables y stas se llamen p, q y r. Si no se llaman as las cambiamos el
nombre. Si queremos aadir ms variables no hay ms que introducir otro
bucle.
Las cinco proposiciones que se presentan son:
>
ej1:=not(p or q):
>
ej2:=p and (not p):
>
ej3:=not(p and (not p)):
>
ej4:=impl(p,q and not r):
>
ej5:=dimpl(not(p and q),(not p) or (not
>
q)):
Sus tablas de verdad son:
>
tablapq(ej1);
>
>
tablapq(ej2);
p = true, q = true, A = false
p = true, q = false, A = false
p = false, q = true, A = false
p = false, q = false, A = false
>
tablap(ej3);
p = true, q = true, A = true
p = false, q = false, A = true
>
tablapqr(ej4);
p = true, q = true, r = true, A = false
p = true, q = true, r = false, A = true
p = true, q = false, r = true, A = false
p = true, q = false, r = false, A = false
p = false, q = true, r = true, A = true
p = false, q = true, r = false, A = true
69
70
CAPTULO 1. LGICA
tablapq(ej5);
p = true, q = true, A = true
p = true, q = false, A = true
p = false, q = true, A = true
p = false, q = false, A = true
Ejercicio 18.
En el apartado 1 las variables proposicionales se llaman p, q y m. Como
en nuestro procedimiento se llaman p,q y r, cambiamos el nombre de m por
r.
>
>
ej18_1:=subs(m=r,ej18_1);
ej18 _1 := not ((p or not q) and r) or r
>
tablapqr(ej18_1);
p = true, q = true, r = true, A = true
p = true, q = true, r = false, A = true
p = true, q = false, r = true, A = true
p = true, q = false, r = false, A = true
p = false, q = true, r = true, A = true
71
>
tablapq(ej18_2);
p = true, q = true, A = true
p = true, q = false, A = true
p = false, q = true, A = true
p = false, q = false, A = true
r:
ej18_3:=impl(impl(p,m or n),m):
>
ej18_3:=subs(m=q,n=r,ej18_3):
>
>
ej18_4:=subs(m=q,n=r,ej18_4):
>
tablapqr(ej18_3);
p = true, q = true, r = true, A = true
p = true, q = true, r = false, A = true
p = true, q = false, r = true, A = false
p = true, q = false, r = false, A = true
72
CAPTULO 1. LGICA
tablapqr(ej18_4);
p = true, q = true, r = true, A = true
p = true, q = true, r = false, A = true
p = true, q = false, r = true, A = true
p = true, q = false, r = false, A = true
p = false, q = true, r = true, A = true
p = false, q = true, r = false, A = true
p = false, q = false, r = true, A = false
p = false, q = false, r = false, A = false
Ejercicio 5. Sean
A1 := p (q r)
A3 := p
A2 := q r
A4 := q r.
A1 A2 A3 A4 .
Si tomamos p = V , q = F y r = V se observa que la proposicin P toma el
valor F con lo que no es una tautologa.
73
Ejercicio 6.
A1 := (q r s) p.
La segunda hiptesis es:
A2 := (q s) r.
La conclusin es:
B := s p
Se trata de demostrar si la siguiente proposicin es una tautologa:
(A1 A2 ) B.
Y haciendo su tabla de verdad se comprueba que no lo es.
2) Sea p:=a es perfecto, q :=a es par e i:=n impar se comprueba que la
proposicin siguiente es en efecto una tautologa:
((p q i) q i) p.
(h s r) (h (h r)) s.
74
CAPTULO 1. LGICA
a = b + d = (c + d0 ) + d = c + (d + d0 )
con lo que efectivamente se verica a > c.
p q (p q)
p p (p p) p
p q (p q) p q
p|q (p q)
p|p (p p) p
p|q (p q) p q
(p|q)|(p|q) (p|q) p q
es siempre verdadera.
75
Ejercicio 14.
(x U (E(x) P (x)))
o equivalentemente
x U (E(x) P (x)).
Su negacin es:
x U (E(x) P (x))
esto es, todos los espaoles son periodistas.
2) Sea U el conjunto de los caminantes y el predicado B(x) x bosteza.
Entonces:
(x U B(x)) (x U B(x)).
Su negacin es:
(x U B(x)) (x U B(x)).
Esto es, existen personas que bostezan y personas que no bostezan.
3) En el universo U de las personas se toman los predicados M (x) x es
modisto y P (x, y) x conoce a y:
x U y U (P (x, y) M (y)).
Su negacin es:
x U y U (P (x, y) M (y)).
Esto es, existen personas que no conocen a ningn modisto.
76
CAPTULO 1. LGICA
4)
p P q P p < q.
Su negacin es:
p P q P p q.
Esto es, existe un nmero primo mayor que el resto de los nmeros primos.
ii)
nk=1 (2k 1) = n2 .
77
Y en efecto se tiene:
n2 + 2n + 1 = (n + 1)2 .
iii) 2n (n + 1)!.
Base de induccin: en efecto se cumple que 2 2! = 2.
Paso de induccin: usando la hiptesis de induccin se tiene:
2n+1 = 2n 2 (n + 1)!2.
Y como 2 n + 2 se tiene que:
2n+1 (n + 2)!
como queramos demostrar.
(H1 H2 ) T
donde
78
CAPTULO 1. LGICA
Ejercicio 20.
Ejercicio 22.
79
Ejercicio 23. a)
P (n) :
n
X
k2 =
k=1
n(n + 1)(2n + 1)
6
k2 = 1
k=1
y por otra
1(1 + 1)(2 1 + 1)
=1
6
En consecuencia, P (1) es V .
Veriquemos que bajo la hiptesis de induccin (P (n) es V ) es P (n)
P (n + 1) tambin V ; es decir, que P (n + 1) es V. Para ello calculamos
n+1
X
k=1
k2 =
n
X
k=1
n(n + 1)(2n + 1)
n(2n + 1)
2
+ (n + 1) = (n + 1)
+ (n + 1) =
6
6
2
2n + 7n + 6
((n + 1) + 2)(2(n + 1) + 1)
= (n + 1)
== (n + 1)
6
6
80
CAPTULO 1. LGICA
> (n + 1) 2 = n + 2 + n > n + 2 = (n + 1) + 1
Luego n N, P (n) es V .
c)
Ejercicio 24. Sea P (x, y): y es el padre de x. Es claro que todo x tiene un
padre, pero no es cierto que exista al menos un x que es hijo de y (que puede
no tener hijos en absoluto).
81
2 = p/q.
Elevando al cuadrado se obtiene 2q 2 = p2 con lo que p2 es par y por tanto
(demostrado en los apuntes) p es par. Si p es par entonces existe r N de
modo que p = 2r con lo que p2 = 4r2 . De este modo 2q 2 = p2 = 4r2 de donde
se deduce que q 2 es par y por tanto q es par. Entonces p y q son ambos pares
en contradiccin con el hecho de que los hemos tomado primos entre s.
Si + x es racional entonces existe y Q de modo que + x = y .
Despejando obtenemos = y x, con lo que es la diferencia de dos
nmeros racionales por tanto racional. Como no es racional tenemos la
contradiccin.
[(p q) p] q.
El razonamiento es vlido (modus ponens).
b) Sea p :=la comida incluye el primer plato y q :=la comida incluye el
segundo plato. El razonamiento sera [p q] p. Esto es una tautologa,
ya que la implicacin solo puede ser falsa si p q es V y p es F . Pero esto
es imposible, porque para que p q sea V es necesario que p sea V . El
razonamiento es correcto.
c) Sea p :=Venda es una palabra de gnero femenino. Sea q :=Venda
es una palabra singular. El razonamiento sera p [p q]. Esto no es
una tautologa, ya que si p es V y q es F se tiene V F que es F . El
razonamiento no es correcto.
d) Sea v :=vale menos de 100, s :=tengo dinero suciente, c :=lo compro. El razonamiento es correcto puesto que la siguiente sentencia es una
tautologa:
((v s) (s c) v) c.
82
CAPTULO 1. LGICA
Captulo 2
Algoritmos
En este captulo abordaremos el tema del diseo y evaluacin de algoritmos, es decir, de procedimientos automticos de resolucin de problemas.
Se denir el concepto de algoritmo, se describir el lenguaje en que vamos
a escribir los algoritmos (pseudocdigo) y se introducir una medida de la
bondad de un algoritmo: la complejidad en el peor de los casos, esto es, una
estimacin del nmero de operaciones bsicas que realiza el algoritmo en el
caso ms complicado.
Se pretende que al nal del captulo el alumno:
Conozca los conceptos de modelo computacional, algoritmo y complejidad y sepa discernir si un procedimiento es o no un algoritmo.
Escriba algoritmos en pseudocdigo.
Construya algoritmos sencillos y sea capaz de analizarlos, estudiando
su complejidad.
2.1
Deniciones y ejemplos
Uno de los puntos principales de relacin entre las matemticas y la informtica es la resolucin automtica de problemas, esto es, la construccin
de mtodos que permitan abordar con la ayuda del ordenador situaciones
matemticamente complicadas o laboriosas. Las calculadoras y, ms recientemente, los programas de clculo simblico (Derive, Maple, Mathematica,
Mathlab...) son ejemplos de la ayuda eciente que presta la mquina en
83
84
CAPTULO 2. ALGORITMOS
85
Resaltamos que:
i) la naturaleza de los datos de entrada debe ser exactamente descrita
(una lista de nmeros enteros, un numero racional...);
ii) las operaciones que el algoritmo realiza son siempre una cantidad
nita, para unos datos de entrada de los que admite el algoritmo, esto es, el
algoritmo siempre termina, aportando un valor de salida;
iii) se describe una demostracin o al menos una evidencia de que el
algoritmo resuelve el problema;
iv) se estudia en profundidad y en trminos precisos la complejidad
del algoritmo, es decir, de alguna manera (que precisaremos), el tiempo (o el
espacio) que va a necesitar para obtener la solucin de este problema.
v) la respuesta es precisa, lo que signica que se obtiene el resultado
esperado. Esto no quiere decir que la respuesta sea necesariamente exacta,
sino que cumple las condiciones que se la exigen. A saber, se puede por
ejemplo disear un algoritmo para obtener el valor numrico aproximado de
una cierta integral (o un lmite, o una operacin...) con un error del orden
de las milsimas. Si el algoritmo est bien construido, el resultado no es
necesariamente el valor exacto de dicha integral (o lmite, u operacin...),
pero verica las condiciones pedidas, esto es, aproxima la solucin exacta
con un error menor que 1 milsima.
De las observaciones i) y ii) del prrafo anterior se deduce que cuando se
disea un algoritmo se debe saber con qu tipo de datos se puede trabajar
y cules son las operaciones bsicas que se pueden considerar; estos dos
elementos constituyen lo que se suele denominar modelo computacional.
Un modelo computacional habitual es el conocido como RAM (random
access machine) donde los datos estn formados por nmeros enteros y las
operaciones bsicas son las siguientes:
i) Asignacin a un dato de una direccin de memoria.
ii) Las operaciones de suma, resta, multiplicacin y divisin (clculo
de cociente y resto) de nmeros enteros.
iii) La comparacin de dos nmeros enteros a, b, pudiendo decir si a < b,
a = b o a > b.
Este es el modelo computacional con que nosotros vamos a trabajar.
Observar que un modelo computacional es un ente abstracto. La arquitectura de los ordenadores por un lado y por otro la tecnologa de la
86
CAPTULO 2. ALGORITMOS
Ejemplos 2.1.2 i) La Geometra con regla y comps. Donde los datos son
puntos, rectas y circunferencias y las operaciones bsicas son:
a) apoyar la regla en un punto,
b) apoyar una pata del comps en un punto,
c) apoyar una pata del comps en una recta,
d) producir una recta con la regla,
e) producir una circunferencia con el comps,
f ) intersecar rectas, circunferencias y rectas con circunferencias.
ii) El modelo conocido como Real RAM donde los datos de entrada son
nmeros reales en lugar de enteros y las operaciones bsicas son las mismas
que en el RAM.
Y hay una primera interesante cuestin de saber qu tipo de problemas se pueden resolver dentro de un modelo computacional. Es conocido
(aunque tard varios siglos en descubrirse) que los problemas de la triseccin
de un ngulo (dividir un ngulo en tres sectores iguales), la duplicacin del
cubo (dado un cubo construir otro que tenga exactamente el doble de volumen que el primero) y la cuadratura del crculo (dado un crculo construir un
cuadrado con exactamente el mismo rea) no se pueden resolver con regla y
comps, esto es, no hay un algoritmo cuyas instrucciones estn formadas por
combinaciones de las operaciones bsicas del modelo computacional denominado Geometra con regla y comps que permita realizar esas construcciones.
Una segunda cuestin importante es la de conocer los problemas que
realmente se pueden resolver en un modelo computacional. Es decir,
aquellos problemas para los que la sucesin de operaciones que efecta el
algoritmo que los resuelve precisa de un tiempo razonable (no de miles de
aos por ejemplo) para aportar la solucin del problema. Haremos otras consideraciones acerca de esta segunda pregunta ms adelante cuando hablemos
de la complejidad.
87
x := a.
Para sumar, restar o multiplicar nmeros enteros utilizaremos los signos
habituales:
a + b, a b, a b.
Para el cociente y el resto de la divisin entera:
a/b, a mod b.
88
CAPTULO 2. ALGORITMOS
89
90
CAPTULO 2. ALGORITMOS
Etapa 3: Estudio de la solvencia del algoritmo: comprobemos que el algoritmo termina. En efecto, al introducir los datos de entrada, se establecen
los valores de n y m que son dos nmeros enteros positivos. As se entra en
el primer bucle que se repite exactamente n 1 veces (desde i = 1 hasta
n 1), cuando i toma el valor n ese proceso termina. Lo mismo pasa en el
segundo bucle cambiando el papel de n por el de m. Finalmente hay una
asignacin del valor correspondiente al balance con lo que el proceso naliza.
El algoritmo da la solucin al problema porque copia exactamente el proceso
manual que realizara un contable.
Etapa 4: Estudio de la eciencia del algoritmo. Para realizar dicho estudio
necesitamos algunas deniciones precisas, que se establecern ms adelante,
para saber en qu trminos se va a medir esa eciencia. Posponemos este
estudio para despus de la denicin del concepto de complejidad.
91
for i = 1 to n
If a < ai then a := ai
Salida: a
termina. Esto quiere decir que realiza una cantidad no nita de operaciones.
Si lo consideramos implementado por una mquina, dicha mquina comienza
a ejecutar operaciones pero no termina nunca.
k := 0
for a = 1 to 10
b := a
while b 10
k := k + 1
Salida:= k
Observamos que el valor inicial de la a es 1, por tanto b toma inicialmente
el valor 1, que es menor o igual que 10. Se realiza entonces el bucle interior,
donde k cambia de valor pero b no cambia de valor. As, la condicin b 10
se verica siempre y el procedimiento nunca sale de ese bucle.
92
CAPTULO 2. ALGORITMOS
93
Algoritmo 1. Ordenacin burbuja. La idea en este algoritmo es comparar dos elementos sucesivos de la lista y en caso de que no estn ordenados
adecuadamente intercambiar sus valores. Comenzamos comparando el primer elemento de la lista con el segundo e intercambiando los valores si es
94
CAPTULO 2. ALGORITMOS
a3 = 4
a4 = 6
a1 = 1, a2 = 2, a3 = 4, a4 = 6.
En este caso la lista ya est ordenada, pero podra no ser as con lo que
habra que repetir el proceso con la lista a1 , a2 , a3 .
Visto el ejemplo escribamos el algoritmo:
Entrada: a1 , ..., an .
For j = 1 to n 1
For i = 1 to n j
if ai > ai+1 then intercambiar sus valores (ver observacin
siguiente)
Salida: a1 , ..., an .
Observacin 2.2.2 Observamos que para intercambiar el valor de las variables ai y ai+1 necesitamos hacer tres operaciones:
95
c := ai
ai := ai+1
ai+1 := c
Porque si sencillamente hicisemos:
ai := ai+1
ai+1 := ai
En la primera lnea la variable ai toma el valor de ai+1 y en la segunda al
asignar a ai+i el valor de ai , como sta ya tiene el valor de ai+1 , en realidad
no hemos hecho nada. Por esto se necesita la variable auxiliar c.
a1 = 1
a2 = 2.
96
CAPTULO 2. ALGORITMOS
Este es un ejemplo del paradigma de construccin de algoritmos denominado algoritmo voraz porque va construyendo una sublista ordenada cada
vez ms grande que al concluir contiene a todos los elementos de la lista
inicial.
2.3 Complejidad
Como hemos sealado en las secciones anteriores debemos hacer un estudio de
la eciencia de un algoritmo. Esto resulta especialmente interesante cuando
conocemos distintos algoritmos para abordar un mismo problema (como en
la bsqueda y la ordenacin) y debemos decidir cul de ellos usar, segn unos
criterios razonables y defendibles.
Evidentemente hay dos parmetros que sera interesante minimizar: el
tiempo y el espacio. Con el tiempo nos referimos a la cantidad de operaciones
bsicas que la mquina debe realizar en un algoritmo y con el espacio a la
cantidad de memoria que el algoritmo utiliza en su funcionamiento.
Nos centraremos en el control del nmero de operaciones que el algoritmo
efecta, esto es, en el control del tiempo.
2.3. COMPLEJIDAD
97
98
CAPTULO 2. ALGORITMOS
cin T (n) y no su valor exacto. Dicha naturaleza que sealamos debe dar
informacin de cmo crece la funcin cuando aumenta el tamao n de la entrada, especialmente para valores muy grandes del tamao n de la entrada.
Para dar esta denicin precisamos ciertos conceptos del anlisis matemtico.
S(n) kT (n).
Sea O(T (n)) el conjunto de las sucesiones dominadas por T (n), entonces si
T (n) domina a S(n) escribiremos S(n) O(T (n)).
Si S(n) O(T (n)) y T (n) O(S(n)) diremos que S(n) y T (n) son del
mismo orden.
2.3. COMPLEJIDAD
99
Ejemplo 2.3.5 Sean T (n) = n2 y S(n) = 2n2 se verica que T (n) y S(n)
son del mismo orden ya que para cada n natural se tiene que T (n) S(n) y
que S(n) (1/2)T (n).
as 6= 0
na de inclusiones:
100
CAPTULO 2. ALGORITMOS
as sucesivamente complejidad cbica, curtica... y en general complejidad polinomial si el orden de T (n) es el de un polinomio;
si T (n) es del mismo orden que l(n) se habla de complejidad logartmica;
si T (n) es del mismo orden que en se habla de complejidad exponencial.
Volvemos a comentar aqu la cuestin de los problemas que son realmente resolubles en un modelo computacional. Estamos entonces preocupados
por problemas que precisan de un tiempo razonable para ser resueltos. Por
ejemplo supongamos que un algoritmo A1 tiene complejidad O(T1 ) = O(n),
un algoritmo A2 tiene complejidad O(T2 ) = O(n2 ) y un algoritmo A3 tiene
complejidad O(T3 ) = O(n6 ). Supongamos que la operacin bsica se realiza
en una dcima de segundo. Si tomamos una entrada de tamao 103 , entonces
respectivamente:
T1 (103 ) = 103 ,
T2 (103 ) = 106
T3 (103 ) = 1018 .
2.3. COMPLEJIDAD
101
s = log2 (n).
De esta manera, el algoritmo de bsqueda binaria presenta complejidad
logartmica.
Propiamente los dos algoritmos no pueden ser comparados, ya que los
datos de entrada de uno y otro no son exactamente iguales, en el segundo caso
deben estar ordenados. As pues, aunque a simple vista el segundo algoritmo
resulta mejor (recordemos que O(l(n)) O(n)), lo que propiamente se debe
comparar es el algoritmo de bsqueda secuencial con un algoritmo resultado
de realizar sucesivamente un algoritmo de ordenacin y la bsqueda binaria.
Lo que s se puede concluir del anlisis anterior es que cuando los datos de la
lista estn ordenados entonces ambos algoritmos se pueden aplicar y resulta
ms eciente la bsqueda binaria.
sentados.
Terminamos el captulo con el interesante concepto de complejidad inherente a un problema. Se trata de encontrar el mejor algoritmo que
resuelve un problema (siempre desde el punto de vista del concepto de complejidad presentado).
As diremos que un problema es de complejidad O(T ) cuando:
i) hay un algoritmo que resuelve dicho problema cuya funcin nmero de
operaciones en el peor de los casos es del mismo orden que T ;
ii) cada algoritmo que resuelve el problema, cuya funcin nmero de operaciones en el peor de los casos la denotamos S , verica que T O(S).
Esto es, cualquier otro algoritmo que resuelve el problema tiene complejidad
igual o mayor que el de funcin T .
102
CAPTULO 2. ALGORITMOS
Demostraremos como ejemplo ms adelante (cuando hablemos de rboles de decisin) que el problema de ordenacin de listas es de complejidad
O(nl(n)).
Vector:=proc(a::list,b)
local c,j,i:
c:=[seq(0*j,j=1..nops(a))]:
for i from 1 to nops(a) do
if a[i]=b
then c[i]:=1 fi:
od:
c; end:
Vector([1,2,0,4,5],4);
[0, 0, 0, 1, 0]
Vector([seq(x^2,x=11..19)],356);
[0, 0, 0, 0, 0, 0, 0, 0, 0]
103
preguntasayb:=proc(a::list,b)
local i,l,c:
>
l:=add(Vector(a,b)[i],i=1..nops(Vector(a,b))):
>
if l=0 then
>
c:=[no,0] else c:=[si,l] fi:
>
c; end:
Lo aplicamos a un ejemplo concreto:
>
preguntasayb([1,2,1,3,0,1,0],1);
>
>
[si , 3]
Para responder a la pregunta c)
preguntac:=proc(a::list,b)
local c,j,i:
>
c:=[seq(0*j,j=1..preguntasayb(a,b)[2])]:
>
for i from 1 to
>
nops(a) do
>
if Vector(a,b)[i]=1 then
>
c[j]:=i: j:=j+1: fi: od:
>
c; end:
Lo aplicamos a un ejemplo concreto:
>
preguntac([1,2,1,3,0,1,0],1);
>
>
j:=1:
[1, 3, 6]
En cualquier caso estos algoritmos tienen complejidad lineal ya que,
cuando se tiene una lista de tamao n , realizan esencialmente kn operaciones
con k constante. Comprobamos esta ltima armacin.
El procedimiento vector:
Vector:=proc(a::list,b)
local c,j,i:
c:=[seq(0*j,j=1..nops(a))]: (se hacen n asignaciones)
104
CAPTULO 2. ALGORITMOS
for i from 1 to nops(a) do (un bucle que se repite n veces)
if a[i]=b then c[i]:=1 : od: (se hace una comparacin y una asignacin)
c; end:
Total: 3n operaciones
El procedimiento preguntasayb:
preguntasayb:=proc(a::list,b)
local i,l,c:
l:=add(Vector(a,b)[i],i=1..nops(Vector(a,b))): (se hace el procedimiento
Vector por tanto 3n operaciones, luego se hacen como mximo n sumas)
if l=0 then c:=[no,0] (una comparacin y una asignacin)
else c:=[si,l] : c;
end:
Total: 4n+2 operaciones
El procedimiento preguntac :
preguntac:=proc(a::list,b)
c:=[seq(0*j,j=1..preguntasayb(a,b)[2])]: (se hace el procedimiento preguntasayb por tanto 4n+2 operaciones, luego se hacen como mximo n asignaciones)
j:=1: (1 asignacin)
for i from 1 to nops(a) do (un bucle que se repite n veces y cada vez que
se repite hace 3 operaciones)
if Vector(a,b)[i]=1 then c[j]:=i: j:=j+1:
: od: c;
end:
Total: 8n+3
105
Binaria:=proc(a::list,b)
local c,i,j,k,s:
>
i:=1: j:=nops(a): c:=0;
>
for s from 1 to nops(a) while j-i>-1 do
>
k:=floor((i+j)/2):
>
if b=a[k] then c:=1: s:=nops(a)+1: fi:
>
if
>
b>a[k] then i:=k+1: fi:
>
if b<a[k] then j:=k-1: fi: od:
>
if c=1 then
>
RETURN(si) else RETURN(no) fi:
>
end:
Comprobemos el algoritmo en algunos ejemplos:
>
>
>
Binaria([3,4,5,6,7,7.5,8,9],7.25);
no
>
Binaria([3,4,5,6,7,7.5,8,9],9);
si
>
Binaria([3,4,5,6,7,7.5,8,9],4);
si
>
Binaria([seq(x^2,x=10..20)],169);
si
106
CAPTULO 2. ALGORITMOS
if b=a[k] then c:=1: s:=nops(a)+1: : (una comparacin y una asignacin, en el peor de los casos el nmero no est en la lista)
if b>a[k] then i:=k+1: :
if b<a[k] then j:=k-1: : od:
if c=1 then RETURN(si) else RETURN(no) : (una comparacin y una
asignacin)
end:
Total: 4log(n)+5
Una operacin que hace falta en este algoritmo es intercambiar dos elementos, el i-simo y el j-simo, de una lista que llamamos lista. La idea que
vamos a utilizar para ello consiste en introducir una nueva variable transitoria, llamada temp, y seguir los tres pasos siguientes:
107
cambiar:=proc(a,i,j)
local t: t:=a[i]:
a[i]:=a[j]: a[j]:=t: a; end:
cambiar([1,2,3,4,5,6],1,6);
>
Intercambiar:=proc(lista,i,j)
local
loc_lista,temp;
loc_lista:=lista;
temp:=loc_lista[i];
loc_lista:=subsop(i=loc_lista[j],loc_lista);
loc_lista:=subsop(j=temp,loc_lista);
loc_lista;
end:
>
Intercambiar([3,2,3,4,5,10],1,6);
>
>
>
>
>
>
>
>
[10, 2, 3, 4, 5, 3]
>
Intercambiar([1,6,3,4,7,6],2,5);
[1, 7, 3, 4, 6, 6]
Ordenacin burbuja
>
>
>
>
>
>
>
fi;
>
>
>
Burbuja:=proc(a)
local i,j,n,aloc;
n:=nops(a);
aloc:=a;
for i from 1 to n-1 do
for j from 1 to n-i do
if (aloc[j]>aloc[j+1]) then aloc:=Intercambiar(aloc,j,j+1)
od:
od: RETURN(aloc);
end:
108
CAPTULO 2. ALGORITMOS
Burbuja([5,2,8,2,4,3,7,7,1]);
[1, 2, 2, 3, 4, 5, 7, 7, 8]
>
minimo:=proc(a)
local c,i,j:
c:=a[1]:
for i from 2 to nops(a) do
if a[i]<c then c:=a[i] fi:
od:
j:=1:
while a[j]<>c do
j:=j+1
od:
j;
end:
>
minimo([1,2,3,4,5,0.5]);
>
>
>
>
>
>
>
>
>
>
>
6
>
minimo([1,4,0.8,67,50]);
3
2.6. EJERCICIOS
>
>
>
>
>
>
>
>
>
>
>
>
>
>
109
seleccion:=proc(a)
local b,c,i,m:
b:=a:
c:=a:
for i from 1 to nops(a) do
m:=minimo(b):
if b[i]<>b[m] then
b:=Intercambiar(b,i,m):
c:=Intercambiar(c,i,m):
fi:
b[i]:=infinity:
od: c;
end:
seleccion([2,1,3,6,5]);
[1, 2, 3, 5, 6]
>
seleccion([2,5,4,3,1,0]);
[0, 1, 2, 3, 4, 5]
2.6
Ejercicios
En todos los ejercicios escribir el algoritmo que se pide, aplicarlo a dos ejemplos y estudiar su complejidad.
Ejercicio 47. Escribir un algoritmo que dada una lista de nmeros naturales
y otro nmero natural indique si hay algn mltiplo de dicho nmero entre
110
CAPTULO 2. ALGORITMOS
Ejercicio 49. Dada una lista ordenada de menor a mayor de nmeros enteros
y otro nmero entero construir un algoritmo que inserte dicho nmero en el
lugar correspondiente de la lista inicial.
G := 4, j := 1
como 1 1 entonces j := 2, G := 4 + 3
como 2 > 1 sale del bucle.
Gastos := 7
Balance := 13 7 = 6
Entrada: 1, 2, 0.
a := 1, i := 1
como 1 2 entonces i := 2 y al ser 1 < 2 entonces a := 2
como 2 2 entonces i := 3 y al ser 2 < 0 entonces a := 2
como 3 > 2 sale del bucle.
Salida: a = 2.
a1
a2
a3
a4
< a2
> a3
< a4
> a5
entonces
entonces
entonces
entonces
111
112
CAPTULO 2. ALGORITMOS
a1 a2 ... an .
113
r(n) = nl(n) n
s(n) = n2 nl(n)
t(n) = en n2
r(3) > 0
s(1) > 0
t(1) > 0
S(n) kT (n).
114
CAPTULO 2. ALGORITMOS
32
2^x
30
28
26
x^2
24
22
20
18
16
14
12
10
xlog(x)
8
6
4
ln(x)
3
x
115
1 + 2 + 3 + .. + n = n(n + 1)/2,
se tiene el resultado.
De igual manera el algoritmo de seleccin es cuadrtico pues el bucle j
se repite n 1 veces y cada una de ellas llama a un algoritmo llamado min
que es lineal.
Ejercicio 42. El algoritmo de ordenacin burbuja es cuadrtico y el algoritmo de bsqueda binaria es logartmico, por tanto la concatenacin de ambos
es cuadrtica.
Mientras, la bsqueda secuencial es lineal.
Entrada: a
If a < 0 then |a| := a else |a| := a.
Salida: |a|
Observar que a = a (1).
Entonces aplicamos el algoritmo M que calcula el mximo a la lista de
los valores absolutos.
116
CAPTULO 2. ALGORITMOS
Entrada: a1 , ..., an .
For i = 1 to n
ai := |ai |
Salida: M (a1 , ..., an )
Ejercicio 45.
Entrada a, n.
If a = n = 0 then p :=indeterminacin
else
if n 0 then
117
p := 1, i := 1
while i n
p := p a
i := i + 1
else
p := 1, i := 1
while i |n|
p := p (1/a)
i := i + 1
Salida:=p
El tamao de la entrada es |n| y la complejidad del algoritmo es lineal ya
que el bucle se repite exactamente tantas veces como el tamao de la entrada.
118
CAPTULO 2. ALGORITMOS
Ejercicio 47.
Ejercicio 48. Sean a1 , a2 , ..., an las cifras en bits de uno de los nmeros y
119
If ai 6= bi then c := c + 1
Salida: c
Calculamos la complejidad. Hay:
1) Una asignacin.
2) Un bucle que se repite n veces. Dentro de l, y en el peor de los casos,
hay una comparacin, una suma y una asignacin. Total: 3n operaciones.
Entonces T (2n) = 3n + 1 operaciones (notemos que hay 2n datos de
entrada). Por tanto, T (n) = 23 n + 1.
La complejidad es lineal.
Ejercicio 49. La idea de este algoritmo es leer la lista hasta que lleguemos
120
CAPTULO 2. ALGORITMOS
Ejercicio 50.
Captulo 3
Aritmtica modular
En este captulo se estudiarn los nmeros enteros, sus propiedades y operaciones, introduciendo tambin las nociones bsicas de la aritmtica modular.
Se pretende que al nal del captulo el alumno:
3.1
Los nmeros naturales y los nmeros enteros son objetos conocidos. El lector
est familiarizado con dichos objetos y con sus operaciones:
N = {1, 2, 3, 4....}
Z = {0, 1, 1, 2, 2, ...}.
Son, como decimos, objetos con los que estamos habituados a trabajar y
de hecho en el captulo 1 hemos usado una de sus propiedades fundamentales
121
122
123
Vamos a demostrar por induccin que A = N con lo que las reglas anteriores
permiten denir a + b para cada par de nmeros naturales a, b N.
Base de induccin. Se tiene que 1 A ya que la primera regla indica
que a + 1 = s(a).
Paso de induccin. Debemos demostrar que si b A entonces s(b) A.
Como por hiptesis de induccin b A entonces a + b est denido. Usando
la regla segunda sabemos que a + s(b) = s(a + b) con lo que a + s(b) est
denido y por tanto s(b) A como queramos demostrar.
Estudiemos la estructura algebraica del par (N, +), es decir las propiedades que verican los nmeros naturales con esta operacin de suma. Se
tienen las siguientes:
i) propiedad asociativa: (a + b) + c = a + (b + c) para cualesquiera
a, b, c N,
ii) propiedad conmutativa: para cualquier pareja a, b N se tiene que
a + b = b + a.
Ejercicio 51 Demostrar (por induccin sobre c) la propiedad asociativa, usando las reglas de la denicin de la suma.
124
125
Ejercicio 53 Demostrar por induccin estructural que con las reglas anteriores se dene n + m para cada n, m Z.
Y los nmeros enteros con la operacin de suma as construida, (Z, +), verican las siguientes propiedades, que se pueden demostrar usando las reglas
de denicin de la suma y el principio de induccin estructural:
i) propiedad asociativa: (a + b) + c = a + (b + c) para cualesquiera
a, b, c Z,
ii) propiedad conmutativa: para cualquier pareja a, b Z se tiene que
a + b = b + a.
iii) existencia de elemento neutro: existe un entero 0 Z tal que para
cualquier nmero entero a Z se tiene que a + 0 = 0 + a = a,
iv) existencia de elemento inverso: para cualquier entero a Z existe
otro entero denominado a Z tal que a + (a) = (a) + a = 0.
126
127
3.2
Teorema de la divisin
{1, 2, 3, 4} como
128
R para cada a de A;
ii) Antisimtrica: si (a, b) R y (b, a) R entonces a = b;
iii) Transitiva: si a se relaciona con b y b se relaciona con c entonces a
se relaciona con c, es decir si (a, b) R y (b, c) R entonces (a, c) R.
En el conjunto de los nmeros naturales hay una relacin de orden denotada con el signo , por la que, por ejemplo 5 3 y 100 34 y que se puede
denir de la siguiente manera: dados a, b N se dice que b a si o bien
b = a o bien existe un nmero natural c tal que b = a + c. Este ordenamiento
de los nmeros naturales se suele representar sobre una semirrecta (hacia la
derecha los valores mayores):
...
...
Consideremos N+ Z (a veces diremos sencillamente N Z) as ordenado segn el orden anteriormente descrito. Vamos a extender dicho orden
a los nmeros enteros, de manera que se respete el orden que tenemos en
N+ . La relacin de orden se denir de la siguiente manera: sean a, b Z
entonces a b si y solamente si a b N+ {0}.
Este orden sobre el conjunto de los nmeros enteros se suele representar
en una recta (hacia la derecha los valores mayores):
...
...
...
...
129
manera de escribir a b.
130
o lo que es lo mismo
a = qb + r.
Para demostrar que r < b se razona por reduccin al absurdo. Si r b
entonces r = b + l con l N+ {0}, de modo que
a = (q + 1)b + l
entonces l es un elemento de A estrictamente menor que r en contradiccin
con que r es el mnimo de A.
La unicidad es consecuencia en los primeros casos de la desigualdad
ab
y en el ltimo de la unicidad del mnimo y del hecho de que dos elementos
de A dieren en un mltiplo de b.
no divide a 34.
131
por 1 y por 1.
Denicin 3.3.5 Un entero positivo a 6= 1 se dice que es un nmero primo si sus nicos factores positivos son a y 1. Si a tiene un factor positivo
distinto de a de 1 se dice que es compuesto.
Ejemplo 3.3.6 Los enteros 5, 13 y 19 son nmeros primos, 125 y 258 son
compuestos.
132
b = pt
r = pu,
con lo cual
125 = 122 1 + 3.
Por tanto:
133
De nuevo:
122 = 3 40 + 2,
y por tanto:
3 = 2 1 + 1,
lo que signica:
mcd(a, b) = sa + tb.
Demostracin. Es una consecuencia del algoritmo de Euclides, recordemos
que, suponiendo que a b, tenamos una expresin de la forma:
a = q0 b + r0
b = q1 r 0 + r 1
r0 = q2 r1 + r2
...
134
r0 = a q0 b.
Por tanto s0 = 1 y t0 = q0 .
El caso i = 1 es tambin cierto puesto que r1 = b q1 r0 . De este modo,
sustituyendo la igualdad anterior tenemos:
r1 = b q1 (a q0 b) = (1 + q1 q0 )b q1 a.
Por tanto s1 = q1 y t1 = 1 + q1 q0 .
Veamos ahora que si el lema es cierto para cualquier valor estrictamente
menor que i tambin lo es para i.
En efecto, tenemos:
ri = ri2 qi ri1 .
Usando la hiptesis de induccin para ri1 y ri2 se obtiene:
ai = si2 qi si1
135
bi = ti2 qi ti1
hacen que se verique el lema.
35 = 20 1 + 15
20 = 15 1 + 5
Entonces, despejando el 5 en la segunda igualdad obtenemos 5 = 20 15 1.
Despejando el 15 en la primera igualdad 15 = 35 20 1. Sustituyendo el
segundo valor en la primera igualdad 5 = 20 (35 20 1), es decir:
5 = 2 20 + (1) 35.
1 = sa + tp.
Multiplicando por b se obtiene que:
b = sab + tpb.
Como p divide a ab se tiene que existe c Z tal que ab = pc, de este modo:
136
3.3.3 Factorizacin
Finalizamos esta seccin con una propiedad fundamental de los nmeros
enteros, la de la factorizacin nica como producto de nmeros primos. Esto
es, cada nmero entero se puede escribir de forma nica como producto de
nmeros primos.
137
Salida: r
En caso de que a no fuera primo repetimos el proceso con el cociente a/i.
Por tanto:
o bien existe qi distinto a cualquiera de los pj , lo que es una contradiccin
porque entonces por un lado qi divide a a y por el otro qi no divide a a (aqu
se est usando el corolario 3.3.14);
o bien n = m y, reordenando si es necesario, p1 = q1 , ..., pn = qn y existe
ai 6= bi . Supongamos que ai > bi (si no fuera as el razonamiento se hara
cambiando los papeles de la a y la b) entonces tomando el cociente c := a/pbi i
se tiene que por un lado pi divide a c y por el otro pi no divide a c, ya que c es
producto de primos distintos de pi (aqu de nuevo se est usando el corolario
3.3.14) lo que es una contradiccin.
Por tanto concluimos la demostracin del teorema, al haber demostrado
tanto la existencia como la unicidad de la factorizacin de a.
138
a.
8872 = 23 1109.
Observar la mejora que ha introducido el hecho de slo tener que probar
con los primos hasta la raz de 1109.
139
3.4
Relaciones de congruencia
Aunque volveremos sobre ellas en profundidad en el ltimo captulo, denamos lo que es una relacin de equivalencia.
R para cada a de A;
ii) Simtrica: si a se relaciona con b entonces b se relaciona con a, esto
es, si (a, b) R entonces (b, a) R;
iii) Transitiva: si a se relaciona con b y b se relaciona con c entonces a
se relaciona con c, es decir si (a, b) R y (b, c) R entonces (a, c) R.
140
verica a a = 0 = 0 p.
Simtrica. Si a b mod p entonces existe un entero c de modo que
a b = pc, de este modo b a = p(c) con lo que b a mod p.
Transitiva. Si a b mod p y b c mod p entonces existen q, r Z tales
que
a b = pq
b c = pr.
Sumando ambas relaciones se obtiene:
a c = (a b) + (b c) = pq + pr = p(q + r).
Con lo que a c mod p como queramos demostrar.
141
nmeros que dan resto 0 al dividir por 5 (es decir los mltiplos de 5), los que
dan resto 1, los que dan resto 2, 3 4.
En este sentido, al tomar relacin mdulo 5, se tienen 5 elementos, los
que se relacionan con el 0, con el 1, ..., con el 4:
0 5 10 15 20...
1 6 11 16 21...
2 7 12 17 22...
3 8 13 18 23...
4 9 14 19 24...
mod
mod
mod
mod
mod
5
5
5
5
5
4 1 6 11 16... mod 5
3 2 7 12 17... mod 5
2 3 8 13 18... mod 5
1 4 9 14 19... mod 5
0 5 10 15 20... mod 5
Esto indica que para hacer operaciones con un entero a mdulo un cierto
nmero p podemos utilizar el resto de dividir a por p. Esta eleccin simplica
las operaciones.
Por ejemplo, si queremos multiplicar mdulo 5 los nmeros 7421 y 124590,
en lugar de hacer la multiplicacin directamente, tomamos los restos mdulo
5 y as
7421 124592 1 2 2 mod 5.
2419 + 987.
a = {b A : b a}.
142
A/ = {a : a A}.
Entonces la aritmtica mdulo un entero positivo p son las operaciones
que se realizan en el conjunto cociente de Z por la relacin de congruencia
mdulo p. A este conjunto cociente lo denotaremos Zp y atendiendo a las
consideraciones anteriores:
+
0
1
2
3
4
5
6
0
0
1
2
3
4
5
6
1
1
2
3
4
5
6
0
2
2
3
4
5
6
0
1
3
3
4
5
6
0
1
2
4
4
5
6
0
1
2
3
5
5
6
0
1
2
3
4
6
6
0
1
2
3
4
5
0
1
2
3
4
5
6
0
0
0
0
0
0
0
0
1
0
1
2
3
4
5
6
2
0
2
4
6
1
3
5
3
0
3
6
2
5
1
4
4
0
4
1
5
2
6
3
5
0
5
3
1
6
4
2
143
6
0
6
5
4
3
2
1
0, 1, ..., p 1
contienen todos los productos y sumas de la aritmtica modular (para un
cierto entero p).
Hemos abierto entonces el campo de la aritmtica modular. Podemos
efectuar operaciones (hacer sumas y productos) mdulo un cierto nmero p.
Tiene entonces sentido plantear ecuaciones, hacer otras operaciones, tratar
de resolver sistemas de ecuaciones...
3.5
Como decamos al nalizar la seccin anterior, las operaciones de la aritmtica modular nos permiten plantear ecuaciones o sistemas de ecuaciones. As
podemos hablar de una congruencia lineal como una ecuacin lineal de la
forma
ax + b c mod p
donde a, b, c, p son enteros jados, p > 1 y x es una indeterminada.
144
anillo de los nmeros enteros podemos restar (existe el inverso para la suma)
y se respetan las relaciones de congruencia.
Ahora lo que querramos es pasar el 3 dividiendo, lo que en los nmeros
enteros no podemos hacer porque el inverso de 3 es la fraccin 1/3 que no
es un nmero entero. La cuestin natural es saber si al trabajar mdulo 5
(o mdulo otros nmeros enteros) el 3 tiene o no inverso para el producto
mdulo p. Para saber cundo ocurre esto necesitamos el lema de Bezout,
demostrado anteriormente.
1 = sa + tp
y por tanto al trabajar mdulo p tenemos:
1 sa mod p,
Por tanto s es el inverso de a para el producto mdulo p.
bat t mod p
145
y de este modo
t 0 mod p
lo que es una contradiccin pues 1 < t < p.
De esta manera el teorema anterior y las observaciones subsiguientes caracterizan cuando existe el inverso para el producto mdulo p y adems el
teorema indica como calcularlo. Hay que usar el algoritmo de Euclides para
llegar a la identidad del lema de Bezout.
3x + 3 4 mod 5.
Sealamos que dicha congruencia era equivalente, pasando el 3 restando, a
3x 1 mod 5.
Por el teorema anterior, como 3 y 5 son primos entre s existe el inverso de
3 mdulo 5. Al trabajar mdulo 5 todo nmero es congruente con uno del
conjunto {0, 1, 2, 3, 4}. Podemos entonces buscar el inverso probando:
3 0 0 mod 5
3 1 3 mod 5
3 2 1 mod 5
3 3 4 mod 5
3 4 2 mod 5
Es decir el inverso del 3 es el 2, ya que 3 2 1 mod 5.
146
3x 2 1 2 mod 5,
es decir,
x 2 mod 5.
Por tanto todos los nmeros enteros x que son solucin de la congruencia son
de la forma
x = 5K + 2
K Z.
Observar que hemos propuesto dos maneras de calcular el inverso de un
nmero a mdulo p. Por un lado usar la identidad de Bezout, por otro lado ir
probando con los distintos productos a 1, a 2, ..., a (p 1) hasta encontrar
el producto que valga 1.
x a1 mod p1
147
x a2 mod p2
...
x an mod pn
El Teorema chino de los restos es el instrumento adecuado para saber
si un sistema de este tipo tiene solucin y permite calcularla.
sitivos vericando:
i) pi > 1 para cada i = 1, ..., n;
ii) mcd(pi , pj ) = 1 para cada i, j = 1, ..., n con i 6= j .
Entonces el sistema
x a1 mod p1
x a2 mod p2
...
x an mod pn
tiene solucin nica mdulo el producto P = p1 p2 ...pn .
Demostracin. Sean P = p1 ...pn y Pi = P/pi con i un entero entre 1 y n.
Por hiptesis los pi son primos entre s con lo cual mcd(Pi , pi ) = 1, i = 1, ...,
n. Como hemos visto antes (Teorema 3.5.2) para cada i existir qi tal que
qi Pi 1 mod pi .
Sea entonces
x0 = a1 P1 q1 + a2 P2 q2 + ... + an Pn qn
de modo que al tomar congruencia mdulo pi se obtiene:
si j 6= i entonces Pj es divisible por pi , por tanto Pj 0 mod pi
si j = i entonces Pi qi 1 mod pi ,
por tanto x0 ai mod pi (i = 1, ..., n) como queramos demostrar. As todos
los nmeros de la forma
x = x0 + KP
148
x 0 mod p1
x 0 mod p2
...
x 0 mod pn
es decir, mod P , (ya que es mltiplo de pi para cada i) lo que
demuestra la unicidad de la solucin mdulo P .
P1 = 105/3 = 35
P2 = 105/5 = 21
P3 = 105/7 = 15
Ahora q1 es el inverso de 35 mdulo 3. Como 35 2 mod 3 entonces
entonces q1 = 2, ya que 2 2 1 mod 3.
De la misma manera q2 es el inverso de 21 mdulo 5, es decir, el inverso
de 1 mdulo 5, por tanto q2 = 1.
Finalmente q3 = 1.
Por tanto
x = 2 35 2 + 3 21 1 + 2 15 1 = 233
149
es la nica solucin mdulo 105, de modo que todas las soluciones del sistema
son:
x = 23 + 105K K Z.
Una aplicacin que podramos presentar del teorema chino de los restos es
la observacin de que los restos mdulo un conjunto de nmeros primos entre
s permiten determinar unvocamente un nmero. De esta manera nmeros
de gran tamao se podran representar por sus restos mdulo unos ciertos
primos y as reducir sustancialmente su tamao. Con estos restos se pueden
hacer operaciones y la recuperacin del nmero en cuestin pasa por la resolucin de un sistema de congruencias. Esto resolvera parcialmente, como
veremos en el ejemplo siguiente, la limitacin de dgitos de una mquina.
150
Tambin puede usarse este teorema para hacer recuentos con nmeros
grandes.
x 30 mod 100.
Despus les pedimos que se agrupen en grupos de 99, y sobran 25 y en grupos
de 97 y sobran 13. Es decir, se tiene el siguiente sistema de congruencias:
x 30 mod 100
x 25 mod 99
x 13 mod 97
Como 100, 99 y 97 son primos entre s, el sistema tiene solucin. Como
100 99 97 = 960.300 entonces la nica solucin positiva y menor que ese
nmero es el nmero de participantes en la manifestacin.
151
a = a0 b0 + a1 b1 + a2 b2 + ... + an bn .
Demostracin. Dividimos a entre b para obtener
a = q0 b + r0 .
Esto muestra que a0 = r0 porque 0 r0 < b. Adems muestra la unicidad
de a0 ya que el teorema del resto garantiza que el resto es nico.
Si dividimos ahora q0 entre b se obtiene
q0 = bq1 + r1
y entonces
a = b2 q1 + br1 + a0 ,
con lo cual a1 = r1 (de nuevo nico porque es un resto), y as sucesivamente
hasta que el cociente qn sean menor que b.
10 en base a.
Disear un algoritmo para escribir un nmero escrito en base a en base
10.
Disear un algoritmo para escribir un nmero escrito en base a en base
b.
152
101001001
12101
342104
10110
En la primera cifra hemos sumado 1+1 que da 2 que alcanza a la base, por
tanto da 0 y me llevo 1.
1101
1101
100111
3.7. EJERCICIOS
3.7
153
Ejercicios
x 2 mod 6
x 3 mod 9
Ejercicio 76. Demostrar que los siguientes sistemas tienen solucin y resolverlos:
i)
x 3 mod 5
x 5 mod 7
ii)
y 5 mod 11
y 7 mod 13
154
Ejercicio 54. Basta tener en cuenta el signo y usar el producto que tenemos
a0=0a=0
a b = |a| |b| si o bien a > 0 y b > 0 o bien a < 0 y b < 0.
a b = |a| |b| en el resto de los casos.
Ejercicio 55. Dadas dos matrices, se dene la suma como la suma de cada
una de sus entradas. Como cada entrada est formada por un nmero entero,
la asociatividad de la suma de matrices es consecuencia de la asociatividad
de la suma de los nmeros enteros. Idem la conmutatividad.
El elemento neutro es la matriz nula, cuyas entradas son nulas.
155
0 0
0 0
El elemento inverso para la suma de una matriz A es la matriz A resultado de cambiar de signo cada entrada de A, denominada con la letra a y su
correspondiente subndice.
a11 a12
A =
a21 a22
Sean dos matrices A y B cuyas entradas son denominadas respectivamente
con las letras a y b (y sus correspondientes subndices). El producto de
matrices se dene:
(a11 b11 + a12 b21 )c11 + (a11 b12 + a12 b22 )c21 .
En el producto A(BC) se tiene que dicha entrada es:
a11 (b11 c11 + b12 c21 ) + a12 (b21 c11 + b22 c21 ).
Y es una comprobacin vericar que ambas expresiones son iguales.
El elemento neutro para el producto es la matriz identidad, con la diagonal
formada por unos y el resto ceros.
1 0
0 1
Tomando por ejemplo las matrices
1 1
M=
0 1
156
N=
1 0
1 0
Ejercicio 56. El resto de dividir 9981 entre 247 es 101. El resto de dividir
247 entre 101 es 45. El resto de dividir 101 entre 45 es 11. El resto de dividir
45 entre 11 es 1. Por tanto:
Ejercicio 57.
Entrada: a, b N, a b
i := a, j := b
while j 6= 0
r := i mod j
i := j
j := r
Salida: i
1653 = 3 19 29.
157
b d = tp.
Sumando ambas igualdades se tiene:
(a + b) (c + d) = p(t + s).
De modo que a + b c + d mod p.
Por otro lado multiplicando por b la primera igualdad se tiene:
ab bc = spb.
Multiplicando por c la segunda igualdad se tiene:
bc dc = tpc.
Sumando las dos igualdades se tiene que ab dc = p(ab + tc) como
queramos demostrar.
158
Los ejercicios 67), 68), 69) y 70) Se presentan hechos con Maple.
Ejercicio 67.
De base 10 a base a
cambio10a:=proc(n,a)
local b,i,j,l,s:
i:=n: s:=1:
while i<>0 do
b[s]:=i mod a:
s:=s+1:
i:=floor(i/a);
od:
seq(b[j],j=1..s-1);
end:
159
cambio10a(8,2);
0, 0, 0, 1
>
cambio10a(724,6);
4, 0, 2, 3
4*6^0+0*6^1+2*6^2+3*6^3;
724
cambio10a(1234,8);
2, 2, 3, 2
>
2*(8^0)+2*(8^1)+3*(8^2)+2*(8^3);
1234
Ejercicio 69.
>
cambio10a(1465,2);
1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1
>
cambio10a(1465,5);
0, 3, 3, 1, 2
>
cambio10a(1465,7);
2, 6, 1, 4
De base a a base 10
160
cambioa10:=proc(l,a)
local s,i:
s:=l[1]:
for i from 2 to nops(l)
do
s:=s+l[i]*a^(i-1):
od:
s;
end:
Veamos ejemplos:
>
cambio10a(567,3);
0, 0, 0, 0, 1, 2
>
cambioa10([cambio10a(567,3)],3);
567
>
cambioa10([1,1,1,0,1],2);
23
Ejercicio 68.
>
cambioa10([1,0,0,1,0,0,1,0,1],2);
329
>
cambioa10([1,0,1,2,1],3);
145
>
cambioa10([4,0,1,2,4,3],7);
60764
De base a a base b
Lo hacemos usando los procedimientos antes denidos, pasando por la
base 10:
161
cambioab:=proc(l,a,b)
local temp:
temp:=cambioa10(l,a):
cambio10a(temp,b);
end:
Ejemplos:
>
cambioab([1,1,0,1],2,3);
2, 0, 1
>
>
cambioa10([1,1,0,1],2);
cambioa10([2,0,1],3);
11
11
>
suma2([0,1],[1]);
[1, 1, 0]
162
lista m con nops(m) elementos. Hay que construir un bucle que recorre la
lista m. Si la entrada primera es un 0 no hace nada, si no toma la lista l. Si
la entrada segunda es 0 no hace nada, si no toma la lista l y le aade un 0 al
nal. Suma la primera y la segunda lista y as procede sucesivamente.
Ejercicio 71.
i) el 2+3=5 y 2+23=8.
ii) el 5+7=12 y el 5+72=19.
iii) el 11+5=16 y el 11+25=21
iv) 3 y 4 (3 4 = 12 0 mod 12), 2 y 6 (2 6 = 12 0 mod 12).
v) 2 y 8 (2 8 = 16 1 mod 15), 4 y 4 (4 4 = 16 1 mod 15).
Ejercicio 72.
i)
163
mcd(111, 7) = mcd(7, 6)
Finalmente, como 7 mod 6 = 1,
mcd(7, 6) = mcd(6, 1) = 1
Los dos nmeros dados son primos entre s.
ii)
mcd(385, 1729) = mcd(1729, 385)
Como 1729 mod 385 = 189,
mcd(189, 7) = mcd(7, 0)
y nuestro mximo comn divisor es el 7.
n a0 + a1 + ... + an mod 9.
Lo que signica que n es mltiplo de 9 si y solamente si lo es a0 + a1 +
... + an .
Ejercicio 74.
i) 3 + 5 = 8. 8 mod 5 = 3 mod 5
4 + 8 = 12 = 2 mod 5
164
x = 3 + 9K2
Tenemos pues
2 + 6K1 = 3 + 9K2
que implica
6K1 9K2 = 1
Pero 6K1 9K2 = 3(2K1 3K2 ) lo que implica
3(2K1 3K2 ) = 1
es decir, 1 es divisible por 3, lo cual no es cierto.
165
q1 7 1 mod 5
q2 5 1 mod 7
Probamos los diversos valores posibles de q1 y vemos que q1 = 3 satisface la
ecuacin. Hacemos lo mismo con q2 y comprobamos que q2 = 3 satisface la
ecuacin.
Entonces, el nmero buscado es
x = 33 + 35k
ii) p1 = 11, p2 = 13. P = 143. P1 = 13, P2 = 11. Buscamos q1 y q2 tales
que
q1 13 1 mod 11
q2 11 1 mod 13
Probamos los diversos valores posibles de q1 y vemos que q1 = 6 satisface la
ecuacin. Hacemos lo mismo con q2 y comprobamos que q2 = 6 satisface la
ecuacin.
Entonces, el nmero buscado es
x = 137 + 143k.
166
Captulo 4
Combinatoria
La combinatoria es el arte de contar, es decir, de calcular inteligentemente
cardinales de conjuntos y de enumerar, esto es, determinar los elementos de
un conjunto descrito por alguna propiedad. Es una disciplina clsica que
cobra nuevo auge con la aparicin de los ordenadores por dos razones: por
un lado por la posibilidad de clculo que stos aportan, y por otro porque en
el estudio de algoritmos o en el anlisis de programas los problemas del tipo
clculo del nmero de operaciones, unidades de memoria que se precisan para
realizar una cierta operacin, estudio de la complejidad... son problemas de
tipo combinatorio.
Se pretende que el alumno al nalizar el captulo:
4.1
Introduccin
168
CAPTULO 4. COMBINATORIA
T otal : 32 + 16 + 8 + 4 + 2 + 1 = 63.
El problema tambin se puede resolver de una manera ms inteligente y
ms fcil de generalizar a un nmero cualquiera de participantes. La idea
clave es la siguiente: en cada partida se elimina un jugador. Para que se
tenga un ganador hay que eliminar a todos los jugadores salvo a uno (el
ganador), por tanto el nmero de partidas es:
T otal : 64 1 = 63.
Y mientras la primera frmula aplicada por ejemplo a 512 jugadores es:
512 1 = 511.
Con este ejemplo hemos querido mostrar lo que se pretende al desarrollar la combinatoria, no slo contar todos los elementos que conforman un
conjunto nito, sino hacerlo de forma inteligente para que se puedan obtener
frmulas generalizables a situaciones anes.
Por otro lado tambin la combinatoria presenta una faceta distinta, la de
enumerar los elementos de un conjunto nito. Es decir, dado un conjunto
denido por una cierta propiedad, disear algoritmos que presenten todos los
elementos del conjunto.
4.1. INTRODUCCIN
169
13 + 12 + 11 + 10 + 9 + ... + 1.
Y por la frmula de la suma de los 13 primeros nmeros naturales:
(14 13)/2.
Por tanto principalmente contar pero tambin enumerar son los objetivos del captulo.
170
CAPTULO 4. COMBINATORIA
en B :
|A| = n.
171
Propiedad 6. Principio del palomar. Si |A| > |B| entonces no hay una
funcin inyectiva de A en B .
Ejercicio 77 Demostrar que las propiedades 3 y 6 son equivalentes. Demostrar las propiedades 1 a 5.
|A B C| =
172
CAPTULO 4. COMBINATORIA
P = A A A A.
Con lo cual, usando reiteradamente la Propiedad 5:
|P | = 294 .
iii) Si a la segunda letra le pedimos que sea vocal, entonces, el conjunto R
de las palabras de cuatro letras cuya segunda letra es una vocal es el producto
cartesiano
R = A V A A,
donde V es el conjunto de las vocales, por tanto
|R| = 293 5.
iv) En cualquier conjunto de 368 personas hay dos cuyos cumpleaos son
el mismo da. En efecto, como el conjunto de personas P tiene cardinal
mayor que el de das del ao D (368 > 365 = |D|) entonces, por el principio
del palomar, cualquier funcin de P en D es no inyectiva, es decir hay dos
personas que cumplen aos el mismo da.
4.3. VARIACIONES
4.3
173
Variaciones
174
CAPTULO 4. COMBINATORIA
V10,5 = 10 9 8 7 6.
Ejemplos 4.3.4 1. Determinar de cuntas maneras se pueden elegir el presidente y el vicepresidente de una asociacin de 300 miembros (funciones
inyectivas de N2 en N300 ).
V300,2 = 300 299
2. De cuntas maneras se puede elegir un equipo de cuatro relevistas para
correr en la carrera de 4 100 entre los 10 seleccionados (entendiendo que
hay que indicar el orden en el que se corre).
V10,4 = 10 9 8 7
3. Si el corredor ms rpido del ejemplo anterior tiene que correr necesariamente en primer lugar, entonces el problema es calcular los equipos de
tres relevistas entre los 9 seleccionados que quedan.
V9,3 = 9 8 7
De esta manera, de las deniciones y de la observacin de los ejemplos se
deduce que cuando calculamos Vm,n estamos contando exactamente las selecciones ordenadas de n elementos en un conjunto de m elementos.
Resumiendo, es lo mismo:
El nmero de aplicaciones inyectivas de Nn en Nm .
4.3. VARIACIONES
175
en Nm y se tiene
V Rm,n = mn .
De modo que la hiptesis que ha variado con respecto a la denicin anterior (de Vm,n ) es la inyectividad. Veamos un ejemplo donde se aplica este
concepto.
BBBB
y por tanto, usando la propiedad del cardinal de un producto cartesiano, son
24 = 16 palabras.
Mostremos que, en efecto, una palabra de 4 bytes es una funcin de N4
en N2 . Tomemos una biyeccin b entre B y N2 , por ejemplo, b(0) = 1 y
b(1) = 2. Entonces una funcin f de N4 en N2 asigna valores a f (1), f (2),
f (3) y f (4) en N2 . De esta manera f (1) indica la primera letra de la palabra
y, respectivamente, f (2) la segunda, f (3) la tercera y f (4) la cuarta. Por
ejemplo, sea la funcin:
f : N4 N2
176
CAPTULO 4. COMBINATORIA
f (0) = 2
f (1) = 2
f (2) = 1
f (3) = 1
Corresponde a la palabra 1100. Como en este caso se permiten palabras
con letras repetidas, las funciones que estamos contando no tienen por qu
ser inyectivas. Por ejemplo la palabra 0000 responde a la funcin constante
g : N4 N2 denida como g(a) = 1 para cada a N4 .
Es decir, ahora lo que estamos contando son selecciones ordenadas de
n elementos (posiblemente repetidos) de un conjunto de m elementos.
Resumiendo, es lo mismo:
El nmero de aplicaciones de Nn en Nm .
4.4. PERMUTACIONES
177
4.4
Permutaciones
Un caso particular de las variaciones resulta cuando m = n, es decir, cuando tratamos de contar el nmero de funciones inyectivas de Nn en Nn . La
observacin siguiente muestra que entonces debemos contar las funciones biyectivas (o biyecciones) de Nn en Nn .
Observacin 4.4.1 Cada aplicacin inyectiva f : Nn Nn es una biyeccin. En efecto, si f : Nn Nn es una aplicacin inyectiva, entonces el
conjunto imagen de f , esto es, los elementos que se pueden escribir como
f (a) para a Nn , es un subconjunto de Nn de cardinal n, por tanto es todo
Nn .
Ejemplo 4.4.2 De cuntas maneras se pueden sentar en una mesa presidencial con cinco sillas los cinco miembros de la comisin.
En efecto, es un ejemplo de la situacin anterior porque si las sillas estn numeradas del 1 al 5, entonces el conjunto de sillas se puede ver como
N5 y si los comensales estn numerados del 1 al 5 tambin el conjunto de
comensales se puede interpretar como N5 . Se trata entonces de establecer
cuntas funciones inyectivas (a cada comensal su silla y no a dos comensales
la misma) de N5 en N5 se pueden construir. A la postre si a cada comensal
se le asigna una silla distinta, la aplicacin ser biyectiva (es sobreyectiva
porque no sobran sillas). Entonces:
V5,5 = 5 4 3 2 1.
Sara} a los tres cargos que son B = {presidente, secretario, vocal}. Calcular de cuntas maneras se pueden dar estos tres cargos a estas tres personas.
178
CAPTULO 4. COMBINATORIA
{p, s, v}
{p, v, s}
{s, p, v}
{s, v, p}
{v, s, p}
{v, p, s}.
Denicin 4.4.4 El nmero Pn cardinal del conjunto de biyecciones del conjunto Nn en el conjunto Nn se denomina nmero de permutaciones de n
elementos y se tiene
Pn = Vn,n = n! = n(n 1)...1.
Y justamente lo que estamos contando son las distintas formas de ordenar un conjunto de n elementos. Cada posible ordenacin de un conjunto
A es una permutacin de A.
4.4. PERMUTACIONES
179
Resumiendo, es lo mismo:
El nmero de aplicaciones biyectivas de Nn en Nn .
El nmero de ordenaciones distintas de un conjunto de n elementos.
El nmero de permutaciones de un conjunto de n elementos
Pn = n!.
El nmero de variaciones de n elementos tomadas de n en n.
Podemos introducir ahora una pequea variante en el problema del clculo
de las distintas ordenaciones.
Problema. Estudiar cuntos nmeros distintos se pueden construir reordenando las cifras del 121.
Es claro que el problema no se resuelve calculando el nmero de permutaciones de 3 elementos, ya que P3 = 6 y, sin embargo, los nmeros obtenidos
como resultado de reordenar las cifras del 121 son:
121,
211,
112
T otal := P3 /2 = 3.
Y generalizando a una lista de n elementos donde hay s elementos distintos que se van repitiendo n1 veces el primero, ..., ns veces el ltimo, tenemos:
180
CAPTULO 4. COMBINATORIA
Denicin 4.4.6 En las condiciones del prrafo anterior denimos el nmero de permutaciones con repeticin de n elementos, donde hay
s elementos que se repiten n1 > 1, n2 > 1, ..., ns > 1 veces respectivamente, como el nmero P Rnn1 ,n2 ...,ns de distintas ordenaciones de esa lista
con elementos repetidos. Se calcula mediante la frmula:
P Rnn1 ,...,ns =
n!
.
(n1 )!...(ns )!
P R92,3 =
9!
2!3!
BBC
1122.
4.5. COMBINACIONES
181
Resumiendo, es lo mismo:
El nmero de ordenaciones de una lista de n elementos con s elementos
repetidos, n1 > 1 veces el primero, ..., ns > 1 veces el ltimo.
El nmero de permutaciones con repeticin de n elementos con las
repeticiones que se indican:
Pnn1 ,...,ns =
4.5
n!
.
n1 !...ns !
Combinaciones
El ltimo concepto de combinatoria que vamos a denir es el de combinaciones que hace referencia al siguiente problema:
182
CAPTULO 4. COMBINATORIA
Formalmente se puede plantear el siguiente problema equivalente:
Problema. Determinar cuntos subconjuntos de 3 elementos tiene un conjunto de 85 elementos, es decir, de N85 .
T otal :
V85,3
.
P3
Denicin 4.5.1 Llamamos nmero de combinaciones de m elementos tomados de n en n, que escribimos Cm,n , al nmero de subconjuntos
de n elementos en Nm , se calcula
Cm,n =
m!
Vm,n
=
.
Pn
n!(m n)!
m
n
m
0
= 1.
4.5. COMBINACIONES
183
m
n
C10,5 =
10 9 8 7 6
V10,5
=
.
P5
5432
C10,5 C9,5 =
5
5
que es calcular el nmero total de equipos y restar el nmero de equipos en
los que no juega Martn.
Resumiendo, es lo mismo:
El nmero de subconjuntos de n elementos de Nm .
El nmero de selecciones no ordenadas de n elementos en un conjunto
de m elementos.
El nmero de combinaciones de m elementos tomadas de n en n, esto
es,
Cm,n = 0 si m < n
m
Vm,n
si m n.
Cm,n =
=
n
Pn
184
CAPTULO 4. COMBINATORIA
m
m
1)
=
.
n
mn
m
m1
m1
2)
=
+
.
n
n1
n
n
n
n
= 2n .
+ ... +
+
3)
n
1
0
La propiedad 1) viene
m de observar el siguiente hecho: interpretemos el
nmero combinatorio n como el nmero de subconjuntos de n elementos
de un conjunto A de m elementos. Elegir uno de estos subconjuntos B A
consiste en determinar los n elementos que conforman B o equivalentemente
sealar los m n elementos que conforman A B . Por tanto en A hay
exactamente tantos subconjuntos de n elementos como de m n elementos.
La propiedad 2) se deduce de lo siguiente. Interpretemos de nuevo m
n
como el nmero de subconjuntos de n elementos en A (|A| = m). Fijamos un
elemento a A. Los subconjuntos de n elementos de A se dividen entonces
en los que contienen a a y los que no lo contienen.
El nmero de subconjuntos de n elementos de A que contienen a a es
exactamente:
m1
n1
ya que puede interpretarse como el nmero de subconjuntos de n1 elementos
de A {a}.
El nmero de subconjuntos de n elementos de A que no contienen a a es
exactamente:
m1
n
ya que puede interpretarse como el nmero de subconjuntos de n elementos
de A {a}.
Por tanto la cantidad total de subconjuntos de n elementos es:
m
m1
m1
=
+
.
n
n1
n
4.5. COMBINACIONES
185
n n
n n1
n
n n
n1
(a + b) =
a +
a b + ... +
ab
+
b ,
0
1
n1
n
n
es decir:
n
(a + b) =
n
X
n
k=0
ank bk .
Esta frmula se puede demostrar por induccin sobre n usando las propiedades de los nmeros combinatorios.
Si aplicamos esta frmula a a = 1 y b = 1 tenemos:
n
n
n
n
(1 + 1) = 2 =
+
+ ... +
+
.
0
1
n1
n
n
186
CAPTULO 4. COMBINATORIA
Veamos cmo contar estos monomios de forma inteligente. Como podemos reordenar las variables podemos suponer que cada monomio de grado 5
est escrito como en la denicin:
xa y b z c
a+b+c=5
de modo que se le puede asignar una palabra formada por unos y ceros de la
siguiente manera
x3 yz 1110101.
El nmero de unos hasta el primer 0 indica cul es el exponente de la x,
despus del primer 0 y hasta el segundo 0 hay un 1 que indica el exponente
de la y y el ltimo 1 el de la z . Otro ejemplo:
x4 y 1111010
El problema es por tanto dnde colocar esos cinco unos que corresponden
a que el grado del monomio es cinco. Hay que elegir cinco lugares entre 7
posibles para colocar los unos, esto es, estamos computando los subconjuntos
de cinco elementos de un conjunto de 7 elementos.
7
T otal :
= 21
5
Los podemos escribir:
x5 , x4 y, x3 y 2 , x2 y 3 , xy 4 ,
y 5 , y 4 z, y 3 z 2 , y 2 z 3 , yz 4 ,
z 5 , x4 z, x3 z 2 , x2 z 3 , xz 4 ,
x3 yz, xy 3 z, xyz 3 ,
x2 y 2 z, xy 2 z 2 , x2 yz 2 .
Este mismo razonamiento permite calcular la frmula general.
nmero de selecciones no ordenadas de n elementos (con posibles repeticiones) en un conjunto de m elementos. Se denota CRm,n y se calcula mediante
la frmula:
m+n1
CRm,n =
n
4.5. COMBINACIONES
187
CR40,5
44
=
.
5
Ejercicio 84 1) Dada una nube de 312 puntos diferentes, donde nunca tres
Resumiendo, es lo mismo:
El nmero de selecciones no ordenadas (con elementos repetidos) de n
elementos en un conjunto de m elementos.
El nmero de combinaciones con repeticin m elementos tomados de n
en n:
m+n1
CRm,n =
.
n
188
CAPTULO 4. COMBINATORIA
4.6 Probabilidad
Una de las aplicacines fundamentales de la combinatoria es el clculo de
probabilidades, es decir, estimar con qu seguridad va a ocurrir un suceso.
La regla bsica por la que se rigen los experimentos que tienen una cantidad
nita y equiprobable de resultados es que la probabilidad de que ocurra un
suceso determinado es el cociente del nmero de casos en los que ocurre
este suceso entre la cantidad total de casos posibles. As al tirar un dado,
la probabilidad de que salga un 6 es 1/6 porque los posibles resultados son
el conjunto {1, 2, 3, 4, 5, 6} y el caso que nos interesa (el 6) es uno de estos
6 posibles resultados. La idea de fondo es que si uno tirara un dado una
cantidad muy alta de veces, le saldran (ms o menos) la misma cantidad
de resultados 1, que 2, ..., que 6. Esta ley se suele conocer como Ley de los
grandes nmeros.
Pero volviendo al hecho de que la probabilidad es un campo de aplicacin
de la combinatoria, podemos complicar el problema y pedir la probabilidad de
que al tirar dos dados consecutivamente se obtenga una pareja de seises. Por
ejemplo, este tipo de estudio es fundamental para asignar premios en juegos
de azar, para establecer el precio de una poliza de seguros... La cantidad
total de resultados es V R6,2 = 36, el resultado (6, 6) es uno de ellos por tanto
su probabilidad es 1/36. Observemos sin embargo que la probabilidad de
que salga un 3 y un 2 es justamente el doble ya que son dos los resultados
posibles: (2, 3) y (3, 2).
Denamos con precisin los conceptos.
4.6. PROBABILIDAD
189
Denicin 4.6.3 Se llama espacio muestral de un experimento aleatorio y se denota al conjunto de posibles resultados de dicho experimento
aleatorio.
100del
ltimo experimento aleatorio de los ejemplos y tiene cardinal || =
.
3
Denicin 4.6.5 Se denomina suceso a cada subconjunto del espacio mues-
Observacin 4.6.6 Nos centraremos en experimentos cuyo espacio muestral es un conjunto nito.
190
CAPTULO 4. COMBINATORIA
1/105 .
3) En la lotera primitiva se tienen que elegir 6 nmeros entre 49 por
tanto la probabilidad de ganar es:
49
.
1/
6
4) Se extraen 3 cartas de una baraja espaola (4 palos, numeradas con las
cifras del 1 al 7 y sota, caballo y rey de cada palo), determinar la probabilidad
de que las tres cartas extraidas
40sean la misma carta en distinto palo. El
nmero de casos posibles es 3 . Los casos favorables se calculan de la
siguiente manera: supongamos que jo el nmero 1(los
ases). Entonces la
4
baraja contiene 4 ases, por tanto, exactamente hay 3 = 4 posibles tros de
ases. Como tenemos 10 posibles nmeros hay 10 4 = 40 casos favorables,
por tanto
40
40/
.
3
4.6. PROBABILIDAD
191
0 p(S) p(T ) 1.
S = S = {x : x
/ S}
y su probabilidad es:
P (S) = 1 P (S).
Esta propiedad 4 es consecuencia de las anteriores ya que
SS =
S S = .
192
CAPTULO 4. COMBINATORIA
Observamos que
9
10
:
= 1/10
5
5
Observacin 4.6.11 En los casos donde todos los elementos de son equiprobables, para cada ai se tiene
p(ai ) = 1/||.
p(4) = a
4.6. PROBABILIDAD
193
p(5) = a
p(6) = a
p(2) = 2a
p(1) = 4a
Como 1 a 0 y 4a + 2a + a + a + a + a = 10a = 1 entonces a = 1/10.
De este modo:
p(1) = 4/10
p(2) = 2/10
p(i) = 1/10 i = 3, 4, 5, 6.
Y para calcular la probabilidad de cualquier suceso S bastar escribirlo
como unin disjunta de sus subconjuntos unitarios. Por ejemplo sea S el
suceso, el resultado sea par, entonces S = {2, 4, 6}, por lo que
194
CAPTULO 4. COMBINATORIA
como
p(S S 0 )/p(S 0 ) =
|S S 0 | |S 0 |
|S S 0 |
:
=
.
||
||
|S 0 |
p(S|S 0 ) =
(3/16)
.
(8/16)
p(S S 0 ) = p(S)p(S 0 ).
Ejemplo 4.6.17 Extraemos una carta al azar en una baraja espaola, los
12 10
3
=
.
40
40 40
Ejercicio 88 Comprobar si los sucesos S : una familia con tres hijos tenga
hijos de los dos sexos y S 0 : una familia con tres hijos tenga al menos un chico
son independientes.
4.6. PROBABILIDAD
195
Ejemplos 4.6.19 1) Lanzar una moneda trucada que saca cara con probabilidad 1/3 y cruz con probabilidad 2/3.
2) Lanzar un dado que tiene las caras coloreadas de dos colores, 5 de
ellas en rojo, una de ellas en negro, el rojo tiene probabilidad 5/6 y el negro
probabilidad 1/6.
196
CAPTULO 4. COMBINATORIA
Determinar
Determinar
Determinar
Determinar
la
la
la
la
probabilidad
probabilidad
probabilidad
probabilidad
de
de
de
de
4.6. PROBABILIDAD
197
Denicin 4.6.20 Una variable aleatoria es una funcin del espacio mues-
p(s)X(s).
(X) =
p
V (X).
198
CAPTULO 4. COMBINATORIA
1
2
3
3
3
2
10
10
3
2
1
1/40
2/40
3/40
3/40
3/40
2/40
10/40
10/40
3/40
2/40
1/40
4.7. EJERCICIOS
4.7
199
Ejercicios
Ejercicio 94. Una llave se fabrica haciendo incisiones de profundidad variable en ciertas posiciones jadas de una llave lisa. Si las profundidades
posibles son cuatro, determinar el nmero de incisiones que debe llevar la
llave para que el nmero de llaves posibles sea mayor que 100.000.
Ejercicio 98. Tenemos 10 naipes de los cules son 3 ases de oros, 4 caballos
de bastos y otras 3 cartas diferentes entre s y a las anteriores. Si ponemos
las 10 cartas en la, determinar el nmero de distintas las que se pueden
formar.
Ejercicio 100. Se tienen entradas para 17 espectculos distintos, determinar cuntos posibles regalos de tres entradas (posiblemente para el mismo
espectculo) se pueden hacer.
200
CAPTULO 4. COMBINATORIA
Ejercicio 106. Si S y S 0 son dos sucesos con p(S) = 0.8 y p(S 0 ) = 0.6,
demuestra que p(S S 0 ) 0.4. En general para cada par de sucesos se
verica p(S S 0 ) p(S) + p(S 0 ) 1.
biyectiva f : A Nn . Si |B| = m entonces existe una aplicacin biyectiva g : B Nm . La aplicacin biyectiva que estamos buscando es
F : A B Nn+m denida como F (a) = f (a) si a A y F (b) = g(b) + n si
b B.
201
Ejercicio 78.
Ejercicio 79.
202
CAPTULO 4. COMBINATORIA
relativa en una mesa circular entonces el resultado hay que dividirlo por 6,
esto es, 6!/6 = 5!. Dividimos por 6 que son las 6 posiciones relativas iguales
resultado de moverse todos una silla (dos sillas, ..., 6 sillas) hacia la derecha.
Ejercicio 81.
i) 243 104 .
ii) P R32 P R42 = 3 4!/2.
iii) 242 103 .
iv) Si son capicas la primera cifra es igual que la cuarta y la segunda es
igual que la tercera. Por tanto hay 102 dgitos. En total: 243 102 .
v) 24 104 .
vi) P R32 P R42,2 = 3 3!.
Ejercicio 82.
i) 5!.
ii) 5!/4.
iii) 5!/12.
iv) Los boletos con todas sus cifras iguales son los menos probables de ser
premiados y los que tienen todas sus cifras distintas los que ms.
203
1) Un tringulo es una terna no ordenada de puntos: 312
.
3
2) Las ternas de puntos que no dan un tringulo se forman eligiendo 3 de
los 5 puntos alineados, por tanto:
312
5
.
3
3
Ejercicio 85.
10
1) CR5,6 = 6 .
2) Si quitamos el 5 de cada bombo tenemos CR4,6 posibles resultados que
no contienen al 5. Los que llo contienen son por tanto:
CR5,6 CR4,6 .
14
Ejercicio 86. Acertar
4913
en las quinielas tiene probabilidad 14/3 . Acertar
5 en la primitiva: 6/
El suceso S :tener hijos de los dos sexos tienen cardinal 6, ya que hay que
descontar los casos en que hay tres varones o tres mujeres.
El suceso S 0 :tener al menos un hijo varn tienen cardinal 7, ya que hay
que descontar slo el caso en que son tres mujeres.
Entonces p(S) = 6/8 y p(S 0 ) = 7/8.
Por otro lado |S S 0 | = 6 porque S S 0 de modo que los sucesos no son
independientes.
Ejercicio 89.
204
CAPTULO 4. COMBINATORIA
4) pn .
Ejercicio 90.
1) (0.6)100
.
100
i
100i
2) 100
.
i=50 i (0.4) (0.6)
30 100
i
100i
3) i=0 i (0.4) (0.6)
.
Ejercicio 91.
que hay. Escogemos un cuadrado negro de los 64/2 8 posibles (los negros
que no estn en la misma la o en la misma columna). El resultado es el
producto: 768.
Ejercicio 93. Buscamos el complementario del conjunto de todos los nmeros de 7 cifras tales que ninguna de ellas est repetida:
107 V10,7 .
Ejercicio 95.
i) Es el nmero
de subconjuntos de 4 elementos en un conjunto de 54
alumnos: 54
.
4
ii) Ser el nmero total de equipos de 4 alumnos menos el nmero de
equipos constituidos slo por chicos:
30
54
.
4
4
iii) El nmero de subconjuntos de dos chicas por el nmero de subconjuntos de dos chicos:
30
24
.
2
2
205
Ejercicio 96.
3,7
10
i) P R10 = 3 .
10
ii) Todos menos
10 el formado por todos unos: 2 1.
5,5
iii) P R10 = 5 .
3,4
Ejercicio 98. Los ases se repiten 3 veces y los caballos 4. Total: P R10
.
aqullas con la misma letra dos veces y el mismo nmero 3 veces. Total:
103 293 3 29 28 10. Siendo 29 28 el nmero de parejas de letras
posibles, 3 el nmero de modos de ordenar las tres letras (dos iguales y una
distinta) y 10 los posibles tros de nmeros.
Ejercicio 100. CR17,3 = 193 .
(2, 6), (6, 2), (3, 5), (5, 3), (4, 4).
La probabilidad de obtener un 8 es 5/36 = 0.13889.
Si tiramos tres dados: Hay 63 posibles lanzamientos. De ellos dan como
suma 8 los siguientes: P R72,5 (interpretando cada tirada como una palabra de
7 carcteres que son 5 unos y 2 ceros, por ejemplo la tirada 2, 2, 4 es 1010111.
Los ceros separan las tiradas y ponemos tantos unos como el valor de la tirada
menos una unidad). Entonces la probabilidad es 21/216 = 0.0722 menor que
la anterior.
Ejercicio 102.
as:
48
52
1
/
.
5
5
ii) Hay 13 posibles pkeres (de ases, de doses,...) y por cada uno puede
haber una quinta carta que es arbitraria, de entre las 48 cartas restantes (47
206
CAPTULO 4. COMBINATORIA
48 13/
52
.
5
suceso no tener ningn xito: 1 0.6n . Buscamos n tal que 1 0.6n 0.8 o
equivalentemente 0.6n 0.2. Como la sucesin {0.6n : n N} es decreciente,
evaluando, se tiene que el primero que verica la desigualdad es n = 4.
Ejercicio 105. Hay 26 primos menores que 100, por tanto 26/100.
Ejercicio 106. Como p(S S 0 ) = p(S) + p(S 0 ) p(S S 0 ) entonces:
p(S S 0 ) = p(S) + P (S 0 ) p(S S 0 ).
Se concluye la frmula general del hecho de que p(S S 0 ) 1. Esta frmula
se aplica al ejemplo p(S) = 0.8 y p(S 0 ) = 0.6.
Captulo 5
Grafos
La teora de grafos tiene su origen en un artculo publicado por Euler en
1736 en el que se daba solucin al problema de los 7 puentes de la ciudad
de Knigsberg (actualmente Kaliningrado), puentes que conectaban dos islas
con las mrgenes del ro Pregel segn el esquema de la gura que se adjunta
(Figura 5.1).
El problema consista en realizar un paseo que atravesase cada uno de los 7
puentes una nica vez (los puentes en el grco son los que unen las regiones
A,B,C y D).
Euler demostr que esto no era posible y (esto es lo importante) sin
comprobar todos los posibles paseos.
Desde entonces los resultados y aplicaciones de esta teora han ido aumentando, y actualmente la teora de grafos se utiliza para resolver problemas en
207
208
CAPTULO 5. GRAFOS
ramas de la ciencia muy diferentes. Por ejemplo, los grafos se utilizan para
construir modelos de redes de ordenadores y determinar si dos ordenadores
estn conectados en una red, para determinar si un circuito puede ser implementado sobre un tablero plano, para distinguir compuestos qumicos con
la misma frmula molecular, para encontrar el camino ms corto entre dos
ciudades en una red de transporte...
Se pretende que el alumno al nalizar el captulo:
209
Observacin 5.1.2 Podemos representar los vrtices como puntos del plano
E = {ei }iI
donde I es un conjunto nito y i I se verica que ei = {ui , vi } con
ui , v i V .
den conectar los mismos vrtices, esto es, que E es una familia y no un
conjunto, pudiendo tener elementos repetidos. Ntese tambin que estamos
permitiendo aristas del tipo {u, u} denominadas lazos o bucles.
representar utilizando puntos para representar los vrtices y echas para representar las aristas, segn la gura 5.2. Observar que la arista (b, c) es
distinta de la arista (c, b).
Denicin 5.1.7 Un multidigrafo es un par (V, E) formado por un conjunto nito de vrtices V y una familia nita E de aristas orientadas
E = {ei }iI
donde I es un conjunto nito y i I se verica que ei V V .
Resumimos en una tabla la terminologa que empleamos:
Tipo
Grafo simple
Multigrafo
Digrafo
Multidigrafo
Aristas
No dirigidas
No dirigidas
Dirigidas
Dirigidas
aristas mltiples?
No
S
No
S
lazos?
No
S
No
S
210
CAPTULO 5. GRAFOS
Figura 5.2:
211
Figura 5.3:
Si un vrtice tiene grado cero se dice que es un vrtice aislado.
gr(v) = 2 |E| .
vV
Demostracin. La demostracin es inmediata debido a que cada arista contribuye dos veces al sumatorio anterior ya que una arista es incidente con
exactamente dos vrtices (que eventualmente pueden ser iguales).
!
!
X
X
X
2 |E| =
gr(v) =
gr(v) +
gr(v) .
vV
vV1
vV2
Puesto que para cada v V1 se tiene que gr(v) es un nmero par, el primer sumatorio de los dos que aparecen a la derecha de la igualdad es un
212
CAPTULO 5. GRAFOS
nmero par. Y, puesto queel resultado de la suma es eln nmero par 2|E|,
P
necesariamente
gr(v) es un nmero par.
vV2
|E| =
X
vV
gr+ (v) =
gr (v).
vV
Denicin 5.2.1 Se denomina grafo completo de n vrtices al grafo simple Kn que contiene una arista entre cada par de vrtices distintos (ver gura
5.5).
Figura 5.4:
Figura 5.5:
213
214
CAPTULO 5. GRAFOS
Figura 5.6:
215
Figura 5.7:
216
CAPTULO 5. GRAFOS
Figura 5.8:
Figura 5.9:
217
Ejercicio 111 Dibujar los grafos bipartidos completos K2,5 y K3,4 . Determinar el nmero de aristas del grafo Km,n .
Ejemplo 5.2.7 Una red de rea local permite conectar ordenadores entre s
5.3
G G0 = (V V 0 , E)
218
CAPTULO 5. GRAFOS
Figura 5.10:
donde E es el conjunto formado por todas las aristas de la forma {(a, b),
(a0 , b0 )} tales que
o bien a = a0 y {b, b0 } es una arista de G0 ,
o bien b = b0 y {a, a0 } es una arista de G.
Ejercicio 113 Demostrar que el producto de un grafo simple G con n vrtices y m aristas y otro G0 con n0 vrtices y m0 aristas es un grafo simple con
nn0 vrtices y nm0 + mn0 aristas.
219
Figura 5.11:
Ejemplo 5.3.8 Sea G = ({1, 2, 3}, {{1, 2}, {2, 3}}) entonces
G0 = ({1, 2, 3, 4}, {{2, 3}, {1, 4}, {4, 2}})
es una particin de G.
5.4
Isomorsmo de grafos
En Qumica, por ejemplo, los grafos se emplean para representar y modelizar compuestos qumicos. Dos compuestos diferentes pueden tener la misma
frmula molecular pero diferente estructura. En ese caso dichos compuestos
se modelizarn por grafos que no se pueden expresar de la misma forma.
Los grafos que representan compuestos conocidos pueden utilizarse para determinar si un supuestamente nuevo compuesto qumico ha sido estudiado
antes.
Dos grafos que tienen la misma estructura diremos que son isomorfos,
atenindonos a la siguiente denicin:
220
CAPTULO 5. GRAFOS
Figura 5.12:
u, v V1
{u, v} E1 {f (u), f (v)} E2 .
De la funcin f que satisface dicha condicin se dice que es un isomorsmo
de grafos entre los grafos G1 y G2 .
En otras palabras dos grafos son isomorfos si tienen el mismo nmero de
vrtices y existe una funcin biyectiva entre los dos conjuntos de vrtices que
preserva las adyacencias.
Ejemplo 5.4.2 Los dos grafos de la gura 5.12 son isomorfos. Para verlo
basta comprobar que la funcin f : {a, b, c, d} {u, v, w, p}, tal que f (a) = u,
f (b) = v, f (c) = w, f (d) = p es un isomorsmo de grafos.
221
Figura 5.13:
Ejemplo 5.4.4 Los dos grafos de la gura 5.13 no son isomorfos pues, aun-
222
CAPTULO 5. GRAFOS
Figura 5.14:
Ejercicio 115 Vericar si alguno de los grafos de la siguiente lista es isomorfo a alguno de los restantes: K4 , W3 y K1,3 .
Ejercicio 116 Estudiar si los grafos de la gura 5.14 son isomorfos. Idem
para la gura 5.15
matrices de adyacencias.
223
Figura 5.15:
Dado un grafo G = (V, E), para construir una de sus matrices de adyacencias, necesitamos considerar sus vrtices en una lista ordenada. Si el
grafo tiene n vrtices, |V | = n, y los ordenamos como V = {v1 , v2 , ..., vn },
la matriz de adyacencia de G con respecto a esa ordenacin de los vrtices
es la matriz A = (aij ) de n las y n columnas determinada por la siguiente
condicin:
1 si {vi , vj } E
aij =
0 si {vi , vj }
/ E.
Ejemplo 5.5.2 Sea por ejemplo el grafo K3 . Como tiene 3 vrtices, cual-
224
CAPTULO 5. GRAFOS
Figura 5.16:
0 1 1
1 0 1
1 1 0
Ejercicio 117 Construir una matriz de adyacencias para cada uno de los
siguientes grafos: K4 , C4 , W3 y K3,2 .
Ejercicio 118 Utilizar una matriz de adyacencias para representar los grafos de la gura 5.16.
para representar grafos no dirigidos con lazos y aristas mltiples. As, un lazo
en el vrtice vi viene representado por un 1 en la posicin aii de la matriz
de adyacencia. Si se trata de multigrafos, en la posicin aij de la matriz
colocaremos el nmero de aristas que conectan el vrtice vi y el vj . As, si
tenemos 3 aristas entre el vrtice vi y el vj , pondremos aij = 3. En cualquier
caso, todos los grafos no dirigidos tienen asociadas matrices simtricas.
225
En la posicin aij aparecer un 1 si hay una arista dirigida cuyo vrtice inicial
es vi y cuyo vrtice nal es vj y un cero en caso contrario.
Obsrvese que las matrices de adyacencias asociadas a grafos dirigidos no
son necesariamente simtricas.
bij =
1 si vi ej
0 si vi
/ ej .
Ejemplo 5.5.5 Siendo G = ({a, b, c, d}, {{a, b}, {b, c}, {c, d}, {d, a}, {d, b}}),
la matriz de incidencias de G con respecto a la ordenacin a, b, c, d de sus
vrtices y {a, b}, {b, c}, {c, d}, {d, a}, {d, b} de sus aristas, es la matriz
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
0
1
.
0
1
isomorfos, necesariamente existe una ordenacin de los vrtices (respectivamente de vrtices y aristas) de ambos de manera que la matriz de adyacencias
(respectivamente de incidencias) es la misma para los dos grafos. Esto no
quiere decir, sin embargo, que cada matriz de adyacencias de G sea igual a
cada una de G0 .
226
CAPTULO 5. GRAFOS
grafo no dirigido es una sucesin nita (e0 , ..., en1 ) de aristas del grafo
Ejemplo 5.6.2 En el grafo simple de la gura 5.17, (a, b, g, d, c, a) es un circuito simple de longitud 5 y (a, b, d, c, e, f, d) es un camino simple de longitud
6 entre los vrtices a y d.
227
Figura 5.17:
228
CAPTULO 5. GRAFOS
Figura 5.18:
que tiene como vrtices al conjunto {a, b, c, e, f } y las correspondientes aristas, y la que tiene como conjunto de vrtices {g, h, d} y las correspondientes
aristas.
Teorema 5.6.7 Existe un camino simple entre cualquier par de vrtices distintos de un grafo conexo no dirigido.
Demostracin. Lo demostraremos para grafos simples, si hay aristas mltiples, el mismo razonamiento es vlido deniendo los caminos por las aristas
y no por los vrtices que recorren.
Sean a y b dos vrtices cualesquiera de un grafo simple G = (V, E).
Puesto que G es conexo, existe (al menos) un camino entre a y b. Sea v0 ,
v1 , v2 , ..., vn1 , vn un camino entre a y b de la menor longitud posible. En
ese caso, dicho camino es simple. En efecto, lo demostramos por reduccin
al absurdo. Si no fuera simple, en particular tendramos que vi = vj para
algunos i, j {1, ..., n}, i < j. Pero entonces el camino v0 , ..., vi1 , vj , vj+1 ...,
vn es un camino entre a y b de longitud estrictamente menor que n (puesto
que se ha obtenido eliminando una o varias aristas del camino anterior), en
contradiccin con que el camino considerado originalmente entre a y b sea de
la menor longitud posible.
229
Conexin e isomorsmo
Los conceptos relacionados con la conexin nos proporcionan nuevos invariantes para averiguar si dos grafos son o no isomorfos.
ponentes conexas.
Los puntos de corte y las aristas de corte son invariantes que nos pueden
permitir concluir que dos grafos no son isomorfos. Si un grafo presenta un
vrtice de corte y otro no, los dos grafos no pueden ser isomorfos.
Conexin y matrices
Teorema 5.6.11 Sea G un grafo (dirigido o no dirigido, con aristas mlti-
230
CAPTULO 5. GRAFOS
Figura 5.19:
231
In + A + A2 + .... + An1
tiene todos los coecientes distintos de cero.
0 1 0
A := 1 0 1 .
0 1 0
Entonces su cuadrado es
1 0 1
A2 := 0 2 0 .
1 0 1
Por tanto I + A + A2 tiene todas sus entradas no nulas y el grafo es
conexo.
232
CAPTULO 5. GRAFOS
j := 1, B := In
while j n 1
B := B + Aj
j := j + 1
If B tiene todos sus elementos distintos de cero then s :=conexo else
s :=no conexo.
Salida: s.
un circuito euleriano.
Demostracin. Si el grafo G es euleriano, entonces contiene un circuito euleriano que, por denicin, contiene a todas las aristas. En consecuencia, todas
las aristas estn en la misma componente conexa. Por otra parte, todos los
vrtices tienen grado par, pues cada vez que el circuito euleriano pasa por
un vrtice lo hace una vez para entrar y otra para salir con lo que el grado
233
de cada vrtice es par. Obsrvese que los vrtices aislados tienen grado 0, un
nmero par.
Para la demostracin del recproco, el siguiente algoritmo muestra un procedimiento constructivo para generar un circuito euleriano en un multigrafo
conexo en el que todos los vrtices tienen grado par.
Por hiptesis, todas las aristas estn en la misma componente conexa, por
lo que se puede suponer que el grafo es conexo. Sea entonces G un multigrafo
conexo con todos los vrtices de grado par. Adems, podemos prescindir
de los posibles lazos: si G multigrafo conexo tiene lazos, es equivalente G
euleriano que G0 euleriano, siendo G0 el grafo resultante de quitar los lazos a
G. Por tanto G es un multigrafo conexo sin lazos.
Ejemplo 5.7.4 Un cartero tiene que repartir sus cartas en la red de calles
representada por el grafo de la gura 5.20. Para realizar el reparto, el cartero debe empezar y terminar en la estafeta de correos que se encuentra en el
vrtice i. Teniendo en cuenta que todos los vrtices tienen grado par, el cartero sabe que puede efectuar el reparto sin recorrer dos veces la misma calle,
234
CAPTULO 5. GRAFOS
Figura 5.20:
(i, j, m, l, k, j, h, i).
Borramos las aristas y vrtices aislados (Ver gura 5.22).
Prosiguiendo con el algoritmo, construimos el circuito (m, n, a, m) y lo
insertamos en el lugar adecuado (vrtice m) obteniendo
(i, j, m, n, a, m, l, k, j, h, i).
Finalmente, nos queda un el circuito (a, b, c, d, e, f, g, h, a) que, insertado en
el lugar adecuado, da lugar al siguiente circuito euleriano del grafo inicial:
(i, j, m, n, a, b, c, d, e, f, g, h, a, m, l, k, j, h, i).
Figura 5.21:
Figura 5.22:
235
236
CAPTULO 5. GRAFOS
El siguiente resultado nos da una condicin para la existencia de un camino euleriano no cerrado:
w, a, v1 , v2 , ..., vn1 , b, w
y, en consecuencia, todos los vrtices de G0 son de grado par. Al eliminar las
aristas {w, a} y {b, w} y el vrtice w de G0 para obtener G concluimos que
todos los vrtices son de grado par salvo a y b.
Recprocamente, si todos los vrtices de G = (V, E) salvo dos, a y b,
tienen grado par, construyendo el grafo G0 = (V 0 , E 0 ) donde V 0 = V {w}
y E 0 = E {{w, a}, {b, w}} con w un nuevo vrtice no perteneciente a V,
obtendremos un grafo en el que todos los vrtices son de grado par. Siendo
w, a, v1 , v2 , ..., vn1 , b, w
un circuito euleriano,
a, v1 , v2 , ..., vn1 , b
es un camino euleriano no cerrado que conecta a y b.
Ahora ya estamos en condiciones de demostrar que no es posible encontrar
un circuito que resuelva el problema de los puentes de Knigsberg, pues el
grafo que representa el problema tiene ms de dos vrtices de grado impar.
Ejercicio 121 Construir el grafo que representa la conguracin de los puentes de Knisberg. Demostrar que dicho grafo no es Euleriano ni admite un
camino Euleriano.
237
Denicin 5.7.7 Se dice que un grafo no dirigido G = (V, E) es hamiltoniano si contiene un circuito hamiltoniano.
Los grafos hamiltonianos tienen su origen en el siguiente juego propuesto
por Hamilton: encontrar un circuito que, pasando por todos los vrtices del
dodecaedro (a travs de las aristas) termine en el de vrtice de partida sin
pasar dos veces por el mismo vrtice (salvo el de partida).
Pese a la aparente similitud con la denicin de los grafos eulerianos (en
un caso el nfasis del estudio est puesto en los vrtices y en el otro en las
aristas) encontrar un circuito hamiltoniano en un grafo puede no ser tarea
fcil pues no se conoce una caracterizacin de los grafos hamiltonianos.
Veamos algunos resultados sencillos relacionados con los grafos hamiltonianos (alguno de ellos sin demostracin).
238
CAPTULO 5. GRAFOS
Figura 5.24:
239
Figura 5.25:
Consideremos los vrtices de Qn (i.e. las palabras de n bits) segn indicamos en su construccin (i.e., de forma que dos vrtices adyacentes dieran
en un nico bit). Cualquier circuito hamiltoniano sobre el cubo Qn da lugar
a un cdigo de Gray. Por ejemplo, el siguiente camino hamiltoniano de Q3
da lugar a un cdigo de Gray (para ello, es suciente representarlo de forma
circular segn se ha indicado):
(0, 0, 0), (1, 0, 0), (1, 1, 0), (1, 1, 1), (1, 0, 1), (0, 0, 1), (0, 1, 1), (0, 1, 0), (0, 0, 0).
240
CAPTULO 5. GRAFOS
los vrtices de U y las aristas incidentes con dichos vrtices tiene a lo sumo
|U | componentes conexas.
Demostracin. Si el grafo G es hamiltoniano, entonces contiene un circuito
hamiltoniano
a, v1 , v2 , ..., vn1 , a.
Sea H el grafo formado por los vrtices y aristas del circuito anterior, y sea
U V. (Obsrvese que los vrtices de H son los mismos que los del grafo
original G). Sea k el nmero de componentes conexas del grafo (V U, E 0 )
donde E 0 es el subconjunto de aristas de G caracterizado por el hecho de que
sus extremos pertenecen a V U , y sea k 0 el nmero de componentes conexas
del subgrafo de H obtenido al eliminar de H los vrtices pertenecientes a U
junto con las aristas incidentes con ellos. Evidentemente, k k 0 . Puesto
que el grafo H se puede representar como en la gura 5.26, es obvio que al
eliminar un punto (y las aristas incidentes con l) el nuevo grafo as obtenido
es conexo (es decir, tiene una nica componente conexa), al eliminar dos
puntos (y las aristas incidentes con ellos) el nuevo grafo as obtenido tiene
como mucho dos componentes conexas y as sucesivamente. En general si
quitamos p vrtices (junto con sus aristas incidentes) obtenemos un grafo
con, a lo sumo, p componentes conexas. Por consiguiente k k 0 p = |U |.
El resultado anterior nos aporta una nueva herramienta con la que podemos demostrar que algunos grafos no son hamiltonianos.
Figura 5.26:
Figura 5.27:
241
242
CAPTULO 5. GRAFOS
Figura 5.28:
Nota: En el algoritmo siguiente se sobreentiende que es mayor que cualquier nmero real, que G es un grafo etiquetado conexo y que para cada par
de vrtices no adyacentes x, y se tiene que d({x, y}) = .
Algoritmo de Dijkstra.
Entrada: G = (V, E, d), u, v V
L(u) := 0
L(x) := para cada x 6= u
T :=
while v
/T
243
Con lo que los nicos valores para los que L cambia son:
L(b) = 2
L(h) = 5.
Y adems:
f (b) = f (h) = a.
Ahora el valor mnimo de L lo tiene el vrtice b y b
/ T , con lo que
T = {a, b}.
Ahora se cumple que:
244
CAPTULO 5. GRAFOS
Con lo que los nicos valores para los que L cambia son:
L(c) = 5
L(i) = 3.
Y adems:
f (c) = f (i) = b.
Ahora el valor mnimo de L lo tiene el vrtice i con lo que
T = {a, b, i}.
Ahora se cumple que:
Con lo que los nicos valores para los que L cambia son:
L(d) = 6
L(f ) = 5.
Y adems:
f (d) = f (f ) = i.
Ahora el valor mnimo de L lo tienen los vrtices c, f y h con lo que elijo
uno de ellos, por ejemplo el f , de modo que:
T = {a, b, i, f }.
Ahora se cumple que:
Con lo que los nicos valores para los que L cambia son:
L(e) = 6
L(g) = 8.
Y adems:
f (e) = f (g) = f.
Ahora el valor mnimo de L lo tienen los vrtices c, y h con lo que elijo uno
de ellos, por ejemplo el c, de modo que:
T = {a, b, i, f, c}.
5.9. RBOLES
245
T = {a, b, i, f, c, h}.
Tampoco ahora se cumple nunca la condicin para que haya cambios. Ahora
el valor mnimo de L lo tienen los vrtices d, e con lo que elijo uno de ellos,
por ejemplo el d (as el algoritmo terminar en el paso siguiente), de modo
que:
T = {a, b, i, f, c, h, d}.
Tampoco ahora se cumple nunca la condicin para que haya cambios.
De esta manera el camino ms corto entre a y d tiene longitud 6 y es:
5.9
rboles
246
CAPTULO 5. GRAFOS
Figura 5.29:
Observacin 5.9.2 Como un rbol no tiene circuitos simples, tampoco puede tener aristas mltiples o lazos, por lo que cualquier rbol es un grafo simple.
5.9. RBOLES
247
Figura 5.30:
Si para cada par de vrtices u y v hay un camino que los une, entonces G
es conexo por denicin de conexin. Si G contuviera un circuito simple C ,
tomando un par de vrtices del circuito u y v , existen dos caminos simples
distintos que los unen, en contradiccin con la hiptesis. Esto demuestra la
otra implicacin.
En muchas aplicaciones de los rboles se suele escoger un vrtice particular
al que se denomina raz. As pues:
varios rboles con raz, dependiendo del vrtice al que se distinga del resto
como raz. La eleccin de una raz lleva aparejada la trasformacin del rbol
considerado en un rbol con aristas dirigidas, en el que la direccin de las
aristas incidentes con la raz es la que parte de la raz hacia los vrtices
unidos a l y a partir de estos sucesivamente hacia el resto de los vrtices del
rbol.
248
CAPTULO 5. GRAFOS
Los rboles con raz llevan asociada una terminologa de origen botnico
y genealgico: dado un rbol con raz T, si v es un vrtice de T distinto de
la raz, el padre de v es el nico vrtice u de T tal que hay una arista de
u a v. Si u es el padre de v, tambin diremos que v es un hijo de u. Los
antecesores de un vrtice son los vrtices que nos encontramos en el nico
camino que une dicho vrtice con la raz. Los descendientes de un vrtice
v son todos aquellos vrtices de los que v es antecesor.
Denicin 5.9.7 Dado un rbol con raz (G, r) se denominan hojas a los
vrtices de G distintos de r que tienen grado 1.
Es fcil darse cuenta de que las hojas de un rbol dirigido son los vrtices
que no tienen descendientes. A los vrtices distintos de la raz que no son
hojas de un rbol con raz se les denomina vrtices internos.
tices tienen a lo sumo m hijos. Si todos los vrtices internos (es decir, todos
salvo las hojas) de un rbol mario con raz tienen exactamente m hijos, se
dice que el rbol es un rbol m-ario completo. A los rboles 2-arios se les
denomina rboles binarios.
Ahora estamos en condiciones de establecer la siguiente propiedad:
5.9. RBOLES
249
m(mh1 ) = mh ,
como queramos demostrar.
250
CAPTULO 5. GRAFOS
La etiqueta (el dato) asociado a cada vrtice es mayor (en el orden considerado) que las etiquetas de sus descendientes hacia la izquierda, y menor
que las etiquetas de sus descendientes hacia la derecha.
El siguiente procedimiento recursivo se utiliza para formar un rbol de
bsqueda binaria para una lista de datos. Se comienza con un rbol que
contiene un nico vrtice, la raz. El primer dato en la lista se asocia a dicho
vrtice. Para aadir un nuevo dato, primero comparamos dicho dato con las
etiquetas de los vrtices que ya estn situados en el rbol, comenzando por la
raz y movindonos para realizar la siguiente comparacin hacia la izquierda
si el dato es menor que el dato con el que hemos realizado la comparacin,
y hacia la derecha si es mayor. Cuando el dato es menor que el del vrtice
con el que acabamos de compararle, y dicho vrtice no tiene hijo izquierdo,
entonces aadimos al rbol un nuevo vrtice como hijo izquierdo de dicho
dato. Anlogamente, cuando el dato es mayor que el del vrtice con el que
acabamos de compararle, y dicho vrtice no tiene hijo derecho, aadiremos
al rbol un nuevo vrtice como hijo derecho de dicho dato.
5.9. RBOLES
251
que cada vrtice interno corresponde a una decisin, con un subrbol colgando de l por cada una de las posibles alternativas (o salidas diferentes) se
denomina rbol de decisin. Las posibles maneras de resolver el problema
corresponden a los caminos que van desde las hojas hasta la raz. Veamos
un ejemplo de aplicacin de los rboles de decisin.
les, pero tales que una de ellas pesa un poco menos que las otras 7. Cul es
el menor nmero de veces que hay que utilizar una balanza para determinar la
moneda que pesa menos? Establecer un algoritmo que nos permita localizar
dicha moneda.
Solucin: Hay tres posibilidades para cada pesada que realizamos con
la balanza. Que el peso sea el mismo, que las monedas de la bandeja de la
izquierda pesen ms o que pesen ms las de la bandeja derecha. Por consiguiente, el rbol de decisin es ternario (3-ario). Hay al menos 8 hojas en el
rbol de decisin, puesto que hay 8 posibles salidas, y cada posible salida debe
estar representada por al menos una hoja. El nmero de pesadas necesario
para determinar la moneda que pesa menos es la altura del rbol de decisin.
El resultado que recoge el ltimo corolario visto nos permite garantizar que
la altura del rbol de decisin es al menos log3 (8). De esta manera, al menos
dos pesadas son necesarias. Realmente, con dos pesadas podemos determinar
la moneda que pesa menos, segn se muestra en la gura 5.31.
pero tales que una de ellas pesa diferente de las dems (un poco ms o un
poco menos). Cul es el menor nmero de veces que hay que utilizar una
balanza para determinar la moneda que pesa menos? Establecer un algoritmo (mediante su rbol de decisin asociado) que nos permita localizar dicha
moneda.
Como sealbamos en el captulo 2 podemos hablar de complejidad inherente a un problema como el orden de complejidad del mejor algoritmo
que resuelve el problema. Los rboles de decisin sirven para calcular esta
complejidad.
252
CAPTULO 5. GRAFOS
Figura 5.31:
5.9. RBOLES
253
5 bits). Hay alguna forma de codicar las letras que nos permita utilizar
menos bits cuando un conjunto de datos es codicado? Si esto fuese posible,
necesitaramos menos memoria y reduciramos el tiempo de transmisin.
Para ver cmo es posible lograr el objetivo del prrafo anterior, supongamos ahora que podemos emplear cadenas de diferente longitud para codicar letras. Queremos utilizar cadenas de bits cortas para las letras que
ms se repiten en las palabras del castellano y cadenas ms largas para las
que menos se repiten. En ese caso tenemos que determinar un mtodo que
nos permita saber en cul bit empieza y en cul bit termina un determinado
carcter. Por ejemplo, si codicamos la a con 0, la p con 1, y la n con 10, la
cadena 1010 puede corresponder a las palabras pan o papa.
Para estar seguros de que ninguna cadena de bits corresponde a ms de
una secuencia de letras, la cadena de bits de una letra no debe coincidir nunca
con la primera parte de la cadena de bits de otra. Los cdigos que tienen esta
propiedad se denominan cdigos prejos. Por ejemplo, la codicacin de
la a con 0, la p con 10, y la n con 11 satisface esa propiedad. De este modo, al
emplear un cdigo prejo, cualquier palabra puede ser recuperada a partir de
la nica cadena de bits que codica las letras que la componen. Por ejemplo,
utilizando la codicacin anterior, la cadena 100110 es la correspondiente a
la palabra pana.
Un cdigo prejo puede ser representado utilizando un rbol binario, en
el que los caracteres son las etiquetas de las hojas en el rbol. Las aristas del
rbol son etiquetadas de manera que una arista que lleva al hijo izquierdo se
etiqueta con un 0 y una arista que lleva a un hijo derecho se etiqueta con un
1. La cadena de bits de un carcter situado en una hoja es la secuencia de
las etiquetas de las aristas que van desde la raz a dicha hoja.
El rbol que representa un cdigo prejo tambin puede emplearse para
decodicar una cadena de bits. Por ejemplo, considerar la palabra codicada
por la cadena 10011001100 segn el cdigo del rbol de la gura 5.32. Para
decodicarla, comenzamos desde la raz, utilizando la sucesin de bits para
formar un camino que se detiene cuando se alcanza una hoja. En ese caso
se decodica la letra correspondiente y se contina con la cadena restante.
Segn eso, la palabra asociada a la cadena anterior es patata. En efecto,
comenzamos con un 1 y un 0 que conducen a la letra p. El 0 siguiente nos
conduce a la letra a. El 110 nos lleva a la t y as sucesivamente.
Hay algoritmos, tales como los cdigos de Human, que pueden utilizarse para construir cdigos ecientes teniendo en cuenta la frecuencia de las
ocurrencias de las letras en un determinado lenguaje, y que permiten com-
254
CAPTULO 5. GRAFOS
Figura 5.32:
Ejercicio 127 Construir el rbol binario que representa el cdigo prejo aso-
quier subgrafo de G que incluye todos los vrtices de G (aunque no necesariamente todas sus aristas).
Observacin 5.9.18 Un grafo simple puede tener ms de un rbol generador (ver gura 5.33).
5.9. RBOLES
255
Figura 5.33:
digamos V , la red debe ser conexa para que cada par de nodos estn conectados. De entre los grafos conexos cuyo conjunto de vrtices es V , los que
tienen el mnimo nmero de aristas son los rboles y son por esta propiedad,
minimales. Sin embargo, los rboles son muy poco resistentes a fallos porque,
en un rbol, el camino que une dos vrtices es nico. As el deterioro de una
comunicacin directa entre dos nodos desconecta seguro nodos entre s.
La siguiente proposicin caracteriza los grafos simples que tienen un rbol
generador.
256
CAPTULO 5. GRAFOS
Empleando un mtodo de bsqueda en amplitud: consiste en recorrer todos los vrtices adyacentes a uno dado (elegido al azar) y aadir
al rbol en construccin tanto las aristas como los vrtices recorridos.
Despus repetir el proceso recorriendo los vrtices adyacentes a los vrtices adyacentes al primero. As, repetir el proceso hasta que no queden
vrtices por incorporar al rbol.
Empleando un mtodo de bsqueda en profundidad: consiste en
partir de un vrtice y aadir uno de sus vrtices adyacentes junto con
su arista. A continuacin, a partir de este nuevo vrtice, aadir otro
adyacente a este ltimo junto con su arista. As sucesivamente hasta que todos los vrtices del grafo original estn incluidos en el rbol
generador.
Debido a sus aplicaciones, los rboles generadores de los grafos etiquetados tienen un inters particular. Considrese el siguiente problema:
5.9. RBOLES
257
Vamos a presentar dos algoritmos para construir rboles generadores mnimos. Ambos algoritmos son de tipo incremental pues tratan de crear un
rbol generador aadiendo aristas y vrtices. La estrategia opuesta consistira
en, a partir del grafo dado, ir eliminando las aristas de mayor peso teniendo
cuidado de que dichas aristas no desconecten el grafo resultante. Ambos
algoritmos hacen una eleccin ptima en cada uno de sus pasos, aunque es
importante sealar que optimizar cada etapa de un algoritmo no garantiza
que la solucin nal obtenida sea la ptima. En este caso se puede demostrar
que ambos algoritmos producen soluciones globales ptimas.
En ambos algoritmos G es un grafo etiquetado conexo.
Algoritmo de Prim.
Entrada: G = (V, E), u V
V (T ) := {u}, E(T ) :=
while V (T ) 6= V
Aadir a E(T ) una de las aristas de menor peso incidente con un
vrtice de V (T ) (y slo uno) y aadir su extremo a V (T )
Salida: (V (T ), E(T ))
Algoritmo de Kruskal
Entrada: G = (V, E), u V .
V (T ) := {u}, E(T ) :=
while V (T ) 6= V
Aadir a E(T ) la arista de menor peso siempre que no forme
un circuito con las aristas de E(T ) y aadir sus extremos a V (T ).
Salida: (V (T ), E(T )).
Es importante observar que, mientras que en el algoritmo de Prim el grafo
T = (V (T ), E(T )) es un rbol en todo momento de su construccin, en el
de Kruskal slo podemos asegurar que lo es cuando termina el algoritmo, ya
que en cada paso no es necesariamente conexo.
258
CAPTULO 5. GRAFOS
disear una red de comunicaciones de mnimo coste que conecte todos los
ordenadores representados en el grafo de la gura 5.28.
5.11. EJERCICIOS
259
La historia de este teorema es bastante curiosa, pues a lo largo de la historia han ido apareciendo demostraciones falsas y contraejemplos incorrectos
al teorema. Referimos al lector interesado a la seccin 7.8 de [R].
5.11
Ejercicios
Ejercicio 131. Dibujar un grafo que represente las distintas aulas y dependencias (hall, etc...) del edicio en que se imparte clase, poniendo una arista
entre cada par de dependencias que estn comunicadas.
260
CAPTULO 5. GRAFOS
Ejercicio 134. Determinar si existe algn grafo simple con 7 vrtices cuyos
grados sean 3, 2, 2, 4, 3, 5, 4. Determinar tambin si existe algn grafo simple
con 5 vrtices cuyos grados sean 3, 2, 2, 4, 3.
0 2
2 0
2 1
2 1
2
1
0
1
2
1 3
3 0
1
,
1 2 1
0
0 2
2
1
0
1
2
,
0
0
3
0
0
1
0
0
0
1
2
1
0
1
1
2
1
1
0
1
1
1
1
1
0
Ejercicio 138. Disear un algoritmo cuya entrada sea la matriz de adyacencia de un grafo y que permita determinar el nmero de aristas de un grafo.
Estudiar su complejidad.
Ejercicio 139. Disear un algoritmo cuya entrada sea la matriz de adyacencia de un grafo y que permita determinar si el grafo es o no euleriano.
Estudiar su complejidad.
0 1 0 0
1 0 1 0
0 1 0 1
0 0 1 0
1 0 0 1
0 1 0 0
es la siguiente:
1 0
0 1
0 0
1 0
0 0
0 0
261
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
5.12
Ejercicios resueltos
262
CAPTULO 5. GRAFOS
Sea
C6 = ({1, 2, 3, 4, 5, 6}, {{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 6}, {6, 1}}).
Tomamos 1 V1 entonces 2, 6 V2 . De este modo 3, 1 V1 . As V1 =
{1, 3, 5} y V2 = {2, 4, 6} cumplen las condiciones para que C6 sea bipartido.
Ejercicio 111. Basta tomar 2 rectas paralelas, sobre una de ellas marcar 2
G = ({a, b, c, d, e}, {{a, b}, {c, b}, {c, d}, {d, e}, {a, e}})
G0 = ({a, b, f }, {{a, b}, {f, b}, {a, f }})
De modo que G G0 es el grafo representado:
G G0 = ({a, b, c, d, e, f }, {{a, b}, {c, b}, {c, d}, {d, e}, {a, e}, {f, b}, {a, f }})
263
vrtice est conectado con todos los dems. Tienen el mximo de aristas
posibles en un grafo de 4 vrtices. Por tanto, son isomorfos.
El grafo K1,3 tiene un vrtice conectado con los otros 3 que estn desconectados entre s. No puede ser isomorfo a los otros dos grafos.
Ejercicio 116. Los de la gura 5.14 son isomorfos ya que ambos se pueden
Ejercicio 117. K4 :
0
1
A=
1
1
C4 :
0
1
A=
0
1
1
0
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
264
CAPTULO 5. GRAFOS
0 1 1 1
1 0 1 1
A=
1 1 0 1
1 1 1 0
K3,2 : un cierto conjunto de tres vrtices (v1 , v2 y v3 ) est conectado con
todos los elementos de un conjunto de dos vrtices (v4 y v5 ). Entonces
0 0 0 1 1
0 0 0 1 1
0
0
0
1
1
A=
1 1 1 0 0
1 1 1 0 0
A=
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
1
0
0 1 0 0 1 1
1 0 1 0 0 1
0 1 0 1 0 0
0 0 1 0 1 0
0 0 1 0 0 0
1 1 0 0 0 0
1) n2 + 1 asignaciones,
2) un bucle que se repite n 1 veces en el que se hacen
265
- dos asignaciones,
- elevar una matriz a la potencia j , lo que equivale a multiplicarla por
s misma j veces. Multiplicar dos matrices n n supone, por cada la y
columna que se multiplican, n productos y n 1 sumas; es decir, un total
de n2 (2n 1) operaciones. En conclusin, elevar la matriz a la potencia j
supone jn2 (2n 1) operaciones.
- una suma de dos matrices nn, lo que supone n2 sumas (de los elementos
de ambas matrices).
- la suma j + 1.
P
2
5
En total se realizan 3 + n2 + n1
j=1 jn (2n 1) O(n ).
3) La vericacin de si los n2 elementos de la matriz B son o no son cero.
Total: n2 operaciones.
El algoritmo tiene por tanto complejidad quntica.
Ejercicio 120. Una cha de domin con dos valores (el 3 y el 5, por ejemplo)
se puede ver como una arista entre dos vrtices (v3 y v5 en el ejemplo).
Juntar dicha cha con otra en una jugada de domin (por ejemplo, con la
que tiene un 5 y un 1) equivale a considerar un camino en el grafo (por
ejemplo v3 , v5 , v1 ). Con este esquema, una serie de jugadas de domin no es
ms que un camino en el grafo completo K7 . Dicho grafo es conexo, tiene
7 vrtices y el grado de cada vrtice es 6 (excluyendo las chas dobles, que
son lazos y no dan ningn problema), un nmero par. Podemos garantizar
entonces la existencia de al menos un circuito euleriano. En otras palabras,
tenemos garantizado que es posible encajar todas las piezas de domin.
Ejercicio 121. De los cuatro vrtices del grafo que representara a los puentes, tres tienen grado tres y el otro tiene grado cinco. Por tanto, no puede
haber ni circuitos ni caminos eulerianos.
Ejercicio 122. Si al grafo H le quito los dos vrtices de grado 4 que tiene
y sus aristas incidentes, nos quedan tres componentes conexas. Por tanto, el
grafo no puede ser hamiltoniano.
266
CAPTULO 5. GRAFOS
267
268
CAPTULO 5. GRAFOS
sensata: 10110100110111010111010
269
Ejercicio 130. Los tres grafos son planos como se puede ver en la gura
5.37.
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
{{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {1, 7},
270
CAPTULO 5. GRAFOS
271
272
CAPTULO 5. GRAFOS
273
{2, 3}, {2, 4}, {2, 5}, {2, 6}, {2, 7},
{3, 4}, {3, 5}, {3, 6}, {3, 7}, {4, 5}, {4, 6}, {4, 7},
{5, 6}, {5, 7}, {6, 7}}
Por tanto una
1 1 1
1 0 0
0 1 0
0 0 1
0 0 0
0 0 0
0 0 0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
{{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 1}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}
Siguiendo este orden de vrtices tenemos
cias e incidencias respectivamente:
0 1 0 0
1 0 1 0
0 1 0 1
0 0 1 0
1 0 0 1
1 1 1 1
1
1
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
0
0
1
1
{{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {1, 7}}
274
CAPTULO 5. GRAFOS
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
275
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0
1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0
0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0
0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0
0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0
0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0
0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0
0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0
0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1
0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1
0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0
276
CAPTULO 5. GRAFOS
({a, b, c, d, e}, {{a, b}, {a, c}, {a, d}, {a, e}, {b, c}, {c, e}, {d, e}})
donde gr(a) = 4, gr(b) = 2, gr(c) = 3, gr(d) = 2 y gr(e) = 3.
({1, 2, 3, 4}, {{1, 2}, {2, 3}, {3, 1}, {1, 4}, {2, 4}, {3, 4}}).
En ambos casos se tienen como subgrafos los grafos cuyo conjunto de
aristas es vaco. Es decir, de la forma (A, ) donde A es un subconjunto
cualquiera de V (respectivamente de V 0 ). Hay 27 y 24 grafos de este tipo
respectivamente.
Si tomamos dos vrtices, los nuevos grafos no seleccionados en el prrafo
anterior se construyen tomando el par de vrtices y la arista que los une.
Entonces hay tantos como aristas, esto es, 6 en cada caso.
Si tomamos tres vrtices y no son de los del primer prrafo entonces
pueden tener 1 dos aristas. Si tienen 2 aristas, estas necesariamente deben
tener un extremo en comn. Para construir un grafo con 3 vrtices y una
arista se toma una arista, sus extremos y otro vrtice cualquiera distinto de
sus extremos. En el primer caso hay 6*5=30 de estos grafos, en el segundo
12. Para construir un grafo con dos aristas y 3 vrtices, hay que tomar dos
aristas que compartan un extremo y sus tres vrtices. En el primer caso cada
par de aristas comparten el extremo 10 por tanto hay 62 de estos grafos. En
el segundo caso, como cada vrtice tiene grado 3 el nmero de grafos de este
tipo que comparten un vrtice jado es 3. De este modo hay 12 grafos de
este tipo.
Si tomamos 4 vrtices, en el segundo de los casos estamos tomando todos
los vrtices, de modo que como conjunto de aristas se puede tomar cualquier
subconjunto del conjunto de sus aristas. As hay 26 1 (el vaco ya lo hemos
considerado) grafos de este tipo.
Con cuatro vrtices en el primero de los casos son del siguiente tipo. Si
no contienen al 10 ya estn considerados pues el conjunto de aristas es vaco.
277
6
contienen. As de este tipo hay 7 3 grafos de este tipo.
0
Del mismo modo para 5 vrtices. Deben contener al
61 y se pueden tomar
1,2,3 4 de las aristas que tienen. Hay entonces 15 4 .
Con 6 vrtices, deben contener al 10 y hay que tomar de 1 a 5 de las
aristas que contienen, hay (25 1) 6.
Con 7 vrtices hay que considerar cualquier subconjunto del conjunto de
aristas (salvo el vaco que ya est considerado). Entonces hay 26 1 grafos
de este tipo.
Ejercicio 137. Basta escribir tantos puntos como las (o columnas) tenga
Ejercicio 138. Se considera la matriz como una lista con dos subndices.
Se usa el teorema por el que la suma de los grados de los vrtices es 2 veces
el nmero de aristas. Como el grado de un vrtice es el nmero de vrtices
adyacentes con l, entonces el grado del vrtice i-simo es la suma de los
elementos de la la i-sima de la matriz de adyacencias del grafo.
Entrada: a11 , ..., ann
S := 0
For i = 1 to n
For j = 1 to n
S := S + aij
Salida: S/2.
Si el tamao de la entrada es n, el nmero de vrtices del grafo, la complejidad es cuadrtica pues el bucle interior se repite n veces cada vez que i
278
CAPTULO 5. GRAFOS
Ejercicio 139. Primero hay que comprobar que todas las aristas del grafo
estn en la misma componente conexa (ver prctica de Maple). Una vez
hecho esto vamos computando los grados de cada vrtice y viendo si es par
o no.
Entrada: a11 , ..., ann
S := 2
For i = 1 to n while Smod2 = 0
S := 0
For j = 1 to n
S := S + aij
If Smod2 = 0 then R :=Es euleriano else R :=No es euleriano.
Salida: R.
Considerando n el tamao de la entrada y sin considerar el problema de
la conexin, el algoritmo es de complejidad cuadrtica, pues hay dos bucles
anidados que se realizan n veces cada uno y en cada repeticin efectan una
cantidad constante de operaciones.
279
Ejercicio 141. El grafo G tiene dos componentes conexas, la que forman los
280
CAPTULO 5. GRAFOS
Captulo 6
Relaciones
En este captulo retomaremos, tras el conocimiento adquirido de la teora
de grafos, el concepto de relacin, iniciado en el captulo tercero. Como ya
sealamos all y en la asignatura de Bases de Matemticas, tanto las relaciones de equivalencia como las relaciones de orden son muy importantes en el
desarrollo de las matemticas. La denicin de nmero racional, la ordenacin usual que se establece en el conjunto de los nmeros naturales (donde
cada conjunto tiene mnimo) y en el conjunto de los nmeros reales (donde
cada conjunto acotado tiene supremo e nmo), la aritmtica modular... son
conceptos fundamentales en los que est involucrada la nocin de relacin.
Tambin las funciones son un caso especial de relaciones y su estudio se revela como fundamental en el Anlisis Matemtico, en las conexiones de las
matemticas con la fsica... Por otro lado, las relaciones tambin tienen su
aplicacin en la informtica, por ejemplo en las bases de datos relacionales y
en problemas relativos a clasicacin.
Se pretende que al nalizar el captulo el alumno:
Conozca las propiedades de una relacin de equivalencia y de una relacin de orden y sepa discernir si una relacin dada es o no de uno de
estos tipos.
Sepa representar una relacin mediante un grafo dirigido y analizar
propiedades de la relacin mediante la matriz de adyacencias del digrafo
asociado.
Pueda calcular la clausura (reexiva, simtrica) transitiva de una relacin.
281
282
CAPTULO 6. RELACIONES
283
Observacin 6.1.5 En general usaremos la notacin (o ) para las relaciones de orden y la notacin para las relaciones de equivalencia.
Ejemplos 6.1.6 i) Como ya sealamos en el captulo tercero, los nmeros
naturales admiten una relacin de orden total que viene denida por: dados
a, b N se dice que b a si o bien b = a o bien existe un nmero natural c
tal que b = a + c.
ii) Tambin vimos que los nmeros enteros admiten una relacin de orden
total que es una extensin natural de la relacin denida en los nmeros
naturales: a b si y solamente si b a N+ {0}.
iii) Los nmeros reales admiten una relacin de orden total denida por
la existencia de la semirrecta real positiva R+ , (un subconjunto de R con las
propiedades de que para cada a R no nulo o bien a o bien a pertenece a
R+ ; si a, b R+ entonces a + b R+ , ab R+ y 0
/ R+ ) de modo que a b
si y solamente si b a R+ {0}.
iv) Sea el conjunto F = {r/s : r, s Z s 6= 0}. La relacin que se dene
como r/s u/v si y solamente si rv = su es una relacin de equivalencia
en F .
v) En el conjunto de los nmeros enteros hemos denido la relacin de
equivalencia mdulo p: a b mod p si y solamente si a b es un mltiplo de
p.
vi) Dados dos conjuntos A y B , una funcin de A en B es una relacin
R A B con las propiedades: el dominio de R es A; para cada elemento
a A existe un nico elemento b B tal que (a, b) R.
a = {b A : b a}.
284
CAPTULO 6. RELACIONES
A/ = {a : a A}.
R = {(a, a), (b, b), (c, c), (d, d), (a, b), (a, c), (b, c)}.
iii) Sea Z {0} y la relacin aRb si y solamente si el signo de a es igual
al signo de b.
iv) Sea el conjunto R y la relacin aRb si y solamente si a b Z.
Vamos a centrarnos, de ahora en adelante, en relaciones denidas en
conjuntos nitos. Veremos distintas formas de representarlas mediante tablas
o grafos.
6.2
285
Representacin de relaciones
= {(a, a) : a A}
est contenida en la grca.
La relacin es simtrica si la grca es simtrica con respecto a dicha
diagonal.
La relacin es antisimtrica si no existen pares de puntos de la grca
simtricos con respecto a la diagonal y fuera de ella.
R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)}.
Su tabla es la representada en la Figura 6.1.
Y sobre ella se ve claramente que es reexiva y antisimtrica.
ii) Sea en el conjunto N4 la relacin siguiente:
S = {(1, 1), (1, 2), (2, 1), (1, 4), (4, 1), (2, 3), (3, 2), (3, 3), (3, 4), (4, 3)}.
Su tabla es la representada en la Figura 6.2.
Y sobre ella se ve claramente que es simtrica y que no es reexiva.
286
CAPTULO 6. RELACIONES
y 2
2
x
287
y 2
2
x
288
CAPTULO 6. RELACIONES
(N4 , {(1, 1), (1, 2), (2, 1), (1, 4), (4, 1), (2, 3), (3, 2), (3, 3), (3, 4), (4, 3)}).
Sobre el grafo la propiedad reexiva consiste en la existencia de un lazo
sobre cada vrtice.
La propiedad simtrica consiste en que cada par de vrtices adyacentes
presentan dos aristas (una en cada sentido) que los conectan.
La propiedad antisimtrica consiste en que cada par de vrtices adyacentes
distintos slo presentan una arista que los conecta.
La propiedad transitiva consiste en que cada dos vrtices unidos por un
camino dirigido de longitud dos son necesariamente adyacentes.
En el ejemplo i) se ve que es reexiva (un lazo sobre cada vrtice) y antisimtrica (no hay dos vrtices conectados por dos aristas).
En el ejemplo ii) se ve que es simtrica (dos aristas entre cada par de
vrtices conectados) y no es reexiva (por ejemplo el vrtice 2 no es adyacente
con l mismo).
289
Denicin 6.2.4 Dada una relacin R en un conjunto A se dene una matriz asociada a la relacin M como una matriz de adyacencias del grafo
dirigido asociado a la relacin.
1
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
Ejercicio 145 Computar las matrices de adyacencias de los grafos del ejer-
cicio 144.
290
CAPTULO 6. RELACIONES
Ejercicio 146 Comprobar si las relaciones del ejercicio 144 son transitivas
mediante esta caracterizacin de la transitividad.
6.3. CLAUSURAS
291
Cr = R .
La matriz del grafo asociado a Cr es simplemente cambiar los ceros de la
diagonal de la matriz M de R por unos.
292
CAPTULO 6. RELACIONES
Ejercicio 147 Dadas las relaciones del ejercicio 144 que no son reexivas
computar su clausura reexiva.
Cs = R S.
La matriz del grafo asociado a Cs se obtiene tomando la matriz del grafo
asociado a R, digamos M , sumando esta matriz con su traspuesta M t , esto
es N = M + M t y construyendo una matriz que tenga un uno donde N tiene
un elemento no nulo y un cero donde N tiene un cero.
Ejercicio 148 Dadas las relaciones del ejercicio 144 que no son simtricas
6.3. CLAUSURAS
293
Ct = T,
donde T es el conjunto de pares (a, b) de modo que existe un camino en el
grafo asociado G uniendo a con b.
Recordamos ahora una observacin que ya comentamos en el captulo
anterior (observacin 5.6.12), consecuencia directa del Principio del Palomar:
For i = 2 to n
M := M + M i
Salida: Ct que es una matriz n n con un uno donde M tiene una
entrada no nula y con un 0 donde M tiene un cero.
Observemos que la complejidad de este algoritmo es curtica. El producto
de dos matrices n n necesita 2n3 operaciones. En efecto al multiplicar una
294
CAPTULO 6. RELACIONES
Ejercicio 149 Dadas las relaciones del ejercicio 144 que no son transitivas
computar su clausura transitiva.
Ejercicio 150 Entendiendo una matriz como una lista de nmeros con dos
6.3. CLAUSURAS
295
(k)
1 1 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 1
W1 =
0 0 0 0 0 0
0 0 0 0 0 0
1 1 0 0 1 1
Para analizar la complejidad del algoritmo debemos aportar algun mtodo
para construir las matrices Wk . La siguiente observacin obvia es la que
permite construir Wk a partir de la matriz anterior Wk1 .
296
CAPTULO 6. RELACIONES
Por tanto se tiene que
(
wij k) = 1
(k1)
(wij
(k1)
= 1) (wik
(k1)
= 1 = wkj
).
Ejercicio 151 Dadas las relaciones del ejercicio 144 que no son transitivas
297
grafo de la relacin. Borramos los lazos y las aristas que son consecuencia de
la propiedad transitiva, que son (1, 3), (1, 4) y (2, 4). Por tanto el diagrama
de Hasse es una recta vertical y est dibujado en la Figura 6.3.
ii) Sea el conjunto B = {a, b} y denimos la relacin en el conjunto de
las partes de B , denotado P (B). Se puede comprobar que es una relacin de
orden parcial. El diagrama de Hasse asociado a la relacin queda dibujado
en la Figura 6.4.
298
CAPTULO 6. RELACIONES
Observacin 6.4.4 El conjunto de los elementos maximales (resp. minimales) no es necesariamente unitario, como se puede ver en el siguiente
ejemplo.
299
a A.
Un elemento m A es un mnimo si m a para cada a A.
300
CAPTULO 6. RELACIONES
6.5, con dos elementos maximales y dos minimales, no tiene mximo ni mnimo. Por ejemplo, 1 no es un mnimo porque no se verica que 1 4, de
hecho 1 y 4 no son comparables.
R = {(f, a), (a, c), (c, e), (c, d), (f, b), (b, d)}.
Calcular los elementos minimales, los maximales, el mximo y el mnimo
si existen.
Tomando B = {a, b, c, d} A calcular el conjunto de cotas superiores de
B , el de cotas inferiores, y el supremo y el nmo, si existen.
En la asignatura de Bases de Matemticas hemos visto consecuencias fundamentales para el anlisis de una variable real de la estructura de conjunto
totalmente ordenado de (R, ). Tambin, en el captulo 3, hemos usado las
propiedades de ordenacin en el conjunto de los nmeros enteros (Z, ) para
el teorema de la divisin entera. Ambos conjuntos son totalmente ordenados
y no nitos. En la siguiente seccin vamos a presentar algunas aplicaciones
de los conjuntos nitos totalmente ordenados y un algoritmo para, dado un
conjunto parcialmente ordenado, construir una relacin de orden total que
contenga la relacin de orden parcial.
301
C = {M I, M II, F }
con una relacin de orden parcial
M I M I, M I M II, M II M II, F F.
Las distintas maneras de cursar estas asignaturas corresponden a los distintos
rdenes totales de que se puede dotar a C respetando el orden parcial.
Estos rdenes totales son:
M I M II F
M I F M II
F M I M II.
Esto es, de las posibles 6 permutaciones del conjunto de las tres asignaturas,
elegimos una de las tres en que M I precede a M II .
Por tanto abordamos este problema general, que se puede aplicar a la
planicacin de tareas:
302
CAPTULO 6. RELACIONES
a1 a2 a3 ... an
R = {(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (1, 2), (1, 3), (2, 3), (1, 4), (1, 5), (4, 5)}.
Elegimos un elemento minimal, que en el primer caso es necesariamente
x1 = 1. Despus en el conjunto A{1} tenemos la relacin de orden inducida
R1 = {(2, 2), (3, 3), (4, 4), (5, 5), (2, 3), (4, 5)}.
Elegimos un elemento minimal entre los dos posibles candidatos que son el
2 el 4. Tomemos x2 = 2. En el conjunto A {1, 2} tenemos un orden
inducido:
R1 = {(3, 3), (4, 4), (5, 5), (4, 5)}.
Tomamos x3 = 3 (tambin podamos elegir el 4). Continuando el proceso
x4 = 4 y x5 = 5. Por tanto el orden total es:
1 2 3 4 5.
Obsrvese que podramos haber elegido de otra manera los xi para obtener
un orden total distinto, tambin compatible con el orden parcial con el que
comenzamos.
6.5. EJERCICIOS
303
Ejercicio 154 Se tiene que montar una cadena de montaje de una pieza
6.5
Ejercicios
o de equivalencia:
i) Sea el conjunto N7 y la relacin aRb si a + b < 9.
ii) Sea el conjunto R de las rectas del plano y la relacin de paralelismo,
esto es, rRr0 si r y r0 son paralelas.
iii) Sea el conjunto A = {a, b, c, d, 1, 2, 3}. En l denimos una relacin
por la cual dados m, n A mRn si o bien m y n son ambos nmeros o bien
m y n son ambos letras.
iv) Sea el conjunto B = {1, 2, 3, 4, 7, 8, 90}. En l denimos la siguiente
relacin S , aSb si 3a > b.
Ejercicio 157. En las relaciones del ejercicio 155 denidas sobre conjuntos
nitos que no sean reexivas (respectivamente simtricas, respectivamente
transitivas) calcular su clausura reexiva (respectivamente simtrica, respectivamente transitiva).
{1, 2, 3, 4, 5, 6}
como:
304
CAPTULO 6. RELACIONES
R = {(, ), (, ), (, ), (, )}.
Construir la clausura reexiva y transitiva de R y vericar que es una relacin
de orden. Representar su diagrama de Hasse y construir una relacin de orden
total que contenga a R.
Ejercicio 143.
305
306
CAPTULO 6. RELACIONES
Ejercicio 144.
R = {(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (1, 10),
(2, 2), (2, 4), (2, 6), (2, 8), (2, 10), (3, 3), (3, 6), (3, 9), (4, 4), (4, 8), (5, 5), (5, 10)
(6, 6), (7, 7), (8, 8), (9, 9), (10, 10)}
La tabla asociada consiste en representar los puntos de R en un plano
coordenado.
El digrafo asociado es:
(N10 , R).
iii) La relacin es:
R = {(, ), (, N1 ), (, N2 ), (, N3 ), (, N4 ), (, N5 ), (N1 , N1 ),
(N1 , N2 ), (N1 , N3 ), (N1 , N4 ), (N1 , N5 ),
(N2 , N2 ), (N2 , N3 ), (N2 , N4 ), (N2 , N5 ), (N3 , N3 ), (N3 , N4 ),
(N3 , N5 ), (N4 , N4 ), (N4 , N5 ), (N5 , N5 )}
La tabla asociada consiste en representar los puntos de R en un plano
coordenado, tomando como coordenadas los subndices (el 0 para el conjunto
vaco). El digrafo asociado es:
(A, R).
307
Ejercicio 145.
0 0 0 0 0
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
ii)Tomamos N10 ordenado de la
1 1 1 1
0 1 0 1
0 0 1 0
0 0 0 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
iii) Tomamos A ordenado de
1
0
0
0
forma usual.
1
0
0
0
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
1
1
0
1
1 1 1 1 1
1 1 1 1 1
0 1 1 1 1
0 0 1 1 1
0 0 0 1 1
0 0 0 0 1
0 0 1 1
0 1 0 0
0 0 1 1
0 0 0 1
308
CAPTULO 6. RELACIONES
{(2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (8, 1), (9, 1), (10, 1),
(4, 2), (6, 2), (8, 2), (10, 2), (6, 3), (9, 3), (8, 4), (10, 5)}.
La relacin iii) no es simtrica, su clausura simtrica es A A.
La relacin iv) no es simtrica, hay que unirle los elementos (c, a), (d, c)
y (a, d).
Ejercicio 150.
309
Si la entrada es: a11 , a12 , ..., a1n , ..., bn1 , ..., bnn .
La correspondiente salida se dene como una matriz de entradas cij donde:
0
0
W0 =
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
310
CAPTULO 6. RELACIONES
2
por tanto se tiene w55
= 1.
0
0
W2 =
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0 0 0 0 0
0 0 0 0 1
0
0
0
1
0
W3 =
0 0 1 1 0
0 1 0 1 1
La matriz W4 tiene un uno donde W3 tenga un uno y adems se verica que
4
3
3
3
3
wij
= 1 si wi4
= 1 = w4j
. Esta condicin se verica slo en w34
= 1 = w43
,
4
por tanto se tiene w33 = 1.
0 0 0 0 0
0 0 0 0 1
W4 =
0 0 1 1 0
0 0 1 1 0
0 1 0 1 1
La matriz W5 tiene un uno donde W4 tenga un uno y adems se verica que
5
4
4
4
4
wij
= 1 si wi5
= 1 = w5j
. Esta condicin se verica slo en w25
= 1 = w52
,
5
por tanto se tiene w22 = 1.
0 0 0 0 0
0 1 0 0 1
0
0
1
1
0
W5 =
0 0 1 1 0
0 1 0 1 1
Se observa como se han introducido 4 unos en la diagonal correspondientes
a los elementos (2, 2), (3, 3), (4, 4), (5, 5) que son los elementos que hay que
unir a R para tener la transitividad.
311
Cr = {(a, a), (b, b), (c, c), (d, d), (e, e), (a, c), (c, e), (c, d), (b, d)}.
Para computar la clausura transitiva observamos que (a, c), (c, e) Cr por
tanto debemos unir (a, e). De igual modo (a, c), (c, d) Cr por tanto debemos
unir (a, d). Es una comprobacin demostrar la siguiente igualdad, siendo Ct
la clausura transitiva de Cr :
Ct = {(a, a), (b, b), (c, c), (d, d), (e, e), (a, c), (c, e), (a, e), (c, d), (a, d), (b, d)}.
Ejercicio 153. Para calcular la clausura reexiva hay que unir todos los
Ct = {(a, a), (a, c), (a, d), (a, e), (b, b), (b, d), (c, c), (c, d), (c, e),
(d, d), (e, e), (f, a), (f, b), (f, c), (f, d), (f, e), (f, f )}.
En efecto, la matriz que lo representa es:
1 0 1 1
0 1 0 1
0 0 1 1
A=
0 0 0 1
0 0 0 0
1 1 1 1
1
0
1
0
1
1
0
0
0
.
0
0
1
1 0 2 3 3 0
0 1 0 2 0 0
0 0 1 2 2 0
2
A =
0 0 0 1 0 0 .
0 0 0 0 1 0
2 2 3 5 4 1
312
CAPTULO 6. RELACIONES
Viendo su diagrama de Hasse (ver Figura 6.7) se tiene que hay dos elementos
maximales que son d y e y por tanto no hay mximo. Hay un elemento
minimal f que es adems el mnimo. El elemento d es cota superior de B y
es adems la nica, por tanto es el supremo. La nica cota inferior es f que
por tanto es el nmo de B .
Ejercicio 154. Representamos cada una de las tareas por su inicial (ensamblar con la E y empaquetar con la e):
T areas = {E, a, p, e, l, r}
Las prioridades son:
E a, a p, p e, l p.
Y haciendo su clausura reexiva y transitiva dan un orden parcial:
{(E, a), (a, p), (E, p), (p, e), (E, e), (a, e), (l, p), (l, e)
(E, E), (a, a), (p, p), (e, e), (l, l), (r, r)}.
El orden total que completa este orden parcial (ver diagrama de Hasse en la
Figura 6.8) se va construyendo de la siguiente manera. Se elige un elemento
313
(a, a), (p, p), (e, e), (l, l), (r, r)}.
Ahora elegimos un elemento minimal a y el conjunto resultante de quitar el
elemento a, con el orden inducido. As sucesivamente obtenemos, por ejemplo
(la eleccin del elemento minimal no es nica as que hay varias maneras de
hacerlo):
E a l p e r.
Ejercicio 155.
R = {(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (2, 1), (2, 2), (2, 3), (2, 4),
(2, 5), (2, 6), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (4, 1), (4, 2), (4, 3), (4, 4),
314
CAPTULO 6. RELACIONES
(5, 1), (5, 2), (5, 3), (6, 1), (6, 2), (7, 1)}
ii) La relacin de paralelismo es reexiva (toda recta es paralela a s
misma) simtrica (si r es paralela a r0 entonces r0 es paralela a r) y transitiva
(si r es paralela a r0 y r0 lo es a r00 entonces r es paralela a r00 ). De este modo
es una relacin de equivalencia.
Podemos tomar como representante en cada clase de equivalencia la recta
que pasa por el origen, y entonces el conjunto cociente se puede identicar
con la semicircunferencia unidad, viendo cada recta como el nico punto
de corte con dicha semicircunferencia. Esto es el suconjunto del plano real
denido como {(x, y) : x2 + y 2 = 1, x 0} {(1, 0)}.
iii) La relacin es reexiva ya que la cualidad de ser nmero o letra la
comparte cada elemento de A consigo mismo. Es simtrica porque si m, n
A son ambos nmeros (respectivamente ambos letras) entonces la misma
propiedad la tienen n, m A. De igual manera es transitiva. Por tanto es
una relacin de equivalencia. El conjunto cociente A/R es un conjunto de
dos elementos, la clase de los nmeros y la clase de las letras.
iv) La relacin es reexiva porque 3a > a para cada nmero natural, en
particular para cada elemento de B . No es antisimtrica ya que, por ejemplo,
1S2 ya que 3 > 2 y 2S1 ya que 6 > 1. No es simtrica ya que, por ejemplo,
90S1 pero 3 1 < 90. Por tanto no es de equivalencia ni de orden. La
relacin es:
S = {(1, 1), (2, 2), (3, 3), (4, 4), (7, 7), (8, 8), (90, 90), (1, 2), (2, 1), (2, 3),
(2, 4), (3, 1), (3, 2), (3, 3), (3, 4), (3, 7), (4, 1), (4, 2), (4, 3), (4, 7), (4, 8), (4, 90),
(7, 1), (7, 2), (7, 3), (7, 4), (7, 8), (7, 90), (8, 1), (8, 2), (8, 3),
(8, 4), (8, 7), (90, 1), (90, 2), (90, 3), (90, 4), (90, 7), (90, 8), (90, 90)}.
Ejercicio 156.
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 0
1 1 0 0
1 0 0 0
es
1
1
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
315
1 1 1 1 0 0 0
1 1 1 1 0 0 0
1 1 1 1 0 0 0
1 1 1 1 0 0 0
0 0 0 0 1 1 1
0 0 0 0 1 1 1
0 0 0 0 1 1 1
iv) El digrafo asociado es (B, S) y una matriz de adyacencias con el orden
en que est escrito B es:
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
(1, 3), (1, 4), (1, 7), (1, 8), (2, 4), (2, 7), (2, 8), (3, 8).
316
CAPTULO 6. RELACIONES
Ejercicio 159. De entre todas las rectas paralelas (en la misma clase de
equivalencia) elegimos la que pasa por el origen. Por tanto podemos identicar cada clase de equivalencia con el ngulo que forma dicha recta con el eje
de abscisas, esto es, con el intervalo [0, 180) R.
Ejercicio 160. La matrix de R es:
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
Cr =
0
0
es:
1
1
0
0
1
0
1
0
0
0
1
1
2
1
0
0
2
0
1
0
1
0
0
1
Como
0
Cr2 =
0
0
1 1 1 1
0 1 0 0
0 0 1 0 ,
0 0 0 1
pues esta matriz al cuadrado no tiene entradas no nulas nuevas.
Una relacin de orden total que la completa podra ser:
317
318
CAPTULO 6. RELACIONES
Captulo 7
Controles y exmenes resueltos
En esta seccin coleccionamos controles y exmenes resueltos de cursos anteriores, como un instrumento til para el estudio de la asignatura.
319
320
Matemtica Discreta
Control 1
1999-2000.
n(n + 1)(2n + 1)
6
2. Construye un algoritmo que indique si en una lista de nmeros enteros
hay dos repetidos. Estudia su complejidad.
12 + 22 + 32 + ... + (n 1)2 + n2 =
321
Matemtica Discreta
Control 1 resuelto
1999-2000.
12 + 22 + 32 + ... + (n 1)2 + n2 =
n(n + 1)(2n + 1)
6
123
6
Debemos ahora probar que si es cierta para n lo es para n + 1.
La igualdad que queremos probar es:
12 = 1 =
(n + 1)(n + 2)(2n + 3)
6
Por hiptesis de induccin obtenemos que:
12 + ... + n2 + (n + 1)2 =
n(n + 1)(2n + 1)
+ (n + 1)2 .
6
Y ya no tenemos ms que operar el segundo trmino de la igualdad anterior
y comprobar que es exactamente
12 + ... + n2 + (n + 1)2 =
(n + 1)(n + 2)(2n + 3)
.
6
2. Construye un algoritmo que indique si en una lista de nmeros enteros
hay dos repetidos. Estudia su complejidad.
Entrada: a1 , ..., an
s := 0
for i = 1 to n while s = 0
for j = i + 1 to n while s = 0
if ai = aj then s := 1
if s = 0 then r :=no else r :=s
Salida: r
322
323
Matemtica Discreta
Control 2 A
1999-2000.
x 3(mod 5)
x 5(mod 7) .
x 9(mod 11)
a) El sistema no tiene solucin
b) 393
c) 383
3. Sea un conjunto A de 10 elementos. Construimos el conjunto B de los
subconjuntos de A. El conjunto de los subconjuntos de B tiene:
a) 210 elementos
10
b) 22 elementos
210
c) 22 elementos
4. El nmero de palabras de 5 letras (en un alfabeto de 28 letras) que
empiezan y terminan por vocal es:
a) 52 283
b) 5 4 28 27 26
c) 5 4 283
5. Con las variables x e y se pueden construir monomios homogneos de grado
n, es decir, expresiones de la forma xa y b con a y b nmeros enteros positivos
(posiblemente 0) tal que a + b = n. El nmero de monomios distintos de
grado 17 es:
a) 18 17
b) 9 17
324
325
b) F es ms probable que E
c) Son igual de probables
13. Sean a y b dos nmeros enteros tales que mcd(a, b) = 1 entonces
a) mcd(a + b, a b) = 1 mcd(a + b, a b) = 3
b) mcd(a + b, a b) = 1 mcd(a + b, a b) = 2
c) mcd(a + b, a b) = 21 mcd(a + b, a b) = 3
14. El nmero 173
a) Es un nmero compuesto por 2 factores primos (distintos de
1)
b) Es un nmero compuesto por 3 factores primos (distintos de
1)
c) Es un nmero primo.
15. El mcd(234, 567) es
a) 3 y hacen falta 3 pasos en el algoritmo de Euclides para
saberlo
b) 9 y hacen falta 5 pasos en el algoritmo de Euclides para
saberlo
c) Son primos relativos y hacen falta 4 pasos en el algoritmo de
Euclides para saberlo.
326
Matemtica Discreta
Control 2 A resuelto
1999-2000.
x 3(mod 5)
x 5(mod 7) .
x 9(mod 11)
a) El sistema no tiene solucin
b) 393
c) 383
La respuesta correcta es la c). Como 5, 7 y 11 son primos entre s entonces
el sistema tiene solucin nica mdulo 5 7 11 = 385 y se comprueba que
c) es una solucin.
3. Sea un conjunto A de 10 elementos. Construimos el conjunto B de los
subconjuntos de A. El conjunto de los subconjuntos de B tiene:
a) 210 elementos
10
b) 22 elementos
210
c) 22
elementos
327
b) 5 4 28 27 26
c) 5 4 283
La respuesta correcta es la a). Los factores 5 corresponden a las vocales
(en el primer y ltimo lugar) y los factores 28 a las letras intermedias. Si no
se indica lo contrario, las palabras pueden presentar letras repetidas.
5. Con las variables x e y se pueden construir monomios homogneos de grado
n, es decir, expresiones de la forma xa y b con a y b nmeros enteros positivos
(posiblemente 0) tal que a + b = n. El nmero de monomios distintos de
grado 17 es:
a) 18 17
b) 9 17
c) 18
La respuesta correcta es la c). Una vez elegido a el nmero b est unvocamente determinado: b = 17 a. Por tanto se trata de ver cuntos posibles
valores puede tomar a. Como a puede ser cualquier nmero entre 0 y 17 se
tiene el resultado.
6. En una mesa redonda se reunen 5 comensales de manera que queremos
saber de cuntas maneras se pueden sentar si slo importa quin est al lado
de quin. El nmero de formas es:
a) 5!
b) 5!/4
c) 5!/5
La respuesta correcta es la c) pues el nmero total de maneras en que 5
comensales se sientan en una mesa redonda es 5! y hay que dividir por 5 pues
dada una disposicin de comensales hay 5 disposiciones (resultado de girar
un lugar a los comensales) en las que las posiciones relativas on las mismas.
7. La probabilidad de que al repartir 4 cartas en una baraja espaola la jugada sea un tro (es decir tres cartas con el mismo nmero y la otra diferente)
es:
a) (3 2 36)/(39 38 37)
b) (4 3 2 36)/(39 38 37)
c) (3 3 2 36)/(39 38 37)
La respuesta correcta es la b). La primera carta puede ser cualquiera. La
segunda carta debe ser igual a la primera, entonces se tiene una probabilidad
de 3/39. La tercera debe ser igual a la primera y a la segunda, por tanto, la
328
probabilidad es 2/38. La ltima carta debe ser distinta de las tres primeras,
por tanto 36/38. Entonces la probabilidad de obtener un tro siendo las
cartas iguales las tres primeras es:
(3 2 36)/(39 38 37).
El factor 4 proviene del hecho de que hay cuatro posibles elecciones de tres
cartas en un manojo de 4.
8. La probabilidad de que en un suceso de Bernoulli que se repite n veces
con probabilidad p de xito se obtengan a lo sumo 3 fracasos es:
a) n3 pn3
(1 p)3
329
La respuesta correcta es la a). Para ser mltiplo de 5 se ha de terminar
en 0 en 5. Por tanto las tres primeras cifras son libres y la cuarta debe ser
un 0 un 5. De este modo 103 2.
12. Sea el suceso E sacar un 8 al tirar dos dados. Sea el suceso F sacar un
8 al tirar tres dados.
a) E es ms probable que F
b) F es ms probable que E
c) Son igual de probables
La respuesta correcta es la b). Basta hacer un recuento de casos favorables
y posibles
13. Sean a y b dos nmeros naturales con a > b tales que mcd(a, b) = 1
entonces
a) mcd(a + b, a b) = 1 mcd(a + b, a b) = 3
b) mcd(a + b, a b) = 1 mcd(a + b, a b) = 2
c) mcd(a + b, a b) = 21 mcd(a + b, a b) = 3
La respuesta correcta es la b). Sea p = mcd(a + b, a b) escribimos:
a + b = ps
a b = pt
de modo que se tiene:
2a = p(s + t)
2b = p(s t).
Esto signica que p divide a 2a y a 2b entonces p divide al mcd(2a, 2b) lo que
quiere decir que o bien p = 2 o bien p divide a a y a b entonces p = 1.
14. El nmero 173
a) Es un nmero compuesto por 2 factores primos (distintos de
1)
b) Es un nmero compuesto por 3 factores primos (distintos de
1)
c) Es un nmero primo.
La respuesta correcta es la c). Como la raz de 173 es estrictamente menor
que 14 basta con probar con los nmeros primos: 2, 3, 5, 7, 11 y 13. Ninguno
de ellos lo divide.
330
331
Matemtica Discreta
Control 2 B
1999-2000.
x 2(mod 5)
x 4(mod 7) .
x 8(mod 11)
a) El sistema no tiene solucin
b) 382
c) 395
3. La probabilidad de que al repartir 4 cartas en una baraja espaola la jugada sea un tro (es decir tres cartas con el mismo nmero y la otra diferente)
es:
a) (3 2 36)/(39 38 37)
b) (4 3 2 36)/(39 38 37)
c) (3 3 2 36)/(39 38 37)
4. El conjunto de los nmeros primos es:
a) Un conjunto nito
b) Un conjunto no nito
c) No se sabe si es nito o no nito
5. Con las variables x e y se pueden construir monomios homogneos de grado
n, es decir, expresiones de la forma xa y b con a y b nmeros enteros positivos
(posiblemente 0) tal que a + b = n. El nmero de monomios distintos de
grado 17 es:
a) 18 17
b) 9 17
332
n
b) 3i=0 i pni (1 p)i
c) La misma que obtener a lo sumo 3 xitos.
9. Sea un conjunto B de cinco personas que miden respectivamente 1.70,
1.75, 1.76, 1.82, 1.94. Sea la variable aleatoria X que asigna a cada persona
de A su altura. El valor esperado E(X) es:
a) 1.80
b) la media aritmtica de las 5 alturas
c) 1.74
10. El nmero de cifras de 5 dgitos que son mltiplos de 5 es:
a) 18000
b) 19000
c) 20000
11. Sean a y b dos nmeros enteros tales que mcd(a, b) = 1 entonces
a) mcd(a + b, a b) = 1 mcd(a + b, a b) = 3
b) mcd(a + b, a b) = 1 mcd(a + b, a b) = 2
c) mcd(a + b, a b) = 21 mcd(a + b, a b) = 3
12. El nmero 179
a) Es un nmero compuesto por 2 factores primos (distintos de
1)
333
1)
334
Matemtica Discreta
Control 2 B resuelto
1999-2000.
x 2(mod 5)
x 4(mod 7) .
x 8(mod 11)
a) El sistema no tiene solucin
b) 382
c) 395
La respuesta correcta es la b). Como 5, 7 y 11 son primos entre s entonces
el sistema tiene solucin nica mdulo 5 7 11 = 385 y se comprueba que
b) es una solucin.
3. La probabilidad de que al repartir 4 cartas en una baraja espaola la jugada sea un tro (es decir tres cartas con el mismo nmero y la otra diferente)
es:
a) (3 2 36)/(39 38 37)
b) (4 3 2 36)/(39 38 37)
c) (3 3 2 36)/(39 38 37)
La respuesta correcta es la b). La primera carta puede ser cualquiera. La
segunda carta debe ser igual a la primera, entonces se tiene una probabilidad
de 3/39. La tercera debe ser igual a la primera y a la segunda, por tanto, la
probabilidad es 2/38. La ltima carta debe ser distinta de las tres primeras,
335
por tanto 36/38. Entonces la probabilidad de obtener un tro siendo las
cartas iguales las tres primeras es:
(3 2 36)/(39 38 37).
El factor 4 proviene del hecho de que hay cuatro posibles elecciones de tres
cartas en un manojo de 4.
4. El conjunto de los nmeros primos es:
a) Un conjunto nito
b) Un conjunto no nito
c) No se sabe si es nito o no nito
La respuesta correcta es la b). Si fuera nito, digamos p1 , ..., pn , entonces
el nmero entero p1 ... pn + 1 verica ser primo pues al dividir por
cualquier primo da de resto uno y no est en el conjunto de los primos (pues
es estrictamente mayor que cualquier pi ) lo que es una contradiccin.
5.Con las variables x e y se pueden construir monomios homogneos de grado
n, es decir, expresiones de la forma xa y b con a y b nmeros enteros positivos
(posiblemente 0) tal que a + b = n. El nmero de monomios distintos de
grado 17 es:
a) 18 17
b) 9 17
c) 18
La respuesta correcta es la c). Una vez elegido a el nmero b est unvocamente determinado: b = 17 a. Por tanto se trata de ver cuntos posibles
valores puede tomar a. Como a puede ser cualquier nmero entre 0 y 17 se
tiene el resultado.
6. El nmero de palabras de 4 letras (en un alfabeto de 28 letras) que
empiezan y terminan por vocal es:
a) 52 282
b) 5 4 28 27
c) 5 4 282
La respuesta correcta es la a). Los factores 5 corresponden a las vocales
(en el primer y ltimo lugar) y los factores 28 a las letras intermedias. Si no
se indica lo contrario, las palabras pueden presentar letras repetidas.
7. En una mesa redonda se reunen 6 comensales de manera que queremos
saber de cuntas maneras se pueden sentar si slo importa quin est al lado
de quin. El nmero de formas es:
336
337
La respuesta correcta es la b). Sea p = mcd(a + b, a b) escribimos:
a + b = ps
a b = pt
de modo que se tiene:
2a = p(s + t)
2b = p(s t).
Esto signica que p divide a 2a y a 2b entonces p divide al mcd(2a, 2b) lo que
quiere decir que o bien p = 2 o bien p divide a a y a b entonces p = 1.
12. El nmero 179
a) Es un nmero compuesto por 2 factores primos (distintos de
1)
b) Es un nmero compuesto por 3 factores primos (distintos de
1)
c) Es un nmero primo.
La respuesta correcta es la c). Como la raz de 179 es estrictamente menor
que 14 basta con probar con los nmeros primos: 2, 3, 5, 7, 11 y 13. Ninguno
de ellos lo divide.
13. El mcd(234, 567) es
a) 3 y hacen falta 3 pasos en el algoritmo de Euclides para
saberlo
b) 9 y hacen falta 5 pasos en el algoritmo de Euclides para
saberlo
c) Son primos relativos y hacen falta 4 pasos en el algoritmo de
Euclides para saberlo.
La respuesta correcta es la b). Basta efectuar el algoritmo de Euclides.
14. Sea un conjunto A de 7 elementos. Construimos el conjunto B de los
subconjuntos de A. El conjunto de los subconjuntos de B tiene:
a) 27 elementos
27
b) 22 elementos
7
c) 22 elementos
La respuesta correcta es la c) ya que un conjunto de n elementos presenta
2 subconjuntos.
n
338
15. Sea el suceso E sacar un 8 al tirar dos dados. Sea el suceso F sacar un
8 al tirar tres dados.
a) E es ms probable que F
b) F es ms probable que E
c) Son igual de probables
La respuesta correcta es la b). Basta hacer un recuento de casos favorables
y posibles
339
Matemtica Discreta
Control 1 A
2000-2001.
1) (2 puntos) Sea a R un nmero real estrictamente positivo a > 0.
Demostrar por induccin que la siguiente desigualdad se verica para cada
n natural:
(1 + a)n 1 + an.
2) (2 puntos)
a) Determinar si el siguiente razonamiento es correcto:
x 3 mod 5
x 5 mod 7
x 2 mod 2
5) (2 puntos) Construir un algoritmo que dada una lista de enteros a1 , a2 , ..., an ,
y dos enteros a y 1 b n+1 introduzca el entero a en la lista en la posicin
b. (Ejemplo: la entrada 102,105,107; 111, 2. da como salida la lista 102, 111,
105, 107.) Estudiar su complejidad.
340
Matemtica Discreta
Control 1 A resuelto
2000-2001.
1 + a 1 + a.
Supongamos ahora que la frmula es cierta para n y comprobemos su
veracidad para n + 1. Escribimos:
1 + a + an + a2 n 1 + a(n + 1) = 1 + an + a.
O equivalentemente:
a2 n 0,
((p q) (q r)) := V.
341
Por otro lado (p r) := F y se tiene la contradiccin V F .
b) Escribir en lenguaje formal y en lenguaje natural la negacin de la
siguiente sentencia: Hay alumnos que no han aprobado ninguna asignatura.
Sea U el conjunto de los alumnos y A el de las asignaturas. En el universo
U A se dene el predicado:
x U y A (P (x, y)).
Su negacin es, usando las equivalencias lgicas pertinentes:
x U y A P (x, y).
Es decir, cada alumno ha aprobado alguna asignatura.
3)(1 punto) Sea la funcin f : Z7 Z7 dada por la expresin f (a) =
5a + 1. (Recuerda que Z7 es el conjunto de las 7 clases de equivalencia de la
relacin mdulo 7.)
a) Estudiar si f es inyectiva y si es sobreyectiva.
Se observa que:
f (0) = 1
f (1) = 6
f (2) = 4
f (3) = 2
f (4) = 0
f (5) = 5
f (6) = 3
Por tanto f es biyectiva.
b) Determinar si existe g : Z7 Z7 tal que la composicin g f denida
como (g f )(a) = g(f (a)) sea la identidad.
Como f es biyectiva necesariamente debe existir g . De hecho basta tomar
g(b) = 3b + 4 ya que:
342
x 3 mod 5
x 5 mod 7
x 2 mod 2
Como 5, 7 y 2 son primos, entonces el teorema chino de los restos garantiza
la existencia de solucin y su unicidad mdulo 572 = 70. De esta manera,
el conjunto de las soluciones es de la forma:
x = 68 + 70k
donde k es un nmero entero.
5) (2 puntos) Construir un algoritmo que dada una lista de enteros a1 , a2 , ..., an ,
y dos enteros a y 1 b n+1 introduzca el entero a en la lista en la posicin
b. (Ejemplo: la entrada 102,105,107; 111, 2. da como salida la lista 102, 111,
105, 107.) Estudiar su complejidad.
Entrada: a1 , a2 , ..., an ; a, b
c := ab
ab := a
for i from b + 1 to n
d := ai
ai := c
c := d
an+1 := c
Salida: a1 , ..., an+1
Es un algoritmo de complejidad lineal pues tiene un nico bucle que
realiza una cantidad constante de operaciones en cada repeticin.
343
Matemtica Discreta
Control 1 B
2000-2001.
1) (2 puntos) Sea t R un nmero real estrictamente positivo t > 0.
Demostrar por induccin que la siguiente desigualdad se verica para cada
n natural:
(1 + t)n 1 + tn.
2) (2 puntos)
a) Determinar si el siguiente razonamiento es correcto:
x 4 mod 5
x 5 mod 7
x 2 mod 2
5) (2 puntos) Construir un algoritmo que dada una lista de enteros a1 , a2 , ..., an ,
y dos enteros a y 1 b n+1 introduzca el entero a en la lista en la posicin
b. (Ejemplo: la entrada 102,105,107; 111, 2. da como salida la lista 102, 111,
105, 107.) Estudiar su complejidad.
344
Matemtica Discreta
Control 1 B resuelto
2000-2001.
1 + t 1 + t.
Supongamos ahora que la frmula es cierta para n y comprobemos su
veracidad para n + 1. Escribimos:
1 + t + tn + t2 n 1 + t(n + 1) = 1 + tn + t.
O equivalentemente:
t2 n 0,
345
Por otro lado (p r) := V y se tiene la contradiccin V F .
b) Escribir en lenguaje formal y en lenguaje natural la negacin de la
siguiente sentencia: "Hay alumnos que han aprobado todas las asignaturas".
Sea U el conjunto de los alumnos y A el de las asignaturas. En el universo
U A se dene el predicado:
x U y A (P (x, y)).
Su negacin es, usando las equivalencias lgicas pertinentes:
x U y A P (x, y).
Es decir, cada alumno ha aprobado alguna asignatura.
3)(1 punto) Sea la funcin f : Z7 Z7 dada por la expresin f (a) =
3a + 1. (Recuerda que Z7 es el conjunto de las 7 clases de equivalencia de la
relaci n mdulo 7.)
a) Estudiar si f es inyectiva y si es sobreyectiva.
Se observa que:
f (0) = 1
f (1) = 4
f (2) = 0
f (3) = 3
f (4) = 6
f (5) = 2
f (6) = 5
Por tanto f es biyectiva.
b) Determinar si existe g : Z7 Z7 tal que la composicin g f denida
como (g f )(a) = g(f (a)) sea la identidad.
Como f es biyectiva necesariamente debe existir g . De hecho basta tomar
g(b) = 5b + 2 ya que:
346
x 4 mod 5
x 5 mod 7
x 2 mod 2
Como 5, 7 y 2 son primos, entonces el teorema chino de los restos garantiza
la existencia de solucin y su unicidad mdulo 572 = 70. De esta manera,
el conjunto de las soluciones es de la forma:
x = 54 + 70k
donde k es un nmero entero.
5) (2 puntos) Construir un algoritmo que dada una lista de enteros a1 , a2 , ..., an ,
y dos enteros a y 1 b n+1 introduzca el entero a en la lista en la posicin
b. (Ejemplo: la entrada 102,105,107; 111, 2. da como salida la lista 102, 111,
105, 107.) Estudiar su complejidad.
Entrada: a1 , a2 , ..., an ; a, b
c := ab
ab := a
for i from b + 1 to n
d := ai
ai := c
c := d
an+1 := c
Salida: a1 , ..., an+1
Es un algoritmo de complejidad lineal pues tiene un nico bucle que
realiza una cantidad constante de operaciones en cada repeticin.
347
Matemtica Discreta
Control 2
2000-2001.
0
1
0
0
0
0
0
A := 1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
348
20
37
29
37
28
21
18
A3 := 46
29
33
31
21
33
45
28
37
38
49
63
41
42
34
62
31
41
43
36
33
65
38
29
49
40
57
39
33
25
61
36
43
48
28
42
60
40
37
63
57
72
60
44
41
80
46
55
61
45
54
80
59
28
41
39
60
40
40
29
60
29
40
48
35
33
59
43
21
42
33
44
40
26
24
52
27
32
37
30
34
51
39
18
34
25
41
29
24
16
40
20
25
35
19
24
36
32
46
62
61
80
60
52
40
74
40
54
65
39
52
78
58
29
31
36
46
29
27
20
40
22
28
35
19
29
45
27
33
41
43
55
40
30
25
54
28
32
38
26
32
55
35
31
43
48
61
48
37
35
65
35
38
44
39
35
65
45
21
36
28
45
35
30
19
39
19
26
39
20
25
37
36
33
33
42
54
33
34
24
52
29
32
35
25
28
53
30
45
65
60
80
59
51
36
78
45
55
65
37
53
76
59
28
38
40
59
43
59
32
58
27
35
45
36
30
59
40
349
Matemtica Discreta
Control 2 resuelto
2000-2001.
0
1
0
0
0
0
0
A := 1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
0
1
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
350
20
37
29
37
28
21
18
3
A := 46
29
33
31
21
33
45
28
37
38
49
63
41
42
34
62
31
41
43
36
33
65
38
29
49
40
57
39
33
25
61
36
43
48
28
42
60
40
37
63
57
72
60
44
41
80
46
55
61
45
54
80
59
28
41
39
60
40
40
29
60
29
40
48
35
33
59
43
21
42
33
44
40
26
24
52
27
32
37
30
34
51
39
18
34
25
41
29
24
16
40
20
25
35
19
24
36
32
46
62
61
80
60
52
40
74
40
54
65
39
52
78
58
29
31
36
46
29
27
20
40
22
28
35
19
29
45
27
33
41
43
55
40
30
25
54
28
32
38
26
32
55
35
31
43
48
61
48
37
35
65
35
38
44
39
35
65
45
21
36
28
45
35
30
19
39
19
26
39
20
25
37
36
33
33
42
54
33
34
24
52
29
32
35
25
28
53
30
45
65
60
80
59
51
36
78
45
55
65
37
53
76
59
28
38
40
59
43
59
32
58
27
35
45
36
30
59
40
351
de la forma 1a13 o 13a3. Pero de estos no hay niguno pues 1 y 3 no son
adyacentes, ya que la entrada (1, 3) de A es 0.
5) Sea el experimento de Bernoulli consistente en elegir un vrtice de G de
modo que se obtiene un xito si el grado de dicho vrtice es mayor o igual
que 10. Determinar la probabilidad p de xito y la probabilidad q de fracaso
de dicho experimento de Bernoulli.
Hay 15 vrtices, tres de ellos tienen grado mayor o igual que 10, entonces:
p = 3/15
q = 1 p = 12/15.
g(1) = 6, g(2) = 9, g(3) = 8, g(4) = 12, g(5) = 8, g(6) = 7, g(7) = 5, g(8) = 12,
g(9) = 6, g(10) = 7, g(11) = 9, g(12) = 6, g(13) = 7, g(14) = 12, g(15) = 8.
Y su esperanza matemtica es:
(6 + 9 + 8 + 12 + 8 + 7 + 5 + 12 + 6 + 7 + 9 + 6 + 7 + 12 + 8)/15.
8) Determinar el nmero de aristas que hay que aadir a G para que se
convierta en el grafo completo.
El grafo completo K15 tiene todos sus vrtices de grado 14 con lo que el
nmero de aristas que tiene es:
(15 14)/2.
De este modo la diferencia entre este nmero y el |V | son las aristas que
hay que aadir a G para obtener el grafo completo, esto es, 105 61.
352
Matemtica Discreta
EXAMEN FINAL
2000-2001. 3-02-2001
La duracin del examen es de 2 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
1. Estudiar si el siguiente razonamiento es o no correcto: Si el color no
es azul, entonces o est nublado o hay un eclipse. El color es azul o de lo
contrario hay un eclipse. Por lo tanto est nublado.
2. Considerar el siguiente algoritmo en seudocdigo:
Entrada:n
x:=n; y:=0; z:=0
While y<x-1
y:=y+1, z:=z+y
Salida: z
Cul es el valor de z una vez ejecutado el algoritmo? Estudiar
la complejidad del algoritmo en trminos de n.
3. De un nmero positivo menor que 100 sabemos que al dividirlo por 2
da de resto 1, al dividirlo por 3 da de resto 1 y al dividirlo por 7 da de resto
2. De qu nmero se trata?
4. Sean Z6 el conjunto de clases de equivalencia de la relacin de congruencia mdulo 6,
Z6 = {0, 1, 2, 3, 4, 5},
y f : Z6 Z6 denida por f (x) = 2x. Estudiar si f es inyectiva y/o
suprayectiva.
353
5. Los 11 jugadores del club de futbol Rey Juan Carlos se colocan en
una nica la para hacerse una fotografa. Dos de ellos se llaman Lucas y
Manuel. Se pide:
a) Hallar la probabilidad de que Manuel est situado en el centro de los
11 jugadores.
b) Manuel y Lucas estn situados uno al lado del otro.
6. La probabilidad de que un ordenador ensamblado en Taiwan presente
algn defecto es 0.001. La URJC ha comprado recientemente 5 ordenadores
ensamblados en Taiwan. Hallar la probabilidad de:
a) Los 5 ordenadores presenten algn defecto.
b) De los cinco ordenadores haya al menos uno que presente algn defecto.
7. Dado el grafo cuya matriz de adyacencias es la que aparece a continuacin, raznese la respuesta a cada una de las siguientes preguntas: Es
conexo? Es euleriano? Es hamiltoniano? Es bipartido?. Selese si el
grafo es de alguno de los tipos que aparecen a continuacin: rbol, rueda,
cubo, ciclo.
A=
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
354
9. Dibujar los 5 grafos no dirigidos (pudiendo haber lazos o aristas multiples) que existen (salvo isomorsmos) con 4 vrtices de grado 2 (recuerda
que un lazo sobre un vrtice aporta dos unidades al grado de ese vrtice).
10. En el conjunto N7 se considera la relacin R determinada por:
a, b N7 , (aRb (a + b) < 5) .
Representar la relacin mediante un digrafo. Estudiar si es reexiva,
simtrica y transitiva. Calcular la clausura transitiva.
355
Matemtica Discreta
EXAMEN FINAL RESUELTO
2000-2001. 3-02-2001
La duracin del examen es de 2 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
1. Estudiar si el siguiente razonamiento es o no correcto: Si el color no
es azul, entonces o est nublado o hay un eclipse. El color es azul o de lo
contrario hay un eclipse. Por lo tanto est nublado.
Sean las proposiciones siguientes: a :=el color es azul, n :=est nublado
y e :=hay eclipse. El razonamiento es el siguiente:
a (n e)
a (a e)
n
Si la segunda hiptesis es verdadera entonces o bien a es V o bien a e
es V . Si a es verdadera entonces a es F con lo que la primera hiptesis
es verdadera. Por tanto a := V hace que ambas hiptesis sean verdaderas.
Tomando a := V y n := F (y e cualquiera) se tiene que el razonamiento no
es vlido.
2. Considerar el siguiente algoritmo en seudocdigo:
Entrada:n
x:=n; y:=0; z:=0
While y<x-1
y:=y+1, z:=z+y
Salida: z
Cul es el valor de z una vez ejecutado el algoritmo? Estudiar
la complejidad del algoritmo en trminos de n.
356
x 1 mod 2
x 1 mod 3
x 2 mod 7
Como 2, 3 y 7 son primos, entonces hay una nica solucin mdulo 2
3 7 = 42 por el teorema chino de los restos. De hecho cualquier solucin
es de la forma:
37 + 42k k Z.
Entonces tanto 37 como 37+42 = 79 son soluciones al ejercicio (y adems
son las nicas).
4. Sean Z6 el conjunto de clases de equivalencia de la relacin de congruencia mdulo 6,
Z6 = {0, 1, 2, 3, 4, 5},
y f : Z6 Z6 denida por f (x) = 2x. Estudiar si f es inyectiva y/o
suprayectiva.
No es inyectiva porque f (0) = 0 y f (3) = 0.
No es sobreyectiva porque, por ejemplo, no existe a Z6 tal que g(a) = 1.
5. Los 11 jugadores del club de futbol Rey Juan Carlos se colocan en
una nica la para hacerse una fotografa. Dos de ellos se llaman Lucas y
Manuel. Se pide:
357
a) Hallar la probabilidad de que Manuel est situado en el centro de los
11 jugadores.
Hay 11! maneras de disponer a los 11 jugadores en una la. Si Manuel
ocupa un sitio determinado entonces hay 10! maneras de situar a los 10
restantes. Por tanto 10!/11! = 1/11 es la probabilidad buscada.
b) Lucas y Manuel estn situados uno al lado del otro.
Si por ejemplo ellos se disponen en los lugares primero y segundo entonces
hay 2 9! maneras de colocarlos. Como slo pretendemos que estn juntos,
pueden ocupar cualquier lugar del primero al dcimo y el inmediatamente
siguiente. Es decir, hay 10 2 9! maneras, por lo que la probabilidad es
10 2 9!/11! = 2/11.
6. La probabilidad de que un ordenador ensamblado en Taiwan presente
algn defecto es 0.001. La URJC ha comprado recientemente 5 ordenadores
ensamblados en Taiwan. Hallar la probabilidad de:
a) Los 5 ordenadores presenten algn defecto. La probabilidad es 0.0015 .
b) De los cinco ordenadores haya al menos uno que presente algn defecto.
Es un suceso complementario al suceso todos estn bien por lo que la
probabilidad es 1 0.9995 .
7. Dado el grafo cuya matriz de adyacencias es la que aparece a continuacin, raznese la respuesta a cada una de las siguientes preguntas: Es
conexo? Es euleriano? Es hamiltoniano? Es bipartido?. Selese si el
grafo es de alguno de los tipos que aparecen a continuacin: rbol, rueda,
cubo, ciclo.
A=
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
0
358
359
E
E
E
E
a, b N7 , (aRb (a + b) < 5) .
Representar la relacin mediante un digrafo. Estudiar si es reexiva,
simtrica y transitiva. Calcular la clausura transitiva.
El digrafo tiene como vrtices el conjunto N7 y como aristas el conjunto:
R := {(1, 1), (1, 2), (2, 1), (1, 3), (3, 1), (2, 2)}.
No es reexiva pues (7, 7)
/ R. Es simtrica puesto que si a + b < 5
entonces b + a < 5. No es antisimtrica puesto que (1, 2), (2, 1) R . No es
transitiva pues (3, 1), (1, 3) R y (3, 3)
/ R. Se tiene que Ct = R {(3, 3)}.
360
Matemtica Discreta
EXAMEN FINAL
2000-2001. Septiembre
La duracin del examen es de 3 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
1.1. (0.5 ptos) Determinar si el siguiente razonamiento es verdadero:
Si Jos gan la carrera entonces Pedro fue el segundo o Ramn fue el segundo.
Si Pedro fue el segundo entonces Jos no gan la carrera. Si Carlos fue el
segundo entonces Ramn no fue el segundo. Jos gan la carrera. Luego
Carlos no fue el segundo.
1.2. (0.5 ptos.) Sea P (x) el predicado x sabe hablar ruso y Q(x) el predicado x
sabe programar en C. En el universo de discurso de los alumnos de la escuela,
escribir las siguientes frases en lenguaje formal con cuanticadores:
i) Hay un alumno en la escuela que sabe hablar en ruso y programar en
C.
ii) Hay un alumno en la escuela que sabe hablar ruso y no sabe programar
en C.
iii) Cada alumno de la escuela o sabe hablar en ruso o programar en C.
2. (1 pto.) Dar todas las soluciones del siguiente sistema de congruencias:
x 2(mod 3)
x 5(mod 7)
x 1(mod 5)
3. Sea el siguiente algoritmo:
Entrada: n N
c:=0
361
For i=1 to n
For j=1 to i
c:=c+j
Salida: c
i) (1 pto.) Explicar qu hace el algoritmo y dar una frmula para la
salida.
ii) (1 pto) Estudiar el orden de complejidad del algoritmo.
4. Sea una red de 6 ordenadores numerados del 1 al 6 descrita por un grafo
cuya matriz de adyacencias es la siguiente:
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
362
A = {1, 2, 3, 4, 8, 7, 54, 34, 52, 21, 11, 12, 13, 16, 112}.
En A denimos la siguiente relacin: sean a, b A entonces aRb si y solamente si a b 0(mod 3).
i) (1 pto.) Demostrar que R es una relacin de equivalencia en A.
ii) (0.5 ptos.) Representarla mediante un grafo.
iii) (0.5 ptos.) Describir todas las clases de equivalencia de A mdulo la
relacin R.
363
Matemtica Discreta
EXAMEN FINAL RESUELTO
2000-2001. Septiembre
La duracin del examen es de 3 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
1.1. (0.5 ptos) Determinar si el siguiente razonamiento es verdadero:
Si Jos gan la carrera entonces Pedro fue el segundo o Ramn fue el segundo.
Si Pedro fue el segundo entonces Jos no gan la carrera. Si Carlos fue el
segundo entonces Ramn no fue el segundo. Jos gan la carrera. Luego
Carlos no fue el segundo.
Es el ejercicio 7 de los apuntes.
1.2. (0.5 ptos.) Sea P (x) el predicado x sabe hablar ruso y Q(x) el predicado x
sabe programar en C. En el universo de discurso de los alumnos de la escuela,
escribir las siguientes frases en lenguaje formal con cuanticadores:
i) Hay un alumno en la escuela que sabe hablar en ruso y programar en
C.
x U (P (x) Q(x))
ii) Hay un alumno en la escuela que sabe hablar ruso y no sabe programar
en C.
x U (P (x) Q(x))
iii) Cada alumno de la escuela o sabe hablar en ruso o programar en C.
x U (P (x) Q(x))
364
x 2(mod 3)
x 5(mod 7)
x 1(mod 5)
Como 3, 5 y 7 son primos, el teorema chino de los restos garantiza la
existencia de una solucin nica mdulo 3 7 5 = 105. Por tanto todas
las soluciones son de la forma:
x = 26 + 105k k Z.
3. Sea el siguiente algoritmo:
Entrada: n N
c:=0
For i=1 to n
For j=1 to i
c:=c+j
Salida: c
i) (1 pto.) Explicar qu hace el algoritmo y dar una frmula para la
salida.
La salida es:
c := 1 + (1 + 2) + (1 + 2 + 3) + ... + (1 + 2 + ... + n)
ii) (1 pto) Estudiar el orden de complejidad del algoritmo.
Hay dos bucles, el bucle j se repite n veces y cada vez que este se efecta
se realizan del orden de i operaciones en el bucle j por tanto la complejidad
es cuadrtica.
4. Sea una red de 6 ordenadores numerados del 1 al 6 descrita por un grafo
cuya matriz de adyacencias es la siguiente:
0
1
0
0
1
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
0
0
0
0
365
Sea p = 0.1 la probabilidad de que un cable que une dos ordenadores
adyacentes se dae.
i) (1 pto.) Cul es la probabilidad de que se estropeen al menos dos
cables.
Estudiando el grafo, observamos que contiene 6 aristas, por tanto tenemos
un experimento de Bernouilli que se repite 6 veces con probabilidad p = 0.1
de xito y nos preguntamos por el suceso al menos dos xitos, su probabilidad
es:
6 i
6
p (1 p)1i .
i=2
i
ii) (1 pto.) Cul es la probabilidad de que un mensaje que parte del
ordenador numerado con un 1 no llegue al ordenador numerado con un 2,
teniendo en cuenta la informacin sobre la probabilidad de que se dae una
conexin.
Se deben romper simltaneamente el cable (1, 2) y al menos uno de los
cables siguientes (1, 5), (5, 4), (4, 3), (3, 2). Por tanto
p(1 (1 p)4 ).
5. Sea la siguiente matriz la matriz de adyacencias de un grafo simple G =
(V, A):
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
366
(1, 3, 2, 2, 1, 2, 2, 1).
iv) (0.5 ptos.) Determinar si el grafo (V, A {(1, 5)}) es Euleriano.
No lo es pues contiene vrtices de grado impar.
6. Sea el conjunto
A = {1, 2, 3, 4, 8, 7, 54, 34, 52, 21, 11, 12, 13, 16, 112}.
En A denimos la siguiente relacin: sean a, b A entonces aRb si y solamente si a b 0(mod 3).
i) (1 pto.) Demostrar que R es una relacin de equivalencia en A.
Es reexiva puesto que a a = 0 0(mod 3).
Es simtrica puesto que si a b 0(mod 3) entonces b a 0(mod 3).
Es transitiva puesto que si a b 0(mod 3) y b c 0(mod 3) entonces
(a b) + (b c) = a c 0(mod 3).
ii) (0.5 ptos.) Representarla mediante un grafo.
El conjunto de vrtices es A. Sean:
E := A1 A1 A2 A2 A3 A3 .
iii) (0.5 ptos.) Describir todas las clases de equivalencia de A mdulo la
relacin R.
El cociente A/R tiene tres elementos: A1 , A2 y A3 .
367
Matemtica Discreta
CONTROL 1
2001-2002
368
Matemtica Discreta
CONTROL 1 resuelto
2001-2002
369
El caso peor es el caso en que no hay elementos repetidos. El bucle interno
se repite i 1 veces, cada una de las cuales efecta una cantidad constante
de operaciones (una comparacin y el aumento del contador j , esto es, 3).
Por tanto la funcin T (n) ser:
T (n) = 3 + 3 2 + 2 + 3 3 + 2 + 3 4 + 2 + .. + 3 n + 2 + 1
donde el primer 3 est formado por: la asignacin inicial a la c y las asignaciones de la salida. El 3 que multiplica son las operaciones del segundo
bucle. Los doses corresponden al aumento del contador i. El uno nal es la
comparacin que nos saca del bucle.
Por tanto:
O(T (n)) = O(n2 ).
Es un algoritmo de complejidad cuadrtica.
370
Matemtica Discreta
CONTROL 1
2001-2002
371
Matemtica Discreta
CONTROL 1 resuelto
2001-2002
372
Matemtica Discreta
CONTROL 2
2001-2002
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
373
6. Sea el grafo simple H = (V 0 , E 0 ) denido como V 0 = V y E 0 =
E {{10, 2}, {2, 9}}. Vericar que H es conexo y comprobar si es o no
Euleriano.
7. Computar un rbol generador de H .
8. Explicar si el rbol generador computado en el apartado anterior es el
nico rbol generador de H .
9. Si la probabilidad de que se dae un cable en una red representada
por el grafo H (los vrtices son nodos y las aristas son cables entre nodos)
es 102 . Determinar la probabilidad de que falle una comunicacin entre los
vrtices 10 y 5.
10. Idem que 8 entre los vrtices 2 y 7.
374
Matemtica Discreta
CONTROL 2 resuelto
2001-2002
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4, 1, 3, 3, 2, 3, 2, 2, 2, 2, 3, 3, 2, 2, 2.
El nmero de aristas es la mitad de la suma de los grados de los vrtices,
esto es, 18.
375
2. Determinar las distintas componentes conexas de G, escribiendo sus
vrtices y aristas.
Las tres componentes conexas son (Vi , Ei ) con i {1, 2, 3} de modo que:
V1 = {1, 4, 3, 10, 15}, V2 = {2, 5, 6, 7, 8}, V3 = {9, 11, 12, 13, 14}
E1 = {{1, 3}, {1, 15}, {1, 10}, {10, 3}, {4, 3}, {15, 4}, {1, 4}}
E2 = {{2, 5}, {6, 5}, {6, 7}, {7, 8}, {8, 6}}
E3 = {{11, 9}, {11, 12}, {12, 9}, {11, 14}, {12, 13}, {13, 14}}
3. Determinar cuntas aristas como mnimo se han de aadir a G para
convertirlo en un grafo conexo.
Basta aadir dos aristas, por ejemplo las aristas {10, 2} y {2, 9}. Una
arista no es suciente porque slo podramos conectar dos componentes entre
s.
4. Determinar si cada una de las componentes conexas de G es o no
Euleriana.
Ninguna lo es porque todas contienen vrtices de grado impar.
5. Idem que 4 con Hamiltoniana.
La primera es Hamiltoniana, un circuito Hamiltoniano es 4, 3, 10, 1, 15, 4.
La segunda no lo es porque tiene vrtices de grado 1. La tercera lo es porque
contiene al circuito Hamiltoniano
376
Hay que hacer desaparecer los ciclos. Quitando, por ejemplo, las aristas
{6, 8}, {3, 10}, {3, 4}, {15, 4}, {9, 12} y {11, 14}.
8. Explicar si el rbol generador computado en el apartado anterior es el
nico rbol generador de H .
No lo es, se podra, por ejemplo, tomar la arista {6, 8} y quitar en su
lugar la arista {6, 7}.
9. Si la probabilidad de que se dae un cable en una red representada
por el grafo H (los vrtices son nodos y las aristas son cables entre nodos)
es 102 . Determinar la probabilidad de que falle una comunicacin entre los
vrtices 10 y 5.
Debe extropearse o el cable {10, 2} o el {2, 5}. Por lo que la probabilidad
es 2 102 .
10. Idem que 9 entre los vrtices 2 y 7.
Se imposibilita la comunicacin si o bien se deteriora el cable {2, 5} o bien
el cable {5, 6} o bien el cable {6, 7} y al menos uno de entre los cables {6, 8}
y {7, 8}. Por tanto 2 102 + 102 (2 102 (1 102 ) + 104 ).
377
Matemtica Discreta
EXAMEN FINAL A
2001-2002. Febrero
La duracin del examen es de 3 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
La puntuacin de cada ejercicio se indica en el mismo.
El ltimo ejercicio slo lo tienen que hacer los alumnos no acogidos a evaluacin continua. Para estos alumnos los problemas 1, 2, 4 y 6 valen 1.5 puntos
y el ltimo vale 2 puntos.
1. (2 puntos para los alumnos de evaluacin continua 1.5 para el resto) Sea
la siguiente matriz una matriz de ayacencias de un grafo simple G = (V, E).
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
378
A := (p q) (r s)
B := (p r) (q s)
Demostrar que A implica lgicamente B .
6. (2 puntos para los alumnos de evaluacin continua 1.5 para el resto)
Sea un grafo simple G0 = (V 0 , E 0 ) representado por la matriz M que es una
de sus matrices de ayacencia.
0
1
M=
0
1
1
0
0
1
0
0
0
1
1
1
1
0
379
En el conjunto V 0 de los vrtices de G0 se establece una relacin R segn la
cual, dados v, w V 0 , se tiene que vRw si y solamente si existe un camino en
G0 de longitud 2 uniendo v con w. Estudiar si la relacin R es reexiva, simtrica, antisimtrica y transitiva. (Ntese que existe una adecuada manera
de representar la informacin sobre los caminos de longitud dos en trminos
de M .)
380
Matemtica Discreta
EXAMEN FINAL A resuelto
2001-2002. Febrero
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
381
14, el 11 con el 9, el 12 con el 11 y el 13 con el 12. De este modo hay una
nica componente conexa. El grafo no es euleriano porque hay vrtices de
grado impar (por ejemplo el 3 que tiene grado 3).
iii) Determinar los vrtices de grado mayor o igual que 4.
El vrtice 1 tiene grado 6 y el vrtice 6 tiene grado 4, el resto de los
vrtices tiene grado menor.
iv) Computar, si es posible, un rbol generador de G. Si G es no conexo,
tomar la componente conexa con mayor nmero de vrtices y computar, si
es posible, un rbol generador de dicha componente.
Como G es conexo se puede computar un rbol generador eliminando una
arista en cada ciclo para que stos desaparezcan. Como hay 15 vrtices, el
rbol tendr 14 aristas, de modo que hay que quitar 6. Por ejemplo, podemos
quitar: {3, 10}, {3, 4}, {4, 15}, {7, 8}, {11, 14} y {11, 12}.
2. (2 puntos) Demostrar por induccin que para cada n nmero natural
se verica:
i) 7n es impar,
ii) 11n 1 es un mltiplo de 5.
i) Como 71 = 7 que es un nmero impar, la armacin i) es cierta para
n = 1.
Si 7n es impar entonces existe un nmero entero k de modo que 7n =
2k + 1. De este modo se concluye:
382
A := (p q) (r s)
B := (p r) (q s)
Demostrar que A implica lgicamente B .
La nica posibilidad para que A no implique lgicamente B es que existan
valores de verdad de las variables p, q, r, s que hacen que A sea verdadero y
B falso. Ahora bien, si B es falso es porque p r es verdadero y q s es
falso. Es decir p y r verdaderas y alguna entre q y s falsa. Obsrvese que A
es la conjuncin de dos implicaciones. En ambas implicaciones la hiptesis
es verdadera (p y r son ambas verdaderas) pero alguna de las tesis es falsa
383
(o q o s son falsas) por lo que la conjuncin A es falsa en contradiccin con
nuestra suposicin A verdadera.
6. (2 puntos) Sea un grafo simple G0 = (V 0 , E 0 ) representado por la matriz
M que es una de sus matrices de ayacencia.
0
1
M=
0
1
1
0
0
1
0
0
0
1
1
1
1
0
2
1
M=
1
1
1
2
1
1
1
1
1
0
1
1
0
3
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
384
385
Matemtica Discreta
EXAMEN FINAL B
2001-2002. Febrero
La duracin del examen es de 3 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
La puntuacin de cada ejercicio se indica en el mismo.
El ltimo ejercicio slo lo tienen que hacer los alumnos no acogidos a evaluacin continua. Para estos alumnos los problemas 1, 2, 4 y 5 valen 1.5 puntos
y el ltimo vale 2 puntos.
1. (2 puntos para los alumnos de evaluacin continua y 1.5 para el resto)
Demostrar por induccin que para cada n nmero natural se verica:
i) 5n es impar,
ii) 21n 1 es un mltiplo de 5.
2. (2 puntos para los alumnos de evaluacin continua y 1.5 para el resto)
Sea la siguiente matriz una matriz de ayacencias de un grafo simple G =
(V, E).
386
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
387
de sus matrices de ayacencia.
0
1
M=
0
1
1
0
0
1
0
0
0
1
1
1
1
0
A := (t q) (u s)
B := (t u) (q s)
Demostrar que A implica lgicamente B .
388
Matemtica Discreta
EXAMEN FINAL RESUELTO B
2001-2002. Febrero
389
0
1
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
390
0
1
M=
0
1
1
0
0
1
0
0
0
1
1
1
1
0
391
En el conjunto V 0 de los vrtices de G0 se establece una relacin R segn la
cual, dados v, w V 0 , se tiene que vRw si y solamente si existe un camino en
G0 de longitud 2 uniendo v con w. Estudiar si la relacin R es reexiva, simtrica, antisimtrica y transitiva. (Ntese que existe una adecuada manera
de representar la informacin sobre los caminos de longitud dos en trminos
de M .)
La matriz de la relacin ser la matriz de unos y ceros de M 2 es deir una
matriz con un uno donde M 2 tiene una entrada no nula y un cero en el resto
de las entradas.
Como M 2 es:
2
1
M=
1
1
1
2
1
1
1
1
1
0
1
1
0
3
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
A := (t q) (u s)
B := (t u) (q s)
Demostrar que A implica lgicamente B .
La nica posibilidad para que A no implique lgicamente B es que existan
valores de verdad de las variables t, q, u, s que hacen que A sea verdadero y
B falso. Ahora bien, si B es falso es porque t u es verdadero y q s es
falso. Es decir t y u verdaderas y alguna entre q y s falsa. Obsrvese que A
es la conjuncin de dos implicaciones. En ambas implicaciones la hiptesis
392
393
Matemtica Discreta
EXAMEN FINAL
2001-2002. Septiembre
La duracin del examen es de 3 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
El examen est formado por 7 ejercicios. La puntuacin de cada ejercicio se
indica en el mismo.
1. (1 punto) Demostrar por induccin que para cada n nmero natural
se verica:
ni=1
1
n
=
i(i + 1)
n+1
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
394
395
(que no pasa por otro ordenador) uniendo los correspondientes ordenadores.
0
1
M= 0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
En el conjunto de ordenadores establecemos la relacin R siguiente: el ordenador u se relaciona con v si solamente si estn conectados en la red que
se presenta anteriormente (entendemos que cada ordenador est obviamente
conectado consigo mismo).
i) Escribir todos los pares que forman la relacin.
ii) Determinar si la relacin R es reexiva, simtrica y transitiva.
iii) Determinar si es una relacin de equivalencia. En caso de que lo sea
escribir el conjunto cociente V 0 /R.
7. (2 puntos) i) Un estudio estadstico muestra que el jugador de baloncesto Smith encesta un lanzamiento de tiro libre con probabilidad p = 1/3.
a) Si dispone de tres lanzamientos de tiro libre, determinar la probabilidad de que enceste al menos uno de ellos.
b) Determinar el nmero mnimo de lanzamientos que se necesitan
para que la probabilidad de encestar al menos uno supere el valor 0.8.
ii) Un tablero de 3 en raya est formado por 9 casillas distribuidas uniformemente en un cuadrado, esto es, una sobre cada vrtice, una en el centro
de cada lado y una en el centro del cuadrado (ver guras 1 y 2).
a) Determinar la probabilidad de que al colocar tres piezas en tres
casillas distintas aleatoriamente dichas tres piezas estn alineadas.
b) Generalizar el problema al situar n piezas en un tablero de tamao
n n.
396
397
Matemtica Discreta
EXAMEN FINAL RESUELTO
2001-2002. Septiembre
La duracin del examen es de 3 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
El examen est formado por 7 ejercicios. La puntuacin de cada ejercicio se
indica en el mismo.
1. (1 punto) Demostrar por induccin que para cada n nmero natural
se verica:
ni=1
1
n
=
i(i + 1)
n+1
1i=1
1
= 1/2 = 1/(1 + 1).
i(i + 1)
n+1
i=1
1
1
1
= ni=1
+
.
i(i + 1)
i(i + 1) (n + 1)(n + 2)
n+1
i=1
1
n
1
=
+
.
i(i + 1)
n + 1 (n + 1)(n + 2)
398
0
0
1
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
(5, 1, 3, 3, 2, 4, 2, 2, 3, 2, 3, 3, 2, 2, 3).
Por tanto hay 15 vrtices y 20 aristas.
ii) Determinar si G es conexo. Determinar si G es Euleriano.
Basta una representacin del grafo para observar que es conexo. No es
Euleriano pues tiene vrtices de grado impar.
iii) Determinar los grados de cada uno de los vrtices.
Siguiendo la ordenacin de los vrtices que marca la matriz, la sucesin
de los grados es:
(5, 1, 3, 3, 2, 4, 2, 2, 3, 2, 3, 3, 2, 2, 3).
iv) Computar, si es posible, un rbol generador de G. Si G es no conexo,
tomar la componente conexa con mayor nmero de vrtices y computar, si
es posible, un rbol generador de dicha componente.
Como el grafo es conexo, admite un rbol generador, que debe tener 14
aristas. De este modo hay que quitar 7 aristas, que van formando ciclos (es
399
decir, que al quitarlas el grafo permanece conexo). Una posible eleccin de
estas aristas es:
V := {1, 2, 3, 4}.
Lo que va a ser distinto en cada grafo es el conjunto de aristas E :
i) E =
ii) E = {(1, 2)}
iii) E = {(1, 2), (1, 3)}
iv) E = {(1, 2), (4, 3)}
v) E = {(1, 2), (1, 3), (2, 4)}
vi) E = {(1, 2), (1, 3), (1, 4)}
vii) E = {(1, 2), (1, 3), (2, 3)}
viii) E = {(1, 2), (1, 3), (2, 4), (3, 4)}
ix) E = {(1, 2), (1, 3), (2, 4), (1, 4)}
x) E = {(1, 2), (1, 3), (2, 4), (1, 4), (3, 4)}
xi) K4
4. (2 puntos) Construir un algoritmo que tenga como entrada un nmero
entero positivo n y determine si n es potencia de algn otro entero positivo,
es decir, si existen otros dos enteros positivos a y b, con b > 1 de modo que
n = ab . Poner un ejemplo de su funcionamiento.
Entrada: n
v := 0
For i = 2 to n 1 (en realidad bastara hasta la parte entera de la raz
cuadrada de n) while v = 0
if n mod i 6= 0 then i := n + 1
else j := i and
while j < n do j := j j
400
401
3) No. La sentencia 3) es del tipo p q donde p es tener ms de 25 aos
y q es debe matricularse en agosto. Una implicacin p q es equivalente a
p q , de modo que la negacin es p q , es decir, tiene ms de 25 aos y
debe matricularse en agosto.
6. (1 punto) Sea una red de ordenadores modelada segn el grafo simple
G = (V 0 , E 0 ) representado por la matriz M que es una de sus matrices de
adyacencia. Esto quiere decir que V 0 representa el conjunto de ordenadores y
que dos vrtices diferentes son adyacentes si se ha instalado un cable directo
(que no pasa por otro ordenador) uniendo los correspondientes ordenadores.
0
0
1
M= 0
1
0
1
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
En el conjunto de ordenadores establecemos la relacin R siguiente: el ordenador u se relaciona con v si solamente si estn conectados en la red que
se presenta anteriormente (entendemos que cada ordenador est obviamente
conectado consigo mismo).
i) Escribir todos los pares que forman la relacin.
Escribimos V 0 = {1, 2, 3, 4, 5}. Entonces:
R := {(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (1, 2), (2, 1), (1, 3),
(3, 1), (1, 4), (4, 1), (2, 3), (3, 2), (2, 4), (4, 2), (3, 4), (4, 3)}
ii) Determinar si la relacin R es reexiva, simtrica y transitiva.
Es reexiva, simtrica y transitiva, por tanto una relacin de equivalencia.
Claramente la diagonal est contenida en R, por lo que es reexiva (cada
ordenador est conectado consigo mismo). Es simtrica puesto que si hay
una conexin entre el ordenador a y el ordenador b, la hay entre b y a. De
igual manera es transitiva pues si a est conectado con b y b con c entonces
necesariamente a est conectado con c. De hecho si construimos la matriz de
unos y ceros de
I + M + M2 + M3 + M4
obtenemos
402
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
0
1
V 0 /R = {1, 5}.
7. (2 puntos) i) Un estudio estadstico muestra que el jugador de baloncesto Smith encesta un lanzamiento de tiro libre con probabilidad p = 1/3.
a) Si dispone de tres lanzamientos de tiro libre, determinar la probabilidad de que enceste al menos uno de ellos.
El suceso resulta ser complementario al suceso errar los tres lanzamientos
que tiene probabilidad (2/3)3 por tanto la probabilidad buscada es 1(2/3)3 .
b) Determinar el nmero mnimo de lanzamientos que se necesitan
para que la probabilidad de encestar al menos uno supere el valor 0.8.
Razonando igual que antes, la probabilidad de encestar al menos uno en
n lanzamientos es:
2n
p(n) = 1 .
3
Ahora p(n) 0.8 si y solamente si q(n) = ( 32 )n 0.2. Como q(1), q(2), ...
es una sucesin decreciente (visto en Bases de Matemticas) entonces basta
ir evaluando hasta encontrar el primer valor que sea menor o igual que 0.2.
Basta, de este modo, tomar n = 4.
403
404
ii) Un tablero de 3 en raya est formado por 9 casillas distribuidas uniformemente en un cuadrado, esto es, una sobre cada vrtice, una en el centro
de cada lado y una en el centro del cuadrado (ver guras 1 y 2).
a) Determinar la probabilidad de que al colocar tres piezas en tres
casillas distintas aleatoriamente dichas trespiezas
estn alineadas.
Hay 9 casillas. Los casos posibles son 93 . Los casos favorables son las
tres las, las tres columnas y las dos diagonales, esto es, 8. El cociente da la
probabilidad buscada.
b) Generalizar el problema al situar n piezas en un tablero de tamao
n n.
2
Los casos posibles son nn . Los favorables son las n las, las n columnas
y las dos diagonales, esto es, 2n + 2.
405
Matemtica Discreta
Control A
2002-2003.
Ejercicio 2. (6 puntos)
5x + 3 7 mod 11.
406
Matemtica Discreta
Control A resuelto
2002-2003.
De Morgan.
p1 ... pn pn+1 .
Lo que concluye la demostracin.
Ejercicio 2.
407
i) Sea a1 , ..., an una lista de tamao n de nmeros enteros diferentes.
Determinar cuntas ternas ordenadas (permitiendo nmeros repetidos) se
pueden formar usando los nmeros de la lista.
ii) Disear un algoritmo que tenga como entrada una lista de nmeros
enteros diferentes y como salida todas las posibles ternas ordenadas de dichos
nmeros, permitiendo en dichas ternas que haya repeticiones. Estudiar su
complejidad.
i) Son el nmero de variaciones de n elementos tomasdas de 3 en 3. Por
tanto n3 .
ii) El algoritmo en pseudocdigo.
Entrada: a1 , ..., an (nmeros enteros diferentes)
l := 1
For i = 1 to n
For j = 1 to n
For k = 1 to n
bl := (ai , aj , ak )
l := l + 1
Salida: b1 , ..., bn3
Como son tres bucles anidados, el algoritmo tiene complejidad cbica.
5x + 3 7 mod 11.
i) El conjunto cociente Z11 tiene 11 elementos, que son:
408
5x 4 mod 5.
Como 5 9 1 mod 11 entonces, mutiplicando la congruencia por 9,
obtenemos:
x 3 mod 11.
De este modo el conjunto de soluciones es:
{11k + 3 : k Z}.
409
Matemtica Discreta
Control B
2002-2003.
(2k 1) = 4n2 .
k=1
x 1 mod 5
x 5 mod 11
x 2 mod 3,
estudiar si existen soluciones y, si existen, hallarlas todas.
4) (5 puntos) Se lanzan dos dados simultneamente una sola vez. Determinar la probabilidad de que uno de los dos resultados obtenidos sea 2, si
sabemos que la suma de los dos resultados es 6.
410
Matemtica Discreta
Control B resuelto
2002-2003.
(2k 1) = 4n2 .
k=1
(2k 1) =
2
X
(2k 1) = 1 + 3 = 4 = 4n2 .
k=1
k=0
2n
X
k=1
2(n+1)
k=1
Ahora,
2(n+1)
X
k=1
(2k 1) =
2n+2
X
(2k 1) =
2n
X
(2k 1)+[2(2n+1)1]+[2(2n+2)1]
k=1
k=1
hip.de ind. 2
=
4n + (4n + 1) + (4n + 3) = 4n2 + 8n + 4 = 4(n + 1)2 .
Se sigue que para todo nmero natural n N,
2n
X
k=1
(2k 1) = 4n2 .
411
2) (5 puntos) Escribir en pseudocdigo un algoritmo cuya entrada sea
una lista de nmeros enteros y cuya salida sea, si existe, el primer nmero
entero de la lista que es congruente con 4 mdulo 7.
Estudiar la complejidad del algoritmo.
Entrada: a1 , a2 , a3 , , an .
i:=1
While i n, ai mod 7 6= 4
i := i + 1
If i > n then s := No hay enteros congruentes con 4 mdulo 7 en la lista
else s := ai es el primer nmero entero de la lista que es congruente con
4 mdulo 7
Salida: s
La complejidad de este algoritmo es lineal en n, ya que, en el peor de los
casos, hay un nmero constante de operaciones que se repiten n veces, por
la presencia de un slo bucle.
3) (5 puntos) Dado el sistema de congruencias
x 1 mod 5
x 5 mod 11
x 2 mod 3,
estudiar si existen soluciones y, si existen, hallarlas todas.
Siendo 3, 5 y 11 nmeros primos distintos, en particular, son primos entre s.
Por tanto el teorema chino del resto arma la existencia y unicidad de una
solucin mdulo P = 3 5 11 = 165.
Esta solucin, mdulo 165, es
x0 = 1 q1 33 + 5 q2 15 + 2 q3 55,
donde 33 q1 1
decir,
3 q1 1 mod 5,
4 q2 1 mod 11,
q3 1 mod 3.
Entonces, q1 = 2, q2 = 3 y q3 = 1 y
x0 = 1 2 33 + 5 3 15 + 2 1 55 =
412
= 66 + 225 + 110 = 66 + 60 + 110 mod 165 = 236 mod 165 = 71 mod 165.
Las soluciones del sistema dado son los nmeros enteros de la forma
x = 71 + 165k,
con
k Z.
4) (5 puntos) Se lanzan dos dados simultneamente una sola vez. Determinar la probabilidad de que uno de los dos resultados obtenidos sea 2, si
sabemos que la suma de los dos resultados es 6.
Sean S el suceso uno de los dos resultados es 2 y S 0 el suceso la suma de
los dos resultados es 6.
Se trata de calcular la probabilidad condicionada de S por S 0 :
p(S|S 0 ) =
p(S S 0 )
.
p(S 0 )
Ahora, S 0 = {(1, 5), (2, 4), (3, 3), (4, 2), (5, 1)} y
sigue que
p(S S 0 )
p(S|S 0 ) =
=
p(S 0 )
413
Matemtica Discreta
EXAMEN FINAL
Septiembre 2003
La duracin del examen es de 3 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
El examen est formado por 6 ejercicios. La puntuacin de cada ejercicio
se indica en el mismo.
Ejercicio 1. (2 puntos)
Ejercicio 2. (2 puntos)
i) (1 punto) Escribir un algoritmo en pseudocdigo que tenga como entrada una lista a1 , ..., an , de nmeros enteros y devuelva la sublista de a1 ,
..., an de los nmeros que son distintos. Esto es, que obtenga el conjunto de
los elementos de la lista a1 , ..., an .
414
ii) (1 punto) Escribir un algoritmo en pseudocdigo que tenga como entrada dos nmeros naturales b y c y una lista a1 , ..., an de nmeros naturales y
obtenga la sublista de a1 , ..., an de los elementos, si existen, que son mltiplos
comunes de b y c.
Ejercicio 3. (2 puntos)
(O1, P 1), (O2, P 2), (O2, P 4), (O2, P 5), (O3, P 3).
Determinar la probabilidad de que, con estas mismas conexiones y despus
de un ao de la compra, Pepe pueda trabajar con el ordenador O2 y al menos
una pantalla de las conectadas con l.
R = {(1, 1), (2, 2), (4, 5), (3, 3), (4, 4), (5, 4), (5, 5), (6, 6),
(5, 6), (2, 3), (4, 6), (6, 5), (6, 4), (7, 7), (3, 2)}.
i) (0.5 puntos) Determinar si verica las propiedades reexiva, simtrica,
antisimtrica y transitiva.
ii) (0.5 puntos) Determinar si es una relacin de equivalencia. Determinar
si es una relacin de orden.
iii) (0.5 puntos) Si es una relacin de equivalencia, determinar sus clases
de equivalencia. Si es de orden, determinar si es una relacin de orden total.
Ejercicio 5. (1 punto)
415
Efectuar las siguientes operaciones mdulo 5, obteniendo siempre un resultado entre 0 y 4.
i) (0.25 puntos) 2143 + 80100;
ii) (0.25 puntos) 224 2513;
iii) (0.25 puntos) 27 ;
iv) (0.25 puntos) 312013 .
0 1 1 0 1 1 0 0
1 0 1 0 1 1 0 0
1 1 0 1 1 0 0 0
0 0 1 0 1 0 0 0
0
A :=
1 1 1 1 0 1 1 0
1 1 0 0 1 0 1 0
0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0
416
Matemtica Discreta
EXAMEN FINAL RESUELTO
Septiembre 2003
La duracin del examen es de 3 horas y media.
Se podrn utilizar libros y apuntes en su realizacin.
No se permite el uso de calculadoras.
Toda respuesta que no est adecuadamente razonada se considerar incorrecta.
El examen est formado por 6 ejercicios. La puntuacin de cada ejercicio
se indica en el mismo.
Ejercicio 1. (2 puntos)
H1 := (a s),
H2 := (e s),
H3 := e.
Y la tesis es T := a. Para que el razonamiento sea correcto se debe tener que
la siguiente proposicin es una tautologa:
(H1 H2 H3 ) T.
Pero la siguiente asignacin de valores a las variables proposicionales muestra
que no lo es:
a := F, s := F, e := v.
417
f F p P (P (p, f ) L(p)).
Que se lee en el lenguaje natural: existe una familia en la que a todos sus
miembros les gusta la lechuga.
iii) (1 punto) Demostrar por induccin que para cada nmero natural n
se tiene que
n
X
(2k)3 = 2n2 (n + 1)2 .
k=1
Ejercicio 2. (2 puntos)
i) (1 punto) Escribir un algoritmo en pseudocdigo que tenga como entrada una lista a1 , ..., an , de nmeros enteros y devuelva la sublista de a1 ,
418
..., an de los nmeros que son distintos. Esto es, que obtenga el conjunto de
los elementos de la lista a1 , ..., an .
Diseamos un algoritmo auxiliar que determina si un elemento est o no
en una lista, lo llamamos pertenece:
Entrada: a1 , ..., an ; a
s := 0
For i = 1 to n while s := 0
if a = ai then s := 1
Salida: s
Para construir el algoritmo que se nos pide basta tomar una lista auxiliar,
digamos b, que inicialmente contiene el primer elemento de la entrada e ir
amplindola con los sucesivos elementos distintos de la lista de la entrada.
Entrada: a1 , ..., an
b1 := a1 , j := 2
For i = 2 to n
if pertenece(ai , b) = 0 then bj := ai , j := j + 1
Salida: b
ii) (1 punto) Escribir un algoritmo en pseudocdigo que tenga como entrada dos nmeros naturales b y c y una lista a1 , ..., an de nmeros naturales y
obtenga la sublista de a1 , ..., an de los elementos, si existen, que son mltiplos
comunes de b y c.
Entrada: a1 , ..., an ; b; c
j := 1
For i = 1 to n
if ai mod c = 0 and ai mod b = 0 then bj := ai , j := j + 1
Salida: b
Ejercicio 3. (2 puntos)
419
(ii) (1 punto) Supongamos que Pepe conecte los 3 ordenadores, O1, O2
y O3, con las 5 pantallas, P 1, P 2, P 3, P 4 y P 5, por medio de las siguientes
conexiones:
(O1, P 1), (O2, P 2), (O2, P 4), (O2, P 5), (O3, P 3).
Determinar la probabilidad de que, con estas mismas conexiones y despus
de un ao de la compra, Pepe pueda trabajar con el ordenador O2 y al menos
una pantalla de las conectadas con l.
i) Se trata de dos experimentos de Bernoulli independientes.
La probabilidad de que, despus de un ao, Pepe tenga un solo ordenador es
igual a la probabilidad de que se estropeen exactamente dos ordenadores:
3 2
p1 =
p (1 p).
2
As la probabilidad de que, despus de un ao, Pepe tenga una sola pantalla
es igual a la probabilidad de que se estropeen exactamente cuatro pantallas:
5 4
q1 =
q (1 q) = 5q 4 (1 q).
4
Entonces la probabilidad buscada es
Q = p2 q2 = (1 p)(1 q 3 ).
R = {(1, 1), (2, 2), (4, 5), (3, 3), (4, 4), (5, 4), (5, 5), (6, 6),
420
(5, 6), (2, 3), (4, 6), (6, 5), (6, 4), (7, 7), (3, 2)}.
i) (0.5 puntos) Determinar si verica las propiedades reexiva, simtrica,
antisimtrica y transitiva.
ii) (0.5 puntos) Determinar si es una relacin de equivalencia. Determinar
si es una relacin de orden.
iii) (0.5 puntos) Si es una relacin de equivalencia, determinar sus clases
de equivalencia. Si es de orden, determinar si es una relacin de orden total.
R.
Es transitiva. Los casos no triviales son
Ejercicio 5. (1 punto)
421
0
1
0
0
A :=
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
v5 , v 4 , v 3 , v 2 , v 1 , v 3 , v 5 , v 2 , v 6 , v 5 , v 7 , v 6 , v 1 , v 5
422
Bibliografa
[R]
[B]
[G]
[T]
Truss, J.K. Discrete Mathematics for computer scientists, International Computer Science Series, 1991.
[KBR]
[CBVB]
Criado, R., Bujosa, A., Vega, C., Banerjee, R. Fundamentos Matemticos I, Centro de Estudios Ramn Areces, 1998. Para el
Captulo 1.
[F]
[R2]
[R3]
[W]
423
Informtica,