Está en la página 1de 189

E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA

E STRUTURAS D ISCRETAS • R ESUMEN NO . 01

Semestre 2021-1 Mat. Andrés Merino

1. W OLFRAM M ATHEMATICA
• Tutorial para programadores: clic aquí.

• Documentación: clic aquí.

• Comando para borra todas las asignaciones: ClearAll["Global‘*"]

2. T EORÍA DE CONJUNTOS

2.1 Lenguaje y sintaxis

El lenguaje de la Teoría de Conjuntos consiste de:

1. Letras mayúsculas del alfabeto español:

A, B, C, . . . , X, Y, Z.

para representar clases.

2. El signo

representará el concepto primitivo relación pertenencia. La sintaxis para


este signo es la siguiente:
A ∈ B.

La negación de A ∈ B,
¬( A ∈ B),

será representada por


A 6∈ B.
D EFINICIÓN 1: Conjunto, clase propia
Una clase A es un conjunto si existe otra clase B tal que A ∈ B. Es decir, un
conjunto es toda clase que pertenezca a otra clase.
Una clase A es propia si no es un conjunto. En otras palabras, una clase
propia es aquella que no pertenece a ninguna clase.

1
Mat. Andrés Merino Resumen no. 01

D EFINICIÓN 2: Igualdad entre clases


Dadas las clases A y B, diremos que la clase A es igual a la clase B si se tiene
que
x∈A⇔x∈B

para todo conjunto x. Representaremos esta relación entre las clases A y B por
A = B.

T EOREMA 1: Igualdad
Dadas las clases A, B y C, se tiene que:
1. Reflexiva de la igualdad de clases: A = A.

2. Simétrica de la igualdad de clases: Si A = B, entonces B = A.

3. Transitiva de la igualdad de clases: Si A = B y B = C, entonces A = C.

T EOREMA 2: Igualdad de clases


Si A = B y z ∈ A, entonces z ∈ B.

D EFINICIÓN 3: Subclase
Dadas las clases A y B, diremos que A es subclase de B si se tiene que

x∈A⇒x∈B

para todo conjunto x. Representaremos esta relación entre las clases A y B por
A ⊆ B.

T EOREMA 3: Subclase
Dadas las clases A, B y C, se tiene que
1. Reflexiva de subclase: A ⊆ A.

2. Transitiva de subclase: Si A ⊆ B y B ⊆ C, entonces A ⊆ C.

3. Antisimétrica de subclase: Si A ⊆ B y B ⊆ A, entonces A = B.

4. A = B si y solo si A ⊆ B y B ⊆ A.

T EOREMA 4: Subclase
Si A ⊆ B y y ∈ A, entonces y ∈ B. Además, si A ⊆ B y y 6∈ B, entonces y 6∈ A.

2
Resumen no. 01 Mat. Andrés Merino

2.2 Axioma de construcción de clases


A XIOMA 1: Construcción de clases
Si A ( x ) representa una proposición (en la que aparece x), existe una única
clase C tal que
x ∈ C ⇔ A (x)

es verdadera para todo conjunto x.


La clase C se denomina la clase de todos los conjuntos x tales que se
deduce A ( x ).
La clase C se representará mediante

{ x : A ( x )}.

Por tanto, también escribiremos

C = { x : A ( x )}.

D EFINICIÓN 4: Clase universal


Llamaremos clase universal a

U = { x : x = x }.

T EOREMA 5: Clase universal


Para todo conjunto x, se tiene x ∈ U . En este sentido se dice que “todo con-
junto pertenece a la clase universal”.

T EOREMA 6
Toda clase es subclase de la clase universal. Es decir, dada A, se tiene que

A ⊆ U.

D EFINICIÓN 5: Clase de Russell


Llamaremos clase de Russell a

R = { x : x 6 ∈ x }.

T EOREMA 7: La clase propia de Russell


La clase de Russell R no es un conjunto; es una clase propia.

3
Mat. Andrés Merino Resumen no. 01

A XIOMA 2: Subclase
Si A ⊆ B y B es un conjunto, entonces A también es un conjunto. En otras
palabras, toda subclase de un conjunto es un conjunto.

T EOREMA 8
U no es un conjunto, es una clase propia.

D EFINICIÓN 6: Clase vacía


Llamaremos clase vacía a

∅ = { x : x 6 = x }.

T EOREMA 9: Clase vacía


Para todo conjunto x, se tiene que x 6∈ ∅. En este sentido, se suele decir que
“la clase vacía no tiene elementos”.

A XIOMA 3: Conjunto vacío


La clase vacía es un conjunto.

3. C ONJUNTOS

D EFINICIÓN 7: Clase unitaria


Dado un conjunto a, llamaremos la clase unitaria a

{ a } = { x : x = a }.

D EFINICIÓN 8: Clase unitaria


Dados los conjuntos a y b, llamaremos par desordenad a

{ a, b} = { x : x = a ∨ x = b }.

T EOREMA 10: Par desordenado


Dados los conjuntos a y b:
1. a ∈ { a, b} y b ∈ { a, b}.

2. Si c 6= a y c 6= b, entonces c 6∈ { a, b}.

3. { a, b} = { a} si y solo si a = b. En particular, { a, a} = { a}.

4
Resumen no. 01 Mat. Andrés Merino

T EOREMA 11: Caracterización de un par desordenado


{ a, b} = {c, d} si y solo si a = c y b = d, o a = d y b = c.

A XIOMA 4: Par desordenado


Dados los conjuntos a y b, { a, b} es un conjunto.

D EFINICIÓN 9: Par ordenado


Dados los conjuntos a y b, el par ordenado de a y b, representado por ( a, b),
es el par desordenado de { a} y { a, b}. Es decir, tenemos que

( a, b) = {{ a}, { a, b}}.

El conjunto a se denomina primera componente de ( a, b) y b la segunda com-


ponente.

T EOREMA 12: Caracterización del par ordenado


( a, b) = (c, d) si y solo si a = c y b = d.

D EFINICIÓN 10: Partes de una clase


Dada una clase A y b, llamaremos partes de A a

P ( A ) = { u : u ⊆ A }.

T EOREMA 13
Dado el conjunto A, se tiene que:
1. ∅ ∈ P ( A).

2. A ∈ P ( A).

A XIOMA 5: Partes de un conjunto


Si A es un conjunto, P ( A) también lo es.

5
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 02

Semestre 2021-1 Mat. Andrés Merino

1. O PERACIONES ENTRE CLASES

D EFINICIÓN 1: Unión de clases


Dadas dos clases A y B, llamaremos la unión de A y B a

A ∪ B = { x : x ∈ A ∧ x ∈ B }.

P ROPOSICIÓN 1. Dadas las clases A y B, se tiene que

A ⊆ A∪B y B ⊆ A ∪ B.

P ROPOSICIÓN 2. Dadas las clases A y B, se tiene que

A ∪ B = B ∪ A.

D EFINICIÓN 2: Intersección de clases


Dadas dos clases A y B, llamaremos la intersección de A y B a

A ∩ B = { x : x ∈ A ∨ x ∈ B }.

P ROPOSICIÓN 3. Dadas las clases A y B, se tiene que

A∩B ⊆ A y A ∩ B ⊆ B.

P ROPOSICIÓN 4. Dadas las clases A y B, se tiene que

A ∩ B = B ∩ A.

D EFINICIÓN 3: Diferencia de clases


Dadas dos clases A y B, llamaremos la diferencia entre A y B a

A r B = { x : x ∈ A ∧ x 6 ∈ B }.

1
Mat. Andrés Merino Resumen no. 02

D EFINICIÓN 4: Complemento de clases


Dada una clase A, llamaremos el complemento de A a

A c = { x : x 6 ∈ A }.

P ROPOSICIÓN 5. Dada la clase A, se tiene que

( Ac )c = A.

P ROPOSICIÓN 6. Dadas las clases A y B, tenemos que

A⊆B si y solo si Bc ⊆ Ac .

P ROPOSICIÓN 7. Dada la clase A, se tiene que

I. A∪U = U

II. A∩∅ = ∅

III. Uc = ∅

IV. A ∩ Ac = ∅

P ROPOSICIÓN 8. Dadas las clases A y B, se tiene que

I. ( A ∪ B)c = Ac ∩ Bc y

II. ( A ∩ B)c = Ac ∪ Bc .

1.1 Axioma de la unión

P ROPOSICIÓN 9. Dadas las clases A y B, si una de ellas es un conjunto, nece-


sariamente
A∩B

es un conjunto.

A XIOMA 1: Unión
Dadas las clases A y B, si A y B son conjuntos, también lo es A ∪ B.

2
Resumen no. 02 Mat. Andrés Merino

1.2 Producto cartesiano


D EFINICIÓN 5: Diferencia de clases
Dadas las clases A y B, llamaremos el producto cartesiano entre A y B a

A × B = {( x, y) : x ∈ A ∧ y ∈ B}.

P ROPOSICIÓN 10. Dadas las clases A y B, se tiene que

A × B ⊆ P (P ( A ∪ B))

P ROPOSICIÓN 11. Dadas las clases A y B, si A y B son conjuntos, también lo


es A × B.

1.3 Cardinalidad
D EFINICIÓN 6: Cardinalidad
Dado un conjunto finito A, se denotará por | A| a la cantidad de elementos
que tiene A.

P ROPOSICIÓN 12. Sean A y B dos conjuntos finitos, se tiene que

| A ∪ B | = | A | + | B | − | A ∩ B |.

P ROPOSICIÓN 13. Sean A y B dos conjuntos finitos, se tiene que

| A × B | = | A | · | B |.

P ROPOSICIÓN 14. Sea A un conjunto finito, se tiene que

| P ( A)| = 2| A| .

3
Mat. Andrés Merino Resumen no. 02

1.4 Operaciones generalizadas


