• Nenhum resultado encontrado

Uma relação (n-ária) é um conjunto de n-tuplas obtidas de um mesmo produto car- tesiano A1

N/A
N/A
Protected

Academic year: 2019

Share "Uma relação (n-ária) é um conjunto de n-tuplas obtidas de um mesmo produto car- tesiano A1"

Copied!
11
0
0

Texto

(1)

Relações

Como já apresentamos no começa da disciplina uma relação R cria associações entre dois elementos. Uma relação nos inteiros poderia definir associações tais como:

1 R 3 , 4 R 6 , 12 R 15 e 7 R 5

Porém, numa visão formal mais profunda, essas associações são tratadas meramente como pares ordenados. Assim, a relação R que apresentamos teria os pares:

(1,3) , (4,6) , (12,15) e (7,5)

Neste exemplo, usamos pares (2-tuplas), mas, de forma mais geral, as relações matemá-ticas podem conter n-tuplas quaisquer, como destacamos na definição a seguir:

Uma relação (n-ária) é um conjunto de n-tuplas obtidas de um mesmo produto

car-tesiano A1  A2  ...  An.

Alternativa: uma relação é um subconjunto de um produto cartesiano. Por isso, pode-mos representar o tipo de uma relação assim: R  A1  A2  ...  An .

A quantidade de conjuntos envolvidos no produto cartesiano pode ser usado para dar classificações mais específicas às relações:

 Se forem dois, chamamo-la de relação binária  Se forem três, chamamo-la de relação ternária  Para n qualquer, chamamo-la de relação n-ária

(2)

1. Relações Binárias

Uma relação binária de A em B é todo conjunto R tal que R  A B. Neste caso, tal como nas funções, chamamos:

A de domínio da relação, e  B de contradomínio da relação.

Exemplos: Relações binárias de A em B, considerando A = { a, b, c, d, e } e B = { 1, 2, 3, 4 }:

R1 = { (a,1), (a,2), (d,3) } R2 = { }

R3 = { (b,4) }

R4 = { (a,1), (b,1), (b,2), (c,3), (c,4), (d,2), (e,1), (e,4) }

Também podemos representar uma relação com diagramas similares ao que usamos nas funções. Como exemplo, vamos representar a relação R4 anterior:

As relações, no entanto, são mais gerais do que as funções. Quer dizer, toda função de A em B pode ser vista como uma relação de A em B, mas o contrário não é verdade.

(3)

 Por outro lado, uma relação R de A em B (R  A  B) é uma função de A em B (R : A  B) sse ela obedecer a restrição adicional de que cada elemento de A tem que estar associado a um único elemento de B.

o Não pode ter elemento de A desassociado

o Não pode ter elemento de A associado a mais de um elemento de B

Exemplo: Seja a função f : {1,2,3,4}  {1,2,...,10}, onde f(x)=x+2. Esta função pode ser vista simplesmente como a relação abaixo:

f = {(1,3), (2,4), (3,5), (4,6)}.

Muitas vezes representamos relações binárias especificando um “teste” ou, mais preci-samente, um critério que precisa ser satisfeito para que um par (2-upla) pertença à rela-ção. Podemos usar uma notação de compreensão de conjuntos nesse caso.

Exemplo:

 Sejam A = {1, 2, 5} e B = {3, 4}. São relações de A em B:

R5 = { (x,y) | x < y }

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

Essa é a relação que possui pares em que o primeiro elemento (vindo de A) é menor do que o segundo elemento (vindo de B)

R6 = { (x,y) | x é divisor de y }

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

Essa é a relação que registra os números de A que são divisores de números de B

R7 = { (x,y) | |x–y|=1 } = { (2,3), (5,4) }

(4)

2. Relações em um Conjunto

Uma relação em um conjunto A é uma relação binária de A em A (ou seja, é um con-junto R tal que R A A).

Exemplos: Seja A = { 1, 2, 3, 4 }, as relações abaixo são relações em A:

R1 = { (1,1), (2,4), (4,3) } R2 = { (x,y) | x < y }

= { (1,2), (1,3), (1,4), (2,3), (2,4), (3,4) } R3 = { (x,y) | x é divisor de y }

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

Podemos representar esse tipo de relação com um grafo direcionado (digrafo) em que:  Os elementos de A são os vértices (nós) do grafo

 Um arco (aresta) sai de x para y se e somente se existe o par (x,y) na relação

Exemplos:

 Relação R1 (dada antes) representada como um grafo:

 Relação R2 representada como um grafo:

(5)

3. Tipos Especiais de Relações em um Conjunto

Vamos começar classificando em quatro tipos mais simples:

1) Uma relação R em A é reflexiva sse, para todo x  A, temos que (x,x) R  No grafo: todo vértice tem um loop

Exemplo: relação reflexiva no conjunto {1, 2, 3}: Rr = { (1,1), (1,2), (2,2), (3,2), (3,3) }

