Re Laci Ones

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 44

Matemática Discreta y Lógica 1

UTEC

(UTEC) MDL1 1 / 44
1 Relaciones

2 Propiedades de las relaciones

3 Relaciones n-arias

4 Bases de datos y relaciones

5 Operaciones con relaciones n-arias

6 Representación de relaciones

(UTEC) MDL1 2 / 44
Relaciones

En matemáticas estudiamos relaciones tales como las que hay entre un


entero positivo y uno de sus divisores, entre un entero y otro con el que es
congruente módulo 5. entre un número real y otro que es mayor que él, cte.
Y en informática aparecen con frecuencia relaciones como la que hay entre
un programa informático y una de las variables que emplea o)a que hay,
entre un lenguaje de programación y una sentencia válida en ese lenguaje.

(UTEC) MDL1 3 / 44
Relaciones

Las relaciones entre elementos de conjuntos se representan mediante una


estructura llamada relación. Las relaciones pueden usarse para resolver
problemas tales como determinar qué parejas de ciudades están conectadas
por algún vuelo de una red aérea, hallar un orden viable para las diferentes
fases de un proyecto complicado o encontrar una manera útil de almacenar
la información en bases de datos informáticas.

(UTEC) MDL1 4 / 44
Relaciones

Definición
Sean A y B dos conjuntos. Una relación binarı́a de A en B es un
subconjunto de A × B.

En otras palabras, una relación binaria de A en B es un conjunto R de


pares ordenados en los que el primer elemento de cada par ordenado es un
elemento de A y el segundo es un elemento de B. Usamos la notación aRb
para denotar que (a, b) ∈ R y a R̸ b para denotar que (a, b) ̸∈ R. Además,
cuando (a, b) pertenece a R se dice que a está relacionado con b mediante
R.

(UTEC) MDL1 5 / 44
Relaciones

Ejemplo
Sea A el conjunto de todas las ciudades y sea B el conjunto de los paı́ses
de Sudamérica. Se define la relación R especificando que (a, b) pertenece a
R si la ciudad a está en el paı́s b.
Por ejemplo: (Barranquilla, Colombia), (Rosario, Argentina), (Sao Paulo,
Brasil), (Antofagasta, Chile) y (Durazno, Uruguay) están en R.

(UTEC) MDL1 6 / 44
Relaciones

Definición
Una relación en un conjunto A es una relación de A en A.

Ejemplo
Considérense las siguientes relaciones en el conjunto de los enteros:

R1 = {a, b)|a ≤ b}
R2 = {a, b)|a > b}
R3 = {a, b)|a = b ó a = −b}
R4 = {a, b)|a = b}
R5 = {a, b)|a = b + 1}
R6 = {a, b)|a + b ≤ 3}

¿Cuáles de estas relaciones contienen a cada uno de los pares


(1, 1), (1, 2), (2, 1), (1, −1)y (2, 2)?

(UTEC) MDL1 7 / 44
Propiedades de las relaciones

Hay varias propiedades que se utilizan para clasificarlas relaciones en un


conjunto. Presentamos aquı́ las más importantes. En algunas relaciones,
un elemento está siempre relacionado consigo mismo. Por ejemplo, sea R
la relación en el conjunto de las las personas formada por aquellos pares
(x, y ) tales que x e y tienen la misma madre y el mismo padre. Entonces,
xRx para cada persona x.

(UTEC) MDL1 8 / 44
Propiedades de las relaciones
Definición
Se dice que una relación R en un conjunto A es reflexiva si (a, a) ∈ R
para cada elemento a ∈ A.

Definición
Se dice que una relación R en un conjunto A es simétrica si para
cualesquiera a, b ∈ A se tiene que (b, a) ∈ R siempre que (a, b) ∈ R.

Definición
Se dice que una relación R en un conjunto A es antisimétrica si para
cualesquiera a, b ∈ A se tiene que (a, b) ∈ R y (b, a) ∈ R sólo si a = b.