D EFINICIÓN 7: Unión generalizada
Sean I un conjunto y { Ai }i∈ I una familia de conjuntos, se define la unión
generalizada por
[
Ai = { x : x ∈ Ai para algún i ∈ I }.
i∈ I

D EFINICIÓN 8: Intersección generalizada


Sean I un conjunto y { Ai }i∈ I una familia de conjuntos, se define la intersec-
ción generalizada por
\
Ai = { x : x ∈ Ai para todo i ∈ I }.
i∈ I

Si I = {0, 1, . . . , n}, entonces utiliza las siguientes notaciones:

o n
[ [ n
\ \
Ai = Ai y Ai = Ai
i =0 i∈ I i =0 i∈ I

P ROPOSICIÓN 15. Dados I un conjunto y { Ai }i∈ I una familia de conjuntos,


se tiene que
!c
Aic y
[ \
I. Ai =
i∈ I i∈ I
!c
Aic .
\ [
II. Ai =
i∈ I i∈ I

2. F UNCIONES

D EFINICIÓN 9: Función
Dados A y B dos conjuntos, f es una función de A en B si:
• f ⊆ A × B;

• para todo x ∈ A, existe y ∈ B tal que ( x, y) ∈ f ; y

• si ( x, y) ∈ f y ( x, z) ∈ f , entonces y = z.

Si f es una función de A en B, escribirá f : A → B. Y, en lugar de ( x, y) ∈ f ,


escribiremos f ( x ) = y, ya que dado x, y es único.

4
Resumen no. 02 Mat. Andrés Merino

D EFINICIÓN 10: Dominio


Dada f : A → B el conjunto A se llama dominio de f y se le representa por
dom( f ).

D EFINICIÓN 11: Imagen o recorrido


Dada una función f : A → B, la imagen o el recorrido de f es el conjunto

{ f ( x ) : x ∈ A },

que se lo representa por

img( f ) o rec( f ).

D EFINICIÓN 12: Función inyectiva, sobreyectiva y biyectiva


Una función f : A → B es:
• inyectiva si para todo u, v ∈ A tales que f (u) = f (v), se tiene que u = v;

• sobreyectiva si para todo v ∈ B, existe u ∈ A tal que f (u) = v;

• biyectiva si es inyectiva y sobreyectiva.

D EFINICIÓN 13: Composición de funciones


Dadas las funciones f : A → B y g : B → C, la función

g ◦ f : A −→ C
x 7−→ g( f ( x ))

se denomina composición de g y f .

2.1 Ejemplos de funciones


D EFINICIÓN 14
Se define la función módulo tal que, para n, m ∈ N ∗ , mod(n, m) es el residuo
de dividir n para m.

o También se denota mod(n, m) por n mód m.


D EFINICIÓN 15
Se define la función piso tal que, para x ∈ R, ⌊ x ⌋ es el mayor entero menor o
igual que x. Por otro lado, se define la función techo tal que, para x ∈ R, ⌈ x ⌉
es el menor entero mayor o igual que x.

5
Mat. Andrés Merino Resumen no. 02

D EFINICIÓN 16
Se define la función piso tal que, para x ∈ R, ⌊ x ⌋ es el mayor entero menor o
igual que x. Por otro lado, se define la función techo tal que, para x ∈ R, ⌈ x ⌉
es el menor entero mayor o igual que x.

D EFINICIÓN 17
Dado un conjunto A, se define la función indicatriz de A o función caracterís-
tica de A por
1 A : U −→ { 0, 1}
1 si x ∈ A,
x 7−→
0 si x 6∈ A.

D EFINICIÓN 18
Dados los conjuntos A y B, se denota por A B al conjunto de todas las funcio-
nes de B en A.

P ROPOSICIÓN 16. Si A y B son conjuntos finitos, entonces



A = | A|| B| .
B

3. U N POCO MÁS DE CONJUNTOS

D EFINICIÓN 19: Sucesor


Dado un conjunto A, se define el sucesor de A por

A + = A ∪ { A }.

En Teoría de conjuntos, se suele utilizar la siguiente notacion:


• 0=∅
o
• 1 = 0+ = 0 ∪ { 0} = { 0}

• 2 = 1+ = 1 ∪ {1} = {0} ∪ {1} = {0, 1}

6
Resumen no. 02 Mat. Andrés Merino

4. L ÓGICA PROPOSICIONAL

D EFINICIÓN 20: Forma proposicional


Una forma proposicional es una cadena de caracteres que se genera mediante
las siguientes reglas:
1. Letras minúscula del alfabeto español son formas proposicionales a las
cuales se les llama letras proposicionales.

2. Dadas dos formas proposicionales P y Q, también serán formas propo-


sicionales:

¬ P, P ∧ Q, P ∨ Q, P⇒Q y P ⇔ Q.

3. Solo estas.

A las formas proposicionales las llamaremos directamente proposición a


o pesar de ser esto un abuso del lenguaje.

D EFINICIÓN 21: Función de verdad


Una función de verdad es cualquier función

f : 2n → 2,

donde n ∈ N. Se dirá que f es una función de verdad de n letras proposicio-


n
nales. Así f ∈ 22 . Con esto, el conjunto de funciones de verdad es
n
22 .
[
T =
n ∈N

D EFINICIÓN 22: Funciones de verdad de una proposición


Las funciones de verdad asociadas a una proposición formada a partir de dos
letras proposicionales en una primera iteración del la definición 20 se resumen
en la siguiente tabla:
p q ¬p p∧q p∨q p⇒q p⇔q
1 1 0 1 1 1 1
1 0 0 1 0 0 0
0 1 1 1 0 1 0
0 0 1 0 0 1 1

7
Mat. Andrés Merino Resumen no. 02

A partir de esto, se puede extender la definición de función de verdad.

D EFINICIÓN 23
Dada una forma proposicional de n letras proposicionales, una asignación de
valores de verdad es un elemento de 2n . El valor de verdad de esta forma
proposicional bajo una asignación de valores de verdad es la evaluación de
su función de verdad.

D EFINICIÓN 24
Una forma proposicional se dice que es una tautología si su función de verdad
es constante 1 y se dice que es una contradicción si es constante 0.

D EFINICIÓN 25
Una forma proposicional se dice que es satisfactible si existe una asignación
de valores de verdad tal que la evaluación de su función de verdad en dicha
asignación sea igual a 1.

El problema de saber si una forma proposicional es satisfactible es un pro-


blema “dificil”, formalmente, se tiene que es un problema NP-completo.
o Mira este video para saber más:
• ¿Qué es eso del problema P versus NP?

8
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 03

Semestre 2021-1 Mat. Andrés Merino

1. F ORMAS NORMALES Y CONECTIVAS ADECUADAS

D EFINICIÓN 1
Diremos que una forma proposicional está en forma enunciativa restringidas
si solo contiene los conectores ∧, ∨ y ¬.

P ROPOSICIÓN 1. Toda función de verdad es la función de verdad asociada a


una forma proposicional que está en forma enunciativa restringida.

D EFINICIÓN 2: Formas proposicionales equivalentes


Diremos que dos formas proposicionales son equivalentes si ambas tienen
asociada la misma función de verdad. Así, si P y Q son formas proposiciona-
les equivalentes, se denotará por P ≡ Q.

P ROPOSICIÓN 2. Toda forma proposicional es equivalente a una forma pro-


posicional en forma enunciativa restringida.

D EFINICIÓN 3: Forma normal disyuntiva (DNF)


Diremos que una forma proposicional está en forma normal disyuntiva si es
la disyunción de conjunciones de sus letras proposicionales o sus negaciones

D EFINICIÓN 4: Forma normal conjuntiva (CNF)


Diremos que una forma proposicional está en forma normal conjuntiva si es
la disyunción de conjunciones de sus letras proposicionales o sus negaciones

D EFINICIÓN 5: Conjunto adecuado de conectivas


Se dice que un conjunto de conectivas es adecuado si toda función de ver-
dad es la función de verdad asociada a una forma proposicional donde solo
aparecen dichos conectores.

P ROPOSICIÓN 3. El conjunto {∧, ∨, ¬} es un conjunto adecuado de conecti-


vas.

1
Mat. Andrés Merino Resumen no. 03

P ROPOSICIÓN 4. Los conjunto {∧, ¬}, {∨, ¬} y {⇒, ¬} son conjuntos ade-
cuados de conectivas.

D EFINICIÓN 6: NAND y NOR


Se define los conectores NAND (denotado por ⊼) y NOR (denotado por −
∨)
cuyas funciones de verdad están dadas por:
p q p⊼q p− ∨q

1 1 0 0
1 0 1 1
0 1 1 1
0 0 1 1

P ROPOSICIÓN 5. Se tiene que

• ¬p ≡ p ⊼ p

• p ∨ q ≡ ( p ⊼ p) ⊼ (q ⊼ q)

• ¬p ≡ p −
∨p

• p ∧ q ≡ (p − − −
∨ p) ∨ (q ∨ q)

P ROPOSICIÓN 6. Los conjunto {⊼} y {−


∨} son conjuntos adecuados de conec-
tivas.

2. L ÓGICA DE PREDICADOS

D EFINICIÓN 7: Componentes básicas


Un lenguaje formal de primer orden necesita los siguientes elementos:
I. Variables individuales: x0 , x1 ,. . .

II. Constante individuales: a0 , a1 ,. . .


n n
III. Letras de predicado: A0 0 , A1 1 , A2n2 ,. . .
m m
IV . Letras de función: f 0 0 , f 1 1 , f 2m2 ,. . .

D EFINICIÓN 8: Términos
Los términos de un lenguaje de primer orden son los que se genera mediante

2
Resumen no. 03 Mat. Andrés Merino

las siguientes reglas:


I. Toda variable individual y toda constante individual son términos

II. Si f nm es una letra de función y t1 , t2 ,. . . , tm son términos, entonces


f nm (t1 , t2 , . . . , tm ) es un término.

III. Solo estos.

D EFINICIÓN 9: Predicados
Los predicados son los que se genera mediante las siguientes reglas:
I. Si Amn es una letra de función y t1 , t2 ,. . . , t m son términos, entonces
Amn 1 , t2 , . . . , t m ) es un predicado.
( t

II. Dadas dos predicados A y B , entonces

¬A, A ∧ B, A ∨ B, A⇒B y A⇔B

son también predicados.

III. Solo estos.

D EFINICIÓN 10: Fórmulas bien formadas


Las fórmulas bien formadas son las que se genera mediante las siguientes
reglas:
I. Todo predicado es una fórmula bien formada.

II. Dadas las fórmulas bien formadas A y B y una variable x, entonces

¬A, A ∧ B, (∀ x )A y (∃ x )A

son también fórmulas bien formadas.

III. Solo estas.

D EFINICIÓN 11: Fórmulas bien formadas equivalentes


Diremos que dos fórmulas bien formadas son equivalentes A y B , bajo cual-
quier interpretación que se realice, se tiene que A ⇔ B es verdadero. Así, si
A y B son fórmulas bien formadas equivalentes, se denotará por A ≡ B .

3
Mat. Andrés Merino Resumen no. 03

A XIOMA 1: Relación entre cuantificadores


Dada una fórmula bien formada A, se tiene las siguientes equivalencias:
I. (∀ x )A ≡ ¬((∃ x )¬A).

II. (∃ x )A ≡ ¬((∀ x )¬A)

P ROPOSICIÓN 7. Sean A y B fórmulas bien formadas, se tiene que las si-


guientes equivalencias:

I. (∀ x )(A ∧ B) ≡ ((∀ x )A) ∧ ((∀ x )B)

II. (∃ x )(A ∨ B) ≡ ((∀ x )A) ∨ ((∀ x )B)

3. R ELACIONES
D EFINICIÓN 12: Producto cartesiano
Dados dos conjunto A y B, se define el producto cartesiano de A y B por el
conjunto
A × B = {( x, y) : x ∈ A y y ∈ B}.

o Dado un conjunto A, se define A2 = A × A.


D EFINICIÓN 13: Relación
Dados los conjunto A, B y R, se dice que R es una relación de A en B si R ⊆
A × B.

Si R es una relación de A en B y a ∈ A y b ∈ B son tales que ( x, y) ∈ R, se


o dice que x está relacionado con y bajo al relación R y se denota por xRy.

Si R es una relación de A en A se dice simplemente que R es una relación


o en A.

E JEMPLO 1. Las siguientes son ejemplos de relaciones

• Dado un conjunto A, la contenencia define una relación sobre P ( A):

{(C, D ) ∈ P ( A)2 : C ⊆ D }.

• En R, la relación menor que define una relación sobre R:

{( x, y) ∈ R2 : x < y}.

4
Resumen no. 03 Mat. Andrés Merino

• Dado un conjunto A, se define

∆ A = {( x, x ) ∈ A2 : x ∈ A},

esta es la relación llamada de igualdad o identidad.

• Dado un conjunto A, tanto A2 como ∅ son relaciones sobre A.

P ROPOSICIÓN 8. Sean A y B conjuntos finitos. Se tiene que el número de


relaciones de A en B es
2| A|·| B| .

D EFINICIÓN 14: Dominio


Dada R una relación de A en B, se define el dominio de R por

dom( R) = { x ∈ A : existe y ∈ B tal que xRy}.

D EFINICIÓN 15: Imagen o recorrido


Dada R una relación de A en B, se define la imagen de R por

img( R) = {y ∈ B : existe x ∈ A tal que xRy}.

D EFINICIÓN 16: Relación inversa


Dados los conjunto A y B y una relación R de A en B, se define la relación
inversa por
R−1 = {( x, y) ∈ A × B : yRx }.

Así, se tiene que, para ( x, y) ∈ A × B: xRy si y solo si yR−1 x.

4. C OMPOSICIÓN DE RELACIONES

D EFINICIÓN 17: Composición de relaciones


Sean R una relación de A en B y S una relación de B en C. Se define la com-
posición de S con R por

S ◦ R = {( x, z) ∈ A × C : existe y ∈ B tal que xRy y ySz}.

Algunos textos, para denotar la composición de S con R, usan la notación


o R ◦ S en lugar de S ◦ R como lo hacemos aquí.

5
Mat. Andrés Merino Resumen no. 03

P ROPOSICIÓN 9. Sean R una relación de A en B, S una relación de B en C y T


una relación de C en D. Se tiene que

T ◦ (S ◦ R) = ( T ◦ S) ◦ R.

Dada una relación R sobre un conjunto A, se denota R2 por R ◦ R, R3 por


o R ◦ R ◦ R y así sucesivamente.

6
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 04

Semestre 2021-1 Mat. Andrés Merino

1. R EPRESENTACIÓN MATRICIAL DE UNA RELACIÓN

D EFINICIÓN 1: Representación matricial de una relación


Sea R una relación de A en B, con A y B finitos. Si consideramos

A = { x1 , x2 , . . . , x m } y B = { y1 , y2 , . . . , y n }

(| A| = m y | B| = n), se define la representación matricial de R por la matriz


MR = (mij ), elemento de Rm×n , definida por

1 si xi Ry j ,
mij =
0 si no.

E JEMPLO 1. Sea A un conjunto finito, se tiene que M∆ A = I| A| , es decir, la repre-


sentación matricial de ∆ A es la matriz identidad de orden | A|.

P ROPOSICIÓN 1. Sea R una relación de A en B, con A y B finitos. Se tiene que

M R −1 = ( M R ) | .

P ROPOSICIÓN 2. Sean R y S relaciones de A en B, con A y B finitos. Se tiene


que
R ⊆ S si y solo si MR ≤ MS .

Dadas dos matrices A = ( aij ) y B = (bij ), de orden n × m, se dice que A es


o menor que B, y se lo denota por A ≤ B, si, para todo i ∈ {1, . . . , n} y todo
j ∈ {1, . . . , m}, se cumple que aij ≤ bij .

1
Mat. Andrés Merino Resumen no. 04

1.1 Composición de relaciones

P ROPOSICIÓN 3. Sean R una relación de A en B y S una relación de B en C,


con A, B y C conjuntos finitos. Se tiene que

M R MS y MS ◦ R

tienen los mismos elementos distintos de 0.

Bajo la proposición anterior, si A = { x1 , . . . , xn } y C = {z1 , . . . , zm }, se tiene


que la entrada (i, j) de la matriz MR MS es el número de elementos y ∈ B
o tales que xi Ry y ySz j . Es decir, intuitivamente, la entrada (i, j) de la matriz
MR MS representa el número de caminos que unen xi con y j .

C OROLARIO 4. Sean R una relación de A en B y S una relación de B en C, con


A, B y C conjuntos finitos. Se tiene que

MS ◦ R ≤ M R MS y M R MS ≤ | B | MS ◦ R .

C OROLARIO 5. Sean R una relación de A en B y S una relación de B en C, con


A, B y C conjuntos finitos. Se tiene que
 
1
MS ◦ R = M M .
| B| R S

C OROLARIO 6. Sean R una relación sobre A, con A un conjunto finito. Se tiene


que  
1
M R2 = ( M R )2 ,
| A|
además, si n ∈ N∗ ,  
1 n
M Rn = ( MR ) .
| A | n −1

2. T IPOS DE RELACIONES

2
Resumen no. 04 Mat. Andrés Merino

D EFINICIÓN 2: Relación reflexiva


Sea R una relación sobre A. Se dice que R es reflexiva si, para todo x ∈ A,
xRx.

P ROPOSICIÓN 7. Sea R una relación sobre A, con A un conjunto finito. Se


tiene que R es reflexiva si y solo si ∆ A ⊆ R; es decir, R es reflexiva si y solo si
I| A| ≤ MR .

De la anterior proposición, se tiene que una relación es reflexiva si y solo si


o los elementos de la diagonal de su representación matricial son iguales a 1.

Ver ejemplo 2.5, pág. 28, de Schaum.


D EFINICIÓN 3: Relación simétrica
Sea R una relación sobre A. Se dice que R es simétrica si, para todo x, y ∈ A,
se tiene que xRy implica yRx.

P ROPOSICIÓN 8. Sea R una relación sobre A, con A un conjunto finito. Se


tiene que R es simétrica si y solo si R = R−1 ; es decir, R es simétrica si y solo
si MR = MR−1 = ( MR )| .

De la anterior proposición, se tiene que una relación es simétrica si y solo si


o su representación matricial es una matriz simétrica.

D EFINICIÓN 4: Relación antisimétrica


Sea R una relación sobre A. Se dice que R es antisimétrica si, para todo x, y ∈
A, se tiene que xRy y yRx implica x = y.

Ver ejemplo 2.9, pág. 30, de Schaum.


D EFINICIÓN 5: Relación transitiva
Sea R una relación sobre A. Se dice que R es transitiva si, para todo x, y, z ∈ A,
se tiene que xRy y yRz implica xRz.

P ROPOSICIÓN 9. Sea R una relación sobre A. Se tiene que R es transitiva si y


solo si R2 ⊆ R.

C OROLARIO 10. Sea R una relación sobre A, con A un conjunto finito. Se tiene
que R es transitiva si y solo si ( MR )2 ≤ | A| MR , para todo n ∈ N∗ .

3
Mat. Andrés Merino Resumen no. 04

C OROLARIO 11. Sea R una relación sobre A. Se tiene que R es transitiva si y


solo si Rn ⊆ R, para todo n ∈ N∗ .

2.1 Cerradura de una relación


T EOREMA 12
Sea R una relación sobre A. Se tiene que
1. R ∪ ∆ A es la relación reflexiva más pequeña que contiene a R;

2. R ∪ R−1 es la relación simétrica más pequeña que contiene a R.

T EOREMA 13
Sea R una relación sobre A, con A un conjunto finito de n elementos. Se tiene
que
R ∪ R2 ∪ · · · ∪ R n

es la relación transitiva más pequeña que contiene a R.

3. R ELACIONES DE EQUIVALENCIA

D EFINICIÓN 6: Relación de equivalencia


Sea R una relación sobre A. Se dice que R es una relación de equivalencia si es
reflexiva, simétrica y transitiva. En este caso, para x, y ∈ A, se denota x ∼ R y
en lugar de xRy.

En caso de que no exista ambigüedad, representaremos una relación de


o equivalencia directamente por ∼.

D EFINICIÓN 7: Clase de equivalencia


Sea ∼ una relación de equivalencia sobre A. Para x ∈ A, se define la clase de
equivalencia de x por
[ x ] = { y ∈ A : x ∼ y }.

P ROPOSICIÓN 14. Sean ∼ una relación de equivalencia sobre A y x, y ∈ A. Se


tiene que x ∼ y si y solo si [ x ] = [y].

4
Resumen no. 04 Mat. Andrés Merino

C OROLARIO 15. Sean ∼ una relación de equivalencia sobre A y x, y ∈ A. Se


tiene que
[ x ] = [y] o [ x ] ∩ [ y ] = ∅.

D EFINICIÓN 8
Sea ∼ una relación de equivalencia sobre A. El conjunto cociente de A por ∼
se define por
A/∼ = {[ x ] ⊆ A : x ∈ A}.

Dado que los elementos de A/∼ son disjuntos dos a dos y la unión de todos
o ellos da como resultado A, se dice que A/∼ genera una partición de A.

5
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 05

Semestre 2021-1 Mat. Andrés Merino

1. G ENERALIZACIÓN DE RELACIONES Y BASE DE DATOS


RELACIONALES

D EFINICIÓN 1: Producto cartesiano


Dados los conjunto A1 , . . . , An , se define el producto cartesiano de A1 , . . . , An
por el conjunto

A1 × · · · × An = {( x1 , . . . , xn ) : x1 ∈ A1 , . . . , xn ∈ An }.

Dado un conjunto A, se define A2 = A × A, A3 = A × A × A y así sucesi-


o
vamente.

D EFINICIÓN 2: Relación n-aria


Dados los conjunto A1 , . . . , An y R, se dice que R es una relación n-aria en A1 ,
. . . , An si R ⊆ A1 × · · · × An . A los conjuntos se los denomina dominios de la
relación y n es el grado de la relación.

1.1 Operaciones en relaciones n-arias


D EFINICIÓN 3: Operador selección
Sean R una relación n-aria y C una condición sobre los elementos de A1 ×
· · · × An . Se define

sC ( R) = {( x1 , . . . , xn ) ∈ R : ( x1 , . . . , xn ) cumple C }.

D EFINICIÓN 4: Operador proyección


Sea R una relación n-aria y {i1 , . . . , im } ⊆ {1 . . . n}. Para ( x1 , . . . , xn ) ∈ R, se
define
Pi1 ,...,im ( x1 , . . . , xn ) = ( xi1 , . . . , xim ).

Además,

Pi1 ,...,im ( R) = { Pi1 ,...,im ( x1 , . . . , xn ) : ( x1 , . . . , xn ) ∈ R}.

1
Mat. Andrés Merino Resumen no. 05

D EFINICIÓN 5: Operador reunión


Sean R una relación m-aria, S una relación n-aria y p ∈ N∗ , con p < mı́n{n, m}.
Se define la reunión de R y S, denotado por J p ( R, S), por el conjunto de todos
lo elementos de la forma

( x1 , . . . , x m − p , y1 , . . . , y p , z1 , . . . , z n − p ),

donde

( x1 , . . . , x m − p , y1 , . . . , y p ) ∈ R y (y1 , . . . , y p , z1 , . . . , zn− p ) ∈ S.

1.2 Bases de datos relacionales


D EFINICIÓN 6
Sean R una relación n-aria en A1 , . . . , An . Si R es vista como una base de datos,
a cada elemento de R se lo llama registro; y a cada entrada de un registro se lo
llama campo y a cada conjunto Ai se lo llama atributo.

D EFINICIÓN 7: Clave primaria


Sean R una relación n-aria en A1 , . . . , An . Se dice que el atributo Ai es una
clave primaria para R si para todo x, y ∈ R se tiene que

Pi ( x ) = Pi (y) implica x = y.

D EFINICIÓN 8: Clave compuesta


Sean R una relación n-aria en A1 , . . . , An . Se dice que los atributos Ai1 , . . . , Aim
forman una clave compuesta para R si para todo x, y ∈ R se tiene que

Pi1 ,...,im ( x ) = Pi1 ,...,im (y) implica x = y.

2. A LGORITMOS
D EFINICIÓN 9: Algoritmos
Un algoritmo es un conjunto finito de instrucciones precisas que sirve para
realizar un cálculo o resolver un problema.

Un algoritmo se espera que tenga:


o • Entrada. Un algoritmo tiene valores de entrada que son elementos ele
un conjunto especificado.

2
Resumen no. 05 Mat. Andrés Merino

• Salida. Para cada conjunto ele valores de entrada, un algoritmo pro-


duce valores de salida de un conjunto especificado. Los valores de
salida son la solución del problema.

• Definición. Los pasos ele un algoritmo deben definirse con precisión.

• Corrección. Un algoritmo debe producir valores de salida correctos


para cada conjunto de valores de entrada.

o • Duración finita. Un algoritmo debe producir la salida deseada tras un


número finito (aunque quizá grande) de pasos para cualquier conjun-
to de valores de entrada.

• Efectividad. Debe ser posible realizar cada paso del algoritmo con
exactitud y en un intervalo finito de tiempo.

• Generalidad. El procedimiento debería ser aplicable a todos los pro-


blemas de la forma deseada, no sólo para un conjunto panicular de
datos de entrada.

2.1 Ejemplos

2.1.1. Obtener el máximo de dos números

Datos: Dos números reales a y b


Resultado: El máximo entre a y b
1 Función Máximo(a, b):
2 si a < b entonces
3
3 devolver b
4 en otro caso
5 devolver a

Datos: Dos números reales a y b


Resultado: El máximo entre a y b
1 Función Máximo(a, b):
2 m := a /* Guardará en m el valor de máximo */
3
3 si m < b entonces
4 m := b
5 devolver m

3
Mat. Andrés Merino Resumen no. 05

2.1.2. Obtener el máximo de tres números

Datos: Tres números reales a, b y c


Resultado: El máximo entre a, b y c
1 Función Máximo(a, b, c):
2 m := a /* Guardará en m el valor de máximo */
3 si m < b entonces
3 4 m := b
5 en otro caso
6 si m < c entonces
7 m := c

8 devolver m

Datos: Tres números reales a, b y c


Resultado: El máximo entre a, b y c
1 Función Máximo(a, b, c):
2 m := a /* Guardará en m el valor de máximo */
3 si m < b entonces
3 4 m := b
5 si m < c entonces
6 m := c
7 devolver m

2.1.3. Obtener el máximo de una lista de números

Datos: Una colección de números reales a1 , a2 ,. . . y an , con n ∈ N tal que n ≥ 2


Resultado: El máximo entre a1 , a2 ,. . . y an
1 Función Máximo(a1 , a2 , . . . , an ):
2 m : = a1 /* Guardará en m el valor de máximo */
3 3 para i ∈ {2, . . . , n} hacer
4 si m < ai entonces
5 m : = ai

6 devolver m

2.1.4. Algoritmo de búsqueda lineal

4
Resumen no. 05 Mat. Andrés Merino

Datos: Una colección de números reales a1 , a2 ,. . . y an , con n ∈ N∗ y un número real c


Resultado: El primer índice i tal que x = ai , en caso de no existir, devuelve 0
1 Función Búsqueda(x, a1 , a2 , . . . , an ):
2 i := 1 /* i será el índice que vamos a recorrer */
3 mientras i ≤ n y x 6= ai hacer
4 i := i + 1
3
5 si i ≤ n entonces
6 devolver i
7 en otro caso
8 devolver 0
9 devolver m

2.1.5. Algoritmo de búsqueda binaria

Datos: Una colección, ordenada de menor a mayor, de números reales a1 , a2 ,. . . y an ,


con n ∈ N∗ y un número real c
Resultado: El índice i tal que x = ai , en caso de no existir, devuelve 0
1 Función BúsquedaBinaria(x, a1 , a2 , . . . , an ):
2 i := 1 /* i será el índice inferior del intervalo */
3 j := n /* j será el índice superior del intervalo */
4 mientras ij< j khacer
i+ j
5 m := 2 /* m es la posición media del intervalo */

3 6 si x > am entonces
7 i := m + 1
8 en otro caso
9 j := m

10 si x = ai entonces
11 devolver i
12 en otro caso
13 devolver 0

5
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 06

Semestre 2021-1 Mat. Andrés Merino

1. A LGORITMOS DE ORDENAMIENTO

Se dedica un altísimo porcentaje de recursos computacionales al ordena-


miento ele cosas, por lo que se ha invertido mucho esfuerzo en desarrollar
algoritmos de ordenación. Se ha concebido un número sorprendentemente
o grande de algoritmos de ordenación utilizando diferentes estrategias. ¡En
su trabajo fundamental, The Art of Computer Programming, Donald Knulh
dedicó cerca de 400 páginas al problema de ordenación, tratando en pro-
fundidad alrededor de 15 algoritmos de ordenación diferentes!

Revisar: http://lwh.free.fr/pages/algo/tri/tri_es.htm

1.1 Método de la burbuja

Datos: Una lista de números reales ( a1 , a2 , . . . , an ), con n ∈ N∗


Resultado: La lista de números, ordenada de menor a mayor
1 Función OrdenBurbuja(a1 , a2 , . . . , an ):
2 para i ∈ {1, . . . , n − 1} hacer
3 3 para i ∈ {1, . . . , n − i } hacer
4 si a j > a j+1 entonces
5 Intercambiar(a j , a j+1 )

6 devolver ( a1 , a2 , . . . , an )

El código en Python para esta función es:


1 def OrdenBurbuja ( a ) :
2 f o r i i n r a n g e ( l e n ( a ) −2) :
3 f o r j i n r a n g e ( l e n ( a )−i −1) :
¥ 4 i f a [ j ] > a [ j +1]:
5 a [ j ] , a [ j +1] = a [ j + 1 ] , a [ j ]
6 return a

1.2 Ordenación por inserción

1
Mat. Andrés Merino Resumen no. 06

Datos: Una lista de números reales ( a1 , a2 , . . . , an ), con n ∈ N∗


Resultado: La lista de números, ordenada de menor a mayor
1 Función OrdenInserción(a1 , a2 , . . . , an ):
2 para j ∈ {2, . . . , n} hacer
3 i := 1 /* i es la posición donde se insertará el elemento */
4 mientras a j > ai hacer
3 5 i := i + 1
6 m := a j /* m guarda temporalmente el valor a insertar */
7 para k ∈ {0, . . . , j − i − 1} hacer
8 a j − k : = a j − k −1
9 ai : = m
10 devolver ( a1 , a2 , . . . , an )

El código en Python para esta función es:


1 def OrdenInsercion (a) :
2 f o r j in range (1 , len ( a ) ) :
3 i = 0
4 while a [ j ] > a [ i ] :
5 i = i + 1
¥ 6 m = a[ j ]
7 f o r k i n ra n ge ( j −i ) :
8 a [ j −k ] = a [ j −k −1]
9 a[ i ] = m
10 return a

2
Resumen no. 06 Mat. Andrés Merino

2. A NÁLISIS DE ALGORITMOS

2.1 Notación O, Ω, Θ
D EFINICIÓN 1
Sean f y g funciones reales cuyos dominios son el mismo subconjunto de los
reales no negativos. Decimos que:
1. f es de orden al menos g, que se escribe f ( x ) es Ω( g( x )), si y sólo si,
existen A > 0 y a ≥ 0 tales que, para todo x > a

A| g( x )| ≤ | f ( x )|.

2. f es de orden a lo más g, que se escribe f ( x ) es O( g( x )), si y sólo si,


existen B > 0 y b ≥ 0 tales que, para todo x > b

| f ( x ) ≤ B| g( x )|.

3. f es de orden g, que se escribe f ( x ) es Θ( g( x )), si y sólo si, existen


A, B > 0 y k ≥ o tal que, para todo x > k

A| g( x )| ≤ | f ( x )| ≤ B| g( x )|.

En general, se debe distinguir la función f y su valor f ( x ). El uso tradicio-


nal de la notación de orden viola esta regla. Por ejemplo, en el enunciado
“ f ( x )esΘ( g( x ))”, los símbolos f ( x ) y g( x ) son entendidos a referirse a las
funciones f y g definidas por las expresiones f ( x ) y g( x ), respectivamente.
Así el enunciado

o 3 x + 4 es Θ( x1/2 )

significa que f es de orden g en donde f y g están definidas por f ( x ) =



3 x + 4 y g( x ) = x1/2 con algún dominio común (usualmente el conjunto
más grande de números reales no negativos para el cual ambas fórmulas
están definidas).

Ver Figura 11.2.1 del libro de Epp.

P ROPOSICIÓN 1. Sean f , g y h funciones reales cuyos dominios son el mismo


subconjunto de los reales no negativos. Se tiene que

3
Mat. Andrés Merino Resumen no. 06

1. f ( x ) es Ω( g( x )) y f ( x ) es O( g( x )) si y sólo si, f ( x ) es Θ( g( x ));

2. f ( x ) es Ω( g( x )) si y sólo si, g( x ) es O( f ( x ));

3. si f ( x ) es O( g( x )) y g( x ) es O(h( x )), entonces f ( x ) es O(h( x )).

P ROPOSICIÓN 2. Sean r, s > 0, se tiene que si r < s, entonces

xr es O( x s )

T EOREMA 3
Sean a0 , a1 , a2 , . . . an ∈ R, con n ∈ N∗ , tales que an 6= 0. Se tiene que
1. an x n + an−1 x n−1 + · · · + a1 x + a0 es O( x s ) para todo s ≥ n.

2. an x n + an−1 x n−1 + · · · + a1 x + a0 es Ω( xr ) para todo r ≤ n.

3. an x n + an−1 x n−1 + · · · + a1 x + a0 es Θ( x n ).

P ROPOSICIÓN 4. Sean a0 , a1 , a2 , . . . an ∈ R, con n ∈ N∗ , tales que an 6= 0. Se


tiene que si m 6= n, entonces

an x n + an−1 x n−1 + · · · + a1 x + a0 no es Θ( x m ).

4
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 07

Semestre 2021-1 Mat. Andrés Merino

1. A NÁLISIS DE ALGORITMOS

En esta sección se aborda el problema de estimar el “tiempo” requerido


o para ejecutar el algoritmo.

D EFINICIÓN 1
Dado un algoritmo A, cuyo conjunto de datos es D, se define la función
T : D → N, denominada tiempo de ejecución, de tal forma que para un dato
x ∈ D, T ( x ) es el número de operaciones elementales que realiza el algoritmo,
con el dato x, hasta finalizar.

Supondremos que el tiempo necesario para ejecutar un algoritmo es una


o relación del “tamaño” de los datos.

D EFINICIÓN 2
Sea un algoritmo A cuyo conjunto de datos es D y, para x ∈ D tomemos
n x ∈ N una característica del dato x. Si para todo x, y ∈ D tal que n x =
ny = n ∈ N se tiene que T ( x ) = T (y) se dice que el tiempo de ejecución
no depende de la naturaleza de los datos sino únicamente del tamaño de la
entrada n y se redefine la función T : N → N de tal forma que para n ∈ N,
T (n) es el número de operaciones elementales que realiza el algoritmo, con datos
de cardinalidad n, hasta finalizar.

D EFINICIÓN 3
Sea un algoritmo A cuyo conjunto de datos es D y, para x ∈ D tomemos
n x ∈ N una característica del dato x. Para n ∈ N, se define:
• el tiempo del mejor caso:

Tm (n) = mı́n{ T ( x ) : n x = n};

• el tiempo del peor caso:

TM (n) = máx{ T ( x ) : n x = n};

1
Mat. Andrés Merino Resumen no. 07

• el tiempo esperado:

Te (n) = E( T ( x )|n x = n).

P ROPOSICIÓN 1. Sea un algoritmo A cuyo conjunto de datos es D y, para


x ∈ D tomemos n x ∈ N una característica del dato x. Si el tiempo de ejecución
A no depende de la naturaleza de los datos sino únicamente del tamaño de la
entrada n x , entonces, para todo n ∈ N

T (n) = TM (n) = Tm (n) = Te (n).

D EFINICIÓN 4
Sea un algoritmo A cuyo conjunto de datos es D y, para x ∈ D tomemos
n x ∈ N una característica del dato x.
• Si existe una función g : N → N tal que Tm (n) es Θ( g(n)), decimos que
el mejor caso de A es Θ( g(n)) o que A tiene un mejor caso de orden
g ( n ).

• Si existe una función g : N → N tal que TM (n) es Θ( g(n)), decimos que


el peor caso de A es Θ( g(n)) o que A tiene un peor caso de orden g(n).

• Si existe una función g : N → N tal que Te (n) es Θ( g(n)), decimos que


el caso esperado de A es Θ( g(n)) o que A tiene orden esperado g(n).

2. S UCESIONES Y RECURSIVIDAD

D EFINICIÓN 5: Sucesión
Dado un conjunto A, una sucesión de elementos de A es una función

x : N −→ A
n 7−→ x (n).

Si x es una sucesión de elementos de A, para cada n ∈ N se denota xn :=


o x(n) y se lo llama el n-ésimo término de la sucesión.

Si x es una sucesión de elementos de A, usaremos la notación ( xn )n∈N para


o
referirnos a ella.

2
Resumen no. 07 Mat. Andrés Merino

E JEMPLO 1. Dados a, d ∈ R, una progresión aritmética es una sucesión dada por


an = a + nd. Al números a y d se los llama término inicial y diferencia de la sucesión,
respectivamente.

E JEMPLO 2. Dados a, r ∈ R, una progresión geométrica es una sucesión dada por


an = ar n . Al números a y r se los llama término inicial y razón de la sucesión,
respectivamente.
D EFINICIÓN 6: Cadena
Dado un conjunto A y m ∈ N, una cadena de elementos de A de longitud n es
una función
x : {0, 1, . . . , m} −→ A
n 7−→ x (n) = xn .

o Si x es una cadena de elementos de A, se la denotará por x0 x1 · · · xm .

La cadena vacía, denotada por λ es la que no tiene términos. La cadena vacía


o tiene longitud cero.

T EOREMA 2: Principio de recursión finita


Dados A un conjunto, c ∈ A, y una función f : A → A, existe una única
función γ : N → A tal que
1. γ(0) = c, y

2. γ(n + 1) = f (γ(n)), para todo n ∈ N.

E JEMPLO 3. Dado a ∈ R r {0}, definiremos an , para n ∈ N, de manera recursiva.


Consideremos A = R, c = 1 y la función

f : R −→ R
x 7−→ x · a.

Gracias al Principio de recursión finita, existe una única función γ : N → R tal


que

• γ(0) = 1, y

• γ(n + 1) = f (γ(n)) = γ(n) · a, para todo n ∈ N.

Si denotamos por an a γ(n), tenemos entonces que

• a0 = 1, y

3
Mat. Andrés Merino Resumen no. 07

• an+1 = an · a, para todo n ∈ N.

Por motivos de programación, es preferible escribir esta definición de la siguiente


manera:

• a0 = 1, y

• an = an−1 · a, para todo n > 0.

Dado un conjunto A, intuitivamente, el Principio de recursión finita nos


dice que, para definir una función γ : N → A, basta con definir γ(0) y dar
o una regla mediante la cual se calculará γ(n + 1) a partir de los valores que
toma γ en naturales menores que n + 1. A estos dos procedimientos los
llamaremos paso base y paso recursivo, respectivamente.

Datos: Un número natural n


Resultado: Devuelve el valor de an , para un número real a fijo
1 Función expa(n):
2 si n=0 entonces
3
3 devolver 1
4 en otro caso
5 devolver expa(n-1)*a

1 d e f expa ( n ) :
2 i f n == 0 :
¥ 3 return 1
4 else :
5 r e t u r n e x p a ( n−1)∗ a

E JEMPLO 4. Vamos a definir de manera recursiva el factorial de un número natural


y para ello usaremos el Principio de recursión finita. El factorial de un número
natural n, se denota por n! y se define por:

• 0! = 1 y

• (n + 1)! = (n + 1) · n!, para n ∈ N.

Por motivos de programación, reescribimos esta definición como sigue:

• 0! = 1 y

• n! = n · (n − 1)!, para n > 0,

4
Resumen no. 07 Mat. Andrés Merino

Datos: Un número natural n


Resultado: Devuelve el valor de n!
1 Función factorial(n):
2 si n=0 entonces
3
3 devolver 1
4 en otro caso
5 devolver n*factorial(n-1)

1 def f a c t o r i a l (n) :
2 i f n == 0 :
¥ 3 return 1
4 else :
5 r e t u r n n ∗ f a c t o r i a l ( n−1)

D EFINICIÓN 7: Notación sigma


Dada una sucesión ( xn )n∈N sobre R, definimos

0 n +1 n
∑ a i = a0 . y ∑ a i = a n +1 + ∑ a i
i =0 i =0 i =0

E JEMPLO 5. Supongamos que queremos calcular la suma de los números natura-


les desde 0 hasta 100. Utilizando la notación sigma, podemos escribir esta suma
como
100
∑ i.
i =0

De manera más general, si quisiéramos calcular la suma de los números naturales


desde 0 hasta un n arbitrario, podemos escribir tal suma como
n
∑ i.
i =0

De hecho, es posible probar que


n
n ( n + 1)
∑i= 2
.
i =0

5
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 08

Semestre 2021-1 Mat. Andrés Merino

1. I NDUCCIÓN MATEMÁTICA

T EOREMA 1: Principio de inducción


Dado un subconjunto A de N, se tiene que, si A cumple que
1. 0 ∈ A y

2. si n ∈ A, entonces n + 1 ∈ A,

entonces A = N.

T EOREMA 2
Dada una función proposicional P(n) sobre el conjunto de los números natu-
rales, se tiene que, si P cumple que
1. P(0) es cierta y

2. si P(n) es cierta, entonces P(n + 1) es cierta,

entonces (∀n ∈ N)( P(n)) es cierta.

El Principio de inducción matemática se puede expresar como

[ P(0) ∧ (∀n ∈ N)( P(n) → P(n + 1))] → (∀n ∈ N)( P(n))


o
o
[ P(0) ∧ (∀n ∈ N∗ )( P(n − 1) → P(n))] → (∀n ∈ N)( P(n))

A la proposición P(0) se la llama paso base, a la proposición P(n) se la llama


o hipótesis de inducción, y a la proposición P(n) → P(n + 1) se la llama paso de
inducción.

T EOREMA 3: Principio de inducción fuerte


Dada una función proposicional P(n) sobre el conjunto de los números natu-
rales, se tiene que, si P cumple que
1. P(0) es cierta y

2. si n ∈ N y P(k) es cierta para todo k ≤ n, entonces P(n + 1) es cierta,

1
Mat. Andrés Merino Resumen no. 08

entonces (∀n ∈ N)( P(n)) es cierta.

El Principio de inducción fuerte se puede expresar como

P(0) ∧ (∀n ∈ N)( P(0) ∧ P(1) ∧ · · · ∧ P(n) → P(n + 1))


o
implica
(∀n ∈ N)( P(n))

El Principio de inducción y el Principio de inducción fuerte son equivalen-


o tes.

2. D EFINICIONES RECURSIVAS E INDUCCIÓN ESTRUCTURAL


Así como construimos funciones de manera recursiva, es posible usar un prin-
cipio similar para construir conjuntos de manera recursiva; es decir, necesitamos
de un paso base y de un paso recursivo.
D EFINICIÓN 1
Dado un conjunto A ⊆ U y una función f : U → U, un conjunto S definido
recursivamente es un conjunto que verifica que
1. Para todo x ∈ A, se tiene que x ∈ S, y

2. Si x ∈ S, entonces f ( x ) ∈ S.

Para construir un conjunto S de manera recursiva basta con definir sus ele-
o mentos iniciales y una manera de obtener nuevos elementos a partir de los
ya existentes.

E JEMPLO 1. El conjunto Σ∗ de cadenas sobre un alfabeto Σ se puede definir recur-


sivamente de la siguiente manera:

1. λ ∈ Σ∗ , donde λ es la cadena vacía, y

2. Si w ∈ Σ∗ y x ∈ Σ, entonces wx ∈ Σ∗ .

Con esto, tenemos que el conjunto de cadenas se forma a partir de la cade-


na vacía y agregando en cada paso recursivo un elemento del alfabeto Σ a cada
cadena en Σ∗ .

2
Resumen no. 08 Mat. Andrés Merino

D EFINICIÓN 2: Inducción estructural


Dados un conjunto S definido recursivamente a partir de un conjunto A y una
función f , y una función proposicional P( x ) sobre S, si se verifica que
1. Para cada x ∈ A, P( x ) es cierta, y

2. Si P( x ) es cierta, entonces P( f ( x )) es cierta,

entonces P( x ) es cierta para todo x ∈ S.

E JEMPLO 2. Consideremos el conjunto S definido en el ejemplo anterior. Vamos a


probar mediante inducción estructural que S ⊆ Z.
Definamos P( x ) como la proposición que afirma que x ∈ Z. Tenemos que
A = {3} y 3 ∈ Z, por lo tanto P( x ) es cierta para todo x ∈ A. Ahora, supongamos
que, para x ∈ S, P( x ) es cierta y probemos que P( f ( x )) es cierta. Ya que P( x ) es
cierta, tenemos que x ∈ Z; por otra parte, f ( x ) = 2x, por lo tanto f ( x ) ∈ Z, luego
P( f ( x )) es cierta.

E JEMPLO 3. Dada una cadena w sobre un alfabeto Σ, probaremos que su longitud


l (w) es un número entero no negativo. Para ello nos basaremos en las definiciones
recursivas dadas para Σ∗ y l.
Llamemos P(w) a la proposición que afirma que la longitud de la cadena w es
un número entero no negativo. Tenemos que l (λ) = 0, por lo tanto P(λ) es cierta.
Ahora, supongamos que P(w) es cierta para w ∈ Σ∗ y probemos que si x ∈ Σ,
entonces P(wx ) es cierta. Tenemos que l (w) es un número entero no negativo, y
además l (wx ) = l (w) + 1, por l tanto l (wx ) también es un entero no negativo. Así,
P(wx ) es verdadera.

3. A LGORITMOS RECURSIVOS
D EFINICIÓN 3: Algoritmo recursivo
Un algoritmo se dice recursivo si resuelve un problema reduciéndolo a un caso
del mismo problema con datos de entrada más pequeños.

E JEMPLO 4. Dados a ∈ R r {0} y n un entero no negativo, construiremos un algo-


ritmo recursivo que permita calcular an ; para ello nos basaremos en la definición
recursiva dada anteriormente para an .

E JEMPLO 5. Dado n ∈ N construiremos un algoritmo recursivo que permita cal-


cular n!; para ello nos basaremos en la definición recursiva dada anteriormente

3
Mat. Andrés Merino Resumen no. 08

para n!.

E JEMPLO 6. Dada una cadena de caracteres w construiremos un algoritmo recur-


sivo que calcule la longitud de w.

El pseudocodigo para la función que a cada cadena w devuelve la longitud


de w es:
Datos: Una cadena w
Resultado: Devuelve la longitud de la cadena w
1 Función Longitud(w):
3
2 si w = λ entonces
3 devolver 0
4 en otro caso
5 devolver Longitud(SinUltimo(w))+1

Donde, la función SinUltimo devuelve la cadena de caracteres sin su último


elemento.
1 d e f l o n g i t u d (w) :
2 i f w == " " :
¥ 3 return 0
4 else :
5 r e t u r n l o n g i t u d (w [ : − 1 ] ) + 1

E JEMPLO 7. Dada una cadena de caracteres w construiremos un algoritmo recur-


sivo que calcule el número de letras a que tiene w.

Datos: Una cadena w


Resultado: Devuelve el número de letras a que tiene w
1 Función ContarA(w):
2 si w = λ entonces
3 devolver 0
3 4 en otro caso
5 si Ultimo(w)=a entonces
6 devolver ContarA(SinUltimo(w))+1
7 en otro caso
8 devolver ContarA(SinUltimo(w))

Donde, la función SinUltimo devuelve la cadena de caracteres sin su último


elemento y la función Ultimo devuelve el último carácter de la cadena.
1 d e f ContarA (w) :
2 i f w == " " :
3 return 0
¥ 4 else :
5 i f w[ −1] == " a " :
6 r e t u r n ContarA (w [ : − 1 ] ) + 1
7 else :
8 r e t u r n ContarA (w [ : − 1 ] )

4
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 09

Semestre 2021-1 Mat. Andrés Merino

1. G RAFOS Y MULTIGRAFOS

D EFINICIÓN 1: Grafo
Sean V un conjunto finito y A un subconjunto de pares no ordenados de V.
Se dice que G = (V, A) es un grafo, al conjunto V se lo denomina vértices
de grafo y al conjunto A se lo denomina aristas del grafo. Para e ∈ A, si
e = {u, v}, con u, v ∈ V, se dice que la arista e une el vértice u con el vértice v.

Dado un grafo G = (V, A), si e une el vértice u con el vértice v se dice


o también que e conecta u y v y que u y v son los extremos de e.

Dado un grafo G = (V, A), si para algún u ∈ V se tiene que e une el vértice
o v consigo mismo, se dice que e es un lazo. Si un grafo no contiene lazos, se
dice que es un grafo simple.

D EFINICIÓN 2: Multigrafo
Sean V y A conjuntos y f una función de A en el conjunto de pares no orde-
nados de V. Se dice que G = (V, A, f ) es un multigrafo, al conjunto V se lo
denomina vértices de grafo y al conjunto A se lo denomina aristas del grafo.
Para e ∈ A, si f (e) = {u, v}, con u, v ∈ V, se dice que la arista e une el vértice
u con el vértice v.

En un multigrafo, se extienden las nociones de que una arista conecte dos


o vértices y la de extremos de una arista.

D EFINICIÓN 3
Sean G = (V, A) un grafo y u, v ∈ V. Se dice que u y v son adyacentes en G si
existe e ∈ A tal que e une u con v.

D EFINICIÓN 4
Sea G = (V, A) un grafo (multigrafo). Para u ∈ V, se define el grado de u,
denotado por grad(u), por el número de aristas en A que contienen a u como
uno de sus extremos (en caso de que existan lazos, estos cuentan por dos).

1
Mat. Andrés Merino Resumen no. 09

T EOREMA 1: Apretón de manos


Sea G = (V, A) un grafo (multigrafo). Se tiene que

∑ grad(u) = 2| A|.
u ∈V

¿Cuál es el número máximo de aristas que puede tener un grafo sin lazos?

P ROPOSICIÓN 2. Todo grafo tiene un número par de vértices de grado impar.

E JEMPLO 1. Grafo completo: Dado n ∈ N ∗ , el grafo completo de n vértices, de-


notado por Kn , es el grafo simple que contiene todas las posibles aristas.

2. G RAFOS DIRIGIDOS

D EFINICIÓN 5: Grafo
Sean V un conjunto finito y A un subconjunto de pares ordenados de V. Se
dice que G = (V, A) es un grafo dirigido o digrafo, al conjunto V se lo deno-
mina vértices de grafo y al conjunto A se lo denomina arcos del grafo. Para
e ∈ A, si e = (u, v), con u, v ∈ V, se dice que el arco e empieza en el vértice u
y termina en el vértice v.

Dado un grafo dirigido G = (V, A), si e empieza en el vértice u y termina


o en el vértice v se dice también que v es un sucesor de u y que u y v son los
extremos inicial y final de e, respectivamente.

Sean G = (V, A) un grafo dirigido y u ∈ V. Se denota por suc(u) al con-


junto de todos los sucesores de u, es decir,
o
suc(u) = {v ∈ V : (u, v) ∈ V }.

Dado un grafo dirigido G = (V, A), si para algún u ∈ V se tiene que e


o empieza y termina en el vértice u, se dice que e es un lazo. Si un grafo
dirigido no contiene lazos, se dice que es un grafo simple.

D EFINICIÓN 6
Sean G = (V, A) un grafo dirigido y u, v ∈ V. Se dice que u y v son adyacentes
en G si existe e ∈ A tal que e une u con v o viceversa.

2
Resumen no. 09 Mat. Andrés Merino

D EFINICIÓN 7
Sea G = (V, A) un grafo dirigido. Si los arcos o vértices de G se etiquetan con
algún tipo de datos, se dice que G es un grafo dirigido etiquetado.

D EFINICIÓN 8
Sea G = (V, A) un grafo dirigido. Si B ⊆ A y U ⊆ V son tales que ( B, U ) es
un grafo dirigido, entonces se dice que ( B, U ) es un subgrafo de G.

D EFINICIÓN 9
Sea G = (V, A) un grafo dirigido. Para u ∈ V, se define el grado de salida
de u, denotado por grads (u), por el número de aristas en A que contienen a
u como su extremo inicial. De manera similar, se define el grado de entrada
de u, denotado por grade (u), por el número de aristas en A que contienen a u
como su extremo final.

Dados un grafo dirigido G = (V, A) y v ∈ V, si grads (v) = 0, se dice que v


o es un sumidero, y si grad (v) = 0, se dice que v es una fuente.
e

T EOREMA 3
Sea G = (V, A) un grafo dirigido. La suma de los grados de salida de los
vértices de G es igual a la suma de los grados de entrada de los vértices e
igual al número de aristas de G, es decir

| A| = ∑ grade (u) = ∑ grads (u).


u ∈V u ∈V

3
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 10

Semestre 2021-1 Mat. Andrés Merino

1. I SOMORFISMOS Y HOMEOMORFISMOS

D EFINICIÓN 1
Sea G = (V, A) un grafo (multigrafo). Si B ⊆ A y U ⊆ V son tales que
( B, U ) es un grafo (multigrafo), entonces se dice que ( B, U ) es un subgrafo
(submultigrafo) de G.

E JEMPLO 1.

• Dado G = (V, A) un grafo (multigrafo) y U ⊆ V, se denomina grafo induci-


do por U, denotado por G (U ) al grafo que se obtiene con U como conjunto
de vértices y B el conjunto que resulta al eliminar de A todas las aristas que
contengan como extremo algún elemento de U c .

• Dado G = (V, A) un grafo (multigrafo) y u ∈ V, entonces G − u es el grafo


G (V r {u}).

• Dado G = (V, A) un grafo (multigrafo) y e ∈ A, entonces G − e es el grafo


(V, A r {e}).
D EFINICIÓN 2
Sean G1 = (V1 , A1 ) y G2 = (V2 , A2 ) dos grafos (multigrafos). Se dice que G1
y G2 son isomorfos si existe una función biyectiva f : V1 → V2 tal que u está
conectado con v en G1 si y solo si f (u) está conectado con f (v) en G2 .

D EFINICIÓN 3
Sean G = (V, A) un grafo y {u, v} ∈ A. Una subdivisión elemental es el grafo
resultante al eliminar la arista {u, v} y añadiendo un nuevo vértice w junto
con las aristas {u, w} y {w, v}.

D EFINICIÓN 4
Sean G1 = (V1 , A1 ) y G2 = (V2 , A2 ) dos grafos. Se dice que G1 y G2 son
homeomorfos si se pueden obtener a partir de un mismo grafo por medio de
una secuencia de subdivisiones elementales.

1
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 11

Semestre 2021-1 Mat. Andrés Merino

1. R EPRESENTACIÓN DE GRAFOS EN LA MEMORIA DE LA


COMPUTADORA

P ROPOSICIÓN 1. Sea G = (V, A) un grafo. Se tiene que el grafo define una


relación sobre V dada por la adyacencia de vértices.

D EFINICIÓN 1: Matriz de adyacencia


Sea G = (V, A) un grafo con V = {v1 , . . . , vn }. La matriz de adyacencia de G,
denotada por MG , es la representación matricial de la relación definida sobre
V dada por la adyacencia de vértices.

P ROPOSICIÓN 2. Sea G = (V, A) un grafo con V = {v1 , . . . , vn }. Se tiene que


la relación dada por la adyacencia de vértices es simétrica y, por lo tanto, MG
es una matriz simétrica.

D EFINICIÓN 2: Matriz de adyacencia en multigrafos


Sea G = (V, A) un multigrafo con V = {v1 , . . . , vn }. La matriz de adyacencia
de G es la matriz MG = (mij ) donde mij es el número de aristas que unen a vi
con v j .

P ROPOSICIÓN 3. Sea G = (V, A) un multigrafo. Se tiene MG es una matriz


simétrica.

P ROPOSICIÓN 4. Sea G = (V, A) un grafo (multigrafo) con V = {v1 , . . . , vn }


y matriz de adyacencia MG = (mij ). Se tiene que

n n
grad(v j ) = ∑ mij = ∑ m ji .
i =1 i =1

D EFINICIÓN 3
Sea G = (V, A) un grafo. Para v ∈ V, se define por V [v] al conjunto de todos
los vértices que son adyacentes a v. Para C ⊆ V, se define por V [C ] al conjunto
de todos los vértices que son adyacentes con algún vértice de C.

1
Mat. Andrés Merino Resumen no. 11

D EFINICIÓN 4: Lista de adyacencia


Sea G = (V, A) un grafo. La lista de adyacencia de G, denotada por LG , es una
lista indexada por los elementos de V tal que la entrada v de LG es V [{v}].

E JEMPLO 1. Considerando el siguiente grafo:

b f

e a c

g d

El código en Python para guardar un grafo anterior como lista de adyacencias


es:
1 G = { "a" : [ "b" , "d" , "g" ] ,
2 "b" : [ "a" , "e" , " f " ] ,
3 "c" : ["f"] ,
4 "d" : [ "a" , " f " ] ,
¥ 5 "e" : [ "b" , "g" ] ,
6 "f" : [ "b" , " c " , "d" ] ,
7 "g" : [ "a" , "e" ]
8 }

2. C AMINOS Y CONECTIVIDAD

D EFINICIÓN 5: Camino
Sean G = (V, A) un grafo (multigrafo) y a, b ∈ V. Un camino entre a y b es
una secuencia

C = ( v 0 , e1 , v 1 , e2 , v 2 , . . . , e n −1 , v n −1 , e n , v n )

tal que v0 , v1 , . . . , vn ∈ V, e1 , . . . , en ∈ A, v0 = a, vn = b y para todo k ∈


{1, 2, . . . , n}, ek conecta vk−1 con vk . Al número de aristas que contiene el ca-
mino se lo denomina longitud del camino y se lo denota por long(C ).

Dados G = (V, A) un grafo, a, b ∈ V y α un camino entre a y b, a α también


o se lo representará únicamente por sus aristas.

2
Resumen no. 11 Mat. Andrés Merino

D EFINICIÓN 6: Camino cerrado o circuito


Sean G un grafo (multigrafo) y α un camino en G. Se dice que α es cerrado o
que es un circuito si su vértice inicial y final coinciden.

D EFINICIÓN 7: Camino simple


Sean G un grafo (multigrafo) y α un camino en G. Se dice que α es simple si
todos sus vértices son diferentes.

D EFINICIÓN 8: Recorrido
Sean G un grafo (multigrafo) y α un camino en G. Se dice que α es un recorrido
si todas sus aristas son diferentes.

D EFINICIÓN 9: Circuito simple


Sean G un grafo (multigrafo) y α un circuito en G. Se dice que α es un circuito
si es un recorrido.

D EFINICIÓN 10: Ciclo


Sean G un grafo (multigrafo) y α un camino en G. Se dice que α es un ciclo si
todos sus vértices son diferentes menos el primero y último que son iguales.
Un ciclo de longitud k se denomina un k-ciclo.

T EOREMA 5
Sean G = (V, A) un grafo (multigrafo) y a, b ∈ V. Existe un camino entre a y
b si y solo si existe un camino simple entre a y b.

D EFINICIÓN 11
Sea G = (V, A) un grafo (multigrafo). Se dice que G es conexo si para todo
u, v ∈ V, existe un camino entre u y v.

D EFINICIÓN 12
Sean G = (V, A) un grafo (multigrafo) y u, v ∈ V. Se dice que u y v están
conectados si existe un camino entre u y v.

P ROPOSICIÓN 6. Sean G = (V, A) un grafo (multigrafo). La relación “estar


conectados” determina una relación de equivalencia.

D EFINICIÓN 13
Sea G un grafo (multigrafo). A cada clase de equivalencia de G bajo la relación
“estar conectados” se la denomina componente conexa de G.

3
Mat. Andrés Merino Resumen no. 11

D EFINICIÓN 14: Distancia entre vértices


Sean G = (V, A) un grafo (multigrafo) conexo y u, v ∈ V. Se define la distan-
cia de u a v por

d(u, v) = mı́n{long(C ) : C es un camino entre u y v}.

D EFINICIÓN 15: Diámetro


Sea G = (V, A) un grafo (multigrafo) conexo. El diámetro de G se define por

diam( G ) = máx{d(u, v) : u, v ∈ V }.

P ROPOSICIÓN 7. Sea G un grafo (multigrafo) con V = {v1 , . . . , vn } y matriz


de adyacencia MG = (mij ). El número de caminos distintos de longitud k de
k.
vi a v j es igual al elemento en la posición (i, j) de la matriz MG

4
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 11

Semestre 2021-1 Mat. Andrés Merino

1. R ECORRIDOS Y GRAFOS E ULERIANOS

D EFINICIÓN 1: Circuito euleriano, Grafo euleriano


Sean G un grafo (multigrafo). Un circuito euleriano es un circuito simple que
contiene todas las aristas de G. Si G contiene un circuito euleriano, se dice que
es un grafo euleriano.

D EFINICIÓN 2: Recorrido euleriano


Sean G un grafo (multigrafo). Un recorrido euleriano es un recorrido que con-
tiene todas las aristas de G.

T EOREMA 1
Sean G un grafo (multigrafo) conexo. Se tiene que G es euleriano si y solo si
todo vértice tiene grado par.

T EOREMA 2
Sean G un grafo (multigrafo) conexo. Se tiene que si G posee únicamente dos
vértices de grado impar, entonces existe un recorrido euleriano, el cual inicia
en uno de los vértices de grado impar y termina en el otro.

• Ver ejemplo 10.2.5 del libro de Epp

• Ver ejemplo 10.2.7 del libro de Epp


D EFINICIÓN 3: Circuito hamiltoniano, Grafo hamiltoniano
Sean G un grafo (multigrafo). Un circuito hamiltoniano es un camino cerrado
simple que contiene todos los vértices de G. Si G contiene un circuito hamil-
toniano, se dice que es un grafo hamiltoniano.

Un circuito euleriano recorre cada arista exactamente una vez, aunque pue-
o de repetir vértices, mientras que un circuito hamiltoniano visita cada vérti-
ce exactamente una vez aunque no puede repetir aristas.

T EOREMA 3
Sean G = (V, A) un grafo (multigrafo) conexo de n vértices, con n ≥ 3. Si para
todo u ∈ V se cumple que grad(u) ≥ n/2, entonces el grafo es hamiltoneano.

1
Mat. Andrés Merino Resumen no. 11

• Ver ejemplo 10.2.8 del libro de Epp

• Ver ejemplo 10.2.9 del libro de Epp

1.1 Generación de circuito euleriano (Algoritmo de Fleury)

Dado G = (V, A) un grafo euleriano con V = {v1 , . . . , vn }, el pseudocodigo


para la función que devuelve un circuito euleriano C es:

1 Función CaminoEuleriano(G,v1 ):
2 H := G
3 C : = ( v1 )
4 v : = v1
5 mientras H tenga vértices hacer
3 6 e := una arista con extremo en v que no sea un puente de H (a menos que
no se tenga otra opción)
7 v := el otro vértice de e
8 C := Concatenar(C,v)
9 H := H sin e y sin todos los vértices aislados
10 devolver C;

• Ver ejemplo 10.2.6 del libro de Epp

2. G RAFOS ETIQUETADOS Y PONDERADOS

D EFINICIÓN 4
Sean G = (V, A) un grafo (multigrafo) y p : A → [0, +∞[. A p se la llama
función de pesos o de ponderaciones del grafo G. A

∑ p(e)
e∈ A

se lo denomina peso del grafo.

D EFINICIÓN 5
Sean G un grafo, p una función de pesos de G y C un subgrafo de G o un
camino en G. El peso de C se define por

∑ p ( e ),
e∈ B

donde B es el conjunto de aristas de C.

2
Resumen no. 11 Mat. Andrés Merino

3. G RAFOS REGULARES Y BIPARTIDOS

D EFINICIÓN 6: Grafo regular


Sea G un grafo sin lazos conexo. Se dice que G es regular si todos sus vértices
tienen el mismo grado. Si el grado de los vértices es k, se dice que el grafo es
regular de grado k o k-regular.

D EFINICIÓN 7: Grafo bipartido


Sea G = (V, A) un grafo. Se dice que G es bipartido si existen N, M ⊆ V tales
que N ∪ M = V, N ∩ M = ∅ y cada arista del grafo conecta un elemento de
N con uno de M. A ( N, M) se lo denomina la partición del grafo.

E JEMPLO 1 (Grafo bipartido completo). Dados n, m ∈ N∗ , el grafo bipartido com-


pleto de orden n, m con partición ( N, M), denotado por Kn,m , es el grafo tal que N
tiene n vértices, M tiene m vértices y para todo vértice de N y todo vértice de M,
existe una arista entre ellos.

3
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 13

Semestre 2021-1 Mat. Andrés Merino

1. G RAFOS PLANOS

D EFINICIÓN 1: Grafos planos


Sea G un grafo (multigrafo). Se dice que es plano si se puede dibujar en el
plano de manera que ningún par de aristas se corten. A este dibujo se le llama
representación plana del grafo.

D EFINICIÓN 2: Regiones
Sea G un grafo plano conexo. Se tiene que la representación plana de G deli-
mita regiones en el plano, entre ellas una región no acotada.

T EOREMA 1: Euler
Sea G = (V, A) un grafo plano conexo sin lazos y sea R el conjunto de sus
regiones. Se tiene que
| R| + |V | − | A| = 2.

P ROPOSICIÓN 2. Sea G = (V, A) un grafo plano conexo sin lazos. Se tiene


que
| A| ≤ 3|V | − 6.

E JEMPLO 1. El grafo K5 no es plano.

P ROPOSICIÓN 3. Sea G un grafo plano conexo sin lazos. Se tiene que G posee
un vértice de grado menor o igual a 5.

E JEMPLO 2. El grafo Kn no es plano para n ≥ 7.

P ROPOSICIÓN 4. Sea G = (V, A) un grafo plano conexo sin lazos. Se tiene


que si G tiene más de dos vértices y no contiene circuitos de longitud 3, en-
tonces
| A| ≤ 2|V | − 4.

E JEMPLO 3. El grafo K3,3 no es plano.

1
Mat. Andrés Merino Resumen no. 13

T EOREMA 5: Kuratowski
Un grafo es plano si y slo si no contiene ningún subgrafo homeomorfo a K3,3
o a K5 .

2. C OLOREADOS DE GRAFOS
¿Cuántos colores son suficientes para colorear un mapa de tal manera que dos
regiones que tengan una frontera en común no tengan el mismo color?
D EFINICIÓN 3: Grafo dual
Dado un mapa, si a cada región del mapa se le asigna un vértice y si dos
regiones del mapa tienen una frontera en común se asigna una arista entre
los vértices asignados a las regiones, el grafo que se obtiene se lo denomina el
grafo dual al mapa.

D EFINICIÓN 4: Coloración
Sean G = (V, A) un grafo sin lazos y c : V → N. Se dice que c es una colora-
ción de G si para todo u, v ∈ V que sean adyacentes se tiene que c(u) 6= c(v).

D EFINICIÓN 5: Número cromático


Sean G un grafo sin lazos. El número cromático de G es

mı́n{| img(c)| : c es una coloración de G }.

Si n es el número cromático de G, se dice que G es n-coloreable.

E JEMPLO 4. • El número cromático de Kn es n.

• El número cromático de todo grafo bipartido es 2. Es más, todo grafo bipar-


tido es 2-coloreable
T EOREMA 6: Teorema de los cuatro colores
El número cromático de cualquier grafo plano sin lazos es menor o igual a 4.

2.1 Coloreado de grafos - Algoritmo de Welch y Powell

Dado G = (V, A) un grafo donde el conjunto V está ordenado por el grado de


cada vértice de manera decreciente, el pseudocodigo para el algoritmo de Welch
y Powell es:

2
Resumen no. 13 Mat. Andrés Merino

1 Función Coloreado(G):
2 C := ∅ /* Vértices coloreados */
3 n := 1 /* Color actual */
4 mientras C 6= V hacer
5 v := Primero(V r C) /* Vértice actual */
6 Cn := {v} /* Vértices del color actual */
3 7 para u ∈ V r C hacer
8 si u 6∈ V [Cn ] entonces
9 Cn = Cn ∪ {u}

10 C := C ∪ Cn
11 n := n + 1
12 devolver C1 , C2 , . . . , Cn

3. Á RBOLES

D EFINICIÓN 6: Árbol
Sea T un grafo. Se dice que T es un árbol si es conexo y no posee ciclos (cami-
nos cerrados).

D EFINICIÓN 7: Bosque
Sea G un grafo. Se dice que G es un bosque si no posee ciclos (caminos cerra-
dos). Cada componente conexa de G es un árbol.

P ROPOSICIÓN 7. Sea T = (V, A) un árbol. Para todo u, v ∈ V existe un solo


camino simple que conecta a u con v. Además, si a T se le agrega una arista
adicional, deja de ser un árbol pues se genera un ciclo y si a T se le elimina
una arista, deja también de ser árbol pues ya no es conexo.

T EOREMA 8
Sea T un grafo de n vértices, con n ∈ N ∗ . Se tiene que las siguientes son
equivalentes:
• T es un árbol.

• T no posee ciclos y tiene n − 1 aristas.

• T es conexo y tiene n − 1 aristas.

3
Mat. Andrés Merino Resumen no. 13

D EFINICIÓN 8: Árbol de expansión


Sean G un grafo y T un subgrafo de G. Se dice que T es un árbol de expansión
de G si T es un arbol y posee todos los vértices de G.

D EFINICIÓN 9: Árbol de expansión mínima


Sean G un grafo y p una función de pesos de G. Se dice que T es un árbol de
expansión mínima si su peso es el menor entre los pesos de todos los árboles
de expansión de G.

4
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUTURAS D ISCRETAS • R ESUMEN NO . 13

Semestre 2021-1 Mat. Andrés Merino

1. G ENERACIÓN DE ÁRBOLES DE EXPANSIÓN


La generación de árboles de expansión está ligada a algunos algoritmos de
búsqueda sobre un grafo. Analizaremos estos algoritmos y su implementación
para la generación de árboles de expansión.
La búsqueda sobre un grafo se refiere a un mecanismo para visitar cada vértice
de un grafo de una manera secuencial.

1.1 Búsqueda en anchura

A continuación presentamos el algoritmo de búsqueda en anchura (BFS por


sus siglas en inglés Breadth First Search), el cual tiene como objetivo ir marcando
cada vértice visitado (incluirlo en un conjunto).
Dados G = (V, A) un grafo y v ∈ V, el pseudocodigo para búsqueda en an-
chura es:
1 Función BFS(G,v):
2 Q := (v) /* Vértices que se visitarán */
3 M := {v} /* Vértices ya visitados */
4 mientras Q 6= ∅ hacer
5 u := Ultimo(Q) /* Vértice actual */
3 6 Q := SinUltimo(Q)
7 para w ∈ V [u] hacer
8 si w 6∈ M entonces
9 M := M ∪ {w}
10 Q := Concatenar(w,Q)

El código en Python para la función que realiza búsqueda en anchura es:


1 d e f BFS (G , v ) :
2 Q = [v]
3 M = {v}
4 w h i l e Q != [ ] :
5 u = Q[ −1]
¥ 6 Q = Q[ : − 1 ]
7 f o r w in G[ u ] :
8 i f w n o t i n M:
9 M. add (w)
10 Q . i n s e r t ( 0 ,w)

1
Mat. Andrés Merino Resumen no. 13

Con esto, podemos generar un árbol de expansión marcando cada arista que
vamos recorriendo en el algoritmo BFS.
Dados G = (V, A) un grafo y v ∈ V, el pseudocodigo para la función que
devuelve un árbol de expansión de G con raíz en v utilizando BFS es:

1 Función ArbolExpansionBFS(G,v):
2 Q := (v) /* Vértices que se visitarán */
3 M := {v} /* Vértices ya visitados */
4 T := ∅ /* Aristas del árbol resultante */
5 mientras Q 6= ∅ hacer
6 u := Ultimo(Q) /* Vértice actual */
7 Q := SinUltimo(Q)
3 8 para w ∈ V [u] hacer
9 si w 6∈ M entonces
10 M := M ∪ {w}
11 T := T ∪ {{w, u}}
12 Q := Concatenar(w,Q)

13 devolver (M,T)

1.2 Búsqueda en profundidad

A continuación presentamos el algoritmo de búsqueda en profundidad (DFS


por sus siglas en inglés Deep First Search), el cual tiene como objetivo ir marcando
cada vértice visitado (incluirlo en un conjunto).
Dados G = (V, A) un grafo y v ∈ V, el pseudocodigo para búsqueda en pro-
fundidad es:
1 Función DFS(G,v):
2 Q := (v) /* Vértices que se visitarán */
3 M := {v} /* Vértices ya visitados */
4 mientras Q 6= ∅ hacer
5 u := Ultimo(Q) /* Vértice actual */
6 si V [u] ⊆ M entonces
7 Q := SinUltimo(Q)
3 8 en otro caso
9 para w ∈ V [u] hacer
10 si w 6∈ M entonces
11 M := M ∪ {w}
12 Q := Concatenar(Q,w)
13 Salir;

El código en Python para la función que realiza búsqueda en anchura es:

2
Resumen no. 13 Mat. Andrés Merino

1 d e f DFS (G , v ) :
2 Q = [v]
3 M = {v}
4 w h i l e Q != [ ] :
5 u = Q[ −1]
6 i f a l l ( a in M f o r a in G[ u ] ) :
¥ 7 Q = Q[ : − 1 ]
8 else :
9 f o r w in G[ u ] :
10 i f w n o t i n M:
11 M. add (w)
12 Q . append (w)
13 break

Con esto, podemos generar un árbol de expansión marcando cada arista que
vamos recorriendo en el algoritmo DFS.
Dados G = (V, A) un grafo y v ∈ V, el pseudocodigo para la función que
devuelve un árbol de expansión de G con raíz en v utilizando DFS es:

1 Función DFS(G,v):
2 Q := (v) /* Vértices que se visitarán */
3 M := {v} /* Vértices ya visitados */
4 T := ∅ /* Aristas del árbol resultante */
5 mientras Q 6= ∅ hacer
6 u := Ultimo(Q) /* Vértice actual */
7 si V [u] ⊆ M entonces
8 Q := SinUltimo(Q))
3 9 en otro caso
10 para w ∈ V [u] hacer
11 si w 6∈ M entonces
12 M := M ∪ {w}
13 T := T ∪ {{w, u}}
14 Q := Concatenar(Q,w)
15 Salir;

16 devolver (M,T);

1.3 Generación de árboles de expansión mínima - Algoritmo de Kruskal

Dado G = (V, A) un grafo ponderado donde el conjunto A está ordenado por


el peso de cada arista de manera creciente, el pseudocodigo para el algoritmo de
Kruskal es:

3
Mat. Andrés Merino Resumen no. 13

1 Función Kruskal(G):
2 T := ∅ /* Aristas del árbol resultante */
3 para v ∈ V hacer
4 Cv := {v} /* Componente del vértice v */

5 para {u, v} ∈ A hacer


6 si Cu 6= Cv entonces
3
7 T := T ∪ {{u, v}}
8 NC := Cu ∪ Cv /* Nueva componente de los vértices */
9 para w ∈ NC hacer
10 Cw := NC

11 devolver T;

2. Á RBOLES

D EFINICIÓN 1: Árboles con raíz


Sea T un árbol y u un vértice de T. Se dice que el par ( T, u) es un árbol con
raíz y a u se le llama la raíz del árbol.

o Cualquier vértice de un árbol puede ser considerado como su raíz.


• Un árbol con raíz suele utilizarse para representar relaciones de jerarquía
(Johnsonbaugh, pág. 381).

• Un árbol con raíz suele utilizarse para representar sistemas de archivos (John-
sonbaugh, pág. 381).

• Código Huffman (Johnsonbaugh, pág. 382).


D EFINICIÓN 2
Sea T un árbol con raíz v0 . Suponga que x, y y z son vértices de T y que
(v0 , v1 , . . . , vn ) es una trayectoria simple en T. Entonces
1. vn−1 es el padre de vn ;

2. v0 , . . . , vn−1 son ancestros de vn ;

3. vn es un hijo de vn−1 ;

4. si x es un ancestro de y, entonces y es un descendiente de x;

5. si x y y son hijos de z, entonces x y y son hermanos;

6. si x no tiene hijos, entonces x es un vértice terminal (o una hoja);

4
Resumen no. 13 Mat. Andrés Merino

7. si x no es un vértice terminal, entonces x es un vértice interno (o una


rama).

Ver Johnsonbaugh, pág. 387.


D EFINICIÓN 3
Un árbol binario es un árbol con raíz en el que cada vértice tiene ningún hijo,
un hijo o dos hijos. Si el vértice tiene un hijo se designa como un hijo izquierdo
o como un hijo derecho (pero no ambos). Si un vértice tiene dos hijos, un hijo
se designa como hijo izquierdo y el otro como hijo derecho.

D EFINICIÓN 4
Un árbol binario completo es un árbol binario en el que cada vértice tiene dos
o cero hijos.

T EOREMA 1
Si T es un árbol binario completo con n vértices internos, entonces T tiene
n + 1 vértices terminales y 2n + 1 vértices en total.

• Torneos de eliminación sencilla (Johnsonbaugh, pág. 404).


D EFINICIÓN 5
Sean T un árbol con raíz v0 y v un vértice de T. El nivel de T es la distancia
entre v0 y v. La altura de T es el máximo nivel de los vértices de T.

T EOREMA 2
Si un árbol binario de altura h tiene t vértices terminales, entonces

log2 (t) ≤ h.

5
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 01

Semestre 2021-1 Mat. Andrés Merino

1. C ONJUNTOS

E JERCICIO 1. ¿Son iguales los conjuntos ∅ y {∅}?

Solución. Notemos que ∅ ∈ {∅}, pero ∅ 6∈ ∅, por lo tanto los conjuntos no son iguales.

E JERCICIO 2. Dado los conjuntos a y b, definimos

h a, bi = {{ a, ∅}, {b, {∅}}}.

Demuestre que, para a, b, c, d conjuntos, se tiene que h a, bi = hc, di implica a = c y b = d.

Demostración. Sean a, b, c, d conjuntos y supongamos que h a, bi = hc, di, es decir,

{{ a, ∅}, {b, {∅}}} = {{c, ∅}, {d, {∅}}}.

De esta última igualdad, tenemos que

{ a, ∅} = {c, ∅} ∧ {b, {∅}} = {d, {∅}}

o
{ a, ∅} = {d, {∅}} ∧ {b, {∅}} = {c, ∅}.

Del primer caso, tenemos que

[( a = c ∧ ∅ = ∅) ∨ ( a = ∅ ∧ c = ∅)] ∧ [(b = d ∧ {∅} = {∅}) ∨ (b = {∅} ∧ d = {∅})],

lo cual equivale a
[ a = c ∨ a = c ] ∧ [ b = d ∨ b = d ],

es decir, que a = c y b = d.
Del segundo caso, se tiene que

[( a = d ∧ ∅ = {∅}) ∨ ( a = {∅} ∧ d = ∅)] ∧ [(b = c ∧ {∅} = ∅) ∨ (b = ∅ ∧ c = {∅})],

lo cual equivale, usando el hecho de que ∅ 6= {∅}, a

( a = {∅} ∧ d = ∅) ∧ (b = ∅ ∧ c = {∅}),

de donde se sigue que a = c y b = d, como queríamos probar.

E JERCICIO 3. ¿Son iguales los conjuntos {∅} y {{∅}}?

1
Mat. Andrés Merino Ejercicios no. 01

Solución. Notemos que {∅} contiene únicamente al elemento ∅, mientras que {{∅}} contiene
únicamente al elemento {∅}, así que para los conjuntos sean iguales, dichos elementos deben ser
iguales; sin embargo, por el Ejercicio 1, tenemos que ∅ 6= {∅}, luego los conjuntos dados no son
iguales.

E JERCICIO 4. Dado los conjuntos a, b y c, ¿cómo definiría una tripleta ordenada con lo visto
en clase? (use los ejercicios anteriores).

Solución. Definimos h a, b, ci = {{ a, ∅}, {b, {∅}}, {c, {{∅}}}}

E JERCICIO 5. Dado el conjuntos A = { a, b, c}, determine P ( A).

Demostración. Debemos hallar todos los subconjuntos de A. Por comodidad los vamos a listar por
el número de elementos que posean:

• Subconjuntos con cero elementos: ∅,

• Subconjuntos con un elemento: { a}, {b}, {c},

• Subconjuntos con dos elementos: { a, b}, { a, c}, {b, c},

• Subconjuntos con tres elementos: { a, b, c}.

Con esto, tenemos que P ( A) = {∅, { a}, {b}, {c}, { a, b}, { a, c}, {b, c}, { a, b, c}}.

E JERCICIO 6. Dados los conjuntos a y b, determine P (( a, b)).

Solución. Recordemos que ( a, b) = {{ a}, { a, b}}, por lo tanto,

P (( a, b)) = {∅, {{ a}}, {{ a, b}}, {{ a}, { a, b}}}.

E JERCICIO 7. Determine P (∅), P (P (∅)) y P (P (P (∅))).

Solución. Notemos que el único subconjunto de ∅ es ∅, por lo tanto

P (∅) = {∅}.

Por otra parte, el conjunto P (∅) tiene por subconjuntos a ∅ y {∅}, por lo tanto

P (P (∅)) = {∅, {∅}}.

Por último, tenemos que

P (P (P (∅))) = {∅, {∅}, {{∅}}, {∅, {∅}}}.

2
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 02

Semestre 2021-1 Mat. Andrés Merino

1. O PERACIONES ENTRE CLASES

E JERCICIO 1. Dados

A = { a, b, c}, B = {u, v} y C = { p },

Determine A × B, B × A y A × C.

Solución. Se tiene que

A × B = {( a, u), ( a, v), (b, u), (b, v), (c, u), (c, v)},

B × A = {(u, a), (u, b), (u, c), (v, a), (v, b), (v, c)}

y
A × C = {( a, p), (b, p), (c, p)}.

E JERCICIO 2. Dado un conjunto A finito, ¿cuántos subconjuntos con una can-


tidad de elementos par existen? Conjeture su respuesta indicando 3 ejemplos.

Solución. Si | A| = n, entonces el número de subconjuntos de A con una cantidad


de elementos par es 2n−1 .

E JERCICIO 3. Dados los conjuntos A = { a} y B = {b, c}, ¿cuántos elementos


tendrá P (P ( A ∪ B))? Utilizar Mathematica para expresarlo.

Solución. Usando Mathematica, tenemos que

In[1]:= cA={a};
cB={b,c};
Length[Subsets[Subsets[Union[cA,cB]]]]

Out[1]= 256

1
Mat. Andrés Merino Ejercicios no. 02

E JERCICIO 4. Determine los siguientes conjuntos:


[
I. [0, n].
n ∈N ∗
[
II. [0, 1 − 1/n].
n ∈N ∗
\
III. [0, 1/n].
n ∈N ∗
\
IV. ]0, 1/n].
n ∈N ∗

Solución.
[
I. [0, n] = [0, +∞[.
n ∈N ∗
[
II. [0, 1 − 1/n] = [0, 1[.
n ∈N ∗
\
III. [0, 1/n] = {0}.
n ∈N ∗
\
IV. ]0, 1/n] = ∅.
n ∈N ∗

2. F UNCIONES

E JERCICIO 5. Dado A = {0, 1, 2, 3, 4, 5}, considere la función definida por

f ( x ) = 4x mód 5,

para x ∈ A. ¿Es f inyectiva?, ¿sobreyectiva?

E JERCICIO 6. Dado A = {0, 1, 2, 3, 4, 5}, considere la función definida por

f ( x ) = 4x mód 5,

determine f ◦ f .

2
Ejercicios no. 02 Mat. Andrés Merino

E JERCICIO 7. Dados A = {0, 1} y B = {2, 3}, ¿cuántas funciones de A en B


existen?, ¿cuántas son inyectivas?, ¿cuántas son sobreyectivas?

E JERCICIO 8. Dados A = {0, 1} y B = {2, 3, 4}, ¿cuántas funciones de A en B


existen?, ¿cuántas son inyectivas?, ¿cuántas son sobreyectivas?

Solución. El número de funciones de A en B es 9, de las cuales 6 son inyectivas y


ninguna es sobreyectiva.

E JERCICIO 9. Dados los conjuntos A y B, demuestre que

a) 1 Ac = 1 − 1 A

b) 1 A∩ B = 1 A · 1B

c) 1 A∪ B = 1 A + 1B − 1 A · 1B

Solución.

a) Sea x ∈ U . Si x ∈ A, entonces 1 Ac ( x ) = 0 y 1 A ( x ) = 1, por lo tanto, 1 Ac ( x ) =


1 − 1 A ( x ). Por otra parte, si x 6∈ A, entonces 1 Ac ( x ) = 1 y 1 A ( x ) = 0,
por lo tanto, 1 Ac ( x ) = 1 − 1 A ( x ). Así, para todo x ∈ U , se cumple que
1 Ac ( x ) = 1 − 1 A ( x ), luego

1 Ac = 1 − 1 A .

b) Sea x ∈ U . Si x ∈ A ∩ B, entonces 1 A∩ B ( x ) = 1, además x ∈ A y x ∈ B, por


lo tanto, 1 A ( x ) = 1 y 1B ( x ) = 1; así 1 A∩ B ( x ) = 1 A ( x ) · 1B ( x ). En cambio,
si x 6∈ A ∩ B, entonces 1 A∩ B ( x ) = 0, además x 6∈ A o x 6∈ B, por lo tanto,
1 A ( x ) = 0 o 1B ( x ) = 0; en cualquier caso, se tiene que 1 A ( x ) · 1B ( x ) = 0,
por lo tanto 1 A∩ B ( x ) = 1 A ( x ) · 1B ( x ). Así, para todo x ∈ U , se cumple que
1 A∩ B ( x ) = 1 A ( x ) · 1B ( x ), luego

1 A∩ B = 1 A · 1B .

c) Sea x ∈ U . Si x 6∈ A ∪ B, entonces x 6∈ A y x 6∈ B, por lo tanto 1 A∪ B ( x ) = 0,


1 A ( x ) = 0 y 1B ( x ) = 0, luego

1 A ∪ B ( x ) = 1 A ( x ) + 1 B ( x ) − 1 A ( x ) · 1 B ( x ).

3
Mat. Andrés Merino Ejercicios no. 02

Si x ∈ A ∪ B, entonces 1 A∪ B ( x ) = 1. Ahora, si x 6∈ A ∩ B, entonces

1 A∩ B ( x ) = 1 A ( x ) · 1B ( x ) = 0,

y ya que x ∈ A o x ∈ B, tenemos dos posibilidades: que 1 A ( x ) = 1 y


1B ( x ) = 0, o que 1 A ( x ) = 0 y 1B ( x ) = 1; en cualquier caso, se tiene que

1 A ∪ B ( x ) = 1 A ( x ) + 1 B ( x ) − 1 A ( x ) · 1 B ( x ).

De manera similar, si x ∈ A ∩ B, entonces

1 A∩ B ( x ) = 1 A ( x ) · 1B ( x ) = 1,

y además 1 A ( x ) = 1 y 1B ( x ) = 1, luego

1 A ∪ B ( x ) = 1 A ( x ) + 1 B ( x ) − 1 A ( x ) · 1 B ( x ).

Así, para todo x ∈ U , se cumple que 1 A∪ B ( x ) = 1 A ( x ) + 1B ( x ) − 1 A ( x ) ·


1B ( x ), por lo tanto
1 A∪ B = 1 A + 1B − 1 A · 1B .

c) Otra forma: Tomemos x ∈ U , tenemos que



1 si x ∈ A ∩ B,
1 A∩ B ( x ) =
0 si x 6∈ A ∩ B.

Por otro lado, notemos que





 2 si x ∈ A ∧ x ∈ B,

1 si x 6∈ A ∧ x ∈ B,

1 A ( x ) + 1B ( x ) =
1

 si x ∈ A ∧ x 6∈ B,


0 si x 6∈ A ∧ x 6∈ B.

Además, 


 1 si x ∈ A ∧ x ∈ B,

0 si x 6∈ A ∧ x ∈ B,

1 A ( x ) · 1B ( x ) =


 0 si x ∈ A ∧ x 6∈ B,


0 si x 6∈ A ∧ x 6∈ B.

4
Ejercicios no. 02 Mat. Andrés Merino

Así, como en ambos términos tenemos los mismos casos:





 1 si x ∈ A ∧ x ∈ B,

1 si x 6∈ A ∧ x ∈ B,

1 A ( x ) + 1B ( x ) − 1 A ( x ) · 1B ( x ) =


 1 si x ∈ A ∧ x 6∈ B,


0 si x 6∈ A ∧ x 6∈ B.


1 si x ∈ A ∨ x ∈ B,
=
0 si x 6∈ A ∧ x 6∈ B.

1 si x ∈ A ∪ x ∈ B,
=
0 si x 6∈ A ∪ B.

Con esto, concluimos que

1 A∪ B = 1 A + 1B − 1 A · 1B .

c) Otra forma más: Tomemos x ∈ U , tenemos que



1 si x ∈ A ∩ B,
1 A∩ B ( x ) =
0 si x 6∈ A ∩ B.

Por otro lado, notemos que

1 A ( x ) + 1B ( x ) − 1 A ( x ) · 1B ( x ) = 1 A ( x ) + 1B ( x ) − 1 A∩ B ( x )

Con esto: 


 2 si x ∈ A ∧ x ∈ B,

1 si x 6∈ A ∧ x ∈ B,

1 A ( x ) + 1B ( x ) =
1

 si x ∈ A ∧ x 6∈ B,


0 si x 6∈ A ∧ x 6∈ B.

Además, 
1 si x ∈ A ∩ B,
1 A∩ B ( x ) =
0 si x 6∈ A ∩ B.

Por lo tanto,

1 A ( x ) + 1B ( x ) − 1 A ( x ) · 1B ( x ) = 1 A ( x ) + 1B ( x ) − 1 A∩ B ( x )

5
Mat. Andrés Merino Ejercicios no. 02




 1 si ( x ∈ A ∧ x ∈ B) ∧ x ∈ A ∩ B,


0 si ( x 6∈ A ∧ x ∈ B) ∧ x ∈ A ∩ B,





si ( x ∈ A ∧ x 6∈ B) ∧ x ∈ A ∩ B,

0




 −1

si ( x 6∈ A ∧ x 6∈ B) ∧ x ∈ A ∩ B,
=
2

 si ( x ∈ A ∧ x ∈ B) ∧ x 6∈ A ∩ B,


1 si ( x 6∈ A ∧ x ∈ B) ∧ x 6∈ A ∩ B,





si ( x ∈ A ∧ x 6∈ B) ∧ x 6∈ A ∩ B,




 1

0 si ( x 6∈ A ∧ x 6∈ B) ∧ x 6∈ A ∩ B.

De aquí, podemos ver que los casos 2, 3, 4 y 5 son contradictorios, por lo


cual, los descartamos. Con esto, tenemos: Por lo tanto,

1 si ( x ∈ A ∧ x ∈ B) ∧ x ∈ A ∩ B,



1 si ( x 6∈ A ∧ x ∈ B) ∧ x 6∈ A ∩ B,

1 A ( x ) + 1B ( x ) − 1 A ( x ) · 1B ( x ) =


 1 si ( x ∈ A ∧ x 6∈ B) ∧ x 6∈ A ∩ B,


0 si ( x 6∈ A ∧ x 6∈ B) ∧ x 6∈ A ∩ B.


1 si x ∈ A ∨ x ∈ B,
=
0 si x 6∈ A ∧ x 6∈ B.

1 si x ∈ A ∪ x ∈ B,
=
0 si x 6∈ A ∪ B.

Con esto, concluimos que

1 A∪ B = 1 A + 1B − 1 A · 1B .

3. U N POCO MÁS DE CONJUNTOS

E JERCICIO 10. Dado un conjunto n, ¿se tiene que n ∈ n+ ?, ¿se tiene que n ⊆
n+ ?

Solución. Recordemos que n+ = n ∪ {n}, por lo tanto, gracias a que n ∈ {n},


tenemos que n ∈ n+ ; además, tenemos que n ⊆ n ∪ {n}, por lo tanto n ⊆ n+ .

E JERCICIO 11. Escriba el número 4 en función del conjunto vacío.

6
Ejercicios no. 02 Mat. Andrés Merino

Solución. Recordemos que 0 = ∅, 1 = {∅} y 2 = {0, 1}, por lo que 2 = {∅, {∅}}.
Así, tenemos que

3 = 2+ = 2 ∪ {2} = {∅, {∅}} ∪ {{∅, {∅}}} = {∅, {∅}, {∅, {∅}}}

De manera similar, tenemos que

4 = 3+
= 3 ∪ {3}
= {∅, {∅}, {∅, {∅}}} ∪ {{∅, {∅}, {∅, {∅}}}}
= {∅, {∅}, {∅, {∅}}, {∅, {∅}, {∅, {∅}}}}.

E JERCICIO 12. ¿Se tiene que 2 ∈ 5? ¿Se tiene que 2 ⊆ 5?

Solución. Del ejercicio anterior, tenemos que 4 = {0, 1, 2, 3}, y, si procedemos de


manera análoga, podemos probar que 5 = {0, 1, 2, 3, 4}, por lo tanto, tenemos que
2 ∈ 5 y además {0, 1} ⊆ 5, es decir, que 2 ⊆ 5.

E JERCICIO 13. ¿A qué es igual


[
n?
n ∈5

Demostración. Del Ejercicio 10 tenemos que para todo conjunto n se cumple que
n ⊆ n+ , por lo tanto n ∪ n+ = n+ . Así, tenemos que 0 ∪ 1 = 1, 1 ∪ 2 = 2, 2 ∪ 3 = 3
y 3 ∪ 4 = 4, por lo tanto
[
n = 0 ∪ 1 ∪ 2 ∪ 3 ∪ 4 = 4.
n ∈5

E JERCICIO 14. Determine los siguientes conjuntos:


[
I. { n }.
n ∈N
[
II. n.
n ∈N
[
III. {n}, donde P es el conjunto de números pares.
n∈ P
[
IV. n, donde P es el conjunto de números pares.
n∈ P

7
Mat. Andrés Merino Ejercicios no. 02

Solución.
[
I. {n} = N.
n ∈N
[
II. n = N.
n ∈N
[
III. {n} = P, donde P es el conjunto de números pares.
n∈ P
[
IV. n = N, donde P es el conjunto de números pares.
n∈ P

4. L ÓGICA PROPOSICIONAL

E JERCICIO 15. Determine las funciones de verdad de las siguientes formas


proposicionales:

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

• ¬(s ∨ p) ⇒ ((¬ p ⇔ q) ∨ ¬r )

¿Son tautologías? ¿Son satisfactibles? De serlo, determine una asignación de


verdad que las satisfaga.

Solución.

• Usando Mathematica, tenemos la tabla de verdad correspondiente a la for-


ma proposicional.

In[1]:= raz1 = And[Implies[And[p,q],r],Not[Or[s,p]]];


BooleanTable[{p,q,r,s,raz1},{p,q,r,s}] //TableForm

Out[1]//TableForm=

p q r s Resultado

True True True True False

True True True False False

True True False True False

8
Ejercicios no. 02 Mat. Andrés Merino

True True False False False

True False True True False

True False True False False

True False False True False

True False False False False

False True True True False

False True True False True

False True False True False

False True False False True

False False True True False

False False True False True

False False False True False

False False False False True

Ahora, analizamos si la forma proposicional corresponde a una tautología

In[2]:= TautologyQ[raz1]

Out[2]= False

Por último, buscamos valores de verdad que satisfagan la forma proposicio-


nal

In[3]:= SatisfiabilityInstances[raz1, p, q, r, s]

Out[3]= {{False, True, True, False}}

• Usando Mathematica, tenemos la tabla de verdad correspondiente a la for-


ma proposicional.

9
Mat. Andrés Merino Ejercicios no. 02

In[4]:= raz2= Implies[Not[Or[s,p]],Or[Equivalent[Not[p],q],Not[r]]];


BooleanTable[{p,q,r,s,raz2},{p,q,r,s}]//TableForm

Out[4]//TableForm=

p q r s Resultado

True True True True True

True True True False True

True True False True True

True True False False True

True False True True True

True False True False True

True False False True True

True False False False True

False True True True True

False True True False True

False True False True True

False True False False True

False False True True True

False False True False False

False False False True True

False False False False True

Ahora, analizamos si la forma proposicional corresponde a una tautología

10
Ejercicios no. 02 Mat. Andrés Merino

In[5]:= TautologyQ[raz2]

Out[5]= False

Por último, buscamos valores de verdad que satisfagan la forma proposicio-


nal

In[6]:= SatisfiabilityInstances[raz2, p, q, r, s]

Out[6]= {{True, True, True, True}}

11
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 03

Semestre 2021-1 Mat. Andrés Merino

1. F ORMAS NORMALES Y CONECTIVAS ADECUADAS

E JERCICIO 1. Determinar forma proposicionales en DNF y en CNF que sean


equivalentes a las siguientes proposiciones, comprobar luego con Mathema-
tica

I. ( p ∨ q) ∧ (¬ p ∨ r )

II . ¬ p ∨ ( p ⇒ ¬r )

III . ( p ∧ ¬q) ∨ ( p ∧ r )

IV . ( p ∨ q ) ⇔ ¬r

Solución. Usando Mathematica, tenemos que

I. In[1]:= BooleanConvert[And[Or[p,q],Or[Not[p],r]],"DNF"]

Out[1]= (p&&r)||(!p&&q)

II . In[2]:= BooleanConvert[Or[Neg[p], Implies[p, Neg[r]]], "DNF"]

Out[2]= !p||Neg[p]||Neg[r]

III . In[3]:= BooleanConvert[Or[And[p, Not[q]], And[p, r]], "DNF", "CNF"]

Out[3]= {(p&&!q)||(p&&r), p&&(!q||r)}

IV . In[4]:= BooleanConvert[Equivalent[Or[p, q], Not[r]], "DNF", "CNF"]

Out[4]= {(p&&!r)||(!p&&!q&&r)||(q&&!r), (!p||!r)&&(p||q||r)&&(!q||!r)}

E JERCICIO 2. Demuestre que {⇒, ¬} es un conjunto adecuado de conectivas

Demostración. Para demostrar lo solicitado, usemos el hecho de que {∨, ¬} es un


conjunto adecuado. Podemos ver que

1
Mat. Andrés Merino Ejercicios no. 03

• p ∨ q ≡ ¬p ⇒ q

• ¬p ≡ ¬p

Para comprobar esto, podemos hacer solo las tablas de verdad. Con esto, gracias
a que {¬, ∨} es un conjunto adecuado de conectivas, se tiene que {⇒, ¬} también
lo es.

E JERCICIO 3. Determine una forma proposicional equivalente a p ⇔ q en la


que solo aparezcan las conectivas ∨ y ¬.

Demostración. Tenemos que

p ⇔ q ≡ ¬(¬(¬ p ∨ q) ∨ ¬(¬q ∨ p))

E JERCICIO 4. Determine una forma proposicional equivalente a p ⇒ q en la


que solo aparezca la conectiva Z.

2. R ELACIONES

E JERCICIO 5. Dados A = {1, 2, 3} y B = { a, b}, dibuje un diagrama sagital de


A × B y de B × A.

E JERCICIO 6. Dados los conjuntos A = {1, 3, 5} y B = {1, 2, 4}. Escriba dos


relaciones de A en B y dos relaciones de B en A, diferentes a las triviales y no
sean inversa una de la otra.

E JERCICIO 7. Dados los conjuntos A = {1, 3, 5} y B = {1, 2, 4}. Determine las


siguientes relaciones y realice un gráfico para cada caso:

I. R1 = {( x, y) ∈ A × B : x < y}

II . R2 = {( x, y) ∈ A × B : x ≤ y}

E JERCICIO 8. Dado el conjunto A = { a, b}, escriba de manera explícita la


relación sobre P ( A) dada por la contenencia de conjuntos.

E JERCICIO 9. Dado el conjunto A = { a, b, c, d}, utilizando Mathematica, ge-


nere el diagrama sagital de la relación sobre P ( A) dada por la contenencia de
conjuntos.

2
Ejercicios no. 03 Mat. Andrés Merino

E JERCICIO 10. Dado el conjunto A = {1, 2, 3, 4}, escriba de manera explícita


la relación las siguientes relaciones, también elabore un gráfico:

I. {( x, y) ∈ A2 : x = y}

II . {( x, y) ∈ A2 : x < y}

III . {( x, y) ∈ A2 : x ≤ y}

E JERCICIO 11. Con el conjunto A = {−2, −1, 0, 1, 2, 3}. Determine la relación


en A, dada por:

I. {( x, y) ∈ A2 : x = y}

II . {( x, y) ∈ A2 : x < y}

III . {( x, y) ∈ A2 : x > y}

IV . {( x, y) ∈ A2 : x ≤ y}

V. {( x, y) ∈ A2 : x ≥ y}

Realice también un gráfico para cada caso.

E JERCICIO 12. Dados los conjuntos

A = {−3, −2, −1, 0, 1, 2, 3} y B = {−2, −1, 0, 1, 2},

y la relación
R = {( x, y) ∈ A × B : x2 = 5 − y2 },

determinar:

I. Todos los elementos de la relación R.

II . Realice una representación gráfica en le plano cartesiano de R}.

III . Realice una representación sagital de R.

IV . Determine el dominio de la relación.

V. Determine la imagen de la relación.

VI . Determine la relación inversa de la relación R.

3
Mat. Andrés Merino Ejercicios no. 03

Solución.

I. Tenemos que

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

II . Usando Mathematica, tenemos que

In[5]:= ListPlot[{{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},
{2,-1},{2,1}}]

-2 -1 1 2

-1

-2

Figura 1: Representación de la relación R.

III. Usando Mathematica, tenemos que

In[6]:= cA = {-3, -2, -1, 0, 1, 2, 3};


cB = {-2, -1, 0, 1, 2};
R = {{-2, -1}, {-2, 1}, {-1, -2}, {-1, 2},{1, -2},
{1,2},{2, -1}, {2, 1}};
fR[x_, y_] := MemberQ[R, {x, y}];
RelationGraph[fR, cA, cB, VertexLabels -> Automatic]

4
Ejercicios no. 03 Mat. Andrés Merino

1
2

-2
-1

-3 3 0

Figura 2: Representación sagital de R.

IV . Se tiene que Dom( R) = {−2, −1, 1, 2}.

V. Se tiene que Img( R) = {−2, −1, 1, 2}.

VI . Se tiene que

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

E JERCICIO 13. Considere los conjuntos

A = {1, 2, 3, 4}, B = { a, b, c, d} y C = { x, y, z}

las relaciones

R = {(1, a), (2, d), (3, a), (3, b), (3, d)} y S = {(b, x ), (b, z), (c, y), (d, z)}.

5
Mat. Andrés Merino Ejercicios no. 03

de A en B y de B en C, respectivamente. Determinar:

I. En un solo diagrama sagital las dos relaciones.

II . R −1 y S −1 .

III . R ◦ S.

Solución.

I. Usando Mathematica, tenemos que

In[7]:= cA = 1, 2, 3, 4;
cB = a, b, c, d;
cC = x, y, z;
R = 1, a, 2, d, 3, a, 3, b, 3, d;
S = b, x, b, z, c, y, d, z;
fR[x_, y_] := MemberQ[Union[R, S], x, y];
RelationGraph[fR, Union[cA, cB, cC], Union[cA, cB, cC],
VertexLabels -> Automatic]

1 3 2 c

a b d y

x z

Figura 3: Representación sagital de R y S.

II . Se tiene que
R−1 = {( a, 1), (d, 2), ( a, 3), (b, 3), (d, 3)}

6
Ejercicios no. 03 Mat. Andrés Merino

y
S−1 = {( x, b), (z, b), (y, c), (z, d)}.

III . La composición R ◦ S no está definida, por lo tanto no se puede calcular.

7
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 04

Semestre 2021-1 Mat. Andrés Merino

1. C LASES DE RELACIONES

E JERCICIO 1. Dado el conjunto A = {1, 2, 3} y las relaciones sobre A, defini-


das por:

I. R1 = {(1, 1), (2, 2), (3, 3)}.

II . R2 = {(1, 3), (1, 1), (2, 2), (3, 3)}.

III . R3 = {(1, 1), (2, 2)}.

IV . R4 = {(1, 1), (1, 2)}.

Determine si cada una de las relaciones son reflexivas. Represéntelas en forma


matricial.

Solución.
I. La relación R1 es reflexiva, pues se tiene que todo elemento de A está rela-
cionado consigo mismo y su representación matricial está dada por
 
1 0 0
M R1 = 0 1 0 .
 

0 0 1

II . La relación R2 es reflexiva, pues se tiene que todo elemento de A está rela-


cionado consigo mismo y su representación matricial está dada por
 
1 0 1
M R2 = 0 1 0 .
 

0 0 1

III . La relación R3 no es reflexiva, pues el elemento 3 no está relacionado consigo


mismo, es decir, (3, 3) 6∈ R3 . La representación matricial de R3 está dada por
 
1 0 0
M R3 = 0 1 0 .
 

0 0 0

1
Mat. Andrés Merino Ejercicios no. 04

IV . La relación R4 no es reflexiva, pues el elemento 2 no está relacionado consigo


mismo, es decir, (2, 2) 6∈ R4 . La representación matricial de R4 está dada por
 
1 1 0
M R4 = 0 0 0 .
 

0 0 0

E JERCICIO 2. Dado el conjunto A = {1, 2, 3} y las relaciones sobre A, defini-


das por:

I. R1 = {(1, 1), (2, 2), (3, 3)}.

II . R2 = {(1, 3), (1, 1), (2, 2), (3, 3)}.

III . R3 = {(1, 3), (3, 1)}.

IV . R4 = {(1, 1), (1, 2)}.

Determine si cada una de las relaciones son simétricas. Represéntelas en for-


ma matricial.

Solución.
I. La relación R1 es simétrica, pues para todo elemento x, y ∈ A se tiene que
( x, y) ∈ R1 implica que (y, x ) ∈ R1 . La representación matricial de R1 está
dada por  
1 0 0
M R1 =  0 1 0  .
 

0 0 1

II . La relación R2 no es simétrica, pues (1, 3) ∈ R2 , pero (3, 1) 6∈ R2 . La repre-


sentación matricial de R2 está dada por
 
1 0 1
M R2 = 0 1 0 .
 

0 0 1

III . La relación R3 es simétrica, pues para todo elemento x, y ∈ A se tiene que


( x, y) ∈ R3 implica que (y, x ) ∈ R3 . La representación matricial de R3 está
dada por  
0 0 1
M R3 =  0 0 0  .
 

1 0 0

2
Ejercicios no. 04 Mat. Andrés Merino

IV . La relación R4 no es simétrica, pues (1, 2) ∈ R4 , pero (2, 1) 6∈ R4 . La repre-


sentación matricial de R4 está dada por
 
1 1 0
M R4 = 0 0 0 .
 

0 0 0

E JERCICIO 3. Dado el conjunto A = {1, 2, 3} y las relaciones sobre A, defini-


das por:

I. R1 = {(1, 1), (2, 2), (3, 3)}.

II . R2 = {(1, 3), (1, 1), (2, 2), (3, 3)}.

III . R3 = {(1, 3), (3, 1)}.

IV . R4 = {(1, 1), (1, 2)}.

Determine si cada una de las relaciones son antisimétricas. Represéntelas en


forma matricial.

Solución.

I. La relación R1 es antisimétrica, pues para todo x, y ∈ A, se tiene que ( x, y) ∈


R1 y (y, x ) ∈ R1 implica x = y. La representación matricial de R1 está dada
por  
1 0 0
M R1 =  0 1 0  .
 

0 0 1

II . La relación R2 es antisimétrica, pues para todo x, y ∈ A, se tiene que ( x, y) ∈


R2 y (y, x ) ∈ R2 implica x = y. La representación matricial de R2 está dada
por  
1 0 1
M R2 =  0 1 0  .
 

0 0 1

III . La relación R2 no es antisimétrica, pues (1, 3) ∈ R2 y (3, 1) ∈ R2 , pero 1 6= 3.


La representación matricial de R3 está dada por
 
0 0 1
M R3 = 0 0 0 .
 

1 0 0

3
Mat. Andrés Merino Ejercicios no. 04

IV . La relación R4 es antisimétrica, pues para todo x, y ∈ A, se tiene que ( x, y) ∈


R4 y (y, x ) ∈ R4 implica x = y. La representación matricial de R4 está dada
por  
1 1 0
M R4 =  0 0 0  .
 

0 0 0

E JERCICIO 4. Dado el conjunto A = {1, 2, 3} y las relaciones sobre A, defini-


das por:

I. R1 = {(1, 1), (2, 2), (3, 3)}.

II . R2 = {(1, 3), (1, 1), (2, 2), (3, 3)}.

III . R3 = {(1, 3), (3, 1)}.

IV . R4 = {(1, 1), (1, 2)}.

Determine si cada una de las relaciones son transitivas. Represéntelas en for-


ma matricial.

Solución.
I. La relación R1 es transitiva, pues para todo x, y, z ∈ A, se tiene que ( x, y) ∈
R1 y (y, z) ∈ R1 implica ( x, z) ∈ R1 . La representación matricial de R1 está
dada por  
1 0 0
M R1 =  0 1 0  .
 

0 0 1

II . La relación R2 es transitiva, pues para todo x, y, z ∈ A, se tiene que ( x, y) ∈


R2 y (y, z) ∈ R2 implica ( x, z) ∈ R2 . La representación matricial de R2 está
dada por  
1 0 1
M R2 =  0 1 0  .
 

0 0 1

III . La relación R3 no es transitiva, pues (1, 3) ∈ R3 y (3, 1) ∈ R3 , pero (1, 1) 6∈


R3 . La representación matricial de R3 está dada por
 
0 0 1
M R3 = 0 0 0 .
 

1 0 0

4
Ejercicios no. 04 Mat. Andrés Merino

IV . La relación R4 es transitiva, pues para todo x, y, z ∈ A, se tiene que ( x, y) ∈


R4 y (y, z) ∈ R4 implica ( x, z) ∈ R4 . La representación matricial de R4 está
dada por  
1 1 0
M R4 =  0 0 0  .
 

0 0 0

E JERCICIO 5. Dado el conjunto A = {1, 2, 3, 4}, considere las siguientes rela-


ciones sobre A:

I. R1 = {(1, 1), (1, 2)}.

II . R2 = {(1, 1), (2, 3), (4, 1)}.

III . R3 = {(1, 3), (2, 4)}.

IV . R4 = {(1, 1), (2, 2), (3, 3)}.

V. R5 = A × A.

Establecer para cada caso si es o no: simétrica, antisimétrica, transitiva y re-


flexiva. También representar cada relación a través de una matriz.

Solución.

I.

• La relación R1 no es reflexiva, pues (2, 2) 6∈ R1 .


• La relación R1 no es simétrica, pues (1, 2) ∈ R1 , pero (2, 1) 6∈ R1 .
• La relación R1 es antisimétrica pues para todo x, y ∈ A, se tiene que
( x, y) ∈ R1 y (y, x ) ∈ R1 implica x = y.
• La relación R1 es transitiva pues para todo x, y, z ∈ A, se tiene que
( x, y) ∈ R1 y (y, z) ∈ R1 implica ( x, z) ∈ R1 .

La representación matricial de R1 está dada por


 
1 1 0 0
0 0 0 0
M R1 = .
 
0 0 0 0
0 0 0 0

II .

5
Mat. Andrés Merino Ejercicios no. 04

• La relación R2 no es reflexiva, pues (2, 2) 6∈ R2 .


• La relación R2 no es simétrica, pues (2, 3) ∈ R2 , pero (3, 2) 6∈ R2 .
• La relación R2 es antisimétrica pues para todo x, y ∈ A, se tiene que
( x, y) ∈ R2 y (y, x ) ∈ R2 implica x = y.
• La relación R2 es transitiva pues para todo x, y, z ∈ A, se tiene que
( x, y) ∈ R2 y (y, z) ∈ R2 implica ( x, z) ∈ R2 .

La representación matricial de R2 está dada por


 
1 0 0 0
0 0 1 0
M R2 = .
 
0 0 0 0
1 0 0 0

III .

• La relación R3 no es reflexiva, pues (2, 2) 6∈ R3 .


• La relación R3 no es simétrica, pues (1, 3) ∈ R3 , pero (3, 1) 6∈ R3 .
• La relación R3 es antisimétrica pues para todo x, y ∈ A, se tiene que
( x, y) ∈ R3 y (y, x ) ∈ R3 implica x = y.
• La relación R3 es transitiva pues para todo x, y, z ∈ A, se tiene que
( x, y) ∈ R3 y (y, z) ∈ R3 implica ( x, z) ∈ R3 .

La representación matricial de R3 está dada por


 
0 0 1 0
0 0 0 1
M R3 = .
 
0 0 0 0
0 0 0 0

IV .

• La relación R4 no es reflexiva, pues (4, 4) 6∈ R4 .


• La relación R4 es simétrica, para todo x, y ∈ A, se tiene que ( x, y) ∈ R4
implica (y, x ) ∈ R4 .
• La relación R4 es antisimétrica pues para todo x, y ∈ A, se tiene que
( x, y) ∈ R4 y (y, x ) ∈ R4 implica x = y.
• La relación R4 es transitiva pues para todo x, y, z ∈ A, se tiene que
( x, y) ∈ R4 y (y, z) ∈ R4 implica ( x, z) ∈ R4 .

6
Ejercicios no. 04 Mat. Andrés Merino

La representación matricial de R4 está dada por


 
1 0 0 0
0 1 0 0
M R4 = .
 
0 0 1 0
0 0 0 0

V.

• La relación R5 es reflexiva, pues, para todo x ∈ A, se tiene que ( x, x ) ∈


R5 .
• La relación R5 es simétrica, para todo x, y ∈ A, se tiene que ( x, y) ∈ R5
implica (y, x ) ∈ R5 .
• La relación R5 no es antisimétrica pues (1, 2) ∈ R5 y (2, 1) ∈ R5 , pero
1 6= 2.
• La relación R5 es transitiva pues para todo x, y, z ∈ A, se tiene que
( x, y) ∈ R5 y (y, z) ∈ R5 implica ( x, z) ∈ R5 .

La representación matricial de R4 está dada por


 
1 1 1 1
1 1 1 1
M R5 = .
 
1 1 1 1
1 1 1 1

2. P ROPIEDADES DE CERRADURA

E JERCICIO 6. Dado el conjunto A = { x, y, z} y la relación

R = {( x, y), (y, z), ( x, x ), (y, y)},

determinar:

I. La relación reflexiva más pequeña que contiene a R.

II . La relación simétrica más pequeña que contiene a R.

III . La relación transitiva más pequeña que contiene a R

Solución.

7
Mat. Andrés Merino Ejercicios no. 04

I. Llamemos R1 a la relación buscada. Tenemos que

R1 = R ∪ ∆ A
= {( x, y), (y, z), ( x, x ), (y, y)} ∪ {( x, x ), (y, y), (z, z)}
= {( x, y), (y, z), ( x, x ), (y, y), (z, z)}

Por lo tanto, la relación reflexiva más pequeña que contiene a R es

R1 = {( x, y), (y, z), ( x, x ), (y, y), (z, z)}.

II . Llamemos R2 a la relación buscada. Tenemos que

R 2 = R ∪ R −1
= {( x, y), (y, z), ( x, x ), (y, y)} ∪ {(y, x ), (z, y), ( x, x ), (y, y)}
= {( x, y), (y, z), ( x, x ), (y, y), (y, x ), (z, y)}.

Por lo tanto, la relación simétrica más pequeña que contiene a R es

R2 = {( x, y), (y, z), ( x, x ), (y, y), (y, x ), (z, y)}

III. Llamemos R3 a la relación buscada. Tenemos que R3 = R ∪ R2 ∪ R3 , además

R2 = {( x, x ), ( x, y), ( x, z), (y, y), (y, z)}

y
R3 = {( x, x ), ( x, y), ( x, z), (y, y), (y, z)},

por lo tanto

R3 = R ∪ R2 ∪ R3
= {( x, y), (y, z), ( x, x ), (y, y)} ∪ {( x, x ), ( x, y), ( x, z), (y, y), (y, z)}
∪ {( x, x ), ( x, y), ( x, z), (y, y), (y, z)}
= {( x, x ), ( x, y), ( x, z), (y, y), (y, z)}.

Así, la relación transitiva más pequeña que contiene a R es

R3 = {( x, x ), ( x, y), ( x, z), (y, y), (y, z)}.

3. C LASES DE EQUIVALENCIA

8
Ejercicios no. 04 Mat. Andrés Merino

E JERCICIO 7. Dado el conjunto A = {1, 2, 3} y la relación

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

determinar:

I. Si R es una relación reflexiva, simétrica y transitiva.

II . Verifique si [1] = [2] o si [2] = [3].

Solución.

I. La relación R es reflexiva, pues, para todo x ∈ A, se tiene que ( x, x ) ∈ R;


además R es simétrica, pues para todo x, y ∈ A, se tiene que ( x, y) ∈ R
implica (y, x ) ∈ R Por último, se tiene que R es transitiva, pues para todo
x, y, z ∈ A, se tiene que ( x, y) ∈ R y (y, z) ∈ R implica ( x, z) ∈ R.

II . Del ítem anterior se sigue que R es relación de equivalencia, además, (1, 2) ∈


R, por lo tanto [1] = [2]. Por otra parte, (2, 3) 6∈ R y (3, 2) 6∈ R, por lo que
[2] 6 = [3].

E JERCICIO 8. Dado el conjunto A = {1, 2, 3, 4, 5, 6} y la relación de equivalen-


cia R sobre el conjunto A, definida por
( )
(1, 1), (1, 5), (2, 2), (2, 3), (2, 6), (3, 2), (3, 3),
R= .
(3, 6), (4, 4), (5, 1), (5, 5), (6, 2), (6, 3), (6, 6)

Determinar:

I. La matriz de la relación R.

II . Utilice Wolfram Mathematica para determinar si es una relación de equi-


valencia.

III . Determine si la clase de equivalencia [1] es igual a la clase de equivalen-


cia [2].

IV . Usando Wolfram Mathematica, elabore una representación gráfica.

Solución.

9
Mat. Andrés Merino Ejercicios no. 04

I. La matriz asociada a R está dada por


 
1 0 0 0 1 0
0 1 1 0 0 1
 
 
0 1 1 0 0 1
MR = 
0
.
 0 0 1 0 0
1 0 0 0 1 0
 

0 1 1 0 0 1

II . Veamos primero que R es reflexiva, para ello comprobaremos que MR posee


únicamente unos en la diagonal usando el siguiente código en Mathematica

In[1]:= mR={{1,0,0,0,1,0},{0,1,1,0,0,1},{0,1,1,0,0,1},
{0,0,0,1,0,0} ,{1,0,0,0,1,0},{0,1,1,0,0,1}};
And@@Thread[Table[1,6] ≤ Diagonal[mR]]

Out[1]= True

Ahora, vemos que R es reflexiva, pues MR es simétrica, lo cual se puede


comprobar mediante el siguiente código:

In[2]:= mR == Transpose[mR]

Out[2]= True

Por último, veamos que R es transitiva. Para ello, probaremos que R2 ⊆ R


mediante el siguiente código:

In[3]:= mR2 = mR.mR/.((x_/;x>0)->1);


And@@Thread[Flatten[mR2] ≤ Flatten[mR]]

Out[3]= True

III . Notemos que (1, 2) 6∈ R y (2, 1) 6∈ R, por lo tanto [1] 6= [2].

IV . Usando Mathematica, tenemos que

In[4]:= AdjacencyGraph[mR]

10
Ejercicios no. 04 Mat. Andrés Merino

6 3 4

5 1

E JERCICIO 9. Dado el conjunto A = {1, 2, 3} y la relación

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

determinar la relación de equivalencia más pequeña que contenga a R.

Solución. Buscamos la relación reflexiva simétrica y transitiva más pequeña que


contenga a R. Para hallar dicha relación, calcularemos en primer lugar R1 , la rela-
ción reflexiva más pequeña que contiene a R. Tenemos que

R1 = R ∪ ∆ A
= {(1, 2), (2, 3), (1, 1), (2, 2)} ∪ {(1, 1), (2, 2), (3, 3)}
= {(1, 2), (2, 3), (1, 1), (2, 2), (3, 3)}.

Ahora, calcularemos R2 , la relación reflexiva y simétrica más pequeña que contie-


ne a R. Se tiene que

R2 = R1 ∪ R1−1
= {(1, 2), (2, 3), (1, 1), (2, 2), (3, 3)} ∪ {(2, 1), (3, 2), (1, 1), (2, 2), (3, 3)}

11
Mat. Andrés Merino Ejercicios no. 04

= {(1, 2), (2, 3), (1, 1), (2, 2), (3, 3), (2, 1), (3, 2)}.

Por último, calculamos R3 , la relación reflexiva, simétrica y transitiva que contiene


a R. Se tiene que R3 = R2 ∪ R22 ∪ R32 , donde

R22 = {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)}

y
R32 = {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)},

por lo tanto

R3 = R2 ∪ R22 ∪ R32
= {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)}.

Así, la relación de equivalencia más pequeña que contenga a R es

R3 = {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)}.

12
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 05

Semestre 2021-1 Mat. Andrés Merino

1. G ENERALIZACIÓN DE RELACIONES Y BASE DE DATOS


RELACIONALES

E JERCICIO 1. Resolver los ejercicios 5, 9, 14, 18 de la sección 3.4, pág. 141 del
libro de Johnsonbaugh (http://bit.ly/3tCTT7a).

Solución.

5. Empleado[Nombre]

14. Temp1:=Comprador[Comprador = Danny’s]


Temp2:=Temp1[parte núm = parte núm]Proveedor
Temp2[dept]

2. A LGORITMOS

E JERCICIO 2. Escribir un algoritmo que, dados tres números reales, determi-


ne el menor de ellos.

Solución.
Datos: Tres números reales a, b y c
Resultado: El mínimo entre a, b y c
1 Función Mínimo(a, b, c):
2 m := a /* m será el mínimo de los números */
3 si m > b entonces
3 4 m := b
5 si m > c entonces
6 m := c
7 devolver m

E JERCICIO 3. Escribir un algoritmo que, dada una colección de números reales,


determine la posición de la primera aparición del mayor de ellos.

1
Mat. Andrés Merino Ejercicios no. 05

Datos: Una colección de números reales a1 , a2 ,. . . y an , con n ∈ N tal que n ≥ 2


Resultado: La posición de la primera aparición del máximo entre a1 , a2 ,. . . y an
1 Función PosiciónMáximo(a1 , a2 , . . . , an ):
2 k := 1 /* Guardará en k la posición de la primera aparición del máximo */
3 3 para i ∈ {2, . . . , n} hacer
4 si m < ai entonces
5 k := i

6 devolver k

Para los siguientes ejercicios, considere que solo se pueden realizar ope-
raciones y comparaciones sobre números reales, además, se tienen las si-
guientes funciones
I. Dada una matriz A ∈ Rn×n , para 0 ≤ i, j ≤ n, la expresión A(i, j)
obtiene el elemento de la fila i y columna j de la matriz.
o
II . TamañoMatriz: toma como argumento una matriz cuadrada y devuel-
ve el tamaño de la matriz.

III . MatrixExp: la cual toma como entradas una matriz A y un número


natural k y devuelve la matriz Ak .

E JERCICIO 4. Escriba un algoritmo que, dada la matriz asociada a una rela-


ción sobre un mismo conjunto, determine si la relación es reflexiva.

Solución.
Datos: Una matriz cuadrada A
Resultado: Si la relación es reflexiva, devuelve 1 y si no lo es, devuelve 0
1 Función EsReflexiva(A):
2 n := TamañoMatriz( A) /* n es el tamaño de la matriz */
3 k=1 /* k será el índice que iremos recorriendo */
4 t=1 /* t guardará la información de si A es reflexiva o no */
3 5 mientras k ≤ n ∧ t = 1 hacer
6 si A(k, k ) 6= 1 entonces
7 t=0
8 k := k + 1
9 devolver t

E JERCICIO 5. Escriba un algoritmo que, dada la matriz asociada a una rela-


ción sobre un mismo conjunto, determine si la relación es simétrica.

2
Ejercicios no. 05 Mat. Andrés Merino

Solución.
Datos: Una matriz cuadrada A
Resultado: Si la relación es simétrica, devuelve 1 y si no lo es, devuelve 0
1 Función EsSimétrica(A):
2 n := TamañoMatriz( A) /* n es el tamaño de la matriz */
3 i := 1 /* i será el índice que recorrerá las filas */
4 t := 1 /* t guardará la información de si A es simétrica o no */
5 mientras i ≤ n ∧ t = 1 hacer
3 6 j := 1 /* j será el índice que recorrerá las columnas */
7 mientras j < i ∧ t = 1 hacer
8 si A(i, j) 6= A( j, i ) entonces
9 t=0
10 j := j + 1
11 i := i + 1
12 devolver t

E JERCICIO 6. Escriba un algoritmo que, dada la matriz, reemplace todas las


entradas mayores que cero por el número 1.

Solución.
Datos: Una matriz cuadrada A
Resultado: Una matriz con unos en las entradas en las que A tiene valores positivos
1 Función ReemplazaPorUnos(A):
2 n := TamañoMatriz( A) /* n es el tamaño de la matriz */
3 para i ∈ {1, . . . , n} hacer
3 4 para j ∈ {1, . . . , n} hacer
5 si A(i, j) > 0 entonces
6 A(i, j) := 1

7 devolver A

E JERCICIO 7. Escriba un algoritmo que, dada la matriz asociada a una rela-


ción sobre un mismo conjunto, determine si la relación es transitiva.

Solución.

3
Mat. Andrés Merino Ejercicios no. 05

Datos: Una matriz cuadrada A


Resultado: Si la relación es transitiva, devuelve 1 y si no lo es, devuelve 0
1 Función EsTransitiva(A):
2 n := TamañoMatriz( A) /* n es el tamaño de la matriz */
3 B := MatrixExp( A, 2) /* t guardará la matriz A2 */
4 t := 1 /* t guardará la información de si la relación es transitiva o no */
5 i=1 /* j será el índice que recorrerá las filas */
6 j := 1 /* j será el índice que recorrerá las columnas */
3 7 mientras i ≤ n ∧ t = 1 hacer
8 mientras j ≤ n ∧ t = 1 hacer
9 si B(i, j) > A(i, j) entonces
10 t=0
11 j := j + 1
12 i := i + 1
13 devolver t

E JERCICIO 8. Escriba un algoritmo que, dada la matriz asociada a una re-


lación sobre un mismo conjunto, determine la matriz asociada a la clausura
transitiva de esta relación.

Solución. Por comodidad, primero definiremos una función que reciba una matriz
y un número natural n positivo, y devuelva la suma de las primeras n potencias
positivas de la matriz.
Datos: Una matriz cuadrada A y un entero positivo n
Resultado: Devuelve el resultado de la suma A + A2 + A3 + · · · + An
1 Función SumaPotencias(A,n):
2 B := A /* B guardará la suma de las potencias de A */
3 si n == 1 entonces
3 4 devolver B
5 en otro caso
6 para i ∈ {2, . . . , n} hacer
7 B := B + MatrixExp( A, i )
8 devolver B

Ahora, definiremos la función solicitada en el ejercicio.

4
Ejercicios no. 05 Mat. Andrés Merino

Datos: Una matriz cuadrada A


Resultado: Si la relación es transitiva, devuelve 1 y si no lo es, devuelve 0
1 Función ClausuraTransitiva(A):
2 n := TamañoMatriz( A) /* n es el tamaño de la matriz */
3 B := A /* B guardará la clausura transitiva de A */
4 si EsTransitiva(A) == 1 entonces
3 5 devolver A
6 en otro caso
7 B := SumaPotencias(A,n)
8 B := ReemplazaPorUnos(B)
9 devolver B

5
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 06

Semestre 2021-1 Mat. Andrés Merino

1. A NÁLISIS DE ALGORITMOS

E JERCICIO 1. Demostrar, utilizando la definición, que 2x4 + 3x3 + 5 es Θ( x4 ).

E JERCICIO 2. Demostrar, utilizando la definición, que 3x3 − 1000x − 200 es


O ( x 3 ).

E JERCICIO 3. Demuestre que si g( x ) es O( f ( x )), entonces f ( x ) es Ω( g( x ))

Solución. Supongamos que g( x ) es O( f ( x )), entonces existen B > 0 y b ≥ 0 y tales


que, para todo x > b
| g( x )| ≤ B| f ( x )|.

Así, para todo x > b, se tiene que

1
| g( x )| ≤ | f ( x )|,
B
1
y, ya que > 0, se sigue que f ( x ) es Ω( g( x )).
B

E JERCICIO 4. Demuestre que si f ( x ) es O(h( x )) y g( x ) es O(h( x )), entonces

f ( x ) + g( x ) es O(h( x ))

Solución. Si f ( x ) es O(h( x )), existen A > 0 y a ≥ 0 y tales que, para todo x > a

| f ( x )| ≤ A|h( x )|,

y si g( x ) es O(h( x )), existen B > 0 y b ≥ 0 y tales que, para todo x > b

| g( x )| ≤ B|h( x )|.

Si tomamos c := máx{ a, b} y C := A + B, entonces, para todo x > c, se tiene que

| f ( x ) + g( x )| ≤ | f ( x )| + | g( x )| ≤ A|h( x )| + B|h( x )| = ( A + B)|h( x )| = C |h( x )|,

1
Mat. Andrés Merino Ejercicios no. 06

es decir, f ( x ) + g( x ) es O(h( x )).

E JERCICIO 5. Demuestre que si f ( x ) es Ω(h( x )), g( x ) es Ω(h( x )) y f ( x ), g( x ) >


0 para todo x ∈ R, entonces

f ( x ) + g( x ) es Ω(h( x ))

Demostración. Si f ( x ) es Ω(h( x )), existen A > 0 y a ≥ 0 y tales que, para todo


x>a
A|h( x )| ≤ | f ( x )| = f ( x ),

y si g( x ) es Ω(h( x )), existen B > 0 y b ≥ 0 y tales que, para todo x > b

B|h( x )| ≤ | g( x )| = g( x ).

Tomemos c := máx{ a, b} y C := A + B, entonces, para todo x > c, se tiene que

| f ( x ) + g( x )| = f ( x ) + g( x ) ≥ A|h( x )| + B|h( x )| = ( A + B)|h( x )| = C |h( x )|,

por lo tanto
C |h( x )| ≤ | f ( x ) + g( x )|,

es decir, que f ( x ) + g( x ) es Ω(h( x )).

E JERCICIO 6. Demuestre que si f ( x ) es O(h( x )) y g( x ) es O(h( x )), entonces

f ( x ) g( x ) es O((h( x ))2 )

Solución. Si f ( x ) es O(h( x )), existen A > 0 y a ≥ 0 y tales que, para todo x > a

| f ( x )| ≤ A|h( x )|,

y si g( x ) es O(h( x )), existen B > 0 y b ≥ 0 y tales que, para todo x > b

| g( x )| ≤ B|h( x )|.

Si tomamos c := máx{ a, b} y C := AB, entonces, para todo x > c, se tiene que

| f ( x ) g( x )| = | f ( x )| · | g( x )| ≤ ( A|h( x )|)( B|h( x )|) = C |h( x )|2 = C |(h( x ))2 |,

por lo tanto f ( x ) g( x ) es O((h( x ))2 ).

2
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 07

Semestre 2021-1 Mat. Andrés Merino

1. A NÁLISIS DE ALGORITMOS

E JERCICIO 1. Considere el siguiente algoritmo:


Datos: Un número natural n
Resultado: No devuelve un resultado
1 Función Algoritmo(n):
2 p := 0
3
3 x := 2
4 para i ∈ {2, . . . , n} hacer
5 p := ( p + i) · x

Calcule el tiempo de ejecución del algoritmo en función del dato n.

Solución. Para el bucle de la linea 4, se ejecutan 2 operaciones por cada valor que
puede tomar la variable i. Dado que i puede tomar los valores entre 2 y n, tenemos
que i puede tomar n − 2 + 1 = n − 1 valores. Así, en las lineas 4 y 5, el algoritmo
da 2(n − 1) operaciones, con esto:

T ( n ) = 2( n − 1)

para todo n ∈ N.

E JERCICIO 2. Considere el siguiente algoritmo:


Datos: Una lista de números reales ( a1 , a2 , . . . , an ), con n ∈ N∗ un número par.
Resultado: No devuelve un resultado
1 Función Algoritmo(a1 , a2 , . . . , an ):
3 2 a=1
3 para i ∈ {2, 4, 6 . . . , n} hacer
4 a : = a · ai

Calcule el tiempo de ejecución del algoritmo en función de la longitud de


la lista n.

Solución. Para el bucle de la linea 3, se ejecuta 1 operación por cada valor que pue-
de tomar la variable i. Dado que i puede tomar como valores números pares entre

1
Mat. Andrés Merino Ejercicios no. 07

n
2 y n, tenemos que i puede tomar valores. Así, en las lineas 3 y 4, el algoritmo
2
n
da 2 · = n operaciones, con esto:
2
T (n) = n

para todo n ∈ N.

E JERCICIO 3. Considere el siguiente algoritmo:


Datos: Un número natural n
Resultado: No devuelve un resultado
1 Función Algoritmo(n):
2 s := 0
3 3 para i ∈ {1, . . . , n} hacer
4 para j ∈ {1, . . . , i } hacer
5 s : = s + j · ( i − j + 1)

Calcule el tiempo de ejecución del algoritmo en función del dato n.

Solución. Para el bucle de la linea 4, se ejecutan 4 operaciones por cada valor que
puede tomar la variable j. Dado que j puede tomar los valores entre 1 e i, tenemos
que j puede tomar i − 1 + 1 = i valores. Así, en las lineas 4 y 5, se ejecutan 4i
operaciones.
Para el bucle de la línea 3. como i puede tomar los valores entre 1 y n, el algo-
ritmo da
4(1) + 4(2) + 4(3) + · · · + 4( n )

operaciones, es decir, da
n
∑ 4i = 2n(n + 1)
i =1

operaciones, con esto:


T (n) = 2n(n + 1)

para todo n ∈ N.

E JERCICIO 4. Considere el siguiente algoritmo:

2
Ejercicios no. 07 Mat. Andrés Merino

Datos: Un conjunto de números reales a0 , a1 , . . . , an , con n ∈ N, y un número


real x
Resultado: Devuelve el valor de a0 + a1 x + · · · + an x n
1 Función ValPol(a0 , a1 , . . . , an , x):
2 vp := a0
3 para i ∈ {1, . . . , n} hacer
3
4 temp := ai
5 para j ∈ {1, . . . , i } hacer
6 temp := temp · x
7 vp := vp + temp
Resultado: vp

Calcule el tiempo de ejecución del algoritmo en función de n.

Solución. Para el bucle de la linea 5, se ejecuta 1 operación por cada valor que
puede tomar la variable j. Dado que j puede tomar los valores entre 1 e i, tenemos
que j puede tomar i − 1 + 1 = i valores. Así, en las lineas 5 y 6, se ejecutan i
operaciones.
Para el bucle de la línea 5, por cada valor que toma i se ejecutan i + 1 opera-
ciones. Dado que i puede tomar valores entre 1 y n, tenemos que i puede tomar
n − 1 + 1 = n valores. Así, entre las líneas 3 y 7, el algortimo da

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

operaciones, es decir, da
n n n
n ( n + 1) n ( n + 3)
∑i+1 = ∑i+∑1= 2
+n =
2
i =1 i =1 i =1

operaciones, con esto:


n ( n + 3)
T (n) =
2
para todo n ∈ N.

E JERCICIO 5. Considere el siguiente algoritmo:


Datos: Un número natural n
Resultado: No devuelve un resultado
1 Función Algoritmo(n):
3 2 s := 0
3 para i ∈ {bn/2c, . . . , n} hacer
4 s := n − i

3
Mat. Andrés Merino Ejercicios no. 07

Calcule el tiempo de ejecución del algoritmo en función del dato n.

E JERCICIO 6. Considere el siguiente algoritmo:


Datos: Un número natural n y x ∈ {1, 2, 3, 4}
Resultado: No devuelve un resultado
1 Función Algoritmo(x, n):
2 p := 0
3 3 para i ∈ {1, . . . , x } hacer
4 para j ∈ {1, . . . , n} hacer
5 p := ( p + i) · j

Calcule el tiempo del mejor caso, del peor caso y el tiempo esperado del
algoritmo en función del dato n.

E JERCICIO 7. Considere el siguiente algoritmo:


Datos: Un número natural n > 4 y x ∈ {1, 2, 3, 4}
Resultado: No devuelve un resultado
1 Función Algoritmo(x, n):
2 p := 0
3 3 para i ∈ {1, . . . , x } hacer
4 para j ∈ {i, . . . , n} hacer
5 p := ( p + i) · j

Calcule el tiempo del mejor caso, del peor caso y el tiempo esperado del
algoritmo en función del dato n.

E JERCICIO 8. Realizar el análisis del algoritmo de Búsqueda lineal.

E JERCICIO 9. Resolver los ejercicios 40, 41 y 42 del conjunto de ejercicios 11.3,


pág. 748, del libro de Epp (https://bit.ly/3riwjLa).

2. S UCESIONES Y RECURSIVIDAD

E JERCICIO 10. Defina de manera recursiva la sucesión de Fibonacci. También


escriba el pseudocódigo y el código en Python.

4
Ejercicios no. 07 Mat. Andrés Merino

Solución. La sucesión de Fibonacci está dada por

( f n )n∈N = (1, 1, 2, 3, 5, 8, 13, 21, . . .).

Notemos que el tercer término de la sucesión se puede formar al sumar los dos
primeros; así mismo, el cuarto término se forma al sumar el segundo y tercer tér-
mino. De hecho, a partir del tercero, cada término de la sucesión se forma al sumar
los dos términos inmediatamente anteriores a él, es decir, que la sucesión de Fibo-
nacci se puede definir de manera recursiva como sigue:

F0 = 1, F1 = 1, y Fn = Fn−1 + Fn−2 ,

para cada n ≥ 2.
El pseudocodigo para la función que reciba un número natural y devuelva el
n-ésimo término de la sucesión de Fibonacci es:
Datos: Un número natural n
Resultado: El n-ésimo número de la sucesión de Fibonacci
1 Función Fibonacci(n):
2 si n = 0 o n = 1 entonces
3 3 devolver 1
4 en otro caso
5 devolver Fibonacci(n-1)+Fibonacci(n-2)

1 Función Fibonacci(n):
2 si n = 0 o n = 1 entonces
3 devolver 1
4 en otro caso
5 devolver (Fibonacci(n-1)+Fibonacci(n-2))

El código en Python que genera la función descrita por el pseudocódigo ante-


rior es:
1 def Fibo (n) :
2 i f n == 0 o r n == 1 :
¥ 3 return 1
4 else :
5 r e t u r n F i b o ( n−1)+F i b o ( n−2)

5
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 08

Semestre 2021-1 Mat. Andrés Merino

1. I NDUCCIÓN M ATEMÁTICA

E JERCICIO 1. Demostrar que para todo n ≥ 8, existen a, b ∈ N tal que

n = 3a + 5b.

Solución. I. Vamos a demostrar que se cumple para 8, es decir, vamos a de-


mostrar que existen a, b ∈ N tal que

8 = 3a + 5b.

Tomando a = 1 y b = 1, tenemos que

3 · 1 + 5 · 1 = 3 + 5 = 8,

de donde
8 = 3a + 5b.

II. Supongamos que se cumple para n ∈ N con n ≥ 8 fijo, es decir, supongamos


que existen a, b ∈ N tal que

n = 3a + 5b.

Vamos a demostrar que se cumple para n + 1, es decir, vamos a demostrar


que existen a′ , b′ ∈ N tal que

n + 1 = 3a′ + 5b′ .

Analizaremos por casos. Primero, supongamos que b = 0, es decir, n = 3a.


Como n ≥ 8, se tiene que a ≥ 3, por lo tanto n = 3( a − 3) + 3 · 3, de donde
se tiene que

n + 1 = 3a + 1
= 3( a − 3) + 3 · 3 + 1
= 3( a − 3) + 10
= 3( a − 3) + 5 · 2;

1
Mat. Andrés Merino Ejercicios no. 08

tomando a′ = a − 3 y b′ = 2, se tiene que

n + 1 = 3a′ + 5b′ .

Supongamos ahora que b 6= 0, entonces n = 3a + 5b = 3a + 5(b − 1) + 5, y


así

n + 1 = 3a + 5b + 1
= 3a + 5(b − 1) + 5 + 1
= 3a + 5(b − 1) + 6
= 3a + 5(b − 1) + 3 · 2
= 3( a + 2) + 5( b − 1);

tomando a′ = a + 2 y b′ = b − 1, se tiene que

n + 1 = 3a′ + 5b′ .

En cualquier caso, probamos que existen a′ , b′ ∈ N tal que

n + 1 = 3a′ + 5b′ .

Así, queda demostrado que, para todo n ∈ N con n ≥ 8, existen a, b ∈ N tal


que
n = 3a + 5b.

E JERCICIO 2. Demostrar que, para todo n ∈ N

n
n ( n + 1)
∑k= 2
.
k =0

Solución. Utilicemos inducción matemática:

I. Vamos a demostrar que se cumple para 0, es decir, vamos a demostrar que

0
0(0 + 1)
∑k= 2
.
k =0

Calculemos cada lado:


0
∑ k = 0,
k =0

2
Ejercicios no. 08 Mat. Andrés Merino

por otro lado,


0(0 + 1)
= 0;
2
de donde
0
0(0 + 1)
∑k= 2
.
k =0

II. Supongamos que se cumple para n ∈ N fijo, es decir, supongamos que


n
n ( n + 1)
∑k= 2
.
k =0

Vamos a demostrar que se cumple para n + 1, es decir, vamos a demostrar


que
n +1
(n + 1)((n + 1) + 1)
∑k= 2
.
k =0

Calculemos cada lado:


n +1 n
∑ k = ∑ k + ( n + 1)
k =0 k =0
n ( n + 1)
= + n + 1.
2
n2 3n
= + + 1;
2 2
Por otro lado,
(n + 1)((n + 1) + 1) n2 3n
= + + 1.
2 2 2
Con esto,
n +1
(n + 1)((n + 1) + 1)
∑k= 2
.
k =0

Así, queda demostrado que, para todo n ∈ N


n
n ( n + 1)
∑k= 2
.
k =0

E JERCICIO 3. Demostrar que, dado r > 0, para todo n ∈ N

n
r n +1 − 1
∑ rk = .
k =0
r−1

3
Mat. Andrés Merino Ejercicios no. 08

Solución. Utilicemos inducción matemática:

I. Vamos a demostrar que se cumple para 0, es decir, vamos a demostrar que

0
r 0+1 − 1
∑ rk = r−1
.
k =0

Calculemos cada lado:


0
∑ rk = r0 = 1,
k =0

por otro lado,


r 0+1 − 1 r−1
= = 1;
r−1 r−1
de donde
0
r 0+1 − 1
∑ rk = r−1
.
k =0

II. Supongamos que se cumple para n ∈ N fijo, es decir, supongamos que


n
r n +1 − 1
∑ rk = r−1
.
k =0

Vamos a demostrar que se cumple para n + 1, es decir, vamos a demostrar


que
n +1
r (n+1)+1 − 1
∑ rk = r − 1 .
k =0

Calculemos cada lado:


n +1 n
∑ r k = ∑ r k + r n +1
k =0 k =0
r n +1
−1
= + r n +1
r−1
r n +2 − 1
= ;
r−1
Por otro lado,
r (n+1)+1 − 1 r n +2 − 1
=
r−1 r−1
Con esto,
n +1
r (n+1)+1 − 1
∑ rk = r−1
.
k =0

4
Ejercicios no. 08 Mat. Andrés Merino

Así, queda demostrado que, para todo n ∈ N


n
r n +1 − 1
∑ rk = r−1
.
k =0

E JERCICIO 4. Demostrar que, para todo n ∈ N

n 2
n ( n + 1)

∑ k3 = .
k =0
2

E JERCICIO 5. Demostrar que, para todo n ∈ N

n
n(n + 1)(2n + 1)
∑ k2 = 6
.
k =0

Solución. Utilicemos inducción matemática:


I. Vamos a demostrar que se cumple para 0, es decir, vamos a demostrar que

0
0(0 + 1)(2(0) + 1)
∑ k2 = 6
.
k =0

Calculemos cada lado:


0
∑ k2 = 02 = 0,
k =0

por otro lado,


0(0 + 1)(2(0) + 1)
= 0;
6
de donde
0
0(0 + 1)(2(0) + 1)
∑ k2 = 6
.
k =0

II. Supongamos que se cumple para n ∈ N fijo, es decir, supongamos que


n
n(n + 1)(2n + 1)
∑ k2 = 6
.
k =0

Vamos a demostrar que se cumple para n + 1, es decir, vamos a demostrar


que
n +1
(n + 1)((n + 1) + 1)(2(n + 1) + 1)
∑ k2 = 6
.
k =0

5
Mat. Andrés Merino Ejercicios no. 08

Calculemos cada lado:


n +1 n
∑ k2 = ∑ k 2 + ( n + 1)2
k =0 k =0
n(n + 1)(2n + 1)
= + ( n + 1)2 .
6
n3 3n2 13n
= + + + 1;
3 2 6
Por otro lado,

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


= .
6 6
Con esto,
n +1
(n + 1)((n + 1) + 1)(2(n + 1) + 1)
∑ k2 = 6
.
k =0

Así, queda demostrado que, para todo n ∈ N


n
n(n + 1)(2n + 1)
∑ k2 = 6
.
k =0

2. D EFINICIONES RECURSIVAS E INDUCCIÓN ESTRUCTURAL

E JERCICIO 6. Definir el conjunto de los número pares de manera recursiva.

Solución. Definimos el conjunto P formado por los números pares de la siguiente


manera:

• 0∈P

• Si x ∈ P entonces x + 2 ∈ P

• Si x ∈ P entonces x − 2 ∈ P

E JERCICIO 7. Definir el conjunto de los número impares de manera recursiva.

Solución. Definimos el conjunto I formado por los números pares de la siguiente


manera:

6
Ejercicios no. 08 Mat. Andrés Merino

• 1∈I

• Si x ∈ I entonces x + 2 ∈ I

• Si x ∈ I entonces x − 2 ∈ I

E JERCICIO 8. Definir el conjunto de todas la proposiciones de manera recur-


siva.

Solución. Definimos el conjunto Σ de todas las proposiciones de la siguiente ma-


nera:

• Todas las letras minúsculas del alfabeto español son proposiciones.

• Si P ∈ Σ entonces (¬ P) ∈ Σ

• Si P, Q ∈ Σ entonces ( P ⇒ Q) ∈ Σ.

E JERCICIO 9. Demostrar que toda proposición tiene igual cantidad de parén-


tesis de derecha como de izquierda.

Solución. Utilicemos inducción estructurada:

I. Primero analizamos el caso base. Toda letra es una proposición y no tiene


paréntesis de derecha ni de izquierda, por lo tanto, tiene igual cantidad de
paréntesis de derecha como de izquierda.

II. Para el primer caso constructivo, supongamos que tenemos P ∈ Σ tal que
tiene igual cantidad de paréntesis de derecha como de izquierda. Notemos
que, en (¬ P), se tiene que el número de paréntesis de izquierda es el mismo
número de paréntesis de izquierda de P más uno; por otro lado el número de
paréntesis de derecha es el mismo número de paréntesis de derecha P más
uno; por lo tanto, ¬ P tiene igual cantidad de paréntesis de derecha como de
izquierda.

III. Para el segundo caso constructivo, supongamos que tenemos P, Q ∈ Σ ta-


les que cada uno tiene igual cantidad de paréntesis de derecha como de iz-
quierda. Notemos que, en ( P ⇒ Q), se tiene que el número de paréntesis de
izquierda es el número de paréntesis de izquierda de P más el número de
paréntesis de izquierda de Q más uno; por otro lado, el número de parén-
tesis de derecha es el número de paréntesis de derecha de P más el número
de paréntesis de derecha de Q más uno; por lo tanto, P ⇒ Q tiene igual
cantidad de paréntesis de derecha como de izquierda.

7
Mat. Andrés Merino Ejercicios no. 08

Con esto, podemos concluir que, todo elemento de Σ tiene la misma cantidad de
paréntesis de derecha como de izquierda

E JERCICIO 10. Demostrar que la longitud de cualquier palabra es un número


mayor o igual que 0.

8
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 11

Semestre 2021-1 Mat. Andrés Merino

1. R EPRESENTACIÓN DE GRAFOS EN LA MEMORIA DE LA


COMPUTADORA

E JERCICIO 1. Dados los grafos (V, A), usando Wolfram Mathematica repre-
sente los siguientes grafos:

I. V = {1, 2, 3} y A = {{1, 2}, {2, 3}, {3, 1}}

II. V = { a, b, c, d} y A = {{ a, b}, {b, c}, {c, d}, {d, b}}

III. V = {1, 2, 3} y A = {{1, 2}, {2, 3}, {3, 1}, {1, 1}}

IV. V = {1, 2, 3, 4} y A = {{1, 2}, {2, 3}, {3, 1}}

V. V = {1, 2, 3} y A = {{1, 2}, {1, 2}, {2, 3}, {3, 1}, {3, 1}, {3, 1}}

Solución.

I. Usando Mathematica, obtenemos


In[1]:= Graph[{1,2,3}, {{1,2},{2,3},{3,1}},VertexLabels → "Name"]

1 3

II.

III. Usando Mathematica, obtenemos


In[2]:= Graph[{1,2,3}, {{1,2},{2,3},{3,1},{1,1}},VertexLabels→ "Name"]

1
Mat. Andrés Merino Ejercicios no. 11

IV.

V. Usando Mathematica, obtenemos


In[3]:= Graph[{1,2,3},{{1,2},{1,2},{2,3},{3,1},{3,1},{3,1}},VertexLabels→ "Name"]

E JERCICIO 2. Dados los grafos (V, A), determine la matriz de adyacencia del
grafo:

I. V = {1, 2, 3} y A = {{1, 2}, {2, 3}, {3, 1}}

II. V = { a, b, c, d} y A = {{ a, b}, {b, c}, {c, d}, {d, b}}

III. V = {1, 2, 3} y A = {{1, 2}, {2, 3}, {3, 1}, {1, 1}}

IV. V = {1, 2, 3, 4} y A = {{1, 2}, {2, 3}, {3, 1}}

V. V = {1, 2, 3} y A = {{1, 2}, {1, 2}, {2, 3}, {3, 1}, {3, 1}, {3, 1}}

Solución.

I. Usando Mathematica, obtenemos


In[4]:= g1=Graph[{1,2,3}, {{1,2},{2,3},{3,1}},VertexLabels → "Name"]

AdjacencyMatrix[g1]//MatrixForm

2
Ejercicios no. 11 Mat. Andrés Merino

Out[4]=
 
0 1 1
1 0 1
 

1 1 0

II.

III. Usando Mathematica, obtenemos


In[5]:= g2=Graph[{1,2,3}, {{1,2},{2,3},{3,1},{1,1}},VertexLabels→ "Name"]

AdjacencyMatrix[g2]//MatrixForm

Out[5]=
 
1 1 1
1 0 1
 

1 1 0

IV.

V. Usando Mathematica, obtenemos


In[6]:= g3=Graph[{1,2,3},{{1,2},{1,2},{2,3},{3,1},{3,1},{3,1}},VertexLabels→ "Name"]

AdjacencyMatrix[g3]//MatrixForm

Out[6]=
 
0 2 3
2 0 1
 

3 1 0

E JERCICIO 3. Dados los grafos dirigidos (V, A), determine la matriz de adya-
cencia del grafo:

I. V = {1, 2, 3} y A = {(1, 2), (2, 3), (3, 1}}

II. V = { a, b, c, d} y A = {( a, b), (b, c), (c, d), (d, b)}

III. V = {1, 2, 3} y A = {(1, 2), (2, 3), (3, 1), (1, 1)}

IV. V = {1, 2, 3, 4} y A = {(1, 2), (2, 3), (3, 1)}

V. V = {1, 2, 3} y A = {(1, 2), (1, 2), (2, 3), (3, 1), (3, 1), (3, 1)}

Solución.

3
Mat. Andrés Merino Ejercicios no. 11

I. Usando Mathematica, obtenemos


In[7]:= g1=DirectedGraph[{1→ 2,2→ 3,3→ 1},VertexLabels→ "Name"]

AdjacencyMatrix[g1]//MatrixForm

Out[7]=
 
0 1 0
0 0 1
 

1 0 0

II.

III. Usando Mathematica, obtenemos


In[8]:= g2=DirectedGraph[{1→ 2,2→ 3,3→ 1,1→ 1},VertexLabels→ "Name"]

AdjacencyMatrix[g2]//MatrixForm

Out[8]=
 
1 1 0
0 0 1
 

1 0 0

IV.

V. Usando Mathematica, obtenemos


In[9]:= g3=DirectedGraph[{1→ 2,1→ 2,2→ 3,3→ 1,3→ 1,3→ 1},VertexLabels→ "Name"]

AdjacencyMatrix[g3]//MatrixForm

Out[9]=
 
0 2 0
0 0 1
 

3 0 0

E JERCICIO 4. Dados los grafos (V, A), determine la lista de adyacencia del
grafo:

I. V = {1, 2, 3} y A = {{1, 2}, {2, 3}, {3, 1}}

II. V = { a, b, c, d} y A = {{ a, b}, {b, c}, {c, d}, {d, b}}

III. V = {1, 2, 3} y A = {{1, 2}, {2, 3}, {3, 1}, {1, 1}}

IV. V = {1, 2, 3, 4} y A = {{1, 2}, {2, 3}, {3, 1}}

4
Ejercicios no. 11 Mat. Andrés Merino

V. V = {1, 2, 3} y A = {{1, 2}, {1, 2}, {2, 3}, {3, 1}, {3, 1}, {3, 1}}

Solución.

I. Usando Mathematica, obtenemos


In[10]:= g1=Graph[{1,2,3}, {{1,2},{2,3},{3,1}},VertexLabels → "Name"];

Table[AdjacencyList[g, i], {i, 1, 3}]

Out[10]= {{2,3},{1,3},{1,2}}

II.

III. Usando Mathematica, obtenemos


In[11]:= g2=Graph[{1,2,3}, {{1,2},{2,3},{3,1},{1,1}},VertexLabels→ "Name"]

Table[AdjacencyList[g, i], {i, 1, 3}]

Out[11]= {{1, 2, 3}, {1, 3}, {1, 2}}

IV.

V. Usando Mathematica, obtenemos


In[12]:= g3=Graph[{1,2,3},{{1,2},{1,2},{2,3},{3,1},{3,1},{3,1}},VertexLabels→ "Name"]

Table[AdjacencyList[g, i], {i, 1, 3}]

Out[12]= {{2, 3}, {1, 3}, {1, 2}}

2. C AMINOS Y CONECTIVIDAD

E JERCICIO 5. Usando el comando RandomGraph de Wolfram Mathematica,


determine un grafo de 7 vértices y 19 aristas. También determine el grado de
cada vértice y la suma de los grados de cada vértice.

Solución. Usando Mathematica, obtenemos


In[13]:= g1 = RandomGraph[{7, 19}, VertexLabels→ Automatic]

5
Mat. Andrés Merino Ejercicios no. 11

2
3

In[14]:= t1 = Table[VertexDegree[g1, i], {i, 1, 7}]

Out[14]= {6, 5, 5, 6, 5, 5, 6}

In[15]:= Sum[i, {i, t1}]

Out[15]= 38

E JERCICIO 6. Usando el comando CompleteGraph de Wolfram Mathematica,


determine grafos completos de 1 a 8 vértices. También realice un grafo de 20
vértices

Solución. Usando Mathematica, obtenemos


In[16]:= Table[CompleteGraph[i], {i, 1, 8}]

6
Ejercicios no. 11 Mat. Andrés Merino

E JERCICIO 7. Usando el comando RandomGraph de Wolfram Mathematica,


determine un grafo de 5 vértices y 7 aristas, luego obtenga el subgrafo con
el comando Subgraph inducido por los vértices 2, 3, 4. Por último, genere un
subgrafo eliminando una de sus aristas usando el comando VertexDelete.

Solución. Usando Mathematica, obtenemos


In[17]:= g = RandomGraph[{5, 7}, VertexLabels→ Automatic]

7
Mat. Andrés Merino Ejercicios no. 11

4 3

In[18]:= Subgraph[g, {2, 3, 4}]

2 4 3

In[19]:= VertexDelete[g, 3]

1 4

8
Ejercicios no. 11 Mat. Andrés Merino

E JERCICIO 8. Determine si los siguientes grafos son isomorfos

b 3

f 2 5

a e g c 1

h 4 6

d 8 7

Solución. Los grafos no son isomorfos. En efecto, si enumeramos los vértices del
primer grafo siguiendo el orden alfabético, usando Mathematica, obtenemos
In[20]:= g1=Graph[{{1,2},{1,4},{1,5},{2,3},{2,6},{3,4},{3,7},{4,8},{5,6},{5,8},{6,7},{7,8}},ց
VertexLabels→ Automatic];
g2=Graph[{{1,2},{1,4},{1,7},{2,3},{2,5},{3,6},{3,8},{4,5},{4,6},{5,8},{6,7},{7,8}},ց
VertexLabels→ Automatic];
IsomorphicGraphQ[g1, g2]

Out[20]= False

E JERCICIO 9. En el siguiente grafo, determine tres caminos distintos entre D


y F y sus respectivas longitudes.

H e6 G
b b

D b
e7 e5
e8
e2 F
b
e1
e4
b b

C e3
E

Solución. Los siguientes son caminos entre D y F:

• ( D, e1 , C, e3 , E, e4 , F )

9
Mat. Andrés Merino Ejercicios no. 11

• ( D, e2 , E, e4 , F )

• ( D, e2 , E, e8 , G, e5 , F )

y sus longitudes son 3, 2 y 3, respectivamente.

E JERCICIO 10. Usando el comando RandomGraph de Wolfram Mathemati-


ca, determine un grafo de 6 vértices y 9 aristas, con el comando FindPath
encuentre el camino entre el vértice 1 y 3, resalte el camino en el grafo usan-
do el comando HighlightGraph, determine un camino de longitud 4 desde el
vertice 1 al vertice 3, encuentre todos los caminos desde el vértice 1 al vértice
6, por último determine un camino cerrado desde el vértice 6 de longitud 5
usando el comando FindCycle.

Respuesta. Usando Mathematica, generamos el grafo aleatorio, buscamos un ca-


mino entre los vértices 1 y 3, y lo graficamos
In[21]:= g=RandomGraph[{6,9},VertexLabels→ Automatic]

4
1

In[22]:= c=FindPath[g,1,3]

Out[22]= {{1,2,6,3}}

In[23]:= HighlightGraph[g,PathGraph[c[[1]]]]

4
1

Ahora, buscamos un camino de longitud 4 entre 1 y 3, y lo graficamos

10
Ejercicios no. 11 Mat. Andrés Merino

In[24]:= c2=FindPath[g,1,3,{4}]

Out[24]= {{1,2,6,4,3}}

In[25]:= HighlightGraph[g,PathGraph[c2[[1]]]]

4
1

6 3

Luego, buscamos todos los caminos entre 1 y 6


In[26]:= caminos=FindPath[g,1,6,9,9]

Out[26]= {{1,6},{1,2,6}}

Por último, buscamos un ciclo que incluya al vértice 6 que tenga longitud 5
In[27]:= FindCycle[{g, 6}, {5}]

Out[27]= { }

El resultado nos indica que, en este grafo, no existe ningún ciclo con las caracte-
rísticas especificadas.

E JERCICIO 11. Usando el comando RandomGraph de Wolfram Mathematica,


determine un grafo de 9 vértices y 15 aristas, con el comando GraphDistance
calcule la distancia entre los vértices 1 y 8, calcule todos los posibles valores
que pueden tomar las distancias, por último determine el diámetro del grafo
usando el comando GraphDiameter.

Solución. Empezamos generando un grafo aleatorio y calculamos la distancia en-


tre los vértices 1 y 8
In[28]:= g=RandomGraph[{9,15},VertexLabels→ Automatic]

11
Mat. Andrés Merino Ejercicios no. 11

9
3

In[29]:= GraphDistance[g, 1, 8]

Ahora, calculamos todas las posibles distancias entre vértices del grafo
In[30]:= Table[GraphDistance[g,a,b],{a,1,9},{b,1,9}]

Out[30]= { {0,2,2,2,2,1,1,1,1}, {2,0,1,2,3,1,1,2,2}, {2,1,0,2,2,2,2,1,3}, {2,2,2,0,2,1,2,1,3}, ց


{2,3,2,2,0,2,2,1,1}, {1,1,2,1,2,0,2,1,2}, {1,1,2,2,2,2,0,1,1}, {1,2,1,1,1,1,1,0,2}, ց
{1,2,3,3,1,2,1,2,0} }

Así, las posibles distancias son 0, 1, 2 y 3.


Por último, calculamos el diámetro del grafo
In[31]:= GraphDiameter[g]

Out[31]= 3

12
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 11

Semestre 2021-1 Mat. Andrés Merino

1. R ECORRIDOS Y GRAFOS E ULERIANOS

E JERCICIO 1. Resolver el ejercicio 12 del conjunto de ejercicios 10.2, pág. 657,


del libro de Epp (https://go.alephsub0.org/MD-Epp).

E JERCICIO 2. Resolver el ejercicio 14 del conjunto de ejercicios 10.2, pág. 657,


del libro de Epp (https://go.alephsub0.org/MD-Epp).

E JERCICIO 3. Resolver el ejercicio 19 del conjunto de ejercicios 10.2, pág. 657,


del libro de Epp (https://go.alephsub0.org/MD-Epp).

E JERCICIO 4. Resolver el ejercicio 23 del conjunto de ejercicios 10.2, pág. 657,


del libro de Epp (https://go.alephsub0.org/MD-Epp).

E JERCICIO 5. Resolver el ejercicio 24 del conjunto de ejercicios 10.2, pág. 657,


del libro de Epp (https://go.alephsub0.org/MD-Epp).

1
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS • E JERCICIOS NO . 11

Semestre 2021-1 Mat. Andrés Merino

1. Á RBOLES DE EXPANSIÓN

E JERCICIO 1. Resolver el ejercicio 7 del conjunto de ejercicios 9.3, pág. 397,


del libro de Johnsonbaugh (https://go.alephsub0.org/MD-Johns).

E JERCICIO 2. Resolver el ejercicio 9 del conjunto de ejercicios 9.3, pág. 397,


del libro de Johnsonbaugh (https://go.alephsub0.org/MD-Johns).

E JERCICIO 3. Resolver el ejercicio 1 del conjunto de ejercicios 9.4, pág. 402,


del libro de Johnsonbaugh (https://go.alephsub0.org/MD-Johns).

E JERCICIO 4. Resolver el ejercicio 4 del conjunto de ejercicios 9.4, pág. 402,


del libro de Johnsonbaugh (https://go.alephsub0.org/MD-Johns).

E JERCICIO 5. Resolver el ejercicio 5 del conjunto de ejercicios 9.5, pág. 408,


del libro de Johnsonbaugh (https://go.alephsub0.org/MD-Johns).

E JERCICIO 6. Resolver el ejercicio 7 del conjunto de ejercicios 9.5, pág. 408,


del libro de Johnsonbaugh (https://go.alephsub0.org/MD-Johns).

1
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • E XAMEN N O . 01

Semestre 2022-1 Mat. Andrés Merino

1. En un determinado sistema, una contraseña debe estar conformada por 6 o 7 caracteres que pueden
ser letras, dígitos y caracteres especiales (existe una lista de 7 caracteres especiales válidos). Si se soli-
cita al usuario que su contraseña tengan exactamente 2 dígitos y 1 carácter especial, ¿cuántas posibles
contraseñas puede ingresar el usuario?

Solución. Tomemos los siguientes conjuntos:

a) C6 : contraseñas con 6 caracteres;


b) C7 : contraseñas con 7 caracteres.

Procedamos a calcular la cantidad de elementos de cada uno de ellos:

a) Para C6 , podemos hacer el siguiente proceso:


1) Seleccionar los lugares donde irán los dos dígitos: como se tiene 6 posibilidades, tenemos que
existen
6! 6!
C (6, 2) = = = 15
(6 − 2)!2! 4!2!
formas de seleccionar los lugares.
2) Seleccionar los dígitos: como en cada lugar puede ir cualquiera de los 10 dígitos, se tienen

10 · 10 = 100

posibilidades.
3) Seleccionar la casilla donde irán el carácter especial: Como se tiene 4 posibilidades restantes,
tenemos que existen
4! 4!
C (4, 1) = = =4
(4 − 1)!1! 3!
formas de seleccionar el lugar.
4) Seleccionar el carácter: Como existen 7 caracteres, tenemos

posibilidades.
5) Finalmente, Seleccionar el resto de letras: Como restan 3 lugares para colocar letras, tenemos

27 · 27 · 27 = 273

posibilidades.
Con esto y el principio de multiplicación, tenemos

|C6 | = C (6, 2) · 102 · C (4, 1) · 7 · 273 = 826′ 686 000.

b) Para C7 , por un procedimiento similar

C7 = C (7, 2) · 102 · C (5, 1) · 7 · 274 = 39 060′ 913 500.

Ahora, como la contraseña puede ser de 6 o 7 caracteres y C6 ∩ C7 = ∅, por el principio de adición:

|C6 ∪ C7 | = |C6 | + |C7 | = 826′ 686 000 + 39 060′ 913 500 = 39 887′ 599 500.
Es decir, el usuario puede ingresar 39 887′ 599 500 contraseñas.

1
2. El laboratorio del segundo parcial de la asignatura de Estructuras Discretas II tendrá 10 ejercicios y se
lo realizará de forma grupal. El grupo conformado por Ada, Turing y Euler piensa distribuirse estos
ejercicios para realizarlos en el menor tiempo posible.

a) ¿De cuántas formas se pueden distribuir los ejercicios entre las tres personas suponiendo que cada
persona realiza al menos un ejercicio?
b) Considerando que Ada es la mejor programadora de la clase, el grupo tomará la siguiente estrategia:
Ada se hará cargo de 4 ejercicios, Turing se hará cargo de 3, y Euler del resto. ¿De cuántas formas se
puede hacer ahora la distribución de los ejercicios?

Solución.

a) Podemos ver el problema como repartir 10 objetos (ejercicios) en 3 grupos (estudiantes). Dado que
cada estudiante debe realizar al menos un ejercicio, solo se deben repartir 7 ejercicios. Utilizando
combinaciones generalizadas, tenemos
9!
C (7 + 3 − 1, 3 − 1) = C (9, 2) = = 36
(9 − 2)!2!
formas de distribuir los ejercicios.
b) Podemos considerar:
• 10 objetos (ejercicios);
• 3 tipos: 4 del primer tipo (los ejercicios de Ada),
• 3 del segundo tipo (los ejercicios de Turing) y
• 3 del tercer tipo (los ejercicios de Euler).
Con esto, utilizando permutaciones generalizadas, tenemos:
10!
= 4 200
4!3!3!
formas de distribuir los ejercicios.

3. Se tiene un programa que imprime un número entero aleatorio entre 1 y 17. ¿Cuántas veces se debe
correr el programa para garantizar que este imprime un mismo número 100 veces?

Solución. Agrupemos los resultados impresos por número; así, tenemos:

• N: número de veces que debe correr el programa;


• k: número de posibles resultados (17).

Por el principio del palomar generalizado


 
N
= 100
17
de donde, como se busca el menor N, tenemos
N−1
 
N
= 100 ⇐⇒ 100 − 1
17 17
⇐⇒ N = 1684.
Es decir, necesitamos correr el programa 1684 veces para garantizar que se imprima 100 veces el mismo
número.

4. Se considera el conjunto {1, 2, 3, 4, 5, 6, 7, 8}. Se desea determinar las dos permutaciones que prosiguen a
13287654. Para esto, utilice el algoritmo visto en clases y explique detalladamente los pasos realizados.

2
Solución. Para la primera permutación:

• Buscamos el primer incremento desde la derecha

1 3 2 8 7 6 5 4

• En la cola, seleccionamos el primer elemento mayor que 2 desde la derecha:

1 3 2 8 7 6 5 4

• Intercambiamos los elementos

1 3 4 8 7 6 5 2

• Escribimos la cola en el orden inverso

1 3 4 2 5 6 7 8

Así, la siguiente permutación es 13425678.


Para la segunda permutación:

• Buscamos el primer incremento desde la derecha

1 3 4 2 5 6 7 8

• En la cola, seleccionamos el primer elemento mayor que 2 desde la derecha:

1 3 4 2 5 6 7 8

• Intercambiamos los elementos

1 3 4 2 5 6 8 7

• Escribimos la cola en el orden inverso

1 3 4 2 5 6 8 7

Así, la siguiente permutación es 13425687.

3
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • E XAMEN N O . 02

Semestre 2022-1 Mat. Andrés Merino

1. Resolver la relación de recurrencia:

a0 = 1,
a1 = 2,
an = 2an−1 − 2an−2 , n ≥ 2.

Determinar a5 utilizando tanto la relación de recurrencia como la fórmula explícita encontrada. (2.0pt)

Solución. La ecuación polinomial que representa la relación es

t2 = 2t − 2.

Resolviendo, las soluciones son


t = 1+i ∨ t = 1 − i.

Con esto, obtenemos que la solución es, para todo n ∈ N,

a n = α · (1 + i ) n + β · (1 − i ) n ,

donde α y β son constantes a determinar. Para esto, utilizamos las condiciones iniciales:

1 = a0 = α · (1 + i )0 + β · (1 − i )0 ,
2 = a1 = α · (1 + i )1 + β · (1 − i )1 .

Así, tenemos el siguiente sistema (


α+ β = 1,
(1 + i )α + (1 − i ) β = 2.
Resolviendo el sistema, obtenemos que
1 i 1 i
α= − y β= + .
2 2 2 2
Por lo tanto, para todo n ∈ N,
   
1 i n 1 i
an = − · (1 + i ) + + · (1 − i ) n .
2 2 2 2
Así, el término buscado es
   
1 i 5 1 i
a5 = − · (1 + i ) + + · (1 − i )5 = −8.
2 2 2 2

2. Considere la siguiente función:


1 def f (n) :
2 x = 1
3 i f n==0:
4 x = x + 1
5 return x
6 e l i f n==1:
7 x = ( x + 2 ) ∗3
8 x = x ∗ 2
9 return x
10 else :
11 a = f ( n−2)
12 b = f ( n−2)
13 c = f ( n−2)
14 r e t u r n f ( n−2)

1
Realice el análisis de la complejidad computacional de la función, obteniendo una expresión explícita,
e indique su orden. Contabilice únicamente las operaciones (no las comparaciones ni asignaciones) e
ignore las operaciones de resta en las líneas 11 a 14. (2.0pt)

Solución. consideremos t(n) el número de operaciones que ejecuta la función cuando n ∈ N es el argu-
mento. Tenemos lo siguiente:

• si n = 0, solo se genera la operación de la linea 4, por lo tanto

t(0) = 1.

• si n = 1, se ejecutan únicamente las lineas 7, 8 y 9, por lo tanto

t(1) = 3.

• si n ≥ 2, se ejecutan las lineas 11 a 14, en la linea 11 se ejecutan t(n − 2) operaciones , igual en las
otras 3 lineas, por lo tanto
t(n) = 4t(n − 2).

Así, obtenemos la siguiente relación de recurrencia

t(0) = 1,
t(1) = 3,
t(n) = 4t(n − 2), n ≥ 2.

Notando t(n) = an , tenemos

a0 = 1,
a1 = 3,
an = 4an−2 , n ≥ 2.

El polinomio que representa la relación es


t2 = 4.

Resolviendo, las soluciones son


t = −2 ∨ t = 2.

Con esto, obtenemos que la solución es, para todo n ∈ N,

an = α · (−2)n + β · 2n ,

donde α y β son constantes a determinar. Para esto, utilizamos las condiciones iniciales

1 = a0 = α · (−2)0 + β · 20 ,
3 = a1 = α · (−2)1 + β · 21 .

así, tenemos el siguiente sistema (


α + β = 1,
−2α + 2β = 3.
Resolviendo el sistema, obtenemos que α = − 41 y β = 45 . Por lo tanto, para todo n ∈ N,
1 5
t(n) = an = − · (−2)n + · 2n .
4 4
Así, tenemos que la función tiene orden exponencial.

3. Suponiendo que a y b son números naturales impares menores que 6 y c es un número natural par menor
o igual que 6, determine el número de soluciones de las siguientes ecuaciones:

2
a) a + b + c = 8
b) a + b + c = 9
c) a + b + c = 10
d) a + b + c < 10

Para esto, utilice funciones generadoras. (2.0pt)

Solución. Notemos que las funciones generatrices para cada variable son:

• Para a: x1 + x3 + x5
• Para b: x1 + x3 + x5
• Para c: x0 + x2 + x4 + x6

Entonces, la función generatriz para la suma es

( x1 + x3 + x5 )( x1 + x3 + x5 )( x0 + x2 + x4 + x6 )
que es igual a
x2 + 3x4 + 6x6 + 8x8 + 8x10 + 6x12 + 3x14 + x16 ,

con esto, tenemos las siguientes conclusiones:

a) El número de formas para que la suma sea 8 es el coeficiente de x8 , es decir, hay 8 soluciones de la
ecuación.
b) El número de formas para que la suma sea 9 es el coeficiente de x9 , es decir, no hay soluciones para
la ecuación.
c) El número de formas para que la suma sea 10 es el coeficiente de x10 , es decir, hay 8 soluciones de
la ecuación.
d) El número de formas para que la suma sea menor que 10 es la suma de los números de formas en
los que se obtiene un valor mejor que 10, es decir, hay 18 soluciones para la inecuación.

4. Se da la oportunidad a los estudiantes de Estructuras Discretas II para participar en un juego contra el


docente en el que se apostará un cierto puntaje de la nota correspondiente al segundo parcial. El juego es
el siguiente: se lanza un dado de 8 caras, si cae en una cara par, el estudiante pierde 3 puntos; en caso de
que sea un número impar, el estudiante gana el número de puntos marcado. Calcule el valor esperado
de este juego, basado en este resultado, ¿participaría en el juego? (2.0pt)

Solución. Tomemos

• Espacio muestral es
Ω = {1, 2, 3, . . . , 8} .

• La función de probabilidad es, para n ∈ {1, . . . , 8},


1
P({n}) = .
8
• La variable aleatoria es, para n ∈ {1, . . . , 8},
(
−3 si n es par,
X (n) =
n si n es impar.

3
Con esto, el valor esperado es

E(X) = ∑ P({n}) · X (n)


n∈Ω
= P({1}) · X (1) + P({2}) · X (2) + · · · + P({8}) · X (8)
1 1 1 1 1 1 1 1
= 1· −3· +3· −3· +5· −3· +7· −3·
8 8 8 8 8 8 8 8
1
= .
2
Dado que el valor esperado es positivo, sí participaría en el juego.

5. Basado en el enunciado anterior, y en un giro inesperado de eventos, descubre que el dado que trajo el
docente para el juego está «trucado» de tal forma que las caras pares tienen el doble de probabilidad de
salir que las caras impares. Basado en esta nueva información, calcule el valor esperado de este juego,
basado en el resultado, ¿participaría ahora en el juego? (2.0pt)

Solución. Tomemos

• Espacio muestral
Ω = {1, 2, 3, . . . , 8} .

• La función de probabilidad
(
2
12 si n es par,
P({n}) =
1
12 si n es impar.

• La variable aleatoria es, para n ∈ {1, . . . , 8},


(
−3 si n es impar,
X (n) =
n si n es par.

Con esto, el valor esperado es

E(X) = ∑ P({n}) · X (n)


n∈Ω
= P({1}) · X (1) + P({2}) · X (2) + · · · + P({8}) · X (8)
1 2 1 2 1 2 1 2
= 1· −3· +3· −3· +5· −3· +7· −3·
12 12 12 12 12 12 12 12
8 2
=− =− .
12 3
Dado que el valor esperado es negativo, no participaría en el juego.

4
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • E XAMEN N O . 03

Semestre 2022-1 Mat. Andrés Merino

1. Considere la siguiente red de transporte con un flujo dado. Como se puede observar, por problemas de
procesado de datos, se ha perdido la información del flujo por algunas aristas.
3/5

v1 v2 v3
b b b

2/3
?/4
4/6 2/4 1/3

b b b

v4 2/5 v5 ?/6 v6

Realice las siguientes actividades:

a) Determine los valores adecuados para completar el flujo (indiqué detenidamente cómo determinó
los valores). (1.0pt)

b) Considere el camino v4 v1 v5 v2 v3 v6 , ¿cuánto flujo se puede aumentar por este camino?, de ser posi-
ble, calcule cómo aumentaría el flujo (dibuje el camino aparte e indique detenidamente los pasos
realizados). (1.5pt)

Solución.

a) Analicemos el flujo en v1 , tenemos que ingresan 4 unidades, pero salen solo 3, por lo tanto, debe
salir una unidad más en dirección a v5 .
Ahora, analicemos en v5 , tenemos que ingresan 5 unidades, por lo tanto, deben salir 5 unidades
igualmente.
Con esto, la red y el flujo quedan de la siguiente manera:
3/5

v1 v2 v3
b b b

2/3
1/4
4/6 2/4 1/3

b b b

v4 2/5 v5 5/6 v6

b) En el camino tenemos las siguientes aristas:


• con orientación adecuada (v4 , v1 ), (v1 , v5 ), (v3 , v6 ).
• con orientación no adecuada (v2 , v5 ), (v3 , v2 ).
Con esto, el flujo que puede aumentar es

• (v4 , v1 ): 6 − 4 = 2, • (v2 , v5 ): 2,
• (v1 , v5 ): 4 − 1 = 3, • (v3 , v2 ): 2.
• (v3 , v6 ): 3 − 1 = 2,

Tomando el mínimo de estos valores, tengo que el valor del flujo puede aumentar en 2 unidades,
quedando así:

1
v1 v2 v3
b b b

0/3
3/4
6/6 0/4 3/3

b b b

v4 v5 v6

2. Considere el siguiente grafo ponderado:


15

v1 v2 v3
b b b

3
4
6 4 3

b b b

v4 5 v5 6 v6

Realice las siguientes actividades:

a) Utilice el algoritmo de Dijkstra (indicando el paso a paso) para determinar la distancia entre v1 y v6 .
(2.0pt)

