aula 2 conceitos fundamentais-conjuntoserelacoes

34
Aspectos Teóricos da Computação Curso: Ciência da Computação Turma: 7ª Série Aspectos Teóricos da Teoria da Computação Aula 2 Conceitos Fundamentais: Conjuntos e Relações

Upload: wab030

Post on 14-Jun-2015

3.633 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Curso: Ciência da Computação Turma: 7ª Série

Aspectos Teóricos da Teoria da Computação

Aula 2

Conceitos Fundamentais: Conjuntos e Relações

Page 2: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Notas de Aula

● Livro texto: Linguagens Formais e Autômatos●

Page 3: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Aspectos Téoricos da Computação

Computação pode ser definida como a solução de um problema ou, formalmente, o cálculo de uma função, através de um algoritmo. A teoria da computação, um subcampo da ciência da computação e matemática,

busca determinar quais problemas podem ser computados em um dado modelo de computação. Por milhares de anos, a computação foi feita com lápis e

papel, ou giz e quadro, ou mentalmente, às vezes com a ajuda de tabelas.

Page 4: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos, Relações e Linguagens

● Um conjunto é uma coleção de objetos. ● Por exemplo o conjunto L é composto de 4

letras. Escrevemos L={a,b,c,d}.● Os componentes de um conjunto são

chamados de elementos ou membros do conjunto.

● Por exemplo b é um elemento de L. Escrevemos b ∈ L.

● Por outro lado z ∉L.

Page 5: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos

● Seja A = {1, 2, 3, 4} e B = {3, 4}● Podemos dizer que B ⊆ A ou B ⊇ A

● Igualdade de conjuntos● A = B se e somente se os conjuntos possuem

exatamente os mesmos elementos. Formalmente:– A = B se A ⊆ B e B ⊆ A

Page 6: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos

● Há também um conjunto sem elementos denominado conjunto vazio

● Ele é representado por {} ou Ø● Podemos indicar um conjunto como referência

de outro. ● Por exemplo seja L = {1,3,9} e G = {3,9}

– Podemos indicar G da seguinte maneira:● G = {x:x є L tal que x > 2}

Page 7: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos● Como podemos por exemplo representar os números

naturais ímpares?● O = {x: є N e x não é divisível por 2}

● Dizemos então que O é um subconjunto de N.

● Um conjunto A é um subconjunto de B – A está contido em B – se cada elemento de A também é um elemento de B.

● Qualquer conjunto é um subconjunto dele próprio.

● O conjunto vazio é um subconjunto de qualquer conjunto.

● Como podemos provar então que dois conjuntos são iguais?

Page 8: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos

● Provando que A está contido em B e que B está contido em A

Page 9: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Operações entre Conjuntos● União

● A U B = {x : x є A ou x є B}

● Exemplo {1,3,9} U {3, 5, 6} = {1,3,5,7,9}

● Intersecção

● A ∩ B = {x : x є A e x є B}

● Exemplo {1,3,9} ∩ {3,5,7} = {3}

● Diferença

● A – B = {x : x є A e x não pertence a B}

● {1,3,9} – {3,5,7} = {1,9}

● Complemento. A operação de complemento é definida em ralação a um conjunto fixo U denominado conjunto universo, como segue:

● ~A = A' = { x | x є U e x ∉Α}

● Produto cartesiano.

● A x B = {(a,b) | a є A e b є B}

Page 10: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Propriedades dos ConjuntosPropriedades de conjuntos

● A U A = A ou A ∩ A = A → Idempotência.

● A U B = B U A ou A ∩ B = B ∩ A → Comutatividade

● (A U B) U C = A U (B U C) ou (A ∩ B) ∩ C = A ∩ (B ∩ C) → Associatividade

● (A U B) ∩ C = (A ∩ C) U (B ∩ C) ou (A ∩ B) U C = (A U C) ∩ (B U C) → Distributividade

● (A U B) ∩ A = A ou (A ∩ B) U A = A → Absorção

● A – (B U C) = (A – B) ∩ (A – C) ou A – (B ∩ C) = (A – B) U (A – C) → Leis de Morgan

Page 11: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos● Dois conjuntos são disjuntos se não tiverem nenhum

elemento em comum.

● Temos também US={x : x є P para algum conjunto P є S}● Exemplo: S = {{a,b}, {b,c}, {c,d}}, então US = {a,b,c,d}

● A coleção de todos os subconjuntos de A é ela própria um conjunto chamado conjunto-potência de A, e denominado 2A.● Por exemplo os subconjuntos de {c,d} são:

– O próprio conjunto {c,d}– E os conjuntos unitários {c} e {d}– E o conjunto vazio Ø

Page 12: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos● Uma partição de um conjunto não vazio A é qualquer

subconjunto ∏ de 2A, tal que Ø não seja elemento de ∏, e que cada elemento de A pertença a um e somente um dos conjuntos contidos em ∏. Em outras palavras, ∏ é uma partição de A, se ∏ for um conjunto de subconjuntos de A, tal que:

1. Cada elemento de ∏ é não vazio;

2. Membros distintos de ∏ são disjuntos;

