Académique Documents
Professionnel Documents
Culture Documents
EMENTA
BIBLIOGRAFIA
CALENDÁRIO DE PROVAS
Prova:
Suponha que A ⊆ B e B ⊆ C. Seja a um elemento qualquer pertencente a A.
Assim, a ∈ A. X ⊆ Y implica que todo elemento de X também é elemento de Y.
Assim, como A ⊆ B, então a ∈ B, para todo a pertencente a A. Da mesma forma,
como B ⊆ C, todo elemento de B pertence a C. Como a pertence a B, a também
pertence a C.
das Partes de S (Power Set) e será representado por P(S). Obviamente, ieS
fazem parte de P(S):
a) P(∅) = {∅}
b) Se S = {a}, então P(S) = {∅, {a}}
c) Se S = {a, b}, então P(S) = {∅, {a}, {b}, {a, b}}
d) Seja S um conjunto finito com n elementos, n ≥ 0, então P(S) tem 2n
elementos.
f) Se S é infinito, P(S) é infinito também.
União: A ∪ B = {x: x ∈ A ∨ x ∈ B}
Interseção: A ∩ B = {x: x ∈ A ∧ x ∈ B}
Dois conjuntos são ditos disjuntos se A ∩ B =∅
Complemento Relativo: A – B = {x: x ∈ A ∧ x ∉ B}
Diferença Simétrica: A ⊕ B = {x: x ∈ A ∨ x ∈ B, mas não ambos}
A ⊕ B = (A ∪ B) – (A ∩ B) = (A – B) ∪ (B – A)
1
John Venn, Matemático inglês (1834-1923)
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 6
U = Conjunto Universo
U – A = Complemento Absoluto ou complemento de A = Ac
1. Leis Comutativas
a) A ∪ B = B ∪ A
b) A ∩ B = B ∩ A
2. Leis Associativas
a) (A ∪ B) ∪ C = A ∪ (B ∪ C)
b) (A ∩ B) ∩ C = A ∩ (B ∩ C)
3. Leis Distributivas
a) A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)
b) A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 7
4. Leis Idempotentes
a) A ∪ A = A
b) A ∩ A = A
5. Identidade
a) A ∪ i = A
b) A ∪ U = U
c) A ∩ i = i
d) A ∩ U = A
7.a) A ∪ Ac = U
b) A ∩ Ac = i
8.a) Uc = i
b) ic= U
9. Leis de deMorgan
a) (A ∪ B) c = A c ∩ B c
b) (A ∩ B) c = A c ∪ B c
10. Associatividade da Diferença Simétrica
(A ⊕ B) ⊕ C = A ⊕ (B ⊕ C)
x ∈ (Ac ∩ Bc)
⇒ (A ∪ B) c ⊆ A c ∩ B c
Sejam S e T dois conjuntos e s∈S e t∈T. Podemos formar o par ordenado <s, t>
≠ <t, s>. Onde <s1, t1> = <s2, t2>, sse s1 = s2 e t1 = t2. O conjunto de todos os
pares ordenados <s, t> é chamado produto cartesiano de S e T e é escrito SxT:
Se S = T, podemos escrever SxS = S2.
Observações:
a) A x ∅ = ∅
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 9
b) ∅ x A = ∅
c) ∅2 = ∅
Prova:
Vamos fazer uma prova por absurdo. Ou seja, partimos da negação das
hipóteses e tentamos chegar a um resultado absurdo.
Assim, vamos considerar que S é um conjunto.
Como S é um conjunto de conjuntos, podemos verificar se S é um elemento de
si mesmo. Vamos supor os dois casos:
1) S ∈ S: Temos então
Se S ∈ S então, pela definição de conjunto ordinário, S não é um conjunto
ordinário. Isso implica que S ∉ S. Ou seja, um absurdo, pois de S ∈ S
concluímos que S ∉ S.
2) S ∉ S: Temos então
2
Paradoxo é uma situação que, embora pareça fazer sentido, não tem solução. Exemplos: paradoxo da
biblioteca, do barbeiro, de Cretense (ou do mentiroso), etc.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 11
Pelo paradoxo de Russell, podemos afirmar ainda que não exista o conjunto de
todos os conjuntos. Ou seja, nem toda coleção de elementos constitui um
conjunto. O conjunto Universo não pode ser considerado o conjunto de todos os
conjuntos em larga escala. Apenas para um pequeno escopo essa definição é
válida. Essa é a chamada álgebra pequena.
Exemplo:
dias_semana = set of (seg, ter, qua, qui, sex, sab, dom);
feriado, trabalho, feriado_trabalho, uteis, parados: dias_semana;
feriado := [qua, sab];
trabalho := [seg,..,sex];
feriado_trabalho := trabalho*feriado; {interseção = {qua}}
uteis := trabalho – feriado; {diferença = {seg, ter, qui, sex}}
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 12
Exemplo:
Suponha o alfabeto ∑ = {a, b}. Sejam as linguagens:
L1 = {a, ab}
L2 = {b, aa}
Assim, L1*L2 denota uma expressão regular que corresponde às strings {ab,
aaa, abb, abaa}. Ou seja, são reconhecidas strings que comecem com uma
palavra de L1 seguida de uma palavra de L2. De forma análoga, a expressão
regular L1 + L2 denota as strings formadas por palavras de L1 ou de L2.
Exemplos:
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 14
Princípio da Ordenação
Todo conjunto não-vazio S de números inteiros não-negativos contém um
elemento mínimo. Ou seja, existe algum inteiro a em S tal que a ≤ b, para todo b
pertencente a S.
S = {b – na | n ∈ Z+}
b – ma
Isso implica que b – ma não é o elemento mínimo. Isso mostra que o conjunto
em questão não tem elemento mínimo. Tal contradição (ou absurdo) partiu da
suposição que o Teorema não era válido. Logo, o Teorema é verdadeiro.
Exemplos:
de (I):
12 + 22 + 32 + ... + k2 = k.(2.k + 1).(k + 1)/6
Logo:
12 + 22 + 32 + ... + k2 + (k + 1)2 =
(12 + 22 + 32 + ... + k2) + (k + 1)2 =
k.(2.k + 1).(k + 1)/6 + (k + 1)2 =
[(k+1)/6].[k.(2.k + 1) + 6.(k + 1)] =
[(k+1)/6].(2k2 + 7k + 6) = [(k+1)/6].(2k + 3).(k + 2) = (k+1).(2k + 3).(k + 2)/6 (II)
2.
Cuidado!! É preciso sempre calcular o caso base!
Suponha que resolvemos não calculá-lo neste exemplo:
Provar que: 1 + 3 + 5 + ... + (2n - 1) = n2 + 3
n = k: 1 + 3 + 5 + ... + (2k - 1) = k2 + 3 (I)
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 17
Logo, o caso base já indicaria que a assertiva é falsa. Nesse caso, não é preciso
fazer qualquer outra prova. Para a indução ser verdadeira, tanto o caso base
quanto o passo da indução devem ser verdadeiros.
Provas que não são diretas são ditas indiretas. O primeiro tipo delas é a prova
por contrapositivo, ou seja, mostrar que: ¬C ⇒ ¬(H1 ∧ H2 ∧ H3 ∧ … ∧ Hn)
Exemplo:
Se x e y são Reais tal que x.y = 0, então (x + y)n = xn + yn, n pertencente aos
inteiros. Ou seja, sejam:
p = “x.y = 0”
q = “(x + y)n = xn + yn”
Vamos analisar
p⇒q
Essa proposição é trivialmente verdadeira para n = 1; (x + y)1 = x1 + y1 é
obviamente verdade e este fato independe da hipótese x.y = 0. Para n ≥ 2, a
hipótese torna-se necessária.
Uma prova construtiva especifica o objeto ou indica como ele pode ser
determinado por algum procedimento ou algoritmo. Uma prova não-construtiva
estabelece a existência de objetos por meios indiretos, como uma prova por
contradição, sem dar direções sobre como encontrá-los.
Exemplo:
É possível provar que existem infinitos números primos sem construir uma lista
de todos eles (prova não-construtiva). Uma prova construtiva criaria tal lista.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 19
Problemas:
1. Prove que o quadrado de qualquer inteiro pode ser escrito como 3k ou 3k + 1,
onde k é um inteiro. Por exemplo, 22=4= 3.1 + 1, 32=9 = 3.3, 72=49= 3.16 + 1, ....
Solução
Pelo algoritmo da divisão, temos que qualquer inteiro x quando dividido por 3
pode gerar apenas os restos 0, 1 ou 2, já que 0 ≤ r < 3. Logo, qualquer inteiro ao
ser dividido por 3 gera um número na forma 3j, 3j + 1 ou 3j + 2. Vamos calcular o
valor do quadrado de x para cada caso desses:
I) Para x = 3j: x2 = (3j)2 = 3.(3j2) = 3k (k um inteiro)
II) Para x = 3j + 1: x2 = (3j + 1)2 = 9j2 + 6j + 1 = 3(3j2 + 2j) + 1 = 3k + 1
(k um inteiro)
2 2 2 2
II) Para x = 3j + 2: x = (3j + 2) = 9j + 12j + 4 = 3(3j + 4j + 1) + 1 = 3k + 1
(k um inteiro)
Logo, o quadrado de qualquer inteiro pode ser escrito como 3k ou 3k + 1, para k
um inteiro.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 20
2. Prove que o cubo de qualquer inteiro pode ser escrito da forma 9k, 9k + 1 ou
9k + 8, com k um inteiro.
Solução
Similar ao que fizemos antes, pelo algoritmo da divisão, temos que qualquer
inteiro x quando dividido por 3 pode gerar apenas os restos 0, 1 ou 2, já que 0 ≤
r < 3. Logo, qualquer inteiro ao ser dividido por 3 gera um número na forma 3j, 3j
+ 1 ou 3j + 2. Vamos calcular o valor do cubo de x para cada caso desses:
I) Para x = 3j: x3 = (3j)3 = 9.(3j3) = 9k (k um inteiro)
II) Para x = 3j + 1: x3 = (3j + 1)3 = 33.j3 + 3.32.j2 + 3.3.j + 1 = 9.(3.j3 + 3.j2 + j) + 1 =
9k + 1 (k um inteiro)
II) Para x = 3j + 2: x2 = (3j + 2) 3 = 33.j3 + 3.2.32.j2 + 3.22.3.j + 23 = 9.(3.j3 + 3.2.j2 +
+ 22.j) + 8 = 9k + 8 (k um inteiro)
Isso não resolve nossa questão, mas resolveria se (j2 + j) fosse um número par.
Vamos verificar se isso acontece...
Suposição: (j2 + j) é da forma 2t:
Qualquer número j pode ser escrito como 2m ou 2m + 1.
I) Se j = 2m: j2 + j = (2m)2 + (2m) = 2t
II) Se j = 2m + 1: j2 + j = (2m + 1)2 + (2m + 1) = 4m2 + 4m + 1 + 2m + 1 = 2t
Logo, (j2 + j) sempre é um número par. Assim:
8.(j2 + j) = 8.2t = 16t
De (III):
16w + 8.(j2 + j) = 16w + 16t = 16k
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 22
Exercícios
n(n + 1)(n + 2)
c) 1*2 + 2*3 + 3*4 + ... + n*(n+1) = , para todo n >= 1
3
2
⎡ n(n + 1) ⎤
d) 1 + 2 + 3 + ... + n = ⎢
3 3 3 3
, para todo n >= 1
⎣ 2 ⎥⎦
a (r n +1 − 1)
a + ar + ar + ... + ar =
2 n
r −1
n(n + 1)(2n + 1)
6. Para n>=1, prove que é um inteiro.
6
Se
a|b ⇒ b = ar
e
a|c ⇒ c = as
Logo, bx + cy = (ar)x + (as)y = a(rx + sy) = ak, k inteiro, já que x e y são inteiros.
Assim, bx + cy = ak ⇒ a|(bx + cy), x e y inteiros.
Definição 2.2: Sejam a e b inteiros, com pelo menos um deles diferente de zero.
O Máximo Divisor Comum (Greatest Commom Divisor) de a e b, GCD(a, b), é
o inteiro positivo d, satisfazendo:
a) d|a e d|b (d é divisor comum)
b) Se c|a e c|b, então c ≤ d (d é máximo)
Exemplo:
Divisores de -12: 1, 2, 3, 4, 6, 12 (e o negativo desses)
Divisores de 30: 1, 2, 3, 5, 6, 10, 15, 30 (e o negativo desses)
GCD (-12, 30) = 6
Teorema 2.3: Dados inteiros a e b, com pelo menos um deles diferente de zero,
existem inteiros x e y tal que:
GCD(a, b) = ax + by
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 26
Definição 2.3: Dois inteiros a e b, com pelo menos um deles diferente de zero,
são ditos relativamente primos entre si sempre que
GCD(a, b) = 1
Teorema 2.4: Sejam a e b inteiros, com pelo menos um deles diferente de zero.
Então a e b são relativamente primos entre si, sse existem inteiros x e y tal que:
1 = ax + by
Prova:
I) Se a e b são relativamente primos entre si, então GCD(a, b) = 1. Então, pelo
Teorema 2.3, existem inteiros x e y, satisfazendo 1 = ax + by.
II) Suponha que 1 = ax + by para algum x e y e que d=GCD(a, b). Como d|a e
d|b, o Teorema 2.2.g diz que d|(ax + by). Como (ax + by) = 1, então d|1. No
caso, o Teorema 2.2.b diz que d = ±1. Como o GCD deve ser um número
positivo, então d = 1.
Primeiro, como d = GCD(a, b), então d é divisor de a e b. Logo, a/d e b/d são
números inteiros. Do contrário, deve-se provar que essas divisões geram
inteiros.
Como GCD(a,b) = d, é possível encontrar inteiros x e y tais que
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 27
d = ax + by
Dividindo os dois lados por d, temos:
1 = (a/d)x + (b/d)y
Como a/d e b/d são inteiros, temos: GCD (a/d, b/d) = 1.
Prova:
a|c ⇒ c = ar
b|c ⇒ c = bs
Como GCD(a, b) = 1 ⇒ 1 = ax + by, para algum x e y inteiro
1 = ax + by .c
c = acx + bcy
c = a(bs)x + b(ar)y = absx + abry = ab(sx + ry) = abk, k inteiro
Logo, c = abk ⇒ (ab)|c.
c = acx + bcy
Como a|(ac) e, por hipótese, a|(bc), então:
a|(acx + bcy)
Mas c = acx + bcy
Logo: a|c
Teorema 2.6: Sejam a e b inteiros, com pelo menos um deles diferente de zero.
Para um inteiro positivo d, d=GCD(a,b) sse:
a) d|a e d|b (d é divisor comum)
b) Sempre que c|a e c|b, então c|d. (d é máximo)
Problema:
1. Prove que 8|(52n + 7), onde n é um inteiro.
Solução:
8|(52n + 7) ⇒ 52n + 7 = 8r, r inteiro
Vamos tentar provar a proposição acima por indução. Ou seja:
n = 1: 52.1 + 7 = 25 + 7 = 32 = 8.4 = 8r, r inteiro (Base da Indução OK)
....
n = k: 52k + 7 = 8r (Considera-se verdade....)
n = k + 1: 52(k+1) + 7 = ????
52(k+1) + 7 = 52k+2 + 7 = 52k.52 + 7 =
= 52k.52 + 7 + 52.7 - 52.7
= 52(52k + 7) + 7 - 52.7
= 52(8r) + 7 - 25.7
= 25.8r – 168 = 8k.
Logo, 52k + 7 = 8k. Ou seja: 8|(52k + 7)
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 29
O GCD entre dois números pode ser achado listando todos os seus divisores,
mas esse é um processo dispendioso para grandes números.
Como:
a = qb + r ⇒ r = a – qb
Seja d=GCD(a, b). Logo d|a e d|b ⇒ d|(a – qb) ⇒ d|r
c|(qb + r) ⇒ c|a
Isso torna c um divisor comum de a e b, tal que c ≤ d (do contrário, c seria o
GCD e não d). Se supusermos que c é o GCD entre b e r, e c é diferente de d,
poderíamos ter:
I) c > d: Isso implica que d não é o GCD entre a e b, já que c divide os dois.
II) c < d: Mas d divide r. Assim, c não pode ser menor que d.
Como c não pode ser maior ou menor que d, ele tem que ser igual a d.
Exemplo:
1. Encontre o GCD entre 12378 e 3054.
Aplicando o algoritmo da divisão:
12378 = 4.3054 + 162
3054 = 18.162 + 138
162 = 1.138 + 24
138 = 5.24 + 18
24 = 1.18 + 6
18 = 3.6 + 0
Como chegamos ao resto zero, o GCD é o último resto diferente de zero: 6.
Logo, GCD(12378, 3054) = 6
Observe que podemos escrever:
6 = 132.12378 + (-535).3054
Exemplo:
GCD (12, 30) = 6.GCD(2, 5) = 6.1 = 1
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 31
Equação Diofântica é qualquer equação com uma ou mais variáveis que deve
ser resolvida no universo dos inteiros. Uma Equação Diofântica Linear pode ser
escrita como:
ax + by = c, a, b e c inteiros, com a e b diferentes de zero.
O par de inteiros (x, y) é dito uma solução da equação.
Tal equação pode ter um grande número de soluções mesmo no universo dos
inteiros. Suponha a equação 3x + 6y = 18. São possíveis soluções:
3.4 + 6.1 = 18
3.(-6) + 6.6 = 18
3.10 + 6.(-2) = 18
Mas não existe solução (nos inteiros) para a equação: 2x + 10y = 17. O que
distingue as duas equações?
3
Homenagem a Diophantus (250 a.C.)
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 32
Exemplo:
172x + 20y = 1000
Primeiro, precisamos saber se a equação tem solução. Para isso, calculamos o
GCD (172, 20) usando o algoritmo Euclidiano:
172 = 20.8 + 12 (1)
20 = 12.1 + 8 (2)
12 = 8.1 + 4 (3)
8 = 4.2 + 0
Logo, GCD (172, 20) = 4. Como 4|1000, a equação tem solução no universo dos
inteiros. É preciso agora encontrar uma solução particular para a equação.
Vamos aproveitar os cálculos já executados pelo algoritmo Euclidiano para
tentar encontrar essa solução.
Agora, de (1):
12 = 172 – 20.8
Em (7):
4 = 2.(172 – 20.8) – 20
4 = 2.172 – 20.16 – 20
4 = 2.172 – 17.20
Assim, concluímos que:
172.2 + 20.(-17) = 4 (8)
quando procuramos uma solução para a equação:
172x + 20y = 1000
Ou seja, para atingirmos nosso objetivo, basta multiplicarmos os dois lados de
(8) por 250:
172.(2.250) + 20.(-17.250) = 4.250
172.(500) + 20.(-4250) = 1000
Solução particular: x0 = 500 e y0 = -4250. Assim, as soluções gerais são da
forma:
x = 500 + (20/4)t e y = -4250 – (172/4)t
x = 500 + 5t e y = -4250 – 43t
Essas equações definem a família de soluções para a equação diofântica linear
proposta. Dependendo das condições iniciais impostas no problema. Por
exemplo, suponha que desejamos apenas as soluções que sejam positivas.
Assim, t deve ser escolhido de forma que satisfaça simultaneamente:
x = 500 + 5t > 0 e y = -4250 – 43t > 0
t > -100 e t < - 98,94
-100 < t < -98,84
Como t é um inteiro, t = -99. Isso implica que o único valor de t que gera
soluções positivas é -99. Essas soluções são:
x = 500 + 5.(-99) e y = -4250 – 43.(-99)
x=5 e y=7
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 34
Exercícios
1. Dados os inteiros a,b,c,d, verifique o seguinte:
a) Se a | b, então a | bc
b) Se a | b e a | c, então a 2 | bc
c) a | b se e só se ac | bc, onde c ≠ 0
d) Se a | b e c | d, então ac | bd.
2. Para n >= 1, use a indução matemática para estabelecer cada uma das
seguintes regras de divisibilidade:
a) 8 | (5 2 n + 7)
b) 15 | (2 4 n − 1)
4
Lembrando: Lema de Euclid: Se a|(bc), com GCD(a, b) = 1, então a|c.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 37
Como a = 2 b e b = a/ 2 :
2br + as = 2
Como b, r, a e s são todos inteiros, temos que 2 é um inteiro o que é um
Problemas:
1. Prove que o único primo da forma n3 – 1 é 7.
Solução:
n3 – 1 = (n – 1).(n2 + n + 1)
Para que esse número seja um primo, ele só pode ser divisível por 1 e por ele
mesmo. Assim, podemos ter:
(n – 1).(n2 + n + 1)
1 . p (I)
p . 1 (II)
(I)
Se n – 1 = 1 ⇒ n = 2
p = n2 + n + 1 = 22 + 2 + 1 = 7
(II)
Se n2 + n + 1 = 1
n2 + n = 0 ⇒ n.(n + 1) = 0 ⇒ n = 0 ou n = -1.
n = 0 ⇒ p = n – 1 = -1
n = -1 ⇒ p = n – 1 = -2
Em ambos os casos, p seria um número negativo o que não é possível. Logo, o
único primo na forma n3 – 1 é 7.
Como determinar se um dado inteiro é primo ou não? Uma forma é tentar dividir
o número por todos os seus predecessores e verificar se algum deles o divide
(menos o 1). Esse processo pode ser simplificado da seguinte forma: Se um
inteiro a, a > 1, é composto, podemos escrever a = bc, onde 1 < b < a e 1 < c <
a. Assumindo que:
b ≤ c ⇒ b2 ≤ bc = a
Logo
b≤ a
Como b > 1, o Teorema 2 garante que b tem, pelo menos, um fator primo p.
Então p ≤ b ≤ a . Como p|b e b|a ⇒ p|a. Ou seja, um número composto a
5
Crivo = peneira
6
Eratóstenes, matemático grego, 276-194 a.C.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 40
Prova: Por contradição, vamos supor que o número de primos é finito. Assim,
teríamos um primo pn que seria o último número primo. Vamos então formar um
número composto P gerado pelo produto de todos os primos:
P = p1. p2. p3.... pn.
Dessa forma, existe um P’ = P + 1. Esse número deve ser composto já que, se
ele fosse primo, ele seria um fator de P o que seria um absurdo. Assim, P’ é
composto. Sendo assim, ele deve ser divisível por um primo pk. Observe que:
pk|P
já que pk deve ser igual a um dos pi’s, 1 ≤ i ≤ n. Assim:
pk|P
e
pk|P’
ou seja
pk|(P’ – P)
pk|(P + 1 – P)
pk|1 ⇒ pk = ±1
Como um número primo deve ser positivo, pk = 1. Mas pk deve ser maior que 1
para ser primo. Como chegamos a uma contradição, a negação da proposição
está errada e a proposição é verdadeira.
Em 1845, Joseph Bertrand apresentou uma teoria que os números primos são
bem distribuídos no sentido que entre n ≥ 2 e 2n existe, pelo menos, um número
primo. Tal teoria não foi provada por Bertrand, mas foi verificada para todo n até
3.000.000. A prova formal veio em 1852 pelo matemático russo Tchebyshev.
7
Citada em 1742 em uma carta enviada a Euler.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 41
Pode-se provar que existem infinitos números primos, mas ainda não se sabe
como eles se distribuem. Não se sabe nem se existem infinitos “primos gêmeos”
(primos da forma p e p + 2 – como 11 e 13, 17 e 19, etc.). Os maiores gêmeos
encontrados até 2002 têm 51.090 dígitos8. Os primos podem estar próximos
(como os gêmeos) ou muito distantes. A maior distância já encontrada entre
primos consecutivos é de 864.
A conjectura de Goldbach diz que todo inteiro par maior que 4 pode ser escrito
como a soma de dois primos (podem ser iguais e ele aceita o 1 como primo). A
conjectura nunca foi provada, mas já foi comprovada para números até 4.1011.
A primeira parte da prova só surgiu em 1922 (quase 200 anos depois) por Hardy
e Littlewood. Eles mostraram que qualquer número ímpar grande é a soma de
três primos. Em 1937, o russo Vinogradov comprovou o trabalho de Hardy e
Littlewood.
8
Maiores informações: http://primes.utm.edu/top20/page.php?id=1
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 42
Um número primo é um número que só pode ser dividido por um ou por ele
mesmo sem que tenha um resto de divisão. Um Mersenne é um tipo especial de
primo que é definido por dois elevado a uma potência específica, menos um. Por
exemplo, sete é um Mersenne, pois é dois elevado ao cubo menos um. O
número recém-anunciado é dois elevado à 30.402.457ª potência menos 1.
9
Maiores informações: http://info.abril.com.br/aberto/infonews/122005/28122005-4.shl
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 43
Exercícios
1. Prove:
a) Qualquer número primo da forma 3n+1 também é da forma 6m+1.
b) O único primo da forma n 3 − 1 é 7.
c) O único primo para o qual 3p+1 é um quadrado perfeito é p = 5.
4. Prove:
a) Todo inteiro da forma n 4 + 4 , com n>1, é composto.
b) Se n > 4 é composto, então n divide (n-1)!.
c) Encontre todos os primos que dividem 100!.
10
http://www.cse.iitk.ac.in/users/manindra/primality_v6.pdf
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 44
b) Mostre que qualquer número composto com 3 dígitos deve ter um fator primo
menor ou igual a 31.
gcd(a 3 , b 2 ) .
3581 3583 3593 3607 3613 3617 3623 3631 3637 3643
3659 3671 3673 3677 3691 3697 3701 3709 3719 3727
3733 3739 3761 3767 3769 3779 3793 3797 3803 3821
3823 3833 3847 3851 3853 3863 3877 3881 3889 3907
3911 3917 3919 3923 3929 3931 3943 3947 3967 3989
4001 4003 4007 4013 4019 4021 4027 4049 4051 4057
4073 4079 4091 4093 4099 4111 4127 4129 4133 4139
4153 4157 4159 4177 4201 4211 4217 4219 4229 4231
4241 4243 4253 4259 4261 4271 4273 4283 4289 4297
4327 4337 4339 4349 4357 4363 4373 4391 4397 4409
4421 4423 4441 4447 4451 4457 4463 4481 4483 4493
4507 4513 4517 4519 4523 4547 4549 4561 4567 4583
4591 4597 4603 4621 4637 4639 4643 4649 4651 4657
4663 4673 4679 4691 4703 4721 4723 4729 4733 4751
4759 4783 4787 4789 4793 4799 4801 4813 4817 4831
4861 4871 4877 4889 4903 4909 4919 4931 4933 4937
4943 4951 4957 4967 4969 4973 4987 4993 4999 5003
5009 5011 5021 5023 5039 5051 5059 5077 5081 5087
5099 5101 5107 5113 5119 5147 5153 5167 5171 5179
5189 5197 5209 5227 5231 5233 5237 5261 5273 5279
5281 5297 5303 5309 5323 5333 5347 5351 5381 5387
5393 5399 5407 5413 5417 5419 5431 5437 5441 5443
5449 5471 5477 5479 5483 5501 5503 5507 5519 5521
5527 5531 5557 5563 5569 5573 5581 5591 5623 5639
5641 5647 5651 5653 5657 5659 5669 5683 5689 5693
5701 5711 5717 5737 5741 5743 5749 5779 5783 5791
5801 5807 5813 5821 5827 5839 5843 5849 5851 5857
5861 5867 5869 5879 5881 5897 5903 5923 5927 5939
5953 5981 5987 6007 6011 6029 6037 6043 6047 6053
6067 6073 6079 6089 6091 6101 6113 6121 6131 6133
6143 6151 6163 6173 6197 6199 6203 6211 6217 6221
6229 6247 6257 6263 6269 6271 6277 6287 6299 6301
6311 6317 6323 6329 6337 6343 6353 6359 6361 6367
6373 6379 6389 6397 6421 6427 6449 6451 6469 6473
6481 6491 6521 6529 6547 6551 6553 6563 6569 6571
6577 6581 6599 6607 6619 6637 6653 6659 6661 6673
6679 6689 6691 6701 6703 6709 6719 6733 6737 6761
6763 6779 6781 6791 6793 6803 6823 6827 6829 6833
6841 6857 6863 6869 6871 6883 6899 6907 6911 6917
6947 6949 6959 6961 6967 6971 6977 6983 6991 6997
7001 7013 7019 7027 7039 7043 7057 7069 7079 7103
7109 7121 7127 7129 7151 7159 7177 7187 7193 7207
7211 7213 7219 7229 7237 7243 7247 7253 7283 7297
7307 7309 7321 7331 7333 7349 7351 7369 7393 7411
7417 7433 7451 7457 7459 7477 7481 7487 7489 7499
7507 7517 7523 7529 7537 7541 7547 7549 7559 7561
7573 7577 7583 7589 7591 7603 7607 7621 7639 7643
7649 7669 7673 7681 7687 7691 7699 7703 7717 7723
7727 7741 7753 7757 7759 7789 7793 7817 7823 7829
7841 7853 7867 7873 7877 7879 7883 7901 7907 7919
• 5318722890542041841850847343751333994083036139821308566452994649309521786060
45848877129147820387996428175564228204785846141207532462936339834139412401975
33870579464659548732436519479282218947309227399358058796457165967808448415260
3881094176995594813302284232006001752128168901293560051833646881436219
• 3197053047011415391557201372009746646667925260594057925396809749294697835128
21793995613718943171723765238853752439032835985158829038528214925658918372196
74208946468396023991995088235584476605536517993761032612767517885730626095555
0407044463370239890187189750909036833976197804646589380690779463976173
• 2505569523276462144272467774880323517121390946439883947261933473520925266163
05469220133287929222242315761834129196430398011844978805263868522770723615504
74443863838167032161394928053025401460288770796037575201680751060284659049272
4216092721283154099469988532068424757856392563537802339735359978831013
• 2902453291655700251160164872177402875088379132955716094639143487783196544891
18435855243301969001872061575755804802874062021927719647357060447135321577028
92926957857476054726831005505686738687595904511909396797220512427044164845082
5188877095173754196346551952542599226295413057787340278528252358809329
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 48
Exemplos:
Considere n = 7:
8 ≡ 1 mod 7, pois 8 – 1 = 7 = 1.7
17 ≡ 3 mod 7, pois 17 – 3 = 14 = 2.7
3 ≡ 24 mod 7, pois 3 – 24 = -21 = (-3).7
-31 ≡ 11 mod 7, pois -31 – 11 = -42 = (-6).7
-15 ≡ -64 mod 7, pois -15 – (-64) = 49 = 7.7
Exemplos:
1. Prove que 41| (220 – 1)
Solução:
Vamos tentar resolver o problema tratando casos mais simples. Vamos procurar
primeiro a relação entre 41 e alguma potência de 2. Por exemplo:
25 ≡ -9 mod 41
(25)4 ≡ (-9)4 mod 41
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 50
Ou seja,
1! + 2! + 3! + .... + 100! ≡ 1! + 2! + 3! mod 12
1! + 2! + 3! + .... + 100! ≡ 1 + 2 + 6 mod 12
1! + 2! + 3! + .... + 100! ≡ 9 mod 12
Logo, o resto da divisão de 1! + 2! + 3! + .... + 100! por 12 é 9.
Prova:
Hipótese: ca ≡ cb mod n
Conclusão: a ≡ b mod (n/d), onde d = GCD (c, n)
Considerando que GCD (c, n) = d (não faz parte da conclusão!), implica que
existem inteiros r e s, tal que c = dr e n = ds, com GCD(r, s) = 1. Logo:
ca – cb = kn
dra – drb = kds
r.(a – b) = ks ⇒ s|[r(a – b)]
Como GCD (r, s) = 1 ⇒ s|(a – b):
a ≡ b mod s
Mas s = n/d. Logo:
a ≡ b mod (n/d)
Exemplo:
1. Calcule o resto de 250 quando dividido por 7.
Solução:
Vamos tentar simplificar o problema encontrando alguma relação entre uma
potência de 2 e 7. Sempre que possível, é interessante trabalhar com
congruências com 1.
Observe que:
23 = 8 ≡ 1 mod 7
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 52
Logo
(23)16 ≡ 116 mod 7
248 ≡ 1 mod 7
Pelo Teorema 4.2.e:
22.248 ≡ 22.1 mod 7
250 ≡ 22 mod 7
Exercícios
5. Prove que:
a) Se a é um inteiro ímpar, então a2 ≡ 1 mod 8.
b) Para qualquer inteiro a, a3 ≡ 0, 1 ou 6 mod 7.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 54
m
Teorema 4.4: Seja P ( x) = ∑c
k =0
k x k uma função polinomial de x com coeficientes
10 ≡ 1 mod 9, assim, pelo Teorema 4.4, P(10) ≡ P(1) mod 9. Mas P(10) = N e
P(1) = S, tal que N ≡ S mod 9. Segue que N ≡ 0 mod 9, sse, S ≡ 0 mod 9.
Exercícios
99
2. Encontre os dois últimos dígitos de 9 .
Uma equação da forma a.x ≡ b mod n é chamada uma congruência linear, e por
uma solução de tal equação entendemos um inteiro x0 para o qual a.x0 ≡ b mod
n. Por definição, a.x0 ≡ b mod n, sse n|(a.x0 – b), ou, da mesma forma, sse, a.x0
– b = n.y0, para algum inteiro y0. Assim, o problema de encontrar todos os
inteiros que satisfazem a congruência linear ax ≡ b mod n é idêntico ao de
encontrar todas as soluções da equação Diofântica ax – ny = b.
Teorema 4.7: A congruência linear ax ≡ b mod n tem solução sse d|b, onde d =
GCD (a, n). Se d|b, então ela tem d soluções mutuamente incongruentes módulo
n.
OBS: Observe que o Teorema 4.7 reflete exatamente o que caracteriza uma
equação diofântica ter solução. A congruência ax ≡ b mod pode ser expressa
como ax – b = nk ou ax –nk = b. Isso é uma equação diofântica que tem solução
quando GCD(a, n) | b (Teorema 2.9).
Teorema 4.8: Teorema Chinês dos Restos. Sejam n1, n2, ..., nr inteiros
positivos tais que GCD (ni, nj) = 1 para i ≠ j. Então o sistema de congruências
lineares:
x ≡ a1 mod n1
x ≡ a2 mod n2
....
x ≡ ar mod nr
tem uma solução simultânea, que é única módulo n1.n2...nr.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 58
Exemplo:
1. O primeiro problema a ser resolvido pelo Teorema Chinês dos Restos foi
postulado no início do Século I por Sun Tsu. Ele pediu para que fosse
encontrado um número inteiro que tivesse resto 2, 3 e 2 quando dividido por 3, 5
e 7 respectivamente. Esse problema corresponde ao sistema de três
congruências:
x ≡ 2 mod 3
x ≡ 3 mod 5
x ≡ 2 mod 7
Solução:
Seja n = 3.5.7 = 105. Para cada k = 1, 2, ..., r, seja:
Nk = n/nk
Assim:
N1 = n/3 = 105/3 = 35
N2 = n/5 = 105/5 = 21
N3 = n/7 = 105/7 = 15
Assim, as congruências lineares:
(n/nk)x ≡ 1 mod nk
para todo k, tornam-se
35x ≡ 1 mod 3 21x ≡ 1 mod 5 15x ≡ 1 mod 7
são satisfeitas por x1 = 2, x2 = 1, x3 = 1, respectivamente. Assim, uma solução é
dada por:
x = 2.(n/n1). x1 + 3.(n/n2).x2 + 2.(n/n3).x3
x = 2.35.2 + 3.21.1 + 2.15.1 = 233
A solução é dada por x mod n, ou seja:
x= 233 ≡ 23 mod 105
Observe que:
23 ≡ 2 mod 3, 23 ≡ 3 mod 5 e 23 ≡ 2 mod 7
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 59
Exercícios
1. Resolva as seguintes congruências:
a) 25x ≡ 15 mod 29
b) 5x ≡ 2 mod 26
5. Teorema de Fermat11
Por outro lado, quando n tem fatoração n = a.b, com a ≥ b ≥ 1, então podemos
escrever:
2 2
⎛a+b⎞ ⎛a−b⎞
n=⎜ ⎟ −⎜ ⎟
⎝ 2 ⎠ ⎝ 2 ⎠
11
Pierre de Fermat, matemático francês (1601-1665)
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 61
k2 – n, (k + 1) 2 – n, (k + 2) 2 – n, (k + 3) 2 – n, ...
Como os dois fatores são primos, apenas sete passos foram necessários.
Exercícios
3. Mersenne definiu que quando um número pode ser escrito como a soma de
dois quadrados relativamente primos entre si de duas formas distintas, ele é
composto e pode ser fatorado como segue: Se n = a2 + b2 = c2 + b2, então:
(ac + bd )(ac − bd )
n=
(a + d )(a − d )
Use esse resultado para fatorar:
a) 493 = 182 + 132 = 222 + 32
Teorema 5.1: Teorema de Fermat: Seja p um primo e suponha que pða. Então:
ap-1 ≡ 1 mod p
Prova:
Vamos começar considerar os primeiros p – 1 múltiplos positivos de a; isto é, os
inteiros:
a, 2a, 3a, ...., (p – 1)a
Nenhum desses números é congruente entre si módulo p (já que todos os
coeficientes são menores que p e pða), assim como nenhum deles é congruente
com zero. Se fossem, teríamos:
r.a ≡ s.a mod p 1 ≤ r < s ≤ (p – 1)
Logo:
r ≡ s mod p
O que é impossível. Assim, o conjunto anterior deve congruente módulo p a 1, 2,
3, ...., p – 1. Multiplicando todas essas congruências juntas, encontramos que:
a.2a.3a....(p – 1)a ≡ 1.2.3....(p – 1) mod p
Assim:
ap-1.(p – 1)! ≡ (p – 1)! mod p
Logo:
ap-1 ≡ 1 mod p
Esse lema serviu para resolver um problema que perdurou por séculos.
Acreditava-se que n é primo, se e somente se, n|(2n – 2). Por exemplo:
22 – 2 = 2 e 2|2 ⇒ 2 é primo
23 – 2 = 6 e 3|6 ⇒ 3 é primo
24 – 2 = 14 e 4ð14 ⇒ 4 não é primo
25 – 2 = 30 e 5|30 ⇒ 5 é primo
26 – 2 = 62 e 6ð62 ⇒ 6 não é primo
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 67
Assim
211 = 2.210 ≡ 2.1 ≡ 2 mod 31
e
231 = 2.(210)3 ≡ 2.13 ≡ 2 mod 11
Pelo Lema anterior, temos:
211.31 ≡ 2 mod 11.31
ou
2341 ≡ 2 mod 341
que leva a:
2340 ≡ 1 mod 341
Com isso, temos um número n (341) que satisfaz a condição n|(2n – 2), mas não
é primo. De fato, essa condição funciona para todo n ≤ 340.
Exercícios
2.
a) Se GCD (a, 35) = 1, mostre que a12≡1 mod 35.
b) Se GCD (a, 42) = 1, mostre que 168=3*7*8 divide a6 – 1.
c) Se GCD (a, 133) = GCD (b, 133) = 1, mostre que 133|(a18 – b18).
3. Do teorema de Fermat deduza que, para qualquer inteiro n≥0, 13|(1112n+6 + 1).
4. Prove:
a) a21 ≡ a mod 15, para todo a.
b) a7 ≡ a mod 42, para todo a.
c) a13 ≡ a mod (3*7*13), para todo a.
d) a9 ≡ a mod 30, para todo a.
Exemplo:
Ф(30) = 8 já que existem 8 números menores que 30 e que são relativamente
primos a ele (1, 7, 11, 13, 17, 19, 23, 29).
Observe que Ф(1) = 1, pois GCD (1, 1) = 1. Enquanto, se n > 1, então GCD(n, n)
= n ≠ 1.
A função Ф é chamada de função phi de Euler.
Se n é primo, então todo inteiro menor que n é relativamente primo a ele. Assim,
φ(n) = n – 1, se n é primo. Se n > 1 é composto, então n tem um divisor d tal que
1 < d < n. Segue que existem, pelo menos, dois inteiros entre 1 e n que não são
relativamente primos a n (d e n), Como resultado, φ(n) ≤ n – 2.
12
Leonhard Euler (1707-1783)
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 70
Exemplos:
φ(9) = φ(32) = 32 – 3 = 6
φ(16) = φ(24) = 24 – 23 = 16 – 8 = 8
Prova:
Primeiro, suponha que GCD(a, bc) = 1 e defina que d = GCD(a, b). Então d|a e
d|b. Assim, d|a e d|bc. Isso implica que GCD (a, bc) ≥ d. Como GCD (a, bc) = 1,
então 1 ≥ d o que implica d = 1. O mesmo raciocínio pode ser feito para GCD(a,
c) = 1.
Pela outra direção, considere GCD (a, b) = GCD (a, c) = 1 e assuma que GCD
(a, bc) = d1 > 1. Então d1 deve ter um fator primo divisor p. Como d1|bc, segue
que p|bc; em conseqüência, p|b ou p|c. Se p|b e considerando que p|a (já que p
é um fator de d1 que é divisor de a), então GCD(a, b) ≥ p, que é uma contradição
já que GCD (a, b) = 1 e 1 não é primo. Da mesma forma, a condição p|c leva a
uma conclusão igualmente falsa que o GCD (a, b) ≥ p. Assim d1 = 1 e o lema
está provado.
Teorema 6.3: Se o inteiro n>1 pode ser fatorado em p1k1. p2k2.... prkr, então:
Ф(n)=(p1k1 - p1k1-1). (p2k2 – p2k2-1)... (prkr – prkr-1) = n(1 – 1/p1). (1 – 1/p2).. (1 – 1/pr).
Exercícios
1.Calcule:
a) Ф(1001)
b) Ф(5040)
c) Ф(36.000)
4. Prove que a equação φ(n) = φ(n + 2) é satisfeita por n = 2(2p – 1) sempre que
p e 2p-1 forem ambos primos.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 72
Lema: Seja n > 1 e GCD (a, n) = 1. Se a1, a2, ..., aφ(n) são inteiros positivos
menores que n e relativamente primos a n, então
aa1, aa2, ..., aaφ(n)
são congruentes módulo n a a1, a2, ..., aφ(n) em alguma ordem.
Prova:
Observe que nenhum par dentre os inteiros aa1, aa2, ..., aaφ(n) é congruente
módulo n. Do contrário, teríamos
a.ai ≡ a.aj mod n, 1 ≤ i < j ≤ φ(n)
⇒ ai ≡ aj mod n
⇒ ai = aj
já que ai e aj são menores que n. Isso seria uma contradição. Além do mais,
como GCD(ai, n) = 1 para todo i e GCD(a, n) = 1, o lema relacionado ao
Teorema 6.1 garante que cada um dos a.ai é relativamente primo a n.
Vamos fixar em um a.ai particular. Existe um único inteiro b, onde 0 ≤ b < n, para
o qual a.ai ≡ b mod n. Como
GCD (b, n) = GCD (a.ai, n) = 1
então b deve ser um dos inteiros a1, a2, ..., aφ(n). Isso prova que os números a1,
a2, ..., aφ(n) e os números aa1, aa2, ..., aaφ(n) são idênticos (módulo n).
Exemplo:
O Teorema de Euler é bastante útil na redução de inteiros grandes módulo n.
Por exemplo, vamos encontrar os últimos dois dígitos na representação decimal
de 3256. Isso é equivalente a obter o menor inteiro não negativo para o qual 3256
é congruente módulo 100.
Exercícios
7. Aplicações - Criptografia
Vamos entender alguns elementos básicos antes de vermos uma aplicação real
baseada na Teoria dos Números.
Cifragem:
Para enviar uma mensagem cifrada M < N para Bob, Alice calcula o texto cifrado
C:
C ≡ Me mod N
Lembrando que N e e são a chave pública de Bob.
Decifragem:
Para decifrar C, Bob computa:
M ≡ Cd mod N
Lembrando que apenas Bob tem a chave de decifragem d.
Exemplo:
p = 7 e q = 13 ⇒ N = 7.13 = 91
Ф(N) = (7 – 1).(13 – 1) = 72
e = 5 ⇒ d = 29, onde
5.29 ≡ 1 mod Ф(N) ≡ 1 mod 72
Seja M = 3, a cifragem torna-se:
C ≡ Me mod N
C = 35 = 243 ≡ 61 mod 91 ⇒ C = 61
e a decifragem seria:
Cd = 6129 ≡ 3 mod 91 = M
1. Relações
(Capítulo 3 do Ross)
1.1 Introdução
Exemplos:
1. Todo conjunto S tem, pelo menos, a relação básica de “igualdade”:
E = {(x, x): x ∈ S}
Dois elementos em S satisfazem esta relação, se e somente se, eles são
idênticos. Ou seja, (x, y) ∈ E, sse x = y.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 82
Exemplo:
1. A respeito das relações inversas, se, por exemplo, tivermos:
R = {(m, n) ∈ SxS: m – n > 0}
então a relação inversa é dada por:
R← = {(n, m) ∈ SxS: n – m < 0}
Assim, por exemplo, se o par (3, 2) fazia parte de R, o par (2, 3) faz parte de R←.
Observe que não é apenas o complementar da desigualdade “>” que define o
inverso. Nesse caso, o complementar seria “≤”, mas aqui a igualdade não é
permitida já que os pares (x, x) não pertencem à relação original.
Exemplo:
1. Considere a relação R1 no conjunto {0, 1, 2, 3,} definida por ≤. Assim, o par
(m, n) ∈ R1, sse m ≤ n. Os seguintes pares fazem parte da relação:
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 84
(0, 0), (0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)
Graficamente, isso pode ser representado da seguinte forma:
Se e é uma aresta de G e γ(e) = (p, q), então dizemos que e vai de p para q e
chamamos p de vértice inicial e q de vértice terminal de e.
Exemplos:
1. Considere a tabela abaixo e sua representação em digrafos:
e γ(e)
a (w,z)
b (w, x)
c (x, z)
d (z, z)
e (z, x)
f (z, y)
g (y, w)
h (y, x)
Um caminho fechado, onde cada vértice aparece apenas uma vez (menos o
primeiro e o último), é chamado de ciclo (ou circuito ou laço). Um digrafo sem
ciclos é chamado acíclico.
(R) x ≤ x, ∀x ∈ ú (Reflexividade)
(AS) x ≤ y e y ≤ x ⇒ x = y, ∀x, y ∈ ú (Anti-Simetria)
(T) x ≤ y e y ≤ z ⇒ x ≤ z, ∀x, y, z ∈ ú (Transitividade)
(L) Dados x e y, tanto x ≤ y ou y ≤ x, ou ambos se x = y (Linearidade)
Exemplo:
1. Se comparamos os fabricantes de carros, podemos ter um fabricante A
melhor que um Fabricante B, ou casos onde um fabricante C é melhor que um D
em alguns aspectos, mas nada podendo ser dito sobre o todo.
(R) s ≤ s, ∀s em S;
(AS) s ≤ t e t ≤ s implica em s = t;
(T) s ≤ t e t ≤ u implica em s ≤ u.
Exemplo:
Se ≤ é o conjunto inclusão ⊆, então A < B significa um subconjunto de B, i.e., A
⊂ B. A relação < é AR e T:
(AR) s < s é falso para todo s em S
(T) se s < t e t < u, então s < u.
13
Helmut Hasse (1898-1079): matemático alemão com grandes contribuições para a Teoria dos
Números
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 90
1- Gera o digrafo
2- Elimina os laços dos vértices:
Como é um Poset, ele já é naturalmente reflexivo, logo, os laços são
redundantes.
3- Se (a, b) e (b, c) estão em ordem parcial, remova a aresta (a, c), pois esta
também deve estar:
Novamente, como é um Poset, obrigatoriamente, ele deve ser Transitivo.
4- Re-arranje cada aresta de forma que o vértice inicial fique abaixo do terminal:
Gera a estrutura de árvore.
5- Elimine as setas direcionais; elas são desnecessárias já que sempre estariam
apontando de baixo para cima.
Exemplo:
1. Considere o conjunto S = {1, 2, 3, 4, 5, 6} e a relação R = {(m, n) ∈ RxR: m |
n} (ou seja, m divide n)
Poset (S, |)
Pares que satisfazem a relação:
(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 2), (2, 4), (2, 6), (3, 3), (3, 6), (4, 4), (5,
5), (6, 6)
Digrafo:
No entanto, podemos ver pelo diagrama que 1|6 porque, pela transitividade, 1|2
e 2|6. De forma similar, podemos ver que 1|4, pois 1|2 e 2|4.
Exemplo:
Considere o diagrama de Hasse abaixo, representando um Poset:
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 92
Exemplo:
Considere o conjunto S = {1, 2, 3, 4, 5, 6} e a relação R = {(m, n) ∈ RxR: m | n}
(ou seja, m divide n)
Poset P(S, |)
Os conjuntos a) {2, 3, 4, 5, 6} e b) {1, 2, 3, 6} são Subposets de P:
a) b)
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 93
Se S é um Subposet de um Poset (P, ≤), então S pode ter um membro M tal que
s ≤ M para todo s em S. Na figura b anterior, temos s ≤ 6 para todo s, enquanto
que não existe tal elemento na figura a anterior. Um elemento M com tal
propriedade é chamado o maior elemento de S ou o máximo de S denotado por
max(S). De forma similar, se S tem um elemento m tal que m ≤ s para todo s em
S, então m é chamado o menor elemento de S ou o mínimo de S,denotado por
min(S). Existe no máximo um único elemento máximo ou mínimo.
Exemplo:
1. No Poset (Z+*, |) onde, como usual, m | n, sse, m divide n, quem são o lub {m,
n} e glb {m, n} ?
lub {m, n} = LCM (m, n)
glb {m, n} = GCD (m, n)
Um limite superior para {m, n} é um inteiro k em Z+* tal que m divide k e n divide
k, i.e., um múltiplo comum de m e n. O menor limite superior lub {m, n} é o
mínimo múltiplo comum de m e n. Da mesma forma, o maior limite inferior glb
{m, n} é o maior divisor comum de m e n, o maior inteiro positivo que divide tanto
m quanto n.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 94
A maioria dos posets que têm aplicações práticas tem a propriedade que cada
subconjunto com dois elementos tem tanto um menor limite superior quanto um
maior limite inferior. Um reticulado (lattice) é um poset no qual existe lub{x, y} e
glb{x, y} para todo x e y. Em um reticulado (P, ≤), as equações
x ∨ y = lub{x, y} e x ∧ y = glb{x, y}
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 95
Exemplos:
1. O poset (P({a, b, c}, ⊆)) abaixo:
2. O poset abaixo
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 96
não é um reticulado. Por exemplo, {a, b} e {a, c} não têm menor limite superior.
De fato, eles não têm qualquer limite superior.
Exemplo:
1. Considere o digrafo abaixo referente à relação R aplicada sobre o conjunto S
= {1, 2, 3, 4}.
1 2 3 4
1 0 0 1 1
2 0 1 0 0
3 0 0 1 0
4 1 0 0 0
Como exemplo na matriz, o elemento A(1, 3) tem valor 1, indicando que o par (1,
3) faz parte da relação, ou seja, no digrafo, existe um caminho de 1 para 3. Da
mesma forma, o elemento A(2, 1) tem valor 0 porque o par (2, 1) não faz parte
da relação (não há caminho de 2 para 1 no digrafo).
Vamos chamar t(R) uma relação transitiva; r(R) reflexiva e s(R) simétrica. Seja R
a relação apresentada no exemplo anterior. Analisando o digrafo, observamos
que a relação R não é reflexiva já que nem 1 e nem 4 estão relacionados entre
si. Na matriz booleana A, isso está indicado pelo 0 nas posições A(1, 1) e A(4,
4). Assim, se a relação fosse reflexiva, esses elementos teriam valor 1. Ou seja,
para uma relação reflexiva, toda a diagonal principal da matriz booleana tem
valor 1.
Seja r(R) um operador que, ao ser aplicado a uma relação R, torna-a reflexiva. A
aplicação desse operador acrescenta novos pares à relação de forma a torná-la
aquilo que se busca. Isso independe do comportamento da relação antes da
aplicação do operador MESMO quando a relação é gerada sobre uma função.
Por exemplo, suponha que é aplicada ao conjunto S = {1, 2, 3} a relação R =
{(m, n) ∈ R | m < n}. Obviamente, os pares (x, x), x ∈ S, não fazem parte de R.
No entanto, ao criarmos a relação R1 = r(R), os pares (x, x) são inseridos a fim
de tornar a relação R reflexiva.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 98
1 2 3 4
1 1 0 1 1
2 0 1 0 0
3 0 0 1 0
4 1 0 0 1
Foram incluídos os pares (1, 1) e (4, 4) que correspondem, no digrafo, aos laços
nos elementos 1 e 4 e, na matriz booleana, os elementos (1, 1) e (4, 4) tornam-
se 1.
Exemplo:
1. Considerando a mesma relação R anterior (não R1 que é gerado por r(R) !!!),
podemos gerar R2 = s(R):
1 2 3 4
1 0 0 1 1
2 0 1 0 0
3 1 0 1 0
4 1 0 0 0
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 99
Nesse caso, foi acrescentado o par (3, 1) que indica um caminho de 3 para 1 no
digrafo e a atribuição do valor 1 à posição (3, 1) da matriz booleana. Em termos
de matriz, a simetria pode ser facilmente observada já que a matriz booleana
gerada é uma matriz simétrica (A = AT)
1 2 3 4
1 1 0 1 1
2 0 1 0 0
3 0 0 1 0
4 1 0 1 1
Vale salientar que a relação R3 final tornou-se reflexiva, mas isso não é uma
condição necessária para a transitividade.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 100
Exemplo:
1. Para a relação R anterior:
1 2 3 4
1 0 0 1 1
2 0 1 0 0
3 0 0 1 0
4 1 0 0 0
temos
r(R) = s(R) =
1 2 3 4 1 2 3 4
1 1 0 1 1 1 0 0 1 1
2 0 1 0 0 2 0 1 0 0
3 0 0 1 0 3 1 0 1 0
4 1 0 0 1 4 1 0 0 0
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 101
e sr(R) = s(r(R)) =
1 2 3 4
1 1 0 1 1
2 0 1 0 0
3 1 0 1 0
4 1 0 0 1
Lema:
a. Se R é reflexiva, s(R) e t(R) também são.
b. Se R é simétrica, r(R) e t(R) também são. Ou seja, t(s(R)) é transitiva.
c. Se R é transitiva, r(R) também é. Nada pode ser dito sobre s(R).
1 2 3 4
1 1 0 1 1
2 0 1 0 0
3 1 0 1 1
4 1 0 1 1
14
Relação de equivalência: uma relação que é s, r e t ao mesmo tempo.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 102
Obs: Para matrizes booleana mxn A1 e A2, dizemos que A1 ≤ A2, se toda entrada
de A1 for menor ou igual à entrada correspondente de A2, i.e., A1[i, j] ≤ A2[i, j],
para todo 1 ≤ i ≤ m e 1 ≤ j ≤ n.
s(R) =
1 1 1
1 1 0
1 0 1
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 103
Mas, ts(R) =
1 1 1
1 1 1
1 1 1
= tsr(R) = trs(R).
Logo, tsr(R) pode ser diferente de str(R). A ordem da aplicação dos operadores
pode gerar relações diferentes. Isso vale para os casos onde o operador de
transitividade está envolvido.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 104
Exercícios
1. As figuras abaixo mostram os diagramas de Hasse de três Posets.
A B C
.
Encontre as matrizes booleanas para :
a) r(R) b) s(R) c) rs(R) d) sr(R) e) tsr(R)
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 106
3. Grupos
(Final do Burton)
3.1 Introdução
Em geral, o par <G, •> é referido como o grupo G para diferenciar do conjunto G.
g•h = e = g•k
Novamente, vamos efetuar uma composição pela esquerda de ambos os lados
com o inverso de g:
g-1•g•h = g-1•g•k
e•h = e•k
h=k
Logo, se considerarmos que existem dois inversos para um elemento, eles
devem ser iguais.
Lema: Para todo elemento a e b de um grupo <G, •>, temos (a•b)-1 = b-1•a-1.
Prova:
Note que
(b-1•a-1)•(a•b) = b-1•(a-1•a)•b = b-1•b = e
Da mesma forma
(a•b)•(b-1•a-1) = a•(b•b-1)•a-1 = a•a-1 = e
Assim, (b-1•a-1) é o inverso de a•b e é único como já provado.
Exemplos:
a) Grupo com apenas um elemento: Como todo grupo precisa conter o elemento
identidade, um grupo com um elemento contém apenas a identidade.
• e
e e
c) Grupo de ordem 3:
• e h g
e e h g
h h ? ?
g g ? ?
Consideremos h•h. Tal composição pode ser igual a h, g ou e. Se h•h for igual a
h, teremos que e = h o que não é válido. Como definimos antes que h•g = e,
então, se h•h = e, teremos g = h (h teria dois inversos). Conclui-se que h•h = g.
Exemplo:
Considere o grupo <Z2, +2>, ou seja, adição módulo 2 nos inteiros. A tabela de
composição é dada por:
+2 0 1
0 0 1
1 1 0
Que tem exatamente a mesma distribuição de elementos que nosso grupo
genérico com dois elementos apresentado na letra b do exemplo anterior.
* e3 h k
° e2 g
e3 e3 h k
e2 e2 g
h h k e3
g g e2
k k e3 h
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 112
Exemplo:
Na tabela de composição do grupo de ordem 6 anterior, os conjuntos {<e2, e3>,
<e2, k>, <e2, h>} e {<e2, e3>, <g, e3>} formam subgrupos de ordem 3 e 2,
respectivamente.
Não é tão simples encontrar subgrupos de um grupo. Todo grupo tem, pelo
menos, dois subgrupos: um de ordem 1 com o elemento identidade e outro que
é o próprio grupo.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 113
A notação com potência faz uma analogia à matemática. Assim, por exemplo, g2
= g•g, apenas. Não há necessidade da operação de composição ser produto.
Exemplo:
Em um grupo de ordem 2, g2 = g•g = e. Logo, a ordem do elemento g é 2.
Exemplos:
1. Grupo de ordem 2
• e g
e e g
g g e
Possui dois elementos: g e e
{g} é um conjunto de elementos geradores, pois:
g•g = e
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 114
g•g•g = e•g = g
Logo, g consegue gerar todos os elementos do grupo.
Exemplos:
1. Grupo de ordem 2: gerador {g}
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 115
Exemplo:
Conjunto {0, 1}
Permutações possíveis:
Exemplo:
Vamos verificar se o grupo de permutações {(1)(2)(3), (123), (132)} forma um
grupo de permutação.
(123) (132)
E a composição das duas:
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 117
Exemplo:
(Z, +, *) é um anel.
Álgebra Aplicada à Computação - Prof. Carlos Alexandre Mello Página 118
Exercícios