Definición
Se dice que una relación R en un conjunto A es transitiva si para
a, b, c ∈ A tales que (a, b) ∈ R y (b, c) ∈ R tenemos que (a, c) ∈ R.
(UTEC) MDL1 9 / 44
Propiedades de las relaciones

Puesto que las relaciones de A enB son subconjuntos de A × B , dos


relaciones de A en B se pueden combinar de cualquiera de las maneras en
que se pueden combinar dos conjuntos. Considérense los Ejemplos
Ejemplo
Sean A = {1, 2, 3} y B = {1, 2, 3, 4}. Las relaciones
R1 = {(1, 1), (2, 2), (3, 3)} y R2 = {(1, 1), (1, 2), (1, 3), (1, 4)} se pueden
combinar para obtener

R1 ∪ R2 = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (3, 3)}
R1 ∩ R2 = {(1, 1)}
R1 \ R2 = {(2, 2), (3, 3))
R2 − R1 = {(1, 2), (1, 3)(1, 4)}

(UTEC) MDL1 10 / 44
Propiedades de las relaciones

Ejemplo
Sean R una relación de un conjunto A en un conjunto B y S una relación
de B en un conjunto C . La composición de R y S es la relación que
consiste en los pares ordenados (a, c) con a ∈ A y c ∈ C , para los cuales
existe un elemento b ∈ B tal que (a, b) ∈ R y (b, c) ∈ S. La composición
de R y S se denota S ◦ R.

Definición
Sea R relación en un conjunto A. Las potencias R n , n = 1, 2, 3, . . . , se
definen recursivamente como
R 1 = R,
R n+1 = R n ◦ R, n ≥ 1

(UTEC) MDL1 11 / 44
Propiedades de las relaciones

Teorema
La relación R en un conjunto A es transitiva si, y sólo si, R n ⊂ R para
n≥1

(UTEC) MDL1 12 / 44
Relaciones n-arias

Comenzamos con la definición básica sobre la que se fundamenta la teorı́a


de bases de datos relacionales.
Definición
Sean A1 , A2 , . . . ., An conjuntos. Una relación n-aria en estos conjuntos es
un subconjunto de A1 × A2 × · · · × An .
Los conjuntos A1 , A2 , . . . , An , se llaman dominios de la relación y n es el
grado de la relación.

(UTEC) MDL1 13 / 44
Relaciones n-arias

Ejemplo
Sea R la relación en N × N × N que consta de las ternas (a, b, c) en las
que a, b y c son enteros positivos con a < b < c.
Entonces, (1, 2, 3) ∈ R, pero (2, 4, 3) ∈
/R .
El grado de esta relación es 3. Sus dominios son todos iguales al conjunto
de los número naturales.

(UTEC) MDL1 14 / 44
Relaciones n-arias

Ejemplo
Sea R la relación que consta de las 5-uplas (L, N, P , D , S) que
representan vuelos comerciales, donde L es la lı́nea aérea, N es el número
de vuelo, P es el punto de partida, D es el destino y S es la hora de salida.

Por ejemplo, si air Express Airlines tiene el vuelo 963 de Newark a Bangor
a las 15:00, entonces (Nadir, 963 , Newark, Bangor, 15:00) pertenece a R.
El grado de esta relación es 5 y sus dominios son el conjunto de toda las
lı́neas aéreas, el conjunto de números de vuelo, el conjunto de ciudades. el
conjunto de ciudades (de nuevo) y el conjunto de horas de salida.

(UTEC) MDL1 15 / 44
Bases de datos y relaciones

El tiempo que requiere manipular la información en una base de datos


depende de cómo está almacenada la información. Las operaciones de
añadir y borrar registros, actualizar registros, buscar registros, ası́ como
combinar registros de bases de datos que se solapan, se llevan a cabo
millones de veces al dı́a en una base de datos grande. Debido a la
importancia de estas operaciones se han desarrollado varios método para
representar las bases de datos.

(UTEC) MDL1 16 / 44
Bases de datos y relaciones

Describiremos uno de estos métodos, llamado modelo relacional de datos,