3. U∏ = A;

● Por exemplo, {{a,b},{c},{d}} é uma partição de {a,b,c,d}, mas {{b,c,{c,d}} não o é.

Page 13: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos

● Um elemento do produto cartesiano A x B é denotado da forma (a,b) é denominado par ordenado e não deve ser confundido com o conjunto {a,b}● A ordem no par ordenado é muito importante

diferente do conjunto {a,b}.● As componentes pode ser repetidas.

● O conceito de par ordenado pode ser generalizado para n-upla ordenada (x

1,x

2,...,x

n)

Page 14: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos

● O produto cartesiano de A x B é um conjunto de pares ordenados com a є A e b є B:● {1,3,9} x {b,c,d} = {(1,b), (1,c), (1,d) …}

● Esse produto cartesiano também é uma relação binária.

Page 15: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Vamos definir juntos então● O que seria uma Tripla?

● E uma Quádrupla?

● E uma Quíntupla?

● E uma Tupla?

● Se A1,...,A

n são conjuntos quaisquer, então o produto cartesiano

múltiplo de nível n A1 x … x A

n é o conjunto de todas as n-tuplas

ordenadas (a1, ...,a

n), com a

i є A

i, para cada i = 1,...,n

● Temos também como notação A x … x A = An

● Por exemplo N2 é o conjunto de todos os possíveis pares ordenados dos números naturais.

Page 16: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Relações e Funções

● Definição: Suponha A e B conjuntos. Uma Relação (binária) R de A em B é um subconjunto de um produto cartesiano A x B, ou seja: R ⊆ A x B● Sendo que:

– A é denominado domínio, origem ou conjunto de partida de R.

– B é denominado contradomínio, codomínio, destino ou conjunto de chegada de R.

– Pode ser denotada como R: A → B

Page 17: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Endorrelação, Auto-Relação

● Suponha A um conjunto. Então uma relação R:A → A (origem e destino no mesmo conjunto) é dita uma Endorrelação ou Auto-Relação. Nesse caso, afirma-se que R é uma auto-relação em A.

Page 18: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Relação Conexa, Reflexiva, Simétrica, Anti-Simétrica, Transitiva

● Sejam A um conjunto e R uma endorrelação em A. Então R é uma relação:

a) Conexa, se, para todo a, b є A, vale que a = b.

b) Reflexiva, se, para todo a є A, vale (a,a) є R.

c) Simétrica, se, para todo a,b є A, se (a,b) є R então (b,a) є R.

d) Anti-simétrica, se, para todo a,b є A, caso (a,b) є R e (b,a) є R então a=b. Não é possível inverter a ordem dos elementos ou seja o par (b,a) ∉R.

e) Transitiva, se, para todo a,b,c є A, caso (a,b) є R e (b,c) є R então (a,c) є R.

Page 19: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Função

● É uma associação de cada objeto de um tipo com um único objeto de outro tipo. ● Pessoas com seu pai.● Cães com seus donos.

● Formalmente: Uma função de um conjunto A para um conjunto B é uma relação binária R sobre A e B com a seguinte propriedade especial: para cada elemento a є A, há exatamente um par ordenado em R cuja primeira componente é a.

Page 20: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Função

● Exemplo: seja● R1 = {(x,y) : x є C, u є S e x é uma cidade do

estado y}● R2 = {(x,y) : x є S, y є C e y é uma cidade do

estado x}

● R1 é uma função mas R2 não é uma função. ● Cada cidade está em um e somente um

estado. ● No segundo caso um estado pode conter

várias cidades.

Page 21: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Funções

● f:A → B● Dizemos que A é o domínio da função.● Se a é algum elemento de A escrevemos f(a)

para designar o elemento de B, tal que (a,b) є f. ● O objeto f(a) é conhecido como imagem de a

sobre f. ● O contra-domínio de f é a imagem do seu

domínio. ● Exemplo: função soma m e n

● f((m,n)) = m + n

Page 22: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Funções● Função injetora: Uma função f: A → B é dita injetora se, para quaisquer dois

elementos distintos a, a' є A, f(a) ≠ f(a').

● Exemplo: Se C for o conjunto das cidades do Brasil, S é o conjunto de estados e se a função g: S → C for especificada como g(s) = a capital do estado S para cada s є S; então g é injetora, uma vez que nenhum par de estados apresenta a mesma capital.

● Função sobrejetora: Uma função f: A → B é dita sobrejetora se cada elemento de B for a imagem, sob f, de algum dos elementos de A. A função g acima não é sobrejetora mas a função R1 é, já que cada estado contém, pelo menos, uma cidade.

● Bijeção: Um mapeamento f: A → B é dita uma bijeção entre A e B, se ele for simultaneamente injetor e sobrejetor.

● Por exemplo, se Co é o conjunto das cidades que são capitais de estado, então a

função g: S → Co , acima especificada, g(s) = a capital do estado s é uma

bijeção entre S e Co.

● A inversa de uma relação binária R está contido A x B é denotada R-1 está contido B x A, e é simplesmente a relação {(b,a): (a,b) є R). Por exemplo, a relação R2 definida anteriormente é a inversa de R1.