b) Al terminar el algoritmo, ¿qué otras distancias quedan ya determinadas con certeza? (0.5pt)

Solución.

a) En las líneas de la 1 a la 5, se tiene

T = (0, ∞, ∞, ∞, ∞, ∞),
L = { v1 , v2 , v3 , v4 , v5 , v6 }.

Entramos al ciclo while de la línea 8 (v6 ∈ T):


• Paso 1: Tomo v = v1 (línea 9 y línea 10):

T = { v2 , v3 , v4 , v5 , v6 }

con esto (líneas 11 y 12):


L = {0, ∞, 15, 6, 4, ∞}.

Como v6 ∈ T, repito el ciclo.


• Paso 2: Tomo v = v5 (línea 9 y línea 10):

T = { v2 , v3 , v4 , v6 },

con esto (líneas 11 y 12):


L = (0, 8, 15, 6, 4, 10).

Como v6 ∈ T, repito el ciclo.


• Paso 3: Tomo v = v4 (línea 9 y línea 10):

T = { v2 , v3 , v6 },

con esto (líneas 11 y 12):


L = (0, 8, 15, 6, 4, 10).

Como v6 ∈ T, repito el ciclo.

2
• Paso 4: Tomo v = v2 (línea 9 y línea 10):

T = { v3 , v6 },