2) Uma relação R em A é simétrica sse, para todos x, y  A, temos que: se (x,y) R, então (y,x)  R

 No grafo: para cada arco, existe outro na direção oposta

Exemplo: relação simétrica no conjunto {1, 2, 3, 4}: Rs = { (1,2), (2,1), (2,3), (3,2), (2,2),

(3,1), (1,3), (2,4), (4,2) }

3) Uma relação R em A é anti-simétrica sse, para todos x, y  A, temos: se x  y e se (x,y)  R, então (y,x)  R

 No grafo: se existe um arco entre vértices distintos, en-tão não pode haver outro na direção oposta (veja que loops podem existir).

Exemplo: relação anti-simétrica no conjunto {1, 2, 3, 4}:

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

(6)

4) Uma relação R em A é transitiva sse, para todos x,y,z  A, temos: se (x,y)  R e (y,z)  R, então (x,z) R

 No grafo: Sempre que existe um caminho de um vértice x para outro vértice y, e depois de y para z, existe também um arco direto de x

para z (como se fosse um atalho).

Exemplo: relação transitiva no conjunto {1, 2, 3, 4}: Rt = { (1,1), (1,2), (2,3), (1,3),

(3,4), (1,4), (2,4), (4,4) }

Um detalhe importante sobre os tipos de relações acima é que, em tese, eles são inde-pendentes entre si. Por exemplo, pode haver uma relação que não é anti-simétrica nem simétrica (dê um exemplo), e outra que é de ambos os tipos (tente descobrir – este é um caso especial). Por isso, você vai ser cobrado a julgar uma dada relação com relação aos quatro tipos (dizendo a relação é ou não de cada um deles) separadamente.

Tal como no caso das funções, que vamos cobrar para provar se é ou não injetiva, so-brejetiva e bijetiva, também podemos cobrar para provar se uma dada relação pertence a cada um dos quatros tipos acima.

Essas quatro são os tipos mais básicos. Porém, a partir delas, definimos dois outros tipos importantes de relações, que veremos nas próximas subseções.

3.1. Relações de Equivalência

Informalmente, são relações que têm propriedades similares às da igualdade (=). Esta relação é a “inspiração” para as relações de equivalência, digamos assim.

Formalmente, uma relação R em um conjunto A é chamada de relação de equivalência sse R for classificada como:

(7)

Exemplo: relação de equivalência no conjunto {a, b, c, d, e}

Req = { (a,a), (a,e), (e,a), (e,e), (b,b), (b,c), (c,b), (c,c), (c,d), (d,c), (d,d), (b,d), (d,b) }

Representada como um grafo, uma relação de equivalência tem loops em todos os vérti-ces (porque é reflexiva). Além disso, os vértivérti-ces se agrupam em “ilhas”, compostas de vértices interligados com todas as arestas possíveis, em todas as direções (consequência da transitividade e da simetria). Os vértices em cada uma dessas “ilhas” formam o que chamamos de classe de equivalência da relação. Vamos começar definindo a classe de equivalência (“ilha”) de um dado elemento (vértice):

Dada uma relação R no conjunto A, a classe de equivalência de um elemento x de A, representada como [x], é o conjunto de elementos associados a x na relação R:

[x] = { a | (x,a) R }

 No grafo, é o conjunto de nós para os quais x “aponta”

Exemplos: classes de equivalência da relação Req do exemplo anterior o [a] = {a,e}

o [b] = {b,c,d} o [c] = {b,c,d} o [d] = {b,c,d} o [e] = {a,e}

Veja que vários elementos têm classes de equivalência são iguais.

Agora, vamos definir o conjunto das classes de equivalência de uma relação R em A como o conjunto das classes de equivalências de todos os elementos de A:

(8)

 Como estamos definindo um conjunto de classes, apenas as classes distintas en-tre si são consideradas. Repetições são desprezadas.

Exemplo: O conjunto das classes de equivalências da relação Req dada antes: { {a,e}, {b,c,d} }

Seguem alguns exemplos relações de equivalências que vimos nesta disciplina:  Igualdade, entre números inteiros

 Igualdade, entre conjuntos

 Equivalência lógica, no conjunto das fórmulas proposicionais  A relação “tem igual cardinalidade”, entre conjuntos

 Relação de congruência módulo 3 (ou com algum outro módulo fixo), entre nú-meros inteiros.

3.2. Relações de Ordem

Informalmente, são relações que têm propriedades similares às do menor ou igual () entre números inteiros.

Uma relação R em um conjunto A é chamada de relação de ordem (ou, simplesmente, una ordem parcial) sse R for classificada como:

o reflexiva, o anti-simétrica e o transitiva.

É difícil explicar como identificar uma ordem parcial olhando apenas para o grafo. Recomenda-se testar cada uma das três propriedades da forma explicada na seção anterior. Se satisfi-zer as três propriedades, será uma relação de ordem.

(9)

Rord = { (x,y) | x  y }

