You are on page 1of 110

Matemtica Discreta para Cincia da Computao

P. Blauth Menezes
blauth@inf.ufrgs.br

Departamento de Informtica Terica Instituto de Informtica / UFRGS

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Matemtica Discreta para Cincia da Computao


P. Blauth Menezes 1 2 3 4 5 6 7 8 9 10 11 Introduo e Conceitos Bsicos Lgica e Tcnicas de Demonstrao lgebra de Conjuntos Relaes Funes Parciais e Totais Endorrelaes, Ordenao e Equivalncia Cardinalidade de Conjuntos Induo e Recurso lgebras e Homomorfismos Reticulados e lgebra Booleana Concluses

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

4 Relaes
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes Banco de Dados Relacional Rede de Petri Relaes nas Linguagens de Programao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

4 Relaes

Conceito intuitivo de relao


muito prximo do conceito formal

Exemplos do cotidiano
parentesco maior ou igual (como estatura de pessoas) igualdade (como de numeros reais) lista telefnica que associa a cada assinante o seu nmero (ou nmeros) de telefone faz fronteira com para um conjunto de pases filas de pessoas para os diversos caixas em um banco

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Computao e Informtica
muitas construes so baseadas em relaes ou derivados (funes) algumas so introduzidas na disciplina existem importantes construes que so relaes Banco de Dados Relacional Rede de Petri

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

4.1 Introduo

Conceito intuitivo de relao


usual na Matemtica e na Computao e Informtica

Exemplos de relaes j usados


Teoria dos Conjuntos igualdade continncia Lgica equivalncia implicao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

So relaes binrias
relacionam dois elementos de cada vez

Seguindo o mesmo raciocnio


relaes ternrias, quaternrias, unrias, etc.

Relaes podem ser sobre colees que no so conjuntos


exemplo: a continncia sobre todos os conjuntos

O estudo que segue


relaes binrias e pequenas

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Def: Relao
Relao (pequena e binria) R de A em B RAB A: domnio, origem ou conjunto de partida de R B: contra-domnio, codomnio, destino ou conjunto de chegada de R

Se a, b R
a relaciona-se com b

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Exp: Relao
A = { a }, B = { a, b } e C = { 0, 1, 2 } relao de A em B de A em C, de B em C, etc. A B = { a, a, a, b } relao com origem em A e destino B conjunto de partida A e conjunto de chegada B { a, a } relao de igualdade { 0, 1, 0, 2, 1, 2 } relao de menor de C em C { 0, a, 1, b } uma relao de C em B

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Notao alternativa para relao R A B


R: A B

Notao para a, b R
aRb

Exp: Relao
A = { a }, B = { a, b } e C = { 0, 1, 2 } Para : P(B) P(B), tem-se que { a } { a, b } Para : C C, tem-se que 0 2 Para =: A A, tem-se que a = a

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

10

Relao no necessariamente relaciona entidades de um mesmo conjunto


exemplo: lista telefnica relaciona pessoas com nmeros relacionar entidades de um mesmo conjunto: especialmente importante

Def: Endorrelao, Auto-Relao


A um conjunto. Relao R: A A uma Endorrelao ou Auto-Relao nesse caso, R uma relao em A

Notao de uma endorrelao R: A A


A, R

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

11

Exp: Endorrelao
A um conjunto N, Z, < Q, = P(A), P(R),

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

12

Diagrama de Venn
elementos relacionados: ligados por setas

Exp: Diagrama de Venn


par a, b de R: A B para C = { 0, 1, 2 }, a relao C, < = { 0, 1, 0, 2, 1, 2 } C foi repetido no diagrama usual na diagramao de endorrelaes.

A a

B b

C 0 1 2

C 0 1 2

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

13

Def: Domnio de Definio, Conjunto Imagem, Conexa


R: A B uma relao a, b R R est definida para a b imagem de a Domnio de Definio elementos de A para os quais R est definida Conjunto Imagem ou Domnio de Valores todos os elementos de B, os quais so imagem de R

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

14

Exp: Domnio de Definio, Conjunto Imagem


A = { a }, B = { a, b } e C = { 0, 1, 2 } : A B domnio de definio e conjunto imagem: vazios (C, <), sendo que < definida por { 0, 1, 0, 2, 1, 2 } domnio de definio: { 0, 1 } domnio de valores: { 1, 2 } =: A B domnio de definio e conjunto imagem: { a }

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