con esto (líneas 11 y 12):


L = (0, 8, 11, 6, 4, 10).

Como v6 ∈ T, repito el ciclo.


• Paso 5: Tomo v = v6 (línea 9 y línea 10):

T = { v3 },

con esto (líneas 11 y 12):


L = (0, 8, 11, 6, 4, 10).

Como v6 ∈
/ T, termino el ciclo.
Con esto, tenemos que la distancia de v1 a v6 es 10.
b) Como T = {v3 }, se tiene con certeza las distancias de v1 a v1 , v2 , v4 , v5 , v6 ; es decir, a todas menos a
v3 .

3. Considere el grafo del ejercicio anterior (no tome en cuenta los pesos), realice las siguientes actividades:

a) Utilice el algoritmo BFS (tal como se vio en clase) para determinar un árbol de expansión con raíz
en v6 (indique detenidamente el paso a paso, tome siempre los vértices en orden del subíndice).
(2.0pt)

b) Dibuje el árbol de expansión que se obtiene. (0.5pt)

Solución.

a) El paso inicial (línea 2 y 3) tenemos:

Q = ( v6 ), M = { v6 } y T = ∅.

Para el ciclo «mientras Q 6= ()» (línea 4):


• Paso 1. Tomamos (línea 5 y 6):
u = v6 , Q = ().

