423

Apuntes de Matematicas Discretas(2)

Embed Size (px)

Citation preview

Page 1: Apuntes de Matematicas Discretas(2)

MATEMÁTICA DISCRETA

APUNTES

ESCET

2003

Page 2: Apuntes de Matematicas Discretas(2)

2

Page 3: Apuntes de Matematicas Discretas(2)

Introducción

La introducción de las notas de un curso de Matemática Discreta para estu-diantes de Informática debe comenzar tratando de responder la pregunta dequé es la Matemática discreta. La primera respuesta obvia es señalarque la matemática discreta es la parte de la matemática que estudia los obje-tos discretos. Esta respuesta no resulta muy satisfactoria pues seguimos sinconocer el signicado del calicativo discreto. No resulta fácil, sin recurrir adeniciones formales que en este contexto resultarían muy oscuras, dar unadenición de lo que es ser discreto, así que vamos a utilizar algunos ejemplosfamiliares para el lector.

Comenzamos con los números naturales, un objeto que, aunque matemá-ticamente precisa de cierto esfuerzo para su presentación, pertenece a nuestrobagaje cultural común:

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 derechalos números mayores:

1 2 3 4 ...• • • • ...

Una vez que tenemos los números naturales, recurramos a un objeto ma-temático un poco más complejo, los números reales positivos R+. De nuevoéste es un conjunto conocido que contiene al conjunto de los números na-turales, N ⊂ R+, y es estrictamente más grande. Ahora contiene al cero, alas fracciónes y también a esos números especiales que no son fracciones (esdecir que no se pueden escribir mediante un número decimal con una canti-dad nita de cifras o con un período) como por ejemplo el número

√2 o el

número e.

3

Page 4: Apuntes de Matematicas Discretas(2)

4

También solemos representar a los números reales positivos mediante unasemirrecta donde cada uno de sus puntos es un número real y hacia la derechaquedan ordenados de menor a mayor:

0 1 2 3 4 ...

Miremos con detenimiento un conjunto y otro. Hay cuantiosas diferenciasentre ellos pero aquí vamos a centrarnos en las que establecen los conceptos dediscreto (que se aplica a los números naturales) y de continuo (a los númerosreales).

Los números naturales son discretos, es decir, se disponen en la semirrectaque los representa separados entre sí. Del uno al dos hay un salto de unaunidad. No hay ningún número natural entre ellos, es decir, no existe n ∈N tal que 1 < n < 2. Lo mismo ocurre entre el dos y el tres o entredos cualesquiera números naturales consecutivos. Los conjuntos nitos o losnúmeros enteros Z (unión de los naturales el 0 y los negativos) tienen deigual manera esta propiedad.

Sin embargo, los números reales son muy distintos. Están todos pegados,no quedan huecos entre ellos, la recta que los representa está completamentepunteada. Entre el uno y el dos no hay agujeros, siempre hay números entreellos; está por ejemplo el 1.5 en medio. Entre el 1 y el 1.5 está por ejemploel 1.2. Y entre el 1 y un número muy cercano a 1, pongamos por ejemplo el1+10−107 (verdaderamente cercano ya que la distancia es cero coma un millónde ceros y luego un uno), hay números por medio, por ejemplo el 1 + 10−108 .Valga esta aproximación a la noción de ser continuo: completamente pegadosentre sí, sin espacios que los separan. De la formalización de este conceptoes de donde parte la idea de límite y por tanto los conceptos de continuidadde funciones, derivada, integral y, en n, todos los que se estudiarán en elcurso de Bases de Matemáticas.

Con esta noción intuitiva acerca de qué es la matemática discreta la listade contenidos del curso nos aclara un poco más:

• Lógica

• Algoritmos

• Aritmética y Aritmética modular

Page 5: Apuntes de Matematicas Discretas(2)

5

• Combinatoria

• Grafos

• RelacionesEsto es, formalizar, diseñar procesos nitos para resolver problemas, anali-

zar las propiedades fundamentales de los números enteros, contar, enumerar,relacionar conjuntos nitos, representar estas relaciones,...

Una vez que hemos respondido (de forma intuitiva) a la pregunta sobreel concepto de matemática discreta se trata de responder ahora a la cuestiónde por qué estudiar matemática discreta.

En primer lugar la matemática en general y la matemática discreta enparticular tiene un carácter instrumental. Todas las ciencias usan la mate-mática como instrumento (para medir, calcular, estimar, denir...) e inclusocomo lenguaje de expresión (por ejemplo las ecuaciones diferenciales para lafísica). En concreto, la matemática discreta está ligada profundamente a lasCiencias de la Computación pues los objetos con los que trata un ordenadorson objetos nitos (aunque pueden ser muy grandes) y por el triunfo de latecnología digital, que en muchos aspectos es una representación discreta dela realidad. A los verbos anteriores objeto de la matemática discreta pode-mos asociar algún concepto relacionado con la informática: formalizar conlenguajes de programación, procesos nitos con algoritmos, números enteroscon criptografía, contar con estudiar la capacidad de un ordenador, enumerarcon bases de datos, relacionar con redes, representar las relaciones con planosde redes,...

Por otro lado la matemática tiene un carácter formativo para un cientícocualquiera y también para un ingeniero. Escribir con claridad, formalizar,adquirir destrezas para enfrentar situaciones nuevas, precisión, constancia...son habilidades fundamentales para el cientíco o el ingeniero y para las quelas matemáticas son un instrumento adecuado de desarrollo (evidentementeno el único).

Finalmente señalar que el curso está estructurado en 6 temas, cada tematiene una pequeña introducción donde se explican los objetivos que pretende-mos alcanzar, una relación autocontenida de los conceptos y resultados quehemos seleccionado, ejemplos ilustradores y ejercicios propuestos y resueltos.El capítulo 7 es una colección de exámenes propuestos y resueltos, materialde apoyo para la preparación del curso.

Page 6: Apuntes de Matematicas Discretas(2)

6

Page 7: Apuntes de Matematicas Discretas(2)

Índice General

1 Lógica 111.1 Lógica e informática . . . . . . . . . . . . . . . . . . . . . . . 111.2 Lógica y modelos matemáticos . . . . . . . . . . . . . . . . . . 131.3 Lógica proposicional . . . . . . . . . . . . . . . . . . . . . . . 15

1.3.1 Los conectivos lógicos . . . . . . . . . . . . . . . . . . . 151.3.2 Forma de una proposición . . . . . . . . . . . . . . . . 181.3.3 Tautologías y razonamientos válidos . . . . . . . . . . . 221.3.4 El método de refutación . . . . . . . . . . . . . . . . . 301.3.5 Conjuntos adecuados de conectivos en lógica de propo-

siciones . . . . . . . . . . . . . . . . . . . . . . . . . . 311.4 Lógica de predicados . . . . . . . . . . . . . . . . . . . . . . . 32

1.4.1 Introducción: predicados y objetos . . . . . . . . . . . 321.4.2 Los cuanticadores universal y existencial . . . . . . . 351.4.3 Forma de predicados . . . . . . . . . . . . . . . . . . . 361.4.4 Ejemplos de sentencias verdaderas. Contraejemplos . . 431.4.5 Modelización de expresiones en forma simbólica . . . . 46

1.5 El razonamiento por inducción . . . . . . . . . . . . . . . . . . 481.5.1 Razonamiento por inducción completa . . . . . . . . . 501.5.2 Inducción estructural . . . . . . . . . . . . . . . . . . . 51

1.6 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541.6.1 Corrección de algoritmos y vericación de programas . 541.6.2 Ingeniería del conocimiento: sistemas expertos . . . . . 57

1.7 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601.8 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 62

1.8.1 Lógica con Maple . . . . . . . . . . . . . . . . . . . . . 62

7

Page 8: Apuntes de Matematicas Discretas(2)

8 ÍNDICE GENERAL

2 Algoritmos 832.1 Deniciones y ejemplos . . . . . . . . . . . . . . . . . . . . . . 832.2 Algoritmos de búsqueda y de ordenación . . . . . . . . . . . . 92

2.2.1 Algoritmos de búsqueda . . . . . . . . . . . . . . . . . 922.2.2 Algoritmos de ordenación . . . . . . . . . . . . . . . . 93

2.3 Complejidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962.4 Algoritmos de búsqueda con Maple . . . . . . . . . . . . . . . 102

2.4.1 Búsqueda secuencial . . . . . . . . . . . . . . . . . . . 1022.4.2 Búsqueda binaria . . . . . . . . . . . . . . . . . . . . . 104

2.5 Algoritmos de ordenación con Maple . . . . . . . . . . . . . . 1062.5.1 Ordenación Burbuja . . . . . . . . . . . . . . . . . . . 1062.5.2 Ordenación selección . . . . . . . . . . . . . . . . . . . 108

2.6 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1092.7 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 110

3 Aritmética modular 1213.1 Los números naturales y los números enteros . . . . . . . . . . 1213.2 Teorema de la división . . . . . . . . . . . . . . . . . . . . . . 1273.3 Divisibilidad, mcd y factorización . . . . . . . . . . . . . . . . 130

3.3.1 Deniciones básicas . . . . . . . . . . . . . . . . . . . . 1303.3.2 Algoritmo de Euclides para calcular el mcd . . . . . . . 1313.3.3 Factorización . . . . . . . . . . . . . . . . . . . . . . . 136

3.4 Relaciones de congruencia . . . . . . . . . . . . . . . . . . . . 1393.5 Sistemas de ecuaciones módulo enteros . . . . . . . . . . . . . 1433.6 Sistemas de numeración . . . . . . . . . . . . . . . . . . . . . 1503.7 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1533.8 Ejercicios Resueltos . . . . . . . . . . . . . . . . . . . . . . . . 154

3.8.1 Bases de numeración con Maple . . . . . . . . . . . . . 158

4 Combinatoria 1674.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1674.2 Técnicas de conteo . . . . . . . . . . . . . . . . . . . . . . . . 1704.3 Variaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1734.4 Permutaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 1774.5 Combinaciones . . . . . . . . . . . . . . . . . . . . . . . . . . 1814.6 Probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

4.6.1 Nociones básicas . . . . . . . . . . . . . . . . . . . . . 1884.6.2 Asignación de probabilidades . . . . . . . . . . . . . . 192

Page 9: Apuntes de Matematicas Discretas(2)

ÍNDICE GENERAL 9

4.6.3 Probabilidad condicionada . . . . . . . . . . . . . . . . 1934.6.4 Experimentos de Bernoulli . . . . . . . . . . . . . . . . 1954.6.5 Variables Aleatorias . . . . . . . . . . . . . . . . . . . . 197

4.7 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1994.8 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 200

5 Grafos 2075.1 Grafos, digrafos y multigrafos . . . . . . . . . . . . . . . . . . 2085.2 Grafos simples especiales. . . . . . . . . . . . . . . . . . . . . 2125.3 Construcción de grafos a partir de grafos . . . . . . . . . . . . 2175.4 Isomorsmo de grafos . . . . . . . . . . . . . . . . . . . . . . . 2195.5 Representación de grafos . . . . . . . . . . . . . . . . . . . . . 222

5.5.1 Mediante una matriz de adyacencias . . . . . . . . . . 2225.5.2 Mediante una matriz de incidencias . . . . . . . . . . . 225

5.6 Caminos, ciclos y grafos conexos . . . . . . . . . . . . . . . . . 2265.7 Grafos eulerianos y hamiltonianos. . . . . . . . . . . . . . . . 2325.8 Grafos etiquetados y algoritmo de Dijkstra . . . . . . . . . . . 2405.9 Árboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

5.9.1 Árboles de búsqueda binarios . . . . . . . . . . . . . . 2495.9.2 Árboles de decisión . . . . . . . . . . . . . . . . . . . . 2505.9.3 Códigos prejos . . . . . . . . . . . . . . . . . . . . . . 2525.9.4 Árboles generadores . . . . . . . . . . . . . . . . . . . 254

5.10 Otros aspectos de la teoría de grafos . . . . . . . . . . . . . . 2585.11 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2595.12 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 261

6 Relaciones 2816.1 Compendio de deniciones . . . . . . . . . . . . . . . . . . . . 2826.2 Representación de relaciones . . . . . . . . . . . . . . . . . . . 285

6.2.1 Mediante tablas . . . . . . . . . . . . . . . . . . . . . . 2856.2.2 Mediante grafos dirigidos . . . . . . . . . . . . . . . . . 2856.2.3 Mediante matrices . . . . . . . . . . . . . . . . . . . . 289

6.3 Clausuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2906.4 Conjuntos parcialmente ordenados . . . . . . . . . . . . . . . . 296

6.4.1 Diagramas de Hasse . . . . . . . . . . . . . . . . . . . 2966.4.2 Elementos característicos de un conjunto parcialmente

ordenado . . . . . . . . . . . . . . . . . . . . . . . . . . 2986.4.3 Inmersión de un orden parcial en un orden total . . . . 300

Page 10: Apuntes de Matematicas Discretas(2)

10 ÍNDICE GENERAL

6.5 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3036.6 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . 304

7 Controles y exámenes resueltos 319

Page 11: Apuntes de Matematicas Discretas(2)

Capítulo 1

Lógica

En este capítulo se presenta una introducción a la lógica proposicional y depredicados, deniendo con precisión lo que es un razonamiento válido y mos-trando distintos métodos de demostración, entre ellos la inducción matemáti-ca. Se comentan algunas aplicaciones de los temas tratados a la informática.

Como objetivos se espera que los alumnos sean capaces de realizar consoltura las siguientes actividades:

• Construir tablas de verdad de proposiciones compuestas.

• Averiguar si dos proposiciones son lógicamente equivalentes.

• Traducir enunciados sencillos a expresiones lógicas.

• Vericar si un razonamiento es correcto.

• Aplicar el principio de inducción.

1.1 Lógica e informática¾Qué relación existe entre la lógica y la informática? Los ordenadores sonmáquinas diseñadas para mecanizar trabajos intelectuales, entre otros, loscálculos basados en operaciones aritméticas o el almacenamiento, clasicacióny búsqueda de datos.

Al intentar mecanizar tareas más complejas entramos en el campo de lainformática conocido como inteligencia articial, en el que se pretende que

11

Page 12: Apuntes de Matematicas Discretas(2)

12 CAPÍTULO 1. LÓGICA

el ordenador sea capaz de realizar ese tipo de razonamientos que el hombreefectúa de una manera un tanto informal, por lo que es necesario denir yanalizar con precisión dichos razonamientos. En otras palabras, se trata deformalizar los razonamientos. Y de esto se ocupa la lógica.

También la lógica tiene relación con el mundo de la programación debidoa la denominada crisis del software: los programas son cada vez más comple-jos, menos ables y más difíciles de mantener. Se han propuesto y se utilizandiversas metodologías para la construcción de programas y su vericación(métodos para comprobar la coincidencia entre lo que se cree que hace elprograma y lo que realmente hace). En palabras de R. Fairley la verica-ción formal es una rigurosa demostración matemática de la concordancia delcódigo fuente de un programa con su especicación. En esta línea de acerca-miento entre el código fuente de un programa y su especicación están losdenominados lenguajes de programación declarativa (como contraposición ala visión tradicional conocida como programación imperativa). Desde estaperspectiva se pretende que los programas no sean una secuencia de instruc-ciones que le digan al ordenador, paso a paso, cómo resolver el problema(programación imperativa), sino más bien una especicación de lo que sepretende resolver dejando que sea el propio ordenador el que determine lasacciones necesarias para ello. En este sentido la lógica puede verse como unlenguaje de especicación mediante el cual podemos plantear los problemasde forma rigurosa.

Por otra parte, desde el punto de vista estrictamente electrónico, el so-porte tecnológico principal de los ordenadores lo constituyen los circuitos deconmutación o circuitos lógicos, denominados así por tener en común con lasformas elementales de la lógica el modelo matemático conocido como Álgebrade Boole.

Finalmente, otra relación de la lógica con la informática viene dada por elhecho de que el estudio matemático de los lenguajes es uno de los pilares de lainformática, entendiendo por lenguaje un sistema de símbolos y de conveniosque se utiliza para la comunicación, sea ésta entre personas, entre personas ymáquinas, o entre máquinas ; la Lógica Formal puede considerarse como unlenguaje, el mejor hecho de los lenguajes, en palabras de Ferrater Mora.

Page 13: Apuntes de Matematicas Discretas(2)

1.2. LÓGICA Y MODELOS MATEMÁTICOS 13

1.2 Lógica y modelos matemáticosPor otra parte, y planteando ahora las posibles aplicaciones de la lógicadesde una perspectiva más general, las ciencias experimentales se basan enla observación de la naturaleza y utilizan un razonamiento de tipo inductivopara poder formular teorías generales. Estas teorías permiten entender yclasicar los resultados de observaciones particulares y de este modo extraerconclusiones generales que posibiliten hacer predicciones sobre el resultadode futuros experimentos.

El conocimiento cientíco es una representación del mundo real y alcanzalos mayores niveles de precisión y exactitud cuando dichos modelos son denaturaleza matemática. La utilidad de los modelos matemáticos reside enlas tres características que, según entendemos, conguran su esencia:

1. Por una parte la necesaria simplicación que se realiza en los modelos;permite analizar con claridad aspectos y relaciones que se presentan enel mundo real, prescindiendo de otras relaciones superuas que ocultany complican los aspectos objeto de estudio.

2. La segunda característica se reere a la facilidad para hacer deduccionesdentro del modelo. Es posible que una de las mayores dicultadesdel trabajo cientíco consista en elegir entre los distintos modelos odistintas representaciones del fenómeno objeto de estudio aquel modeloque más facilite la labor de deducción.

3. La última característica esencial de un modelo es extrínseca 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 contrasteentre lo que estaba previsto dentro del modelo y lo que sucede en elmundo real. El método cientíco incorpora la experimentación pararealizar dicho contraste.

Si las ciencias experimentales siguen unmodelo inductivo, las matemáticassiguen un modelo deductivo de razonamiento. Es decir, desde una coleccióninicial de verdades (axiomas) se van obteniendo, mediante reglas correctas dededucción, más hechos verdaderos (teoremas). Se puede decir que el objetode la lógica es el estudio sistemático de las condiciones generales de validezde estas deducciones.

Page 14: Apuntes de Matematicas Discretas(2)

14 CAPÍTULO 1. LÓGICA

Al hablar del concepto de deduccion o demostracion de una proposición osentencia nos estamos reriendo a una argumentación lógicamente irrefutableque conduce a establecer que dicha sentencia es verdadera.

El origen de la mayoría de los conceptos matemáticos se encuentra en elmundo real que nos rodea. Así por ejemplo, los números naturales surgieronde la necesidad de contar objetos.

Si asumimos, como primera aproximación, que una sentencia es verdaderasi es verificable experimentalmente, resultará sencillo comprobar la validezde la sentencia

3 + 2 = 5

para lo cual se puede considerar suciente coger tres peras y dos manzanasy contar el número de objetos obtenidos al reunirlas. Sin embargo, si ahoraqueremos 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 representación abstrac-

ta de los números 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 sumade números naturales en esa representación (profundizaremos sobre esto enel capítulo 3).

En cada una de las áreas de las matemáticas siempre se comienza conuna serie de postulados o axiomas que establecen una serie de propieda-des basicas de los objetos matemáticos bajo estudio que se admiten comoverdaderas.

Los axiomas se formulan a partir de las propiedades de los objetos oeventos del mundo real que estamos representando, o incluso a partir de laspropiedades que nosotros entendemos que deberıan tener. En todo caso, losaxiomas deben ser:

i) compatibles: no debe poderse deducir lógicamente a partir de ellosque una cierta sentencia es simultáneamente verdadera y falsa,

ii) independientes: ningún axioma se debe poder demostrar a partir delresto y

Page 15: Apuntes de Matematicas Discretas(2)

1.3. LÓGICA PROPOSICIONAL 15

iii) sucientes: todas las propiedades que entendemos que deben satis-facer los objetos que estamos representando deben poderse deducir a partirde los axiomas.

Una vez establecidos los axiomas, el resto de propiedades verdaderas oteoremas se obtienen mediante deducciones lógicas o demostraciones a partirde los axiomas o de otros teoremas previamente demostrados. Los términoslema, corolario y proposición se emplean para cierto tipo de teoremas. Unlema es un teorema más simple que se emplea para demostrar otro máscomplejo. Un corolario es un teorema que es consecuencia directa de otroteorema previo. El término proposición es sinónimo del término teorema. Sesuele preferir la palabra teorema para hechos más relevantes y la palabraproposición para hechos más secundarios.

1.3 Lógica proposicional1.3.1 Los conectivos lógicosAl realizar razonamientos empleamos sentencias que están conectadas entresí por conectivas lingüísticas. La lógica proposicional se ocupa del estudiode las conectivas lingüísticas entre proposiciones. Una proposición es unasentencia que puede ser verdadera, circunstancia que indicaremos asociándolael valor de verdad V , o falsa, en cuyo caso le asociaremos el valor de verdadF . Nuestro principal interés en relación con la lógica proposicional es dejarestablecido el papel que juegan las conectivas lingüisticas y sus conectivoslógicos asociados en relación con los conceptos de verdad y demostración.

Las conectivas lingüísticas permiten construir proposiciones compuestasa partir de otras más simples. Así, si los símbolos p y q representan pro-posiciones genéricas, las conectivas lingüísticas más empleadas son las queaparecen en la siguiente tabla:

Conectiva lingüística Conectivo lógico Símbolo Se escribeno p Negación ¬ ¬pp y q Conjunción ∧ p ∧ qp o q Disyunción ∨ p ∨ q

Si p entonces q Implicación ⇒ p ⇒ qp si y solo si q Equivalencia ⇔ p ⇔ q

Page 16: Apuntes de Matematicas Discretas(2)

16 CAPÍTULO 1. LÓGICA

• El signicado del conectivo lógico negación, ¬, reside en que la propo-sición ¬p es verdadera en el caso de que p sea falsa y recíprocamenteque ¬p es falsa cuando p es verdadera. Recogemos el signicado delconectivo ¬ en la siguiente tabla de verdad :

p ¬pV FF V

Del mismo modo podemos recoger el signicado del resto de los conecti-vos:

• La sentencia p∧ q es verdadera sólo cuando p y q son verdaderas simul-táneamente. La tabla de verdad correspondiente a este conectivo será,pues:

p q p ∧ qV V VV F FF V FF F F

• La sentencia p∨q, que se lee p ó q, debe entenderse en su acepción másamplia, es decir, p ó q o ambos , con lo que p ∨ q será verdadera en elcaso de que p sea verdadera, q sea verdadera o ambas sean verdaderassimultáneamente:

p q p ∨ qV V VV F VF V VF F F

Page 17: Apuntes de Matematicas Discretas(2)

1.3. LÓGICA PROPOSICIONAL 17

• Para establecer el signicado de la sentencia p ⇒ q, que se lee si p en-tonces q o también p implica q, debemos tener presente que en lenguajenatural la sentencia p implica q encierra una relación de causalidad, cau-salidad que no siempre aparece al utilizar este conectivo en el ámbitoformal. Se pretende que el valor V o F de la sentencia p ⇒ q dependapor completo de los valores de verdad de p y q, con independencia deque exista o no alguna relación de causalidad con sentido entre p y q.En lenguaje matemático, p implica q quiere decir que si p es verdadera,necesariamente q es verdadera, o lo que es lo mismo, que es imposibleque q sea falsa y p verdadera. Esto es, si el valor de verdad de p esV y el de q es F, el valor de verdad de p ⇒ q es F; para el resto deposibles valores de p y q la sentencia será verdadera. Considérese elejemplo siguiente:

Sea la proposición: Si quemo madera, hay humo en el ambiente, querepresentaremos por p ⇒ q . Entendemos que esta sentencia es verda-dera, puesto que en nuestra experiencia no encontramos una situaciónen la que una madera esté ardiendo y no produzca humo. Sin embargo,la sentencia es verdadera independientemente de que se tenga maderaa mano y no haya humo en el ambiente, de que no estemos quemandomadera y haya humo debido a que estamos quemando papel, o inclusode que efectivamente estemos quemando madera y se esté llenando elambiente de humo. En otras palabras p ⇒ q sigue siendo verdaderaaun en el caso en el que p sea falsa (no estemos quemando madera) yq sea falsa (no hay humo en el ambiente), p sea falsa y q sea verdaderao incluso que p sea verdadera y q sea verdadera. El signicado de esteconectivo lógico queda pues del siguiente modo:

p q p ⇒ qV V VV F FF V VF F V

Obsérvese que por ejemplo la sentencia Si 2+2=4 entonces el sol es unaestrella es verdadera (según el signicado del conectivo lógico establecido enla tabla anterior) y sin embargo no existe relación alguna de causalidad entrelas proposiciones simples que en ella intervienen.

Page 18: Apuntes de Matematicas Discretas(2)

18 CAPÍTULO 1. LÓGICA

Es importante destacar que de la tabla anterior se sigue que para demos-trar que la sentencia p ⇒ q es verdadera, basta con estudiar el caso en el quep es verdadera, puesto que si p es falsa, la sentencia p ⇒ q es verdadera.

A las sentencias p y q las denominaremos, respectivamente, antecedentey consecuente de la proposición p ⇒ q.

La sentencia q ⇒ p es denominada sentencia recíproca de la sentenciap ⇒ q, y la sentencia ¬q ⇒ ¬p sentencia contrarrecíproca de la sentenciap ⇒ q.

• La proposición p ⇔ q, que se lee p si y solo si q, o también p equivale aq es verdadera cuando p y q tienen el mismo valor de verdad, es decir:

p q p ⇔ qV V VV F FF V FF F V

Para representar proposiciones emplearemos los símbolos p, q, r... o,lo que es lo mismo, emplearemos los símbolos p, q, r... como variablesproposicionales.

1.3.2 Forma de una proposiciónUno de los descubrimientos más sorprendentes con el que nos encontramosal estudiar lógica consiste en que la validez de una deducción depende ex-clusivamente de la forma que ésta tenga, y no del posible signicado de lasproposiciones que en ella intervienen. Así por ejemplo, las deducciones:

keta es una roya o keta es largaketa no es una royapor lo tanto keta es larga

Cucufato estudia o Cucufato trabajaCucufato no estudiapor lo tanto Cucufato trabaja

Page 19: Apuntes de Matematicas Discretas(2)

1.3. LÓGICA PROPOSICIONAL 19

son igualmente válidas, independientemente de que existan o no las ketas,de que sean o no largas, de que Cucufato estudie o trabaje o incluso de queexista alguien que se llame así.

Estas dos deducciones tienen la misma forma:

p ∨ q

¬pq

Donde se está representando en cada línea una de las proposiciones, y sehan separado las hipótesis de la conclusión por una línea horizontal. Sobreesto volveremos más adelante.

Veamos otro ejemplo para aclarar lo que entendemos por forma de unaproposición:

las proposiciones trabajo o no trabajo y estoy sentado o no estoy sentadotienen la misma forma p∨¬p. La tabla de verdad de esta forma proposicionalp ∨ ¬p es:

p ¬p p ∨ ¬pV F VF V V

Es decir, cualquier proposición que tenga la forma p ∨ ¬p será verdaderaindependientemente del valor de verdad que tenga p.

La forma de las proposiciones va a estar determinada por cómo estándispuestos los conectivos ¬,∧,∨,⇒,⇔ , por lo que vamos a introducirla denición de forma proposicional para estudiar aquellas propiedadesque únicamente dependen de la manera en la que están colocados dichosconectivos lógicos:

Denición 1.3.1 Llamaremos forma proposicional a cualquier expresiónformada por:

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

b) los conectivos lógicos ¬,∧,∨,⇒,⇔c) los paréntesis (, )

Page 20: Apuntes de Matematicas Discretas(2)

20 CAPÍTULO 1. LÓGICA

y construida utilizando las siguientes reglas:

1. Cualquier variable proposicional es una forma proposicional

2. Si A y B son formas proposicionales, entonces también lo son (¬A) ,(A ∧ B) , (A ∨ B) , (A ⇒ B) y (A ⇔ B)

En la práctica se suelen suprimir los paréntesis en aquellos casos en los queal hacerlo no se produce ambigüedad. Señalar también que, como veremosen la sección 1.5, la regla 2 puede ser simplicada prescindiendo de algunosde los conectivos.

Ejemplo 1.3.2 La expresión

∨p¬ ∨ ¬q

no es una forma proposicional (por ejemplo porque comienza por un conectivo∨), mientras que la expresión

((p ∧ (¬q)) ⇒ r)

sí lo es porque sigue las reglas de su construcción.Obsérvese que última forma proposicional puede ser representada sin am-

bigüedad suprimiendo paréntesis por

(p ∧ ¬q) ⇒ r.

Cada forma proposicional tiene asociada una tabla de verdad, que recogelos distintos valores de verdad de la forma al asignar valores V y F a lasdistintas variables involucradas. La tabla de verdad asociada a una formaproposicional se puede construir sistemáticamente a partir del procedimientoempleado para construir dicha forma proposicional:

Ejemplo 1.3.3 Construcción de la tabla de verdad de la forma proposicional

(p∧¬q) ⇒ r

Page 21: Apuntes de Matematicas Discretas(2)

1.3. LÓGICA PROPOSICIONAL 21

• Lo primero es determinar los pasos seguidos en su construcción. Ob-sérvese que según las reglas de construcción de formas proposicionalessiempre se tiene un último conectivo que va separando la parte de laderecha y la de la izquierda que son proposiciones más simples (conmenos conectivos):

(p∧¬q) ⇒ r

(p∧¬q) r

p ¬q↓q

• En segundo lugar se construye la primera la de la tabla teniendo encuenta dichos pasos:

p q ¬q (p∧¬q) r (p∧¬q) ⇒ r

• En tercer lugar establecemos todas las posibles situaciones de verdad ofalsedad de las primeras variables del enunciado que intervienen:

p q ¬q (p∧¬q) r (p∧¬q) ⇒ rV VV FF VF F

• Finalmente se van rellenando el resto de las columnas teniendo en cuen-ta por una parte el signicado de los conectivos lógicos ¬,∧,∨,⇒,⇔y por otra, que cada vez que aparece una nueva variable proposicionales preciso comparar las situaciones de verdad o falsedad obtenidas conlos dos posibles valores de verdad de la nueva variable proposicional:

Page 22: Apuntes de Matematicas Discretas(2)

22 CAPÍTULO 1. LÓGICA

(Paso intermedio)p q ¬q (p∧¬q) r (p∧¬q) ⇒ rV V F F VV F V V VF V F F VF F V F V

FFFF

(Tabla nal)p q ¬q (p∧¬q) r (p∧¬q) ⇒ rV V F F V VV F V V V VF V F F V VF F V F V VV V F F F VV F V V F FF V F F F VF F V F F V

Ejercicio 1 Construir las tablas de verdad de las siguientes formas proposi-cionales:

1. ¬ (p ∧ q)

2. (p ∧ ¬p)

3. ¬ (p ∧ ¬p)

4. p ⇒ (q ∧ ¬r)

5. ¬ (p ∧ q) ⇔ ((¬p) ∨ (¬q))

1.3.3 Tautologías y razonamientos válidosDenición 1.3.4 Una forma proposicional es una tautología si toma elvalor V cualquiera que sea la forma en que asignemos los valores V ó F a las

Page 23: Apuntes de Matematicas Discretas(2)

1.3. LÓGICA PROPOSICIONAL 23

variables proposicionales que en ella intervienen. Una forma proposicionales una contradicción si toma el valor F cualquiera que sea la forma enque asignemos los valores V ó F a las variables proposicionales que en ellaintervienen.

Ejemplo 1.3.5 (p ⇒ q) ⇔ ((¬p) ∨ q) es una tautología según se sigue de sutabla de verdad:

p q p ⇒ q ¬p (¬p) ∨ q (p ⇒ q) ⇔ ((¬p) ∨ q)V V V F V VV F F F F VF V V V V VF F V V V V

Ejercicio 2 Probar que las siguientes formas proposicionales son tautolo-gías:

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 tautolo-gías:

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

Page 24: Apuntes de Matematicas Discretas(2)

24 CAPÍTULO 1. LÓGICA

Denición 1.3.6 Si A y B son formas proposicionales se dice que A impli-ca lógicamente a B si la forma proposicional (A ⇒ B) es una tautología.

Otras formas habituales de decir A implica lógicamente a B son :

• B es consecuencia lógica de A• A es condición suciente de B• B es condición necesaria de A.

Analicemos el signicado de esta denición:si (A ⇒ B) es una tautología entonces es imposible asignar valores de

verdad a las variables proposicionales de A y B de manera que A sea V y Bsea F.

En otras palabras: Si (A ⇒ B) es una tautología y A es V, entoncesnecesariamente B es V.

Del ejercicio 2 tenemos que:

p ∧ (p ⇒ q) implica logicamente a q(p ⇒ q) ∧ (q ⇒ r) implica logicamente a (p ⇒ r)(p ⇒ q) ∧ (¬p ⇒ q) implica logicamente a q(p ∨ q) ∧ ¬p implica logicamente a q(p ∧ ¬p) implica logicamente a q

Observación 1.3.7 El hecho de que p ∧ (p ⇒ q) implica lógicamente a q esla regla de inferencia que se suele conocer como modus ponens.

La regla modus tolens es el hecho de que (p ⇒ q) ∧ ¬q implica lógica-mente a ¬p.

Denición 1.3.8 Sean A y B dos formas proposicionales se dice que Aequivale lógicamente a B si la forma proposicional (A ⇔ B) es una tau-tología.

Analicemos el signicado de esta denición:si (A ⇔ B) es una tautología entonces es imposible asignar valores de

verdad a las variables proposicionales de A y B de manera que el valor deverdad de A sea diferente del valor de B.

En otras palabras: si (A ⇔ B) es una tautología A es V si y solo si B esV, y A es F si y solo si B es F.

Page 25: Apuntes de Matematicas Discretas(2)

1.3. LÓGICA PROPOSICIONAL 25

Ejercicio 4 Probar que los siguientes pares de formas proposicionales sonlógicamente equivalentes

¬¬p y p(p ∧ q) ∧ r y p ∧ (q ∧ r) (∧ es asociativa)(p ∨ q) ∨ r y p ∨ (q ∨ r) (∨ es asociativa)(p ∧ q) y (q ∧ p) (∧ es conmutativa)(p ∨ q) y (q ∨ p) (∨ es conmutativa)p ∧ (q ∨ r) y (p ∧ q) ∨ (p ∧ r) (∧ es distributiva respecto de ∨)p ∨ (q ∧ r) y (p ∨ q) ∧ (p ∨ r) (∨ es distributiva respecto de ∧)¬ (p ∨ q) y (¬p) ∧ (¬q) ley de De Morgan¬ (p ∧ q) y (¬p) ∨ (¬q) ley de De Morgan(p ⇔ q) y (q ⇔ p)p ∧ V y pp ∨ F y p(p ⇒ q) y (p ∧ ¬q) ⇒ F

Del ejercicio 3 tenemos que:

(p ⇒ q) ∧ (q ⇒ p) equivale logicamente a (p ⇔ q)(p ⇒ q) equivale logicamente a (¬q) ⇒ (¬p)(p ⇒ q) equivale logicamente a ((p ∧ ¬q) ⇒ (¬p))

p equivale logicamente a (¬p ⇒ p)p equivale logicamente a ((¬p) ⇒ (q ∧ ¬q))

Por otro lado el ejemplo 1.3.5 indica que p ⇒ q es equivalente lógicamentea ¬p ∨ q.

Esta tabla de equivalencias lógicas pone de maniesto los siguientes re-sultados:

1. La equivalencia (p ⇔ q) es V si y solo si las implicaciones (p ⇒ q) y(q ⇒ p) son V .

2. La implicación (p ⇒ q) es lógicamente equivalente a su contrarrecíproca(¬q) ⇒ (¬p).

3. El principio de reducción al absurdo: la verdad de p es equivalente alhecho de que su negación ¬p implique una contradicción. Este hecho sesustenta en la siguiente equivalencia lógica, presentada anteriormente:p equivale logicamente a ((¬p) ⇒ (q ∧ ¬q))

Page 26: Apuntes de Matematicas Discretas(2)

26 CAPÍTULO 1. LÓGICA

Estas equivalencias lógicas nos permitirán presentar algunas técnicas dedemostración. Antes introduzcamos con precisión el sentido que tiene elhecho de que un razonamiento sea correcto.

Denición 1.3.9 Sean A1, ...,An y B formas proposicionales. Se dice queun razonamiento del tipo

de A1, ...,An se deduce Bes correcto o lógicamente válido si A1∧...∧An implica lógicamente B o, loque es lo mismo, si es imposible encontrar un caso en el que siendo verdaderaslas sentencias A1,...,An sea falsa la sentencia B. A las sentencias A1,...,An

las denominamos premisas o hipótesis y a la sentencia B conclusión otesis.

Para distinguir las premisas de la conclusión, el razonamiento anterior sesuele representar por

A1...An

BEjemplo 1.3.10 El siguiente razonamiento es correcto:

p ⇒ qpq

Ya que ((p ⇒ q) ∧ p) ⇒ q es una tautología.

Ejercicio 5 Determinar si el siguiente razonamiento es correcto:

(p ⇒ (q ∨ r))(q ⇒ ¬r)

pq ∧ ¬r

Ejercicio 6 Identicar adecuadamente las distintas conectivas lingüísticas ylas variables proposicionales, obtener las premisas y la conclusión y estudiarla validez de los siguientes razonamientos:

Page 27: Apuntes de Matematicas Discretas(2)

1.3. LÓGICA PROPOSICIONAL 27

1. H es un subgrupo si es no vacío, contiene al neutro y es cerrado parala operación. Si H es no vacío y cerrado para la operación, entonces Hcontiene al neutro. En consecuencia, si H es cerrado para la operación,H es un subgrupo.

2. Si a es un número perfecto entonces a es par y n es impar. a es par yn no es impar. Por consiguiente a no es perfecto.

3. Si no hay huelga, o el sindicato miente o el ministro tiene razón. Hayhuelga o en caso contrario el ministro se equivoca. Por lo tanto elsindicato no miente.

Ejercicio 7 Determinar si el siguiente razonamiento es correcto:Si José ganó la carrera entonces Pedro fue el segundo o Ramón fue el segundo.Si Pedro fue el segundo entonces José no ganó la carrera. Si Carlos fue elsegundo entonces Ramón no fue el segundo. José ganó la carrera. LuegoCarlos no fue el segundo.

De esta manera, a partir de proposiciones verdaderas (que inicialmenteconforman los axiomas) se pueden utilizar razonamientos válidos para de-mostrar que una nueva proposición es también verdadera. Veamos algunosejemplos de demostraciones tipo:

• Demostraciones directas: se usan para probar que una sentenciade la forma p ⇒ q es verdadera para lo cual utilizamos la siguientetautología recursivamente:

((p ⇒ r) ∧ (r ⇒ s)) ⇒ (p ⇒ s).

De esta manera si podemos construir una cadena nita de sentenciasverdaderas de la forma p ⇒ p1, p1 ⇒ p2, ..., pn ⇒ q habremos demos-trado que p ⇒ q es verdadera.

Ejemplo 1.3.11 Demostremos que si x es un entero impar su cuadrado esimpar.En efecto, si x es impar entonces existe un entero p tal que

x = 2p + 1

Page 28: Apuntes de Matematicas Discretas(2)

28 CAPÍTULO 1. LÓGICA

por la denición de ser impar. Formalmente hemos demostrado que si laproposición q es x es impar y q1 es la proposición existe p entero tal quex=2p+1 entonces tenemos la veracidad de:

q ⇒ q1.

De hecho, por denición de impar, q ⇔ q1.Aplicando las reglas para hacer el cuadrado tenemos:

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

Esta es una implicación q1 ⇒ q2 donde q2 es la proposición existe p enterotal que x2 se puede escribir como x2 = 4p2 + 4p + 1.Sacando factor común obtenemos:

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

Por lo que en efecto x2 es impar.

Ejercicio 8 Sean a, b dos números naturales a, b ∈ N = 1, 2, 3.... Se deneque a > b si existe un número natural c ∈ N tal que a = b + c. Demostrarque si a > b y b > c entonces a > c.

• Demostración por contrapositivo: consiste en utilizar la equiva-lencia lógica de las sentencias p ⇒ q y ¬q ⇒ ¬p.

Ejemplo 1.3.12 Vamos a demostrar, usando la demostración por contrapo-sitivo, la implicación recíproca del ejemplo anterior:

x2 impar implica x impar.

Debemos demostrar entonces que es verdadera la sentencia contrarrecíproca:

x no impar implica x2 no impar.

O equivalentemente:x par implica x2 par.

Lo que se hace mediante una demostración directa idéntica a la del ejemploanterior, cambiando la denición de impar por la de par.

Page 29: Apuntes de Matematicas Discretas(2)

1.3. LÓGICA PROPOSICIONAL 29

• Demostración por reducción al absurdo: consiste en utilizar laequivalencia lógica escrita anteriormente. Esto es, suponer que la hipó-tesis es verdadera, la conclusión es falsa y llegar a una contradicción.

Ejemplo 1.3.13 Demostramos el siguiente hecho: si a es un número real,a > 0, entonces 1

a> 0.

Usamos la propiedad de los signos que indica que el producto de dos nú-meros reales es posisitivo si y solamente si o ambos son positivos o ambosson negativos.

Supongamos que la conclusión es falsa y la hipótesis es verdadera, estoes, a > 0 y 1

a≤ 0. Es evidente que 1

a6= 0 pues a 1

a= 1. Por tanto, como el

producto a 1a

= 1, entonces a < 0 en contradicción con la hipótesis a > 0.

• Demostración por casos: cuando se tiene una implicación del tipop ⇒ a1 ∨ a2 ∨ ...∨ an para demostrar que p ⇒ q es suciente demostrarque a1 ⇒ q y que ... an ⇒ q.

Ejercicio 9 Determinar la tautología que justica el método de demostra-ción 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 4sólo puede tomar los valores 0 ó 1.

Como se tiene que si x ∈ N entonces x es par o x es impar, entoncesdebemos probar que:

si x es par entonces se cumple la armación y quesi x es impar entonces también se cumple la armación.

En efecto, si x es par entonces existe p ∈ N de modo que

x = 2p

y por tantox2 = 4p2

de modo que x es múltiplo 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 tantox2 = 4p2 + 4p + 1 = 4(p2 + p) + 1

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

Page 30: Apuntes de Matematicas Discretas(2)

30 CAPÍTULO 1. LÓGICA

• Demostración de dobles implicaciones: La demostración de unadoble implicación p ⇔ q se convierte, mediante la equivalencia lógicacon (p ⇒ q) ∧ (q ⇒ p), en dos demostraciones. La de p ⇒ q y la deq ⇒ p.

Ejemplo 1.3.15 Mirando los ejemplos presentados en la demostración di-recta y en la demostración usando la sentencia contrarrecíproca se ha demos-trado el hecho siguiente: x es impar si y solamente si x2 es impar.

1.3.4 El método de refutaciónEl método de refutación sirve para determinar si una forma proposicional eso no una tautología sin necesidad de obtener su tabla de verdad completa.

Este método consiste en intentar probar que la forma proposicional dadano es una tautología buscando aquellos valores de las variables proposicio-nales que hacen falsa la forma proposicional dada. Si vemos que esto esimposible, la forma proposicional objeto de estudio será necesariamente unatautología. En caso contrario no lo será y habremos encontrado unos posiblesvalores de verdad de las variables proposicionales que hacen que no lo sea.

Es importante señalar que este método es especialmente fecundo debidoa que el mecanismo básico que emplea consiste en reducir la fórmula dada auna expresión cada vez más simple.Notación. Si A es una forma proposicional entonces A : V (respectivamenteA : F ) signica que consideramos la proposiciónA verdadera (respectivamen-te falsa). Cuando la forma es una variable, digamos p, a veces escribiremosp := V (resp. p := F ).

Ejemplo 1.3.16 Vamos a demostrar que la siguiente proposición es unatautología utilizando el método de refutación:

((p ⇒ q) ∨ (r ⇒ q)) ⇔ ((p ∧ r) ⇒ q)

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

((p ⇒ q) ∨ (r ⇒ q)) ⇔ ((p ∧ r) ⇒ q) : F,

caben dos posibilidades, que iremos desarrollando paso a paso:

Page 31: Apuntes de Matematicas Discretas(2)

1.3. LÓGICA PROPOSICIONAL 31

o bien o bien(p ⇒ q) ∨ (r ⇒ q) : V (p ⇒ q) ∨ (r ⇒ q) : Fy ((p ∧ r) ⇒ q) : F y (p ∧ r) ⇒ q : V

de donde de donde(p ⇒ q) ∨ (r ⇒ q) : V (p ⇒ q) : F,(r ⇒ q) : F

(p ∧ r) :V , q : F (p ∧ r) ⇒ q : Vluego luego

(p ⇒ F) ∨ (r ⇒ F) : V p : V, r : V, q : Fp :V, r :V (p ∧ r) ⇒ q : Vpor lo que por lo que

(V⇒ F) ∨ (V⇒ F) : V (V ∧ V) ⇒F : Ves decir es decir

F: V (contradiccion) F : V (contradiccion)

Luego falla el intento de probar que no es una tautología, o lo que es lomismo, no es posible asignar valores de verdad a las variables proposicionalesque intervienen de manera que la forma proposicional ((p ⇒ q) ∨ (r ⇒ q)) ⇔((p ∧ r) ⇒ q) sea falsa, por lo que concluimos que dicha forma proposicionales, efectivamente, una tautología.

Ejemplo 1.3.17 La sentencia

((p ⇒ q) ∧ q) ⇒ p

no es una tautología. 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 entoncesefectivamente (p ⇒ q) : V . De este modo p : F y q : V hacen que lasentencia sea F y por tanto no estemos ante una tautología.

1.3.5 Conjuntos adecuados de conectivos en lógica deproposiciones

Es posible, utilizando las equivalencias lógicas, expresar cualquier forma pro-posicional mediante una forma proposicional equivalente en la que única-mente aparezcan variables proposicionales y ciertos conectivos lógicos selec-cionados como primitivos. Así por ejemplo, no es difícil demostrar que paracualquier forma proposicional A es posible encontrar una forma proposicio-nal equivalente en la que los únicos conectivos que aparezcan sean los del

Page 32: Apuntes de Matematicas Discretas(2)

32 CAPÍTULO 1. LÓGICA

conjunto ∨,∧,¬. Por ejemplo, si A es la forma proposicional B ⇒ C, ten-dremos que la forma proposicional A es lógicamente equivalente a (¬B ∨ C).Si A es la forma proposicional B ⇔ C, tendremos que la forma proposicionalA es lógicamente equivalente a (¬B ∨ C) ∧ (¬C ∨ B).

Por eso se dice que los conectivos ∨,∧,¬ constituyen un conjuntoadecuado de conectivos. Utilizando las leyes de De Morgan como axio-mas es posible mostrar que tanto ∨,¬ como ∧,¬ constituyen conjuntosadecuados de conectivos.

Existen conjuntos adecuados de conectivos que constan únicamente de unelemento. Sheer introdujo en 1913 dos nuevos conectivos, que actualmentese conocen como nand y nor. Estos dos conectivos tienen gran utilidad en lasaplicaciones a los circuitos de conmutación. El conectivo nor se representacon el símbolo ↓, siendo la sentencia p ↓ q lógicamente equivalente a ¬ (p ∨ q).El conectivo nand se representa con el símbolo |, siendo p | q lógicamenteequivalente a ¬ (p ∧ q).

Ejercicio 10 Comprobar que tanto ↓ como | son conjuntos adecuadosde conectivos. Para verlo expresar las formas proposicionales p ∨ q, p ∧ q y¬p en función, en primer lugar, del conectivo ↓ y, en segundo lugar, enfunción del conectivo |.

1.4 Lógica de predicados1.4.1 Introducción: predicados y objetosHay deducciones que se realizan habitualmente en matemáticas para las queno es posible analizar su validez dentro del ámbito de la lógica de proposi-ciones. Por ejemplo, si consideramos la deducción:

Todos los hombres son mortalesSócrates es un hombreSócrates es mortal

e intentamos formalizarla (esto es, expresar su forma) en lógica de propo-siciones, obtendríamos:

p

qr

Page 33: Apuntes de Matematicas Discretas(2)

1.4. LÓGICA DE PREDICADOS 33

por lo que no es un razonamiento válido (tomando p : V , q : V y r : F ) encontradicción con nuestra intuición. Necesitamos entonces una descripciónmás na que permita distinguir los hombres (los objetos) de sus propiedades(predicados).Consideremos ahora la deducción:

Todos los números primos son impares3 es un número primo3 es impar

Si separamos las sentencias:

3 es primo5 es primo5 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 primo P(x)x es impar I(x)3 es primo P(3)5 es impar I(5)5 es primo P(5)

O en el ejemplo del comienzo:

x es mortal M(x)x es hombre H(x)

También es posible simbolizar de este modo propiedades que afectan avarios objetos:

Page 34: Apuntes de Matematicas Discretas(2)

34 CAPÍTULO 1. LÓGICA

x es el padre de y P(x,y)x estudia la carrera y E(x,y)x,y,z están alineados L(x,y,z)x es igual a y x=yx es mayor que y x > y

En lógica de predicados se distingue, pues, entre las propiedades (tambiénllamadas predicados) y los objetos a los que dichas propiedades se reeren.

En lógica, y en general, en matemáticas, se utilizan dos tipos de objetos:

• las constantes, que son objetos concretos, formando un universo dediscurso, un conjunto U ,

• las variables, que son objetos genéricos que normalmente denotamoscon las letras x, y, z.... y que podrán sustituirse por objetos de U .

Por ejemplo, tomando el conjunto de los números naturales U = N, el1 es una constante y representa un elemento de N, mientras que podemosescribir x, una variable que puede tomar cualquier valor natural.

La característica esencial que diferencia las variables de las constantes esque las variables pueden ser sustituidas por cualquier objeto del universode discurso en el transcurso de una deducción.

Un predicado es entonces una sentencia que involucra variables de modoque al ser sustituidas por constantes se convierte en una proposición.

Por ejemplo, el predicado x es primo se convierte en una proposición alsustituir x por un número natural.

Los predicados se pueden representar por símbolos del tipo P (x), Q(x),R(x)... que se denominan funciones proposicionales o también senten-cias abiertas. Una vez que se haya asignado un valor adecuado a la variablex la función proposicional P (x) da lugar a una proposición de la que es po-sible armar si es verdadera o falsa. Por ejemplo, si P (x) :=x es primoentonces P (3) es verdadera, y P (4) es falsa.

Por otra las funciones proposicionales pueden tener más de una variable.Así por ejemplo, si Q(x, y, z) designa la sentencia x + y = z, tendremos quelas sentencias Q(1, 2, 3) y Q(2, 2, 4) son verdaderas y que Q(1, 2, 5) es falsa.

Page 35: Apuntes de Matematicas Discretas(2)

1.4. LÓGICA DE PREDICADOS 35

1.4.2 Los cuanticadores universal y existencialComo hemos visto, una función proposicional (o sentencia abierta) puede darlugar a una proposición (o, lo que es lo mismo, se puede cerrar) asignandovalores concretos del universo de discurso a las variables que en ella inter-vienen. Introducimos ahora otra manera de cerrar las sentencias abiertas,usando los cuanticadores universal y existencial.

1) Consideremos la expresión: Para todo objeto x de un universo de dis-curso U se verica P (x). La frase para todo objeto x de U se denominacuanticador universal y se representa por ∀x ∈ U .

Si la función proposicional P (x) resulta ser una proposición verdaderaal sustituir la variable x por cualquier elemento del universo de discurso U ,diremos que para todo elemento x de U la proposición P (x) es verdadera.Podemos escribir abreviadamente la siguiente sentencia que resulta ser ver-dadera:

∀x ∈ U P (x).

2) Por otra parte, el hecho de que para al menos un elemento a del universode discurso U la sentencia P (a) sea una proposición verdadera, nos permitearmar que la proposición existe un elemento x de U tal que la proposiciónP (x) es verdadera, que expresamos de forma más 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 (sedice que una sentencia es cerrada si no tiene variables sin cuanticar). Comohemos visto una sentencia se puede cerrar asignando constantes a las variablesque en ella intervienen o cuanticando dichas variables. Si las variables estáncuanticadas, el valor de verdad depende del universo de discurso que seconsidere. Así por ejemplo, la sentencia

∃x ∈ U (x2 = 2)

Page 36: Apuntes de Matematicas Discretas(2)

36 CAPÍTULO 1. LÓGICA

es verdadera en el universo de discurso de los números reales (U = R, siendox =

√2), pero es falsa en el universo de discurso de los números enteros

(U = Z ya que√

2 /∈ Z).Si el universo de discurso es nito, el cuanticador universal puede susti-

tuirse por un número nito de conjunciones y el cuanticador existencial porun número 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 denición,P (a) ∧ P (b) ∧ P (c)

y la sentencia∃x ∈ U P (x)

es, por denición,P (a) ∨ P (b) ∨ P (c).

Estas deniciones muestran que los cuanticadores existencial y universalson una forma abreviada de escribir los conectivos ∨ y ∧.

1.4.3 Forma de predicadosComo en el caso de la lógica proposicional en la lógica de predicados obser-vamos que la validez o no de ciertos razonamientos está en su forma. Sea porejemplo el razonamiento antes considerado, que intuitivamente se muestracomo válido:

Todos los hombres son mortalesSócrates es un hombreSócrates es mortal

Este razonamiento es el mismo, en su forma, que:

Todos los casos son resolublesEl caso Nécora es un casoEl caso Nécora es resoluble

Y se podría representar como:

Page 37: Apuntes de Matematicas Discretas(2)

1.4. LÓGICA DE PREDICADOS 37

∀x ∈ U P (x)a ∈ UP (a)

Nuestra intuición señala que este razonamiento es válido siempre, en elsentido de que no depende del universo de discurso considerado. Resulta en-tonces natural escribir la siguiente expresión que consideraremos verdadera:

(∀x P (x)) ⇒ P (a).

Obsérvese que no se ha escrito el universo de discurso.

De este modo es interesante construir una lógica formal usando predica-dos. Con este objeto vamos a dar un conjunto de reglas para denir formade predicados, que es el equivalente, en la lógica de predicados, al conceptode forma proposicional en la lógica proposicional.Paso 1. Comenzamos primero considerando funciones proposicionales, de laforma P (x), Q(x), ... (donde también se pueden considerar varias variables).Las funciones proposicionales son formas de predicados.Paso 2. Se pueden construir nuevas formas de predicados usando los conec-tivos lógicos. 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, dondeaparece la variable x, digamos por simplicidad P (x), se pueden construir lasexpresiones:

∀x P (x)

∃x P (x).

Por ejemplo se construyen las formas:

∀x (P (x) ∧Q(x))

∃x (P (x, y) ⇔ Q(x)).

Page 38: Apuntes de Matematicas Discretas(2)

38 CAPÍTULO 1. LÓGICA

En las formas construidas en el paso 3, la variable x afectada por el cuan-ticador universal o existencial se dice que queda ligada. El resto de posiblesvariables se dicen libres. Volveremos más adelante sobre esta denición.Paso 4. Dos formas de predicado se pueden combinar usando conectivoslógicos. Los paréntesis son necesarios para evitar ambigüedades. Estamosconsiderando, por ejemplo, expresiones del tipo:

(∀x P (x)) ⇒ (∃x Q(x)).

Paso 5. Dada una forma de predicados P(x) donde aparece una variablelibre 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 librespuede sustituirse por una constante arbitraria, dando lugar a una nuevaforma de predicado.

Usaremos los términos forma de predicados, sentencia de lógica de predi-cados o expresión de lógica de predicados indistintamente.

Ejemplo 1.4.1 Una expresión de lógica de predicados es, por ejemplo:

(∀x P (x)) =⇒ ¬(∃x Q(x)).

O el ejemplo que ilustraba el comienzo de la sección:

(∀x P (x)) ⇒ P (a).

Observación 1.4.2 Cuando en un predicado aparece una variable afectadapor un cuanticador y simultáneamente aparece también sin ser afectada porese mismo cuanticador, debe interpretarse que se está utilizando el mismonombre de variable para dos variables distintas.

Page 39: Apuntes de Matematicas Discretas(2)

1.4. LÓGICA DE PREDICADOS 39

el predicado debe interpretarse como(∀x P (x)) ∨ (∀x Q(x)) (∀x P (x)) ∨ (∀y Q(y))(∃x P (x)) ∨ (∃x Q(x)) (∃x P (x)) ∨ (∃y Q(y))

Recuperamos la denición establecida anteriormente:

Denición 1.4.3 Diremos que una variable x aparece ligada en una formade predicado P si está afectada por algún cuanticador. En caso de que unavariable no aparezca ligada diremos que aparece libre.

Por ejemplo

En la(s) variable(s) aparece(n)N(x) x aparece librex > y x e y aparecen libres

∃y (y > x) x aparece libre e y ligadaN(x) ⇒ ∃y (y > x) x aparece libre e y ligada

∀x (N(x) ⇒ ∃y (y > x)) x e y aparecen ligadas

Para poder asignar valores de verdad a las formas de predicado hay que,como se decía anteriormente, cerrar las formas, esto es, sustituir las variableslibres por constantes y entender cómo se asignan valores de verdad a lasvariables cuanticadas.

• Si en una forma no aparecen cuanticadores, al sustituir las variablespor constantes, la asignación de valores de verdad se hace exactamentecomo en lógica 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 expresión de lógica proposicional, donde P (a), Q(a) y R(b) sonvariables proposicionales, y como tal se trata, pudiéndose construir su tablade verdad.

Page 40: Apuntes de Matematicas Discretas(2)

40 CAPÍTULO 1. LÓGICA

• Dada una forma de predicado del tipo ∀x P (x), donde P (x) es unaforma de predicado sin cuanticadores y con una sola variable x, sedice que la expresión ∀x P (x) es verdadera si al sustituir x por unaconstante a cualquiera en cualquier universo de discurso, se tiene queP (a) es verdadero.

Ejemplo 1.4.5 La sentencia ∀x (P (x) ∨ (¬P (x))) es V . En efecto, ya quepara 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 for-ma de predicado sin cuanticadores y con una sola variable x, se diceque la expresión ∃x P (x) es verdadera si al sustituir x por una cons-tante a en algún 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 unaconstante) es verdadera pues tomando la constante a, al sustituir la variablelibre x por a se obtiene la expresión (P (a) ⇒ P (a)) que es verdadera.

• Usando los signicados de los distintos conectivos lógicos podemos asig-nar valores de verdad a nuevas formas de predicado. Veamos un ejem-plo.

Ejemplo 1.4.7 La siguiente sentencia es verdadera:

(∀x P (x)) ⇒ (∃y P (y)).

En efecto si ∀x P (x) es falso la implicación es verdadera. Y si ∀x P (x) esverdadera entonces para cada constante a en cada universo, P (a) es verda-dera, por lo que ∃y P (y) es verdadera.

Para asignar valores de verdad a cualquier forma de predicado necesita-mos el concepto de tautología en lógica de predicados, que no es exactamenteigual que el que manejamos en lógica proposicional, y usar coherentementelos signicados de los conectivos lógicos:

Denición 1.4.8 Diremos que una forma de predicado que contenga va-riables libres es una tautología si toma únicamente el valor V independien-temente del universo de discurso y los objetos concretos de dicho universoque asignemos a las variables que aparecen libres.

Page 41: Apuntes de Matematicas Discretas(2)

1.4. LÓGICA DE PREDICADOS 41

Ejemplo 1.4.9 Siendo P (x) una función proposicional, el predicado P (x)∨(¬P (x)) es una tautología. Podemos argumentar ese hecho del siguientemodo: puesto que, dependiendo del objeto concreto que coloquemos en lugarde la x, P (x) será V ó F , tenemos la tabla:

P (x)VF

Utilizando ahora P (x) junto con los conectivos lógicos ∨ y ¬ construimosP (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 VF V V

Ejercicio 11 Demostrar que la expresión(P (x) ∧ (¬P (x))) ⇒ Q(x, y)

es una tautología.• 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 siguientemanera: la sentencia ∀x P (x) es V si P (x) es una tautología, y F encaso contrario.

Ejemplo 1.4.10 La sentencia (recordar que x es una variable y a, b sonconstantes):

(∀x P (x, y)) ⇒ P (a, b) es V, puesto que :

a) Si (∀x P (x, y)) es V , P (x, y) es una tautología, lo que signica que alsustituir la variable x (respectivamente la y) por cualquier objeto concreto,digamos a (respectivamente b), del universo de discurso que se considereobtenemos 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 implicación

(∀x P (x, y)) ⇒ P (a, b) es V.

Page 42: Apuntes de Matematicas Discretas(2)

42 CAPÍTULO 1. LÓGICA

• Para asignar un valor de verdad a la expresión ∃x P (x), donde P (x)es una forma cualquiera y x es una variable libre , consideramos losiguiente: la sentencia ∃x P (x) es V si ¬P (x) no es una tautología, yF en caso contrario.

Es decir, ∃x P (x) es V si hay un universo de discurso U y una constantea ∈ U tal que P (a) es V .

Se establece entonces la equivalencia lógica siguiente:

∃x P (x)

es lógicamente equivalente (en el sentido de que tienen el mismo valor deverdad) a

¬(∀x ¬P (x)).

a) Si ∃x P (x) es V , ¬P (x) no es una tautología, o lo que es lo mismo, ∀x¬P (x) es F , con lo que ¬(∀x ¬P (x)) es V .

b) Recíprocamente, si ¬(∀x ¬P (x)) es V , necesariamente (∀x ¬P (x)) esF , o lo que es lo mismo, ¬P (x) no es una tautología. Entonces existeun objeto a de un universo de discurso tal que ¬P (a) es F , con lo queP (a) es V . Esto implica que la sentencia ∃x P (x) es V .

Por consiguiente en cualquier universo de discurso, para todo predicadoP y para toda variable x, la siguiente sentencia es verdadera:

∃x P (x) ⇔ ¬(∀x¬P (x)).

Ejercicio 12 Probar que en cualquier universo de discurso, para toda fun-ción P (x), la siguientes sentencias son verdaderas:

¬(∀xP (x)) ⇔ (∃x¬P (x))

¬(∃xP (x)) ⇔ (∀x¬P (x))

El ejercicio anterior indica cómo negar adecuadamente las sentencias afec-tadas por cuanticadores. La negación de la frase todo hombre es mortal noes todo hombre es inmortal sino que existe un hombre que es inmortal.

Page 43: Apuntes de Matematicas Discretas(2)

1.4. LÓGICA DE PREDICADOS 43

Observación 1.4.11 Para probar que (∀x ∈ U P (x)) es F basta encontraruna constante a en U de modo que P (a) es F . A dicho a lo denominaremoscontraejemplo. Por ejemplo, sea U el conjunto de los números naturales,U = N, y el predicado P (x) :=x es primo o producto de exactamente dosnúmeros primos; la sentencia (∀x ∈ U P (x)) es F puesto que 30 no es primoni producto de exactamente dos primos. El número 30 es un contraejemploa la sentencia ∀x ∈ U P (x).

1.4.4 Ejemplos de sentencias verdaderas. Contraejem-plos

Veamos algunos ejemplos más:

Proposición 1.4.12 En cualquier universo de discurso establecido y paracualquier predicado P (x, y) la siguiente sentencia es V :

(∃x∀yP (x, y)) ⇒ (∀y∃xP (x, y))

Demostración. Razonaremos por reducción al absurdo, vamos a suponer quela sentencia escrita es falsa y obtendremos una contradicción:

Supongamos que (∃x∀yP (x, y)) ⇒ (∀y∃xP (x, y)) es F . En ese caso setiene que (∃x∀yP (x, y)) es V y (∀y∃xP (x, y)) es F .

De la primera condición se sigue que existe un objeto concreto a de ununiverso de discurso tal que ∀yP (a, y) es V . Por tanto P (a, y) es una tauto-logía.

De la segunda condición se sigue que existe un objeto concreto b de un uni-verso 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)también es una tautología. Ahora bien, por ser P (a, y) una tautología P (a, b)es V , y por ser ¬P (x, b) una tautología, ¬P (a, b) también es V , con lo quehemos obtenido la contradicción buscada.

Proposición 1.4.13 No es cierto que para cualquier predicado P (x, y) lasiguiente sentencia es V independientemente del universo de discurso:

(∀x∃yP (x, y)) ⇒ (∃y∀xP (x, y))

Page 44: Apuntes de Matematicas Discretas(2)

44 CAPÍTULO 1. LÓGICA

Demostración. Basta encontrar un ejemplo en el que la forma escrita no seaverdad, esto es, un contraejemplo:

Sea el predicado P (x, y):=x es estrictamente menor que y en el universode los números naturales. En este universo, con este predicado se tiene:

∀x ∈ U ∃y ∈ U P (x, y) : V

ya que para cada número natural x siempre existe un número natural y (porejemplo y = x + 1) estrictamente mayor. Pero:

∃y ∈ U ∀x ∈ U P (x, y) : F

ya que no existe un número natural mayor que el resto de los números natu-rales. Por tanto:

(∀x∃yP (x, y)) ⇒ (∃y∀xP (x, y))

es falsa en este ejemplo.

Proposición 1.4.14 En cualquier universo de discurso y para cualesquieraque sean los predicados P y Q la siguiente sentencia es verdadera:

∃x (P (x) ∨Q(x)) ⇔ (∃xP (x)) ∨ (∃xQ(x)).

Demostración. Como se trata de una dobre implicación tenemos que probar:

i) ∃x (P (x) ∨Q(x)) ⇒ (∃xP (x)) ∨ (∃xQ(x)) es Vy 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 análogamente.

Page 45: Apuntes de Matematicas Discretas(2)

1.4. LÓGICA DE PREDICADOS 45

ii) Supongamos verdadera la sentencia (∃xP (x)) ∨ (∃xQ(x)). En ese casoexisten también dos posibilidades:

• Si (∃xP (x)) es V entonces, siendo a un objeto tal que P (a) es V , resultaque P (a) ∨Q(a) es V y por tanto ∃x (P (x) ∨Q(x)) es V .

• Si (∃xQ(x)) es V se razona análogamente.

Proposición 1.4.15 En cualquier universo de discurso y para cualquier parde 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 cual-quier par de predicados P (x) y Q(x) la siguiente sentencia sea verdadera:

∀x (P (x) ∨Q(x)) ⇒ ((∀xP (x)) ∨ (∀xQ(x)))

Demostración. Para demostrar la primera parte razonamos por reducción alabsurdo: supongamos que ((∀xP (x)) ∨ (∀xQ(x))) es V y que ∀x (P (x) ∨Q(x))es F . De la segunda condición 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 eluniverso de los números naturales y los predicados P (x):=x es par y Q(x):=xes impar. Sea la sentencia todo número natural es o bien par o bien impar, esdecir ∀x(P (x) ∨ Q(x)). Esta sentencia es V . Sin embargo la sentencia todonúmero natural es par o todo número natural es impar, esto es, ∀xP (x) ∨∀xQ(x) es F .

Proposición 1.4.16 En cualquier universo de discurso y para cualquier pre-dicado P (x, y) la siguiente sentencia es verdadera

∀x∀yP (x, y) ⇔ ∀y∀x P (x, y)

Demostración.Demostramos primero la implicación de izquierda a derecha.Razonamos por reducción al absurdo: supongamos que ∀x∀yP (x, y) es V

y que ∀y∀xP (x, y) es F . De la segunda condición se sigue que existe b tal

Page 46: Apuntes de Matematicas Discretas(2)

46 CAPÍTULO 1. LÓGICA

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 ∀x∀yP (x, y) es F .

Para la otra implicación, o bien se razona análogamente a la implicaciónque acabamos de probar, o bien se aplica el resultado anterior a la sentencia∀y∀x P (x, y).

Ejercicio 13 Demostrar el siguiente hecho usando una demostración porcontrapositivo: Si a ≥ 0 es un número real tal que para todo número realpositivo, ε > 0, se tiene 0 ≤ a < ε, entonces a = 0.

1.4.5 Modelización de expresiones en forma simbólicaVeamos algunos ejemplos de como se expresan en lenguaje formal frases dellenguaje natural.

La sentencia Todos tenemos exactamente un alma gemela se puede mo-delizar de la siguiente forma:

Sea G(x, y) la sentencia y es el alma gemela de x. La sentencia quequeremos modelizar dice que para cualquier persona x, existe otra y que essu 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)))

Observación 1.4.17 Hay que tener cuidado con la negación de una senten-cia cuando viene afectada por un cuanticador. Supongamos que queremosnegar la sentencia

Todos los alumnos de esta clase han aprobado algún 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 negación sería

¬∀x [C(x) ⇒ (∃y (A(x, y) ∧ F (y)))]

que, según sabemos, es lógicamente equivalente a

∃x ¬ [C(x) ⇒ (∃y (A(x, y) ∧ F (y)))]

Page 47: Apuntes de Matematicas Discretas(2)

1.4. LÓGICA DE PREDICADOS 47

que a su vez es lógicamente equivalente a∃x ¬ [¬C(x) ∨ (∃y (A(x, y) ∧ F (y)))]

que a su vez es lógicamente equivalente a∃x [¬(¬C(x)) ∧ ¬(∃yA(x, y) ∧ F (y))]

que a su vez es lógicamente equivalente a∃x [C(x) ∧ (∀y ¬(A(x, y) ∧ F (y))]

que a su vez es lógicamente equivalente a∃x [C(x) ∧ (∀y (¬A(x, y) ∨ ¬F (y))] .

Es decir, la negación de la sentencia esExiste algún alumno de esta clase que o no ha aprobado ningún examen

(∀y (¬A(x, y))) o, si lo ha aprobado, no ha sido en febrero.Si preferimos quedarnos con la sentencia lógicamente equivalente a ésta dela penúltima línea se podría leer

existe algún alumno de esta clase que no ha aprobado ningún examen enfebrero.

Ejercicio 14 Escribir de forma simbólica las siguientes sentencias y su ne-gación, de manera que en la expresión nal no haya ningún cuanticadorprecedido del símbolo negación:

1. No todos los españoles son periodistas

2. Si algún caminante bosteza, todos los caminantes bostezan

3. Todo el mundo conoce a algún modisto

4. Entre dos números números reales distintos cualesquiera existe algúnnúmero racional

5. No existe un primo mayor que el resto de los números primos

Ejercicio 15 Sea xn una sucesión de números reales. Sea R+ el conjuntode los números reales positivos y N el conjunto de los números naturales. Sedice 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.

Page 48: Apuntes de Matematicas Discretas(2)

48 CAPÍTULO 1. LÓGICA

1.5 El razonamiento por inducciónEn esta sección revisamos una de las técnicas más potentes que emplearemoscon frecuencia para demostrar propiedades de objetos discretos (complejidadde algoritmos, teoremas sobre grafos, etc...)

El conjunto N de los números naturales es un conjunto caracterizado por,entre otras, la siguiente propiedad (volveremos sobre esto en el capítulo 3):Si A ⊂ N es tal que

1 ∈ A y∀n ∈ N (n ∈ A ⇒ (n + 1) ∈ A),

entonces A = N .Esta propiedad es la base de lo que se conoce como razonamiento por

inducción:

Proposición 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 .

Demostración. Sea A = n ∈ N |P (n) es V . La demostración consiste enver que A = N.

De las hipótesis se sigue que 1 ∈ A. Para ver que A = N sólo queda pordemostrar que si n ∈ A entonces (n + 1) ∈ A. Supongamos que n ∈ A; enese caso P (n) es V , y por la hipótesis 2 (P (n) ⇒ P (n + 1)) es V , con loque P (n) ∧ (P (n) ⇒ P (n + 1)) es V , y puesto que la sentencia p ∧ (p ⇒ q)implica lógicamente a la sentencia q, concluimos que P (n + 1) es V o, lo quees lo mismo, que (n + 1) ∈ A. Esto concluye que N = A.

El razonamiento por inducción se puede ver intuitivamente del siguientemodo: 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í sucesivamen-te. Como lo que se pretende es probar que P (n) es V para cada n naturales suciente observar que, por muy grande que sea n, se puede repetir el ar-gumento anterior tantas veces como sea necesario, pero siempre un númeronito de veces (exactamente n), y concluir que P (n) es V .

Page 49: Apuntes de Matematicas Discretas(2)

1.5. EL RAZONAMIENTO POR INDUCCIÓN 49

Observación 1.5.2 Es usual, al hacer un razonamiento por inducción, em-plear la siguiente jerga:

• P (1) es V es la base de inducción

• ∀n ∈ N (P (n) ⇒ P (n + 1)) es el paso de inducción

• Normalmente se hace una demostración directa del paso de inducción.La suposición de que P (n) es V para cierto n jo es conocida comohipótesis de inducción.

Ejemplo 1.5.3 Cualquier tablero cuadriculado de 2n× 2n casillas iguales alque se le ha quitado una casilla puede cubrirse con piezas de tres casillas enforma de L sin que se solapen.

Para demostrarlo razonamos por inducción sobre n:Base de inducción: P(1) es la proposición: Un tablero 2x2 al que se leha quitado una casilla puede cubrirse con piezas de tres casillas en formade L. Está claro que en este caso con una sola pieza basta y la sentencia esverdadera.Paso de inducción: Supongamos que para tableros de 2n × 2n casillas haysolución. Si ahora consideramos un tablero de tamaño 2n+1× 2n+1, podemosdescomponerlo en cuatro tableros de tamaño 2n×2n dividiéndolo por la mitadlongitudinal y transversalmente. Como en el tablero inicial falta una casilla,en una de las cuatro partes en que lo hemos dividido falta una casilla. Enlas otras tres partes quitamos la casilla de la esquina que se encuentra en elcentro del tablero. De esta forma las tres casillas que quitamos forman unaL. Ahora en cada una de las cuatro partes tenemos un tablero de tamaño2n × 2n al que le falta una casilla. Por tanto, por la hipótesis de inducción,podemos rellenar cada uno de ellos con piezas en forma de L por separado.Para acabar de rellenar el tablero original solo basta añadir una L en el huecocentral formado por las tres casillas que hemos quitado.

Ejercicio 16 Demostrar, razonando por inducción, la validez de las siguientesfórmulas:

∀n ∈ N,

n∑

k=1

k =n(n + 1)

2

∀n ∈ N,

n∑

k=1

(2k − 1) = n2

Page 50: Apuntes de Matematicas Discretas(2)

50 CAPÍTULO 1. LÓGICA

∀n ∈ N, 2n ≤ (n + 1)!.

Ejercicio 17 Demostrar por inducción que en efecto es una tautología laseñalada en el ejercicio 9.

1.5.1 Razonamiento por inducción completaEl razonamiento por inducción completa es equivalente al razonamiento porinducción, en el sentido de que cualquier demostración por inducción se puederealizar por inducción completa y recíprocamente, aunque hay casos en losque, por simplicidad, es conveniente emplear uno u otro método. Se trata dedemostrar la validez de una sentencia de la forma

(∀n ∈ N P (n)) .

El razonamiento por inducción completa consta de los siguientes pasos (ob-serva que la única diferencia con el razonamiento por inducción está en elpaso de inducción):

• Base de inducción: P (1) es V .

• Paso de inducción: Se demuestra que ∀n ∈ N (P (1) ∧ ... ∧ P (n)⇒ P (n + 1)) es V .

Como en el caso del razonamiento por inducción la conclusión es que lasentencia (∀n ∈ N P (n)) es V .

Ejemplo 1.5.4 Vamos a demostrar utilizando el método de inducción com-pleta, que todo número entero mayor que 1 es primo o producto de númerosprimos:Base de inducción: P(2) es verdadera pues 2 es primo.Paso de inducción: Supongamos que los números 2, ..., n son primos oproducto de primos. Si n+1 es primo, hemos acabado. En caso contrarion+1 es compuesto, es decir n+1 = pq , con 1 < p < n + 1 y 1 < q < n + 1.Por hipótesis de inducción p y q son primos o producto de primos, y, enconsecuencia n+1 también lo es .

Page 51: Apuntes de Matematicas Discretas(2)

1.5. EL RAZONAMIENTO POR INDUCCIÓN 51

Obsérvese que en este caso la demostración por inducción en lugar deinducción completa es más complicada ya que no podríamos armar, porhipótesis de inducción, que p y q son primos o producto de primos. Estosólo lo podríamos armar para n pues la hipótesis de inducción es P (n) y noP (1)∧...∧P (n).

1.5.2 Inducción estructuralEl método de inducción ordinaria se apoya en el hecho de que dado un númeronatural n, su sucesor n + 1 es único. La inducción estructural es una genera-lización de la inducción ordinaria que tiene lugar cuando, teniendo en cuentala estructura de los objetos que se están considerando, el paso de inducciónde un elemento al siguiente puede producirse en más de una dirección.

Este método es una herramienta utilísima para el tratamiento de muchosobjetos que aparecen en el ámbito de las ciencias de la computación, enparticular en la teoría de lenguajes formales y en la semántica de los lenguajesde programación.

El método consiste en denir en primer lugar una cierta construcción,como por ejemplo un programa en Pascal inductivamente, y demostrar algunapropiedad del programa por inducción sobre el número de aplicaciones de lasreglas del programa.

Ejemplo 1.5.5 Los números enteros vienen determinados por las siguientesreglas:

0 ∈ Z.Si n ∈ Z, entonces (n + 1) ∈ Z ∧ (n− 1) ∈ Z.

En este caso el paso de inducción tiene dos direcciones, es decir, para probarel paso de inducción habría que comprobar que si n satisface la propiedadobjeto de estudio, entonces también la satisfacen (n + 1) y (n− 1).

Veamos un ejemplo de una demostración por inducción estructural en estecontexto.

Dado a ∈ R, denimos an para n ∈ Z del siguiente modo:

a0 = 1

an+1 = an · a, an−1 =an

a.

Page 52: Apuntes de Matematicas Discretas(2)

52 CAPÍTULO 1. LÓGICA

En estas condiciones, para comprobar la ley

am+n = am · an

jamos m arbitrario y razonamos por inducción (estructural) en n:Base de inducción: para n = 0,

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

Paso de inducción: Supongamos válida la ley para n. Tenemos que de-mostrar que en ese caso la ley también es válida 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 hipótesis de inducción. Y también:

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

a=

= (am · an

a) = am · (a

n

a) = am · an−1,

donde de nuevo la igualdad tercera es la hipótesis de inducción. Con estoconcluimos, como consecuencia del razonamiento por inducción estructuralefectuado, que la ley es válida ∀n ∈ Z.

Ejemplo 1.5.6 Dada una forma proposicional A, denimos la forma pro-posicional 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.

Demostración. Razonamos por inducción estructural:

Page 53: Apuntes de Matematicas Discretas(2)

1.5. EL RAZONAMIENTO POR INDUCCIÓN 53

Base de inducción: Los únicos casos (casos básicos) para los que se pue-de aplicar directamente la denición de forma proposicional complementariason: si C = p,

comp(C) = comp(p) = ¬p = ¬C

y si C = ¬pcomp(C) = comp(¬p) = p = ¬¬p = ¬C.

Antes de hacer el paso de inducción recordar que ∧,∨,¬ es un conjuntoadecuado de conectivos por lo que toda forma proposicional se puede construirmediante las reglas de construcción de formas proposicionales y sólo usandoestos conectivos.

Paso de inducción. Hipótesis de inducción: Supongamos que cualquieforma proposicional con n conectivos lógicos del tipo ∧ o ∨ satisface el teo-rema. 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 Morgan) =

= ¬ (A ∨ B) = ¬C.

Donde la segunda igualdad es verdadera por hipótesis de inducción.Si C = A ∧ B, tendremos que

comp(A ∧ B) = comp(A) ∨ comp(B) =

= ¬A ∨ ¬B = (De Morgan) =

= ¬ (A ∧ B) = ¬C.

Donde la segunda igualdad es verdadera por hipótesis de inducción.Si C = ¬A entonces por las leyes de De Morgan ¬A admite una forma

equivalente, que denotamos igual, con el mismo número de conectivos del tipo∧ o ∨. De este modo, por hipótesis de inducción:

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

Por consiguiente, concluimos, como queríamos demostrar, que para cual-quier forma proposicional se tiene:

comp(C) = ¬C.

Page 54: Apuntes de Matematicas Discretas(2)

54 CAPÍTULO 1. LÓGICA

1.6 Aplicaciones1.6.1 Corrección de algoritmos y vericación de progra-

masComo estudiaremos con más detalle en el siguiente capítulo, un algoritmoes una rutina o procedimiento mecánico que acepta un cierto conjunto deinputs, para cada uno de los cuales obtiene un output tras un número nitode pasos. Por un programa entenderemos una expresión o una secuencianita de expresiones en algún lenguaje de programación. El concepto de pro-grama está relacionado con el concepto de algoritmo, pero no es exactamenteigual, pues un programa es la realización concreta de un algoritmo, pero unalgoritmo puede ser programado (o implementado) en diferentes lenguajesde programación. En el siguiente capítulo estudiaremos el concepto de e-ciencia relacionado con los algoritmos (tiempo de ejecución y necesidades dememoria). En esta sección nos ocuparemos de la siguiente pregunta: ¾Cuán-do podemos asegurar que un algoritmo (o el programa que lo implementa)es correcto (i.e., que hace aquello para lo que fue diseñado)? Probar queun algoritmo es correcto requiere métodos de demostración similares a losestudiados en el desarrollo del capítulo. En cualquier caso, vericar que unalgoritmo es correcto puede ser una tarea muy difícil. Sólo algoritmos rela-tivamente simples pueden ser vericados utilizando las técnicas que vamos adescribir a continuación. En cualquier caso, la comprensión de estas técnicases seguro que servirá de ayuda para diseñar algoritmos de una manera mejor.

Por otra parte es imposible diseñar un método que nos permita vericarla corrección de cualquier programa. Esto es una consecuencia del teoremade incompletitud de Gödel sobre los límites del razonamiento formal. Noobstante, este resultado nos permite garantizar que no es posible desarrollaruna maquinaria general de vericación de la corrección de programas, peroel tipo de programas que aparecen en la práctica no son, en cualquier caso,totalmente generales, así que podemos desarrollar métodos de vericación enalgunos casos importantes. Más aún, al hacerlo estaremos mejorando nuestrametodología de programación. El ideal sería diseñar programas junto con lasdemostraciones de su corrección.

La vericación de programas está muy relacionada con lo que se deno-mina Demostración automática de teoremas. De hecho, para ser rigurosocon el concepto de vericación, necesitaríamos una descripción precisa deaquello que se pretende que el programa haga, y esto debe expresarse en

Page 55: Apuntes de Matematicas Discretas(2)

1.6. APLICACIONES 55

un lenguaje diseñado para este propósito. A este tipo de lenguajes se lesdenomina lenguajes de especicación.

En cualquier caso el objetivo de este apartado es remarcar el papel quejuega la inducción en las iteraciones y recursiones que se emplean en muchoslenguajes de programación, para lo que incluimos algunos ejemplos para ilus-trar las ideas.

Ejemplo 1.6.1 Consideremos el siguiente fragmento de programa, diseñadopara calcular el producto de dos números naturales a y b utilizando sólo lasuma, la multiplicación por 2 y la división por 2:

r := 0 m := a n := bwhile m > 0

if m es impar then r := r + nm := m/2n := 2n

En las sentencias anteriores, m/2 representa el número parte entera delcociente de m entre 2. La intención es que si a y b son los valores iniciales delas variables m y n, entonces el programa debería terminar con la variabler con el valor ab. Por ejemplo, para a = 11 y b = 26, el programa haría losiguiente:

m n r11 26 05 52 262 104 781 208 780 416 286

es decir, el output es 286=11·26.Este programa particular tiene una estructura muy simple: después de

asignar el valor 0 a la variable r, ejecuta la iteración while hasta que lavariable m toma el valor 0. Probaremos por inducción sobre k que, despuésde k ejecuciones de la iteración while, los valores que alcanzan m, n y rsatisfacen la igualdad:

m · n + r = ab

Page 56: Apuntes de Matematicas Discretas(2)

56 CAPÍTULO 1. LÓGICA

Base de inducción: si k = 0, es decir, si estamos justo antes de que laiteración 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 inducción: Supongamos el resultado para k, estrictamentemenor que el número de veces que se repite el bucle. Sean a1, b1 y c1 losvalores de m, n y r antes de la iteración k + 1, y a2, b2 y c2 los valores de m,n y r después de dicha iteración. Por hipótesis de inducción

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, b2 = 2b1 y c2 = c1, por lo que

a2 · b2 + c2 =a1

2· 2b1 + c1 = ab.

b) si a1 es impar, entonces a2 = (a1−1)2

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

a2 · b2 + c2 =(a1 − 1)

2· 2b1 + c1 + b1 = a1b1 − b1 + c1 + b1 = ab

con lo que la demostración por inducción está completa.

Una vez realizada esta demostración podemos asegurar que el programa(en este caso el fragmento de programa) es correcto parcialmente ya que siel programa termina, entonces da la respuesta correcta. El otro ingredientede la demostración de corrección es la terminación. Para que el programasea correcto, tenemos que demostrar que el programa siempre termina.

Examinando la clausula while, vemos que el programa termina sólo cuan-do m toma el valor 0, y por otro lado en cada iteración de la clausula whileel valor de m decrece. Esto signica que, como máximo en la repetición m-ésima, tomará el valor 0, por lo que podemos asegurar que el programa escorrecto.

Page 57: Apuntes de Matematicas Discretas(2)

1.6. APLICACIONES 57

1.6.2 Ingeniería del conocimiento: sistemas expertosUn sistema experto es un sistema informático diseñado para resolver pro-blemas en un área especíca, y al que de algún modo se le ha dotado deuna competencia similar a la de un experto humano de ese área. Así porejemplo, MYCIN es un sistema experto en diagnóstico y tratamiento de unnúmero muy reducido de enfermedades infecciosas de la sangre, y PROSPEC-TOR es un sistema experto en determinar la probabilidad de la existenciade yacimientos de ciertos minerales a partir de las pruebas realizadas sobreel terreno.

Según el caso, el objetivo de un sistema experto puede ser el de sustituiral experto humano o el de ayudar a los expertos humanos a tratar con vo-lúmenes de información que desbordan su capacidad. En cualquier caso elobjetivo nal es el mismo de todas las aplicaciones informáticas: relevar alhombre de tareas mecánicas y proporcionarle instrumentos amplicadores desus capacidades mentales. Los sistemas expertos se construyen siguiendo unaconcepción modular. Por una parte se construye una base de conocimientoso base de hechos y por otra se desarrollan los procedimientos que permitenmanipular esa base para obtener una respuesta con datos concretos (motorde inferencia). Los problemas que surgen en relación con estos dos aparta-dos han dado lugar a un área de trabajo que se conoce como ingeniería delconocimiento.

En este apartado veremos cómo se utilizan las expresiones lógicas pararepresentar el conocimiento y, en particular y para no complicar mucho laexposición, las sentencias de la lógica proposicional.

Un sistema de producción es un modelo de computación que distingue trescomponentes: una base de hechos, una base de conocimientos y un motorde inferencias. La base de comocimientos no es necesariamente una base dedatos en el sentido informático habitual: según el sistema puede ser desdeuna tabla de números hasta una base de datos en sentido propio.

Las reglas de producción se aplican sobre la base de hechos, cambiando suestado y el sistema de control gobierna estos procedimientos y aplicacionesy hace que la computación se detenga cuando el estado de la base de datossatisface alguna condición de terminación predenida.

La base de hechos contendrá los hechos iniciales y los que se vayan obte-niendo como consecuencias en el proceso inferencial. Las reglas de producciónson pares ordenados (A,B). Según el tipo de sistema se denominan anteceden-te y consecuente, condición y acción o premisa y conclusión. Su formalización

Page 58: Apuntes de Matematicas Discretas(2)

58 CAPÍTULO 1. LÓGICA

lógica es la de las sentencias condicionales A⇒B. Por ejemplo, en la base deconocimientos del sistema XCON hay unas 2500 reglas. Una de ellas es:

Si el contexto actual es el de asignar una fuente de alimentación,y se ha colocado un módulo SBI en un armario,y se conoce la posición que ocupa el módulo,y se dispone de una fuente de alimentación,entonces colocar la fuente en dicha posición.

Es claro que, independientemente del signicado de esas expresiones en elcontexto 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, podríamos considerarlas 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 coñac.

La formalización de tales reglas sería:

R1 : [f ∧ t ∧m] ⇒ g

R2 : [(g ∨ r) ∧ (¬u)] ⇒ (a ∧ c)

Utilizando las equivalencias lógicas vistas, la regla R2 es lógicamenteequivalente a

[(g ∧ (¬u)) ⇒ a] ∧ [(g ∧ (¬u)) ⇒ c] ∧ [(r ∧ (¬u)) ⇒ a] ∧ [(r ∧ (¬u)) ⇒ c]

Page 59: Apuntes de Matematicas Discretas(2)

1.6. APLICACIONES 59

y en consecuencia se podría descomponer en las siguientes:

R2a : (g ∧ (¬u)) ⇒ a

R2b : (g ∧ (¬u)) ⇒ c

R2c : (r ∧ (¬u)) ⇒ a

R2d : (r ∧ (¬u)) ⇒ c.

Ante una situación concreta en la que se hace una consulta al sistema, setiene la evidencia de que un subconjunto de esos hechos son verdaderos y setrata de encontrar qué otros hechos pueden inferirse de esa certidumbre y delas reglas.

Si por ejemplo hiciésemos una consulta al sistema sobre un paciente quesatisface los hechos f, t, m y ¬u, el sistema trataría de aplicar las reglaspara ver qué terapia habría que aplicar. Así pues, sabiendo que tenemos loshechos f, t,m y ¬u, podemos hacer las siguientes inferencias, usando la reglade inferencia modus ponens:

f ∧ t ∧mR1 : [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 coñac.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 cientoso de miles), y en general hay que establecer en qué orden y de qué maneraaplicamos las reglas (es decir, cuál o cuáles se aplican primero) para establecerel procedimiento de inferencia.

Para esto, hay dos estrategias básicas:

1. Ir aplicando cuantas reglas de producción y cuantas reglas de inferenciase puedan para ir sucesivamente ampliando la base de hechos, que es lo

Page 60: Apuntes de Matematicas Discretas(2)

60 CAPÍTULO 1. LÓGICA

que hemos hecho en el ejemplo y que se conoce como encadenamientohacia adelante.

2. Fijarse un hecho como objetivo y tratar de deducirlo, viendo de quéreglas de producción es consecuente. Este es el principio de encadena-miento hacia atrás.

En otras palabras, el encadenamiento hacia adelante consistiría en ir re-corriendo 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 he-chos 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 yano puedan aplicarse reglas.

Cuando no se trata de derivar cuantas conclusiones se puedan, sino de in-ferir un objetivo, o vericar que un hecho concreto es consecuencia de otroshechos y de las reglas de producción, lo que procede es aplicar el encade-namiento hacia atrás, para lo cual, si por ejemplo intentamos ver si puedededucirse un hecho x, buscaríamos en primer lugar las reglas en las que gu-ra como consecuente, y a partir de ellas iríamos realizando el estudio haciaatrás.

Un lenguaje gráco muy adecuado es el de los árboles de decisión queestudiaremos en su momento.

1.7 EjerciciosEjercicio 18. Escribe la tabla de verdad de las siguientes proposiciones:

1) ((p ∨ ¬q) ∧m) ⇒ m2) (¬q ∨ (p ⇒ q)) ⇒ ¬p3) (p ⇒ (m ∨ n)) ⇒ m4) (p ⇒ (m ∧ n)) ⇒ m

Ejercicio 19. Determina si el siguiente razonamiento es correcto: todoestudiante de esta clase mide menos estrictamente que 1.70 o más de 1.70.Pedro mide más de 1.70 luego es de esta clase.

Ejercicio 20. Sea X el conjunto de países e Y el conjunto de deportesolímpicos. La sentencia M(x, y) signica que el país x ∈ X ha ganandouna medalla en el deporte y ∈ Y . Escribe las siguientes frases utilizando

Page 61: Apuntes de Matematicas Discretas(2)

1.7. EJERCICIOS 61

cuanticadores, evitando la aparición de un signo de negación delante de uncuanticador:

Ningún país ha ganado todas las medallas.Todos los países han ganado alguna medalla.Algún país ha ganado alguna medalla.Algún país no ha ganado ninguna medalla.

Ejercicio 21. Sea N el conjunto de los números naturales y P (a, b) la sen-tencia a divide a b (esto es, el resto de dividir b entre a es 0). Determina elvalor 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 ∈ N∀n ∈ N P (m,n)∃m ∈ N∀n ∈ N P (m,n)∃n ∈ N∀m ∈ N P (m,n)∀n ∈ N P (1, n)∀m ∈ N P (m, 1)

Ejercicio 22. Escribe formalmente las siguientes frases y su negación enlenguaje formal y en lenguaje natural:

Si vale menos de 1000 pts, comeré en la cafetería.Todos los habitantes de Madrid viajan en metro.Ningún habitante de Móstoles coge el autobús.Hay personas en todas las ciudades que usan el transporte público.

Ejercicio 23. Demuestra por inducción las siguientes armaciones:12 + 22 + ... + n2 = n(n + 1)(2n + 1)/6.2n > n + 1 para cada entero mayor o igual que 2.xn − yn 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 armación ∀x∃yP (x, y) cierta no lo sea la armación∃x∀yP (x, y).

Ejercicio 25. Demuestra por casos la propiedad del valor absoluto por lacual:

Page 62: Apuntes de Matematicas Discretas(2)

62 CAPÍTULO 1. LÓGICA

|xy| = |x||y|

Ejercicio 26. Demuestra poniendo un contraejemplo que las siguientes ar-maciones no son verdaderas:

Todo entero mayor que 17 es el cuadrado de un número entero.Todo entero mayor que 6 es múltiplo de 2 ó de 3.100n + 1 > n2 para todo entero n.

Ejercicio 27. Demuestra por reducción al absurdo las siguientes armacio-nes: √

2 no es racional,si un número 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 género femenino, por tanto venda es feme-

nino 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 resueltosLos ejercicios 1, 2, 3, 4 y 18 se presentan resueltos con Maple.

1.8.1 Lógica con MapleEl programaMaple permite trabajar algunos aspectos de lógica, que se cargancon el paquete logic.

> restart; with(logic);Nos interesan en este momento algunas de estas funciones:bequal (B1,B2) - comprobación de la equivalencia lógica de las expre-

siones B1 y B2.

Page 63: Apuntes de Matematicas Discretas(2)

1.8. EJERCICIOS RESUELTOS 63

tautology(B) - comprobación si la expresion B es una tautología.convert/toinert - para poder evaluar.bsimp(A)- simplica una expresión.Para obtener más información sobre facilidades lógicas de Maple se puede

consultar la ayuda.> ?logic;

Conectivos lógicosMaple sólo tiene los conectivos lógicos and, or, not. Son sucientes

por las equivalencias lógicas de la implicación y la doble implicación consentencias lógicas sólo hechas con and, or y not. Para evaluar las funcioneshay que poner delante el símbolo & con que se representa la conjunción y.

> p and q;

p and q

> p or q;

p or q

> not p;

not p

Usemos la función bequal para comprobar que la negación de (p orq) 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 función implies. Laimplicación 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 implicación(impl) y la doble implicación (la vamos a llamar dimpl). Recordemos quep dimpl q es equivalente a (p impl q) and (q impl p).

Page 64: Apuntes de Matematicas Discretas(2)

64 CAPÍTULO 1. LÓGICA

> 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 usoVeamos algunos ejemplos donde se comprueba que ciertas expresiones son

tautologías. La función convert/toinert pone los símbolos & para que sepueda 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 tautologías:> tautology(convert(ej2_1,toinert));

true

> tautology(convert(ej2_2,toinert));

true

> tautology(convert(ej2_3,toinert));

true

> tautology(convert(ej2_4,toinert));

Page 65: Apuntes de Matematicas Discretas(2)

1.8. EJERCICIOS RESUELTOS 65

true

> tautology(convert(ej2_5,toinert));

true

Ejercicio 3.1. La equivalencia entre la doble implicación y la conjunción de las dos

implicaciones (en realidad esto sólo comprueba que hemos hecho las cosasbien pues así hemos denido la doble implicación 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 contrarrecíproca:> 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 implicación: p implica q es equivalente a que pand not q implica not p:

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

Page 66: Apuntes de Matematicas Discretas(2)

66 CAPÍTULO 1. LÓGICA

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. Reducción al absurdo:> C:=dimpl(p,impl(not p,p));

C := true

> tautology(convert(C,toinert));

true

5. Reducción al absurdo:> E:=dimpl(p,impl(not p,q and not q));

E := true

Ejercicio 4.Doble negación:> 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)):

Page 67: Apuntes de Matematicas Discretas(2)

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 pequeño

procedimiento en Maple. Se construyen para una, dos y tres variables y losnombres de las variables los da el nombre del procedimiento.

Page 68: Apuntes de Matematicas Discretas(2)

68 CAPÍTULO 1. LÓGICA

> 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 elnombre. Si queremos añadir más variables no hay más que introducir otrobucle.

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

Page 69: Apuntes de Matematicas Discretas(2)

1.8. EJERCICIOS RESUELTOS 69

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

Page 70: Apuntes de Matematicas Discretas(2)

70 CAPÍTULO 1. LÓGICA

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

> 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

Page 71: Apuntes de Matematicas Discretas(2)

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

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

> 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

Page 72: Apuntes de Matematicas Discretas(2)

72 CAPÍTULO 1. LÓGICA

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) A2 := q ⇒ ¬r

A3 := p A4 := q ∧ ¬r.

Se trata de demostrar que la proposición siguiente P es una tautología:

A1 ∧ A2 ∧ A3 ⇒ A4.

Si tomamos p = V , q = F y r = V se observa que la proposición P toma elvalor F con lo que no es una tautología.

Page 73: Apuntes de Matematicas Discretas(2)

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 hipótesis es:

A1 := (q ∧ r ∧ s) ⇒ p.

La segunda hipótesis es:A2 := (q ∧ s) ⇒ r.

La conclusión es:B := s ⇒ p

Se trata de demostrar si la siguiente proposición es una tautología:

(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

proposición siguiente es en efecto una tautología:

((p ⇒ q ∧ i) ∧ q ∧ ¬i) ⇒ ¬p.

3) Si h es hay huelga, s es el sindicato miente y r es el ministro tiene razónentonces el razonamiento que se presenta no es correcto porque la siguienteproposición no es una tautología:

(¬h ⇒ s ∨ r) ∧ (h ∨ (¬h ∧ ¬r)) ⇒ ¬s.

Ejercicio 7. Sean p := José ganó la carrera, q :=Pedro fue el segundo,r :=Ramón fue el segundo y s :=Carlos fue el segundo.

El razonamiento que se presenta es correcto porque la siguiente proposi-ción es una tautología:

((p ⇒ q ∨ r) ∧ (q ⇒ ¬p) ∧ (s ⇒ ¬r) ∧ p) ⇒ ¬s.

En efecto, como la última hipótesis es p podemos suponer que p es verdadero.Como p es verdadero la primera hipótesis dice que o bien q es verdadero o loes r. La segunda hipótesis indica que si q es verdadero entonces p es falso, por

Page 74: Apuntes de Matematicas Discretas(2)

74 CAPÍTULO 1. LÓGICA

tanto no se puede dar q verdadero. Entonces r es verdadero. La sentenciacontrarrecíproca de la tercera hipótesis indica que si r es verdadero entonces¬s es verdadero, como queríamos demostrar.

Ejercicio 8. Si a > b entonces existe un número natural d tal que a = b+ d.De igual manera si b > c entonces existe un número natural d′ tal que b =c + d′. De este modo usando ambas igualdades se puede escribir

a = b + d = (c + d′) + d = c + (d + d′)

con lo que efectivamente se verica a > c.

Ejercicio 9. La tautología que justica el método de demostración por casoses:

((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 sólo por V.

Ejercicio 10. El ejercicio es consecuencia de las siguientes equivalenciaslógicas:

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 hipótesis P (x)∧¬P (x) es siempre falsa la implicaciónes siempre verdadera.

Page 75: Apuntes de Matematicas Discretas(2)

1.8. EJERCICIOS RESUELTOS 75

Ejercicio 12. Se deducen directamente de la tautología:

∃x P (x) ⇔ ¬(∀x¬P (x))

en el primer caso aplicándola a ¬P (x) y en el segundo caso tomando laequivalencia de las negaciones.

Ejercicio 13. Razonamos demostrando la sentencia contrarrecíproca: sia 6= 0, como es a ≥ 0 entonces se tiene a > 0. De este modo tomando ε = ase verica que existe ε vericando 0 < ε ≤ a.

Ejercicio 14.1) Sea el universo U de las personas y los predicados E(x) = ser español

y P (x) = ser periodista:

¬(∀x ∈ U(E(x) ⇒ P (x)))

o equivalentemente∃x ∈ U(E(x) ∧ ¬P (x)).

Su negación es:∀x ∈ U(E(x) ⇒ P (x))

esto es, todos los españoles 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 negación 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 negación es:

∃x ∈ U ∀y ∈ U (¬P (x, y) ∨ ¬M(y)).

Esto es, existen personas que no conocen a ningún modisto.

Page 76: Apuntes de Matematicas Discretas(2)

76 CAPÍTULO 1. LÓGICA

4)∀p, q ∈ R p < q ∃s ∈ Q p < s < q

Su negación es:

∃p, q ∈ R p < q ∀s ∈ Q ((s ≥ q) ∨ (s ≤ p)).

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

∀p ∈ P ∃q ∈ P p < q.

Su negación es:∃p ∈ P ∀q ∈ P p ≥ q.

Esto es, existe un número primo mayor que el resto de los números primos.

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

¬(∀ε ∈ R+(∃n ∈ N(∀m ∈ N(m > n ⇒ |xm − a| < ε))))

o equivalentemente, usando la equivalencia lógica entre la implicación p ⇒ qy ¬p ∨ q:

∃ε > 0 ∀n ∃m > n |xm − a| > ε.

Ejercicio 16. Demostraciones por inducción:i) 1 + ... + n = n(n + 1)/2.

Base de inducción: en efecto se cumple que 1 = (1 · 2)/2.Paso de inducción: usando la hipótesis de inducción se tiene:

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

Y es una comprobación vericar la igualdad de polinomios:

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

ii)Σn

k=1(2k − 1) = n2.

Page 77: Apuntes de Matematicas Discretas(2)

1.8. EJERCICIOS RESUELTOS 77

Base de inducción: en efecto se cumple que 1 = 1.Paso de inducción: usando la hipótesis de inducción se tiene:

Σn+1k=1(2k − 1) = Σn

k=1(2k − 1) + (2n + 1) = n2 + 2n + 1.

Y en efecto se tiene:n2 + 2n + 1 = (n + 1)2.

iii) 2n ≤ (n + 1)!.Base de inducción: en efecto se cumple que 2 ≤ 2! = 2.Paso de inducción: usando la hipótesis de inducción se tiene:

2n+1 = 2n · 2 ≤ (n + 1)!2.

Y como 2 ≤ n + 2 se tiene que:

2n+1 ≤ (n + 2)!

como queríamos demostrar.

Ejercicio 17. Base de inducción: ((p ⇒ a1) ∧ (a1 ⇒ q)) ⇒ (p ⇒ q) es unatautología como vimos en los apuntes.

Paso de inducción: Es una consecuencia inmediata de la equivalencialógica:

(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) : elestudiante x es de esta clase. Sea P (x) : El estudiante x mide estrictamentemenos que 1.70. El razonamiento se puede simbolizar en la forma

(H1 ∧H2) ⇒ T

dondeH1 := ∀x ∈ U R(x) ⇒)P (x) ∨ ¬P (x)).

H2 := ¬P (a)

T := R(a)

Page 78: Apuntes de Matematicas Discretas(2)

78 CAPÍTULO 1. LÓGICA

y donde a representa a Pedro. Observamos que H1 es siempre V y quetomando R(a) := F y P (a) := F se tiene que el razonamiento no es válido.

Ejercicio 20.Ningún país ha ganado todas las medalla:

¬(∃x∀y M(x, y).

O equivalentemente∀x∃y¬M(x, y).

Todos los países han ganado alguna medalla: ∀x∃y M(x, y).Algún país ha ganado alguna medalla: ∃x∃y M(x, y).Algún país no ha ganado ninguna medalla ∃x∀y ¬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 cafetería.Sea U el conjunto de posibles precios de la comida. Sea P (x) : x < 1000.

Sea q : comeré en la cafetería. Nuestra frase es, en lenguaje formal, P (x) ⇒ q.Su negación es ¬ (P (x) ⇒ q), que es lógicamente 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 cafetería.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 negación es ¬∀x ∈ U P (x)que es lógicamente equivalente a ∃x ∈ U ¬P (x). En lenguaje natural:

existe algún habitante de Madrid que no viaja en metro.Ningún habitante de Móstoles coge el autobús.Sea U el conjunto de habitantes de Móstoles. Sea P (x) : x coge el autobús.

La frase es en lenguaje formal ¬(∃x ∈ U P (x)). Su negación es ∃x ∈ U P (x).En lenguaje natural:

existe algún habitante de Móstoles que coge el autobús.Hay personas en todas las ciudades que usan el transporte público.

Page 79: Apuntes de Matematicas Discretas(2)

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 público en la ciudad y. Entonces, en lenguajeformal, nuestra frase es ∀y ∈ V ∃x ∈ U P (x, y). Su negación es ¬∀y ∈V ∃x ∈ U P (x, y), que es lógicamente 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 pú-blico.

Ejercicio 23. a)

P (n) :n∑

k=1

k2 =n(n + 1)(2n + 1)

6

Veriquemos la base de inducción P (1). Por una parte,

1∑

k=1

k2 = 1

y por otra1(1 + 1)(2 · 1 + 1)

6= 1

En consecuencia, P (1) es V .Veriquemos que bajo la hipótesis de inducción (P (n) es V ) es P (n) ⇒

P (n + 1) también V ; es decir, que P (n + 1) es V. Para ello calculamos

n+1∑

k=1

k2 =n∑

k=1

k2 + (n + 1)2 = (por hipótesis de inducción)

=

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

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

[n(2n + 1)

6+ (n + 1)

]=

= (n + 1)

[2n2 + 7n + 6

6

]== (n + 1)

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

6

lo que implica que, en efecto, es P (n + 1) verdadero. Por inducción, ∀n ∈ N,P (n) es V .

b)

Page 80: Apuntes de Matematicas Discretas(2)

80 CAPÍTULO 1. LÓGICA

P (n) : 2n > n + 1 para n ≥ 2.Nuestro argumento comienza en n = 2. Por tanto, la base de inducción lapodemos tomar como P (2). P (2) es V , ya que 22 > 2 + 1. La hipótesis deinducción es que P (n) es V . Veriquemos que bajo esta hipótesis, es P (n+1)verdadera:

2n+1 = 2n2 > (por hipótesis de inducción)

> (n + 1) · 2 = n + 2 + n > n + 2 = (n + 1) + 1

Luego ∀n ∈ N, P (n) es V .c)

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

La base de inducción es V , ya que x − y es divisible por x − y (obvio). Lahipótesis de inducción es que xn−yn es divisible por x−y. Veamos si P (n+1)es V :

xn+1 − yn+1 = x(xn − yn) + (x− y)yn

que es claramente divisible por (x − y) si lo es (xn − yn). Por inducción,∀n ∈ N, P (n) es V .

Ejercicio 24. Sea P (x, y): y es el padre de x. Es claro que todo x tiene unpadre, pero no es cierto que exista al menos un x que es hijo de y (que puedeno 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 número entero.Por ejemplo, el 21 no es el cuadrado de un entero, ya que 42 = 16 es menorque 21 y 52 = 25 es mayor.

Todo entero mayor que 6 es múltiplo de 2 ó de 3. El 23 es primo.

Page 81: Apuntes de Matematicas Discretas(2)

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í demodo que √

2 = p/q.

Elevando al cuadrado se obtiene 2q2 = 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 demodo que p = 2r con lo que p2 = 4r2. De este modo 2q2 = p2 = 4r2 de dondese deduce que q2 es par y por tanto q es par. Entonces p y q son ambos paresen contradicción 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 dosnúmeros racionales por tanto racional. Como π no es racional tenemos lacontradicción.

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

[(p ⇒ q) ∧ p] ⇒ q.

El razonamiento es válido (modus ponens).b) Sea p :=la comida incluye el primer plato y q :=la comida incluye el

segundo plato. El razonamiento sería [p ∧ q] ⇒ p. Esto es una tautología,ya que la implicación solo puede ser falsa si p ∧ q es V y p es F . Pero estoes imposible, porque para que p ∧ q sea V es necesario que p sea V . Elrazonamiento es correcto.

c) Sea p :=Venda es una palabra de género femenino. Sea q :=Vendaes una palabra singular. El razonamiento sería p ⇒ [p ∧ q]. Esto no esuna tautología, ya que si p es V y q es F se tiene V ⇒ F que es F . Elrazonamiento no es correcto.

d) Sea v :=vale menos de 100, s :=tengo dinero suciente, c :=lo com-pro. El razonamiento es correcto puesto que la siguiente sentencia es unatautología:

((v ⇒ s) ∧ (s ⇒ c) ∧ v) ⇒ c.

Page 82: Apuntes de Matematicas Discretas(2)

82 CAPÍTULO 1. LÓGICA

Page 83: Apuntes de Matematicas Discretas(2)

Capítulo 2

Algoritmos

En este capítulo abordaremos el tema del diseño y evaluación de algorit-mos, es decir, de procedimientos automáticos de resolución de problemas.Se denirá el concepto de algoritmo, se describirá el lenguaje en que vamosa escribir los algoritmos (pseudocódigo) y se introducirá una medida de labondad de un algoritmo: la complejidad en el peor de los casos, esto es, unaestimación del número de operaciones básicas que realiza el algoritmo en elcaso más complicado.

Se pretende que al nal del capítulo el alumno:

• Conozca los conceptos de modelo computacional, algoritmo y comple-jidad y sepa discernir si un procedimiento es o no un algoritmo.

• Escriba algoritmos en pseudocódigo.

• Construya algoritmos sencillos y sea capaz de analizarlos, estudiandosu complejidad.

2.1 Deniciones y ejemplosUno de los puntos principales de relación entre las matemáticas y la infor-mática es la resolución automática de problemas, esto es, la construcciónde métodos que permitan abordar con la ayuda del ordenador situacionesmatemáticamente complicadas o laboriosas. Las calculadoras y, más recien-temente, los programas de cálculo simbólico (Derive, Maple, Mathematica,Mathlab...) son ejemplos de la ayuda eciente que presta la máquina en

83

Page 84: Apuntes de Matematicas Discretas(2)

84 CAPÍTULO 2. ALGORITMOS

tediosas o complejas cuentas u otros procedimientos donde habitualmenteel tiempo y la probabilidad de error al realizarse por una persona son muygrandes.

El cliente plantea un problema que se puede formular en términos precisosy el informático hace riguroso el planteamiento del problema, estudia sipresenta solución, diseña un procedimiento para buscar dicha solución,demuestra que su método resuelve el problema y estudia la eciencia dedicho método.

Problema realPlanteamiento formalPresenta solución

Algoritmo que da la soluciónDemostración

Estudio de la eciencia

En el tema anterior se introdujo el lenguaje de la lógica como ejemplo delo que quiere decir ser riguroso y formalizar el enunciado de un problema.En este tema analizaremos las siguientes etapas del proceso: construcciónde algoritmos, demostración de su solvencia y estudio de su eciencia, in-troduciendo el concepto de complejidad y su formalización matemática.

Denamos el concepto de algoritmo, poniendo el acento en los elementosque lo conforman.

Denición 2.1.1 Se dene algoritmo como un procedimiento constructivopara la resolución de un problema que consta de los siguientes elementos:unos datos de entrada de naturaleza precisamente denida, una cantidadnita de instrucciones ordenadas que aplicadas a los datos de entrada ofrecen,tras una cantidad nita de operaciones, una solución precisa del problema departida.

Dos comentarios sobre el término algoritmo:i) proviene del nombre del matemático árabe del siglo IX Al-khowarizmi,ii) tiene un signicado más amplio que el meramente aplicado a las

matemáticas, como procedimiento denido paso a paso y encaminado a uncierto n.

Page 85: Apuntes de Matematicas Discretas(2)

2.1. DEFINICIONES Y EJEMPLOS 85

Resaltamos que:i) la naturaleza de los datos de entrada debe ser exactamente descrita

(una lista de números 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, elalgoritmo siempre termina, aportando un valor de salida;

iii) se describe una demostración o al menos una evidencia de que elalgoritmo resuelve el problema;

iv) se estudia en profundidad y en términos precisos la complejidaddel algoritmo, es decir, de alguna manera (que precisaremos), el tiempo (o elespacio) que va a necesitar para obtener la solución de este problema.

v) la respuesta es precisa, lo que signica que se obtiene el resultadoesperado. Esto no quiere decir que la respuesta sea necesariamente exacta,sino que cumple las condiciones que se la exigen. A saber, se puede porejemplo diseñar un algoritmo para obtener el valor numérico aproximado deuna cierta integral (o un límite, o una operación...) con un error del ordende las milésimas. Si el algoritmo está bien construido, el resultado no esnecesariamente el valor exacto de dicha integral (o límite, u operación...),pero verica las condiciones pedidas, esto es, aproxima la solución exactacon un error menor que 1 milésima.

De las observaciones i) y ii) del párrafo anterior se deduce que cuando sediseña un algoritmo se debe saber con qué tipo de datos se puede trabajary cuáles son las operaciones básicas que se pueden considerar; estos doselementos constituyen lo que se suele denominar modelo computacional.

Un modelo computacional habitual es el conocido como RAM (randomaccess machine) donde los datos están formados por números enteros y lasoperaciones básicas son las siguientes:

i) Asignación a un dato de una dirección de memoria.ii) Las operaciones de suma, resta, multiplicación y división (cálculo

de cociente y resto) de números enteros.iii) La comparación de dos números 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 ar-

quitectura de los ordenadores por un lado y por otro la tecnología de la

Page 86: Apuntes de Matematicas Discretas(2)

86 CAPÍTULO 2. ALGORITMOS

programación hacen de un modelo computacional una máquina concreta queadmite esos datos (adecuadamente representados) como datos de entrada yrealiza con ellos esas operaciones básicas y todas aquellas otras que se puedenrealizar como combinación de las operaciones básicas.

En este sentido podemos poner otros ejemplos de modelos computacio-nales.

Ejemplos 2.1.2 i) La Geometría con regla y compás. Donde los datos sonpuntos, rectas y circunferencias y las operaciones básicas son:

a) apoyar la regla en un punto,b) apoyar una pata del compás en un punto,c) apoyar una pata del compás en una recta,d) producir una recta con la regla,e) producir una circunferencia con el compás,f) intersecar rectas, circunferencias y rectas con circunferencias.

ii) El modelo conocido como Real RAM donde los datos de entrada sonnúmeros reales en lugar de enteros y las operaciones básicas son las mismasque en el RAM.

Y hay una primera interesante cuestión de saber qué tipo de proble-mas se pueden resolver dentro de un modelo computacional. Es conocido(aunque tardó varios siglos en descubrirse) que los problemas de la trisecciónde un ángulo (dividir un ángulo en tres sectores iguales), la duplicación delcubo (dado un cubo construir otro que tenga exactamente el doble de volu-men que el primero) y la cuadratura del círculo (dado un círculo construir uncuadrado con exactamente el mismo área) no se pueden resolver con regla ycompás, esto es, no hay un algoritmo cuyas instrucciones estén formadas porcombinaciones de las operaciones básicas del modelo computacional denomi-nado Geometría con regla y compás que permita realizar esas construcciones.

Una segunda cuestión importante es la de conocer los problemas querealmente se pueden resolver en un modelo computacional. Es decir,aquellos problemas para los que la sucesión de operaciones que efectúa elalgoritmo que los resuelve precisa de un tiempo razonable (no de miles deaños por ejemplo) para aportar la solución del problema. Haremos otras con-sideraciones acerca de esta segunda pregunta más adelante cuando hablemosde la complejidad.

Page 87: Apuntes de Matematicas Discretas(2)

2.1. DEFINICIONES Y EJEMPLOS 87

Ejemplo 2.1.3 Problema que plantea el cliente: contabilidad, una lista deingresos y una lista de gastos. Obtención del balance.

Etapa 1: Planteamiento en términos formales: se tienen dos listas de númerosenteros de tamaños n y m correspondientes a los ingresos y a los gastosrespectivamente. La suma de los elementos de la primera lista proporcionalos ingresos. Con el mismo procedimiento para la segunda lista se obtienenlos gastos. El balance es la diferencia entre ingresos y gastos.Etapa 2: Procedimiento para resolver el problema. Es evidente que el proble-ma tiene solución y que se podría resolver manualmente. Se trata de escribirese procedimiento manual para que se pueda hacer automáticamente.Datos de entrada: a1, a2, ..., an y b1, b2, ..., bm, dos listas de números enteros.Procedimiento: generar un procedimiento que vaya recorriendo los valores dela lista de ingresos desde el primero hasta el enésimo y de los gastos desdeel primero hasta el emésimo y dos variables, una donde se van añadiendo losvalores de los ingresos y otra para los gastos. Finalmente hacer la diferenciapara obtener el balance.Una vez que sabemos cómo resolver el problema queremos escribir el algorit-mo de manera que sea claro en su escritura y fácil de traducir a un lenguajeconcreto de programación. El lenguaje de los algoritmos en nuestro contex-to, esto es, en el modelo RAM se suele conocer como pseudocódigo y estáformado por los siguientes elementos:Los datos de entrada son variables que se puedan sustituir por constantespara que el algoritmo actúe sobre ellas. Normalmente representaremos lasvariables por letras.Para asignar a una variable x un valor a escribiremos:

x := a.

Para sumar, restar o multiplicar números enteros utilizaremos los signoshabituales:

a + b, a− b, a · b.Para el cociente y el resto de la división entera:

a/b, a mod b.

Page 88: Apuntes de Matematicas Discretas(2)

88 CAPÍTULO 2. ALGORITMOS

Donde, por ejemplo, 5/2 es 2 y 5 mod 2 es 1. Atención a la diferencia conla notación matemática habitual. En el contexto de nuestro pseudocódigo5/2 no es una fracción sino un número entero, justamente la parte entera dedicho número.

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 básicas.También introducimos ciertas instrucciones.

• Podemos escribir frases condicionales del tipo:

If condición then operación 1 else operación 2.Si ocurre la condición entonces se efectúa la operación 1 y si no ocurre seefectúa la operación 2. Si no se escribe la segunda parte de la condicional(la que empieza con else) se interpreta que si la condición no ocurre no sehace nada. Cabe señalar que también podemos tener varias condiciones quesepararemos con comas.

Ejemplo 2.1.4 Por ejemplo:

Entrada: a, bIf a > b then c := a else c := b.Salida: c (el más grande entre los dos números).

• Repetición de operaciones denominadadas bucles.

1. For i = a to b operación.Donde la operación se repite desde el valor a del contador i hasta que éstetoma el valor b, increméntandose el valor del contador en una unidad cadavez que se realiza la operación.

Ejemplo 2.1.5 Por ejemplo:

Page 89: Apuntes de Matematicas Discretas(2)

2.1. DEFINICIONES Y EJEMPLOS 89

Entrada: a, b (numeros enteros positivos)c := 0For i = 1 to b

c := c + aSalida: c (el producto ab).

Observar que las operaciones que se realizan dentro del bucle se escribenun poco más en el interior del párrafo para distinguirlas.

2. While condición, operación.Mientras la condición se cumple se repite la operación.

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

i := 1While i ≤ b

c := c + ai := i + 1

Y de nuevo señalar la posibilidad de que se tengan varias condiciones sepa-radas por comas.

Estas normas de escritura nos permiten escribir el algoritmo de la con-tabilidad de una manera clara y fácilmente transcribible a un lenguaje deprogramación con la sintaxis adecuada del lenguaje escogido.

Datos de entrada: a1, ..., an; b1, ..., bm

I := a1, i := 1while i ≤ n− 1

i := i + 1I := I + ai

Ingresos := IG := b1 j := 1while j ≤ m− 1

j := j + 1G := G + bj

Gastos := GSalida: Balance := Ingresos−Gastos

Page 90: Apuntes de Matematicas Discretas(2)

90 CAPÍTULO 2. ALGORITMOS

Etapa 3: Estudio de la solvencia del algoritmo: comprobemos que el algo-ritmo termina. En efecto, al introducir los datos de entrada, se establecenlos valores de n y m que son dos números enteros positivos. Así se entra enel primer bucle que se repite exactamente n − 1 veces (desde i = 1 hastan − 1), cuando i toma el valor n ese proceso termina. Lo mismo pasa en elsegundo bucle cambiando el papel de n por el de m. Finalmente hay unaasignación del valor correspondiente al balance con lo que el proceso naliza.El algoritmo da la solución al problema porque copia exactamente el procesomanual que realizaría un contable.Etapa 4: Estudio de la eciencia del algoritmo. Para realizar dicho estudionecesitamos algunas deniciones precisas, que se establecerán más adelante,para saber en qué términos se va a medir esa eciencia. Posponemos esteestudio para después de la denición del concepto de complejidad.

Ejercicio 29 Aplicar el agoritmo anterior a dos listas concretas de números.(Es una manera adecuada de observar el funcionamiento de un algoritmo.)

Ejemplo 2.1.7 Encontrar el valor máximo en una lista de números enteros.

Datos de entrada: una lista de enteros a1, a2, ..., an.Procedimiento: denir una variable a que toma inicialmente el valor de a1 yque va comparándose con los distintos valores a2, a3... hasta an cambiando suvalor (por el de la correspondiente ai) si en la comparación es estrictamentemenor.

Datos de entrada: a1, ..., an

a := a1, i := 1while i ≤ n− 1

i := i + 1If a < ai then a := ai

Salida: a

O equivalentemente usando el bucle for:

Datos de entrada: a1, ..., an

a := a1, i := 1

Page 91: Apuntes de Matematicas Discretas(2)

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 números enteros.Mostrar que el algoritmo termina.

Ejemplo 2.1.8 El siguiente procedimiento no es un algoritmo porque notermina. Esto quiere decir que realiza una cantidad no nita de operaciones.Si lo consideramos implementado por una máquina, dicha máquina comienzaa 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 inicialmenteel 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 condición b ≤ 10se verica siempre y el procedimiento nunca sale de ese bucle.

Ejercicio 31 Sea el siguiente algoritmo:

Entrada: n ∈ Nc:=0For i=1 to n

For j=1 to ic:=c+j

Salida: c

Explicar qué hace el algoritmo y dar una fórmula para la salida.

Page 92: Apuntes de Matematicas Discretas(2)

92 CAPÍTULO 2. ALGORITMOS

2.2 Algoritmos de búsqueda y de ordenaciónDos problemas típicos que sirven para ilustrar distintas maneras de diseñaralgoritmos son los problemas de búsqueda (determinar si un dato está o no enuna lista de datos) y de ordenación (dada un lista, ordenarla de alguna mane-ra preestablecida). Son problemas importantes dado que el manejo adecuadode la información es fundamental para la tecnología actual. Estudios de mer-cado, el genoma humano, determinación de patrones de comportamiento...son algunas de las situaciones en las cuales un adecuado tratamiento de losdatos es crucial para poder extraer todas las consecuencias de los mismos.

2.2.1 Algoritmos de búsquedaSe trata de resolver la siguiente cuestión:Problema: dada una lista de números enteros determinar si un número quese da está o no en la lista.

Datos de entrada: a1, a2, ...an; a. Una lista de números enteros y un enteroa.

Algoritmo 1. Búsqueda Secuencial. Va comparando el elemento a contodos los de la lista. Si encuentra uno igual que a la salida es sí en casocontrario la salida es no.

Entrada: a1, ..., an; ai := 1while i ≤ n, a 6= ai

i := i + 1if i ≤ n then r :=Sí else r :=NoSalida: r

Algoritmo 2. Búsqueda binaria. En este caso la lista de números enterosde la entrada debe estar ordenada de menor a mayor. En este procedimientose compara el elemento a con el que ocupa el lugar central en la lista. Sies igual, el proceso termina; si es mayor, el proceso se repite con la segundamitad de la lista; si es menor, con la primera mitad de la lista. En el siguientealgoritmo i y j representan en cada momento los subíndices de los elementosinicial y nal de la lista que se trata, m es el subíndice que ocupa el lugarcentral.

Page 93: Apuntes de Matematicas Discretas(2)

2.2. ALGORITMOS DE BÚSQUEDA Y DE ORDENACIÓN 93

Entrada: a1, ..., an; a (con a1 ≤ a2 ≤ ... ≤ an)i := 1 j := nwhile i < j, a 6= a(i+j)/2

m := (i + j)/2if am < a then i := m + 1 else j := m− 1

if ai = a then r :=Sí else r :=NoSalida: r

La búsqueda binaria es un ejemplo de una forma de abordar el diseñode algoritmos conocido como divide y vencerás. Este paradigma proponedividir el problema en problemas de tamaño más pequeño (en el ejemploproblemas de tamaño la mitad del de partida) y aplicar sucesivamente estatécnica de división hasta llegar a problemas triviales (en nuestro caso com-parar dos números, que es una de nuestras operaciones básicas).

Observación 2.2.1 Como veremos más adelante no resulta imprescindibleser completamente preciso al contar el número de operaciones que realiza unalgoritmo, pues vamos a centrarnos en el estudio de su complejidad. Vamosa entender que ni las asignaciones de la entrada, ni el cómputo del tamañode una lista guardada necesitan consumir niguna operación.

Ejercicio 32 Aplica los dos algoritmos para buscar el elemento 9 en la lista1, 3, 5, 7, 9 y compara las operaciones que se realizan en cada uno de loscasos, teniendo en cuenta la observación anterior.

2.2.2 Algoritmos de ordenaciónSe trata de resolver la siguiente cuestión:Problema: dada una lista de números enteros distintos, a1, ..., an, ordenarlade menor a mayor. (Por ejemplo: Entrada 2, 1, 6, 4. Salida: 1, 2, 4, 6.)

Datos de entrada: a1, a2, ..., an. Una lista de números enteros distintos.

Algoritmo 1. Ordenación burbuja. La idea en este algoritmo es compa-rar dos elementos sucesivos de la lista y en caso de que no estén ordenadosadecuadamente intercambiar sus valores. Comenzamos comparando el pri-mer elemento de la lista con el segundo e intercambiando los valores si es

Page 94: Apuntes de Matematicas Discretas(2)

94 CAPÍTULO 2. ALGORITMOS

necesario, luego el segundo con el tercero y así hasta acabar la lista. Cuandoacabamos la lista, el valor más grande se ha colocado en el último lugar (quees el que debe ocupar en la salida) por lo que debemos repetir el proceso conla 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 algoritmono hace nada:

a2 = 2 a3 = 6

Como el tercer valor a3 = 6 es mayor que el cuarto entonces se produceun 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 podría no ser así con lo quehabría 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− jif ai > ai+1 then intercambiar sus valores (ver observación

siguiente)Salida: a1, ..., an.

Observación 2.2.2 Observamos que para intercambiar el valor de las va-riables ai y ai+1 necesitamos hacer tres operaciones:

Page 95: Apuntes de Matematicas Discretas(2)

2.2. ALGORITMOS DE BÚSQUEDA Y DE ORDENACIÓN 95

c := ai

ai := ai+1

ai+1 := c

Porque si sencillamente hiciésemos:

ai := ai+1

ai+1 := ai

En la primera línea la variable ai toma el valor de ai+1 y en la segunda alasignar a ai+i el valor de ai, como ésta ya tiene el valor de ai+1, en realidadno hemos hecho nada. Por esto se necesita la variable auxiliar c.

Ejercicio 33 Aplicar el algoritmo burbuja de ordenación a la lista 1, 3, 2,9, 5, 4.

Algoritmo 2. Algoritmo de selección. La idea de este algoritmo deordenación es que en el paso j-ésimo mira la lista aj, aj+1, ..., an calculael mínimo y si no es aj (como debiera ser si la lista estuviera ordenada) lointercambia con aj.

Ejercicio 34 Diseñar un algoritmo que tome una lista de números enterosa1, a2, ..., an e indique cuál de ellos es el mínimo.

Escribamos el algoritmo usando el ejercicio anterior. Esto es, dentro denuestro algoritmo vamos a llamar a otro algoritmo, digamos min, que calculael mínimo de una lista.

Entrada: a1, ..., an.For j = 1 to n− 1

if min(aj, aj+1, ..., an) 6= aj then intercambiar sus valoresSalida: a1, ..., an.

Veamos un ejemplo:Tomamos la lista a1 = 2, a2 = 1, a3 = 6, a4 = 4.Como el mínimo de la lista es a2 y a2 6= a1 entonces intercambian sus

valores, obteniéndose por tanto:

a1 = 1 a2 = 2.

Page 96: Apuntes de Matematicas Discretas(2)

96 CAPÍTULO 2. ALGORITMOS

En la lista a2 = 2, a3 = 6, a4 = 4 el mínimo es a2 por lo que no se realizaninguna operación.

Finalmente en la lista a3 = 6, a4 = 4 el mínimo es a4 y por tanto seintercambian los valores de los dos elementos, ordenándose de este modotoda la lista.

Ejercicio 35 Aplicar el algoritmo de selección para ordenar la lista 1, 3, 2,9, 5, 4.

Este es un ejemplo del paradigma de construcción de algoritmos denomi-nado algoritmo voraz porque va construyendo una sublista ordenada cadavez más grande que al concluir contiene a todos los elementos de la listainicial.

2.3 Complejidad

Como hemos señalado en las secciones anteriores debemos hacer un estudio dela eciencia de un algoritmo. Esto resulta especialmente interesante cuandoconocemos distintos algoritmos para abordar un mismo problema (como enla búsqueda y la ordenación) y debemos decidir cuál de ellos usar, según unoscriterios razonables y defendibles.

Evidentemente hay dos parámetros que sería interesante minimizar: eltiempo y el espacio. Con el tiempo nos referimos a la cantidad de operacionesbásicas que la máquina debe realizar en un algoritmo y con el espacio a lacantidad de memoria que el algoritmo utiliza en su funcionamiento.

Nos centraremos en el control del número de operaciones que el algoritmoefectúa, esto es, en el control del tiempo.

Denición 2.3.1 Sea un algoritmo cuyos datos de entrada tienen tamañon. Denimos la funcion T (n), número de operaciones que realiza elalgoritmo en el peor de los casos, como el valor máximo del número deoperaciones que realiza el algoritmo entre todas las aplicaciones del mismo alas posibles entradas de tamaño n.

El tamaño de la entrada en el modelo computacional (RAM) que hemoselegido estará relacionada con la cantidad de números enteros que involucra

Page 97: Apuntes de Matematicas Discretas(2)

2.3. COMPLEJIDAD 97

dicha entrada. Las operaciones a que se reere la denición de la funcióndenominada T (n) son las operaciones básicas de nuestro modelo.

La función T (n) para el ejemplo del cálculo del máximoReproducimos el algoritmo que teníamos para calcular el máximo de unalista:

Datos de entrada: a1, ..., an

a := a1 i := 1while i ≤ n− 1

i := i + 1If a < ai then a := ai

Salida: a

Denimos el tamaño de la entrada como la longitud de la lista. Es decir elvalor de n. Analicemos el número de operaciones para una lista de longitudn. En el propio análisis iremos viendo cuál es el peor de los casos.El algoritmo comienza con dos asignaciones (a e i) y determinando el valorde n − 1 por medio de una diferencia (recordamos que en la observación2.2.1 decíamos que el cómputo de n no precisa de ninguna operación paraser efectuado).Después entra en un bucle que se repite n− 1 veces y en cada repetición sehace:

una comparación que determina si entrar o no en el bucle (i con n− 1),una asignación a la i y una suma i + 1,una comparación de a con ai ynalmente una asignación 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.

Después hay una comparación (i valiendo n con n−1) que nos saca del bucley la asignación a la salida.Resultado total en el peor caso:

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

Ejercicio 36 Describir cómo es la lista que da el peor caso en este algoritmo.

Page 98: Apuntes de Matematicas Discretas(2)

98 CAPÍTULO 2. ALGORITMOS

Observación 2.3.2 Se podrían denir otro tipo de funciones para medir lacantidad de operaciones de un algoritmo, por ejemplo funciones de tiempomedio, M(n), que nos dan el número de operaciones promedio que el algo-ritmo realiza cuando recibe una entrada de tamaño n. (Se suelen obtener deforma experimental.)

Sobre la función T (n) conviene hacer dos precisiones:i) suele ser difícil calcularla exactamente;ii) si cada operación necesita una fracción muy pequeña de tiempo para

realizarse, no es precisa una exactitud total en el cálculo de T (n), por ejemploun error de una operación en el cálculo de T (n) es totalmente irrelevante.

Estas dos precisiones nos invitan a la denición de la complejidad delalgoritmo como un concepto que recoja la naturaleza asintótica de la fun-ción T (n) y no su valor exacto. Dicha naturaleza que señalamos debe darinformación de cómo crece la función cuando aumenta el tamaño n de la en-trada, especialmente para valores muy grandes del tamaño n de la entrada.Para dar esta denición precisamos ciertos conceptos del análisis matemático.

Denición 2.3.3 Sean T, S : N → R+ dos sucesiones reales con valorespositivos. Se dice que T (n) domina a S(n) si existen dos números 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 siT (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 delmismo orden.

Denición 2.3.4 Se llama complejidad de un algoritmo al orden, O(T (n)),de su función T (n) número de operaciones en el peor de los casos.

La complejidad de un algoritmo es entonces una medida del número deoperaciones que éste realiza en el peor de los casos para tamaños muy gran-des de la entrada n y establece una jerarquía que permite determinar si unalgoritmo es mejor que otro. Si el algoritmo A1 tiene como función númerode operaciones en el peor de los casos T1 y, respectivamente, el algoritmoA2 tiene como función T2 y T2 domina a T1, entonces (según esta forma de

Page 99: Apuntes de Matematicas Discretas(2)

2.3. COMPLEJIDAD 99

comparar) el algoritmo A1 es mejor (o al menos igual) que el algoritmo A2.El análisis matemático (estudiado en la asignatura de Bases de Matemáticas)es el instrumento que permite establecer esta jerarquía.

Ésta no es la única forma de medir la eciencia de los algoritmos. Enmuchas ocasiones los algoritmos no se van a usar para entradas muy grandesni 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) yque S(n) ≤ (1/2)T (n).

Ejercicio 37 Comprobar que todos los polinomios de grado s vericando lascondiciones de la denición de dominancia, digamos,

a0 + a1x + ... + asxs as 6= 0

son del mismo orden.

Ejercicio 38 Sean a y b números reales positivos mayores que 1. Demostrarque 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. Demostrarque si T domina a S entonces T domina a T + S.

Demostrar, usando el apartado anterior, que si un algoritmo A1 tienecomo función número de operaciones en el peor de los casos T y respecti-vamente un algoritmo A2 tiene la función S, y T domina a S, entonces lacomplejidad del algoritmo resultado de realizar sucesivamente A1 y A2 esO(T + S) = O(T ).

La terminología más usada es la siguiente:

• si T (n) es del mismo orden que la función S(n) = n se habla decomplejidad lineal.

• si T (n) es del mismo orden que S(n) = n2 decimos complejidadcuadrática;

Page 100: Apuntes de Matematicas Discretas(2)

100 CAPÍTULO 2. ALGORITMOS

• así sucesivamente complejidad cúbica, cuártica... y en general com-plejidad 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 lo-garítmica;

• si T (n) es del mismo orden que en se habla de complejidad expo-nencial.

Volvemos a comentar aquí la cuestión de los problemas que son realmen-te resolubles en un modelo computacional. Estamos entonces preocupadospor problemas que precisan de un tiempo razonable para ser resueltos. Porejemplo supongamos que un algoritmo A1 tiene complejidad O(T1) = O(n),un algoritmo A2 tiene complejidad O(T2) = O(n2) y un algoritmo A3 tienecomplejidad O(T3) = O(n6). Supongamos que la operación básica se realizaen una décima de segundo. Si tomamos una entrada de tamaño 103, entoncesrespectivamente:

T1(103) = 103, T2(103) = 106 T3(103) = 1018.

Mientras el primer algoritmo emplea apenas dos minutos, el segundo empleaalgo más de un día y el tercero emplea más de mil millones de años en aportarla salida.

Analicemos la complejidad de los dos algoritmos de búsqueda.Complejidad de la búsqueda secuencial. El peor de los casos es áquel enque a no está en la lista que se nos ha proporcionado. Como nos interesa lacomplejidad no nos preocupamos de las asignaciones que se hacen al principioy al nal sino de cuántas veces se repite el bucle. Esto se justica en el hechode que O(1 + T ) = O(T ) si T domina a 1. Como a no está en la lista, elbucle se repite n veces, y en cada una de ellas hay dos comparaciones, unaasignación y una suma, es decir, hay 4(n − 1) operaciones. Por tanto estealgoritmo es de complejidad lineal.

Complejidad de la búsqueda binaria. El peor de los casos es de nuevoel caso en que a no está en la lista que se nos ha proporcionado. Comoseñalamos en el ejemplo anterior, para calcular la complejidad nos interesacuántas veces se repite el bucle. Veamos una idea acerca de este número derepeticiones. Cada vez que se realiza el bucle el tamaño de la lista quedareducido a la mitad. Tras el primer paso por el bucle tenemos una listade tamaño n/2, tras el segundo paso será una lista de tamaño n/4 y así

Page 101: Apuntes de Matematicas Discretas(2)

2.3. COMPLEJIDAD 101

sucesivamente en s pasos por el bucle tendremos una lista de tamaño n/2s.Por tanto, como el proceso termina cuando la lista está formada por un únicoelemento, se tiene:

1 = n/2s,

es decir,s = log2(n).

De esta manera, el algoritmo de búsqueda binaria presenta complejidadlogarítmica.

Propiamente los dos algoritmos no pueden ser comparados, ya que losdatos de entrada de uno y otro no son exactamente iguales, en el segundo casodeben estar ordenados. Así pues, aunque a simple vista el segundo algoritmoresulta mejor (recordemos que O(l(n)) ⊂ O(n)), lo que propiamente se debecomparar es el algoritmo de búsqueda secuencial con un algoritmo resultadode realizar sucesivamente un algoritmo de ordenación y la búsqueda binaria.Lo que sí se puede concluir del análisis anterior es que cuando los datos de lalista están ordenados entonces ambos algoritmos se pueden aplicar y resultamás eciente la búsqueda binaria.

Ejercicio 41 Estudiar la complejidad de los algoritmos de ordenación pre-sentados.

Ejercicio 42 Estudiar la complejidad del algoritmo de búsqueda resultado deconcatenar el algoritmo de ordenación burbuja con el algoritmo de búsquedabinaria. Comparar con la complejidad de la búsqueda secuencial.

Terminamos el capítulo con el interesante concepto de complejidad in-herente a un problema. Se trata de encontrar el mejor algoritmo queresuelve un problema (siempre desde el punto de vista del concepto de com-plejidad presentado).

Así diremos que un problema es de complejidad O(T ) cuando:i) hay un algoritmo que resuelve dicho problema cuya función número de

operaciones en el peor de los casos es del mismo orden que T ;ii) cada algoritmo que resuelve el problema, cuya función número de o-

peraciones en el peor de los casos la denotamos S, verica que T ∈ O(S).Esto es, cualquier otro algoritmo que resuelve el problema tiene complejidadigual o mayor que el de función T .

Page 102: Apuntes de Matematicas Discretas(2)

102 CAPÍTULO 2. ALGORITMOS

Demostraremos como ejemplo más adelante (cuando hablemos de árbo-les de decisión) que el problema de ordenación de listas es de complejidadO(nl(n)).

2.4 Algoritmos de búsqueda con MapleProblema: dada una lista de números a y un número b determinar si dichonúmero es uno de los elementos de la lista.

2.4.1 Búsqueda secuencialEl primer algoritmo que presentamos toma una lista de números a y unnúmero b y devuelve un vector donde cada entrada es: un uno si la entradade 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 aplicación a la teoría de números:Determinar si 356 es el cuadrado de un número entero.Como 10^2 =100 y 20^2=400 entonces si 356 fuera un cuadrado lo sería

de un número entre 11 y 19; tomando la lista de dichos cuadrados podemosver 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 porejemplo:

Page 103: Apuntes de Matematicas Discretas(2)

2.4. ALGORITMOS DE BÚSQUEDA CON MAPLE 103

a) el elemento b está en la lista a si el resultado de aplicar el procedimientoVector a a contiene algún uno;

b) el número de unos de Vector(a) dice cuántas 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])]: j:=1:> 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);

[1, 3, 6]

En cualquier caso estos algoritmos tienen complejidad lineal ya que,cuando se tiene una lista de tamaño n , realizan esencialmente kn operacionescon k constante. Comprobamos esta última armación.

El procedimiento vector:Vector:=proc(a::list,b)local c,j,i:c:=[seq(0*j,j=1..nops(a))]: (se hacen n asignaciones)

Page 104: Apuntes de Matematicas Discretas(2)

104 CAPÍTULO 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 comparación y una asignación)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 máximo n sumas)if l=0 then c:=[no,0] (una comparación y una asignación)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 pre-

guntasayb por tanto 4n+2 operaciones, luego se hacen como máximo n asig-naciones)

j:=1: (1 asignación)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+3Este algoritmo tiene complejidad lineal O(n)

2.4.2 Búsqueda binariaSe trata de un algoritmo que toma una lista ordenada de menor a mayor denúmeros y realiza la búsqueda comparando b con el elemento que está en elmedio de la lista. Si es igual, el algoritmo termina; si es menor, trabaja conuna nueva lista (la de los elementos menores que el elemento intermedio) eitera el algoritmo; si es mayor, trabaja con una nueva lista (la de los elementosmayores que el elemento intermedio) y hace lo mismo.

Page 105: Apuntes de Matematicas Discretas(2)

2.4. ALGORITMOS DE BÚSQUEDA 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 cuántas veces como máxi-mo se repite el bucle, ya que, cada vez que se repite, el número de operacionesque se efectúan es constante. Como la lista se va dividiendo en una lista detamaño la mitad, hasta que queda una lista con un único elemento, el buclese repite como máximo 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 hacefor s from 1 to nops(a) while j-i>-1 do (una comparación)k:=oor((i+j)/2): (una asignación)

Page 106: Apuntes de Matematicas Discretas(2)

106 CAPÍTULO 2. ALGORITMOS

if b=a[k] then c:=1: s:=nops(a)+1: : (una comparación y una asigna-ción, en el peor de los casos el número 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 comparación y una

asignación)end:Total: 4log(n)+5Este algoritmo tiene complejidad logarítmica O(log(n)).

2.5 Algoritmos de ordenación con Maple2.5.1 Ordenación BurbujaPresentamos el algoritmo burbuja para ordenar de menor a mayor una lista,esto es, los datos de entrada son una lista L de números enteros y la salidaes una lista ordenada de menor a mayor con los mismos elementos que L.Intercambiar dos elementos

Una operación que hace falta en este algoritmo es intercambiar dos ele-mentos, el i-ésimo y el j-ésimo, de una lista que llamamos lista. La idea quevamos a utilizar para ello consiste en introducir una nueva variable transito-ria, llamada temp, y seguir los tres pasos siguientes:

• Primero: almacenaremos el contenido de lista[i] en la variable transi-toria temp.

• Segundo: introducimos el contenido de lista[j] en el lugar lista[i]. Ahoralista[i] y lista[j] contienen el mismo dato.

• Por último copiamos el contenido de la variable transitoria temp enlista[j].

Podríamos pensar que el código siguiente nos resuelve el problema, peropresenta una dicultad al asignar valores a la lista de entrada:

Page 107: Apuntes de Matematicas Discretas(2)

2.5. ALGORITMOS DE ORDENACIÓN 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 asignación a[i]:=a[j]. Tenemos que escribirlousando 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]

Ordenación burbujaAhora ya podemos escribir el algoritmo de ordenación burbuja:> 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)fi;> od:> od: RETURN(aloc);> end:

Page 108: Apuntes de Matematicas Discretas(2)

108 CAPÍTULO 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 Ordenación selecciónNecesitamos un procedimiento que calcule el lugar que ocupa el elemento deuna lista que da el mínimo 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 algoritmode selección. Hay que construir una lista cada vez más pequeña e ir calcu-lando los mínimos para intercambiar los valores si es necesario. En lugar deconstruir listas cada vez más pequeñas, lo que vamos a hacer es ir poniendoel valor innito en el correspondiente término de la lista de modo que, comoinnito es mayor que cualquier número, se tendrá que a la hora de calcularmínimos este término no va a intervenir nunca.

Page 109: Apuntes de Matematicas Discretas(2)

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 EjerciciosEn todos los ejercicios escribir el algoritmo que se pide, aplicarlo a dos ejem-plos y estudiar su complejidad.

Ejercicio 43. Dada una lista de números enteros, construir un algoritmoque calcule el máximo de sus valores absolutos.Ejercicio 44. Supongamos que quitamos de nuestro modelo computacionallas operaciones básicas de producto y división de números enteros. Construirun algoritmo para, dados dos números enteros, calcular su producto.Ejercicio 45. Construir un algoritmo para, dados dos enteros a y n construirla potencia an.Ejercicio 46. Escribir un algoritmo para calcular la media aritmética de loselementos de una lista de números enteros.Ejercicio 47. Escribir un algoritmo que dada una lista de números naturalesy otro número natural indique si hay algún múltiplo de dicho número entre

Page 110: Apuntes de Matematicas Discretas(2)

110 CAPÍTULO 2. ALGORITMOS

los elementos de la lista, señale cuántos de estos múltiplos hay y en quéposiciones de la lista están.Ejercicio 48. Distancia de Hamming. Dadas dos palabras de la mismalongitud construidas con ceros y unos la distancia de Hamming entre ellas sedene como el número de letras diferentes entre una y otra palabra (letrasdiferentes situadas en el mismo lugar): por ejemplo la distancia de Hammingentre la palabra 01 y la palabra 00 es uno porque la primera letra es igualy 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 devuelvasu distancia de Hamming.Ejercicio 49. Dada una lista ordenada de menor a mayor de números enterosy otro número entero construir un algoritmo que inserte dicho número en ellugar correspondiente de la lista inicial.Ejercicio 50. Dadas dos listas a1, .., an y b1, ..., bm de números 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 resueltosEjercicio 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 + 4como 2 ≤ 2 entonces i := 3, I := 13como 3 > 2 sale del bucle.

Ingresos := 13

G := 4, j := 1como 1 ≤ 1 entonces j := 2, G := 4 + 3como 2 > 1 sale del bucle.

Gastos := 7

Balance := 13− 7 = 6

Ejercicio 30. El algoritmo termina porque el bucle se repite exactamenten− 1 veces.

Entrada: 1, 2, 0.

Page 111: Apuntes de Matematicas Discretas(2)

2.7. EJERCICIOS RESUELTOS 111

a := 1, i := 1como 1 ≤ 2 entonces i := 2 y al ser 1 < 2 entonces a := 2como 2 ≤ 2 entonces i := 3 y al ser 2 < 0 entonces a := 2como 3 > 2 sale del bucle.

Salida: a = 2.

Ejercicio 31. El algoritmo realiza la siguiente suma:

Σni=1Σ

ij=1j.

Ejercicio 32. Lista: 1, 3, 5, 7, 9.Búsqueda secuencial:i := 1 (1 operación)

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.

Búsqueda 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 operación)Como a5 = 9 entonces la salida es Sí. (2 operaciones)

Total de operaciones: 20.

Ejercicio 33. Lista: 1, 3, 2, 9, 5, 4.Como a1 < a2 entonces no se hace ninguna operación.Como a2 > a3 entonces a2 = 2 y a3 = 3.Como a3 < a4 entonces no se hace ninguna operación.Como a4 > a5 entonces a4 = 5 y a5 = 9.

Page 112: Apuntes de Matematicas Discretas(2)

112 CAPÍTULO 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 máximo, que es el 5, se coloca en el último

lugar y la lista queda ordenada.

Ejercicio 34. Para aprovechar el algoritmo del máximo observamos que elmínimo de una lista a1, ..., an es el máximo (cambiado de signo) de los valoresde la lista −a1, ..., −an. Por tanto si llamamos M al algoritmo que calculael máximo 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 mínimo de la lista L es a1 = 1 entonces no se hace ninguna

operación.L :=3, 2, 9, 5, 4.Como el mínimo de la lista L es a3 entonces a2 = 2 y a3 = 3.L :=3, 9, 5, 4.Como el mínimo de la lista L es a3 entonces no se hace ninguna operación.L :=9, 5, 4.Como el mínimo de la lista L es a6 entonces a6 = 9 y a4 = 4.L :=5, 9.Como el mínimo de la lista L es a5 entonces no se hace ninguna operación

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 asignación a := ai sehace siempre, esto es, cuando la lista está ordenada de menor a mayor.

a1 ≤ a2 ≤ ... ≤ an.

Ejercicio 37. Demostramos que P (x) = a0 + a1x + ... + asxs es del mismo

orden que xs. La observación fundamental es que un polinomio de grado

Page 113: Apuntes de Matematicas Discretas(2)

2.7. EJERCICIOS RESUELTOS 113

s tiende a +∞ (cuando x tiende a +∞) cuando su coeciente principal (elcoeciente del monomio de mayor grado) es de signo positivo. Por tanto ental caso su signo es positivo para todo x mayor o igual que un cierto n0 (parael que no se aporta una expresión explícita).

El polinomio xs domina a P (x) ya que si tomamos k > as se tiene quekxs − P (x) = (k − as)x

s + ... + (−a0), que según la observación anterior espositivo 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 fórmula del cambio de base:

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

Ejercicio 39. Adjuntamos las grácas representadas con Maple, donde seobservan las distintas relaciones de dominancia.

La función l(n) domina a la función 1 porque l(n) > 1 para cada n ≥ 3.En efecto, la función g(n) = l(n)− 1 es positiva para cada n ≥ 3 puesto queg(3) > 0 y es creciente (su derivada g′(n) = 1/n > 0).

Se verica que n > l(n) para cada n ∈ N. En efecto, sea la funciónh(n) = n − l(n), se verica que h(1) > 0 y que es siempre creciente ya queh′(n) = 1− 1/n > 0.

Las demás dominancias son consecuencia de que:

r(n) = nl(n)− n r(3) > 0 r′(n) = l(n) > 0

s(n) = n2 − nl(n) s(1) > 0 s′(n) = 2n− l(n)− 1 > 0

t(n) = en − n2 t(1) > 0 t′(n) = en − 2n > 0.

Ejercicio 40. Si T domina a S entonces existen n0 ∈ N y k ∈ R+ de modoque para cada n ≥ n0 se verica

S(n) ≤ kT (n).

Page 114: Apuntes de Matematicas Discretas(2)

114 CAPÍTULO 2. ALGORITMOS

2^x

x^2

xlog(x)

x

ln(x)

0

2

4

6

8

10

12

14

16

18

20

22

24

26

28

30

32

2 3 4 5x

Figura 2.1: Grácas con Maple

Page 115: Apuntes de Matematicas Discretas(2)

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 cuestión es sólo observar que la función número de operaciones

en el peor de los casos del algoritmo que concatena A1 y A2 es T + S.

Ejercicio 41. El algoritmo de ordenación burbuja es un algoritmo de com-plejidad cuadrática O(n2). En efecto, cada vez que se ejecuta el bucle en j elbucle en i hace una cantidad constante de operaciones y las hace exactamenten− j veces, como

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

se tiene el resultado.De igual manera el algoritmo de selección es cuadrático pues el bucle j

se repite n− 1 veces y cada una de ellas llama a un algoritmo llamado minque es lineal.

Ejercicio 42. El algoritmo de ordenación burbuja es cuadrático y el algorit-mo de búsqueda binaria es logarítmico, por tanto la concatenación de amboses cuadrática.

Mientras, la búsqueda secuencial es lineal.

En los siguientes ejercicios, dejamos al estudiante la parte de aplicar losalgoritmos a listas concretas.

Ejercicio 43. Denimos primero un algoritmo que calcula el valor absolutode un entero.

Entrada: aIf a < 0 then |a| := −a else |a| := a.Salida: |a|Observar que −a = a ∗ (−1).Entonces aplicamos el algoritmo M que calcula el máximo a la lista de

los valores absolutos.

Page 116: Apuntes de Matematicas Discretas(2)

116 CAPÍTULO 2. ALGORITMOS

Entrada: a1, ..., an.For i = 1 to n

ai := |ai|Salida: M(a1, ..., an)

El algoritmo del máximo es de complejidad lineal, el cálculo del valorabsoluto es de complejidad constante (T (n) = 3). La reasignación de lalista tiene complejidad lineal (T (n) = 5n + 3). Por tanto el algoritmo es decomplejidad lineal.

Ejercicio 44. El producto de dos enteros positivos no es más que sumar unode ellos tantas veces como indica el otro. Como el producto es conmutativoy la suma una operación básica, elegimos el mínimo de los dos para decircuántas veces hay que sumar. Multiplicamos entonces los valores absolutosy después atendemos al signo:

Entrada: a, b.a1 =mínimo|a|, |b|, a2 :=máximo|a|, |b|.p := 0, i := 1while i ≤ a1

p := p + a2

i := i + 1If a > 0, b < 0 then p := −p else if a < 0, b > 0 then p := −pSalida: p

El tamaño de la entrada es aquí el valor absoluto del mínimo de ambosnúmeros (esto es n = a1). El cálculo del mínimo y el máximo son algoritmosde complejidad lineal, en este caso se aplican a listas de longitud 2, luegorealizan una cantidad constante de operaciones. En el algoritmo que estamosestudiando hay primero dos algoritmos constantes, después un bucle que serepite n = a1 veces y que realiza cada vez que se ejecuta una cantidadconstante de operaciones. Finalmente una asignación de signo, que se hacemediante una cantidad constante de operaciones. Así el algoritmo es decomplejidad lineal.

Ejercicio 45.Entrada a, n.If a = n = 0 then p :=indeterminación

elseif n ≥ 0 then

Page 117: Apuntes de Matematicas Discretas(2)

2.7. EJERCICIOS RESUELTOS 117

p := 1, i := 1while i ≤ n

p := p ∗ ai := i + 1

elsep := 1, i := 1while i ≤ |n|

p := p ∗ (1/a)i := i + 1

Salida:=p

El tamaño de la entrada es |n| y la complejidad del algoritmo es lineal yaque el bucle se repite exactamente tantas veces como el tamaño 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 diseño deeste algoritmo es que no tenemos una operación básica que calcule divisio-nes y exprese el resultado como número decimal. Llamemos a esa operacióndiv(a, b) y el resultado es a

bcon, digamos, 2 decimales. Entonces, nuestro

algoritmo es muy simple:Datos de entrada: a1, a2, ..., an

c := 0For i := 1 to n

c := c + ai

media := div(c, n)

Implementemos ahora la operación div(c, n) de la siguiente manera: c1 :=

|c|/n , r1 := |c| mod nc2 := (10 · r1)/n, r2 := 10 · r1 mod nc3 := (10 · r2)/n, r3 := 10 · r2 mod n

El algoritmo completo, para calcular la media con dos decimales, seríaDatos de entrada: a1, a2, ..., an

c := 0For i := 1 to n

c := c + ai

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

Page 118: Apuntes de Matematicas Discretas(2)

118 CAPÍTULO 2. ALGORITMOS

c2 := (10 · r1)/n, r2 := 10 · r1 mod nc3 := (10 · r2)/n, r3 := 10 · r2 mod nif c > 0 then media:=c1′c2c3 else media:=−c1′c2c3

Complejidad. Hay:1) Una asignación,2) Un bucle que se repite n veces y en cada paso se hace una suma y una

asignación. Total: 2n operaciones.3) El cálculo de un cociente y un resto, dos multiplicaciones y dos divi-

siones, el cálculo de dos restos y 6 asignaciones, admás de una comparacióny posiblemente un cambio de signo. Total: 16 operaciones.

Entonces, T (n) := 2n + 12. Complejidad lineal.Si calculáramos la media con más decimales, el número de operaciones

sería mayor pero la complejidad seguiría siendo lineal.

Ejercicio 47.Datos de entrada: a1, a2, ..., an, ai := 0 , j := 0While i ≤ n− 1

i := i + 1b := ai mod aIf b := 0 then j := j + 1, dj := ai y ej = i

Salida: Hay j múltiplos de a. Están en las posiciones e1, ..., ej y susvalores son d1, ..., dj.

Calculemos la complejidad. Hay:1) dos asignaciones y el cálculo de n− 1. Total: 3 operaciones.2) un bucle que se repite n veces. Dentro del bucle hay: dos asignaciones,

el cálculo de un resto y una suma, una condicional con una condición y, enel peor de los casos, tres asignaciones y una suma. Total: 9n.

3) Del bucle se sale cuando la comparación es falsa. Total: Una operación.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 números yb1, b2, ..., bn las del otro.

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

c := 0For i = 1 to n

Page 119: Apuntes de Matematicas Discretas(2)

2.7. EJERCICIOS RESUELTOS 119

If ai 6= bi then c := c + 1Salida: c

Calculamos la complejidad. Hay:1) Una asignación.2) Un bucle que se repite n veces. Dentro de él, y en el peor de los casos,

hay una comparación, una suma y una asignación. Total: 3n operaciones.Entonces T (2n) = 3n + 1 operaciones (notemos que hay 2n datos de

entrada). Por tanto, T (n) = 32n + 1.

La complejidad es lineal.

Ejercicio 49. La idea de este algoritmo es leer la lista hasta que lleguemosal punto en el que debemos insertar el número dado a. Almacenar en valorde la lista en ese punto en una variable auxiliar (para no perderlo), introducirel valor a, y a partir de allí colocar los demás elementos de la lista. Estosúltimos elementos se pueden rellenar desde el nal de la lista hasta el puntoen el que está a (probar otras alternativas para comprobar que es esta la quemejor funciona).

Datos de entrada: a1, a2, a3, ..., an; ai := 0 , p := 0While i ≤ n− 1 and p ≥ 0

i := i + 1p := a− ai

c := ai, ai := aFor j = 0 to n− i− 1

an+1−j := an−j

ai+1 := cSalida: a1, a2,.....,an+1

Complejidad. Hay:1) Dos asignaciones y el cálculo 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 asignación y una suma,otra asignación y una diferencia. Total: 6n.

3) Del bucle se sale cuando una de las comparaciones sea falsa, lo que dalugar a otra operación.

4) Dos asignaciones. Total: 2 operaciones.5) El cálculo de n− i− 1. 2 operaciones

Page 120: Apuntes de Matematicas Discretas(2)

120 CAPÍTULO 2. ALGORITMOS

6) Un bucle que, en el peor de los casos, se repite n veces y en el que hayuna asignación y el cálculo de los subíndices. Total: 4n operaciones.

7) Una asignación y el cálculo del subíndice.

Notemos que es imposible que se ejecuten todas las operaciones del buclede 2) y del bucle de 6) ya que, en el valor del índice en el que termina unotermina el otro. En el peor de los casos, es el bucle 2) el que se ejecutacompletamente.

En consecuencia la complejidad es lineal.

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

For i := 1 to nFor 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 yel segundo otras n. En este segundo bucle hay una asignación. Por tanto,T (2n) = n2. Por tanto, T (n) = 1

4n2. Complejidad cuadrática.

Page 121: Apuntes de Matematicas Discretas(2)

Capítulo 3

Aritmética modular

En este capítulo se estudiarán los números enteros, sus propiedades y opera-ciones, introduciendo también las nociones básicas de la aritmética modular.Se pretende que al nal del capítulo el alumno:

• Conozca las propiedades básicas de los números enteros (operaciones,factorización).

• Pueda calcular el mcd de dos números enteros por el algoritmo deEuclides.

• Realice con soltura operaciones en la aritmética modular.

• Resuelva congruencias lineales y sistemas de congruencias.

3.1 Los números naturales y los números ente-ros

Los números naturales y los números enteros son objetos conocidos. El lectorestá 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 yde hecho en el capítulo 1 hemos usado una de sus propiedades fundamentales

121

Page 122: Apuntes de Matematicas Discretas(2)

122 CAPÍTULO 3. ARITMÉTICA MODULAR

para presentar una técnica potente de demostración que es el principio deinducción.

Nuestro primer objetivo es introducir de forma rigurosa estos objetos.Existen varias maneras de hacerlo, una de ellas (la que vamos a elegir) es laaxiomática. Consiste en caracterizar el conjunto N de los números naturalespor algunas de sus propiedades que se imponen como axiomas, de maneraque cualquier otra propiedad se deduce (usando las reglas de la lógica) deestos axiomas.

Podemos usar por ejemplo la caracterización de N como cualquier con-junto 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. Sedenota s(n). Es un elemento de N y verica que s(n) 6= 1 para cadan ∈ N.

• Si s(n) = s(m) entonces n = m.

• Principio de inducción: si un subconjunto A ⊂ N verica que 1 ∈ Ay que n ∈ A implica s(n) ∈ A, entonces se tiene que A = N. (Estapropiedad es la que se usó en el capítulo 1.)

Observación 3.1.1 Los axiomas de Peano segundo y tercero son equivalen-tes a la existencia de una aplicación inyectiva s : N → N de modo que el 1no está en la imagen de s.

En este conjunto se puede denir una primera operación denominadasuma, de manera que dados dos naturales cualesquiera a, b ∈ N se puedeconstruir el número natural a + b ∈ N que es la suma de los dos. Estaoperación 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 inducción que así hemos denido cual-quier suma a + b con a, b ∈ N. En efecto, sea a ∈ N un número natural. SeaA el conjunto de los números naturales b ∈ N para los que a+b está denido.

Page 123: Apuntes de Matematicas Discretas(2)

3.1. LOS NÚMEROS NATURALES Y LOS NÚMEROS ENTEROS 123

Vamos a demostrar por inducción que A = N con lo que las reglas anteriorespermiten denir a + b para cada par de números naturales a, b ∈ N.

Base de inducción. Se tiene que 1 ∈ A ya que la primera regla indicaque a + 1 = s(a).

Paso de inducción. Debemos demostrar que si b ∈ A entonces s(b) ∈ A.Como por hipótesis de inducción b ∈ A entonces a + b está denido. Usandola 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 queríamos demostrar.

Estudiemos la estructura algebraica del par (N, +), es decir las propie-dades que verican los números naturales con esta operación de suma. Setienen las siguientes:

i) propiedad asociativa: (a + b) + c = a + (b + c) para cualesquieraa, b, c ∈ N,

ii) propiedad conmutativa: para cualquier pareja a, b ∈ N se tiene quea + b = b + a.

Ejercicio 51 Demostrar (por inducción sobre c) la propiedad asociativa, u-sando las reglas de la denición de la suma.

También se puede denir una segunda operación en N que es el producto,asignando a cada par a, b ∈ N el producto de ambos a·b (ó a×b ó simplementeab, usaremos las tres notaciones indistintamente). De la misma manera queen el caso de la suma, es una consecuencia del principio de inducción que lasreglas que se presentan a continuación son sucientes para denir el productode dos números 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 inducción, que las reglasanteriores permiten denir el producto de cualquier par de números naturales.

Los números naturales con esta operación de producto, (N,×), tienenlas siguientes propiedades, que se pueden demostrar usando el principio deinducción y las reglas de denición del producto:

1) propiedad asociativa: (a × b) × c = a × (b × c) para cualesquieraa, b, c ∈ N,

Page 124: Apuntes de Matematicas Discretas(2)

124 CAPÍTULO 3. ARITMÉTICA MODULAR

2) existencia de elemento neutro: existe 1 ∈ N tal que para cualquiernúmero natural a ∈ N se tiene que a× 1 = 1× a = a,

3) propiedad conmutativa: para cualquier pareja a, b ∈ N se tiene quea× b = b× a.

Las dos operaciones, la suma y el producto, quedan relacionadas por lapropiedad distributiva:

4) propiedad distributiva: para cualesquiera a, b, c ∈ N se tiene quea× (b + c) = a× b + a× c.

Una vez denidos los números naturales, los números enteros se puedenconstruir a partir de los naturales de la siguiente manera. Tomamos doscopias del conjunto de los números naturales, marcando los elementos deuna de ellas con un signo menos. Llamamos N+ = 1, 2, 3, 4, ... a la primeracopia y N− = −1,−2,−3,−4, ... a la segunda. Los números enteros son launión de N+, N− y un conjunto formado por un elemento distinguido, queescribimos 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, ques+(5) = 6 y que s−(−5) = −6. Estas dos nociones permiten denir en elconjunto de los números enteros un concepto de siguiente denotado como sy 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,

Page 125: Apuntes de Matematicas Discretas(2)

3.1. LOS NÚMEROS NATURALES Y LOS NÚMEROS ENTEROS 125

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

Notación Usaremos el símbolo ∅ para representar el conjunto vacío.Y como ya señalamos cuando hablamos de la inducción estructural se

verica que: si A ⊂ Z verica que A 6= ∅ y para cada n ∈ A se tiene ques(n) ∈ A y a(n) ∈ A entonces A = Z.

La operación suma de números enteros se construye apoyándose enla suma de los números naturales, de modo que las siguientes reglas sonsucientes:

• 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 inducción estructural que con las reglas ante-riores se dene n + m para cada n,m ∈ Z.

Y los números enteros con la operación de suma así construida, (Z, +), ve-rican las siguientes propiedades, que se pueden demostrar usando las reglasde denición de la suma y el principio de inducción estructural:

i) propiedad asociativa: (a + b) + c = a + (b + c) para cualesquieraa, b, c ∈ Z,

ii) propiedad conmutativa: para cualquier pareja a, b ∈ Z se tiene quea + b = b + a.

iii) existencia de elemento neutro: existe un entero 0 ∈ Z tal que paracualquier número entero a ∈ Z se tiene que a + 0 = 0 + a = a,

iv) existencia de elemento inverso: para cualquier entero a ∈ Z existeotro entero denominado −a ∈ Z tal que a + (−a) = (−a) + a = 0.Notación. En la propiedad iv) para cada a ∈ Z denotamos con −a el inversode 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+ quitándole la marca. Por

Page 126: Apuntes de Matematicas Discretas(2)

126 CAPÍTULO 3. ARITMÉTICA MODULAR

ejemplo −(−5) = 5, −0 = 0, −(5) = −5. Escribiremos a− b para simplicarla expresión a + (−b).

Decimos entonces que (Z, +) es un grupo conmutativo (cualquier con-junto con una operación vericando las propiedades i) a iv) es un grupoconmutativo). Observamos que al construir los números enteros hemos am-pliado el conjunto de los números naturales para que la operación resta tengasiempre sentido. Por ejemplo 5 − 7 es una diferencia de números naturalescuyo resultado no es un número natural pero sí un número entero, −2 ∈ Z.

De la misma manera que con la operación de la suma, atendiendo a lacasuística del signo, se puede denir otra operación sobre los números enterosque es el producto: dados dos números enteros a, b ∈ Z se puede construir elproducto de ambos a× b ∈ Z.

Ejercicio 54 Describir un conjunto de reglas sucientes para denir el pro-ducto ab de cualquier par de números enteros a, b ∈ Z, atendiendo a lasdistintas posibilidades para los signos de a y b.

En esta operación 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 número 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 número entero 2 debería ser el número 1/2 que no es un númeroentero. (La sucesiva ampliación de Z para que la división sea una operaciónque tenga sentido es construir el conjunto de los números 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 quea× (b + c) = a× b + a× c.

Entonces decimos que (Z, +,×) es un anillo conmutativo (de nuevocualquier conjunto con dos operaciones vericando las propiedades i) a iv) y1) a 4) es un anillo conmutativo).

Page 127: Apuntes de Matematicas Discretas(2)

3.2. TEOREMA DE LA DIVISIÓN 127

El estudio de las estructuras algebraicas es importante y abre todo elcampo de las matemáticas conocido como álgebra. Capta la estructuraprofunda de los conjuntos dotados de operaciones y permite describir suspropiedades y estudiar características generales. El álgebra es entonces elestudio de las reglas del juego, como en esos juegos de mesa que se presentancon distinto aspecto pero al leer sus reglas descubrimos un juego ya conocido.

Ejercicio 55 Comprobar que las matrices de tamaño 2× 2 con coecientesenteros 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 división

Aunque en el anillo de los números enteros no se puede dividir, porque loscocientes no son enteros, sí se puede hacer una división entera, obteniéndoseun cociente y un resto. Esta división nos va a permitir por un lado construirun algoritmo para el cálculo del máximo común divisor de dos números sinnecesidad de factorizarlos y por otro establecer una relación de equivalen-cia, la congruencia módulo un entero, con interesantes utilidades paratrabajar en anillos parecidos a los enteros pero con una cantidad nita deelementos.

Antes de enunciar y demostrar el teorema del resto debemos detenernosun momento a reexionar sobre el orden que presentan los números natura-les y los números enteros. Aunque volveremos sobre ellas en el capítulo 6,denamos lo que es una relación de orden.

Denición 3.2.1 Sea A un conjunto, se dene una relación en el conjuntoA como un subconjunto R del producto cartesiano A×A = (a, b) : a, b ∈ A,de modo que dos elementos a, b ∈ A están relacionados si y solamente si lapareja (a, b) está en R.

Ejemplos 3.2.2 Podemos denir una relación 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) yel 2 se relaciona con el 1 (2R1).

Page 128: Apuntes de Matematicas Discretas(2)

128 CAPÍTULO 3. ARITMÉTICA MODULAR

Una relación habitual es la que dene los números racionales. Tomemosel conjunto de las fracciones F = p/q : p, q ∈ Z, q 6= 0 y denimos larelación 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).

Denición 3.2.3 Sea A un conjunto, una relación R en A se dice que esde 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) Antisimétrica: 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 números naturales hay una relación de orden deno-tada con el signo ≥, por la que, por ejemplo 5 ≥ 3 y 100 ≥ 34 y que se puededenir de la siguiente manera: dados a, b ∈ N se dice que b ≥ a si o bienb = a o bien existe un número natural c tal que b = a+ c. Este ordenamientode los números naturales se suele representar sobre una semirrecta (hacia laderecha los valores mayores):

1 2 3 4 ...• • • • ...

Consideremos N+ ⊂ Z (a veces diremos sencillamente N ⊂ Z) así orde-nado según el orden anteriormente descrito. Vamos a extender dicho ordena los números enteros, de manera que se respete el orden que tenemos enN+. La relación de orden se denirá de la siguiente manera: sean a, b ∈ Zentonces a ≥ b si y solamente si a− b ∈ N+ ∪ 0.

Este orden sobre el conjunto de los números enteros se suele representaren una recta (hacia la derecha los valores mayores):

... −2 −1 0 1 2 ...

... • • • • • ...

Un teorema fundamental sobre el conjunto N es el siguiente:

Teorema 3.2.4 Cada subconjunto no vacío 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 además único.

Page 129: Apuntes de Matematicas Discretas(2)

3.2. TEOREMA DE LA DIVISIÓN 129

Demostración. Supongamos que A no tiene mínimo, entonces demostramospor inducción completa que N − A = N, lo que quiere decir que A es elconjunto vacío.

Como A no tiene mínimo entonces 1 /∈ A, esto es, 1 ∈ N−A. Se tiene labase de inducción.

Ahora bien si 1 /∈ A, 2 /∈ A, ..., n /∈ A entonces s(n) /∈ A pues seríamínimo. De este modo se tiene el paso de inducción y por tanto A = ∅.

Hemos demostrado la existencia de un mínimo, veamos su unicidad. Sim y m′ son mínimos entonces se tiene que m ≤ m′ y m′ ≤ m por lo quem = m′. Por tanto el mínimo es único.Notación. Si a ≥ b y a 6= b escribiremos a > b. La expresión b ≤ a es otramanera de escribir a ≥ b.

Observación 3.2.5 El 1 y el −1 son los únicos números enteros que tieneninverso para el producto, 1× 1 = (−1)× (−1) = 1. Estos dos números se de-nominan unidades del anillo de los enteros. A partir de ahora trabajaremossiempre con números positivos. Para cambiar el signo a un número bastamultiplicar por -1, un proceso fácilmente reversible. Esto indica que trabajarcon números positivos para la división no es una grave restricción.

Ya estamos en condiciones de enunciar y demostrar el teorema del resto.

Teorema 3.2.6 Sean a y b dos números enteros positivos, entonces existendos enteros q (cociente) y r (resto) únicos tales que q ≥ 0, 0 ≤ r < b y setiene la expresión

a = bq + r

esto es, dividendo es igual a divisor por cociente más resto.

Demostración. Comenzamos demostrando la existencia de q y r.Si a < b entonces q = 0 y r = a verican las hipótesis.Si a = b entonces q = 1 y r = 0 verican las hipótesis.Si a > b entonces tomamos el conjunto A = a−nb : n ∈ N∩(N+∪0)

que es un subconjunto no vacío de N+ ∪ 0. Por tanto, o 0 ∈ A y es unelemento mínimo, o 0 /∈ A y el teorema anterior garantiza que A tiene unelemento mínimo. Denominamos r ∈ A al mínimo. De este modo existeq ∈ N tal que

a− qb = r

Page 130: Apuntes de Matematicas Discretas(2)

130 CAPÍTULO 3. ARITMÉTICA MODULAR

o lo que es lo mismoa = qb + r.

Para demostrar que r < b se razona por reducción al absurdo. Si r ≥ bentonces 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 contradiccióncon que r es el mínimo de A.

La unicidad es consecuencia en los primeros casos de la desigualdad

a ≤ b

y en el último de la unicidad del mínimo y del hecho de que dos elementosde A dieren en un múltiplo de b.

3.3 Divisibilidad, mcd y factorizaciónComo ya hemos señalado, la no existencia de inverso para el producto de nú-meros enteros hace que la operación de división no se pueda realizar siempre(igual que no se puede efectuar siempre la resta en los números naturales).Aunque se puede dividir 4 entre 2 y obtener un número entero, sin embargo,la división 5 entre 3 no se puede efectuar (sólo podemos obtener un cocientey un resto según el teorema antes demostrado). Esto da lugar a una nocióninteresante que es la de divisibilidad.

3.3.1 Deniciones básicasDenición 3.3.1 Sean a, b dos números enteros, se dice que a divide a by se escribe a|b si existe un número entero c tal que b = a × c. Tambiéndecimos que b es múltiplo de a o que a es un factor de b.

Es decir, en el caso divisible, se puede efectuar la división b entre a y seobtiene un número entero, esto es, al hacer la división entera entre b y a elresto es 0.

Ejemplo 3.3.2 El número entero 12 divide a 60 porque 60 = 5× 12 pero 12no divide a 34.

Page 131: Apuntes de Matematicas Discretas(2)

3.3. DIVISIBILIDAD, MCD Y FACTORIZACIÓN 131

Observación 3.3.3 Todo número entero a ∈ Z es divisible por a, por −a,por 1 y por −1.

Observación 3.3.4 Cada divisor d de un número entero no nulo a ∈ Zverica |d| ≤ |a|, donde |x| es el valor absoluto, esto es, para cada x ∈ Z setiene |x| = x si x ≥ 0 y |x| = −x si x < 0.

Denición 3.3.5 Un entero positivo a 6= 1 se dice que es un número pri-mo si sus únicos factores positivos son a y 1. Si a tiene un factor positivodistinto de a ó de 1 se dice que es compuesto.

Ejemplo 3.3.6 Los enteros 5, 13 y 19 son números primos, 125 y 258 soncompuestos.

3.3.2 Algoritmo de Euclides para calcular el mcdComo se deduce de las dos observaciones del párrafo anterior el conjunto dedivisores positivos de un número natural a es un conjunto no vacío (ya que almenos 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 denición.

Denición 3.3.7 Dados dos números enteros positivos a y b se dene elmáximo común divisor de a y b y se escribe mcd(a, b) como el mayor de losdivisores comunes de a y b.

Vamos a desarrollar un algoritmo para calcular el mcd de dos números.Es un algoritmo clásico conocido como algoritmo de Euclides. Necesitaremospara esta construcción el siguiente lema.

Lema 3.3.8 Dados dos números enteros positivos a y b, a > b entoncesmcd(a, b) = mcd(b, r) donde r es el resto de dividir a entre b.

Demostración. Vamos a demostrar que el conjunto de divisores comunes a ay b es igual que el conjunto de divisores comunes a b y a r. Esto implica quemcd(a, b) = mcd(b, r).

En efecto, si p divide a a y a b entonces existen números enteros s, t ∈ Ztales que

a = ps b = pt,

Page 132: Apuntes de Matematicas Discretas(2)

132 CAPÍTULO 3. ARITMÉTICA MODULAR

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

r = a− qb = ps− qpt = p(s− qt)

lo que demuestra que p divide a a r.Recíprocamente 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 demostración del lema.

Por tanto si dividimos a entre b el problema de calcular el mcd(a, b) sereduce al cálculo del mcd(b, r) que son ahora números más pequeños por elteorema de la división. Nuevamente podemos dividir b entre r y obtener unresto r1, por lo que el problema es calcular el mcd(r, r1). Así sucesivamentese van calculando r2, r3... que son números enteros positivos que van decre-ciendo (r1 > r2 > r3...). Llegará entonces un momento en el que rn = 0, estoimplica que rn−1 divide a rn−2 (el resto de la división es rn = 0) y entoncesel mcd(a, b) = mcd(rn−2, rn−1) = rn−1.

Ejemplo 3.3.9 Calcular el máximo común 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)

Page 133: Apuntes de Matematicas Discretas(2)

3.3. DIVISIBILIDAD, MCD Y FACTORIZACIÓN 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. Estose suele indicar como que 8872 y 125 son primos entre sí (o relativamenteprimos).

Denición 3.3.10 Si dos números enteros positivos a, b ∈ Z verican quemcd(a, b) = 1 se dicen primos entre sí (o relativamente primos).

Ejercicio 56 Calcula por el algoritmo de Euclides el mcd(247, 9981).

Notación. Al resto de dividir a entre b lo denotaremos a mod b (comoseñalamos en el capítulo anterior).

Ejercicio 57 Escribe en pseudocódigo el algoritmo de Euclides.

Lema 3.3.11 (de Bezout) Sean a, b ∈ Z números enteros positivos, existendos enteros s y t tales que

mcd(a, b) = sa + tb.

Demostración. Es una consecuencia del algoritmo de Euclides, recordemosque, suponiendo que a ≥ b, teníamos una expresión de la forma:

a = q0b + r0

b = q1r0 + r1

r0 = q2r1 + r2

...

Page 134: Apuntes de Matematicas Discretas(2)

134 CAPÍTULO 3. ARITMÉTICA MODULAR

rn−3 = qn−1rn−2 + rn−1

rn−2 = qnrn−1

donde rn−1 = mcd(a, b).Vamos a demostrar que para cada ri (i ≥ 0) existen enteros si y ti de

modo que:ri = sia + tib.

Esto concluye el lema porque rn−1 = mcd(a, b).La demostración que vamos a presentar es, de alguna manera, construc-

tiva. Si despejamos rn−1 en la penúltima igualdad, expresamos el mcd(a, b)como combinación lineal entera de rn−3 y rn−2 (esto quiere decir que exis-ten dos números enteros A y B de modo que mcd(a, b) = Arn−3 + Brn−2).Si vamos despejando rn−2 en la siguiente igualdad, rn−3 en la anterior... yrecurrentemente vamos sustituyendo en las expresiones anteriores, al nalexpresamos mcd(a, b) como combinación lineal entera de a y b que es justa-mente lo que queremos.

Formalizamos el razonamiento por inducción completa en i.El caso i = 0 es cierto puesto que:

r0 = a− q0b.

Por tanto s0 = 1 y t0 = −q0.El caso i = 1 es también cierto puesto que r1 = b− q1r0. De este modo,

sustituyendo la igualdad anterior tenemos:

r1 = b− q1(a− q0b) = (1 + q1q0)b− q1a.

Por tanto s1 = −q1 y t1 = 1 + q1q0.Veamos ahora que si el lema es cierto para cualquier valor estrictamente

menor que i también lo es para i.En efecto, tenemos:

ri = ri−2 − qiri−1.

Usando la hipótesis de inducción para ri−1 y ri−2 se obtiene:

ri = (si−2a + ti−2b)− qi(si−1a + ti−1b).

Por tantoai = si−2 − qisi−1

Page 135: Apuntes de Matematicas Discretas(2)

3.3. DIVISIBILIDAD, MCD Y FACTORIZACIÓN 135

ybi = ti−2 − qiti−1

hacen que se verique el lema.

Ejemplo 3.3.12 Expresar el mcd(35, 20) como combinación lineal de 35 y20.

Las expresiones del algoritmo de Euclides:35 = 20× 1 + 1520 = 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 elsegundo 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 números no negativos. Si 1 < p < abes un entero positivo que divide al producto ab y mcd(a, p) = 1 entonces pdivide a b.

Demostración. Como mcd(a, p) = 1, del lema de Bezout, se deduce queexisten 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 números primos. Si p divide al productop1...pn entonces existe i, tal que 1 ≤ i ≤ n y p = pi.

Page 136: Apuntes de Matematicas Discretas(2)

136 CAPÍTULO 3. ARITMÉTICA MODULAR

Demostración. Razonamos por inducción en n, que es el número de factoresprimos.

Si n = 1 el corolario es trivial, por denición de número primo.Si p divide a p1...pnpn+1 entonces, llamando a al producto p1...pn, tenemos

que p divide al producto apn+1. Si mcd(a, p) = 1 entonces, por el corolarioanterior, p es un número primo que divide a pn, que también es primo. Portanto 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. Deeste modo r = p divide a a = p1...pn y se concluye por hipótesis de inducción.

3.3.3 FactorizaciónFinalizamos esta sección con una propiedad fundamental de los númerosenteros, la de la factorización única como producto de números primos. Estoes, cada número entero se puede escribir de forma única como producto denúmeros primos.

Teorema 3.3.15 Todo número entero a ≥ 2 puede escribirse de forma única(salvo posibles reordenamientos) como producto de números primos,

a = pa11 × pa2

2 × ...pann

donde los números a1, ..., an son números naturales no nulos y p1, p2, ...,pn son números primos distintos. A la expresión de a de arriba se le llamafactorización prima de a o descomposición en factores primos de a.

Demostración. Realicemos un algoritmo para factorizar el número enteroa ≥ 2. Este algoritmo recoge el procedimiento clásico de ir probando conlos números primos menores que el número que queremos factorizar hastaencontrar: o bien que llegamos hasta a, que es por tanto primo, o bien queobtenemos un factor p, que necesariamente es primo (pues es el primero queencontramos). En esta segunda posibilidad dividimos a/p por él y empeza-mos de nuevo el proceso con el cociente a/p:

Entrada: a (a > 2)i := 2while a mod i 6= 0

i := i + 1If i < a then r :=i es factor de a else r :=a es primo

Page 137: Apuntes de Matematicas Discretas(2)

3.3. DIVISIBILIDAD, MCD Y FACTORIZACIÓN 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 factorización de 135.

Como 135 no es par, no es divisible por 2.Si dividimos entre 3 obtenemos que 135 = 3×45. Por tanto 3 es un factor

primo de 135.Reiniciamos el algoritmo con 45. (No hace falta probar con los primos

que no dividían al número 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 número 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 entreb.

El algoritmo presentado muestra la existencia de la factorización, debe-mos comprobar ahora la unicidad de la misma. Razonamos por reducciónal absurdo.

Supongamos que la factorización no es única entonces:

a = pa11 × pa2

2 × ...× pann = qb1

1 × ...× qbmm .

Por tanto:o bien existe qi distinto a cualquiera de los pj, lo que es una contradicción

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 existeai 6= bi. Supongamos que ai > bi (si no fuera así el razonamiento se haríacambiando 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 esproducto de primos distintos de pi (aquí de nuevo se está usando el corolario3.3.14) lo que es una contradicción.

Por tanto concluimos la demostración del teorema, al haber demostradotanto la existencia como la unicidad de la factorización de a.

Page 138: Apuntes de Matematicas Discretas(2)

138 CAPÍTULO 3. ARITMÉTICA MODULAR

La siguiente proposición aumenta notablemente la eciencia del algoritmode factorización.

Proposición 3.3.17 Todo número entero compuesto a tiene un factor primop 6= 1 menor o igual que √a.

Demostración. Razonamos por reducción al absurdo. Supongamos que todoslos factores primos de a son estrictamente mayores que √a. Como a escompuesto, tenemos

a = pa11 × ...× pan

n

donde o bien a1 > 1 o bien n > 1 (o ambas cosas). En cualquiera de loscasos, como hemos supuesto que pi >

√a para cada i = 1...n, se tiene que

a > (√

a)2 > a lo que es una contradicción.

Veamos un ejemplo donde se muestra la utilidad del lema.

Ejemplo 3.3.18 Factoricemos 8872.

Como es un número par 8872 = 2× 4436.El cociente es de nuevo par 8872 = 22×2218 y de nuevo 8872 = 23×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 comprobación ver que ninguno de ellos lo divide, por tanto 1109

es primo y la descomposición es

8872 = 23 × 1109.

Observar la mejora que ha introducido el hecho de sólo tener que probarcon los primos hasta la raíz de 1109.

Ejercicio 59 Factoriza 1653.

La relación de divisibilidad y sobre todo la primalidad de números enterosson conceptos profundamente ligados a la seguridad informática en lo quese denomina criptografía, referente a la transmisión de mensajes codicadospara no poder ser descifrados por un ajeno al sistema. La idea fundamentales que los algoritmos que se conocen para saber si un número es o no primoprecisan demasiado tiempo. Esto parece indicar que si se envía un númeroprimo (o compuesto) sucientemente grande, un posible receptor indeseado

Page 139: Apuntes de Matematicas Discretas(2)

3.4. RELACIONES DE CONGRUENCIA 139

del mensaje no va a ser capaz de saber si el número es primo o extraer susfactores.

El problema de la distribución de los primos en el conjunto de los enteros,es decir, el de conocer el primo enésimo, permanece misterioso a pesar de seruna cuestión que ha fascinado a matemáticos de todas las épocas.

La división entera nos abre el campo de la aritmética modular, que es elresultado de establecer unas relaciones de equivalencia en los enteros paraconstruir otros anillos con un número nito de elementos y propiedades muyinteresantes.

3.4 Relaciones de congruencia

Aunque volveremos sobre ellas en profundidad en el último capítulo, dena-mos lo que es una relación de equivalencia.

Denición 3.4.1 Sea A un conjunto, una relación R en A se dice que esde 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) Simétrica: si a se relaciona con b entonces b se relaciona con a, estoes, si (a, b) ∈ R entonces (b, a) ∈ R;

iii) Transitiva: si a se relaciona con b y b se relaciona con c entonces ase relaciona con c, es decir si (a, b) ∈ R y (b, c) ∈ R entonces (a, c) ∈ R.

Denición 3.4.2 Sea Z el conjunto de los números enteros y p ∈ Z unnúmero entero p > 1. Denimos la relación de congruencia módulo p,que denotamos a ≡ b mod p, de la siguiente manera: a es congruente con bmódulo p si y solamente si a− b es múltiplo de p.

Observación 3.4.3 Si a y b son positivos entonces a ≡ b mod p si y sola-mente si a mod p= b mod p.

Ejercicio 60 Demostrar la veracidad de la observación anterior.

Proposición 3.4.4 La relación de congruencia antes denida es una rela-ción de equivalencia.

Page 140: Apuntes de Matematicas Discretas(2)

140 CAPÍTULO 3. ARITMÉTICA MODULAR

Demostración. Debemos comprobar las tres propiedades:Reexiva. Se tiene la propiedad reexiva ya que para cada a ∈ Z se

verica a− a = 0 = 0× p.Simétrica. 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

quea− 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 queríamos demostrar.

Ejercicio 61 Comprobar las siguientes relaciones de congruencia:

2 ≡ 4 mod 2 13 ≡ −2 mod 5 15 ≡ 3 mod 3.

La siguiente proposición observa que las operaciones de la aritmética en-tera, esto es, suma y producto, respetan esta relación de equivalencia. Portanto se puede hablar de aritmética modular. Es decir, se pueden hacersumas y productos módulo un cierto entero.

Proposición 3.4.5 Sean a, b, c, d, p ∈ Z números enteros con p > 1, talesque 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 denición de congruencia para demostrar la proposi-ción anterior.

Ejemplo 3.4.6 Tomemos la relación de congruencia módulo 5.Empecemos mirando los números positivos. Como a ≡ b mod 5 si y

solamente si el resto de dividir a o b entre 5 es el mismo (por la observación3.4.3), nos interesa saber cuántas posibilidades existen para dicho resto. Porel teorema de la división entera el valor del resto de dividir por 5 es un númerocomprendido entre 0 y 4. De esta manera aparecen, al trabajar módulo 5, los

Page 141: Apuntes de Matematicas Discretas(2)

3.4. RELACIONES DE CONGRUENCIA 141

números que dan resto 0 al dividir por 5 (es decir los múltiplos de 5), los quedan resto 1, los que dan resto 2, 3 ó 4.

En este sentido, al tomar relación módulo 5, se tienen 5 elementos, losque se relacionan con el 0, con el 1, ..., con el 4:

• 0 ≡ 5 ≡ 10 ≡ 15 ≡ 20... mod 5• 1 ≡ 6 ≡ 11 ≡ 16 ≡ 21... mod 5• 2 ≡ 7 ≡ 12 ≡ 17 ≡ 22... mod 5• 3 ≡ 8 ≡ 13 ≡ 18 ≡ 23... mod 5• 4 ≡ 9 ≡ 14 ≡ 19 ≡ 24... mod 5

Los números negativos también 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 módulo un ciertonúmero p podemos utilizar el resto de dividir a por p. Esta elección simplicalas operaciones.

Por ejemplo, si queremos multiplicar módulo 5 los números 7421 y 124590,en lugar de hacer la multiplicación directamente, tomamos los restos módulo5 y así

7421× 124592 ≡ 1× 2 ≡ 2 mod 5.

Ejercicio 63 Opera módulo 7, obteniendo un resultado entre 0 y 6:

2345 + 214× 432, 2419 + 987.

La formalización de estos conceptos, sobre la que profundizaremos en elcapítulo 6 se encuentra en las siguientes deniciones:

Denición 3.4.7 Sea A un conjunto y ∼ una relación de equivalencia enA. Para cada elemento a ∈ A se dene la clase de equivalencia de a, yse denota por C(a) o por a, como el conjunto de todos aquellos elementos deA que se relacionan con a:

a = b ∈ A : b ∼ a.

Page 142: Apuntes de Matematicas Discretas(2)

142 CAPÍTULO 3. ARITMÉTICA MODULAR

Denición 3.4.8 Sean A un conjunto y ∼ una relación de equivalencia enA. Se dene el conjunto cociente de A por la relación de equivalencia ∼como el conjunto de las clases de equivalencia:

A/∼ = a : a ∈ A.

Entonces la aritmética módulo un entero positivo p son las operacionesque se realizan en el conjunto cociente de Z por la relación de congruenciamódulo p. A este conjunto cociente lo denotaremos Zp y atendiendo a lasconsideraciones 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 están los múltiplos de 7.En la clase de equivalencia del 1 están todos los números positivos que

dan resto 1 al dividir por 7, por ejemplo, 8, 15, 22. Además el -6, -13, -20...Y así en cada clase de equivalencia.

Para sumar basta saber lo que ocurre al hacer las sumas módulo 7 de losnúmeros del 0 al 6 y lo mismo para el producto. Lo representamos en dostablas:

+ 0 1 2 3 4 5 60 0 1 2 3 4 5 61 1 2 3 4 5 6 02 2 3 4 5 6 0 13 3 4 5 6 0 1 24 4 5 6 0 1 2 35 5 6 0 1 2 3 46 6 0 1 2 3 4 5

Page 143: Apuntes de Matematicas Discretas(2)

3.5. SISTEMAS DE ECUACIONES MÓDULO ENTEROS 143

× 0 1 2 3 4 5 60 0 0 0 0 0 0 01 0 1 2 3 4 5 62 0 2 4 6 1 3 53 0 3 6 2 5 1 44 0 4 1 5 2 6 35 0 5 3 1 6 4 26 0 6 5 4 3 2 1

Las tablas de las sumas y los productos de los números

0, 1, ..., p− 1

contienen todos los productos y sumas de la aritmética modular (para uncierto entero p).

Hemos abierto entonces el campo de la aritmética modular. Podemosefectuar operaciones (hacer sumas y productos) módulo un cierto número p.Tiene entonces sentido plantear ecuaciones, hacer otras operaciones, tratarde resolver sistemas de ecuaciones...

3.5 Sistemas de ecuaciones módulo enterosComo decíamos al nalizar la sección anterior, las operaciones de la aritmé-tica modular nos permiten plantear ecuaciones o sistemas de ecuaciones. Asípodemos hablar de una congruencia lineal como una ecuación lineal de laforma

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 tratade buscar todos aquellos números enteros x tales que al multiplicarlos por 3y sumarles 3 son congruentes con 4 módulo 5.

Si razonamos como si fueran ecuaciones de primer grado tradicionales, loque hacemos primero es pasar el 3 restando al otro miembro para escribir3x ≡ 1 mod 5. Esto es, sumar -3 (ó 2 ya que −3 ≡ 2 mod 5) a ambos ladosde la equivalencia. Esta operación no supone ningún problema porque en el

Page 144: Apuntes de Matematicas Discretas(2)

144 CAPÍTULO 3. ARITMÉTICA MODULAR

anillo de los números enteros podemos restar (existe el inverso para la suma)y se respetan las relaciones de congruencia.

Ahora lo que querríamos es pasar el 3 dividiendo, lo que en los númerosenteros no podemos hacer porque el inverso de 3 es la fracción 1/3 que noes un número entero. La cuestión natural es saber si al trabajar módulo 5(o módulo otros números enteros) el 3 tiene o no inverso para el productomódulo p. Para saber cuándo ocurre esto necesitamos el lema de Bezout,demostrado anteriormente.

Teorema 3.5.2 Sean a, p ∈ Z números enteros positivos no nulos. Si mcd(a, p) =1 entonces existe el inverso de a para el producto, es decir un entero b talque a× b ≡ 1 mod p.

Demostración. Como mcd(a, p) = 1 el lema de Bezout garantiza la existenciade dos números enteros s, t ∈ Z de modo que:

1 = sa + tp

y por tanto al trabajar módulo p tenemos:

1 ≡ sa mod p,

Por tanto s es el inverso de a para el producto módulo p.

Observación 3.5.3 Sean a y p enteros, con p > 1. Si existe b entero talque ba ≡ 1 mod p entonces b es único módulo p.

Demostración. Supongamos ab′ ≡ 1 mod p. Entonces ab − ab′ ≡ 0 mod p,esto es, p divide a a(b−b′). Si mcd(a, p) = 1 podemos usar el Corolario 3.3.13y así p divide a b− b′ lo que concluye la demostración. Si r = mcd(a, p) 6= 1,entonces existen enteros s y t tales que a = rs y p = rt (1 < t < p). De estemodo, abt ≡ 0 mod p. Como ab ≡ 1 mod p entonces t es un múltiplo de p loque es una contradicción, ya que 1 < t < p.

Observación 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.

Demostración. Como mcd(a, p) = r 6= 1, entonces existen enteros s, t ∈ Ztales 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

Page 145: Apuntes de Matematicas Discretas(2)

3.5. SISTEMAS DE ECUACIONES MÓDULO ENTEROS 145

y de este modot ≡ 0 mod p

lo que es una contradicción pues 1 < t < p.

De esta manera el teorema anterior y las observaciones subsiguientes ca-racterizan cuando existe el inverso para el producto módulo p y además elteorema indica como calcularlo. Hay que usar el algoritmo de Euclides parallegar a la identidad del lema de Bezout.

Ejemplo 3.5.5 Sean los números 5 y 11. Vamos a calcular el inverso de 5módulo 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 identidadde Bezout:

1 = 11 + 5× (−2).

Por tanto, módulo 11:1 ≡ 5× (−2) mod 11.

Por lo que a = 9 es el inverso de 5 módulo 11. (Obsérvese que −2 ≡9 mod 11.)

Esto permite resolver la congruencia que poníamos en un ejemplo anterior:

3x + 3 ≡ 4 mod 5.

Señalamos 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 de3 módulo 5. Al trabajar módulo 5 todo número es congruente con uno delconjunto 0, 1, 2, 3, 4. Podemos entonces buscar el inverso probando:

3× 0 ≡ 0 mod 53× 1 ≡ 3 mod 53× 2 ≡ 1 mod 53× 3 ≡ 4 mod 53× 4 ≡ 2 mod 5

Es decir el inverso del 3 es el 2, ya que 3× 2 ≡ 1 mod 5.

Page 146: Apuntes de Matematicas Discretas(2)

146 CAPÍTULO 3. ARITMÉTICA MODULAR

Multiplicamos la congruencia por 2 y tenemos

3x× 2 ≡ 1× 2 mod 5,

es decir,x ≡ 2 mod 5.

Por tanto todos los números enteros x que son solución de la congruencia sonde la forma

x = 5K + 2 K ∈ Z.

Observar que hemos propuesto dos maneras de calcular el inverso de unnúmero a módulo p. Por un lado usar la identidad de Bezout, por otro lado irprobando con los distintos productos a · 1, a · 2, ..., a · (p− 1) hasta encontrarel producto que valga 1.

Ejemplo 3.5.6 Como

3 · 1 ≡ 3 mod 6 3 · 2 ≡ 0 mod 6 3 · 3 ≡ 3 mod 63 · 4 ≡ 0 mod 6 3 · 5 ≡ 3 mod 6 3 · 0 ≡ 0 mod 6

entonces 3 no tiene inverso módulo 6. Obsérvese que no se tienen las hipótesisdel teorema, ya que mcd(3, 6) = 3.

Ejercicio 64 Demostrar que la congruencia lineal

3x + 4 ≡ 5 mod 6

no tiene solución.

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 pro-blema de resolver sistemas de congruencias lineales, es decir, expresionesdel tipo

x ≡ a1 mod p1

Page 147: Apuntes de Matematicas Discretas(2)

3.5. SISTEMAS DE ECUACIONES MÓDULO ENTEROS 147

x ≡ a2 mod p2

...

x ≡ an mod pn

El Teorema chino de los restos es el instrumento adecuado para sabersi un sistema de este tipo tiene solución y permite calcularla.

Teorema 3.5.7 Sean a1, a2, ..., an números 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 solución única módulo el producto P = p1p2...pn.

Demostración. Sean P = p1...pn y Pi = P/pi con i un entero entre 1 y n.Por hipótesis 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

qiPi ≡ 1 mod pi.

Sea entonces

x0 = a1P1q1 + a2P2q2 + ... + anPnqn

de modo que al tomar congruencia módulo pi se obtiene:si j 6= i entonces Pj es divisible por pi, por tanto Pj ≡ 0 mod pi

si j = i entonces Piqi ≡ 1 mod pi,por tanto x0 ≡ ai mod pi (i = 1, ..., n) como queríamos demostrar. Así todoslos números de la forma

x = x0 + KP

Page 148: Apuntes de Matematicas Discretas(2)

148 CAPÍTULO 3. ARITMÉTICA MODULAR

con K ∈ Z son solución del sistema.Demostramos ahora la unicidad de la solución módulo P . Esto prueba

además que toda solución del sistema es de la forma x = x0+KP con K ∈ Z.

Tomemos α y β dos soluciones del sistema, entonces α−β es solución delsistema de congruencias

x ≡ 0 mod p1

x ≡ 0 mod p2

...

x ≡ 0 mod pn

es decir, α ≡ β mod P , (ya que α − β es múltiplo de pi para cada i) lo quedemuestra la unicidad de la solución módulo P .

Ejemplo 3.5.8 Resolver el sistema:

x ≡ 2 mod 3x ≡ 3 mod 5x ≡ 2 mod 7

Como 3, 5 y 7 son primos entre sí, el teorema chino de los restos permitecalcular la única solución módulo 3× 5× 7 = 105.

Siguiendo la notación del teorema

P1 = 105/3 = 35P2 = 105/5 = 21P3 = 105/7 = 15

Ahora q1 es el inverso de 35 módulo 3. Como 35 ≡ 2 mod 3 entoncesentonces q1 = 2, ya que 2× 2 ≡ 1 mod 3.

De la misma manera q2 es el inverso de 21 módulo 5, es decir, el inversode 1 módulo 5, por tanto q2 = 1.

Finalmente q3 = 1.Por tanto

x = 2× 35× 2 + 3× 21× 1 + 2× 15× 1 = 233

Page 149: Apuntes de Matematicas Discretas(2)

3.5. SISTEMAS DE ECUACIONES MÓDULO ENTEROS 149

es la única solución módulo 105, de modo que todas las soluciones del sistemason:

x = 23 + 105K K ∈ Z.

Una aplicación que podríamos presentar del teorema chino de los restos esla observación de que los restos módulo un conjunto de números primos entresí permiten determinar unívocamente un número. De esta manera númerosde gran tamaño se podrían representar por sus restos módulo unos ciertosprimos y así reducir sustancialmente su tamaño. Con estos restos se puedenhacer operaciones y la recuperación del número en cuestión pasa por la re-solución de un sistema de congruencias. Esto resolvería parcialmente, comoveremos en el ejemplo siguiente, la limitación de dígitos de una máquina.

Ejemplo 3.5.9 Supongamos que tenemos una calculadora de 8 dígitos y que-remos hacer la suma de los números 5888851358 y 259632147. Tomamos,por ejemplo, los números primos entre sí 100, 99 y 97 cuyo producto P es960.300, menor de 8 cifras.

El primer número verica:

5888851358 ≡ 58 mod 1005888851358 ≡ 72 mod 995888851358 ≡ 78 mod 97.

El segundo verica:

259632147 ≡ 47 mod 100259632147 ≡ 93 mod 99259632147 ≡ 7 mod 97.

Y para hacer la suma basta hacer la suma de los restos, y después resolverel sistema

x ≡ 47 + 58 mod 100x ≡ 72 + 93 mod 99x ≡ 78 + 7 mod 97

En este último paso, para recuperar el número, hay que hacer operacionescon enteros de más de 8 dígitos, por lo que, propiamente, con 8 dígitos sólopodemos hacer aritmética con las representaciones por sus restos módulo 100,99 y 97.

Page 150: Apuntes de Matematicas Discretas(2)

150 CAPÍTULO 3. ARITMÉTICA MODULAR

También puede usarse este teorema para hacer recuentos con númerosgrandes.

Ejemplo 3.5.10 Supongamos que tenemos una manifestación que sabemosque ha congregado a menos de un millón de personas y queremos, desde laorganización, saber el número exacto de congregados. Les pedimos que seagrupen de 100 en 100 y apuntamos el resto. Pongamos que son 30. Estoindica que el número x de participantes verica

x ≡ 30 mod 100.

Después les pedimos que se agrupen en grupos de 99, y sobran 25 y en gruposde 97 y sobran 13. Es decir, se tiene el siguiente sistema de congruencias:

x ≡ 30 mod 100x ≡ 25 mod 99x ≡ 13 mod 97

Como 100, 99 y 97 son primos entre sí, el sistema tiene solución. Como100 · 99 · 97 = 960.300 entonces la única solución positiva y menor que esenúmero es el número de participantes en la manifestación.

Ejercicio 66 Determinar el número de participantes en la anterior mani-festación.

3.6 Sistemas de numeraciónTerminamos este tema con esta sección dedicada a los sistemas de nume-ración, es decir a las formas de representar los números enteros. La baseescogida para la numeración es arbitraria y está universalmente admitida labase 10 (sistema de numeración decimal) quizás debida a nuestra propia ana-tomía que presenta 10 dedos para poder contar con ellos. Pero otras basesde numeración son también importantes: la base dos (sistema de numeraciónbinaria) es fundamental en la informática y las telecomunicaciones, donde lainformación está compuesta de ceros y unos; la base 60 es también impor-tante en algunos campos (p.ej. medida de ángulos) debido al gran númerode divisores del 60 (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60); también la base 12es relevante en medidas temporales, por razones similares a la base 60. Va-mos a ver que todos estos sistemas permiten representar, mediante notaciónposicional, cualquier número entero y hacer operaciones con esta notación.

Page 151: Apuntes de Matematicas Discretas(2)

3.6. SISTEMAS DE NUMERACIÓN 151

Cuando escribimos el número 12345 en base 10 estamos usando lo que sellama notación posicional y cada dígito tiene un signicado por el lugarque ocupa. Así, empezando por la derecha, la primera cifra es la de lasunidades, 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 número como combinaciónlineal de las potencias de la base, se puede hacer para un valor arbitrario dela base.

Teorema 3.6.1 Sean a y b números enteros positivos, con b > 1. Existenunos 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.

Demostración. Dividimos a entre b para obtener

a = q0b + r0.

Esto muestra que a0 = r0 porque 0 ≤ r0 < b. Además muestra la unicidadde 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 = b2q1 + br1 + a0,

con lo cual a1 = r1 (de nuevo único porque es un resto), y así sucesivamentehasta que el cociente qn sean menor que b.

Ejercicio 67 Diseñar un algoritmo para escribir un número escrito en base10 en base a.

Diseñar un algoritmo para escribir un número escrito en base a en base10.

Diseñar un algoritmo para escribir un número escrito en base a en baseb.

Page 152: Apuntes de Matematicas Discretas(2)

152 CAPÍTULO 3. ARITMÉTICA MODULAR

Ejercicio 68 Escribir en base 10 los siguientes números, escritos en base 2,3 y 5 respectivamente:

101001001 12101 342104

Ejercicio 69 Escribir el número 1465 en base 2, 5 y 7.

Y nalmente se pueden escribir algoritmos para hacer operaciones desuma y producto de números escritos en cualquier base de numeración, sinmás que tener en cuenta que lo que tradicionalmente se expresa comome llevouna, que en base 10 se hace cuando se llega a 10, en una base de numeracióncualquiera se hace cuando se llega al valor de la base.

Ejemplo 3.6.2 Sumamos en base 2 los números 1101 y 1001.

1101

1001

−−−−10110

En la primera cifra hemos sumado 1+1 que da 2 que alcanza a la base, portanto da 0 y me llevo 1.

Ejemplo 3.6.3 Multiplicamos en base 2 los números 1101 y 11.

1101

11

−−−−−1101

1101

−−−−−100111

Ejercicio 70 Escribir algoritmos para sumar en base 2 y para multiplicaren base 2.

Page 153: Apuntes de Matematicas Discretas(2)

3.7. EJERCICIOS 153

3.7 EjerciciosEjercicio 71. Poner dos ejemplos de:

i) números congruentes con 2 módulo 3,ii) números congruentes con 5 módulo 7,iii) números congruentes con 11 módulo 5,iv) números no nulos módulo 12 tal que su producto módulo 12 sea nulo,v) números distintos de 1 módulo 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 9si 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 módulo 5ii) 4+5, 1044+8, 9× 8, 841234, 245+1321 módulo 2iii) 3+75, 234+458, 9× 8, 841234, 245+1321 módulo 7.

Ejercicio 75. Demostrar que el siguiente sistema de congruencias no tienesolución:

x ≡ 2 mod 6

x ≡ 3 mod 9

Ejercicio 76. Demostrar que los siguientes sistemas tienen solución y resol-verlos:

i)x ≡ 3 mod 5

x ≡ 5 mod 7

ii)y ≡ 5 mod 11

y ≡ 7 mod 13

Page 154: Apuntes de Matematicas Discretas(2)

154 CAPÍTULO 3. ARITMÉTICA MODULAR

3.8 Ejercicios ResueltosEjercicio 51. Comenzamos con c = 1. Entonces usando las reglas de lasuma 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 reglasde 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 segundaregla dice que si m ∈ A entonces s(m) ∈ A. De este modo A = N por elprincipio de inducción.

Ejercicio 53. Fijamos n ∈ Z. Tomamos el conjunto A = m ∈ Z : n + mestá denido. Como 1 ∈ A entonces A 6= ∅. Si m ∈ A las reglas terceray cuarta garantizan que s(m) ∈ A y que a(m) ∈ A. Por tanto A = Z porinducción estructural.

Ejercicio 54. Basta tener en cuenta el signo y usar el producto que tenemosen los números enteros no negativos, N+.

Denimos como es habitual el valor absoluto de n ∈ Z como |n| = n sin ∈ N+, |0| = 0 y |n| = −n si n ∈ N−:

• a× 0 = 0× a = 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 cadauna de sus entradas. Como cada entrada está formada por un número entero,la asociatividad de la suma de matrices es consecuencia de la asociatividadde la suma de los números enteros. Idem la conmutatividad.

El elemento neutro es la matriz nula, cuyas entradas son nulas.

Page 155: Apuntes de Matematicas Discretas(2)

3.8. EJERCICIOS RESUELTOS 155

(0 00 0

)

El elemento inverso para la suma de una matriz A es la matriz −A resul-tado de cambiar de signo cada entrada de A, denominada con la letra a y sucorrespondiente subíndice.

−A =

( −a11 −a12

−a21 −a22

)

Sean dos matrices A y B cuyas entradas son denominadas respectivamentecon las letras a y b (y sus correspondientes subíndices). El producto dematrices se dene:

AB =

(a11b11 + a12b21 a11b12 + a12b22

a21b11 + a22b21 a21b11 + a22b21

)

Comprobamos que es asociativo, esto es, (AB)C = A(BC), donde lasentradas de C están denominadas con la letra c. Lo hacemos para la entradade subíndice 11 del producto, de igual manera se haría para las otras tresentradas.

En el producto (AB)C se tiene que dicha entrada es:

(a11b11 + a12b21)c11 + (a11b12 + a12b22)c21.

En el producto A(BC) se tiene que dicha entrada es:

a11(b11c11 + b12c21) + a12(b21c11 + b22c21).

Y es una comprobación 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 00 1

)

Tomando por ejemplo las matrices

M =

(1 10 1

)

Page 156: Apuntes de Matematicas Discretas(2)

156 CAPÍTULO 3. ARITMÉTICA MODULAR

N =

(1 01 0

)

se puede comprobar que MN 6= NM con lo que el producto de matricesno es conmutativo.

Ejercicio 56. El resto de dividir 9981 entre 247 es 101. El resto de dividir247 entre 101 es 45. El resto de dividir 101 entre 45 es 11. El resto de dividir45 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 ≥ bi := a, j := bwhile j 6= 0

r := i mod ji := jj := r

Salida: i

Ejercicio 58. Supongamos que a divide al cociente q = c/b ∈ Z entoncesexiste un entero s de modo que as = q. Esto implica c = abs en contradiccióncon el hecho de que a no divide a c.

Ejercicio 59. El número 1653 no es par pero sí es múltiplo de 3. Entoncesdividiendo entre 3 se obtiene 1653 = 3 × 551. Ahora bien 232 = 529 y242 = 576. Por tanto 551 ha de tener un factor menor o igual que 23. El 19divide 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 existenenteros no negativos q y q′ tales que a = pq + r y b = pq′ + r. Se sigue quea− b = p(q − q′), con lo que a ≡ b mod p.

Page 157: Apuntes de Matematicas Discretas(2)

3.8. EJERCICIOS RESUELTOS 157

Sin perdida de generalidad supongamos a ≥ b. Por el teorema del restoq, q′ ∈ N ∪ 0 y enteros r y r′ tales que 0 ≤ r < p, 0 ≤ r′ < p y a = pq + ry b = pq′ + r′. Entonces a− b = p(q − q′) + (r − r′). De este modo r − r′ =(a − b) − p(q − q′) es un múltiplo de p. Como −p < r − r′ < p entoncesnecesariamente r = r′, como queríamos demostrar.

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) comoqueríamos 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

Page 158: Apuntes de Matematicas Discretas(2)

158 CAPÍTULO 3. ARITMÉTICA MODULAR

lo que da una contradicción pues 1 no es múltiplo de 3.

Ejercicio 65. Como 5x+2 ≡ 5 mod 7 pasamos el dos restando para obtener5x ≡ 3 mod 7. Como el mcd(5, 7) = 1 entonces existe el inverso de 5 para elproducto módulo 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 lassoluciones son de la siguiente forma donde k ∈ Z:

x = 7k + 2.

Ejercicio 66. Las congruencias lineales planteadas tienen solución por elteorema chino de los restos. Dicha solución es 316.330.

Los ejercicios 67), 68), 69) y 70) Se presentan hechos con Maple.

3.8.1 Bases de numeración con MapleCambios de base de sistema de numeración

Veamos cómo se pueden implementar en Maple distintos algoritmos decambio de base.Ejercicio 67.De base 10 a base a

La entrada es el número entero n y la base a. El algoritmo debe ircalculando las cifras del número en base a haciendo divisiones sucesivas pora y tomando los restos. La salida será una lista a0, a1, ..., am de modo quen se escribe como am...a1a0 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

Page 159: Apuntes de Matematicas Discretas(2)

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 comprobación:> 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

Page 160: Apuntes de Matematicas Discretas(2)

160 CAPÍTULO 3. ARITMÉTICA 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 labase 10:

Page 161: Apuntes de Matematicas Discretas(2)

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 2En el procedimiento siguiente el número más 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 sólo la idea para construir el algoritmo de multiplicación. Se debehacer lo siguiente: vamos a multiplicar la lista l con nops(l) elementos y la

Page 162: Apuntes de Matematicas Discretas(2)

162 CAPÍTULO 3. ARITMÉTICA MODULAR

lista m con nops(m) elementos. Hay que construir un bucle que recorre lalista m. Si la entrada primera es un 0 no hace nada, si no toma la lista l. Sila entrada segunda es 0 no hace nada, si no toma la lista l y le añade un 0 alnal. Suma la primera y la segunda lista y así procede sucesivamente.

Ejercicio 71.i) el 2+3=5 y 2+2×3=8.ii) el 5+7=12 y el 5+7×2=19.iii) el 11+5=16 y el 11+2×5=21iv) 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)

Page 163: Apuntes de Matematicas Discretas(2)

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 números 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 máximo común divisor es el 7.

Ejercicio 73. Un número n de, pongamos, m cifras se puede escribir como

n = a0 + a110 + a2102 + a3103 + ... + am10m

siendo ai la cifra i−ésima del número.Como 10 ≡ 1 mod 9 entonces 10n ≡ 1 mod 9 para cada n ∈ N. De este

modo al trabajar módulo 9 se tiene:

n ≡ a0 + a1 + ... + an mod 9.

Lo que signica que n es múltiplo de 9 si y solamente si lo es a0 + a1 +... + an.

Ejercicio 74.i) 3 + 5 = 8. 8 mod 5 = 3 mod 54 + 8 = 12 = 2 mod 5

Page 164: Apuntes de Matematicas Discretas(2)

164 CAPÍTULO 3. ARITMÉTICA MODULAR

9× 8 mod 5 = (−1)× (−2) mod 5 = 2 mod 5841234 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 5ii) (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 2841234 mod 2 = 01234 mod 2 = 0 mod 2(245 + 1321) mod 2 = (1 + 1) mod 2 = 0 mod 2iii) (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 1841234 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 solución, ya que 6 y 9 noson primos entre sí, y el teorema chino de los restos no se aplica. Veremosque, en efecto, este es un ejemplo de no existencia de solución.

Si x ≡ 2 mod 6 entonces x se puede escribir de la siguiente forma dondeK1 ∈ Z

x = 2 + 6K1

y si x ≡ 3 mod 9 entonces entonces x se puede escribir de la siguiente formadonde K2 ∈ Z

x = 3 + 9K2

Tenemos pues2 + 6K1 = 3 + 9K2

que implica6K1 − 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 y7 son primos entre sí, 11 y 13 son primos entre sí).

Page 165: Apuntes de Matematicas Discretas(2)

3.8. EJERCICIOS RESUELTOS 165

i) p1 = 5, p2 = 7. P = 35. P1 = 7, P2 = 5. Buscamos q1 y q2 tales que

q17 ≡ 1 mod 5

q25 ≡ 1 mod 7

Probamos los diversos valores posibles de q1 y vemos que q1 = 3 satisface laecuación. Hacemos lo mismo con q2 y comprobamos que q2 = 3 satisface laecuación.

Entonces, el número 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 talesque

q113 ≡ 1 mod 11

q211 ≡ 1 mod 13

Probamos los diversos valores posibles de q1 y vemos que q1 = 6 satisface laecuación. Hacemos lo mismo con q2 y comprobamos que q2 = 6 satisface laecuación.

Entonces, el número 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.

Page 166: Apuntes de Matematicas Discretas(2)

166 CAPÍTULO 3. ARITMÉTICA MODULAR

Page 167: Apuntes de Matematicas Discretas(2)

Capítulo 4

Combinatoria

La combinatoria es el arte de contar, es decir, de calcular inteligentementecardinales de conjuntos y de enumerar, esto es, determinar los elementos deun conjunto descrito por alguna propiedad. Es una disciplina clásica quecobra nuevo auge con la aparición de los ordenadores por dos razones: porun lado por la posibilidad de cálculo que éstos aportan, y por otro porque enel estudio de algoritmos o en el análisis de programas los problemas del tipocálculo del número de operaciones, unidades de memoria que se precisan pararealizar una cierta operación, estudio de la complejidad... son problemas detipo combinatorio.

Se pretende que el alumno al nalizar el capítulo:

• Domine las reglas fundamentales del cálculo combinatorio.

• Entienda y utilice los conceptos de variaciones, combinaciones y per-mutaciones y los pueda aplicar para calcular cardinales de conjuntos.

• Pueda aplicar estas nociones para estudiar la probabilidad de sucesosde experimentos con una cantidad nita de resultados posibles.

4.1 IntroducciónComo hemos señalado en el párrafo introductorio, el primer problema quetratamos de abordar es el de contar, es decir, computar el número de elemen-tos de un conjunto. Y además hacerlo de manera inteligente. Comencemoscon un ejemplo.

167

Page 168: Apuntes de Matematicas Discretas(2)

168 CAPÍTULO 4. COMBINATORIA

Ejemplo 4.1.1 Sea una competición ajedrecística con 64 participantes quese juega por el sistema de eliminatoria, es decir, en cada partida el ganadorpasa a la siguiente fase y el perdedor queda eliminado. Determinar el númerode partidas que se han de jugar para obtener un campeón.

Para una persona acostumbrada al sistema de eliminatorias el problemase resuelve fácilmente:

Empezamos con las 32 partidas de los 32-avos de nal.Proseguimos con las 16 de los dieciseisavos de nal.Después los 8 octavos de nal.Los cuatro cuartos de nal.Las dos seminales.Y la nal.

Total : 32 + 16 + 8 + 4 + 2 + 1 = 63.

El problema también se puede resolver de una manera más inteligente ymás fácil de generalizar a un número cualquiera de participantes. La ideaclave es la siguiente: en cada partida se elimina un jugador. Para que setenga un ganador hay que eliminar a todos los jugadores salvo a uno (elganador), por tanto el número de partidas es:

Total : 64− 1 = 63.

Y mientras la primera fórmula aplicada por ejemplo a 512 jugadores es:

256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 511.

La segunda fórmula es sencillamente:

512− 1 = 511.

Con este ejemplo hemos querido mostrar lo que se pretende al desarro-llar la combinatoria, no sólo contar todos los elementos que conforman unconjunto nito, sino hacerlo de forma inteligente para que se puedan obtenerfórmulas generalizables a situaciones anes.

Por otro lado también la combinatoria presenta una faceta distinta, la deenumerar los elementos de un conjunto nito. Es decir, dado un conjuntodenido por una cierta propiedad, diseñar algoritmos que presenten todos loselementos del conjunto.

Page 169: Apuntes de Matematicas Discretas(2)

4.1. INTRODUCCIÓN 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 misión de paz enel África subsahariana acompañando al ministro de exteriores. Determinarcuántas posibles parejas de acompañantes hay.

Si el consejo de ministros está formado por 15 personas, y hay que elegir2 para acompañar al ministro de exteriores, entonces hay 14 candidatos ele-gibles que podemos numerar con las cifras del 1 al 14, es decir se puedeestablecer una función biyectiva (recordaremos su denición en la próximasección) entre el conjunto de posibles ministros acompañantes y el conjunto

N14 = 1, 2, 3, 4, ..., 13, 14.

El problema es decir cuántos y cuáles son los subconjuntos de dos ele-mentos de N14. Lo hacemos ordenadamente:

Los subconjuntos que contienen al elemento 1 son los 13 subconjuntosformados por el 1 y otro ministro cualquiera, esto es,

1, 2, 1, 3, ..., 1, 14.

Para el elemento 2 basta elegir entre 12 acompañantes (del 3 al 14) porqueya 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, ademássirve para demostrar que las parejas posibles son:

13 + 12 + 11 + 10 + 9 + ... + 1.

Y por la fórmula de la suma de los 13 primeros números naturales:

(14× 13)/2.

Por tanto principalmente contar pero también enumerar son los obje-tivos del capítulo.

Page 170: Apuntes de Matematicas Discretas(2)

170 CAPÍTULO 4. COMBINATORIA

4.2 Técnicas de conteoVamos a precisar las deniciones de los conceptos que hemos presentado.

Denición 4.2.1 Sean A y B conjuntos, se dene una función de A enB y se denota f : A → B a un subconjunto del producto cartesiano A × Bde la forma (a, f(a)) : a ∈ A ⊂ A×B.

Denición 4.2.2 Sean A y B dos conjuntos y f : A → B una función de Aen B:

Se dice que f es inyectiva si para cada par de elementos a, b ∈ A queverican f(a) = f(b) se tiene que a = b.

Se dice que f es sobreyectiva si para cada b ∈ B existe un elementoa ∈ 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 elvalor de su cuadrado f(x) = x2. Se tiene que f no es inyectiva porque dosnúmeros reales distintos, por ejemplo el 2 y el −2, verican f(2) = f(−2) =4.

Tampoco es sobreyectiva porque hay números reales (todos los negativos)que no se pueden escribir como el cuadrado de un número real.

Como no es inyectiva (ni tampoco sobreyectiva) no es biyectiva.

Denición 4.2.4 Sean A y B dos conjuntos, se dice que el cardinal de Aes igual que el cardinal de B, y se escribe |A| = |B|, si existe una funciónbiyectiva (o biyección) entre A y B.

Deniciones 4.2.5 Un conjunto A se dice nito si, o bien es el conjuntovacío, o bien existe n ∈ N y una biyección f : A → Nn entre A y Nn,siendo Nn el conjunto de los números naturales menores o iguales que n,Nn = 1, 2, ..., n.

Si A es el conjunto vacío A = ∅ denimos el cardinal de A como 0, estose denota:

|∅| = 0.

Si A es un conjunto nito no vacío entonces para un cierto n ∈ N existeuna biyección f : A → Nn y denimos el cardinal de A como n:

|A| = n.

Page 171: Apuntes de Matematicas Discretas(2)

4.2. TÉCNICAS DE CONTEO 171

Observamos que la noción de cardinal está bien denida porque si existeuna biyección entre Nn y Nm entonces n = m.

Ejemplos 4.2.6 i) Sea A el conjunto de las letras del alfabeto español. Laordenación alfabética determina una biyección entre A y N29. Por tanto|A| = 29.

ii) El cardinal del conjunto de los números naturales, N, no puede sernito porque no hay ninguna aplicación biyectiva entre N y un subconjuntosuyo de la forma Nn.

Vamos a analizar algunas de las propiedades de los cardinales de conjuntosnitos. 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 deB 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 siguien-te: si el número de posibilidades para una situación (pongamos la primeraletra de una palabra) es n y el número de posibilidades para otra situación(pongamos la segunda letra de una palabra) es m, entonces las posibilidadesde las dos situaciones conjuntamente (digamos, palabras de dos letras) esnm.Propiedad 6. Principio del palomar. Si |A| > |B| entonces no hay unafunción inyectiva de A en B.

Ejercicio 77 Demostrar que las propiedades 3 y 6 son equivalentes. Demos-trar las propiedades 1 a 5.

Observaciones 4.2.7 i) La propiedad 2 aplicada a tres conjuntos nitos sepuede generalizar:

|A ∪B ∪ C| =

Page 172: Apuntes de Matematicas Discretas(2)

172 CAPÍTULO 4. COMBINATORIA

= |A|+ |B|+ |C| − |A ∩B| − |B ∩ C| − |A ∩ C|+ |A ∩B ∩ C|.Y se pueden escribir fórmulas análogas para cada unión nita de conjuntosnitos.

ii) El Principio del Palomar se puede generalizar de la siguiente manera:Sean m,n números naturales con m > n. Si queremos colocar m objetos en ncajas, en alguna de ella habrá necesariamente una cantidad de objetos mayoro igual que la parte entera del cociente m/n.

iii) También la propiedad del producto cartesiano se generaliza:|A1 × A2 × ...× An| = |A1| × |A2| × ...× |An|.

Ejemplos 4.2.8 de aplicación 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 desegundo. El conjunto A tiene cardinal 250 y el conjunto B tiene cardinal220. Hay exactamente 50 alumnos que tienen alguna asignatura de primeroy alguna de segundo. Entonces el número total de alumnos de primero ysegundo sería, aplicando la Propiedad 4:

|A ∪B| = 250 + 220− 50 = 420.

ii) Sea P el conjunto de palabras de cuatro letras. Si llamamos A alalfabeto español 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 Rde las palabras de cuatro letras cuya segunda letra es una vocal es el productocartesiano

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 cumpleaños sonel mismo día. En efecto, como el conjunto de personas P tiene cardinalmayor que el de días del año D (368 > 365 = |D|) entonces, por el principiodel palomar, cualquier función de P en D es no inyectiva, es decir hay dospersonas que cumplen años el mismo día.

Page 173: Apuntes de Matematicas Discretas(2)

4.3. VARIACIONES 173

4.3 VariacionesPartimos del siguiente problema:Problema. Dada una carrera con 154 participantes, determinar cuántosposibles resultados pueden producirse para el podium (oro, plata y bronce).

Formalmente podemos escribir el problema de una forma equivalente: seaA el conjunto de participantes, que forma un conjunto de 154 elementos y portanto admite una biyección con N154 (a cada corredor un dorsal numerado).Sea B el conjunto de las tres medallas, que admite una biyección con N3 (porejemplo el oro al 1, la plata al 2 y el bronce al 3). Se trata de determinar elnúmero de funciones inyectivas de N3 en N154.

Problema equivalente. Calcular el número de funciones inyectivas de N3

en N154.En efecto, ambos problemas son equivalentes porque una función inyectivaf de N3 en N154 consiste en dar f(1) = a ∈ N154, f(2) = b ∈ N154 yf(3) = c ∈ N154 que son tres números 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 (cualquiercorredor); una vez que se ha establecido quién ha ganado el oro, para elganador de la medalla de plata hay 153 posibilidades; y sabiendo el ganadordel oro y la plata tenemos 152 resultados posibles para el bronce. De estemodo hay 154×153×152 posibles resultados de la carrera o equivalentementehay 154× 153× 152 funciones inyectivas de N3 en N154.

Esto nos permite plantear el problema general que atañe al concepto devariaciones.

Problema. Determinar el número Vm,n de funciones inyectivas del conjuntoNn en el conjunto Nm.

Observación 4.3.1 El Principio del palomar señala que si n > m entoncesno hay tales funciones inyectivas, esto es, Vm,n = 0.

Page 174: Apuntes de Matematicas Discretas(2)

174 CAPÍTULO 4. COMBINATORIA

Una generalización sencilla de los razonamientos del ejemplo anterior indicaque si m ≥ n:

Vm,n = m× (m− 1)× ...× (m− n + 1) = m!/(m− n)!.

Ejemplo 4.3.2 El número de funciones inyectivas que se pueden establecerentre N5 y N10 es:

V10,5 = 10× 9× 8× 7× 6.

Denición 4.3.3 Al número Vm,n de funciones inyectivas entre un conjuntode cardinal n y otro de cardinal m con m ≥ n se le llama número devariaciones 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 cuántas maneras se pueden elegir el pre-sidente y el vicepresidente de una asociación de 300 miembros (funcionesinyectivas de N2 en N300).

V300,2 = 300× 299

2. De cuántas maneras se puede elegir un equipo de cuatro relevistas paracorrer en la carrera de 4 × 100 entre los 10 seleccionados (entendiendo quehay que indicar el orden en el que se corre).

V10,4 = 10× 9× 8× 7

3. Si el corredor más rápido del ejemplo anterior tiene que correr nece-sariamente en primer lugar, entonces el problema es calcular los equipos detres relevistas entre los 9 seleccionados que quedan.

V9,3 = 9× 8× 7

De esta manera, de las deniciones y de la observación de los ejemplos sededuce que cuando calculamos Vm,n estamos contando exactamente las se-lecciones ordenadas de n elementos en un conjunto de m elementos.

Resumiendo, es lo mismo:

• El número de aplicaciones inyectivas de Nn en Nm.

Page 175: Apuntes de Matematicas Discretas(2)

4.3. VARIACIONES 175

• El número de selecciones ordenadas de n elementos en un conjunto dem elementos.

• El número 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.

Denición 4.3.5 Se llama número de variaciones con repetición dem elementos tomados de n en n al número V Rm,n de funciones de Nn

en Nm y se tieneV Rm,n = mn.

De modo que la hipótesis que ha variado con respecto a la denición ante-rior (de Vm,n) es la inyectividad. Veamos un ejemplo donde se aplica esteconcepto.

Ejemplo 4.3.6 Determinar cuántas palabras formadas por 4 bytes se puedenconstruir. O equivalentemente cuántos números enteros se pueden almacenarcon 4 bytes.

El conjunto de las palabras formadas por cuatro bytes, es decir, por cuatroelementos del conjunto B = 0, 1 es

B ×B ×B ×B

y por tanto, usando la propiedad del cardinal de un producto cartesiano, son24 = 16 palabras.

Mostremos que, en efecto, una palabra de 4 bytes es una función de N4

en N2. Tomemos una biyección b entre B y N2, por ejemplo, b(0) = 1 yb(1) = 2. Entonces una función 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 palabray, respectivamente, f(2) la segunda, f(3) la tercera y f(4) la cuarta. Porejemplo, sea la función:

f : N4 → N2

Page 176: Apuntes de Matematicas Discretas(2)

176 CAPÍTULO 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 palabrascon letras repetidas, las funciones que estamos contando no tienen por quéser inyectivas. Por ejemplo la palabra 0000 responde a la función constanteg : N4 → N2 denida como g(a) = 1 para cada a ∈ N4.

Es decir, ahora lo que estamos contando son selecciones ordenadas den elementos (posiblemente repetidos) de un conjunto de m elemen-tos.

Ejercicio 78 Con el alfabeto español de 29 letras:i) Determinar el número de palabras de 5 letras.ii) Determinar el número de palabras de 5 letras sin ninguna repetida.iii) Del conjunto de palabras de i) determinar cuántas de ellas contienen

a la letra b.iv) Idem que iii) con el conjunto de palabras de ii).v) Determinar cuántas palabras del conjunto i) empiezan por vocal. Idem

para las del conjunto ii).vi) Determinar el número de palabras de i) que empiezan por vocal y

terminan por z. Idem con ii).vii) Determinar el número de palabras de i) cuyas tres primeras letras

son vocales. Idem con ii).

Ejercicio 79 i) Determinar la cantidad de números de 4 cifras que existen.ii) Determinar cuántos de ellos son pares.iii) Cuántos son impares.iv) Cuántos son múltiplos de 5.v) Cuántos contienen la cifra 2.vi) Cuántos contienen la cifra 2 o la cifra 3.

Resumiendo, es lo mismo:

• El número de aplicaciones de Nn en Nm.

Page 177: Apuntes de Matematicas Discretas(2)

4.4. PERMUTACIONES 177

• El número de selecciones ordenadas de n elementos (admitiendo repe-ticiones) en un conjunto de m elementos.

• El número de variaciones con repetición de m elementos tomadas de nen n, esto es,

V Rm,n = mn.

4.4 PermutacionesUn caso particular de las variaciones resulta cuando m = n, es decir, cuan-do tratamos de contar el número de funciones inyectivas de Nn en Nn. Laobservación siguiente muestra que entonces debemos contar las funciones bi-yectivas (o biyecciones) de Nn en Nn.

Observación 4.4.1 Cada aplicación inyectiva f : Nn → Nn es una biyec-ción. En efecto, si f : Nn → Nn es una aplicación inyectiva, entonces elconjunto imagen de f , esto es, los elementos que se pueden escribir comof(a) para a ∈ Nn, es un subconjunto de Nn de cardinal n, por tanto es todoNn.

Ejemplo 4.4.2 De cuántas maneras se pueden sentar en una mesa presi-dencial con cinco sillas los cinco miembros de la comisión.

En efecto, es un ejemplo de la situación anterior porque si las sillas es-tán numeradas del 1 al 5, entonces el conjunto de sillas se puede ver comoN5 y si los comensales están numerados del 1 al 5 también el conjunto decomensales se puede interpretar como N5. Se trata entonces de establecercuántas funciones inyectivas (a cada comensal su silla y no a dos comensalesla misma) de N5 en N5 se pueden construir. A la postre si a cada comensalse le asigna una silla distinta, la aplicación será biyectiva (es sobreyectivaporque 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. Calcu-lar de cuántas maneras se pueden dar estos tres cargos a estas tres personas.

Page 178: Apuntes de Matematicas Discretas(2)

178 CAPÍTULO 4. COMBINATORIA

Cada biyección 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 imágenes nos dan las 6posibles ordenaciones distintas del conjunto B

p, s, vp, v, ss, p, vs, v, pv, s, pv, p, s.

Denición 4.4.4 El número Pn cardinal del conjunto de biyecciones del con-junto Nn en el conjunto Nn se denomina número de permutaciones de nelementos y se tiene

Pn = Vn,n = n! = n(n− 1)...1.

Y justamente lo que estamos contando son las distintas formas de orde-nar un conjunto de n elementos. Cada posible ordenación de un conjuntoA es una permutación de A.

Observación 4.4.5 Por denición 0! = 1.

Page 179: Apuntes de Matematicas Discretas(2)

4.4. PERMUTACIONES 179

Ejercicio 80 De cuántas maneras se pueden sentar 6 personas en una mesade 6 sillas. Estudiar lo que ocurre si la mesa es redonda y lo único quequeremos tener en cuenta es la posición relativa, es decir, quién está a laderecha y quién a la izquierda, independientemente de la silla que se ocupa.

Resumiendo, es lo mismo:

• El número de aplicaciones biyectivas de Nn en Nn.

• El número de ordenaciones distintas de un conjunto de n elementos.

• El número de permutaciones de un conjunto de n elementos

Pn = n!.

• El número de variaciones de n elementos tomadas de n en n.

Podemos introducir ahora una pequeña variante en el problema del cálculode las distintas ordenaciones.

Problema. Estudiar cuántos números distintos se pueden construir reorde-nando las cifras del 121.

Es claro que el problema no se resuelve calculando el número de permu-taciones de 3 elementos, ya que P3 = 6 y, sin embargo, los números obtenidoscomo resultado de reordenar las cifras del 121 son:

121, 211, 112

esto es, son solamente 3.La razón por la que no son 6 las permutaciones es porque el número 1

está repetido 2 veces y, por tanto, cuando permutamos los unos entre sí, elnúmero no varía. Es decir, si en el número 121 intercambiamos la primera yla tercera cifra obtenemos el mismo número, que debe sólo contarse una vez.

De esta manera, como las maneras de reordenar los unos son exactamentedos, se debe dividir por 2 para contarlas sólo una vez.

Total := P3/2 = 3.

Y generalizando a una lista de n elementos donde hay s elementos distin-tos que se van repitiendo n1 veces el primero, ..., ns veces el último, tenemos:

Page 180: Apuntes de Matematicas Discretas(2)

180 CAPÍTULO 4. COMBINATORIA

Denición 4.4.6 En las condiciones del párrafo anterior denimos el nú-mero de permutaciones con repetición de n elementos, donde hays elementos que se repiten n1 > 1, n2 > 1, ..., ns > 1 veces respecti-vamente, como el número PRn1,n2...,ns

n de distintas ordenaciones de esa listacon elementos repetidos. Se calcula mediante la fórmula:

PRn1,...,nsn =

n!

(n1)!...(ns)!.

Ejemplo 4.4.7 Determinar las palabras de 9 letras que se pueden construircomo resultado de ordenar las letras de la palabra cocodrilo. El resultado es:

PR2,39 =

9!

2!3!

donde el 2 proviene de las dos ces y el tres de las tres oes.

Ejercicio 81 El nuevo sistema de matriculación de automóviles estableceuna matrícula formada por tres consonantes seguidas de 4 cifras.

i) Determinar el número de matrículas diferentes que existen.ii) Determinar cuántas matrículas hay con las mismas letras y números

que la matrícula:BBK 1224

iii) Determinar cuántas matrículas empiezan por C y terminan por 1.iv) Determinar cuántas matrículas son capicúas en la parte de los dígitos.v) Determinar cuántas matrículas hay con sus tres letras iguales.vi) Idem que ii) con la matrícula

BBC 1122.

Ejercicio 82 Establecemos un juego de azar en el que se venden boletos de5 cifras (permitiendo que empiecen por 0) y en el que se extrae un número de5 cifras y se premian todos los boletos que contienen exactamente las mismascifras que el número extraído. Por ejemplo si sale el 12345, es premiadotambién el 21345; si sale el 22345 también se premia el 23245.

i) Determinar el número de boletos premiados si sale el 12345.ii) Determinar el número de boletos premiados si sale el 22344iii) Determinar el número de boletos premiados si sale el 11222.

Page 181: Apuntes de Matematicas Discretas(2)

4.5. COMBINACIONES 181

iv) Si el sistema de premios se establece en proporción al dinero recaudado,por ejemplo la tercera parte de la recaudación se reparte entre los ganadores.Determinar cuál es el tipo de boletos que tienen menos posibilidades de saliry cuál es el tipo que más; observar que cuando la dicultad de salir aumentatambién lo hace el posible premio.

Resumiendo, es lo mismo:

• El número de ordenaciones de una lista de n elementos con s elementosrepetidos, n1 > 1 veces el primero, ..., ns > 1 veces el último.

• El número de permutaciones con repetición de n elementos con lasrepeticiones que se indican:

P n1,...,nsn =

n!

n1!...ns!.

4.5 CombinacionesEl último concepto de combinatoria que vamos a denir es el de combinacio-nes que hace referencia al siguiente problema:

Problema. Dada una clase de 85 alumnos, de cuántas maneras se puedeelegir el trío que irá a las reuniones del claustro.

Obsérvese que a diferencia del problema de las variaciones (por ejemploelección de delegado, subdelegado y vocal) ahora los tríos

Manuel, Juan, Felipe

y

Juan,Manuel, Felipeson 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 elección dedelegado, el trío primero indica que Manuel es el delegado y en el segundo,sin embargo, es Juan el delegado, por lo que son distintos).

Page 182: Apuntes de Matematicas Discretas(2)

182 CAPÍTULO 4. COMBINATORIA

Formalmente se puede plantear el siguiente problema equivalente:

Problema. Determinar cuántos subconjuntos de 3 elementos tiene un con-junto de 85 elementos, es decir, de N85.

Si en lugar de resolver el problema planteado, calculamos V85,3 entoncesestamos computando, no los subconjuntos, sino las selecciones ordenadas detres elementos. De esta manera cada subconjunto de 3 elementos lo estamoscontando más de una vez. Exactamente lo contamos tantas veces como ma-neras distintas haya de reordenarlo, es decir, P3 veces. Con un ejemplo: losseis trios siguientes:

Manuel, Juan, FelipeManuel, Felipe, JuanJuan,Manuel, FelipeJuan, Felipe, ManuelFelipe, Juan, ManuelFelipe, Manuel, Juan

son el mismo subconjunto de 3 elementos, ordenados sus elementos de todaslas maneras posibles. Por tanto el problema se resuelve computando:

Total :V85,3

P3

.

Para, efectivamente, sólo contar cada subconjunto una vez.

Denición 4.5.1 Llamamos número de combinaciones de m elemen-tos tomados de n en n, que escribimos Cm,n, al número de subconjuntosde n elementos en Nm, se calcula

Cm,n =Vm,n

Pn

=m!

n!(m− n)!.

Notación. Escribiremos Cm,n como(

mn

).

Observación 4.5.2 Por denición 0! = 1 y(

m0

)= 1.

Page 183: Apuntes de Matematicas Discretas(2)

4.5. COMBINACIONES 183

Denición 4.5.3 Al número(

mn

)se le denomina número combinatorio

m sobre n.

Ejercicio 83 Comprobar la fórmula anteriormente escrita:(

m

n

)=

m!

n!(m− n)!.

Ejemplos 4.5.4 1) Determinar el número de posibles equipos de baloncesto(5 miembros) que se pueden formar con 10 personas.

C10,5 =V10,5

P5

=10× 9× 8× 7× 6

5× 4× 3× 2.

2) Determinar en cuántos de ellos juega el jugador llamado Martín. (Sóloun jugador se llama Martín.)

C10,5 − C9,5 =

(10

5

)−

(9

5

)

que es calcular el número total de equipos y restar el número de equipos enlos que no juega Martín.

Resumiendo, es lo mismo:

• El número de subconjuntos de n elementos de Nm.

• El número de selecciones no ordenadas de n elementos en un conjuntode m elementos.

• El número de combinaciones de m elementos tomadas de n en n, estoes,

Cm,n = 0 si m < n

Cm,n =

(m

n

)=

Vm,n

Pn

si m ≥ n.

Algunas propiedades de los números combinatoriosSean m y n números enteros m ≥ n entonces:

Page 184: Apuntes de Matematicas Discretas(2)

184 CAPÍTULO 4. COMBINATORIA

1)

(m

n

)=

(m

m− n

).

2)

(m

n

)=

(m− 1

n− 1

)+

(m− 1

n

).

3)

(n

0

)+

(n

1

)+ ... +

(n

n

)= 2n.

La propiedad 1) viene de observar el siguiente hecho: interpretemos elnúmero combinatorio

(mn

)como el número de subconjuntos de n elementos

de un conjunto A de m elementos. Elegir uno de estos subconjuntos B ⊂ Aconsiste en determinar los n elementos que conforman B o equivalentementeseñalar los m − n elementos que conforman A − B. Por tanto en A hayexactamente tantos subconjuntos de n elementos como de m−n elementos.

La propiedad 2) se deduce de lo siguiente. Interpretemos de nuevo(

mn

)como el número de subconjuntos de n elementos en A (|A| = m). Fijamos unelemento a ∈ A. Los subconjuntos de n elementos de A se dividen entoncesen los que contienen a a y los que no lo contienen.

El número de subconjuntos de n elementos de A que contienen a a esexactamente: (

m− 1

n− 1

)

ya que puede interpretarse como el número de subconjuntos de n−1 elementosde A− a.

El número de subconjuntos de n elementos de A que no contienen a a esexactamente: (

m− 1

n

)

ya que puede interpretarse como el número de subconjuntos de n elementosde A− a.

Por tanto la cantidad total de subconjuntos de n elementos es:(

m

n

)=

(m− 1

n− 1

)+

(m− 1

n

).

Page 185: Apuntes de Matematicas Discretas(2)

4.5. COMBINACIONES 185

La propiedad 3) se puede deducir de la fórmula del binomio de Newton,que recordamos:

(a + b)n =

(n

0

)an +

(n

1

)an−1b + ... +

(n

n− 1

)abn−1 +

(n

n

)bn,

es decir:

(a + b)n =n∑

k=0

(n

k

)an−kbk.

Esta fórmula se puede demostrar por inducción sobre n usando las propieda-des de los números combinatorios.

Si aplicamos esta fórmula a a = 1 y b = 1 tenemos:

(1 + 1)n = 2n =

(n

0

)+

(n

1

)+ ... +

(n

n− 1

)+

(n

n

).

Esta identidad muestra que, si llamamos partes de A, denotado P (A), alconjunto formado por todos los subconjuntos de A, el cardinal de las partesde A verica:

|P (A)| = 2|A|.

Porque el conjunto total de subconjuntos se puede escribir como unión de lossubconjuntos de 0 elementos con los de un elemento, con los de 2... hastallegar al único subconjunto de A de |A| elementos que es el propio A. Estaúltima fórmula también se puede demostrar por inducción sobre el cardinalde A.

Una vez vistas estas propiedades de los números combinatorios veamoscomo se puede modicar el problema de las combinaciones.

Problema. Sean x, y, z tres indeterminadas, llamamos monomio de gradod a una expresión del tipo xaybzc con a + b + c = d. Determinar el númerode monomios diferentes de grado 5 en dichas tres indeterminadas.

Observamos que un monomio de grado 5 es por ejemplo x3yz que podríatambién escribirse como x2yxz, o de cualquier otra manera posible resultadode reordenar las variables (siempre tomando tres veces la x, una vez la y yuna vez la z). Esto muestra que el orden de las selecciones no es relevante.

Page 186: Apuntes de Matematicas Discretas(2)

186 CAPÍTULO 4. COMBINATORIA

Veamos cómo contar estos monomios de forma inteligente. Como pode-mos reordenar las variables podemos suponer que cada monomio de grado 5está escrito como en la denición:

xaybzc a + b + c = 5

de modo que se le puede asignar una palabra formada por unos y ceros de lasiguiente manera

x3yz → 1110101.

El número de unos hasta el primer 0 indica cuál es el exponente de la x,después del primer 0 y hasta el segundo 0 hay un 1 que indica el exponentede la y y el último 1 el de la z. Otro ejemplo:

x4y → 1111010

El problema es por tanto dónde colocar esos cinco unos que correspondena que el grado del monomio es cinco. Hay que elegir cinco lugares entre 7posibles para colocar los unos, esto es, estamos computando los subconjuntosde cinco elementos de un conjunto de 7 elementos.

Total :

(7

5

)= 21

Los podemos escribir:

x5, x4y, x3y2, x2y3, xy4,

y5, y4z, y3z2, y2z3, yz4,

z5, x4z, x3z2, x2z3, xz4,

x3yz, xy3z, xyz3,

x2y2z, xy2z2, x2yz2.

Este mismo razonamiento permite calcular la fórmula general.Denición 4.5.5 Sea un conjunto de m elementos, denimos el número decombinaciones con repetición de m elementos tomados de n en n alnúmero de selecciones no ordenadas de n elementos (con posibles repeticio-nes) en un conjunto de m elementos. Se denota CRm,n y se calcula mediantela fórmula:

CRm,n =

(m + n− 1

n

)

Page 187: Apuntes de Matematicas Discretas(2)

4.5. COMBINACIONES 187

Ejemplos 4.5.6 1) Determinar cuántos posibles resultados pueden aconte-cer al lanzar tres dados indistinguibles simultáneamente:

CR6,3 =

(8

3

)= 56.

2) Si se extraen simultáneamente cinco cartas de cinco barajas españolas(40 cartas) el número de posibilidades es:

CR40,5 =

(44

5

).

Ejercicio 84 1) Dada una nube de 312 puntos diferentes, donde nunca tresde ellos están alineados, determinar el número de triángulos distintos que sepueden formar con dichos puntos.

2) Si entre los puntos de 1) existen 5 puntos que están alineados, computarcuántos triángulos se pueden formar.

Ejercicio 85 1) Sean 6 bombos que contienen cada uno de ellos 5 bolasnumeradas del 1 al 5 de modo que las bolas de bombos distintos con el mismonúmero son indistinguibles entre sí. Por un proceso mecánico cada bombodeposita en una cesta una bola, simultáneamente con el resto de bombos.Determinar el número de resultados posibles.

2) Determinar cuántos de estos resultados contienen al menos una bolanumerada con el 5.

Resumiendo, es lo mismo:

• El número de selecciones no ordenadas (con elementos repetidos) de nelementos en un conjunto de m elementos.

• El número de combinaciones con repetición m elementos tomados de nen n:

CRm,n =

(m + n− 1

n

).

Page 188: Apuntes de Matematicas Discretas(2)

188 CAPÍTULO 4. COMBINATORIA

4.6 ProbabilidadUna de las aplicaciónes fundamentales de la combinatoria es el cálculo deprobabilidades, es decir, estimar con qué seguridad va a ocurrir un suceso.La regla básica por la que se rigen los experimentos que tienen una cantidadnita y equiprobable de resultados es que la probabilidad de que ocurra unsuceso determinado es el cociente del número de casos en los que ocurreeste 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 sonel conjunto 1, 2, 3, 4, 5, 6 y el caso que nos interesa (el 6) es uno de estos6 posibles resultados. La idea de fondo es que si uno tirara un dado unacantidad muy alta de veces, le saldrían (más o menos) la misma cantidadde resultados 1, que 2, ..., que 6. Esta ley se suele conocer como Ley de losgrandes números.

Pero volviendo al hecho de que la probabilidad es un campo de aplicaciónde la combinatoria, podemos complicar el problema y pedir la probabilidad deque al tirar dos dados consecutivamente se obtenga una pareja de seises. Porejemplo, este tipo de estudio es fundamental para asignar premios en juegosde azar, para establecer el precio de una poliza de seguros... La cantidadtotal de resultados es V R6,2 = 36, el resultado (6, 6) es uno de ellos por tantosu probabilidad es 1/36. Observemos sin embargo que la probabilidad deque salga un 3 y un 2 es justamente el doble ya que son dos los resultadosposibles: (2, 3) y (3, 2).

Denamos con precisión los conceptos.

4.6.1 Nociones básicasDenición 4.6.1 Un experimento aleatorio es un procedimiento cuyosposibles resultados forman un conjunto conocido y al efectuar el experimentoel resultado obtenido depende del azar.

Ejemplos 4.6.2 Lanzar un dado es un experimento aleatorio porque el re-sultado (un número del 1 al 6) del lanzamiento depende del azar.

La extracción de una carta de una baraja.La extracción consecutiva y sin reposición de dos bolas numeradas de un

bombo que contiene cuatro bolas con los números 1 al 4.La elección de tres nombres por sorteo en un grupo de 100 personas.

Page 189: Apuntes de Matematicas Discretas(2)

4.6. PROBABILIDAD 189

Denición 4.6.3 Se llama espacio muestral de un experimento aleato-rio y se denota Ω al conjunto de posibles resultados de dicho experimentoaleatorio.

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 extracción de una carta de una baraja, (digamos española con 40cartas), el espacio muestral Ω es un conjunto de cardinal 40 formado porcada una de las cartas de la baraja.

En la extracción de las bolas numeradas el espacio muestral es Ω igual alas parejas ordenadas (sin elementos repetidos) de un conjunto de 4 elemen-tos, esto es, |Ω| = 4× 3.

El conjunto de tríos de un conjunto de 100 personas es el espacio muestralΩ del último experimento aleatorio de los ejemplos y tiene cardinal |Ω| =(1003

).

Denición 4.6.5 Se denomina suceso a cada subconjunto del espacio mues-tral Ω de un experimento aleatorio.

Observación 4.6.6 Nos centraremos en experimentos cuyo espacio mues-tral es un conjunto nito.

Ejemplos 4.6.7 En el espacio muestral del lanzamiento del dado podemoselegir el suceso S: sacar un uno, correspondiente al subconjunto unitario S =1. O el suceso S ′: sacar un número par, correspondiente a S ′ = 2, 4, 6.

Denición 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 lada el cociente del número de casos favorables entre el de casos posibles.

Ejemplos 4.6.9 1) Determinar cuál es la probabilidad de acertar 14 en lasquinielas. El número de casos favorables es 1, el de los resultados de lospartidos, y el espacio muestral es Ω el conjunto de listas de longitud 14 donde

Page 190: Apuntes de Matematicas Discretas(2)

190 CAPÍTULO 4. COMBINATORIA

cada elemento de la lista es un 1, una x o un 2. Así la probabilidad de acertaruna quiniela es

1

314.

2) Cuál es la probabilidad de ganar en la lotería tradicional el premiogordo. El espacio muestral son los números de 5 cifras, por tanto son 100.000,así la probabilidad de ganar es

1/105.

3) En la lotería primitiva se tienen que elegir 6 números entre 49 portanto la probabilidad de ganar es:

1/

(49

6

).

4) Se extraen 3 cartas de una baraja española (4 palos, numeradas con lascifras del 1 al 7 y sota, caballo y rey de cada palo), determinar la probabilidadde que las tres cartas extraidas sean la misma carta en distinto palo. Elnúmero de casos posibles es

(403

). Los casos favorables se calculan de la

siguiente manera: supongamos que jo el número 1 (los ases). Entonces labaraja contiene 4 ases, por tanto, exactamente hay

(43

)= 4 posibles tríos de

ases. Como tenemos 10 posibles números 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 lotería primitiva.

Podemos entonces usar las propiedades de los cardinales de conjuntosnitos para calcular probabilidades de sucesos denidos como uniones, inter-secciones y complementarios.

Propiedad 1. El suceso Ω. Consideremos el suceso dado por el conjuntoΩ, es decir, todo el espacio muestral, se verica:

p(Ω) = |Ω|/|Ω| = 1.

Page 191: Apuntes de Matematicas Discretas(2)

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 número comprendi-do entre 0 y 1.Propiedad 3. Unión 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 sucesoentonces 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

S ∪ S = Ω S ∩ S = ∅.

Ejemplos 4.6.10 i) Sea el experimento aleatorio consistente en lanzar dosdados sucesivamente, calcular la probabilidad de que la suma de los resultadossea 4. El suceso S: dos cifras que suman 4 se puede poner como unióndisjunta del suceso S ′: sacar dos doses, y S ′′: sacar un 1 y un 3 (S ′∩S ′′ = ∅).De modo que:

p(S) =1

36+

2

36.

ii) Sea un equipo de gimnasia de 10 miembros de los cuales sólo unose apellida Muñoz. Determinar la probabilidad de que en un equipo de 5miembros elegidos entre los 10 esté Muñoz. Sea el suceso S: Muñoz noestá en el equipo (complementario del suceso del que queremos calcular suprobabilidad), el número de equipos en los que no está Muñoz es el númerode equipos formados con los jugadores restantes, entonces :

1− p(S) = 1−(

9

5

):

(10

5

).

Page 192: Apuntes de Matematicas Discretas(2)

192 CAPÍTULO 4. COMBINATORIA

Observamos que (9

5

):

(10

5

)= 1/10

lo que se puede interpretar como que, al haber 10 jugadores, la probabilidadde que uno de ellos no esté en el equipo es el cociente de 1/10, el jugador queno está entre los jugadores que hay.

4.6.2 Asignación de probabilidadesLa regla de Laplace ha funcionado para asignar probabilidades en un es-pacio muestral donde todos sus elementos son equiprobables, pero ademásha mostrado cómo asignar probabilidades en un espacio muestral donde loselementos de Ω no sean necesariamente equiprobables.

Así sea Ω el espacio muestral nito de un experimento aleatorio de modoque

Ω = a1, a2, ..., as.Si no todos los elementos del espacio muestral son equiprobables podemos

asignar (en función de observaciones, por ejemplo) probabilidades a cadaelemento 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 además respetar las propiedades de los subconjuntos, las uniones y los

complementarios.

Observación 4.6.11 En los casos donde todos los elementos de Ω son equi-probables, para cada ai ∈ Ω se tiene

p(ai) = 1/|Ω|.

Ejemplo 4.6.12 Durante varios días observamos que en un juego de dadosel resultado 1 sale el doble de veces que el resultado 2, el 2 sale el doble deveces que los demás, mientras los otros resultados salen todos más o menosla misma cantidad de veces, entonces podemos asignar las probabilidades dela siguiente forma:

p(3) = a

p(4) = a

Page 193: Apuntes de Matematicas Discretas(2)

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á escribirlocomo unión disjunta de sus subconjuntos unitarios. Por ejemplo sea S elsuceso, 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 elexperimento aleatorio extraer una carta al azar de las 15. Determinar el es-pacio muestral Ω y asignar probabilidades razonables a cada elemento de Ω.Calcular la probabilidad del suceso la carta extraída sea una gura.

4.6.3 Probabilidad condicionadaEn esta sección vamos a analizar cómo se modica la probabilidad de sucesoscuando tenemos una información adicional. Por ejemplo:

Ejemplo 4.6.13 La probabilidad de que al extraer una carta al azar en unabaraja española sea un caballo es 4/40 = 1/10, ya que la baraja de 40 cartascontiene 4 caballos. Pero supongamos que recibimos la información adicionalde que la carta extraída es una gura. Estamos entonces interesados en laprobabilidad de extraer un caballo sabiendo que ha salido una gura. Labaraja contiene 12 guras, de las cuales 4 son caballos, por tanto la nuevaprobabilidad es 4/12 = 1/3, lo cual indica que, en este caso, el hecho adicionalde ser una gura hace aumentar la probabilidad del suceso.

Page 194: Apuntes de Matematicas Discretas(2)

194 CAPÍTULO 4. COMBINATORIA

Denición 4.6.14 Sean S y S ′ sucesos de un espacio muestral Ω de modoque p(S ′) > 0. Denimos la probabilidad condicionada de S por S ′

comop(S|S ′) = p(S ∩ S ′)/p(S ′).

Y es un concepto que recoge la idea que señalábamos en el ejemplo porquesi vale la regla de Laplace entonces

p(S ∩ S ′)/p(S ′) =|S ∩ S ′||Ω| :

|S ′||Ω| =

|S ∩ S ′||S ′| .

Se puede interpretar como que el hecho adicional modica el espacio muestral(lo reduce a S ′) y también el conjunto de los casos favorables (lo reduce aS ∩ S ′).

Ejemplo 4.6.15 Cuál es la probabilidad de que al tirar una moneda sucesi-vamente 4 veces se obtengan exactamente 3 cruces, sabiendo que la primeratirada fue cruz.

El espacio muestral es Ω = A × A × A × A donde A es el conjuntoA = cara, cruz, por tanto |Ω| = 16. El suceso S obtener exactamente trescruces tiene cardinal 4 (las 4 posibles tiradas en las que salió la cara). Elsuceso S ′ la primera tirada fue cruz tiene cardinal 8 (se puede interpretarcomo cruz × A× A× A). Y el suceso S ∩ S ′ tiene cardinal 3. Entonces

p(S|S ′) =(3/16)

(8/16).

Denición 4.6.16 Dos sucesos S y S ′ se dicen independientes si vericanque:

p(S ∩ S ′) = p(S)p(S ′).

Ejemplo 4.6.17 Extraemos una carta al azar en una baraja española, lossucesos S: sea gura y S ′: sea de oros son independientes porque p(S) =12/40, p(S ′) = 10/40 y p(S ∩ S ′) = 3/40. Y efectivamente

3

40=

12

40

10

40.

Ejercicio 88 Comprobar si los sucesos S: una familia con tres hijos tengahijos de los dos sexos y S ′: una familia con tres hijos tenga al menos un chicoson independientes.

Page 195: Apuntes de Matematicas Discretas(2)

4.6. PROBABILIDAD 195

El estudio de la probabilidad discreta constituye un interesante campode las matemáticas y existen profundos teoremas que no vamos a desarrollar(teorema de Bayes, de la probabilidad total). Además el espacio muestralpuede no ser nito con lo que se debe cambiar la regla de Laplace o la formade asignar probabilidades por instrumentos adecuados (que provienen delAnálisis Matemático). Todo esto constituye materia del curso de Estadísticaque se imparte en segundo.

Terminamos el capítulo presentando dos conceptos más, referidos a estecampo de la probabilidad discreta, que serán de utilidad en el desarrolloposterior de la Estadística.

4.6.4 Experimentos de BernoulliDenición 4.6.18 Un experimento de Bernoulli es un experimento cuyoespacio muestral tiene dos elementos Ω = e, f de manera que p es laprobabilidad de e (se suele entender como probabilidad de éxito) y 1 − p laprobabilidad de f (probabilidad de fracaso).

Ejemplos 4.6.19 1) Lanzar una moneda trucada que saca cara con proba-bilidad 1/3 y cruz con probabilidad 2/3.

2) Lanzar un dado que tiene las caras coloreadas de dos colores, 5 deellas en rojo, una de ellas en negro, el rojo tiene probabilidad 5/6 y el negroprobabilidad 1/6.

Tomemos entonces un experimento de Bernoulli con probabilidades p deéxito y 1−p de fracaso, de tal manera que cada repetición del experimento seaindependiente de la repetición anterior. Debemos señalar que, por ejemplo, sitomamos el experimento de extraer una bola de una urna con bolas blancasy negras, para que la repetición del experimento sea independiente de larepetición anterior, la bola extraida debe ser reintroducida en la urna.

Problema 1. Determinar la probabilidad de que al repetir el experimenton veces se tengan exactamente k éxitos. Si k > n la probabilidad es 0 y sik ≤ n el resultado es: (

n

k

)pk(1− p)n−k.

En efecto, por hipótesis de independencia, los sucesos tener un éxito enla repetición a-ésima (resp. un fracaso) y tener un éxito en la repetición

Page 196: Apuntes de Matematicas Discretas(2)

196 CAPÍTULO 4. COMBINATORIA

b-ésima con a 6= b, son independientes, por tanto las probabilidades se vanconstruyendo multiplicando. Así por ejemplo el suceso dadas dos repeticionesobtener dos éxitos tiene probabilidad p2.

De esta manera el suceso obtener exactamente k éxitos en las primeras krepeticiones de las n totales tiene probabilidad

pk(1− p)n−k.

Pero los k éxitos pueden acontecer en cualesquiera k repeticiones de entrelas n veces que se ha efectuado el experimento, por lo que esta probabilidaddebe ir multiplicada por el número de subconjuntos de k elementos de unconjunto de n elementos, que son exactamente

(n

k

).

Por tanto se tiene la fórmula buscada.

Problema 2. Determinar la probabilidad de que al repetir el experimenton veces se tengan al menos k éxitos:

n∑

i=k

(n

i

)pi(1− p)n−i.

Esta fórmula sale de entender el suceso al menos k éxitos como la uniónde 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 losfracasos.Ejercicio 89 En las mismas condiciones de los problemas 1 y 2:

1) Determinar la probabilidad de obtener como máximo k fracasos.2) Determinar la probabilidad de no obtener ningún éxito.3) Determinar la probabilidad de tener exactamente k fracasos.4) Determinar la probabilidad de que todos sean éxitos.

Ejercicio 90 Supongamos que la probabilidad de que nazca un niño es 0.4mientras la de que nazca una niña es 0.6. Determinar:

1) La probabilidad de que entre 100 nuevos nacimientos todos sean niñas.2) Haya al menos 50 niños.3) Haya como máximo 30 niños.

Page 197: Apuntes de Matematicas Discretas(2)

4.6. PROBABILIDAD 197

4.6.5 Variables AleatoriasA partir de ahora consideraremos experimentos aleatorios tales que su espaciomuestral Ω tiene siempre cardinal nito.

Denición 4.6.20 Una variable aleatoria es una función del espacio mues-tral de un experimento aleatorio en los números reales.

Ejemplo 4.6.21 Tomamos un conjunto de 10 personas. Sea el experimentoaleatorio consistente en seleccionar una de estas 10 personas al azar, portanto Ω es el conjunto de las 10 personas. Denimos la variable aleatoriaH como la función H : Ω → R que asigna a cada persona su altura. (Otrosejemplos son la asignación de peso, de número de asignaturas en que estámatriculado...)

Con esta denición de variable aleatoria, podemos mostrar dos instru-mentos de la estadística descriptiva: la esperanza matemática que hacereferencia al valor esperado que toma la variable aleatoria y la varianza quees una medida de la dispersión de los valores que toma la variable.

Deniciones 4.6.22 Sea X : Ω → R una variable aleatoria.Se dene la esperanza matemática de X como:

E(X) =∑s∈Ω

p(s)X(s).

Se dene la varianza de X como:

V (X) =∑s∈Ω

p(s)(X(s)− E(X))2.

Se dene la desviación típica de X como:

σ(X) =√

V (X).

Estas medidas describen la variable aleatoria, indicando su valor esperadoo medio, e indicando lo dispersos o concentrados que están sus valores.

Ejemplo 4.6.23 Sea un conjunto de 40 alumnos cuyos resultados en unexamen de Matemáticas es el siguiente (la nota es un número entero del 0 al10):

Page 198: Apuntes de Matematicas Discretas(2)

198 CAPÍTULO 4. COMBINATORIA

Nota Número de alumnos Probabilidad0 1 1/401 2 2/402 3 3/403 3 3/404 3 3/405 2 2/406 10 10/407 10 10/408 3 3/409 2 2/4010 1 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 números enteros del 0 al 10. Agrupando los alumnosque 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 dadosconsecutivamente y X la variable aleatoria que asigna a cada resultado delexperimento la suma de los resultados de ambos dados:

i) Escribir el espacio muestral del experimento.ii) Escribir la función X : Ω → R.iii) Calcular la esperanza, la varianza y la desviación típica de X.

Page 199: Apuntes de Matematicas Discretas(2)

4.7. EJERCICIOS 199

4.7 EjerciciosEjercicio 92. Determinar de cuántas maneras se puede elegir un cuadradoblanco y otro negro en un tablero de ajedrez de modo que los dos cuadradosno estén en la misma la ni en la misma columna.

Ejercicio 93. Determinar en cuántos números de teléfono de 7 cifras, quepueden empezar por cero, alguna de las cifras está repetida.

Ejercicio 94. Una llave se fabrica haciendo incisiones de profundidad va-riable en ciertas posiciones jadas de una llave lisa. Si las profundidadesposibles son cuatro, determinar el número de incisiones que debe llevar lallave para que el número de llaves posibles sea mayor que 100.000.

Ejercicio 95. Dado el conjunto de los 54 alumnos de una clase, donde 30son chicos y 24 son chicas, determinar:

i) El número de equipos de 4 alumnos que se pueden formar.ii) El número de equipos de 4 alumnos que contengan al menos una chica.iii) El número de equipos formados por dos chicas y dos chicos.

Ejercicio 96. Determinar cuántas palabras de 10 bytes:i) Tienen exactamente tres ceros.ii) Tienen al menos un cero.iii) Tienen el mismo número de unos y ceros.

Ejercicio 97. Cuántas palabras de 10 letras se pueden construir reordenandolas letras de la palabra dodecaedro.

Ejercicio 98. Tenemos 10 naipes de los cuáles son 3 ases de oros, 4 caballosde bastos y otras 3 cartas diferentes entre sí y a las anteriores. Si ponemoslas 10 cartas en la, determinar el número de distintas las que se puedenformar.

Ejercicio 99. Determinar cuántas licencias de uso de un programa, formadascon tres números seguidos de tres letras no contienen la misma letra dos vecesni el mismo número tres veces.

Ejercicio 100. Se tienen entradas para 17 espectáculos distintos, determi-nar cuántos posibles regalos de tres entradas (posiblemente para el mismoespectáculo) se pueden hacer.

Page 200: Apuntes de Matematicas Discretas(2)

200 CAPÍTULO 4. COMBINATORIA

Ejercicio 101. Determinar qué suceso es más probable: sacar un 8 al tirardos dados o sacar un 8 al tirar tres dados.

Ejercicio 102. Determinar la probabilidad de que una jugada de póker (5cartas en una baraja francesa con 52 cartas, sin comodines):

i) Contenga al menos un as.ii) Obtenga un póker (cuatro cartas iguales).

Ejercicio 103. En un experimento de Bernouilli con probabilidad 0.4 deéxito y 0.6 de fracaso, determinar cuántos lanzamientos hay que realizarpara que la probabilidad de obtener al menos un éxito sea mayor o igual que0.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 elementode Ω el número de seises que han salido. Calcular la esperanza matemáticade X, que es el número de seises esperado al lanzar 10 veces el dado.

Ejercicio 105. Cuál es la probabilidad de que escogido un entero al azarmenor o igual que 100 sea primo.

Ejercicio 106. Si S y S ′ son dos sucesos con p(S) = 0.8 y p(S ′) = 0.6,demuestra que p(S ∩ S ′) ≥ 0.4. En general para cada par de sucesos severica p(S ∩ S ′) ≥ p(S) + p(S ′)− 1.

Ejercicio 107. Demostrar que para dos variables aleatorias X e Y denidasen el mismo espacio muestral la esperanza matemática verica:

E(X + Y ) = E(X) + E(Y ),

siendo X + Y la función suma de las funciones X e Y .

4.8 Ejercicios resueltosEjercicio 77. Propiedad 1: Si |A| = n entonces existe una aplicaciónbiyectiva f : A → Nn. Si |B| = m entonces existe una aplicación bi-yectiva g : B → Nm. La aplicación biyectiva que estamos buscando esF : A ∪B → Nn+m denida como F (a) = f(a) si a ∈ A y F (b) = g(b) + n sib ∈ B.

Page 201: Apuntes de Matematicas Discretas(2)

4.8. EJERCICIOS RESUELTOS 201

Es sobreyectiva ya que si s ∈ Nn entonces existe a ∈ A de modo ques = f(a) = F (a) y si n < s ≤ n+m entonces s−n ∈ Nm de modo que existeb ∈ 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 comog son inyectivas por lo que el resultado es cierto si a, b ∈ A o si a, b ∈ B. Enel caso a ∈ A y b ∈ B se verica que F (a) ≤ n y F (B) > n por lo que sondistintos 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 inducción sobre el cardinal de B.

Si |B| = 0 entonces B es vacío de modo que el producto cartesiano tam-bién lo es.

Si |B| = n + 1 entonces B = B′ ∪ B′′ con |B′| = n y |B′′| = 1. De estemodo como A × B = (A × B′) ∪ (A × B′′) y (A × B′) ∩ (A × B′′) = ∅ seconcluye por la propiedad 1 y la hipótesis de inducción.Propiedad 3 implica propiedad 6: Si hubiera una función inyectiva f : A → Bentonces la imagen de f es un subconjunto de B de cardinal estrictamentemayor que |B| lo que es una contradicción.Propiedad 6 implica propiedad 3: Si A ⊂ B entonces hay una aplicacióninyectiva de A en B (la inclusión) 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.

Page 202: Apuntes de Matematicas Discretas(2)

202 CAPÍTULO 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 múltiplos 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 sólo importa la posiciónrelativa 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 igualesresultado de moverse todos una silla (dos sillas, ..., 6 sillas) hacia la derecha.

Ejercicio 81.i) 243 × 104.ii) PR2

3 × PR24 = 3× 4!/2.

iii) 242 × 103.iv) Si son capicúas la primera cifra es igual que la cuarta y la segunda es

igual que la tercera. Por tanto hay 102 dígitos. En total: 243 × 102.v) 24× 104.vi) PR2

3 × PR2,24 = 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 más.

Ejercicio 83. Como Vm,n = m(m − 1)...(m − (n − 1)) entonces m! =Vm,n(m− n)! de modo que:

(m

n

)=

Vm,n

n!=

m!

n!(m− n)!.

Ejercicio 84.

Page 203: Apuntes de Matematicas Discretas(2)

4.8. EJERCICIOS RESUELTOS 203

1) Un triángulo es una terna no ordenada de puntos:(3123

).

2) Las ternas de puntos que no dan un triángulo se forman eligiendo 3 delos 5 puntos alineados, por tanto:

(312

3

)−

(5

3

).

Ejercicio 85.1) CR5,6 =

(106

).

2) Si quitamos el 5 de cada bombo tenemos CR4,6 posibles resultados queno contienen al 5. Los que llo contienen son por tanto:

CR5,6 − CR4,6.

Ejercicio 86. Acertar 13 en las quinielas tiene probabilidad 14/314. Acertar5 en la primitiva: 6/

(496

).

Ejercicio 87. Ω = as, 2, 3, 4, caballo, rey.p(as) = 3/15p(2) = 3/15p(3) = 1/15p(4) = 4/15p(caballo) = 2/15p(rey) = 2/15p(figura) = 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 ′:tener al menos un hijo varón tienen cardinal 7, ya que hay

que descontar sólo el caso en que son tres mujeres.Entonces p(S) = 6/8 y p(S ′) = 7/8.Por otro lado |S ∩ S ′| = 6 porque S ⊂ S ′ de modo que los sucesos no son

independientes.

Ejercicio 89.1) Σk

i=0

(ni

)(1− p)ipn−i.

2) (1− p)n.3)

(nk

)(1− p)kpn−k.

Page 204: Apuntes de Matematicas Discretas(2)

204 CAPÍTULO 4. COMBINATORIA

4) pn.

Ejercicio 90.1) (0.6)100.2) Σ100

i=50

(100i

)(0.4)i(0.6)100−i.

3) Σ30i=0

(100i

)(0.4)i(0.6)100−i.

Ejercicio 91.i) Al tirar dos dados consecutivamente Ω = N6 × N6.ii) X : Ω → R asigna a + b a la tirada (a, b).iii) Escribiendo las fórmulas 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 blancosque hay. Escogemos un cuadrado negro de los 64/2 − 8 posibles (los negrosque no están en la misma la o en la misma columna). El resultado es elproducto: 768.

Ejercicio 93. Buscamos el complementario del conjunto de todos los núme-ros 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 ∈ Nes una sucesión creciente buscamos el primer n que verique que 4n > 105 yes n = 9.

Ejercicio 95.i) Es el número de subconjuntos de 4 elementos en un conjunto de 54

alumnos:(544

).

ii) Será el número total de equipos de 4 alumnos menos el número deequipos constituidos sólo por chicos:

(54

4

)−

(30

4

).

iii) El número de subconjuntos de dos chicas por el número de subcon-juntos de dos chicos: (

30

2

(24

2

).

Page 205: Apuntes de Matematicas Discretas(2)

4.8. EJERCICIOS RESUELTOS 205

Ejercicio 96.i) PR3,7

10 =(103

).

ii) Todos menos el formado por todos unos: 210 − 1.iii) PR5,5

10 =(105

).

Ejercicio 97. La d se repite 3 veces, la o se repite dos veces y la e otras 2.Total: PR3,2,2

10 .

Ejercicio 98. Los ases se repiten 3 veces y los caballos 4. Total: PR3,410 .

Ejercicio 99. El número de licencias buscado será el total de posibles menosaquéllas con la misma letra dos veces y el mismo número 3 veces. Total:103 × 293 − 3× 29× 28× 10. Siendo 29× 28 el número de parejas de letrasposibles, 3 el número de modos de ordenar las tres letras (dos iguales y unadistinta) y 10 los posibles tríos de números.

Ejercicio 100. CR17,3 =(193

).

Ejercicio 101. Si tiramos dos dados: Hay 62 posibles lanzamientos. Deellos 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: PR2,57 (interpretando cada tirada como una palabra de

7 carácteres 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 tiradamenos una unidad). Entonces la probabilidad es 21/216 = 0.0722 menor quela anterior.

Ejercicio 102.i) La probabilidad será 1 menos la probabilidad de que no contenga ningún

as:

1−(

48

5

)/

(52

5

).

ii) Hay 13 posibles pókeres (de ases, de doses,...) y por cada uno puedehaber una quinta carta que es arbitraria, de entre las 48 cartas restantes (47

Page 206: Apuntes de Matematicas Discretas(2)

206 CAPÍTULO 4. COMBINATORIA

si no queremos que sea un repóker). Por tanto la probabilidad de póker es:

48× 13/52

5.

Ejercicio 103. El suceso obtener al menos un éxito es complementario alsuceso no tener ningún éxito: 1− 0.6n. Buscamos n tal que 1− 0.6n ≥ 0.8 oequivalentemente 0.6n ≤ 0.2. Como la sucesión 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 10veces tiene la siguiente probabilidad:

(10

k

)(1/6)k(5/6)10−k.

Por tanto el espacio muestral es Ω = 0 ∪ N10 y para cada k ∈ N10 setiene la probabilidad mencionada, de modo que la esperanza matemática es:

Σ10k=0k

(10

k

)(1/6)k(5/6)10−k.

Ejercicio 105. Hay 26 primos menores que 100, por tanto 26/100.

Ejercicio 106. Como p(S ∪ S ′) = p(S) + p(S ′)− p(S ∩ S ′) entonces:

p(S ∩ S ′) = p(S) + P (S ′)− p(S ∪ S ′).

Se concluye la fórmula general del hecho de que p(S ∪ S ′) ≤ 1. Esta fórmulase aplica al ejemplo p(S) = 0.8 y p(S ′) = 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 propiedaddistributiva.

Page 207: Apuntes de Matematicas Discretas(2)

Capítulo 5

Grafos

La teoría de grafos tiene su origen en un artículo publicado por Euler en1736 en el que se daba solución al problema de los 7 puentes de la ciudadde Königsberg (actualmente Kaliningrado), puentes que conectaban dos islascon las márgenes del río Pregel según el esquema de la gura que se adjunta(Figura 5.1).El problema consistía en realizar un paseo que atravesase cada uno de los 7puentes una única vez (los puentes en el gráco son los que unen las regionesA,B,C y D).

Euler demostró que esto no era posible y (esto es lo importante) sincomprobar todos los posibles paseos.

Desde entonces los resultados y aplicaciones de esta teoría han ido aumen-tando, y actualmente la teoría de grafos se utiliza para resolver problemas en

Figura 5.1: Puentes de Könisberg

207

Page 208: Apuntes de Matematicas Discretas(2)

208 CAPÍTULO 5. GRAFOS

ramas de la ciencia muy diferentes. Por ejemplo, los grafos se utilizan paraconstruir modelos de redes de ordenadores y determinar si dos ordenadoresestán conectados en una red, para determinar si un circuito puede ser im-plementado sobre un tablero plano, para distinguir compuestos químicos conla misma fórmula molecular, para encontrar el camino más corto entre dosciudades en una red de transporte...

Se pretende que el alumno al nalizar el capítulo:

• Entienda los conceptos y deniciones básicas de la teoría de grafos.

• Utilice las distintas representaciones de grafos.

• Utilice diferentes métodos para reconocer si dos grafos son o no isomor-fos.

• Conozca los conceptos de grafo conexo, euleriano y hamiltoniano, lastécnicas para reconocerlos, sus propiedades y algunos resultados rela-cionados con ellos.

• Aplique la denición más adecuada para vericar si un grafo es unárbol.

5.1 Grafos, digrafos y multigrafosLos grafos son estructuras discretas que constan de vértices y aristas queconectan estos vértices. Hay diferentes tipos de grafos que dieren en laclase y número de aristas que conectan un par de vértices. En esta secciónintroduciremos algunos conceptos de la teoría de grafos y algunos tipos degrafos de particular interés.

Denición 5.1.1 Un grafo simple G es un par G = (V, E) formado porun conjunto nito de vértices V y un conjunto E de pares no ordenados devértices 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 orien-tadas).

Page 209: Apuntes de Matematicas Discretas(2)

5.1. GRAFOS, DIGRAFOS Y MULTIGRAFOS 209

Observación 5.1.2 Podemos representar los vértices como puntos del planoy las aristas u, v como el segmento uv dando una representación grácadel grafo.

Denición 5.1.3 Un multigrafo es un par (V,E) formado por un conjuntonito de vértices V y una familia nita E de aristas no orientadas

E = eii∈I

donde I es un conjunto nito y ∀i ∈ I se verica que ei = ui, vi conui, vi ∈ V .

Observación 5.1.4 Nótese que, en un multigrafo, dos aristas distintas pue-den conectar los mismos vértices, esto es, que E es una familia y no unconjunto, pudiendo tener elementos repetidos. Nótese también que estamospermitiendo aristas del tipo u, u denominadas lazos o bucles.

Denición 5.1.5 Un digrafo es un par (V,E) donde V es un conjuntonito y E ⊂ (V × V )−∆, siendo ∆ = (x, x) : x ∈ V . A los elementos deV se les denomina vértices 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 podemosrepresentar utilizando puntos para representar los vértices y echas para re-presentar las aristas, según la gura 5.2. Observar que la arista (b, c) esdistinta de la arista (c, b).

Denición 5.1.7 Un multidigrafo es un par (V, E) formado por un con-junto nito de vértices V y una familia nita E de aristas orientadas

E = eii∈I

donde I es un conjunto nito y ∀i ∈ I se verica que ei ∈ V × V .

Resumimos en una tabla la terminología que empleamos:

Tipo Aristas ¾aristas múltiples? ¾lazos?Grafo simple No dirigidas No NoMultigrafo No dirigidas Sí SíDigrafo Dirigidas No No

Multidigrafo Dirigidas Sí Sí

Page 210: Apuntes de Matematicas Discretas(2)

210 CAPÍTULO 5. GRAFOS

Figura 5.2:

En lo sucesivo, el término grafo se empleará en sentido general, paradescribir grafos con aristas dirigidas o no dirigidas, con o sin lazos y cono sin aristas múltiples. Por otro lado, el término grafo no dirigido seentenderá como sinónimo de multigrafo, admitiendo, por tanto, la eventualexistencia de aristas múltiples y lazos. De igual manera, el término grafodirigido se entenderá como multidigrafo.

Denición 5.1.8 Se dice que dos vértices u y v de un grafo no dirigidoG = (V,E) son adyacentes si u, v ∈ E. En ese caso se dice que la aristae = u, v conecta los vértices u y v, que es incidente con los vértices u yv, y que los vértices u y v son los extremos de la arista e.

Denición 5.1.9 El grado de un vértice en un grafo no dirigido es el nú-mero de aristas incidentes con él, teniendo en cuenta que un lazo en unvértice contribuye dos veces al grado de ese vértice. Denotaremos el grado deun vértice u por gr(u).

Ejemplo 5.1.10 Considérense los grafos G y H de la gura 5.3. En el grafoG se verica que gr(a) = 3 = gr(c), gr(b) = 2 = gr(e) y gr(d) = 4. En elgrafo H se verica que gr(f) = 3, gr(g) = 2 y gr(h) = 5.

Page 211: Apuntes de Matematicas Discretas(2)

5.1. GRAFOS, DIGRAFOS Y MULTIGRAFOS 211

Figura 5.3:

Si un vértice tiene grado cero se dice que es un vértice aislado.

Teorema 5.1.11 Sea G = (V, E) un grafo no dirigido. Se verica que∑v∈V

gr(v) = 2 |E| .

Demostración. La demostración es inmediata debido a que cada arista con-tribuye dos veces al sumatorio anterior ya que una arista es incidente conexactamente dos vértices (que eventualmente pueden ser iguales).

Corolario 5.1.12 Cualquier grafo no dirigido tiene un número par de vér-tices de grado impar.

Demostración. Sean V1 y V2 los conjuntos de vértices de grado par e imparrespectivamente del grafo G = (V, E). En ese caso

2 |E| =∑v∈V

gr(v) =

(∑v∈V1

gr(v)

)+

(∑v∈V2

gr(v)

).

Puesto que para cada v ∈ V1 se tiene que gr(v) es un número par, el pri-mer sumatorio de los dos que aparecen a la derecha de la igualdad es un

Page 212: Apuntes de Matematicas Discretas(2)

212 CAPÍTULO 5. GRAFOS

número par. Y, puesto que el resultado de la suma es eln número par 2|E|,necesariamente

( ∑v∈V2

gr(v)

)es un número par.

Denición 5.1.13 Si G = (V,E) es un grafo dirigido, y (u, v) ∈ E, se diceque u es el vértice inicial de la arista (u, v) y que v es el vértice nalde dicha arista. Asimismo, dado u ∈ V , se denomina grado de entradade u al número de aristas que tienen a u como vértice nal. Al grado deentrada de u se le denota por gr+(u). Del mismo modo, se denomina gradode salida de u al número de aristas que tienen a u como vértice inicial. Algrado de salida de u se le denota por gr−(u).

Observación 5.1.14 Un lazo en un vértice u suma uno al grado de entraday 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 tenemosque 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) severica que

|E| =∑v∈V

gr+(v) =∑v∈V

gr−(v).

Demostración. Es consecuencia del hecho de que cualquier arista dirigidatiene un vértice inicial y un vértice nal.

5.2 Grafos simples especiales.Vamos a dar la denición de algunos grafos particularmente interesantes.

Denición 5.2.1 Se denomina grafo completo de n vértices al grafo sim-ple Kn que contiene una arista entre cada par de vértices distintos (ver gura5.5).

Page 213: Apuntes de Matematicas Discretas(2)

5.2. GRAFOS SIMPLES ESPECIALES. 213

Figura 5.4:

Figura 5.5:

Page 214: Apuntes de Matematicas Discretas(2)

214 CAPÍTULO 5. GRAFOS

Figura 5.6:

Denición 5.2.2 El ciclo de n vértices Cn (n ≥ 3) es el grafo simple quetiene como conjunto de vértices V = v1, v2, ..., vn, y como conjunto dearistas E = v1, v2, v2, v3, ..., vn−1, vn, vn, v1. (Ver gura 5.6.)

Denición 5.2.3 La rueda Wn se obtiene añadiendo un vértice adicionalal ciclo Cn y añadiendo n aristas que conecten dicho vértice adicional contodos los de Cn.

Ejercicio 108 Dibujar las ruedas W3,W4,W5 y W6. (Obsérvese que la ruedaWn tiene n + 1 vértices).

Denición 5.2.4 El n-cubo Qn sirve para representar las secuencias den elementos del conjunto 0, 1 (es decir, las secuencias de n bits). Así,Qn tiene 2n vértices (uno por cada secuencia de n bits) y una arista entrecada par de vértices que satisfagan la condición de que su secuencia asociadadiere en un único bit (Ver gura 5.7).

Ejercicio 109 Dibujar el cubo Q3.

Page 215: Apuntes de Matematicas Discretas(2)

5.2. GRAFOS SIMPLES ESPECIALES. 215

Figura 5.7:

Algunas veces un grafo tiene la propiedad de que su conjunto de vértices sepuede dividir en dos subconjuntos disjuntos de manera que todas las aristassatisfacen la condición de conectar un vértice de uno de los dos subconjuntoscon un vértice del otro. Por ejemplo, consideremos el grafo que representalos matrimonios de una determinada ciudad. Los vértices son las personascasadas de esa ciudad, y se establece una arista entre los dos miembros decada matrimonio. El grafo así obtenido tiene la propiedad descrita.

Denición 5.2.5 Se dice que un grafo simple G = (V,E) es bipartido si suconjunto de vértices V se puede expresar como la unión de dos subconjuntosno vacíos disjuntos V1 y V2 de manera que cada arista del grafo conecta unvértice de V1 con un vértice de V2. (En otras palabras, no existe ningunaarista entre dos vértices de V1 ni entre dos vértices de V2.) (Ver gura 5.8.)

Ejercicio 110 Comprobar que K3 no es bipartido, y que C6 es bipartido.

Denición 5.2.6 El grafo bipartido completo Km,n es el grafo de m + nvértices, cuyo conjunto de vértices se puede expresar como la unión de dossubconjuntos disjuntos V1 de m vértices y V2 de n vértices, de manera quecada vértice de V1 está conectado con todos los vértices de V2. (Ver gura5.9.)

Page 216: Apuntes de Matematicas Discretas(2)

216 CAPÍTULO 5. GRAFOS

Figura 5.8:

Figura 5.9:

Page 217: Apuntes de Matematicas Discretas(2)

5.3. CONSTRUCCIÓN DE GRAFOS A PARTIR DE GRAFOS 217

Ejercicio 111 Dibujar los grafos bipartidos completos K2,5 y K3,4. Determi-nar el número de aristas del grafo Km,n.

Ejemplo 5.2.7 Una red de área local permite conectar ordenadores entre síy con diferentes periféricos, como impresoras, scanners, etc. Algunas de estasredes están diseñadas considerando una topología tipo estrella, caracterizadapor el hecho de que todos los dispositivos están conectados a un dispositivode control central. En una red de este tipo, los mensajes que se envían de undispositivo a otro pasan siempre por el dispositivo de control central. Una redde área local de este tipo se puede representar utilizando un grafo completoK1,n. Otras redes de área local están basadas en una topología tipo anillo,en la que cada dispositivo está conectado únicamente con otros dos y losmensajes se envían de un dispositivo a otro alrededor del ciclo, hasta que elmensaje en cuestión llega a su receptor. Las redes de área local de este tipose modelizan utilizando los n-ciclos Cn. Otras redes de área local son de untipo híbrido de las dos topologías anteriores. Tal sería el caso de las redesque modelizaríamos utilizando el grafo Wn.

5.3 Construcción de grafos a partir de grafosDenición 5.3.1 Un subgrafo (respectivamente subdigrafo) de un grafosimple (de un digrafo) G = (V,E) es un grafo (respectivamente digrafo)H = (V ′, E ′) tal que V ′ ⊆ V y E ′ ⊆ E.

Obsérvese que esta denición se extiende de forma natural a multigrafoso multidigrafos, siendo E ′ una subfamilia de E.

Denición 5.3.2 La unión 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, yla unión de los grafos G1 y G2 de la gura es el grafo G1∪G2 allí representado.

Ejercicio 112 Demostrar las armaciones del ejemplo anterior.

Denición 5.3.4 El producto de dos grafos simples G = (V, E) y G′ =(V ′, E ′) es el grafo simple

G×G′ = (V × V ′, E”)

Page 218: Apuntes de Matematicas Discretas(2)

218 CAPÍTULO 5. GRAFOS

Figura 5.10:

donde E” es el conjunto formado por todas las aristas de la forma (a, b),(a′, b′) tales que

o bien a = a′ y b, b′ es una arista de G′,o bien b = b′ y a, a′ es una arista de G.

Ejemplo 5.3.5 La gura 5.11 muestra un producto de grafos.

Observación 5.3.6 El grado de un vértice (v, v′) en el grafo producto G×G′

es gr((v, v′)) = gr(v) + gr(v′). Donde gr(v) es el grado del vértice v de G ygr(v′) es el grado del vértice v′ en G′.

Ejercicio 113 Demostrar que el producto de un grafo simple G con n vérti-ces y m aristas y otro G′ con n′ vértices y m′ aristas es un grafo simple connn′ vértices y nm′ + mn′ aristas.

Denición 5.3.7 Sea un grafo G = (V, E), diremos que G′ = (V ′, E ′) esuna partición de G si es un grafo que se obtiene dividiendo algunas de lasaristas de G. Este proceso de división consiste en introducir un vértice a /∈ Val conjunto de vértices 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)).

Page 219: Apuntes de Matematicas Discretas(2)

5.4. ISOMORFISMO DE GRAFOS 219

Figura 5.11:

Ejemplo 5.3.8 Sea G = (1, 2, 3, 1, 2, 2, 3) entonces

G′ = (1, 2, 3, 4, 2, 3, 1, 4, 4, 2)

es una partición de G.

5.4 Isomorsmo de grafosEn Química, por ejemplo, los grafos se emplean para representar y modeli-zar compuestos químicos. Dos compuestos diferentes pueden tener la mismafórmula molecular pero diferente estructura. En ese caso dichos compuestosse modelizarán por grafos que no se pueden expresar de la misma forma.Los grafos que representan compuestos conocidos pueden utilizarse para de-terminar si un supuestamente nuevo compuesto químico ha sido estudiadoantes.

Dos grafos que tienen la misma estructura diremos que son isomorfos,ateniéndonos a la siguiente denición:

Denición 5.4.1 Se dice que dos grafos simples G1 = (V1, E1) y G2 =(V2, E2) son isomorfos si existe una función biyectiva f : V1 → V2 tal que

Page 220: Apuntes de Matematicas Discretas(2)

220 CAPÍTULO 5. GRAFOS

Figura 5.12:

∀u, v ∈ V1

u, v ∈ E1 ⇔ f(u), f(v) ∈ E2.

De la función f que satisface dicha condición se dice que es un isomorsmode grafos entre los grafos G1 y G2.

En otras palabras dos grafos son isomorfos si tienen el mismo número devértices y existe una función biyectiva entre los dos conjuntos de vértices quepreserva las adyacencias.

Ejemplo 5.4.2 Los dos grafos de la gura 5.12 son isomorfos. Para verlobasta comprobar que la función 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.

Observación 5.4.3 Obsérvese que en el ejemplo anterior el cruce de las dosaristas del grafo de la derecha no es un vértice.

Ejercicio 114 Comprobar que el cubo Q3 es isomorfo al grafo producto delcubo bidimensional Q2 y el cubo unidimensional Q1. En general se puededemostrar que Qn = Qn−1 ×Q1.

Page 221: Apuntes de Matematicas Discretas(2)

5.4. ISOMORFISMO DE GRAFOS 221

Figura 5.13:

A menudo es difícil determinar si dos grafos simples son isomorfos. Dehecho, como vimos en el capítulo anterior, hay n! = n(n − 1)(n − 2)...1aplicaciones biyectivas entre los conjuntos de vértices de dos grafos con nvértices, por lo que comprobar una por una si dichas biyecciones preservanla adyacencias no es un buen método, sobre todo si n es un número grande.

Por otra parte, existen algunos criterios para determinar si dos grafossimples son isomorfos o no lo son. Estos criterios se apoyan en el hechode que hay ciertas propiedades, denominadas invariantes, que si un grafoposee, cualquier otro grafo isomorfo a él debe también poseer. Por ejemplo,dos grafos isomorfos deben tener el mismo número de vértices y el mismonúmero de aristas. Por otra parte, si f : V1 → V2 es un isomorsmo entre losgrafos 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 ciertafacilidad 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 número de vértices y de aristas, en el primerogr(a) = 4, mientras que en el segundo no hay ningún vértice cuyo grado sea4.

Page 222: Apuntes de Matematicas Discretas(2)

222 CAPÍTULO 5. GRAFOS

Figura 5.14:

Ejercicio 115 Vericar si alguno de los grafos de la siguiente lista es iso-morfo a alguno de los restantes: K4, W3 y K1,3.

También la existencia de ciertos subgrafos (por ejemplo, la existencia deun subgrafo isomorfo a Cm) puede servir para concluir que dos grafos dadosno pueden ser isomorfos.

Ejercicio 116 Estudiar si los grafos de la gura 5.14 son isomorfos. Idempara la gura 5.15

5.5 Representación de grafosEn esta sección veremos distintas maneras de representar grafos. Según elproblema que se quiera abordar, unas u otras representaciones resultan másadecuadas.

5.5.1 Mediante una matriz de adyacenciasUna de las formas de representar un grafo simple es mediante una de susmatrices de adyacencias.

Page 223: Apuntes de Matematicas Discretas(2)

5.5. REPRESENTACIÓN DE GRAFOS 223

Figura 5.15:

Dado un grafo G = (V, E), para construir una de sus matrices de ad-yacencias, necesitamos considerar sus vértices en una lista ordenada. Si elgrafo tiene n vértices, |V | = n, y los ordenamos como V = v1, v2, ..., vn,la matriz de adyacencia de G con respecto a esa ordenación de los vérticeses la matriz A = (aij) de n las y n columnas determinada por la siguientecondición:

aij =

1 si vi, vj ∈ E0 si vi, vj /∈ E.

Observación 5.5.1 Es importante observar que la matriz de adyacencias deun grafo simple es una matriz simétrica (aij = aji para cualesquiera i y j) yque los elementos de la forma aii son todos iguales a cero.

Ejemplo 5.5.2 Sea por ejemplo el grafo K3. Como tiene 3 vértices, cual-quier matriz de adyacencias de K3 debe ser de tamaño 3 × 3. Siendo elgrafo completo, toda matriz de adyacencias está formada por unos salvo enla diagonal, donde hay ceros (obsérvese que en este ejemplo la matriz deadyacencias es independiente de la ordenación del los vértices):

Page 224: Apuntes de Matematicas Discretas(2)

224 CAPÍTULO 5. GRAFOS

Figura 5.16:

0 1 11 0 11 1 0

Ejercicio 117 Construir una matriz de adyacencias para cada uno de lossiguientes grafos: K4, C4, W3 y K3,2.

Ejercicio 118 Utilizar una matriz de adyacencias para representar los gra-fos de la gura 5.16.

Observación 5.5.3 Las matrices de adyacencias también se pueden utilizarpara representar grafos no dirigidos con lazos y aristas múltiples. Así, un lazoen el vértice vi viene representado por un 1 en la posición aii de la matrizde adyacencia. Si se trata de multigrafos, en la posición aij de la matrizcolocaremos el número de aristas que conectan el vértice vi y el vj. Así, sitenemos 3 aristas entre el vértice vi y el vj, pondremos aij = 3. En cualquiercaso, todos los grafos no dirigidos tienen asociadas matrices simétricas.

Page 225: Apuntes de Matematicas Discretas(2)

5.5. REPRESENTACIÓN DE GRAFOS 225

Observación 5.5.4 En el caso de los grafos dirigidos la situación es similar.En la posición aij aparecerá un 1 si hay una arista dirigida cuyo vértice iniciales vi y cuyo vértice nal es vj y un cero en caso contrario.

Obsérvese que las matrices de adyacencias asociadas a grafos dirigidos noson necesariamente simétricas.

5.5.2 Mediante una matriz de incidenciasOtro 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 unaordenación de los vértices de G, digamos v1, v2, ..., vn, y una ordenación delas aristas de G, digamos e1, e2, ..., em. La matriz de incidencias de G conrespecto a esa ordenación de los elementos de V y E es la matriz B = (bij)de n las y m columnas denida por la siguiente condición:

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 ordenación a, b, c, d de susvértices y a, b, b, c, c, d, d, a, d, b de sus aristas, es la matriz

1 0 0 1 01 1 0 0 10 1 1 0 00 0 1 1 1

.

Observación 5.5.6 De manera análoga a las matrices de adyacencias, ladenición de matriz de incidencias se puede aplicar (mutatis mutandis) agrafos dirigidos o con lazos.

Observación 5.5.7 Es importante observar que si dos grafos G y G′ sonisomorfos, necesariamente existe una ordenación de los vértices (respectiva-mente de vértices y aristas) de ambos de manera que la matriz de adyacencias(respectivamente de incidencias) es la misma para los dos grafos. Esto noquiere decir, sin embargo, que cada matriz de adyacencias de G sea igual acada una de G′.

Page 226: Apuntes de Matematicas Discretas(2)

226 CAPÍTULO 5. GRAFOS

5.6 Caminos, ciclos y grafos conexosDenición 5.6.1 Un camino de longitud n entre los vértices a y b de ungrafo no dirigido es una sucesión nita (e0, ..., en−1) de aristas del grafo

e0 = v0, v1, e1 = v1, v2, ..., en−1 = vn−1, 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, ..., en−1) queda perfectamentedeterminado por la sucesión de vértices

(a, v1, v2, ..., vn−1, b).

Diremos que el camino anterior pasa por (o atraviesa) los vértices a,v1, v2, ..., vn−1, b.

Se dice que un camino es un circuito si es cerrado, esto es, empieza ytermina en el mismo vértice, es decir, si a = b.

Se dice que un camino es simple si no contiene a la misma arista másde una vez.

Un circuito que no pasa dos veces por el mismo vértice (salvo el inicialpor 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 cir-cuito simple de longitud 5 y (a, b, d, c, e, f, d) es un camino simple de longitud6 entre los vértices a y d.

La denición anterior se puede extender a grafos dirigidos (digrafos ymultidigrafos):

Denición 5.6.3 Un camino de longitud n entre los vértices a y b de unmultigrafo dirigido es una sucesión nita (e0, ..., en−1) de aristas del multi-grafo dirigido:

e0 = (v0, v1), e1 = (v1, v2), ..., en−1 = (vn−1, 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, ..., en−1) quedaperfectamente determinado por la sucesión de vértices

(a, v1, v2, ..., vn−1, b).

Page 227: Apuntes de Matematicas Discretas(2)

5.6. CAMINOS, CICLOS Y GRAFOS CONEXOS 227

Figura 5.17:

Diremos que el camino anterior pasa por (o atraviesa) los vértices a,v1, v2, ..., vn−1, b.

Se dice que un camino es un circuito si es cerrado, esto es, empieza ytermina en el mismo vértice, es decir, si a = b.

Al igual que en el caso de los grafos no dirigidos, se dice que un caminoes simple si no contiene a la misma arista más que una vez.

Denición 5.6.4 Se dice que un grafo no dirigido G es conexo si paracualquier par de vértices 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 vértices es

V = a, b, c, d, e, f, g, h

no es conexo pues, por ejemplo, no existe ningún camino entre a y g.

Si un grafo no es conexo, se puede expresar como la unión de dos o mássubgrafos conexos de manera que los conjuntos de vértices y de aristas decada par de estos subgrafos son disjuntos entre sí. A estos subgrafos se lesdenomina componentes conexas del grafo dado. De esta manera un grafoes conexo si y sólo si tiene una única componente conexa.

Page 228: Apuntes de Matematicas Discretas(2)

228 CAPÍTULO 5. GRAFOS

Figura 5.18:

Ejemplo 5.6.6 El grafo de la gura 5.18 tiene dos componentes conexas: laque tiene como vértices al conjunto a, b, c, e, f y las correspondientes aris-tas, y la que tiene como conjunto de vértices g, h, d y las correspondientesaristas.

Teorema 5.6.7 Existe un camino simple entre cualquier par de vértices dis-tintos de un grafo conexo no dirigido.

Demostración. Lo demostraremos para grafos simples, si hay aristas múlti-ples, el mismo razonamiento es válido deniendo los caminos por las aristasy no por los vértices que recorren.

Sean a y b dos vértices 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, ..., vn−1, vn un camino entre a y b de la menor longitud posible. Enese caso, dicho camino es simple. En efecto, lo demostramos por reducciónal absurdo. Si no fuera simple, en particular tendríamos que vi = vj paraalgunos i, j ∈ 1, ..., n, i < j. Pero entonces el camino v0, ..., vi−1, vj, vj+1 ...,vn es un camino entre a y b de longitud estrictamente menor que n (puestoque se ha obtenido eliminando una o varias aristas del camino anterior), encontradicción con que el camino considerado originalmente entre a y b sea dela menor longitud posible.

Page 229: Apuntes de Matematicas Discretas(2)

5.6. CAMINOS, CICLOS Y GRAFOS CONEXOS 229

Conexión e isomorsmo

Los conceptos relacionados con la conexión nos proporcionan nuevos in-variantes para averiguar si dos grafos son o no isomorfos.

Observación 5.6.8 Dos grafos isomorfos tienen la misma cantidad de com-ponentes conexas.

Denición 5.6.9 Se dice que un vértice a ∈ V de un grafo G = (V,E) esun vértice de corte si el grafo obtenido al eliminar del grafo G el vértice ajunto con las aristas incidentes con él tiene más componentes conexas que elgrafo original. Del mismo modo se dice que una arista e ∈ E es una aristade corte de G si el subgrafo obtenido al eliminar e del grafo original tienemás componentes conexas que el grafo original.

Los puntos de corte y las aristas de corte son invariantes que nos puedenpermitir concluir que dos grafos no son isomorfos. Si un grafo presenta unvértice 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 vértices y siete aristas, el grafo H no tieneningún subgrafo isomorfo a C3, mientras que el grafo G sí lo tiene. Por otraparte, ni G ni H son isomorfos al grafo L, pues L tiene una arista de cortey G y H no tienen ninguna.

Conexión y matrices

Teorema 5.6.11 Sea G un grafo (dirigido o no dirigido, con aristas múlti-ples y lazos o no) y sea A = (aij) su matriz de adyacencias con respecto alorden v1, v2, ..., vn−1, vn de su conjunto de vértices. En estas condiciones elnúmero de caminos de longitud m entre el vértice vi y el vértice vj es igualal coeciente situado en el lugar (i, j) de la potencia m-ésima de la matriz A(con respecto al producto de matrices usual).

Demostración. La hacemos para grafos no dirigidos (la demostración es si-milar para grafos dirigidos). Razonamos por inducción sobre la longitud delcamino entre dos vértices cualesquiera vi y vj de un grafo G.

Page 230: Apuntes de Matematicas Discretas(2)

230 CAPÍTULO 5. GRAFOS

Figura 5.19:

Base de inducción: El número de caminos de longitud 1 entre dosvértices cualesquiera vi y vj es el coeciente (i, j) de la matriz A, ya quedicho coeciente es el número de aristas entre vi y vj.

Paso de inducción: Supongamos que el número de caminos de longitudm entre dos vértices cualesquiera vi y vj es el coeciente (i, j) de la matrizAm. Tenemos que comprobar que el número de caminos de longitud m + 1entre vi y vj es el coeciente (i, j) de la matriz Am+1. Cómo Am+1 = Am ·A,siendo Am = (bij) y A = (aij), el coeciente (i, j) de la matriz Am+1 es

bi1a1j + bi2a2j + ... + binanj.

Por hipótesis de inducción, bik es el número de caminos de longitud m entrevi y vk. Un camino de longitud m + 1 entre vi y vj es un camino de longitudm entre vi y un vértice adyacente a vj, al que denotamos por vk, seguido dela arista que une vk y vj. Pero el número de caminos entre vi y vk es bik, y elnúmero de aristas entre vk y vj es akj, por lo que el número de caminos delongitud m + 1 entre vi y vj viene dado por la expresión:

bi1a1j + bi2a2j + ... + binanj.

Como queríamos demostrar.

Page 231: Apuntes de Matematicas Discretas(2)

5.6. CAMINOS, CICLOS Y GRAFOS CONEXOS 231

La observación siguiente es una consecuencia del Principio del Palomar yla demostración es idéntica a la del teorema 5.6.7.

Observación 5.6.12 Sea el grafo G = (V,E) con |V | = n. Si u, v ∈ V ,u 6= v, están unidos por un camino en G, entonces u y v están unidos porun camino de longitud menor o igual que n− 1 en G.

De la observación anterior y los resultados anteriores se concluyen lossiguientes corolarios.

Corolario 5.6.13 Dado un grafo G = (V, E) tal que |V | = n, y siendoA = (aij) una matriz de adyacencia de G, se verica que existe un caminoentre vi y vj si y sólo si la matriz C = (cij), denida como

C = In + A + A2 + .... + An−1,

satisface que el coeciente cij 6= 0.

Corolario 5.6.14 Dado un grafo G = (V, E) tal que |V | = n, se verica queG es conexo si y sólo si la matriz

In + A + A2 + .... + An−1

tiene todos los coecientes distintos de cero.

Ejemplo 5.6.15 Sea G un grafo cuya matriz de adyacencias es:

A :=

0 1 01 0 10 1 0

.

Entonces su cuadrado es

A2 :=

1 0 10 2 01 0 1

.

Por tanto I + A + A2 tiene todas sus entradas no nulas y el grafo esconexo.

Page 232: Apuntes de Matematicas Discretas(2)

232 CAPÍTULO 5. GRAFOS

El corolario anterior nos permite obtener un algoritmo para determinarsi un grafo G = (V,E) tal que |V | = n es o no conexo:

Entrada: La matriz de adyacencia A del grafoj := 1, B := In

while j ≤ n− 1B := B + Aj

j := j + 1If 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 delos casos, para lo cual hay que abordar el problema de computar la complejidadde la operación producto de matrices.

5.7 Grafos eulerianos y hamiltonianos.Denición 5.7.1 Un camino euleriano en un grafo no dirigido G es uncamino simple que contiene a todas las aristas de G. Un circuito eulerianoen G es un circuito simple que contiene todas las aristas del grafo G.

Denición 5.7.2 Se dice que un grafo no dirigido es euleriano si contieneun circuito euleriano.

De la denición de grafo euleriano se sigue que, o bien el grafo es conexo,o bien hay una componente conexa que contiene todas las aristas (siendo elresto de las componentes conexas vértices aislados).

Teorema 5.7.3 Un grafo G = (V,E) con aristas no dirigidas es eulerianosi y solo si todas las aristas están en la misma componente conexa y todoslos vértices tienen grado par.

Demostración. Si el grafo G es euleriano, entonces contiene un circuito eule-riano que, por denición, contiene a todas las aristas. En consecuencia, todaslas aristas están en la misma componente conexa. Por otra parte, todos losvértices tienen grado par, pues cada vez que el circuito euleriano pasa porun vértice lo hace una vez para entrar y otra para salir con lo que el grado

Page 233: Apuntes de Matematicas Discretas(2)

5.7. GRAFOS EULERIANOS Y HAMILTONIANOS. 233

de cada vértice es par. Obsérvese que los vértices aislados tienen grado 0, unnúmero par.

Para la demostración del recíproco, el siguiente algoritmo muestra un pro-cedimiento constructivo para generar un circuito euleriano en un multigrafoconexo en el que todos los vértices tienen grado par.

Por hipótesis, todas las aristas están en la misma componente conexa, porlo que se puede suponer que el grafo es conexo. Sea entonces G un multigrafoconexo con todos los vértices de grado par. Además, podemos prescindirde los posibles lazos: si G multigrafo conexo tiene lazos, es equivalente Geuleriano que G′ euleriano, siendo G′ el grafo resultante de quitar los lazos aG. Por tanto G es un multigrafo conexo sin lazos.

Entrada: G = (V, E) (conexo y sin lazos)C :=cualquier circuito simple de GH :=el grafo obtenido eliminando de G las aristas de C y los vértices

que queden aislados al quitar dichas aristas.while H tiene aristas

C ′ :=cualquier circuito simple de H.H := el grafo obtenido eliminando de H las aristas de C ′ y los

vértices que queden aislados al quitar dichas aristas.C := C con C ′ insertado en el vértice adecuado.

Salida: C (un circuito Euleriano)

Para que el algoritmo funcione necesitamos asegurar la existencia delcircuito simple denominado C. Esto es, que dado un multigrafo conexo contodos sus vértices de grado par, existe un circuito simple C. Tomamos unvértice cualquiera u. Vamos construyendo un camino simple T = (u0 =u, u1, ..., un) de longitud máxima. 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 máxima.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 callesrepresentada por el grafo de la gura 5.20. Para realizar el reparto, el carte-ro debe empezar y terminar en la estafeta de correos que se encuentra en elvértice i. Teniendo en cuenta que todos los vértices tienen grado par, el car-tero sabe que puede efectuar el reparto sin recorrer dos veces la misma calle,

Page 234: Apuntes de Matematicas Discretas(2)

234 CAPÍTULO 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 vértice i que quedaaislado (ver gura 5.21).

A continuación, construimos un nuevo circuito en el grafo que queda,por ejemplo (j, m, l, k, j), lo insertamos en el circuito anterior en el lugaradecuado (vértice j) obteniendo

(i, j, m, l, k, j, h, i).

Borramos las aristas y vértices aislados (Ver gura 5.22).Prosiguiendo con el algoritmo, construimos el circuito (m,n, a,m) y lo

insertamos en el lugar adecuado (vértice 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 enel 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 maneraque estén todas encajadas? Indicación: utilizar un multigrafo con 7 vérticesy vericar que es euleriano y conexo.

Page 235: Apuntes de Matematicas Discretas(2)

5.7. GRAFOS EULERIANOS Y HAMILTONIANOS. 235

Figura 5.21:

Figura 5.22:

Page 236: Apuntes de Matematicas Discretas(2)

236 CAPÍTULO 5. GRAFOS

El siguiente resultado nos da una condición para la existencia de un ca-mino euleriano no cerrado:

Proposición 5.7.5 Un grafo G = (V,E) con aristas no dirigidas tal quetodas sus aristas están en la misma componente conexa admite un caminoeuleriano no cerrado si y sólo si contiene exactamente dos vértices de gradoimpar.

Demostración. Supongamos que G = (V,E) admite un camino euleriano nocerrado

a, v1, v2, ..., vn−1, b

siendo a y b los extremos del camino. Sea w un nuevo vértice no pertenecientea V y G′ = (V ′, E ′) donde V ′ = V ∪ w y E ′ = E ∪ w, a, b, w. Esevidente que G′ admite el circuito euleriano

w, a, v1, v2, ..., vn−1, b, w

y, en consecuencia, todos los vértices de G′ son de grado par. Al eliminar lasaristas w, a y b, w y el vértice w de G′ para obtener G concluimos quetodos los vértices son de grado par salvo a y b.

Recíprocamente, si todos los vértices de G = (V, E) salvo dos, a y b,tienen grado par, construyendo el grafo G′ = (V ′, E ′) donde V ′ = V ∪ wy E ′ = E ∪ w, a, b, w con w un nuevo vértice no perteneciente a V,obtendremos un grafo en el que todos los vértices son de grado par. Siendo

w, a, v1, v2, ..., vn−1, b, w

un circuito euleriano,a, v1, v2, ..., vn−1, b

es un camino euleriano no cerrado que conecta a y b.

Ahora ya estamos en condiciones de demostrar que no es posible encontrarun circuito que resuelva el problema de los puentes de Königsberg, pues elgrafo que representa el problema tiene más de dos vértices de grado impar.

Ejercicio 121 Construir el grafo que representa la conguración de los puen-tes de Könisberg. Demostrar que dicho grafo no es Euleriano ni admite uncamino Euleriano.

Page 237: Apuntes de Matematicas Discretas(2)

5.7. GRAFOS EULERIANOS Y HAMILTONIANOS. 237

Figura 5.23: Un grafo Euleriano

Denición 5.7.6 Se denomina camino hamiltoniano en un grafo conaristas no orientadas G = (V, E) a cualquier camino simple que contengaa todos los vértices de G pasando una sola vez por cada uno de ellos, peropermitiendo que el vértice inicial de dicho camino sea igual al vértice nal. Siel camino hamiltoniano es cerrado, a dicho camino se le denomina circuitohamiltoniano.

Denición 5.7.7 Se dice que un grafo no dirigido G = (V,E) es hamil-toniano si contiene un circuito hamiltoniano.

Los grafos hamiltonianos tienen su origen en el siguiente juego propuestopor Hamilton: encontrar un circuito que, pasando por todos los vértices deldodecaedro (a través de las aristas) termine en el de vértice de partida sinpasar dos veces por el mismo vértice (salvo el de partida).

Pese a la aparente similitud con la denición de los grafos eulerianos (enun caso el énfasis del estudio está puesto en los vértices y en el otro en lasaristas) encontrar un circuito hamiltoniano en un grafo puede no ser tareafácil pues no se conoce una caracterización de los grafos hamiltonianos.

Veamos algunos resultados sencillos relacionados con los grafos hamilto-nianos (alguno de ellos sin demostración).

Page 238: Apuntes de Matematicas Discretas(2)

238 CAPÍTULO 5. GRAFOS

Figura 5.24:

Teorema 5.7.8 El cubo Qn es hamiltoniano para cada n ≥ 2.

Demostración. Razonamos por inducción sobre n.Base de inducción: Q2 es hamiltoniano ((0, 0), (0, 1), (1, 1), (1, 0), (0, 0)

es un ciclo hamiltoniano de Q2).Paso de inducción: Supongamos que Qn es hamiltoniano. Si en Qn hay

un circuito hamiltoniano, basta considerar dos copias de Qn cada una consu circuito hamiltoniano y añadir las aristas oportunas para obtener Qn+1 apartir de las dos copias de Qn. Eliminando una arista en cada uno de los cir-cuitos hamiltonianos de las dos copias de Qn y cerrando el circuito añadiendolas aristas que conectan los extremos de los caminos simples resultantes (lasaristas con echa de la gura 5.24) , obtenemos un circuito hamiltoniano deQn+1.

Los circuitos de hamilton tienen aplicación al denominado problema delos códigos de Gray, consistente en determinar si hay una ordenación de laspalabras de n bits, de manera que situando una palabra en cada una delas secciones circulares (quesitos) en los que hemos dividido un círculo, dossecciones contiguas dieran en un único bit.

Veamos cómo se pueden construir códigos de Gray a partir de circuitoshamiltonianos en Qn.

Page 239: Apuntes de Matematicas Discretas(2)

5.7. GRAFOS EULERIANOS Y HAMILTONIANOS. 239

Figura 5.25:

Consideremos los vértices de Qn (i.e. las palabras de n bits) según indi-camos en su construcción (i.e., de forma que dos vértices adyacentes dieranen un único bit). Cualquier circuito hamiltoniano sobre el cubo Qn da lugara un código de Gray. Por ejemplo, el siguiente camino hamiltoniano de Q3

da lugar a un código de Gray (para ello, es suciente representarlo de formacircular según 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 uncircuito hamiltoniano.

Como se comentó, no siempre es sencillo determinar si un grafo simple yconexo dado es hamiltoniano pues, para ello, el único criterio que tenemos apriori es nuestra habilidad para encontrar o no un circuito hamiltoniano enel grafo dado. La siguiente proposición nos aporta un resultado que permiteconcluir que ciertos grafos no son hamiltonianos.

Proposición 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

Page 240: Apuntes de Matematicas Discretas(2)

240 CAPÍTULO 5. GRAFOS

los vértices de U y las aristas incidentes con dichos vértices tiene a lo sumo|U | componentes conexas.

Demostración. Si el grafo G es hamiltoniano, entonces contiene un circuitohamiltoniano

a, v1, v2, ..., vn−1, a.

Sea H el grafo formado por los vértices y aristas del circuito anterior, y seaU ⊆ V. (Obsérvese que los vértices de H son los mismos que los del grafooriginal G). Sea k el número de componentes conexas del grafo (V − U,E ′)donde E ′ es el subconjunto de aristas de G caracterizado por el hecho de quesus extremos pertenecen a V −U , y sea k′ el número de componentes conexasdel subgrafo de H obtenido al eliminar de H los vértices pertenecientes a Ujunto con las aristas incidentes con ellos. Evidentemente, k ≤ k′. Puestoque el grafo H se puede representar como en la gura 5.26, es obvio que aleliminar un punto (y las aristas incidentes con él) el nuevo grafo así obtenidoes conexo (es decir, tiene una única componente conexa), al eliminar dospuntos (y las aristas incidentes con ellos) el nuevo grafo así obtenido tienecomo mucho dos componentes conexas y así sucesivamente. En general siquitamos p vértices (junto con sus aristas incidentes) obtenemos un grafocon, a lo sumo, p componentes conexas. Por consiguiente k ≤ k′ ≤ p = |U |.

El resultado anterior nos aporta una nueva herramienta con la que pode-mos demostrar que algunos grafos no son hamiltonianos.

Ejemplo 5.7.11 Si al grafo G de la gura 5.27 le quitamos el único vérticede grado 5 que tiene y sus aristas incidentes, el grafo resultante tiene 3componentes 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 DijkstraDenición 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 función

d : E → R.

A la imagen de una arista mediante d se le denomina etiqueta o peso dela arista. (Ver como ejemplo la gura 5.28)

Page 241: Apuntes de Matematicas Discretas(2)

5.8. GRAFOS ETIQUETADOS Y ALGORITMO DE DIJKSTRA 241

Figura 5.26:

Figura 5.27:

Page 242: Apuntes de Matematicas Discretas(2)

242 CAPÍTULO 5. GRAFOS

Figura 5.28:

El siguiente algoritmo, conocido como algoritmo de Dijkstra, resuelve eldenominado problema del camino mínimo.

Problema. Dados un grafo etiquetado y dos vértices u y v, determinar elcamino entre u y v tal que la suma de las etiquetas de las aristas que locomponen sea mínima. A dicha suma se le denomina longitud del camino enel grafo etiquetado

Nota: En el algoritmo siguiente se sobreentiende que ∞ es mayor que cual-quier número real, que G es un grafo etiquetado conexo y que para cada parde vértices no adyacentes x, y se tiene que d(x, y) = ∞.

Algoritmo de Dijkstra.

Entrada: G = (V, E, d), u, v ∈ VL(u) := 0L(x) := ∞ para cada x 6= uT := ∅while v /∈ T

Page 243: Apuntes de Matematicas Discretas(2)

5.8. GRAFOS ETIQUETADOS Y ALGORITMO DE DIJKSTRA 243

x := a siendo a un vértice que no esté en T con L(a) mínimoT := T ∪ xfor y /∈ T

if L(x) + d(x, y) < L(y) thenL(y) := L(x) + d(x, y),f(y) := x

Salida: L(v) es la longitud del camino mínimo.(v, f(v), f(f(v)), ..., u) es el camino mínimo de v a u.

Un modo práctico de ejecutar el algoritmo de Dijkstra consiste en escribirsobre cada vértice el valor actual de L, e ir modicando dichos valores yborrando los vértices que vamos incorporando al conjunto T .

Ejemplo 5.8.2 Buscamos por este algoritmo el camino mínimo entre a y den el grafo etiquetado de la gura 5.28.

Comienza el algoritmo asignando L(a) = 0 y L(x) = ∞ para el resto devértices. 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 además:f(b) = f(h) = a.

Ahora el valor mínimo de L lo tiene el vértice 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) = ∞.

Page 244: Apuntes de Matematicas Discretas(2)

244 CAPÍTULO 5. GRAFOS

Con lo que los únicos valores para los que L cambia son:

L(c) = 5 L(i) = 3.

Y además:f(c) = f(i) = b.

Ahora el valor mínimo de L lo tiene el vértice 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 además:f(d) = f(f) = i.

Ahora el valor mínimo de L lo tienen los vértices c, f y h con lo que elijouno 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 además:f(e) = f(g) = f.

Ahora el valor mínimo de L lo tienen los vértices c, y h con lo que elijo unode ellos, por ejemplo el c, de modo que:

T = a, b, i, f, c.

Page 245: Apuntes de Matematicas Discretas(2)

5.9. ÁRBOLES 245

No se cumple nunca la condición para que haya cambios. El valor mínimode L lo tiene entonces el vértice h con lo que:

T = a, b, i, f, c, h.

Tampoco ahora se cumple nunca la condición para que haya cambios. Ahorael valor mínimo de L lo tienen los vértices d, e con lo que elijo uno de ellos,por ejemplo el d (así el algoritmo terminará en el paso siguiente), de modoque:

T = a, b, i, f, c, h, d.Tampoco ahora se cumple nunca la condición para que haya cambios.

De esta manera el camino más 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 caminomínimo entre los vértices a y e del grafo etiquetado de la gura 5.28. Hallartambién el camino más corto entre los vértices g y c.

Los caminos mínimos son muy útiles en redes de comunicación o redesde transporte para optimizar la manera de enviar información o carga entredos puntos conectados por una red. Los pesos pueden representar distanciaso pueden recoger otro tipo de información: tiempo, coste, dicultad orográ-ca...

5.9 ÁrbolesEspecialmente útil en lo que a aplicaciones informáticas se reere es un ciertotipo de grafo simple, llamado árbol, que se emplea, entre otras cosas, paraconstruir algoritmos ecientes destinados a localizar items en una lista, paraconstruir redes de ordenadores con el mínimo coste, para construir códigosecientes destinados a almacenar y transmitir datos, para analizar algoritmosde ordenación...

Denición 5.9.1 Un árbol es un grafo no dirigido, conexo y sin circuitossimples.

Page 246: Apuntes de Matematicas Discretas(2)

246 CAPÍTULO 5. GRAFOS

Figura 5.29:

Observación 5.9.2 Como un árbol no tiene circuitos simples, tampoco pue-de tener aristas múltiples o lazos, por lo que cualquier árbol es un grafo sim-ple.

Ejemplo 5.9.3 Los grafos de la gura 5.29 son árboles.

Proposición 5.9.4 Sea G = (V, E) un grafo simple. G es un árbol si ysolamente si para cada par de vértices u, v ∈ V existe un único camino simpleuniendo u con v.

Demostración. Si G es un árbol entonces es conexo, por lo que existe uncamino simple uniendo u con v. Si existieran dos caminos simples distintosuniendo u con v digamos C1 = (u0 = u, ..., un = v) y C2 = (v0 = u, ..., vm =v). Como C1 6= C2 existe i ∈ 1, ..., n mínimo tal que ui 6= vi. Pero comoC1 y C2 terminan en v existen j1 > i y j2 > i mínimos tales que uj1 = vj2 .Por tanto se forma un circuito simple

(ui−1, ui, ui+1, ...uj1 = vj2 , vj2−1..., vi−1 = ui−1)

dando una contradicción.

Page 247: Apuntes de Matematicas Discretas(2)

5.9. ÁRBOLES 247

Figura 5.30:

Si para cada par de vértices u y v hay un camino que los une, entonces Ges conexo por denición de conexión. Si G contuviera un circuito simple C,tomando un par de vértices del circuito u y v, existen dos caminos simplesdistintos que los unen, en contradicción con la hipótesis. Esto demuestra laotra implicación.

En muchas aplicaciones de los árboles se suele escoger un vértice particularal que se denomina raíz. Así pues:

Denición 5.9.5 Un árbol con raíz es un par (T, r) donde T es un árboly r un vértice distinguido de T llamado raíz al que se suele colocar en larepresentación gráca en la parte superior, como en la gura 5.30.

Observación 5.9.6 Es importante observar que un árbol puede dar lugar avarios árboles con raíz, dependiendo del vértice al que se distinga del restocomo raíz. La elección de una raíz lleva aparejada la trasformación del árbolconsiderado en un árbol con aristas dirigidas, en el que la dirección de lasaristas incidentes con la raíz es la que parte de la raíz hacia los vérticesunidos a él y a partir de estos sucesivamente hacia el resto de los vértices delárbol.

Page 248: Apuntes de Matematicas Discretas(2)

248 CAPÍTULO 5. GRAFOS

Los árboles con raíz llevan asociada una terminología de origen botánicoy genealógico: dado un árbol con raíz T, si v es un vértice de T distinto dela raíz, el padre de v es el único vértice u de T tal que hay una arista deu a v. Si u es el padre de v, también diremos que v es un hijo de u. Losantecesores de un vértice son los vértices que nos encontramos en el únicocamino que une dicho vértice con la raíz. Los descendientes de un vérticev son todos aquellos vértices de los que v es antecesor.

Denición 5.9.7 Dado un árbol con raíz (G, r) se denominan hojas a losvértices de G distintos de r que tienen grado 1.

Es fácil darse cuenta de que las hojas de un árbol dirigido son los vérticesque no tienen descendientes. A los vértices distintos de la raíz que no sonhojas de un árbol con raíz se les denomina vértices internos.

Denición 5.9.8 Se denomina nivel (o profundidad) de un vértice en unárbol con raíz a la longitud del camino que une la raíz con dicho vértice. Laaltura de un árbol con raíz es el mayor de los niveles de sus vértices (i.e.,la longitud del camino más largo posible entre la raíz y un vértice del árbol).

Denición 5.9.9 Si a es un vértice de un árbol con raíz (T, r), el subárbolde T que tiene a a como raíz es el subgrafo del árbol formado por el vértice a,todos sus descendientes y todas las aristas incidentes con sus descendientes.

Denición 5.9.10 Se dice que un árbol con raíz es m-ario si todos los vér-tices tienen a lo sumo m hijos. Si todos los vértices internos (es decir, todossalvo las hojas) de un árbol m−ario con raíz tienen exactamente m hijos, sedice que el árbol es un árbol m-ario completo. A los árboles 2-arios se lesdenomina árboles binarios.

Ahora estamos en condiciones de establecer la siguiente propiedad:

Proposición 5.9.11 Un árbol con n vértices tiene n-1 aristas.

Demostración. Sea T = (V, E). Elijamos un vértice r como raíz del árbol T .A continuación consideramos la función que asigna a cada arista su vérticenal, considerando la dirección determinada por la elección de la raíz. Evi-dentemente, esta función es una función biyectiva entre E y V − r, y enconsecuencia si |V | = n, necesariamente |E| = n− 1.

Page 249: Apuntes de Matematicas Discretas(2)

5.9. ÁRBOLES 249

Proposición 5.9.12 En un árbol m-ario de altura h hay a lo sumo mh

hojas.

Demostración. Razonamos por inducción completa sobre la altura.Base de inducción: Si T es un árbol cuya altura es 1, entonces T consta

de una raíz y no más de m hijos, cada uno de los cuales es una hoja. Porconsiguiente no hay más que m1 = m hojas en un árbol m−ario de altura 1.

Paso de inducción: Supongamos que el resultado es válido para todoslos árboles m−arios de altura menor que h. Sea T un árbol de altura h.Si borramos las aristas que parten de la raíz hacia la primera generación,construimos una serie de árboles (como máximo m ya que T es m-ario) dealtura estrictamente menor que h. Por hipótesis de inducción cada uno deestos árboles tiene como máximo mh−1 hojas. Como hay como máximo mde estos árboles, el número de hojas de T es menor o igual que

m(mh−1) = mh,

como queríamos demostrar.

Corolario 5.9.13 Si un árbol m-ario de altura h tiene l hojas, entoncesh ≥ logm(l).

Demostración. De la proposición anterior se sigue que l ≤ mh y, en conse-cuencia, que logm(l) ≤ h.

5.9.1 Árboles de búsqueda binariosUno de los problemas en los que se pueden utilizar árboles para encontraruna solución está relacionado con la siguiente pregunta: ¾Cómo deberíande ser almacenados un conjunto de datos para ser fácilmente localizados?Localizar datos es una de las tareas más importantes que se realizan en elámbito de las ciencias de la computación. El primer objetivo es establecer unalgoritmo de búsqueda que encuentre los datos ecientemente cuando éstosestán totalmente ordenados. Esta tarea se puede realizar utilizando un árbolde búsqueda binaria, que es un árbol binario en el que vértice tiene doshijos, uno el derecho y otro el izquierdo, distinguiéndose entre ambos cuál escuál, y en el que cada vértice lleva asociada una etiqueta, que es uno de losdatos.

Page 250: Apuntes de Matematicas Discretas(2)

250 CAPÍTULO 5. GRAFOS

La etiqueta (el dato) asociado a cada vértice es mayor (en el orden con-siderado) que las etiquetas de sus descendientes hacia la izquierda, y menorque las etiquetas de sus descendientes hacia la derecha.

El siguiente procedimiento recursivo se utiliza para formar un árbol debúsqueda binaria para una lista de datos. Se comienza con un árbol quecontiene un único vértice, la raíz. El primer dato en la lista se asocia a dichovértice. Para añadir un nuevo dato, primero comparamos dicho dato con lasetiquetas de los vértices que ya están situados en el árbol, comenzando por laraíz y moviéndonos para realizar la siguiente comparación hacia la izquierdasi el dato es menor que el dato con el que hemos realizado la comparación,y hacia la derecha si es mayor. Cuando el dato es menor que el del vérticecon el que acabamos de compararle, y dicho vértice no tiene hijo izquierdo,entonces añadimos al árbol un nuevo vértice como hijo izquierdo de dichodato. Análogamente, cuando el dato es mayor que el del vértice con el queacabamos de compararle, y dicho vértice no tiene hijo derecho, añadiremosal árbol un nuevo vértice como hijo derecho de dicho dato.

Ejercicio 124 Utilizando el orden alfabético, construir un árbol de búsquedabinaria para las palabras Móstoles, Alcorcón, Vicálvaro, Pozuelo, Majadahon-da, Pinto, Valdemoro, Madrid, Alcobendas, Boadilla del Monte, Las Rozas.

La utilidad de los árboles de búsqueda binaria estriba en su poder delocalización de los datos así estructurados dentro del árbol. Para saber sicierto dato es la etiqueta o no de un vértice de un árbol de búsqueda binaria,intentaremos añadir dicho dato al árbol. Obrando de ese modo localizaremosel dato si forma parte de la lista, o añadiremos un nuevo vértice si el dato noforma parte de la lista.

Ejercicio 125 ¾Cuál es el número máximo de comparaciones que hay querealizar en un árbol de búsqueda binaria de altura h para determinar si undato concreto es la etiqueta de uno de sus vértices? Construir un algoritmoque tenga como entrada un árbol de búsqueda binaria, su raíz, y un dato, yque determine si dicho dato es la etiqueta de uno de los vértices del árbol.Estudiar su complejidad.

5.9.2 Árboles de decisiónLos árboles con raíz también se utilizan para modelizar problemas en los queuna cadena de decisiones conduce a una solución. Un árbol con raíz en el

Page 251: Apuntes de Matematicas Discretas(2)

5.9. ÁRBOLES 251

que cada vértice interno corresponde a una decisión, con un subárbol colgan-do de él por cada una de las posibles alternativas (o salidas diferentes) sedenomina árbol de decisión. Las posibles maneras de resolver el problemacorresponden a los caminos que van desde las hojas hasta la raíz. Veamosun ejemplo de aplicación de los árboles de decisión.

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. ¾Cuál esel menor número de veces que hay que utilizar una balanza para determinar lamoneda que pesa menos? Establecer un algoritmo que nos permita localizardicha moneda.

Solución: Hay tres posibilidades para cada pesada que realizamos conla balanza. Que el peso sea el mismo, que las monedas de la bandeja de laizquierda pesen más o que pesen más las de la bandeja derecha. Por consi-guiente, el árbol de decisión es ternario (3-ario). Hay al menos 8 hojas en elárbol de decisión, puesto que hay 8 posibles salidas, y cada posible salida debeestar representada por al menos una hoja. El número de pesadas necesariopara determinar la moneda que pesa menos es la altura del árbol de decisión.El resultado que recoge el último corolario visto nos permite garantizar quela altura del árbol de decisión es al menos log3(8). De esta manera, al menosdos pesadas son necesarias. Realmente, con dos pesadas podemos determinarla moneda que pesa menos, según 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 demás (un poco más o unpoco menos). ¾Cuál es el menor número de veces que hay que utilizar unabalanza para determinar la moneda que pesa menos? Establecer un algorit-mo (mediante su árbol de decisión asociado) que nos permita localizar dichamoneda.

Como señalábamos en el capítulo 2 podemos hablar de complejidad in-herente a un problema como el orden de complejidad del mejor algoritmoque resuelve el problema. Los árboles de decisión sirven para calcular estacomplejidad.

Proposición 5.9.15 Cualquier algoritmo que resuelva el problema de orde-nación de una lista a1, ..., an tiene complejidad mayor que O(nl(n)).

Page 252: Apuntes de Matematicas Discretas(2)

252 CAPÍTULO 5. GRAFOS

Figura 5.31:

Demostración. Sea el árbol de decisión de cualquier algoritmo que resuelveel problema. Es un árbol m-ario con al menos n! hojas pues cualquier po-sible ordenación de la lista debe ser una hoja de dicho árbol. El número deoperaciones que se realizan, partiendo de la raíz, hasta llegar a una solución,esto es, a una hoja, es la altura h del árbol. Por tanto h ≥ logm(n!). Es unejercicio de Bases de Matemáticas demostrar, para terminar, que:

O(logm(n!)) = O(nl(n)).

Sugerencia: demostrar que n! ≤ nn y que n! ≥ nn/2.

5.9.3 Códigos prejosConsidérese el problema de utilizar cadenas de ceros y unos para codicar lasletras del alfabeto castellano, sin distinguir entre mayúsculas y minúsculasy 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 quesólo hay 27 letras, y hay 25 = 32 cadenas distintas de 0′s y 1′s, podemosemplear cadenas de longitud 5 para codicar todas las letras. El númerototal de de bits utilizados para codicar una cadena de letras es 5 veces elnúmero de letras de la cadena (puesto que cada carácter es codicado con

Page 253: Apuntes de Matematicas Discretas(2)

5.9. ÁRBOLES 253

5 bits). ¾Hay alguna forma de codicar las letras que nos permita utilizarmenos bits cuando un conjunto de datos es codicado? Si esto fuese posible,necesitaríamos menos memoria y reduciríamos el tiempo de transmisión.

Para ver cómo es posible lograr el objetivo del párrafo anterior, supon-gamos ahora que podemos emplear cadenas de diferente longitud para co-dicar letras. Queremos utilizar cadenas de bits cortas para las letras quemás se repiten en las palabras del castellano y cadenas más largas para lasque menos se repiten. En ese caso tenemos que determinar un método quenos permita saber en cuál bit empieza y en cuál bit termina un determinadocarácter. Por ejemplo, si codicamos la a con 0, la p con 1, y la n con 10, lacadena 1010 puede corresponder a las palabras pan o papa.

Para estar seguros de que ninguna cadena de bits corresponde a más deuna secuencia de letras, la cadena de bits de una letra no debe coincidir nuncacon la primera parte de la cadena de bits de otra. Los códigos que tienen estapropiedad se denominan códigos prejos. Por ejemplo, la codicación dela a con 0, la p con 10, y la n con 11 satisface esa propiedad. De este modo, alemplear un código prejo, cualquier palabra puede ser recuperada a partir dela única cadena de bits que codica las letras que la componen. Por ejemplo,utilizando la codicación anterior, la cadena 100110 es la correspondiente ala palabra pana.

Un código prejo puede ser representado utilizando un árbol binario, enel 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 seetiqueta con un 0 y una arista que lleva a un hijo derecho se etiqueta con un1. La cadena de bits de un carácter situado en una hoja es la secuencia delas etiquetas de las aristas que van desde la raíz a dicha hoja.

El árbol que representa un código prejo también puede emplearse paradecodicar una cadena de bits. Por ejemplo, considerar la palabra codicadapor la cadena 10011001100 según el código del árbol de la gura 5.32. Paradecodicarla, comenzamos desde la raíz, utilizando la sucesión de bits paraformar un camino que se detiene cuando se alcanza una hoja. En ese casose decodica la letra correspondiente y se continúa con la cadena restante.Según 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 nosconduce a la letra a. El 110 nos lleva a la t y así sucesivamente.

Hay algoritmos, tales como los códigos de Human, que pueden utilizar-se para construir códigos ecientes teniendo en cuenta la frecuencia de lasocurrencias de las letras en un determinado lenguaje, y que permiten com-

Page 254: Apuntes de Matematicas Discretas(2)

254 CAPÍTULO 5. GRAFOS

Figura 5.32:

primir datos para su almacenaje o transmisión. En la bibliografía aportamostextos donde profundizar sobre el tema [W].

Ejercicio 127 Construir el árbol binario que representa el código prejo aso-ciado al siguiente esquema de código: a : 1010, e : 0, t : 11, s : 1011, n :1001, i : 100001. Codicar según ése código las palabras seta, nata y sensata.

5.9.4 Árboles generadoresDenición 5.9.16 Un subgrafo generador de un grafo simple G es cual-quier subgrafo de G que incluye todos los vértices de G (aunque no necesa-riamente todas sus aristas).

Denición 5.9.17 Un árbol generador (spanning tree) de un grafo simpleG es un subgrafo generador de G que es un árbol.

Observación 5.9.18 Un grafo simple puede tener más de un árbol gene-rador (ver gura 5.33).

Los árboles generadores tienen su aplicación en redes de comunicación.Es claro que si queremos construir una red que conecte un conjunto de nodos,

Page 255: Apuntes de Matematicas Discretas(2)

5.9. ÁRBOLES 255

Figura 5.33:

digamos V , la red debe ser conexa para que cada par de nodos estén conec-tados. De entre los grafos conexos cuyo conjunto de vértices es V , los quetienen el mínimo número 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 vértices es único. Así el deterioro de unacomunicación directa entre dos nodos desconecta seguro nodos entre sí.

La siguiente proposición caracteriza los grafos simples que tienen un árbolgenerador.

Proposición 5.9.19 Un grafo simple G tiene un árbol generador si y sola-mente si G es conexo.

Demostración. Si G tiene un subgrafo T que es un árbol y contiene todossus vértices, entonces para cada par de vértices de G hay un camino en T , ypor tanto en G, que los une. Esto muestra que G es conexo.

Si G es conexo, la manera de construir un árbol generador consiste enlocalizar un circuito en G y quitar una arista. Esta operación preserva laconexión y hace desaparecer un ciclos. Iterando esta operación desaparecerántodos los ciclos.

Page 256: Apuntes de Matematicas Discretas(2)

256 CAPÍTULO 5. GRAFOS

Hemos dado una manera de construir un árbol generador en el caso delos grafos que los tienen. No obstante, la localización de circuitos en un grafono es una tarea sencilla. Por ello es conveniente, en lugar de emplear laestrategia anterior, emplear una estrategia de tipo incremental: partiendode un vértice, ir añadiendo aristas junto con sus extremos sin que al añadiruna nueva arista aparezca un circuito en el nuevo grafo.

La construcción de un árbol generador mediante un tipo de estrategiaincremental puede hacerse básicamente de dos formas distintas:

• Empleando un método de búsqueda en amplitud: consiste en reco-rrer todos los vértices adyacentes a uno dado (elegido al azar) y añadiral árbol en construcción tanto las aristas como los vértices recorridos.Después repetir el proceso recorriendo los vértices adyacentes a los vér-tices adyacentes al primero. Así, repetir el proceso hasta que no quedenvértices por incorporar al árbol.

• Empleando un método de búsqueda en profundidad: consiste enpartir de un vértice y añadir uno de sus vértices adyacentes junto consu arista. A continuación, a partir de este nuevo vértice, añadir otroadyacente a este último junto con su arista. Así sucesivamente has-ta que todos los vértices del grafo original estén incluidos en el árbolgenerador.

Debido a sus aplicaciones, los árboles generadores de los grafos etiqueta-dos tienen un interés particular. Considérese el siguiente problema:

Problema. Una compañía planea construir una red de comunicaciones queconecte sus cinco centros de computación. Cualquier par de estos centrospuede ser unido con un cable telefónico que tiene un coste diferente debido alas características de la conexión y a la topografía del terreno. La preguntaes: ¾cuáles son las conexiones que hay que establecer para garantizar quetodos los centros están conectados y que el coste de construcción de la redes mínimo? Si consideramos el grafo etiquetado en el que la etiqueta (opeso) de cada arista es el coste de establecer la conexión entre los dos centros(vértices) que une, el problema se resuelve encontrando un árbol generadortal que la suma de las etiquetas de las aristas de dicho árbol sea mínima. Adicho árbol se le denomina árbol generador mínimo.

Page 257: Apuntes de Matematicas Discretas(2)

5.9. ÁRBOLES 257

Denición 5.9.20 Un árbol generador mínimo en un grafo etiquetadoconexo es un árbol generador que satisface la propiedad de que la suma delas etiquetas de sus aristas es la más pequeña posible.

Vamos a presentar dos algoritmos para construir árboles generadores mí-nimos. Ambos algoritmos son de tipo incremental pues tratan de crear unárbol generador añadiendo aristas y vértices. La estrategia opuesta consistiríaen, a partir del grafo dado, ir eliminando las aristas de mayor peso teniendocuidado de que dichas aristas no desconecten el grafo resultante. Ambosalgoritmos hacen una elección óptima en cada uno de sus pasos, aunque esimportante señalar que optimizar cada etapa de un algoritmo no garantizaque la solución nal obtenida sea la óptima. En este caso se puede demostrarque ambos algoritmos producen soluciones globales óptimas.

En ambos algoritmos G es un grafo etiquetado conexo.

Algoritmo de Prim.

Entrada: G = (V, E), u ∈ VV (T ) := u, E(T ) := ∅while V (T ) 6= V

Añadir a E(T ) una de las aristas de menor peso incidente con unvértice de V (T ) (y sólo uno) y añadir 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

Añadir a E(T ) la arista de menor peso siempre que no formeun circuito con las aristas de E(T ) y añadir sus extremos a V (T ).

Salida: (V (T ), E(T )).

Es importante observar que, mientras que en el algoritmo de Prim el grafoT = (V (T ), E(T )) es un árbol en todo momento de su construcción, en elde Kruskal sólo podemos asegurar que lo es cuando termina el algoritmo, yaque en cada paso no es necesariamente conexo.

Page 258: Apuntes de Matematicas Discretas(2)

258 CAPÍTULO 5. GRAFOS

Ejercicio 128 Utilizar el algoritmo de Prim y el algoritmo de Kruskal paradiseñar una red de comunicaciones de mínimo coste que conecte todos losordenadores representados en el grafo de la gura 5.28.

5.10 Otros aspectos de la teoría de grafosHay muchos otros conceptos, problemas y herramientas interesante relacio-nados con la teoría de grafos. En esta sección presentaremos someramentedos de ellos: la planaridad y la coloración de grafos.

Denición 5.10.1 Sea G = (V, E) un grafo simple y C = 1, 2, ...m unconjunto de m colores. Una coloración con m colores del grafo G es unafunción f : V → C tal que si u, v ∈ V y u, v ∈ E, entonces f(u) 6= f(v).

La coloración de grafos tiene aplicación, por ejemplo, a la confección dehorarios: supongamos que en una universidad se desea realizar un horario pa-ra las distintas asignaturas optativas. Se debe tener cuidado de que aquéllasque puedan interesar al mismo tipo de alumnos se programen de manera queno coincidan sus horas. Para conocer el mínimo número de horas necesariopara cumplir todos los requisitos podemos construir el siguiente grafo: a cadaasignatura se le asigna un vértice, y dos vértices se unen por una arista siinteresan al mismo tipo de alumnos. El número mínimo de colores necesariospara colorear los vértices del grafo es el número de horas buscado.

De esta manera se puede asignar un número cromático a un grafo, elmínimo número de colores necesarios para su coloración. El siguiente ejerciciocaracteriza los grafos con número cromático 2.

Ejercicio 129 Demostrar que un grafo simple es bipartido si y sólo si admiteuna coloración con dos colores.

Otro concepto interesante es el de grafo plano, que en algunos otrostextos dirán grafo planar.

Denición 5.10.2 Sea G = (V,E) un grafo. Se dice que G es plano siadmite una representación gráca en el plano de modo que las aristas única-mente se cortan en los vértices.

Page 259: Apuntes de Matematicas Discretas(2)

5.11. EJERCICIOS 259

No es difícil comprobar que el grafo completo K4 es plano, aunque tambiénpodemos representar K4 de manera que sus aristas no sólo se corten en losvértices. Se puede demostrar, aunque no es sencillo y se escapa a los objetivosdel curso, la siguiente caracterización de los grafos planos

Teorema 5.10.3 (de Kuratowski) Un grafo es plano si y solo si no contieneningún subgrafo que sea isomorfo a una partición de K5 o de K3,3.

En particular, cualquier grafo que contenga a K5 o a K3,3 como subgrafosno es un grafo plano.

Ejercicio 130 Determinar si son planos los siguientes grafos: Q3, K2,2 yK2,3.

Obsérvese que saber si un grafo es o no plano tiene aplicaciones a laelectrónica 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 número cromático de un grafo planoes menor o igual que 4.

La historia de este teorema es bastante curiosa, pues a lo largo de la his-toria han ido apareciendo demostraciones falsas y contraejemplos incorrectosal teorema. Referimos al lector interesado a la sección 7.8 de [R].

5.11 EjerciciosEjercicio 131. Dibujar un grafo que represente las distintas aulas y depen-dencias (hall, etc...) del edicio en que se imparte clase, poniendo una aristaentre cada par de dependencias que estén 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 incidenciade cada uno de los grafos del ejercicio anterior.

Page 260: Apuntes de Matematicas Discretas(2)

260 CAPÍTULO 5. GRAFOS

Ejercicio 134. Determinar si existe algún grafo simple con 7 vértices cuyosgrados sean 3, 2, 2, 4, 3, 5, 4. Determinar también si existe algún grafo simplecon 5 vértices 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 grafosadmiten un circuito euleriano: Kn, Cn y Wn

Ejercicio 137. Dibujar los digrafos con lazos cuyas matrices de adyacenciason las siguientes:

0 2 2 22 0 1 12 1 0 12 1 1 0

,

1 3 2 03 0 1 22 1 0 10 2 1 0

,

0 1 2 2 10 0 1 1 13 0 0 1 10 0 1 0 10 1 1 1 0

Ejercicio 138. Diseñar un algoritmo cuya entrada sea la matriz de adyacen-cia de un grafo y que permita determinar el número de aristas de un grafo.Estudiar su complejidad.

Ejercicio 139. Diseñar un algoritmo cuya entrada sea la matriz de adya-cencia 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 descritapor un grafo cuya matriz de adyacencias es la siguiente:

0 1 0 0 1 01 0 1 0 0 10 1 0 1 0 00 0 1 0 1 01 0 0 1 0 00 1 0 0 0 0

Sea p = 0.1 la probabilidad de que un cable que une dos ordenadoresadyacentes se dañe.

i) Cuál es la probabilidad de que se estropeen al menos dos cables.

Page 261: Apuntes de Matematicas Discretas(2)

5.12. EJERCICIOS RESUELTOS 261

ii) Cuál es la probabilidad de que un mensaje que parte del ordenadornumerado con un 1 no llegue al ordenador numerado con un 2, teniendo encuenta la información sobre la probabilidad de que se dañe una conexión.

Ejercicio 141. Sea la siguiente matriz la matriz de adyacencias de un grafosimple G = (V, A):

0 1 0 0 0 0 0 01 0 1 1 0 0 0 00 1 0 1 0 0 0 00 1 1 0 0 0 0 00 0 0 0 0 1 0 00 0 0 0 1 0 1 00 0 0 0 0 1 0 10 0 0 0 0 0 1 0

i) Determinar el número de componentes conexas del grafo.ii) Determinar si G es un árbol. Determinar si al añadir la arista 1, 5

el nuevo grafo (V, A ∪ 1, 5) es un árbol.iii) Determinar los grados de todos los vértices de G.iv) Determinar si el grafo (V,A ∪ 1, 5) es Euleriano.

5.12 Ejercicios resueltosEjercicio 108. Las ruedas que se piden se pueden representar como unpolígono cerrado de 3, 4, 5 y 6 lados respectivamente con un vértice adicionalen el interior y radios desde este vértice a cada uno de los vértices del polígono(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 fuerabipartido su conjunto de vértices V se podría escribir como unión disjuntade dos conjuntos no vacíos, digamos V1 y V2. Si fuera bipartido podemossuponer, sin perdida de generalidad, que 1 ∈ V1. Necesariamente los vértices2 y 3, que son adyacentes con 1 deben estar en V2 lo que da una contradicciónya que son adyacentes.

Page 262: Apuntes de Matematicas Discretas(2)

262 CAPÍTULO 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 2puntos y sobre la otra marcar 5 puntos (respectivamente 3 y 4) y representartodos los segmentos que unen una marca de una de las rectas con una marcade la otra (ver K4,4 en la gura 5.41).

Como cada vértice de V1 (|V1| = n) ha de unirse con cada vértice 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 vértices de los grafos y aristas dela gura, que son respectivamente:

G = (a, b, c, d, e, a, b, c, b, c, d, d, e, a, e)

G′ = (a, b, f, a, b, f, b, a, f)De modo que G ∪G′ es el grafo representado:

G ∪G′ = (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 G′ = (V ′, E ′) con |V | = n, |E| = m,|V ′| = n′ y |E ′| = m′. Entonces, el conjunto de vértices de G×G′ es V × V ′

de modo que, por la regla del cardinal del producto cartesiano, el númerode vértices de G × G′ es nn′. Sea (v, v′) un vértice del grafo producto. Pordenición de producto de grafos se verica que: gr((v, v′)) = gr(v) + gr(v′)donde gr(v) es el grado de v en G y gr(v′) es el grado de v′ en G′. De estemodo:

Σ(v,v′)∈V×V ′gr((v, v′)) = n′Σv∈V gr(v) + nΣv∈V ′gr(v′).

Page 263: Apuntes de Matematicas Discretas(2)

5.12. EJERCICIOS RESUELTOS 263

Se concluye aplicando el Teorema 5.1.11.

Ejercicio 114. El cubo Q3 tiene como vértices, digamos V3, las palabrasde 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 vértices el productoV1×V2, esto es, sus vértices son pares de la forma (a1, a2a3) 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, a2a3)) = a1a2a3. Y la relación de adyacenciaen el producto se lee: (a1, a2a3) y (b1, b2b3) son adyacentes si y solamente sio bien a1 = b1 y a2a3 es adyacente con b2b3 en Q2 o bien a2a3 = b2b3 y a1 esadyacente con b1 en Q1. Esto es equivalente a decir que existe un único valori ∈ 1, 2, 3 de modo que ai 6= bi. Lo que garantiza que f es un isomorsmode grafos.

Ejercicio 115. Los grafos K4 y W3 tienen la propiedad de que cualquiervértice está conectado con todos los demás. Tienen el máximo de aristasposibles en un grafo de 4 vértices. Por tanto, son isomorfos.

El grafo K1,3 tiene un vértice conectado con los otros 3 que están desco-nectados 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 puedenver como la unión de dos ciclos C5 que comparten 4 vértices.

Los de la gura 5.15 no son isomorfos, ya que el grafo G tiene exactamentedos subgrafos isomorfos a C4 (uno interior y otro exterior) mientras que elH contiene 3 subgrafos isomorfos a C4 (los dos del grafo G más el rombo ala izquierda).

Ejercicio 117. K4 :

A =

0 1 1 11 0 1 11 1 0 11 1 1 0

C4 :

A =

0 1 0 11 0 1 00 1 0 11 0 1 0

Page 264: Apuntes de Matematicas Discretas(2)

264 CAPÍTULO 5. GRAFOS

W3: La rueda está formada por el ciclo C3 y un vértice conectado contodos los del ciclo. Sea v1 dicho vértice y v2, v3, v4 los del ciclo. Entonces

A =

0 1 1 11 0 1 11 1 0 11 1 1 0

K3,2 : un cierto conjunto de tres vértices (v1, v2 y v3) está conectado contodos los elementos de un conjunto de dos vértices (v4 y v5). Entonces

A =

0 0 0 1 10 0 0 1 10 0 0 1 11 1 1 0 01 1 1 0 0

Ejercicio 118. Establezcamos para el primer grafo la siguiente ordenaciónde vértices: a,b,c,d,e. Entonces

A =

0 1 0 0 11 0 1 0 00 1 0 1 00 0 1 0 11 0 0 1 0

En el segundo grafo, ordenamos los vértices del siguiente modo: a,b,c,d,e,f.Entonces

0 1 0 0 1 11 0 1 0 0 10 1 0 1 0 00 0 1 0 1 00 0 1 0 0 01 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

Page 265: Apuntes de Matematicas Discretas(2)

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 ycolumna que se multiplican, n productos y n − 1 sumas; es decir, un totalde n2(2n − 1) operaciones. En conclusión, elevar la matriz a la potencia jsupone jn2(2n− 1) operaciones.

- una suma de dos matrices n×n, lo que supone n2 sumas (de los elementosde ambas matrices).

- la suma j + 1.En total se realizan 3 + n2 +

∑n−1j=1 jn2(2n− 1) ∈ O(n5).

3) La vericación de si los n2 elementos de la matriz B son o no son cero.Total: n2 operaciones.

El algoritmo tiene por tanto complejidad quíntica.

Ejercicio 120. Una cha de dominó con dos valores (el 3 y el 5, por ejemplo)se puede ver como una arista entre dos vértices (v3 y v5 en el ejemplo).Juntar dicha cha con otra en una jugada de dominó (por ejemplo, con laque tiene un 5 y un 1) equivale a considerar un camino en el grafo (porejemplo v3, v5, v1). Con este esquema, una serie de jugadas de dominó no esmás que un camino en el grafo completo K7. Dicho grafo es conexo, tiene7 vértices y el grado de cada vértice es 6 (excluyendo las chas dobles, queson lazos y no dan ningún problema), un número par. Podemos garantizarentonces 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 vértices del grafo que representaría a los puen-tes, tres tienen grado tres y el otro tiene grado cinco. Por tanto, no puedehaber ni circuitos ni caminos eulerianos.

Ejercicio 122. Si al grafo H le quito los dos vértices de grado 4 que tieney sus aristas incidentes, nos quedan tres componentes conexas. Por tanto, elgrafo no puede ser hamiltoniano.

Ejercicio 123. En el caso de los vértices a y e, tenemos (a partir de loscálculos en los apuntes) que la longitud mínima de a a f es 5 y la de a a d es 6.Por tanto, la longitud mínima de a a g tiene que ser minL(f)+1, L(d)+3 =6.

En el caso de los vértices g y c tenemos que implementar el algoritmo deDijkstra de nuevo.

Page 266: Apuntes de Matematicas Discretas(2)

266 CAPÍTULO 5. GRAFOS

Figura 5.34: Ejercicio 124

Sea T = g. L(f) = L(g) + 3 = 3, L(h) = L(g) + 4 = 4. El mínimo deL ocurre para f . Por tanto,

T = g, f. L(e) = L(f) + 1 = 4, L(i) = L(f) + 2 = 5. El mínimo de Locurre 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 mínimo 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. Elmínimo 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. Elmínimo de L ocurre para d. Por tanto,

T = g, f, e, h, i, b, d. L(c) = L(d) + 5 = 12 > 9. El mínimo de L ocurrepara a y vale 8. El valor de L para el último vértice que es c es 9.

Conclusión. El camino mínimo entre g y c tiene longitud 9 y recorre losvértices g, f, i, b, c.

Ejercicio 124. Ver la gura 5.34.

Ejercicio 125. El número máximo de comparaciones es el número máximode vértices que se pueden recorrer en un camino simple de la raíz 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 unarelación que denotamos por <.

Entrada: El árbol, su raíz y un dato.

Page 267: Apuntes de Matematicas Discretas(2)

5.12. EJERCICIOS RESUELTOS 267

Salida=El dato no es etiqueta de ningún vérticelectura=raízWhile -no llegamos a una hoja- and Salida=El dato no es etiqueta de

ningún vérticeIf lectura<dato then -nos movemos a la rama derecha del nivel

inferior-If lectura>dato then -nos movemos a la rama izquierda del nivel

inferior-If lectura=dato then Salida=el dato es etiqueta de un vértice

SalidaEn 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. Paralocalizar si un dato dado está en el árbol debemos hacer h + 1 lecturas (elcamino más largo que hay en el grafo tiene h + 1 vértices). Por tanto, elnúmero máximo de lecturas es log2(n + 1) ∈ O(log n). En cada lectura,hacemos una comparación. La complejidad es, por tanto, logarítmica, estoes, O(log n).

Ejercicio 126. Tomamos dos monedas y las ponemos en sendos platillos dela 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 unade las que no hemos pesado (ninguna de las cuáles puede ser la buscada). Lasponemos en sendos platillos. Si pesan lo mismo, eso signica que la monedaque estaba en la primera pesada en el platillo izquierdo es la buscada. Sipesan distinto es la que estaba en el platillo derecho la buscada.

Si en la primera pesada las monedas pesaban lo mismo, entonces tomouna de ellas y una de las que no hemos pesado. Si pesan lo mismo, esosignica que la moneda que no he pesado en ninguna de las dos pesadas esla buscada. Si no pesan lo mismo, eso implica que la moneda que he pesadola segunda vez y no la primera vez es la buscada.

En resumen, podemos localizar la moneda en dos pesadas. El árbol dedecisión 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: 10110111010nata: 10011010111010

Page 268: Apuntes de Matematicas Discretas(2)

268 CAPÍTULO 5. GRAFOS

Figura 5.35: Ejercicio 127.

sensata: 10110100110111010111010

Ejercicio 128. Algoritmo de Prim. Partimos de a. V (T ) = a, E(T ) = ∅.Añadimos la arista de a a b y V (T ) = a, b. Añadimos i y V (T ) = a, b, i.Añadimos f y V (T ) = a, b, i, f. Añadimos e y V (T ) = a, b, i, f, e.Añadimos c, g y d y V (T ) = a, b, i, f, e, c, g, d. Añadimos 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 delongitud 3 con cuidado de no formar circuitos: e, d , b, c , f, g. Final-mente, 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 vértices se puede poner como unión disjunta de dos subconjuntos,digamos V1 y V2. Podemos entonces colorear con colores distintos cada unode los subconjuntos Vi (i = 1, 2). Con esta coloración, dado que el grafoes bipartido, no hay nunca dos vértices del mismo color unidos. En sentidoopuesto, si el grafo puede ser coloreado sólo con dos colores, podemos dividirlos vértices del grafo en dos subconjuntos disjuntos: los vértices de un colory los del otro. Los vértices de un color sólo entán enlazados con los del otro.Es decir, el grafo es bipartido.

Page 269: Apuntes de Matematicas Discretas(2)

5.12. EJERCICIOS RESUELTOS 269

Figura 5.36: Ejercicio 128

Ejercicio 130. Los tres grafos son planos como se puede ver en la gura5.37.

Ejercicio 131. Se deja al lector.

Ejercicio 132. Ver guras correspondientes.

Ejercicio 133. Cualquier matriz de adyacencias de K7 tiene el siguienteaspecto:

0 1 1 1 1 1 11 0 1 1 1 1 11 1 0 1 1 1 11 1 1 0 1 1 11 1 1 1 0 1 11 1 1 1 1 0 11 1 1 1 1 1 0

El grado de cada uno de los 7 vértices es 6, por tanto la suma de losgrados es 42, de modo que K7 tiene 21 aristas. Si tomo los vértices numerados1, 2, 3, 4, 5, 6, 7 podemos escribir las aristas como:

1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7,

Page 270: Apuntes de Matematicas Discretas(2)

270 CAPÍTULO 5. GRAFOS

Figura 5.37: Ejercicio 130

Figura 5.38: Una representación de K7

Page 271: Apuntes de Matematicas Discretas(2)

5.12. EJERCICIOS RESUELTOS 271

Figura 5.39: Una representación de W5

Figura 5.40: Una representación de K1,6

Page 272: Apuntes de Matematicas Discretas(2)

272 CAPÍTULO 5. GRAFOS

Figura 5.41: Una representación de K4,4

Figura 5.42: Una representación de Q4

Page 273: Apuntes de Matematicas Discretas(2)

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, 7Por tanto una matriz de incidencias que sigue este orden es:

1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 00 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 00 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 0 00 0 0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 00 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 10 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1

El grafo W5 tiene 6 vértices, digamos 1, 2, 3, 4, 5, 6 y las siguientes aris-tas:

1, 2, 2, 3, 3, 4, 4, 5, 5, 1, 1, 6, 2, 6, 3, 6, 4, 6, 5, 6

Siguiendo este orden de vértices tenemos las siguientes matrices de adyacen-cias e incidencias respectivamente:

0 1 0 0 1 11 0 1 0 0 10 1 0 1 0 10 0 1 0 1 11 0 0 1 0 11 1 1 1 1 0

1 0 0 0 1 1 0 0 0 01 1 0 0 0 0 1 0 0 00 1 1 0 0 0 0 1 0 00 0 0 1 1 0 0 0 1 00 0 0 1 1 0 0 0 0 10 0 0 0 0 1 1 1 1 1

El grafo K1,6 tiene 7 vértices, digamos, 1, 2, 3, 4, 5, 6, 7 y tiene las aristas:

1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7

Page 274: Apuntes de Matematicas Discretas(2)

274 CAPÍTULO 5. GRAFOS

Así ordenados los vértices y las aristas tenemos su matriz de adyacencias ysu matriz de incidencias:

0 1 1 1 1 1 11 0 0 0 0 0 01 0 0 0 0 0 01 0 0 0 0 0 01 0 0 0 0 0 01 0 0 0 0 0 01 0 0 0 0 0 0

1 1 1 1 1 11 0 0 0 0 00 1 0 0 0 00 0 1 0 0 00 0 0 1 0 00 0 0 0 1 00 0 0 0 0 1

El grafo K4,4 tiene 8 vértices que pueden escribirse como 1, 2, 3, 4, 1′, 2′, 3′, 4′y 16 aristas que pueden escribirse como: A × A′ donde A = 1, 2, 3, 4 yA′ = 1′, 2′, 3′, 4′. Si ordenamos los vértices así tenemos la siguiente matrizde adyacencias:

0 0 0 0 1 1 1 10 0 0 0 1 1 1 10 0 0 0 1 1 1 10 0 0 0 1 1 1 11 1 1 1 0 0 0 01 1 1 1 0 0 0 01 1 1 1 0 0 0 01 1 1 1 0 0 0 0

Y si ordenamos las aristas en orden lexicográco su matriz de incidencias

Page 275: Apuntes de Matematicas Discretas(2)

5.12. EJERCICIOS RESUELTOS 275

será:

1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 1 1 1 1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 1 1 1 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 1 1 1 11 0 0 0 1 0 0 0 1 0 0 0 1 0 0 00 1 0 0 0 1 0 0 0 1 0 0 0 1 0 00 0 1 0 0 0 1 0 0 0 1 0 0 0 1 00 0 0 1 0 0 0 1 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, 1111Cada uno de los vértices tiene grado 4 por lo tanto la suma de todos losgrados da 64. Entonces Q4 tiene 32 aristas. La matriz de incidencias ladejamos al lector. La matriz de adyacencias según este orden es:

0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 01 0 0 0 0 1 1 1 0 0 0 0 0 0 0 01 0 0 0 0 1 0 0 1 0 1 0 0 0 0 01 0 0 0 0 0 1 0 0 1 1 0 0 0 0 01 0 0 0 0 0 0 1 1 1 0 0 0 0 0 00 1 1 0 0 0 0 0 0 0 0 1 1 0 0 00 1 0 1 0 0 0 0 0 0 0 1 0 1 0 00 1 0 0 1 0 0 0 0 0 0 0 1 1 0 00 0 1 0 1 0 0 0 0 0 0 0 1 0 1 00 0 0 1 1 0 0 0 0 0 0 0 0 1 1 00 0 1 1 0 0 0 0 0 0 0 1 0 0 1 00 0 0 0 0 1 1 0 0 0 1 0 0 0 0 10 0 0 0 0 1 0 1 1 0 0 0 0 0 0 10 0 0 0 0 0 1 1 0 1 0 0 0 0 0 10 0 0 0 0 0 0 0 1 1 1 0 0 0 0 10 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 losgrados es 23 que es un número impar, en contradicción con el hecho de que la

Page 276: Apuntes de Matematicas Discretas(2)

276 CAPÍTULO 5. GRAFOS

suma de los grados de los vértices es 2 veces el número de aristas. El segundoes 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 vértices y 6 aristas:

(1, 2, 3, 4, 5, 6, 1′, 1, 1′, 2, 1′, 3, 1′, 4, 1′, 5, 1′, 6, 1′).

El grafo W3 = (V ′, E ′) tiene 4 vértices 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 dearistas es vacío. Es decir, de la forma (A, ∅) donde A es un subconjuntocualquiera de V (respectivamente de V ′). Hay 27 y 24 grafos de este tiporespectivamente.

Si tomamos dos vértices, los nuevos grafos no seleccionados en el párrafoanterior se construyen tomando el par de vértices y la arista que los une.Entonces hay tantos como aristas, esto es, 6 en cada caso.

Si tomamos tres vértices y no son de los del primer párrafo entoncespueden tener 1 ó dos aristas. Si tienen 2 aristas, estas necesariamente debentener un extremo en común. Para construir un grafo con 3 vértices y unaarista se toma una arista, sus extremos y otro vértice cualquiera distinto desus extremos. En el primer caso hay 6*5=30 de estos grafos, en el segundo12. Para construir un grafo con dos aristas y 3 vértices, hay que tomar dosaristas que compartan un extremo y sus tres vértices. En el primer caso cadapar de aristas comparten el extremo 1′ por tanto hay

(62

)de estos grafos. En

el segundo caso, como cada vértice tiene grado 3 el número de grafos de estetipo que comparten un vértice jado es 3. De este modo hay 12 grafos deeste tipo.

Si tomamos 4 vértices, en el segundo de los casos estamos tomando todoslos vértices, de modo que como conjunto de aristas se puede tomar cualquiersubconjunto del conjunto de sus aristas. Así hay 26− 1 (el vacío ya lo hemosconsiderado) grafos de este tipo.

Con cuatro vértices en el primero de los casos son del siguiente tipo. Sino contienen al 1′ ya están considerados pues el conjunto de aristas es vacío.

Page 277: Apuntes de Matematicas Discretas(2)

5.12. EJERCICIOS RESUELTOS 277

Si contienen al 1′, entonces podemos tomar una, dos o tres de las aristas quecontienen. Así de este tipo hay 7 ∗ (

63

)grafos de este tipo.

Del mismo modo para 5 vértices. Deben contener al 1′ y se pueden tomar1,2,3 ó 4 de las aristas que tienen. Hay entonces 15 ∗ (

64

).

Con 6 vértices, deben contener al 1′ y hay que tomar de 1 a 5 de lasaristas que contienen, hay (25 − 1) ∗ 6.

Con 7 vértices hay que considerar cualquier subconjunto del conjunto dearistas (salvo el vacío que ya está considerado). Entonces hay 26 − 1 grafosde este tipo.

Ejercicio 136. Según el teorema de Euler un grafo admite un circuitoeuleriano si todos sus vértices están en la misma componente conexa y losgrados de sus vértices son todos números pares. En el caso del grafo completoKn cada vértice tiene grado n− 1 entonces será euleriano si y solamente si nimpar. En el caso del ciclo Cn el grado de cada vértice es 2 por lo que siempreadmite un circuito euleriano. En el caso de Wn hay vértices de grado 3 por loque no admite un circuito euleriano en ningún caso. Nótese que todos estosgrafos son conexos.

Ejercicio 137. Basta escribir tantos puntos como las (o columnas) tengala matriz numerándolos según el lugar de su respectiva la. Entre cada parde puntos i y j se representan tantas aristas (segmentos que unen el puntonumerado con la i con el numerado con la j) como indique la matriz deadyacencias A en su término Aij.

Ejercicio 138. Se considera la matriz como una lista con dos subíndices.Se usa el teorema por el que la suma de los grados de los vértices es 2 vecesel número de aristas. Como el grado de un vértice es el número de vérticesadyacentes con él, entonces el grado del vértice i-ésimo es la suma de loselementos de la la i-ésima de la matriz de adyacencias del grafo.

Entrada: a11, ..., ann

S := 0For i = 1 to n

For j = 1 to nS := S + aij

Salida: S/2.Si el tamaño de la entrada es n, el número de vértices del grafo, la com-

plejidad es cuadrática pues el bucle interior se repite n veces cada vez que i

Page 278: Apuntes de Matematicas Discretas(2)

278 CAPÍTULO 5. GRAFOS

toma un cierto valor.

Ejercicio 139. Primero hay que comprobar que todas las aristas del grafoestán en la misma componente conexa (ver práctica de Maple). Una vezhecho esto vamos computando los grados de cada vértice y viendo si es paro no.

Entrada: a11, ..., ann

S := 2For i = 1 to n while Smod2 = 0

S := 0For j = 1 to n

S := S + aij

If Smod2 = 0 then R :=Es euleriano else R :=No es euleriano.Salida: R.Considerando n el tamaño de la entrada y sin considerar el problema de

la conexión, el algoritmo es de complejidad cuadrática, pues hay dos buclesanidados que se realizan n veces cada uno y en cada repetición efectúan unacantidad constante de operaciones.

Ejercicio 140. i) Se trata de una red con 6 ordenadores (vértices) y 6 cables(aristas). La probabilidad de que se dañe un cable es 0.1. Es entonces unexperimento de Bernoulli con probabilidad de éxito 0.1. La probabilidad deobtener al menos dos éxitos es:

Σ6k=2

(6

k

)(0.1)k(0.9)6−k.

ii) La única manera de que la información no llegue ocurre cuando se dañana 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 probabilidadesrespectivas 0.1 y

Σ4k=1

(4

k

)(0.1)k(0.9)4−k.

El resultado pedido es el producto de ambas probabilidades.

Page 279: Apuntes de Matematicas Discretas(2)

5.12. EJERCICIOS RESUELTOS 279

Ejercicio 141. El grafo G tiene dos componentes conexas, la que forman losvértices 1, 2, 3, 4 (y sus correspondientes aristas) y la que forman los vérticesrestantes (y sus correspondientes aristas). De este modo no es conexo. Nopuede ser un árbol. Si añadimos la arista 1, 5 el nuevo grafo es conexo,pero contiene un ciclo (formado por los vértices 2, 3 y 4) por lo que siguesin ser un árbol. Tomando los vértices en el orden que indica la matriz, lasucesión de sus grados no es otra cosa que la suma de los términos de cadala, 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 añadir la arista 1, 5 el grado de los vértices 1y 5 aumenta en una unidad. Pero, por ejemplo, el grado del vértice 8 siguesiendo impar, por lo que el grafo no puede ser euleriano.

Page 280: Apuntes de Matematicas Discretas(2)

280 CAPÍTULO 5. GRAFOS

Page 281: Apuntes de Matematicas Discretas(2)

Capítulo 6

Relaciones

En este capítulo retomaremos, tras el conocimiento adquirido de la teoríade grafos, el concepto de relación, iniciado en el capítulo tercero. Como yaseñalamos allí y en la asignatura de Bases de Matemáticas, tanto las relacio-nes de equivalencia como las relaciones de orden son muy importantes en eldesarrollo de las matemáticas. La denición de número racional, la ordena-ción usual que se establece en el conjunto de los números naturales (dondecada conjunto tiene mínimo) y en el conjunto de los números reales (dondecada conjunto acotado tiene supremo e ínmo), la aritmética modular... sonconceptos fundamentales en los que está involucrada la noción de relación.También las funciones son un caso especial de relaciones y su estudio se re-vela como fundamental en el Análisis Matemático, en las conexiones de lasmatemáticas con la física... Por otro lado, las relaciones también tienen suaplicación en la informática, por ejemplo en las bases de datos relacionales yen problemas relativos a clasicación.

Se pretende que al nalizar el capítulo el alumno:• Conozca las propiedades de una relación de equivalencia y de una re-

lación de orden y sepa discernir si una relación dada es o no de uno deestos tipos.

• Sepa representar una relación mediante un grafo dirigido y analizarpropiedades de la relación mediante la matriz de adyacencias del digrafoasociado.

• Pueda calcular la clausura (reexiva, simétrica) transitiva de una rela-ción.

281

Page 282: Apuntes de Matematicas Discretas(2)

282 CAPÍTULO 6. RELACIONES

• Sea capaz de extender un orden parcial para convertirlo en un ordentotal que contenga las relaciones del orden parcial.

6.1 Compendio de denicionesAunque son deniciones ya conocidas vamos a recordar, en este primer párra-fo, los conceptos que necesitamos.

Denición 6.1.1 Sean A y B dos conjuntos, una relación entre A y Bes un subconjunto R del producto cartesiano A×B. En el caso particular enque A es igual a B hablaremos de una relación en A.

Se dice que a ∈ A se relaciona con b ∈ B (y se denota aRb) si (a, b) ∈ R.

Denición 6.1.2 Sean A y B conjuntos y R ⊂ A × B una relación entreA y B, se dene dominio de R al conjunto de elementos a ∈ A tales queexiste un elemento b ∈ B y (a, b) ∈ R.

Se dene el rango de R al conjunto de elementos b ∈ B para los queexiste un elemento a ∈ A de modo que (a, b) ∈ R.

Denición 6.1.3 Sea A un conjunto y R ⊂ A× A una relación en A.Se dice que R es reexiva si (a, a) ∈ R para cada a ∈ A.Se dice que R es simétrica si para cada (a, b) ∈ R se tiene que (b, a) ∈ R.Se dice que R es antisimétrica 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.

Denición 6.1.4 Sea A un conjunto y R ⊂ A× A una relación en A.La relación R es una relación de equivalencia si verica las propieda-

des reexiva, simétrica y transitiva.La relación R es una relación de orden si verica las propiedades re-

exiva, antisimétrica y transitiva. Dos elementos a, b ∈ A se dicen compa-rables si o bien (a, b) o bien (b, a) pertenece a R. En el caso particular enque todo par de elementos a, b ∈ A son comparables se dice que R es unarelación de orden total. Si existen elementos a, b ∈ A no comparables,entonces diremos que es una relación de orden parcial.

Page 283: Apuntes de Matematicas Discretas(2)

6.1. COMPENDIO DE DEFINICIONES 283

A un par (A,R) formado por un conjunto y una relación de orden parcialle llamaremos conjunto parcialmente ordenado. Si la relación es deorden total diremos conjunto totalmente ordenado.

Observación 6.1.5 En general usaremos la notación ≤ (o ≥) para las re-laciones de orden y la notación ∼ para las relaciones de equivalencia.

Ejemplos 6.1.6 i) Como ya señalamos en el capítulo tercero, los númerosnaturales admiten una relación de orden total que viene denida por: dadosa, b ∈ N se dice que b ≥ a si o bien b = a o bien existe un número natural ctal que b = a + c.

ii) También vimos que los números enteros admiten una relación de ordentotal que es una extensión natural de la relación denida en los númerosnaturales: a ≤ b si y solamente si b− a ∈ N+ ∪ 0.

iii) Los números reales admiten una relación de orden total denida porla existencia de la semirrecta real positiva R+, (un subconjunto de R con laspropiedades de que para cada a ∈ R no nulo o bien a o bien −a pertenece aR+; si a, b ∈ R+ entonces a+ b ∈ R+, ab ∈ R+ y 0 /∈ R+) de modo que a ≤ bsi y solamente si b− a ∈ R+ ∪ 0.

iv) Sea el conjunto F = r/s : r, s ∈ Z s 6= 0. La relación que se denecomo r/s ∼ u/v si y solamente si rv = su es una relación de equivalenciaen F .

v) En el conjunto de los números enteros hemos denido la relación deequivalencia módulo p: a ≡ b mod p si y solamente si a− b es un múltiplo dep.

vi) Dados dos conjuntos A y B, una función de A en B es una relaciónR ⊂ A × B con las propiedades: el dominio de R es A; para cada elementoa ∈ A existe un único elemento b ∈ B tal que (a, b) ∈ R.

Denición 6.1.7 Sea A un conjunto y ∼ una relación de equivalencia enA. Para cada elemento a ∈ A se dene la clase de equivalencia de a, yse denota por C(a) o por a, como el conjunto de todos aquellos elementos deA que se relacionan con a:

a = b ∈ A : b ∼ a.

Ejercicio 142 Con la notación de la denición anterior demostrar que:i) para cada a ∈ A se tiene que a 6= ∅;

Page 284: Apuntes de Matematicas Discretas(2)

284 CAPÍTULO 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 = ∪a∈Aa.

Esto permite denir el siguiente concepto.

Denición 6.1.8 Sean A un conjunto y ∼ una relación de equivalencia enA. Se dene el conjunto cociente de A por dicha relación de equivalenciacomo el conjunto de las clases de equivalencia:

A/∼ = a : a ∈ A.

Ejemplos 6.1.9 i) Como ya vimos, la relación de congruencia módulo p esuna relación 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 párrafo anteriorpor la relación de equivalencia allí denida es el conjunto Q de los númerosracionales.

Ejercicio 143 Comprobar si son relaciones de orden o de equivalencia lassiguientes relaciones.

Si son de equivalencia establecer el conjunto cociente:i) Sea A5 el conjunto de palabras de 5 letras hechas con el alfabeto español

(29 letras). Sea la relación denida por comenzar por la misma letra, estoes, dados dos elementos a, b ∈ A5, aRb si y solamente si ambas palabrascomienzan 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 relación aRb si y solamente si el signo de a es igualal signo de b.

iv) Sea el conjunto R y la relación aRb si y solamente si a− b ∈ Z.

Vamos a centrarnos, de ahora en adelante, en relaciones denidas enconjuntos nitos. Veremos distintas formas de representarlas mediante tablaso grafos.

Page 285: Apuntes de Matematicas Discretas(2)

6.2. REPRESENTACIÓN DE RELACIONES 285

6.2 Representación de relaciones6.2.1 Mediante tablasUna relación R en un conjunto A es un subconjunto del producto cartesianoA×A. Tomamos entonces dos ejes coordenados donde en cada uno de ellosse están representando los elementos de A. La relación R es entonces unanube de puntos del plano coordenado. Esta nube de puntos permite vericarde forma sencilla algunas de las propiedades de la relación.

La relación es reexiva si y solamente si toda la diagonal

∆ = (a, a) : a ∈ Aestá contenida en la gráca.

La relación es simétrica si la gráca es simétrica con respecto a dichadiagonal.

La relación es antisimétrica si no existen pares de puntos de la grácasimétricos con respecto a la diagonal y fuera de ella.

Ejemplos 6.2.1 i) Sea la relación de orden usual sobre el conjunto N4, esdecir,

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 antisimétrica.ii) Sea en el conjunto N4 la relación 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 simétrica y que no es reexiva.

6.2.2 Mediante grafos dirigidosVamos a ver cómo la relación también puede ser representada por un grafodirigido que llamaremos grafo dirigido asociado a la relación. Estemultidigrafo puede tener lazos (elementos de la forma (a, a)) y puede tener,como máximo, dos aristas conectando dos vértices a y b (las aristas (a, b) y(b, a)).

Page 286: Apuntes de Matematicas Discretas(2)

286 CAPÍTULO 6. RELACIONES

0

1

2

3

4

y

1 2 3 4x

Figura 6.1: Tabla 1

Page 287: Apuntes de Matematicas Discretas(2)

6.2. REPRESENTACIÓN DE RELACIONES 287

0

1

2

3

4

y

1 2 3 4x

Figura 6.2: Tabla 2

Page 288: Apuntes de Matematicas Discretas(2)

288 CAPÍTULO 6. RELACIONES

Denición 6.2.2 Sea A un conjunto nito y R ⊂ A × A una relación enA, llamaremos grafo dirigido asociado a la relación 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 vértice.La propiedad simétrica consiste en que cada par de vértices adyacentes

presentan dos aristas (una en cada sentido) que los conectan.La propiedad antisimétrica consiste en que cada par de vértices adyacentes

distintos sólo presentan una arista que los conecta.La propiedad transitiva consiste en que cada dos vértices unidos por un

camino dirigido de longitud dos son necesariamente adyacentes.

En el ejemplo i) se ve que es reexiva (un lazo sobre cada vértice) y antisi-métrica (no hay dos vértices conectados por dos aristas).

En el ejemplo ii) se ve que es simétrica (dos aristas entre cada par devértices conectados) y no es reexiva (por ejemplo el vértice 2 no es adyacentecon él mismo).

Ejercicio 144 Sean los siguientes conjuntos y relaciones denidas sobre e-llos. Representarlas mediante tablas y grafos dirigidos y vericar qué propie-dades satisfacen.

i) Sea el conjunto N5 y la relación R denida como aRb si y solamentesi a + b es un múltiplo de 7.

ii) Sea el conjunto N10 y la relación de divisibilidad, es decir, aRb si ysolamente si a divide a b.

iii) Sea el conjunto A = ∅,N1,N2,N3,N4,N5 y la relación en A dadapor 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).

Page 289: Apuntes de Matematicas Discretas(2)

6.2. REPRESENTACIÓN DE RELACIONES 289

6.2.3 Mediante matricesPodemos representar las relaciones usando las matrices de adyacencias aso-ciadas a los grafos dirigidos que las representan.

Denición 6.2.4 Dada una relación R en un conjunto A se dene una ma-triz asociada a la relación M como una matriz de adyacencias del grafodirigido asociado a la relación.

Ejemplo 6.2.5 Sea en el conjunto N5 la relación de orden ≤ habitual. Lamatriz de adyacencias del grafo dirigido, eligiendo el orden en los vérticesdado por 1, 2, 3, 4, 5 es una matriz triangular con la parte superior formadapor unos y la parte inferior por ceros:

1 1 1 1 10 1 1 1 10 0 1 1 10 0 0 1 10 0 0 0 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 dirigidotiene un uno en la entrada (i, j) (mij = 1) si y solamente si (vi, vj) ∈ R, encaso contrario tiene un 0.

De este modo, una relación R sobre un conjunto A es reexiva si y sola-mente si la diagonal de la matriz asociada M está formada por unos, esto esmii = 1 para cada i = 1, ..., |A|.

La relación es simétrica si y solamente si la matriz es simétrica, porqueentonces la equivalencia (vi, vj) ∈ R si y solamente si (vj, vi) ∈ R se puedereescribir como mij = 1 si y solamente si mji = 1.

La relación es antisimétrica si para cada i 6= j tales que mij = 1 se tieneque mji = 0.

Si la relación es transitiva se verica el siguiente teorema:

Page 290: Apuntes de Matematicas Discretas(2)

290 CAPÍTULO 6. RELACIONES

Teorema 6.2.6 Sea A un conjunto nito, R una relación en A y M unamatriz de adyacencias del grafo dirigido asociado a la relación. Llamemosmij a las entradas de M y m

(2)ij (el dos es un superíndice, no un cuadrado)

a las entradas de M2. Entonces R es transitiva si y solamente si m(2)ij 6= 0

implica mij 6= 0.

Demostración. Comprobemos primero que si m(2)ij 6= 0 implica mij 6= 0

entonces R es transitiva. Para que R sea transitiva debe vericar que cadavez que (vi, vj), (vj, vk) ∈ R necesariamente (vi, vk) ∈ R.

Si i = j o j = k no hay nada que comprobar. En caso contrario, existeun camino de longitud dos entre vi y vk por lo que m

(2)ik 6= 0. Por hipótesis

se tiene mik 6= 0, con lo que (vi, vk) ∈ R, como queríamos demostrar.Por otro lado (la implicación en el otro sentido) si R es transitiva y

m(2)ij 6= 0 entonces existe un camino de longitud 2 entre vi y vj. Por tanto

existirá un vértice vk de modo que (vi, vk) ∈ R y (vk, vj) ∈ R. Por latransitividad de R se tiene que (vi, vj) ∈ R, es decir mij 6= 0, como queríamosdemostrar.

Esto quiere decir que para comprobar la transitividad de una relaciónbasta ver que M2 no tiene entradas no nulas nuevas con respecto a M .

Ejemplo 6.2.7 Sea el conjunto A = a, b, c, d y la relación

R = (a, a), (b, b), (a, b), (b, a).La relación es transitiva porque M2 = 2M .

Ejercicio 146 Comprobar si las relaciones del ejercicio 144 son transitivasmediante esta caracterización de la transitividad.

6.3 Clausuras reexiva, simétrica y transitivade una relación

En esta sección presentaremos algoritmos para resolver el problema siguiente:

Problema: dada una relación R en un conjunto A, encontrar la mínimarelación conteniendo a R (en el sentido del subconjunto más pequeño de

Page 291: Apuntes de Matematicas Discretas(2)

6.3. CLAUSURAS 291

A × A) que verica una cierta propiedad, como, por ejemplo, la propiedadreexiva (o la simétrica o la transitiva).

Es un problema que presenta distintas aplicaciones, sobre todo la clausuratransitiva, por ejemplo en el campo de las comunicaciones.

Ejemplo 6.3.1 Tenemos una red de ordenadores numerados del 1 al 5 ytenemos cables de comunicación del 1 al 2, del 2 al 3, del 1 al 4 y del 2 al5. Aunque el 1 y el 3 no están directamente comunicados entre sí, se puedencomunicar a partir del 2. Nos interesaría conocer los ordenadores que estánconectados entre sí.

De la teoría de grafos podemos extraer una solución sin más que pregun-tarnos por las componentes conexas del grafo cuyos vértices son los ordena-dores y sus aristas las comunicaciones directas.

En el contexto de las relaciones podemos denir una relación en N5 demodo que (a, b) ∈ R si y solamente si el ordenador con número a está conec-tado directamente con el que tiene número b (o a = b o hay un cable directoentre a y b). Esta relación es claramente reexiva y simétrica por denición.El problema de encontrar todas las parejas de ordenadores conectados (di-recta o indirectamente), es equivalente al cómputo de la clausura transitiva,es decir, el mínimo conjunto de parejas C conteniendo a R que hace que Csea transitiva.

Denición 6.3.2 Sean A un conjunto nito y R ⊂ A×A una relación en A.Se dene la clausura transitiva (resp. simétrica, resp. reexiva) al mínimoconjunto Ct ⊂ A × A (resp. Cs, resp. Cr) tal que R ⊂ Ct (resp. R ⊂ Cs,resp. R ⊂ Cr) y la relación que dene Ct es transitiva (resp. simétrica, resp.reexiva).

El cómputo de la clausura reexiva es simple. Se trata de unir a R elconjunto ∆ = (a, a) : a ∈ A. Es decir,

Cr = R ∪∆.

La matriz del grafo asociado a Cr es simplemente cambiar los ceros de ladiagonal de la matriz M de R por unos.

Page 292: Apuntes de Matematicas Discretas(2)

292 CAPÍTULO 6. RELACIONES

Ejemplo 6.3.3 Sean el conjunto N10 y sobre él la relación de menor estricto<. Esta relación no es reexiva porque no se verica a < a. Se verica quela clausura reexiva de la relación < es la relación ≤.Ejercicio 147 Dadas las relaciones del ejercicio 144 que no son reexivascomputar su clausura reexiva.

La clausura simétrica de una relación se computa uniendo a R el conjuntoS = (b, a) : (a, b) ∈ R, es decir:

Cs = R ∪ S.

La matriz del grafo asociado a Cs se obtiene tomando la matriz del grafoasociado a R, digamos M , sumando esta matriz con su traspuesta M t, estoes N = M +M t y construyendo una matriz que tenga un uno donde N tieneun elemento no nulo y un cero donde N tiene un cero.

Ejemplo 6.3.4 Sean el conjunto N10 y sobre él la relación de orden ≤. Laclausura simétrica de dicha relación es Cs = N10 × N10. En efecto, pordenición Cs ⊂ N10 × N10. Para demostrar el otro contenido, sea cualquierelemento (a, b) ∈ N10 × N10. Si a ≤ b entonces (a, b) ∈ R ⊂ Cs, en casocontrario b < a y por tanto (b, a) ∈ R lo que signica (a, b) ∈ S ⊂ Cs, lo queconcluye la demostración.

Ejercicio 148 Dadas las relaciones del ejercicio 144 que no son simétricascomputar su clausura simétrica.

Abordamos nalmente el cómputo de la clausura transitiva.

Lema 6.3.5 Sean A un conjunto, R una relación sobre A y G el grafo diri-gido asociado a la relación. Sean a y b dos elementos de A tales que existeun camino (a, v1), (v1, v2), ...(vm−1, b) en G uniendo a con b. Entonces (a, b)pertenece a la clausura transitiva, Ct, de R.

Demostración. Lo demostramos por inducción 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 hipótesis de inducción, (a, vm) ∈ Ct

y por tanto, como (vm, b) ∈ R, se tiene que (a, b) ∈ Ct.

Según este lema, la clasusura transitiva debe contener todos los pares(a, b) de vértices tales que existe un camino uniendo a con b.

Page 293: Apuntes de Matematicas Discretas(2)

6.3. CLAUSURAS 293

Lema 6.3.6 Sean A un conjunto y R una relación en A de modo que elgrafo dirigido G asociado a la relación verica que si dos vértices a y b estánunidos por un camino entonces (a, b) ∈ R. En estas condiciones la relaciónR es transitiva.

Demostración. Si tenemos que (a, b), (b, c) ∈ R entonces a y c están unidospor un camino de longitud 2 y por tanto (a, c) ∈ R.

Los dos lemas previos muestran que la clausura transitiva de una relaciónR en un conjunto A es entonces:

Ct = T,

donde T es el conjunto de pares (a, b) de modo que existe un camino en elgrafo asociado G uniendo a con b.

Recordamos ahora una observación que ya comentamos en el capítuloanterior (observación 5.6.12), consecuencia directa del Principio del Palomar:

Observación 6.3.7 Sean G = (V, E) un grafo dirigido y a, b dos vérticesde G. Si existe un camino uniendo a con b entonces existe un camino delongitud menor o igual que |V | uniendo a con b. Más aún, si a 6= b y existeun camino uniendo a con b, se puede encontrar un camino de longitud menoro igual que |V | − 1.

Esta observación permite construir un algoritmo para calcular la clausuratransitiva.

Algoritmo para calcular la clausura transitivaSea A un conjunto, R una relación 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 unaentrada no nula y con un 0 donde M tiene un cero.

Observemos que la complejidad de este algoritmo es cuártica. El productode dos matrices n× n necesita 2n3 operaciones. En efecto al multiplicar una

Page 294: Apuntes de Matematicas Discretas(2)

294 CAPÍTULO 6. RELACIONES

la por una columna se realizan n productos y n−1 sumas (2n−1 operaciones)y esto se hace n2 veces. En nuestro algoritmo se efectúan n − 1 potenciasde M . Suponemos que nuestro sistema de cálculo con matrices hace laspotencias como producto de dos matrices (la potencia anterior multiplicadapor M). Así tenemos 2n3(n−1) operaciones. La última línea de pseudocódigode nuestro algoritmo llama a un algoritmo que recorre n listas de longitudn, cambiando cada valor por uno si es no nulo y por cero si es nulo. Estealgoritmo tiene complejidad cuadrática. Podemos entonces concluir que elalgoritmo es de orden O(n4).

Ejercicio 149 Dadas las relaciones del ejercicio 144 que no son transitivascomputar su clausura transitiva.

Ejercicio 150 Entendiendo una matriz como una lista de números con dossubíndices (el primero la la y el segundo la columna):

i) escribir un algoritmo que multiplica matrices de tamaño n× n;ii) escribir un algoritmo que tome una matriz M de tamaño n × n y

construya una matriz N que tenga las entradas vericando nij = 1 si mij 6= 0y nij = 0 en caso contrario.

Terminamos esta sección presentando otro algoritmo para computar laclausura transitiva de una relación conocido como Algoritmo de Warshallque tiene complejidad cúbica.

Algoritmo de Warshall para el cómputo de la clausura transitivaSea como siempre A un conjunto nito (|A| = n), R una relación en

A, G = (A,R) el grafo dirigido asociado a R y M una de sus matricesde adyacencias. Nuestro objetivo es calcular la matriz asociada a Ct, quesabemos cómo es por el algoritmo anterior. Recordamos que M se obtienemediante una ordenación de los vértices de G, es decir A = v1, ..., vn.

Denición 6.3.8 Sea un camino (x0, x1), (x1, x2), ..., (xn−1, xn) en un grafodirigido G. A los vértices x1, ..., xn−1 se les llama vértices interiores delcamino.

Con esta denición 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 ordenación de A.

Page 295: Apuntes de Matematicas Discretas(2)

6.3. CLAUSURAS 295

Llamamos w(k)ij a las correspondientes entradas de Wk. La denición de

Wk es como sigue: w(k)ij = 1 si existe un camino uniendo vi con vj de modo que

el conjunto de sus vértices interiores esté contenido en el conjunto v1, ..., vk.En el caso k = 0 se interpreta como w

(0)ij = 1 si existe un camino sin

vértices interiores uniendo vi con vj, por tanto W0 = M .En el caso k = n tenemos que w

(n)ij = 1 si existe un camino uniendo vi

con vj (porque el conjunto de posibles vértices interiores es A). Por tanto setiene que Wn es la matriz de adyacencias buscada.

Ejemplo 6.3.9 Sea la relación 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 vértices 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 respectivosvértices cuyo único posible vértice interior es a. Entonces:

W1 =

1 1 0 0 0 00 0 0 0 0 00 0 1 1 0 10 0 0 0 0 00 0 0 0 0 01 1 0 0 1 1

Para analizar la complejidad del algoritmo debemos aportar algun métodopara construir las matrices Wk. La siguiente observación obvia es la quepermite construir Wk a partir de la matriz anterior Wk−1.

Observación 6.3.10 Los caminos sin vértices interiores repetidos uniendolos vértices vi y vj cuyos vértices interiores pertenecen al conjunto v1, ..., vkson de dos tipos:

o bien caminos cuyos vértices interiores son del conjunto v1, ...vk−1;o bien caminos que tienen a vk como vértice interior, es decir, que se

pueden ver como la concatenación de un camino C1 de vi a vk y un caminoC2 de vk a vj, donde los vértices interiores de C1 y C2 pertenecen al conjuntov1, ..., vk−1.

Page 296: Apuntes de Matematicas Discretas(2)

296 CAPÍTULO 6. RELACIONES

Por tanto se tiene que

w(ijk) = 1 ⇔ (w

(k−1)ij = 1) ∨ (w

(k−1)ik = 1 = w

(k−1)kj ).

Esto nos permite calcular la complejidad del algoritmo. Para construirWk a partir de Wk−1 hay que construir sus n2 entradas. Para cada entrada,usando la observación anterior, hay que hacer (como máximo) 3 compara-ciones y una asignación. Por tanto cada construcción de Wk es un algoritmode complejidad cuadrática (4n2). Como hay que hacer n construcciones deeste tipo, el algoritmo de Warshall tiene complejidad cúbica, es decir, delorden O(n3).

Ejercicio 151 Dadas las relaciones del ejercicio 144 que no son transitivascomputar su clausura transitiva mediante el Algoritmo de Warshall.

6.4 Conjuntos parcialmente ordenadosComo señalamos en párrafos anteriores, un conjunto parcialmente ordenadoes un par (A,≤) formado por un conjunto A y una relación de orden parcial≤. Sea G el grafo dirigido asociado a la relación ≤. Como dicha relación ≤es, por denición, reexiva, antisimétrica y transitiva, se puede simplicarun poco la representación de G. Es lo que se llama diagrama de Hasse deun conjunto parcialmente ordenado (de un poset usando las siglas inglesasde partially ordered set). Si la relación de orden es total la construcción deldiagrama de Hasse tiene también sentido (aunque saldrá siempre una rectavertical).

6.4.1 Diagramas de HasseEn las condiciones del párrafo anterior partimos de G.

Como sabemos que la relación ≤ es reexiva podemos borrar todos loslazos, ya que necesariamente a ≤ a para cada a ∈ A.

Como sabemos que la relación ≤ es transitiva podemos borrar las aristasque son consecuencia de esta propiedad. Por ejemplo, si a ≤ b y b ≤ cnecesariamente a ≤ c, entonces los pares (a, b), (b, c) y (a, c) son aristas delgrafo y podemos borrar la arista (a, c).

Finalmente, en lugar de dirigir las aristas del grafo, elegimos una disposi-ción vertical de manera que si un elemento a está debajo de otro b y ambos

Page 297: Apuntes de Matematicas Discretas(2)

6.4. CONJUNTOS PARCIALMENTE ORDENADOS 297

Figura 6.3: Diagrama de Hasse

están unidos por un camino ascendente en el grafo simple nal entoncesa ≤ b.

Ejemplos 6.4.1 i) Sea A = 1, 2, 3, 4 y el orden ≤ habitual. Partimos delgrafo de la relación. Borramos los lazos y las aristas que son consecuencia dela propiedad transitiva, que son (1, 3), (1, 4) y (2, 4). Por tanto el diagramade Hasse es una recta vertical y está dibujado en la Figura 6.3.

ii) Sea el conjunto B = a, b y denimos la relación ⊆ en el conjunto delas partes de B, denotado P (B). Se puede comprobar que es una relación deorden parcial. El diagrama de Hasse asociado a la relación queda dibujadoen la Figura 6.4.

Ejercicio 152 Dado el conjunto A = a, b, c, d, e y la relación

R = (a, a), (a, c), (c, e), (c, d), (b, d)

Dibujar el diagrama de Hasse de la relación de orden que viene denida porla clausura reexiva y transitiva de R.

Page 298: Apuntes de Matematicas Discretas(2)

298 CAPÍTULO 6. RELACIONES

Figura 6.4: Diagrama de Hasse

6.4.2 Elementos característicos de un conjunto parcial-mente ordenado

Veamos algunos elementos interesantes en conjuntos parcialmente ordenados.Sea entonces (A,≤) un conjunto parcialmente ordenado.Denición 6.4.2 Un elemento M ∈ A se dice maximal si no existe b ∈ Ab 6= M de modo que M ≤ b.

Un elemento m ∈ A se dice minimal si no existe b ∈ A b 6= m de modoque b ≤ m.

En los diagramas de Hasse los elementos maximales son aquellos queson extremo superior de un camino ascendente que no se puede prolongar;recíprocamente los elementos minimales son extremos inferiores de caminosdescendentes 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 vacío es un elemento minimal y el conjuntoB es un elemento maximal.Observación 6.4.4 El conjunto de los elementos maximales (resp. mini-males) no es necesariamente unitario, como se puede ver en el siguienteejemplo.

Page 299: Apuntes de Matematicas Discretas(2)

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,≤) cuyodiagrama de Hasse es el de la Figura 6.5 tiene dos elementos maximales, 3y 5, y dos minimales, 1 y 4.

Denición 6.4.6 Un elemento M ∈ A es un máximo si a ≤ M para cadaa ∈ A.

Un elemento m ∈ A es un mínimo si m ≤ a para cada a ∈ A.

Ejemplo 6.4.7 En el ejemplo i) 1 es un mínimo y 4 es un máximo.En el ejemplo ii) el conjunto vacío es un mínimo (ya que el vacío es

un subconjunto de cada conjunto) y el total B es un máximo (ya que cadasubconjunto de B está, por denición, contenido en B).

En el diagrama de Hasse el máximo esta caracterizado por ser el extremosuperior de cada camino ascendente y recíprocamente el mínimo es el extremoinferior de cada camino descendente.

Observación 6.4.8 El máximo y el mínimo no necesariamente existen. Siun conjunto parcialmente ordenado tiene máximo (resp. mínimo) entonceses el único elemento maximal (resp. minimal).

Page 300: Apuntes de Matematicas Discretas(2)

300 CAPÍTULO 6. RELACIONES

Ejemplo 6.4.9 El ejemplo del párrafo anterior representado en la Figura6.5, con dos elementos maximales y dos minimales, no tiene máximo ni mí-nimo. Por ejemplo, 1 no es un mínimo porque no se verica que 1 ≤ 4, dehecho 1 y 4 no son comparables.

Denición 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 infe-

riores de B se le llama ínmo de B.

Ejercicio 153 Sea el conjunto A = a, b, c, d, e, f y la relación de ordendada 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 máximo y el mínimosi existen.

Tomando B = a, b, c, d ⊂ A calcular el conjunto de cotas superiores deB, el de cotas inferiores, y el supremo y el ínmo, si existen.

En la asignatura de Bases de Matemáticas hemos visto consecuencias fun-damentales para el análisis de una variable real de la estructura de conjuntototalmente ordenado de (R,≤). También, en el capítulo 3, hemos usado laspropiedades de ordenación en el conjunto de los números enteros (Z,≤) parael teorema de la división entera. Ambos conjuntos son totalmente ordenadosy no nitos. En la siguiente sección vamos a presentar algunas aplicacionesde los conjuntos nitos totalmente ordenados y un algoritmo para, dado unconjunto parcialmente ordenado, construir una relación de orden total quecontenga la relación de orden parcial.

6.4.3 Inmersión de un orden parcial en un orden totalSupongamos que tenemos un conjunto de tareas que realizar de modo que hayuna serie de prioridades, estableciéndose una relación de orden parcial sobreel conjunto de tareas. Por ejemplo un conjunto de asignaturas (que no puedencursarse simultáneamente) que aprobar para conseguir una licenciatura con

Page 301: Apuntes de Matematicas Discretas(2)

6.4. CONJUNTOS PARCIALMENTE ORDENADOS 301

una serie de asignaturas que han de cursarse después de aprobarse unasasignaturas previas. Nos interesará establecer un orden total para realizarselas tareas, por ejemplo, una manera de cursar las asignaturas sabiendo enqué orden han de realizarse. Veamos un ejemplo muy simple:

Ejemplo 6.4.11 Sea un conjunto de tres asignaturas Matemáticas I, Mate-máticas II y Física para realizar en 3 años. Se tiene que cursar primeroMatemáticas I y luego Matemáticas II. Nada se dice sobre cuando cursar laFísica. Formalmente tenemos un conjunto (usando las siglas)

C = MI,MII, F

con una relación de orden parcial

MI ≤ MI,MI ≤ MII, MII ≤ MII, 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:

MI ≤ MII ≤ F MI ≤ F ≤ MII F ≤ MI ≤ MII.

Esto es, de las posibles 6 permutaciones del conjunto de las tres asignaturas,elegimos una de las tres en que MI precede a MII.

Por tanto abordamos este problema general, que se puede aplicar a laplanicación de tareas:

Problema. Dado un conjunto parcialmente ordenado (A,R) encontrar unarelación de orden total T de modo que R ⊂ T .

Como se ha visto en el ejemplo la relación T no es única. La aplicacióna la planicación de tareas consiste en diseñar una forma de realizar todaslas tareas teniendo en cuenta las prioridades que se conozcan, esto es, tareasque deben preceder necesariamente a otras.

Lema 6.4.12 Cada conjunto nito parcialmente ordenado (A,R) tiene unelemento minimal.

Page 302: Apuntes de Matematicas Discretas(2)

302 CAPÍTULO 6. RELACIONES

Demostración. Sea un elemento x1 ∈ A. Si x1 es minimal el lema quedademostrado, en caso contrario existe x2 ≤ x1 con x2 6= x1. Si x2 es minimalqueda demostrado el lema, si no existe x3 ≤ x2 y x3 6= x2. Como el conjuntoes nito necesariamente este proceso debe terminar aportando un elementominimal.

Este lema permite construir un algoritmo para la construcción del ordentotal T ⊇ R.

Partimos de A y elegimos un elemento minimal a1, que existe por el lema,aunque no es necesariamente único (elección de una tarea para realizarlala primera de entre las tareas más 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 ellema anterior necesariamente existe) y así sucesivamente hasta agotar loselementos 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 relación de ordenparcial 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 necesariamentex1 = 1. Después en el conjunto A−1 tenemos la relación 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 el2 ó el 4. Tomemos x2 = 2. En el conjunto A − 1, 2 tenemos un ordeninducido:

R1 = (3, 3), (4, 4), (5, 5), (4, 5).Tomamos x3 = 3 (también podíamos elegir el 4). Continuando el procesox4 = 4 y x5 = 5. Por tanto el orden total es:

1 ≤ 2 ≤ 3 ≤ 4 ≤ 5.

Obsérvese que podríamos haber elegido de otra manera los xi para obtenerun orden total distinto, también compatible con el orden parcial con el quecomenzamos.

Page 303: Apuntes de Matematicas Discretas(2)

6.5. EJERCICIOS 303

Ejercicio 154 Se tiene que montar una cadena de montaje de una piezasegún 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.Diseñar un posible planicación de las tareas.

6.5 EjerciciosEjercicio 155. Estudiar si las siguientes relaciones son relaciones de ordeno de equivalencia:

i) Sea el conjunto N7 y la relación aRb si a + b < 9.ii) Sea el conjunto R de las rectas del plano y la relación de paralelismo,

esto es, rRr′ si r y r′ son paralelas.iii) Sea el conjunto A = a, b, c, d, 1, 2, 3. En él denimos una relación

por la cual dados m, n ∈ A mRn si o bien m y n son ambos números o bienm y n son ambos letras.

iv) Sea el conjunto B = 1, 2, 3, 4, 7, 8, 90. En él denimos la siguienterelación S, aSb si 3a > b.

Ejercicio 156. Representar mediante digrafos y sus matrices las relacionesdel ejercicio anterior denidas sobre conjuntos nitos.

Ejercicio 157. En las relaciones del ejercicio 155 denidas sobre conjuntosnitos que no sean reexivas (respectivamente simétricas, respectivamentetransitivas) calcular su clausura reexiva (respectivamente simétrica, respec-tivamente transitiva).

Ejercicio 158. Tomar la clausura reexiva y transitiva de la relación denidaen el conjunto

1, 2, 3, 4, 5, 6como:

R = (1, 2), (1, 4), (3, 6), (5, 4).Vericar que es una relación de orden. Representar su diagrama de Has-se. Calcular elementos maximales, minimales y máximos y mínimos si loshubiera.

Page 304: Apuntes de Matematicas Discretas(2)

304 CAPÍTULO 6. RELACIONES

Ejercicio 159. Describir el conjunto cociente de 155. ii).

Ejercicio 160. Sea el conjunto A = α, β, γ, ω. Tomamos la siguienterelación en él:

R = (α, α), (α, β), (α, γ), (γ, ω).Construir la clausura reexiva y transitiva de R y vericar que es una relaciónde orden. Representar su diagrama de Hasse y construir una relación de ordentotal que contenga a R.

6.6 Ejercicios resueltosEjercicio 142.

i) Como R es una relación de equivalencia entonces es reexiva, de modoque 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 ybRc lo que garantiza por la propiedad simétrica y por la propiedad transitivaque aRb y por ii) que a = b lo que da una contradicción.

iv) Sea c ∈ A entonces c ∈ c por lo que se tiene la igualdad requerida.

Ejercicio 143.i) Es una relación de equivalencia. En efecto, es reexiva porque toda

palabra p empieza por la misma letra que la propia palabra p. Es simétricaporque si pRq entonces la primera letra de la palabra p es igual que la primeraletra de la palabra q, por tanto qRp, pues sus primeras letras son iguales. Deigual modo si la primera letra de la palabra p es igual que la primera letrade la palabra q y la primera letra de la palabra q es igual que la primeraletra de la palabra r, entonces la primera letra de la palabra p es igual quela primera letra de la palabra r, por lo que se tiene la propiedad transitiva.No es una relación de orden porque hay palabras distintas como alto y albaque verican altoRalba y albaRalto, luego no es antisimétrica.

El conjunto cociente es el conjunto de letras pues se puede identicarcada clase de equivalencia con la inicial de cualquiera de las palabras que laforman.

ii) Es reexiva pues (a, a), (b, b), (c, c), (d, d) ⊂ R. No es simétrica pues(a, b) ∈ R pero (b, a) /∈ R. Es antisimétrica pues nunca se tienen m 6= l tal

Page 305: Apuntes de Matematicas Discretas(2)

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 relación deorden (parcial) pero no de equivalencia. Su diagrama de Hasse está en laFigura 6.6.

iii) Como todo número entero no nulo n tiene el mismo signo que n setiene la propiedad reexiva. Si a, b enteros no nulos verican que signo(a) =signo(b) entonces signo(b) = signo(a) con lo que la relación es simétrica.También 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 relación de equi/-valencia y no es de orden porque no es antisimétrica (hay números distintoscon el mismo signo).

El conjunto cociente tiene dos elementos, digamos signo+ y signo−, queson, respectivamente, la clase de equivalencia de los positivos y la de losnegativos.

iv) Es reexiva pues para cada número real a se tiene que a−a = 0 ∈ Z. Essimétrica ya que si a−b ∈ Z entonces b−a ∈ Z. Es transitiva pues si a−b ∈ Zy b− c ∈ Z entonces la suma es un número entero: a− b + b− c = a− c ∈ Z.Por tanto es una relación de equivalencia que no es de orden.

Se tiene que a = a + k : k ∈ Z.

Page 306: Apuntes de Matematicas Discretas(2)

306 CAPÍTULO 6. RELACIONES

Se puede tomar en cada clase de equivalencia un representante entre 0y uno (podíamos decir, su parte decimal) por lo que el conjunto cociente sepuede identicar con el intervalo [0, 1).

Ejercicio 144.i) N5 = 1, 2, 3, 4, 5. La relación 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 planocoordenado.

El digrafo asociado es:

(N5, (2, 5), (5, 2), (3, 4), (4, 3)).

ii) En este conjunto la relación 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 relación 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 subíndices (el 0 para el conjuntovacío). El digrafo asociado es:

(A,R).

Page 307: Apuntes de Matematicas Discretas(2)

6.6. EJERCICIOS RESUELTOS 307

iv) La tabla asociada consiste en representar los puntos de R en un planocoordenado, tomando por ejemplo a = 1, b = 2, d = 3 y c = 4. El digrafoasociado es:

(B, R).

Ejercicio 145.i) Tomamos N5 ordenado de la forma usual.

0 0 0 0 00 0 0 0 10 0 0 1 00 0 1 0 00 1 0 0 0

ii)Tomamos N10 ordenado de la forma usual.

1 1 1 1 1 1 1 1 1 10 1 0 1 0 1 0 1 0 10 0 1 0 0 1 0 0 1 00 0 0 1 0 0 0 1 0 00 0 0 0 1 0 0 0 0 10 0 0 0 0 1 0 0 0 00 0 0 0 0 0 1 0 0 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 0 1

iii) Tomamos A ordenado de la forma en que está escrito.

1 1 1 1 1 10 1 1 1 1 10 0 1 1 1 10 0 0 1 1 10 0 0 0 1 10 0 0 0 0 1

iv) Tomamos B ordenado de forma alfabética.

0 0 1 10 1 0 00 0 1 10 0 0 1

Page 308: Apuntes de Matematicas Discretas(2)

308 CAPÍTULO 6. RELACIONES

Ejercicio 146. Podemos hacerlo automáticamente mediante un procedi-miento de Maple (ver la Práctica 5) que dada una matriz M calcula M2.Con M2 construye una matriz M2∗ que tiene un 1 en la entrada de subíndiceij si la correspondiente entrada en M2 es no nula y un 0 en caso contrario.Y toma la diferencia M2∗−M para comprobar si tiene entradas positivas (esdecir si hay alguna entrada no nula nueva).

En cualquier caso i) no es transitiva porque 2R5 y 5R2 pero 2 + 2 = 4no es un múltiplo de 7. La relación ii) es transitiva porque si a divide a bentonces b = aK con K un número entero. Del mismo modo si b divide a centonces c = bK ′ con K ′ un número entero. Por tanto c = aKK ′, de modoque a divide a c. La relación iii) es transitiva pues lo es la inclusión. Larelación iv) es transitiva.

Ejercicio 147. La relación i) no es reexiva, para convertirla en reexivahay que unir a R el conjunto

(2, 2), (3, 3), (4, 4), (5, 5).

Las relaciones ii) y iii) son reexivas.La relación iv) no es reexiva, hay que añadirle el elemento (a, a)

Ejercicio 148. La relación i) es simétrica.La relación ii) no es simétrica, 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 relación iii) no es simétrica, su clausura simétrica es A× A.La relación iv) no es simétrica, hay que unirle los elementos (c, a), (d, c)

y (a, d).

Ejercicio 149. Para calcular la clausura transitiva de la única relación queno 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 subíndices:

Page 309: Apuntes de Matematicas Discretas(2)

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 = ai1b1j + ... + ainbnj.

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 + ailblj

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 relación no transitiva es la de 144.i). Las matrizW0 es exactamente la matriz del grafo dirigido, esto es,

W0 =

0 0 0 0 00 0 0 0 10 0 0 1 00 0 1 0 00 1 0 0 0

La matriz W1 tiene un uno donde W0 tenga un uno y además se verica quew1

ij = 1 si w0i1 = 1 = w0

1j. Como en nuestro caso la primera la de W0 estoda nula entonces

W1 = W0.

La matriz W2 tiene un uno donde W1 tenga un uno y además se verica quew2

ij = 1 si w1i2 = 1 = w1

2j. Esta condición se verica sólo en w152 = 1 = w1

25,

Page 310: Apuntes de Matematicas Discretas(2)

310 CAPÍTULO 6. RELACIONES

por tanto se tiene w255 = 1.

W2 =

0 0 0 0 00 0 0 0 10 0 0 1 00 0 1 0 00 1 0 1 1

La matriz W3 tiene un uno donde W2 tenga un uno y además se verica quew3

ij = 1 si w2i3 = 1 = w2

3j. Esta condición se verica sólo en w243 = 1 = w2

34,por tanto se tiene w3

44 = 1.

W3 =

0 0 0 0 00 0 0 0 10 0 0 1 00 0 1 1 00 1 0 1 1

La matriz W4 tiene un uno donde W3 tenga un uno y además se verica quew4

ij = 1 si w3i4 = 1 = w3

4j. Esta condición se verica sólo en w334 = 1 = w3

43,por tanto se tiene w4

33 = 1.

W4 =

0 0 0 0 00 0 0 0 10 0 1 1 00 0 1 1 00 1 0 1 1

La matriz W5 tiene un uno donde W4 tenga un uno y además se verica quew5

ij = 1 si w4i5 = 1 = w4

5j. Esta condición se verica sólo en w425 = 1 = w4

52,por tanto se tiene w5

22 = 1.

W5 =

0 0 0 0 00 1 0 0 10 0 1 1 00 0 1 1 00 1 0 1 1

Se observa como se han introducido 4 unos en la diagonal correspondientesa los elementos (2, 2), (3, 3), (4, 4), (5, 5) que son los elementos que hay queunir a R para tener la transitividad.

Page 311: Apuntes de Matematicas Discretas(2)

6.6. EJERCICIOS RESUELTOS 311

Ejercicio 152. Para construir la clausura reexiva hemos de añadir loselementos

(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 portanto debemos unir (a, e). De igual modo (a, c), (c, d) ∈ Cr por tanto debemosunir (a, d). Es una comprobación 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 losmiembros 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) ∈ Rentonces (f, d) ∈ Ct. Finalmente (f, b), (b, d) ∈ R entonces (f, d) ∈ Ct. Deeste 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:

A =

1 0 1 1 1 00 1 0 1 0 00 0 1 1 1 00 0 0 1 0 00 0 0 0 1 01 1 1 1 1 1

.

Y se tiene que A2 no tiene entradas no nulas nuevas, luego es en efecto unarelación transitiva.

A2 =

1 0 2 3 3 00 1 0 2 0 00 0 1 2 2 00 0 0 1 0 00 0 0 0 1 02 2 3 5 4 1

.

Page 312: Apuntes de Matematicas Discretas(2)

312 CAPÍTULO 6. RELACIONES

Figura 6.7: Ejercicio 153. Diagrama de Hasse

Viendo su diagrama de Hasse (ver Figura 6.7) se tiene que hay dos elementosmaximales que son d y e y por tanto no hay máximo. Hay un elementominimal f que es además el mínimo. El elemento d es cota superior de B yes además la única, por tanto es el supremo. La única cota inferior es f quepor tanto es el ínmo de B.

Ejercicio 154. Representamos cada una de las tareas por su inicial (ensam-blar con la E y empaquetar con la e):

Tareas = 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 laFigura 6.8) se va construyendo de la siguiente manera. Se elige un elemento

Page 313: Apuntes de Matematicas Discretas(2)

6.6. EJERCICIOS RESUELTOS 313

Figura 6.8: Ejercicio 154. Diagrama de Hasse

minimal, por ejemplo el E. Tomamos el conjunto Tareas − E y el ordenque 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 elelemento a, con el orden inducido. Así sucesivamente obtenemos, por ejemplo(la elección del elemento minimal no es única así que hay varias maneras dehacerlo):

E ≤ a ≤ l ≤ p ≤ e ≤ r.

Ejercicio 155.i) La relación denida en i) no es reexiva puesto que, por ejemplo, 7+7 =

14 no verica ser menor que 9. Por tanto no puede ser relación de orden nide equivalencia. Verica la propiedad simétrica ya que a + b = b + a. Noes transitiva ya que, por ejemplo, 7R1 y 1R7 y sin embargo 7 + 7 > 9. Dehecho la relación 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),

Page 314: Apuntes de Matematicas Discretas(2)

314 CAPÍTULO 6. RELACIONES

(5, 1), (5, 2), (5, 3), (6, 1), (6, 2), (7, 1)ii) La relación de paralelismo es reexiva (toda recta es paralela a sí

misma) simétrica (si r es paralela a r′ entonces r′ es paralela a r) y transitiva(si r es paralela a r′ y r′ lo es a r′′ entonces r es paralela a r′′). De este modoes una relación de equivalencia.

Podemos tomar como representante en cada clase de equivalencia la rectaque pasa por el origen, y entonces el conjunto cociente se puede identicarcon la semicircunferencia unidad, viendo cada recta como el único puntode corte con dicha semicircunferencia. Esto es el suconjunto del plano realdenido como (x, y) : x2 + y2 = 1, x ≥ 0 − (−1, 0).

iii) La relación es reexiva ya que la cualidad de ser número o letra lacomparte cada elemento de A consigo mismo. Es simétrica porque si m, n ∈A son ambos números (respectivamente ambos letras) entonces la mismapropiedad la tienen n,m ∈ A. De igual manera es transitiva. Por tanto esuna relación de equivalencia. El conjunto cociente A/R es un conjunto dedos elementos, la clase de los números y la clase de las letras.

iv) La relación es reexiva porque 3a > a para cada número natural, enparticular para cada elemento de B. No es antisimétrica ya que, por ejemplo,1S2 ya que 3 > 2 y 2S1 ya que 6 > 1. No es simétrica ya que, por ejemplo,90S1 pero 3 × 1 < 90. Por tanto no es de equivalencia ni de orden. Larelación 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 es

1 1 1 1 1 1 11 1 1 1 1 1 01 1 1 1 1 0 01 1 1 1 0 0 01 1 1 0 0 0 01 1 0 0 0 0 01 0 0 0 0 0 0

Page 315: Apuntes de Matematicas Discretas(2)

6.6. EJERCICIOS RESUELTOS 315

ii) Sean A′ = a, b, c, d y B′ = 1, 2, 3 entonces el digrafo asociado a larelación es: (A, (A′×A′)∪ (B×B′)). Su matriz (con el orden en el que estaescrito A) es:

1 1 1 1 0 0 01 1 1 1 0 0 01 1 1 1 0 0 01 1 1 1 0 0 00 0 0 0 1 1 10 0 0 0 1 1 10 0 0 0 1 1 1

iv) El digrafo asociado es (B,S) y una matriz de adyacencias con el ordenen que está escrito B es:

1 1 0 0 0 0 01 1 1 0 0 0 01 1 1 1 1 0 01 1 1 1 1 1 01 1 1 1 1 1 01 1 1 1 1 1 01 1 1 1 1 1 1

Ejercicio 157. La única relación que no es reexiva es la i) y su clausurareexiva es añadir (5, 5), (6, 6) y (7, 7).

La única relación que no es simétrica es la iv). Como la matriz de sudigrafo tiene todas las entradas de la forma aij = 1 cuando i ≤ j entonces suclausura simétrica es B ×B.

Tomando la matriz del digrafo de i) se observa que su cuadrado tienetodas las entradas no nulas de modo que su clausura transitiva es N7 ×N7.

La clausura transitiva de iv) consiste en añadir los elementos

(1, 3), (1, 4), (1, 7), (1, 8), (2, 4), (2, 7), (2, 8), (3, 8).

Ejercicio 158. La relación es antisimétrica, transitiva y no reexiva. Suclausura reexiva consiste en unir toda la diagonal.

Mirando el diagrama de Hasse (ver la Figura 6.9) se observa que 1, 3 y 5son minimales y 2, 4 y 6 maximales. No hay máximo ni mínimo.

Page 316: Apuntes de Matematicas Discretas(2)

316 CAPÍTULO 6. RELACIONES

Figura 6.9: Ejercicio 158. Diagrama de Hasse

Ejercicio 159. De entre todas las rectas paralelas (en la misma clase deequivalencia) elegimos la que pasa por el origen. Por tanto podemos identi-car cada clase de equivalencia con el ángulo que forma dicha recta con el ejede abscisas, esto es, con el intervalo [0, 180) ⊂ R.Ejercicio 160. La matrix de R es:

1 1 1 00 0 0 00 0 0 10 0 0 0

La matriz de su clausura reexiva es:

Cr =

1 1 1 00 1 0 00 0 1 10 0 0 1

Como

C2r =

1 2 2 10 1 0 00 0 1 00 0 0 1

Page 317: Apuntes de Matematicas Discretas(2)

6.6. EJERCICIOS RESUELTOS 317

Figura 6.10: Ejercicio 160. Diagrama de Hasse

se tiene que la matriz de la clausura transitiva es:

1 1 1 10 1 0 00 0 1 00 0 0 1

,

pues esta matriz al cuadrado no tiene entradas no nulas nuevas.Una relación de orden total que la completa podría ser:

α ≤ β ≤ γ ≤ ω.

Page 318: Apuntes de Matematicas Discretas(2)

318 CAPÍTULO 6. RELACIONES

Page 319: Apuntes de Matematicas Discretas(2)

Capítulo 7

Controles y exámenes resueltos

En esta sección coleccionamos controles y exámenes resueltos de cursos an-teriores, como un instrumento útil para el estudio de la asignatura.

319

Page 320: Apuntes de Matematicas Discretas(2)

320 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaControl 11999-2000.

1. Demuestra por inducción la siguiente fórmula:

12 + 22 + 32 + ... + (n− 1)2 + n2 =n(n + 1)(2n + 1)

6

2. Construye un algoritmo que indique si en una lista de números enteroshay dos repetidos. Estudia su complejidad.

3. Una aplicación f : A → B se dice inyectiva si no hay dos elementosdistintos de A que tengan la misma imagen por f , esto es, si f(a) = f(b) esque a = b. Construye un algoritmo que permita saber si f es inyectiva en elcaso en que A y B sean conjuntos nitos.

4. Construye un algoritmo cuya entrada sea un número entero a escrito enalguna base b y otra base c y que obtenga como salida el número a escritoen la base c. (Puedes usar, dándolo por conocido, el algoritmo que cambiade base 10 a otra base.)

Page 321: Apuntes de Matematicas Discretas(2)

321

Matemática DiscretaControl 1 resuelto

1999-2000.

1. Demuestra por inducción la siguiente fórmula:

12 + 22 + 32 + ... + (n− 1)2 + n2 =n(n + 1)(2n + 1)

6

Para n = 1 la fórmula es cierta ya que

12 = 1 =1 · 2 · 3

6

Debemos ahora probar que si es cierta para n lo es para n + 1.La igualdad que queremos probar es:

12 + ... + n2 + (n + 1)2 =(n + 1)(n + 2)(2n + 3)

6

Por hipótesis de inducción obtenemos que:

12 + ... + n2 + (n + 1)2 =n(n + 1)(2n + 1)

6+ (n + 1)2.

Y ya no tenemos más que operar el segundo término de la igualdad anteriory comprobar que es exactamente

(n + 1)(n + 2)(2n + 3)

6.

2. Construye un algoritmo que indique si en una lista de números enteroshay dos repetidos. Estudia su complejidad.

Entrada: a1, ..., an

s := 0for i = 1 to n while s = 0

for j = i + 1 to n while s = 0if ai = aj then s := 1

if s = 0 then r :=no else r :=síSalida: r

Page 322: Apuntes de Matematicas Discretas(2)

322 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Es un algoritmo de complejidad cuadrática O(n2) ya que en el peor delos casos el bucle i se repite n veces y en cada una de ellas el bucle j se repiten− i veces.

3. Una aplicación f : A → B se dice inyectiva si no hay dos elementosdistintos de A que tengan la misma imagen por f , esto es, si f(a) = f(b) esque a = b. Construye un algoritmo que permita saber si f es inyectiva en elcaso en que A y B sean conjuntos nitos.

Como A es un conjunto nito tiene n elementos y podemos numerar loselementos de A interpretando que son los números 1, 2, ..., n. Idem para B,que tiene por elementos los números 1, 2, ..., m donde m es el número deelementos de B.

Se trata entonces de construir la lista f(1), f(2), ..., f(n), o sea la lista delas imágenes por f de los elementos de A.

Con entrada esta lista se aplica el algoritmo de los Elementos repetidos ysi hay elementos repetidos es que no es inyectiva. En caso contrario lo es.

4. Construye un algoritmo cuya entrada sea un número entero a escrito enalguna base b y otra base c y que obtenga como salida el número a escritoen la base c. (Puedes usar, dándolo por conocido, el algoritmo que cambiade base 10 a otra base cualquiera.)

La idea es componer un algoritmo que transforme el número a de la baseb en la base decimal y despues aplicar el algoritmo que transforma un númeroentero escrito en base 10 en un número escrito en base b.

Entrada a = (a0, a1, ..., an)b, b, cp := a0, i := 0while (i < n)

i := i + 1p := p + aib

i

A continuación a p se le aplica el algoritmo que pasa de base 10 a base b.

Page 323: Apuntes de Matematicas Discretas(2)

323

Matemática DiscretaControl 2 A

1999-2000.

1. El inverso para el producto de 3 módulo 7 es:a) 6b) 5c) 3 no tiene inverso módulo 7.

2. Elige la única solución módulo 385 del sistema de congruencias lineales

x ≡ 3(mod 5)x ≡ 5(mod 7)x ≡ 9(mod 11)

.

a) El sistema no tiene soluciónb) 393c) 383

3. Sea un conjunto A de 10 elementos. Construimos el conjunto B de lossubconjuntos de A. El conjunto de los subconjuntos de B tiene:

a) 210 elementosb) 2210 elementosc) 22210 elementos

4. El número de palabras de 5 letras (en un alfabeto de 28 letras) queempiezan y terminan por vocal es:

a) 52 · 283

b) 5 · 4 · 28 · 27 · 26c) 5 · 4 · 283

5. Con las variables x e y se pueden construir monomios homogéneos de gradon, es decir, expresiones de la forma xayb con a y b números enteros positivos(posiblemente 0) tal que a + b = n. El número de monomios distintos degrado 17 es:

a) 18 · 17b) 9 · 17

Page 324: Apuntes de Matematicas Discretas(2)

324 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

c) 182

6. En una mesa redonda se reunen 5 comensales de manera que queremossaber de cuántas maneras se pueden sentar si sólo importa quién está al ladode quién. El número de formas es:

a) 5!b) 5!/4c) 5!/5

7. La probabilidad de que al repartir 4 cartas en una baraja española la juga-da sea un trío (es decir tres cartas con el mismo número 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 vecescon probabilidad p de éxito se obtengan a lo sumo 3 fracasos es:

a)(

n3

)pn−3(1− p)3

b) Σ3i=0

(ni

)pn−i(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 Asu altura. El valor esperado E(X) es:

a) la media aritmética de las 4 alturasb) 1.77c) 1.74

10. El conjunto de los números primos es:a) Un conjunto nitob) Un conjunto no nitoc) No se sabe si es nito o no nito

11. El número de cifras de 4 dígitos que son múltiplos de 5 es:a) 2000b) 1800c) 2700

12. Sea el suceso E sacar un 8 al tirar dos dados. Sea el suceso F sacar un8 al tirar tres dados.

a) E es más probable que F

Page 325: Apuntes de Matematicas Discretas(2)

325

b) F es más probable que Ec) Son igual de probables

13. Sean a y b dos números enteros tales que mcd(a, b) = 1 entoncesa) mcd(a + b, a− b) = 1 ó mcd(a + b, a− b) = 3b) mcd(a + b, a− b) = 1 ó mcd(a + b, a− b) = 2c) mcd(a + b, a− b) = 21 ó mcd(a + b, a− b) = 3

14. El número 173a) Es un número compuesto por 2 factores primos (distintos de

1)b) Es un número compuesto por 3 factores primos (distintos de

1)c) Es un número primo.

15. El mcd(234, 567) esa) 3 y hacen falta 3 pasos en el algoritmo de Euclides para

saberlob) 9 y hacen falta 5 pasos en el algoritmo de Euclides para

saberloc) Son primos relativos y hacen falta 4 pasos en el algoritmo de

Euclides para saberlo.

Page 326: Apuntes de Matematicas Discretas(2)

326 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaControl 2 A resuelto

1999-2000.

1. El inverso para el producto de 3 módulo 7 es:a) 6b) 5c) 3 no tiene inverso módulo 7.

La respuesta correcta es la la b) ya que 3× 5 = 15 y al dividir 15 entre 7el resto es 1.2. Elige la única solución módulo 385 del sistema de congruencias lineales

x ≡ 3(mod 5)x ≡ 5(mod 7)x ≡ 9(mod 11)

.

a) El sistema no tiene soluciónb) 393c) 383

La respuesta correcta es la c). Como 5, 7 y 11 son primos entre sí entoncesel sistema tiene solución única módulo 5× 7× 11 = 385 y se comprueba quec) es una solución.3. Sea un conjunto A de 10 elementos. Construimos el conjunto B de lossubconjuntos de A. El conjunto de los subconjuntos de B tiene:

a) 210 elementosb) 2210 elementosc) 22210 elementos

La respuesta correcta es la b) ya que un conjunto de n elementos presenta2n subconjuntos.4. El número de palabras de 5 letras (en un alfabeto de 28 letras) queempiezan y terminan por vocal es:

a) 52 · 283

Page 327: Apuntes de Matematicas Discretas(2)

327

b) 5 · 4 · 28 · 27 · 26c) 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 nose indica lo contrario, las palabras pueden presentar letras repetidas.5. Con las variables x e y se pueden construir monomios homogéneos de gradon, es decir, expresiones de la forma xayb con a y b números enteros positivos(posiblemente 0) tal que a + b = n. El número de monomios distintos degrado 17 es:

a) 18 · 17b) 9 · 17c) 18

La respuesta correcta es la c). Una vez elegido a el número b está unívo-camente determinado: b = 17− a. Por tanto se trata de ver cuántos posiblesvalores puede tomar a. Como a puede ser cualquier número entre 0 y 17 setiene el resultado.6. En una mesa redonda se reunen 5 comensales de manera que queremossaber de cuántas maneras se pueden sentar si sólo importa quién está al ladode quién. El número de formas es:

a) 5!b) 5!/4c) 5!/5

La respuesta correcta es la c) pues el número total de maneras en que 5comensales se sientan en una mesa redonda es 5! y hay que dividir por 5 puesdada una disposición de comensales hay 5 disposiciones (resultado de girarun 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 española la juga-da sea un trío (es decir tres cartas con el mismo número 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. Lasegunda carta debe ser igual a la primera, entonces se tiene una probabilidadde 3/39. La tercera debe ser igual a la primera y a la segunda, por tanto, la

Page 328: Apuntes de Matematicas Discretas(2)

328 CAPÍTULO 7. CONTROLES Y EXÁMENES 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 trío siendo lascartas iguales las tres primeras es:

(3 · 2 · 36)/(39 · 38 · 37).

El factor 4 proviene del hecho de que hay cuatro posibles elecciones de trescartas en un manojo de 4.8. La probabilidad de que en un suceso de Bernoulli que se repite n vecescon probabilidad p de éxito se obtengan a lo sumo 3 fracasos es:

a)(

n3

)pn−3(1− p)3

b) Σ3i=0

(ni

)pn−i(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 unión 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 Asu altura. El valor esperado E(X) es:

a) la media aritmética de las 4 alturasb) 1.77c) 1.74

La respuesta correcta es la a): basta usar la fórmula de la esperanzamatemática.10. El conjunto de los números primos es:

a) Un conjunto nitob) Un conjunto no nitoc) No se sabe si es nito o no nito

La respuesta correcta es la b). Si fuera nito, digamos p1, ..., pn, entoncesel número entero p1 × ... × pn + 1 verica ser primo pues al dividir porcualquier primo da de resto uno y no está en el conjunto de los primos (pueses estrictamente mayor que cualquier pi) lo que es una contradicción.11. El número de cifras de 4 dígitos que son múltiplos de 5 es:

a) 2000b) 1800c) 2700

Page 329: Apuntes de Matematicas Discretas(2)

329

La respuesta correcta es la a). Para ser múltiplo de 5 se ha de terminaren 0 ó en 5. Por tanto las tres primeras cifras son libres y la cuarta debe serun 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 un8 al tirar tres dados.

a) E es más probable que Fb) F es más probable que Ec) Son igual de probables

La respuesta correcta es la b). Basta hacer un recuento de casos favorablesy posibles13. Sean a y b dos números naturales con a > b tales que mcd(a, b) = 1entonces

a) mcd(a + b, a− b) = 1 ó mcd(a + b, a− b) = 3b) mcd(a + b, a− b) = 1 ó mcd(a + b, a− b) = 2c) 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 quequiere decir que o bien p = 2 o bien p divide a a y a b entonces p = 1.14. El número 173

a) Es un número compuesto por 2 factores primos (distintos de1)

b) Es un número compuesto por 3 factores primos (distintos de1)

c) Es un número primo.La respuesta correcta es la c). Como la raíz de 173 es estrictamente menor

que 14 basta con probar con los números primos: 2, 3, 5, 7, 11 y 13. Ningunode ellos lo divide.

Page 330: Apuntes de Matematicas Discretas(2)

330 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

15. El mcd(234, 567) esa) 3 y hacen falta 3 pasos en el algoritmo de Euclides para

saberlob) 9 y hacen falta 5 pasos en el algoritmo de Euclides para

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

Page 331: Apuntes de Matematicas Discretas(2)

331

Matemática DiscretaControl 2 B

1999-2000.

1. El inverso para el producto de 4 módulo 7 es:a) 5b) 2c) 4 no tiene inverso módulo 7.

2. Elige la única solución módulo 385 del sistema de congruencias lineales

x ≡ 2(mod 5)x ≡ 4(mod 7)x ≡ 8(mod 11)

.

a) El sistema no tiene soluciónb) 382c) 395

3. La probabilidad de que al repartir 4 cartas en una baraja española la juga-da sea un trío (es decir tres cartas con el mismo número 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 números primos es:a) Un conjunto nitob) Un conjunto no nitoc) No se sabe si es nito o no nito

5. Con las variables x e y se pueden construir monomios homogéneos de gradon, es decir, expresiones de la forma xayb con a y b números enteros positivos(posiblemente 0) tal que a + b = n. El número de monomios distintos degrado 17 es:

a) 18 · 17b) 9 · 17

Page 332: Apuntes de Matematicas Discretas(2)

332 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

c) 182

6. El número de palabras de 4 letras (en un alfabeto de 28 letras) queempiezan y terminan por vocal es:

a) 52 · 282

b) 5 · 4 · 28 · 27c) 5 · 4 · 282

7. En una mesa redonda se reunen 6 comensales de manera que queremossaber de cuántas maneras se pueden sentar si sólo importa quién está al ladode quién. El número de formas es:

a) 6!/4b) 5!c) 6!/5

8. La probabilidad de que en un suceso de Bernoulli que se repite n vecescon probabilidad p de éxito se obtengan a lo sumo 3 fracasos es:

a)(

n3

)pn−3(1− p)3

b) Σ3i=0

(ni

)pn−i(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 personade A su altura. El valor esperado E(X) es:

a) 1.80b) la media aritmética de las 5 alturasc) 1.74

10. El número de cifras de 5 dígitos que son múltiplos de 5 es:a) 18000b) 19000c) 20000

11. Sean a y b dos números enteros tales que mcd(a, b) = 1 entoncesa) mcd(a + b, a− b) = 1 ó mcd(a + b, a− b) = 3b) mcd(a + b, a− b) = 1 ó mcd(a + b, a− b) = 2c) mcd(a + b, a− b) = 21 ó mcd(a + b, a− b) = 3

12. El número 179a) Es un número compuesto por 2 factores primos (distintos de

1)

Page 333: Apuntes de Matematicas Discretas(2)

333

b) Es un número compuesto por 3 factores primos (distintos de1)

c) Es un número primo.13. El mcd(234, 567) es

a) 3 y hacen falta 3 pasos en el algoritmo de Euclides parasaberlo

b) 9 y hacen falta 5 pasos en el algoritmo de Euclides parasaberlo

c) Son primos relativos y hacen falta 4 pasos en el algoritmo deEuclides para saberlo.14. Sea un conjunto A de 7 elementos. Construimos el conjunto B de lossubconjuntos de A. El conjunto de los subconjuntos de B tiene:

a) 27 elementosb) 2227 elementosc) 227 elementos

15. Sea el suceso E sacar un 8 al tirar dos dados. Sea el suceso F sacar un8 al tirar tres dados.

a) E es más probable que Fb) F es más probable que Ec) Son igual de probables

Page 334: Apuntes de Matematicas Discretas(2)

334 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaControl 2 B resuelto

1999-2000.

1. El inverso para el producto de 4 módulo 7 es:a) 5b) 2c) 4 no tiene inverso módulo 7.

La respuesta correcta es la la b) ya que 4× 2 = 8 y al dividir 8 entre 7 elresto es 1.2. Elige la única solución módulo 385 del sistema de congruencias lineales

x ≡ 2(mod 5)x ≡ 4(mod 7)x ≡ 8(mod 11)

.

a) El sistema no tiene soluciónb) 382c) 395

La respuesta correcta es la b). Como 5, 7 y 11 son primos entre sí entoncesel sistema tiene solución única módulo 5× 7× 11 = 385 y se comprueba queb) es una solución.3. La probabilidad de que al repartir 4 cartas en una baraja española la juga-da sea un trío (es decir tres cartas con el mismo número 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. Lasegunda carta debe ser igual a la primera, entonces se tiene una probabilidadde 3/39. La tercera debe ser igual a la primera y a la segunda, por tanto, laprobabilidad es 2/38. La última carta debe ser distinta de las tres primeras,

Page 335: Apuntes de Matematicas Discretas(2)

335

por tanto 36/38. Entonces la probabilidad de obtener un trío siendo lascartas iguales las tres primeras es:

(3 · 2 · 36)/(39 · 38 · 37).

El factor 4 proviene del hecho de que hay cuatro posibles elecciones de trescartas en un manojo de 4.4. El conjunto de los números primos es:

a) Un conjunto nitob) Un conjunto no nitoc) No se sabe si es nito o no nito

La respuesta correcta es la b). Si fuera nito, digamos p1, ..., pn, entoncesel número entero p1 × ... × pn + 1 verica ser primo pues al dividir porcualquier primo da de resto uno y no está en el conjunto de los primos (pueses estrictamente mayor que cualquier pi) lo que es una contradicción.5.Con las variables x e y se pueden construir monomios homogéneos de gradon, es decir, expresiones de la forma xayb con a y b números enteros positivos(posiblemente 0) tal que a + b = n. El número de monomios distintos degrado 17 es:

a) 18 · 17b) 9 · 17c) 18

La respuesta correcta es la c). Una vez elegido a el número b está unívo-camente determinado: b = 17− a. Por tanto se trata de ver cuántos posiblesvalores puede tomar a. Como a puede ser cualquier número entre 0 y 17 setiene el resultado.6. El número de palabras de 4 letras (en un alfabeto de 28 letras) queempiezan y terminan por vocal es:

a) 52 · 282

b) 5 · 4 · 28 · 27c) 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 nose indica lo contrario, las palabras pueden presentar letras repetidas.7. En una mesa redonda se reunen 6 comensales de manera que queremossaber de cuántas maneras se pueden sentar si sólo importa quién está al ladode quién. El número de formas es:

Page 336: Apuntes de Matematicas Discretas(2)

336 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

a) 6!/4

b) 5!

c) 6!/5

La respuesta correcta es la b) pues el número total de maneras en que 6comensales se sientan en una mesa redonda es 6! y hay que dividir por 6 puesdada una disposición de comensales hay 6 disposiciones (resultado de girarun 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 vecescon probabilidad p de éxito se obtengan a lo sumo 3 fracasos es:

a)(

n3

)pn−3(1− p)3

b) Σ3i=0

(ni

)pn−i(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 esla unión 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 personade A su altura. El valor esperado E(X) es:

a) 1.80b) la media aritmética de las 5 alturasc) 1.74

La respuesta correcta es la b): basta usar la fórmula de la esperanzamatemática.

10. El número de cifras de 5 dígitos que son múltiplos de 5 es:a) 18000b) 19000c) 20000

La respuesta correcta es la c). Para ser múltiplo de 5 se ha de terminaren 0 ó en 5. Por tanto las cuatro primeras cifras son libres y la cuarta debeser un 0 ó un 5. De este modo 104 × 2.

11. Sean a y b dos números enteros tales que mcd(a, b) = 1 entoncesa) 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

Page 337: Apuntes de Matematicas Discretas(2)

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 quequiere decir que o bien p = 2 o bien p divide a a y a b entonces p = 1.12. El número 179

a) Es un número compuesto por 2 factores primos (distintos de1)

b) Es un número compuesto por 3 factores primos (distintos de1)

c) Es un número primo.La respuesta correcta es la c). Como la raíz de 179 es estrictamente menor

que 14 basta con probar con los números primos: 2, 3, 5, 7, 11 y 13. Ningunode ellos lo divide.13. El mcd(234, 567) es

a) 3 y hacen falta 3 pasos en el algoritmo de Euclides parasaberlo

b) 9 y hacen falta 5 pasos en el algoritmo de Euclides parasaberlo

c) Son primos relativos y hacen falta 4 pasos en el algoritmo deEuclides 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 lossubconjuntos de A. El conjunto de los subconjuntos de B tiene:

a) 27 elementosb) 2227 elementosc) 227 elementos

La respuesta correcta es la c) ya que un conjunto de n elementos presenta2n subconjuntos.

Page 338: Apuntes de Matematicas Discretas(2)

338 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

15. Sea el suceso E sacar un 8 al tirar dos dados. Sea el suceso F sacar un8 al tirar tres dados.

a) E es más probable que Fb) F es más probable que Ec) Son igual de probables

La respuesta correcta es la b). Basta hacer un recuento de casos favorablesy posibles

Page 339: Apuntes de Matematicas Discretas(2)

339

Matemática DiscretaControl 1 A

2000-2001.

1) (2 puntos) Sea a ∈ R un número real estrictamente positivo a > 0.Demostrar por inducción que la siguiente desigualdad se verica para cadan 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 negación de lasiguiente sentencia: "Hay alumnos que no han aprobado ninguna asignatura".

3)(1 punto) Sea la función f : Z7 → Z7 dada por la expresión f(a) =5a + 1. (Recuerda que Z7 es el conjunto de las 7 claes de equivalencia de larelaci ón módulo 7.)

a) Estudiar si f es inyectiva y si es sobreyectiva.b) Determinar si existe g : Z7 → Z7 tal que la composición 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 posiciónb. (Ejemplo: la entrada 102,105,107; 111, 2. da como salida la lista 102, 111,105, 107.) Estudiar su complejidad.

Page 340: Apuntes de Matematicas Discretas(2)

340 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaControl 1 A resuelto

2000-2001.

1) (2 puntos) Sea a ∈ R un número real estrictamente positivo a > 0.Demostrar por inducción que la siguiente desigualdad se verica para cadan natural:

(1 + a)n ≥ 1 + an.

Para n = 1 la fórmula es cierta (base de inducción) puesto que:

1 + a ≥ 1 + a.

Supongamos ahora que la fórmula es cierta para n y comprobemos suveracidad 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 hipótesis de inducción.Ahora bien:

(1 + an)(1 + a) = 1 + a + an + a2n.

De modo que falta comprobar la desigualdad:

1 + a + an + a2n ≥ 1 + a(n + 1) = 1 + an + a.

O equivalentemente:a2n ≥ 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.

Page 341: Apuntes de Matematicas Discretas(2)

341

Por otro lado (p ∨ ¬r) := F y se tiene la contradicción V ↔ F .b) Escribir en lenguaje formal y en lenguaje natural la negación 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 asig-natura se escribe formalmente:

∃x ∈ U ∀y ∈ A (¬P (x, y)).

Su negación es, usando las equivalencias lógicas pertinentes:

∀x ∈ U ∃y ∈ A P (x, y).

Es decir, cada alumno ha aprobado alguna asignatura.

3)(1 punto) Sea la función f : Z7 → Z7 dada por la expresión f(a) =5a + 1. (Recuerda que Z7 es el conjunto de las 7 clases de equivalencia de larelación módulo 7.)

a) Estudiar si f es inyectiva y si es sobreyectiva.Se observa que:

f(0) = 1f(1) = 6f(2) = 4f(3) = 2f(4) = 0f(5) = 5f(6) = 3

Por tanto f es biyectiva.b) Determinar si existe g : Z7 → Z7 tal que la composición 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:

Page 342: Apuntes de Matematicas Discretas(2)

342 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

g(f(a)) = g(5a + 1) = 3(5a + 1) + 4 = a + 3 + 4 = a

donde todas las igualdades son congruencias módulo 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 garantizala existencia de solución y su unicidad módulo 5×7×2 = 70. De esta manera,el conjunto de las soluciones es de la forma:

x = 68 + 70k

donde k es un número 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 posiciónb. (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, bc := ab

ab := afor i from b + 1 to n

d := ai

ai := cc := d

an+1 := cSalida: a1, ..., an+1

Es un algoritmo de complejidad lineal pues tiene un único bucle querealiza una cantidad constante de operaciones en cada repetición.

Page 343: Apuntes de Matematicas Discretas(2)

343

Matemática DiscretaControl 1 B

2000-2001.

1) (2 puntos) Sea t ∈ R un número real estrictamente positivo t > 0.Demostrar por inducción que la siguiente desigualdad se verica para cadan 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 negación de lasiguiente sentencia: "Hay alumnos que han aprobado todas las asignaturas".

3)(1 punto) Sea la función f : Z7 → Z7 dada por la expresión f(a) =3a + 1. (Recuerda que Z7 es el conjunto de las 7 clases de equivalencia de larelaci ón módulo 7.)

a) Estudiar si f es inyectiva y si es sobreyectiva.b) Determinar si existe g : Z7 → Z7 tal que la composición 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 posiciónb. (Ejemplo: la entrada 102,105,107; 111, 2. da como salida la lista 102, 111,105, 107.) Estudiar su complejidad.

Page 344: Apuntes de Matematicas Discretas(2)

344 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaControl 1 B resuelto

2000-2001.

1) (2 puntos) Sea t ∈ R un número real estrictamente positivo t > 0.Demostrar por inducción que la siguiente desigualdad se verica para cadan natural:

(1 + t)n ≥ 1 + tn.

Para n = 1 la fórmula es cierta (base de inducción) puesto que:

1 + t ≥ 1 + t.

Supongamos ahora que la fórmula es cierta para n y comprobemos suveracidad 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 hipótesis de inducción.Ahora bien:

(1 + tn)(1 + t) = 1 + t + tn + t2n.

De modo que falta comprobar la desigualdad:

1 + t + tn + t2n ≥ 1 + t(n + 1) = 1 + tn + t.

O equivalentemente:t2n ≥ 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.

Page 345: Apuntes de Matematicas Discretas(2)

345

Por otro lado (p ∨ ¬r) := V y se tiene la contradicción V ↔ F .b) Escribir en lenguaje formal y en lenguaje natural la negación 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 asig-natura se escribe formalmente:

∃x ∈ U ∀y ∈ A (¬P (x, y)).

Su negación es, usando las equivalencias lógicas pertinentes:

∀x ∈ U ∃y ∈ A P (x, y).

Es decir, cada alumno ha aprobado alguna asignatura.

3)(1 punto) Sea la función f : Z7 → Z7 dada por la expresión f(a) =3a + 1. (Recuerda que Z7 es el conjunto de las 7 clases de equivalencia de larelaci ón módulo 7.)

a) Estudiar si f es inyectiva y si es sobreyectiva.Se observa que:

f(0) = 1f(1) = 4f(2) = 0f(3) = 3f(4) = 6f(5) = 2f(6) = 5

Por tanto f es biyectiva.b) Determinar si existe g : Z7 → Z7 tal que la composición 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

Page 346: Apuntes de Matematicas Discretas(2)

346 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

donde todas las igualdades son congruencias módulo 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 garantizala existencia de solución y su unicidad módulo 5×7×2 = 70. De esta manera,el conjunto de las soluciones es de la forma:

x = 54 + 70k

donde k es un número 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 posiciónb. (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, bc := ab

ab := afor i from b + 1 to n

d := ai

ai := cc := d

an+1 := cSalida: a1, ..., an+1

Es un algoritmo de complejidad lineal pues tiene un único bucle querealiza una cantidad constante de operaciones en cada repetición.

Page 347: Apuntes de Matematicas Discretas(2)

347

Matemática DiscretaControl 22000-2001.

Sea el grafo simple G = (V,E) cuya matriz de adyacencias es A.

A :=

0 1 0 0 0 0 0 1 1 1 0 0 1 1 01 0 1 1 0 1 1 1 0 1 0 1 0 1 00 1 0 1 0 0 0 1 1 1 1 0 1 1 00 1 1 0 1 0 1 1 1 1 1 1 1 1 10 0 0 1 0 1 0 1 0 1 1 1 0 1 10 1 0 0 1 0 0 1 0 0 0 1 1 1 10 1 0 1 0 0 0 1 0 0 1 0 0 0 11 1 1 1 1 1 1 0 0 1 1 0 1 1 11 0 1 1 0 0 0 0 0 0 1 0 1 1 01 1 1 1 1 0 0 1 0 0 0 0 0 1 00 0 1 1 1 0 1 1 1 0 0 1 0 1 10 1 0 1 1 1 0 0 0 0 1 0 0 0 11 0 1 1 0 1 0 1 1 0 0 0 0 1 01 1 1 1 1 1 0 1 1 1 1 0 1 0 10 0 0 1 1 1 1 1 0 0 1 1 0 1 0

y de modo que su potencia cúbica es:

Page 348: Apuntes de Matematicas Discretas(2)

348 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

A3 :=

20 37 29 37 28 21 18 46 29 33 31 21 33 45 2837 38 49 63 41 42 34 62 31 41 43 36 33 65 3829 49 40 57 39 33 25 61 36 43 48 28 42 60 4037 63 57 72 60 44 41 80 46 55 61 45 54 80 5928 41 39 60 40 40 29 60 29 40 48 35 33 59 4321 42 33 44 40 26 24 52 27 30 37 30 34 51 5918 34 25 41 29 24 16 40 20 25 35 19 24 36 3246 62 61 80 60 52 40 74 40 54 65 39 52 78 5829 31 36 46 29 27 20 40 22 28 35 19 29 45 2733 41 43 55 40 32 25 54 28 32 38 26 32 55 3531 43 48 61 48 37 35 65 35 38 44 39 35 65 4521 36 28 45 35 30 19 39 19 26 39 20 25 37 3633 33 42 54 33 34 24 52 29 32 35 25 28 53 3045 65 60 80 59 51 36 78 45 55 65 37 53 76 5928 38 40 59 43 39 32 58 27 35 45 36 30 59 40

1) Determinar el número de vértices, el número de aristas y el grado de cadavértice según la ordenación de los vértices que da la matriz A.2) Demostrar usando la matriz A y las potencias de A que se aportan que elgrafo G es conexo.3) Vericar si es o no un grafo euleriano.4) Determinar cuál es la probabilidad de que al elegir un camino de longitud3 uniendo el primer vértice y el tercero dicho camino sea simple.5) Sea el experimento de Bernoulli consistente en elegir un vértice de G demodo que se obtiene un éxito si el grado de dicho vértice es mayor o igualque 10. Determinar la probabilidad p de éxito y la probabilidad q de fracasode dicho experimento de Bernoulli.6) Determinar la probabilidad de que al repetir el experimento anterior 5veces se obtenga al menos un éxito.7) Sea un nuevo experimento aleatorio que consiste en elegir un vértice deG. Sea la variable aleatoria g consistente en asignar a cada vértice su grado.Describir el espacio muestral de dicho experimento y la función g. Calcularla esperanza matemática de dicha variable aleatoria.8) Determinar el número de aristas que hay que añadir a G para que seconvierta en el grafo completo.

Page 349: Apuntes de Matematicas Discretas(2)

349

Matemática DiscretaControl 2 resuelto

2000-2001.

Sea el grafo simple G = (V,E) cuya matriz de adyacencias es A.

A :=

0 1 0 0 0 0 0 1 1 1 0 0 1 1 01 0 1 1 0 1 1 1 0 1 0 1 0 1 00 1 0 1 0 0 0 1 1 1 1 0 1 1 00 1 1 0 1 0 1 1 1 1 1 1 1 1 10 0 0 1 0 1 0 1 0 1 1 1 0 1 10 1 0 0 1 0 0 1 0 0 0 1 1 1 10 1 0 1 0 0 0 1 0 0 1 0 0 0 11 1 1 1 1 1 1 0 0 1 1 0 1 1 11 0 1 1 0 0 0 0 0 0 1 0 1 1 01 1 1 1 1 0 0 1 0 0 0 0 0 1 00 0 1 1 1 0 1 1 1 0 0 1 0 1 10 1 0 1 1 1 0 0 0 0 1 0 0 0 11 0 1 1 0 1 0 1 1 0 0 0 0 1 01 1 1 1 1 1 0 1 1 1 1 0 1 0 10 0 0 1 1 1 1 1 0 0 1 1 0 1 0

y de modo que su potencia cúbica es:

Page 350: Apuntes de Matematicas Discretas(2)

350 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

A3 :=

20 37 29 37 28 21 18 46 29 33 31 21 33 45 2837 38 49 63 41 42 34 62 31 41 43 36 33 65 3829 49 40 57 39 33 25 61 36 43 48 28 42 60 4037 63 57 72 60 44 41 80 46 55 61 45 54 80 5928 41 39 60 40 40 29 60 29 40 48 35 33 59 4321 42 33 44 40 26 24 52 27 30 37 30 34 51 5918 34 25 41 29 24 16 40 20 25 35 19 24 36 3246 62 61 80 60 52 40 74 40 54 65 39 52 78 5829 31 36 46 29 27 20 40 22 28 35 19 29 45 2733 41 43 55 40 32 25 54 28 32 38 26 32 55 3531 43 48 61 48 37 35 65 35 38 44 39 35 65 4521 36 28 45 35 30 19 39 19 26 39 20 25 37 3633 33 42 54 33 34 24 52 29 32 35 25 28 53 3045 65 60 80 59 51 36 78 45 55 65 37 53 76 5928 38 40 59 43 39 32 58 27 35 45 36 30 59 40

1) Determinar el número de vértices, el número de aristas y el grado de cadavértice según la ordenación de los vértices que da la matriz A.

Como la matriz es de tamaño 15×15 entonces hay 15 vértices. La sucesiónde los grados, usando la ordenación de los vértices que señala la matriz es:

(6, 9, 8, 12, 8, 7, 5, 12, 6, 7, 9, 6, 7, 12, 8).

Por tanto el número 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 grafoG es conexo.

En efecto es conexo pues A3 tiene todas sus entradas no nulas lo quesignica que hay un camino de longitud tres uniendo cada par de vértices.3) Vericar si es o no un grafo euleriano.

No es euleriano pues hay vértices de grado impar.4) Determinar cuál es la probabilidad de que al elegir un camino de longitud3 uniendo el primer vértice y el tercero dicho camino sea simple.

Como la entrada (1, 3) de A3 es 29, entonces hay 29 caminos de longitud3 uniendo el vértice 1 con el vértice 3. Los caminos no simples deben ser

Page 351: Apuntes de Matematicas Discretas(2)

351

de la forma 1a13 o 13a3. Pero de estos no hay niguno pues 1 y 3 no sonadyacentes, ya que la entrada (1, 3) de A es 0.5) Sea el experimento de Bernoulli consistente en elegir un vértice de G demodo que se obtiene un éxito si el grado de dicho vértice es mayor o igualque 10. Determinar la probabilidad p de éxito y la probabilidad q de fracasode dicho experimento de Bernoulli.

Hay 15 vértices, 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 5veces se obtenga al menos un éxito.

Este suceso es complementario al suceso todo fracasos, por tanto su pro-babilidad es:

1− (12/15)5.

7) Sea un nuevo experimento aleatorio que consiste en elegir un vértice deG. Sea la variable aleatoria g consistente en asignar a cada vértice su grado.Describir el espacio muestral de dicho experimento y la función g. Calcularla esperanza matemática de dicha variable aleatoria.

El espacio muestral Ω es el conjunto de vértices, que se puede pensarcomo N15. La función 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 matemática es:

(6 + 9 + 8 + 12 + 8 + 7 + 5 + 12 + 6 + 7 + 9 + 6 + 7 + 12 + 8)/15.

8) Determinar el número de aristas que hay que añadir a G para que seconvierta en el grafo completo.

El grafo completo K15 tiene todos sus vértices de grado 14 con lo que elnúmero de aristas que tiene es:

(15× 14)/2.

De este modo la diferencia entre este número y el |V | son las aristas quehay que añadir a G para obtener el grafo completo, esto es, 105− 61.

Page 352: Apuntes de Matematicas Discretas(2)

352 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaEXAMEN FINAL2000-2001. 3-02-2001

La duración del examen es de 2 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.

1. Estudiar si el siguiente razonamiento es o no correcto: Si el color noes azul, entonces o está nublado o hay un eclipse. El color es azul o de locontrario hay un eclipse. Por lo tanto está nublado.

2. Considerar el siguiente algoritmo en seudocódigo:

Entrada:nx:=n; y:=0; z:=0While y<x-1y:=y+1, z:=z+y

Salida: z¾Cuál es el valor de z una vez ejecutado el algoritmo? Estudiarla complejidad del algoritmo en términos de n.

3. De un número positivo menor que 100 sabemos que al dividirlo por 2da de resto 1, al dividirlo por 3 da de resto 1 y al dividirlo por 7 da de resto2. ¾De qué número se trata?

4. Sean Z6 el conjunto de clases de equivalencia de la relación de con-gruencia módulo 6,

Z6 = 0, 1, 2, 3, 4, 5,y f : Z6 → Z6 denida por f(x) = 2x. Estudiar si f es inyectiva y/osuprayectiva.

Page 353: Apuntes de Matematicas Discretas(2)

353

5. Los 11 jugadores del club de futbol Rey Juan Carlos se colocan enuna única la para hacerse una fotografía. Dos de ellos se llaman Lucas yManuel. Se pide:

a) Hallar la probabilidad de que Manuel esté situado en el centro de los11 jugadores.

b) Manuel y Lucas estén situados uno al lado del otro.

6. La probabilidad de que un ordenador ensamblado en Taiwan presentealgún defecto es 0.001. La URJC ha comprado recientemente 5 ordenadoresensamblados en Taiwan. Hallar la probabilidad de:

a) Los 5 ordenadores presenten algún defecto.b) De los cinco ordenadores haya al menos uno que presente algún defecto.

7. Dado el grafo cuya matriz de adyacencias es la que aparece a conti-nuación, razónese la respuesta a cada una de las siguientes preguntas: ¾Esconexo? ¾Es euleriano? ¾Es hamiltoniano? ¾Es bipartido?. Señálese si elgrafo es de alguno de los tipos que aparecen a continuación: Árbol, rueda,cubo, ciclo.

A =

0 1 1 1 0 0 11 0 0 1 0 0 01 0 0 1 0 0 01 1 1 0 0 1 10 0 0 0 0 1 00 0 0 1 1 0 11 0 0 1 0 1 0

8. En un cierto departamento conviven 85 personas. Responder a lassiguientes preguntas:

a) ¾Es posible que cada miembro del departamento se lleve mal con exac-tamente 5 de los miembros restantes?

(Indicación: utilizar un grafo en el que los vértices sean las personas yhay una arista entre cada dos personas que se llevan mal).

b) ¾Hay, al menos, dos personas con exactamente el mismo número deamigos en el departamento? (Indicación: Se aconseja razonar por reducciónal absurdo).

Page 354: Apuntes de Matematicas Discretas(2)

354 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

9. Dibujar los 5 grafos no dirigidos (pudiendo haber lazos o aristas mul-tiples) que existen (salvo isomorsmos) con 4 vértices de grado 2 (recuerdaque un lazo sobre un vértice aporta dos unidades al grado de ese vértice).

10. En el conjunto N7 se considera la relación R determinada por:

∀a, b ∈ N7, (aRb ⇔ (a + b) < 5) .

Representar la relación mediante un digrafo. Estudiar si es reexiva,simétrica y transitiva. Calcular la clausura transitiva.

Page 355: Apuntes de Matematicas Discretas(2)

355

Matemática DiscretaEXAMEN FINAL RESUELTO

2000-2001. 3-02-2001

La duración del examen es de 2 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.

1. Estudiar si el siguiente razonamiento es o no correcto: Si el color noes azul, entonces o está nublado o hay un eclipse. El color es azul o de locontrario hay un eclipse. Por lo tanto está nublado.

Sean las proposiciones siguientes: a :=el color es azul, n :=está nubladoy e :=hay eclipse. El razonamiento es el siguiente:

¬a ⇒ (n ∨ e)a ∨ (¬a ∧ e)n

Si la segunda hipótesis es verdadera entonces o bien a es V o bien ¬a∧ ees V . Si a es verdadera entonces ¬a es F con lo que la primera hipótesises verdadera. Por tanto a := V hace que ambas hipótesis sean verdaderas.Tomando a := V y n := F (y e cualquiera) se tiene que el razonamiento noes válido.

2. Considerar el siguiente algoritmo en seudocódigo:

Entrada:nx:=n; y:=0; z:=0While y<x-1y:=y+1, z:=z+y

Salida: z¾Cuál es el valor de z una vez ejecutado el algoritmo? Estudiarla complejidad del algoritmo en términos de n.

Page 356: Apuntes de Matematicas Discretas(2)

356 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

El valor de la salida es:

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

Como hay sólo un bucle que realiza en cada repetición una cantidadconstante de operaciones, el algoritmo es de complejidad lineal.

3. De un número positivo menor que 100 sabemos que al dividirlo por 2da de resto 1, al dividirlo por 3 da de resto 1 y al dividirlo por 7 da de resto2. ¾De qué número se trata?

Hay que resolver el siguiente sistema de congruencias:

x ≡ 1 mod 2x ≡ 1 mod 3x ≡ 2 mod 7

Como 2, 3 y 7 son primos, entonces hay una única solución módulo 2 ×3 × 7 = 42 por el teorema chino de los restos. De hecho cualquier soluciónes de la forma:

37 + 42k k ∈ Z.

Entonces tanto 37 como 37+42 = 79 son soluciones al ejercicio (y ademásson las únicas).

4. Sean Z6 el conjunto de clases de equivalencia de la relación de con-gruencia módulo 6,

Z6 = 0, 1, 2, 3, 4, 5,y f : Z6 → Z6 denida por f(x) = 2x. Estudiar si f es inyectiva y/osuprayectiva.

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 enuna única la para hacerse una fotografía. Dos de ellos se llaman Lucas yManuel. Se pide:

Page 357: Apuntes de Matematicas Discretas(2)

357

a) Hallar la probabilidad de que Manuel esté situado en el centro de los11 jugadores.

Hay 11! maneras de disponer a los 11 jugadores en una la. Si Manuelocupa un sitio determinado entonces hay 10! maneras de situar a los 10restantes. Por tanto 10!/11! = 1/11 es la probabilidad buscada.

b) Lucas y Manuel estén 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 sólo pretendemos que estén juntos,pueden ocupar cualquier lugar del primero al décimo y el inmediatamentesiguiente. 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 presentealgún defecto es 0.001. La URJC ha comprado recientemente 5 ordenadoresensamblados en Taiwan. Hallar la probabilidad de:

a) Los 5 ordenadores presenten algún defecto. La probabilidad es 0.0015.

b) De los cinco ordenadores haya al menos uno que presente algún defecto.

Es un suceso complementario al suceso todos estén bien por lo que laprobabilidad es 1− 0.9995.

7. Dado el grafo cuya matriz de adyacencias es la que aparece a conti-nuación, razónese la respuesta a cada una de las siguientes preguntas: ¾Esconexo? ¾Es euleriano? ¾Es hamiltoniano? ¾Es bipartido?. Señálese si elgrafo es de alguno de los tipos que aparecen a continuación: Árbol, rueda,cubo, ciclo.

A =

0 1 1 1 0 0 11 0 0 1 0 0 01 0 0 1 0 0 01 1 1 0 0 1 10 0 0 0 0 1 00 0 0 1 1 0 11 0 0 1 0 1 0

Page 358: Apuntes de Matematicas Discretas(2)

358 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Representando el grafo se observa que es conexo.No es euleriano pues tiene vértices de grado impar.No es bipartido. En efecto, tomamos el vértice 1. Como el vértice 2

y el 4 son adyacentes con él, no deben estar en el mismo subconjunto devértices que el 1, pero son adyacentes entre sí lo que evita la posibilidad deser bipartido.

No puede ser Hamiltoniano porque contiene un vértice de grado 1.No es un árbol porque contiene ciclos, por ejemplo, el 1431.No es una rueda porque en una rueda todos los vértices, salvo uno, tienen

grado dos.No es un ciclo porque en un ciclo todos los vértices tienen grado 2.No es un cubo pues tiene 7 vértices.

8. En un cierto departamento conviven 85 personas. Responder a lassiguientes preguntas:

a) ¾Es posible que cada miembro del departamento se lleve mal con exac-tamente 5 de los miembros restantes?

Construimos un grafo simple cuyo conjunto de vértices es el conjuntode personas y dos vértices son adyacentes si las correspondientes personasse llevan mal. En las hipótesis de a) el grado de cada vértice es 5, lo queproduce un grafo simple con una cantidad impar de vértices de grado par, loque es una contradicción.

(Indicación: utilizar un grafo en el que los vértices sean las personas yhay una arista entre cada dos personas que se llevan mal).

b) ¾Hay, al menos, dos personas con exactamente el mismo número deamigos en el departamento? (Indicación: Se aconseja razonar por reducciónal absurdo).

Construimos una función número de amigos que asigna a cada persona elnúmero de amigos que tiene. Entonces aparece una aplicación 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 mul-tiples) que existen (salvo isomorsmos) con 4 vértices de grado 2 (recuerdaque un lazo sobre un vértice aporta dos unidades al grado de ese vértice).

El conjunto de vértices es N4 y lo que cambia es el conjunto de aristasque puede ser:

E := (1, 1), (2, 2), (3, 3), (4, 4)

Page 359: Apuntes de Matematicas Discretas(2)

359

E := (1, 2), (1, 2), (3, 3), (4, 4)E := (1, 2), (1, 2), (3, 4), (3, 4)E := (1, 2), (2, 3), (3, 4), (4, 1)E := (1, 2), (2, 3), (3, 1), (4, 4)

10. En el conjunto N7 se considera la relación R determinada por:

∀a, b ∈ N7, (aRb ⇔ (a + b) < 5) .

Representar la relación mediante un digrafo. Estudiar si es reexiva,simétrica y transitiva. Calcular la clausura transitiva.

El digrafo tiene como vértices 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 simétrica puesto que si a + b < 5

entonces b + a < 5. No es antisimétrica puesto que (1, 2), (2, 1) ∈R. No estransitiva pues (3, 1), (1, 3) ∈ R y (3, 3) /∈ R. Se tiene que Ct = R ∪ (3, 3).

Page 360: Apuntes de Matematicas Discretas(2)

360 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaEXAMEN FINAL2000-2001. Septiembre

La duración del examen es de 3 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.

1.1. (0.5 ptos) Determinar si el siguiente razonamiento es verdadero:Si José ganó la carrera entonces Pedro fue el segundo o Ramón fue el segundo.Si Pedro fue el segundo entonces José no ganó la carrera. Si Carlos fue elsegundo entonces Ramón no fue el segundo. José ganó la carrera. LuegoCarlos no fue el segundo.1.2. (0.5 ptos.) Sea P (x) el predicado x sabe hablar ruso y Q(x) el predicado xsabe 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 enC.

ii) Hay un alumno en la escuela que sabe hablar ruso y no sabe programaren 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 ∈ Nc:=0

Page 361: Apuntes de Matematicas Discretas(2)

361

For i=1 to nFor j=1 to i

c:=c+jSalida: ci) (1 pto.) Explicar qué hace el algoritmo y dar una fórmula 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 grafocuya matriz de adyacencias es la siguiente:

0 1 0 0 1 01 0 1 0 0 10 1 0 1 0 00 0 1 0 1 01 0 0 1 0 00 1 0 0 0 0

Sea p = 0.1 la probabilidad de que un cable que une dos ordenadoresadyacentes se dañe.

i) (1 pto.) Cuál es la probabilidad de que se estropeen al menos doscables.

ii) (1 pto.) Cuál es la probabilidad de que un mensaje que parte delordenador numerado con un 1 no llegue al ordenador numerado con un 2,teniendo en cuenta la información sobre la probabilidad de que se dañe unaconexión.

5. Sea la siguiente matriz la matriz de adyacencias de un grafo simple G =(V, A):

0 1 0 0 0 0 0 01 0 1 1 0 0 0 00 1 0 1 0 0 0 00 1 1 0 0 0 0 00 0 0 0 0 1 0 00 0 0 0 1 0 1 00 0 0 0 0 1 0 10 0 0 0 0 0 1 0

i) (0.5 ptos.) Determinar el número de componentes conexas del grafo.

Page 362: Apuntes de Matematicas Discretas(2)

362 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

ii) (0.5 ptos.) Determinar si G es un árbol. Determinar si al añadir laarista (1, 5) el nuevo grafo (V, A ∪ (1, 5)) es un árbol.

iii) (0.5 ptos.) Determinar los grados de todos los vértices 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 relación: sean a, b ∈ A entonces aRb si y sola-mente si a− b ≡ 0(mod 3).

i) (1 pto.) Demostrar que R es una relación de equivalencia en A.ii) (0.5 ptos.) Representarla mediante un grafo.iii) (0.5 ptos.) Describir todas las clases de equivalencia de A módulo la

relación R.

Page 363: Apuntes de Matematicas Discretas(2)

363

Matemática DiscretaEXAMEN FINAL RESUELTO

2000-2001. Septiembre

La duración del examen es de 3 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.

1.1. (0.5 ptos) Determinar si el siguiente razonamiento es verdadero:Si José ganó la carrera entonces Pedro fue el segundo o Ramón fue el segundo.Si Pedro fue el segundo entonces José no ganó la carrera. Si Carlos fue elsegundo entonces Ramón no fue el segundo. José ganó la carrera. LuegoCarlos 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 xsabe 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 enC.

∃x ∈ U (P (x) ∧Q(x))

ii) Hay un alumno en la escuela que sabe hablar ruso y no sabe programaren 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))

Page 364: Apuntes de Matematicas Discretas(2)

364 CAPÍTULO 7. CONTROLES Y EXÁMENES 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 laexistencia de una solución única módulo 3 × 7 × 5 = 105. Por tanto todaslas soluciones son de la forma:

x = 26 + 105k k ∈ Z.

3. Sea el siguiente algoritmo:Entrada: n ∈ Nc:=0For i=1 to n

For j=1 to ic:=c+j

Salida: ci) (1 pto.) Explicar qué hace el algoritmo y dar una fórmula 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 efectúa

se realizan del orden de i operaciones en el bucle j por tanto la complejidades cuadrática.

4. Sea una red de 6 ordenadores numerados del 1 al 6 descrita por un grafocuya matriz de adyacencias es la siguiente:

0 1 0 0 1 01 0 1 0 0 10 1 0 1 0 00 0 1 0 1 01 0 0 1 0 00 1 0 0 0 0

Page 365: Apuntes de Matematicas Discretas(2)

365

Sea p = 0.1 la probabilidad de que un cable que une dos ordenadoresadyacentes se dañe.

i) (1 pto.) Cuál es la probabilidad de que se estropeen al menos doscables.

Estudiando el grafo, observamos que contiene 6 aristas, por tanto tenemosun experimento de Bernouilli que se repite 6 veces con probabilidad p = 0.1de éxito y nos preguntamos por el suceso al menos dos éxitos, su probabilidades:

Σ6i=2

(6

i

)pi(1− p)1−i.

ii) (1 pto.) Cuál es la probabilidad de que un mensaje que parte delordenador numerado con un 1 no llegue al ordenador numerado con un 2,teniendo en cuenta la información sobre la probabilidad de que se dañe unaconexión.

Se deben romper simúltaneamente el cable (1, 2) y al menos uno de loscables 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 01 0 1 1 0 0 0 00 1 0 1 0 0 0 00 1 1 0 0 0 0 00 0 0 0 0 1 0 00 0 0 0 1 0 1 00 0 0 0 0 1 0 10 0 0 0 0 0 1 0

i) (0.5 ptos.) Determinar el número de componentes conexas del grafo.Tiene dos componentes conexas, la que contiene a los vértices 1, 2, 3, 4 y

la que contiene a los vértices 5, 6, 7, 8.ii) (0.5 ptos.) Determinar si G es un árbol. Determinar si al añadir la

arista (1, 5) el nuevo grafo (V,A ∪ (1, 5)) es un árbol.

Page 366: Apuntes de Matematicas Discretas(2)

366 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

G no es un árbol pues no es conexo.Al añadir dicha arista se obtiene la conexión pero no es un árbol porque

contiene el ciclo 2342.iii) (0.5 ptos.) Determinar los grados de todos los vértices de G.La sucesión de los grados, siguiendo la ordenación de vértices 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 vértices 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 relación: sean a, b ∈ A entonces aRb si y sola-mente si a− b ≡ 0(mod 3).

i) (1 pto.) Demostrar que R es una relación de equivalencia en A.Es reexiva puesto que a− a = 0 ≡ 0(mod 3).Es simétrica 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 vértices es A. Sean:

A1 := 1, 4, 7, 13, 16, 34, 52, 112A2 := 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 módulo larelación R.

El cociente A/R tiene tres elementos: A1, A2 y A3.

Page 367: Apuntes de Matematicas Discretas(2)

367

Matemática DiscretaCONTROL 1

2001-2002

Ejercicio 1. (5 puntos) Demostrar por inducción que 42n − 1 es divisiblepor 15 para cada número natural n.

Ejercicio 2. (5 puntos) Diseñar un algoritmo que, dada una lista deenteros, encuentre el primer término de la lista que es igual que alguno delos anteriores. Estudiar su complejidad.

Page 368: Apuntes de Matematicas Discretas(2)

368 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaCONTROL 1 resuelto

2001-2002

Ejercicio 1. (5 puntos) Demostrar por inducción que 42n − 1 es divisiblepor 15 para cada número natural n.

Base de inducción: Como 42 − 1 = 15 se tiene que es divisible por 15.Paso de inducción: Supongamos, por hipótesis de inducción, que existe t ∈ Ztal 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 hipótesis de inducción:

42(n+1) − 1 = 42 × (15t + 1)− 1 = 42 × 15t + 16− 1 = 42 × 15t + 15.

Con lo cual es múltiplo de 15.

Ejercicio 2. (5 puntos) Diseñar un algoritmo que, dada una lista deenteros, encuentre el primer término de la lista que es igual que alguno delos anteriores. Estudiar su complejidad.

Entrada: a1, ..., an

c := 0For i = 2 to n

For j = 1 to i− 1If aj = ai thenc := j, j := n + 1, i := n + 1

If c := 0 then c :=No hay elementos repetidos.Salida: c.

Page 369: Apuntes de Matematicas Discretas(2)

369

El caso peor es el caso en que no hay elementos repetidos. El bucle internose repite i − 1 veces, cada una de las cuales efectúa una cantidad constantede operaciones (una comparación y el aumento del contador j, esto es, 3).Por tanto la función 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 asignación inicial a la c y las asig-naciones de la salida. El 3 que multiplica son las operaciones del segundobucle. Los doses corresponden al aumento del contador i. El uno nal es lacomparación que nos saca del bucle.

Por tanto:O(T (n)) = O(n2).

Es un algoritmo de complejidad cuadrática.

Page 370: Apuntes de Matematicas Discretas(2)

370 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaCONTROL 1

2001-2002

Ejercicio 1. (5 puntos) Demostrar por inducción el siguiente hecho:

1 + 2 + 22 + ... + 2n = 2n+1 − 1

Ejercicio 2. (5 puntos) Construir un algoritmo que tenga como entradauna lista de números enteros y obtenga como salida el primer elemento de lalista que es estrictamente menor que el inmediatamente precedente. Estudiarsu complejidad.

Page 371: Apuntes de Matematicas Discretas(2)

371

Matemática DiscretaCONTROL 1 resuelto

2001-2002

Ejercicio 1. (5 puntos) Demostrar por inducción el siguiente hecho:

1 + 2 + 22 + ... + 2n = 2n+1 − 1

Base de inducción: Para n = 1 la fórmula dice que 1 + 2 = 22 − 1 lo quees cierto.

Paso de inducción: Como

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

aplicando la hipótesis de inducción se tiene la fórmula buscada:

1 + 2 + ... + 2n + 2n+1 = 2n+1 − 1 + 2n+1 = 2n+2 − 1.

Ejercicio 2. (5 puntos) Construir un algoritmo que tenga como entradauna lista de números enteros y obtenga como salida el primer elemento de lalista que es estrictamente menor que el inmediatamente precedente. Estudiarsu complejidad.

Entrada: a1, ..., an

S := 0For i = 2 to n while S := 0

ifai < ai − 1 S := 1if S = 0 then r :=no hay elementos vericando la condición else r := ai−1.Salida: r.Es un algoritmo de complejidad lineal pues sólo hay un bucle que realiza

una cantidad constante de operaciones.

Page 372: Apuntes de Matematicas Discretas(2)

372 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaCONTROL 2

2001-2002

Sea la siguiente matriz una matriz de adyacencias de un grafo simpleG = (V,E).

0 0 1 1 0 0 0 0 0 1 0 0 0 0 10 0 0 0 1 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 0 1 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 1 0 0 0 0 0 0 0 0 00 0 0 0 1 0 1 1 0 0 0 0 0 0 00 0 0 0 0 1 0 1 0 0 0 0 0 0 00 0 0 0 0 1 1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 1 1 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0 0 1 0 1 00 0 0 0 0 0 0 0 1 0 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 1 0 1 00 0 0 0 0 0 0 0 0 0 1 0 1 0 01 0 0 1 0 0 0 0 0 0 0 0 0 0 0

1. Determinar el número de vértices, el grado de cada vértice y el númerode aristas de G.

2. Determinar las distintas componentes conexas de G, escribiendo susvértices y aristas.

3. Determinar cuántas aristas como mínimo se han de añadir a G paraconvertirlo en un grafo conexo.

4. Determinar si cada una de las componentes conexas de G es o noEuleriana.

5. Idem que 4 con Hamiltoniana.

Page 373: Apuntes de Matematicas Discretas(2)

373

6. Sea el grafo simple H = (V ′, E ′) denido como V ′ = V y E ′ =E ∪ 10, 2, 2, 9. Vericar que H es conexo y comprobar si es o noEuleriano.

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 dañe un cable en una red representada

por el grafo H (los vértices son nodos y las aristas son cables entre nodos)es 10−2. Determinar la probabilidad de que falle una comunicación entre losvértices 10 y 5.

10. Idem que 8 entre los vértices 2 y 7.

Page 374: Apuntes de Matematicas Discretas(2)

374 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaCONTROL 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 10 0 0 0 1 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 0 1 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 1 0 0 0 0 0 0 0 0 00 0 0 0 1 0 1 1 0 0 0 0 0 0 00 0 0 0 0 1 0 1 0 0 0 0 0 0 00 0 0 0 0 1 1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 1 1 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0 0 1 0 1 00 0 0 0 0 0 0 0 1 0 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 1 0 1 00 0 0 0 0 0 0 0 0 0 1 0 1 0 01 0 0 1 0 0 0 0 0 0 0 0 0 0 0

1. Determinar el número de vértices, el grado de cada vértice y el númerode aristas de G.

El número de vértices es 15 pues es el número de las o columnas dela matriz. Sumando los 1 de cada la tenemos el grado de cada vértice,ordenados del 1 al 15 los grados son:

4, 1, 3, 3, 2, 3, 2, 2, 2, 2, 3, 3, 2, 2, 2.

El número de aristas es la mitad de la suma de los grados de los vértices,esto es, 18.

Page 375: Apuntes de Matematicas Discretas(2)

375

2. Determinar las distintas componentes conexas de G, escribiendo susvértices 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 cuántas aristas como mínimo se han de añadir a G paraconvertirlo en un grafo conexo.

Basta añadir dos aristas, por ejemplo las aristas 10, 2 y 2, 9. Unaarista no es suciente porque sólo podríamos conectar dos componentes entresí.

4. Determinar si cada una de las componentes conexas de G es o noEuleriana.

Ninguna lo es porque todas contienen vértices 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 vértices de grado 1. La tercera lo es porquecontiene al circuito Hamiltoniano

11, 9, 12, 13, 14, 11

6. Sea el grafo simple H = (V ′, E ′) denido como V ′ = V y E ′ =E ∪ 10, 2, 2, 9. Vericar que H es conexo y comprobar si es o noEuleriano.

Es conexo porque se han conectado las distintas componentes conexas.No es Euleriano porque, por ejemplo, el vértice 1 tiene grado 3.

7. Computar un árbol generador de H.

Page 376: Apuntes de Matematicas Discretas(2)

376 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Hay que hacer desaparecer los ciclos. Quitando, por ejemplo, las aristas6, 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 podría, por ejemplo, tomar la arista 6, 8 y quitar en sulugar la arista 6, 7.

9. Si la probabilidad de que se dañe un cable en una red representadapor el grafo H (los vértices son nodos y las aristas son cables entre nodos)es 10−2. Determinar la probabilidad de que falle una comunicación entre losvértices 10 y 5.

Debe extropearse o el cable 10, 2 o el 2, 5. Por lo que la probabilidades 2 ∗ 10−2.

10. Idem que 9 entre los vértices 2 y 7.Se imposibilita la comunicación 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, 8y 7, 8. Por tanto 2 ∗ 10−2 + 10−2(2 ∗ 10−2(1− 10−2) + 10−4).

Page 377: Apuntes de Matematicas Discretas(2)

377

Matemática DiscretaEXAMEN FINAL A

2001-2002. Febrero

La duración del examen es de 3 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.La puntuación de cada ejercicio se indica en el mismo.El último ejercicio sólo lo tienen que hacer los alumnos no acogidos a evalua-ción continua. Para estos alumnos los problemas 1, 2, 4 y 6 valen 1.5 puntosy el último vale 2 puntos.

1. (2 puntos para los alumnos de evaluación continua 1.5 para el resto) Seala 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 11 0 0 0 1 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 0 1 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 1 0 0 0 0 0 0 0 0 00 0 0 0 1 0 1 1 1 0 0 0 0 0 00 0 0 0 0 1 0 1 0 0 0 0 0 0 00 0 0 0 0 1 1 0 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 1 1 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0 0 1 0 1 00 0 0 0 0 0 0 0 1 0 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 1 0 0 01 0 0 0 0 0 0 0 0 0 1 0 0 0 01 0 0 1 0 0 0 0 0 0 0 0 0 0 0

i) Determinar el número de vértices y el número de aristas de G.ii) Determinar si G es conexo. Determinar si G es Euleriano.

Page 378: Apuntes de Matematicas Discretas(2)

378 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

iii) Determinar los vértices 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 número de vértices y computar, sies posible, un árbol generador de dicha componente.

2. (2 puntos para los alumnos de evaluación continua 1.5 para el resto)Demostrar por inducción que para cada n número natural se verica:

i) 7n es impar,ii) 11n − 1 es un múltiplo de 5.

3. (1 punto) Sea G = (V, E) un grafo simple conexo tal que |V | = 30.Determinar el número mínimo de aristas que puede tener. Determinar elnúmero máximo de aristas que puede tener.

4. (2 puntos para los alumnos de evaluación continua 1.5 para el resto)Construir un algoritmo que tenga como entrada una lista de números enterosa1, ..., an, un entero b y un número 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 listade la entrada) de los elementos de la lista de la entrada que verican sercongruentes con b módulo 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 lógicamente B.

6. (2 puntos para los alumnos de evaluación continua 1.5 para el resto)Sea un grafo simple G′ = (V ′, E ′) representado por la matriz M que es unade sus matrices de ayacencia.

M =

0 1 0 11 0 0 10 0 0 11 1 1 0

Page 379: Apuntes de Matematicas Discretas(2)

379

En el conjunto V ′ de los vértices de G′ se establece una relación R según lacual, dados v, w ∈ V ′, se tiene que vRw si y solamente si existe un camino enG′ de longitud 2 uniendo v con w. Estudiar si la relación R es reexiva, si-métrica, antisimétrica y transitiva. (Nótese que existe una adecuada manerade representar la información sobre los caminos de longitud dos en términosde M .)

Ejercicio adicional para los alumnos no acogidos a evaluacióncontinua (2 puntos)

Se ha de elegir un comité de k personas de un conjunto de 7 mujeres y 4hombres. De cuántas maneras se puede elegir dicho comité si:

(a) ha de estar formado por 5 personas, de los cuales 3 son hombres y 2mujeres;

(b) el comité puede estar formado por cualquier número de personas siem-pre y cuando haya el mismo número de hombres que de mujeres;

(c) el comité tiene 4 personas de las cuales al menos dos de las cuales sonmujeres;

(d) el comité tiene 4 personas, dos de cada sexo, pero el Sr. Ramírez nopuede estar en el comité con la señora Gómez.

Page 380: Apuntes de Matematicas Discretas(2)

380 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaEXAMEN FINAL A resuelto

2001-2002. Febrero

1. (2 puntos) Sea la siguiente matriz una matriz de ayacencias de un grafosimple G = (V, E).

0 1 1 1 0 0 0 0 0 1 0 0 0 1 11 0 0 0 1 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 0 1 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 1 0 0 0 0 0 0 0 0 00 0 0 0 1 0 1 1 1 0 0 0 0 0 00 0 0 0 0 1 0 1 0 0 0 0 0 0 00 0 0 0 0 1 1 0 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 1 1 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0 0 1 0 1 00 0 0 0 0 0 0 0 1 0 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 1 0 0 01 0 0 0 0 0 0 0 0 0 1 0 0 0 01 0 0 1 0 0 0 0 0 0 0 0 0 0 0

i) Determinar el número de vértices y el número de aristas de G.Como la matriz tiene 15 las y 15 columnas, entonces G tiene 15 vértices.

Podemos calcular el grado de cada vértice viendo el número de unos que hayen cada la (o en cada columna), de esta manera la sucesión de los gradosde los vértices es: 6, 2, 3, 3, 2, 4, 2, 2, 3, 2, 3, 3, 1, 2, 2. Como la suma delos grados de los vértices es 40, el grafo tiene 20 aristas.

ii) Determinar si G es conexo. Determinar si G es Euleriano.Como el vértice 1 es adyacente con los vértices 2, 3, 4, 10 y 14, todos

ellos están en la misma componente. El 2 es adyacente con el 5, el 5 lo escon el 6 y éste con el 7 con el 8 y con el 9. De este modo ya tenemos que lossiguientes vértices están 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

Page 381: Apuntes de Matematicas Discretas(2)

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 vértices degrado impar (por ejemplo el 3 que tiene grado 3).

iii) Determinar los vértices de grado mayor o igual que 4.El vértice 1 tiene grado 6 y el vértice 6 tiene grado 4, el resto de los

vértices tiene grado menor.iv) Computar, si es posible, un árbol generador de G. Si G es no conexo,

tomar la componente conexa con mayor número de vértices y computar, sies posible, un árbol generador de dicha componente.

Como G es conexo se puede computar un árbol generador eliminando unaarista en cada ciclo para que éstos desaparezcan. Como hay 15 vértices, elárbol tendrá 14 aristas, de modo que hay que quitar 6. Por ejemplo, podemosquitar: 3, 10, 3, 4, 4, 15, 7, 8, 11, 14 y 11, 12.

2. (2 puntos) Demostrar por inducción que para cada n número naturalse verica:

i) 7n es impar,ii) 11n − 1 es un múltiplo de 5.i) Como 71 = 7 que es un número impar, la armación i) es cierta para

n = 1.Si 7n es impar entonces existe un número 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 armación ii) es cierta paran = 1.

Si 11n − 1 es un múltiplo de 5 entonces existe un entero k de modo que11n = 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 número mínimo de aristas que puede tener. Determinar elnúmero máximo de aristas que puede tener.

Page 382: Apuntes de Matematicas Discretas(2)

382 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

El número mínimo de aristas lo tiene cuando es un árbol, entonces tiene29 aristas. El máximo número de aristas lo tiene cuando es el grafo completoK30 con 30 vértices, cada uno con grado 29 por tanto con 15× 29 aristas.

4. (2 puntos) Construir un algoritmo que tenga como entrada una listade números enteros a1, ..., an, un entero b y un número natural p 6= 1, esdecir,

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 listade la entrada) de los elementos de la lista de la entrada que verican sercongruentes con b módulo p. Estudiar su complejidad.

Entrada: a1 ,..., an; b; p.j := 0For 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 elser := c1, ..., cj

Salida: r

Entendemos como tamaño de la entrada el número n longitud de la listade la entrada. Es un algoritmo de complejidad lineal ya que hay un bucleque se repite n veces y que realiza una cantidad constante de operaciones, enel 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 lógicamente B.La única posibilidad para que A no implique lógicamente B es que existan

valores de verdad de las variables p, q, r, s que hacen que A sea verdadero yB falso. Ahora bien, si B es falso es porque p ∧ r es verdadero y q ∧ s esfalso. Es decir p y r verdaderas y alguna entre q y s falsa. Obsérvese que Aes la conjunción de dos implicaciones. En ambas implicaciones la hipótesises verdadera (p y r son ambas verdaderas) pero alguna de las tesis es falsa

Page 383: Apuntes de Matematicas Discretas(2)

383

(o q o s son falsas) por lo que la conjunción A es falsa en contradicción connuestra suposición A verdadera.

6. (2 puntos) Sea un grafo simple G′ = (V ′, E ′) representado por la matrizM que es una de sus matrices de ayacencia.

M =

0 1 0 11 0 0 10 0 0 11 1 1 0

En el conjunto V ′ de los vértices de G′ se establece una relación R según lacual, dados v, w ∈ V ′, se tiene que vRw si y solamente si existe un camino enG′ de longitud 2 uniendo v con w. Estudiar si la relación R es reexiva, si-métrica, antisimétrica y transitiva. (Nótese que existe una adecuada manerade representar la información sobre los caminos de longitud dos en términosde M .)

La matriz de la relación será la matriz de unos y ceros de M2 es deir unamatriz con un uno donde M2 tiene una entrada no nula y un cero en el restode las entradas.

Como M2 es:

M =

2 1 1 11 2 1 11 1 1 01 1 0 3

Entonces la relación que queremos estudiar se puede representar mediantela siguiente matriz:

1 1 1 11 1 1 11 1 1 01 1 0 1

Es entonces reexiva pues la diagonal no tiene ninguna entrada nula. Essimétrica pues la matriz es simétrica. No es antisimétrica pues, por ejemplo,1R2 y 2R1. Tampoco es trasitiva pues, por ejemplo, 3R2 y 2R4 pero 3 no serelaciona con 4.

Page 384: Apuntes de Matematicas Discretas(2)

384 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Ejercicio adicional para los alumnos no acogidos a evaluacióncontinua (2 puntos)

Se ha de elegir un comité de k personas de un conjunto de 7 mujeres y 4hombres. De cuántas maneras se puede elegir dicho comité si:

(a) ha de estar formado por 5 personas, de los cuales 3 son hombres y 2mujeres;

Se trata de elegir un trío no ordenado de hombres entre los 4 posibles yuna pareja no ordenada de mujeres entre las 7 posibles. Por tanto será

(5

3

)(7

2

)

(b) el comité puede estar formado por cualquier número de personas siem-pre y cuando haya el mismo número de hombres que de mujeres;

De este modo pueden ser desde 1 hombre y una mujer (en total 2) hasta4 hombres y 4 mujeres (en total 8). Esto es:

7× 4 +

(7

2

)(4

2

)+

(7

3

)(4

3

)+

(7

4

)(4

4

)

(c) el comité tiene 4 personas de las cuales al menos dos de las cuales sonmujeres;

Entonces son 2 mujeres y 2 hombres, o tres mujeres y 1 hombre o 4mujeres: (

7

2

)(4

2

)+

(7

3

)(4

1

)+

(7

4

)

(d) el comité tiene 4 personas, dos de cada sexo, pero el Sr. Ramírez nopuede estar en el comité con la señora Gómez.

El número total de comités es(

7

2

)(4

2

)

El número de comités en los que están simultáneamente ambos personajeses simplemente 6× 3 y el resultado nal es la diferencia.

Page 385: Apuntes de Matematicas Discretas(2)

385

Matemática DiscretaEXAMEN FINAL B

2001-2002. Febrero

La duración del examen es de 3 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.La puntuación de cada ejercicio se indica en el mismo.El último ejercicio sólo lo tienen que hacer los alumnos no acogidos a evalua-ción continua. Para estos alumnos los problemas 1, 2, 4 y 5 valen 1.5 puntosy el último vale 2 puntos.

1. (2 puntos para los alumnos de evaluación continua y 1.5 para el resto)Demostrar por inducción que para cada n número natural se verica:

i) 5n es impar,ii) 21n − 1 es un múltiplo de 5.

2. (2 puntos para los alumnos de evaluación continua y 1.5 para el resto)Sea la siguiente matriz una matriz de ayacencias de un grafo simple G =(V, E).

Page 386: Apuntes de Matematicas Discretas(2)

386 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

0 1 1 1 0 0 0 0 0 1 0 0 0 1 11 0 0 0 1 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 0 1 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 1 0 0 0 0 0 0 0 0 00 0 0 0 1 0 1 1 1 0 0 0 0 0 00 0 0 0 0 1 0 1 0 0 0 0 0 0 00 0 0 0 0 1 1 0 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 1 1 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0 0 1 0 1 00 0 0 0 0 0 0 0 1 0 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 1 0 0 01 0 0 0 0 0 0 0 0 0 1 0 0 0 01 0 0 1 0 0 0 0 0 0 0 0 0 0 0

i) Determinar el número de vértices y el número de aristas de G.ii) Determinar si G es conexo. Determinar si G es Euleriano.iii) Determinar los vértices 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 número de vértices y computar, sies posible, un árbol generador de dicha componente.

3. (1 punto) Sea G = (V, E) un grafo simple conexo tal que |V | = 40.Determinar el número mínimo de aristas que puede tener. Determinar elnúmero máximo de aristas que puede tener.

4. (2 puntos para los alumnos de evaluación continua y 1.5 para el resto)Construir un algoritmo que tenga como entrada una lista de números enterosa1, ..., an, un entero b y un número 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 dela entrada) de los elementos de la lista de la entrada que verican no sercongruentes con b módulo p. Estudiar su complejidad.

5. (2 puntos para los alumnos de evaluación continua y 1.5 para el resto)Sea un grafo simple G′ = (V ′, E ′) representado por la matriz M que es una

Page 387: Apuntes de Matematicas Discretas(2)

387

de sus matrices de ayacencia.

M =

0 1 0 11 0 0 10 0 0 11 1 1 0

En el conjunto V ′ de los vértices de G′ se establece una relación R según lacual, dados v, w ∈ V ′, se tiene que vRw si y solamente si existe un camino enG′ de longitud 2 uniendo v con w. Estudiar si la relación R es reexiva, si-métrica, antisimétrica y transitiva. (Nótese que existe una adecuada manerade representar la información sobre los caminos de longitud dos en términosde 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 lógicamente B.

Ejercicio adicional para los alumnos no acogidos a evaluacióncontinua (2 puntos)

Se ha de elegir un comité de k personas de un conjunto de 7 mujeres y 4hombres. De cuántas maneras se puede elegir dicho comité si:

(a) ha de estar formado por 6 personas, de los cuales 4 son hombres y 2mujeres;

(b) el comité puede estar formado por cualquier número de personas siem-pre y cuando haya el mismo número de hombres que de mujeres;

(c) el comité tiene 6 personas de las cuales al menos dos de las cuales sonmujeres;

(d) el comité tiene 4 personas, dos de cada sexo, pero el Sr. Ramírez nopuede estar en el comité con la señora Gómez.

Page 388: Apuntes de Matematicas Discretas(2)

388 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaEXAMEN FINAL RESUELTO B

2001-2002. Febrero

1. (2 puntos) Demostrar por inducción que para cada n número naturalse verica:

i) 5n es impar,ii) 21n − 1 es un múltiplo de 5.i) Como 51 = 5 que es un número impar, la armación i) es cierta para

n = 1.Si 5n es impar entonces existe un número 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 armación ii) es cierta paran = 1.

Si 21n − 1 es un múltiplo de 5 entonces existe un entero k de modo que21n = 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 grafosimple G = (V, E).

Page 389: Apuntes de Matematicas Discretas(2)

389

0 1 1 1 0 0 0 0 0 1 0 0 0 1 11 0 0 0 1 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 0 1 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 1 0 0 0 0 0 0 0 0 00 0 0 0 1 0 1 1 1 0 0 0 0 0 00 0 0 0 0 1 0 1 0 0 0 0 0 0 00 0 0 0 0 1 1 0 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 1 1 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0 0 1 0 1 00 0 0 0 0 0 0 0 1 0 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 1 0 0 01 0 0 0 0 0 0 0 0 0 1 0 0 0 01 0 0 1 0 0 0 0 0 0 0 0 0 0 0

i) Determinar el número de vértices y el número de aristas de G.Como la matriz tiene 15 las y 15 columnas, entonces G tiene 15 vértices.

Podemos calcular el grado de cada vértice viendo el número de unos que hayen cada la (o en cada columna), de esta manera la sucesión de los gradosde los vértices es: 6, 2, 3, 3, 2, 4, 2, 2, 3, 2, 3, 3, 1, 2, 2. Como la suma delos grados de los vértices es 40, el grafo tiene 20 aristas.

ii) Determinar si G es conexo. Determinar si G es Euleriano.Como el vértice 1 es adyacente con los vértices 2, 3, 4, 10 y 14, todos

ellos están en la misma componente. El 2 es adyacente con el 5, el 5 lo escon el 6 y éste con el 7 con el 8 y con el 9. De este modo ya tenemos que lossiguientes vértices están 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 el14, 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 vértices degrado impar (por ejemplo el 3 que tiene grado 3).

iii) Determinar los vértices de grado mayor o igual que 4.El vértice 1 tiene grado 6 y el vértice 6 tiene grado 4, el resto de los

vértices tiene grado menor.iv) Computar, si es posible, un árbol generador de G. Si G es no conexo,

tomar la componente conexa con mayor número de vértices y computar, sies posible, un árbol generador de dicha componente.

Page 390: Apuntes de Matematicas Discretas(2)

390 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Como G es conexo se puede computar un árbol generador eliminando unaarista en cada ciclo para que éstos desaparezcan. Como hay 15 vértices, elárbol tendrá 14 aristas, de modo que hay que quitar 6. Por ejemplo, podemosquitar: 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 número mínimo de aristas que puede tener. Determinar elnúmero máximo de aristas que puede tener.

El número mínimo de aristas lo tiene cuando es un árbol, entonces tiene39 aristas. El máximo número de aristas lo tiene cuando es el grafo completoK40 con 40 vértices, cada uno con grado 39 por tanto con 20× 29 aristas.

4. (2 puntos) Construir un algoritmo que tenga como entrada una listade números enteros a1, ..., an, un entero b y un número natural p 6= 1, esdecir,

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 dela entrada) de los elementos de la lista de la entrada que verican no sercongruentes con b módulo p. Estudiar su complejidad.

Entrada: a1 ,..., an; b; p.j := 0For 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 elser := c1, ..., cj

Salida: r

Entendemos como tamaño de la entrada el número n longitud de la listade la entrada. Es un algoritmo de complejidad lineal ya que hay un bucleque se repite n veces y que realiza una cantidad constante de operaciones, enel peor de los casos 6.

5. (2 puntos) Sea un grafo simple G′ = (V ′, E ′) representado por la matrizM que es una de sus matrices de ayacencia.

M =

0 1 0 11 0 0 10 0 0 11 1 1 0

Page 391: Apuntes de Matematicas Discretas(2)

391

En el conjunto V ′ de los vértices de G′ se establece una relación R según lacual, dados v, w ∈ V ′, se tiene que vRw si y solamente si existe un camino enG′ de longitud 2 uniendo v con w. Estudiar si la relación R es reexiva, si-métrica, antisimétrica y transitiva. (Nótese que existe una adecuada manerade representar la información sobre los caminos de longitud dos en términosde M .)

La matriz de la relación será la matriz de unos y ceros de M2 es deir unamatriz con un uno donde M2 tiene una entrada no nula y un cero en el restode las entradas.

Como M2 es:

M =

2 1 1 11 2 1 11 1 1 01 1 0 3

Entonces la relación que queremos estudiar se puede representar mediantela siguiente matriz:

1 1 1 11 1 1 11 1 1 01 1 0 1

Es entonces reexiva pues la diagonal no tiene ninguna entrada nula. Essimétrica pues la matriz es simétrica. No es antisimétrica pues, por ejemplo,1R2 y 2R1. Tampoco es trasitiva pues, por ejemplo, 3R2 y 2R4 pero 3 no serelaciona 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 lógicamente B.La única posibilidad para que A no implique lógicamente B es que existan

valores de verdad de las variables t, q, u, s que hacen que A sea verdadero yB falso. Ahora bien, si B es falso es porque t ∧ u es verdadero y q ∧ s esfalso. Es decir t y u verdaderas y alguna entre q y s falsa. Obsérvese que Aes la conjunción de dos implicaciones. En ambas implicaciones la hipótesis

Page 392: Apuntes de Matematicas Discretas(2)

392 CAPÍTULO 7. CONTROLES Y EXÁMENES 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 conjunción A es falsa en contradicción connuestra suposición A verdadera.

Ejercicio adicional para los alumnos no acogidos a evaluacióncontinua (2 puntos)

Se ha de elegir un comité de k personas de un conjunto de 7 mujeres y 4hombres. De cuántas maneras se puede elegir dicho comité si:

(a) ha de estar formado por 6 personas, de los cuales 4 son hombres y 2mujeres;

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 número de personas siem-pre y cuando haya el mismo número de hombres que de mujeres;

De este modo pueden ser desde 1 hombre y una mujer (en total 2) hasta4 hombres y 4 mujeres (en total 8). Esto es:

7× 4 +

(7

2

)(4

2

)+

(7

3

)(4

3

)+

(7

4

)(4

4

)

(c) el comité tiene 6 personas de las cuales al menos dos de las cuales sonmujeres;

Entonces son 2 mujeres y 4 hombres, o tres mujeres y 3 hombres o 4mujeres y 2 hombres o 5 mujeres y 1 hombre o 6 mujeres:

(7

2

)(4

4

)+

(7

3

)(4

3

)(7

4

)(4

2

)+

(7

5

)(4

1

)(7

6

)

(d) el comité tiene 4 personas, dos de cada sexo, pero el Sr. Ramírez nopuede estar en el comité con la señora Gómez.

El número total de comités es(

7

2

)(4

2

)

El número de comités en los que están simultáneamente ambos personajeses simplemente 6× 3 y el resultado nal es la diferencia.

Page 393: Apuntes de Matematicas Discretas(2)

393

Matemática DiscretaEXAMEN FINAL2001-2002. Septiembre

La duración del examen es de 3 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.El examen está formado por 7 ejercicios. La puntuación de cada ejercicio seindica en el mismo.

1. (1 punto) Demostrar por inducción que para cada n número naturalse verica:

Σni=1

1

i(i + 1)=

n

n + 1

2. (2 puntos) Sea la siguiente matriz una matriz de ayacencias de un grafosimple G = (V, E).

0 0 1 1 0 0 0 0 0 1 0 0 0 1 10 0 0 0 1 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 0 1 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 1 0 0 0 0 0 0 0 0 00 0 0 0 1 0 1 1 1 0 0 0 0 0 00 0 0 0 0 1 0 1 0 0 0 0 0 0 00 0 0 0 0 1 1 0 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 1 1 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0 0 1 0 1 00 0 0 0 0 0 0 0 1 0 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 1 0 0 11 0 0 0 0 0 0 0 0 0 1 0 0 0 01 0 0 1 0 0 0 0 0 0 0 0 1 0 0

Page 394: Apuntes de Matematicas Discretas(2)

394 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

i) Determinar el número de vértices y el número de aristas de G.ii) Determinar si G es conexo. Determinar si G es Euleriano.iii) Determinar los grados de cada uno de los vértices.iv) Computar, si es posible, un árbol generador de G. Si G es no conexo,

tomar la componente conexa con mayor número de vértices y computar, sies posible, un árbol generador de dicha componente.

3. (1 punto) Determinar todos los posibles grafos simples no isomomorfoscon cuatro vértices.

4. (2 puntos) Construir un algoritmo que tenga como entrada un númeroentero positivo n y determine si n es potencia de algún otro entero positivo,es decir, si existen otros dos enteros positivos a y b, con b > 1 de modo quen = 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 lógicamente B.ii) Determinar razonadamente si las negaciones de los siguientes enuncia-

dos:1) Todos los estudiantes viven en casa de sus padres.2) Todos los ingenieros informáticos son varones.3) Si su edad es superior a 25 años debe matricularse en el mes de

agosto.son respectivamente:

1) Ningún estudiante vive en casa de sus padres.2) Hay alguna mujer que es ingeniera informática.3) Si su edad no es superior a 25 años no debe matricularse en

agosto.

6. (1 punto) Sea una red de ordenadores modelada según el grafo simpleG′ = (V ′, E ′) representado por la matriz M que es una de sus matrices deadyacencia. Esto quiere decir que V ′ representa el conjunto de ordenadores yque dos vértices diferentes son adyacentes si se ha instalado un cable directo

Page 395: Apuntes de Matematicas Discretas(2)

395

(que no pasa por otro ordenador) uniendo los correspondientes ordenadores.

M =

0 1 0 1 01 0 0 1 00 0 0 1 01 1 1 0 00 0 0 0 0

En el conjunto de ordenadores establecemos la relación R siguiente: el or-denador u se relaciona con v si solamente si están conectados en la red quese presenta anteriormente (entendemos que cada ordenador está obviamenteconectado consigo mismo).

i) Escribir todos los pares que forman la relación.ii) Determinar si la relación R es reexiva, simétrica y transitiva.iii) Determinar si es una relación de equivalencia. En caso de que lo sea

escribir el conjunto cociente V ′/R.

7. (2 puntos) i) Un estudio estadístico muestra que el jugador de balon-cesto Smith encesta un lanzamiento de tiro libre con probabilidad p = 1/3.

a) Si dispone de tres lanzamientos de tiro libre, determinar la proba-bilidad de que enceste al menos uno de ellos.

b) Determinar el número mínimo de lanzamientos que se necesitanpara 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 uni-formemente en un cuadrado, esto es, una sobre cada vértice, una en el centrode 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 trescasillas distintas aleatoriamente dichas tres piezas estén alineadas.

b) Generalizar el problema al situar n piezas en un tablero de tamañon× n.

Page 396: Apuntes de Matematicas Discretas(2)

396 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Figura 7.1: Tablero de Tres en raya

Figura 7.2: Tablero de Cuatro en raya

Page 397: Apuntes de Matematicas Discretas(2)

397

Matemática DiscretaEXAMEN FINAL RESUELTO

2001-2002. Septiembre

La duración del examen es de 3 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.El examen está formado por 7 ejercicios. La puntuación de cada ejercicio seindica en el mismo.

1. (1 punto) Demostrar por inducción que para cada n número naturalse verica:

Σni=1

1

i(i + 1)=

n

n + 1

La fórmula es cierta para n = 1 (base de inducción):

Σ1i=1

1

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

Si la fórmula es cierta para n veamos que también lo es para n + 1 (pasode inducción). Escribimos la suma como:

Σn+1i=1

1

i(i + 1)= Σn

i=1

1

i(i + 1)+

1

(n + 1)(n + 2).

Usamos la hipótesis de inducción:

Σn+1i=1

1

i(i + 1)=

n

n + 1+

1

(n + 1)(n + 2).

Y es una comprobación vericar entonces la fórmula.

2. (2 puntos) Sea la siguiente matriz una matriz de ayacencias de un grafosimple G = (V, E).

Page 398: Apuntes de Matematicas Discretas(2)

398 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

0 0 1 1 0 0 0 0 0 1 0 0 0 1 10 0 0 0 1 0 0 0 0 0 0 0 0 0 01 0 0 1 0 0 0 0 0 1 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 1 0 0 0 0 0 0 0 0 00 0 0 0 1 0 1 1 1 0 0 0 0 0 00 0 0 0 0 1 0 1 0 0 0 0 0 0 00 0 0 0 0 1 1 0 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 1 1 0 0 01 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 1 0 0 1 0 1 00 0 0 0 0 0 0 0 1 0 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 1 0 0 11 0 0 0 0 0 0 0 0 0 1 0 0 0 01 0 0 1 0 0 0 0 0 0 0 0 1 0 0

i) Determinar el número de vértices y el número de aristas de G.La sucesión 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 vértices y 20 aristas.ii) Determinar si G es conexo. Determinar si G es Euleriano.Basta una representación del grafo para observar que es conexo. No es

Euleriano pues tiene vértices de grado impar.iii) Determinar los grados de cada uno de los vértices.Siguiendo la ordenación de los vértices que marca la matriz, la sucesión

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 número de vértices y computar, sies posible, un árbol generador de dicha componente.

Como el grafo es conexo, admite un árbol generador, que debe tener 14aristas. De este modo hay que quitar 7 aristas, que van formando ciclos (es

Page 399: Apuntes de Matematicas Discretas(2)

399

decir, que al quitarlas el grafo permanece conexo). Una posible elección deestas aristas es:

(13, 15), (11, 12), (3, 4)

(3, 10), (1, 15), (6, 7).

3. (1 punto) Determinar todos los posibles grafos simples no isomomorfoscon cuatro vértices.

Aparecen 11 grafos distintos. El conjunto de vértices es siempre V concuatro 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 númeroentero positivo n y determine si n es potencia de algún otro entero positivo,es decir, si existen otros dos enteros positivos a y b, con b > 1 de modo quen = ab. Poner un ejemplo de su funcionamiento.

Entrada: nv := 0For i = 2 to n − 1 (en realidad bastaría hasta la parte entera de la raíz

cuadrada de n) while v = 0if n mod i 6= 0 then i := n + 1

else j := i andwhile j < n do j := j × j

Page 400: Apuntes de Matematicas Discretas(2)

400 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

if j = n then v = 1 else i := i + 1If v = 0 then s :=no else s :=síSalida: s.Ejemplo: Entrada: 9i = 2 como 9 mod 2 6= 0 entoncesi = 3 como 9 mod 3 = 0 entonces

j = 3como j < 9 entonces j = 3× 3 = 9como j = 9 se sale del bucle (j) y v = 1

como v = 1 entonces se sale del bucle icomo v = 1 entonces la salida es sí.

5. (1 punto) i) Sean las siguientes proposiciones:A1 := (p → ¬q)A2 := (r → q)A3 := rB := ¬p

Determinar si de A1, A2 y A3 se deduce lógicamente B.En efecto: A1 es equivalente lógicamente (sentencia contrarrecíproca) a

(q → ¬p). De A3 tenemos que r es V . Usando A2 tenemos que entonces qes V . Usando la sentencia contrarrecíproca de A1 tenemos que ¬p es V . Portanto si las hipótesis son verdaderas, también lo es la tesis.

ii) Determinar razonadamente si las negaciones de los siguientes enuncia-dos:

1) Todos los estudiantes viven en casa de sus padres.2) Todos los ingenieros informáticos son varones.3) Si su edad es superior a 25 años debe matricularse en el mes de

agosto.son respectivamente:

1) Ningún estudiante vive en casa de sus padres.2) Hay alguna mujer que es ingeniera informática.3) Si su edad no es superior a 25 años no debe matricularse en

agosto.1) No. La negación 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).

Page 401: Apuntes de Matematicas Discretas(2)

401

3) No. La sentencia 3) es del tipo p → q donde p es tener más de 25 añosy q es debe matricularse en agosto. Una implicación p → q es equivalente a¬p ∨ q, de modo que la negación es p ∧ ¬q, es decir, tiene más de 25 años ydebe matricularse en agosto.

6. (1 punto) Sea una red de ordenadores modelada según el grafo simpleG′ = (V ′, E ′) representado por la matriz M que es una de sus matrices deadyacencia. Esto quiere decir que V ′ representa el conjunto de ordenadores yque dos vértices diferentes son adyacentes si se ha instalado un cable directo(que no pasa por otro ordenador) uniendo los correspondientes ordenadores.

M =

0 1 0 1 01 0 0 1 00 0 0 1 01 1 1 0 00 0 0 0 0

En el conjunto de ordenadores establecemos la relación R siguiente: el or-denador u se relaciona con v si solamente si están conectados en la red quese presenta anteriormente (entendemos que cada ordenador está obviamenteconectado consigo mismo).

i) Escribir todos los pares que forman la relación.Escribimos V ′ = 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 relación R es reexiva, simétrica y transitiva.Es reexiva, simétrica y transitiva, por tanto una relación de equivalencia.

Claramente la diagonal está contenida en R, por lo que es reexiva (cadaordenador está conectado consigo mismo). Es simétrica puesto que si hayuna conexión entre el ordenador a y el ordenador b, la hay entre b y a. Deigual manera es transitiva pues si a está conectado con b y b con c entoncesnecesariamente a está conectado con c. De hecho si construimos la matriz deunos y ceros de

I + M + M2 + M3 + M4

obtenemos

Page 402: Apuntes de Matematicas Discretas(2)

402 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

1 1 1 1 01 1 1 1 01 1 1 1 01 1 1 1 00 0 0 0 1

Lo que muestra que los cuatro primeros ordenadores están totalmenteconectados entre sí y el quinto ordenador no está conectado con nigún otro.

iii) Determinar si es una relación de equivalencia. En caso de que lo seaescribir el conjunto cociente V ′/R.

En efecto es una relación de equivalencia y el conjunto cociente resultaser el de las componentes conexas del grafo, que en este caso son dos: la quecontiene a los vértices 1, 2, 3 y 4 por un lado y la que contiene al quintovértice por otro, esto es:

V ′/R = 1, 5.

7. (2 puntos) i) Un estudio estadístico muestra que el jugador de balon-cesto Smith encesta un lanzamiento de tiro libre con probabilidad p = 1/3.

a) Si dispone de tres lanzamientos de tiro libre, determinar la proba-bilidad de que enceste al menos uno de ellos.

El suceso resulta ser complementario al suceso errar los tres lanzamientosque tiene probabilidad (2/3)3 por tanto la probabilidad buscada es 1−(2/3)3.

b) Determinar el número mínimo de lanzamientos que se necesitanpara que la probabilidad de encestar al menos uno supere el valor 0.8.

Razonando igual que antes, la probabilidad de encestar al menos uno enn lanzamientos es:

p(n) = 1− 2

3

n

.

Ahora p(n) ≥ 0.8 si y solamente si q(n) = (23)n ≤ 0.2. Como q(1), q(2), ...

es una sucesión decreciente (visto en Bases de Matemáticas) entonces bastair evaluando hasta encontrar el primer valor que sea menor o igual que 0.2.Basta, de este modo, tomar n = 4.

Page 403: Apuntes de Matematicas Discretas(2)

403

Figura 7.3: Tablero de Tres en raya

Figura 7.4: Tablero de Cuatro en raya

Page 404: Apuntes de Matematicas Discretas(2)

404 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

ii) Un tablero de 3 en raya está formado por 9 casillas distribuidas uni-formemente en un cuadrado, esto es, una sobre cada vértice, una en el centrode 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 trescasillas distintas aleatoriamente dichas tres piezas estén 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 laprobabilidad buscada.

b) Generalizar el problema al situar n piezas en un tablero de tamañon× n.

Los casos posibles son(

n2

n

). Los favorables son las n las, las n columnas

y las dos diagonales, esto es, 2n + 2.

Page 405: Apuntes de Matematicas Discretas(2)

405

Matemática DiscretaControl A2002-2003.

Ejercicio 1. (5 puntos) Sean p y q formas proposicionales. Por lasLeyes de De Morgan ¬(p∧q) es lógicamente equivalente a ¬p∨¬q. Demostrarpor inducción que para cada número natural n ≥ 2 se tiene que ¬(p1 ∧ ... ∧pn) es lógicamente equivalente a ¬p1 ∨ ... ∨ ¬pn (siendo p1, ..., pn variablesproposicionales). Nota: las Leyes de De Morgan no hay que demostrarlas.

Ejercicio 2. (6 puntos)i) (2 punto) Sea a1, ..., an una lista de tamaño n de números enteros

diferentes. Determinar cuántas ternas ordenadas (permitiendo números re-petidos) se pueden formar usando los números de la lista.

ii) (4 puntos) Diseñar un algoritmo que tenga como entrada una lista denúmeros enteros diferentes y como salida todas las posibles ternas ordena-das de dichos números, permitiendo en dichas ternas que haya repeticiones.Estudiar su complejidad.

Ejercicio 3. (4 puntos). Sea Z11 el conjunto cociente de los númerosenteros por la relación de congruencia módulo 11.

i) (1 punto) Determinar cuántos elementos tiene Z11 y cuáles son. Deter-minar cuáles de ellos tienen inverso para el producto.

ii) (1 punto) Calcular las siguientes operaciones módulo 5: 234 + 2798,34128 y 2765× 7895943021.

iii) (2 puntos) Describir todas las soluciones de la congruencia lineal:

5x + 3 ≡ 7 mod 11.

Page 406: Apuntes de Matematicas Discretas(2)

406 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaControl A resuelto

2002-2003.

Ejercicio 1. Sean p y q formas proposicionales. Por las Leyes de De Mor-gan ¬(p∧ q) es lógicamente equivalente a ¬p∨¬q. Demostrar por inducciónque para cada número natural n ≥ 2 se tiene que ¬(p1∧ ...∧pn) es lógicamen-te equivalente a ¬p1 ∨ ... ∨ ¬pn (siendo p1, ..., pn variables proposicionales).Nota: las Leyes de De Morgan no hay que demostrarlas.

Base de inducción. Para n = 2 la armación es cierta por las Leyes deDe Morgan.

Paso de inducción. Como p1∧ ...∧pn∧pn+1 es lógicamente equivalentea (p1 ∧ ... ∧ pn) ∧ pn+1 entonces se tiene:

¬(p1 ∧ ... ∧ pn ∧ pn+1)

es lógicamente equivalente a:

¬((p1 ∧ ... ∧ pn) ∧ pn+1).

Aplicando las leyes de De Morgan se tiene la equivalencia lógica de la expre-sión anterior con:

¬(p1 ∧ ... ∧ pn) ∨ ¬pn+1.

Y esta expresión es lógicamente equivalente, por hipótesis de inducción a:

(¬p1 ∨ ... ∨ ¬pn) ∨ ¬pn+1.

Finalmente, la expresión anterior es equivalente a:

¬p1 ∨ ... ∨ ¬pn ∨ ¬pn+1.

Lo que concluye la demostración.

Ejercicio 2.

Page 407: Apuntes de Matematicas Discretas(2)

407

i) Sea a1, ..., an una lista de tamaño n de números enteros diferentes.Determinar cuántas ternas ordenadas (permitiendo números repetidos) sepueden formar usando los números de la lista.

ii) Diseñar un algoritmo que tenga como entrada una lista de númerosenteros diferentes y como salida todas las posibles ternas ordenadas de dichosnúmeros, permitiendo en dichas ternas que haya repeticiones. Estudiar sucomplejidad.

i) Son el número de variaciones de n elementos tomasdas de 3 en 3. Portanto n3.

ii) El algoritmo en pseudocódigo.Entrada: a1, ..., an (números enteros diferentes)l := 1For i = 1 to n

For j = 1 to nFor k = 1 to n

bl := (ai, aj, ak)l := l + 1

Salida: b1, ..., bn3

Como son tres bucles anidados, el algoritmo tiene complejidad cúbica.

Ejercicio 3. Sea Z11 el conjunto cociente de los números enteros por larelación de congruencia módulo 11.

i) Determinar cuántos elementos tiene Z11 y cuáles son. Determinar cuálesde ellos tienen inverso para el producto.

ii) Calcular las siguientes operaciones módulo 5: 234 + 2798, 34128 y2765× 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 pro-

ducto.

Page 408: Apuntes de Matematicas Discretas(2)

408 CAPÍTULO 7. CONTROLES Y EXÁMENES 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.

Page 409: Apuntes de Matematicas Discretas(2)

409

Matemática DiscretaControl B2002-2003.

1) (5 puntos) Demostrar que para todo número natural n ∈ N,

2n∑

k=1

(2k − 1) = 4n2.

2) (5 puntos) Escribir en pseudocódigo un algoritmo cuya entrada seauna lista de números enteros y cuya salida sea, si existe, el primer númeroentero de la lista que es congruente con 4 módulo 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 simultáneamente una sola vez. Deter-minar la probabilidad de que uno de los dos resultados obtenidos sea 2, sisabemos que la suma de los dos resultados es 6.

BONUS: (2 puntos) Determinar cuántos números de 4 cifras distintasno tienen ninguna de las dos primeras cifras igual a cero.

Page 410: Apuntes de Matematicas Discretas(2)

410 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaControl B resuelto

2002-2003.

1) (5 puntos) Demostrar que para todo número natural n ∈ N,

2n∑

k=1

(2k − 1) = 4n2.

Utilizemos una demostracción por inducción.Base de inducción: si n = 1, entonces

2n∑

k=0

(2k − 1) =2∑

k=1

(2k − 1) = 1 + 3 = 4 = 4n2.

Paso de inducción: sea2n∑

k=1

(2k − 1) = 4n2. Se trata de demostrar que

2(n+1)∑

k=1

(2k − 1) = 4(n + 1)2.

Ahora,

2(n+1)∑

k=1

(2k − 1) =2n+2∑

k=1

(2k − 1) =2n∑

k=1

(2k − 1)+[2(2n+1)−1]+[2(2n+2)−1]

hip.de ind.= 4n2 + (4n + 1) + (4n + 3) = 4n2 + 8n + 4 = 4(n + 1)2.

Se sigue que para todo número natural n ∈ N,

2n∑

k=1

(2k − 1) = 4n2.

Page 411: Apuntes de Matematicas Discretas(2)

411

2) (5 puntos) Escribir en pseudocódigo un algoritmo cuya entrada seauna lista de números enteros y cuya salida sea, si existe, el primer númeroentero de la lista que es congruente con 4 módulo 7.Estudiar la complejidad del algoritmo.Entrada: a1, a2, a3, · · · , an.i:=1While i ≤ n, ai mod 7 6= 4

i := i + 1If i > n then s := No hay enteros congruentes con 4 módulo 7 en la listaelse s := ai es el primer número entero de la lista que es congruente con4 módulo 7Salida: sLa complejidad de este algoritmo es lineal en n, ya que, en el peor de loscasos, hay un número constante de operaciones que se repiten n veces, porla presencia de un sólo 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 números primos distintos, en particular, son primos entre sí.Por tanto el teorema chino del resto arma la existencia y unicidad de unasolución módulo P = 3× 5× 11 = 165.Esta solución, módulo 165, es

x0 = 1× q1 × 33 + 5× q2 × 15 + 2× q3 × 55,

donde 33 × q1 ≡ 1 mod 5, 15 × q2 ≡ 1 mod 11, 55 × q3 ≡ 1 mod 3, esdecir,

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 =

Page 412: Apuntes de Matematicas Discretas(2)

412 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

= 66+225+110 = 66+60+110 mod 165 = 236 mod 165 = 71 mod 165.

Las soluciones del sistema dado son los números enteros de la forma

x = 71 + 165k, con k ∈ Z.

4) (5 puntos) Se lanzan dos dados simultáneamente una sola vez. Deter-minar la probabilidad de que uno de los dos resultados obtenidos sea 2, sisabemos que la suma de los dos resultados es 6.Sean S el suceso uno de los dos resultados es 2 y S ′ el suceso la suma delos dos resultados es 6.Se trata de calcular la probabilidad condicionada de S por S ′ :

p(S|S ′) =p(S ∩ S ′)

p(S ′).

Ahora, S ′ = (1, 5), (2, 4), (3, 3), (4, 2), (5, 1) y S ∩ S ′ = (2, 4), (4, 2). Sesigue que

p(S|S ′) =p(S ∩ S ′)

p(S ′)=

2

5.

BONUS: (2 puntos) Determinar cuántos números de 4 cifras distintasno tienen ninguna de las dos primeras cifras igual a cero.Hay 9× 8× 8× 7 = 4032 números con estas características.

Page 413: Apuntes de Matematicas Discretas(2)

413

Matemática DiscretaEXAMEN FINAL

Septiembre 2003

La duración del examen es de 3 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.El examen está formado por 6 ejercicios. La puntuación de cada ejerciciose indica en el mismo.

Ejercicio 1. (2 puntos)i) (0.5 puntos) Determinar si el siguiente razonamiento es o no un razo-

namiento correcto:Si apruebas el examen serás feliz.Si estudias mucho no eres feliz.Estudias mucho.Aprobarás el examen.ii) (0.5 puntos) Formalizar la siguiente sentencia del lenguaje natural.

Escribir su negación en lenguaje formal y en lenguaje natural:En todas las familias hay un miembro al cuál no le gusta la lechuga.iii) (1 punto) Demostrar por inducción que para cada número natural n

se tiene quen∑

k=1

(2k)3 = 2n2(n + 1)2.

Ejercicio 2. (2 puntos)i) (1 punto) Escribir un algoritmo en pseudocódigo que tenga como en-

trada una lista a1, ..., an, de números enteros y devuelva la sublista de a1,..., an de los números que son distintos. Esto es, que obtenga el conjunto delos elementos de la lista a1, ..., an.

Page 414: Apuntes de Matematicas Discretas(2)

414 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

ii) (1 punto) Escribir un algoritmo en pseudocódigo que tenga como en-trada dos números naturales b y c y una lista a1, ..., an de números naturales yobtenga la sublista de a1, ..., an de los elementos, si existen, que son múltiploscomunes 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 cuál el ordenador no se puedeutilizar) a lo largo del primer año de vida es p y la probabilidad que unapantalla fabricada por la misma empresa se estropee durante el primer añode vida es q.

(i) (1 punto) Pepe compra 3 ordenadores y 5 pantallas de esta empresa.Calcular la probabilidad de que, después de un año, Pepe tenga un soloordenador y una sola pantalla funcionando.

(ii) (1 punto) Supongamos que Pepe conecte los 3 ordenadores, O1, O2y O3, con las 5 pantallas, P1, P2, P3, P4 y P5, por medio de las siguientesconexiones:

(O1, P1), (O2, P2), (O2, P4), (O2, P5), (O3, P3).

Determinar la probabilidad de que, con estas mismas conexiones y despuésde un año de la compra, Pepe pueda trabajar con el ordenador O2 y al menosuna pantalla de las conectadas con él.

Ejercicio 4. (1.5 puntos)Sea R la siguiente relación 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, simétrica,

antisimétrica y transitiva.ii) (0.5 puntos) Determinar si es una relación de equivalencia. Determinar

si es una relación de orden.iii) (0.5 puntos) Si es una relación de equivalencia, determinar sus clases

de equivalencia. Si es de orden, determinar si es una relación de orden total.

Ejercicio 5. (1 punto)

Page 415: Apuntes de Matematicas Discretas(2)

415

Efectuar las siguientes operaciones módulo 5, obteniendo siempre un re-sultado 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 G′ = (V ′, E ′) un grafo simple y A′ una de sus matrices de adyacencias:

A′ :=

0 1 1 0 1 1 0 01 0 1 0 1 1 0 01 1 0 1 1 0 0 00 0 1 0 1 0 0 01 1 1 1 0 1 1 01 1 0 0 1 0 1 00 0 0 0 1 1 0 00 0 0 0 0 0 0 0

i) (0.25 puntos) Determinar si G′ es conexo.ii) (0.25 puntos) Determinar si G′ es euleriano.iii) (0.25 puntos) Determinar si G′ tiene un árbol generador.iv) (0.75 puntos) Computar, si es que existen, o un árbol generador, o un

circuito euleriano de G′.

Page 416: Apuntes de Matematicas Discretas(2)

416 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Matemática DiscretaEXAMEN FINAL RESUELTO

Septiembre 2003

La duración del examen es de 3 horas y media.Se podrán utilizar libros y apuntes en su realización.No se permite el uso de calculadoras.Toda respuesta que no esté adecuadamente razonada se considerará incorrec-ta.El examen está formado por 6 ejercicios. La puntuación de cada ejerciciose indica en el mismo.

Ejercicio 1. (2 puntos)i) (0.5 puntos) Determinar si el siguiente razonamiento es o no un razo-

namiento correcto:Si apruebas el examen serás feliz.Si estudias mucho no eres feliz.Estudias mucho.Aprobarás el examen.Sean las variables siguientes: a :=apruebas el examen, s :=serás feliz,

e :=estudias mucho.El razonamiento que se presenta tiene tres hipótesis:

H1 := (a ⇒ s),

H2 := (e ⇒ ¬s),

H3 := e.

Y la tesis es T := a. Para que el razonamiento sea correcto se debe tener quela siguiente proposición es una tautología:

(H1 ∧H2 ∧H3) ⇒ T.

Pero la siguiente asignación de valores a las variables proposicionales muestraque no lo es:

a := F, s := F, e := v.

Page 417: Apuntes de Matematicas Discretas(2)

417

ii) (0.5 puntos) Formalizar la siguiente sentencia del lenguaje natural.Escribir su negación en lenguaje formal y en lenguaje natural:

En todas las familias hay un miembro al cuál 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 miembrode la familia f y L(p) :=a p le gusta la lechuga. Entonces la sentencia delenunciado es:

∀f ∈ F ∃p ∈ P (P (p, f) ∧ ¬L(p)).

La negación 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 susmiembros les gusta la lechuga.

iii) (1 punto) Demostrar por inducción que para cada número natural nse tiene que

n∑

k=1

(2k)3 = 2n2(n + 1)2.

La base de inducción es verdadera, pues 23 = 2× 1× 22.Para el paso de inducción basta observar que:

Σn+1k=1(2k)3 = Σn

k=1(2k)3 + 23(n + 1)3.

Usar la hipótesis de inducción para escribir:

Σn+1k=1(2k)3 = 2n2(n + 1)2 + 23(n + 1)3.

Sacar factor común 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 queríamos demostrar.

Ejercicio 2. (2 puntos)i) (1 punto) Escribir un algoritmo en pseudocódigo que tenga como en-

trada una lista a1, ..., an, de números enteros y devuelva la sublista de a1,

Page 418: Apuntes de Matematicas Discretas(2)

418 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

..., an de los números que son distintos. Esto es, que obtenga el conjunto delos elementos de la lista a1, ..., an.

Diseñamos un algoritmo auxiliar que determina si un elemento está o noen una lista, lo llamamos pertenece:

Entrada: a1, ..., an; as := 0For i = 1 to n while s := 0

if a = ai then s := 1Salida: 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 irampliándola con los sucesivos elementos distintos de la lista de la entrada.

Entrada: a1, ..., an

b1 := a1, j := 2For i = 2 to n

if pertenece(ai, b) = 0 then bj := ai, j := j + 1Salida: b

ii) (1 punto) Escribir un algoritmo en pseudocódigo que tenga como en-trada dos números naturales b y c y una lista a1, ..., an de números naturales yobtenga la sublista de a1, ..., an de los elementos, si existen, que son múltiploscomunes de b y c.

Entrada: a1, ..., an; b; cj := 1For i = 1 to n

if ai mod c = 0 and ai mod b = 0 then bj := ai, j := j + 1Salida: 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 cuál el ordenador no se puedeutilizar) a lo largo del primer año de vida es p y la probabilidad que unapantalla fabricada por la misma empresa se estropee durante el primer añode vida es q.

(i) (1 punto) Pepe compra 3 ordenadores y 5 pantallas de esta empresa.Calcular la probabilidad de que, después de un año, Pepe tenga un soloordenador y una sola pantalla funcionando.

Page 419: Apuntes de Matematicas Discretas(2)

419

(ii) (1 punto) Supongamos que Pepe conecte los 3 ordenadores, O1, O2y O3, con las 5 pantallas, P1, P2, P3, P4 y P5, por medio de las siguientesconexiones:

(O1, P1), (O2, P2), (O2, P4), (O2, P5), (O3, P3).

Determinar la probabilidad de que, con estas mismas conexiones y despuésde un año de la compra, Pepe pueda trabajar con el ordenador O2 y al menosuna pantalla de las conectadas con él.

i) Se trata de dos experimentos de Bernoulli independientes.La probabilidad de que, después de un año, Pepe tenga un solo ordenador esigual a la probabilidad de que se estropeen exactamente dos ordenadores:

p1 =

(3

2

)p2 (1− p).

Así la probabilidad de que, después de un año, Pepe tenga una sola pantallaes igual a la probabilidad de que se estropeen exactamente cuatro pantallas:

q1 =

(5

4

)q4 (1− q) = 5q4 (1− q).

Entonces la probabilidad buscada es

P = p1q1 = 15p2 q4 (1− p)(1− q).

ii) La probabilidad Q de que, con las conexiones denidas en el problemay después de un año de la compra, Pepe pueda trabajar con el ordenador O2y al menos una pantalla es el producto de la probabilidad p2 = 1− p de queel ordenador O2 funcione por la probabilidad q2 = 1− q3 de que funcione almenos una de las pantallas del conjunto P2, P4, P5.Entonces la probabilidad buscada es

Q = p2q2 = (1− p)(1− q3).

Ejercicio 4. (1.5 puntos)Sea R la siguiente relación denida sobre N7.

R = (1, 1), (2, 2), (4, 5), (3, 3), (4, 4), (5, 4), (5, 5), (6, 6),

Page 420: Apuntes de Matematicas Discretas(2)

420 CAPÍTULO 7. CONTROLES Y EXÁMENES 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, simétrica,

antisimétrica y transitiva.ii) (0.5 puntos) Determinar si es una relación de equivalencia. Determinar

si es una relación de orden.iii) (0.5 puntos) Si es una relación de equivalencia, determinar sus clases

de equivalencia. Si es de orden, determinar si es una relación de orden total.

i) Es reexiva pues R contiene la diagonal ∆.

Es simétrica ya que si (x, y) ∈ R, entonces también (y, x) ∈ R.

No es antisimétrica ya que, por ejemplo, (2, 3) y (3, 2) son elementos deR.

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, simétricay transitiva. No es de orden ya que no es antisimétrica.

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 módulo 5, obteniendo siempre un re-

sultado 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;iv) (0.25 puntos) 312013 ≡ 343003 × 3 ≡ 3 mod 5.

Ejercicio 6. (1.5 puntos)Sea G′ = (V ′, E ′) un grafo simple y A′ una de sus matrices de adyacencias:

Page 421: Apuntes de Matematicas Discretas(2)

421

A′ :=

0 1 1 0 1 1 0 01 0 1 0 1 1 0 01 1 0 1 1 0 0 00 0 1 0 1 0 0 01 1 1 1 0 1 1 01 1 0 0 1 0 1 00 0 0 0 1 1 0 00 0 0 0 0 0 0 0

i) (0.25 puntos) Determinar si G′ 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 G′ es euleriano.El grafo es euleriano porque todas las aristas están en la misma compo-

nente conexa (formada por todos los vértices excepto el último) y todos losvértices tienen grado par.

iii) (0.25 puntos) Determinar si G′ 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 G′.Un circuito euleriano es el siguiente (donde los vértices están numerados

siguiendo el orden de la matriz):

v5, v4, v3, v2, v1, v3, v5, v2, v6, v5, v7, v6, v1, v5

Page 422: Apuntes de Matematicas Discretas(2)

422 CAPÍTULO 7. CONTROLES Y EXÁMENES RESUELTOS

Page 423: Apuntes de Matematicas Discretas(2)

Bibliografía

[R] Rosen, K. H. Discrete Mathematics and its applications,McGraw-Hill 1995 y 1999. Manual para el curso.

[B] Biggs, N. Matemática Discreta, Vicens Vives 1994.

[G] Grimaldi, R.P. Matemática discreta y combinatoria. AddisonWesley, 1989.

[T] Truss, J.K. Discrete Mathematics for computer scientists, Inter-national Computer Science Series, 1991.

[KBR] Kolman, Busby, Ross. Estructuras de matemáticas discretas parala computación, Prentice Hall, 1995.

[CBVB] Criado, R., Bujosa, A., Vega, C., Banerjee, R. Fundamentos Ma-temáticos I, Centro de Estudios Ramón Areces, 1998. Para elCapítulo 1.

[F] Fernández-Sánchez Vacas, Fundamentos de Informática,Alianza-Informática, 1987. Para el Capítulo 1.

[R2] Rosen, K.H. Students solutions guide for Discrete Mathematicsand 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 Hall1980. Sobre códigos.

423