15

Representao grfica das relaes binrias


importante em diversas aplicaes computacionais ou no em especial, das endorrelaes em R R R2 representados no plano cartesiano

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

16

Exp: Relaes no Plano Cartesiano

seno: R1 = { x, y y = sen x } parbola R2 = { x, y x = y2 }


Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

17

Coordenadas polares so freqentemente usadas para representar imagens no plano

Exp: Relaes no Plano Cartesiano

sen(6 cos r + 5) < -0,3 cos 10 < tan(r sen 2r)


Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

18

4 Relaes
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes Banco de Dados Relacional Rede de Petri Relaes nas Linguagens de Programao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

19

4.2 Endorrelao como Grafo


Endorrelao R: A A pode ser vista como grafo Ser visto que


toda endorrelao um grafo nem todo grafo uma endorrelao

Teoria dos Grafos


conceitos introduzidos em captulo especfico no objetivo desta disciplina introduzido via exemlos

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

20

Endorrelao como grafo


facilita o estudo viso mais clara do relacionamento e das propriedades

Limitaes da representao fsica


conveniente para relaes com poucos pares

Se representao fsica no importante


como grafo pode ser conveniente mesmo com um nmero infinito de pares

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

21

Uma endorrelao R: A A como grafo


Nodos elementos de A ponto ou crculo Setas, arcos, arestas pares da relao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

22

Exp: Endorrelao como Grafo


A = { a }, B = { a, b } e C = { 0, 1, 2 } : A A B, = C, < R: C C
a a b 1 2 1 2

= definida por { a, a, b, b } < definida por { 0, 1, 0, 2, 1, 2 } R = { 0, 2, 2, 1, 2, 2 }


0 0

endorrelao cujo grafo possui dois ou mais arcos distintos com o mesmo nodo origem e destino?
23

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

4 Relaes
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes Banco de Dados Relacional Rede de Petri Relaes nas Linguagens de Programao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

24

4.3 Relao como Matriz


A = { a1, a2,, an } e B = { b1, b2,, bm } conjuntos finitos representao de R: A B como matriz especialmente interessante para implementao

Representao
n linhas m colunas m*n posies ou clulas cada posies contm valor lgico (verdadeiro ou falso) por simplicidade: 0 e 1 representam falso e verdadeiro se ai, bj R linha i e coluna j contm o valor verdadeiro caso contrrio, falso

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

25

Exp: Relao como Matriz


A = { a }, B = { a, b } e C = { 0, 1, 2 } : A A B, = C, < R: C C a a 0 = a b a 1 0 b 0 1 = definida por { a, a, b, b } < definida por { 0, 1, 0, 2, 1, 2 } R = { 0, 2, 2, 0, 2, 2 } < 0 1 2 0 0 1 1 1 0 0 1 2 0 0 0 R 0 1 2 0 0 0 1 1 0 0 0 2 1 0 1

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

26

Exp: Relao como Matriz


A = { a }, B = { a, b } e C = { 0, 1, 2 } A B: A B { 0, a, 1, b }: C B : P(A) P(B) AB a b a 1 1 S a b 0 1 0 1 0 1 2 0 0 {a} 1 1 {b} 1 0 { a, b } 1 1

{a} 0 1

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

27

4 Relaes
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes Banco de Dados Relacional Rede de Petri Relaes nas Linguagens de Programao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

28

4.4 Relao Dual e Composio de Relaes

Duas questes naturais no estudos das relaes


relao dual inverso (troca) das componentes de cada par de uma relao operao unria sobre as relaes relao composta aplicao de uma relao sobre o resultado de outra operao binria sobre as relaes

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

29

lgebra de relaes
dualidade e composio juntamente com outras operaes unio interseco (exerccio) constituem uma lgebra de relaes lgebra grande coleo de todas as relaes no um conjunto exerccio

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

30

4 Relaes
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes 4.4.1 Relao Dual 4.4.2 Composio de Relaes Tipos de Relaes Banco de Dados Relacional Rede de Petri Relaes nas Linguagens de Programao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

31

4.4.1

Relao Dual

Def: Relao Dual, Relao Oposta, Relao Inversa


R: A B relao. Relao Dual, Oposta ou Inversa de R R-1: B A tal que R-1 = { b, a a, b R } ou Rop: B A

Obs: Relao Dual Relao Inversa