Ahora, iteramos w sobre G [u] = {v3 , v5 } (línea 7):


– Para w = v3 , como v3 6∈ M (línea 8), ejecutamos las líneas 9 y 10, con lo que obtenemos

Q = ( v3 ), M = { v6 , v3 } y T = {(v3 , v6 )}.

– Para w = v5 , como v5 6∈ M (línea 8), ejecutamos las líneas 9 y 10, con lo que obtenemos

Q = ( v5 , v3 ), M = { v6 , v3 , v5 } y T = {(v3 , v6 ), (v5 , v6 )}.

Como Q 6= (), repito el ciclo.


• Paso 2. Tomamos (línea 5 y 6):
u = v3 , Q = ( v5 ).

Ahora, iteramos w sobre G [u] = {v1 , v2 } (línea 7):


– Para w = v1 , como v1 6∈ M (línea 8), ejecutamos las líneas 9 y 10, con lo que obtenemos

Q = ( v1 , v5 ), M = { v6 , v3 , v5 } y

T = {(v3 , v6 ), (v5 , v6 ), (v1 , v3 )}.

3
– Para w = v2 , como v2 6∈ M (línea 8), ejecutamos las líneas 9 y 10, con lo que obtenemos

Q = ( v2 , v1 , v5 ), M = { v6 , v3 , v5 , v2 } y