= { (1,1), (1,2), (1,3), (1,4), (2,2), (2,3), (2,4), (3,3), (3,4), (4,4) } (comparar com figura na página anterior)

Algumas relações de ordem que vimos nesta disciplina:  Menor ou igual, entre números inteiros

 Conseqüência lógica (a relação que existe entre premissas e conclusão de uma regra de inferência), entre fórmulas proposicionais

 Relação “é subconjunto de”, entre conjuntos  Relação “divide”, entre números inteiros

Uma relação de ordem importante, que é definida entre pares ordenados de um conjunto A é a chamada ordem lexicográfica, inspirada na ordem alfabética. Vamos exemplifi-car com pares de inteiros. Representando a relação de ordem lexicográfica entre pares de inteiros com o símbolo lexi, definimos que:

(a,b)lexi(c,d)se e somente se (a < c) ou (a=c e b  d)

Exemplos:

(1,2) lexi (3,4), porque 1 < 3 (1,2) lexi (1,3), porque 1=1 e 2  3 (1,2) lexi (1,2), porque 1=1 e 2  2

Uma ordem lexicográfica também pode ser definida para pares de elementos não-inteiros de um conjunto A. Para isso, na definição acima, considere “a<c” como “ab e ab” e use qualquer relação de ordem sobre A no lugar da relação  (menor ou igual).

(10)

4. Relações N-árias (Extra)

Nesta seção, falamos superficialmente, das relações n-árias, que são relações envolven-do n conjuntos. Formalmente, uma relação n-ária é qualquer conjunto de n-tuplas obti-das de um dado produto cartesiano entre n conjuntos.

Este tipo de relação tem importância na Computação, pois elas são o fundamento teóri-co para os bancos de dados relacionais (que são, de longe, os mais usados hoje).

Uma explicação alternativa para quem sabe Python. Imagine que você queira criar um sistema de cadastro dos clientes de uma loja para guardar nome, data de nascimento e o endereço. Qual estrutura de dados você usaria para armazenar cada entrada nesse cadas-tro? Segue uma idéia:

 As informações de cada cliente poderiam ser dadas por uma 5-tupla de Python (a, b, c, d, e)

onde cada posição tem uma “propriedade” ou “atributo” do cliente: o a seria uma string com o nome do cliente

o b seria um inteiro com a data (dia do mês) do nascimento

o c seria o mês de nascimento

o d seria o ano de nascimento

o e seria a string com o endereço

 Então, conceitualmente, o objetivo do seu programa é manter um conjunto des-sas 5-uplas. Você poderia, inclusive, usar o tipo de dado set (“conjunto”) de Python.

 Desta forma, você teria o cadastro de clientes modelado exatamente como uma relação 5-ária matemática.

Em um banco de dados (BD) relacional a idéia é a mesma: do ponto de vista conceitual, ele guarda relações n-árias (conjuntos de n-tuplas). Porém, há uma nomenclatura um pouco diferente:

(11)

A figura abaixo ilustra a idéia:

Assim, a estrutura que representamos antes como conjuntos de tuplas de Python poderia ser representada meramente como uma tabela de um BD relacional com estes atributos:

nome_cliente: este seria o atributo para guardar o nome do cliente dia_nascimento: um inteiro com a data (dia do mês) do nascimento mes_nascimento: inteiro com o mês do nascimento

ano_nascimento: inteiro com o ano de nascimento endereço: seria a string com o endereço

“Deixe o ímpio o seu caminho, e o homem maligno os seus pensamentos,

e se converta ao SENHOR, que se compadecerá dele;

torne para o nosso Deus, porque grandioso é em perdoar.”

Referências

Documentos relacionados

Se a permanência no regime simplificado implica que os sujeitos passivos, no exercício da sua actividade, não tenham ultrapassado no período de tributação

Contribuições/Originalidade: A identificação dos atributos que conferem qualidade ao projeto habitacional e das diretrizes de projeto que visam alcançá-los, são de fundamental

Código Descrição Atributo Saldo Anterior D/C Débito Crédito Saldo Final D/C. Este demonstrativo apresenta os dados consolidados da(s)

Caso jogue uma carta que não deva, se esqueça de gritar UNO cada vez que ficar apenas com uma carta na mão ou tente persuadir um dos jogadores a jogar uma carta que o favoreça, terá

Quando a árvore está na forma de árvore é sua forma manifestada e quando está na forma de semente é sua forma ainda não manifestada.. Se não existisse, como é

O presente artigo tem como objetivos relatar e discutir a experiência docente do exercício da mentoria para uma turma de graduação em Medicina durante o período de seis anos (de

Almanya'da olduğu gibi, burada da bu terimin hiçbir ayrım gütmeden, modern eğilimleri simgeleyen tüm sanatçılar için geçerli olduğu anlaşılıyor.. SSCB'de ilk halk

As abraçadeiras tipo TUCHO SIMPLES INOX , foram desenvolvidas para aplicações que necessitam alto torque de aperto e condições severas de temperatura, permitin- do assim,