O termo relao dual ser usado preferencialmente ao relao inversa relao inversa mais comum nas bibliografias causa confuso com o termo possuir inversa fundamental no estudos das relaes (ser visto adiante)
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

32

Exp: Relao Relao Dual


A = { a }, B = { a, b } e C = { 0, 1, 2 } =: A B dada por { a, a } { 0, a, 1, b }: C B A B: A B : A B <: C C =op: B A dada por { a, a } { a, 0, b, 1 }: B C (A B)-1 = B A: B A op = : B A <op = >: C C

C 0 1 2

C 0 1 2

C 0 1 2

C 0 1 2

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

33

Exp: Relao Dual no Plano Cartesiano


R1 = { x, y y = sen x } R2 = { x, y x = y2 } R1op = ??? R2op = ???

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

34

Exp: Relao Dual no Plano Cartesiano


R1 = { x, y y = sen x } R2 = { x, y x = y2 } R1op = { y, x y = sen x } R2op = { y, x x = y2 }

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

35

Relao dual como matriz ou grafo (endorrelao)


matriz da relao dual: matriz transposta troca linhas por colunas grafo da relao dual: grafo dual troca do sentido das arestas

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

36

Exp: Grafo e Matriz de Relao Dual


C = { 0, 1, 2 }, C, < e C, R

>

<

Rop

2
37

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Exp: Matriz de Relao Dual


Sejam A = { a }, B = { a, b }, C = { 0, 1, 2 }, C, < e : P(A) P(B) < 0 1 2 0 0 1 1 1 0 0 1 2 0 0 0 { a } { b } { a,b } 1 1 1 1 0 1 1 > 0 1 2 0 0 0 0 1 1 0 0 2 1 1 0 {a} {b} {a} 1 1 1 0 1 0 1

{a} 0

{ a,b } 1

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

38

4 Relaes
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes 4.4.1 Relao Dual 4.4.2 Composio de Relaes Tipos de Relaes Banco de Dados Relacional Rede de Petri Relaes nas Linguagens de Programao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

39

4.4.2

Composio de Relaes

Def: Composio de Relaes


R: A B e S: B C relaes. Composio de R e S S o R: A C tal que: (a A)(b B)(c C)(a R b b S c a (S o R) c)

Em Computao e Informtica
usual representar a composio por ";" ordem inversa R ; S: A C

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

40

Exp: Composio de Relaes


R: A B, S: B C e S o R: A C R = { a, 1, b, 3, b, 4, d, 5 } S = { 1, x, 2, y, 5, y, 5, z } S o R = { a, x, d, y, d, z }

S R A a b c d R B 1 2 3 4 5 S x y z C

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

41

Relao resultante de uma composio


pode ser composta com outra relao composio de relaes associativa?

Teorema: Associatividade da Composio de Relaes


R: A B, S: B C e T: C D relaes. Ento: (T o S) o R = T o (S o R)

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

42

Prova:

(T o S) o R = T o (S o R)

Suponha R: A B, S: B C e T: C D relaes Prova dividida em dois casos (duas continncias) Caso 1. (T o S) o R T o (S o R). Seja a, d (T o S) o R a, d (T o S) o R (b B)(a R b b (T o S) d) (b B)(c C)(a R b (b S c c T d)) (b B)(c C)((a R b b S c) c T d) (c C)(a (S o R) c c T d) a, d T o (S o R) definio composio definio composio associatividade lgica associatividade lgica definio composio

Caso 2. T o (S o R) (T o S) o R. Anloga: exerccio Logo, a composio de relaes associativa


Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

43

Como a composio de relaes associativa


parnteses podem ser omitidos (T o S) o R = T o (S o R) = T o S o R

Composio de relaes como grafos


no especialmente vantajoso

Composio de relaes como matrizes


produto de matrizes valores da matrizes so lgicos (verdadeiro, falso ou 1 e 0) multiplicao substituda pelo conetivo lgico adio substituda pelo conetivo lgico

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

44

Produto lgico de matrizes


relao R: matriz m n relao S: matriz n p relao T = S o R: matriz m p clculo de cada clula tuv da matriz m p resultante tuv = (ru1 s1v) (ru2 s2v) (rum smv)

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

45

Exp: Composio como Produto de Matrizes


R a b c d 1 1 0 0 0 2 0 0 0 0 3 0 1 0 0 4 0 1 0 0 5 0 0 0 1 S 1 2 3 4 5 x y z T a b c d x 1 0 0 0 y z

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

