Está en la página 1de 423

MATEMTICA DISCRETA

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:

...

Miremos con detenimiento un conjunto y otro. Hay cuantiosas diferencias


entre ellos pero aqu vamos a centrarnos en las que establecen los conceptos de
discreto (que se aplica a los nmeros naturales) y de continuo (a los nmeros
reales).
Los nmeros naturales son discretos, es decir, se disponen en la semirrecta
que los representa separados entre s. Del uno al dos hay un salto de una
unidad. No hay ningn nmero natural entre ellos, es decir, no existe n
N tal que 1 < n < 2. Lo mismo ocurre entre el dos y el tres o entre
dos cualesquiera nmeros naturales consecutivos. Los conjuntos nitos o los
nmeros enteros Z (unin de los naturales el 0 y los negativos) tienen de
igual manera esta propiedad.
Sin embargo, los nmeros reales son muy distintos. Estn todos pegados,
no quedan huecos entre ellos, la recta que los representa est completamente
punteada. Entre el uno y el dos no hay agujeros, siempre hay nmeros entre
ellos; est por ejemplo el 1.5 en medio. Entre el 1 y el 1.5 est por ejemplo
el 1.2. Y entre el 1 y un nmero muy cercano a 1, pongamos por ejemplo el
7
1+1010 (verdaderamente cercano ya que la distancia es cero coma un milln
8
de ceros y luego un uno), hay nmeros por medio, por ejemplo el 1 + 1010 .
Valga esta aproximacin a la nocin de ser continuo: completamente pegados
entre s, sin espacios que los separan. De la formalizacin de este concepto
es de donde parte la idea de lmite y por tanto los conceptos de continuidad
de funciones, derivada, integral y, en n, todos los que se estudiarn en el
curso de Bases de Matemticas.
Con esta nocin intuitiva acerca de qu es la matemtica discreta la lista
de contenidos del curso nos aclara un poco ms:

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

Los nmeros naturales y los nmeros enteros . . .


Teorema de la divisin . . . . . . . . . . . . . . .
Divisibilidad, mcd y factorizacin . . . . . . . . .
3.3.1 Deniciones bsicas . . . . . . . . . . . . .
3.3.2 Algoritmo de Euclides para calcular el mcd
3.3.3 Factorizacin . . . . . . . . . . . . . . . .
Relaciones de congruencia . . . . . . . . . . . . .
Sistemas de ecuaciones mdulo enteros . . . . . .
Sistemas de numeracin . . . . . . . . . . . . . .
Ejercicios . . . . . . . . . . . . . . . . . . . . . .
Ejercicios Resueltos . . . . . . . . . . . . . . . . .
3.8.1 Bases de numeracin con Maple . . . . . .

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
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Grafos, digrafos y multigrafos . . . . . . . .


Grafos simples especiales. . . . . . . . . . .
Construccin de grafos a partir de grafos . .
Isomorsmo de grafos . . . . . . . . . . . . .
Representacin de grafos . . . . . . . . . . .
5.5.1 Mediante una matriz de adyacencias
5.5.2 Mediante una matriz de incidencias .
5.6 Caminos, ciclos y grafos conexos . . . . . . .
5.7 Grafos eulerianos y hamiltonianos. . . . . .
5.8 Grafos etiquetados y algoritmo de Dijkstra .
5.9 rboles . . . . . . . . . . . . . . . . . . . .
5.9.1 rboles de bsqueda binarios . . . .
5.9.2 rboles de decisin . . . . . . . . . .
5.9.3 Cdigos prejos . . . . . . . . . . . .
5.9.4 rboles generadores . . . . . . . . .
5.10 Otros aspectos de la teora de grafos . . . .
5.11 Ejercicios . . . . . . . . . . . . . . . . . . .
5.12 Ejercicios resueltos . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

4.7
4.8

4.6.3 Probabilidad condicionada


4.6.4 Experimentos de Bernoulli
4.6.5 Variables Aleatorias . . . .
Ejercicios . . . . . . . . . . . . .
Ejercicios resueltos . . . . . . . .

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

7 Controles y exmenes resueltos

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:

Construir tablas de verdad de proposiciones compuestas.


Averiguar si dos proposiciones son lgicamente equivalentes.
Traducir enunciados sencillos a expresiones lgicas.
Vericar si un razonamiento es correcto.
Aplicar el principio de induccin.

1.1

Lgica e informtica

Qu relacin existe entre la lgica y la informtica? Los ordenadores son


mquinas diseadas para mecanizar trabajos intelectuales, entre otros, los
clculos basados en operaciones aritmticas o el almacenamiento, clasicacin
y bsqueda de datos.
Al intentar mecanizar tareas ms complejas entramos en el campo de la
informtica conocido como inteligencia articial, en el que se pretende que
11

12

CAPTULO 1. LGICA

el ordenador sea capaz de realizar ese tipo de razonamientos que el hombre


efecta de una manera un tanto informal, por lo que es necesario denir y
analizar con precisin dichos razonamientos. En otras palabras, se trata de
formalizar los razonamientos. Y de esto se ocupa la lgica.
Tambin la lgica tiene relacin con el mundo de la programacin debido
a la denominada crisis del software: los programas son cada vez ms complejos, menos ables y ms difciles de mantener. Se han propuesto y se utilizan
diversas metodologas para la construccin de programas y su vericacin
(mtodos para comprobar la coincidencia entre lo que se cree que hace el
programa y lo que realmente hace). En palabras de R. Fairley la vericacin formal es una rigurosa demostracin matemtica de la concordancia del
cdigo fuente de un programa con su especicacin. En esta lnea de acercamiento entre el cdigo fuente de un programa y su especicacin estn los
denominados lenguajes de programacin declarativa (como contraposicin a
la visin tradicional conocida como programacin imperativa). Desde esta
perspectiva se pretende que los programas no sean una secuencia de instrucciones que le digan al ordenador, paso a paso, cmo resolver el problema
(programacin imperativa), sino ms bien una especicacin de lo que se
pretende resolver dejando que sea el propio ordenador el que determine las
acciones necesarias para ello. En este sentido la lgica puede verse como un
lenguaje de especicacin mediante el cual podemos plantear los problemas
de forma rigurosa.
Por otra parte, desde el punto de vista estrictamente electrnico, el soporte tecnolgico principal de los ordenadores lo constituyen los circuitos de
conmutacin o circuitos lgicos, denominados as por tener en comn con las
formas elementales de la lgica el modelo matemtico conocido como lgebra
de Boole.
Finalmente, otra relacin de la lgica con la informtica viene dada por el
hecho de que el estudio matemtico de los lenguajes es uno de los pilares de la
informtica, entendiendo por lenguaje un sistema de smbolos y de convenios
que se utiliza para la comunicacin, sea sta entre personas, entre personas y
mquinas, o entre mquinas ; la Lgica Formal puede considerarse como un
lenguaje, el mejor hecho de los lenguajes, en palabras de Ferrater Mora.

1.2. LGICA Y MODELOS MATEMTICOS

1.2

13

Lgica y modelos matemticos

Por otra parte, y planteando ahora las posibles aplicaciones de la lgica


desde una perspectiva ms general, las ciencias experimentales se basan en
la observacin de la naturaleza y utilizan un razonamiento de tipo inductivo
para poder formular teoras generales. Estas teoras permiten entender y
clasicar los resultados de observaciones particulares y de este modo extraer
conclusiones generales que posibiliten hacer predicciones sobre el resultado
de futuros experimentos.
El conocimiento cientco es una representacin del mundo real y alcanza
los mayores niveles de precisin y exactitud cuando dichos modelos son de
naturaleza matemtica. La utilidad de los modelos matemticos reside en
las tres caractersticas que, segn entendemos, conguran su esencia:
1. Por una parte la necesaria simplicacin que se realiza en los modelos;
permite analizar con claridad aspectos y relaciones que se presentan en
el mundo real, prescindiendo de otras relaciones superuas que ocultan
y complican los aspectos objeto de estudio.
2. La segunda caracterstica se reere a la facilidad para hacer deducciones
dentro del modelo. Es posible que una de las mayores dicultades
del trabajo cientco consista en elegir entre los distintos modelos o
distintas representaciones del fenmeno objeto de estudio aquel modelo
que ms facilite la labor de deduccin.
3. La ltima caracterstica esencial de un modelo es extrnseca al mismo,
a diferencia de las dos anteriores, y consiste en su capacidad predictiva,
o lo que es lo mismo, el grado de coincidencia obtenido del contraste
entre lo que estaba previsto dentro del modelo y lo que sucede en el
mundo real. El mtodo cientco incorpora la experimentacin para
realizar dicho contraste.
Si las ciencias experimentales siguen un modelo inductivo, las matemticas
siguen un modelo deductivo de razonamiento. Es decir, desde una coleccin
inicial de verdades (axiomas) se van obteniendo, mediante reglas correctas de
deduccin, ms hechos verdaderos (teoremas). Se puede decir que el objeto
de la lgica es el estudio sistemtico de las condiciones generales de validez
de estas deducciones.

14

CAPTULO 1. LGICA

Al hablar del concepto de deducci


on o demostraci
on de una proposicin o
sentencia nos estamos reriendo a una argumentacin lgicamente irrefutable
que conduce a establecer que dicha sentencia es verdadera.
El origen de la mayora de los conceptos matemticos se encuentra en el
mundo real que nos rodea. As por ejemplo, los nmeros naturales surgieron
de la necesidad de contar objetos.
Si asumimos, como primera aproximacin, que una sentencia es verdadera
si es verif icable experimentalmente , resultar sencillo comprobar la validez
de la sentencia
3+2=5
para lo cual se puede considerar suciente coger tres peras y dos manzanas
y contar el nmero de objetos obtenidos al reunirlas. Sin embargo, si ahora
queremos comprobar experimentalmente la validez de la sentencia

3 1010 + 2 1010 = 5 1010


nos encontraremos ante un serio problema.
Para resolverlo necesitamos construir un modelo o representacin abstracta de los nmeros naturales de manera que la validez de la sentencia

3 1010 + 2 1010 = 5 1010


se pueda demostrar a partir de las propiedades que postulamos para la suma
de nmeros naturales en esa representacin (profundizaremos sobre esto en
el captulo 3).
En cada una de las reas de las matemticas siempre se comienza con
una serie de postulados o axiomas que establecen una serie de propiedades b
asicas de los objetos matemticos bajo estudio que se admiten como
verdaderas.
Los axiomas se formulan a partir de las propiedades de los objetos o
eventos del mundo real que estamos representando, o incluso a partir de las
propiedades que nosotros entendemos que deberan tener. En todo caso, los
axiomas deben ser:
i) compatibles: no debe poderse deducir lgicamente a partir de ellos
que una cierta sentencia es simultneamente verdadera y falsa,
ii) independientes: ningn axioma se debe poder demostrar a partir del
resto y

1.3. LGICA PROPOSICIONAL

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

1.3.1 Los conectivos lgicos


Al realizar razonamientos empleamos sentencias que estn conectadas entre
s por conectivas lingsticas. La lgica proposicional se ocupa del estudio
de las conectivas lingsticas entre proposiciones. Una proposicin es una
sentencia que puede ser verdadera, circunstancia que indicaremos asocindola
el valor de verdad V , o falsa, en cuyo caso le asociaremos el valor de verdad
F . Nuestro principal inters en relacin con la lgica proposicional es dejar
establecido el papel que juegan las conectivas lingisticas y sus conectivos
lgicos asociados en relacin con los conceptos de verdad y demostracin.
Las conectivas lingsticas permiten construir proposiciones compuestas
a partir de otras ms simples. As, si los smbolos p y q representan proposiciones genricas, las conectivas lingsticas ms empleadas son las que
aparecen en la siguiente tabla:

Conectiva lingstica Conectivo lgico Smbolo Se escribe


no p
Negacin

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

La sentencia pq , que se lee p q, debe entenderse en su acepcin ms


amplia, es decir, p q o ambos , con lo que p q ser verdadera en el
caso de que p sea verdadera, q sea verdadera o ambas sean verdaderas
simultneamente:
p
V
V
F
F

q
V
F
V
F

pq
V
V
V
F

1.3. LGICA PROPOSICIONAL

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

Obsrvese que por ejemplo la sentencia Si 2+2=4 entonces el sol es una


estrella es verdadera (segn el signicado del conectivo lgico establecido en
la tabla anterior) y sin embargo no existe relacin alguna de causalidad entre
las proposiciones simples que en ella intervienen.

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.

La proposicin p q , que se lee p si y solo si q , o tambin p equivale a


q es verdadera cuando p y q tienen el mismo valor de verdad, es decir:
p
V
V
F
F

q
V
F
V
F

pq
V
F
F
V

Para representar proposiciones emplearemos los smbolos p, q , r... o,


lo que es lo mismo, emplearemos los smbolos p, q , r... como variables
proposicionales.

1.3.2 Forma de una proposicin


Uno de los descubrimientos ms sorprendentes con el que nos encontramos
al estudiar lgica consiste en que la validez de una deduccin depende exclusivamente de la forma que sta tenga, y no del posible signicado de las
proposiciones que en ella intervienen. As por ejemplo, las deducciones:
keta es una roya o keta es larga
keta no es una roya
por lo tanto keta es larga
Cucufato estudia o Cucufato trabaja
Cucufato no estudia
por lo tanto Cucufato trabaja

1.3. LGICA PROPOSICIONAL

19

son igualmente vlidas, independientemente de que existan o no las ketas,


de que sean o no largas, de que Cucufato estudie o trabaje o incluso de que
exista alguien que se llame as.
Estas dos deducciones tienen la misma forma:

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

Es decir, cualquier proposicin que tenga la forma p p ser verdadera


independientemente del valor de verdad que tenga p.
La forma de las proposiciones va a estar determinada por cmo estn
dispuestos los conectivos {, , , , } , por lo que vamos a introducir
la denicin de forma proposicional para estudiar aquellas propiedades
que nicamente dependen de la manera en la que estn colocados dichos
conectivos lgicos:

Denicin 1.3.1 Llamaremos forma proposicional a cualquier expresin


formada por:

a) variables proposicionales tales como p, q , r, ...


b) los conectivos lgicos , , , ,
c) los parntesis (, )

20

CAPTULO 1. LGICA

y construida utilizando las siguientes reglas:


1. Cualquier variable proposicional es una forma proposicional
2. Si A y B son formas proposicionales, entonces tambin lo son (A) ,
(A B) , (A B) , (A B) y (A B)

En la prctica se suelen suprimir los parntesis en aquellos casos en los que


al hacerlo no se produce ambigedad. Sealar tambin que, como veremos
en la seccin 1.5, la regla 2 puede ser simplicada prescindiendo de algunos
de los conectivos.

Ejemplo 1.3.2 La expresin


p q
no es una forma proposicional (por ejemplo porque comienza por un conectivo
), mientras que la expresin

((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:

Ejemplo 1.3.3 Construccin de la tabla de verdad de la forma proposicional


(pq) r

1.3. LGICA 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
&

En segundo lugar se construye la primera la de la tabla teniendo en


cuenta dichos pasos:

p q

(pq) r

(pq) r

En tercer lugar establecemos todas las posibles situaciones de verdad o


falsedad de las primeras variables del enunciado que intervienen:
p
V
V
F
F

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

Ejercicio 1 Construir las tablas de verdad de las siguientes formas proposicionales:

1. (p q)
2. (p p)
3. (p p)
4. p (q r)
5. (p q) ((p) (q))

1.3.3 Tautologas y razonamientos vlidos


Denicin 1.3.4 Una forma proposicional es una tautologa si toma el

valor V cualquiera que sea la forma en que asignemos los valores V F a las

1.3. LGICA PROPOSICIONAL

23

variables proposicionales que en ella intervienen. Una forma proposicional


es una contradiccin si toma el valor F cualquiera que sea la forma en
que asignemos los valores V F a las variables proposicionales que en ella
intervienen.

Ejemplo 1.3.5 (p q) ((p) q) es una tautologa segn se sigue de su

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

Ejercicio 2 Probar que las siguientes formas proposicionales son tautologas:

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

Ejercicio 3 Probar que las siguientes formas proposicionales son tautologas:

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

Observacin 1.3.7 El hecho de que p (p q) implica lgicamente a q es


la regla de inferencia que se suele conocer como modus ponens.
La regla modus tolens es el hecho de que (p q) q implica lgica-

mente a p.

Denicin 1.3.8 Sean A y B dos formas proposicionales se dice que A


equivale lgicamente a B si la forma proposicional (A B) es una tautologa.

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 el valor de
verdad de A sea diferente del valor de B .
En otras palabras: si (A B) es una tautologa A es V si y solo si B es
V, y A es F si y solo si B es F.

1.3. LGICA PROPOSICIONAL

25

Ejercicio 4 Probar que los siguientes pares de formas proposicionales son

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

Del ejercicio 3 tenemos que:

(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))

Por otro lado el ejemplo 1.3.5 indica que p q es equivalente lgicamente


a p q .
Esta tabla de equivalencias lgicas pone de maniesto los siguientes resultados:
1. La equivalencia (p q) es V si y solo si las implicaciones (p q) y
(q p) son V .
2. La implicacin (p q) es lgicamente equivalente a su contrarrecproca
(q) (p).
3. El principio de reduccin al absurdo: la verdad de p es equivalente al
hecho de que su negacin p implique una contradiccin. Este hecho se
sustenta en la siguiente equivalencia lgica, presentada anteriormente:

equivale l
ogicamente a

((p) (q q))

26

CAPTULO 1. LGICA

Estas equivalencias lgicas nos permitirn presentar algunas tcnicas de


demostracin. Antes introduzcamos con precisin el sentido que tiene el
hecho de que un razonamiento sea correcto.

Denicin 1.3.9 Sean A1 , ..., An y B formas proposicionales. Se dice que


un razonamiento del tipo

de A1 , ..., An

se deduce

es correcto o lgicamente vlido si A1 ...An implica lgicamente B o, lo


que es lo mismo, si es imposible encontrar un caso en el que siendo verdaderas
las sentencias A1 ,...,An sea falsa la sentencia B . A las sentencias A1 ,...,An
las denominamos premisas o hiptesis y a la sentencia B conclusin o
tesis.
Para distinguir las premisas de la conclusin, el razonamiento anterior se
suele representar por

A1
..
.
An
B

Ejemplo 1.3.10 El siguiente razonamiento es correcto:


pq
p
q
Ya que ((p q) p) q es una tautologa.

Ejercicio 5 Determinar si el siguiente razonamiento es correcto:


(p (q r))
(q r)
p
q r

Ejercicio 6 Identicar adecuadamente las distintas conectivas lingsticas y


las variables proposicionales, obtener las premisas y la conclusin y estudiar
la validez de los siguientes razonamientos:

1.3. LGICA PROPOSICIONAL

27

1. H es un subgrupo si es no vaco, contiene al neutro y es cerrado para


la operacin. Si H es no vaco y cerrado para la operacin, entonces H
contiene al neutro. En consecuencia, si H es cerrado para la operacin,
H es un subgrupo.
2. Si a es un nmero perfecto entonces a es par y n es impar. a es par y
n no es impar. Por consiguiente a no es perfecto.
3. Si no hay huelga, o el sindicato miente o el ministro tiene razn. Hay
huelga o en caso contrario el ministro se equivoca. Por lo tanto el
sindicato no miente.

Ejercicio 7 Determinar si el siguiente razonamiento es correcto:


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.
De esta manera, a partir de proposiciones verdaderas (que inicialmente
conforman los axiomas) se pueden utilizar razonamientos vlidos para demostrar que una nueva proposicin es tambin verdadera. Veamos algunos
ejemplos de demostraciones tipo:

Demostraciones directas: se usan para probar que una sentencia


de la forma p q es verdadera para lo cual utilizamos la siguiente
tautologa recursivamente:
((p r) (r s)) (p s).
De esta manera si podemos construir una cadena nita de sentencias
verdaderas de la forma p p1 , p1 p2 , ..., pn q habremos demostrado que p q es verdadera.

Ejemplo 1.3.11 Demostremos que si x es un entero impar su cuadrado es


impar.
En efecto, si x es impar entonces existe un entero p tal que

x = 2p + 1

28

CAPTULO 1. LGICA

por la denicin de ser impar. Formalmente hemos demostrado que si la


proposicin q es x es impar y q1 es la proposicin existe p entero tal que
x=2p+1 entonces tenemos la veracidad de:

q q1 .
De hecho, por denicin de impar, q q1 .
Aplicando las reglas para hacer el cuadrado tenemos:

x2 = (2p + 1)2 = 4p2 + 4p + 1.


Esta es una implicacin q1 q2 donde q2 es la proposicin existe p entero
tal que x2 se puede escribir como x2 = 4p2 + 4p + 1.
Sacando factor comn obtenemos:

x2 = 2(2p2 + 2p) + 1.
Por lo que en efecto x2 es impar.

Ejercicio 8 Sean a, b dos nmeros naturales a, b N = {1, 2, 3...}. Se dene

que a > b si existe un nmero natural c N tal que a = b + c. Demostrar


que si a > b y b > c entonces a > c.

Demostracin por contrapositivo: consiste en utilizar la equivalencia lgica de las sentencias p q y q p.

Ejemplo 1.3.12 Vamos a demostrar, usando la demostracin por contrapositivo, la implicacin recproca del ejemplo anterior:

x2 impar implica x impar.


Debemos demostrar entonces que es verdadera la sentencia contrarrecproca:

x no impar implica x2 no impar.


O equivalentemente:

x par implica x2 par.

Lo que se hace mediante una demostracin directa idntica a la del ejemplo


anterior, cambiando la denicin de impar por la de par.

1.3. LGICA PROPOSICIONAL

29

Demostracin por reduccin al absurdo: consiste en utilizar la


equivalencia lgica escrita anteriormente. Esto es, suponer que la hiptesis es verdadera, la conclusin es falsa y llegar a una contradiccin.

Ejemplo 1.3.13 Demostramos el siguiente hecho: si a es un nmero real,


a > 0, entonces a1 > 0.
Usamos la propiedad de los signos que indica que el producto de dos nmeros reales es posisitivo si y solamente si o ambos son positivos o ambos
son negativos.
Supongamos que la conclusin es falsa y la hiptesis es verdadera, esto
es, a > 0 y a1 0. Es evidente que a1 6= 0 pues a a1 = 1. Por tanto, como el
producto a a1 = 1, entonces a < 0 en contradiccin con la hiptesis a > 0.
Demostracin por casos: cuando se tiene una implicacin del tipo
p a1 a2 ... an para demostrar que p q es suciente demostrar
que a1 q y que ... an q .

Ejercicio 9 Determinar la tautologa que justica el mtodo de demostracin por casos. Hacer la tabla de verdad para n = 2.

Ejemplo 1.3.14 Sea x N demostramos que el resto de dividir x2 entre 4

slo puede tomar los valores 0 1.


Como se tiene que si x N entonces x es par o x es impar, entonces
debemos probar que:
si x es par entonces se cumple la armacin y que
si x es impar entonces tambin se cumple la armacin.
En efecto, si x es par entonces existe p N de modo que

x = 2p
y por tanto

x2 = 4p2

de modo que x es mltiplo de 4, esto es, su resto al dividir por 4 es 0.


Y si x es impar entonces existe p N de modo que

x = 2p + 1
y por tanto

x2 = 4p2 + 4p + 1 = 4(p2 + p) + 1

por lo que el resto de dividir por 4 es 1.

30

CAPTULO 1. LGICA

Demostracin de dobles implicaciones: La demostracin de una


doble implicacin p q se convierte, mediante la equivalencia lgica
con (p q) (q p), en dos demostraciones. La de p q y la de
q p.

Ejemplo 1.3.15 Mirando los ejemplos presentados en la demostracin di-

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.

1.3.4 El mtodo de refutacin


El mtodo de refutacin sirve para determinar si una forma proposicional es
o no una tautologa sin necesidad de obtener su tabla de verdad completa.
Este mtodo consiste en intentar probar que la forma proposicional dada
no es una tautologa buscando aquellos valores de las variables proposicionales que hacen falsa la forma proposicional dada. Si vemos que esto es
imposible, la forma proposicional objeto de estudio ser necesariamente una
tautologa. En caso contrario no lo ser y habremos encontrado unos posibles
valores de verdad de las variables proposicionales que hacen que no lo sea.
Es importante sealar que este mtodo es especialmente fecundo debido
a que el mecanismo bsico que emplea consiste en reducir la frmula dada a
una expresin cada vez ms simple.

Notacin. Si A es una forma proposicional entonces A : V (respectivamente


A : F ) signica que consideramos la proposicin A verdadera (respectivamente falsa). Cuando la forma es una variable, digamos p, a veces escribiremos
p := V (resp. p := F ).

Ejemplo 1.3.16 Vamos a demostrar que la siguiente proposicin es una


tautologa utilizando el mtodo de refutacin:

((p q) (r q)) ((p r) q)


Supongamos que su valor de verdad es F y vamos a ir deduciendo los
valores de verdad que deben tener las variables proposicionales p, q y r para
que eso ocurra. Si

((p q) (r q)) ((p r) q) : F,


caben dos posibilidades, que iremos desarrollando paso a paso:

1.3. LGICA PROPOSICIONAL

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)

Luego f alla el intento de probar que no es una tautologa, o lo que es lo


mismo, no es posible asignar valores de verdad a las variables proposicionales
que intervienen de manera que la forma proposicional ((p q) (r q))
((p r) q) sea falsa, por lo que concluimos que dicha forma proposicional
es, efectivamente, una tautologa.

Ejemplo 1.3.17 La sentencia


((p q) q) p
no es una tautologa. En efecto, tomamos ((p q) q) : V y p : F . Como
((p q) q) : V entonces q : V y (p q) : V . Como p : F entonces
efectivamente (p q) : V . De este modo p : F y q : V hacen que la
sentencia sea F y por tanto no estemos ante una tautologa.

1.3.5 Conjuntos adecuados de conectivos en lgica de


proposiciones
Es posible, utilizando las equivalencias lgicas, expresar cualquier forma proposicional mediante una forma proposicional equivalente en la que nicamente aparezcan variables proposicionales y ciertos conectivos lgicos seleccionados como primitivos. As por ejemplo, no es difcil demostrar que para
cualquier forma proposicional A es posible encontrar una forma proposicional equivalente en la que los nicos conectivos que aparezcan sean los del

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).

Ejercicio 10 Comprobar que tanto {} como {|} son conjuntos adecuados


de conectivos. Para verlo expresar las formas proposicionales p q, p q y
p en funcin, en primer lugar, del conectivo {} y, en segundo lugar, en
funcin del conectivo {|}.

1.4 Lgica de predicados


1.4.1 Introduccin: predicados y objetos
Hay deducciones que se realizan habitualmente en matemticas para las que
no es posible analizar su validez dentro del mbito de la lgica de proposiciones. Por ejemplo, si consideramos la deduccin:
Todos los hombres son mortales
Scrates es un hombre
Scrates es mortal
e intentamos f ormalizarla (esto es, expresar su forma) en lgica de proposiciones, obtendramos:

p
q
r

1.4. LGICA DE PREDICADOS

33

por lo que no es un razonamiento vlido (tomando p : V , q : V y r : F ) en


contradiccin con nuestra intuicin. Necesitamos entonces una descripcin
ms na que permita distinguir los hombres (los objetos) de sus propiedades
(predicados).
Consideremos ahora la deduccin:
Todos los nmeros primos son impares
3 es un nmero primo
3 es impar
Si separamos las sentencias:

3 es primo
5 es primo
5 es impar
observamos que, aun siendo distintas, aparecen en ellas partes comunes:

en las dos primeras interviene la propiedad ser primo


en las dos ltimas interviene el objeto 5.
Estas sentencias pueden ser simbolizadas del siguiente modo:

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)

O en el ejemplo del comienzo:

x es mortal
x es hombre

M(x)
H(x)

Tambin es posible simbolizar de este modo propiedades que afectan a


varios objetos:

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

En lgica de predicados se distingue, pues, entre las propiedades (tambin


llamadas predicados ) y los objetos a los que dichas propiedades se reeren.
En lgica, y en general, en matemticas, se utilizan dos tipos de objetos:

las constantes, que son objetos concretos, formando un universo de


discurso, un conjunto U ,
las variables, que son objetos genricos que normalmente denotamos
con las letras x, y, z.... y que podrn sustituirse por objetos de U .
Por ejemplo, tomando el conjunto de los nmeros naturales U = N, el
1 es una constante y representa un elemento de N, mientras que podemos
escribir x, una variable que puede tomar cualquier valor natural.
La caracterstica esencial que diferencia las variables de las constantes es
que las variables pueden ser sustituidas por cualquier objeto del universo
de discurso en el transcurso de una deduccin.
Un predicado es entonces una sentencia que involucra variables de modo
que al ser sustituidas por constantes se convierte en una proposicin.
Por ejemplo, el predicado x es primo se convierte en una proposicin al
sustituir x por un nmero natural.
Los predicados se pueden representar por smbolos del tipo P (x), Q(x),
R(x)... que se denominan funciones proposicionales o tambin sentencias abiertas. Una vez que se haya asignado un valor adecuado a la variable
x la funcin proposicional P (x) da lugar a una proposicin de la que es posible armar si es verdadera o falsa. Por ejemplo, si P (x) :=x es primo
entonces P (3) es verdadera, y P (4) es falsa.
Por otra las funciones proposicionales pueden tener ms de una variable.
As por ejemplo, si Q(x, y, z) designa la sentencia x + y = z , tendremos que
las sentencias Q(1, 2, 3) y Q(2, 2, 4) son verdaderas y que Q(1, 2, 5) es falsa.

1.4. LGICA DE PREDICADOS

35

1.4.2 Los cuanticadores universal y existencial


Como hemos visto, una funcin proposicional (o sentencia abierta) puede dar
lugar a una proposicin (o, lo que es lo mismo, se puede cerrar) asignando
valores concretos del universo de discurso a las variables que en ella intervienen. Introducimos ahora otra manera de cerrar las sentencias abiertas,
usando los cuanticadores universal y existencial.
1) Consideremos la expresin: Para todo objeto x de un universo de discurso U se verica P (x). La frase para todo objeto x de U se denomina
cuanticador universal y se representa por x U .
Si la funcin proposicional P (x) resulta ser una proposicin verdadera
al sustituir la variable x por cualquier elemento del universo de discurso U ,
diremos que para todo elemento x de U la proposicin P (x) es verdadera.
Podemos escribir abreviadamente la siguiente sentencia que resulta ser verdadera:
x U P (x).

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 = 2), peroes falsa en el universo de discurso de los nmeros enteros


(U = Z ya que 2
/ Z).
Si el universo de discurso es nito, el cuanticador universal puede sustituirse por un nmero nito de conjunciones y el cuanticador existencial por
un nmero nito de disyunciones.
Por ejemplo, si los valores posibles de la variable x son a, b, c, (U =
{a, b, c}) la sentencia cerrada

x U P (x)
es, por denicin,

P (a) P (b) P (c)


y la sentencia

x U P (x)
es, por denicin,

P (a) P (b) P (c).


Estas deniciones muestran que los cuanticadores existencial y universal
son una forma abreviada de escribir los conectivos y .

1.4.3 Forma de predicados


Como en el caso de la lgica proposicional en la lgica de predicados observamos que la validez o no de ciertos razonamientos est en su forma. Sea por
ejemplo el razonamiento antes considerado, que intuitivamente se muestra
como vlido:
Todos los hombres son mortales
Scrates es un hombre
Scrates es mortal
Este razonamiento es el mismo, en su forma, que:
Todos los casos son resolubles
El caso Ncora es un caso
El caso Ncora es resoluble
Y se podra representar como:

1.4. LGICA DE PREDICADOS

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.

Paso 1. Comenzamos primero considerando funciones proposicionales, de la

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

aparece la variable x, digamos por simplicidad P (x), se pueden construir las


expresiones:
x P (x)

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.

Paso 4. Dos formas de predicado se pueden combinar usando conectivos


lgicos. Los parntesis son necesarios para evitar ambigedades. Estamos
considerando, por ejemplo, expresiones del tipo:

(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:

x(y Q(x, y))


x(P (x) (y Q(y)))

Paso 6. Dada una forma de predicado, cualquiera de sus variables libres

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.

Ejemplo 1.4.1 Una expresin de lgica de predicados es, por ejemplo:


(x P (x)) = (x Q(x)).
O el ejemplo que ilustraba el comienzo de la seccin:

(x P (x)) P (a).

Observacin 1.4.2 Cuando en un predicado aparece una variable afectada


por un cuanticador y simultneamente aparece tambin sin ser afectada por
ese mismo cuanticador, debe interpretarse que se est utilizando el mismo
nombre de variable para dos variables distintas.

1.4. LGICA DE PREDICADOS


el predicado

(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))

Recuperamos la denicin establecida anteriormente:

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

la(s) variable(s) aparece(n)

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.

Si en una forma no aparecen cuanticadores, al sustituir las variables


por constantes, la asignacin de valores de verdad se hace exactamente
como en lgica de predicados.

Ejemplo 1.4.4 Por ejemplo, tomemos la forma:


(P (x) Q(x)) R(y),
y constantes a y b. Al sustituir tenemos:

(P (a) Q(a)) R(b),


que es una expresin de lgica proposicional, donde P (a), Q(a) y R(b) son
variables proposicionales, y como tal se trata, pudindose construir su tabla
de verdad.

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.

Ejemplo 1.4.5 La sentencia x (P (x) (P (x))) es V . En efecto, ya que

para cada constante a en cada universo de discurso U se tiene que P (a)


P (a) es verdadera.

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)).

Ejemplo 1.4.6 La forma x (P (x) P (a)) (donde x una variable y a una


constante) es verdadera pues tomando la constante a, al sustituir la variable
libre x por a se obtiene la expresin (P (a) P (a)) que es verdadera.
Usando los signicados de los distintos conectivos lgicos podemos asignar valores de verdad a nuevas formas de predicado. Veamos un ejemplo.

Ejemplo 1.4.7 La siguiente sentencia es verdadera:


(x P (x)) (y P (y)).
En efecto si x P (x) es falso la implicacin es verdadera. Y si x P (x) es
verdadera entonces para cada constante a en cada universo, P (a) es verdadera, por lo que y P (y) es verdadera.
Para asignar valores de verdad a cualquier forma de predicado necesitamos el concepto de tautologa en lgica de predicados, que no es exactamente
igual que el que manejamos en lgica proposicional, y usar coherentemente
los signicados de los conectivos lgicos:

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.

1.4. LGICA DE PREDICADOS

41

Ejemplo 1.4.9 Siendo P (x) una funcin proposicional, el predicado P (x)


(P (x)) es una tautologa. Podemos argumentar ese hecho del siguiente
modo: puesto que, dependiendo del objeto concreto que coloquemos en lugar
de la x, P (x) ser V F , tenemos la tabla:
P (x)
V
F
Utilizando ahora P (x) junto con los conectivos lgicos y construimos
P (x) (P (x)). Teniendo en cuenta el signicado de dichos conectivos,
podemos completar la tabla de verdad obteniendo:

P (x) P (x) P (x) (P (x))


V
F
V
F
V
V

Ejercicio 11 Demostrar que la expresin


(P (x) (P (x))) Q(x, y)
es una tautologa.

Podemos ahora asignar un valor de verdad a la forma x P (x), donde


P (x) es una forma cualquiera y x es una variable libre, de la siguiente
manera: la sentencia x P (x) es V si P (x) es una tautologa, y F en
caso contrario.

Ejemplo 1.4.10 La sentencia (recordar que x es una variable y a, b son


constantes):

(x P (x, y)) P (a, b)

es V, puesto que :

a) Si (x P (x, y)) es V , P (x, y) es una tautologa, lo que signica que al


sustituir la variable x (respectivamente la y ) por cualquier objeto concreto,
digamos a (respectivamente b), del universo de discurso que se considere
obtenemos que P (a, b) verdadera, y por consiguiente

(x P (x, y)) P (a, b)


es V .
b) Si por el contrario (x P (x, y)) es F , la implicacin

(x P (x, y)) P (a, b)

es V.

42

CAPTULO 1. LGICA

Para asignar un valor de verdad a la expresin x P (x), donde P (x)


es una forma cualquiera y x es una variable libre , consideramos lo
siguiente: la sentencia x P (x) es V si P (x) no es una tautologa, y
F en caso contrario.
Es decir, x P (x) es V si hay un universo de discurso U y una constante
a U tal que P (a) es V .
Se establece entonces la equivalencia lgica siguiente:

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:

x P (x) (xP (x)).

Ejercicio 12 Probar que en cualquier universo de discurso, para toda funcin P (x), la siguientes sentencias son verdaderas:

(xP (x)) (xP (x))


(xP (x)) (xP (x))
El ejercicio anterior indica cmo negar adecuadamente las sentencias afectadas por cuanticadores. La negacin de la frase todo hombre es mortal no
es todo hombre es inmortal sino que existe un hombre que es inmortal.

1.4. LGICA DE PREDICADOS

43

Observacin 1.4.11 Para probar que (x U P (x)) es F basta encontrar

una constante a en U de modo que P (a) es F . A dicho a lo denominaremos


contraejemplo. Por ejemplo, sea U el conjunto de los nmeros naturales,
U = N, y el predicado P (x) :=x es primo o producto de exactamente dos
nmeros primos; la sentencia (x U P (x)) es F puesto que 30 no es primo
ni producto de exactamente dos primos. El nmero 30 es un contraejemplo
a la sentencia x U P (x).

1.4.4 Ejemplos de sentencias verdaderas. Contraejemplos


Veamos algunos ejemplos ms:

Proposicin 1.4.12 En cualquier universo de discurso establecido y para


cualquier predicado P (x, y) la siguiente sentencia es V :

(xyP (x, y)) (yxP (x, y))


Demostracin. Razonaremos por reduccin al absurdo, vamos a suponer que
la sentencia escrita es falsa y obtendremos una contradiccin:
Supongamos que (xyP (x, y)) (yxP (x, y)) es F . En ese caso se
tiene que (xyP (x, y)) es V y (yxP (x, y)) es F .
De la primera condicin se sigue que existe un objeto concreto a de un
universo de discurso tal que yP (a, y) es V . Por tanto P (a, y) es una tautologa.
De la segunda condicin se sigue que existe un objeto concreto b de un universo de discurso tal que xP (x, b) es F , o lo que es lo mismo, (x (P (x, b)))
es F . En consecuencia tendremos que x (P (x, b)) es V con lo que P (x, b)
tambin es una tautologa. Ahora bien, por ser P (a, y) una tautologa P (a, b)
es V , y por ser P (x, b) una tautologa, P (a, b) tambin es V , con lo que
hemos obtenido la contradiccin buscada.

Proposicin 1.4.13 No es cierto que para cualquier predicado P (x, y) la


siguiente sentencia es V independientemente del universo de discurso:

(xyP (x, y)) (yxP (x, y))

44

CAPTULO 1. LGICA

Demostracin. Basta encontrar un ejemplo en el que la forma escrita no sea


verdad, esto es, un contraejemplo:
Sea el predicado P (x, y):=x es estrictamente menor que y en el universo
de los nmeros naturales. En este universo, con este predicado se tiene:

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:

(xyP (x, y)) (yxP (x, y))


es falsa en este ejemplo.

Proposicin 1.4.14 En cualquier universo de discurso y para cualesquiera


que sean los predicados P y Q la siguiente sentencia es verdadera:

x (P (x) Q(x)) (xP (x)) (xQ(x)).


Demostracin. Como se trata de una dobre implicacin tenemos que probar:
i) x (P (x) Q(x)) (xP (x)) (xQ(x)) es V
y que
ii) (xP (x)) (xQ(x)) x (P (x) Q(x)) es V
i) Supongamos verdadera la sentencia x (P (x) Q(x)) . Sea a tal que

(P (a) Q(a))
es verdadera. Existen dos posibilidades:

Si P (a) es V entonces (xP (x)) es V y por tanto (xP (x)) (xQ(x))


es V .
Si Q(a) es V se razona anlogamente.

1.4. LGICA DE PREDICADOS

45

ii) Supongamos verdadera la sentencia (xP (x)) (xQ(x)). En ese caso


existen tambin dos posibilidades:

Si (xP (x)) es V entonces, siendo a un objeto tal que P (a) es V , resulta


que P (a) Q(a) es V y por tanto x (P (x) Q(x)) es V .
Si (xQ(x)) es V se razona anlogamente.

Proposicin 1.4.15 En cualquier universo de discurso y para cualquier par


de predicados P (x) y Q(x) la siguiente sentencia es verdadera

((xP (x)) (xQ(x))) x (P (x) Q(x)) .


Sin embargo no es cierto que en cualquier universo de discurso y para cualquier par de predicados P (x) y Q(x) la siguiente sentencia sea verdadera:

x (P (x) Q(x)) ((xP (x)) (xQ(x)))


Demostracin. Para demostrar la primera parte razonamos por reduccin al
absurdo: supongamos que ((xP (x)) (xQ(x))) es V y que x (P (x) Q(x))
es F . De la segunda condicin se deduce que existe un objeto a tal que
(P (a) Q(a)) es F , con lo que P (a) es F y Q(a) es F . En consecuencia
(xP (x)) es F y (xQ(x)) es F , es decir, ((xP (x)) (xQ(x))) es F .
Para demostrar la segunda parte pondremos un contraejemplo: sea el
universo de los nmeros naturales y los predicados P (x):=x es par y Q(x):=x
es impar. Sea la sentencia todo nmero natural es o bien par o bien impar, es
decir x(P (x) Q(x)). Esta sentencia es V . Sin embargo la sentencia todo
nmero natural es par o todo nmero natural es impar, esto es, xP (x)
xQ(x) es F .

Proposicin 1.4.16 En cualquier universo de discurso y para cualquier pre-

dicado P (x, y) la siguiente sentencia es verdadera

xyP (x, y) yx P (x, y)


Demostracin.
Demostramos primero la implicacin de izquierda a derecha.
Razonamos por reduccin al absurdo: supongamos que xyP (x, y) es V
y que yxP (x, y) es F . De la segunda condicin se sigue que existe b tal

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).

Ejercicio 13 Demostrar el siguiente hecho usando una demostracin por

contrapositivo: Si a 0 es un nmero real tal que para todo nmero real


positivo, > 0, se tiene 0 a < , entonces a = 0.

1.4.5 Modelizacin de expresiones en forma simblica


Veamos algunos ejemplos de como se expresan en lenguaje formal frases del
lenguaje natural.
La sentencia Todos tenemos exactamente un alma gemela se puede modelizar de la siguiente forma:
Sea G(x, y) la sentencia y es el alma gemela de x. La sentencia que
queremos modelizar dice que para cualquier persona x, existe otra y que es
su alma gemela y que cualquier otra persona z no es el alma gemela de x:

x y (G(x, y) z ((z 6= y) G(x, z)))

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

x [C(x) (y (A(x, y) F (y)))] .


Su negacin sera

x [C(x) (y (A(x, y) F (y)))]


que, segn sabemos, es lgicamente equivalente a

x [C(x) (y (A(x, y) F (y)))]

1.4. LGICA DE PREDICADOS

47

que a su vez es lgicamente equivalente a

x [C(x) (y (A(x, y) F (y)))]


que a su vez es lgicamente equivalente a

x [(C(x)) (yA(x, y) F (y))]


que a su vez es lgicamente equivalente a

x [C(x) (y (A(x, y) F (y))]


que a su vez es lgicamente equivalente a

x [C(x) (y (A(x, y) F (y))] .


Es decir, la negacin de la sentencia es

Existe algn alumno de esta clase que o no ha aprobado ningn examen


(y (A(x, y))) o, si lo ha aprobado, no ha sido en febrero.
Si preferimos quedarnos con la sentencia lgicamente equivalente a sta de
la penltima lnea se podra leer
existe algn alumno de esta clase que no ha aprobado ningn examen en
febrero.

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

Ejercicio 15 Sea xn una sucesin de nmeros reales. Sea R+ el conjunto


de los nmeros reales positivos y N el conjunto de los nmeros naturales. Se
dice que
lim(xn ) = a si R+ (n N(m N(m > n |xm a| < ))).
Escribir una sentencia que indique formalmente que lim(xn ) 6= a.

48

CAPTULO 1. LGICA

1.5 El razonamiento por induccin


En esta seccin revisamos una de las tcnicas ms potentes que emplearemos
con frecuencia para demostrar propiedades de objetos discretos (complejidad
de algoritmos, teoremas sobre grafos, etc...)
El conjunto N de los nmeros naturales es un conjunto caracterizado por,
entre otras, la siguiente propiedad (volveremos sobre esto en el captulo 3):

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:

Proposicin 1.5.1 Sea P (x) una propiedad de manera que


1. P (1) es verdadera
2. n N se verica que (P (n) P (n + 1)) es V
En estas circunstancias, la sentencia (n N P (n)) es V .
Demostracin. Sea A = {n N |P (n) es V }. La demostracin consiste en
ver que A = N.
De las hiptesis se sigue que 1 A. Para ver que A = N slo queda por
demostrar que si n A entonces (n + 1) A. Supongamos que n A; en
ese caso P (n) es V , y por la hiptesis 2 (P (n) P (n + 1)) es V , con lo
que P (n) (P (n) P (n + 1)) es V , y puesto que la sentencia p (p q)
implica lgicamente a la sentencia q, concluimos que P (n + 1) es V o, lo que
es lo mismo, que (n + 1) A. Esto concluye que N = A.
El razonamiento por induccin se puede ver intuitivamente del siguiente
modo: como P (1) es V , y P (1) P (2) es V , ya que es un caso particular de
(P (n) P (n + 1)), podemos concluir que P (2) es V . Siendo P (2) verdad,
como P (2) P (3) es V , podemos concluir que P (3) es V y as sucesivamente. Como lo que se pretende es probar que P (n) es V para cada n natural
es suciente observar que, por muy grande que sea n, se puede repetir el argumento anterior tantas veces como sea necesario, pero siempre un nmero
nito de veces (exactamente n), y concluir que P (n) es V .

1.5. EL RAZONAMIENTO POR INDUCCIN

49

Observacin 1.5.2 Es usual, al hacer un razonamiento por induccin, em-

plear la siguiente jerga:

P (1) es V es la base de induccin


n N (P (n) P (n + 1)) es el paso de induccin
Normalmente se hace una demostracin directa del paso de induccin.
La suposicin de que P (n) es V para cierto n jo es conocida como

hiptesis de induccin.

Ejemplo 1.5.3 Cualquier tablero cuadriculado de 2n 2n casillas iguales al


que se le ha quitado una casilla puede cubrirse con piezas de tres casillas en
forma de L sin que se solapen.
Para demostrarlo razonamos por induccin sobre n:

Base de induccin: P(1) es la proposicin: Un tablero 2x2 al que se le


ha quitado una casilla puede cubrirse con piezas de tres casillas en forma
de L. Est claro que en este caso con una sola pieza basta y la sentencia es
verdadera.

Paso de induccin: Supongamos que para tableros de 2n 2n casillas hay

solucin. Si ahora consideramos un tablero de tamao 2n+1 2n+1 , podemos


descomponerlo en cuatro tableros de tamao 2n 2n dividindolo por la mitad
longitudinal y transversalmente. Como en el tablero inicial falta una casilla,
en una de las cuatro partes en que lo hemos dividido falta una casilla. En
las otras tres partes quitamos la casilla de la esquina que se encuentra en el
centro del tablero. De esta forma las tres casillas que quitamos forman una
L. Ahora en cada una de las cuatro partes tenemos un tablero de tamao
2n 2n al que le falta una casilla. Por tanto, por la hiptesis de induccin,
podemos rellenar cada uno de ellos con piezas en forma de L por separado.
Para acabar de rellenar el tablero original solo basta aadir una L en el hueco
central formado por las tres casillas que hemos quitado.

Ejercicio 16 Demostrar, razonando por induccin, la validez de las siguientes

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)!.

Ejercicio 17 Demostrar por induccin que en efecto es una tautologa la


sealada en el ejercicio 9.

1.5.1 Razonamiento por induccin completa


El razonamiento por induccin completa es equivalente al razonamiento por
induccin, en el sentido de que cualquier demostracin por induccin se puede
realizar por induccin completa y recprocamente, aunque hay casos en los
que, por simplicidad, es conveniente emplear uno u otro mtodo. Se trata de
demostrar la validez de una sentencia de la forma

(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):

Base de induccin: P (1) es V .


Paso de induccin: Se demuestra que n N (P (1) ... P (n)
P (n + 1)) es V .
Como en el caso del razonamiento por induccin la conclusin es que la
sentencia (n N P (n)) es V .

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:

Base de induccin: P(2) es verdadera pues 2 es primo.


Paso de induccin: Supongamos que los nmeros 2, ..., n son primos o

producto de primos. Si n+1 es primo, hemos acabado. En caso contrario


n+1 es compuesto, es decir n+1 = pq , con 1 < p < n + 1 y 1 < q < n + 1.
Por hiptesis de induccin p y q son primos o producto de primos, y, en
consecuencia n+1 tambin lo es .

1.5. EL RAZONAMIENTO POR INDUCCIN

51

Obsrvese que en este caso la demostracin por induccin en lugar de


induccin completa es ms complicada ya que no podramos armar, por
hiptesis de induccin, que p y q son primos o producto de primos. Esto
slo lo podramos armar para n pues la hiptesis de induccin es P (n) y no
P (1)...P (n).

1.5.2 Induccin estructural


El mtodo de induccin ordinaria se apoya en el hecho de que dado un nmero
natural n, su sucesor n + 1 es nico. La induccin estructural es una generalizacin de la induccin ordinaria que tiene lugar cuando, teniendo en cuenta
la estructura de los objetos que se estn considerando, el paso de induccin
de un elemento al siguiente puede producirse en ms de una direccin.
Este mtodo es una herramienta utilsima para el tratamiento de muchos
objetos que aparecen en el mbito de las ciencias de la computacin, en
particular en la teora de lenguajes formales y en la semntica de los lenguajes
de programacin.
El mtodo consiste en denir en primer lugar una cierta construccin,
como por ejemplo un programa en Pascal inductivamente, y demostrar alguna
propiedad del programa por induccin sobre el nmero de aplicaciones de las
reglas del programa.

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

En estas condiciones, para comprobar la ley

am+n = am an
jamos m arbitrario y razonamos por induccin (estructural) en n:

Base de induccin: para n = 0,


am+0 = am = am 1 = am a0 .

Paso de induccin: Supongamos vlida la ley para n. Tenemos que de-

mostrar que en ese caso la ley tambin es vlida para (n + 1) y para (n 1):

am+(n+1) = a(m+n)+1 = am+n a =


= (am an ) a = am (an a) = am an+1 ,
donde la igualdad tercera es la hiptesis de induccin. Y tambin:

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).

Teorema: Para toda forma proposicional C se verica:


comp(C) = C.
Demostracin. Razonamos por induccin estructural:

1.5. EL RAZONAMIENTO POR INDUCCIN

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(A B) = comp(A) comp(B) =


= A B = (De M organ) =
= (A B) = C.
Donde la segunda igualdad es verdadera por hiptesis de induccin.
Si C = A B, tendremos que

comp(A B) = comp(A) comp(B) =


= A B = (De M organ) =
= (A B) = C.
Donde la segunda igualdad es verdadera por hiptesis de induccin.
Si C = A entonces por las leyes de De Morgan A admite una forma
equivalente, que denotamos igual, con el mismo nmero de conectivos del tipo
o . De este modo, por hiptesis de induccin:

comp(C) = comp(A) = (A) = A = C.


Por consiguiente, concluimos, como queramos demostrar, que para cualquier forma proposicional se tiene:

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

un lenguaje diseado para este propsito. A este tipo de lenguajes se les


denomina lenguajes de especicacin.
En cualquier caso el objetivo de este apartado es remarcar el papel que
juega la induccin en las iteraciones y recursiones que se emplean en muchos
lenguajes de programacin, para lo que incluimos algunos ejemplos para ilustrar las ideas.

Ejemplo 1.6.1 Consideremos el siguiente fragmento de programa, diseado

para calcular el producto de dos nmeros naturales a y b utilizando slo la


suma, la multiplicacin por 2 y la divisin por 2:

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

es decir, el output es 286=1126.


Este programa particular tiene una estructura muy simple: despus de
asignar el valor 0 a la variable r, ejecuta la iteracin while hasta que la
variable m toma el valor 0. Probaremos por induccin sobre k que, despus
de k ejecuciones de la iteracin while, los valores que alcanzan m, n y r
satisfacen la igualdad:
m n + r = ab

56

CAPTULO 1. LGICA

Base de induccin: si k = 0, es decir, si estamos justo antes de que la

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 =

b2 = 2b1 y c2 = c1 , por lo que

a1
2b1 + c1 = ab.
2
(a1 1)
,
2

b2 = 2b1 y c2 = c1 + b1 , por lo que

(a1 1)
2b1 + c1 + b1 = a1 b1 b1 + c1 + b1 = ab
2

con lo que la demostracin por induccin est completa.


Una vez realizada esta demostracin podemos asegurar que el programa
(en este caso el fragmento de programa) es correcto parcialmente ya que si
el programa termina, entonces da la respuesta correcta. El otro ingrediente
de la demostracin de correccin es la terminacin. Para que el programa
sea correcto, tenemos que demostrar que el programa siempre termina.
Examinando la clausula while, vemos que el programa termina slo cuando m toma el valor 0, y por otro lado en cada iteracin de la clausula while
el valor de m decrece. Esto signica que, como mximo en la repeticin msima, tomar el valor 0, por lo que podemos asegurar que el programa es
correcto.

1.6. APLICACIONES

57

1.6.2 Ingeniera del conocimiento: sistemas expertos


Un sistema experto es un sistema informtico diseado para resolver problemas en un rea especca, y al que de algn modo se le ha dotado de
una competencia similar a la de un experto humano de ese rea. As por
ejemplo, MYCIN es un sistema experto en diagnstico y tratamiento de un
nmero muy reducido de enfermedades infecciosas de la sangre, y PROSPECTOR es un sistema experto en determinar la probabilidad de la existencia
de yacimientos de ciertos minerales a partir de las pruebas realizadas sobre
el terreno.
Segn el caso, el objetivo de un sistema experto puede ser el de sustituir
al experto humano o el de ayudar a los expertos humanos a tratar con volmenes de informacin que desbordan su capacidad. En cualquier caso el
objetivo nal es el mismo de todas las aplicaciones informticas: relevar al
hombre de tareas mecnicas y proporcionarle instrumentos amplicadores de
sus capacidades mentales. Los sistemas expertos se construyen siguiendo una
concepcin modular. Por una parte se construye una base de conocimientos
o base de hechos y por otra se desarrollan los procedimientos que permiten
manipular esa base para obtener una respuesta con datos concretos (motor
de inferencia). Los problemas que surgen en relacin con estos dos apartados han dado lugar a un rea de trabajo que se conoce como ingeniera del
conocimiento.
En este apartado veremos cmo se utilizan las expresiones lgicas para
representar el conocimiento y, en particular y para no complicar mucho la
exposicin, las sentencias de la lgica proposicional.
Un sistema de produccin es un modelo de computacin que distingue tres
componentes: una base de hechos, una base de conocimientos y un motor
de inferencias. La base de comocimientos no es necesariamente una base de
datos en el sentido informtico habitual: segn el sistema puede ser desde
una tabla de nmeros hasta una base de datos en sentido propio.
Las reglas de produccin se aplican sobre la base de hechos, cambiando su
estado y el sistema de control gobierna estos procedimientos y aplicaciones
y hace que la computacin se detenga cuando el estado de la base de datos
satisface alguna condicin de terminacin predenida.
La base de hechos contendr los hechos iniciales y los que se vayan obteniendo como consecuencias en el proceso inferencial. Las reglas de produccin
son pares ordenados (A,B). Segn el tipo de sistema se denominan antecedente y consecuente, condicin y accin o premisa y conclusin. Su formalizacin

58

CAPTULO 1. LGICA

lgica es la de las sentencias condicionales AB. Por ejemplo, en la base de


conocimientos del sistema XCON hay unas 2500 reglas. Una de ellas es:

Si el contexto actual es el de asignar una fuente de alimentacin,


y se ha colocado un mdulo SBI en un armario,
y se conoce la posicin que ocupa el mdulo,
y se dispone de una fuente de alimentacin,
entonces colocar la fuente en dicha posicin.
Es claro que, independientemente del signicado de esas expresiones en el
contexto de dicho sistema, la regla se puede formalizar mediante la sentencia:

(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

[(g (u)) a] [(g (u)) c] [(r (u)) a] [(r (u)) c]

1.6. APLICACIONES

59

y en consecuencia se podra descomponer en las siguientes:

R2a
R2b
R2c
R2d

:
:
:
:

(g (u)) a
(g (u)) c
(r (u)) a
(r (u)) c.

Ante una situacin concreta en la que se hace una consulta al sistema, se


tiene la evidencia de que un subconjunto de esos hechos son verdaderos y se
trata de encontrar qu otros hechos pueden inferirse de esa certidumbre y de
las reglas.
Si por ejemplo hicisemos una consulta al sistema sobre un paciente que
satisface los hechos f, t, m y u, el sistema tratara de aplicar las reglas
para ver qu terapia habra que aplicar. As pues, sabiendo que tenemos los
hechos f, t, m y u, podemos hacer las siguientes inferencias, usando la regla
de inferencia modus ponens:

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

Ejercicio 19. Determina si el siguiente razonamiento es correcto: todo


estudiante de esta clase mide menos estrictamente que 1.70 o ms de 1.70.
Pedro mide ms de 1.70 luego es de esta clase.

Ejercicio 20. Sea X el conjunto de pases e Y el conjunto de deportes

olmpicos. La sentencia M (x, y) signica que el pas x X ha ganando


una medalla en el deporte y Y . Escribe las siguientes frases utilizando

1.7. EJERCICIOS

61

cuanticadores, evitando la aparicin de un signo de negacin delante de un


cuanticador:
Ningn pas ha ganado todas las medallas.
Todos los pases han ganado alguna medalla.
Algn pas ha ganado alguna medalla.
Algn pas no ha ganado ninguna medalla.

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)

Ejercicio 22. Escribe formalmente las siguientes frases y su negacin en


lenguaje formal y en lenguaje natural:
Si vale menos de 1000 pts, comer en la cafetera.
Todos los habitantes de Madrid viajan en metro.
Ningn habitante de Mstoles coge el autobs.
Hay personas en todas las ciudades que usan el transporte pblico.

Ejercicio 23. Demuestra por induccin las siguientes armaciones:


12 + 22 + ... + n2 = n(n + 1)(2n + 1)/6.
2n > n + 1 para cada entero mayor o igual que 2.
xn y n es divisible por x y para todo natural n.

Ejercicio 24. Poner un ejemplo distinto al de las notas de una senten-

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.

Ejercicio 27. Demuestra por reduccin al absurdo las siguientes armaciones:

2 no es racional,
si un nmero real x es racional entonces + x no es racional.

Ejercicio 28. Escribe en lenguaje formal los siguientes razonamientos de-

mostrando si son correctos:


Si salgo a la calle me visto. Salgo a la calle, por tanto voy vestido.
La comida incluye el primer plato y el segundo, por tanto incluye el
primer plato.
Venda es una palabra de gnero femenino, por tanto venda es femenino y singular.
Si vale menos de 1000 pts. tengo dinero suciente. Si tengo dinero
suciente lo comprar. Vale menos de 1000 por tanto lo compro.

1.8 Ejercicios resueltos


Los ejercicios 1, 2, 3, 4 y 18 se presentan resueltos con Maple.

1.8.1 Lgica con Maple


El programa Maple permite trabajar algunos aspectos de lgica, que se cargan
con el paquete logic.

restart; with(logic);
Nos interesan en este momento algunas de estas funciones:

>

bequal (B1,B2) - comprobacin de la equivalencia lgica de las expresiones B1 y B2.

1.8. EJERCICIOS RESUELTOS

63

tautology(B) - comprobacin si la expresion B es una tautologa.


convert/toinert - para poder evaluar.
bsimp(A)- simplica una expresin.
Para obtener ms informacin sobre facilidades lgicas de Maple se puede
consultar la ayuda.
>

?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).
>
>

bequal(&not(p &or q), (&not p) &and (&not


q));
true

Aunque el conectivo implies no est, s hay una funcin implies. La


implicacin p implies q es equivalente a not p or q.
>

bequal(p &implies q, &not p &or q);


true

Podemos hacer un procedimiento para tener el conectivo implicacin


(impl) y la doble implicacin (la vamos a llamar dimpl). Recordemos que
p dimpl q es equivalente a (p impl q) and (q impl p).

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

Veamos algunos ejemplos donde se comprueba que ciertas expresiones son


tautologas. La funcin convert/toinert pone los smbolos & para que se
pueda evaluar:

Ejercicio 2.

Escribimos las formas proposicionales:

ej2_1:=impl(p and impl(p,q),q):


ej2_2:=impl(impl(p,q) and
>
impl(q,r),impl(p,r)):
>
ej2_3:=impl(impl(p,q) and impl(not
>
p,q),q):
>
ej2_4:=impl((p or q) and (not p),q):
>
ej2_5:=impl(p and not p, q):
Comprobamos que son tautologas:
>
tautology(convert(ej2_1,toinert));
>
>

true
>

tautology(convert(ej2_2,toinert));
true

>

tautology(convert(ej2_3,toinert));
true

>

tautology(convert(ej2_4,toinert));

1.8. EJERCICIOS RESUELTOS

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):
>

A:=impl(p,q) and impl(q,p);


A := ( not p or q) and ( not q or p)

>

A1:=dimpl(p,q);
A1 := ( not p or q) and ( not q or p)

>

bequal(convert(A,toinert),convert(A1,toinert));
true

2. La equivalencia entre una sentencia y su contrarrecproca:


>

A:=impl(p,q);
A := not p or q

>

B:=impl(not q, not p);


B := q or not p

>

bequal(convert(A,toinert),convert(B,toinert));
true

3. Otra forma de ver la implicacin: p implica q es equivalente a que p


and not q implica not p:
>
>

B:=dimpl(impl(p,q),impl(p and not q,not


p));

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:
>

E:=dimpl(p,impl(not p,q and not q));


E := true

Ejercicio 4.

Doble negacin:
>

dimpl(not(not q),q);
true

And es asociativo:
>
>
>
>

Andasociativo:=dimpl((p and q) and r,p


and (q
and r)):
tautology(convert(Andasociativo,toinert));
true

Or es asociativo:
>
>
>

Orasociativo:=dimpl((p or q) or r,p or (q
or
r)):

1.8. EJERCICIOS RESUELTOS


>

67

tautology(convert(Orasociativo,toinert));
true

And es conmutativo:
>

Andconmuta:=dimpl((p and q),(q and p)):

>

tautology(convert(Andconmuta,toinert));
true

Distributivas:

>

dist1:=dimpl(p and (q or r),(p and q) or


(p
and r)):
dist2:=dimpl(p or (q and r),(p or q) and
(p
or r)):

>

tautology(convert(dist1,toinert));

>
>
>
>
>

true
>

tautology(convert(dist2,toinert));
true

Leyes de de Morgan:
>

dimpl(not(r and q),not r or not q);


true

>

dimpl(not(r or q),not r and not q);


true

Las restantes son obvias.


Ejercicio 1. Para hacer tablas de verdad hay que construir un pequeo
procedimiento en Maple. Se construyen para una, dos y tres variables y los
nombres de las variables los da el nombre del procedimiento.

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);
>
>

1.8. EJERCICIOS RESUELTOS

p = true, q = true, A = false


p = true, q = false, A = false
p = false, q = true, A = false
p = false, q = false, A = true
>

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

p = false, q = false, r = true, A = true


p = false, q = false, r = false, A = true
>

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:=impl((p or not q) and m,m);


ej18 _1 := not ((p or not q) and m) or m

>

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

1.8. EJERCICIOS RESUELTOS

71

p = false, q = true, r = false, A = true


p = false, q = false, r = true, A = true
p = false, q = false, r = false, A = true
En el apartado 2 no hay problemas con los nombres de las variables:
>

ej18_2:=impl(not q and impl(p,q),not p);


ej18 _2 := not ( not q and ( not p or q) and p)

>

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:

En los apartados 3) y 4) hay que cambiar los nombres de m y n por q y


>

ej18_3:=impl(impl(p,m or n),m):

>

ej18_3:=subs(m=q,n=r,ej18_3):

>

ej18_4:=impl(impl(p,m and n),m):

>

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

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
>

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.

Se trata de demostrar que la proposicin siguiente P es una tautologa:

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.

1.8. EJERCICIOS RESUELTOS

73

Ejercicio 6.

1) Sea p := H es un subgrupo, q := (H 6= ), r :=el elemento neutro


pertenenece a H, s := H es cerrado. La primera hiptesis es:

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.

3) Si h es hay huelga, s es el sindicato miente y r es el ministro tiene razn


entonces el razonamiento que se presenta no es correcto porque la siguiente
proposicin no es una tautologa:

(h s r) (h (h r)) s.

Ejercicio 7. Sean p := Jos gan la carrera, q :=Pedro fue el segundo,


r :=Ramn fue el segundo y s :=Carlos fue el segundo.
El razonamiento que se presenta es correcto porque la siguiente proposicin es una tautologa:
((p q r) (q p) (s r) p) s.
En efecto, como la ltima hiptesis es p podemos suponer que p es verdadero.
Como p es verdadero la primera hiptesis dice que o bien q es verdadero o lo
es r. La segunda hiptesis indica que si q es verdadero entonces p es falso, por

74

CAPTULO 1. LGICA

tanto no se puede dar q verdadero. Entonces r es verdadero. La sentencia


contrarrecproca de la tercera hiptesis indica que si r es verdadero entonces
s es verdadero, como queramos demostrar.

Ejercicio 8. Si a > b entonces existe un nmero natural d tal que a = b + d.

De igual manera si b > c entonces existe un nmero natural d0 tal que b =


c + d0 . De este modo usando ambas igualdades se puede escribir

a = b + d = (c + d0 ) + d = c + (d + d0 )
con lo que efectivamente se verica a > c.

Ejercicio 9. La tautologa que justica el mtodo de demostracin por casos


es:

((p a1 ... an ) (a1 q) ... (an q)) (p q).


En el caso particular de n = 2 se tiene:

((p a1 a2 ) (a1 q) (a2 q)) (p q).


Cuya tabla de verdad est efectivamente formada slo por V.

Ejercicio 10. El ejercicio es consecuencia de las siguientes equivalencias


lgicas:

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

Ejercicio 11. Como la hiptesis P (x)P (x) es siempre falsa la implicacin

es siempre verdadera.

1.8. EJERCICIOS RESUELTOS

75

Ejercicio 12. Se deducen directamente de la tautologa:


x P (x) (xP (x))
en el primer caso aplicndola a P (x) y en el segundo caso tomando la
equivalencia de las negaciones.

Ejercicio 13. Razonamos demostrando la sentencia contrarrecproca: si

a 6= 0, como es a 0 entonces se tiene a > 0. De este modo tomando = a


se verica que existe vericando 0 < a.

Ejercicio 14.

1) Sea el universo U de las personas y los predicados E(x) = ser espaol


y P (x) = ser periodista:

(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, q R p < q s Q p < s < q


Su negacin es:

p, q R p < q s Q ((s q) (s p)).


Esto es, existen dos nmeros reales p, q sin nmeros racionales entre ellos.
5) Sea P el conjunto de los nmeros primos:

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.

Ejercicio 15. El lim(xn ) 6= a si


( R+ (n N(m N(m > n |xm a| < ))))
o equivalentemente, usando la equivalencia lgica entre la implicacin p q
y p q :
> 0 n m > n |xm a| > .

Ejercicio 16. Demostraciones por induccin:


i) 1 + ... + n = n(n + 1)/2.
Base de induccin: en efecto se cumple que 1 = (1 2)/2.
Paso de induccin: usando la hiptesis de induccin se tiene:

1 + ... + n + (n + 1) = (1 + .. + n) + (n + 1) = n(n + 1)/2 + (n + 1).


Y es una comprobacin vericar la igualdad de polinomios:

n(n + 1)/2 + (n + 1) = (n + 1)(n + 2)/2.

ii)

nk=1 (2k 1) = n2 .

1.8. EJERCICIOS RESUELTOS

77

Base de induccin: en efecto se cumple que 1 = 1.


Paso de induccin: usando la hiptesis de induccin se tiene:
n
2
n+1
k=1 (2k 1) = k=1 (2k 1) + (2n + 1) = n + 2n + 1.

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.

Ejercicio 17. Base de induccin: ((p a1 ) (a1 q)) (p q) es una

tautologa como vimos en los apuntes.


Paso de induccin: Es una consecuencia inmediata de la equivalencia
lgica:

(p a1 ... an an+1 ) ((p a1 ... an ) (p an+1 )).

Ejercicio 19. Sea x U donde U es el conjunto de estudiantes. Sea R(x) : el


estudiante x es de esta clase. Sea P (x) : El estudiante x mide estrictamente
menos que 1.70. El razonamiento se puede simbolizar en la forma

(H1 H2 ) T
donde

H1 := x U R(x) )P (x) P (x)).


H2 := P (a)
T := R(a)

78

CAPTULO 1. LGICA

y donde a representa a Pedro. Observamos que H1 es siempre V y que


tomando R(a) := F y P (a) := F se tiene que el razonamiento no es vlido.

Ejercicio 20.

Ningn pas ha ganado todas las medalla:

(xy M (x, y).


O equivalentemente

xyM (x, y).


Todos los pases han ganado alguna medalla: xy M (x, y).
Algn pas ha ganado alguna medalla: xy M (x, y).
Algn pas no ha ganado ninguna medalla xy M (x, y).

Ejercicio 21. P (2, 3) : F , P (5, 10) : V , P (2, 3) P (5, 10) : F , P (2, 3)

P (5, 10) : V , P (2, 3) P (5, 10) : V , m N m N P (m, n) : F ,


m N n N P (m, n) : V ,n N m N P (m, n) : F , n N P (1, n) :
V, m N P (m, 1) : F .

Ejercicio 22.

Si vale menos de 1000 ptas, comer en la cafetera.


Sea U el conjunto de posibles precios de la comida. Sea P (x) : x < 1000.
Sea q : comer en la cafetera. Nuestra frase es, en lenguaje formal, P (x) q .
Su negacin es (P (x) q), que es lgicamente equivalente a (P (x) q).
Por la ley de de Morgan, esto es equivalente a P (x)q. En lenguaje natural:
vale menos de 1000 ptas y no como en la cafetera.
Todos los habitantes de Madrid viajan en metro.
Sea U el conjunto de habitantes de Madrid. Sea P (x) : x viaja en metro.
La frase es en lenguaje formal x U ; P (x). Su negacin es x U P (x)
que es lgicamente equivalente a x U P (x). En lenguaje natural:
existe algn habitante de Madrid que no viaja en metro.
Ningn habitante de Mstoles coge el autobs.
Sea U el conjunto de habitantes de Mstoles. Sea P (x) : x coge el autobs.
La frase es en lenguaje formal (x U P (x)). Su negacin es x U P (x).
En lenguaje natural:
existe algn habitante de Mstoles que coge el autobs.
Hay personas en todas las ciudades que usan el transporte pblico.

1.8. EJERCICIOS RESUELTOS

79

Sea U el conjunto de personas y V el conjunto de ciudades. Sea P (x, y) :


La persona x usa el transporte pblico en la ciudad y . Entonces, en lenguaje
formal, nuestra frase es y V x U P (x, y). Su negacin es y
V x U P (x, y), que es lgicamente equivalente a y V x U P (x, y)
equivalente a su vez a y V x U P (x, y). En lenguaje natural:
hay ciudades en las que ninguno de sus habitantes usa el transporte pblico.

Ejercicio 23. a)
P (n) :

n
X

k2 =

k=1

n(n + 1)(2n + 1)
6

Veriquemos la base de induccin P (1). Por una parte,


1
X

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 2 + (n + 1)2 = (por hiptesis de induccin)

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

lo que implica que, en efecto, es P (n + 1) verdadero. Por induccin, n N,


P (n) es V .
b)

80

CAPTULO 1. LGICA

P (n) : 2n > n + 1 para n 2.


Nuestro argumento comienza en n = 2. Por tanto, la base de induccin la
podemos tomar como P (2). P (2) es V , ya que 22 > 2 + 1. La hiptesis de
induccin es que P (n) es V . Veriquemos que bajo esta hiptesis, es P (n+1)
verdadera:
2n+1 = 2n 2 > (por hiptesis de induccin)

> (n + 1) 2 = n + 2 + n > n + 2 = (n + 1) + 1
Luego n N, P (n) es V .
c)

P (n) : xn y n es divisible por x y


La base de induccin es V , ya que x y es divisible por x y (obvio). La
hiptesis de induccin es que xn y n es divisible por xy . Veamos si P (n+1)
es V :

xn+1 y n+1 = x(xn y n ) + (x y)y n


que es claramente divisible por (x y) si lo es (xn y n ). Por induccin,
n N, P (n) es V .

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).

Ejercicio 25. Hay cuatro casos:

a) x 0, y 0. Entonces xy 0 y se tiene |xy| = xy = |x| |y|.


b) x < 0, y 0. Entonces xy 0 y se tiene |xy| = xy = (x)y = |x| |y|.
c) x 0, y < 0. Entonces xy 0 y se tiene |xy| = xy = x(y) = |x| |y|.
d) x < 0, y < 0. Entonces xy > 0 y se tiene |xy| = xy = (x)(y) =
|x| |y|.

Ejercicio 26. Todo entero mayor que 17 es el cuadrado de un nmero entero.


Por ejemplo, el 21 no es el cuadrado de un entero, ya que 42 = 16 es menor
que 21 y 52 = 25 es mayor.

Todo entero mayor que 6 es mltiplo de 2 de 3. El 23 es primo.

1.8. EJERCICIOS RESUELTOS

81

100n + 1 > n2 . Basta tomar n sucientemente grande. Por ejemplo,


n = 1000.

Ejercicio 27. Si 2 es racional entonces existen p, q N primos entre s de


modo que

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.

Ejercicio 28. a) Sea p :=salgo a la calle y q :=me visto. Entonces, el


razonamiento es

[(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

tediosas o complejas cuentas u otros procedimientos donde habitualmente


el tiempo y la probabilidad de error al realizarse por una persona son muy
grandes.
El cliente plantea un problema que se puede formular en trminos precisos
y el informtico hace riguroso el planteamiento del problema, estudia si
presenta solucin, disea un procedimiento para buscar dicha solucin,
demuestra que su mtodo resuelve el problema y estudia la eciencia de
dicho mtodo.
Problema real
Planteamiento formal
Presenta solucin
Algoritmo que da la solucin
Demostracin
Estudio de la eciencia
En el tema anterior se introdujo el lenguaje de la lgica como ejemplo de
lo que quiere decir ser riguroso y formalizar el enunciado de un problema.
En este tema analizaremos las siguientes etapas del proceso: construccin
de algoritmos, demostracin de su solvencia y estudio de su eciencia, introduciendo el concepto de complejidad y su formalizacin matemtica.
Denamos el concepto de algoritmo, poniendo el acento en los elementos
que lo conforman.

Denicin 2.1.1 Se dene algoritmo como un procedimiento constructivo

para la resolucin de un problema que consta de los siguientes elementos:


unos datos de entrada de naturaleza precisamente denida, una cantidad
nita de instrucciones ordenadas que aplicadas a los datos de entrada ofrecen,
tras una cantidad nita de operaciones, una solucin precisa del problema de
partida.
Dos comentarios sobre el trmino algoritmo:
i) proviene del nombre del matemtico rabe del siglo IX Al-khowarizmi,
ii) tiene un signicado ms amplio que el meramente aplicado a las
matemticas, como procedimiento denido paso a paso y encaminado a un
cierto n.

2.1. DEFINICIONES Y EJEMPLOS

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

programacin hacen de un modelo computacional una mquina concreta que


admite esos datos (adecuadamente representados) como datos de entrada y
realiza con ellos esas operaciones bsicas y todas aquellas otras que se pueden
realizar como combinacin de las operaciones bsicas.
En este sentido podemos poner otros ejemplos de modelos computacionales.

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.

2.1. DEFINICIONES Y EJEMPLOS

87

Ejemplo 2.1.3 Problema que plantea el cliente: contabilidad, una lista de


ingresos y una lista de gastos. Obtencin del balance.

Etapa 1: Planteamiento en trminos formales: se tienen dos listas de nmeros


enteros de tamaos n y m correspondientes a los ingresos y a los gastos
respectivamente. La suma de los elementos de la primera lista proporciona
los ingresos. Con el mismo procedimiento para la segunda lista se obtienen
los gastos. El balance es la diferencia entre ingresos y gastos.
Etapa 2: Procedimiento para resolver el problema. Es evidente que el problema tiene solucin y que se podra resolver manualmente. Se trata de escribir
ese procedimiento manual para que se pueda hacer automticamente.
Datos de entrada: a1 , a2 , ..., an y b1 , b2 , ..., bm , dos listas de nmeros enteros.
Procedimiento: generar un procedimiento que vaya recorriendo los valores de
la lista de ingresos desde el primero hasta el ensimo y de los gastos desde
el primero hasta el emsimo y dos variables, una donde se van aadiendo los
valores de los ingresos y otra para los gastos. Finalmente hacer la diferencia
para obtener el balance.
Una vez que sabemos cmo resolver el problema queremos escribir el algoritmo de manera que sea claro en su escritura y fcil de traducir a un lenguaje
concreto de programacin. El lenguaje de los algoritmos en nuestro contexto, esto es, en el modelo RAM se suele conocer como pseudocdigo y est
formado por los siguientes elementos:
Los datos de entrada son variables que se puedan sustituir por constantes
para que el algoritmo acte sobre ellas. Normalmente representaremos las
variables por letras.
Para asignar a una variable x un valor a escribiremos:

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

Donde, por ejemplo, 5/2 es 2 y 5 mod 2 es 1. Atencin a la diferencia con


la notacin matemtica habitual. En el contexto de nuestro pseudocdigo
5/2 no es una fraccin sino un nmero entero, justamente la parte entera de
dicho nmero.
Las comparaciones se representan con los signos (menor o igual),
(mayor o igual), < (estrictamente menor), > (estrictamente mayor), = (igual)
y 6= (distinto).
Esto con respecto a las operaciones bsicas.
Tambin introducimos ciertas instrucciones.

Podemos escribir frases condicionales del tipo:

If condicin then operacin 1 else operacin 2.


Si ocurre la condicin entonces se efecta la operacin 1 y si no ocurre se
efecta la operacin 2. Si no se escribe la segunda parte de la condicional
(la que empieza con else) se interpreta que si la condicin no ocurre no se
hace nada. Cabe sealar que tambin podemos tener varias condiciones que
separaremos con comas.

Ejemplo 2.1.4 Por ejemplo:


Entrada: a, b
If a > b then c := a else c := b.
Salida: c (el ms grande entre los dos nmeros).

Repeticin de operaciones denominadadas bucles.


1. For i = a to b operacin.
Donde la operacin se repite desde el valor a del contador i hasta que ste
toma el valor b, incremntandose el valor del contador en una unidad cada
vez que se realiza la operacin.

Ejemplo 2.1.5 Por ejemplo:

2.1. DEFINICIONES Y EJEMPLOS

89

Entrada: a, b (numeros enteros positivos)


c := 0
For i = 1 to b
c := c + a
Salida: c (el producto ab).
Observar que las operaciones que se realizan dentro del bucle se escriben
un poco ms en el interior del prrafo para distinguirlas.
2. While condicin, operacin.
Mientras la condicin se cumple se repite la operacin.

Ejemplo 2.1.6 Por ejemplo el bucle anterior se puede escribir como:


i := 1
While i b
c := c + a
i := i + 1
Y de nuevo sealar la posibilidad de que se tengan varias condiciones separadas por comas.
Estas normas de escritura nos permiten escribir el algoritmo de la contabilidad de una manera clara y fcilmente transcribible a un lenguaje de
programacin con la sintaxis adecuada del lenguaje escogido.
Datos de entrada: a1 , ..., an ; b1 , ..., bm
I := a1 , i := 1
while i n 1
i := i + 1
I := I + ai
Ingresos := I
G := b1 j := 1
while j m 1
j := j + 1
G := G + bj
Gastos := G
Salida: Balance := Ingresos Gastos

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.

Ejercicio 29 Aplicar el agoritmo anterior a dos listas concretas de nmeros.


(Es una manera adecuada de observar el funcionamiento de un algoritmo.)

Ejemplo 2.1.7 Encontrar el valor mximo en una lista de nmeros enteros.


Datos de entrada: una lista de enteros a1 , a2 , ..., an .
Procedimiento: denir una variable a que toma inicialmente el valor de a1 y
que va comparndose con los distintos valores a2 , a3 ... hasta an cambiando su
valor (por el de la correspondiente ai ) si en la comparacin es estrictamente
menor.
Datos de entrada: a1 , ..., an
a := a1 , i := 1
while i n 1
i := i + 1
If a < ai then a := ai
Salida: a
O equivalentemente usando el bucle for:
Datos de entrada: a1 , ..., an
a := a1 , i := 1

2.1. DEFINICIONES Y EJEMPLOS

91

for i = 1 to n
If a < ai then a := ai
Salida: a

Ejercicio 30 Aplicar el algoritmo a una lista concreta de nmeros enteros.


Mostrar que el algoritmo termina.

Ejemplo 2.1.8 El siguiente procedimiento no es un algoritmo porque no

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.

Ejercicio 31 Sea el siguiente algoritmo:


Entrada: n N
c:=0
For i=1 to n
For j=1 to i
c:=c+j
Salida: c
Explicar qu hace el algoritmo y dar una frmula para la salida.

92

CAPTULO 2. ALGORITMOS

2.2 Algoritmos de bsqueda y de ordenacin


Dos problemas tpicos que sirven para ilustrar distintas maneras de disear
algoritmos son los problemas de bsqueda (determinar si un dato est o no en
una lista de datos) y de ordenacin (dada un lista, ordenarla de alguna manera preestablecida). Son problemas importantes dado que el manejo adecuado
de la informacin es fundamental para la tecnologa actual. Estudios de mercado, el genoma humano, determinacin de patrones de comportamiento...
son algunas de las situaciones en las cuales un adecuado tratamiento de los
datos es crucial para poder extraer todas las consecuencias de los mismos.

2.2.1 Algoritmos de bsqueda


Se trata de resolver la siguiente cuestin:

Problema: dada una lista de nmeros enteros determinar si un nmero que


se da est o no en la lista.

Datos de entrada: a1 , a2 , ...an ; a. Una lista de nmeros enteros y un entero


a.

Algoritmo 1. Bsqueda Secuencial. Va comparando el elemento a con

todos los de la lista. Si encuentra uno igual que a la salida es s en caso


contrario la salida es no.
Entrada: a1 , ..., an ; a
i := 1
while i n, a 6= ai
i := i + 1
if i n then r :=S else r :=No
Salida: r

Algoritmo 2. Bsqueda binaria. En este caso la lista de nmeros enteros


de la entrada debe estar ordenada de menor a mayor. En este procedimiento
se compara el elemento a con el que ocupa el lugar central en la lista. Si
es igual, el proceso termina; si es mayor, el proceso se repite con la segunda
mitad de la lista; si es menor, con la primera mitad de la lista. En el siguiente
algoritmo i y j representan en cada momento los subndices de los elementos
inicial y nal de la lista que se trata, m es el subndice que ocupa el lugar
central.

2.2. ALGORITMOS DE BSQUEDA Y DE ORDENACIN

93

Entrada: a1 , ..., an ; a (con a1 a2 ... an )


i := 1 j := n
while i < j , a 6= a(i+j)/2
m := (i + j)/2
if am < a then i := m + 1 else j := m 1
if ai = a then r :=S else r :=No
Salida: r
La bsqueda binaria es un ejemplo de una forma de abordar el diseo
de algoritmos conocido como divide y vencers. Este paradigma propone
dividir el problema en problemas de tamao ms pequeo (en el ejemplo
problemas de tamao la mitad del de partida) y aplicar sucesivamente esta
tcnica de divisin hasta llegar a problemas triviales (en nuestro caso comparar dos nmeros, que es una de nuestras operaciones bsicas).

Observacin 2.2.1 Como veremos ms adelante no resulta imprescindible

ser completamente preciso al contar el nmero de operaciones que realiza un


algoritmo, pues vamos a centrarnos en el estudio de su complejidad. Vamos
a entender que ni las asignaciones de la entrada, ni el cmputo del tamao
de una lista guardada necesitan consumir niguna operacin.

Ejercicio 32 Aplica los dos algoritmos para buscar el elemento 9 en la lista

1, 3, 5, 7, 9 y compara las operaciones que se realizan en cada uno de los


casos, teniendo en cuenta la observacin anterior.

2.2.2 Algoritmos de ordenacin


Se trata de resolver la siguiente cuestin:

Problema: dada una lista de nmeros enteros distintos, a1 , ..., an , ordenarla


de menor a mayor. (Por ejemplo: Entrada 2, 1, 6, 4. Salida: 1, 2, 4, 6.)

Datos de entrada: a1 , a2 , ..., an . Una lista de nmeros enteros distintos.

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

necesario, luego el segundo con el tercero y as hasta acabar la lista. Cuando


acabamos la lista, el valor ms grande se ha colocado en el ltimo lugar (que
es el que debe ocupar en la salida) por lo que debemos repetir el proceso con
la nueva lista resultado de los intercambios prescindiendo del ltimo valor.
Veamos un ejemplo:
Tomamos la lista a1 = 2, a2 = 1, a3 = 6, a4 = 4.
Como el primer valor a1 = 2 es mayor que el segundo a2 = 1 entonces se
intercambian los valores:
a1 = 1
a2 = 2
Como el segundo valor es ahora a2 = 2 menor que el tercero, el algoritmo
no hace nada:
a2 = 2
a3 = 6
Como el tercer valor a3 = 6 es mayor que el cuarto entonces se produce
un intercambio de valores:

a3 = 4

a4 = 6

Se acaba la lista y la nueva lista es:

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:

2.2. ALGORITMOS DE BSQUEDA Y DE ORDENACIN

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.

Ejercicio 33 Aplicar el algoritmo burbuja de ordenacin a la lista 1, 3, 2,


9, 5, 4.

Algoritmo 2. Algoritmo de seleccin. La idea de este algoritmo de

ordenacin es que en el paso j -simo mira la lista aj , aj+1 , ..., an calcula


el mnimo y si no es aj (como debiera ser si la lista estuviera ordenada) lo
intercambia con aj .

Ejercicio 34 Disear un algoritmo que tome una lista de nmeros enteros


a1 , a2 , ..., an e indique cul de ellos es el mnimo.

Escribamos el algoritmo usando el ejercicio anterior. Esto es, dentro de


nuestro algoritmo vamos a llamar a otro algoritmo, digamos min, que calcula
el mnimo de una lista.
Entrada: a1 , ..., an .
For j = 1 to n 1
if min(aj , aj+1 , ..., an ) 6= aj then intercambiar sus valores
Salida: a1 , ..., an .
Veamos un ejemplo:
Tomamos la lista a1 = 2, a2 = 1, a3 = 6, a4 = 4.
Como el mnimo de la lista es a2 y a2 6= a1 entonces intercambian sus
valores, obtenindose por tanto:

a1 = 1

a2 = 2.

96

CAPTULO 2. ALGORITMOS

En la lista a2 = 2, a3 = 6, a4 = 4 el mnimo es a2 por lo que no se realiza


ninguna operacin.
Finalmente en la lista a3 = 6, a4 = 4 el mnimo es a4 y por tanto se
intercambian los valores de los dos elementos, ordenndose de este modo
toda la lista.

Ejercicio 35 Aplicar el algoritmo de seleccin para ordenar la lista 1, 3, 2,


9, 5, 4.

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.

Denicin 2.3.1 Sea un algoritmo cuyos datos de entrada tienen tamao


n. Denimos la funcion T (n), nmero de operaciones que realiza el
algoritmo en el peor de los casos, como el valor mximo del nmero de
operaciones que realiza el algoritmo entre todas las aplicaciones del mismo a
las posibles entradas de tamao n.

El tamao de la entrada en el modelo computacional (RAM) que hemos


elegido estar relacionada con la cantidad de nmeros enteros que involucra

2.3. COMPLEJIDAD

97

dicha entrada. Las operaciones a que se reere la denicin de la funcin


denominada T (n) son las operaciones bsicas de nuestro modelo.

La funcin T (n) para el ejemplo del clculo del mximo


Reproducimos el algoritmo que tenamos para calcular el mximo de una
lista:
Datos de entrada: a1 , ..., an
a := a1 i := 1
while i n 1
i := i + 1
If a < ai then a := ai
Salida: a
Denimos el tamao de la entrada como la longitud de la lista. Es decir el
valor de n. Analicemos el nmero de operaciones para una lista de longitud
n. En el propio anlisis iremos viendo cul es el peor de los casos.
El algoritmo comienza con dos asignaciones (a e i) y determinando el valor
de n 1 por medio de una diferencia (recordamos que en la observacin
2.2.1 decamos que el cmputo de n no precisa de ninguna operacin para
ser efectuado).
Despus entra en un bucle que se repite n 1 veces y en cada repeticin se
hace:
una comparacin que determina si entrar o no en el bucle (i con n 1),
una asignacin a la i y una suma i + 1,
una comparacin de a con ai y
nalmente una asignacin que a veces se hace y a veces no. En el peor
de los casos se har.
Por tanto en el bucle se hacen 5(n 1) operaciones.
Despus hay una comparacin (i valiendo n con n 1) que nos saca del bucle
y la asignacin a la salida.
Resultado total en el peor caso:

T (n) = 3 + 5(n 1) + 2 = 5n.

Ejercicio 36 Describir cmo es la lista que da el peor caso en este algoritmo.

98

CAPTULO 2. ALGORITMOS

Observacin 2.3.2 Se podran denir otro tipo de funciones para medir la

cantidad de operaciones de un algoritmo, por ejemplo funciones de tiempo


medio, M (n), que nos dan el nmero de operaciones promedio que el algoritmo realiza cuando recibe una entrada de tamao n. (Se suelen obtener de
forma experimental.)
Sobre la funcin T (n) conviene hacer dos precisiones:
i) suele ser difcil calcularla exactamente;
ii) si cada operacin necesita una fraccin muy pequea de tiempo para
realizarse, no es precisa una exactitud total en el clculo de T (n), por ejemplo
un error de una operacin en el clculo de T (n) es totalmente irrelevante.
Estas dos precisiones nos invitan a la denicin de la complejidad del
algoritmo como un concepto que recoja la naturaleza asinttica de la fun-

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.

Denicin 2.3.3 Sean T, S : N R+ dos sucesiones reales con valores


positivos. Se dice que T (n) domina a S(n) si existen dos nmeros reales n0
y k > 0 de modo que para cada n n0 se verique:

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.

Denicin 2.3.4 Se llama complejidad de un algoritmo al orden, O(T (n)),


de su funcin T (n) nmero de operaciones en el peor de los casos.

La complejidad de un algoritmo es entonces una medida del nmero de


operaciones que ste realiza en el peor de los casos para tamaos muy grandes de la entrada n y establece una jerarqua que permite determinar si un
algoritmo es mejor que otro. Si el algoritmo A1 tiene como funcin nmero
de operaciones en el peor de los casos T1 y, respectivamente, el algoritmo
A2 tiene como funcin T2 y T2 domina a T1 , entonces (segn esta forma de

2.3. COMPLEJIDAD

99

comparar) el algoritmo A1 es mejor (o al menos igual) que el algoritmo A2 .


El anlisis matemtico (estudiado en la asignatura de Bases de Matemticas)
es el instrumento que permite establecer esta jerarqua.
sta no es la nica forma de medir la eciencia de los algoritmos. En
muchas ocasiones los algoritmos no se van a usar para entradas muy grandes
ni posiblemente va a interesar lo que ocurre en el peor de los casos.

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).

Ejercicio 37 Comprobar que todos los polinomios de grado s vericando las


condiciones de la denicin de dominancia, digamos,
a0 + a1 x + ... + as xs

as 6= 0

son del mismo orden.

Ejercicio 38 Sean a y b nmeros reales positivos mayores que 1. Demostrar


que loga (n) y logb (n) son del mismo orden.

Ejercicio 39 Sea l(n) el logaritmo neperiano. Demostrar la siguiente cade-

na de inclusiones:

O(1) O(l(n)) O(n) O(nl(n)) O(n2 ) O(en )

Ejercicio 40 Sean T y S sucesiones reales con valores positivos. Demostrar


que si T domina a S entonces T domina a T + S .
Demostrar, usando el apartado anterior, que si un algoritmo A1 tiene
como funcin nmero de operaciones en el peor de los casos T y respectivamente un algoritmo A2 tiene la funcin S , y T domina a S , entonces la
complejidad del algoritmo resultado de realizar sucesivamente A1 y A2 es
O(T + S) = O(T ).
La terminologa ms usada es la siguiente:

si T (n) es del mismo orden que la funcin S(n) = n se habla de


complejidad lineal.
si T (n) es del mismo orden que S(n) = n2 decimos complejidad
cuadrtica;

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 .

Mientras el primer algoritmo emplea apenas dos minutos, el segundo emplea


algo ms de un da y el tercero emplea ms de mil millones de aos en aportar
la salida.
Analicemos la complejidad de los dos algoritmos de bsqueda.

Complejidad de la bsqueda secuencial. El peor de los casos es quel en


que a no est en la lista que se nos ha proporcionado. Como nos interesa la
complejidad no nos preocupamos de las asignaciones que se hacen al principio
y al nal sino de cuntas veces se repite el bucle. Esto se justica en el hecho
de que O(1 + T ) = O(T ) si T domina a 1. Como a no est en la lista, el
bucle se repite n veces, y en cada una de ellas hay dos comparaciones, una
asignacin y una suma, es decir, hay 4(n 1) operaciones. Por tanto este
algoritmo es de complejidad lineal.
Complejidad de la bsqueda binaria. El peor de los casos es de nuevo

el caso en que a no est en la lista que se nos ha proporcionado. Como


sealamos en el ejemplo anterior, para calcular la complejidad nos interesa
cuntas veces se repite el bucle. Veamos una idea acerca de este nmero de
repeticiones. Cada vez que se realiza el bucle el tamao de la lista queda
reducido a la mitad. Tras el primer paso por el bucle tenemos una lista
de tamao n/2, tras el segundo paso ser una lista de tamao n/4 y as

2.3. COMPLEJIDAD

101

sucesivamente en s pasos por el bucle tendremos una lista de tamao n/2s .


Por tanto, como el proceso termina cuando la lista est formada por un nico
elemento, se tiene:
1 = n/2s ,
es decir,

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.

Ejercicio 41 Estudiar la complejidad de los algoritmos de ordenacin pre-

sentados.

Ejercicio 42 Estudiar la complejidad del algoritmo de bsqueda resultado de


concatenar el algoritmo de ordenacin burbuja con el algoritmo de bsqueda
binaria. Comparar con la complejidad de la bsqueda secuencial.

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)).

2.4 Algoritmos de bsqueda con Maple


Problema: dada una lista de nmeros a y un nmero b determinar si dicho
nmero es uno de los elementos de la lista.

2.4.1 Bsqueda secuencial


El primer algoritmo que presentamos toma una lista de nmeros a y un
nmero b y devuelve un vector donde cada entrada es: un uno si la entrada
de la lista correspondiente es igual a b y un cero en caso contrario.
>
>
>
>
>
>
>
>
>

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]

Ejemplo de una aplicacin a la teora de nmeros:

Determinar si 356 es el cuadrado de un nmero entero.


Como 10^2 =100 y 20^2=400 entonces si 356 fuera un cuadrado lo sera
de un nmero entre 11 y 19; tomando la lista de dichos cuadrados podemos
ver si 356 es un cuadrado.
>

Vector([seq(x^2,x=11..19)],356);
[0, 0, 0, 0, 0, 0, 0, 0, 0]

Como no est en la lista (pues la salida del procedimiento Vector est


formada nicamente por ceros) no puede ser un cuadrado.
Dado este algoritmo se puede responder a distintas preguntas, como por
ejemplo:

2.4. ALGORITMOS DE BSQUEDA CON MAPLE

103

a) el elemento b est en la lista a si el resultado de aplicar el procedimiento


Vector a a contiene algn uno;
b) el nmero de unos de Vector(a) dice cuntas veces est b en la lista a ;
c) si ya se sabe que se tiene un elemento de la lista, se puede construir un
sencillo algoritmo que obtenga todos los lugares donde est el elemento b.
Para responder a las preguntas a) y b).

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

Este algoritmo tiene complejidad lineal O(n)

2.4.2 Bsqueda binaria


Se trata de un algoritmo que toma una lista ordenada de menor a mayor de
nmeros y realiza la bsqueda comparando b con el elemento que est en el
medio de la lista. Si es igual, el algoritmo termina; si es menor, trabaja con
una nueva lista (la de los elementos menores que el elemento intermedio) e
itera el algoritmo; si es mayor, trabaja con una nueva lista (la de los elementos
mayores que el elemento intermedio) y hace lo mismo.

2.4. ALGORITMOS DE BSQUEDA CON MAPLE

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

En el ltimo ejemplo la salida es si porque 169 = 132 .


Para estudiar la complejidad es relevante saber cuntas veces como mximo se repite el bucle, ya que, cada vez que se repite, el nmero de operaciones
que se efectan es constante. Como la lista se va dividiendo en una lista de
tamao la mitad, hasta que queda una lista con un nico elemento, el bucle
se repite como mximo log(n) donde log es el logaritmo en base 2.
Binaria:=proc(a::list,b)
local c,i,j,k,s: i:=1: j:=nops(a): c:=0; (tres asignaciones)
el bucle se repite log(n) veces y cada vez se hace
for s from 1 to nops(a) while j-i>-1 do (una comparacin)
k:=oor((i+j)/2): (una asignacin)

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

Este algoritmo tiene complejidad logartmica O(log(n)).

2.5 Algoritmos de ordenacin con Maple


2.5.1 Ordenacin Burbuja
Presentamos el algoritmo burbuja para ordenar de menor a mayor una lista,
esto es, los datos de entrada son una lista L de nmeros enteros y la salida
es una lista ordenada de menor a mayor con los mismos elementos que L.

Intercambiar dos elementos

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:

Primero: almacenaremos el contenido de lista[i] e n la variable transitoria temp.


Segundo: introducimos el contenido de lista[j] en el lugar lista[i]. Ahora
lista[i] y lista[j] contienen el mismo dato.
Por ltimo copiamos el contenido de la variable transitoria temp en
lista[j].
Podramos pensar que el cdigo siguiente nos resuelve el problema, pero
presenta una dicultad al asignar valores a la lista de entrada:

2.5. ALGORITMOS DE ORDENACIN CON MAPLE


>
>
>
>

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);

Error, (in cambiar) illegal use of a formal parameter

El problema viene de la asignacin a[i]:=a[j]. Tenemos que escribirlo


usando el comando subsop y estableciendo una copia de la lista inicial, as:

>

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

Ahora ya podemos escribir el algoritmo de 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

Probamos el algoritmo en un ejemplo:


>

Burbuja([5,2,8,2,4,3,7,7,1]);
[1, 2, 2, 3, 4, 5, 7, 7, 8]

2.5.2 Ordenacin seleccin


Necesitamos un procedimiento que calcule el lugar que ocupa el elemento de
una lista que da el mnimo de dicha lista:

>

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

Ahora podemos llamar a este procedimiento para construir el algoritmo


de seleccin. Hay que construir una lista cada vez ms pequea e ir calculando los mnimos para intercambiar los valores si es necesario. En lugar de
construir listas cada vez ms pequeas, lo que vamos a hacer es ir poniendo
el valor innito en el correspondiente trmino de la lista de modo que, como
innito es mayor que cualquier nmero, se tendr que a la hora de calcular
mnimos este trmino no va a intervenir nunca.

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 43. Dada una lista de nmeros enteros, construir un algoritmo


que calcule el mximo de sus valores absolutos.

Ejercicio 44. Supongamos que quitamos de nuestro modelo computacional


las operaciones bsicas de producto y divisin de nmeros enteros. Construir
un algoritmo para, dados dos nmeros enteros, calcular su producto.

Ejercicio 45. Construir un algoritmo para, dados dos enteros a y n construir


la potencia an .

Ejercicio 46. Escribir un algoritmo para calcular la media aritmtica de los


elementos de una lista de nmeros enteros.

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

los elementos de la lista, seale cuntos de estos mltiplos hay y en qu


posiciones de la lista estn.

Ejercicio 48. Distancia de Hamming. Dadas dos palabras de la misma

longitud construidas con ceros y unos la distancia de Hamming entre ellas se


dene como el nmero de letras diferentes entre una y otra palabra (letras
diferentes situadas en el mismo lugar): por ejemplo la distancia de Hamming
entre la palabra 01 y la palabra 00 es uno porque la primera letra es igual
y la segunda distinta. La distancia de Hamming entre 111 y 010 es dos.
Construir un algoritmo que dadas dos palabras de ceros y unos nos devuelva
su distancia de Hamming.

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.

Ejercicio 50. Dadas dos listas a1 , .., an y b1 , ..., bm de nmeros enteros,

construir un algoritmo para construir el producto cartesiano de las dos listas,


esto es, el conjunto completo de los pares ordenados de la forma (ai , bj ).

2.7 Ejercicios resueltos


Ejercicio 29. Lista de Ingresos: 5, 4, 4. Lista de Gastos: 4, 3.
Entrada: 5, 4, 4; 4, 3.
I := 5, i := 1
como 1 2 entonces i := 2, I := 5 + 4
como 2 2 entonces i := 3, I := 13
como 3 > 2 sale del bucle.
Ingresos := 13

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

Ejercicio 30. El algoritmo termina porque el bucle se repite exactamente


n 1 veces.

Entrada: 1, 2, 0.

2.7. EJERCICIOS RESUELTOS

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.

Ejercicio 31. El algoritmo realiza la siguiente suma:


ni=1 ij=1 j.

Ejercicio 32. Lista: 1, 3, 5, 7, 9.


Bsqueda secuencial:
i := 1 (1 operacin)
Como 1 5 y 1 6= 9 entonces i := 2. (4 operaciones)
Como 2 5 y 3 6= 9 entonces i := 3. (4 operaciones)
Como 3 5 y 5 6= 9 entonces i := 4. (4 operaciones)
Como 4 5 y 7 6= 9 entonces i := 5. (4 operaciones)
Como 5 5 pero 9 = 9 entonces sale del bucle. (2 operaciones)
Como 5 5 entonces la salida es S. (2 operaciones)
Total de operaciones: 21.
Bsqueda binaria:
i := 1, j := 5 (2 operaciones)
Como 1 < 5 y 1 6= 9 entonces m := 3. (4 operaciones)
Como 5 < 9 entonces i := 4, j = 5. (4 operaciones)
Como 4 < 5 entonces m := 4. (3 operaciones)
Como 7 < 9 entonces i := 5, j = 5. (4 operaciones)
Como 5 = 5 entonces sale del bucle. (1 operacin)
Como a5 = 9 entonces la salida es S. (2 operaciones)
Total de operaciones: 20.

Ejercicio 33. Lista: 1, 3, 2, 9, 5, 4.


Como
Como
Como
Como

a1
a2
a3
a4

< a2
> a3
< a4
> a5

entonces
entonces
entonces
entonces

no se hace ninguna operacin.


a2 = 2 y a3 = 3.
no se hace ninguna operacin.
a4 = 5 y a5 = 9.

111

112

CAPTULO 2. ALGORITMOS

Como a5 > a6 entonces a5 = 4 y a6 = 9.


De este modo la lista es ahora: 1, 2, 3, 5, 4, 9.
El algoritmo recomienza con la lista: 1, 2, 3, 5, 4.
Al recorrer esta nueva lista, el mximo, que es el 5, se coloca en el ltimo
lugar y la lista queda ordenada.

Ejercicio 34. Para aprovechar el algoritmo del mximo observamos que el

mnimo de una lista a1 , ..., an es el mximo (cambiado de signo) de los valores


de la lista a1 , ..., an . Por tanto si llamamos M al algoritmo que calcula
el mximo tenemos que:
Entrada: a1 , ..., an .
For i = 1 to n
bi := ai
m := M (b1 , ...bn )
Salida: m.

Ejercicio 35. Sea la lista L:= 1, 3, 2, 9, 5, 4.

Como el mnimo de la lista L es a1 = 1 entonces no se hace ninguna


operacin.
L :=3, 2, 9, 5, 4.
Como el mnimo de la lista L es a3 entonces a2 = 2 y a3 = 3.
L :=3, 9, 5, 4.
Como el mnimo de la lista L es a3 entonces no se hace ninguna operacin.
L :=9, 5, 4.
Como el mnimo de la lista L es a6 entonces a6 = 9 y a4 = 4.
L :=5, 9.
Como el mnimo de la lista L es a5 entonces no se hace ninguna operacin
y el algoritmo ha terminado.
Salida: L :=1, 2, 3, 4, 5, 9.

Ejercicio 36. El peor de los casos es quel en que la asignacin a := ai se


hace siempre, esto es, cuando la lista est ordenada de menor a mayor.

a1 a2 ... an .

Ejercicio 37. Demostramos que P (x) = a0 + a1 x + ... + as xs es del mismo


orden que xs . La observacin fundamental es que un polinomio de grado

2.7. EJERCICIOS RESUELTOS

113

s tiende a + (cuando x tiende a +) cuando su coeciente principal (el


coeciente del monomio de mayor grado) es de signo positivo. Por tanto en
tal caso su signo es positivo para todo x mayor o igual que un cierto n0 (para
el que no se aporta una expresin explcita).
El polinomio xs domina a P (x) ya que si tomamos k > as se tiene que
s
kx P (x) = (k as )xs + ... + (a0 ), que segn la observacin anterior es
positivo para todo x n0 .
P (x) domina a xs ya que si tomamos k > 1/as entonces kP (x) xs =
(kas 1)xs + ... + ka0 .

Ejercicio 38. Es una consecuencia directa de la frmula del cambio de base:


loga (n) = loga (b)logb (n).

Ejercicio 39. Adjuntamos las grcas representadas con Maple, donde se


observan las distintas relaciones de dominancia.

La funcin l(n) domina a la funcin 1 porque l(n) > 1 para cada n 3.


En efecto, la funcin g(n) = l(n) 1 es positiva para cada n 3 puesto que
g(3) > 0 y es creciente (su derivada g 0 (n) = 1/n > 0).
Se verica que n > l(n) para cada n N. En efecto, sea la funcin
h(n) = n l(n), se verica que h(1) > 0 y que es siempre creciente ya que
h0 (n) = 1 1/n > 0.
Las dems dominancias son consecuencia de que:

r(n) = nl(n) n
s(n) = n2 nl(n)
t(n) = en n2

r0 (n) = l(n) > 0

r(3) > 0
s(1) > 0
t(1) > 0

s0 (n) = 2n l(n) 1 > 0


t0 (n) = en 2n > 0.

Ejercicio 40. Si T domina a S entonces existen n0 N y k R+ de modo


que para cada n n0 se verica

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

Figura 2.1: Grcas con Maple

2.7. EJERCICIOS RESUELTOS

115

De este modo para cada n n0 se verica

S(n) + T (n) (k + 1)T (n).


Lo que muestra que T domina a S + T .
La segunda cuestin es slo observar que la funcin nmero de operaciones
en el peor de los casos del algoritmo que concatena A1 y A2 es T + S .

Ejercicio 41. El algoritmo de ordenacin burbuja es un algoritmo de com-

plejidad cuadrtica O(n2 ). En efecto, cada vez que se ejecuta el bucle en j el


bucle en i hace una cantidad constante de operaciones y las hace exactamente
n j veces, como

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.

En los siguientes ejercicios, dejamos al estudiante la parte de aplicar los


algoritmos a listas concretas.

Ejercicio 43. Denimos primero un algoritmo que calcula el valor absoluto


de un entero.

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 )

El algoritmo del mximo es de complejidad lineal, el clculo del valor


absoluto es de complejidad constante (T (n) = 3). La reasignacin de la
lista tiene complejidad lineal (T (n) = 5n + 3). Por tanto el algoritmo es de
complejidad lineal.

Ejercicio 44. El producto de dos enteros positivos no es ms que sumar uno


de ellos tantas veces como indica el otro. Como el producto es conmutativo
y la suma una operacin bsica, elegimos el mnimo de los dos para decir
cuntas veces hay que sumar. Multiplicamos entonces los valores absolutos
y despus atendemos al signo:
Entrada: a, b.
a1 =mnimo{|a|, |b|}, a2 :=mximo{|a|, |b|}.
p := 0, i := 1
while i a1
p := p + a2
i := i + 1
If a > 0, b < 0 then p := p else if a < 0, b > 0 then p := p
Salida: p
El tamao de la entrada es aqu el valor absoluto del mnimo de ambos
nmeros (esto es n = a1 ). El clculo del mnimo y el mximo son algoritmos
de complejidad lineal, en este caso se aplican a listas de longitud 2, luego
realizan una cantidad constante de operaciones. En el algoritmo que estamos
estudiando hay primero dos algoritmos constantes, despus un bucle que se
repite n = a1 veces y que realiza cada vez que se ejecuta una cantidad
constante de operaciones. Finalmente una asignacin de signo, que se hace
mediante una cantidad constante de operaciones. As el algoritmo es de
complejidad lineal.

Ejercicio 45.

Entrada a, n.
If a = n = 0 then p :=indeterminacin
else
if n 0 then

2.7. EJERCICIOS RESUELTOS

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.

Ejercicio 46. Sumaremos todos los elementos de la lista y la suma la di-

vidimos por el n mero de elementos. El problema esencial en el diseo de


este algoritmo es que no tenemos una operacin bsica que calcule divisiones y exprese el resultado como nmero decimal. Llamemos a esa operacin
div(a, b) y el resultado es ab con, digamos, 2 decimales. Entonces, nuestro
algoritmo es muy simple:
Datos de entrada: a1 , a2 , ..., an
c := 0
For i := 1 to n
c := c + ai
media := div(c, n)
Implementemos ahora la operacin div(c, n) de la siguiente manera: c1 :=

|c|/n , r1 := |c| mod n


c2 := (10 r1)/n, r2 := 10 r1 mod n
c3 := (10 r2)/n, r3 := 10 r2 mod n
El algoritmo completo, para calcular la media con dos decimales, sera
Datos de entrada: a1 , a2 , ..., an
c := 0
For i := 1 to n
c := c + ai
c1 := |c|/n , r1 := |c| mod n

118

CAPTULO 2. ALGORITMOS

c2 := (10 r1)/n, r2 := 10 r1 mod n


c3 := (10 r2)/n, r3 := 10 r2 mod n
if c > 0 then media:=c10 c2c3 else media:=c10 c2c3
Complejidad. Hay:
1) Una asignacin,
2) Un bucle que se repite n veces y en cada paso se hace una suma y una
asignacin. Total: 2n operaciones.
3) El clculo de un cociente y un resto, dos multiplicaciones y dos divisiones, el clculo de dos restos y 6 asignaciones, adms de una comparacin
y posiblemente un cambio de signo. Total: 16 operaciones.
Entonces, T (n) := 2n + 12. Complejidad lineal.
Si calculramos la media con ms decimales, el nmero de operaciones
sera mayor pero la complejidad seguira siendo lineal.

Ejercicio 47.

Datos de entrada: a1 , a2 , ..., an , a


i := 0 , j := 0
While i n 1
i := i + 1
b := ai mod a
If b := 0 then j := j + 1, dj := ai y ej = i
Salida: Hay j mltiplos de a. Estn en las posiciones e1 , ..., ej y sus
valores son d1 , ..., dj .

Calculemos la complejidad. Hay:


1) dos asignaciones y el clculo de n 1. Total: 3 operaciones.
2) un bucle que se repite n veces. Dentro del bucle hay: dos asignaciones,
el clculo de un resto y una suma, una condicional con una condicin y, en
el peor de los casos, tres asignaciones y una suma. Total: 9n.
3) Del bucle se sale cuando la comparacin es falsa. Total: Una operacin.
T (n) = 3 + 9n + 1 = 9n + 4.
La complejidad es lineal.

Ejercicio 48. Sean a1 , a2 , ..., an las cifras en bits de uno de los nmeros y

b1 , b2 , ..., bn las del otro.

Datos de entrada: a1 , a2 , a3 , ..., an ; b1 , b2 , ..., bn


c := 0
For i = 1 to n

2.7. EJERCICIOS RESUELTOS

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

al punto en el que debemos insertar el nmero dado a. Almacenar en valor


de la lista en ese punto en una variable auxiliar (para no perderlo), introducir
el valor a, y a partir de all colocar los dems elementos de la lista. Estos
ltimos elementos se pueden rellenar desde el nal de la lista hasta el punto
en el que est a (probar otras alternativas para comprobar que es esta la que
mejor funciona).
Datos de entrada: a1 , a2 , a3 , ..., an ; a
i := 0 , p := 0
While i n 1 and p 0
i := i + 1
p := a ai
c := ai , ai := a
For j = 0 to n i 1
an+1j := anj
ai+1 := c
Salida: a1 , a2,....., an+1
Complejidad. Hay:
1) Dos asignaciones y el clculo de n 1. Total: 3 operaciones.
2) Un bucle que se repite, en el peor de los casos, n veces. En cada
pasada del bucle tendremos dos comparaciones, una asignacin y una suma,
otra asignacin y una diferencia. Total: 6n.
3) Del bucle se sale cuando una de las comparaciones sea falsa, lo que da
lugar a otra operacin.
4) Dos asignaciones. Total: 2 operaciones.
5) El clculo de n i 1. 2 operaciones

120

CAPTULO 2. ALGORITMOS

6) Un bucle que, en el peor de los casos, se repite n veces y en el que hay


una asignacin y el clculo de los subndices. Total: 4n operaciones.
7) Una asignacin y el clculo del subndice.
Notemos que es imposible que se ejecuten todas las operaciones del bucle
de 2) y del bucle de 6) ya que, en el valor del ndice en el que termina uno
termina el otro. En el peor de los casos, es el bucle 2) el que se ejecuta
completamente.
En consecuencia la complejidad es lineal.

Ejercicio 50.

Datos de entrada: a1 , a2 , ..., an ; b1 , b2 , ..., bn


For i := 1 to n
For j := 1 to n
cij := (ai , bj )
Salida: c11 , c12 , ..., c21 , c22 , ...., cn1 , ..., cnn

Complejidad. Hay dos bucles anidados. El primero se repite n veces y


el segundo otras n. En este segundo bucle hay una asignacin. Por tanto,
T (2n) = n2 . Por tanto, T (n) = 14 n2 . Complejidad cuadrtica.

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:

Conozca las propiedades bsicas de los nmeros enteros (operaciones,


factorizacin).
Pueda calcular el mcd de dos nmeros enteros por el algoritmo de
Euclides.
Realice con soltura operaciones en la aritmtica modular.
Resuelva congruencias lineales y sistemas de congruencias.

3.1

Los nmeros naturales y los nmeros enteros

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

CAPTULO 3. ARITMTICA MODULAR

para presentar una tcnica potente de demostracin que es el principio de


induccin.
Nuestro primer objetivo es introducir de forma rigurosa estos objetos.
Existen varias maneras de hacerlo, una de ellas (la que vamos a elegir) es la
axiomtica. Consiste en caracterizar el conjunto N de los nmeros naturales
por algunas de sus propiedades que se imponen como axiomas, de manera
que cualquier otra propiedad se deduce (usando las reglas de la lgica) de
estos axiomas.
Podemos usar por ejemplo la caracterizacin de N como cualquier conjunto que verique los llamados Axiomas de Peano:

En N hay un elemento distinguido que denominamos 1.


Para cada n N se dene de manera nica el siguiente de n. Se
denota s(n). Es un elemento de N y verica que s(n) 6= 1 para cada
n N.
Si s(n) = s(m) entonces n = m.
Principio de induccin: si un subconjunto A N verica que 1 A
y que n A implica s(n) A, entonces se tiene que A = N. (Esta
propiedad es la que se us en el captulo 1.)

Observacin 3.1.1 Los axiomas de Peano segundo y tercero son equivalen-

tes a la existencia de una aplicacin inyectiva s : N N de modo que el 1


no est en la imagen de s.
En este conjunto se puede denir una primera operacin denominada

suma, de manera que dados dos naturales cualesquiera a, b N se puede


construir el nmero natural a + b N que es la suma de los dos. Esta
operacin se dene por las reglas:

Para cada a N se dene a + 1 = s(a).


Para cada a, b N se dene a + s(b) = s(a + b).
Es consecuencia del principio de induccin que as hemos denido cualquier suma a + b con a, b N. En efecto, sea a N un nmero natural. Sea
A el conjunto de los nmeros naturales b N para los que a + b est denido.

3.1. LOS NMEROS NATURALES Y LOS NMEROS ENTEROS

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.

Tambin se puede denir una segunda operacin en N que es el producto,


asignando a cada par a, b N el producto de ambos ab ( ab simplemente
ab, usaremos las tres notaciones indistintamente). De la misma manera que
en el caso de la suma, es una consecuencia del principio de induccin que las
reglas que se presentan a continuacin son sucientes para denir el producto
de dos nmeros naturales a, b N.

Para cada a N se tiene que a 1 = a;


Para cada a, b N se tiene que a s(b) = a b + a.

Ejercicio 52 Demostrar, usando el principio de induccin, que las reglas


anteriores permiten denir el producto de cualquier par de nmeros naturales.

Los nmeros naturales con esta operacin de producto, (N, ), tienen


las siguientes propiedades, que se pueden demostrar usando el principio de
induccin y las reglas de denicin del producto:
1) propiedad asociativa: (a b) c = a (b c) para cualesquiera
a, b, c N,

124

CAPTULO 3. ARITMTICA MODULAR

2) existencia de elemento neutro: existe 1 N tal que para cualquier


nmero natural a N se tiene que a 1 = 1 a = a,
3) propiedad conmutativa: para cualquier pareja a, b N se tiene que
a b = b a.
Las dos operaciones, la suma y el producto, quedan relacionadas por la
propiedad distributiva:
4) propiedad distributiva: para cualesquiera a, b, c N se tiene que
a (b + c) = a b + a c.
Una vez denidos los nmeros naturales, los nmeros enteros se pueden
construir a partir de los naturales de la siguiente manera. Tomamos dos
copias del conjunto de los nmeros naturales, marcando los elementos de
una de ellas con un signo menos. Llamamos N+ = {1, 2, 3, 4, ...} a la primera
copia y N = {1, 2, 3, 4, ...} a la segunda. Los nmeros enteros son la
unin de N+ , N y un conjunto formado por un elemento distinguido, que
escribimos como {0}:

Z = {1, 2, 3, ...} {0} {1, 2, 3, ...} = N+ {0} N .


Tanto N+ como N vienen dotados de su respectivo concepto de siguiente,
que denotamos respectivamente s+ y s . As se tiene, por ejemplo, que
s+ (5) = 6 y que s (5) = 6. Estas dos nociones permiten denir en el
conjunto de los nmeros enteros un concepto de siguiente denotado como s
y un concepto de anterior, denotado como a, de modo que:

Para cada n N+ se tiene que s(n) = s+ (n),


s(0) = 1,
s(1) = 0,
para cada n N , n 6= 1, existe m N de modo que n = s (m).
Entonces s(n) = m.
Para cada n N se tiene que a(n) = s (n),
a(0) = 1,
a(1) = 0,

3.1. LOS NMEROS NATURALES Y LOS NMEROS ENTEROS

125

para cada n N+ , n 6= 1 existe m N+ de modo que n = s+ (m).


Entonces a(n) = m.

Notacin Usaremos el smbolo para representar el conjunto vaco.


Y como ya sealamos cuando hablamos de la induccin estructural se
verica que: si A Z verica que A 6= y para cada n A se tiene que
s(n) A y a(n) A entonces A = Z.
La operacin suma de nmeros enteros se construye apoyndose en
la suma de los nmeros naturales, de modo que las siguientes reglas son
sucientes:

Para cada n Z se dene n + 1 = s(n).


Para cada n Z se dene n 1 = a(n).
Para cada n, m Z se dene n + s(m) = s(n + m).
Para cada n, m Z se dene n + a(m) = a(n + m).

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.

Notacin. En la propiedad iv) para cada a Z denotamos con a el inverso

de a. Se puede demostrar que: si a = 0 entonces a = 0; que si a N+


entonces a es su correspondiente pareja marcada en N y que si a N
entonces a es su correspondiente pareja en N+ quitndole la marca. Por

126

CAPTULO 3. ARITMTICA MODULAR

ejemplo (5) = 5, 0 = 0, (5) = 5. Escribiremos a b para simplicar


la expresin a + (b).
Decimos entonces que (Z, +) es un grupo conmutativo (cualquier conjunto con una operacin vericando las propiedades i) a iv) es un grupo
conmutativo). Observamos que al construir los nmeros enteros hemos ampliado el conjunto de los nmeros naturales para que la operacin resta tenga
siempre sentido. Por ejemplo 5 7 es una diferencia de nmeros naturales
cuyo resultado no es un nmero natural pero s un nmero entero, 2 Z.
De la misma manera que con la operacin de la suma, atendiendo a la
casustica del signo, se puede denir otra operacin sobre los nmeros enteros
que es el producto: dados dos nmeros enteros a, b Z se puede construir el
producto de ambos a b Z.

Ejercicio 54 Describir un conjunto de reglas sucientes para denir el pro-

ducto ab de cualquier par de nmeros enteros a, b Z, atendiendo a las


distintas posibilidades para los signos de a y b.
En esta operacin se tienen las mismas propiedades que en N:
1) propiedad asociativa: (a b) c = a (b c) para cualesquiera
a, b, c Z,
2) existencia de elemento neutro: existe un entero 1 Z tal que para
cualquier nmero entero a 1 = 1 a = a,
3) propiedad conmutativa: para cualquier pareja de enteros a, b Z
se tiene que a b = b a.
Pero es claro que, en general, no existe elemento inverso, por ejemplo, el
inverso del nmero entero 2 debera ser el nmero 1/2 que no es un nmero
entero. (La sucesiva ampliacin de Z para que la divisin sea una operacin
que tenga sentido es construir el conjunto de los nmeros racionales Q.)
Las dos operaciones, la suma y el producto, quedan, igual que en N,
relacionadas por la propiedad distributiva:
4) propiedad distributiva: para cualesquiera a, b, c Z se tiene que
a (b + c) = a b + a c.
Entonces decimos que (Z, +, ) es un anillo conmutativo (de nuevo
cualquier conjunto con dos operaciones vericando las propiedades i) a iv) y
1) a 4) es un anillo conmutativo).

3.2. TEOREMA DE LA DIVISIN

127

El estudio de las estructuras algebraicas es importante y abre todo el


campo de las matemticas conocido como lgebra. Capta la estructura
profunda de los conjuntos dotados de operaciones y permite describir sus
propiedades y estudiar caractersticas generales. El lgebra es entonces el
estudio de las reglas del juego, como en esos juegos de mesa que se presentan
con distinto aspecto pero al leer sus reglas descubrimos un juego ya conocido.

Ejercicio 55 Comprobar que las matrices de tamao 2 2 con coecientes

enteros son un anillo no conmutativo (esto es, el producto no es conmutativo)


con la suma y el producto habituales de matrices.

3.2

Teorema de la divisin

Aunque en el anillo de los nmeros enteros no se puede dividir, porque los


cocientes no son enteros, s se puede hacer una divisin entera, obtenindose
un cociente y un resto. Esta divisin nos va a permitir por un lado construir
un algoritmo para el clculo del mximo comn divisor de dos nmeros sin
necesidad de factorizarlos y por otro establecer una relacin de equivalencia, la congruencia mdulo un entero, con interesantes utilidades para
trabajar en anillos parecidos a los enteros pero con una cantidad nita de
elementos.
Antes de enunciar y demostrar el teorema del resto debemos detenernos
un momento a reexionar sobre el orden que presentan los nmeros naturales y los nmeros enteros. Aunque volveremos sobre ellas en el captulo 6,
denamos lo que es una relacin de orden.

Denicin 3.2.1 Sea A un conjunto, se dene una relacin en el conjunto

A como un subconjunto R del producto cartesiano AA = {(a, b) : a, b A},


de modo que dos elementos a, b A estn relacionados si y solamente si la
pareja (a, b) est en R.

Ejemplos 3.2.2 Podemos denir una relacin en el conjunto nito A =

{1, 2, 3, 4} como

R = {(1, 1), (2, 1), (1, 2)},


es decir, el 1 se relaciona con el 1 (a veces escrito 1R1) y con el 2 (1R2) y
el 2 se relaciona con el 1 (2R1).

128

CAPTULO 3. ARITMTICA MODULAR

Una relacin habitual es la que dene los nmeros racionales. Tomemos


el conjunto de las fracciones F = {p/q : p, q Z, q 6= 0} y denimos la
relacin R de modo que p/q se relaciona con r/s si y solamente si ps = qr
(producto de medios es igual a producto de extremos).

Denicin 3.2.3 Sea A un conjunto, una relacin R en A se dice que es


de orden si verica las propiedades:
i) Reexiva: a se relaciona con a para cualquier a en A, esto es (a, a)

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):

...
...

...
...

Un teorema fundamental sobre el conjunto N es el siguiente:

Teorema 3.2.4 Cada subconjunto no vaco A de N tiene un elemento m-

nimo m A de manera que para cada elemento n A se tiene que n m.


Dicho elemento m es adems nico.

3.2. TEOREMA DE LA DIVISIN

129

Demostracin. Supongamos que A no tiene mnimo, entonces demostramos


por induccin completa que N A = N, lo que quiere decir que A es el
conjunto vaco.
Como A no tiene mnimo entonces 1
/ A, esto es, 1 N A. Se tiene la
base de induccin.
Ahora bien si 1
/ A, 2
/ A, ..., n
/ A entonces s(n)
/ A pues sera
mnimo. De este modo se tiene el paso de induccin y por tanto A = .
Hemos demostrado la existencia de un mnimo, veamos su unicidad. Si
m y m0 son mnimos entonces se tiene que m m0 y m0 m por lo que
m = m0 . Por tanto el mnimo es nico.

Notacin. Si a b y a 6= b escribiremos a > b. La expresin b a es otra

manera de escribir a b.

Observacin 3.2.5 El 1 y el 1 son los nicos nmeros enteros que tienen


inverso para el producto, 1 1 = (1) (1) = 1. Estos dos nmeros se denominan unidades del anillo de los enteros. A partir de ahora trabajaremos
siempre con nmeros positivos. Para cambiar el signo a un nmero basta
multiplicar por -1, un proceso fcilmente reversible. Esto indica que trabajar
con nmeros positivos para la divisin no es una grave restriccin.
Ya estamos en condiciones de enunciar y demostrar el teorema del resto.

Teorema 3.2.6 Sean a y b dos nmeros enteros positivos, entonces existen

dos enteros q (cociente) y r (resto) nicos tales que q 0, 0 r < b y se


tiene la expresin
a = bq + r
esto es, dividendo es igual a divisor por cociente ms resto.
Demostracin. Comenzamos demostrando la existencia de q y r.
Si a < b entonces q = 0 y r = a verican las hiptesis.
Si a = b entonces q = 1 y r = 0 verican las hiptesis.
Si a > b entonces tomamos el conjunto A = {a nb : n N}(N+ {0})
que es un subconjunto no vaco de N+ {0}. Por tanto, o 0 A y es un
elemento mnimo, o 0
/ A y el teorema anterior garantiza que A tiene un
elemento mnimo. Denominamos r A al mnimo. De este modo existe
q N tal que
a qb = r

130

CAPTULO 3. ARITMTICA MODULAR

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.

3.3 Divisibilidad, mcd y factorizacin


Como ya hemos sealado, la no existencia de inverso para el producto de nmeros enteros hace que la operacin de divisin no se pueda realizar siempre
(igual que no se puede efectuar siempre la resta en los nmeros naturales).
Aunque se puede dividir 4 entre 2 y obtener un nmero entero, sin embargo,
la divisin 5 entre 3 no se puede efectuar (slo podemos obtener un cociente
y un resto segn el teorema antes demostrado). Esto da lugar a una nocin
interesante que es la de divisibilidad.

3.3.1 Deniciones bsicas


Denicin 3.3.1 Sean a, b dos nmeros enteros, se dice que a divide a b
y se escribe a|b si existe un nmero entero c tal que b = a c. Tambin
decimos que b es mltiplo de a o que a es un factor de b.

Es decir, en el caso divisible, se puede efectuar la divisin b entre a y se


obtiene un nmero entero, esto es, al hacer la divisin entera entre b y a el
resto es 0.

Ejemplo 3.3.2 El nmero entero 12 divide a 60 porque 60 = 5 12 pero 12

no divide a 34.

3.3. DIVISIBILIDAD, MCD Y FACTORIZACIN

131

Observacin 3.3.3 Todo nmero entero a Z es divisible por a, por a,

por 1 y por 1.

Observacin 3.3.4 Cada divisor d de un nmero entero no nulo a Z


verica |d| |a|, donde |x| es el valor absoluto, esto es, para cada x Z se
tiene |x| = x si x 0 y |x| = x si x < 0.

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.

3.3.2 Algoritmo de Euclides para calcular el mcd


Como se deduce de las dos observaciones del prrafo anterior el conjunto de
divisores positivos de un nmero natural a es un conjunto no vaco (ya que al
menos a y 1 son divisores de a) y nito (ya que est contenido en el conjunto
{a, a + 1, ..., a 1, a}) por lo que tiene sentido la siguiente denicin.

Denicin 3.3.7 Dados dos nmeros enteros positivos a y b se dene el


mximo comn divisor de a y b y se escribe mcd(a, b) como el mayor de los
divisores comunes de a y b.
Vamos a desarrollar un algoritmo para calcular el mcd de dos nmeros.
Es un algoritmo clsico conocido como algoritmo de Euclides. Necesitaremos
para esta construccin el siguiente lema.

Lema 3.3.8 Dados dos nmeros enteros positivos a y b, a > b entonces


mcd(a, b) = mcd(b, r) donde r es el resto de dividir a entre b.

Demostracin. Vamos a demostrar que el conjunto de divisores comunes a a


y b es igual que el conjunto de divisores comunes a b y a r. Esto implica que
mcd(a, b) = mcd(b, r).
En efecto, si p divide a a y a b entonces existen nmeros enteros s, t Z
tales que
a = ps
b = pt,

132

CAPTULO 3. ARITMTICA MODULAR

de modo que la igualdad que da el teorema del resto a = qb + r se puede


escribir como
r = a qb = ps qpt = p(s qt)
lo que demuestra que p divide a a r.
Recprocamente si p divide a b y a r entonces

b = pt

r = pu,

con lo cual

a = qb + r = qpt + pu = p(qt + u),


lo que demuestra que p divide a a. Esto naliza la demostracin del lema.
Por tanto si dividimos a entre b el problema de calcular el mcd(a, b) se
reduce al clculo del mcd(b, r) que son ahora nmeros ms pequeos por el
teorema de la divisin. Nuevamente podemos dividir b entre r y obtener un
resto r1 , por lo que el problema es calcular el mcd(r, r1 ). As sucesivamente
se van calculando r2 , r3 ... que son nmeros enteros positivos que van decreciendo (r1 > r2 > r3 ...). Llegar entonces un momento en el que rn = 0, esto
implica que rn1 divide a rn2 (el resto de la divisin es rn = 0) y entonces
el mcd(a, b) = mcd(rn2 , rn1 ) = rn1 .

Ejemplo 3.3.9 Calcular el mximo comn divisor de 125 y 8872.


Dividimos 8872 entre 125 para obtener:

8872 = 125 70 + 122


Lo que indica que:

mcd(8872, 125) = mcd(125, 122).


Dividimos 125 entre 122:

125 = 122 1 + 3.
Por tanto:

mcd(125, 122) = mcd(122, 3)

3.3. DIVISIBILIDAD, MCD Y FACTORIZACIN

133

De nuevo:

122 = 3 40 + 2,
y por tanto:

mcd(122, 3) = mcd(3, 2).


Otra vez:

3 = 2 1 + 1,
lo que signica:

mcd(3, 2) = mcd(2, 1).


El resto de dividir por 1 es siempre 0 por lo que el mcd(8872, 125) = 1. Esto
se suele indicar como que 8872 y 125 son primos entre s (o relativamente
primos).

Denicin 3.3.10 Si dos nmeros enteros positivos a, b Z verican que


mcd(a, b) = 1 se dicen primos entre s (o relativamente primos).
Ejercicio 56 Calcula por el algoritmo de Euclides el mcd(247, 9981).
Notacin. Al resto de dividir a entre b lo denotaremos a mod b (como
sealamos en el captulo anterior).

Ejercicio 57 Escribe en pseudocdigo el algoritmo de Euclides.


Lema 3.3.11 (de Bezout) Sean a, b Z nmeros enteros positivos, existen
dos enteros s y t tales que

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

CAPTULO 3. ARITMTICA MODULAR

rn3 = qn1 rn2 + rn1


rn2 = qn rn1
donde rn1 = mcd(a, b).
Vamos a demostrar que para cada ri (i 0) existen enteros si y ti de
modo que:
ri = si a + ti b.
Esto concluye el lema porque rn1 = mcd(a, b).
La demostracin que vamos a presentar es, de alguna manera, constructiva. Si despejamos rn1 en la penltima igualdad, expresamos el mcd(a, b)
como combinacin lineal entera de rn3 y rn2 (esto quiere decir que existen dos nmeros enteros A y B de modo que mcd(a, b) = Arn3 + Brn2 ).
Si vamos despejando rn2 en la siguiente igualdad, rn3 en la anterior... y
recurrentemente vamos sustituyendo en las expresiones anteriores, al nal
expresamos mcd(a, b) como combinacin lineal entera de a y b que es justamente lo que queremos.
Formalizamos el razonamiento por induccin completa en i.
El caso i = 0 es cierto puesto que:

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:

ri = (si2 a + ti2 b) qi (si1 a + ti1 b).


Por tanto

ai = si2 qi si1

3.3. DIVISIBILIDAD, MCD Y FACTORIZACIN

135

bi = ti2 qi ti1
hacen que se verique el lema.

Ejemplo 3.3.12 Expresar el mcd(35, 20) como combinacin lineal de 35 y


20.

Las expresiones del algoritmo de Euclides:

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.

Corolario 3.3.13 Sean a, b Z dos nmeros no negativos. Si 1 < p < ab

es un entero positivo que divide al producto ab y mcd(a, p) = 1 entonces p


divide a b.

Demostracin. Como mcd(a, p) = 1, del lema de Bezout, se deduce que


existen enteros s, t Z de modo que:

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:

b = spc + tpb = p(sc + tb).


Y por tanto p divide a b.

Corolario 3.3.14 Sean p, p1 , ..., pn nmeros primos. Si p divide al producto


p1 ...pn entonces existe i, tal que 1 i n y p = pi .

136

CAPTULO 3. ARITMTICA MODULAR

Demostracin. Razonamos por induccin en n, que es el nmero de factores


primos.
Si n = 1 el corolario es trivial, por denicin de nmero primo.
Si p divide a p1 ...pn pn+1 entonces, llamando a al producto p1 ...pn , tenemos
que p divide al producto apn+1 . Si mcd(a, p) = 1 entonces, por el corolario
anterior, p es un nmero primo que divide a pn , que tambin es primo. Por
tanto concluimos que p = pn . Podemos entonces suponer r = mcd(a, p) 6= 1.
En particular r divide a p y, como r 6= 1 y p es primo, entonces r = p. De
este modo r = p divide a a = p1 ...pn y se concluye por hiptesis de induccin.

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.

Teorema 3.3.15 Todo nmero entero a 2 puede escribirse de forma nica

(salvo posibles reordenamientos) como producto de nmeros primos,

a = pa11 pa22 ...pann


donde los nmeros a1 , ..., an son nmeros naturales no nulos y p1 , p2 , ...,
pn son nmeros primos distintos. A la expresin de a de arriba se le llama
factorizacin prima de a o descomposicin en factores primos de a.
Demostracin. Realicemos un algoritmo para factorizar el nmero entero
a 2. Este algoritmo recoge el procedimiento clsico de ir probando con
los nmeros primos menores que el nmero que queremos factorizar hasta
encontrar: o bien que llegamos hasta a, que es por tanto primo, o bien que
obtenemos un factor p, que necesariamente es primo (pues es el primero que
encontramos). En esta segunda posibilidad dividimos a/p por l y empezamos de nuevo el proceso con el cociente a/p:
Entrada: a (a > 2)
i := 2
while a mod i 6= 0
i := i + 1
If i < a then r :=i es factor de a else r :=a es primo

3.3. DIVISIBILIDAD, MCD Y FACTORIZACIN

137

Salida: r
En caso de que a no fuera primo repetimos el proceso con el cociente a/i.

Ejemplo 3.3.16 Calculemos la factorizacin de 135.


Como 135 no es par, no es divisible por 2.
Si dividimos entre 3 obtenemos que 135 = 345. Por tanto 3 es un factor
primo de 135.
Reiniciamos el algoritmo con 45. (No hace falta probar con los primos
que no dividan al nmero de partida, porque no pueden dividir al cociente,
ver ejercicio siguiente).
De nuevo es divisible entre 3, esto es 45 = 3 15.
El cociente de nuevo es divisible entre 3, 15 = 3 5.
Y 5 es un nmero primo: 135 = 33 5.

Ejercicio 58 Sean a, b, c enteros positivos. Supongamos que b divide a c.

Demostrar que si a no divide a c entonces a no divide al cociente de c entre


b.
El algoritmo presentado muestra la existencia de la factorizacin, debemos comprobar ahora la unicidad de la misma. Razonamos por reduccin
al absurdo.
Supongamos que la factorizacin no es nica entonces:
bm
a = pa11 pa22 ... pann = q1b1 ... qm
.

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

CAPTULO 3. ARITMTICA MODULAR

La siguiente proposicin aumenta notablemente la eciencia del algoritmo


de factorizacin.

Proposicin 3.3.17 Todo


nmero entero compuesto a tiene un factor primo
p 6= 1 menor o igual que

a.

Demostracin. Razonamos por reduccin al absurdo. Supongamos


que todos

los factores primos de a son estrictamente mayores que a. Como a es


compuesto, tenemos
a = pa11 ... pann
donde o bien a1 > 1 o bien n > 1 (o
ambas cosas). En cualquiera de los
casos,como hemos supuesto que pi > a para cada i = 1...n, se tiene que
a > ( a)2 > a lo que es una contradiccin.
Veamos un ejemplo donde se muestra la utilidad del lema.

Ejemplo 3.3.18 Factoricemos 8872.


Como es un nmero par 8872 = 2 4436.
2
3
El cociente
es de nuevo par 8872 = 2 2218 y de nuevo 8872 = 2 1109.
Como 1109 = 33.3001, debemos probar con los primos menores o iguales
que 31, que son 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 y 31.
Es una comprobacin ver que ninguno de ellos lo divide, por tanto 1109
es primo y la descomposicin es

8872 = 23 1109.
Observar la mejora que ha introducido el hecho de slo tener que probar
con los primos hasta la raz de 1109.

Ejercicio 59 Factoriza 1653.


La relacin de divisibilidad y sobre todo la primalidad de nmeros enteros
son conceptos profundamente ligados a la seguridad informtica en lo que
se denomina criptografa, referente a la transmisin de mensajes codicados
para no poder ser descifrados por un ajeno al sistema. La idea fundamental
es que los algoritmos que se conocen para saber si un nmero es o no primo
precisan demasiado tiempo. Esto parece indicar que si se enva un nmero
primo (o compuesto) sucientemente grande, un posible receptor indeseado

3.4. RELACIONES DE CONGRUENCIA

139

del mensaje no va a ser capaz de saber si el nmero es primo o extraer sus


factores.
El problema de la distribucin de los primos en el conjunto de los enteros,
es decir, el de conocer el primo ensimo, permanece misterioso a pesar de ser
una cuestin que ha fascinado a matemticos de todas las pocas.
La divisin entera nos abre el campo de la aritmtica modular, que es el
resultado de establecer unas relaciones de equivalencia en los enteros para
construir otros anillos con un nmero nito de elementos y propiedades muy
interesantes.

3.4

Relaciones de congruencia

Aunque volveremos sobre ellas en profundidad en el ltimo captulo, denamos lo que es una relacin de equivalencia.

Denicin 3.4.1 Sea A un conjunto, una relacin R en A se dice que es


de equivalencia si verica las propiedades:
i) Reexiva: a se relaciona con a para cualquier a en A, esto es (a, a)

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.

Denicin 3.4.2 Sea Z el conjunto de los nmeros enteros y p Z un


nmero entero p > 1. Denimos la relacin de congruencia mdulo p,

que denotamos a b mod p, de la siguiente manera: a es congruente con b


mdulo p si y solamente si a b es mltiplo de p.

Observacin 3.4.3 Si a y b son positivos entonces a b mod p si y solamente si a mod p= b mod p.

Ejercicio 60 Demostrar la veracidad de la observacin anterior.


Proposicin 3.4.4 La relacin de congruencia antes denida es una relacin de equivalencia.

140

CAPTULO 3. ARITMTICA MODULAR

Demostracin. Debemos comprobar las tres propiedades:

Reexiva. Se tiene la propiedad reexiva ya que para cada a Z se

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.

Ejercicio 61 Comprobar las siguientes relaciones de congruencia:


2 4 mod 2 13 2 mod 5 15 3 mod 3.
La siguiente proposicin observa que las operaciones de la aritmtica entera, esto es, suma y producto, respetan esta relacin de equivalencia. Por
tanto se puede hablar de aritmtica modular. Es decir, se pueden hacer
sumas y productos mdulo un cierto entero.

Proposicin 3.4.5 Sean a, b, c, d, p Z nmeros enteros con p > 1, tales


que a c mod p y b d mod p. Se verica que:
i) a + b c + d mod p;
ii) ab cd mod p.

Ejercicio 62 Usar la denicin de congruencia para demostrar la proposicin anterior.

Ejemplo 3.4.6 Tomemos la relacin de congruencia mdulo 5.

Empecemos mirando los nmeros positivos. Como a b mod 5 si y


solamente si el resto de dividir a o b entre 5 es el mismo (por la observacin
3.4.3), nos interesa saber cuntas posibilidades existen para dicho resto. Por
el teorema de la divisin entera el valor del resto de dividir por 5 es un nmero
comprendido entre 0 y 4. De esta manera aparecen, al trabajar mdulo 5, los

3.4. RELACIONES DE CONGRUENCIA

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

Los nmeros negativos tambin son de alguno de esos tipos:

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.

Ejercicio 63 Opera mdulo 7, obteniendo un resultado entre 0 y 6:


2345 + 214 432,

2419 + 987.

La formalizacin de estos conceptos, sobre la que profundizaremos en el


captulo 6 se encuentra en las siguientes deniciones:

Denicin 3.4.7 Sea A un conjunto y una relacin de equivalencia en


A. Para cada elemento a A se dene la clase de equivalencia de a, y

se denota por C(a) o por a, como el conjunto de todos aquellos elementos de


A que se relacionan con a:

a = {b A : b a}.

142

CAPTULO 3. ARITMTICA MODULAR

Denicin 3.4.8 Sean A un conjunto y una relacin de equivalencia en


A. Se dene el conjunto cociente de A por la relacin de equivalencia

como el conjunto de las clases de equivalencia:

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:

Zp = {0, 1, ..., p 1}.

Ejemplo 3.4.9 Estudiemos las operaciones de suma y producto en Z7 .


Est formado por 7 clases de equivalencia:

Z7 = {0, 1, ..., 6}.


En la clase de equivalencia del 0 estn los mltiplos de 7.
En la clase de equivalencia del 1 estn todos los nmeros positivos que
dan resto 1 al dividir por 7, por ejemplo, 8, 15, 22. Adems el -6, -13, -20...
Y as en cada clase de equivalencia.
Para sumar basta saber lo que ocurre al hacer las sumas mdulo 7 de los
nmeros del 0 al 6 y lo mismo para el producto. Lo representamos en dos
tablas:

+
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

3.5. SISTEMAS DE ECUACIONES MDULO ENTEROS

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

Las tablas de las sumas y los productos de los nmeros

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

Sistemas de ecuaciones mdulo enteros

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.

Ejemplo 3.5.1 Sea por ejemplo la congruencia 3x + 3 4 mod 5. Se trata


de buscar todos aquellos nmeros enteros x tales que al multiplicarlos por 3
y sumarles 3 son congruentes con 4 mdulo 5.

Si razonamos como si fueran ecuaciones de primer grado tradicionales, lo


que hacemos primero es pasar el 3 restando al otro miembro para escribir
3x 1 mod 5. Esto es, sumar -3 ( 2 ya que 3 2 mod 5) a ambos lados
de la equivalencia. Esta operacin no supone ningn problema porque en el

144

CAPTULO 3. ARITMTICA MODULAR

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.

Teorema 3.5.2 Sean a, p Z nmeros enteros positivos no nulos. Si mcd(a, p) =


1 entonces existe el inverso de a para el producto, es decir un entero b tal
que a b 1 mod p.
Demostracin. Como mcd(a, p) = 1 el lema de Bezout garantiza la existencia
de dos nmeros enteros s, t Z de modo que:

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.

Observacin 3.5.3 Sean a y p enteros, con p > 1. Si existe b entero tal


que ba 1 mod p entonces b es nico mdulo p.

Demostracin. Supongamos ab0 1 mod p. Entonces ab ab0 0 mod p,


esto es, p divide a a(bb0 ). Si mcd(a, p) = 1 podemos usar el Corolario 3.3.13
y as p divide a b b0 lo que concluye la demostracin. Si r = mcd(a, p) 6= 1,
entonces existen enteros s y t tales que a = rs y p = rt (1 < t < p). De este
modo, abt 0 mod p. Como ab 1 mod p entonces t es un mltiplo de p lo
que es una contradiccin, ya que 1 < t < p.

Observacin 3.5.4 En las mismas condiciones del teorema, si mcd(a, p) =


r 6= 1 no existe b Z tal que ab 1 mod p.

Demostracin. Como mcd(a, p) = r 6= 1, entonces existen enteros s, t Z

tales que a = rs y p = tr con 1 < t < p. De este modo at 0 mod p.


Supongamos que existe b Z tal que ab 1 mod p. Entonces:

bat t mod p

3.5. SISTEMAS DE ECUACIONES MDULO ENTEROS

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.

Ejemplo 3.5.5 Sean los nmeros 5 y 11. Vamos a calcular el inverso de 5


mdulo 11. Como son primos entre s entonces existe a Z tal que 5a
1 mod 11. Calculamos el valor de a. El algoritmo de Euclides da la identidad
de Bezout:
1 = 11 + 5 (2).
Por tanto, mdulo 11:

1 5 (2) mod 11.


Por lo que a = 9 es el inverso de 5 mdulo 11. (Obsrvese que 2
9 mod 11.)
Esto permite resolver la congruencia que ponamos en un ejemplo anterior:

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

CAPTULO 3. ARITMTICA MODULAR

Multiplicamos la congruencia por 2 y tenemos

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.

Ejemplo 3.5.6 Como


3 1 3 mod 6 3 2 0 mod 6 3 3 3 mod 6
3 4 0 mod 6 3 5 3 mod 6 3 0 0 mod 6
entonces 3 no tiene inverso mdulo 6. Obsrvese que no se tienen las hiptesis
del teorema, ya que mcd(3, 6) = 3.

Ejercicio 64 Demostrar que la congruencia lineal


3x + 4 5 mod 6
no tiene solucin.

Ejercicio 65 Hallar todas las soluciones enteras de la congruencia


5x + 2 5 mod 7.
Si se pueden plantear ecuaciones lineales, es natural ahora plantear el problema de resolver sistemas de congruencias lineales, es decir, expresiones
del tipo

x a1 mod p1

3.5. SISTEMAS DE ECUACIONES MDULO ENTEROS

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.

Teorema 3.5.7 Sean a1 , a2 , ..., an nmeros enteros y p1 , p2 , ..., pn enteros po-

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

CAPTULO 3. ARITMTICA MODULAR

con K Z son solucin del sistema.


Demostramos ahora la unicidad de la solucin mdulo P . Esto prueba
adems que toda solucin del sistema es de la forma x = x0 +KP con K Z.
Tomemos y dos soluciones del sistema, entonces es solucin del
sistema de congruencias

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 .

Ejemplo 3.5.8 Resolver el sistema:


x 2 mod 3
x 3 mod 5
x 2 mod 7
Como 3, 5 y 7 son primos entre s, el teorema chino de los restos permite
calcular la nica solucin mdulo 3 5 7 = 105.
Siguiendo la notacin del teorema

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

3.5. SISTEMAS DE ECUACIONES MDULO ENTEROS

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.

Ejemplo 3.5.9 Supongamos que tenemos una calculadora de 8 dgitos y que-

remos hacer la suma de los nmeros 5888851358 y 259632147. Tomamos,


por ejemplo, los nmeros primos entre s 100, 99 y 97 cuyo producto P es
960.300, menor de 8 cifras.
El primer nmero verica:

5888851358 58 mod 100


5888851358 72 mod 99
5888851358 78 mod 97.
El segundo verica:

259632147 47 mod 100


259632147 93 mod 99
259632147 7 mod 97.
Y para hacer la suma basta hacer la suma de los restos, y despus resolver
el sistema
x 47 + 58 mod 100
x 72 + 93 mod 99
x 78 + 7 mod 97
En este ltimo paso, para recuperar el nmero, hay que hacer operaciones
con enteros de ms de 8 dgitos, por lo que, propiamente, con 8 dgitos slo
podemos hacer aritmtica con las representaciones por sus restos mdulo 100,
99 y 97.

150

CAPTULO 3. ARITMTICA MODULAR

Tambin puede usarse este teorema para hacer recuentos con nmeros
grandes.

Ejemplo 3.5.10 Supongamos que tenemos una manifestacin que sabemos


que ha congregado a menos de un milln de personas y queremos, desde la
organizacin, saber el nmero exacto de congregados. Les pedimos que se
agrupen de 100 en 100 y apuntamos el resto. Pongamos que son 30. Esto
indica que el nmero x de participantes verica

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.

Ejercicio 66 Determinar el nmero de participantes en la anterior manifestacin.

3.6 Sistemas de numeracin


Terminamos este tema con esta seccin dedicada a los sistemas de numeracin, es decir a las formas de representar los nmeros enteros. La base
escogida para la numeracin es arbitraria y est universalmente admitida la
base 10 (sistema de numeracin decimal) quizs debida a nuestra propia anatoma que presenta 10 dedos para poder contar con ellos. Pero otras bases
de numeracin son tambin importantes: la base dos (sistema de numeracin
binaria) es fundamental en la informtica y las telecomunicaciones, donde la
informacin est compuesta de ceros y unos; la base 60 es tambin importante en algunos campos (p.ej. medida de ngulos) debido al gran nmero
de divisores del 60 (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60); tambin la base 12
es relevante en medidas temporales, por razones similares a la base 60. Vamos a ver que todos estos sistemas permiten representar, mediante notacin
posicional, cualquier nmero entero y hacer operaciones con esta notacin.

3.6. SISTEMAS DE NUMERACIN

151

Cuando escribimos el nmero 12345 en base 10 estamos usando lo que se


llama notacin posicional y cada dgito tiene un signicado por el lugar
que ocupa. As, empezando por la derecha, la primera cifra es la de las
unidades, la siguiente la de las decenas..., es decir,

12345 = 5 100 + 4 101 + 3 102 + 2 103 + 1 104 .


Y esto que se hace con la base 10, expresar el nmero como combinacin
lineal de las potencias de la base, se puede hacer para un valor arbitrario de
la base.

Teorema 3.6.1 Sean a y b nmeros enteros positivos, con b > 1. Existen


unos valores nicos a0 , a1 , ...an , con 0 ai < b y con an 6= 0, de modo que

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.

Ejercicio 67 Disear un algoritmo para escribir un nmero escrito en base

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

CAPTULO 3. ARITMTICA MODULAR

Ejercicio 68 Escribir en base 10 los siguientes nmeros, escritos en base 2,


3 y 5 respectivamente:

101001001

12101

342104

Ejercicio 69 Escribir el nmero 1465 en base 2, 5 y 7.


Y nalmente se pueden escribir algoritmos para hacer operaciones de
suma y producto de nmeros escritos en cualquier base de numeracin, sin
ms que tener en cuenta que lo que tradicionalmente se expresa como me llevo
una, que en base 10 se hace cuando se llega a 10, en una base de numeracin
cualquiera se hace cuando se llega al valor de la base.

Ejemplo 3.6.2 Sumamos en base 2 los nmeros 1101 y 1001.


1101
1001

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.

Ejemplo 3.6.3 Multiplicamos en base 2 los nmeros 1101 y 11.


1101
11

1101
1101

100111

Ejercicio 70 Escribir algoritmos para sumar en base 2 y para multiplicar


en base 2.

3.7. EJERCICIOS

3.7

153

Ejercicios

Ejercicio 71. Poner dos ejemplos de:

i) nmeros congruentes con 2 mdulo 3,


ii) nmeros congruentes con 5 mdulo 7,
iii) nmeros congruentes con 11 mdulo 5,
iv) nmeros no nulos mdulo 12 tal que su producto mdulo 12 sea nulo,
v) nmeros distintos de 1 mdulo 15 tal que su producto sea 1.

Ejercicio 72. Calcular usando el algoritmo de Euclides:


i) mcd(10223, 33341),
ii) mcd(385, 1729).

Ejercicio 73. Demostrar la regla de divisibilidad por 9: n es divisible por 9


si la suma de sus cifras es divisible por 9.

Ejercicio 74. Realiza las siguientes operaciones:

i) 3+5, 4+8, 9 8, 841234 , 245+1321 mdulo 5


ii) 4+5, 1044+8, 9 8, 841234 , 245+1321 mdulo 2
iii) 3+75, 234+458, 9 8, 841234 , 245+1321 mdulo 7.

Ejercicio 75. Demostrar que el siguiente sistema de congruencias no tiene


solucin:

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

CAPTULO 3. ARITMTICA MODULAR

3.8 Ejercicios Resueltos


Ejercicio 51. Comenzamos con c = 1. Entonces usando las reglas de la
suma se tiene

(a + b) + 1 = s(a + b) = a + s(b) = a + (b + 1).


Ahora supongamos que (a + b) + c = a + (b + c). De nuevo de las reglas
de la suma se tiene

(a + b) + s(c) = s((a + b) + c) = s(a + (b + c)) = a + s(b + c) = a + (b + s(c)).

Ejercicio 52. Fijamos n N. Tomamos el conjunto A = {m N : nm est

denido}. La primera regla del producto garantiza que 1 A. La segunda


regla dice que si m A entonces s(m) A. De este modo A = N por el
principio de induccin.

Ejercicio 53. Fijamos n Z. Tomamos el conjunto A = {m Z : n + m


est denido}. Como 1 A entonces A 6= . Si m A las reglas tercera
y cuarta garantizan que s(m) A y que a(m) A. Por tanto A = Z por
induccin estructural.

Ejercicio 54. Basta tener en cuenta el signo y usar el producto que tenemos

en los nmeros enteros no negativos, N+ .


Denimos como es habitual el valor absoluto de n Z como |n| = n si
n N+ , |0| = 0 y |n| = n si n N :

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.

3.8. EJERCICIOS RESUELTOS

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 a11 b12 + a12 b22


AB =
a21 b11 + a22 b21 a21 b11 + a22 b21
Comprobamos que es asociativo, esto es, (AB)C = A(BC), donde las
entradas de C estn denominadas con la letra c. Lo hacemos para la entrada
de subndice 11 del producto, de igual manera se hara para las otras tres
entradas.
En el producto (AB)C se tiene que dicha entrada es:

(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

CAPTULO 3. ARITMTICA MODULAR

N=

1 0
1 0

se puede comprobar que M N 6= N M con lo que el producto de matrices


no es conmutativo.

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:

mcd(9981, 247) = mcd(247, 101) = mcd(101, 45) = mcd(45, 11) = mcd(11, 1) = 1.

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

Ejercicio 58. Supongamos que a divide al cociente q = c/b Z entonces


existe un entero s de modo que as = q . Esto implica c = abs en contradiccin
con el hecho de que a no divide a c.

Ejercicio 59. El nmero 1653 no es par pero s es mltiplo de 3. Entonces

dividiendo entre 3 se obtiene 1653 = 3 551. Ahora bien 232 = 529 y


242 = 576. Por tanto 551 ha de tener un factor menor o igual que 23. El 19
divide a 551. Se tiene que 551 = 19 29. Como 29 es primo se tiene:

1653 = 3 19 29.

Ejercicio 60. Si r = a mod p = b mod p, entonces se tiene que existen

enteros no negativos q y q 0 tales que a = pq + r y b = pq 0 + r. Se sigue que


a b = p(q q 0 ), con lo que a b mod p.

3.8. EJERCICIOS RESUELTOS

157

Sin perdida de generalidad supongamos a b. Por el teorema del resto


q, q N {0} y enteros r y r0 tales que 0 r < p, 0 r0 < p y a = pq + r
y b = pq 0 + r0 . Entonces a b = p(q q 0 ) + (r r0 ). De este modo r r0 =
(a b) p(q q 0 ) es un mltiplo de p. Como p < r r0 < p entonces
necesariamente r = r0 , como queramos demostrar.
0

Ejercicio 61. 2 4 mod 2 porque 2 4 = 2.


13 2 mod 5 porque 13 + 2 = 5 3.
15 3 mod 3 porque 15 3 = 4 3.

Ejercicio 62. Si a c mod p entonces existe un entero s tal que:


a c = sp.
Si b d mod p entonces existe un entero t tal que:

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.

Ejercicio 63. 2345 + 214 432 6 mod 7.


2419 + 987 4 mod 7.

Ejercicio 64. Si existe x Z tal que 3x + 4 5 mod 6, entonces 3x


1 mod 6, de modo que existe un entero k tal que
3x = 6k + 1

158

CAPTULO 3. ARITMTICA MODULAR

lo que da una contradiccin pues 1 no es mltiplo de 3.

Ejercicio 65. Como 5x + 2 5 mod 7 pasamos el dos restando para obtener

5x 3 mod 7. Como el mcd(5, 7) = 1 entonces existe el inverso de 5 para el


producto mdulo 7. En efecto, dicho inverso es 3 ya que 5 3 1 mod 7.
De este modo multiplicando por 3 obtenemos x 2 mod 7. Entonces las
soluciones son de la siguiente forma donde k Z:
x = 7k + 2.

Ejercicio 66. Las congruencias lineales planteadas tienen solucin por el


teorema chino de los restos. Dicha solucin es 316.330.

Los ejercicios 67), 68), 69) y 70) Se presentan hechos con Maple.

3.8.1 Bases de numeracin con Maple


Cambios de base de sistema de numeracin

Veamos cmo se pueden implementar en Maple distintos algoritmos de


cambio de base.

Ejercicio 67.
De base 10 a base a

La entrada es el nmero entero n y la base a. El algoritmo debe ir


calculando las cifras del nmero en base a haciendo divisiones sucesivas por
a y tomando los restos. La salida ser una lista a0 , a1 , ..., am de modo que
n se escribe como am ...a1 a0 en 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:

Veamos algunos ejemplos

3.8. EJERCICIOS RESUELTOS


>

159

cambio10a(8,2);
0, 0, 0, 1

>

cambio10a(724,6);
4, 0, 2, 3

Comprobemos que en efecto ste es el resultado:


>

4*6^0+0*6^1+2*6^2+3*6^3;
724

Otro ejemplo y su comprobacin:


>

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

Por tanto 1465 en base 2, en base 5 y en base 7 es, respectivamente,


10110111001, 21330 y 4162.

De base a a base 10

160

CAPTULO 3. ARITMTICA MODULAR


El procedimiento es el siguiente:
>
>
>
>
>
>
>
>
>

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:

3.8. EJERCICIOS RESUELTOS


>
>
>
>
>

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

Sumas y productos en base 2


En el procedimiento siguiente el nmero ms largo va en primer lugar.
>
>
>
>
>
>
>
>
>
>
>
>

suma2:=proc(l,m) local t,i,s,r,j:


t:=[seq(m[i],i=1..nops(m)),seq(0,i=1..nops(l)-nops(m))]:
r[0]:=0:
i:=1
while i<nops(l)+1 do
s[i]:=(l[i]+t[i]+r[i-1]) mod 2:
r[i]:=floor((l[i]+t[i]+r[i-1])/2):
i:=i+1: od:
s[i]:=r[i-1]:
[seq(s[j],j=1..nops(l)+1)];
end:
suma2([1],[1]);
[0, 1]

>

suma2([0,1],[1]);
[1, 1, 0]

Damos slo la idea para construir el algoritmo de multiplicacin. Se debe


hacer lo siguiente: vamos a multiplicar la lista l con nops(l) elementos y la

162

CAPTULO 3. ARITMTICA MODULAR

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)

mcd(10223, 33341) = mcd(33341, 10223)


Como 33341 mod 10223 = 2672,

mcd(33341, 10223) = mcd(10223, 2672)


Como 10223 mod 2672 = 2207,

mcd(10223, 2672) = mcd(2672, 2207)


Como 2672 mod 2207 = 465,

mcd(2672, 2207) = mcd(2207, 465)


Como 2207 mod 465 = 347,

mcd(2207, 465) = mcd(465, 347)


Como 465 mod 347 = 118,

mcd(465, 347) = mcd(347, 118)


Como 347 mod 118 = 111,

mcd(347, 118) = mcd(118, 111)


Como 118 mod 111 = 7,

mcd(118, 111) = mcd(111, 7)

3.8. EJERCICIOS RESUELTOS

163

Como 111 mod 7 = 6,

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(1729, 385) = mcd(385, 189)


Como 385 mod 189 = 7,

mcd(385, 189) = mcd(189, 7)


Como 189 mod 7 = 0,

mcd(189, 7) = mcd(7, 0)
y nuestro mximo comn divisor es el 7.

Ejercicio 73. Un nmero n de, pongamos, m cifras se puede escribir como


n = a0 + a1 10 + a2 102 + a3 103 + ... + am 10m
siendo ai la cifra isima del nmero.
Como 10 1 mod 9 entonces 10n 1 mod 9 para cada n N. De este
modo al trabajar mdulo 9 se tiene:

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

CAPTULO 3. ARITMTICA MODULAR

9 8 mod 5 = (1) (2) mod 5 = 2 mod 5


841234 mod 5 = (1)1234 mod 5 = 1 mod 5 (hemos usado que 84 mod 5 =
(1) mod 5)
(245 + 1321) mod 5 = (0 + 1) mod 5 = 1 mod 5
ii) (4 + 5) mod 2 = (0 + 1) mod 2 = 1 mod 2
(1044 + 8) mod 2 = (0 + 0) mod 2 = 0 mod 2
(9 8) mod 2 = (1 0) mod 2 = 0 mod 2
841234 mod 2 = 01234 mod 2 = 0 mod 2
(245 + 1321) mod 2 = (1 + 1) mod 2 = 0 mod 2
iii) (3 + 75) mod 7 = (3 + (2)) mod 7 = 1 mod 7
(234 + 458) mod 7 = (3 + 3) mod 7 = 6 mod 7
(9 8) mod 7 = (2 1) mod 1 = 2 mod 1
841234 mod 7 = 01233 mod 7 = 0 mod 7
(245 + 1321) mod 7 = (0 + 5) mod 7 = 5 mod 7.

Ejercicio 75. En principio, no tiene por qu haber solucin, ya que 6 y 9 no

son primos entre s, y el teorema chino de los restos no se aplica. Veremos


que, en efecto, este es un ejemplo de no existencia de solucin.
Si x 2 mod 6 entonces x se puede escribir de la siguiente forma donde
K1 Z
x = 2 + 6K1
y si x 3 mod 9 entonces entonces x se puede escribir de la siguiente forma
donde K2 Z

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.

Ejercicio 76. En ambos casos se aplica el teorema chino de los restos (5 y


7 son primos entre s, 11 y 13 son primos entre s).

3.8. EJERCICIOS RESUELTOS

165

i) p1 = 5, p2 = 7. P = 35. P1 = 7, P2 = 5. Buscamos q1 y q2 tales que

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 = (3 3 7 + 5 3 5) mod 35 = 138 mod 35 = 33 mod 35


De este modo todas las soluciones son de la forma siguiente con k Z:

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 = (5 6 13 + 7 6 11) mod 143 = 852 mod 143 = 137 mod 143


De este modo todas las soluciones son de la forma siguiente con k Z:

x = 137 + 143k.

166

CAPTULO 3. ARITMTICA MODULAR

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:

Domine las reglas fundamentales del clculo combinatorio.


Entienda y utilice los conceptos de variaciones, combinaciones y permutaciones y los pueda aplicar para calcular cardinales de conjuntos.
Pueda aplicar estas nociones para estudiar la probabilidad de sucesos
de experimentos con una cantidad nita de resultados posibles.

4.1

Introduccin

Como hemos sealado en el prrafo introductorio, el primer problema que


tratamos de abordar es el de contar, es decir, computar el nmero de elementos de un conjunto. Y adems hacerlo de manera inteligente. Comencemos
con un ejemplo.
167

168

CAPTULO 4. COMBINATORIA

Ejemplo 4.1.1 Sea una competicin ajedrecstica con 64 participantes que

se juega por el sistema de eliminatoria, es decir, en cada partida el ganador


pasa a la siguiente fase y el perdedor queda eliminado. Determinar el nmero
de partidas que se han de jugar para obtener un campen.
Para una persona acostumbrada al sistema de eliminatorias el problema
se resuelve fcilmente:
Empezamos con las 32 partidas de los 32-avos de nal.
Proseguimos con las 16 de los dieciseisavos de nal.
Despus los 8 octavos de nal.
Los cuatro cuartos de nal.
Las dos seminales.
Y la nal.

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:

256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 511.


La segunda frmula es sencillamente:

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

Ejemplo 4.1.2 El consejo de ministros (pongamos que son 15 personas)


debe elegir a dos de sus miembros para enviarlos a una misin de paz en
el frica subsahariana acompaando al ministro de exteriores. Determinar
cuntas posibles parejas de acompaantes hay.

Si el consejo de ministros est formado por 15 personas, y hay que elegir


2 para acompaar al ministro de exteriores, entonces hay 14 candidatos elegibles que podemos numerar con las cifras del 1 al 14, es decir se puede
establecer una funcin biyectiva (recordaremos su denicin en la prxima
seccin) entre el conjunto de posibles ministros acompaantes y el conjunto

N14 = {1, 2, 3, 4, ..., 13, 14}.


El problema es decir cuntos y cules son los subconjuntos de dos elementos de N14 . Lo hacemos ordenadamente:
Los subconjuntos que contienen al elemento 1 son los 13 subconjuntos
formados por el 1 y otro ministro cualquiera, esto es,

{1, 2}, {1, 3}, ..., {1, 14}.


Para el elemento 2 basta elegir entre 12 acompaantes (del 3 al 14) porque
ya hemos tenido en cuenta la pareja {1, 2}. As son 12:

{2, 3}, {2, 4}, ..., {2, 14}.


Este proceso se puede ir repitiendo y escribir la lista completa, adems
sirve para demostrar que las parejas posibles son:

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

4.2 Tcnicas de conteo


Vamos a precisar las deniciones de los conceptos que hemos presentado.

Denicin 4.2.1 Sean A y B conjuntos, se dene una funcin de A en


B y se denota f : A B a un subconjunto del producto cartesiano A B
de la forma {(a, f (a)) : a A} A B .

Denicin 4.2.2 Sean A y B dos conjuntos y f : A B una funcin de A

en B :

Se dice que f es inyectiva si para cada par de elementos a, b A que


verican f (a) = f (b) se tiene que a = b.
Se dice que f es sobreyectiva si para cada b B existe un elemento
a A de modo que b = f (a).
Se dice que f es biyectiva si es inyectiva y sobreyectiva.

Ejemplos 4.2.3 Sea A = B = R y f : R R que asigna a cada x R el


valor de su cuadrado f (x) = x2 . Se tiene que f no es inyectiva porque dos
nmeros reales distintos, por ejemplo el 2 y el 2, verican f (2) = f (2) =
4.
Tampoco es sobreyectiva porque hay nmeros reales (todos los negativos)
que no se pueden escribir como el cuadrado de un nmero real.
Como no es inyectiva (ni tampoco sobreyectiva) no es biyectiva.

Denicin 4.2.4 Sean A y B dos conjuntos, se dice que el cardinal de A


es igual que el cardinal de B , y se escribe |A| = |B|, si existe una funcin

biyectiva (o biyeccin) entre A y B .

Deniciones 4.2.5 Un conjunto A se dice nito si, o bien es el conjunto

vaco, o bien existe n N y una biyeccin f : A Nn entre A y Nn ,


siendo Nn el conjunto de los nmeros naturales menores o iguales que n,
Nn = {1, 2, ..., n}.
Si A es el conjunto vaco A = denimos el cardinal de A como 0, esto
se denota:
|| = 0.

Si A es un conjunto nito no vaco entonces para un cierto n N existe


una biyeccin f : A Nn y denimos el cardinal de A como n:

|A| = n.

4.2. TCNICAS DE CONTEO

171

Observamos que la nocin de cardinal est bien denida porque si existe


una biyeccin entre Nn y Nm entonces n = m.

Ejemplos 4.2.6 i) Sea A el conjunto de las letras del alfabeto espaol. La


ordenacin alfabtica determina una biyeccin entre A y N29 . Por tanto
|A| = 29.
ii) El cardinal del conjunto de los nmeros naturales, N, no puede ser
nito porque no hay ninguna aplicacin biyectiva entre N y un subconjunto
suyo de la forma Nn .
Vamos a analizar algunas de las propiedades de los cardinales de conjuntos
nitos. Sean en cada caso A y B dos conjuntos de cardinal nito.

Propiedad 1. Si A B = entonces |A B| = |A| + |B|.


Propiedad 2. Dado el subconjunto B A denimos el complementario de
B en A, escrito B , como A B = {x A : x
/ B} entonces
|B| = |A| |B|.

Propiedad 3. Si A B entonces |A| |B|.


Propiedad 4. |A B| = |A| + |B| |A B|.
Propiedad 5. |A B| = |A| |B|.
Esta propiedad 5 se suele denominar regla del producto. Establece lo siguiente: si el nmero de posibilidades para una situacin (pongamos la primera
letra de una palabra) es n y el nmero de posibilidades para otra situacin
(pongamos la segunda letra de una palabra) es m, entonces las posibilidades
de las dos situaciones conjuntamente (digamos, palabras de dos letras) es
nm.

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.

Observaciones 4.2.7 i) La propiedad 2 aplicada a tres conjuntos nitos se


puede generalizar:

|A B C| =

172

CAPTULO 4. COMBINATORIA

= |A| + |B| + |C| |A B| |B C| |A C| + |A B C|.


Y se pueden escribir frmulas anlogas para cada unin nita de conjuntos
nitos.
ii) El Principio del Palomar se puede generalizar de la siguiente manera:
Sean m, n nmeros naturales con m > n. Si queremos colocar m objetos en n
cajas, en alguna de ella habr necesariamente una cantidad de objetos mayor
o igual que la parte entera del cociente m/n.
iii) Tambin la propiedad del producto cartesiano se generaliza:

|A1 A2 ... An | = |A1 | |A2 | ... |An |.

Ejemplos 4.2.8 de aplicacin de las propiedades.

i) Sea A el conjunto de alumnos matriculados en alguna asignatura de


primero, B el conjunto de alumnos matriculados en alguna asignatura de
segundo. El conjunto A tiene cardinal 250 y el conjunto B tiene cardinal
220. Hay exactamente 50 alumnos que tienen alguna asignatura de primero
y alguna de segundo. Entonces el nmero total de alumnos de primero y
segundo sera, aplicando la Propiedad 4:

|A B| = 250 + 220 50 = 420.


ii) Sea P el conjunto de palabras de cuatro letras. Si llamamos A al
alfabeto espaol se tiene:

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

Partimos del siguiente problema:

Problema. Dada una carrera con 154 participantes, determinar cuntos


posibles resultados pueden producirse para el podium (oro, plata y bronce).

Formalmente podemos escribir el problema de una forma equivalente: sea


A el conjunto de participantes, que forma un conjunto de 154 elementos y por
tanto admite una biyeccin con N154 (a cada corredor un dorsal numerado).
Sea B el conjunto de las tres medallas, que admite una biyeccin con N3 (por
ejemplo el oro al 1, la plata al 2 y el bronce al 3). Se trata de determinar el
nmero de funciones inyectivas de N3 en N154 .

Problema equivalente. Calcular el nmero de funciones inyectivas de N3


en N154 .

En efecto, ambos problemas son equivalentes porque una funcin inyectiva


f de N3 en N154 consiste en dar f (1) = a N154 , f (2) = b N154 y
f (3) = c N154 que son tres nmeros de dorsal distintos (ya que f inyectiva),
justamente los que suben al podium (la persona con el dorsal a gana el oro,
la de dorsal b la plata y la de c el bronce).
Observamos que para el ganador del oro hay 154 posibilidades (cualquier
corredor); una vez que se ha establecido quin ha ganado el oro, para el
ganador de la medalla de plata hay 153 posibilidades; y sabiendo el ganador
del oro y la plata tenemos 152 resultados posibles para el bronce. De este
modo hay 154153152 posibles resultados de la carrera o equivalentemente
hay 154 153 152 funciones inyectivas de N3 en N154 .
Esto nos permite plantear el problema general que atae al concepto de
variaciones.

Problema. Determinar el nmero Vm,n de funciones inyectivas del conjunto


Nn en el conjunto Nm .

Observacin 4.3.1 El Principio del palomar seala que si n > m entonces

no hay tales funciones inyectivas, esto es, Vm,n = 0.

174

CAPTULO 4. COMBINATORIA

Una generalizacin sencilla de los razonamientos del ejemplo anterior indica


que si m n:

Vm,n = m (m 1) ... (m n + 1) = m!/(m n)!.

Ejemplo 4.3.2 El nmero de funciones inyectivas que se pueden establecer


entre N5 y N10 es:

V10,5 = 10 9 8 7 6.

Denicin 4.3.3 Al nmero Vm,n de funciones inyectivas entre un conjunto


de cardinal n y otro de cardinal m con m n se le llama nmero de
variaciones de m elementos tomados de n en n y se tiene
Vm,n = m (m 1) ... (m n + 1).

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

El nmero de selecciones ordenadas de n elementos en un conjunto de


m elementos.
El nmero de variaciones de m elementos tomadas de n en n, esto es,
Vm,n = 0 si m < n
Vm,n = m(m 1)...(m n + 1) si m n.
Modiquemos un poco las deniciones.

Denicin 4.3.5 Se llama nmero de variaciones con repeticin de


m elementos tomados de n en n al nmero V Rm,n de funciones de Nn

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.

Ejemplo 4.3.6 Determinar cuntas palabras formadas por 4 bytes se pueden


construir. O equivalentemente cuntos nmeros enteros se pueden almacenar
con 4 bytes.
El conjunto de las palabras formadas por cuatro bytes, es decir, por cuatro
elementos del conjunto B = {0, 1} es

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.

Ejercicio 78 Con el alfabeto espaol de 29 letras:


i) Determinar el nmero de palabras de 5 letras.
ii) Determinar el nmero de palabras de 5 letras sin ninguna repetida.
iii) Del conjunto de palabras de i) determinar cuntas de ellas contienen
a la letra b.
iv) Idem que iii) con el conjunto de palabras de ii).
v) Determinar cuntas palabras del conjunto i) empiezan por vocal. Idem
para las del conjunto ii).
vi) Determinar el nmero de palabras de i) que empiezan por vocal y
terminan por z. Idem con ii).
vii) Determinar el nmero de palabras de i) cuyas tres primeras letras
son vocales. Idem con ii).

Ejercicio 79 i) Determinar la cantidad de nmeros de 4 cifras que existen.


ii) Determinar cuntos de ellos son pares.
iii) Cuntos son impares.
iv) Cuntos son mltiplos de 5.
v) Cuntos contienen la cifra 2.
vi) Cuntos contienen la cifra 2 o la cifra 3.

Resumiendo, es lo mismo:
El nmero de aplicaciones de Nn en Nm .

4.4. PERMUTACIONES

177

El nmero de selecciones ordenadas de n elementos (admitiendo repeticiones) en un conjunto de m elementos.


El nmero de variaciones con repeticin de m elementos tomadas de n
en n, esto es,
V Rm,n = mn .

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.

Ejemplo 4.4.3 Sea el conjunto de los tres candidatos A = {Alicia, Ernesto,

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

Cada biyeccin entre A y B asigna a cada persona un cargo distinto.


Por ejemplo, denotando los nombres con su inicial e igualmente los cargos,
tenemos las 6 posibles biyecciones:

f1 (A) = p, f1 (E) = s, f1 (S) = v


f2 (A) = p, f2 (E) = v, f2 (S) = s
f3 (A) = s, f3 (E) = p, f3 (S) = v
f4 (A) = s, f4 (E) = v, f4 (S) = p
f5 (A) = v, f5 (E) = s, f5 (S) = p
f6 (A) = v, f6 (E) = p, f6 (S) = s,
que interpretadas como las listas ordenadas de las imgenes nos dan las 6
posibles ordenaciones distintas del conjunto B

{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.

Observacin 4.4.5 Por denicin 0! = 1.

4.4. PERMUTACIONES

179

Ejercicio 80 De cuntas maneras se pueden sentar 6 personas en una mesa


de 6 sillas. Estudiar lo que ocurre si la mesa es redonda y lo nico que
queremos tener en cuenta es la posicin relativa, es decir, quin est a la
derecha y quin a la izquierda, independientemente de la silla que se ocupa.

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

esto es, son solamente 3.


La razn por la que no son 6 las permutaciones es porque el nmero 1
est repetido 2 veces y, por tanto, cuando permutamos los unos entre s, el
nmero no vara. Es decir, si en el nmero 121 intercambiamos la primera y
la tercera cifra obtenemos el mismo nmero, que debe slo contarse una vez.
De esta manera, como las maneras de reordenar los unos son exactamente
dos, se debe dividir por 2 para contarlas slo una vez.

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 )!

Ejemplo 4.4.7 Determinar las palabras de 9 letras que se pueden construir

como resultado de ordenar las letras de la palabra cocodrilo. El resultado es:

P R92,3 =

9!
2!3!

donde el 2 proviene de las dos ces y el tres de las tres oes.

Ejercicio 81 El nuevo sistema de matriculacin de automviles establece


una matrcula formada por tres consonantes seguidas de 4 cifras.

i) Determinar el nmero de matrculas diferentes que existen.


ii) Determinar cuntas matrculas hay con las mismas letras y nmeros
que la matrcula:
BBK 1224
iii) Determinar cuntas matrculas empiezan por C y terminan por 1.
iv) Determinar cuntas matrculas son capicas en la parte de los dgitos.
v) Determinar cuntas matrculas hay con sus tres letras iguales.
vi) Idem que ii) con la matrcula

BBC

1122.

Ejercicio 82 Establecemos un juego de azar en el que se venden boletos de

5 cifras (permitiendo que empiecen por 0) y en el que se extrae un nmero de


5 cifras y se premian todos los boletos que contienen exactamente las mismas
cifras que el nmero extrado. Por ejemplo si sale el 12345, es premiado
tambin el 21345; si sale el 22345 tambin se premia el 23245.
i) Determinar el nmero de boletos premiados si sale el 12345.
ii) Determinar el nmero de boletos premiados si sale el 22344
iii) Determinar el nmero de boletos premiados si sale el 11222.

4.5. COMBINACIONES

181

iv) Si el sistema de premios se establece en proporcin al dinero recaudado,


por ejemplo la tercera parte de la recaudacin se reparte entre los ganadores.
Determinar cul es el tipo de boletos que tienen menos posibilidades de salir
y cul es el tipo que ms; observar que cuando la dicultad de salir aumenta
tambin lo hace el posible premio.

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:

Problema. Dada una clase de 85 alumnos, de cuntas maneras se puede


elegir el tro que ir a las reuniones del claustro.

Obsrvese que a diferencia del problema de las variaciones (por ejemplo


eleccin de delegado, subdelegado y vocal) ahora los tros

{M anuel, Juan, F elipe}


y

{Juan, M anuel, F elipe}


son el mismo (los alumnos elegidos para ir al claustro son los mismos tres),
esto es, no inuye el orden (mientras que en el problema de la eleccin de
delegado, el tro primero indica que M anuel es el delegado y en el segundo,
sin embargo, es Juan el delegado, por lo que son distintos).

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 .

Si en lugar de resolver el problema planteado, calculamos V85,3 entonces


estamos computando, no los subconjuntos, sino las selecciones ordenadas de
tres elementos. De esta manera cada subconjunto de 3 elementos lo estamos
contando ms de una vez. Exactamente lo contamos tantas veces como maneras distintas haya de reordenarlo, es decir, P3 veces. Con un ejemplo: los
seis trios siguientes:
{M anuel, Juan, F elipe}

{M anuel, F elipe, Juan}


{Juan, M anuel, F elipe}
{Juan, F elipe, M anuel}
{F elipe, Juan, M anuel}
{F elipe, M anuel, Juan}
son el mismo subconjunto de 3 elementos, ordenados sus elementos de todas
las maneras posibles. Por tanto el problema se resuelve computando:

T otal :

V85,3
.
P3

Para, efectivamente, slo contar cada subconjunto una vez.

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)!

Notacin. Escribiremos Cm,n como

m
n

Observacin 4.5.2 Por denicin 0! = 1 y

m
0

= 1.

4.5. COMBINACIONES

183

Denicin 4.5.3 Al nmero


m sobre n.

m
n

se le denomina nmero combinatorio

Ejercicio 83 Comprobar la frmula anteriormente escrita:



m
m!
=
.
n
n!(m n)!

Ejemplos 4.5.4 1) Determinar el nmero de posibles equipos de baloncesto

(5 miembros) que se pueden formar con 10 personas.

C10,5 =

10 9 8 7 6
V10,5
=
.
P5
5432

2) Determinar en cuntos de ellos juega el jugador llamado Martn. (Slo


un jugador se llama Martn.)

9
10

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

Algunas propiedades de los nmeros combinatorios


Sean m y n nmeros enteros m n entonces:

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

La propiedad 3) se puede deducir de la frmula del binomio de Newton,


que recordamos:


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

Esta identidad muestra que, si llamamos partes de A, denotado P (A), al


conjunto formado por todos los subconjuntos de A, el cardinal de las partes
de A verica:
|P (A)| = 2|A| .
Porque el conjunto total de subconjuntos se puede escribir como unin de los
subconjuntos de 0 elementos con los de un elemento, con los de 2... hasta
llegar al nico subconjunto de A de |A| elementos que es el propio A. Esta
ltima frmula tambin se puede demostrar por induccin sobre el cardinal
de A.
Una vez vistas estas propiedades de los nmeros combinatorios veamos
como se puede modicar el problema de las combinaciones.

Problema. Sean x, y , z tres indeterminadas, llamamos monomio de grado


d a una expresin del tipo xa y b z c con a + b + c = d. Determinar el nmero
de monomios diferentes de grado 5 en dichas tres indeterminadas.

Observamos que un monomio de grado 5 es por ejemplo x3 yz que podra


tambin escribirse como x2 yxz , o de cualquier otra manera posible resultado
de reordenar las variables (siempre tomando tres veces la x, una vez la y y
una vez la z ). Esto muestra que el orden de las selecciones no es relevante.

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.

Denicin 4.5.5 Sea un conjunto de m elementos, denimos el nmero de


combinaciones con repeticin de m elementos tomados de n en n al

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

Ejemplos 4.5.6 1) Determinar cuntos posibles resultados pueden aconte-

cer al lanzar tres dados indistinguibles simultneamente:



8
CR6,3 =
= 56.
3

2) Si se extraen simultneamente cinco cartas de cinco barajas espaolas


(40 cartas) el nmero de posibilidades es:

CR40,5


44
=
.
5

Ejercicio 84 1) Dada una nube de 312 puntos diferentes, donde nunca tres

de ellos estn alineados, determinar el nmero de tringulos distintos que se


pueden formar con dichos puntos.
2) Si entre los puntos de 1) existen 5 puntos que estn alineados, computar
cuntos tringulos se pueden formar.

Ejercicio 85 1) Sean 6 bombos que contienen cada uno de ellos 5 bolas


numeradas del 1 al 5 de modo que las bolas de bombos distintos con el mismo
nmero son indistinguibles entre s. Por un proceso mecnico cada bombo
deposita en una cesta una bola, simultneamente con el resto de bombos.
Determinar el nmero de resultados posibles.
2) Determinar cuntos de estos resultados contienen al menos una bola
numerada con el 5.

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.1 Nociones bsicas


Denicin 4.6.1 Un experimento aleatorio es un procedimiento cuyos
posibles resultados forman un conjunto conocido y al efectuar el experimento
el resultado obtenido depende del azar.

Ejemplos 4.6.2 Lanzar un dado es un experimento aleatorio porque el re-

sultado (un nmero del 1 al 6) del lanzamiento depende del azar.


La extraccin de una carta de una baraja.
La extraccin consecutiva y sin reposicin de dos bolas numeradas de un
bombo que contiene cuatro bolas con los nmeros 1 al 4.
La eleccin de tres nombres por sorteo en un grupo de 100 personas.

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.

Ejemplos 4.6.4 En el experimento aleatorio del lanzamiento de un dado,


su espacio muestral es = {1, 2, 3, 4, 5, 6}.
En la extraccin de una carta de una baraja, (digamos espaola con 40
cartas), el espacio muestral es un conjunto de cardinal 40 formado por
cada una de las cartas de la baraja.
En la extraccin de las bolas numeradas el espacio muestral es igual a
las parejas ordenadas (sin elementos repetidos) de un conjunto de 4 elementos, esto es, || = 4 3.
El conjunto de tros de un conjunto de 100 personas es el espacio muestral

100del
ltimo experimento aleatorio de los ejemplos y tiene cardinal || =
.
3
Denicin 4.6.5 Se denomina suceso a cada subconjunto del espacio mues-

tral de un experimento aleatorio.

Observacin 4.6.6 Nos centraremos en experimentos cuyo espacio muestral es un conjunto nito.

Ejemplos 4.6.7 En el espacio muestral del lanzamiento del dado podemos

elegir el suceso S : sacar un uno, correspondiente al subconjunto unitario S =


{1}. O el suceso S 0 : sacar un nmero par, correspondiente a S 0 = {2, 4, 6}.

Denicin 4.6.8 Sea E un experimento aleatorio, su espacio muestral,


de cardinal nito y de modo todos los elementos de son igualmente posibles.
Se dene la probabilidad de un suceso S como el cociente:
p(S) = |S|/||.
Es la Regla de Laplace que indica que la probabilidad de un suceso la
da el cociente del nmero de casos favorables entre el de casos posibles.

Ejemplos 4.6.9 1) Determinar cul es la probabilidad de acertar 14 en las


quinielas. El nmero de casos favorables es 1, el de los resultados de los
partidos, y el espacio muestral es el conjunto de listas de longitud 14 donde

190

CAPTULO 4. COMBINATORIA

cada elemento de la lista es un 1, una x o un 2. As la probabilidad de acertar


una quiniela es
1
.
314
2) Cul es la probabilidad de ganar en la lotera tradicional el premio
gordo. El espacio muestral son los nmeros de 5 cifras, por tanto son 100.000,
as la probabilidad de ganar es

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

Ejercicio 86 Calcular la probabilidad de acertar 13 y no 14 en las quinielas.


Idem para acertar 5 y no 6 en la lotera primitiva.

Podemos entonces usar las propiedades de los cardinales de conjuntos


nitos para calcular probabilidades de sucesos denidos como uniones, intersecciones y complementarios.

Propiedad 1. El suceso . Consideremos el suceso dado por el conjunto


, es decir, todo el espacio muestral, se verica:
p() = ||/|| = 1.

4.6. PROBABILIDAD

191

Propiedad 2. Subconjuntos. Si S T entonces |S| |T | || y


|| = 0. Por tanto:

0 p(S) p(T ) 1.

La probabilidad de cada suceso es entonces un nmero comprendido entre 0 y 1.


Propiedad 3. Unin de sucesos. Tomemos dos sucesos S y T entonces
p(S T ) = p(S) + p(T ) p(S T ).

Propiedad 4. Complementario de un suceso. Sea S un suceso

entonces el suceso complementario es

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 = .

Ejemplos 4.6.10 i) Sea el experimento aleatorio consistente en lanzar dos

dados sucesivamente, calcular la probabilidad de que la suma de los resultados


sea 4. El suceso S : dos cifras que suman 4 se puede poner como unin
disjunta del suceso S 0 : sacar dos doses, y S 00 : sacar un 1 y un 3 (S 0 S 00 = ).
De modo que:
1
2
p(S) =
+ .
36 36
ii) Sea un equipo de gimnasia de 10 miembros de los cuales slo uno
se apellida Muoz. Determinar la probabilidad de que en un equipo de 5
miembros elegidos entre los 10 est Muoz. Sea el suceso S : Muoz no
est en el equipo (complementario del suceso del que queremos calcular su
probabilidad), el nmero de equipos en los que no est Muoz es el nmero
de equipos formados con los jugadores restantes, entonces :

9
10
1 p(S) = 1
:
.
5
5

192

CAPTULO 4. COMBINATORIA

Observamos que


9
10
:
= 1/10
5
5

lo que se puede interpretar como que, al haber 10 jugadores, la probabilidad


de que uno de ellos no est en el equipo es el cociente de 1/10, el jugador que
no est entre los jugadores que hay.

4.6.2 Asignacin de probabilidades


La regla de Laplace ha funcionado para asignar probabilidades en un espacio muestral donde todos sus elementos son equiprobables, pero adems
ha mostrado cmo asignar probabilidades en un espacio muestral donde los
elementos de no sean necesariamente equiprobables.
As sea el espacio muestral nito de un experimento aleatorio de modo
que
= {a1 , a2 , ..., as }.
Si no todos los elementos del espacio muestral son equiprobables podemos
asignar (en funcin de observaciones, por ejemplo) probabilidades a cada
elemento del espacio muestral, y deben vericar:
i) 1 p(ai ) 0 para cada i {1, ..., s}.
ii) p(a1 ) + p(a2 ) + ... + p(as ) = 1.
Y adems respetar las propiedades de los subconjuntos, las uniones y los
complementarios.

Observacin 4.6.11 En los casos donde todos los elementos de son equiprobables, para cada ai se tiene

p(ai ) = 1/||.

Ejemplo 4.6.12 Durante varios das observamos que en un juego de dados


el resultado 1 sale el doble de veces que el resultado 2, el 2 sale el doble de
veces que los dems, mientras los otros resultados salen todos ms o menos
la misma cantidad de veces, entonces podemos asignar las probabilidades de
la siguiente forma:
p(3) = a

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

p(S) = p(2) + p(4) + p(6) = 2/10 + 1/10 + 1/10 = 4/10.

Ejercicio 87 Sea un conjunto de 15 cartas de barajas iguales, todas del mis-

mo palo: hay 3 ases, 3 doses, 1 tres, 4 cuatros, 2 caballos y 2 reyes. Sea el


experimento aleatorio extraer una carta al azar de las 15. Determinar el espacio muestral y asignar probabilidades razonables a cada elemento de .
Calcular la probabilidad del suceso la carta extrada sea una gura.

4.6.3 Probabilidad condicionada


En esta seccin vamos a analizar cmo se modica la probabilidad de sucesos
cuando tenemos una informacin adicional. Por ejemplo:

Ejemplo 4.6.13 La probabilidad de que al extraer una carta al azar en una

baraja espaola sea un caballo es 4/40 = 1/10, ya que la baraja de 40 cartas


contiene 4 caballos. Pero supongamos que recibimos la informacin adicional
de que la carta extrada es una gura. Estamos entonces interesados en la
probabilidad de extraer un caballo sabiendo que ha salido una gura. La
baraja contiene 12 guras, de las cuales 4 son caballos, por tanto la nueva
probabilidad es 4/12 = 1/3, lo cual indica que, en este caso, el hecho adicional
de ser una gura hace aumentar la probabilidad del suceso.

194

CAPTULO 4. COMBINATORIA

Denicin 4.6.14 Sean S y S 0 sucesos de un espacio muestral de modo


que p(S 0 ) > 0. Denimos la probabilidad condicionada de S por S 0

como

p(S|S 0 ) = p(S S 0 )/p(S 0 ).

Y es un concepto que recoge la idea que sealbamos en el ejemplo porque


si vale la regla de Laplace entonces

p(S S 0 )/p(S 0 ) =

|S S 0 | |S 0 |
|S S 0 |
:
=
.
||
||
|S 0 |

Se puede interpretar como que el hecho adicional modica el espacio muestral


(lo reduce a S 0 ) y tambin el conjunto de los casos favorables (lo reduce a
S S 0 ).

Ejemplo 4.6.15 Cul es la probabilidad de que al tirar una moneda sucesi-

vamente 4 veces se obtengan exactamente 3 cruces, sabiendo que la primera


tirada fue cruz.

El espacio muestral es = A A A A donde A es el conjunto


A = {cara, cruz}, por tanto || = 16. El suceso S obtener exactamente tres
cruces tiene cardinal 4 (las 4 posibles tiradas en las que sali la cara). El
suceso S 0 la primera tirada fue cruz tiene cardinal 8 (se puede interpretar
como {cruz} A A A). Y el suceso S S 0 tiene cardinal 3. Entonces

p(S|S 0 ) =

(3/16)
.
(8/16)

Denicin 4.6.16 Dos sucesos S y S 0 se dicen independientes si verican


que:

p(S S 0 ) = p(S)p(S 0 ).

Ejemplo 4.6.17 Extraemos una carta al azar en una baraja espaola, los

sucesos S : sea gura y S 0 : sea de oros son independientes porque p(S) =


12/40, p(S 0 ) = 10/40 y p(S S 0 ) = 3/40. Y efectivamente

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

El estudio de la probabilidad discreta constituye un interesante campo


de las matemticas y existen profundos teoremas que no vamos a desarrollar
(teorema de Bayes, de la probabilidad total). Adems el espacio muestral
puede no ser nito con lo que se debe cambiar la regla de Laplace o la forma
de asignar probabilidades por instrumentos adecuados (que provienen del
Anlisis Matemtico). Todo esto constituye materia del curso de Estadstica
que se imparte en segundo.
Terminamos el captulo presentando dos conceptos ms, referidos a este
campo de la probabilidad discreta, que sern de utilidad en el desarrollo
posterior de la Estadstica.

4.6.4 Experimentos de Bernoulli


Denicin 4.6.18 Un experimento de Bernoulli es un experimento cuyo

espacio muestral tiene dos elementos = {e, f } de manera que p es la


probabilidad de e (se suele entender como probabilidad de xito) y 1 p la
probabilidad de f (probabilidad de fracaso).

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.

Tomemos entonces un experimento de Bernoulli con probabilidades p de


xito y 1p de fracaso, de tal manera que cada repeticin del experimento sea
independiente de la repeticin anterior. Debemos sealar que, por ejemplo, si
tomamos el experimento de extraer una bola de una urna con bolas blancas
y negras, para que la repeticin del experimento sea independiente de la
repeticin anterior, la bola extraida debe ser reintroducida en la urna.

Problema 1. Determinar la probabilidad de que al repetir el experimento

n veces se tengan exactamente k xitos. Si k > n la probabilidad es 0 y si


k n el resultado es:

n k
p (1 p)nk .
k
En efecto, por hiptesis de independencia, los sucesos tener un xito en
la repeticin a-sima (resp. un fracaso) y tener un xito en la repeticin

196

CAPTULO 4. COMBINATORIA

b-sima con a 6= b, son independientes, por tanto las probabilidades se van


construyendo multiplicando. As por ejemplo el suceso dadas dos repeticiones
obtener dos xitos tiene probabilidad p2 .
De esta manera el suceso obtener exactamente k xitos en las primeras k
repeticiones de las n totales tiene probabilidad
pk (1 p)nk .
Pero los k xitos pueden acontecer en cualesquiera k repeticiones de entre
las n veces que se ha efectuado el experimento, por lo que esta probabilidad
debe ir multiplicada por el nmero de subconjuntos de k elementos de un
conjunto de n elementos, que son exactamente

n
.
k
Por tanto se tiene la frmula buscada.

Problema 2. Determinar la probabilidad de que al repetir el experimento


n veces se tengan al menos k xitos:
n
X
n i
p (1 p)ni .
i
i=k

Esta frmula sale de entender el suceso al menos k xitos como la unin


de los sucesos disjuntos exactamente k xitos, exactamente k + 1 xitos, ...,
exactamente n xitos.
Y resulta obvio que se puede cambiar el papel de los xitos y de los
fracasos.

Ejercicio 89 En las mismas condiciones de los problemas 1 y 2:


1)
2)
3)
4)

Determinar
Determinar
Determinar
Determinar

la
la
la
la

probabilidad
probabilidad
probabilidad
probabilidad

de
de
de
de

obtener como mximo k fracasos.


no obtener ningn xito.
tener exactamente k fracasos.
que todos sean xitos.

Ejercicio 90 Supongamos que la probabilidad de que nazca un nio es 0.4


mientras la de que nazca una nia es 0.6. Determinar:

1) La probabilidad de que entre 100 nuevos nacimientos todos sean nias.


2) Haya al menos 50 nios.
3) Haya como mximo 30 nios.

4.6. PROBABILIDAD

197

4.6.5 Variables Aleatorias


A partir de ahora consideraremos experimentos aleatorios tales que su espacio
muestral tiene siempre cardinal nito.

Denicin 4.6.20 Una variable aleatoria es una funcin del espacio mues-

tral de un experimento aleatorio en los nmeros reales.

Ejemplo 4.6.21 Tomamos un conjunto de 10 personas. Sea el experimento

aleatorio consistente en seleccionar una de estas 10 personas al azar, por


tanto es el conjunto de las 10 personas. Denimos la variable aleatoria
H como la funcin H : R que asigna a cada persona su altura. (Otros
ejemplos son la asignacin de peso, de nmero de asignaturas en que est
matriculado...)
Con esta denicin de variable aleatoria, podemos mostrar dos instrumentos de la estadstica descriptiva: la esperanza matemtica que hace
referencia al valor esperado que toma la variable aleatoria y la varianza que
es una medida de la dispersin de los valores que toma la variable.

Deniciones 4.6.22 Sea X : R una variable aleatoria.


Se dene la esperanza matemtica de X como:
E(X) =

p(s)X(s).

Se dene la varianza de X como:


X
V (X) =
p(s)(X(s) E(X))2 .
s

Se dene la desviacin tpica de X como:

(X) =

p
V (X).

Estas medidas describen la variable aleatoria, indicando su valor esperado


o medio, e indicando lo dispersos o concentrados que estn sus valores.

Ejemplo 4.6.23 Sea un conjunto de 40 alumnos cuyos resultados en un


examen de Matemticas es el siguiente (la nota es un nmero entero del 0 al
10):

198

CAPTULO 4. COMBINATORIA

Nota Nmero de alumnos Probabilidad


0
1
2
3
4
5
6
7
8
9
10

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

La nota es una variable aleatoria cuyo dominio es el conjunto de los alumnos


(considerado como el espacio muestral del experimento: elegir un alumno)
en el conjunto de los nmeros enteros del 0 al 10. Agrupando los alumnos
que tienen la misma nota se obtiene, con los datos de la tabla:

E(X) = 0(1/40) + 1(2/40) + 2(3/40) + 3(3/40) + 4(3/40) + 5(2/40)+


+6(10/40) + 7(10/40) + 8(3/40) + 9(2/40) + 10(1/40) = 5.52.
V (X) = (0 5.52)2 (1/40) + (1 5.52)2 (2/40) + (2 5.52)2 (3/40)+
+(3 5.52)2 (3/40) + (4 5.52)2 (3/40) + (5 5.52)2 (2/40)+
+(6 5.52)2 (10/40) + (7 5.52)2 (10/40) + (8 5.52)2 (3/40)+
+(9 5.52)2 (2/40) + (10 5.52)2 (1/40) = 5.54.
(X) = 2.35.

Ejercicio 91 Sea el experimento aleatorio consistente en tirar dos dados

consecutivamente y X la variable aleatoria que asigna a cada resultado del


experimento la suma de los resultados de ambos dados:
i) Escribir el espacio muestral del experimento.
ii) Escribir la funcin X : R.
iii) Calcular la esperanza, la varianza y la desviacin tpica de X .

4.7. EJERCICIOS

4.7

199

Ejercicios

Ejercicio 92. Determinar de cuntas maneras se puede elegir un cuadrado


blanco y otro negro en un tablero de ajedrez de modo que los dos cuadrados
no estn en la misma la ni en la misma columna.

Ejercicio 93. Determinar en cuntos nmeros de telfono de 7 cifras, que


pueden empezar por cero, alguna de las cifras est repetida.

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 95. Dado el conjunto de los 54 alumnos de una clase, donde 30


son chicos y 24 son chicas, determinar:
i) El nmero de equipos de 4 alumnos que se pueden formar.
ii) El nmero de equipos de 4 alumnos que contengan al menos una chica.
iii) El nmero de equipos formados por dos chicas y dos chicos.

Ejercicio 96. Determinar cuntas palabras de 10 bytes:


i) Tienen exactamente tres ceros.
ii) Tienen al menos un cero.
iii) Tienen el mismo nmero de unos y ceros.

Ejercicio 97. Cuntas palabras de 10 letras se pueden construir reordenando


las letras de la palabra dodecaedro.

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 99. Determinar cuntas licencias de uso de un programa, formadas


con tres nmeros seguidos de tres letras no contienen la misma letra dos veces
ni el mismo nmero tres veces.

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 101. Determinar qu suceso es ms probable: sacar un 8 al tirar


dos dados o sacar un 8 al tirar tres dados.

Ejercicio 102. Determinar la probabilidad de que una jugada de pker (5


cartas en una baraja francesa con 52 cartas, sin comodines):
i) Contenga al menos un as.
ii) Obtenga un pker (cuatro cartas iguales).

Ejercicio 103. En un experimento de Bernouilli con probabilidad 0.4 de


xito y 0.6 de fracaso, determinar cuntos lanzamientos hay que realizar
para que la probabilidad de obtener al menos un xito sea mayor o igual que
0.8.

Ejercicio 104. Sea la variable aleatoria X cuyo dominio es el espacio mues-

tral de lanzar un dado 10 veces consecutivas, asignando a cada elemento


de el nmero de seises que han salido. Calcular la esperanza matemtica
de X , que es el nmero de seises esperado al lanzar 10 veces el dado.

Ejercicio 105. Cul es la probabilidad de que escogido un entero al azar


menor o igual que 100 sea primo.

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.

Ejercicio 107. Demostrar que para dos variables aleatorias X e Y denidas


en el mismo espacio muestral la esperanza matemtica verica:

E(X + Y ) = E(X) + E(Y ),


siendo X + Y la funcin suma de las funciones X e Y .

4.8 Ejercicios resueltos


Ejercicio 77. Propiedad 1: Si |A| = n entonces existe una aplicacin

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.

4.8. EJERCICIOS RESUELTOS

201

Es sobreyectiva ya que si s Nn entonces existe a A de modo que


s = f (a) = F (a) y si n < s n + m entonces s n Nm de modo que existe
b B tal que g(b) = s n por lo que F (b) = s.
Es inyectiva ya si a 6= b entonces F (a) 6= F (b). En efecto, tanto f como
g son inyectivas por lo que el resultado es cierto si a, b A o si a, b B . En
el caso a A y b B se verica que F (a) n y F (B) > n por lo que son
distintos necesariamente.
Propiedad 2: se aplica la 1 a B y B .
Propiedad 3: Como A B entonces B = A (B A) y se concluye por 1.
Propiedad 4: Basta usar las propiedades anteriores escribiendo A B =
A (B (A B)).
Propiedad 5: Por induccin sobre el cardinal de B .
Si |B| = 0 entonces B es vaco de modo que el producto cartesiano tambin lo es.
Si |B| = n + 1 entonces B = B 0 B 00 con |B 0 | = n y |B 00 | = 1. De este
modo como A B = (A B 0 ) (A B 00 ) y (A B 0 ) (A B 00 ) = se
concluye por la propiedad 1 y la hiptesis de induccin.
Propiedad 3 implica propiedad 6: Si hubiera una funcin inyectiva f : A B
entonces la imagen de f es un subconjunto de B de cardinal estrictamente
mayor que |B| lo que es una contradiccin.
Propiedad 6 implica propiedad 3: Si A B entonces hay una aplicacin
inyectiva de A en B (la inclusin) de modo que |A| < |B|.

Ejercicio 78.

i) Como no se indica nada, las letras se pueden repetir: V R29,5 = 295 .


ii) V29,5 = 29 28 27 26 25.
iii) Las palabras que no contienen a la letra b son 285 por lo que la
contienen 295 285 .
iv) Razonando como en iii) son V29,5 V28,5 .
v) Si empiezan por vocal y se pueden repetir son 5 294 . Si no se pueden
repetir son 5 V28,4 .
vi) Si se pueden repetir son 5 293 . Si no se pueden repetir son 5 V27,3 .
vii) Si se pueden repetir son 53 292 . Si no se pueden repetir son 5 4
3 26 25.

Ejercicio 79.

202

CAPTULO 4. COMBINATORIA

i) La primera cifra no puede ser 0 y las cifras se pueden repetir: 9 103 .


ii) Son pares si su ltima cifra es 0, 2, 4, 6 u 8 entonces: 9 102 5
(exactamente la mitad de i)).
iii) Son impares la otra mitad.
iv) Son mltiplos de 5 si su ltima cifra es un 0 o un 5: 9 102 2.
v) Si no contienen al 2 son 8 93 , por tanto los que contienen al 2 son
9 103 8 93 .
vi) S no contienen ni a la cifra 2 ni a la cifra 3 son: 7 83 entonces los
que contienen al 2 o al 3 o a ambos son: 9 103 7 83 .

Ejercicio 80. Se pueden sentar de 6! maneras y si slo importa la posicin

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.

Ejercicio 83. Como Vm,n = m(m 1)...(m (n 1)) entonces m! =


Vm,n (m n)! de modo que:

m!
m
Vm,n
=
.
=
n!
n!(m n)!
n
Ejercicio 84.

4.8. EJERCICIOS RESUELTOS

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/

Ejercicio 87. = {as, 2, 3, 4, caballo, rey}.


p(as) = 3/15
p(2) = 3/15
p(3) = 1/15
p(4) = 4/15
p(caballo) = 2/15
p(rey) = 2/15
p(f igura) = p(caballo) + p(rey) = 4/15.

Ejercicio 88. Se tiene que || = 8.

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.

1) ki=0 ni (1 p)i pni .


n
2) (1
n p) . k nk
3) k (1 p) p .

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.

i) Al tirar dos dados consecutivamente = N6 N6 .


ii) X : R asigna a + b a la tirada (a, b).
iii) Escribiendo las frmulas y
haciendo las respectivas cuentas se obtiene:
E(X) = 7, V (X) = 6.16, (x) = 6.16 = 2.48.

Ejercicio 92. Tomamos un cuadrado blanco de los 64/2 cuadrados blancos

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 94. Las posibilidades con n incisiones son: 4n . Como {4n : n N}


es una sucesin creciente buscamos el primer n que verique que 4n > 105 y
es n = 9.

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

4.8. EJERCICIOS RESUELTOS

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 .

Ejercicio 97. La d se repite 3 veces, la o se repite dos veces y la e otras 2.


3,2,2
Total: P R10
.

3,4
Ejercicio 98. Los ases se repiten 3 veces y los caballos 4. Total: P R10
.

Ejercicio 99. El nmero de licencias buscado ser el total de posibles menos

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 .

Ejercicio 101. Si tiramos dos dados: Hay 62 posibles lanzamientos. De

ellos dan como suma 8 los siguientes:

(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:

i) La probabilidad ser 1 menos la probabilidad de que no contenga ningn


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

si no queremos que sea un repker). Por tanto la probabilidad de pker es:

48 13/

52
.
5

Ejercicio 103. El suceso obtener al menos un xito es complementario al

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 104. El suceso obtener exactamente k seises al tirar el dado 10


veces tiene la siguiente probabilidad:

10
(1/6)k (5/6)10k .
k

Por tanto el espacio muestral es = {0} N10 y para cada k N10 se


tiene la probabilidad mencionada, de modo que la esperanza matemtica es:

10
10
k=0 k
(1/6)k (5/6)10k .
k

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.

Ejercicio 107. Como la variable X + Y se dene como (X + Y )(a) =

X(a) + Y (a) para cada a , el ejercicio es consecuencia de la propiedad


distributiva.

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

Figura 5.1: Puentes de Knisberg

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:

Entienda los conceptos y deniciones bsicas de la teora de grafos.


Utilice las distintas representaciones de grafos.
Utilice diferentes mtodos para reconocer si dos grafos son o no isomorfos.
Conozca los conceptos de grafo conexo, euleriano y hamiltoniano, las
tcnicas para reconocerlos, sus propiedades y algunos resultados relacionados con ellos.
Aplique la denicin ms adecuada para vericar si un grafo es un
rbol.

5.1 Grafos, digrafos y multigrafos


Los grafos son estructuras discretas que constan de vrtices y aristas que
conectan estos vrtices. Hay diferentes tipos de grafos que dieren en la
clase y nmero de aristas que conectan un par de vrtices. En esta seccin
introduciremos algunos conceptos de la teora de grafos y algunos tipos de
grafos de particular inters.

Denicin 5.1.1 Un grafo simple G es un par G = (V, E) formado por


un conjunto nito de vrtices V y un conjunto E de pares no ordenados de

vrtices distintos, es decir,

E {{u, v} |u, v V u 6= v}.


A los elementos de E se les denomina aristas (no dirigidas o no orientadas).

5.1. GRAFOS, DIGRAFOS Y MULTIGRAFOS

209

Observacin 5.1.2 Podemos representar los vrtices como puntos del plano

y las aristas {u, v} como el segmento uv dando una representacin grca


del grafo.

Denicin 5.1.3 Un multigrafo es un par (V, E) formado por un conjunto


nito de vrtices V y una familia nita E de aristas no orientadas

E = {ei }iI
donde I es un conjunto nito y i I se verica que ei = {ui , vi } con
ui , v i V .

Observacin 5.1.4 Ntese que, en un multigrafo, dos aristas distintas pue-

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.

Denicin 5.1.5 Un digrafo es un par (V, E) donde V es un conjunto

nito y E (V V ) , siendo = {(x, x) : x V }. A los elementos de


V se les denomina vrtices y a los de E aristas (dirigidas u orientadas).

Ejemplo 5.1.6 ({a,b,c},{(a,b),(a,c),(b,c),(c,b)}) es un digrafo que podemos

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:

En lo sucesivo, el trmino grafo se emplear en sentido general, para


describir grafos con aristas dirigidas o no dirigidas, con o sin lazos y con
o sin aristas mltiples. Por otro lado, el trmino grafo no dirigido se
entender como sinnimo de multigrafo, admitiendo, por tanto, la eventual
existencia de aristas mltiples y lazos. De igual manera, el trmino grafo
dirigido se entender como multidigrafo.

Denicin 5.1.8 Se dice que dos vrtices u y v de un grafo no dirigido


G = (V, E) son adyacentes si {u, v} E . En ese caso se dice que la arista
e = {u, v} conecta los vrtices u y v, que es incidente con los vrtices u y
v, y que los vrtices u y v son los extremos de la arista e.
Denicin 5.1.9 El grado de un vrtice en un grafo no dirigido es el nmero de aristas incidentes con l, teniendo en cuenta que un lazo en un
vrtice contribuye dos veces al grado de ese vrtice. Denotaremos el grado de
un vrtice u por gr(u).

Ejemplo 5.1.10 Considrense los grafos G y H de la gura 5.3. En el grafo

G se verica que gr(a) = 3 = gr(c), gr(b) = 2 = gr(e) y gr(d) = 4. En el


grafo H se verica que gr(f ) = 3, gr(g) = 2 y gr(h) = 5.

5.1. GRAFOS, DIGRAFOS Y MULTIGRAFOS

211

Figura 5.3:
Si un vrtice tiene grado cero se dice que es un vrtice aislado.

Teorema 5.1.11 Sea G = (V, E) un grafo no dirigido. Se verica que


X

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).

Corolario 5.1.12 Cualquier grafo no dirigido tiene un nmero par de vr-

tices de grado impar.

Demostracin. Sean V1 y V2 los conjuntos de vrtices de grado par e impar


respectivamente del grafo G = (V, E). En ese caso

!
!
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

Denicin 5.1.13 Si G = (V, E) es un grafo dirigido, y (u, v) E, se dice


que u es el vrtice inicial de la arista (u, v) y que v es el vrtice nal
de dicha arista. Asimismo, dado u V , se denomina grado de entrada
de u al nmero de aristas que tienen a u como vrtice nal. Al grado de
entrada de u se le denota por gr+ (u). Del mismo modo, se denomina grado
de salida de u al nmero de aristas que tienen a u como vrtice inicial. Al
grado de salida de u se le denota por gr (u).

Observacin 5.1.14 Un lazo en un vrtice u suma uno al grado de entrada

y uno al grado de salida.

Ejemplo 5.1.15 En el grafo G de la gura 5.4, se verica que gr+ (a) = 3,

gr (a) = 0, gr+ (c) = 1, gr (c) = 2, gr (d) = gr+ (d) = 2, gr (b) =


gr+ (b) = 1, gr+ (e) = 0, gr (e) = 2. Por otra parte, en el grafo H tenemos
que gr (f ) = 1, gr+ (f ) = 2, gr+ (g) = 2, gr (g) = 0, gr (h) = 2, gr+ (h) =
3.

Teorema 5.1.16 En cualquier grafo con aristas dirigidas G = (V, E) se


verica que

|E| =

X
vV

gr+ (v) =

gr (v).

vV

Demostracin. Es consecuencia del hecho de que cualquier arista dirigida


tiene un vrtice inicial y un vrtice nal.

5.2 Grafos simples especiales.


Vamos a dar la denicin de algunos grafos particularmente interesantes.

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).

5.2. GRAFOS SIMPLES ESPECIALES.

Figura 5.4:

Figura 5.5:

213

214

CAPTULO 5. GRAFOS

Figura 5.6:

Denicin 5.2.2 El ciclo de n vrtices Cn (n 3) es el grafo simple que


tiene como conjunto de vrtices V = {v1 , v2 , ..., vn }, y como conjunto de
aristas E = {{v1 , v2 }, {v2 , v3 }, ..., {vn1 , vn }, {vn , v1 }}. (Ver gura 5.6.)

Denicin 5.2.3 La rueda Wn se obtiene aadiendo un vrtice adicional

al ciclo Cn y aadiendo n aristas que conecten dicho vrtice adicional con


todos los de Cn .

Ejercicio 108 Dibujar las ruedas W3 , W4 , W5 y W6 . (Obsrvese que la rueda


Wn tiene n + 1 vrtices).

Denicin 5.2.4 El n-cubo Qn sirve para representar las secuencias de


n elementos del conjunto {0, 1} (es decir, las secuencias de n bits). As,
Qn tiene 2n vrtices (uno por cada secuencia de n bits) y una arista entre
cada par de vrtices que satisfagan la condicin de que su secuencia asociada
diere en un nico bit (Ver gura 5.7).
Ejercicio 109 Dibujar el cubo Q3 .

5.2. GRAFOS SIMPLES ESPECIALES.

215

Figura 5.7:

Algunas veces un grafo tiene la propiedad de que su conjunto de vrtices se


puede dividir en dos subconjuntos disjuntos de manera que todas las aristas
satisfacen la condicin de conectar un vrtice de uno de los dos subconjuntos
con un vrtice del otro. Por ejemplo, consideremos el grafo que representa
los matrimonios de una determinada ciudad. Los vrtices son las personas
casadas de esa ciudad, y se establece una arista entre los dos miembros de
cada matrimonio. El grafo as obtenido tiene la propiedad descrita.

Denicin 5.2.5 Se dice que un grafo simple G = (V, E) es bipartido si su


conjunto de vrtices V se puede expresar como la unin de dos subconjuntos
no vacos disjuntos V1 y V2 de manera que cada arista del grafo conecta un
vrtice de V1 con un vrtice de V2 . (En otras palabras, no existe ninguna
arista entre dos vrtices de V1 ni entre dos vrtices de V2 .) (Ver gura 5.8.)

Ejercicio 110 Comprobar que K3 no es bipartido, y que C6 es bipartido.


Denicin 5.2.6 El grafo bipartido completo Km,n es el grafo de m + n
vrtices, cuyo conjunto de vrtices se puede expresar como la unin de dos
subconjuntos disjuntos V1 de m vrtices y V2 de n vrtices, de manera que
cada vrtice de V1 est conectado con todos los vrtices de V2 . (Ver gura
5.9.)

216

CAPTULO 5. GRAFOS

Figura 5.8:

Figura 5.9:

5.3. CONSTRUCCIN DE GRAFOS A PARTIR DE GRAFOS

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

y con diferentes perifricos, como impresoras, scanners, etc. Algunas de estas


redes estn diseadas considerando una topologa tipo estrella, caracterizada
por el hecho de que todos los dispositivos estn conectados a un dispositivo
de control central. En una red de este tipo, los mensajes que se envan de un
dispositivo a otro pasan siempre por el dispositivo de control central. Una red
de rea local de este tipo se puede representar utilizando un grafo completo
K1,n . Otras redes de rea local estn basadas en una topologa tipo anillo,
en la que cada dispositivo est conectado nicamente con otros dos y los
mensajes se envan de un dispositivo a otro alrededor del ciclo, hasta que el
mensaje en cuestin llega a su receptor. Las redes de rea local de este tipo
se modelizan utilizando los n-ciclos Cn . Otras redes de rea local son de un
tipo hbrido de las dos topologas anteriores. Tal sera el caso de las redes
que modelizaramos utilizando el grafo Wn .

5.3

Construccin de grafos a partir de grafos

Denicin 5.3.1 Un subgrafo (respectivamente subdigrafo) de un grafo


simple (de un digrafo) G = (V, E) es un grafo (respectivamente digrafo)
H = (V 0 , E 0 ) tal que V 0 V y E 0 E.
Obsrvese que esta denicin se extiende de forma natural a multigrafos
o multidigrafos, siendo E 0 una subfamilia de E .

Denicin 5.3.2 La unin de dos grafos simples G1 = (V1 , E1 ) y G2 =

(V2 , E2 ) es el grafo simple (V1 V2 , E1 E2 ), grafo que se denota por G1 G2 .

Ejemplo 5.3.3 El grafo H de la gura 5.10 es un subgrafo del grafo K3,3 , y

la unin de los grafos G1 y G2 de la gura es el grafo G1 G2 all representado.

Ejercicio 112 Demostrar las armaciones del ejemplo anterior.


Denicin 5.3.4 El producto de dos grafos simples G = (V, E) y G0 =
(V 0 , E 0 ) es el grafo simple

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.

Ejemplo 5.3.5 La gura 5.11 muestra un producto de grafos.


Observacin 5.3.6 El grado de un vrtice (v, v 0 ) en el grafo producto GG0

es gr((v, v 0 )) = gr(v) + gr(v 0 ). Donde gr(v) es el grado del vrtice v de G y


gr(v 0 ) es el grado del vrtice v 0 en G0 .

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.

Denicin 5.3.7 Sea un grafo G = (V, E), diremos que G0 = (V 0 , E 0 ) es


una particin de G si es un grafo que se obtiene dividiendo algunas de las

aristas de G. Este proceso de divisin consiste en introducir un vrtice a


/V
al conjunto de vrtices y sustituir una arista {u, v} E (respectivamente
(u, v) si G es dirigido) por dos aristas nuevas, de la forma {u, a}, {a, v}
(respectivamente (u, a), (a, v)).

5.4. ISOMORFISMO DE GRAFOS

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:

Denicin 5.4.1 Se dice que dos grafos simples G1 = (V1 , E1 ) y G2 =


(V2 , E2 ) son isomorfos si existe una funcin biyectiva f : V1 V2 tal que

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.

Observacin 5.4.3 Obsrvese que en el ejemplo anterior el cruce de las dos


aristas del grafo de la derecha no es un vrtice.
Ejercicio 114 Comprobar que el cubo Q3 es isomorfo al grafo producto del

cubo bidimensional Q2 y el cubo unidimensional Q1 . En general se puede


demostrar que Qn = Qn1 Q1 .

5.4. ISOMORFISMO DE GRAFOS

221

Figura 5.13:

A menudo es difcil determinar si dos grafos simples son isomorfos. De


hecho, como vimos en el captulo anterior, hay n! = n(n 1)(n 2)...1
aplicaciones biyectivas entre los conjuntos de vrtices de dos grafos con n
vrtices, por lo que comprobar una por una si dichas biyecciones preservan
la adyacencias no es un buen mtodo, sobre todo si n es un nmero grande.
Por otra parte, existen algunos criterios para determinar si dos grafos
simples son isomorfos o no lo son. Estos criterios se apoyan en el hecho
de que hay ciertas propiedades, denominadas invariantes, que si un grafo
posee, cualquier otro grafo isomorfo a l debe tambin poseer. Por ejemplo,
dos grafos isomorfos deben tener el mismo nmero de vrtices y el mismo
nmero de aristas. Por otra parte, si f : V1 V2 es un isomorsmo entre los
grafos no dirigidos G1 = (V1 , E1 ) y G2 = (V2 , E2 ), tiene que vericarse que
u V1 gr(u) = gr(f (u)). Este resultado sirve para comprobar con cierta
facilidad que algunos grafos no son isomorfos.

Ejemplo 5.4.4 Los dos grafos de la gura 5.13 no son isomorfos pues, aun-

que ambos tienen el mismo nmero de vrtices y de aristas, en el primero


gr(a) = 4, mientras que en el segundo no hay ningn vrtice cuyo grado sea
4.

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 .

Tambin la existencia de ciertos subgrafos (por ejemplo, la existencia de


un subgrafo isomorfo a Cm ) puede servir para concluir que dos grafos dados
no pueden ser isomorfos.

Ejercicio 116 Estudiar si los grafos de la gura 5.14 son isomorfos. Idem
para la gura 5.15

5.5 Representacin de grafos


En esta seccin veremos distintas maneras de representar grafos. Segn el
problema que se quiera abordar, unas u otras representaciones resultan ms
adecuadas.

5.5.1 Mediante una matriz de adyacencias


Una de las formas de representar un grafo simple es mediante una de sus

matrices de adyacencias.

5.5. REPRESENTACIN DE GRAFOS

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.

Observacin 5.5.1 Es importante observar que la matriz de adyacencias de

un grafo simple es una matriz simtrica (aij = aji para cualesquiera i y j) y


que los elementos de la forma aii son todos iguales a cero.

Ejemplo 5.5.2 Sea por ejemplo el grafo K3 . Como tiene 3 vrtices, cual-

quier matriz de adyacencias de K3 debe ser de tamao 3 3. Siendo el


grafo completo, toda matriz de adyacencias est formada por unos salvo en
la diagonal, donde hay ceros (obsrvese que en este ejemplo la matriz de
adyacencias es independiente de la ordenacin del los vrtices):

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.

Observacin 5.5.3 Las matrices de adyacencias tambin se pueden utilizar

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.

5.5. REPRESENTACIN DE GRAFOS

225

Observacin 5.5.4 En el caso de los grafos dirigidos la situacin es similar.

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.

5.5.2 Mediante una matriz de incidencias


Otro modo usual de representar grafos es utilizando matrices de incidencias.
Sea G = (V, E) un grafo no dirigido con |V | = n y |E| = m. Sea una
ordenacin de los vrtices de G, digamos v1 , v2 , ..., vn , y una ordenacin de
las aristas de G, digamos e1 , e2 , ..., em . La matriz de incidencias de G con
respecto a esa ordenacin de los elementos de V y E es la matriz B = (bij )
de n las y m columnas denida por la siguiente condicin:

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

Observacin 5.5.6 De manera anloga a las matrices de adyacencias, la


denicin de matriz de incidencias se puede aplicar (mutatis mutandis) a
grafos dirigidos o con lazos.
Observacin 5.5.7 Es importante observar que si dos grafos G y G0 son

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

5.6 Caminos, ciclos y grafos conexos


Denicin 5.6.1 Un camino de longitud n entre los vrtices a y b de un

grafo no dirigido es una sucesin nita (e0 , ..., en1 ) de aristas del grafo

e0 = {v0 , v1 }, e1 = {v1 , v2 }, ..., en1 = {vn1 , vn }


de manera que v0 = a, vn = b y cada arista sucesiva empieza donde termin
la anterior. Si el grafo es simple, el camino (e0 , ..., en1 ) queda perfectamente
determinado por la sucesin de vrtices

(a, v1 , v2 , ..., vn1 , b).


Diremos que el camino anterior pasa por (o atraviesa) los vrtices a,
v1 , v2 , ..., vn1 , b.
Se dice que un camino es un circuito si es cerrado, esto es, empieza y
termina en el mismo vrtice, es decir, si a = b.
Se dice que un camino es simple si no contiene a la misma arista ms
de una vez.
Un circuito que no pasa dos veces por el mismo vrtice (salvo el inicial
por el que pasa dos veces) se llama ciclo.

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.

La denicin anterior se puede extender a grafos dirigidos (digrafos y


multidigrafos):

Denicin 5.6.3 Un camino de longitud n entre los vrtices a y b de un


multigrafo dirigido es una sucesin nita (e0 , ..., en1 ) de aristas del multigrafo dirigido:

e0 = (v0 , v1 ), e1 = (v1 , v2 ), ..., en1 = (vn1 , vn )


de manera que v0 = a, vn = b y cada arista sucesiva empieza donde termin
la anterior. Cuando se trata de un digrafo, el camino (e0 , ..., en1 ) queda
perfectamente determinado por la sucesin de vrtices

(a, v1 , v2 , ..., vn1 , b).

5.6. CAMINOS, CICLOS Y GRAFOS CONEXOS

227

Figura 5.17:

Diremos que el camino anterior pasa por (o atraviesa) los vrtices a,


v1 , v2 , ..., vn1 , b.
Se dice que un camino es un circuito si es cerrado, esto es, empieza y
termina en el mismo vrtice, es decir, si a = b.
Al igual que en el caso de los grafos no dirigidos, se dice que un camino
es simple si no contiene a la misma arista ms que una vez.

Denicin 5.6.4 Se dice que un grafo no dirigido G es conexo si para


cualquier par de vrtices a y b de G existe un camino entre a y b.

Ejemplo 5.6.5 El grafo G de la gura 5.18, cuyo conjunto de vrtices es


V = {a, b, c, d, e, f, g, h}
no es conexo pues, por ejemplo, no existe ningn camino entre a y g.
Si un grafo no es conexo, se puede expresar como la unin de dos o ms
subgrafos conexos de manera que los conjuntos de vrtices y de aristas de
cada par de estos subgrafos son disjuntos entre s. A estos subgrafos se les
denomina componentes conexas del grafo dado. De esta manera un grafo
es conexo si y slo si tiene una nica componente conexa.

228

CAPTULO 5. GRAFOS

Figura 5.18:

Ejemplo 5.6.6 El grafo de la gura 5.18 tiene dos componentes conexas: la

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.

5.6. CAMINOS, CICLOS Y GRAFOS CONEXOS

229

Conexin e isomorsmo
Los conceptos relacionados con la conexin nos proporcionan nuevos invariantes para averiguar si dos grafos son o no isomorfos.

Observacin 5.6.8 Dos grafos isomorfos tienen la misma cantidad de com-

ponentes conexas.

Denicin 5.6.9 Se dice que un vrtice a V de un grafo G = (V, E) es


un vrtice de corte si el grafo obtenido al eliminar del grafo G el vrtice a
junto con las aristas incidentes con l tiene ms componentes conexas que el
grafo original. Del mismo modo se dice que una arista e E es una arista
de corte de G si el subgrafo obtenido al eliminar e del grafo original tiene
ms componentes conexas que el grafo original.

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.

Ejemplo 5.6.10 Los grafos G y H de la gura 5.19 no pueden ser isomorfos,

pues aunque ambos tienen 6 vrtices y siete aristas, el grafo H no tiene


ningn subgrafo isomorfo a C3 , mientras que el grafo G s lo tiene. Por otra
parte, ni G ni H son isomorfos al grafo L, pues L tiene una arista de corte
y G y H no tienen ninguna.

Conexin y matrices
Teorema 5.6.11 Sea G un grafo (dirigido o no dirigido, con aristas mlti-

ples y lazos o no) y sea A = (aij ) su matriz de adyacencias con respecto al


orden v1 , v2 , ..., vn1 , vn de su conjunto de vrtices. En estas condiciones el
nmero de caminos de longitud m entre el vrtice vi y el vrtice vj es igual
al coeciente situado en el lugar (i, j) de la potencia m-sima de la matriz A
(con respecto al producto de matrices usual).
Demostracin. La hacemos para grafos no dirigidos (la demostracin es similar para grafos dirigidos). Razonamos por induccin sobre la longitud del
camino entre dos vrtices cualesquiera vi y vj de un grafo G.

230

CAPTULO 5. GRAFOS

Figura 5.19:

Base de induccin: El nmero de caminos de longitud 1 entre dos

vrtices cualesquiera vi y vj es el coeciente (i, j) de la matriz A, ya que


dicho coeciente es el nmero de aristas entre vi y vj .
Paso de induccin: Supongamos que el nmero de caminos de longitud
m entre dos vrtices cualesquiera vi y vj es el coeciente (i, j) de la matriz
Am . Tenemos que comprobar que el nmero de caminos de longitud m + 1
entre vi y vj es el coeciente (i, j) de la matriz Am+1 . Cmo Am+1 = Am A,
siendo Am = (bij ) y A = (aij ), el coeciente (i, j) de la matriz Am+1 es

bi1 a1j + bi2 a2j + ... + bin anj .


Por hiptesis de induccin, bik es el nmero de caminos de longitud m entre
vi y vk . Un camino de longitud m + 1 entre vi y vj es un camino de longitud
m entre vi y un vrtice adyacente a vj , al que denotamos por vk , seguido de
la arista que une vk y vj . Pero el nmero de caminos entre vi y vk es bik , y el
nmero de aristas entre vk y vj es akj , por lo que el nmero de caminos de
longitud m + 1 entre vi y vj viene dado por la expresin:

bi1 a1j + bi2 a2j + ... + bin anj .


Como queramos demostrar.

5.6. CAMINOS, CICLOS Y GRAFOS CONEXOS

231

La observacin siguiente es una consecuencia del Principio del Palomar y


la demostracin es idntica a la del teorema 5.6.7.

Observacin 5.6.12 Sea el grafo G = (V, E) con |V | = n. Si u, v V ,


u 6= v , estn unidos por un camino en G, entonces u y v estn unidos por
un camino de longitud menor o igual que n 1 en G.
De la observacin anterior y los resultados anteriores se concluyen los
siguientes corolarios.

Corolario 5.6.13 Dado un grafo G = (V, E) tal que |V | = n, y siendo

A = (aij ) una matriz de adyacencia de G, se verica que existe un camino


entre vi y vj si y slo si la matriz C = (cij ), denida como
C = In + A + A2 + .... + An1 ,
satisface que el coeciente cij 6= 0.

Corolario 5.6.14 Dado un grafo G = (V, E) tal que |V | = n, se verica que


G es conexo si y slo si la matriz

In + A + A2 + .... + An1
tiene todos los coecientes distintos de cero.

Ejemplo 5.6.15 Sea G un grafo cuya matriz de adyacencias es:

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

El corolario anterior nos permite obtener un algoritmo para determinar


si un grafo G = (V, E) tal que |V | = n es o no conexo:

Entrada: La matriz de adyacencia A del grafo

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.

Ejercicio 119 Estudiar la complejidad del algoritmo anterior en el peor de


los casos, para lo cual hay que abordar el problema de computar la complejidad
de la operacin producto de matrices.

5.7 Grafos eulerianos y hamiltonianos.


Denicin 5.7.1 Un camino euleriano en un grafo no dirigido G es un
camino simple que contiene a todas las aristas de G. Un circuito euleriano
en G es un circuito simple que contiene todas las aristas del grafo G.

Denicin 5.7.2 Se dice que un grafo no dirigido es euleriano si contiene

un circuito euleriano.

De la denicin de grafo euleriano se sigue que, o bien el grafo es conexo,


o bien hay una componente conexa que contiene todas las aristas (siendo el
resto de las componentes conexas vrtices aislados).

Teorema 5.7.3 Un grafo G = (V, E) con aristas no dirigidas es euleriano


si y solo si todas las aristas estn en la misma componente conexa y todos
los vrtices tienen grado par.

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

5.7. GRAFOS EULERIANOS Y HAMILTONIANOS.

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.

Entrada: G = (V, E) (conexo y sin lazos)

C :=cualquier circuito simple de G


H :=el grafo obtenido eliminando de G las aristas de C y los vrtices
que queden aislados al quitar dichas aristas.
while H tiene aristas
C 0 :=cualquier circuito simple de H .
H := el grafo obtenido eliminando de H las aristas de C 0 y los
vrtices que queden aislados al quitar dichas aristas.
C := C con C 0 insertado en el vrtice adecuado.
Salida: C (un circuito Euleriano)
Para que el algoritmo funcione necesitamos asegurar la existencia del
circuito simple denominado C . Esto es, que dado un multigrafo conexo con
todos sus vrtices de grado par, existe un circuito simple C . Tomamos un
vrtice cualquiera u. Vamos construyendo un camino simple T = (u0 =
u, u1 , ..., un ) de longitud mxima. Si existen i, j {0, ..., n} tales que ui = uj
hemos concluido. En caso contrario, como un tiene grado par, existe v
/
{u0 , ..., un } adyacente con un contradiciendo que T es de longitud mxima.
Por tanto el algoritmo funciona.
Veamos como se aplica el algoritmo anterior en un ejemplo concreto:

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:

construyendo para ello un circuito euleriano. Comenzamos con el circuito


(i, j, h, i) y borramos sus aristas del grafo, junto con el vrtice i que queda
aislado (ver gura 5.21).
A continuacin, construimos un nuevo circuito en el grafo que queda,
por ejemplo (j, m, l, k, j), lo insertamos en el circuito anterior en el lugar
adecuado (vrtice j ) obteniendo

(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).

Ejercicio 120 Es posible disponer todas las chas de un domin de manera

que estn todas encajadas? Indicacin: utilizar un multigrafo con 7 vrtices


y vericar que es euleriano y conexo.

5.7. GRAFOS EULERIANOS Y HAMILTONIANOS.

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:

Proposicin 5.7.5 Un grafo G = (V, E) con aristas no dirigidas tal que


todas sus aristas estn en la misma componente conexa admite un camino
euleriano no cerrado si y slo si contiene exactamente dos vrtices de grado
impar.

Demostracin. Supongamos que G = (V, E) admite un camino euleriano no


cerrado
a, v1 , v2 , ..., vn1 , b
siendo a y b los extremos del camino. Sea w un nuevo vrtice no perteneciente
a V y G0 = (V 0 , E 0 ) donde V 0 = V {w} y E 0 = E {{w, a}, {b, w}}. Es
evidente que G0 admite el circuito euleriano

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.

5.7. GRAFOS EULERIANOS Y HAMILTONIANOS.

237

Figura 5.23: Un grafo Euleriano

Denicin 5.7.6 Se denomina camino hamiltoniano en un grafo con


aristas no orientadas G = (V, E) a cualquier camino simple que contenga
a todos los vrtices de G pasando una sola vez por cada uno de ellos, pero
permitiendo que el vrtice inicial de dicho camino sea igual al vrtice nal. Si
el camino hamiltoniano es cerrado, a dicho camino se le denomina circuito
hamiltoniano.

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:

Teorema 5.7.8 El cubo Qn es hamiltoniano para cada n 2.


Demostracin. Razonamos por induccin sobre n.
Base de induccin: Q2 es hamiltoniano ((0, 0), (0, 1), (1, 1), (1, 0), (0, 0)
es un ciclo hamiltoniano de Q2 ).
Paso de induccin: Supongamos que Qn es hamiltoniano. Si en Qn hay
un circuito hamiltoniano, basta considerar dos copias de Qn cada una con
su circuito hamiltoniano y aadir las aristas oportunas para obtener Qn+1 a
partir de las dos copias de Qn . Eliminando una arista en cada uno de los circuitos hamiltonianos de las dos copias de Qn y cerrando el circuito aadiendo
las aristas que conectan los extremos de los caminos simples resultantes (las
aristas con echa de la gura 5.24) , obtenemos un circuito hamiltoniano de
Qn+1 .
Los circuitos de hamilton tienen aplicacin al denominado problema de
los cdigos de Gray, consistente en determinar si hay una ordenacin de las
palabras de n bits, de manera que situando una palabra en cada una de
las secciones circulares (quesitos) en los que hemos dividido un crculo, dos
secciones contiguas dieran en un nico bit.
Veamos cmo se pueden construir cdigos de Gray a partir de circuitos
hamiltonianos en Qn .

5.7. GRAFOS EULERIANOS Y HAMILTONIANOS.

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).

Ejemplo 5.7.9 El grafo de la gura 5.25 es hamiltoniano. Se muestra un


circuito hamiltoniano.

Como se coment, no siempre es sencillo determinar si un grafo simple y


conexo dado es hamiltoniano pues, para ello, el nico criterio que tenemos a
priori es nuestra habilidad para encontrar o no un circuito hamiltoniano en
el grafo dado. La siguiente proposicin nos aporta un resultado que permite
concluir que ciertos grafos no son hamiltonianos.

Proposicin 5.7.10 Sea G = (V, E) un grafo simple conexo tal que |V | 3.


Si G es hamiltoniano, entonces U V el grafo obtenido al eliminar de V

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.

Ejemplo 5.7.11 Si al grafo G de la gura 5.27 le quitamos el nico vrtice


de grado 5 que tiene y sus aristas incidentes, el grafo resultante tiene 3
componentes conexas, por tanto no es hamiltoniano.

Ejercicio 122 Determinar si el grafo H de la gura 5.27 es Hamiltoniano.

5.8 Grafos etiquetados y algoritmo de Dijkstra


Denicin 5.8.1 Un grafo etiquetado es una 3-tupla (V, E, d), en la que
(V, E) es un grafo simple y d es una funcin
d : E R.
A la imagen de una arista mediante d se le denomina etiqueta o peso de
la arista. (Ver como ejemplo la gura 5.28)

5.8. GRAFOS ETIQUETADOS Y ALGORITMO DE DIJKSTRA

Figura 5.26:

Figura 5.27:

241

242

CAPTULO 5. GRAFOS

Figura 5.28:

El siguiente algoritmo, conocido como algoritmo de Dijkstra, resuelve el


denominado problema del camino mnimo.

Problema. Dados un grafo etiquetado y dos vrtices u y v , determinar el


camino entre u y v tal que la suma de las etiquetas de las aristas que lo
componen sea mnima. A dicha suma se le denomina longitud del camino en
el grafo etiquetado

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

5.8. GRAFOS ETIQUETADOS Y ALGORITMO DE DIJKSTRA

243

x := a siendo a un vrtice que no est en T con L(a) mnimo


T := T {x}
for y
/T
if L(x) + d({x, y}) < L(y) then
L(y) := L(x) + d({x, y}),
f (y) := x
Salida: L(v) es la longitud del camino mnimo.
(v, f (v), f (f (v)), ..., u) es el camino mnimo de v a u.
Un modo prctico de ejecutar el algoritmo de Dijkstra consiste en escribir
sobre cada vrtice el valor actual de L, e ir modicando dichos valores y
borrando los vrtices que vamos incorporando al conjunto T .

Ejemplo 5.8.2 Buscamos por este algoritmo el camino mnimo entre a y d

en el grafo etiquetado de la gura 5.28.

Comienza el algoritmo asignando L(a) = 0 y L(x) = para el resto de


vrtices. De este modo:
T = {a}.
Ahora se cumple que:

L(a) + 2 = 2 < L(b) =

L(a) + 5 = 5 < L(h) = .

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:

L(b) + 3 = 5 < L(c) =

L(a) + 1 = 3 < L(i) = .

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:

L(i) + 3 = 6 < L(d) =

L(i) + 2 = 5 < L(f ) = .

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:

L(f ) + 1 = 6 < L(e) =

L(f ) + 3 = 8 < L(g) = .

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

No se cumple nunca la condicin para que haya cambios. El valor mnimo


de L lo tiene entonces el vrtice h con lo que:

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:

(d, f (d) = i, f (i) = b, f (b) = a).

Ejercicio 123 Utilizar el algoritmo de Dijkstra para encontrar el camino


mnimo entre los vrtices a y e del grafo etiquetado de la gura 5.28. Hallar
tambin el camino ms corto entre los vrtices g y c.
Los caminos mnimos son muy tiles en redes de comunicacin o redes
de transporte para optimizar la manera de enviar informacin o carga entre
dos puntos conectados por una red. Los pesos pueden representar distancias
o pueden recoger otro tipo de informacin: tiempo, coste, dicultad orogrca...

5.9

rboles

Especialmente til en lo que a aplicaciones informticas se reere es un cierto


tipo de grafo simple, llamado rbol, que se emplea, entre otras cosas, para
construir algoritmos ecientes destinados a localizar items en una lista, para
construir redes de ordenadores con el mnimo coste, para construir cdigos
ecientes destinados a almacenar y transmitir datos, para analizar algoritmos
de ordenacin...

Denicin 5.9.1 Un rbol es un grafo no dirigido, conexo y sin circuitos


simples.

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.

Ejemplo 5.9.3 Los grafos de la gura 5.29 son rboles.


Proposicin 5.9.4 Sea G = (V, E) un grafo simple. G es un rbol si y
solamente si para cada par de vrtices u, v V existe un nico camino simple
uniendo u con v .
Demostracin. Si G es un rbol entonces es conexo, por lo que existe un
camino simple uniendo u con v . Si existieran dos caminos simples distintos
uniendo u con v digamos C1 = (u0 = u, ..., un = v) y C2 = (v0 = u, ..., vm =
v). Como C1 6= C2 existe i {1, ..., n} mnimo tal que ui 6= vi . Pero como
C1 y C2 terminan en v existen j1 > i y j2 > i mnimos tales que uj1 = vj2 .
Por tanto se forma un circuito simple

(ui1 , ui , ui+1 , ...uj1 = vj2 , vj2 1 ..., vi1 = ui1 )


dando una contradiccin.

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:

Denicin 5.9.5 Un rbol con raz es un par (T, r) donde T es un rbol


y r un vrtice distinguido de T llamado raz al que se suele colocar en la
representacin grca en la parte superior, como en la gura 5.30.

Observacin 5.9.6 Es importante observar que un rbol puede dar lugar a

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.

Denicin 5.9.8 Se denomina nivel (o profundidad) de un vrtice en un


rbol con raz a la longitud del camino que une la raz con dicho vrtice. La
altura de un rbol con raz es el mayor de los niveles de sus vrtices (i.e.,
la longitud del camino ms largo posible entre la raz y un vrtice del rbol).

Denicin 5.9.9 Si a es un vrtice de un rbol con raz (T, r), el subrbol


de T que tiene a a como raz es el subgrafo del rbol formado por el vrtice a,
todos sus descendientes y todas las aristas incidentes con sus descendientes.
Denicin 5.9.10 Se dice que un rbol con raz es m-ario si todos los vr-

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:

Proposicin 5.9.11 Un rbol con n vrtices tiene n-1 aristas.


Demostracin. Sea T = (V, E). Elijamos un vrtice r como raz del rbol T .
A continuacin consideramos la funcin que asigna a cada arista su vrtice
nal, considerando la direccin determinada por la eleccin de la raz. Evidentemente, esta funcin es una funcin biyectiva entre E y V {r}, y en
consecuencia si |V | = n, necesariamente |E| = n 1.

5.9. RBOLES

249

Proposicin 5.9.12 En un rbol m-ario de altura h hay a lo sumo mh


hojas.

Demostracin. Razonamos por induccin completa sobre la altura.


Base de induccin: Si T es un rbol cuya altura es 1, entonces T consta
de una raz y no ms de m hijos, cada uno de los cuales es una hoja. Por
consiguiente no hay ms que m1 = m hojas en un rbol mario de altura 1.
Paso de induccin: Supongamos que el resultado es vlido para todos
los rboles marios de altura menor que h. Sea T un rbol de altura h.
Si borramos las aristas que parten de la raz hacia la primera generacin,
construimos una serie de rboles (como mximo m ya que T es m-ario) de
altura estrictamente menor que h. Por hiptesis de induccin cada uno de
estos rboles tiene como mximo mh1 hojas. Como hay como mximo m
de estos rboles, el nmero de hojas de T es menor o igual que

m(mh1 ) = mh ,
como queramos demostrar.

Corolario 5.9.13 Si un rbol m-ario de altura h tiene l hojas, entonces


h logm (l).

Demostracin. De la proposicin anterior se sigue que l mh y, en consecuencia, que logm (l) h.

5.9.1 rboles de bsqueda binarios


Uno de los problemas en los que se pueden utilizar rboles para encontrar
una solucin est relacionado con la siguiente pregunta: Cmo deberan
de ser almacenados un conjunto de datos para ser fcilmente localizados?
Localizar datos es una de las tareas ms importantes que se realizan en el
mbito de las ciencias de la computacin. El primer objetivo es establecer un
algoritmo de bsqueda que encuentre los datos ecientemente cuando stos
estn totalmente ordenados. Esta tarea se puede realizar utilizando un rbol
de bsqueda binaria, que es un rbol binario en el que vrtice tiene dos
hijos, uno el derecho y otro el izquierdo, distinguindose entre ambos cul es
cul, y en el que cada vrtice lleva asociada una etiqueta, que es uno de los
datos.

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.

Ejercicio 124 Utilizando el orden alfabtico, construir un rbol de bsqueda


binaria para las palabras Mstoles, Alcorcn, Viclvaro, Pozuelo, Majadahonda, Pinto, Valdemoro, Madrid, Alcobendas, Boadilla del Monte, Las Rozas.

La utilidad de los rboles de bsqueda binaria estriba en su poder de


localizacin de los datos as estructurados dentro del rbol. Para saber si
cierto dato es la etiqueta o no de un vrtice de un rbol de bsqueda binaria,
intentaremos aadir dicho dato al rbol. Obrando de ese modo localizaremos
el dato si forma parte de la lista, o aadiremos un nuevo vrtice si el dato no
forma parte de la lista.

Ejercicio 125 Cul es el nmero mximo de comparaciones que hay que

realizar en un rbol de bsqueda binaria de altura h para determinar si un


dato concreto es la etiqueta de uno de sus vrtices? Construir un algoritmo
que tenga como entrada un rbol de bsqueda binaria, su raz, y un dato, y
que determine si dicho dato es la etiqueta de uno de los vrtices del rbol.
Estudiar su complejidad.

5.9.2 rboles de decisin


Los rboles con raz tambin se utilizan para modelizar problemas en los que
una cadena de decisiones conduce a una solucin. Un rbol con raz en el

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.

Ejemplo 5.9.14 Supongamos que tenemos 8 monedas aparentemente igua-

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.

Ejercicio 126 Supongamos que tenemos 4 monedas aparentemente iguales,

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.

Proposicin 5.9.15 Cualquier algoritmo que resuelva el problema de orde-

nacin de una lista a1 , ..., an tiene complejidad mayor que O(nl(n)).

252

CAPTULO 5. GRAFOS

Figura 5.31:

Demostracin. Sea el rbol de decisin de cualquier algoritmo que resuelve


el problema. Es un rbol m-ario con al menos n! hojas pues cualquier posible ordenacin de la lista debe ser una hoja de dicho rbol. El nmero de
operaciones que se realizan, partiendo de la raz, hasta llegar a una solucin,
esto es, a una hoja, es la altura h del rbol. Por tanto h logm (n!). Es un
ejercicio de Bases de Matemticas demostrar, para terminar, que:

O(logm (n!)) = O(nl(n)).


Sugerencia: demostrar que n! nn y que n! nn/2 .

5.9.3 Cdigos prejos


Considrese el problema de utilizar cadenas de ceros y unos para codicar las
letras del alfabeto castellano, sin distinguir entre maysculas y minsculas
y excluyendo las letras ch y ll, con vistas a transmitir un conjunto de datos
(entre dos ordenadores, o de un lugar a otro de un ordenador). Puesto que
slo hay 27 letras, y hay 25 = 32 cadenas distintas de 00 s y 10 s, podemos
emplear cadenas de longitud 5 para codicar todas las letras. El nmero
total de de bits utilizados para codicar una cadena de letras es 5 veces el
nmero de letras de la cadena (puesto que cada carcter es codicado con

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:

primir datos para su almacenaje o transmisin. En la bibliografa aportamos


textos donde profundizar sobre el tema [W].

Ejercicio 127 Construir el rbol binario que representa el cdigo prejo aso-

ciado al siguiente esquema de cdigo: a : 1010, e : 0, t : 11, s : 1011, n :


1001, i : 100001. Codicar segn se cdigo las palabras seta, nata y sensata.

5.9.4 rboles generadores


Denicin 5.9.16 Un subgrafo generador de un grafo simple G es cual-

quier subgrafo de G que incluye todos los vrtices de G (aunque no necesariamente todas sus aristas).

Denicin 5.9.17 Un rbol generador (spanning tree) de un grafo simple


G es un subgrafo generador de G que es un rbol.

Observacin 5.9.18 Un grafo simple puede tener ms de un rbol generador (ver gura 5.33).

Los rboles generadores tienen su aplicacin en redes de comunicacin.


Es claro que si queremos construir una red que conecte un conjunto de nodos,

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.

Proposicin 5.9.19 Un grafo simple G tiene un rbol generador si y solamente si G es conexo.

Demostracin. Si G tiene un subgrafo T que es un rbol y contiene todos


sus vrtices, entonces para cada par de vrtices de G hay un camino en T , y
por tanto en G, que los une. Esto muestra que G es conexo.
Si G es conexo, la manera de construir un rbol generador consiste en
localizar un circuito en G y quitar una arista. Esta operacin preserva la
conexin y hace desaparecer un ciclos. Iterando esta operacin desaparecern
todos los ciclos.

256

CAPTULO 5. GRAFOS

Hemos dado una manera de construir un rbol generador en el caso de


los grafos que los tienen. No obstante, la localizacin de circuitos en un grafo
no es una tarea sencilla. Por ello es conveniente, en lugar de emplear la
estrategia anterior, emplear una estrategia de tipo incremental: partiendo
de un vrtice, ir aadiendo aristas junto con sus extremos sin que al aadir
una nueva arista aparezca un circuito en el nuevo grafo.
La construccin de un rbol generador mediante un tipo de estrategia
incremental puede hacerse bsicamente de dos formas distintas:

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:

Problema. Una compaa planea construir una red de comunicaciones que

conecte sus cinco centros de computacin. Cualquier par de estos centros


puede ser unido con un cable telefnico que tiene un coste diferente debido a
las caractersticas de la conexin y a la topografa del terreno. La pregunta
es: cules son las conexiones que hay que establecer para garantizar que
todos los centros estn conectados y que el coste de construccin de la red
es mnimo? Si consideramos el grafo etiquetado en el que la etiqueta (o
peso) de cada arista es el coste de establecer la conexin entre los dos centros
(vrtices) que une, el problema se resuelve encontrando un rbol generador
tal que la suma de las etiquetas de las aristas de dicho rbol sea mnima. A
dicho rbol se le denomina rbol generador mnimo.

5.9. RBOLES

257

Denicin 5.9.20 Un rbol generador mnimo en un grafo etiquetado


conexo es un rbol generador que satisface la propiedad de que la suma de
las etiquetas de sus aristas es la ms pequea posible.

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

Ejercicio 128 Utilizar el algoritmo de Prim y el algoritmo de Kruskal para

disear una red de comunicaciones de mnimo coste que conecte todos los
ordenadores representados en el grafo de la gura 5.28.

5.10 Otros aspectos de la teora de grafos


Hay muchos otros conceptos, problemas y herramientas interesante relacionados con la teora de grafos. En esta seccin presentaremos someramente
dos de ellos: la planaridad y la coloracin de grafos.

Denicin 5.10.1 Sea G = (V, E) un grafo simple y C = {1, 2, ...m} un


conjunto de m colores. Una coloracin con m colores del grafo G es una
funcin f : V C tal que si u, v V y {u, v} E , entonces f (u) 6= f (v).

La coloracin de grafos tiene aplicacin, por ejemplo, a la confeccin de


horarios: supongamos que en una universidad se desea realizar un horario para las distintas asignaturas optativas. Se debe tener cuidado de que aqullas
que puedan interesar al mismo tipo de alumnos se programen de manera que
no coincidan sus horas. Para conocer el mnimo nmero de horas necesario
para cumplir todos los requisitos podemos construir el siguiente grafo: a cada
asignatura se le asigna un vrtice, y dos vrtices se unen por una arista si
interesan al mismo tipo de alumnos. El nmero mnimo de colores necesarios
para colorear los vrtices del grafo es el nmero de horas buscado.
De esta manera se puede asignar un nmero cromtico a un grafo, el
mnimo nmero de colores necesarios para su coloracin. El siguiente ejercicio
caracteriza los grafos con nmero cromtico 2.

Ejercicio 129 Demostrar que un grafo simple es bipartido si y slo si admite


una coloracin con dos colores.

Otro concepto interesante es el de grafo plano, que en algunos otros


textos dirn grafo planar.

Denicin 5.10.2 Sea G = (V, E) un grafo. Se dice que G es plano si


admite una representacin grca en el plano de modo que las aristas nicamente se cortan en los vrtices.

5.11. EJERCICIOS

259

No es difcil comprobar que el grafo completo K4 es plano, aunque tambin


podemos representar K4 de manera que sus aristas no slo se corten en los
vrtices. Se puede demostrar, aunque no es sencillo y se escapa a los objetivos
del curso, la siguiente caracterizacin de los grafos planos

Teorema 5.10.3 (de Kuratowski) Un grafo es plano si y solo si no contiene


ningn subgrafo que sea isomorfo a una particin de K5 o de K3,3 .

En particular, cualquier grafo que contenga a K5 o a K3,3 como subgrafos


no es un grafo plano.

Ejercicio 130 Determinar si son planos los siguientes grafos: Q3 , K2,2 y


K2,3 .

Obsrvese que saber si un grafo es o no plano tiene aplicaciones a la


electrnica para saber si un circuito se puede construir sobre un panel o no,
evitando las intersecciones entre las conexiones.
Y hay un famoso teorema que relaciona ambos conceptos:

Teorema 5.10.4 (de los 4 colores) El nmero cromtico de un grafo plano


es menor o igual que 4.

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.

Ejercicio 132. Dibuja los grafos K7 , W5 , K1,6 , K4,4 y Q4 .


Ejercicio 133. Hallar una matriz de adyacencia y una matriz de incidencia
de cada uno de los grafos del ejercicio anterior.

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.

Ejercicio 135. Hallar todos los subgrafos de K1,6 y de W3 .


Ejercicio 136. Hallar los valores de n para los que los siguientes grafos
admiten un circuito euleriano: Kn , Cn y Wn
Ejercicio 137. Dibujar los digrafos con lazos cuyas matrices de adyacencia
son las siguientes:

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.

Ejercicio 140. Sea una red de 6 ordenadores numerados del 1 al 6 descrita


por un grafo cuya matriz de adyacencias

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

Sea p = 0.1 la probabilidad de que un cable que une dos ordenadores


adyacentes se dae.
i) Cul es la probabilidad de que se estropeen al menos dos cables.

5.12. EJERCICIOS RESUELTOS

261

ii) 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.

Ejercicio 141. 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

i) Determinar el nmero de componentes conexas del grafo.


ii) Determinar si G es un rbol. Determinar si al aadir la arista {1, 5}
el nuevo grafo (V, A {{1, 5}}) es un rbol.
iii) Determinar los grados de todos los vrtices de G.
iv) Determinar si el grafo (V, A {{1, 5}}) es Euleriano.

5.12

Ejercicios resueltos

Ejercicio 108. Las ruedas que se piden se pueden representar como un


polgono cerrado de 3, 4, 5 y 6 lados respectivamente con un vrtice adicional
en el interior y radios desde este vrtice a cada uno de los vrtices del polgono
(ver W5 en la gura 5.39).

Ejercicio 109. Se puede representar como un cubo tridimensional.


Ejercicio 110. Escribimos K3 = ({1, 2, 3}, {{1, 2}, {2, 3}, {3, 1}}). Si fuera

bipartido su conjunto de vrtices V se podra escribir como unin disjunta


de dos conjuntos no vacos, digamos V1 y V2 . Si fuera bipartido podemos
suponer, sin perdida de generalidad, que 1 V1 . Necesariamente los vrtices
2 y 3, que son adyacentes con 1 deben estar en V2 lo que da una contradiccin
ya que son adyacentes.

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

puntos y sobre la otra marcar 5 puntos (respectivamente 3 y 4) y representar


todos los segmentos que unen una marca de una de las rectas con una marca
de la otra (ver K4,4 en la gura 5.41).
Como cada vrtice de V1 (|V1 | = n) ha de unirse con cada vrtice de V2
(|V2 | = m) el total de aristas es mn.

Ejercicio 112. Basta escribir V = {1, 2, 3} y V = {1 , 2 , 3 } entonces:


K3,3 = (V V , V V )

H = ({1, 2, 3, 1 , 2 , 3 }, {{1, 2 }, {2, 2 }, {3, 1 }, {3, 2 }, {3, 3 }})


Y de igual manera escribir el conjunto de vrtices de los grafos y aristas de
la gura, que son respectivamente:

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 }})

Ejercicio 113. Sea G = (V, E) y G0 = (V 0 , E 0 ) con |V | = n, |E| = m,

|V 0 | = n0 y |E 0 | = m0 . Entonces, el conjunto de vrtices de G G0 es V V 0


de modo que, por la regla del cardinal del producto cartesiano, el nmero
de vrtices de G G0 es nn0 . Sea (v, v 0 ) un vrtice del grafo producto. Por
denicin de producto de grafos se verica que: gr((v, v 0 )) = gr(v) + gr(v 0 )
donde gr(v) es el grado de v en G y gr(v 0 ) es el grado de v 0 en G0 . De este
modo:
(v,v0 )V V 0 gr((v, v 0 )) = n0 vV gr(v) + nvV 0 gr(v 0 ).

5.12. EJERCICIOS RESUELTOS

263

Se concluye aplicando el Teorema 5.1.11.

Ejercicio 114. El cubo Q3 tiene como vrtices, digamos V3 , las palabras

de tres bites. El cubo Q2 , V2 , las palabras de dos bites. El cubo Q1 , V1 ,


las palabras de un bit. El producto Q1 Q2 tiene como vrtices el producto
V1 V2 , esto es, sus vrtices son pares de la forma (a1 , a2 a3 ) donde a1 , a2 , a3
{0, 1}. El isomorsmo de grafos se establece de la siguiente manera: f : V1
V2 V3 , de modo que f ((a1 , a2 a3 )) = a1 a2 a3 . Y la relacin de adyacencia
en el producto se lee: (a1 , a2 a3 ) y (b1 , b2 b3 ) son adyacentes si y solamente si
o bien a1 = b1 y a2 a3 es adyacente con b2 b3 en Q2 o bien a2 a3 = b2 b3 y a1 es
adyacente con b1 en Q1 . Esto es equivalente a decir que existe un nico valor
i {1, 2, 3} de modo que ai 6= bi . Lo que garantiza que f es un isomorsmo
de grafos.

Ejercicio 115. Los grafos K4 y W3 tienen la propiedad de que cualquier

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

ver como la unin de dos ciclos C5 que comparten 4 vrtices.


Los de la gura 5.15 no son isomorfos, ya que el grafo G tiene exactamente
dos subgrafos isomorfos a C4 (uno interior y otro exterior) mientras que el
H contiene 3 subgrafos isomorfos a C4 (los dos del grafo G ms el rombo a
la izquierda).

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

W3 : La rueda est formada por el ciclo C3 y un vrtice conectado con


todos los del ciclo. Sea v1 dicho vrtice y v2 , v3 , v4 los del ciclo. Entonces

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

Ejercicio 118. Establezcamos para el primer grafo la siguiente ordenacin


de vrtices: a,b,c,d,e. Entonces

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

En el segundo grafo, ordenamos los vrtices del siguiente modo: a,b,c,d,e,f.


Entonces

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

Ejercicio 119. Hay:

1) n2 + 1 asignaciones,
2) un bucle que se repite n 1 veces en el que se hacen

5.12. EJERCICIOS RESUELTOS

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.

Ejercicio 123. En el caso de los vrtices a y e, tenemos (a partir de los

clculos en los apuntes) que la longitud mnima de a a f es 5 y la de a a d es 6.


Por tanto, la longitud mnima de a a g tiene que ser min{L(f )+1, L(d)+3} =
6.
En el caso de los vrtices g y c tenemos que implementar el algoritmo de
Dijkstra de nuevo.

266

CAPTULO 5. GRAFOS

Figura 5.34: Ejercicio 124

Sea T = {g}. L(f ) = L(g) + 3 = 3, L(h) = L(g) + 4 = 4. El mnimo de


L ocurre para f . Por tanto,
T = {g, f }. L(e) = L(f ) + 1 = 4, L(i) = L(f ) + 2 = 5. El mnimo de L
ocurre para e y h. Por tanto,
T = {g, f, e, h}. L(a) = L(h) + 5 = 9, L(i) = L(h) + 4 = 8 > 5, L(d) =
L(e) + 3 = 7. El mnimo de L ocurre para i. Por tanto,
T = {g, f, e, h, i}. L(d) = L(i) + 3 = 8 > 7, L(b) = L(i) + 1 = 6. El
mnimo de L ocurre para b. Por tanto,
T = {g, f, e, h, i, b}. L(a) = L(b) + 2 = 8 < 9, L(c) = L(b) + 3 = 9. El
mnimo de L ocurre para d. Por tanto,
T = {g, f, e, h, i, b, d}. L(c) = L(d) + 5 = 12 > 9. El mnimo de L ocurre
para a y vale 8. El valor de L para el ltimo vrtice que es c es 9.
Conclusin. El camino mnimo entre g y c tiene longitud 9 y recorre los
vrtices g, f, i, b, c.

Ejercicio 124. Ver la gura 5.34.


Ejercicio 125. El nmero mximo de comparaciones es el nmero mximo
de vrtices que se pueden recorrer en un camino simple de la raz a una hoja.
Es decir, h + 1, siendo h la altura del rbol.
Sea h la altura del rbol. Los datos se pueden ordenar mediante una
relacin que denotamos por <.
Entrada: El rbol, su raz y un dato.

5.12. EJERCICIOS RESUELTOS

267

Salida=El dato no es etiqueta de ningn vrtice


lectura=raz
While -no llegamos a una hoja- and Salida=El dato no es etiqueta de
ningn vrtice
If lectura<dato then -nos movemos a la rama derecha del nivel
inferiorIf lectura>dato then -nos movemos a la rama izquierda del nivel
inferiorIf lectura=dato then Salida=el dato es etiqueta de un vrtice
Salida
En el peor de los casos, el dato no es una etiqueta en el rbol y el rbol
binario de altura h tiene n = 1 + 2 + 22 + ... + 2h = 2h+1 1 datos. Para
localizar si un dato dado est en el rbol debemos hacer h + 1 lecturas (el
camino ms largo que hay en el grafo tiene h + 1 vrtices). Por tanto, el
nmero mximo de lecturas es log2 (n + 1) O(log n). En cada lectura,
hacemos una comparacin. La complejidad es, por tanto, logartmica, esto
es, O(log n).

Ejercicio 126. Tomamos dos monedas y las ponemos en sendos platillos de


la balanza. Hay dos posibilidades: que pesen lo mismo o que no.
Si no pesan lo mismo, eso signica que una de las dos es la buscada.
Tomamos una de las monedas (la que est a la derecha, por ejemplo) y una
de las que no hemos pesado (ninguna de las cules puede ser la buscada). Las
ponemos en sendos platillos. Si pesan lo mismo, eso signica que la moneda
que estaba en la primera pesada en el platillo izquierdo es la buscada. Si
pesan distinto es la que estaba en el platillo derecho la buscada.
Si en la primera pesada las monedas pesaban lo mismo, entonces tomo
una de ellas y una de las que no hemos pesado. Si pesan lo mismo, eso
signica que la moneda que no he pesado en ninguna de las dos pesadas es
la buscada. Si no pesan lo mismo, eso implica que la moneda que he pesado
la segunda vez y no la primera vez es la buscada.
En resumen, podemos localizar la moneda en dos pesadas. El rbol de
decisin correspondiente es binario y tiene altura 2.

Ejercicio 127. Podemos ver el rbol en la gura 5.35.


Las palabras se codican de la siguiente manera:
seta: 10110111010
nata: 10011010111010

268

CAPTULO 5. GRAFOS

Figura 5.35: Ejercicio 127.

sensata: 10110100110111010111010

Ejercicio 128. Algoritmo de Prim. Partimos de a. V (T ) = {a}, E(T ) = .

Aadimos la arista de a a b y V (T ) = {a, b}. Aadimos i y V (T ) = {a, b, i}.


Aadimos f y V (T ) = {a, b, i, f }. Aadimos e y V (T ) = {a, b, i, f, e}.
Aadimos c, g y d y V (T ) = {a, b, i, f, e, c, g, d}. Aadimos h y V (T ) =
{a, b, i, f, e, c, g, d, h}.
Algoritmo de Kruskal. Colocamos las aristas de longitud 1: {b, i} , {f, e}.
Colocamos las aristas de longitud 2: {i, f } , {a, b}. Colocamos las aristas de
longitud 3 con cuidado de no formar circuitos: {e, d} , {b, c} , {f, g}. Finalmente, colocamos una de las aristas de longitud 4: {g, h}.

Ejercicio 129. En primer lugar, si el grafo es bipartido, entonces el con-

junto de vrtices se puede poner como unin disjunta de dos subconjuntos,


digamos V1 y V2 . Podemos entonces colorear con colores distintos cada uno
de los subconjuntos Vi (i = 1, 2). Con esta coloracin, dado que el grafo
es bipartido, no hay nunca dos vrtices del mismo color unidos. En sentido
opuesto, si el grafo puede ser coloreado slo con dos colores, podemos dividir
los vrtices del grafo en dos subconjuntos disjuntos: los vrtices de un color
y los del otro. Los vrtices de un color slo entn enlazados con los del otro.
Es decir, el grafo es bipartido.

5.12. EJERCICIOS RESUELTOS

269

Figura 5.36: Ejercicio 128

Ejercicio 130. Los tres grafos son planos como se puede ver en la gura
5.37.

Ejercicio 131. Se deja al lector.


Ejercicio 132. Ver guras correspondientes.
Ejercicio 133. Cualquier matriz de adyacencias de K7 tiene el siguiente
aspecto:

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

El grado de cada uno de los 7 vrtices es 6, por tanto la suma de los


grados es 42, de modo que K7 tiene 21 aristas. Si tomo los vrtices numerados
{1, 2, 3, 4, 5, 6, 7} podemos escribir las aristas como:

{{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {1, 7},

270

CAPTULO 5. GRAFOS

Figura 5.37: Ejercicio 130

Figura 5.38: Una representacin de K7

5.12. EJERCICIOS RESUELTOS

Figura 5.39: Una representacin de W5

Figura 5.40: Una representacin de K1,6

271

272

CAPTULO 5. GRAFOS

Figura 5.41: Una representacin de K4,4

Figura 5.42: Una representacin de Q4

5.12. EJERCICIOS RESUELTOS

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

matriz de incidencias que sigue este orden es:

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

El grafo W5 tiene 6 vrtices, digamos {1, 2, 3, 4, 5, 6} y las siguientes aristas:

{{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

las siguientes matrices de adyacen-

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

El grafo K1,6 tiene 7 vrtices, digamos, {1, 2, 3, 4, 5, 6, 7} y tiene las aristas:

{{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {1, 7}}

274

CAPTULO 5. GRAFOS

As ordenados los vrtices y las aristas tenemos su matriz de adyacencias y


su matriz de incidencias:

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

El grafo K4,4 tiene 8 vrtices que pueden escribirse como {1, 2, 3, 4, 10 , 20 , 30 , 40 }


y 16 aristas que pueden escribirse como: A A0 donde A = {1, 2, 3, 4} y
A0 = {10 , 20 , 30 , 40 }. Si ordenamos los vrtices as tenemos la siguiente matriz
de adyacencias:

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

Y si ordenamos las aristas en orden lexicogrco su matriz de incidencias

5.12. EJERCICIOS RESUELTOS


ser:

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

El cubo Q4 tiene 16 aristas que corresponden a las palabras de 4 bites:

{0000, 0001, 0010, 0100, 1000, 0011, 0101, 1001,


1010, 1100, 0110, 0111, 1011, 1101, 1110, 1111}
Cada uno de los vrtices tiene grado 4 por lo tanto la suma de todos los
grados da 64. Entonces Q4 tiene 32 aristas. La matriz de incidencias la
dejamos al lector. La matriz de adyacencias segn este orden es:

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

Ejercicio 134. El primero de los casos no es posible pues la suma de los


grados es 23 que es un nmero impar, en contradiccin con el hecho de que la

276

CAPTULO 5. GRAFOS

suma de los grados de los vrtices es 2 veces el nmero de aristas. El segundo


es posible, por ejemplo:

({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.

Ejercicio 135. El grafo K1,6 = (V, E) tiene 7 vrtices y 6 aristas:


({1, 2, 3, 4, 5, 6, 10 }, {{1, 10 }, {2, 10 }, {3, 10 }, {4, 10 }, {5, 10 }, {6, 10 }}).
El grafo W3 = (V 0 , E 0 ) tiene 4 vrtices y 6 aristas:

({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.

5.12. EJERCICIOS RESUELTOS

277

Si contienen al 10 , entonces podemos tomar


una, dos o tres de las aristas que

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 136. Segn el teorema de Euler un grafo admite un circuito

euleriano si todos sus vrtices estn en la misma componente conexa y los


grados de sus vrtices son todos nmeros pares. En el caso del grafo completo
Kn cada vrtice tiene grado n 1 entonces ser euleriano si y solamente si n
impar. En el caso del ciclo Cn el grado de cada vrtice es 2 por lo que siempre
admite un circuito euleriano. En el caso de Wn hay vrtices de grado 3 por lo
que no admite un circuito euleriano en ningn caso. Ntese que todos estos
grafos son conexos.

Ejercicio 137. Basta escribir tantos puntos como las (o columnas) tenga

la matriz numerndolos segn el lugar de su respectiva la. Entre cada par


de puntos i y j se representan tantas aristas (segmentos que unen el punto
numerado con la i con el numerado con la j ) como indique la matriz de
adyacencias A en su trmino Aij .

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

toma un cierto valor.

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.

Ejercicio 140. i) Se trata de una red con 6 ordenadores (vrtices) y 6 cables

(aristas). La probabilidad de que se dae un cable es 0.1. Es entonces un


experimento de Bernoulli con probabilidad de xito 0.1. La probabilidad de
obtener al menos dos xitos es:

6
6
(0.1)k (0.9)6k .
k=2
k
ii) La nica manera de que la informacin no llegue ocurre cuando se daan
a la vez el cable {1, 2} y al menos uno de los cables del conjunto:

{{1, 5}, {5, 4}, {4, 3}, {3, 2}}.


Por tanto, as considerados, son sucesos independientes de probabilidades
respectivas 0.1 y

4
4
k=1
(0.1)k (0.9)4k .
k
El resultado pedido es el producto de ambas probabilidades.

5.12. EJERCICIOS RESUELTOS

279

Ejercicio 141. El grafo G tiene dos componentes conexas, la que forman los

vrtices {1, 2, 3, 4} (y sus correspondientes aristas) y la que forman los vrtices


restantes (y sus correspondientes aristas). De este modo no es conexo. No
puede ser un rbol. Si aadimos la arista {1, 5} el nuevo grafo es conexo,
pero contiene un ciclo (formado por los vrtices 2, 3 y 4) por lo que sigue
sin ser un rbol. Tomando los vrtices en el orden que indica la matriz, la
sucesin de sus grados no es otra cosa que la suma de los trminos de cada
la, as: gr(1) = 1, gr(2) = 3, gr(3) = 2, gr(4) = 2, gr(5) = 1, gr(6) = 2,
gr(7) = 2, gr(8) = 1. Al aadir la arista {1, 5} el grado de los vrtices 1
y 5 aumenta en una unidad. Pero, por ejemplo, el grado del vrtice 8 sigue
siendo impar, por lo que el grafo no puede ser euleriano.

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

Sea capaz de extender un orden parcial para convertirlo en un orden


total que contenga las relaciones del orden parcial.

6.1 Compendio de deniciones


Aunque son deniciones ya conocidas vamos a recordar, en este primer prrafo, los conceptos que necesitamos.

Denicin 6.1.1 Sean A y B dos conjuntos, una relacin entre A y B

es un subconjunto R del producto cartesiano A B . En el caso particular en


que A es igual a B hablaremos de una relacin en A.
Se dice que a A se relaciona con b B (y se denota aRb) si (a, b) R.

Denicin 6.1.2 Sean A y B conjuntos y R A B una relacin entre


A y B , se dene dominio de R al conjunto de elementos a A tales que
existe un elemento b B y (a, b) R.
Se dene el rango de R al conjunto de elementos b B para los que
existe un elemento a A de modo que (a, b) R.

Denicin 6.1.3 Sea A un conjunto y R A A una relacin en A.


Se dice que R es reexiva si (a, a) R para cada a A.
Se dice que R es simtrica si para cada (a, b) R se tiene que (b, a) R.
Se dice que R es antisimtrica si (a, b) R y (b, a) R implica que
a = b.
Se dice que R es transitiva si para cada (a, b) R y (b, c) R se tiene
que (a, c) R.

Denicin 6.1.4 Sea A un conjunto y R A A una relacin en A.


La relacin R es una relacin de equivalencia si verica las propiedades reexiva, simtrica y transitiva.
La relacin R es una relacin de orden si verica las propiedades reexiva, antisimtrica y transitiva. Dos elementos a, b A se dicen comparables si o bien (a, b) o bien (b, a) pertenece a R. En el caso particular en
que todo par de elementos a, b A son comparables se dice que R es una
relacin de orden total. Si existen elementos a, b A no comparables,
entonces diremos que es una relacin de orden parcial.

6.1. COMPENDIO DE DEFINICIONES

283

A un par (A, R) formado por un conjunto y una relacin de orden parcial


le llamaremos conjunto parcialmente ordenado. Si la relacin es de
orden total diremos conjunto totalmente ordenado.

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.

Denicin 6.1.7 Sea A un conjunto y una relacin de equivalencia en


A. Para cada elemento a A se dene la clase de equivalencia de a, y

se denota por C(a) o por a, como el conjunto de todos aquellos elementos de


A que se relacionan con a:

a = {b A : b a}.

Ejercicio 142 Con la notacin de la denicin anterior demostrar que:


i) para cada a A se tiene que a 6= ;

284

CAPTULO 6. RELACIONES

ii) para cada a, b A de modo que a b se tiene que a = b;


iii) si a 6= b entonces a b = ;
iv) A = aA a.
Esto permite denir el siguiente concepto.

Denicin 6.1.8 Sean A un conjunto y una relacin de equivalencia en


A. Se dene el conjunto cociente de A por dicha relacin de equivalencia
como el conjunto de las clases de equivalencia:

A/ = {a : a A}.

Ejemplos 6.1.9 i) Como ya vimos, la relacin de congruencia mdulo p es


una relacin de equivalencia en Z y el conjunto cociente es:

Zp = {0, 1, ..., p 1}.


ii) El conjunto cociente del conjunto F del ejemplo iv) del prrafo anterior
por la relacin de equivalencia all denida es el conjunto Q de los nmeros
racionales.

Ejercicio 143 Comprobar si son relaciones de orden o de equivalencia las


siguientes relaciones.
Si son de equivalencia establecer el conjunto cociente:

i) Sea A5 el conjunto de palabras de 5 letras hechas con el alfabeto espaol


(29 letras). Sea la relacin denida por comenzar por la misma letra, esto
es, dados dos elementos a, b A5 , aRb si y solamente si ambas palabras
comienzan por la misma letra.
ii) Sea A = {a, b, c, d} y

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. REPRESENTACIN DE RELACIONES

6.2

285

Representacin de relaciones

6.2.1 Mediante tablas


Una relacin R en un conjunto A es un subconjunto del producto cartesiano
A A. Tomamos entonces dos ejes coordenados donde en cada uno de ellos
se estn representando los elementos de A. La relacin R es entonces una
nube de puntos del plano coordenado. Esta nube de puntos permite vericar
de forma sencilla algunas de las propiedades de la relacin.
La relacin es reexiva si y solamente si toda la diagonal

= {(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.

Ejemplos 6.2.1 i) Sea la relacin de orden usual sobre el conjunto N4 , es


decir,

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.

6.2.2 Mediante grafos dirigidos


Vamos a ver cmo la relacin tambin puede ser representada por un grafo
dirigido que llamaremos grafo dirigido asociado a la relacin. Este
multidigrafo puede tener lazos (elementos de la forma (a, a)) y puede tener,
como mximo, dos aristas conectando dos vrtices a y b (las aristas (a, b) y
(b, a)).

286

CAPTULO 6. RELACIONES

y 2

2
x

Figura 6.1: Tabla 1

6.2. REPRESENTACIN DE RELACIONES

287

y 2

2
x

Figura 6.2: Tabla 2

288

CAPTULO 6. RELACIONES

Denicin 6.2.2 Sea A un conjunto nito y R A A una relacin en


A, llamaremos grafo dirigido asociado a la relacin al multidigrafo G =
(A, R).

Ejemplos 6.2.3 i) En el ejemplo i) anterior el grafo dirigido asociado es:


(N4 , {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)}).
ii) En el ejemplo ii) el grafo dirigido asociado es:

(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).

Ejercicio 144 Sean los siguientes conjuntos y relaciones denidas sobre e-

llos. Representarlas mediante tablas y grafos dirigidos y vericar qu propiedades satisfacen.


i) Sea el conjunto N5 y la relacin R denida como aRb si y solamente
si a + b es un mltiplo de 7.
ii) Sea el conjunto N10 y la relacin de divisibilidad, es decir, aRb si y
solamente si a divide a b.
iii) Sea el conjunto A = {, N1 , N2 , N3 , N4 , N5 } y la relacin en A dada
por aRb si y solamente si a b.
iv) Sea el conjunto B = {a, b, d, c} y R = {(b, b), (c, c), (d, d), (a, c),
(c, d), (a, d)}.

6.2. REPRESENTACIN DE RELACIONES

289

6.2.3 Mediante matrices


Podemos representar las relaciones usando las matrices de adyacencias asociadas a los grafos dirigidos que las representan.

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.

Ejemplo 6.2.5 Sea en el conjunto N5 la relacin de orden habitual. La

matriz de adyacencias del grafo dirigido, eligiendo el orden en los vrtices


dado por 1, 2, 3, 4, 5 es una matriz triangular con la parte superior formada
por unos y la parte inferior por ceros:

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.

Debemos recordar que la matriz de adyacencias M de un grafo dirigido


tiene un uno en la entrada (i, j) (mij = 1) si y solamente si (vi , vj ) R, en
caso contrario tiene un 0.
De este modo, una relacin R sobre un conjunto A es reexiva si y solamente si la diagonal de la matriz asociada M est formada por unos, esto es
mii = 1 para cada i = 1, ..., |A|.
La relacin es simtrica si y solamente si la matriz es simtrica, porque
entonces la equivalencia (vi , vj ) R si y solamente si (vj , vi ) R se puede
reescribir como mij = 1 si y solamente si mji = 1.
La relacin es antisimtrica si para cada i 6= j tales que mij = 1 se tiene
que mji = 0.
Si la relacin es transitiva se verica el siguiente teorema:

290

CAPTULO 6. RELACIONES

Teorema 6.2.6 Sea A un conjunto nito, R una relacin en A y M una

matriz de adyacencias del grafo dirigido asociado a la relacin. Llamemos


(2)
mij a las entradas de M y mij (el dos es un superndice, no un cuadrado)
(2)
a las entradas de M 2 . Entonces R es transitiva si y solamente si mij 6= 0
implica mij 6= 0.
(2)

Demostracin. Comprobemos primero que si mij 6= 0 implica mij 6= 0


entonces R es transitiva. Para que R sea transitiva debe vericar que cada
vez que (vi , vj ), (vj , vk ) R necesariamente (vi , vk ) R.
Si i = j o j = k no hay nada que comprobar. En caso contrario, existe
(2)
un camino de longitud dos entre vi y vk por lo que mik 6= 0. Por hiptesis
se tiene mik 6= 0, con lo que (vi , vk ) R, como queramos demostrar.
Por otro lado (la implicacin en el otro sentido) si R es transitiva y
6= 0 entonces existe un camino de longitud 2 entre vi y vj . Por tanto
existir un vrtice vk de modo que (vi , vk ) R y (vk , vj ) R. Por la
transitividad de R se tiene que (vi , vj ) R, es decir mij 6= 0, como queramos
demostrar.
(2)
mij

Esto quiere decir que para comprobar la transitividad de una relacin


basta ver que M 2 no tiene entradas no nulas nuevas con respecto a M .

Ejemplo 6.2.7 Sea el conjunto A = {a, b, c, d} y la relacin


R = {(a, a), (b, b), (a, b), (b, a)}.
La relacin es transitiva porque M 2 = 2M .

Ejercicio 146 Comprobar si las relaciones del ejercicio 144 son transitivas
mediante esta caracterizacin de la transitividad.

6.3 Clausuras reexiva, simtrica y transitiva


de una relacin
En esta seccin presentaremos algoritmos para resolver el problema siguiente:

Problema: dada una relacin R en un conjunto A, encontrar la mnima


relacin conteniendo a R (en el sentido del subconjunto ms pequeo de

6.3. CLAUSURAS

291

A A) que verica una cierta propiedad, como, por ejemplo, la propiedad


reexiva (o la simtrica o la transitiva).
Es un problema que presenta distintas aplicaciones, sobre todo la clausura
transitiva, por ejemplo en el campo de las comunicaciones.

Ejemplo 6.3.1 Tenemos una red de ordenadores numerados del 1 al 5 y

tenemos cables de comunicacin del 1 al 2, del 2 al 3, del 1 al 4 y del 2 al


5. Aunque el 1 y el 3 no estn directamente comunicados entre s, se pueden
comunicar a partir del 2. Nos interesara conocer los ordenadores que estn
conectados entre s.
De la teora de grafos podemos extraer una solucin sin ms que preguntarnos por las componentes conexas del grafo cuyos vrtices son los ordenadores y sus aristas las comunicaciones directas.
En el contexto de las relaciones podemos denir una relacin en N5 de
modo que (a, b) R si y solamente si el ordenador con nmero a est conectado directamente con el que tiene nmero b (o a = b o hay un cable directo
entre a y b). Esta relacin es claramente reexiva y simtrica por denicin.
El problema de encontrar todas las parejas de ordenadores conectados (directa o indirectamente), es equivalente al cmputo de la clausura transitiva,
es decir, el mnimo conjunto de parejas C conteniendo a R que hace que C
sea transitiva.

Denicin 6.3.2 Sean A un conjunto nito y R AA una relacin en A.


Se dene la clausura transitiva (resp. simtrica, resp. reexiva) al mnimo
conjunto Ct A A (resp. Cs , resp. Cr ) tal que R Ct (resp. R Cs ,
resp. R Cr ) y la relacin que dene Ct es transitiva (resp. simtrica, resp.
reexiva).
El cmputo de la clausura reexiva es simple. Se trata de unir a R el
conjunto = {(a, a) : a A}. Es decir,

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

Ejemplo 6.3.3 Sean el conjunto N10 y sobre l la relacin de menor estricto

<. Esta relacin no es reexiva porque no se verica a < a. Se verica que


la clausura reexiva de la relacin < es la relacin .

Ejercicio 147 Dadas las relaciones del ejercicio 144 que no son reexivas
computar su clausura reexiva.

La clausura simtrica de una relacin se computa uniendo a R el conjunto


S = {(b, a) : (a, b) R}, es decir:

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.

Ejemplo 6.3.4 Sean el conjunto N10 y sobre l la relacin de orden . La


clausura simtrica de dicha relacin es Cs = N10 N10 . En efecto, por
denicin Cs N10 N10 . Para demostrar el otro contenido, sea cualquier
elemento (a, b) N10 N10 . Si a b entonces (a, b) R Cs , en caso
contrario b < a y por tanto (b, a) R lo que signica (a, b) S Cs , lo que
concluye la demostracin.

Ejercicio 148 Dadas las relaciones del ejercicio 144 que no son simtricas

computar su clausura simtrica.

Abordamos nalmente el cmputo de la clausura transitiva.

Lema 6.3.5 Sean A un conjunto, R una relacin sobre A y G el grafo diri-

gido asociado a la relacin. Sean a y b dos elementos de A tales que existe


un camino (a, v1 ), (v1 , v2 ), ...(vm1 , b) en G uniendo a con b. Entonces (a, b)
pertenece a la clausura transitiva, Ct , de R.
Demostracin. Lo demostramos por induccin sobre la longitud del camino.
Si la longitud del camino que une a y b es uno entonces (a, b) R Ct .
Si la longitud es dos, como (a, v1 ), (v1 , b) R entonces (a, b) Ct .
Si la longitud es m + 1 entonces, por hiptesis de induccin, (a, vm ) Ct
y por tanto, como (vm , b) R, se tiene que (a, b) Ct .
Segn este lema, la clasusura transitiva debe contener todos los pares
(a, b) de vrtices tales que existe un camino uniendo a con b.

6.3. CLAUSURAS

293

Lema 6.3.6 Sean A un conjunto y R una relacin en A de modo que el

grafo dirigido G asociado a la relacin verica que si dos vrtices a y b estn


unidos por un camino entonces (a, b) R. En estas condiciones la relacin
R es transitiva.
Demostracin. Si tenemos que (a, b), (b, c) R entonces a y c estn unidos
por un camino de longitud 2 y por tanto (a, c) R.
Los dos lemas previos muestran que la clausura transitiva de una relacin
R en un conjunto A es entonces:

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:

Observacin 6.3.7 Sean G = (V, E) un grafo dirigido y a, b dos vrtices


de G. Si existe un camino uniendo a con b entonces existe un camino de
longitud menor o igual que |V | uniendo a con b. Ms an, si a 6= b y existe
un camino uniendo a con b, se puede encontrar un camino de longitud menor
o igual que |V | 1.

Esta observacin permite construir un algoritmo para calcular la clausura


transitiva.

Algoritmo para calcular la clausura transitiva


Sea A un conjunto, R una relacin en A, G = (A, R) el grafo dirigido
asociado a R y M una de sus matrices de adyacencias.

Entrada: M (una matriz n n)

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

la por una columna se realizan n productos y n1 sumas (2n1 operaciones)


y esto se hace n2 veces. En nuestro algoritmo se efectan n 1 potencias
de M . Suponemos que nuestro sistema de clculo con matrices hace las
potencias como producto de dos matrices (la potencia anterior multiplicada
por M ). As tenemos 2n3 (n1) operaciones. La ltima lnea de pseudocdigo
de nuestro algoritmo llama a un algoritmo que recorre n listas de longitud
n, cambiando cada valor por uno si es no nulo y por cero si es nulo. Este
algoritmo tiene complejidad cuadrtica. Podemos entonces concluir que el
algoritmo es de orden O(n4 ).

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

subndices (el primero la la y el segundo la columna):


i) escribir un algoritmo que multiplica matrices de tamao n n;
ii) escribir un algoritmo que tome una matriz M de tamao n n y
construya una matriz N que tenga las entradas vericando nij = 1 si mij 6= 0
y nij = 0 en caso contrario.
Terminamos esta seccin presentando otro algoritmo para computar la
clausura transitiva de una relacin conocido como Algoritmo de Warshall
que tiene complejidad cbica.

Algoritmo de Warshall para el cmputo de la clausura transitiva


Sea como siempre A un conjunto nito (|A| = n), R una relacin en
A, G = (A, R) el grafo dirigido asociado a R y M una de sus matrices
de adyacencias. Nuestro objetivo es calcular la matriz asociada a Ct , que
sabemos cmo es por el algoritmo anterior. Recordamos que M se obtiene
mediante una ordenacin de los vrtices de G, es decir A = {v1 , ..., vn }.

Denicin 6.3.8 Sea un camino (x0 , x1 ), (x1 , x2 ), ..., (xn1 , xn ) en un grafo


dirigido G. A los vrtices x1 , ..., xn1 se les llama vrtices interiores del
camino.
Con esta denicin podemos comenzar el algoritmo de Warshall.
Se trata de construir n + 1 matrices n n que llamaremos Wk (k
{0, 1, ..., n}) de modo que W0 = M y Wn se la matriz de adyacencias de Ct
asociada a la ordenacin de A.

6.3. CLAUSURAS

295

(k)

Llamamos wij a las correspondientes entradas de Wk . La denicin de


(k)

Wk es como sigue: wij = 1 si existe un camino uniendo vi con vj de modo que


el conjunto de sus vrtices interiores est contenido en el conjunto {v1 , ..., vk }.
(0)
En el caso k = 0 se interpreta como wij = 1 si existe un camino sin
vrtices interiores uniendo vi con vj , por tanto W0 = M .
(n)
En el caso k = n tenemos que wij = 1 si existe un camino uniendo vi
con vj (porque el conjunto de posibles vrtices interiores es A). Por tanto se
tiene que Wn es la matriz de adyacencias buscada.

Ejemplo 6.3.9 Sea la relacin siguiente:


A = {a, b, c, d, e, f }
R = {(a, a), (a, b), (c, c), (c, d), (c, f ), (f, f ), (f, e), (f, a)}.
Elegimos el orden para los vrtices a, b, c, d, e, f y por tanto la matriz W1
tiene entradas no nulas (que valen 1) si hay un camino uniendo los respectivos
vrtices cuyo nico posible vrtice interior es a. Entonces:

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 .

Observacin 6.3.10 Los caminos sin vrtices interiores repetidos uniendo

los vrtices vi y vj cuyos vrtices interiores pertenecen al conjunto {v1 , ..., vk }


son de dos tipos:
o bien caminos cuyos vrtices interiores son del conjunto {v1 , ...vk1 };
o bien caminos que tienen a vk como vrtice interior, es decir, que se
pueden ver como la concatenacin de un camino C1 de vi a vk y un camino
C2 de vk a vj , donde los vrtices interiores de C1 y C2 pertenecen al conjunto
{v1 , ..., vk1 }.

296

CAPTULO 6. RELACIONES
Por tanto se tiene que
(

wij k) = 1

(k1)

(wij

(k1)

= 1) (wik

(k1)

= 1 = wkj

).

Esto nos permite calcular la complejidad del algoritmo. Para construir


Wk a partir de Wk1 hay que construir sus n2 entradas. Para cada entrada,
usando la observacin anterior, hay que hacer (como mximo) 3 comparaciones y una asignacin. Por tanto cada construccin de Wk es un algoritmo
de complejidad cuadrtica (4n2 ). Como hay que hacer n construcciones de
este tipo, el algoritmo de Warshall tiene complejidad cbica, es decir, del
orden O(n3 ).

Ejercicio 151 Dadas las relaciones del ejercicio 144 que no son transitivas

computar su clausura transitiva mediante el Algoritmo de Warshall.

6.4 Conjuntos parcialmente ordenados


Como sealamos en prrafos anteriores, un conjunto parcialmente ordenado
es un par (A, ) formado por un conjunto A y una relacin de orden parcial
. Sea G el grafo dirigido asociado a la relacin . Como dicha relacin
es, por denicin, reexiva, antisimtrica y transitiva, se puede simplicar
un poco la representacin de G. Es lo que se llama diagrama de Hasse de
un conjunto parcialmente ordenado (de un poset usando las siglas inglesas
de partially ordered set). Si la relacin de orden es total la construccin del
diagrama de Hasse tiene tambin sentido (aunque saldr siempre una recta
vertical).

6.4.1 Diagramas de Hasse


En las condiciones del prrafo anterior partimos de G.
Como sabemos que la relacin es reexiva podemos borrar todos los
lazos, ya que necesariamente a a para cada a A.
Como sabemos que la relacin es transitiva podemos borrar las aristas
que son consecuencia de esta propiedad. Por ejemplo, si a b y b c
necesariamente a c, entonces los pares (a, b), (b, c) y (a, c) son aristas del
grafo y podemos borrar la arista (a, c).
Finalmente, en lugar de dirigir las aristas del grafo, elegimos una disposicin vertical de manera que si un elemento a est debajo de otro b y ambos

6.4. CONJUNTOS PARCIALMENTE ORDENADOS

297

Figura 6.3: Diagrama de Hasse

estn unidos por un camino ascendente en el grafo simple nal entonces


a b.

Ejemplos 6.4.1 i) Sea A = {1, 2, 3, 4} y el orden habitual. Partimos del

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.

Ejercicio 152 Dado el conjunto A = {a, b, c, d, e} y la relacin


R = {(a, a), (a, c), (c, e), (c, d), (b, d)}
Dibujar el diagrama de Hasse de la relacin de orden que viene denida por
la clausura reexiva y transitiva de R.

298

CAPTULO 6. RELACIONES

Figura 6.4: Diagrama de Hasse

6.4.2 Elementos caractersticos de un conjunto parcialmente ordenado


Veamos algunos elementos interesantes en conjuntos parcialmente ordenados.
Sea entonces (A, ) un conjunto parcialmente ordenado.

Denicin 6.4.2 Un elemento M A se dice maximal si no existe b A


b 6= M de modo que M b.
Un elemento m A se dice minimal si no existe b A b 6= m de modo
que b m.
En los diagramas de Hasse los elementos maximales son aquellos que
son extremo superior de un camino ascendente que no se puede prolongar;
recprocamente los elementos minimales son extremos inferiores de caminos
descendentes que no se pueden prolongar.

Ejemplo 6.4.3 En el ejemplo anterior i) el 1 es minimal y el 4 es maximal.

En el ejemplo anterior ii) el vaco es un elemento minimal y el conjunto


B es un elemento maximal.

Observacin 6.4.4 El conjunto de los elementos maximales (resp. minimales) no es necesariamente unitario, como se puede ver en el siguiente
ejemplo.

6.4. CONJUNTOS PARCIALMENTE ORDENADOS

299

Figura 6.5: Diagrama de Hasse

Ejemplo 6.4.5 Un conjunto parcialmente ordenado ({1, 2, 3, 4, 5}, ) cuyo


diagrama de Hasse es el de la Figura 6.5 tiene dos elementos maximales, 3
y 5, y dos minimales, 1 y 4.

Denicin 6.4.6 Un elemento M A es un mximo si a M para cada

a A.
Un elemento m A es un mnimo si m a para cada a A.

Ejemplo 6.4.7 En el ejemplo i) 1 es un mnimo y 4 es un mximo.

En el ejemplo ii) el conjunto vaco es un mnimo (ya que el vaco es


un subconjunto de cada conjunto) y el total B es un mximo (ya que cada
subconjunto de B est, por denicin, contenido en B ).
En el diagrama de Hasse el mximo esta caracterizado por ser el extremo
superior de cada camino ascendente y recprocamente el mnimo es el extremo
inferior de cada camino descendente.

Observacin 6.4.8 El mximo y el mnimo no necesariamente existen. Si

un conjunto parcialmente ordenado tiene mximo (resp. mnimo) entonces


es el nico elemento maximal (resp. minimal).

300

CAPTULO 6. RELACIONES

Ejemplo 6.4.9 El ejemplo del prrafo anterior representado en la Figura

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.

Denicin 6.4.10 Sea (A, ) un conjunto parcialmente ordenado y B A.


Se dice que a A es una cota superior de B si b a para cada b B .
Se dice que a A es una cota inferior de B si a b para cada b B .

Si existe una cota superior de B menor o igual que el resto de cotas


superiores de B se le llama supremo de B .
Si existe una cota inferior de B mayor o igual que el resto de cotas inferiores de B se le llama nmo de B .

Ejercicio 153 Sea el conjunto A = {a, b, c, d, e, f } y la relacin de orden


dada por la clausura reexiva y transitiva de:

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.

6.4.3 Inmersin de un orden parcial en un orden total


Supongamos que tenemos un conjunto de tareas que realizar de modo que hay
una serie de prioridades, establecindose una relacin de orden parcial sobre
el conjunto de tareas. Por ejemplo un conjunto de asignaturas (que no pueden
cursarse simultneamente) que aprobar para conseguir una licenciatura con

6.4. CONJUNTOS PARCIALMENTE ORDENADOS

301

una serie de asignaturas que han de cursarse despus de aprobarse unas


asignaturas previas. Nos interesar establecer un orden total para realizarse
las tareas, por ejemplo, una manera de cursar las asignaturas sabiendo en
qu orden han de realizarse. Veamos un ejemplo muy simple:

Ejemplo 6.4.11 Sea un conjunto de tres asignaturas Matemticas I, Mate-

mticas II y Fsica para realizar en 3 aos. Se tiene que cursar primero


Matemticas I y luego Matemticas II. Nada se dice sobre cuando cursar la
Fsica. Formalmente tenemos un conjunto (usando las siglas)

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:

Problema. Dado un conjunto parcialmente ordenado (A, R) encontrar una


relacin de orden total T de modo que R T .

Como se ha visto en el ejemplo la relacin T no es nica. La aplicacin


a la planicacin de tareas consiste en disear una forma de realizar todas
las tareas teniendo en cuenta las prioridades que se conozcan, esto es, tareas
que deben preceder necesariamente a otras.

Lema 6.4.12 Cada conjunto nito parcialmente ordenado (A, R) tiene un


elemento minimal.

302

CAPTULO 6. RELACIONES

Demostracin. Sea un elemento x1 A. Si x1 es minimal el lema queda


demostrado, en caso contrario existe x2 x1 con x2 6= x1 . Si x2 es minimal
queda demostrado el lema, si no existe x3 x2 y x3 6= x2 . Como el conjunto
es nito necesariamente este proceso debe terminar aportando un elemento
minimal.
Este lema permite construir un algoritmo para la construccin del orden
total T R.
Partimos de A y elegimos un elemento minimal a1 , que existe por el lema,
aunque no es necesariamente nico (eleccin de una tarea para realizarla
la primera de entre las tareas ms prioritarias). Ahora el conjunto A
{a1 } es un conjunto parcialmente ordenado con el orden que induce R sobre
l. Repetimos el proceso para elegir un elemento minimal a2 (que por el
lema anterior necesariamente existe) y as sucesivamente hasta agotar los
elementos de A.
El orden total T es

a1 a2 a3 ... an

Ejemplo 6.4.13 Sea el conjunto A = {1, 2, 3, 4, 5} y la relacin de orden


parcial en A,

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

segn el siguiente esquema de tareas.


Tareas: Ensamblar, atornillar, pintar, empaquetar, limpiar, registrar.
Prioridades: Ensamblar antes de atornillar, atornillar antes de pintar,
pintar antes de empaquetar, limpiar antes de pintar.
Disear un posible planicacin de las tareas.

6.5

Ejercicios

Ejercicio 155. Estudiar si las siguientes relaciones son relaciones de orden

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 156. Representar mediante digrafos y sus matrices las relaciones


del ejercicio anterior denidas sobre conjuntos nitos.

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).

Ejercicio 158. Tomar la clausura reexiva y transitiva de la relacin denida


en el conjunto

{1, 2, 3, 4, 5, 6}
como:

R = {(1, 2), (1, 4), (3, 6), (5, 4)}.


Vericar que es una relacin de orden. Representar su diagrama de Hasse. Calcular elementos maximales, minimales y mximos y mnimos si los
hubiera.

304

CAPTULO 6. RELACIONES

Ejercicio 159. Describir el conjunto cociente de 155. ii).


Ejercicio 160. Sea el conjunto A = {, , , }. Tomamos la siguiente
relacin en l:

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.

6.6 Ejercicios resueltos


Ejercicio 142.

i) Como R es una relacin de equivalencia entonces es reexiva, de modo


que para cada a A se tiene que aRa y de este modo a a.
ii) Sea c a entonces cRa y aRb. Por la propiedad transitiva cRb y as
c b. De igual manera se prueba el otro contenido.
iii) Supongamos que a b 6= entonces existe c A de modo que aRc y
bRc lo que garantiza por la propiedad simtrica y por la propiedad transitiva
que aRb y por ii) que a = b lo que da una contradiccin.
iv) Sea c A entonces c c por lo que se tiene la igualdad requerida.

Ejercicio 143.

i) Es una relacin de equivalencia. En efecto, es reexiva porque toda


palabra p empieza por la misma letra que la propia palabra p. Es simtrica
porque si pRq entonces la primera letra de la palabra p es igual que la primera
letra de la palabra q , por tanto qRp, pues sus primeras letras son iguales. De
igual modo si la primera letra de la palabra p es igual que la primera letra
de la palabra q y la primera letra de la palabra q es igual que la primera
letra de la palabra r, entonces la primera letra de la palabra p es igual que
la primera letra de la palabra r, por lo que se tiene la propiedad transitiva.
No es una relacin de orden porque hay palabras distintas como alto y alba
que verican altoRalba y albaRalto, luego no es antisimtrica.
El conjunto cociente es el conjunto de letras pues se puede identicar
cada clase de equivalencia con la inicial de cualquiera de las palabras que la
forman.
ii) Es reexiva pues {(a, a), (b, b), (c, c), (d, d)} R. No es simtrica pues
(a, b) R pero (b, a)
/ R. Es antisimtrica pues nunca se tienen m 6= l tal

6.6. EJERCICIOS RESUELTOS

305

Figura 6.6: Ejercicio 143.ii). Diagrama de Hasse

que (m, l) R y (l, m) R. Es transitiva pues el nico caso relevante es


(a, b), (b, c) R y efectivamente (a, c) R. Por tanto es una relacin de
orden (parcial) pero no de equivalencia. Su diagrama de Hasse est en la
Figura 6.6.
iii) Como todo nmero entero no nulo n tiene el mismo signo que n se
tiene la propiedad reexiva. Si a, b enteros no nulos verican que signo(a) =
signo(b) entonces signo(b) = signo(a) con lo que la relacin es simtrica.
Tambin es transitiva pues se tiene que si signo(a) = signo(b) y signo(b) =
signo(c) entonces signo(a) = signo(c). Por tanto es una relacin de equi/valencia y no es de orden porque no es antisimtrica (hay nmeros distintos
con el mismo signo).
El conjunto cociente tiene dos elementos, digamos signo+ y signo, que
son, respectivamente, la clase de equivalencia de los positivos y la de los
negativos.
iv) Es reexiva pues para cada nmero real a se tiene que aa = 0 Z. Es
simtrica ya que si ab Z entonces ba Z. Es transitiva pues si ab Z
y b c Z entonces la suma es un nmero entero: a b + b c = a c Z.
Por tanto es una relacin de equivalencia que no es de orden.
Se tiene que a = {a + k : k Z}.

306

CAPTULO 6. RELACIONES

Se puede tomar en cada clase de equivalencia un representante entre 0


y uno (podamos decir, su parte decimal) por lo que el conjunto cociente se
puede identicar con el intervalo [0, 1).

Ejercicio 144.

i) N5 = {1, 2, 3, 4, 5}. La relacin es el siguiente conjunto:

R = {(2, 5), (5, 2), (3, 4), (4, 3)}.


La tabla asociada consiste en representar los puntos de R en un plano
coordenado.
El digrafo asociado es:

(N5 , {(2, 5), (5, 2), (3, 4), (4, 3)}).


ii) En este conjunto la relacin es:

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).

6.6. EJERCICIOS RESUELTOS

307

iv) La tabla asociada consiste en representar los puntos de R en un plano


coordenado, tomando por ejemplo a = 1, b = 2, d = 3 y c = 4. El digrafo
asociado es:
(B, R).

Ejercicio 145.

i) Tomamos N5 ordenado de la forma usual.

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

la forma en que est escrito.

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

iv) Tomamos B ordenado de forma alfabtica.

0 0 1 1
0 1 0 0

0 0 1 1
0 0 0 1

308

CAPTULO 6. RELACIONES

Ejercicio 146. Podemos hacerlo automticamente mediante un procedi-

miento de Maple (ver la Prctica 5) que dada una matriz M calcula M 2 .


Con M 2 construye una matriz M 2 que tiene un 1 en la entrada de subndice
ij si la correspondiente entrada en M 2 es no nula y un 0 en caso contrario.
Y toma la diferencia M 2 M para comprobar si tiene entradas positivas (es
decir si hay alguna entrada no nula nueva).
En cualquier caso i) no es transitiva porque 2R5 y 5R2 pero 2 + 2 = 4
no es un mltiplo de 7. La relacin ii) es transitiva porque si a divide a b
entonces b = aK con K un nmero entero. Del mismo modo si b divide a c
entonces c = bK 0 con K 0 un nmero entero. Por tanto c = aKK 0 , de modo
que a divide a c. La relacin iii) es transitiva pues lo es la inclusin. La
relacin iv) es transitiva.

Ejercicio 147. La relacin i) no es reexiva, para convertirla en reexiva


hay que unir a R el conjunto

{(2, 2), (3, 3), (4, 4), (5, 5)}.


Las relaciones ii) y iii) son reexivas.
La relacin iv) no es reexiva, hay que aadirle el elemento (a, a)

Ejercicio 148. La relacin i) es simtrica.


La relacin ii) no es simtrica, hay que unirle el conjunto:

{(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 149. Para calcular la clausura transitiva de la nica relacin que


no es transitiva, 144.i), hay que unir los elementos

(2, 2), (5, 5), (3, 3), (4, 4).

Ejercicio 150.

i) Consideramos una matriz como una lista con dos subndices:

6.6. EJERCICIOS RESUELTOS

309

Si la entrada es: a11 , a12 , ..., a1n , ..., bn1 , ..., bnn .
La correspondiente salida se dene como una matriz de entradas cij donde:

cij = ai1 b1j + ... + ain bnj .


De este modo el algoritmo debe ser:
Entrada: a11 , a12 , ..., a1n , ..., bn1 , ..., bnn .
For i = 1 to n
For j = 1 to n
cij := 0
For l = 1 to n
cij := cij + ail blj
Salida: c11 , ..., cnn .
ii)
Entrada: m11 , m12 , ..., m1n , ..., mn1 , ..., mnn .
For i = 1 to n
For j = 1 to n
if mij 6= 0 then nij := 1 else nij := 0.
Salida: n11 , ..., nnn .

Ejercicio 151. La nica relacin no transitiva es la de 144.i). Las matriz


W0 es exactamente la matriz del grafo dirigido, esto es,

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

La matriz W1 tiene un uno donde W0 tenga un uno y adems se verica que


0
0
1
. Como en nuestro caso la primera la de W0 es
= 1 = w1j
= 1 si wi1
wij
toda nula entonces
W1 = W0 .
La matriz W2 tiene un uno donde W1 tenga un uno y adems se verica que
1
1
1
1
2
,
= 1 = w25
. Esta condicin se verica slo en w52
= 1 = w2j
= 1 si wi2
wij

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

La matriz W3 tiene un uno donde W2 tenga un uno y adems se verica que


2
2
2
2
3
,
= 1 = w34
. Esta condicin se verica slo en w43
= 1 = w3j
= 1 si wi3
wij
3
por tanto se tiene w44 = 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.

6.6. EJERCICIOS RESUELTOS

311

Ejercicio 152. Para construir la clausura reexiva hemos de aadir los


elementos

(b, b), (c, c), (d, d)(e, e).


De este modo:

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

miembros de la diagonal. Como (f, a), (a, c) R entonces (f, c) Ct . Ahora


(f, c), (c, e) Ct implica (f, e) Ct . Como (a, c), (c, e) R entonces (a, e)
Ct . Como (a, c), (c, d) R entonces (a, d) Ct . Como (f, c), (c, d) R
entonces (f, d) Ct . Finalmente (f, b), (b, d) R entonces (f, d) Ct . De
este modo:

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

Y se tiene que A2 no tiene entradas no nulas nuevas, luego es en efecto una


relacin transitiva.

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

Figura 6.7: Ejercicio 153. Diagrama de Hasse

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

6.6. EJERCICIOS RESUELTOS

313

Figura 6.8: Ejercicio 154. Diagrama de Hasse

minimal, por ejemplo el E . Tomamos el conjunto T areas {E} y el orden


que se induce:
{(a, p), (p, e), (a, e), (l, p), (l, e)

(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.

i) La relacin denida en i) no es reexiva puesto que, por ejemplo, 7+7 =


14 no verica ser menor que 9. Por tanto no puede ser relacin de orden ni
de equivalencia. Verica la propiedad simtrica ya que a + b = b + a. No
es transitiva ya que, por ejemplo, 7R1 y 1R7 y sin embargo 7 + 7 > 9. De
hecho la relacin es:

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.

i) El digrafo es (N7 , R) cuya matriz

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

6.6. EJERCICIOS RESUELTOS

315

ii) Sean A0 = {a, b, c, d} y B 0 = {1, 2, 3} entonces el digrafo asociado a la


relacin es: (A, (A0 A0 ) (B B 0 )}). Su matriz (con el orden en el que esta
escrito A) es:

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

Ejercicio 157. La nica relacin que no es reexiva es la i) y su clausura


reexiva es aadir (5, 5), (6, 6) y (7, 7).

La nica relacin que no es simtrica es la iv). Como la matriz de su


digrafo tiene todas las entradas de la forma aij = 1 cuando i j entonces su
clausura simtrica es B B .
Tomando la matriz del digrafo de i) se observa que su cuadrado tiene
todas las entradas no nulas de modo que su clausura transitiva es N7 N7 .
La clausura transitiva de iv) consiste en aadir los elementos

(1, 3), (1, 4), (1, 7), (1, 8), (2, 4), (2, 7), (2, 8), (3, 8).

Ejercicio 158. La relacin es antisimtrica, transitiva y no reexiva. Su


clausura reexiva consiste en unir toda la diagonal.
Mirando el diagrama de Hasse (ver la Figura 6.9) se observa que 1, 3 y 5
son minimales y 2, 4 y 6 maximales. No hay mximo ni mnimo.

316

CAPTULO 6. RELACIONES

Figura 6.9: Ejercicio 158. Diagrama de Hasse

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

La matriz de su clausura reexiva

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

6.6. EJERCICIOS RESUELTOS

Figura 6.10: Ejercicio 160. Diagrama de Hasse

se tiene que la matriz de la clausura transitiva es:

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
Control 1
1999-2000.

1. Demuestra por induccin la siguiente frmula:

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 =

3. Una aplicacin f : A B se dice inyectiva si no hay dos elementos


distintos de A que tengan la misma imagen por f , esto es, si f (a) = f (b) es
que a = b. Construye un algoritmo que permita saber si f es inyectiva en el
caso en que A y B sean conjuntos nitos.
4. Construye un algoritmo cuya entrada sea un nmero entero a escrito en
alguna base b y otra base c y que obtenga como salida el nmero a escrito
en la base c. (Puedes usar, dndolo por conocido, el algoritmo que cambia
de base 10 a otra base.)

321

Matemtica Discreta
Control 1 resuelto
1999-2000.

1. Demuestra por induccin la siguiente frmula:

12 + 22 + 32 + ... + (n 1)2 + n2 =

n(n + 1)(2n + 1)
6

Para n = 1 la frmula es cierta ya que

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Es un algoritmo de complejidad cuadrtica O(n2 ) ya que en el peor de


los casos el bucle i se repite n veces y en cada una de ellas el bucle j se repite
n i veces.
3. Una aplicacin f : A B se dice inyectiva si no hay dos elementos
distintos de A que tengan la misma imagen por f , esto es, si f (a) = f (b) es
que a = b. Construye un algoritmo que permita saber si f es inyectiva en el
caso en que A y B sean conjuntos nitos.
Como A es un conjunto nito tiene n elementos y podemos numerar los
elementos de A interpretando que son los nmeros 1, 2, ..., n. Idem para B ,
que tiene por elementos los nmeros 1, 2, ..., m donde m es el nmero de
elementos de B .
Se trata entonces de construir la lista f (1), f (2), ..., f (n), o sea la lista de
las imgenes por f de los elementos de A.
Con entrada esta lista se aplica el algoritmo de los Elementos repetidos y
si hay elementos repetidos es que no es inyectiva. En caso contrario lo es.
4. Construye un algoritmo cuya entrada sea un nmero entero a escrito en
alguna base b y otra base c y que obtenga como salida el nmero a escrito
en la base c. (Puedes usar, dndolo por conocido, el algoritmo que cambia
de base 10 a otra base cualquiera.)
La idea es componer un algoritmo que transforme el nmero a de la base
b en la base decimal y despues aplicar el algoritmo que transforma un nmero
entero escrito en base 10 en un nmero escrito en base b.
Entrada a = (a0 , a1 , ..., an )b , b, c
p := a0 , i := 0
while (i < n)
i := i + 1
p := p + ai bi
A continuacin a p se le aplica el algoritmo que pasa de base 10 a base b.

323

Matemtica Discreta
Control 2 A
1999-2000.

1. El inverso para el producto de 3 mdulo 7 es:


a) 6
b) 5
c) 3 no tiene inverso mdulo 7.
2. Elige la nica solucin mdulo 385 del sistema de congruencias lineales

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS


c) 182

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
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)
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

b) 3i=0 ni pni (1 p)i


c) La misma que obtener a lo sumo 3 xitos.
9. Sea un conjunto A de cuatro personas que miden respectivamente 1.70,
1.75, 1.76, 1.82. Sea la variable aleatoria X que asigna a cada persona de A
su altura. El valor esperado E(X) es:
a) la media aritmtica de las 4 alturas
b) 1.77
c) 1.74
10. 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
11. El nmero de cifras de 4 dgitos que son mltiplos de 5 es:
a) 2000
b) 1800
c) 2700
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

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
Control 2 A resuelto
1999-2000.

1. El inverso para el producto de 3 mdulo 7 es:


a) 6
b) 5
c) 3 no tiene inverso mdulo 7.
La respuesta correcta es la la b) ya que 3 5 = 15 y al dividir 15 entre 7
el resto es 1.
2. Elige la nica solucin mdulo 385 del sistema de congruencias lineales

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

La respuesta correcta es la b) ya que un conjunto de n elementos presenta


2 subconjuntos.
n

4. El nmero de palabras de 5 letras (en un alfabeto de 28 letras) que


empiezan y terminan por vocal es:
a) 52 283

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

b) 3i=0 ni pni (1 p)i


c) La misma que obtener a lo sumo 3 xitos.
La respuesta correcta es la b) entendiendo que a lo sumo tres fracasos es
la unin de los sucesos: 0 fracasos, 1 fracaso, 2 fracasos y 3 fracasos.
9. Sea un conjunto A de cuatro personas que miden respectivamente 1.70,
1.75, 1.76, 1.82. Sea la variable aleatoria X que asigna a cada persona de A
su altura. El valor esperado E(X) es:
a) la media aritmtica de las 4 alturas
b) 1.77
c) 1.74
La respuesta correcta es la a): basta usar la frmula de la esperanza
matemtica.
10. 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.
11. El nmero de cifras de 4 dgitos que son mltiplos de 5 es:
a) 2000
b) 1800
c) 2700

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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.
La respuesta correcta es la b). Basta efectuar el algoritmo de Euclides.

331

Matemtica Discreta
Control 2 B
1999-2000.

1. El inverso para el producto de 4 mdulo 7 es:


a) 5
b) 2
c) 4 no tiene inverso mdulo 7.
2. Elige la nica solucin mdulo 385 del sistema de congruencias lineales

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS


c) 182

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
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:
a) 6!/4
b) 5!
c) 6!/5
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

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)

b) Es un nmero compuesto por 3 factores primos (distintos de


c) Es un nmero primo.

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.
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
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

334

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
Control 2 B resuelto
1999-2000.

1. El inverso para el producto de 4 mdulo 7 es:


a) 5
b) 2
c) 4 no tiene inverso mdulo 7.
La respuesta correcta es la la b) ya que 4 2 = 8 y al dividir 8 entre 7 el
resto es 1.
2. Elige la nica solucin mdulo 385 del sistema de congruencias lineales

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS


a) 6!/4
b) 5!
c) 6!/5

La respuesta correcta es la b) pues el nmero total de maneras en que 6


comensales se sientan en una mesa redonda es 6! y hay que dividir por 6 pues
dada una disposicin de comensales hay 6 disposiciones (resultado de girar
un lugar a los comensales) en las que las posiciones relativas on las mismas.
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

b) 3i=0 ni pni (1 p)i


c) La misma que obtener a lo sumo 3 xitos.
La respuesta correcta es la b) entendiendo que a lo sumo tres fracasos es
la unin de los sucesos: 0 fracasos, 1 fracaso, 2 fracasos y 3 fracasos.
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
La respuesta correcta es la b): basta usar la frmula de la esperanza
matemtica.
10. El nmero de cifras de 5 dgitos que son mltiplos de 5 es:
a) 18000
b) 19000
c) 20000
La respuesta correcta es la c). Para ser mltiplo de 5 se ha de terminar
en 0 en 5. Por tanto las cuatro primeras cifras son libres y la cuarta debe
ser un 0 un 5. De este modo 104 2.
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

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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:

((p q) (q r)) (p r).


b) Escribir en lenguaje formal y en lenguaje natural la negacin de la
siguiente sentencia: "Hay alumnos que no han aprobado ninguna 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 claes de equivalencia de la
relaci n mdulo 7.)
a) Estudiar si f es inyectiva y si es sobreyectiva.
b) Determinar si existe g : Z7 Z7 tal que la composicin g f denida
como (g f )(a) = g(f (a)) sea la identidad.
4) (1 punto) Resolver el sistema de congruencias:

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
Control 1 A resuelto
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.
Para n = 1 la frmula es cierta (base de induccin) puesto que:

1 + a 1 + a.
Supongamos ahora que la frmula es cierta para n y comprobemos su
veracidad para n + 1. Escribimos:

(1 + a)n+1 = (1 + a)n (1 + a) (1 + an)(1 + a)


donde la ltima desigualdad es consecuencia de la hiptesis de induccin.
Ahora bien:
(1 + an)(1 + a) = 1 + a + an + a2 n.
De modo que falta comprobar la desigualdad:

1 + a + an + a2 n 1 + a(n + 1) = 1 + an + a.
O equivalentemente:

a2 n 0,

lo que es cierto puesto que a > 0.


2) (2 puntos)
a) Determinar si el siguiente razonamiento es correcto:

((p q) (q r)) (p r).


Si asignamos p := F , r := V , q := V entonces (p q) := V , (q r) := V .
De este modo, con estas asignaciones:

((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:

P ((x, y)) := el alumno x ha aprobado la asignatura y.


Por tanto la sentencia: Hay alumnos que no han aprobado ninguna asignatura se escribe formalmente:

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

g(f (a)) = g(5a + 1) = 3(5a + 1) + 4 = a + 3 + 4 = a


donde todas las igualdades son congruencias mdulo 7.
4) (1 punto) Resolver el sistema de congruencias:

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:

((p q) (q r)) (p r).


b) Escribir en lenguaje formal y en lenguaje natural la negacin de la
siguiente sentencia: "Hay alumnos que han aprobado todas las asignaturas".
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.
b) Determinar si existe g : Z7 Z7 tal que la composicin g f denida
como (g f )(a) = g(f (a)) sea la identidad.
4) (1 punto) Resolver el sistema de congruencias:

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
Control 1 B resuelto
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.
Para n = 1 la frmula es cierta (base de induccin) puesto que:

1 + t 1 + t.
Supongamos ahora que la frmula es cierta para n y comprobemos su
veracidad para n + 1. Escribimos:

(1 + t)n+1 = (1 + t)n (1 + t) (1 + tn)(1 + t)


donde la ltima desigualdad es consecuencia de la hiptesis de induccin.
Ahora bien:
(1 + tn)(1 + t) = 1 + t + tn + t2 n.
De modo que falta comprobar la desigualdad:

1 + t + tn + t2 n 1 + t(n + 1) = 1 + tn + t.
O equivalentemente:

t2 n 0,

lo que es cierto puesto que t > 0.


2) (2 puntos)
a) Determinar si el siguiente razonamiento es correcto:

((p q) (q r)) (p r).


Si asignamos p := V , r := V , q := V entonces (p q) := V , (q r) := V .
De este modo:
((p q) (q r)) := V.

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:

P ((x, y)) := el alumno x ha aprobado la asignatura y.


Por tanto la sentencia: Hay alumnos que no han aprobado ninguna asignatura se escribe formalmente:

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:

g(f (a)) = g(3a + 1) = 5(3a + 1) + 2 = a + 5 + 2 = a

346

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

donde todas las igualdades son congruencias mdulo 7.


4) (1 punto) Resolver el sistema de congruencias:

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.

Sea el grafo simple G = (V, E) cuya matriz de adyacencias es A.

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

y de modo que su potencia cbica es:

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

1) Determinar el nmero de vrtices, el nmero de aristas y el grado de cada


vrtice segn la ordenacin de los vrtices que da la matriz A.
2) Demostrar usando la matriz A y las potencias de A que se aportan que el
grafo G es conexo.
3) Vericar si es o no un grafo euleriano.
4) Determinar cul es la probabilidad de que al elegir un camino de longitud
3 uniendo el primer vrtice y el tercero dicho camino sea simple.
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.
6) Determinar la probabilidad de que al repetir el experimento anterior 5
veces se obtenga al menos un xito.
7) Sea un nuevo experimento aleatorio que consiste en elegir un vrtice de
G. Sea la variable aleatoria g consistente en asignar a cada vrtice su grado.
Describir el espacio muestral de dicho experimento y la funcin g . Calcular
la esperanza matemtica de dicha variable aleatoria.
8) Determinar el nmero de aristas que hay que aadir a G para que se
convierta en el grafo completo.

349

Matemtica Discreta
Control 2 resuelto
2000-2001.

Sea el grafo simple G = (V, E) cuya matriz de adyacencias es A.

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

y de modo que su potencia cbica es:

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

1) Determinar el nmero de vrtices, el nmero de aristas y el grado de cada


vrtice segn la ordenacin de los vrtices que da la matriz A.
Como la matriz es de tamao 1515 entonces hay 15 vrtices. La sucesin
de los grados, usando la ordenacin de los vrtices que seala la matriz es:

(6, 9, 8, 12, 8, 7, 5, 12, 6, 7, 9, 6, 7, 12, 8).


Por tanto el nmero de aristas es la mitad de la suma de estos grados,
esto es, 122/2 = 61.
2) Vericar usando la matriz A y las potencias de A que se aportan si el grafo
G es conexo.
En efecto es conexo pues A3 tiene todas sus entradas no nulas lo que
signica que hay un camino de longitud tres uniendo cada par de vrtices.
3) Vericar si es o no un grafo euleriano.
No es euleriano pues hay vrtices de grado impar.
4) Determinar cul es la probabilidad de que al elegir un camino de longitud
3 uniendo el primer vrtice y el tercero dicho camino sea simple.
Como la entrada (1, 3) de A3 es 29, entonces hay 29 caminos de longitud
3 uniendo el vrtice 1 con el vrtice 3. Los caminos no simples deben ser

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.

6) Determinar la probabilidad de que al repetir el experimento anterior 5


veces se obtenga al menos un xito.
Este suceso es complementario al suceso todo fracasos, por tanto su probabilidad es:
1 (12/15)5 .
7) Sea un nuevo experimento aleatorio que consiste en elegir un vrtice de
G. Sea la variable aleatoria g consistente en asignar a cada vrtice su grado.
Describir el espacio muestral de dicho experimento y la funcin g . Calcular
la esperanza matemtica de dicha variable aleatoria.
El espacio muestral es el conjunto de vrtices, que se puede pensar
como N15 . La funcin g es el grado de modo que

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

8. En un cierto departamento conviven 85 personas. Responder a las


siguientes preguntas:
a) Es posible que cada miembro del departamento se lleve mal con exactamente 5 de los miembros restantes?
(Indicacin: utilizar un grafo en el que los vrtices sean las personas y
hay una arista entre cada dos personas que se llevan mal).
b) Hay, al menos, dos personas con exactamente el mismo nmero de
amigos en el departamento? (Indicacin: Se aconseja razonar por reduccin
al absurdo).

354

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS


El valor de la salida es:

z = 1 + ... + n = n(n 1)/2.


Como hay slo un bucle que realiza en cada repeticin una cantidad
constante de operaciones, el algoritmo es de complejidad lineal.
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?
Hay que resolver el siguiente sistema de congruencias:

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Representando el grafo se observa que es conexo.


No es euleriano pues tiene vrtices de grado impar.
No es bipartido. En efecto, tomamos el vrtice 1. Como el vrtice 2
y el 4 son adyacentes con l, no deben estar en el mismo subconjunto de
vrtices que el 1, pero son adyacentes entre s lo que evita la posibilidad de
ser bipartido.
No puede ser Hamiltoniano porque contiene un vrtice de grado 1.
No es un rbol porque contiene ciclos, por ejemplo, el 1431.
No es una rueda porque en una rueda todos los vrtices, salvo uno, tienen
grado dos.
No es un ciclo porque en un ciclo todos los vrtices tienen grado 2.
No es un cubo pues tiene 7 vrtices.
8. En un cierto departamento conviven 85 personas. Responder a las
siguientes preguntas:
a) Es posible que cada miembro del departamento se lleve mal con exactamente 5 de los miembros restantes?
Construimos un grafo simple cuyo conjunto de vrtices es el conjunto
de personas y dos vrtices son adyacentes si las correspondientes personas
se llevan mal. En las hiptesis de a) el grado de cada vrtice es 5, lo que
produce un grafo simple con una cantidad impar de vrtices de grado par, lo
que es una contradiccin.
(Indicacin: utilizar un grafo en el que los vrtices sean las personas y
hay una arista entre cada dos personas que se llevan mal).
b) Hay, al menos, dos personas con exactamente el mismo nmero de
amigos en el departamento? (Indicacin: Se aconseja razonar por reduccin
al absurdo).
Construimos una funcin nmero de amigos que asigna a cada persona el
nmero de amigos que tiene. Entonces aparece una aplicacin de N85 en N84
que no puede ser inyectiva lo que garantiza que b) es cierta.
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).
El conjunto de vrtices es N4 y lo que cambia es el conjunto de aristas
que puede ser:
E := {(1, 1), (2, 2), (3, 3), (4, 4)}

359

E
E
E
E

:= {(1, 2), (1, 2), (3, 3), (4, 4)}


:= {(1, 2), (1, 2), (3, 4), (3, 4)}
:= {(1, 2), (2, 3), (3, 4), (4, 1)}
:= {(1, 2), (2, 3), (3, 1), (4, 4)}

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.
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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

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.
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.
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

i) (0.5 ptos.) Determinar el nmero de componentes conexas del grafo.

362

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

ii) (0.5 ptos.) Determinar si G es un rbol. Determinar si al aadir la


arista (1, 5) el nuevo grafo (V, A {(1, 5)}) es un rbol.
iii) (0.5 ptos.) Determinar los grados de todos los vrtices de G.
iv) (0.5 ptos.) Determinar si el grafo (V, A {(1, 5)}) es Euleriano.
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.
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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

2. (1 pto.) Dar todas las soluciones del siguiente sistema de congruencias:

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

i) (0.5 ptos.) Determinar el nmero de componentes conexas del grafo.


Tiene dos componentes conexas, la que contiene a los vrtices 1, 2, 3, 4 y
la que contiene a los vrtices 5, 6, 7, 8.
ii) (0.5 ptos.) Determinar si G es un rbol. Determinar si al aadir la
arista (1, 5) el nuevo grafo (V, A {(1, 5)}) es un rbol.

366

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

G no es un rbol pues no es conexo.


Al aadir dicha arista se obtiene la conexin pero no es un rbol porque
contiene el ciclo 2342.
iii) (0.5 ptos.) Determinar los grados de todos los vrtices de G.
La sucesin de los grados, siguiendo la ordenacin de vrtices que marca
la matriz es:

(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:

A1 := {1, 4, 7, 13, 16, 34, 52, 112}


A2 := {2, 8, 11}
A3 := {3, 54, 21, 12}.
Entonces el conjunto de aristas del grafo es:

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

Ejercicio 1. (5 puntos) Demostrar por induccin que 42n 1 es divisible


por 15 para cada nmero natural n.

Ejercicio 2. (5 puntos) Disear un algoritmo que, dada una lista de


enteros, encuentre el primer trmino de la lista que es igual que alguno de
los anteriores. Estudiar su complejidad.

368

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
CONTROL 1 resuelto
2001-2002

Ejercicio 1. (5 puntos) Demostrar por induccin que 42n 1 es divisible


por 15 para cada nmero natural n.

Base de induccin: Como 42 1 = 15 se tiene que es divisible por 15.


Paso de induccin: Supongamos, por hiptesis de induccin, que existe t Z
tal que
42n 1 = 15t.
Debemos demostrar que 42(n+1) 1 es divisible por 15. Escribimos:

42(n+1) 1 = 42n+2 1 = 42 42n 1.


Usamos la hiptesis de induccin:

42(n+1) 1 = 42 (15t + 1) 1 = 42 15t + 16 1 = 42 15t + 15.


Con lo cual es mltiplo de 15.

Ejercicio 2. (5 puntos) Disear un algoritmo que, dada una lista de


enteros, encuentre el primer trmino de la lista que es igual que alguno de
los anteriores. Estudiar su complejidad.
Entrada: a1 , ..., an
c := 0
For i = 2 to n
For j = 1 to i 1
If aj = ai then
c := j , j := n + 1, i := n + 1
If c := 0 then c :=No hay elementos repetidos.
Salida: c.

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
CONTROL 1
2001-2002

Ejercicio 1. (5 puntos) Demostrar por induccin el siguiente hecho:


1 + 2 + 22 + ... + 2n = 2n+1 1

Ejercicio 2. (5 puntos) Construir un algoritmo que tenga como entrada

una lista de nmeros enteros y obtenga como salida el primer elemento de la


lista que es estrictamente menor que el inmediatamente precedente. Estudiar
su complejidad.

371

Matemtica Discreta
CONTROL 1 resuelto
2001-2002

Ejercicio 1. (5 puntos) Demostrar por induccin el siguiente hecho:


1 + 2 + 22 + ... + 2n = 2n+1 1
Base de induccin: Para n = 1 la frmula dice que 1 + 2 = 22 1 lo que
es cierto.
Paso de induccin: Como

1 + 2 + ... + 2n + 2n+1 = (1 + 2 + .. + 2n ) + 2n+1 ,


aplicando la hiptesis de induccin se tiene la frmula buscada:

1 + 2 + ... + 2n + 2n+1 = 2n+1 1 + 2n+1 = 2n+2 1.

Ejercicio 2. (5 puntos) Construir un algoritmo que tenga como entrada


una lista de nmeros enteros y obtenga como salida el primer elemento de la
lista que es estrictamente menor que el inmediatamente precedente. Estudiar
su complejidad.
Entrada: a1 , ..., an
S := 0
For i = 2 to n while S := 0
if ai < ai 1 S := 1
if S = 0 then r :=no hay elementos vericando la condicin else r := ai1 .
Salida: r.
Es un algoritmo de complejidad lineal pues slo hay un bucle que realiza
una cantidad constante de operaciones.

372

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
CONTROL 2
2001-2002

Sea la siguiente matriz una matriz de adyacencias de un grafo simple


G = (V, E).

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

1. Determinar el nmero de vrtices, el grado de cada vrtice y el nmero


de aristas de G.
2. Determinar las distintas componentes conexas de G, escribiendo sus
vrtices y aristas.
3. Determinar cuntas aristas como mnimo se han de aadir a G para
convertirlo en un grafo conexo.
4. Determinar si cada una de las componentes conexas de G es o no
Euleriana.
5. Idem que 4 con Hamiltoniana.

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
CONTROL 2 resuelto
2001-2002

Sea la siguiente matriz una matriz de ayacencias de un grafo simple G =


(V, E).

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

1. Determinar el nmero de vrtices, el grado de cada vrtice y el nmero


de aristas de G.
El nmero de vrtices es 15 pues es el nmero de las o columnas de
la matriz. Sumando los 1 de cada la tenemos el grado de cada vrtice,
ordenados del 1 al 15 los grados son:

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

11, 9, 12, 13, 14, 11

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.
Es conexo porque se han conectado las distintas componentes conexas.
No es Euleriano porque, por ejemplo, el vrtice 1 tiene grado 3.
7. Computar un rbol generador de H .

376

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

i) Determinar el nmero de vrtices y el nmero de aristas de G.


ii) Determinar si G es conexo. Determinar si G es Euleriano.

378

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

iii) Determinar los vrtices de grado mayor o igual que 4.


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.
2. (2 puntos para los alumnos de evaluacin continua 1.5 para el resto)
Demostrar por induccin que para cada n nmero natural se verica:
i) 7n es impar,
ii) 11n 1 es un mltiplo de 5.
3. (1 punto) Sea G = (V, E) un grafo simple conexo tal que |V | = 30.
Determinar el nmero mnimo de aristas que puede tener. Determinar el
nmero mximo de aristas que puede tener.
4. (2 puntos para los alumnos de evaluacin continua 1.5 para el resto)
Construir un algoritmo que tenga como entrada una lista de nmeros enteros
a1 , ..., an , un entero b y un nmero natural p 6= 1, es decir,
Entrada: a1 ,..., an ; b; p (ai , b Z, p N {1}).
y como salida la lista ordenada (en el orden en que aparecen en la lista
de la entrada) de los elementos de la lista de la entrada que verican ser
congruentes con b mdulo p. Estudiar su complejidad.
5. (1 punto) Sean A y B las siguientes proposiciones:

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 .)

Ejercicio adicional para los alumnos no acogidos a evaluacin


continua (2 puntos)

Se ha de elegir un comit de k personas de un conjunto de 7 mujeres y 4


hombres. De cuntas maneras se puede elegir dicho comit si:
(a) ha de estar formado por 5 personas, de los cuales 3 son hombres y 2
mujeres;
(b) el comit puede estar formado por cualquier nmero de personas siempre y cuando haya el mismo nmero de hombres que de mujeres;
(c) el comit tiene 4 personas de las cuales al menos dos de las cuales son
mujeres;
(d) el comit tiene 4 personas, dos de cada sexo, pero el Sr. Ramrez no
puede estar en el comit con la seora Gmez.

380

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
EXAMEN FINAL A resuelto
2001-2002. Febrero

1. (2 puntos) 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

i) Determinar el nmero de vrtices y el nmero de aristas de G.


Como la matriz tiene 15 las y 15 columnas, entonces G tiene 15 vrtices.
Podemos calcular el grado de cada vrtice viendo el nmero de unos que hay
en cada la (o en cada columna), de esta manera la sucesin de los grados
de los vrtices es: 6, 2, 3, 3, 2, 4, 2, 2, 3, 2, 3, 3, 1, 2, 2. Como la suma de
los grados de los vrtices es 40, el grafo tiene 20 aristas.
ii) Determinar si G es conexo. Determinar si G es Euleriano.
Como el vrtice 1 es adyacente con los vrtices 2, 3, 4, 10 y 14, todos
ellos estn en la misma componente. El 2 es adyacente con el 5, el 5 lo es
con el 6 y ste con el 7 con el 8 y con el 9. De este modo ya tenemos que los
siguientes vrtices estn en la misma componente conexa: 1, 2, 3, 4, 5, 6, 7,
8, 9, 10 y 14. El grafo es entonces conexo porque el 15 es adyacente con el

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:

7n+1 = 7 7n = 7 (2k + 1) = 2 (7k + 3) + 1.


ii) Como 111 1 = 10 = 2 5 se tiene que la armacin ii) es cierta para
n = 1.
Si 11n 1 es un mltiplo de 5 entonces existe un entero k de modo que
n
11 = 5k + 1. De este modo se concluye:

11n+1 1 = 11 11n 1 = 11(5k + 1) 1 =


11 5k + 11 1 = 55k + 10 = 5(11k + 2).

3. (1 punto) Sea G = (V, E) un grafo simple conexo tal que |V | = 30.


Determinar el nmero mnimo de aristas que puede tener. Determinar el
nmero mximo de aristas que puede tener.

382

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

El nmero mnimo de aristas lo tiene cuando es un rbol, entonces tiene


29 aristas. El mximo nmero de aristas lo tiene cuando es el grafo completo
K30 con 30 vrtices, cada uno con grado 29 por tanto con 15 29 aristas.
4. (2 puntos) Construir un algoritmo que tenga como entrada una lista
de nmeros enteros a1 , ..., an , un entero b y un nmero natural p 6= 1, es
decir,
Entrada: a1 ,..., an ; b; p (ai , b Z, p N {1}).
y como salida la lista ordenada (en el orden en que aparecen en la lista
de la entrada) de los elementos de la lista de la entrada que verican ser
congruentes con b mdulo p. Estudiar su complejidad.
Entrada: a1 ,..., an ; b; p.
j := 0
For i = 1 to n
If ai b mod p = 0 then j := j + 1 and cj := ai
If j = 0 then r :=No hay elementos con la propiedad requerida else
r := c1 , ..., cj
Salida: r
Entendemos como tamao de la entrada el nmero n longitud de la lista
de la entrada. Es un algoritmo de complejidad lineal ya que hay un bucle
que se repite n veces y que realiza una cantidad constante de operaciones, en
el peor de los casos 6.
5. (1 punto) Sean A y B las siguientes proposiciones:

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

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

Entonces la relacin que queremos estudiar se puede representar mediante


la siguiente matriz:

1
1
1
1

1
1
1
1

1
1
1
0

1
1
0
1

Es entonces reexiva pues la diagonal no tiene ninguna entrada nula. Es


simtrica pues la matriz es simtrica. No es antisimtrica pues, por ejemplo,
1R2 y 2R1. Tampoco es trasitiva pues, por ejemplo, 3R2 y 2R4 pero 3 no se
relaciona con 4.

384

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Ejercicio adicional para los alumnos no acogidos a evaluacin


continua (2 puntos)

Se ha de elegir un comit de k personas de un conjunto de 7 mujeres y 4


hombres. De cuntas maneras se puede elegir dicho comit si:
(a) ha de estar formado por 5 personas, de los cuales 3 son hombres y 2
mujeres;
Se trata de elegir un tro no ordenado de hombres entre los 4 posibles y
una pareja no ordenada de mujeres entre las 7 posibles. Por tanto ser

5 7
3 2
(b) el comit puede estar formado por cualquier nmero de personas siempre y cuando haya el mismo nmero de hombres que de mujeres;
De este modo pueden ser desde 1 hombre y una mujer (en total 2) hasta
4 hombres y 4 mujeres (en total 8). Esto es:

7 4
7 4
7 4
74+
+
+
2 2
3 3
4 4
(c) el comit tiene 4 personas de las cuales al menos dos de las cuales son
mujeres;
Entonces son 2 mujeres y 2 hombres, o tres mujeres y 1 hombre o 4
mujeres:

7
7 4
7 4
+
+
4
3 1
2 2
(d) el comit tiene 4 personas, dos de cada sexo, pero el Sr. Ramrez no
puede estar en el comit con la seora Gmez.
El nmero total de comits es

7 4
2 2
El nmero de comits en los que estn simultneamente ambos personajes
es simplemente 6 3 y el resultado nal es la diferencia.

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

i) Determinar el nmero de vrtices y el nmero de aristas de G.


ii) Determinar si G es conexo. Determinar si G es Euleriano.
iii) Determinar los vrtices de grado mayor o igual que 4.
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.
3. (1 punto) Sea G = (V, E) un grafo simple conexo tal que |V | = 40.
Determinar el nmero mnimo de aristas que puede tener. Determinar el
nmero mximo de aristas que puede tener.
4. (2 puntos para los alumnos de evaluacin continua y 1.5 para el resto)
Construir un algoritmo que tenga como entrada una lista de nmeros enteros
a1 , ..., an , un entero b y un nmero natural p 6= 1, es decir,
Entrada: a1 ,..., an ; b; p (ai , b Z, p N {1}).
y como salida la lista ordenada (en el orden en que aparecen en la lista de
la entrada) de los elementos de la lista de la entrada que verican no ser
congruentes con b mdulo p. Estudiar su complejidad.
5. (2 puntos para los alumnos de evaluacin continua y 1.5 para el resto)
Sea un grafo simple G0 = (V 0 , E 0 ) representado por la matriz M que es una

387
de sus matrices de ayacencia.

0
1
M=
0
1

1
0
0
1

0
0
0
1

1
1
1
0

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 .)
6. (1 punto) Sean A y B las siguientes proposiciones:

A := (t q) (u s)
B := (t u) (q s)
Demostrar que A implica lgicamente B .

Ejercicio adicional para los alumnos no acogidos a evaluacin


continua (2 puntos)

Se ha de elegir un comit de k personas de un conjunto de 7 mujeres y 4


hombres. De cuntas maneras se puede elegir dicho comit si:
(a) ha de estar formado por 6 personas, de los cuales 4 son hombres y 2
mujeres;
(b) el comit puede estar formado por cualquier nmero de personas siempre y cuando haya el mismo nmero de hombres que de mujeres;
(c) el comit tiene 6 personas de las cuales al menos dos de las cuales son
mujeres;
(d) el comit tiene 4 personas, dos de cada sexo, pero el Sr. Ramrez no
puede estar en el comit con la seora Gmez.

388

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
EXAMEN FINAL RESUELTO B
2001-2002. Febrero

1. (2 puntos) Demostrar por induccin que para cada n nmero natural


se verica:
i) 5n es impar,
ii) 21n 1 es un mltiplo de 5.
i) Como 51 = 5 que es un nmero impar, la armacin i) es cierta para
n = 1.
Si 5n es impar entonces existe un nmero entero k de modo que 5n =
2k + 1. De este modo se concluye:

5n+1 = 5 5n = 5 (2k + 1) = 2 (5k + 2) + 1.


ii) Como 211 1 = 20 = 4 5 se tiene que la armacin ii) es cierta para
n = 1.
Si 21n 1 es un mltiplo de 5 entonces existe un entero k de modo que
n
21 = 5k + 1. De este modo se concluye:

21n+1 1 = 21 21n 1 = 21(5k + 1) 1 =


21 5k + 21 1 = 21 5k + 20 = 5(21k + 4).
2. (2 puntos) Sea la siguiente matriz una matriz de ayacencias de un grafo
simple G = (V, E).

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

i) Determinar el nmero de vrtices y el nmero de aristas de G.


Como la matriz tiene 15 las y 15 columnas, entonces G tiene 15 vrtices.
Podemos calcular el grado de cada vrtice viendo el nmero de unos que hay
en cada la (o en cada columna), de esta manera la sucesin de los grados
de los vrtices es: 6, 2, 3, 3, 2, 4, 2, 2, 3, 2, 3, 3, 1, 2, 2. Como la suma de
los grados de los vrtices es 40, el grafo tiene 20 aristas.
ii) Determinar si G es conexo. Determinar si G es Euleriano.
Como el vrtice 1 es adyacente con los vrtices 2, 3, 4, 10 y 14, todos
ellos estn en la misma componente. El 2 es adyacente con el 5, el 5 lo es
con el 6 y ste con el 7 con el 8 y con el 9. De este modo ya tenemos que los
siguientes vrtices estn en la misma componente conexa: 1, 2, 3, 4, 5, 6, 7,
8, 9, 10 y 14. El grafo es entonces conexo porque el 15 es adyacente con el
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.

390

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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}.
3. (1 punto) Sea G = (V, E) un grafo simple conexo tal que |V | = 40.
Determinar el nmero mnimo de aristas que puede tener. Determinar el
nmero mximo de aristas que puede tener.
El nmero mnimo de aristas lo tiene cuando es un rbol, entonces tiene
39 aristas. El mximo nmero de aristas lo tiene cuando es el grafo completo
K40 con 40 vrtices, cada uno con grado 39 por tanto con 20 29 aristas.
4. (2 puntos) Construir un algoritmo que tenga como entrada una lista
de nmeros enteros a1 , ..., an , un entero b y un nmero natural p 6= 1, es
decir,
Entrada: a1 ,..., an ; b; p (ai , b Z, p N {1}).
y como salida la lista ordenada (en el orden en que aparecen en la lista de
la entrada) de los elementos de la lista de la entrada que verican no ser
congruentes con b mdulo p. Estudiar su complejidad.
Entrada: a1 ,..., an ; b; p.
j := 0
For i = 1 to n
If ai b mod p 6= 0 then j := j + 1 and cj := ai
If j = 0 then r :=No hay elementos con la propiedad requerida else
r := c1 , ..., cj
Salida: r
Entendemos como tamao de la entrada el nmero n longitud de la lista
de la entrada. Es un algoritmo de complejidad lineal ya que hay un bucle
que se repite n veces y que realiza una cantidad constante de operaciones, en
el peor de los casos 6.
5. (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

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

Entonces la relacin que queremos estudiar se puede representar mediante


la siguiente matriz:

1
1
1
1

1
1
1
1

1
1
1
0

1
1
0
1

Es entonces reexiva pues la diagonal no tiene ninguna entrada nula. Es


simtrica pues la matriz es simtrica. No es antisimtrica pues, por ejemplo,
1R2 y 2R1. Tampoco es trasitiva pues, por ejemplo, 3R2 y 2R4 pero 3 no se
relaciona con 4.
6. (1 punto) Sean A y B las siguientes proposiciones:

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

es verdadera (t y u son ambas verdaderas) pero alguna de las tesis es falsa


(o q o s son falsas) por lo que la conjuncin A es falsa en contradiccin con
nuestra suposicin A verdadera.

Ejercicio adicional para los alumnos no acogidos a evaluacin


continua (2 puntos)

Se ha de elegir un comit de k personas de un conjunto de 7 mujeres y 4


hombres. De cuntas maneras se puede elegir dicho comit si:
(a) ha de estar formado por 6 personas, de los cuales 4 son hombres y 2
mujeres;
Se trata de elegir una pareja ja no ordenada de mujeres entre las 7 posibles.
Por tanto ser

7
2
(b) el comit puede estar formado por cualquier nmero de personas siempre y cuando haya el mismo nmero de hombres que de mujeres;
De este modo pueden ser desde 1 hombre y una mujer (en total 2) hasta
4 hombres y 4 mujeres (en total 8). Esto es:

7 4
7 4
7 4
+
+
74+
4 4
3 3
2 2
(c) el comit tiene 6 personas de las cuales al menos dos de las cuales son
mujeres;
Entonces son 2 mujeres y 4 hombres, o tres mujeres y 3 hombres o 4
mujeres y 2 hombres o 5 mujeres y 1 hombre o 6 mujeres:

7 4 7
7 4
7 4 7 4
+
+
5 1 6
3 3 4 2
2 4
(d) el comit tiene 4 personas, dos de cada sexo, pero el Sr. Ramrez no
puede estar en el comit con la seora Gmez.
El nmero total de comits es

7 4
2 2
El nmero de comits en los que estn simultneamente ambos personajes
es simplemente 6 3 y el resultado nal es la diferencia.

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

2. (2 puntos) Sea la siguiente matriz una matriz de ayacencias de un grafo


simple G = (V, E).

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

i) Determinar el nmero de vrtices y el nmero de aristas de G.


ii) Determinar si G es conexo. Determinar si G es Euleriano.
iii) Determinar los grados de cada uno de los vrtices.
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.
3. (1 punto) Determinar todos los posibles grafos simples no isomomorfos
con cuatro vrtices.
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.
5. (1 punto) i) Sean las siguientes proposiciones:
A1 := (p q)
A2 := (r q)
A3 := r
B := p
Determinar si de A1 , A2 y A3 se deduce lgicamente B .
ii) Determinar razonadamente si las negaciones de los siguientes enunciados:
1) Todos los estudiantes viven en casa de sus padres.
2) Todos los ingenieros informticos son varones.
3) Si su edad es superior a 25 aos debe matricularse en el mes de
agosto.
son respectivamente:
1) Ningn estudiante vive en casa de sus padres.
2) Hay alguna mujer que es ingeniera informtica.
3) Si su edad no es superior a 25 aos no 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
0

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Figura 7.1: Tablero de Tres en raya

Figura 7.2: Tablero de Cuatro en raya

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

La frmula es cierta para n = 1 (base de induccin):

1i=1

1
= 1/2 = 1/(1 + 1).
i(i + 1)

Si la frmula es cierta para n veamos que tambin lo es para n + 1 (paso


de induccin). Escribimos la suma como:

n+1
i=1

1
1
1
= ni=1
+
.
i(i + 1)
i(i + 1) (n + 1)(n + 2)

Usamos la hiptesis de induccin:

n+1
i=1

1
n
1
=
+
.
i(i + 1)
n + 1 (n + 1)(n + 2)

Y es una comprobacin vericar entonces la frmula.


2. (2 puntos) Sea la siguiente matriz una matriz de ayacencias de un grafo
simple G = (V, E).

398

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

i) Determinar el nmero de vrtices y el nmero de aristas de G.


La sucesin de los grados es (con lo que respondemos iii)):

(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:

(13, 15), (11, 12), (3, 4)


(3, 10), (1, 15), (6, 7).

3. (1 punto) Determinar todos los posibles grafos simples no isomomorfos


con cuatro vrtices.
Aparecen 11 grafos distintos. El conjunto de vrtices es siempre V con
cuatro elementos, digamos

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS


if j = n then v = 1 else i := i + 1
If v = 0 then s :=no else s :=s
Salida: s.
Ejemplo: Entrada: 9
i = 2 como 9 mod 2 6= 0 entonces
i = 3 como 9 mod 3 = 0 entonces
j=3
como j < 9 entonces j = 3 3 = 9
como j = 9 se sale del bucle (j ) y v = 1
como v = 1 entonces se sale del bucle i
como v = 1 entonces la salida es s.

5. (1 punto) i) Sean las siguientes proposiciones:


A1 := (p q)
A2 := (r q)
A3 := r
B := p
Determinar si de A1 , A2 y A3 se deduce lgicamente B .
En efecto: A1 es equivalente lgicamente (sentencia contrarrecproca) a
(q p). De A3 tenemos que r es V . Usando A2 tenemos que entonces q
es V . Usando la sentencia contrarrecproca de A1 tenemos que p es V . Por
tanto si las hiptesis son verdaderas, tambin lo es la tesis.
ii) Determinar razonadamente si las negaciones de los siguientes enunciados:
1) Todos los estudiantes viven en casa de sus padres.
2) Todos los ingenieros informticos son varones.
3) Si su edad es superior a 25 aos debe matricularse en el mes de
agosto.
son respectivamente:
1) Ningn estudiante vive en casa de sus padres.
2) Hay alguna mujer que es ingeniera informtica.
3) Si su edad no es superior a 25 aos no debe matricularse en
agosto.
1) No. La negacin de 1) es existe un estudiante que vive en casa de sus
padres.
2) S. De la equivalencia entre (x P (x)) y x P (x).

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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

Lo que muestra que los cuatro primeros ordenadores estn totalmente


conectados entre s y el quinto ordenador no est conectado con nign otro.
iii) Determinar si es una relacin de equivalencia. En caso de que lo sea
escribir el conjunto cociente V 0 /R.
En efecto es una relacin de equivalencia y el conjunto cociente resulta
ser el de las componentes conexas del grafo, que en este caso son dos: la que
contiene a los vrtices 1, 2, 3 y 4 por un lado y la que contiene al quinto
vrtice por otro, esto es:

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

Figura 7.3: Tablero de Tres en raya

Figura 7.4: Tablero de Cuatro en raya

404

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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 1. (5 puntos) Sean p y q formas proposicionales. Por las

Leyes de De Morgan (pq) es lgicamente equivalente a pq . Demostrar


por induccin que para cada nmero natural n 2 se tiene que (p1 ...
pn ) es lgicamente equivalente a p1 ... pn (siendo p1 , ..., pn variables
proposicionales). Nota: las Leyes de De Morgan no hay que demostrarlas.

Ejercicio 2. (6 puntos)

i) (2 punto) 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) (4 puntos) 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.

Ejercicio 3. (4 puntos). Sea Z11 el conjunto cociente de los nmeros

enteros por la relacin de congruencia mdulo 11.


i) (1 punto) Determinar cuntos elementos tiene Z11 y cules son. Determinar cules de ellos tienen inverso para el producto.
ii) (1 punto) Calcular las siguientes operaciones mdulo 5: 234 + 2798,
128
34 y 2765 7895943021.
iii) (2 puntos) Describir todas las soluciones de la congruencia lineal:

5x + 3 7 mod 11.

406

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
Control A resuelto
2002-2003.

Ejercicio 1. Sean p y q formas proposicionales. Por las Leyes de De Mor-

gan (p q) es lgicamente equivalente a p q . Demostrar por induccin


que para cada nmero natural n 2 se tiene que (p1 ...pn ) es lgicamente equivalente a p1 ... pn (siendo p1 , ..., pn variables proposicionales).
Nota: las Leyes de De Morgan no hay que demostrarlas.

Base de induccin. Para n = 2 la armacin es cierta por las Leyes de

De Morgan.

Paso de induccin. Como p1 ... pn pn+1 es lgicamente equivalente

a (p1 ... pn ) pn+1 entonces se tiene:

(p1 ... pn pn+1 )


es lgicamente equivalente a:

((p1 ... pn ) pn+1 ).


Aplicando las leyes de De Morgan se tiene la equivalencia lgica de la expresin anterior con:
(p1 ... pn ) pn+1 .
Y esta expresin es lgicamente equivalente, por hiptesis de induccin a:

(p1 ... pn ) pn+1 .


Finalmente, la expresin anterior es equivalente a:

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.

Ejercicio 3. Sea Z11 el conjunto cociente de los nmeros enteros por la

relacin de congruencia mdulo 11.


i) Determinar cuntos elementos tiene Z11 y cules son. Determinar cules
de ellos tienen inverso para el producto.
ii) Calcular las siguientes operaciones mdulo 5: 234 + 2798, 34128 y
2765 7895943021.
iii) Describir todas las soluciones de la congruencia lineal:

5x + 3 7 mod 11.
i) El conjunto cociente Z11 tiene 11 elementos, que son:

Z11 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.


Como 11 es primo, todos los elementos de Z11 tiene inverso para el producto.

408

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS


ii)
234 + 2798 4 + 3 2 mod 5,
34128 (1)128 1 mod 5,
2765 7895943021 0 mod 5.
iii) Pasamos el 3 restando y obtenemos:

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.

1) (5 puntos) Demostrar que para todo nmero natural n N,


2n
X

(2k 1) = 4n2 .

k=1

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.
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.
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.

BONUS: (2 puntos) Determinar cuntos nmeros de 4 cifras distintas

no tienen ninguna de las dos primeras cifras igual a cero.

410

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Matemtica Discreta
Control B resuelto
2002-2003.

1) (5 puntos) Demostrar que para todo nmero natural n N,


2n
X

(2k 1) = 4n2 .

k=1

Utilizemos una demostraccin por induccin.


Base de induccin: si n = 1, entonces
2n
X

(2k 1) =

2
X

(2k 1) = 1 + 3 = 4 = 4n2 .

k=1

k=0

Paso de induccin: sea

2n
X

(2k 1) = 4n2 . Se trata de demostrar que

k=1
2(n+1)

(2k 1) = 4(n + 1)2 .

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,

mod 5, 15 q2 1 mod 11, 55 q3 1 mod 3, es

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

= 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 )

S S 0 = {(2, 4), (4, 2)}. Se


2
.
5

BONUS: (2 puntos) Determinar cuntos nmeros de 4 cifras distintas


no tienen ninguna de las dos primeras cifras igual a cero.
Hay 9 8 8 7 = 4032 nmeros con estas caractersticas.

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)

i) (0.5 puntos) Determinar si el siguiente razonamiento es o no un razonamiento correcto:

Si apruebas el examen sers feliz.


Si estudias mucho no eres feliz.
Estudias mucho.
Aprobars el examen.
ii) (0.5 puntos) Formalizar la siguiente sentencia del lenguaje natural.
Escribir su negacin en lenguaje formal y en lenguaje natural:

En todas las familias hay un miembro al cul no le 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 ,
..., an de los nmeros que son distintos. Esto es, que obtenga el conjunto de
los elementos de la lista a1 , ..., an .

414

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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)

La probabilidad de que un ordenador fabricado por una cierta empresa


presente un defecto en su disco duro (por el cul el ordenador no se puede
utilizar) a lo largo del primer ao de vida es p y la probabilidad que una
pantalla fabricada por la misma empresa se estropee durante el primer ao
de vida es q .
(i) (1 punto) Pepe compra 3 ordenadores y 5 pantallas de esta empresa.
Calcular la probabilidad de que, despus de un ao, Pepe tenga un solo
ordenador y una sola pantalla funcionando.
(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.

Ejercicio 4. (1.5 puntos)

Sea R la siguiente relacin denida sobre N7 .

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 .

Ejercicio 6. (1.5 puntos)

Sea G0 = (V 0 , E 0 ) un grafo simple y A0 una de sus matrices de adyacencias:

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

i) (0.25 puntos) Determinar si G0 es conexo.


ii) (0.25 puntos) Determinar si G0 es euleriano.
iii) (0.25 puntos) Determinar si G0 tiene un rbol generador.
iv) (0.75 puntos) Computar, si es que existen, o un rbol generador, o un
circuito euleriano de G0 .

416

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

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)

i) (0.5 puntos) Determinar si el siguiente razonamiento es o no un razonamiento correcto:

Si apruebas el examen sers feliz.


Si estudias mucho no eres feliz.
Estudias mucho.
Aprobars el examen.
Sean las variables siguientes: a :=apruebas el examen, s :=sers feliz,
e :=estudias mucho.
El razonamiento que se presenta tiene tres hiptesis:

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

ii) (0.5 puntos) Formalizar la siguiente sentencia del lenguaje natural.


Escribir su negacin en lenguaje formal y en lenguaje natural:

En todas las familias hay un miembro al cul no le gusta la lechuga.


Sea F el conjunto de las familias. Sea P el conjunto de las personas. Sea
f F y p P , denimos dos predicados: P (p, f ) :=la persona p es miembro
de la familia f y L(p) :=a p le gusta la lechuga. Entonces la sentencia del
enunciado es:
f F p P (P (p, f ) L(p)).
La negacin viene a ser:

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

La base de induccin es verdadera, pues 23 = 2 1 22 .


Para el paso de induccin basta observar que:
3
n
3
3
3
n+1
k=1 (2k) = k=1 (2k) + 2 (n + 1) .

Usar la hiptesis de induccin para escribir:


3
2
2
3
3
n+1
k=1 (2k) = 2n (n + 1) + 2 (n + 1) .

Sacar factor comn 2(n + 1)2 de modo que se tiene:

2(n + 1)2 (n2 + 22 (n + 1)) = 2(n + 1)2 (n + 2)2


como queramos demostrar.

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

..., 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)

La probabilidad de que un ordenador fabricado por una cierta empresa


presente un defecto en su disco duro (por el cul el ordenador no se puede
utilizar) a lo largo del primer ao de vida es p y la probabilidad que una
pantalla fabricada por la misma empresa se estropee durante el primer ao
de vida es q .
(i) (1 punto) Pepe compra 3 ordenadores y 5 pantallas de esta empresa.
Calcular la probabilidad de que, despus de un ao, Pepe tenga un solo
ordenador y una sola pantalla funcionando.

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

P = p1 q1 = 15p2 q 4 (1 p)(1 q).


ii) La probabilidad Q de que, con las conexiones denidas en el problema
y despus de un ao de la compra, Pepe pueda trabajar con el ordenador O2
y al menos una pantalla es el producto de la probabilidad p2 = 1 p de que
el ordenador O2 funcione por la probabilidad q2 = 1 q 3 de que funcione al
menos una de las pantallas del conjunto {P 2, P 4, P 5}.
Entonces la probabilidad buscada es

Q = p2 q2 = (1 p)(1 q 3 ).

Ejercicio 4. (1.5 puntos)

Sea R la siguiente relacin denida sobre N7 .

R = {(1, 1), (2, 2), (4, 5), (3, 3), (4, 4), (5, 4), (5, 5), (6, 6),

420

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

(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.

i) Es reexiva pues R contiene la diagonal .


Es simtrica ya que si (x, y) R, entonces tambin (y, x) R.
No es antisimtrica ya que, por ejemplo, (2, 3) y (3, 2) son elementos de

R.
Es transitiva. Los casos no triviales son

(4, 5), (5, 6) R y (4, 6) R,

(4, 6), (6, 5) R y (4, 5) R,

(6, 5), (5, 4) R y (6, 4) R,

(6, 4), (4, 5) R y (6, 5) R.

ii) Por el apartado anterior R es de equivalencia siendo reexiva, simtrica


y transitiva. No es de orden ya que no es antisimtrica.
iii) Las clases de equivalencia de R son cuatro:

C1 = {1}, C2 = {2, 3}, C4 = {4, 5, 6}, C7 = {7}.

Ejercicio 5. (1 punto)

Efectuar las siguientes operaciones mdulo 5, obteniendo siempre un resultado entre 0 y 4.


i) (0.25 puntos) 2143 + 80100 3 mod 5;
ii) (0.25 puntos) 224 2513 4 mod 5 3 mod 5 2 mod 5;
iii) (0.25 puntos) 27 (22 )3 2 3 mod 5;
3003
3 3 mod 5.
iv) (0.25 puntos) 312013 34

Ejercicio 6. (1.5 puntos)

Sea G0 = (V 0 , E 0 ) un grafo simple y A0 una de sus matrices de adyacencias:

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

i) (0.25 puntos) Determinar si G0 es conexo.


Como la ltima la de la matriz est formada por ceros, el grafo no puede
ser conexo.
ii) (0.25 puntos) Determinar si G0 es euleriano.
El grafo es euleriano porque todas las aristas estn en la misma componente conexa (formada por todos los vrtices excepto el ltimo) y todos los
vrtices tienen grado par.
iii) (0.25 puntos) Determinar si G0 tiene un rbol generador.
Al no ser conexo no puede tener un rbol generador.
iv) (0.75 puntos) Computar, si es que existen, o un rbol generador, o un
circuito euleriano de G0 .
Un circuito euleriano es el siguiente (donde los vrtices estn numerados
siguiendo el orden de la matriz):

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

CAPTULO 7. CONTROLES Y EXMENES RESUELTOS

Bibliografa
[R]

Rosen, K. H. Discrete Mathematics and its applications,


McGraw-Hill 1995 y 1999. Manual para el curso.

[B]

Biggs, N. Matemtica Discreta, Vicens Vives 1994.

[G]

Grimaldi, R.P. Matemtica discreta y combinatoria. Addison


Wesley, 1989.

[T]

Truss, J.K. Discrete Mathematics for computer scientists, International Computer Science Series, 1991.

[KBR]

Kolman, Busby, Ross. Estructuras de matemticas discretas para


la computacin, Prentice Hall, 1995.

[CBVB]

Criado, R., Bujosa, A., Vega, C., Banerjee, R. Fundamentos Matemticos I, Centro de Estudios Ramn Areces, 1998. Para el
Captulo 1.

[F]

Fernndez-Snchez Vacas, Fundamentos de


Alianza-Informtica, 1987. Para el Captulo 1.

[R2]

Rosen, K.H. Students solutions guide for Discrete Mathematics


and its applications, McGraw-Hill 1999. De problemas.

[R3]

Rosen, K.H. Exploring Discrete Mathematics with Maple,


McGraw-Hill 1997. Para el programa Maple.

[W]

R. W. Hamming, Coding and information theory, Prentice Hall


1980. Sobre cdigos.

423

Informtica,

También podría gustarte