T = {(v3 , v6 ), (v5 , v6 ), (v1 , v3 ), (v2 , v3 )}.

Como Q 6= (), repito el ciclo.


• Paso 3. Tomamos (línea 5 y 6):
u = v5 , Q = ( v2 , v1 ).

Ahora, iteramos w sobre G [u] = {v2 , v4 } (línea 7):


– Para w = v2 , como v2 ∈ M (línea 8), no ejecutamos las líneas 9 y 10.
– Para w = v4 , como v4 6∈ M (línea 8), ejecutamos las líneas 9 y 10, con lo que obtenemos

Q = ( v4 , v2 , v1 ), M = { v6 , v3 , v5 , v2 , v4 } y

T = {(v3 , v6 ), (v5 , v6 ), (v1 , v3 ), (v2 , v3 ), (v4 , v5 )}.

Como Q 6= (), repito el ciclo.


• Paso 4. Tomamos (línea 5 y 6):
u = v1 , Q = ( v4 , v2 ).

Ahora, iteramos w sobre G [u] = {v3 , v4 , v5 } (línea 7):


– Para w = v3 , como v3 ∈ M (línea 8), no ejecutamos las líneas 9 y 10.
– Para w = v4 , como v4 ∈ M (línea 8), no ejecutamos las líneas 9 y 10.
– Para w = v5 , como v5 ∈ M (línea 8), no ejecutamos las líneas 9 y 10.
Como Q 6= (), repito el ciclo.
• Paso 5. Tomamos (línea 5 y 6):
u = v2 , Q = ( v4 ).

Ahora, iteramos w sobre G [u] = {v3 , v5 } (línea 7):


– Para w = v3 , como v3 ∈ M (línea 8), no ejecutamos las líneas 9 y 10.
– Para w = v5 , como v5 ∈ M (línea 8), no ejecutamos las líneas 9 y 10.
Como Q 6= (), repito el ciclo.
• Paso 6. Tomamos (línea 5 y 6):
u = v4 , Q = ∅.

Ahora, iteramos w sobre G [u] = {v1 , v5 } (línea 7):


– Para w = v1 , como v1 ∈ M (línea 8), no ejecutamos las líneas 9 y 10.
– Para w = v5 , como v5 ∈ M (línea 8), no ejecutamos las líneas 9 y 10.
Como Q = (), salgo del ciclo.
Con esto, termina el algoritmo.
b) El árbol es
T = {(v3 , v6 ), (v5 , v6 ), (v1 , v3 ), (v2 , v3 ), (v4 , v5 )}.

v6
b

v3 v5 v1 v2 v3
b b b b b