que se basa en el concepto de relación.
Una base de datos consta de registros, que son n-uplas formadas a partir
de campos. Los campos son las entradas de la 11-upla. Por ejemplo, una
base de datos de registros de estudiante puede estar formada por campos
que contienen el nombre, el número de identificación, la titulación en que
está matriculado y la nota media del estudiante.
El modelo relacional de datos representa una base de datos de registros
como una relación n-aria. Ası́. los registros de los estudiantes e
representación una 4-tupla de la forma (nombre estudiante, numero id ,
titulación, nota media).

(UTEC) MDL1 17 / 44
Bases de datos y relaciones

Un ejemplo de base de datos con seis registros de este tipo es


(Ackemann, 231455,Informática, 3,38)
(Adams, 888323, Fı́sica, 3,45)
(Chou, 102147, Informática. 3,49)
(Goodfriend, 453876, Matemáticas. 3,45)
(Rao, 678543. Matemáticas. 3,90)
(Stevens, 786576, Sicologı́a, 2,99)

(UTEC) MDL1 18 / 44
Bases de datos y relaciones
Las relaciones que se utilizan para representar bases de datos se llaman
también tablas, ya que estas relacione se muestran con frecuencia en forma
de tabla. Cada columna de la tabla corresponde a un atributo de la base
de datos. Por ejemplo, en el cuadro se muestra la misma base de datos de
estudiantes. Los atributos de esta base de datos son Nombre Estudiante,
Número ID (esto es, de identificación), Titulación y Nota Media.
Tabla 1
Nombre ID Titulación Notas
Ackemann 231455 Informatica 3,38
Adams 888323 Fisica 3,45
Chou 102147 Informatica 3,49
Goodfriend 453876 Matematicas 3,45
Rao 678543 Matematicas 3,90
Stevens 786576 Psicologı́a 2,99
Cuadro: base de datos

(UTEC) MDL1 19 / 44
Bases de datos y relaciones

Definición
Se dice que un dominio de una relación n-aria es una clave primaria si el
valor de la n-upla en dicho dominio determina la n-upla.
Esto es, un dominio es una clave primaria cuando no hay dos n-uplas en la
relación que tengan el mismo valor en el dominio.

Ejemplo
Cual seria una clave primaria para la base de datos del cuadro

(UTEC) MDL1 20 / 44
Operaciones con relaciones n-arias

Existen varias operaciones con relaciones n-arias que se pueden u ar para


formar nuevas relaciones n-arias. Aplicándolas conjuntamente, estas
operaciones pueden dar respuesta a consultas a la base de datos que pidan
determinar todas las n-uplas de la base de datos que satisfacen ciertas
condiciones. La operación más sencilla sobre una relación n-aria es
determinar todas las n-uplas de la relación n-aria que satisfacen ciertas
condiciones.

(UTEC) MDL1 21 / 44
Operaciones con relaciones n-arias

Por ejemplo, puede que queramos encontrar en una base de datos de


estudiantes lo registros de todos los estudiantes matriculados en la
titulación de informática. O podemos buscar en esa misma base de datos
todos los estudiantes con una nota media por encima de 3.5 sobre 5. O
podemos buscar los registros de todo los estudiantes matriculados en
informática con una nota media mayor que 3,5. Para llevar a cabo estas
tareas utilizamos el operador de selección.
Definición
Sea R una relación n-aria y C una condición que puede ser satisfecha por
los elementos de R. Entonces, el operador de selección Sc transforma la
relación n-aria R en la relación n-aria formada por todas las n-uplas de R
que satisfacen la condición C .

(UTEC) MDL1 22 / 44
Operaciones con relaciones n-arias
Para hallar los registros de estudiantes de informática en la relación
n-aria usamos el operador Sc , donde C , es la condición titulación
Informática. El resultado son las dos 4-uplas
(Ackemann, 231455, Informática. 3.88) y (Chou, 102147, Informática.
3.49).
De forma parecida, para determinar los registros de estudiantes con
una nota media superior a 3.5 en etra base de datos utilizamos el
operador Sc2 , donde C es la condición Nota Media > 3.5.
El resultado son las dos 4-tuplas
(Ackemann, 23 1455.Infonnática, 3,88) y (Rao. 678543, Matemáticas,
3.90).
Finalmente, para hallar los registros de estudiantes de informática con
una nota media superior a 3.5 usamo el operador Sc3 , donde C, es la
condición (Titulación =Informática, Nota Media > 3.5).
El resultado consta de una única 4-upla
(Ackennann, 231455, Informática 3,88)
(UTEC) MDL1 23 / 44
Operaciones con relaciones n-arias