0 0 0 0 0 0 1 1

t11 = (r11 s11) (r12 s21) (r13 s31) (r14 s41) (r15 s51) = (1 1) (0 0) (0 0) (0 0) (0 0) = 1 0 0 0 0 = 1 t23 = (r21 s13) (r22 s23) (r23 s33) (r24 s43) (r25 s53) = (0 0) (0 0) (1 0) (1 0) (0 1) = 0 0 0 0 0 = 0
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

46

4 Relaes
4.1 4.2 4.3 4.4 4.5 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes 4.5.1 Funcional e Injetora 4.5.2 Total e Sobrejetora 4.5.3 Monomorfismo e Epimorfismo 4.5.4 Isomorfismo 4.6 Banco de Dados Relacional 4.7 Rede de Petri 4.8 Relaes nas Linguagens de Programao
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

47

4.5 Tipos de Relaes

Tipos de uma relao (no mutuamente exclusivos)


funcional injetora total sobrejetora monomorfismo epimorfismo isomorfismo

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

48

Tipos possuem uma noo de dualidade


se corretamente entendida e aplicada simplifica (divide pela metade) o estudo e o entedimento

Noo de dualidade
plenamente explorada no estudo de Teoria das Categorias Teoria das Categorias divide o trabalho pela metade nesta disciplina algumas noes categoriais so introduzidas

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

49

A dualidade dos tipos


funcional o dual de injetora e vice-versa total o dual de sobrejetora e vice-versa

Monomorfismo dual de epimorfismo


monomorfismo: total e injetora epimorfismo: sobrejetora e funcional

Isomomorfismo
estabelece uma noo semntica de igualdade portanto, o dual de si mesmo
50

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

4 Relaes
4.1 4.2 4.3 4.4 4.5 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes 4.5.1 Funcional e Injetora 4.5.2 Total e Sobrejetora 4.5.3 Monomorfismo e Epimorfismo 4.5.4 Isomorfismo 4.6 Banco de Dados Relacional 4.7 Rede de Petri 4.8 Relaes nas Linguagens de Programao
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

51

4.5.1

Funcional e Injetora

Relao funcional especialmente importante


permite definir funo, desenvolvido em captulo especfico

Def: Relao Funcional


Seja R: A B relao. Ento R uma Relao Funcional sse (a A)(b1 B)(b2 B)(a R b1 a R b2 b1 = b2)

Qual o significado?

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

52

Portanto, para R: A B funcional


cada elemento de A est relacionado com, no mximo, um elemento de B

Exp: Relao Funcional


A = { a }, B = { a, b } e C = { 0, 1, 2 } : A B { 0, a, 1, b }: C B =: A B x2: Z Z onde x2 = { x, y Z2 y = x2 }

A B: A B <: C C

Grafo e matriz de uma relao funcional?


53

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Rel. funcional como matriz ou grafo (endorrelao)


matriz: no maximo um valor verdadeiro em cada linha grafo: no mximo uma aresta partindo de cada nodo

Injetora o conceito dual


matriz: no maximo um valor verdadeiro em cada coluna grafo: no mximo uma aresta chegando em cada nodo

Def: Relao Injetora


Seja R: A B relao. Ento R Relao Injetora sse (b B)(a1 A)(a2 A)(a1 R b a2 R b a1 = a2)

Qual o significado?
54

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Portanto, para R: A B injetora


cada elemento de B est relacionado com, no mximo, um elemento de A

Exp: Relao Injetora


A = { a }, B = { a, b } e C = { 0, 1, 2 } : A B =: A B { 0, a, 1, b }: C B A B: A B <: C C x2: Z Z onde x2 = { x, y Z2 y = x2 }

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

55

Dual Complementar
funcional e injetora conceitos duais no so complementares fcil encontrar exempos de relaes so simultaneamente funcional e injetora no so simultaneamente funcional e injetora

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

56

4 Relaes
4.1 4.2 4.3 4.4 4.5 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes 4.5.1 Funcional e Injetora 4.5.2 Total e Sobrejetora 4.5.3 Monomorfismo e Epimorfismo 4.5.4 Isomorfismo 4.6 Banco de Dados Relacional 4.7 Rede de Petri 4.8 Relaes nas Linguagens de Programao
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

57

4.5.2

