Download - Aula06 Relations 2pp
-
1Mtodos Formais
Relaes
Captulo 6: Relaes
So utilizados nas Mquinas Abstratas para o armazenamento de informaes.
Exemplo: FOTOGRAFOS CAMERAS
-
2Relaes entre Conjuntos
Se S e T so dois conjuntos, o produto cartesiano S X T o conjunto de todos os pares (s,t) dos elementos de S e T, respectivamente.
Exemplo: S={0,1} e T={2,3} S X T = {(0,2),(0,3),(1,2),(1,3)}
Relaes entre Conjuntos
Definio: S X T = {(s,t) | s : S & t : T}
Pares tambm podem ser escritos utilizando-se a notao de mapeamento:
S T Exemplo:
PHOTOGRAPHER = {anna,bob,chris,dave,elizabeth,francis} CAMERA = {canon, kodak, hasselblad, olympus, pentax,
minolta}
-
3owns
annabobchrisdave
elizabethfrancis
canonkodak
hasselbladminoltaolympuspentax
Relao owns
owns ={ (anna,canon),(bob,canon),(bob,kodak),(chris,hasselblad),(chris,kodak),(chris,pentax),(dave,pentax),(elizabeth,pentax),(elizabeth,minolta) } owns = { anna |-> canon, bob|-> canon, bob |-> kodak, chris |-> hasselblad, chris |-> kodak, chris |-> pentax, dave |-> pentax, elizabeth |-> pentax,elizabeth |-> minolta }
-
4Relaes entre Conjuntos
Uma relao entre S e T um subconjunto de S X T. S T = POW(S X T)
Para especificar que R uma relao entre S e T escrevemos: R : S T
S o conjunto fonte (SOURCE) e T um conjunto alvo (TARGET).
Relaes entre Conjuntos
Dizer que (dave,pentax) : ownssignifica que dave relaciona-se com pentax no relacionamento owns.
Utilizamos relaes nas especificaes para podermos responder perguntas como: Bob tem uma cmera? Quantas cmeras Elizabeth possui? Que cmeras Chris e Dave utilizam?
-
5Diversas Operaes e Propriedades
Domnio Imagem Restrio de Domnio Anti-Restrio de Domnio Restrio de Imagem Anti-Restrio de Imagem Imagem Relacional Composio Relacional
Reflexo Simetria Anti-Simetria Anti-Simetria Estrita Transitividade Equivalncia Sobreposio
Relacional
Domnio
O domnio de uma relao R : S T o conjunto de elementosde S que R relaciona com algum elemento em T. Em outras palavras: so os
elementos da fonte que esto relacionados com alguma coisa.
dom(R) = {s | s : S & #t . (t : T & s |-> t : R}
-
6Domnio
dom(owns) = {anna, bob, chris, dave, elizabeth}
Francis no pertence a dom(owns) pois no est relacionado a nenhuma cmera.
No h setas partindo de Francis para outro elemento.
dom(owns)
annabobchrisdave
elizabethfrancis
canonkodak
hasselbladminoltaolympuspentax
-
7Imagem
A imagem o conjunto de elementos de T que esto relacionados com elementos de S. ran(R) = {t|t : T & #s . (s : S & s |-> t : R} ran(owns) = {canon, kodak, hasselblad,
minolta, pentax} Exemplo: olympus no pertence a
ran(owns) pois no est relacionada com nenhum elemento de S.
ran(owns)
annabobchrisdave
elizabethfrancis
canonkodak
hasselbladminoltaolympuspentax
-
8Restrio de Domnio
Uma relao R : S T pode ser projetada sobre um domnio particular U t : R & s : U}
Exemplo: apenas as cmeras que chris utiliza = {chris}
-
9Anti-restrio de Domnio
uma restrio complementar que remove todos os pares que possuem o primeiro elemento pertencente a U. U t : R & s /: U}
Exemplo: todos os relacionamentos de owns exceto aqueles que possuam chris no primeiro elemento: {chris}
-
10
Restrio de Imagem
A restrio de imagem R |> V dada pelo conjunto de pares em R cujo segundo elemento est em V. R |> V = {s |-> t | s |-> t : R & t : V}
Exemplo: todas os relacionamentos cuja cmera utilizada kodak: R |> {kodak}
owns |> {kodak}
annabobchrisdave
elizabethfrancis
canonkodak
hasselbladminoltaolympuspentax
-
11
Anti-restrio de Imagem
A anti-restrio de imagem filtra todos os pares da relao R cujo o segundo elemento no est em V. R |>> V = {s |-> t | s |-> t : R & t /: V}
Exemplo: todos os relacionamentos de owns cujas cmeras no so kodak ou canon: owns |>> {kodak, canon}
owns |>> {kodak, canon}
annabobchrisdave
elizabethfrancis
canonkodak
hasselbladminoltaolympuspentax
-
12
Leis
S1 S1 /\ S2) S1 S1 \/ S2) S T) = (S T S > T) = (S > T S
-
13
Imagem Relacional
Identifica os elementos em T que so relacionados a algum elemento de U t : R & s : U}
Exemplo: cmeras que chris e elizabeth possuem: owns[{chris,elizabeth}]
owns[{chris,elizabeth}]
annabobchrisdave
elizabethfrancis
canonkodak
hasselbladminoltaolympuspentax
-
14
Inverso Relacional
Se R uma relao, ento o seu inverso relacional dado por R~. R~ = {t |-> s | s |-> t : R}
Exemplo: se os fotgrafos em S possuem cmeras em T ento as cmeras em T so possudas pelos fotgrafos em S.
Owns~
annabobchrisdave
elizabethfrancis
canonkodak
hasselbladminoltaolympuspentax
-
15
Composio Relacional
Se s est relacionado a t e t est relacionado a u ento s est relacionado a u. Se R0 : S T e R1 : T U ento
R0;R1. Em outras palavras: R0;R1 : S U
R0;R1 = {s |-> u | s : S & u : U & #t . (t : T & s |-> t : R0 & t |-> u : R1)}
owns ; takes
annabobchrisdave
elizabethfrancis
canonkodak
hasselbladminoltaolympuspentax
disc120 roll35 mmAPS
-
16
SELF-TEST
6.2) Calcule (owns~;owns)[{kodak}].
annabobchrisdave
elizabethfrancis
canonkodak
hasselbladminoltaolympuspentax
Relaes em um nico Conjunto (reflexo) Possui o conjunto fonte sendo o
mesmo de destino. Um tipo especial de relao sobre o
mesmo conjunto a de identidade, na qual um elemento se relaciona com ele mesmo. id(S) = {(s,t) | s : S & t : S & s = t}
Uma relao do tipo S S dita reflexiva.
-
17
Relaes em um nico Conjunto (simetria) A relao R : S S simtrica se
ela relaciona s1 com s2 sempre que relaciona s2 com s1.
Em outras palavras: a ordem dos dois elementos no importante.
Observe que a relao id(S) simtrica.
Relaes em um nico Conjunto (simetria) De fato R uma relao simtrica
apenas se R = R~ Exemplo: na relao
mesma_idade_que, se x tem a mesma idade que y ento y tem a mesma idade que x.
-
18
Relaes em um nico Conjunto (anti-simetria) Uma relao R : S S anti-
simtrica se ela relaciona dois elementos em no mximo um sentido.
(R /\ R~) - id(S) = {} Exemplo: na relao pais, se x pai
de y isso implica que y no pai de x, mas sim filho.
Relaes em um nico Conjunto (anti-simetria estrita) Uma relao R : S S
estritamente anti-simtrica se ela relaciona dois elementos estritamente em um sentido.
R /\ R~ = {} Exemplo: na relao pais, se x pai
de y isso implica que y no pai de x, mas sim filho.
-
19
Relaes em um nico Conjunto (transitividade) Uma relao R : S S transitiva
se s0 |-> s1 : R e s1 |->s2 : R ento s0 |-> s2 : R.
Exemplo: na relao maior_que nos Naturais, se x maior que y, e y maior que z, ento x maior que z.
Relaes em um nico Conjunto (equivalncia) Se uma relao R : S S
reflexiva, simtrica e transitiva ento ela dita uma relao de equivalncia.
Exemplo: na relao mesma_idade_que, temos simetria: Se x tem a mesma idade de y ento y tem a
mesma idade de x. reflexo:
x possui a mesma idade que x. e transitividade:
se x tem a mesma idade de y e y tem a mesma idade d z ento x tem a mesma idade de z.
-
20
Sobreposio Relacional
Se R0 : S T e R1 : S T so duas relaes entre S e T ento a sobreposio relacional R0
-
21
SELF-TEST
6.3) A relao pais reflexiva? Simtrica? Anti-simtrica? Estritamente anti-simtrica? Transitiva? uma relao de equivalncia?
SELF-TEST
6.4) A relao mesma_idade_que reflexiva? Anti-simtrica? Estritamente anti-simtrica? Transitiva? uma relao de equivalncia?
-
22
Heirs to the Throne
Relacionamentos representando as regras que governam a linha de sucesso de uma monarquia.
As regras de sucesso ao trono em uma monarquia indicam quem deve susceder a coroa quando o monarca morre.
Heirs to the Throne
As regras determinam uma relao priorclaim para os herdeiros de uma monarquia em particular que mantm um par (g,h) onde o primeiro herdeiro g tem maior reivindicao ao trono que o segundo herdeiro h.
-
23
Heirs to the Throne
Em primeiro lugar, um pretendente g tem mais indicao que um h.
Em segundo lugar, h uma relao priosibling que diz qual dos dois irmos tem mais indicao.
Em terceiro lugar, se g mais indicado que h ento qualquer herdeiro de g mais indicado que qualquer herdeiro de h.
Heirs to the Throne
Temos que: priorclaim = heir \/ priorsibling \/ (heir~;priorsibling; heir)
Observe que se heir reflexiva: priorsibling
-
24
Heirs to the Throne
til definirmos os descendentes de uma pessoa: descendant = child*
Se estamos considerando a linha de sucesso de p ento: PERSON = descendant[{p}]
Duas pessoas so irms quando filhas da mesma pessoa e no so iguais: sibling = (child~;child) - id(PERSON)
Heirs to the Throne
E o relacionamento de idade entre os irmos expresso como: oldersibling = sibling /\ older
Diferentes definies de heir e priorsibling sero levantadas para diferentes leis de sucesso.
Trs sero consideradas a seguir: em todas a relao heir reflexiva.
-
25
Heirs to the ThronePrimogeniture O princpio da primogenitura indica
que o filho mais velho o herdeiro imediato, e que irmos mais velhos tm precedncia sobre irmos mais novos: heir = descendant priorsibling = oldersibling
E a relao priorclaim dada por: priorclaim = descendant \/
(descendant~;oldersibling;descendant)
Heirs to the ThroneDescendants of Cecily
Cecily
Edward IV Richard III
Edward V Richard Edward
-
26
Heirs to the ThroneDescendants of Cecily
CecilyEdward IVRichard IIIEdward VRichardEdward
CecilyEdward IVRichard IIIEdward VRichardEdward
CecilyEdward IVRichard IIIEdward VRichardEdward
CecilyEdward IVRichard IIIEdward VRichardEdward
descendant~ oldersibling descendant
Heirs to the ThroneDescendants of Cecily
CecilyEdward IVRichard IIIEdward VRichardEdward
CecilyEdward IVRichard IIIEdward VRichardEdward
descendant~;oldersibling;descendant
-
27
Heirs to the ThroneLei Slica A Lei Slica de sucesso, utilizada
pela monarquia francesa diz que a sucesso s pode se dar a descendentes homens. MALE MALE)* priorsibling = MALE MALE
Heirs to the ThroneLei Slica (Figura 6.12)
Phillip III
CharlesPhillip IV
Charles IVPhillip VIsabellaLouis X CharlesPhillip VI
Jeanne
John I
JohnEdward Eleanor
Joanna
Jeanne Isabelle
Marguerite Marie
Charles V
Jeanne
Philip Luis
-
28
Heirs to the ThroneLei Inglesa de Sucesso No caso dos herdeiros ao trono da
Inglaterra, todos os descendentes, homens e mulheres, so considerados, estando sob o princpio da primogenitura.
Homens sempre tm prioridade sobre as mulheres, seja quais forem as suas idades.
Heirs to the ThroneLei Inglesa de Sucesso Para irmos do mesmo sexo a idade
levada em considerao. Desta maneira, podemos definir a lei
inglesa como: priorsibling =
(MALE FEMALE) \/(MALE MALE) \/
(FEMALE FEMALE) Aqui FEMALE = PERSON - MALE
-
29
Heirs to the ThroneLei Inglesa (Figura 6.13)
William I
AdelaWilliam IIRobertRichard Henry I
HenryTheobaldStephen
EustaceMary
RichardWilliamMathildaEuphamia
Henry II WilliamGeoffrey
SELF-TEST
6.6) Na Figura 6.13, Mary ou Theobaldtm maior reivindicao? Geoffrey ou Euphamia? Henry II ou Stephen?
-
30
SELF-TEST
6.7) Na Figura 6.13, Stephen ou Mathilda tem maior reivindicao se priorsibling simplesmente oldersibling?
Prxima Aula
Captulo 7: Funes e Sequncias
-
31
Dvidas?