• Like
Matemática Discreta - Parte IV teoria dos-conjuntos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Matemática Discreta - Parte IV teoria dos-conjuntos

  • 2,598 views
Published

 

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • nem tive a sorte de aprender sobre isso com vc. abs, querido mestre.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,598
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
72
Comments
1
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Módulo 3: Teoria dos Conjuntos •UNIVERSIDADE FEDERAL DE CAMPINA GRANDE •CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA •DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO •Professor Ulrich Schiel
  • 2. Teoria dos Conjuntos Conjunto Uma coleção não-ordenada de objetos. Ex.: A = {Ana, Paulo, Maria, Jorge} B = {5, 7, 3} C = {buchada, anjinho, tapioca} Z = {..., -3, -2, -1 , 0, 1, 2, 3, 4, 5, ... } Notação: letras maiúsculas para denotar conjuntos: A, B, Z letras minúsculas para denotar elementos de conjuntos: Ana ∈ A, x ∈ B, 5 ∈ B e 5 ∈Z, 4 ∉B.
  • 3. Como descrever conjuntos? 1. Listando (total ou parcialmente) os elementos: B = {5, 7, 3} Z = {..., -3, -2, -1 , 0, 1, 2, 3, 4, 5, ... } 2. Usando indução (recursão) para descrever como gerar os elementos do conjunto: 1. 2 ∈ P 2. se n ∈ P, então n+2 ∈ P 2. se n ∈ N, então n+1 ∈ N 3. Descrevendo uma propriedade P que caracterize seus elementos: C = {x : x é uma sequência de duas letras do alfabeto} P = {x : x é inteiro e divisível por 2} A = {x : x é aluno de Matemática Discreta no período corrente} T = {x : x é um nome de mês com exatamente 30 dias} E = {x: x ∈ N e x < 0} F = {x : x ≠ x}
  • 4. Um conjunto singular • Os conjuntos E e F abaixo têm uma característica comum interessante: E = {x: x ∈ N e x < 0} F = {x : x ≠ x} • Não têm elementos. • E = F = {} = ∅ (o conjunto vazio)
  • 5. Um paradoxo e suas consequências • Existem coleções que não são conjuntos? • Cantor/Frege: C = {x / P(x)} • Paradoxo de Russel (1901): C = {x / x ∉ x)} Consequências: • Russel & Whitehead Principia Mathematica • Teoria dos conjuntos de Zermelo-Fraenkel: “Nenhum conjunto contém a si mesmo” • Gödel: Incompletude da matemática “Não existe uma teoria completa e consistente da aritmética elementar” • Turing: Indecidabilidade do problema da parada • Church/Turing: Decidabilidade (Entscheidungsproblem): “Não existe um algoritmo para decidir se uma expressão lógica qualquer é verdadeira ou falsa” • Paradoxo do barbeiro: Um barbeiro que faz a barba de todos de seu bairro que não se barbeiam a si mesmo
  • 6. Cardinalidade • Os conjuntos abaixo diferem radicalmente com relação à “quantidade” de seus elementos: T = {x : x é um nome de mês com exatamente 30 dias} P = {x : x é par} • T é finito e P é infinito. → A cardinalidade de um conjunto A, denotada por |A|, expressa o número de elementos do conjunto (se ele é finito) ou sua “ordem de grandeza” (se ele é infinito). Ex.: |T| = 4 |∅| = 0 |P| = |Z| = |Q| = ℵ0 |R| = 2 ℵ0 = c
  • 7. Relações entre conjuntos • Que relação existe entre os seguintes conjuntos: A = {2, 3, 5} e B = {1, 2, 3, 4, 5, 7} ? • R.: todo elemento de A é elemento de B. • Um conjunto A é dito ser subconjunto de um conjunto B, denotado por A⊆ B, se, e somente se, todo elemento de A também é elemento de B. Diz-se que A está contido em B • Se A ⊆ B e |A| < |B| então A é um subconjunto próprio de B (A⊂B) • Qual a relação entre o número 2, o conjunto {2} e o conjunto A acima? • Pertinência: 2 ∈ A (2 pertence a A) e 2 ∈ {2} (2 pertence a {2}) • Continência: {2} ⊆ A ({2} está contido em a A)
  • 8. Relações entre conjuntos • DISTINÇÃO ENTRE pertinência E continência • Em um ambiente de classes e instâncias. • Uma classe A é uma subclasse de B, (A ⊆ B) • Um objeto o é uma instância de uma classe A (o ∈ A) • EXERCÍCIO: quais as relações entre - ‘Brunna’, Alunos de MD, Alunos do CCC e Frequentadores da sala CAA304.
  • 9. Exercício Sejam A, B e C os seguintes conjuntos: A = {∅, 1, 7, 9, 15} B = {7, 9} C = {7, 9, 15, 20, {9}, B} Verifique que: B ⊆C B ⊆A A ⊄C {9,{9}} ⊆ C ∅ ⊆A ∅ ∈ A
  • 10. Igualdade de Conjuntos → Dois conjuntos A e B são iguais, A = B, se, e somente se, A ⊆ B e B ⊆ A. • Exercícios: 1. Mostre que as relações = e ⊆ são transitivas. 2. Mostre que as relações = e ⊆ são reflexivas. 3. Mostre que a relação = e ⊆ não é simétrica. 4. Mostre que a relação = é simétrica.
  • 11. Conjunto das partes Conjunto das partes (potência) → Seja S um conjunto qualquer. Então, o conjunto das partes de S, denotado por P(S) ou 2S , é o conjunto formado por todos os subconjuntos de S. Ex.: Seja S = {1, 2}. Então, P(S) = {{1}, {2}, {1,2}, ∅} → Seja S um conjunto qualquer com cardinalidade |S| = n. Então, |P(S)| = 2n . Ex.: S = {1, 2} P(S) = {{1}, {2}, {1,2}, ∅} |S| = 2 |P(S)| = 4 = 22 . S = ∅ P(S) = P(∅) = {∅} |S| = 0 |P(S)| = 1 = 20 . OBSERVAÇÃO: Para todo conjunto C, |P(C)| > |C| (diagonalização de Cantor) Logo |P(Z)| > |Z| e ℵ0 < 2 ℵ0 = c = |R|
  • 12. Operações sobre Conjuntos • Seja S o conjunto de todos os alunos da UFCG. • Então, qualquer conjunto de alunos da UFCG é um elemento de P(S). • Seja A = {alunos do curso de computação} e • seja B = {alunos do curso de engenharia elétrica} • Seja MD = {alunos do curso de Matemática Discreta} • Então, A, B e MD pertencem a P(S), • Temos MD ⊆ A, A ⊆ S e B ⊆ S e • MD ∈ P(S), A ∈ P(S) e B ∈ P(S). • O conjunto S é chamado de conjunto universo
  • 13. Operações sobre Conjuntos → O conjunto formado por todos os alunos que fazem computação (A) mais os que fazem elétrica (B) também pertence à P(S) e é dito ser o conjunto união de A com B, denotado por A∪B. A∪B = {x: x ∈A ou x ∈B} → O conjunto formado por todos os alunos que fazem computação (A) e elétrica (B) também pertence a P(S) e é dito ser o conjunto interseção de A com B, denotado por A∩B. A ∩ B = {x: x ∈A e x ∈B}. → O conjunto de todos alunos que não fazem computação (A), é o complemento de A, denotado por A’: A’ = {x: x ∈S e x ∉ A}
  • 14. Operações sobre Conjuntos → Sejam A e B conjuntos quaisquer. A diferença de A com relação a B, denotada por A-B, é o conjunto formado por todos os elementos que pertencem a A e não pertencem a B (pertencem a B’). A-B = {x: x ∈A e x ∉B} → Se A e B são conjuntos e A∩B = ∅, então, A e B são ditos serem disjuntos. → Sejam A e B conjuntos. O produto cartesiano de A com B, denotado por A x B, é definido como: A x B = {(x, y): x ∈ A e y ∈ B} Obs. (x,y) é um par ordenado. Nota: (x,y) ≠ (y,x) Definições de par ordenado: (x,y) = {x, {x,y}} ou (x,y) = {{x,1}, {y,2}} Existe {x,x} ? e (x,x)? Como seria o par (2,1) na segunda notação?
  • 15. Produto Cartesiano A x A = A2 = {(x,y): x ∈A e y ∈A} A x A x A = A3 = {(x,y,z): x ∈A, y ∈A e z ∈A} A x A x...x A = {(x1,x2,...,xn): xi∈A, 1≤ i ≤n} Ex.: Sejam A = {1,2} e B = {2,4} A2 = {(1,1), (1,2), (2,1), (2,2)} A x B = {(1,2), (1.4), (2,2), (2,4)}
  • 16. Identidades Básicas • A∪B = B∪A A∩B = B∩A • (A∪B)∪C = A∪(B∪C) (A∩B )∩C = A∩(B∩C • A∪(B∩C) = (A∪B)∩(A∪C) A∩(B∪C) = (A∩B)∪(A∩C) • A∪∅ = A A∩U = A • A∪A’ = U A∩A’ = ∅
  • 17. Exercício Sejam o universo S=N (os naturais) e A, B e C os seguintes conjuntos: A = {x: x ≥ 5} B = {10, 12, 16, 20} C = {x: existe y ∈N e x = 2.y} Quais das seguintes sentenças são falsas (mostrar porque)? 1. B ⊆ C 2. A ⊆ C 3. {11, 12, 13} ⊆ A 4. {∅} ⊆ B 5. {x: x ∈ N e x < 20} ⊆ B 6. ∅ ∉ A 7. ∅ ⊆ A •Calcule: • A-B • B-A • P(B) •(B ∪ C) – A • B ∪ (C – A) • (A’ ∪ B) - C
  • 18. Exercício Sejam A e B conjuntos quaisquer. Mostre que: (A∩B’) ∪ (A’∩B) = ∅ se, e somente se, A = B.
  • 19. Classes de Objetos ≈ Conjuntos → as instâncias de uma Classe C, |C| → Uma classe C →Uma generalização CG de C1 e C2 →Uma agregação A de A1, A2,..., An → Um agrupamento AG de AE ≈ • Um conjunto CI • Um conjunto universal C • CG = C1 ∪ C2, e Ci ⊆ C • A ⊆ A1 x A2x...xAn • AG ⊆P(AE)
  • 20. Conjuntos ≈ Classes de Objetos → Uma Classe C com os atributos A1,..,An →Uma associação rel entre C1 e C2 → Um método m de C ≈ • C ⊆ A1 x A2x...xAn • rel ⊆ C1 x C2 • Uma função m: UC → UC, tal que m(C) = C’
  • 21. Conjuntos Contáveis e Incontáveis • Todo conjunto finito é contável. • ou seja, podemos sempre designar um elemento como o primeiro, s1, outro elemento como o segundo, s2, e assim por diante. • ou seja, podemos listar seus elementos na ordem escolhida: s1, s2, s3, ..., sn • Esta lista representa todo o conjunto. • Um conjunto contável é um conjunto em que podemos associar a cada elemento um inteiro • 1,2,3,...
  • 22. Conjuntos Contáveis e Incontáveis • Um conjunto infinito, também pode ser contável: s1, s2, s3, ... • representa todo o conjunto. • Ex.: o conjunto dos naturais, N. Podemos indicar o primeiro elemento, o segundo elemento, o terceiro elemento, etc. : 0, 1, 2, 3,... • A operação sucessor(x) = x+1
  • 23. Conjuntos Contáveis e Incontáveis →Um conjunto infinito contável chama-se enumerável (ou denumerável). • Assim, para se mostrar que um conjunto é enumerável precisamos exibir um esquema de listagem ou enumeração de todos os seus elementos. • Ex.: o conjunto Q+ dos números racionais positivos é enumerável.
  • 24. Q+ é enumerável • Sabemos que todo racional positivo pode ser escrito como uma fração de inteiros positivos. • Podemos listar todas essas frações da seguinte forma: • as que têm numerador 1 na primeira linha, as que têm numerador 2 na segunda linha, e assim por diante: 1/1 1/2 1/3 1/4... 2/1 2/2 2/3 2/4... 3/1 3/2 3/3 3/4... 4/1 4/2 4/3 4/4... . . . . ... . . . . ... • Podemos traçar uma linha que passe por toda a matriz, começando no 1/1; e em seguida fornecer uma enumeração de todo o conjunto. Ex.: 1/3 seria o 4o. elemento da enumeração.
  • 25. Conjuntos Contáveis e Incontáveis • Existem conjuntos infinitos que não podem ser enumerados : são incontáveis/não-contáveis. • Exemplo: o conjunto de todos os reais entre 0 e 1.
  • 26. Prova: Os reais entre 0 e 1 não é contável • Qualquer número real entre 0 e 1 pode ser escrito como um número decimal: 0.d1d2d3... onde di ∈ {0,...9}. • Vamos assumir que o conjunto é contável. Então, existe uma enumeração do conjunto e tal que podemos descrevê-la da seguinte forma: • dij é a j-ésima casa decimal do í-ésimo número da enumeração: 0.d11d12d13... = n1 0.d21d22d23... = n2 0.d31d32d33... = n3
  • 27. Reais entre 0 e 1 não é contável • 0.di1di2di3... dij .. = ni • Agora, construamos um número real p da seguinte forma: p = 0.p1p2p3... • pi = 5 se dii ≠ 5 e pi = 6 se dii = 5 • Portanto, p é um número real entre 0 e 1. No entanto, p não está na enumeração!!!, pois p ≠ ni, para todo i já que pois pi ≠ dii • Método da diagonalização de Cantor. • P.ex. para i=3 - se d33 = 5, p3 = 6 - Se d33 ≠ 5, p3 = 5, logo, em ambos os casos: p ≠ n3
  • 28. Problemas de Contagem - Quanto espaço um programa consome? - Quantos usuários um servidor pode suportar? - Quantas operações um determinado algoritmo envolve? => COMPLEXIDADE DE ALGORITMOS Se resumem em determinar quantos elementos existem em um conjunto finito. Parece fácil mas nem sempre se pode determinar com facilidade uma resposta:
  • 29. Exemplo A uma criança é permitido escolher um entre dois confeitos (vermelho e preto) e um entre três chicletes (amarelo, lilás e branco) diferentes. Quantos pares diferentes de doces a criança pode ter? Solução: decompor tarefa de escolha em duas etapas seqüenciais: a escolha do confeito e a escolha do chiclete. A árvore abaixo ilustra a seqüência e as possibilidades: #pares diferentes = 2 (#confeitos diferentes) x 3 (#chicletes diferentes) = 6
  • 30. Princípio da Multiplicação • Se dois eventos são seqüenciados e independentes, o número de possibilidades pode ser obtido por meio da multiplicação do número de possibilidades do primeiro evento pelo número de possibilidades do segundo evento, ou melhor: • Se existem • n1 possibilidades para um primeiro evento, • n2 possibilidades para um segundo evento,..., • nk possibilidades para um k-ésimo evento, então • existem n1xn2x...xnk possibilidades para a sequência dos eventos.
  • 31. Exemplo A última parte dos números dos telefones contêm 4 dígitos. Quantos números de 4 dígitos existem? Solução: Podemos imaginar um número de 4 dígitos como resultado de 4 escolhas sucessivas e independentes: escolha do 1o., escolha do 2o., escolha do 3o. e, por fim, escolha do 4o. dígito. A escolha de qualquer desses dígitos envolve 10 possibilidades: 0, 1, 2, ..., 9. Portanto, há 10.10.10.10 = 10.000 escolhas possíveis, indicando que existem 10.000 números de 4 dígitos.
  • 32. Exercícios 1. Com relação ao exemplo anterior, quantos números de 4 dígitos sem repetição existem? 1. Um jogo de computador é iniciado fazendo-se seleções em cada um de três menus. O primeiro menu (número de jogadores) tem quatro opções, o segundo menu (nível de dificuldade) tem oito opções e o terceiro menu (velocidade) tem seis opções. Com quantas configurações diferentes o jogo pode ser iniciado? 1. Uma senha de usuário em um computador consiste em três letras seguidas de dois dígitos. Quantas senhas diferentes são possíveis? Considere um alfabeto de 26 letras.
  • 33. Princípio da Adição Suponha que desejamos escolher uma sobremesa dentre três tortas e quatro bolos. De quantas formas isto pode ser feito? • Solução: Existem dois eventos: escolher uma torta (com três possibilidades) e escolher um bolo (com quatro possibilidades). No entanto, esses eventos são disjuntos, ou seja, um ou outro deve acontecer, pois desejamos apenas uma sobremesa. Então, o número de possibilidades é o número total de opções que temos: 3 + 4 = 7.
  • 34. Princípio da Adição • Se A e B são eventos disjuntos com n1 e n2 possibilidades, respectivamente, então o número total de possibilidades para o evento A ou B é n1 + n2.
  • 35. Exemplo • Um cliente deseja comprar um veículo de uma concessionária que dispõe de 23 carros e 14 caminhonetas em estoque. Quantas possíveis escolhas o cliente pode ter? • Solução: o cliente deseja escolher um carro ou uma caminhonete. São eventos disjuntos com 23 possibilidade de escolha de um carro e 14 de uma caminhonete. Pelo Princípio da Adição, a escolha de um veículo tem 23 + 14 = 27 possibilidades.
  • 36. Exemplo composto • Quantos números de 4 dígitos começam com 4 ou com 5? • Solução: podemos considerar dois conjuntos disjuntos: números que começam com 4 e números que começam com 5. • Para a contagem do primeiro conjunto, usamos o Princípio da Multiplicação: existe uma forma de escolher o primeiro dígito (4) e dez maneiras de escolher cada um dos outros dígitos. Portanto, são 1.10.10.10 = 1000 formas de escolher um número de 4 dígitos começando com o 4. • Para a contagem do segundo conjunto se aplica o mesmo raciocínio dando o mesmo resultado: 1000. • Usando agora o Princípio da Adição, podemos deduzir que existem 1000+1000 = 2000 resultados possíveis ao todo.
  • 37. Exercícios 1. A, B, C e D são nodos (nós) de uma rede de computadores. Existem dois caminhos entre A e C, dois entre B e D, três entre A e B e quatro entre C e D. Por quantos caminhos uma mensagem de A para D pode ser enviada? 1. Um identificador em BASIC precisa ser uma letra simples ou uma letra seguida de outra letra ou dígito. Quantos identificadores são possíveis de serem formados? 1. Em um jantar especial existem dois aperitivos a serem escolhidos, três entradas, o menu principal e três bebidas. Quantos menus diferentes são possíveis se todos se servirem do menu principal e uma bebida mas os aperitivos e entradas são opcionais?
  • 38. Princípio da Inclusão e da Exclusão Seja S o conjunto universo e sejam A e B subconjuntos quaisquer de S: Obs.: A-B, B-A e A∩B são conjuntos mutuamente disjuntos e A ∪B = (A-B) ∪(B-A) ∪(A∩B) Sabemos, pelo Princípio da Adição, que se C1 e C2 são conjuntos disjuntos então |C1∪C2| = |C1| + |C2|. Estendendo para três conjuntos disjuntos, temos: |A ∪B | = |(A-B) ∪(B-A) ∪(A∩B)| = |A-B| + |B-A| + |A ∩B|
  • 39. Princípio da Inclusão e da Exclusão |A ∪B| = |A-B| + |B-A| + |A ∩B| Sabemos também que se A e B são conjuntos finitos, então | A-B| = |A| - |A∩B| e |B-A| = |B| - |A∩B|. Então, |A ∪B| = |A| - |A ∩B| + |B| - |A ∩B| + |A ∩B| Então, | A ∪B| = |A| + |B| - |A ∩B| Analogamente pode-se mostrar que também vale |A ∩B| = |A| + |B| - | A ∪B| Ou seja, quando contamos o número de elementos da união de A com B, precisamos contar o número de elementos em A e o número de elementos em B, mas devemos “excluir” (subtrair) os elementos que pertencem a A ∩B para evitar contá-los duas vezes.
  • 40. Exemplo • Um vendedor oferece 2 produtos e 35 pessoas compraram. Destes 14 compraram o produto 1 e 26 o produto 2. Quantos compraram ambos? • Solução: Seja A o conjunto das pessoas que escolheram o produto 1 e B o conjunto dos que escolheram o produto 2: • | A ∪B | = 35, |A| = 14, |B| = 26 • Mas, |A∩B| = |A| +|B| - | A ∪B | = 14 + 26 – 35 = 5 • Portanto, 5 entrevistados escolheram ambos os produtos.
  • 41. Princípio da Inclusão e da Exclusão Estendendo para 3 conjuntos: |A ∪B ∪C| = | A ∪ (B ∪C)| = |A| + |B ∪C| - |A ∩ (B ∪C)| = |A| + |B| + |C| - |B ∩C| - |(A ∩B) ∪(A ∩ C)| = |A| + |B| + |C| - |B ∩C| - (|A ∩B| + |A∩C| - |A ∩B ∩C|) = |A| + |B| + |C| - |A ∩B| - |A ∩C| - |B∩C| + |A ∩B ∩C| |A ∪B ∪C| = |A| + |B| + |C| - |A ∩B| - |A ∩C| - |B∩C| + |A ∩B ∩C|
  • 42. Princípio da Casa de Pombo Se mais do que k itens são distribuídos entre k caixas, então pelo menos uma caixa conterá mais de um ítem. Ex.: Quantas pessoas precisam estar nesta sala para que pelo menos duas pessoas têm seus nomes iniciados pela mesma letra? Solução: Existem 26 letras no alfabeto (caixas). Se tiverem 27 pessoas, então haverá 27 letras iniciais (itens) que devem ser distribuídas entre as 26 caixas.
  • 43. Exercícios 1. Quantas vezes dois dados precisam ser lançados para termos certeza que obtivemos algum par duas vezes? (Sugestão: divida as soluções em dois casos: 1. Quando os dados tiverem o mesmo valor 2. Quando os valores forem diferentes) 2. Uma pesquisa dentre 150 estudantes revelou que 83 são proprietários de carros, 97 possuem bicicletas, 28 têm motocicletas, 53 são donos de carros e bicicletas, 14 têm carros e motocicletas, sete possuem bicicletas e motocicletas, e dois têm todos os três. Quantos estudantes possuem apenas bicicletas? Quantos estudantes não têm qualquer dos três?
  • 44. Exercícios em sala 1. Quantas vezes dois dados precisam ser lançados para termos certeza que obtivemos algum par duas vezes? (Sugestão: divida as soluções em dois casos: • Quando os dados tiverem o mesmo valor • Quando os valores forem diferentes) 2. Em um jantar especial existem dois aperitivos, seguidos por três entradas, o menu principal e três bebidas. Quantos menus diferentes são possíveis se todos se servirem do menu principal e uma bebida mas os aperitivos e entradas são opcionais?
  • 45. Seqüências → Uma seqüência ou sucessão (ou conjunto ordenado) S é uma lista de objetos que são enumerados segundo alguma ordem: S = S(1), S(2), ..., S(n), S(n+1), ... onde S(k), k≥1, denota o k-ésimo elemento de S. Ex.: S = 2, 4, 8, 16, 32, ... e S(1) = 2 , S(2) = 4 → As seqüências podem ser finitas ou infinitas. Ex.: A = 1,2,3,4,5,... B = 2,4 ou (2,4) C = b,a,n,a,n,a D = b,o,l,a ou (b,o,l,a) → O comprimento de uma seqüência é o número de elementos da seqüência: Ex.: |C| = 6 |B| = 2 |D| = 4
  • 46. Seqüências → DEFINIÇÃO: → Uma seqüência (S, I, ρ) é dada por → Um conjunto S, chamado de tipo, → I = N ou I = [1,2,..,n] para um dado n → Uma função ρ: I ->S que determina a ordem dos termos em S. → Notação: (s1, s2 ,.., sn, ..), com si ∈ S e ρ(i)= si • ρ é injetiva? • Os números reais R são uma sequência?
  • 47. Seqüências → EXEMPLO: → Dada a sequência b a n a n a, temos → S = {b,a,n} → I = [1,2,3,4,5,6] → ρ: I ->S é dada por: → ρ(1)= bi ρ(2)= ai ρ(3)= ni ρ(4)= ai ρ(5)= ni ρ(6)= ai
  • 48. Seqüências → Duas seqüências A e B são iguais, A = B, se e somente se, seus termos respectivos são iguais, ou seja A(1)=B(1), A(2)=B(2), ..., A(n) = B(n). →A seqüência nula é a seqüência sem elementos ou de comprimento igual a 0 e denotada por λ (|λ| = 0). →Um par ordenado (de números) é uma seqüência de comprimento igual a 2. I = [1,2] .
  • 49. Operações com sequências/palavras →Se u = a1a2...an e v = b1b2...bm então a concatenação de u com v, u.v ou u||v, é definida como: u.v = a1a2...anb1b2...bm →Obs1.: |u.v| = |u| + |v| = n+m →Obs2.: u0 = λ u1 = u u2 = u.u un = u.u...u
  • 50. Operações com palavras → A inversa (ou reversa ou transposta) de uma palavra é definida como: 1. λR = λ 2. (u,a)R = (a.u) → Exemplo: ‫מאטימאטיקא‬R = ‫יטאמ‬‫יטאמ‬‫ק‬‫א‬ → Exercício: Mostre que para todo u ∈Σ*: 1. (uR ) R = u, 2. |uR | = |u| • Como seria definida uma sub-cadeia (substring)? • E outras operações de extração, inserção de termos ou subcadeias?
  • 51. Seqüências – aplicações →Teoria dos conjuntos: produto cartesiano →Geometria analítica: para representar pontos no plano ou no espaço. → Álgebra vetorial – um vetor é uma sequência de componentes → Bancos de dados – uma instância de um banco de dados é uma sequência de valores de atributos. → Linguística – →Palavra = seq. de letras →Frase = seq. de palavras →Parágrafo = seq. de frases →Texto = seq. de parágrafos
  • 52. Alfabeto e Palavras → Um alfabeto (geralmente denotado por Σ) é qualquer conjunto finito não vazio de símbolos (ou letras). → Ex.: Σ1 = {a,b,c,...,z} Σ 2 = {0,1} → Σ3 = Σ1 ∪ Σ 2 ∪ {!, @, #, $, %, &, *, (, ), +, ^, ~, ´, `, <, >, :, ...} → Ex.: Σ4 = { ‫א‬,‫ב‬,‫ג‬,‫ד‬,..,‫ש‬,‫ת‬ } = {Aleph, Beth, Gimel , .. , Schin, Taw} → Uma palavra (ou cadeia de caracteres, ou string) é qualquer seqüência finita de símbolos de um alfabeto. → ‫מאטימאטיקא‬ = akitamitaM (= Matimatika-1 ) em Σ4 → Ex.: b,a,n,a,n,a ou (b,a,n,a,n,a) ou banana 1,0,1 ou (1,0,1) ou 101
  • 53. Linguagens → Sejam Σ0 , Σ1 , Σ2 , ..., Σk , Σk+1 , ..., os seguintes conjuntos de palavras no alfabeto Σ: ∀ Σ0 = { palavras w em Σ : |w| = 0} ∀ Σ1 = {palavras w em Σ : |w| = 1} ∀ Σ2 = {palavras w em Σ : |w| = 2} ∀ Σk = {palavras w em Σ : |w| = k} ∀ Σk+1 = {palavras w em Σ : |w| = k+1} Então, podemos definir Σ* = Σ0 ∪ Σ1 ∪ Σ2 ∪ ... ∪ Σk ∪ Σk+1 ∪ ... ou seja, Σ* é o conjunto de todas as palavras em Σ.
  • 54. Linguagens Ex.: Σ = {0, 1}. Então, Σ*= {λ, 0, 1, 00, 01, 10, 11, 000,...} → Uma linguagem L em um alfabeto Σ é qualquer sub- conjunto de Σ*, ou seja, L⊆Σ*. → Ex.: para Σ = {0, 1}, podemos ter L1 = {00, 11} → L2 = {1, 01, 11, 001, 011, 101, 111, 0001,...} → L3 = {λ, 0, 1, 00, 01, 10, 11, 000,...}
  • 55. Gramáticas → Uma linguagem é usada para formar frases ou sentenças. → Uma sentença é uma sequência válida de palavras de acordo com uma gramática → uma gramática é uma estrutura G = < Σ, L, P> →de frases de uma linguagem L, →de um alfabeto Σ = Σt∪Σnt de símbolos terminais (Σt) e não-terminais (Σnt). →definidas por um conjunto P de regras α →β que substituem símbolos não terminais em α por β OBS.: As palavras em L só contém símbolos terminais
  • 56. Gramáticas Exemplo:. →Sentença → frase-subst frase-verbo → frase-subst → artigo substantivo → frase-verbo → verbo advérbio → artigo → a → substantivo → vaca-marinha → verbo → fala → advérbio → espalhafatosamente | λ • Quem seríam Σ e L neste exemplo?
  • 57. Gramáticas Exemplo:. Seja a gramática G = < Σ, L, P>, com Σ = Σt∪Σnt , Σt = {0,1}, Σnt= {S}, L= Σt* e as produções P = { S → 0S, S → 1} a) Quais sentenças válidas são produzidas por esta gramática? b) E se acrescentarmos a produção S → S0? a) As sentenças válidas são 1, 01, 001, 0001, 00001, ... b) Agora temos 1, 01, 001, 0001, ... e 10, 100, 1000, ... e 010, 0010, 00010, ... Ou seja, todas cadeias com um ‘1’ e restante ‘0’s.
  • 58. Gramáticas Exemplo:. Seja a gramática G = < Σ, L, P>, com Σ = Σt∪Σnt , Σt = {a,b,c}, Σnt= {S,B,C}, L= Σt* e as produções P = { 1.S → aSBC, 2.S → aBC, 3.CB → BC, 4.aB →ab, 5.bB →bb, 6.bC →bc, 7.cC →cc} As sentenças válidas em G são an bn cn ? • Verificar se a2 b2 c2 é uma sentença válida Verificação se uma cadeia pertence à linguagem
  • 59. Gramáticas - Exercício Exemplo:. Seja a gramática G = <Σ , L, P>, com Σ = Σnt ∪ Σt Σt = {0,1}, Σnt={S} e as produções {P1: S → 0S, P2:S → S0 e P3: S → 1} Quais sentenças válidas são produzidas por esta gramática? temos 1, 01, 001, 0001, ... e 10, 100, 1000, ... e 010, 0010, 00010, ... Ou seja, todas cadeias com um ‘1’ e restante ‘0’s.
  • 60. Gramáticas - Exercício Considere a gramática: G = <∑, L, R >. Onde: Σ = {+, -, .,1, 2, 3, 4, 5, 6,7, 8, 9 ,0} U {B, S, I, P, F}, sendo B o símbolo inicial. R = {(1) B → SIPF; (2) S → +|-| λ; (3) I → ID | D; (4) P → . ; (5) F → DD ; (6) D → 0|1| 2| 3| 4| 5| 6|7| 8| 9 } •Qual a linguagem que esta gramática define? •Mostre como ela reconhece o número -459.33 •Modifique a gramática para que os números não tenham zeros a esquerda.
  • 61. Considere a gramática: G = <∑, L, R >. Onde: Σ = {+, -, .,1, 2, 3, 4, 5, 6,7, 8, 9 ,0} U {B, S, I, P, F}, sendo B o símbolo inicial. R = {B → SIPF, S → +|-| λ I → ID | D P → . F → DD D → 0|1| 2| 3| 4| 5| 6|7| 8| 9 } •Qual a linguagem que esta gramática define? RESP: esta gramática reconhece números com duas casas decimais podendo ter um sinal na frente ou não. Os números poderão começar com um ou mais dígitos ‘0’. Em outras palavras, reconhece sequencias da forma +nn...n.nn ou –n...n.nn ou nn...n.nn. •Mostre como ela reconhece o número -459.33 RESP: para testar, basta seguir, em ordem inversa, as regras até chegar a B. Ou seja, temos: -459.33 → -459.DD →-459.F → -459PF → -45DPF → -4DDPF → -DDDPF → SDDDPF → SIDDPF → SIDPF → SIPF → B (N.B. também pode-se percorrer o caminho inverso) •Modifique a gramática para que ela reconheça números inteiros, sem frações. RESP:Para reconhecer só números inteiros, deve-se alterar a primeira regra para B→SI e excluir as regras P → . e F → DD Para reconhecer também números inteiros, a primeira regra fica sendo B→SIPF | SI