Total e Sobrejetora

Def: Relao Total


Seja R: A B relao. Ento R uma Relao Total sse (a A)(b B)(a R b)

Qual o significado?

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

58

Portanto, para R: A B total


domnio de definio A

Exp: Relao Total


A = { a }, B = { a, b } e C = { 0, 1, 2 } =: A B A B: A B x2: Z Z onde x2 = { x, y Z2 y = x2 }

: A B { 0, a, 1, b }: C B <: C C

Grafo e matriz de uma relao total?


59

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Relao total como matriz ou grafo (endorrelao)


matriz: pelo menos um valor verdadeiro em cada linha grafo: pelo menos uma aresta partindo de cada nodo

Sobrejetora o conceito dual


matriz: pelo menos um valor verdadeiro em cada coluna grafo: pelo menos uma aresta chegando em cada nodo

Def: Relao Sobrejetora


Seja R: A B relao. Ento R uma Relao Sobrejetora sse (b B)(a A)(a R b)

Qual o significado?
60

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Portanto, para R: A B sobrejetora


conjunto imagem B

Exp: Relao Sobrejetora


A = { a }, B = { a, b } e C = { 0, 1, 2 } =: A A { 0, a, 1, b }: C B A B: A B =: A B : A B <: C C x2: Z Z onde x2 = { x, y Z2 y = x2 }
61

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Dual Complementar
total e sobrejetora conceitos duais no so complementares fcil encontrar exempos de relaes so simultaneamente total e sobrejetora no so simultaneamente total e sobrejetora

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

62

4 Relaes
4.1 4.2 4.3 4.4 4.5 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes 4.5.1 Funcional e Injetora 4.5.2 Total e Sobrejetora 4.5.3 Monomorfismo e Epimorfismo 4.5.4 Isomorfismo 4.6 Banco de Dados Relacional 4.7 Rede de Petri 4.8 Relaes nas Linguagens de Programao
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

63

4.5.3

Monomorfismo e Epimorfismo

Monomorfismo, epimorfismo e isomomorfismo


noes gerais podem ser aplicadas a outras construes alm das relaes estudado em Teoria das Categorias nosso estudo: restrito s relaes

Def: Monomorfismo, Monorrelao


Seja R: A B relao. Ento R Monomorfismo ou Monorrelao sse total injetora
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

64

Portanto, para R: A B monorrelao


domnio de definio A cada elem. de B est relacionado com, no mximo, um elem. de A

Exp: Monorrelao
A = { a }, B = { a, b } e C = { 0, 1, 2 } =: A B A B: A B B C: B C : A B { 0, a, 1, b }: C B <: C C x2: Z Z onde x2 = { x, y Z2 y = x2 }
65

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Monorrelao como matriz ou grafo (endorrelao)


matriz pelo menos um valor verdadeiro em cada linha (total) no mximo um valor verdadeiro em cada coluna (injetora) grafo (endorrelao) pelo menos uma aresta partindo (total) em cada nodo no mximo uma aresta chegando (injetora) em cada nodo

Epirrelao o conceito dual


matriz pelo menos um valor verdadeiro em cada coluna (sobrejetora) no mximo um valor verdadeiro em cada linha (funcional) grafo pelo menos uma aresta chegando (sobrejetora) em cada nodo no mximo uma aresta partindo (funcional) em cada nodo

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

66

Def: Epimorfismo, Epirrelao


Seja R: A B relao. Ento R Epimorfismo ou Epirrelao sse funcional sobrejetora

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

67

Portanto, para R: A B epirrelao


conjunto imagem B cada elem. de A est relacionado com, no mximo, um elem. de B

Exp: Epirrelao
A = { a }, B = { a, b } e C = { 0, 1, 2 } =: A A { 0, a, 1, b }: C B =: A B : A B A B: A B <: C C x2: Z Z onde x2 = { x, y Z2 y = x2 }
68

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

4 Relaes
4.1 4.2 4.3 4.4 4.5 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes 4.5.1 Funcional e Injetora 4.5.2 Total e Sobrejetora 4.5.3 Monomorfismo e Epimorfismo 4.5.4 Isomorfismo 4.6 Banco de Dados Relacional 4.7 Rede de Petri 4.8 Relaes nas Linguagens de Programao
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

69

4.5.4

Isomorfismo

Isomorfismo: uma noo de igualdade semntica