Las proyecciones se utilizan para formar nuevas relaciones n-arias


eliminando los mismos campos en cada registro de la relación.
Definición
La proyección Pi1 ,i2 ,··· ,im , donde m ≤ n, transforma la n-upla
(a1 , a2 , · · · , an ) en la m-upla (a1 , a2 , · · · , am )

(UTEC) MDL1 24 / 44
Operaciones con relaciones n-arias

La operación de reunión se utiliza para combinar dos tablas en una cuando


estas tablas tienen campos idénticos en común. Por ejemplo, una tabla que
contiene campos para lı́nea aérea. número de vuelo y puerta de embarque y
otra tabla que contiene campos para número de vuelo, puerta de embarque
y hora de salida pueden combinarse en una tabla que contenga campos
para lı́nea aérea, número de vuelo, puerta de embarque y hora de salida.

(UTEC) MDL1 25 / 44
Operaciones con relaciones n-arias

Definición
Sean R una relación de grado m y S una relación de grado n. La reunion
Jp (R, S) con p ≤ m y p ≤ n, es una relación de grado m + n − p que
consta de todas las (m + n − −p)-uplas

(a1 , a2 , · · · , am−p , c1 , c2 , · · · , cp , b1 , b2 , · · · , bn−p )

donde las m-uplas

(a1 , a2 , · · · , am−p , c1 , c2 , · · · , cp ) pertenecen a R

y las n-uplas

(c1 , c2 , · · · , cp , b1 , b2 , · · · , bn−p ) pertenecen a S.

(UTEC) MDL1 26 / 44
Operaciones con relaciones n-arias

En otras palabras, el operador de reunión J produce a partir de dos


relaciones una nueva relación combinando todas las m-uplas de la primea
relación con todas las n-uplas de la segunda relación donde las p últimas
componentes de las m-uplas coinciden con las p primeras componentes de
las n-uplas.

(UTEC) MDL1 27 / 44
Representación de relaciones

Hay muchas formas de representar una relación entre conjuntos finitos .


Como ya hemos visto, una de ellas es enumerar sus pares ordenados. En
esta sección presentaremos dos métodos alternativos para representar
relaciones. Un método utiliza matrices booleanas. El otro método hace uso
de grafos dirigidos.
Por lo general, las matrices son estructuras apropiadas para Ja
representación de relaciones en programas informáticos. Por otra parte,
muchas veces resulta útil representar las relaciones mediante grafos
dirigidos para entender las propiedades de dicha relación.

(UTEC) MDL1 28 / 44
Representación de relaciones

Una relación entre conjuntos finitos se puede representar utilizando una


matriz booleana.
Supongamos que R es una relación de A = {a1 , a2 , · · · , am } en
B = {h1 , h2 , · · · , hn ) (escribimos los elementos de los conjuntos A y B en
un orden particular, aunque arbitrario. Además, cuando A = B usamos la
misma ordenación para A y para B ).
La relación R puede representarse por medio de la matriz MR = (mij )
donde 
 1 si (ai , bj ) ∈ R
mij =
0 si (ai , bj ) ∈
/R

En otras palabras, la matriz booleana que representa a R tiene un 1 como


elemento (i, j) si ai , está relacionado con bj y tiene un 0 en esta posición
si ai no está relacionado con bj (esta representación depende de las
ordenaciones utilizadas para A y B).

(UTEC) MDL1 29 / 44
Representación de relaciones

A continuación ilustramos el uso de las matrices para representar