v1 v2 v4
b b b

b b b

v4 v5 v6

4
4. Seleccione la respuesta correcta:

4.1 En un grafo ponderado, su matriz de distancias es simétrica (0.5pt)

a) siempre.
b) no siempre, solo a veces.
4.2 El algoritmo de Dijkstra, en el peor de los casos, es de orden (0.5pt)

a) O(n).
b) O(n2 ).
c) O(n3 ).
4.3 En un mismo grafo, los algoritmos DFS y BFS generan árboles diferentes (0.5pt)

a) siempre.
b) no siempre, solo a veces.
4.4 ¿A qué vértices se les dice fuente? ¿A qué vértices se les llama sumidero? (0.5pt)

4.5 ¿Cuál es la definición de árbol? (0.5pt)

Solución.

a) La opción correcta es a.
b) La opción correcta es b.
c) La opción correcta es b.
d) Dados un grafo dirigido G = (V, A) y v ∈ V, si grads (v) = 0, se dice que v es un sumidero, y si
grade (v) = 0, se dice que v es una fuente.
e) Un árbol es un grafo conexo sin ciclos.

5
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • E XAMEN F INAL

Semestre 2022-1 Mat. Andrés Merino

1. Se tiene un programa que imprime una letra del idioma español (27 le-
tras). ¿Cuántas veces se debe correr el programa para garantizar que este
imprime una misma letra 40 veces? (2.5pt)

2. Considere la siguiente función:


1 def f (n) :
2 x = 1
3 i f n==0:
4 return x
5 e l i f n==1:
6 x = ( x − 2) ∗x
7 x = x ∗ 3
8 return x
9 else :
10 a = f ( n−1)
11 b = f ( n−1)
12 c = f ( n−2)
13 r e t u r n f ( n−2)

¿Cuál es el resultado de f (3)? Por otro lado, realice el análisis de la com-


plejidad computacional de la función, obteniendo una expresión explí-
cita, e indique su orden. Contabilice únicamente las operaciones (no las
comparaciones ni asignaciones) e ignore las operaciones de resta en las
líneas 10 a 13. (2.5pt)

3. De cuántas formas se pueden formar $1.00 si se tienen dos monedas de


$0.05, cinco de $0.10 y cuatro de $0.25. Utilice funciones generadoras para
resolver el problema. (2.5pt)

4. Un casino te contrata para generar un programa que controle una máqui-


na para el siguiente juego: Se genera un número aleatorio entre 1 y 10,
si el número es par, el jugador gana $1, pero si el número sale impar, el
jugador pierde $1. Como el casino siempre quiere ganar, pero no quiere
ser tan obvio, te pide que «truques» la máquina con la siguiente directiva:
los números primos deben ser el doble de probables que los no primos.

1
Utilizando el concepto de valor esperado, ¿cuánto ganará en promedio el
casino? (2.5pt)

2
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • S. I.

Semestre 2022-1 Mat. Andrés Merino

1. F UNDAMENTOS DE COMBINATORIA

D EFINICIÓN 1
Dado un conjunto finito A, la cardinalidad de A, denotada por | A|, es el nú-
mero de elementos que tiene el conjunto.

T EOREMA 1: Principio de multiplicación


Supongamos que una tarea se puede dividir en dos tareas consecutivas inde-
pendientes (es decir, que la realización de una de ellas no influye en la realiza-
ción de la otra). Si la primera tarea se puede realizar de n1 maneras distintas
y la segunda tarea se puede realizar de n2 maneras distintas, entonces la tarea
considerada inicialmente se puede realizar de n1 · n2 formas distintas.

De manera general, si una tarea se puede dividir en m tareas independien-


tes y cada tarea i se puede realizar de ni maneras distintas, entonces la tarea
o considerada inicialmente se puede realizar de n · n · · · · · n maneras dis-
1 2 m
tintas.

T EOREMA 2: Principio de multiplicación generalizado


Dados A1 , A2 , . . . , An conjuntos finitos, entonces

| A1 × A2 × · · · × A n | = | A1 | · | A2 | · · · | A n |.

T EOREMA 3: Principio de adición


Si una tarea se puede realizar de n1 maneras y una segunda tarea se puede
realizar de n2 maneras, y si no se puede realizar las dos a la vez, entonces hay
n1 + n2 maneras de realizar alguna de ellas.

Si se tiene m tareas, donde cada tarea i se puede realizar de ni maneras


o distintas, y ningún par de tareas se puede realizar a la vez, entonces hay
n1 + n2 + · · · + nm maneras de realizar alguna de ellas.

1
Mat. Andrés Merino S. I.

T EOREMA 4: Principio de adición generalizado


Dados A1 , A2 , . . . , An conjuntos finitos, disjuntos dos a dos, entonces