uma relao tal que quando composta com a sua inversa resulta em uma igualdade

Intuitivamente
ir (via relao) e voltar (via sua inversa) sem alterar

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

70

Antes de definir isomorfismo: relao identidade


relaes de igualdade so freqentes =: { a } { a, b } definida por { a, a } { a, b }, = definida por { a, a, b, b } relao identidade: endorrelao A, = denotada por A, idA idA: A A

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

71

Def: Isomorfismo, Isorrelao


Relao R: A B Isomorfismo ou Isorrelao, sse existe S: B A S o R = idA R o S = idB Notao para enfatizar que R: A B uma isorrelao R: A B R possui inversa esquerda: S o R = idA R possui inversa direita: R o S = idB R possui inversa: S o R = idA e R o S = idB Conjuntos isomorfos se existe uma isorrelao entre dois conjuntos
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

72

Exp: Isorrelao, Conjuntos Isomorfos


Sejam A = { a, b, c }, C = { 1, 2, 3 } e R: A C R = { a, 1, b, 2, c, 3 } R um isomorfismo. Considere a dual R-1: C A tal que R-1 = { 1, a, 2, b, 3, c } Logo: R-1 o R = { a, a, b, b, c, c } = idA R o R-1 = { 1, 1, 2, 2, 3, 3 } = idB Portanto, A e C so conjuntos isomorfos

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

73

Prova de que um isomorfismo


mostrar que possui inversa se possui inversa, ento a relao dual

Prova de que no um isomorfismo


pode ser um pouco mais difcil frequntemente, por absurdo a dual nem sempre a inversa

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

74

Exp: No Isomorfismo
Sejam A = { 0, 1, 2 }, B = { a, b } e R: A B R = { 0, a, 1, b } R no isomorfismo. Prova por absurdo Suponha que R isomorfismo. Ento, R possui relao inversa S: B A S o R = idA e R o S = idB definio de relao identidade definio de composio absurdo! No existe 2, x em R

S o R = idA 2, 2 S o R (x A)(2, x R x, 2 S) Portanto, R no isomorfismo

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

75

Exp: Isorrelao
A = { a }, B = { a, b }, C = { 0, 1, 2 } e X conjunto qualquer idB: B B idX: X X { 0, 1, 1, 2, 2, 0 }: C C : A B A B: A B <: C C x2: Z Z onde x2 = { x, y Z2 y = x2 }

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

76

Teorema: Isorrelao Monorrelao e Epirrelao


R: A B relao. Ento R uma isorrelao sse R monorrelao R epirrelao Portanto, uma isorrelao total injetora funcional sobrejetora

Resultado pode auxiliar na determinao se isorrelao no isorrelao


Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

77

Isomorfismo: importante resultado que pode ser deduzido


conjuntos origem e destino possuem o mesmo nmero de elementos explorado detalhadamente no estudo da cardinalidade de conjuntos nmero de elementos conjuntos com mesmo cardinal so ditos iguais (semanticamente) a menos de uma relao de troca de nomes dos elementos ou seja, a menos de uma isorrelao em muitas teorias, para enfatizar que nomes no so importantes iguais a menos de isomorfismo

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

78

Exp: Igualdade a Menos de Isomorfismo: Produto Cartesiano


Sabe-se que: produto cartesiano uma operao no-comutativa Exemplo: A = { a, b } e B = { 0, 1 } A B = { a, 0, a, 1, b, 0, b, 1 } B A = { 0, a, 0, b, 1, a, 1, b } Entretanto, so isomorfos troca: A B B A - troca as componentes troca={ a,0, 0,a , a,1, 1,a , b,0, 0,b , b,1, 1,b } possui como inversa a relao dual troca-1: B A A B troca-1={ 0,a, a,0 , 1,a, a,1 , 0,b, b,0 , 1,b, b,1 }
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

conjuntos diferentes

79

Exp: Igualdade a Menos de Isomorfismo: Produto Cartesiano


Claramente troca-1 o troca = idAB Generalizao: exerccio quaisquer dois conjuntos A e B A B isomorfo ao B A iguais a menos de isomorfismo e troca o troca-1 = idBA

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

80

4 Relaes
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes Banco de Dados Relacional Rede de Petri Relaes nas Linguagens de Programao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

81

4.6 Banco de Dados Relacional