relaciones.
Ejemplo
Supongamos que A = {1, 2, 3} y B = {1, 2}. Sea R la relación de A en B
que contiene a (a, b) si a ∈ A, b ∈ B y a > b.
¿Cuál es la matriz que representa a R si a1 = 1, a2 = 2 y a3 = 3 y
b1 = 1, b2 = 2?

Como R = {(2, 1), (3, 1), (3, 2)}, la matriz de R es


 
0 0
M=  1 0 
1 1

(UTEC) MDL1 30 / 44
Representación de relaciones

Los unos en M muestran que los pares (2, 1 ), (3,1 ) y (3, 2) pertenecen a
R. Los ceros muestran que ningún otro par pertenece a R.
Ejemplo
Sean A = {a1 , a2 , a3 } y B = {b1 , b2 , b3 , b4 , b5 }
 
0 1 0 0 0
M=  1 0 1 1 0 
1 0 1 0 1

¿Qué pares ordenados están en la relación R representada por la matriz


M.?

(UTEC) MDL1 31 / 44
Representación de relaciones

La matriz de una relación en un conjunto que es cuadrada(Porque?), ası́


que puede usarse para determinar si la relación cumple o no ciertas
propiedades.
Recuérdese que una relación R en A es reflexiva si y sólo si (a, a) ∈ R para
cada a ∈ A. Por tanto R es reflexiva si, y sólo si , (a, a) ∈ R para
i = 1,2, . . . n.

(UTEC) MDL1 32 / 44
Representación de relaciones

Ahora, en términos de representación matricial tenemos:


Proposición
R es reflexiva sı́, y sólo si todos los elementos de la diagonal principal de
MR , son iguales a 1.

La relación R es simétrica si (a, b) ∈ R implica que (b, a) ∈ R. En


consecuencia la relación R en el conjunto A = {a1 , a2 , . . . , an } es simétrica
si, y sólo si (a, b) ∈ R siempre que (b, a) ∈ R.

Proposición
R es simétrica, sı́, y sólo si, MR = MRt , donde MRt , es la transpuesta de la
matriz MR

(UTEC) MDL1 33 / 44
Representación de relaciones

La relación R es antisimétrica sı́, y sólo si (a, b) ∈ R y (b, a) ∈ R implican


que a = b.
Por consiguiente, la matriz de una relación antisimétrica tiene la propiedad
de que si mij = 1 con i ̸= j, entonces mij = 0.

Proposición
R es antisimétrica, sı́, y sólo si, mij mji = 0, si i ̸= j.

En otras palabras, si i ̸= j, entonces bien mij = 0 o bien mji = 0.

(UTEC) MDL1 34 / 44
Representación de relaciones

Ejemplo
Supongamos que la relación R en un conjunto se representa por medio de
la matriz  
1 1 0
M=  1 1 1 
0 1 1
¿Es R reflexiva, simétrica y/o antisimétrica?

Las operaciones de unión e intersección de conjuntos, pueden emplearse


para determinar las matrices que representan la unión y la intersección de
dos relaciones.

(UTEC) MDL1 35 / 44
Representación de relaciones

Ejemplo
Supongamos que R1 y R2 son relaciones en un conjunto A representadas
por las matrices MR1 y MR2 respectivamente.
La matriz que representa la unión de estas dos relaciones tiene un 1 en
aquellas posiciones en las que bien MR1 o bien MR2 tienen un 1.
La matriz que representa la intersección de estas dos relaciones tiene un 1
en aquellas posiciones en las que tanto MR1 , como MR2 tienen un 1.
Por tanto, las matrices que representan la unión y la intersección de estas
relaciones son

(UTEC) MDL1 36 / 44
Representación de relaciones

Ejemplo
Supongamos que las relaciones R1 y R2 en un conjunto A están
representadas por las matrices
¿Cuáles son las matrices que representan a R1 ∪ R2 y R1 ∩ R2 ?

(UTEC) MDL1 37 / 44
Representación de relaciones

Ahora centramos nuestra atención en determinar la matriz de la