● Uma função f: A → B também pode não ter uma inversa caso haja algum elemento b є B, tal que, f(a) ≠ b para todo a є A.. No entanto se f for uma bijeção nenhuma dessas situações podem ocorrer.

Page 23: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Tipos Especiais de Relações Binárias

● Uma relação binária pode ser representada por um grafo orientado.

● Seja A um conjunto e R é um subconjunto de A x A, então cada elemento de A é representado por um pequeno círculo – denominado vértice do grafo orientado.

● Uma seta apontando de a para b, ocorre no grafo se, e somente se, (a,b) є R.

● Essas setas são denominados arcos do grafo orientado ou também arestas.

Page 24: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Grafo Orientado● Exemplo: Seja R = {(a,b),(b,a),(a,d),(d,c),(c,c),(c,a)} é

representado pelo grafo da figura abaixo.

● Grafos orientados e não orientados são muito úteis para representar sistemas complexos como tráfego de redes de comunicação, estruturas e processos computacionais.

a

cd

b

Page 25: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Grafos Orientados

● Relação reflexiva: se (a,a) є R para cada a є A. Os grafos orientados reflexivos têm em cada vértice um arco apontando para si mesmo.

● Uma relação R subconjunto de A x A é simétrica se (b,a) є R, sempre que (a,b) є R.

● Dê um exemplo de uma relação simétrica e outro de uma relação reflexiva.

Page 26: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Relação Simétrica e Relação Reflexiva

● Simétrica: Conjunto de 6 amigos a, b, c, d, e, f. Se a é amigo de b, b é amigo de a e assim sucessivamente.

● Reflexiva: Conjunto dos números naturais menores ou iguais a ele mesmo.

Page 27: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Grafos

● Uma relação simétrica que não apresenta pares da forma (a,a) costuma ser representada na forma de grafo não orientado, ou simplesmente, grafo.

a

cd

b

Page 28: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Grafos

Uma relação R é dita anti-simétrica quando, sempre que (a,b) є R, e a e b forem distintos, então, (b,a) não pertence R.

● Por exemplo seja P o conjunto de todas as pessoas. Então {(a,b): a,b є P e a é o pai de b} é anti-simétrica.

Uma relação pode não ser simétrica, nem anti-simétrica; por exemplo a relação {(a,b): a,b є P e a gosta de b}.

Uma relação binária é dita transitiva quando sempre que (a,b) є R e (b,c) є R, então (a,c) є R. Por exemplo a relação {(a,b): a,b є P e a é ancestral de b} é transitiva, pois, se a é um ancestral de b, e b é um ancestral de de c, então a é um ancestral de c.

Como representamos em um grafo a transitividade. Vamos pensar em termos dos ascestrais....

Page 29: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Exemplo de Grafo de uma Relação Transitiva

a

cb

d

● Sempre que houver um conjunto de setas que leve a até z haverá uma seta direta ligando a até z.

Page 30: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Tipos Especiais de Relações Binárias

● Uma relação que seja reflexiva, simétrica, e transitiva é denominada relação de equivalência.

● A representação de uma relação de equivalência por meio de um grafo não orientado compõe-se de um certo conjunto de clusters.

● Em cada um desses clusters , cada par de vértices é conectado por uma linha.

Page 31: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos Finito e Infinitos● Quando trabalhamos com conjuntos finitos algumas afirmações

sobre os conjuntos não exigem demonstração pois são óbvias.

● Por exemplo se A é subconjunto de B o número de elementos de A é menor ou igual ao número de elementos de B.

● Entretanto quando começamos a trabalhar com conjuntos infinitos essas afirmações não são tão óbvias.

● Será que existem mais múltiplos de 17 {0, 17, 34, 51, …} do que quadrados perfeitos { 0, 1, 4, 9, 16, ...}

● Dizemos que dois conjuntos, A e B, são equinumerosos se houver uma função bijetora f: A → B.

● Lembre-se que se há uma bijeção f: A → B então há uma bijeção f-1 : B → A: logo, a equinumerosidade é uma relação simétrica.

● Por exemplo, {8, vermelho, {Ø,b}} e {1,2,3} são equinumerosos; suponha que f(8)=1, f(vermelho)=2, f({ Ø,b})=3.

Page 32: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Conjuntos Finito e Infinitos● No caso geral dizemos que um conjunto é finito se, intuitivamente ele

for equinumeroso com {1,2,3,...,n} para algum número natural N.

● Dizemos que o número de elementos de um conjunto finito é a sua cardinalidade |A|.

● Já um conjunto é dito infinito quando ele não for finito.

● Por exemplo o conjunto dos números naturais N é infinito.

Page 33: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Para a Próxima Aula

● Ler capítulo 1 do livro texto.

Page 34: Aula 2   conceitos fundamentais-conjuntoserelacoes

Aspectos Teóricos da Computação

Exercícios para Entregar1. Descreva o conjunto dos números que satisfazem a seguinte condição: G = {x : x є I e x > 2}2. Se A é um subconjunto de B e B é um subconjunto de A o que podemos afirmar sobre esses

dois conjuntos?