Bancos de dados
comuns na grande maioria das aplicaes computacionais de algum porte de razoavel complexidade permite manipular os dados com maior eficncia e flexibilidade atende a diversos usurios garante a integridade (consistncia) dos dados

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

82

Resumidamente, um banco de dados


um conjunto de dados integrados cujo objetivo atender a uma comunidade de usurios

Banco de dados relacional


dados so conjuntos (representados como tabelas) relacionados com outros conjuntos (tabelas)

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

83

Exp: Banco de Dados Relacional


Pas Brasil Turquia Alemanha Coria do Sul Fica em Brasil Alemanha Turquia Coria do Sul Continent e Amrica Oceania frica sia Europa Amrica 1 0 0 0 0 0 0 0 Fica e m Brasil Alemanha Turquia Turquia Coria do Sul frica 0 0 0 0 0 0 1 1 Amrica Europa Europa sia sia Europa 0 1 1 0
84

Oceania

sia

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Endorrelaes em um banco de dados relacional


Semifinais/Final Copa 2002 Brasil Alemanha Turquia Coria Sul Bra 0 1 1 0 Tur Ale Cor 1 0 0 1 1 0 0 0 0 1 0 0

Semifinais / Final Copa 2002 Brasil Alemanha Brasil Turquia Coria Sul Alemanha

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

85

Modelo conceitual
modelo abstrato de dados descreve a estrutura de um banco de dados independentemente de implementao usado para o projeto de um banco de dados modelo freqentemente adotado diagrama entidade-relacionamento ou simplesmente diagrama E-R

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

86

Diagrama entidade-relacionamento ou Diagrama E-R


entidades: conjuntos representados por retngulos

Pas

Continente

relacionamentos: representado por losngulos


Pas Fica em Continente

Pas

Semifinais Final
87

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Nmero de elementos que podem ser relacionados em


0, 1 ou N (mais que um)

(0,1)

(1,N)

(1,N) - cada a A est relacionado com, no mnimo 1 e, no mximo N elementos de B (0,1) - cada b B est relacionado com, no mnimo 0 e, no mximo 1 elemento de A

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

88

Alguns tipos de relaes


(0,N) (0,N) (0,1) (1,N) (1,N) (0,1) (0,N) (0,N)

Relao Total Relao Funcional Relao Injetora Relao Sobrejetora

A A A A

R R R R

B B B B

como seria o diagrama de uma monorrelao? e de uma epirrelao?


Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

89

4 Relaes
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes Banco de Dados Relacional Rede de Petri Relaes nas Linguagens de Programao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

90

4.7 Rede de Petri

Rede de Petri
provavelmente, o modelo do tipo concorrente mais usado em CC

Conceito de rede de Petri


introduzido atravs de exemplo

Por fim, rede de Petri como uma relao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

91

Exp:

Rede de Petri - Produtor e Consumidor


A X

p2

p1

c1

c2

Canal

B Produtor

Y Consumidor

Produtor e Consumidor: processos concorrentes trocam recursos atravs do Canal


Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

92

Exp:

Rede de Petri - Produtor e Consumidor

nodos: lugares lugares podem conter marcas (tokens) exemplo: um recurso para ser consumido nos lugares A e Y arcos: so transies (quadrados) ou computaes atmicas pode possuir mais de um lugar como origem ou destino a cada lugar origem (destino) associado um valor quantos recursos sero consumidos (produzidos) quando da execuo da transio valor 1 usualmente omitido transio habilitada recursos necessrios esto disponveis nos lugares origem
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

93

Exp:

Rede de Petri - Produtor e Consumidor

execuo de uma transio recursos de cada lugar origem so consumidos recursos de cada lugar destino so produzidos processamento: sucessiva aplicao de computaes atmicas mais de uma transio pode estar habilitada processamento concorrente (se no consomem mesmo recurso)


2 3


2 3

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

94

p2

p1

c1

c2

Canal

B Produtor

Y Consumidor

Observe que
com origem no lugar A, p1 consome uma marcao p1, com destino no lugar B, produz uma marcao p1, com destino no lugar Canal, produz duas marcaes

Como pares ordenados


A, p1, 1 p1, B, 1 p1, Canal, 2

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

95

Rede de Petri como uma relao P


L - conjunto de lugares T - conjunto de transies P: (L T) + (T L) N A, t, n - transio t, com origem em A, consome n marcaes t, A, n - transio t, com destino em A, produz n marcaes unio disjunta?

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

96

p2