composición de relaciones.
Esta matriz puede hallarse usando el producto booleano de las matrices de
las relaciones.
En particular, supongamos que R e una relación de A en B y que S es una
relación de B en C .
Supongamos que A, B y C tiene n, m y p elementos respectivamente.
Sean MS◦R = [tij ], MR = [rij ] y MS = [sij ] las matrices booleanas
asociadas a S ◦ R, R y S
El par ordenado (a, b) pertenece a S ◦ R si, y sólo si, existe un elemento bi
tal que (a, bi ) pertenece a R y (bi c) pertenece a S.
Se sigue que tij = 1 si, y sólo si, rik = skj = 1 para algún k.

(UTEC) MDL1 38 / 44
Representación de relaciones

Ejemplo
Halla la matriz que representa a la relación R 2 si
 
0 1 0
MR =  0 1 1 
1 0 0

es la matriz que representa a R

(UTEC) MDL1 39 / 44
Representación de relaciones

Hemos visto que una relación se puede representar enumerando todos sus
pares ordenados o utilizando una matriz booleana.
Hay otra manera importante de representar una relación por medio de una
representación gráfica. Cada elemento del conjunto se representa mediante
un punto y cada par ordenado se representa mediante un segmento
orientado cuyo sentido viene indicado por una flecha. Utilizamos esta
representación gráfica cuando pensamos en las relaciones en un conjunto
finito como grafos dirigidos o dı́grafos.
Definición
Una arista de la forma (a, a) se representa usando un arco que conecta el
vértice a consigo mismo.
Una arista de esta forma se llama bucle.

(UTEC) MDL1 40 / 44
Representación de relaciones

El grafo dirigido con vértices a, b, e y d y aristas (a, b), (a, d), (b, b), (b,
d), (e, a), (e, b) y (d, b) se muestra en la Figura 3. ... b e Figura 3. Un
grafo dirigido.
La relación R en un conjunto A está representada por el grafo dirigido que
tiene por vértices los elementos de A y por aristas los pares ordenados
(a, b) tales que (a, b) ∈ R.
Esta asignación establece una biyección entre las relaciones en un conjunto
A y los grafos dirigidos cuyo conjunto de vértices es A. Ası́, cada
afirmación acerca de relaciones se corresponde con una afirmación acerca
de grafos dirigidos, y viceversa. Los grafos dirigidos ofrecen, de manera
visual. la información acerca de las relaciones. Por ello se usan con
frecuencia para estudiar relaciones y sus propiedades.

(UTEC) MDL1 41 / 44
Representación de relaciones

Ejemplo
Representar el grafo dirigido de la relación

R = (1, 1), (1, 3), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (4, 1)

en el conjunto {1, 2, 3, 4}

Ejemplo
Los pares ordenados (x, y ) de la relación sobre el conjunto
A = {1, 2, 3, 4, 5, 6} son

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

Representarlos en un digrafo.

(UTEC) MDL1 42 / 44
Representación de relaciones

Proposición
Una relación es reflexiva si, y sólo si, hay un bucle en cada vértice del
grafo dirigido, de modo que todos los pares ordenados de la forma
(x, x) pertenecen a la relación.
Una relación es simétrica si, y sólo si, para cada arista entre vértices
(distintos de su digrafo existe una arista en sentido opuesto, de modo
que (y , x) esta en la relación siempre que (x, y ) lo está.
Una relación es antisimétrica si, y sólo si, no hay ninguna pareja de
aristas con sentidos opuestos uniendo dos vértices distintos.
Una relación es transitiva si, y sólo si, siempre que hay una arista
uniendo un vértice x con un vértice y y una arista uniendo el vértice y
con un vértice z, hay una tercera arista que une x con z
(completando un triángulo en el que cada lado es una arista orientada
en la dirección correcta).

(UTEC) MDL1 43 / 44
Representación de relaciones

Ejemplo
Determina si las relaciones asociadas a lo grafo dirigidos que se muestran
en la Figura 6 son reflexivas. simétricas, antisimétricas y/o transitivas.

(UTEC) MDL1 44 / 44

También podría gustarte