[n n
Ai = ∑ | Ai |.

i =1
i =1

T EOREMA 5
Dados A1 , A2 conjuntos finitos tales que A1 ⊆ A2 , entonces

| A2 r A1 | = | A2 | − | A1 |.

T EOREMA 6: Principio de inclusión-exclusión


Dados A1 , A2 conjuntos finitos, entonces

| A1 ∪ A2 | = | A1 | + | A2 | − | A1 ∩ A2 |.

T EOREMA 7: Principio de inclusión-exclusión generalizado


Dados A1 , A2 , . . . , An conjuntos finitos, entonces

[n n
Ai = ∑ | Ai | − ∑ Ai ∩ A j

i =1 1≤ i < j ≤ n
i =1

Ai ∩ A j ∩ Ak − · · · + (−1)n+1 | A1 ∩ · · · ∩ An | .

+ ∑
1≤ i < j < k ≤ n

2. P RINCIPIO DEL PALOMAR

T EOREMA 8: Principio del palomar


Si se busca distribuir k + 1 objetos en k cajas, existe al menos una caja que
contiene al menos dos objetos.

T EOREMA 9: Principio del palomar generalizado


Si se busca distribuir
l m N objetos en k cajas, existe al menos una caja que contie-
ne al menos Nk objetos.

2
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • H OJA DE RESUMEN N O . 2

Semestre 2022-1 Mat. Andrés Merino

1. P ERMUTACIONES Y COMBINACIONES

D EFINICIÓN 1: Permutación
Dado un conjunto A, una permutación de los elementos de A es una función
f : A → A biyectiva.

Dado un A un conjunto no vacío, una permutación de los elementos de A


o es un reordenamiento de los mismos.

T EOREMA 1
Dado un conjunto finito A con | A| = n, el número de permutaciones de ele-
mentos de A es n!.

D EFINICIÓN 2: r −Permutación
Dado un conjunto A, una r −permutación elementos de A es cualquier fun-
ción biyectiva f : B → B con B ⊆ A tal que | B| = r.

Dado un conjunto A, una r −permutación elementos de A es un ordena-


o miento de r elementos distintos de A.

Al número de r −permutaciones de elementos de un conjunto A de n ele-


o mentos lo denotaremos por P(n, r) y se leerá como el número de permutacio-
nes de elementos de A tomados de r en r.

O BSERVACIÓN . Se tiene que P(n, n) = n!.


T EOREMA 2
Dado un conjunto A con | A| = n, se tiene que

n!
P(n, r ) = n(n − 1)(n − 2) · · · (n − r + 1) = .
(n − r )!

D EFINICIÓN 3
Dado un conjunto A con | A| = n, una r −combinación de elementos de A es
cualquier subconjunto B de A con | B| = r.

O BSERVACIÓN . Al número de r −combinaciones de elementos de un conjunto A

1
Mat. Andrés Merino Hoja de resumen No. 2

con n elementos lo denotaremos por C (n, r ) = (nr).

T EOREMA 3
Se tiene que

P(n, r ) n(n − 1)(n − 2) · · · (n − r + 1) n!


C (n, r ) = = = .
r! r! (n − r )!r!

2. C OEFICIENTES BINOMIALES

T EOREMA 4: Teorema del binomio


Dados a, b ∈ R y n ∈ N, se tiene que

n
( a + b)n = ∑ C(n, k)an−k bk .
k =0

Ejemplos 6.7.2-6.7.5 en Johnsonbaugh.


T EOREMA 5
Dados n, k ∈ N con k ≤ n, se tiene que

C (n + 1, k ) = C (n, k − 1) + C (n, k ).

3. A LGORITMOS PARA GENERAR PERMUTACIONES Y


COMBINACIONES

D EFINICIÓN 4
Sean α = s1 s2 · · · s p y β = t1 t2 · · · tq . Se dice que α es menor que β (α < β), en
el orden lexicográfico, si
1. p < q y si, para todo i ∈ {1, . . . , n}, se tiene que si = ti ; o

2. Existe i ∈ {1, . . . , n} tal que si 6= ti y para el menor valor de i que cumple


con lo anterior, se tiene que si < ti .

Para cadenas de igual longitud en el conjunto {1, 2, . . . , n}, el orden lexico-


o gráfico es el mismo que el orden usual en R.

2
Hoja de resumen No. 2 Mat. Andrés Merino

Una r −combinación { x1 , x2 . . . , xr }, se representará como una cadena s1 s2 · · · sr ,


donde s1 < s2 < · · · < sr y { x1 , x2 . . . , xr } = {s1 , s2 . . . , sr }. Es decir, que la
o
cadena que representa a la r −combinación está formada por los elementos
de la combinación ubicados en orden creciente.

Dado el conjunto A = {1, 2 . . . , n}, si consideramos el orden lexicográfico


o para las r −combinaciones de A, se tiene que la primera r −combinación es
12 · · · n y la última será (n − r + 1)(n − r + 2) · · · (n − 2)(n − 1)(n).

3.1 Generación de r −combinaciones

A continuación se presenta el código en Python para la generación de todas las


r −combinaciones de un conjunto de n elementos listadas en orden lexicográfico.
1 f r o m math i m p o r t comb
2 def Combinaciones ( r , n) :
3 s = [0]∗ r
4 f o r i i n r a n g e ( r ) : #g e n e r a m o s l a p r i m e r a r−c o m b i n a c i ó n
5 s [ i ] = i +1
6 print (s)
7
8 for i i n r a n g e ( 2 , comb ( n , r ) + 1 ) : #g e n e r a m o s l a s ց
c o m b i n a c i o n e s que r e s t a n en o r d e n l e x i c o g r á f i c o
9 m = r − 1
¥ 10 val_max = n
11 w h i l e ( s [m] = = val_max ) : #buscamos e l p r i m e r d í g i t o , ց
d e s d e l a d e r e c h a , que no h a y a a l c a n z a d o s u v a l o r má ց
ximo
12 m = m − 1
13 val_max = val_max − 1
14 s [m] = s [m] + 1 #i n c r e m e n t a m o s en 1 e l m−é s i m o d í g t o
15 f o r j i n r a n g e ( m + 1 , r ) : #c o n s t r u i m o s e l r e s t o de l a ց
cadena
16 s [ j ] = s [ j −1] + 1
17 print (s)

3.2 Generación de permutaciones

Para motivar la lógica del algoritmo, usar el ejemplo 6.3.12 de Johnsonbaugh.


A continuación se presenta el algoritmo para generar todas las permutaciones
de un conjunto de n elementos.
1 f r o m math i m p o r t factorial
2
3 def permutaciones (n) :
¥ 4 s = [0]∗n
5 f o r i i n r a n g e ( n ) : #g e n e r a m o s l a p r i m e r a p e r m u t a c i ó n
6 s [ i ] = i +1
7 print (s)
8

3
Mat. Andrés Merino Hoja de resumen No. 2

9 for i i n r a n g e ( 1 , f a c t o r i a l ( n ) ) : #g e n e r a m o s l a s ց
p e r m u t a c i o n e s r e s t a n t e s en o r d e n l e x i c o g r á f i c o
10 m = n−2
11 w h i l e ( s [m] > s [m+1]) : #buscamos e l p r i m e r i n c r e m e n t o ց
desde l a derecha
12 m = m−1
13 k = n−1
14 w h i l e ( s [m] > s [ k ] ) : #buscamos e l p r i m e r e l e m e n t o , d e s d e ց
l a d e r e c h a , que s e a mayor que s [m]
15 k = k−1
¥ 16 s [m] , s [ k ] = s [ k ] , s [m] #i n t e r c a m b i a m o s l a s p o s i c i o n e s de s [ ց
m] y s [ k ]
17 p = m+1
18 q = n−1
19 w h i l e ( p < q ) : #tomamos l a c a d e n a d e s d e l a p o s i c i ó n m+1 ց
hasta e l f i n a l y la invertimos
20 s [p] , s [q] = s [q] , s [p]
21 p = p+1
22 q = q−1
23 print (s)

4
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • H OJA DE RESUMEN N O . 3

Semestre 2022-1 Mat. Andrés Merino

1. P ERMUTACIONES Y COMBINACIONES GENERALIZADAS

T EOREMA 1
Dada una colección con n objetos de m tipos distintos, donde hay ni objetos
idénticos de cada tipo i, el número de ordenamientos de la colección es

n!
.
n1 !n2 ! · · · nm !

T EOREMA 2
Dado un conjunto con k elementos, el número de selecciones no ordenadas de
t elementos de A, con repeticiones, es

C (k + t − 1, k ).

T EOREMA 3
Dado un conjunto con n elementos, el número de maneras de separar estos
elementos en k grupos, sin considerar el orden, es

C (n + k − 1, k − 1).

En resumen, tenemos la siguiente tabla:

Sin repetición Con repetición


n!
Selecciones ordenadas n!
n1 ! · · · n m !

Selecciones no ordenadas C (n, r ) C (k + t − 1, k )

1
Mat. Andrés Merino Hoja de resumen No. 3

2. R ELACIONES DE RECURRENCIA

D EFINICIÓN 1
Dada una sucesión ( xn )n∈N definida recursivamente, a la ecuación que rela-
ciona al término xn con sus predecesores, se la denomina relación de recurrencia
de la sucesión ( xn )n∈N . Si, de manera explícita, se especifica una cantidad fi-
nita de términos de la sucesión, diremos que estos valores son las condiciones
iniciales de la sucesión.

D EFINICIÓN 2
Dada una relación de recurrencia, resolver tal relación consiste en encontrar
una fórmula explícita para el n−ésimo término de la sucesión, es decir, con-
siste en hallar una fórmula no recursiva para dicho término.

D EFINICIÓN 3
Una relación de recurrencia homogénea lineal de orden k con coeficientes
constantes es una relación de recurrencia de la forma

a n = c 1 a n − a + c 2 a n −2 + · · · + c k a n − k ,

don ck 6= 0.

Una relación de recurrencia homogénea lineal de orden k con coeficientes


constantes junto con k condiciones iniciales

o a0 = C0 , a1 = C1 , , . . . , ak−1 = Ck−1 ,

define de manera única una sucesión ( an )n∈N .

2
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • H OJA DE RESUMEN N O . 4

Semestre 2022-1 Mat. Andrés Merino

D EFINICIÓN 1
Función de Ackermann Se define la función de Ackermann de manera recur-
siva de la siguiente manera:

A(0, n) = n + 1, m ∈ N;
A(m, 0) = A(m − 1, 1) m ≥ 1;
A(m, 0) = A(m − 1, A(m, n − 1)) m≥1 ∧ n ≥ 1.

T EOREMA 1
Dada la relación de recurrencia homogénea lineal de segundo orden con co-
eficientes constantes
a n = c 1 a n −1 + c 2 a n −2 ,

se tiene que:
1. Si (Sn )n∈N y ( Tn )n∈N son soluciones de la relación, entonces (U )n∈N =
(bSn + dTn )n∈N , con b, d ∈ R, también es solución de la relación.

2. Si r es una raíz de t2 − c1 t − c2 = 0, entonces la sucesión (r n )n∈N es una


solución de la relación.

3. Si a0 = C0 y a1 = C1 , y r1 y r2 son raíces distintas de t2 − c1 t − c2 = 0,


entonces existen constantes b y d tales que, para todo n ∈ N,

an = br1n + dr2n

T EOREMA 2
Dada la relación de recurrencia homogénea lineal de segundo orden con co-
eficientes constantes
a n = c 1 a n −1 + c 2 a n −2 ,

y las condiciones iniciales a0 = C0 y a1 = C1 , se tiene que, si las raíces de


t2 − c1 t − c2 = 0 son iguales a r, entonces existen constantes b y d tales que

an = br n + dnr n

1
Mat. Andrés Merino Hoja de resumen No. 4

para todo n ∈ N.

D EFINICIÓN 2
Dada una sucesión ( an )n∈N , se define la sucesión de sumas parciales por

s0 = a0 ,
s n = s n −1 + a n , n ≥ 0.

De aquí, se tiene que


n
sn = ∑ ak .
k =0

P ROPOSICIÓN 3. Sean n ∈ N y r ∈ R + .

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

• ∑k= ; • ∑k 3
= .
k =0
2 2
k =0
n
n(n + 1)(2n + 1)
• ∑ k2 = 6
;
k =0

2
Hoja de resumen No. 4 Mat. Andrés Merino

1. A PLICACIONES AL ANÁLISIS DE ALGORITMOS

1.1 Ordenamiento por selección

La siguiente implementación ordena una lista s dada.


1 def ordenar ( s ) :
2 n = len ( s )
3 # s i l a l i s t a t i e n e s o l o un e l e m e n t o , ya e s t á o r d e n a d a
4 i f n == 1 :
5 return s
6 # c a s o c o n t r a r i o , c o l o c a m o s e l e l e m e n t o má ximo a l f i n a l
7 else :
8 # i n d i c e donde s e e n c u e n t r a e l má ximo
9 m = 0
10 # buscamos e l má ximo
11 f o r i in range ( 2 , n ) :
¥ 12 # s i s e e n c u e t r a un e l e m e n t o má s g r a n d e , a c t u a l i z a m o ց
el í ndice
13 i f s [ i ] > s [m ] :
14 m = i
15 # c o l o c a m o s e l e l e m e n t o má s g r a n d e a l f i n a l
16 s [m] , s [ n −1] = s [ n − 1 ] , s [m]
17 # ordenamos l a l i s t a s i n e l ú l t i m o elemento
18 t = ordenar ( s [: −1])
19 # añ adimos e l ú l t i m o elemento
20 t . append ( s [ n −1])
21 return t

2. F UNCIONES GENERATRICES

D EFINICIÓN 3
Dada una sucesión ( an )n∈N , a la serie formal


G ( x ) = a0 + a1 x + a2 x 2 + · · · = ∑ an x n
k =0

se la llama función generatriz de la sucesión.

3
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • H OJA DE RESUMEN N O . 5

Semestre 2022-1 Mat. Andrés Merino

1. N ÚMEROS PSEUDOALEATORIOSOS

D EFINICIÓN 1: Método de congruencia lineal


Dados a, c, m, s ∈ N tales que

2 ≤ a < m, c<m y s<m

La sucesión definida por

x0 = s,
xn = ( axn−1 + c) mód m

es una sucesión de número pseudoaleatorios. Al valor de s se lo conoce como


la semilla.

Se suele utilizar
• m = 231 − 1
o
• a = 75

• c=0

2. T EORÍA DE LA PROBABILIDAD

D EFINICIÓN 2: Espacio muestral


Un conjunto Ω se dice que es un espacio muestral si está formado por todos
los resultados posibles de un experimento aleatorio.

D EFINICIÓN 3: Suceso
Sea Ω el espacio muestral de experimento aleatorio y S ⊆ Ω. Se dice que S es
un suceso o un evento del experimento aleatorio.

1
Mat. Andrés Merino Hoja de resumen No. 5

D EFINICIÓN 4: Probabilidad de un suceso


Dado Ω el espacio muestral finito de un experimento donde todos los resul-
tados tienen igual probabilidad y S un suceso. La probabilidad de S se define
como:
|S|
P (S) = ,
|Ω|
donde,
• P (S): probabilidad de S,

• |Ω|: número de elementos de Ω y

• |S|: número de elementos de S.

T EOREMA 1: Complemento
Sea S un suceso del espacio muestral finito Ω, la probabilidad del comple-
mento de S, Sc , está dado por

P ( S c ) = 1 − P ( S ).

T EOREMA 2: Unión
Sean S1 , S2 dos sucesos del espacio muestral finito Ω, entonces

P ( S1 ∪ S2 ) = P ( S1 ) + P ( S2 ) − P ( S1 ∩ S2 ) .

D EFINICIÓN 5: Axiomas de la probabilidad


Sea Ω un espacio muestral. Una función de probabilidad es una función del
conjunto de todos los eventos al intervalo [0, 1] que satisface que
• P (Ω) = 0 y

• si A y B son conjuntos disjuntos, entonces P ( A ∪ B) = P ( A) + P ( B).

T EOREMA 3
Sea Ω un espacio muestral finito, P una función de probabilidad y S un suce-
so. Se tiene que
P (S) = ∑ P ({ω }).
ω ∈S

2
Hoja de resumen No. 5 Mat. Andrés Merino

3. VARIABLE ALEATORIA

D EFINICIÓN 6: Variables aleatorias


A una función que asigna a cada elemento del espacio muestral un número
real, se la conoce como variable aleatoria.

D EFINICIÓN 7
Dado un espacio muestral Ω, una función de probabilidad P y una variable
aleatoria X : Ω → R, se define la probabilidad de que X valga r por

P ( X = r ) = P ({ω ∈ Ω : X (ω ) = r }).

T EOREMA 4
Dado un espacio muestral finito Ω, una función de probabilidad P y una va-
riable aleatoria X : Ω → R, se tiene que

P(X = r) = ∑ P ({ω }).


ω ∈Ω
X (ω )=r

4. VALOR ESPERADO

D EFINICIÓN 8
Dado un espacio muestral finito Ω, una función de probabilidad P y una va-
riable aleatoria X : Ω → R, el valor esperado (o esperanza) de X es

E(X) = ∑ P ({ω }) · X (ω ).
ω ∈Ω

Cuando el espacio muestral Ω tiene n elementos, es decir,

Ω = { x1 , x2 , x3 , . . . , x n },

o el valor esperado se expresa como


n
E(X) = ∑ P({ xi }) · X (xi ).
i =1

3
Mat. Andrés Merino Hoja de resumen No. 5

T EOREMA 5
Dado un espacio muestral finito Ω, una función de probabilidad P y una va-
riable aleatoria X : Ω → R, se tiene que

E(X) = ∑ r · P ( X = r ).
r ∈ X (Ω)

T EOREMA 6: Complejidad computacional


Sean a j , con j ∈ {1, 2, · · · , n} las posibles entradas de un algoritmo y sea X
la variable aleatoria que asigna a cada a j el número de operaciones realizadas
por el algoritmo cuando este tiene como entrada a a j . Entonces la complejidad
media del algoritmo es

n
E(X) = ∑ P({a j }) · X (a j ).
j =1

4
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • H OJA DE RESUMEN N O . 6

Semestre 2022-1 Mat. Andrés Merino

1. G RAFOS

D EFINICIÓN 1: Grafo
Sean V un conjunto finito y A un subconjunto de pares no ordenados de V.
Se dice que G = (V, A) es un grafo, al conjunto V se lo denomina vértices
de grafo y al conjunto A se lo denomina aristas del grafo. Para e ∈ A, si
e = {u, v}, con u, v ∈ V, se dice que la arista e une el vértice u con el vértice v.

D EFINICIÓN 2: Vértices adyacentes


Sean G = (V, A) un grafo y u, v ∈ V. Se dice que u y v son adyacentes en G si
existe e ∈ A tal que e une u con v.

D EFINICIÓN 3: Grade de un vértice


Sea G = (V, A) un grafo. Para u ∈ V, se define el grado de u, denotado por
grad(u), por el número de aristas en A que contienen a u como uno de sus
extremos (en caso de que existan lazos, estos cuentan por dos).

D EFINICIÓN 4: Grafo dirigido


Sean V un conjunto finito y A un subconjunto de pares ordenados de V. Se
dice que G = (V, A) es un grafo dirigido o digrafo, al conjunto V se lo deno-
mina vértices de grafo y al conjunto A se lo denomina arcos del grafo. Para
e ∈ A, si e = (u, v), con u, v ∈ V, se dice que el arco e empieza en el vértice u
y termina en el vértice v.

Sean G = (V, A) un grafo dirigido y u ∈ V. Se denota por suc(u) al con-


junto de todos los sucesores de u, es decir,
o
suc(u) = {v ∈ V : (u, v) ∈ V }.

D EFINICIÓN 5: Grado de entrada y salida


Sea G = (V, A) un grafo dirigido. Para u ∈ V, se define el grado de salida
de u, denotado por grads (u), por el número de aristas en A que contienen a
u como su extremo inicial. De manera similar, se define el grado de entrada
de u, denotado por grade (u), por el número de aristas en A que contienen a u
como su extremo final.

1
Mat. Andrés Merino Hoja de resumen No. 6

Dados un grafo dirigido G = (V, A) y v ∈ V, si grads (v) = 0, se dice que v


o es un sumidero, y si grad (v) = 0, se dice que v es una fuente.
e

D EFINICIÓN 6: Camino
Sean G = (V, A) un grafo y a, b ∈ V. Un camino entre a y b es una secuencia

C = ( v 0 , e1 , v 1 , e2 , v 2 , . . . , e n −1 , v n −1 , e n , v n )

tal que v0 , v1 , . . . , vn ∈ V, e1 , . . . , en ∈ A, v0 = a, vn = b y para todo k ∈


{1, 2, . . . , n}, ek conecta vk−1 con vk . Al número de aristas que contiene el ca-
mino se lo denomina longitud del camino y se lo denota por long(C ).

Dados G = (V, A) un grafo, a, b ∈ V y α un camino entre a y b, a α también


o se lo representará únicamente por sus aristas.

D EFINICIÓN 7: Camino cerrado o circuito


Sean G un grafo y α un camino en G. Se dice que α es cerrado o que es un
circuito si su vértice inicial y final coinciden.

D EFINICIÓN 8: Camino simple


Sean G un grafo y α un camino en G. Se dice que α es simple si todos sus
vértices son diferentes.

D EFINICIÓN 9: Recorrido
Sean G un grafo y α un camino en G. Se dice que α es un recorrido si todas
sus aristas son diferentes.

D EFINICIÓN 10: Circuito simple


Sean G un grafo y α un circuito en G. Se dice que α es un circuito si es un
recorrido.

D EFINICIÓN 11: Ciclo


Sean G un grafo y α un camino en G. Se dice que α es un ciclo si todos sus
vértices son diferentes menos el primero y último que son iguales. Un ciclo
de longitud k se denomina un k-ciclo.

D EFINICIÓN 12: Grafo conexo


Sea G = (V, A) un grafo. Se dice que G es conexo si para todo u, v ∈ V, existe
un camino entre u y v.

2
Hoja de resumen No. 6 Mat. Andrés Merino

D EFINICIÓN 13: Vértices conectados


Sean G = (V, A) un grafo y u, v ∈ V. Se dice que u y v están conectados si
existe un camino entre u y v.

D EFINICIÓN 14: Distancia entre vértices


Sean G = (V, A) un grafo conexo y u, v ∈ V. Se define la distancia de u a v
por
d(u, v) = mı́n{long(C ) : C es un camino entre u y v}.

D EFINICIÓN 15: Diámetro de un grafo


Sea G = (V, A) un grafo conexo. El diámetro de G se define por

diam( G ) = máx{d(u, v) : u, v ∈ V }.

2. F LUJO SOBRE GRAFOS

D EFINICIÓN 16: Grafos ponderados


Sean G = (V, A) un grafo y p : A → [0, +∞[. A p se la llama función de pesos
o de ponderaciones del grafo G. A

∑ p(e)
e∈ A

se lo denomina peso del grafo. Al grafo ponderado se lo denota por (V, A, p)

D EFINICIÓN 17: Peso de un camino


Sean G un grafo, p una función de pesos de G y C un subgrafo de G o un
camino en G. El peso de C se define por

∑ p ( e ),
e∈ B

donde B es el conjunto de aristas de C.

D EFINICIÓN 18: Red de transporte


Sean G = (V, A, c) un grafo dirigido ponderado. Se dice que es una red de
transporte si tiene una sola fuente y un solo sumidero. Al peso de cada arista
se lo conoce como capacidad de la arista.

3
Mat. Andrés Merino Hoja de resumen No. 6

D EFINICIÓN 19: Flujo


Sea G = (V, A, c) una red de transporte. Un flujo sobre la red es una función
f : A → [0, +∞[ tal que
• f (u, v) ≤ c(u, v) para todo (u, v) ∈ A,

• para todo vértice u que no es fuente ni sumidero, se tiene que

∑ f (v, u) = ∑ f (u, w).


(v,u)∈ A (u,x )∈ A

T EOREMA 1
Sean G = (V, A, c) una red de transporte y f un flujo sobre la red. Si a es la
fuente de la red y z el sumidero, entonces se tiene que

∑ f ( a, v) = ∑ f (u, z).
( a,v)∈ A (u,z)∈ A

T EOREMA 2
Sean G = (V, A, c) una red de transporte, f un flujo sobre la red y a la fuente
de la red. El valor de
∑ f (a, v)
( a,v)∈ A

se lo llama valor del flujo f .

4
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • H OJA DE RESUMEN N O . 7

Semestre 2022-1 Mat. Andrés Merino

1. G ENERACIÓN DE ÁRBOLES DE EXPANSIÓN


La generación de árboles de expansión está ligada a algunos algoritmos de
búsqueda sobre un grafo. Analizaremos estos algoritmos y su implementación
para la generación de árboles de expansión.
La búsqueda sobre un grafo se refiere a un mecanismo para visitar cada vértice
de un grafo de una manera secuencial.

1.1 Búsqueda en anchura

A continuación presentamos el algoritmo de búsqueda en anchura (BFS por


sus siglas en inglés Breadth First Search), el cual tiene como objetivo ir marcando
cada vértice visitado (incluirlo en un conjunto).
Dados G = (V, A) un grafo y v ∈ V, el pseudocodigo para búsqueda en an-
chura es:
1 Función BFS(G,v):
2 Q := (v) /* Vértices que se visitarán */
3 M := {v} /* Vértices ya visitados */
4 mientras Q 6= ∅ hacer
5 u := Ultimo(Q) /* Vértice actual */
3 6 Q := SinUltimo(Q)
7 para w ∈ V [u] hacer
8 si w 6∈ M entonces
9 M := M ∪ {w}
10 Q := Concatenar(w,Q)

El código en Python para la función que realiza búsqueda en anchura es:


1 d e f BFS (G , v ) :
2 Q = [v]
3 M = {v}
4 w h i l e Q != [ ] :
5 u = Q[ −1]
¥ 6 Q = Q[ : − 1 ]
7 f o r w in G[ u ] :
8 i f w n o t i n M:
9 M. add (w)
10 Q . i n s e r t ( 0 ,w)

1
Mat. Andrés Merino Hoja de resumen No. 7

Con esto, podemos generar un árbol de expansión marcando cada arista que
vamos recorriendo en el algoritmo BFS.
Dados G = (V, A) un grafo y v ∈ V, el pseudocodigo para la función que
devuelve un árbol de expansión de G con raíz en v utilizando BFS es:

1 Función ArbolExpansionBFS(G,v):
2 Q := (v) /* Vértices que se visitarán */
3 M := {v} /* Vértices ya visitados */
4 T := ∅ /* Aristas del árbol resultante */
5 mientras Q 6= ∅ hacer
6 u := Ultimo(Q) /* Vértice actual */
7 Q := SinUltimo(Q)
3 8 para w ∈ V [u] hacer
9 si w 6∈ M entonces
10 M := M ∪ {w}
11 T := T ∪ {{w, u}}
12 Q := Concatenar(w,Q)

13 devolver (M,T)

1.2 Búsqueda en profundidad

A continuación presentamos el algoritmo de búsqueda en profundidad (DFS


por sus siglas en inglés Deep First Search), el cual tiene como objetivo ir marcando
cada vértice visitado (incluirlo en un conjunto).
Dados G = (V, A) un grafo y v ∈ V, el pseudocodigo para búsqueda en pro-
fundidad es:
1 Función DFS(G,v):
2 Q := (v) /* Vértices que se visitarán */
3 M := {v} /* Vértices ya visitados */
4 mientras Q 6= ∅ hacer
5 u := Ultimo(Q) /* Vértice actual */
6 si V [u] ⊆ M entonces
7 Q := SinUltimo(Q)
3 8 en otro caso
9 para w ∈ V [u] hacer
10 si w 6∈ M entonces
11 M := M ∪ {w}
12 Q := Concatenar(Q,w)
13 Salir;

El código en Python para la función que realiza búsqueda en anchura es:

2
Hoja de resumen No. 7 Mat. Andrés Merino

1 d e f DFS (G , v ) :
2 Q = [v]
3 M = {v}
4 w h i l e Q != [ ] :
5 u = Q[ −1]
6 i f a l l ( a in M f o r a in G[ u ] ) :
¥ 7 Q = Q[ : − 1 ]
8 else :
9 f o r w in G[ u ] :
10 i f w n o t i n M:
11 M. add (w)
12 Q . append (w)
13 break

Con esto, podemos generar un árbol de expansión marcando cada arista que
vamos recorriendo en el algoritmo DFS.
Dados G = (V, A) un grafo y v ∈ V, el pseudocodigo para la función que
devuelve un árbol de expansión de G con raíz en v utilizando DFS es:

1 Función DFS(G,v):
2 Q := (v) /* Vértices que se visitarán */
3 M := {v} /* Vértices ya visitados */
4 T := ∅ /* Aristas del árbol resultante */
5 mientras Q 6= ∅ hacer
6 u := Ultimo(Q) /* Vértice actual */
7 si V [u] ⊆ M entonces
8 Q := SinUltimo(Q))
3 9 en otro caso
10 para w ∈ V [u] hacer
11 si w 6∈ M entonces
12 M := M ∪ {w}
13 T := T ∪ {{w, u}}
14 Q := Concatenar(Q,w)
15 Salir;

16 devolver (M,T);

1.3 Generación de árboles de expansión mínima - Algoritmo de Kruskal

Dado G = (V, A) un grafo ponderado donde el conjunto A está ordenado por


el peso de cada arista de manera creciente, el pseudocodigo para el algoritmo de
Kruskal es:

3
Mat. Andrés Merino Hoja de resumen No. 7

1 Función Kruskal(G):
2 T := ∅ /* Aristas del árbol resultante */
3 para v ∈ V hacer
4 Cv := {v} /* Componente del vértice v */

5 para {u, v} ∈ A hacer


6 si Cu 6= Cv entonces
3
7 T := T ∪ {{u, v}}
8 NC := Cu ∪ Cv /* Nueva componente de los vértices */
9 para w ∈ NC hacer
10 Cw := NC

11 devolver T;

4
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • E JERCICIOS N O . 1

Semestre 2022-1 Mat. Andrés Merino

1. F UNDAMENTOS DE COMBINATORIA

E JERCICIO 1. Se quiere etiquetar las butacas de un auditorio con una letra y


un número entero positivo menor o igual que 100. ¿Cuál es el máximo número
de butacas a las que se puede asignar una etiqueta diferente?

Solución. Consideremos:

• n1 : la cantidad de letras (27);

• n2 : la cantidad de números (100);

• n: la cantidad de butacas que se pueden asignar.

Como para asignar una butaca debo seleccionar una letra y un número de manera
independiente, entonces puedo usar el principio de multiplicación:

n = n1 · n2 = 27 · 100 = 2 700.

Por lo tanto, la cantidad de butacas que se puede asignar es de 2 700.

E JERCICIO 2. En una sala hay 32 ordenadores. Cada ordenador tiene 24 puer-


tos. ¿Cuántos puertos diferentes hay en la sala?

Solución. Definamos

• a: la cantidad de ordenadores (32);

• b: la cantidad de puertos de cada ordenador (24);

• c: la cantidad de puertos diferentes en la sala.

Como cada computadora tiene la misma cantidad de puertos, para contar la can-
tidad de puertos de la sala, basta tomar una computadora y luego un puerto, que
son independientes, entonces puedo aplicar el principio de multiplicación:

c = a · b = 32 · 24 = 768.

De aquí, el número de puertos en la sala es de 768.

1
Mat. Andrés Merino Ejercicios No. 1

E JERCICIO 3. ¿Cuántas cadenas de bits diferentes hay con longitud 7?

Bosquejo de solución. Consideremos el siguiente gráfico que ilustra la situación:


Podemos ver la cadena de bits como 7 casillas donde se pueden colocar un 0 o
un 1:

{0, 1} × {0, 1} × {0, 1} × {0, 1} × {0, 1} × {0, 1} × {0, 1}


2 · 2 · 2 · 2 · 2 · 2 · 2

Así, por el principio de multiplicación, tenemos que el número de manera de


rellenar estas casillas es

2 · 2 · 2 · 2 · 2 · 2 · 2 = 27 = 128.

Por lo tanto, existen 128 cadenas de bits diferentes con longitud 7.

E JERCICIO 4. ¿Cuántas funciones se pueden definir de un conjunto de m ele-


mentos a uno conjunto de n elementos?

E JERCICIO 5. ¿Cuántas funciones inyectivas se pueden definir desde un con-


junto de m elementos en otro conjunto de n elementos?

E JERCICIO 6. Supongamos que para elegir un representante de la Facultad de


Matemáticas en una comisión universitaria se puede escoger bien un profesor
o bien un estudiante de doctorado. ¿De cuántas formas se puede escoger el
representante si hay 37 profesores y 83 estudiantes de doctorado en dicha
Facultad?

E JERCICIO 7. Cada usuario de un ordenador tiene una contraseña con una


longitud de entre seis y ocho caracteres, cada uno de los cuales es bien un
dígito o bien una letra mayúscula. Cada contraseña debe contener al menos
un dígito. ¿Cuántas contraseñas distintas admite el sistema?

Solución. Consideremos:

• C6 : las cadenas de caracteres con 6 caracteres;

• C7 : las cadenas de caracteres con 7 caracteres;

• C8 : las cadenas de caracteres con 8 caracteres;

2
Ejercicios No. 1 Mat. Andrés Merino

• C: todas las cadenas de entre 6 y 8 caracteres.

Notemos que
C = C6 ∪ C7 ∪ C8 ,

como estos conjuntos son disjuntos, por el principio de la unión

|C | = |C6 | + |C7 | + |C8 |.

Calculemos |C6 |, como en cada posición puedo colocar cualquier letra o dígito,
por el principio de multiplicación

|C6 | = 37 · 37 · 37 · 37 · 37 · 37 = 376 .

De igual forma para |C6 | y |C7 |; así,

|C7 | = 377 y |C8 | = 378 .

Con esto,
|C | = 376 + 377 + 378 = 3′ 609 977′ 057 463.

Ahora, notemos que las contraseñas inválidas, van a estar solo formadas por le-
tras, de 6, 7 y 8 caracteres.

• I6 : contraseñas inválidas de 6 caracteres;

• I7 : contraseñas inválidas de 7 caracteres;

• I8 : contraseñas inválidas de 8 caracteres;

• I: contraseñas inválidas.

Entonces, usando el principio de la unión y multiplicación, de manera similar a lo


anterior:

| I | = | I6 ∪ I7 ∪ I7 |
= | I6 | + | I7 | + | I8 |
= 276 + 267 + 268
= 293 277′ 310 173.

Con esto, el conjunto de contraseñas válidas es:

|C r I | = |C | − | I |
= 3 ′ 609 977 ′ 057 463 − 293 277′ 310 173

3
Mat. Andrés Merino Ejercicios No. 1

= 3′ 316 699′ 747 290

Así, la cantidad de contraseñas válidas es de 3’ 316 699’ 747 290.

E JERCICIO 8. ¿Cuántas cadenas de cinco caracteres ASCII contienen el carác-


ter @ al menos una vez? (Hay 128 caracteres ASCII).

E JERCICIO 9. El nombre de una variable en el lenguaje C es una cadena que


puede contener letras mayúsculas y minúsculas, dígitos y guiones bajos. Ade-
más, el primer carácter de la cadena debe ser una letra (mayúscula o minús-
cula) o un guion bajo. Si el nombre de la variable está determinado por los
ocho primeros caracteres, ¿cuántos nombres distintos de variables admite el
lenguaje C? (Ten en cuenta que el nombre de una variable puede tener menos
de ocho caracteres).

E JERCICIO 10. ¿Cuántas cadenas de diez bits comienzan con 000 o bien ter-
minan con 00?

Solución. Consideremos los siguientes conjuntos:

• A: conjunto de cadenas de 10 bits que comienzan en 000 o terminan con 00;

• A1: conjunto de cadenas de 10 bits que comienzan con 000;

• A2: conjunto de cadenas de 10 bits que terminan con 00.

Con esto, utilizando el principio de inclusión-exclusión:

| A | = | A1 ∪ A2 | = | A1 | + | A2 | − | A1 ∩ A2 |.

• Para | A1 |: consideremos el siguiente gráfico que ilustra la situación:

0 0 0

2 · 2 · 2 · 2 · 2 · 2 · 2

Así, utilizando el principio de multiplicación

| A1 | = 2 · 2 · 2 · 2 · 2 · 2 · 2 = 27 .

• Para | A2 |: consideremos el siguiente gráfico que ilustra la situación:

4
Ejercicios No. 1 Mat. Andrés Merino

0 0

2 · 2 · 2 · 2 · 2 · 2 · 2 · 2

Así, utilizando el principio de multiplicación

| A2 | = 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 = 28 .

• Para | A1 ∩ A2 |: consideremos el siguiente gráfico que ilustra la situación:

0 0 0 0 0

2 · 2 · 2 · 2 · 2

Así, utilizando el principio de multiplicación

| A1 ∩ A2 | = 2 · 2 · 2 · 2 · 2 = 25 .

Por lo tanto,
| A| = 27 + 28 − 25 = 352.

Así, la cantidad de cadenas que cumple lo solicitado es 352.

E JERCICIO 11. ¿Cuántas cadenas de diez bits contienen bien la cadena 00000
o bien la cadena 11111?

2. P RINCIPIO DEL PALOMAR

E JERCICIO 12. ¿Cuántos estudiantes debe haber en una clase para garantizar
que al menos dos estudiantes reciben la misma nota en el examen, suponien-
do que el examen se califica en una escala de 0 a 100 puntos?

E JERCICIO 13. ¿Cuál es el número mínimo de estudiantes que debe haber en


una clase para estar seguro de que al menos seis reciben la misma calificación,
si las calificaciones posibles son Suspenso, Aprobado, Notable, Sobresaliente
y Matrícula de Honor?

Solución. Consideremos:

• N: es el número de estudiantes (desconocido);

5
Mat. Andrés Merino Ejercicios No. 1

• k: es el número de calificaciones (5).

Por el principio del palomar generalizado


 
N
= 6.
5

Como estoy buscando el número mínimo, puedo omitir la función techo y tene-
mos
N−1
= 6 − 1 ⇐⇒ N − 1 = 25
5
⇐⇒ N = 26.

Es decir, necesitamos 26 estudiantes para asegurar que 6 obtienen la misma califi-


cación.

E JERCICIO 14. ¿Cuántas cartas se deben sacar de una baraja de 52 para ga-
rantizar que al menos tres son del mismo palo?

E JERCICIO 15. Supongamos que un laboratorio de informática tiene 15 esta-


ciones de trabajo y 10 servidores. Una estación de trabajo se puede conectar
a un servidor mediante un cable. Solo una de las conexiones de cada servi-
dor puede estar activa en cada momento. Queremos garantizar que, en to-
cio momento. cualquier conjunto de diez o menos estaciones de trabajo están
conectadas di reciamente a algún servidor. Aunque esto se puede conseguir
conectando todas las estaciones de trabajo a tocios los servidores (con 150 ca-
bles), se pide determinar el mínimo número de conexiones necesarias para
asegurar este objetivo.

E JERCICIO 16. Una red de ordenadores está formada por seis equipos. Cada
ordenador está conectado directamente al menos a otro. Demuestra que hay al
menos dos ordenadores en la red que tienen el mismo número de conexiones.

Solución. Agrupemos los ordenadores por el número de conexiones que tienen


con otro. Así, consideremos:

• N: el número de ordenadores (6);

• k: el número de grupos (1 conexión, 2 conexiones, 3 conexiones, 4 conexio-


nes, 5 conexiones) (5).

6
Ejercicios No. 1 Mat. Andrés Merino

Por el principio del palomar, al menos un grupo tiene


   
N 6
= = ⌈1,2⌉ = 2
k 5

ordenadores. Es decir, existe por lo menos 2 ordenadores con el mismo número de


conexiones.

7
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • E JERCICIOS N O . 2

Semestre 2022-1 Mat. Andrés Merino

1. F UNDAMENTOS DE COMBINATORIA

E JERCICIO 1. ¿Cuántas permutaciones de las letras ABCDEF existen? ¿Cuán-


tas permutaciones de las letras ABCDEF contienen la subcadena DEF?

Solución. Consideremos
C = { A, B, C, D, E, F },

como |C | = 6, la cantidad de permutaciones es de

6! = 720.

Para la segunda pregunta, consideremos

B = { A, B, C, DEF },

como |C | = 4, entonces la cantidad de permutaciones es igual a

4! = 24.

E JERCICIO 2. ¿Cuántas permutaciones de las letras ABCDEF contienen a las


letras DEF juntas en cualquier orden?

Solución. Tenemos dos procesos


a) Permutar las 3 letras DEF, consideremos el conjunto

C = { D, E, F },

como |C | = 3, la cantidad de permutaciones es

3! = 6.

b) Agregar las otras letras, consideremos el conjunto

B = { A, B, C, DEF }

como |B | = 4, la cantidad de permutaciones es

4! = 24.

1
Mat. Andrés Merino Ejercicios No. 2

Así, por el principio de multiplicación, existen

6 · 24 = 144

permutaciones donde las letras DEF están juntas pero en cualquier orden.

E JERCICIO 3. ¿De cuántas maneras se pueden sentar seis personas alrededor


de una mesa circular?

E JERCICIO 4. ¿De cuántas maneras se puede seleccionar el presidente, vice-


presidente, secretario y tesorero de un grupo de 10 personas?

Solución. Tenemos un conjunto de 10 personas, de las cuales debemos a tomar de


4 en 4, por lo tanto, la cantidad de maneras que existe es:

10!
P(10, 4) = = 5040.
(10 − 4)!

E JERCICIO 5. ¿De cuántas maneras pueden hacer cola siete marcianos y cinco
venusinos si dos venusinos no se paran juntos?

E JERCICIO 6. ¿Cuántas cadenas de ocho bits contienen exactamente cuatro


unos?

Solución. De las 8 posiciones para los bits, en cuatro de ellos se deben colocas los
números 1 y el resto se los rellena con 0. Es decir, de las 8 posiciones, se deben
seleccionar 4 para colocar los números 1, dado que el orden de las posiciones no
es relevante, el número de cadenas de ocho bits que contienen exactamente cuatro
unos es:
8!
C (8, 4) = = 70.
(8 − 4)! · 4!

E JERCICIO 7. ¿Cuántas manos de póquer contienen cartas todas del mismo


palo?

Solución. Podemos hacer este proceso en dos pasos:

I. Seleccionar un palo: dado que son 4 palos, se tienen 4 formas diferentes de


hacerlo.

II. Seleccionar cuatro cartas del palo seleccionado: Dado que existen 13 cartas
del palo seleccionado y se deben seleccionar 5 y el orden no es relevante,

2
Ejercicios No. 2 Mat. Andrés Merino

existen
13!
C (13, 5) = = 1287
(13 − 5)! · 5!
formas de seleccionarlos.

Con esto, por el principio de multiplicación, existen

4 · 1287 = 5148

formas diferentes de tener una mano de póquer que contiene todas las cartas del
mismo palo.

E JERCICIO 8. ¿Cuántas manos de póquer contienen tres cartas de una deno-


minación y dos de una segunda denominación?

3
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • E JERCICIOS N O . 3

Semestre 2022-1 Mat. Andrés Merino

1. F UNDAMENTOS DE COMBINATORIA

E JERCICIO 1. ¿Cuántas cadenas se pueden formar usando las siguientes le-


tras? MISSISSIPPI

Solución. Tenemos:

1. 11 objetos (la cantidad de letras)

2. 4 tipos: 1 del primer tipo (la letra M), 4 del segundo tipo (la letra I), 4 del
tercer tipo (la letra S) y 2 del cuarto tipo (la letra P).

Con esto, utilizando permutaciones generalizadas, existen

11!
= 34650
1! · 4! · 4! · 2!·
maneras diferentes de ordenar estas letras, es decir, existen 34 650 cadenas que se
pueden formar con las letras de la palabra dada.

E JERCICIO 2. ¿De cuántas maneras pueden dividirse 8 libros diferentes entre


3 estudiantes si Brenda obtiene 4 libros, y Samuel y Mariana 2 cada uno?

Solución. Podemos considerar que colocamos una etiqueta con el nombre de cada
estudiante a cada libro, así obtenemos:

1. 8 objetos (los libros)

2. 3 tipos: 4 del primer tipo (libros de Brenda), 2 del segundo tipo (libros de
Samuel) y 2 del tercer tipo (libros de Mariana).

Con esto, utilizando permutaciones generalizadas, existen

8!
= 420
4! · 2! · 2!·
maneras diferentes de ordenar estos objetos, es decir, existen 420 formas de dividir
los 8 libros.

E JERCICIO 3. Considere 3 libros: de computación, física e historia. Suponga


que la biblioteca tienen al menos 6 copias de cada uno. ¿De cuántas maneras

1
Mat. Andrés Merino Ejercicios No. 3

se pueden seleccionar 6 libros?

Solución.

E JERCICIO 4. Suponga que existen tres pilas de pelotas rojas, azules y verdes,
y que cada pila contiene al menos 8 pelotas. ¿De cuántas maneras se pueden
seleccionar 8 pelotas? ¿De cuántas maneras se pueden seleccionar 8 pelotas si
debe tenerse al menos una pelota de cada color?

Solución.

E JERCICIO 5. ¿De cuántas maneras pueden distribuirse 12 libros idénticos de


matemáticas entre los estudiantes Ana, Beatriz, Carmen y Daniel?

Solución.

E JERCICIO 6. ¿Cuántas soluciones en enteros no negativas hay para la ecua-


ción
a + b + c + d = 29?

Solución. Podemos considerar el problema como un conjunto de 29 elementos, de


los cuales se tomarán 4 grupos, por lo tanto, aplicando combinaciones generaliza-
das, existen
C (29 + 4 − 1, 4 − 1) = C (32, 3) = 4960

maneras de separar los 29 elementos en 4 grupos, por lo tanto, existen 4 960 solu-
ciones en enteros no negativos para la ecuación.

E JERCICIO 7. ¿Cuántas soluciones en enteros no negativas hay para la ecua-


ción
a + b + c + d = 29

tales que a > 0, b > 1, c > 2?

Solución. Notemos que las restricciones se puede reescribir como:

a ≥ 1, b≥2 y c ≥ 3.

Con esto, consideremos el siguiente cambio de variable:

x = a − 1, y = b−2 y z = c − 3,

2
Ejercicios No. 3 Mat. Andrés Merino

así, nuestras condiciones se transforman en

x ≥ 0, y ≥ 0, z≥0

y la ecuación queda como:

( x + 1) + (y + 2) + (z + 3) + d = 29.

O lo que es lo mismo,
x + y + z + d = 23

con x, y, z y d números naturales. Por lo tanto, podemos considerar el problema


como un conjunto de 23 elementos, de los cuales se tomarán 4 grupos, por lo tanto,
aplicando combinaciones generalizadas, existen

C (23 + 4 − 1, 4 − 1) = C (26, 3) = 2600

maneras de separar los 26 elementos en 4 grupos, por lo tanto, existen 2 600 solu-
ciones para la ecuación.

E JERCICIO 8. Un examen tiene 12 problemas. ¿De cuántas maneras se pueden


asignar puntos (enteros) a los problemas si el total es 100 y cada problema vale
por lo menos 5 puntos?

Solución 1. Si cada pregunta vale por lo menos 5 puntos, significa que 60 puntos
ya están asignados, por lo tanto, resta asignar 40 puntos entre las 12 preguntas.
Podemos considerar el problema como un conjunto de 40 elementos, de los cua-
les se tomarán 12 grupos, por lo tanto, aplicando combinaciones generalizadas,
existen
C (40 + 12 − 1, 12 − 1) = C (51, 11) = 47626016970

maneras de separar los 40 elementos en 12 grupos, por lo tanto, existen


47 626 016 970 maneras de asignar los puntos.

Solución 2. Consideremos:

• Pi : el puntaje asignado a la pregunta i, con i ∈ {1, 2, . . . , 12}.

Nuestro problema se transforma en obtener el número de soluciones para la ecua-


ción
P1 + P2 + · · · + P12 = 100

con Pi ≥ 5 para todo i ∈ {1, 2, . . . , 12}. Como se vio en el anterior ejercicio, esto
es análogo considerar un conjunto de 100 − 5 · 12 = 40 elementos de los cuales se

3
Mat. Andrés Merino Ejercicios No. 3

tomarán 12 grupos. Aplicando combinaciones generalizadas, existen

C (40 + 12 − 1, 12 − 1) = C (51, 11) = 47626016970

maneras de separar los 40 elementos en 12 grupos, por lo tanto, existen


47 626 016 970 maneras de asignar los puntos.

4
Ejercicios No. 3 Mat. Andrés Merino

2. R ELACIONES DE RECURRENCIA

E JERCICIO 9. Una persona invierte $1 000 al 12 % de interés anual compuesto.


Si An representa la cantidad al final de n años, encuentre una relación de
recurrencia y las condiciones iniciales que definen la sucesión ( An )n≥0 .

Solución.

E JERCICIO 10. Sea Sn el número de cadenas de n bits que no contienen el pa-


trón 111. Desarrolle la relación de recurrencia para S1 , S2 ,. . . y las condiciones
iniciales que definen la sucesión.

Solución.

E JERCICIO 11. Derive una relación de recurrencia y una condición inicial para
el número de maneras de dividir un polígono convexo de (n + 2) lados, n ≥ 1,
en triángulos dibujando n − 1líneas a través de los vértices que no se cruzan
en el interior del polígono.

Solución.

5
E SCUELA DE C IENCIAS F ÍSICAS Y M ATEMÁTICA
E STRUCTURAS D ISCRETAS II • E JERCICIOS N O . 4

Semestre 2022-1 Mat. Andrés Merino

1. R ELACIONES DE RECURRENCIA

E JERCICIO 1. Resolver la relación de recurrencia:

a0 = 7,
a1 = 16,
an = 5an−1 − 6an−2 , n ≥ 2.

Solución. El polinomio que representa la relación es

t2 = 5t − 6.

Resolviendo, las soluciones son

t=3 ∨ t = 2.

Entonces, obtenemos que la solución es, para todo n ∈ N,

a n = α · 3n + β · 2n ,

donde α y β son constantes a determinar. Para esto, utilizamos las condiciones


iniciales:

7 = a0 = α · 30 + β · 20 ,
16 = a1 = α · 31 + β · 31 .

Así, tenemos el siguiente sistema


(
α + β = 7,
3α + 2β = 16.

Resolviendo el sistema, obtenemos que α = 2 y β = 5. Por lo tanto, para todo


n ∈ N,
a n = 2 · 3n + 5 · 2n .

1
Mat. Andrés Merino Ejercicios No. 4

E JERCICIO 2. Suponga que la población de venados del condado Rustic es


200 en el año 2019 y 220 en el año 2020, y que el incremento de venados de
un año dado siempre es el doble del incremento del año anterior. Plantee una
relación de recurrencia que represente el problema y resuélvala.

Solución. Consideremos que:

1. n : el número de años contados desde 2019, con n ∈ N,

2. pn : la población de venados en el año n.

Tenemos que la relación de recurrencia que describe el problema es

p0 = 200,
p1 = 220,
p n −1 − p n = 2 ( p n −2 − p n −1 ) , n ≥ 2.

Así, el polinomio que representa la relación es

t2 = 3t − 2.

Resolviendo, las soluciones son

t=1 ∨ t = 2.

Entonces, para todo n ∈ N,

p n = α · 1n + β · 2n ,

donde α y β son constantes por determinar. Utilizando las condiciones iniciales

200 = p0 = α · 10 + β · 20 ,
220 = p1 = α · 11 + β · 21 .

Con esto, tenemos el siguiente sistema


(
α + β = 200,
α + 2β = 220;

cuya solución es α = 180 y β = 20. Por lo tanto, se tiene la solución: para todo
n ∈ N,
pn = 180 · 1n + 20 · 2n = 180 + 20 · 2n .

2
Ejercicios No. 4 Mat. Andrés Merino

E JERCICIO 3. Resolver la relación de recurrencia de la sucesión de Fibonacci.

Solución. Recordemos que la sucesión de Fibonacci está dada por

f 0 = 1,
f 1 = 1,
f n = f n −1 + f n −2 , n ≥ 2.

Así, el polinomio que representa la relación es

t2 = t1 + 1.

Resolviendo, se sigue que


√ √
1− 5 1+ 5
t= ∨ t= .
2 2
Entonces, para todo n ∈ N,
√ !n √ !n
1− 5 1+ 5
fn = α · +β· ,
2 2

donde α y β son constantes por determinar. Utilizando las condiciones iniciales


√ !0 √ !0
1− 5 1+ 5
1 = f0 = α · +β· ,
2 2
√ !1 √ !1
1− 5 1+ 5
1 = f1 = α · +β· .
2 2

Con esto, tenemos el siguiente sistema



 α+ β = 1,
 √   √ 
 1−2 5 α + 1+2 5 β = 1;

√ √
5− 5 5+ 5
cuya solución es α = 10 yβ = 10 . Por lo tanto, se tiene la solución: para
todo n ∈ N,
√ √ !n √ √ !n
5− 5 1− 5 5+ 5 1+ 5
fn = + .
10 2 10 2

3
Mat. Andrés Merino Ejercicios No. 4

E JERCICIO 4. Resolver la relación de recurrencia:

a0 = 1,
a1 = 1,
a n = 4 ( a n −1 − a n −2 ) , n ≥ 2.

Solución. El polinomio que representa la relación es

t2 = 4( t − 1),

cuyas solución es
t = 2.

Entonces, para todo n ∈ N,

a n = α · 2n + β · n · 2n

donde α y β son constantes por determinar. Utilizando las condiciones iniciales

1 = a0 = α · 20 + β · 0 · 20 ,
1 = a1 = α · 21 + β · 1 · 21 .

Con esto, tenemos el siguiente sistema


(
α = 1,
2α + 2β = 1;

y resolviendo, tenemos que α = 1 y β = − 12 . Por lo tanto, se tiene la solución: para


todo n ∈ N,
1
a n = 2n − · n · 2n .
2

E JERCICIO 5. Resolver la relación de recurrencia:

a0 = 8,
1
a1 = √ ,
2 2
a n −2
r
an = , n ≥ 2.
a n −1

4
Ejercicios No. 4 Mat. Andrés Merino

Solución. Tomando logaritmos, tenemos que

log2 ( a0 ) = log2 8 = 3,
1 3
log2 ( a1 ) = log2 √ = − ,
2 2 2
 1 !
a n −2 2
log2 ( an ) = log2
a n −1
 
1 a n −2
= log2
2 a n −1
1
= (log2 ( an−2 ) − log2 ( an−1 )) , n ≥ 2.
2
Luego, tomando el cambio de variable

bn = log2 ( an ),

para todo n ∈ N, se tiene la siguiente relación de recurrencia equivalente

b0 = 3,
3
b1 = − ,
2
1
bn = ( bn −2 − bn −1 ) , n ≥ 2.
2
Así, el polinomio que representa la relación es

1
t2 = (1 − t ),
2
cuyas soluciones son
1
t= ∨ t = −1.
2
Entonces, para todo n ∈ N,
 n
1
bn = α · + β · (−1)n .
2

Utilizando las condiciones iniciales


 0
1
3 = b0 = α · + β · (−1)0 ,
2
 1
3 1
− = b1 = α · + β · (−1)1 .
2 2

5
Mat. Andrés Merino Ejercicios No. 4

Con esto, tenemos el siguiente sistema


(
α + β = 3,
1
2α − β = − 23 ;

cuya solución es α = 1 y β = 2. Por lo tanto, la solución es, para todo n ∈ N,


 n
1
bn = + 2 · (−1)n = 2−n + 2(−1)n = 2(2−n−1 + (−1)n ).
2

y regresando a la variable original, tenemos que, para todo n ∈ N


−n−1 +(−1)n ) − n −1 n
an = 22(2 = 42 · 4(−1) .

6
Ejercicios No. 4 Mat. Andrés Merino

2. A PLICACIONES AL ANÁLISIS DE ALGORITMOS

E JERCICIO 6. Calcule el tiempo de ejecución en el peor de los casos de la


implementación de ordenamiento por selección.

Solución.

3. F UNCIONES GENERATRICES

E JERCICIO 7. Determinar el número de soluciones de

a + b + c = 12,

donde a, b, c son enteros positivos tales que

2 ≤ a ≤ 5, 3≤b≤6 y 4 ≤ c ≤ 7.

Utilice las funciones generatrices.

Solución. Notemos que las funciones generatrices para cada variable son:

• Para a: x2 + x3 + x4 + x5 .

• Para b: x3 + x4 + x5 + x6 .

• Para c: x4 + x5 + x6 + x7 .

Entonces, la función generatriz para la suma es

( x2 + x3 + x4 + x5 )( x3 + x4 + x5 + x6 )( x4 + x5 + x6 + x7 ),

que es igual a:

x9 + 3x10 + 6x11 + 10x12 + 12x13 + 12x14 + 10x15 + 6x16 + 3x17 + x18 .

Por lo tanto, el número de formas para que la suma sea 12 es el coeficiente de x12 ,
es decir, hay 10 soluciones de la ecuación.

E JERCICIO 8. Se cuenta con 10 galletas, ¿de cuántas formas se puede tomar 7


galletas?

7
Mat. Andrés Merino Ejercicios No. 4

Solución. Consideremos la función generadora de cada galleta

1x0 + 1x1 + 0x2 + 0x3 + · · · = 1 + x.

Ahora, tenemos 10 galletas, su función generadora es

(1 + x )(1 + x ) · · · (1 + x ) = (1 + x )10 ,

desarrollando

1 + 10x + 45x2 + 120x3 + 210x4 + 252x5 + 210x6 + 120x7 + 45x8 + 10x9 + x10 .

Como vamos a tomar 7 galletas, tomamos el coeficiente de x7 , es decir, hay 120


formas de tomar 7 galletas.

E JERCICIO 9. De cuántas formas se pueden repartir ocho galletas idénticas


entre tres niños, si cada niño recibe al menos dos galletas y no más de cuatro.

Solución. Notemos que la función generadora de cada niño es

1x2 + 1x3 + 1x4 .

Como cada galleta es idéntica, la función generatriz para la suma es

( x2 + x3 + x4 )( x2 + x3 + x4 )( x2 + x3 + x4 ),

que es igual a:
x12 + 3x11 + 6x10 + 7x9 + 6x8 + 3x7 + x6

Por lo tanto, como se tienen 8 galletas en total, el número de formas para repartir
las 8 galletas es el coeficiente de x8 , es decir, hay 6 formas de repartir las galletas.

E JERCICIO 10. Se tiene veinte billetes de un dólar y cinco billetes de cinco


dólares, ¿de cuántas formas se puede sumar 16 dólares?

Solución. Notemos que no importa el orden en este caso, así las funciones genera-
trices son:

• Para $1: x0 + x1 + · · · + x20 ;

• Para $5: x0 + x5 + x10 + x15 + x20 + x25 .

8
Ejercicios No. 4 Mat. Andrés Merino

Entonces, la función generatriz para la suma es:

(1 + x1 + · · · + x20 )(1 + x5 + x10 + x15 + x20 + x25 ).

Como buscamos la forma de suma 16, tomamos el coeficiente de x16 , con esto, hay
4 formas de hacerlo.

E JERCICIO 11. Se tiene veinte billetes de un dólar y cinco billetes de cinco


dólares, ¿de cuántas formas se puede introducir 16 dólares a una máquina
expendedora?

Solución. Como se debe tomar en cuenta el orden, consideramos las funciones


generatrices de lo que ingresa en la máquina. Así, en cada ingreso se tiene

0x0 + 1x1 + 0x2 + 0x3 + 0x4 + 1x5 + 0x6 + · · · = ( x + x5 ).

Si se considera r ingresos, tenemos la función generatriz

( x + x 5 ) · ( x + x 5 ) · · · · · ( x + x 5 ) = ( x + x 5 )r .

como se considera todos los ingresos, la función generatriz es

( x + x5 )0 + ( x + x5 )1 + ( x + x5 )2 + ( x + x5 )3 + · · · + ( x + x5 )16

Como buscamos la forma de sumar 16, tomamos el coeficiente de x16 , con esto,
hay 45 formas de hacerlo.

E JERCICIO 12. Se cuenta con monedas de un centavo, de cinco centavos, de


diez centavos, de veinticinco centavos y de cincuenta centavos, determinar:

a) ¿de cuántas formas se puede sumar un dólar?

b) ¿de cuántas formas se puede sumar cincuenta centavos?

Solución.

También podría gustarte