INE0003 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/51
6 - RELAÇÕES DE ORDENAMENTO 6.1) Conjuntos parcialmente ordenados (posets) 6.2) Extremos de posets 6.3) Reticulados 6.4) Álgebras Booleanas Finitas 6.5) Funções Booleanas Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.2/51
RETICULADOS (P (S), ) Vamos restringir nossa atenção aos reticulados do tipo (P (S), ), onde S é um conjunto finito. Muitas propriedades que não valem para reticulados em geral. Por isto, são mais fáceis de trabalhar Têm papel importante em muitas aplicações na Ciência da Computação: construção de representações lógicas para os circuitos do computador estudo de cifradores simétricos, na Criptografia Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.3/51
RETICULADOS (P (S), ) Teorema: Sejam S 1 = {x 1, x 2..., x n } e S 2 = {y 1, y 2..., y n } dois conjuntos finitos quaisquer com n elementos. Então os reticulados (P (S 1 ), ) e (P (S 2 ), ) são isomórficos ou seja, seus diagramas de Hasse são idênticos Prova: arranjar os conjuntos e definir a seguinte f: subconj. A {}}{ S 1 : x 1 x 2... x n S 1 : x 1 x 2 x 3 x 4... x n S 2 : y 1 y 2... y n S 2 : y 1 y 2 y 3 y }{{} 4... y n subconj. f(a) Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.4/51
RETICULADOS (P (S), ) Prova (cont.): f(a): elementos de S 2 que correspondem aos elementos de A f: bijeção de subconjuntos de S 1 para subconjuntos de S 2 além disto, se A e B são subconjuntos quaisquer de S 1 : A B f(a) f(b) Logo, os reticulados (P (S 1 ), ) e (P (S 2 ), ) são isomórficos. Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.5/51
RETICULADOS (P (S), ) Logo: a condição de poset do reticulado (P (S), ) é determinada pelo número S e não depende da natureza dos elementos de S. Exemplo: Sejam os posets: (P (S), ), S = {a, b, c}: (P (T ), ), T = {2, 3, 5}: Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.6/51
RETICULADOS (P (S), ) Note que os 2 reticulados são isomórficos, sendo um possível isomorfismo f : P (S) P (T ) dado por: f({a}) = {2} f({b}) = {3} f({c}) = {5} f({a, b}) = {2, 3} f({b, c}) = {3, 5} f({a, c}) = {2, 5} f({a, b, c}) = {2, 3, 5} Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.7/51
RETICULADOS (P (S), ) Conclusão: para cada n = 0, 1, 2,..., há apenas um tipo de reticulado com a forma (P (S), ) o qual depende apenas de n (e não de S) e tem 2 n elementos (= nro de possíveis subconjuntos de S). Pode-se, portanto, tomar um diagrama de Hasse genérico para (P (S), ) e rotulá-lo assim: Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.8/51
RETICULADOS (P (S), ) Rotulando desta forma, este diagrama serve para descrever os 2 reticulados anteriores. Melhor: para descrever um reticulado (P (S), ) originado de qualquer conjunto S com 3 elementos. Se o diagrama de Hasse do reticulado correspondente a um conjunto com n elementos é rotulado desta forma (seqüências de 0s e 1s de comprimento n), o reticulado resultante é chamado de B n. Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.9/51
PROPRIEDADES DO ORDENAMENTO PARCIAL EM B n Sejam 2 elementos de B n : x = a 1 a 2... a n e y = b 1 b 2... b n. Então: x y se e somente se a k b k para k = 1, 2,..., n x y = c 1 c 2... c n, onde c k = min{a k, b k } x y = d 1 d 2... d n, onde d k = max{a k, b k } o complemento de x é dado por x = z 1 z 2... z n z k = 1 se x k = 0 z k = 0 se x k = 1, onde: Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.10/51
PROPRIEDADES DO ORDENAMENTO PARCIAL EM B n Estas afirmações podem ser confirmadas pela observação de que (B n, ) é isomórfico a (P (S), ): x, y B n correspondem a subconjuntos A e B de S então: x y corresponde a A B x y corresponde a A B x y corresponde a A B x corresponde a A Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.11/51
RETICULADOS B n Diagramas de Hasse dos reticulados B 0, B 1, B 2 e B 3 : n=0: n=1: n=2: n=3: Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.12/51
RETICULADOS B n Todo reticulado (P (S), ) é isomórfico com B n, onde n = S. Outros reticulados também podem ser isomórficos com algum B n. Possuindo todas as propriedades especiais que o B n possui. Exemplo: D 6 (divisores de 6, ordem parcial de divisibilidade). Isomorfismo f : D 6 B 2 dado por: f(1) = 00 f(2) = 10 f(3) = 01 f(6) = 11 Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.13/51
ÁLGEBRAS BOOLEANAS Em geral: um reticulado finito é chamado de Álgebra Booleana se ele for isomórfico com algum B n. Portanto: todo B n é uma Álgebra Booleana assim como todo reticulado (P (S), ). Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.14/51
ÁLGEBRAS BOOLEANAS Exemplo: reticulados D 20 e D 30 (divisores de 20 e 30, ordem parcial de divisibilidade): Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.15/51
ÁLGEBRAS BOOLEANAS Exemplo (cont.): D 20 tem 6 elementos: 6 2 n D 20 não é uma Álgebra Booleana Já o poset D 30 tem 8 elementos: 8 = 2 3 chance de ser Álgebra Booleana note que D 30 é isómórfico com B 3 com isomorfismo f : D 30 B 3 dado por: f(1) = 000 f(2) = 100 f(3) = 010 f(5) = 001 f(6) = 110 f(10) = 101 f(15) = 011 f(30) = 111 portanto, D 30 é uma Álgebra Booleana. Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.16/51
ÁLGEBRAS BOOLEANAS CONCLUSÃO: Se um reticulado L não contém 2 n elementos, sabemos que L não pode ser uma Álgebra Booleana. Se L = 2 n, então L pode ou não ser uma Álgebra Booleana. Se L for pequeno, pode-se tentar comparar o seu diagrama de Hasse com o de B n no entanto, esta técnica pode não ser prática se L for grande aí tenta-se construir diretamente um isomorfismo com B n ou com (P (S), ) Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.17/51
ÁLGEBRAS BOOLEANAS GRANDES Para ver se um dado reticulado D n (n grande) é Álgebra Booleana: Teorema: Seja n = p 1 p 2... p k onde os p i são primos distintos. Então D n é uma Álgebra booleana. Prova: Seja S = {p 1, p 2,..., p k }. Todo divisor de n deve ser da forma a T, onde: a T é o produto dos primos em algum subconjunto T de S (nota: a = 1) Aí, se V e T são subconjuntos de S: V T se e somente se a V a T a V T = a V a T (= MDC(a V, a T )) a V T = a V a T (= MMC(a V, a T )) Logo, f : P (S) D n, dada por f(t ) = a T, é um isomorfismo de P (S) para D n Então, como (P (S), ) é uma Álgebra Booleana, D n também o é. Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.18/51
ÁLGEBRAS BOOLEANAS GRANDES Exemplo: 210 = 2.3.5.7 D 210 é Álgebra Booleana 66 = 2.3.11 D 66 é Álgebra Booleana 646 = 2.17.19 D 646 é Álgebra Booleana Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.19/51
ÁLGEBRAS BOOLEANAS GRANDES Outros casos de reticulados L grandes: tentar mostrar que L não é uma Álgebra Booleana mostrando que o ordenamento parcial de L não apresenta as propriedades necessárias. Exemplo: uma Álg. Booleana é sempre isomórfica com algum B n e, portanto, com algum reticulado (P (S), ). Logo, se o reticulado L for uma Álgebra Booleana: ele deverá ser limitado (deverá possuir LUB e GLB) cada um dos seus elementos deverá possuir um complemento Ou seja, para que L seja reticulado: L deverá ter um maior elemento I ( S) e um menor elemento O ( ) todo elemento x de L deverá ter um complemento x Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.20/51
ÁLGEBRAS BOOLEANAS O Princípio da Correspondência entre posets ajuda a estabelecer propriedades das Álgebras Booleanas. Teorema (REGRA DA SUBSTITUIÇÃO): Toda fórmula que envolve e, ou que vale para subconjuntos arbitrários de um conjunto S, continuará a valer para elementos arbitrários de uma Álgebra Booleana L se: for substituído por for substituído por Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.21/51
ÁLGEBRAS BOOLEANAS Exemplo: Se x, y e z são elementos de uma Álgebra Booleana qualquer L, valem: (a) (x ) = x (b) (x y) = x y (c) (x y) = x y involução 1a. lei de De Morgan 2a. lei de De Morgan Isto vale para Álgebras booleanas, pois sabemos que as fórmulas: (a ) (A) = A (b ) (A B) = A B (c ) (A B) = A B valem para subconjuntos arbitrários A e B de um conjunto S. Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.22/51
PROPRIEDADES DAS ÁLGEBRAS BOOLEANAS (L, ) De maneira similar, podemos listar outras propriedades que devem valer em qualquer Álgebra Booleana em conseqüência da regra de substituição. Na tabela a seguir: x, y e z são elementos arbitrários em L A, B e C são subconjuntos arbitrários de S I e O denotam o maior e o menor elemento de L, respectivamente. Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.23/51
PROPRIEDADES DAS ÁLGEBRAS BOOLEANAS (L, ) (1/2) Algumas propriedades básicas de uma Álgebra Booleana (L, ) Propriedade correspondente para subconjuntos de um conjunto S 1) x y se e somente se x y = y 1 ) A B se e somente se A B = B 2) x y se e somente se x y = x 2 ) A B se e somente se A B = A 3) (a) x x = x 3 ) (a) A A = A (b) x x = x (b) A A = A 4) (a) x y = y x 4 ) (a) A B = B A (b) x y = y x (b) A B = B A 5) (a) x (y z) = (x y) z 5 ) (a) A (B C) = (A B) C (b) x (y z) = (x y) z (b) A (B C) = (A B) C 6) (a) x (x y) = x 6 ) (a) A (A B) = A (b) x (x y) = x (b) A (A B) = A 7) O x I, x L 7 ) A S, A P (S) 8) (a) x O = x 8 ) (a) A = A (b) x O = O (b) A = Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.24/51
PROPRIEDADES DAS ÁLGEBRAS BOOLEANAS (L, ) (2/2) Algumas propriedades básicas de uma Álgebra Booleana (L, ) Propriedade correspondente para subconjuntos de um conjunto S 9) (a) x I = I 9 ) (a) A S = S (b) x I = x (b) A S = A 10) (a) x (y z) = (x y) (x z) 10 ) (a) A (B C) = (A B) (A C) (b) x (y z) = (x y) (x z) (b) A (B C) = (A B) (A C) 11) Todo elemento x tem um único 11 ) Todo elemento A tem um único (a) x x = I (a) A A = S (b) x x = O (b) A A = 12) (a) O = I 12 ) (a) = S (b) I = O (b) S = 13) (x ) = x 13 ) A = A 14) (a) (x y) = x y 14 ) (a) A B = A B (b) (x y) = x y (b) A B = A B Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.25/51
PROPRIEDADES DAS ÁLGEBRAS BOOLEANAS (L, ) Talvez seja possível mostrar que um reticulado L não é Álgebra Booleana mostrando que ele não possui alguma propriedade básica. Exemplo: Mostre que o reticulado abaixo não é Álgebra Booleana: Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.26/51
PROPRIEDADES DAS ÁLGEBRAS BOOLEANAS (L, ) Exemplo (cont.): Os elementos a e g são ambos complementos de c ou seja, ambos satisfazem as propriedades 11(a) e 11(b) com respeito ao elemento c. Mas a propriedade estabelece que tal elemento deve ser único em qualquer Álgebra booleana. Logo, o reticulado dado não é uma Álgebra booleana. Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.27/51
PROPRIEDADES DAS ÁLGEBRAS BOOLEANAS (L, ) Exemplo: Mostre que se p 2 n, onde p é um primo, então D n não é uma Álgebra Booleana. suponha que p 2 n então n = p 2.q mas p também é divisor de n, de modo que p D n se D n é uma Álg. Booleana, p deve ter um complemento p de modo que MDC(p, p ) = 1 e MMC(p, p ) = n daí temos que p.p = n de modo que p = n/p = p.q mas isto significa que MDC(p, p.q) teria que ser 1 (!!) Logo, D n não pode ser uma Álg. Booleana. Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.28/51
PROPRIEDADES DAS ÁLGEBRAS BOOLEANAS (L, ) Na verdade, de acordo com um teorema já visto, Seja n = p 1 p 2... p k onde os p i são primos distintos. Então D n é uma Álgebra booleana. concluímos que: D n é uma Álgebra Booleana se e somente se nenhum primo divide n mais do que uma vez. Exemplo: 40 = 2 3.5 e 125 = 3.5 2 Então: nem D 40 nem D 125 podem ser Álgebras Booleanas. Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.29/51
ÁLGEBRAS BOOLEANAS Final deste item. Dica: fazer exercícios sobre Álgebras Booleanas... Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.30/51