p1

c1

c2

Canal

B Produtor

Y Consumidor

Todos os pares
A, p1, 1 p1, B, 1 p1, Canal, 2 B, p2, 1 p2, A, 1 Canal, c1, 3 Y, c1, 1 c1, X, 1 X, c2, 1 c2, y, 1
97

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Observe que a relao define a rede


mas no a sua marcao inicial uma rede pode ser executada para diversas marcaes iniciais marcao inicial uma opo de execuo normalmente no faz parte da definio da rede

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

98

Exp: Rede de Petri - Relgio


faz sequncias de tic-tac tic-tac um segundo move ponteiro de segundos 60 segundos move o ponteiro de minutos 3600 segundos move o ponteiro das horas

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

99

Exp: Rede de Petri - Relgio


faz sequncias de tic-tac tic-tac: um segundo e move ponteiro de segundos 60 segundos: move o ponteiro de minutos 3600 segundos: move o ponteiro das horas
A C mov ponteiro seg mov ponteiro min mov ponteiro horas
100

D tic tac

60

3600 B
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

mov ponteiro seg mov ponteiro min mov ponteiro horas

D tic tac

60

3600 B E

Transies que movem os ponteiros seg, min e horas


consomem recursos mas no produzem qualquer recurso sumidouros fontes dual de sumidouros: somente produzem, sem consumir

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

101

mov ponteiro seg mov ponteiro min mov ponteiro horas

D tic tac

60

3600 B E

B, tac, 1 tac, A, 1 tac, C, 1 tac, D, 1 tac, E, 1


Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

A, tic, 1 tic, B, 1 C, seg, 1 D, min, 60 E, horas, 3600


102

Como seria?
hora: badalada de um cuco nmero da hora (1 ~ 12 horas) nmero de badaladas do cuco

mov ponteiro seg mov ponteiro min mov ponteiro horas

D tic tac

60

3600 B E

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

103

4 Relaes
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Relao Endorrelao como Grafo Relao como Matriz Relao Dual e Composio de Relaes Tipos de Relaes Banco de Dados Relacional Rede de Petri Relaes nas Linguagens de Programao

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

104

4.8 Relaes nas Linguagens de Programao

Relaes no so normalmente disponveis em LP


excetuando-se algumas construes simples (predefinidas)

Pascal: exemplos de relaes predefinidas


igualdade e continncia de conjuntos implicao e equivalncia lgica igualdade e desigualdade entre valores numricos (tipo integer e real) valores alfanumricos (tipo char)

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

105

Construes mais gerais


necessitam ser construdas pelo programador

Forma simples de implementar


relaes como matrizes podem ser implementadas usando arranjos bidimensionais exemplo: matriz 10 10 com clulas do tipo boolean

matriz = array[1..10, 1..10] of boolean


acesso a cada componente nome da varivel arranjo + dois ndices (linha e coluna)

matriz[2, 3] := true if matriz[i, j] then


Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

106

Importante restrio (usando arranjos)


possui um nmero fixo de componentes

Nmero varivel de clulas


outros tipos de construes permitem alocao dinmica de memria exemplo: ponteiros possuem particularidades dependentes de cada linguagem discusso foge do escopo da disciplina

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

107

Exerccio - Implementao
Fazer um pequeno sistema que permita definir relaes tratar construes correlatas como a investigao de seus tipos, clculo da composio de relaes, etc Construa um pequeno sistema em (qq LP) capaz de definir at 6 conjuntos com at 5 elementos cada definir at 5 relaes como matrizes sobre estes conjuntos verificar os tipos de uma relao calcular a relao dual calcular (e armazenar) a composio de duas relaes permitir todas as aes acima sobre a relao resultante
108

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

Matemtica Discreta para Cincia da Computao


P. Blauth Menezes 1 2 3 4 5 6 7 8 9 10 11 Introduo e Conceitos Bsicos Lgica e Tcnicas de Demonstrao lgebra de Conjuntos Relaes Funes Parciais e Totais Endorrelaes, Ordenao e Equivalncia Cardinalidade de Conjuntos Induo e Recurso lgebras e Homomorfismos Reticulados e lgebra Booleana Concluses

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

109

Matemtica Discreta para Cincia da Computao


P. Blauth Menezes
blauth@inf.ufrgs.br

Departamento de Informtica Terica Instituto de Informtica / UFRGS

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes

110

You might also like