100
Matemática Discreta para Ciência da Computação Segunda Parte

Matemática Discreta para Ciência da Computação

Embed Size (px)

Citation preview

Page 1: Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação

Segunda Parte

Page 2: Matemática Discreta para Ciência da Computação

Conteúdo

• Funções e Equações– Funções Injetora, Sobrejetora e Bijetora – Função Inversa e Composta– Funções Como Regras

• Aplicações para Algoritmos– Equações do Segundo Grau

• Analise Combinatório e Probabilidade – Princípio da Contagem– Permutação– Arranjo– Combinação– Probabilidade Condicional

• Álgebra de Boole– Portas Lógicas– Tabela Verdade– Simplificação de Karnaugh– Máquina de Estado Finito

Page 3: Matemática Discreta para Ciência da Computação

Funções Injetora, Sobrejetora e Bijetora

• Para as seguintes duas definições seja f uma função que possui o conjunto domínio X e conjunto imagem Y.

• Dizemos que uma função f é injetora se somente se f toma um valor diferente em cada ponto do domínio X

, , .a b X a b f a f b

, , . oua b X a b f a f b

Page 4: Matemática Discreta para Ciência da Computação

Funções Injetora, Sobrejetora e Bijetora

• Suponha que nós quiséssemos provar a injetividade da função f : NN pela regra para todo n pertencente a N f(n)= n + 3

• Usando a primeira condição, temos que f(a)=f(b) sendo a,b pertencentes ao conjunto dos número naturais. Assim, assumimos que a+3=b+3a=b. Portanto, f(n) injetora.

Page 5: Matemática Discreta para Ciência da Computação

Função Injetora

• Vamos agora verificar a injetividade da função

• Aqui temos um função um pouco mais complicada para provar sua injetividade

• Escolhendo a primeira condição g(a)=g(b) e assumindo que a, b pertencem ao conjunto dos números naturais

Page 6: Matemática Discreta para Ciência da Computação

Função Injetora

FATORANDO O TERMO DO LADO ESQUERDA DA IGUALDADE ACIMA E ORGANIZANDO O TERMO DA DIREITA , TEMOS

AGORA, USAMOS A CONTRADIÇÃO. NÓS QUEREMOS MOSTRAR QUE a = b, ISTO É, QUE a – b =0. SE ISSO NÃO FOR VERDADEIRO ENTÃO NÓS TALVEZ POSSAMOS CANCELAR a – b DE AMBOS OS LADOS DA IGUALDADE E CHEGAMOS A

O QUE CONTRADIZ O FATO DE a e b SEREM POSITIVOS. ASSIM, POR CONTRADIÇÃO PODEMOS DIZER QUE a = b E A FUNÇÃO É INJETORA

Page 7: Matemática Discreta para Ciência da Computação

Diagrama para função injetora

3.

2.

1.-1.

5.

7.

2.

CONJUNTO DOMÍNIO CONJUNTO

CONTRA DOMÍNIO

CONJUNTO IMAGEM

Page 8: Matemática Discreta para Ciência da Computação

Função Sobrejetora

• A função é chamada de Sobrejetora se somente se seu alcance é igual ao seu contra domínio em número.

• As setas que chegam ao contra domínio alcançam todos os elemento do mesmo não havendo por parte deste elemento não relacionado com o conjunto domínio e há pelo menos um elemento possuindo uma mesma imagem

Page 9: Matemática Discreta para Ciência da Computação

Função Sobrejetora

PARA

Page 10: Matemática Discreta para Ciência da Computação

3.

2.

1.

7.

5.2.

4.

Função Sobrejetora

CONJUNTO IMAGEM

CONJUNTO CONTRA DOMÍNIO

CONJUNTO DOMÍNIO

Page 11: Matemática Discreta para Ciência da Computação

Função Bijetora

• A função bijetora reuni as propriedades peculiares encontradas tanto na função injetora como na sobrejetora

• O diagrama abaixa mostra de forma geométrica tais propriedades

3.

2.

5. 6.

11.

7.

Page 12: Matemática Discreta para Ciência da Computação

Função Inversa

• Dada uma função f(x) sua inversa é dada pelo símbolo f-1(x).

– Exemplof(x) = 2x – 3 f-1(x)=(x+3)/2

• Determine a função inversa das seguintes funções

1. f(x) =x+22. f(x) =3x+23. f(x) =x2 – 3

Page 13: Matemática Discreta para Ciência da Computação

Função Composta

• Função composta é simbolicamente representada por f(g(x)) ou f(x) o g(x)

• Exemplo de aplicação:f(x) = x+2 e g(x)=x-3 determine f(x) o g(x)

f(x-3)=x-3+2=x-1.• Determine f(x) o g(x) para as seguintes

pares de funções:1. f(x)=x – 5 e g(x) = 7x + 12. f(x)=3x + 2 e g(x) = 3x + 5

Page 14: Matemática Discreta para Ciência da Computação

Função como Regras

• A noção de uma função como regra é familiar para todos envolvidos com programação de computador.

• Um subprograma com um função pode ser visto como uma série de instruções que diz como calcular uma saída de alguma entrada.– Exemplo 1. As regras seguintes definem funções

• Seja H a função com domínio e contra domínio igual ao conjunto dos números naturais que as saídas n/2 para as entradas pares e 3n+1 para as entradas ímpares.

• Para n pertencente ao conjunto dos naturais, Fac(n) =n! como segue:

Input NFact =1Equanto N>0 Fact = Fact x N N= N – 1 Mostre Fact

Page 15: Matemática Discreta para Ciência da Computação

Aplicação para Algoritmos

int main( )

{ int N, Fat;

Fat=1;

printf("\nEntre com um número natural\n");

scanf("%d",&N);

While (N>0)

{

Fat=Fat*N;

N=N - 1;

}

printf("%d",Fat);

}

Page 16: Matemática Discreta para Ciência da Computação

int main( )

{ int i;

float N, Fat =1;

printf("\nEntre com um número natural\n");

scanf("%f",&N);

for( i=N;i<1;i--)

{

Fat=Fat*i;

}

printf("%f",Fat);

}

Page 17: Matemática Discreta para Ciência da Computação

Equação do Segundo Grau

• Definição Geral

1. a.x2+b.x+c=0, representa uma parábola onde a, b e c são constantes.

2. Possui duas raízes solução determinadas pelo método de Bascara como segue

Δ=b2-4.a.c x’ =(-b + √ Δ)/2.a

x’’ =(-b - √ Δ)/2.a

Page 18: Matemática Discreta para Ciência da Computação

Análise Combinatória e Probabilidade

• Princípio da contagem – Princípio multiplicativoSe um acontecimento (evento) ocorre por várias etapas

sucessivas e independentes, de tal modo que

p1 é o número de possibilidades da primeira etapa

p2 é o número de possibilidades da segundo etapa...

pk é o número de possibilidade da k-ésima etapa, então p1 . p2 . p3 ...pk é o número total de possibilidades de o evento ou acontecimento ocorrer..

Page 19: Matemática Discreta para Ciência da Computação

Uso do Diagrama de Árvore

• Sendo as eleições de presidente e vice-presidente independentes, quais os possíveis resultados dessa eleição? Candidatos a presidente (A, F, C),

• Candidatos a vice-presidente (B,D)Presidente Vice-Presidente Resultados Possíveis

A B AB D ADF B FB 6 D FDC B CB D CD

Page 20: Matemática Discreta para Ciência da Computação

Uso do Diagrama de Árvore

• Uma moeda possui cara (K) e coroa (C). Lançando uma moeda três vezes seguida e observa-se qual face ficou voltada para cima. Quantas e quais são os resultados possíveis

1- lançamento 2- lançamento 3- lançamento resultado possíveis K K K KKK C KKC C K KCK C KCCC K K CKK C CKC C K CCK C CCC • São possíveis 8 resultados. Por exemplo, KKK significa cara no

primeiro, no segundo e no terceiro lançamento

Page 21: Matemática Discreta para Ciência da Computação

Uso do Diagrama de Árvore

• Adriano e Rafael disputam entre si um torneio de tênis, no qual o vencedor será o primeiro a ganhar duas partidas seguidas ou três alternadas. Descrever todas as possibilidades de desenvolvimento do torneio.

1º partida 2º partida 3º partida 4º partida 5º partida resultados possíveis

A A A AA A A R ARAA R R ARARA R ARARR A A ARR A A RAAR R R RARAA R R RARR RR

Page 22: Matemática Discreta para Ciência da Computação

Exercícios de Fixação

1. Quantos e quais são os números de três algarismos distintos que podemos formar usando os números 2, 5 e 7?

2. Pedro tem 5 camisas (branca, amarela, verde, azul e vermelha) e calças (preta, cinza e marrom). De quantas maneiras diferentes ele poderá se vestir, usando uma calça e uma camisa?

3. Lançar uma moeda 4 vezes consecutivas. Quantas seqüências resultados são possíveis?

Page 23: Matemática Discreta para Ciência da Computação

Arranjo Simples• Vamos estudar agora problemas de contagem relacionados a algumas formas de

organizar ou agrupar os elementos de um conjunto• Por exemplo, usando os algarismos (elementos) 2, 3, 4 e 5, quantos números de dois

algarismos (elementos) distintos podemos formar?• Seja p1 a posição das dezenas e p2 a posição das unidades• Lembrando que os dois algarismos são distintos, construídos a árvore da

possibilidades: 3 23 2 4 24 5 25 2 323 4 34 5 35 2 424 3 43 5 45 2 525 3 53 4 54p1 p2

Os eventos: Escolha de um algarismo para a posição p1 e a escolha de um algarismo para a posição p2, após a escolha de 2, por exemplo, para p1

Page 24: Matemática Discreta para Ciência da Computação

Arranjo Simples

• No exemplo acima podemos notar que os números obtidos diferem entre si:– Pela ordem dos elementos: 23 e 32, por exemplo;– Pelos elementos componentes (natureza): 25 e 43,

por exemplo.– Cada número assim obtido é denominado arranjo

simples dos 4 elementos tomados 2 a 2. Indica-se o número desses arranjos por A4,2 ou A4

2

An,p=n!/(n – p)!

Page 25: Matemática Discreta para Ciência da Computação

Exercícios de Fixação

1. Considere a palavra LIVRO • Quantos anagramas são formados com as letras dessa

palavra?• Quantos deles começam por L e terminam por O?• Quantos contêm as letras RO juntas e nessa ordem?

2. Quantos números pares de 4 algarismos obtemos com os algarismos 0, 1, 2, 3, 4, 5 e 6, sem repeti-los?

3. Dentre todos os números de quatro algarismos distintos formados com algarismos pertencentes ao conjunto {3, 4, 5, 6, 7, 8, 9}, quantos são divisíveis por 2?

4. Quantos números de 5 algarismos distintos podem ser formados, usando-se os algarismos 1, 3, 5, 7 e 8?

Page 26: Matemática Discreta para Ciência da Computação

Permutação com Elementos Repetidos

• O número de permutações distintas que podem obter com elementos repetidos é dado pela relação abaixo:

• Quantos anagramas tem a palavra NATÁLIA?• Uma urna contém 8 bolas: 5 azuis e 3 cinzas.

De quantas maneiras é possível retirar, uma a uma as 8 bolas dessa urna?

, ,..., !

! !... !n

nP

Page 27: Matemática Discreta para Ciência da Computação

Combinação Simples

• Até agora estudamos problemas de análise combinatória envolvendo agrupamento que diferiam entre si pela ordem ou pela natureza dos elementos que os compõem

• Agora, vamos estudar os agrupamentos que diferem entre si apenas pela natureza de seus elementos.

• O número de combinações simples de n elementos, em grupos de p elementos cada, é igual número de arranjos de n elementos tomados p a p , dividido por p!, isto é

,

!

!( )!n p

nC

p n p

Page 28: Matemática Discreta para Ciência da Computação

Exercícios de Fixação

1. Quantas comissões de 3 participantes podem ser formadas com 5 pessoas?

2. Sobre um reta marcam-se 8 pontos e sobre outra reta, paralela à primeira, marcam-se 5 pontos. Quantos triângulos obteremos unindo 3 pontos quaisquer do total desses pontos?

3. Uma classe tem 10 alunos e 5 alunas. Formam-se comissões de 4 alunos e duas alunas. Determine o número de comissões em que participa o aluno x e não participa a aluna y.

4. De quantas maneiras é possível escalar um time de futebol de salão dispondo de 8 jogadores?

Page 29: Matemática Discreta para Ciência da Computação

Probabilidade

• Algumas coisas que ocorrem em nosso dia a dia são previsíveis como por exemplo a temperatura de ebulição da água (100oC)

• Esses eventos são ditos deterministas, porém há outros que mesmo que sejam conhecidos os resultados não se pode com certeza determinar que resultado dentre o total de possibilidades qual predominará.

• Esses eventos são ditos aleatórios, por exemplo, o lançamento de uma moeda, sabemos que pode ser cara ou coroa, mas se não como ter certeza qual deles resultará

Page 30: Matemática Discreta para Ciência da Computação

Probabilidade

• Espaço amostral: conjunto de todos possíveis de um experimento aleatório é denominado espaço amostral, que vamos indicar por U

• Probabilidade de um evento em um espaço amostral finito

P(A) = n(A)/n(U)

Page 31: Matemática Discreta para Ciência da Computação

Exemplo • No lançamento de dois dados, um branco e um

vermelho, qual a probabilidade de a soma no dois dados ser maior que 7?

• Espaço amostral U ={(1,1), (1,2), (1,3), (1,4), (1,5), (1,6), (2,1), (2,2), (2,3), (2,4), (2,5), (2,6), (3,1), (3,2), (3,3), (3,4), (3,5), (3,6), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6), (5,1), (5,2), (5,3), (5,4), (5,5), (5,6), (6,1), (6,2), (6,3), (6,4), (6,5), (6,6)}

• Como U é um espaço equiprovável e n(U)=36, a probabilidade de cada evento simples é 1/36.

• Vamos chamar de E o evento “ a soma nos dois dados é maior que 7”.

• E={(2,6), (3,5), (6,2), (6,3), (6,5), (6,6), (5,6), (5,4), (6,4), (4,6), (4,5), (5,3), (3,6), (4,4), (3,6)}

P(E) = n(E)/n(U) =15/36

Page 32: Matemática Discreta para Ciência da Computação

Exemplo • Considere um conjunto de 10 frutas em que 3 estão estragada. Escolhendo

aleatoriamente 2 frutas desse conjunto, determinar a probabilidade de :– Ambas não estarem estragadas;– Pelo menos uma estar estragada.

• Vamos calcular o número de maneiras de escolher duas frutas entre dez que se refere ao espaço amostral U. Como a ordem não importa, temos um caso de combinação

C10,2 = 10!/2!(10-2)!=45 maneiras

• Seja o conjunto A o evento “ambas as frutas escolhidas não estão estragadas”.

• Cálculo do número de maneiras de escolher duas frutas não estragadas entre sete (10 – 3 = 7) que se referee ao evento esperado.Também se trata de uma combinação, pois a ordem não importa levando em conta apenas a natureza

C7,2 = 7!/2!(7-2)!=21 maneiras

• A probabilidade desse evento é:

P(A) = n(A)/n(U) = 21/45 = 7/15

Page 33: Matemática Discreta para Ciência da Computação

Exemplo (continuação item b)

• Seja o evento B “pelo menos uma fruta estragada” significa que ou uma fruta ou duas frutas devem estar estragadas. Esse evento B é o complementar Ᾱ do evento A.

• Como A∩Ᾱ=Ø e ᾹUA=U, temos n(A) + n(Ᾱ) =n(U), sendo n(U)ǂ0: n(A)/n(U) + n(Ᾱ)/n(U) = n(U)/n(U)

• P(A) +P(Ᾱ) =17/10 + P(Ᾱ) =1 – 7/10 P(Ᾱ) =8/15

Page 34: Matemática Discreta para Ciência da Computação

Probabilidade com reunião e intersecção de eventos

• Numa pesquisa foram consultadas 470 pessoas, e o resultado foi o seguinte: 250 lêem o jornal A, 180 lêem o jornal B e 60 lêem os jornais A e B. Escolhendo um dos entrevistados ao acaso, vamos discutir a probabilidade de ele ser:

1. Leitor dos jornais A e B

2. Leitor do jornal A ou do jornal B– Usando o diagrama de Venn, temos

Page 35: Matemática Discreta para Ciência da Computação

Probabilidade com reunião e intersecção de eventos

A B

190 12060

100

P(A∩B)=n(A∩B)/n(U) = 60/470=6/47

P(AUB) = P(A) + P(B) – P(A∩B)

P(A) = n(A)/n(U) = 250/470, P(B) = n(B)/n(U)=180/470

P(AUB) = 37/47

Page 36: Matemática Discreta para Ciência da Computação

Probabilidade Condicional

• Como o próprio nome sugere há um evento anterior que influencia o evento esperado

• Definindo a probabilidade condição como

P(A/B) = n(A∩B) / n(B)Exemplo • Extraindo sucessivamente e sem reposição duas bolas da caixa da

figura, qual a probabilidade de ser retirar:

• Duas bolas azuis?• Duas bolas da mesma cor?• Uma bola vermelha na segunda extração?• Nenhuma bola vermelha nas duas extrações?

2. Vamos inicialmente formar os conjuntos de evento:• A1: o evento tirar bola azul na primeira extração• A2: o evento tirar bola azul na segunda extração• V1: o evento tirar bola vermelha na primeira extração• V2: o evento tirar bola vermelha na segunda extração• M1: o evento tirar bola verde na primeira extração• M2: o evento tirar bola verde na segunda extração

Page 37: Matemática Discreta para Ciência da Computação

Probabilidade Condicional

Primeira extração

Segunda extração

5/10

2/10

3/10

4/9

3/9

2/9

5/9

2/9

2/9

5/9

3/9

1/9

1. Duas bolas azuis: 5/10 x 4/9 = 2/92. Duas bolas da mesma cor: 5/10 x 4/9 + 3/10 x 2/9 +

2/10 x 1/9 = 14/453. Uma bola vermelha na segunda extração: 5/10 x 3/9

+ 3/10 x 2/9 + 2/10 x 3/9 = 3/104. Nenhuma bola vermelha nas duas extrações: 5/10 x

(4/9 + 2/9) + 2/10 x (2/9 + 4/9) =7/15

Usando a relação para o item 1 P(A2/A1) = P(A2 ∩A1) / P(A1) P(A2 ∩A1)= P(A1). P(A2/A1) = 5/10. 4/5 =2/9

Page 38: Matemática Discreta para Ciência da Computação

Eventos Independentes

• Dois eventos, A e B, são ditos independentes quando a relação abaixo é confirmada

P(A∩B) = P(A).P(B)1. Retirando-se duas cartas ao acaso, sem reposição, de um

baralho de 52 cartas, qual a probabilidade do naipe da primeira ser paus e o da segunda ser de copas?

P(A) = n(A)/n(U) =13/52 = ¼, como a segunda carta é retirada sem reposição da primeira, restam 51 cartas no baralho (retiramos uma carta de paus). A probabilidade de ocorrer o evento independente B: “ a segunda carta é de copas” é

P(B) = n(B)/n(U) = 13/51. A probabilidade de a primeira carta ser de paus e a segunda de copas é dada pelo produto:

P(A∩B) = P(A). P(B)= (1/4).(13/51) = 13/2042. Considere duas caixas, I e II. Na caixa I há 4 bolas pretas e 6 azuis

e na caixa II há 8 bolas pretas e 2 azuis. Escolhi ao acaso uma caixa e, em seguida, tirei uma bola. Qual a probabilidade desta bola ser:

• Preta?• Azul ?

Page 39: Matemática Discreta para Ciência da Computação

Exercícios de Fixação de Probabilidade

• Um dado é lançado. Se o número é impar, qual a probabilidade dele ser primo?

U=espaço amostral={1,2,3,4,5,6}A=conjunto dos primos={2,3,5}B=conjunto dos ímpares={1,3,5}AUB=conjunto dos ímpares e primos={1,2,3,5}A∩B=conjunto dos primos ímpares = {3,5}

P(A∩B)=n(A∩B)/n(B)=2/3• Três moedas não viciadas são lançadas. Se ocorrem caras

e coroas, determine a probabilidade de ocorrer exatamente uma cara

A=conjunto de eventos caras={k,k,k}, n(A)=3B=conjunto de eventos coroas={c,c,c}, n(B)=3U = conjunto de eventos do espaço amostral ={k,k,k,c,c,c},

n(U)=6P(c) = n(B)/n(U)=3/6=1/2

Page 40: Matemática Discreta para Ciência da Computação

Exercício Probabilidade

• Um par de dados é lançado. Se ocorrem números diferentes, encontre a probabilidade de ser par.

U=conjunto de eventos do espaço amostral = {(1,1), (1,2),(1,3),(1,4),(1,5),(1,6),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(3,1),(3,2),(3,3),(3,4), (3,5), (3,6), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6), (5,1), (5,2),

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

Page 41: Matemática Discreta para Ciência da Computação

Exercício Probabilidade

A=conjunto do eventos diferentes e soma par

{ (1,3), (1,5), (2,4), (2,6), (3,1), (3,5), (4,2), (4,6), (5,1), (5,3), (6,2),(6,4) }

B=conjunto dos eventos diferentes

{(1,2),(1,3),(1,4),(1,5),(1,6),(2,1),(2,3),(2,4),(2,5),(2,6), (3,1),(3,2),(3,4), (3,5), (3,6), (4,1), (4,2), (4,3), (4,5), (4,6), (5,1), (5,2),(5,3), (5,4), (5,6), (6,1), (6,2), (6,3), (6,4), (6,5)}

P(A) =n(A)/n(B)= 12/30=2/5

Page 42: Matemática Discreta para Ciência da Computação

Álgebra de Boole (ou Booleana)

• Desenvolvida pelo matemático britânico George Boole para estudo da lógica.

• Definida sobre um conjunto de dois elementos:

(falso, verdadeiro) (0, 1) (baixo, alto)• Seus elementos, a princípio, não tem

significado numérico.• Postulados: se x é uma variável boleana

então:– Se x 0 x = 1– Se x 1 x = 0

Page 43: Matemática Discreta para Ciência da Computação

Álgebra de Boole: funções

• Uma variável booleana só pode assumir apenas um dos valores possíveis (0 e 1)

• Uma ou mais variáveis e operadores podem ser combinados formando uma função lógica– Z1(A) = f(A) = ... (expressão usando var. A)– Z2(A,B) = f(A,B) = ... (expr. usando var. A e B)

• Resultados de uma função lógica podem ser expressos numa tabela relacionando todas as combinações possíveis dos valores que suas variáveis podem assumir e seus resultados correspondentes: a Tabela-Verdade.

Page 44: Matemática Discreta para Ciência da Computação

Álgebra de Boole: Tabela Verdade

0

1

A B Z=f(A,B)

0

0

01

1 1

Lista das combinações possíveis dos estados das variáveis de entrada

Variáveis Função Lógica

Resultados da função lógica para cada combinação dos estados de entrada

1

0

1

1

– Tabela-Verdade relaciona os resultados (saída) de uma função lógica para todas as combinações possíveis de suas variáveis (entrada).

– Na Tabela-Verdade acima a função lógica Z possui duas variáveis A e B, sendo Z = f(A, B) = A + B

Page 45: Matemática Discreta para Ciência da Computação

Álgebra de Boole: operações

• São definidas algumas operações elementares na álgebra booleana:– Operação “Não” (NOT)

– Operação “E” (AND)

– Operação “Ou” (OR)

– NAND

– NOR

– Operação “Ou-Exclusivo” (EXCLUSIVE-OR XOR)

– XNOR

Page 46: Matemática Discreta para Ciência da Computação

Álgebra de Boole

• Porta Lógica NOT– É a porta Inversora– Operador: Barra, Apóstrofo

– Símbolo

A , A’

A F = A’

0 1

1 0

Tabela da Verdade

Page 47: Matemática Discreta para Ciência da Computação

Álgebra de Boole

• Porta Lógica OR– Necessita de duas ou mais entradas– Operador: +

– Símbolo

F = A + B

Tabela da Verdade

A B F = (A+B)

0 0 0

0 1 1

1 0 1

1 1 1

Page 48: Matemática Discreta para Ciência da Computação

Álgebra de Boole

• Porta Lógica AND– Necessita de duas ou mais entradas

– Operador: .

– Símbolo

F = A . B

Tabela da Verdade

A B F = (A.B)

0 0 0

0 1 0

1 0 0

1 1 1

Page 49: Matemática Discreta para Ciência da Computação

Álgebra de Boole

• Porta Lógica NAND– Equivalente a uma porta AND seguido de

uma NOT– Operador:

– Símbolo

F = (A . B)’

Tabela da Verdade

A B F = (A.B)’

0 0 1

0 1 1

1 0 1

1 1 0

Page 50: Matemática Discreta para Ciência da Computação

Álgebra de Boole

• Porta Lógica NOR– Equivalente a uma porta OR seguido de uma

NOT– Operador:

– Símbolo

F = (A + B)’

Tabela da Verdade

A B F = (A+B)’

0 0 1

0 1 0

1 0 0

1 1 0

Page 51: Matemática Discreta para Ciência da Computação

Álgebra de Boole

• Porta Lógica XOR– É o OU Exclusivo– Operador:

– Símbolo

F = (A B)

Tabela da Verdade

A B F = (AB)

0 0 0

0 1 1

1 0 1

1 1 0

Page 52: Matemática Discreta para Ciência da Computação

Álgebra de Boole

• Porta Lógica XNOR– É o complemento da Função XOR– Operador:

– Símbolo

F = (A B)’

Tabela da Verdade

A B F = (AB)’

0 0 1

0 1 0

1 0 0

1 1 1

Page 53: Matemática Discreta para Ciência da Computação

“NOT” CI 7404

• Desligue a Alimentação• A montagem de todos os circuitos intregrados no protoboard deverá obedecer: • Alim.(VCC) : +5.0 V pino 14 (fio vermelho). • Terra (GND) : 0.0 V pino 7 (fio preto). • Conecte um fio de protoboard longo,  em série uma resistência de 1 ke um

LED.  Através de outro fio, conecte o LED à terra. • Utilize esta ponteira lógica para analisar alguns sinais na entrada e na saída do

integrado. • Esta ponteira apresenta lógica positiva (saída alta=> led aceso). • Ajustar o gerador para uma frequência de 10 KHz e utilizar a saída TTL. Esta

é a saída adequada para funcionar operando junto com integrados de lógica TTL, ela já fornece o sinal no intervalo esperado de tensão para alimentá-los.

• Caso seja necessário, utilize diodos para evitar tensão negativa na entrada do integrado.

• Ligue o gerador de onda quadrada em alguma das entradas inversoras. • Observar no osciloscópio a saída invertida.  Meça o tempo de atraso da saída

em relação à entrada.

Page 54: Matemática Discreta para Ciência da Computação

“AND” CI 7408

• Desligue a Alimentação e troque o CI• Tabela verdade • Utilizando a ponteira lógica, obtenha a tabela-verdade. • A obtenção de dará através da conexão da alimentação (1) e do

terra (0) às entradas da porta AND. • Utilize lógica inversa para a ponteira (conecte o led à alimentação)

e obtenha a nova tabela lógica. • A porta "AND" como controlador de transmissão. • Conecte o gerador de onda com pulso quadrado de 100 ms à

entrada A de uma porta AND. • Com um fio de protoboard, contacte a  entrada B a 1 ou a 0 (GND

ou Vcc).

• Observe os valores na saída, em função dos sinais de entrada.

Page 55: Matemática Discreta para Ciência da Computação

“OR” CI 7432

• DESLIGUE A ALIMENTAÇÃO e

substitua o integrado.  

• De forma similar à montagem anterior, observe maneira similar à montagem anterior,observe o funcionamento destas portas.

• Obtenha as tabelas verdade com lógica positiva e negativa em função das entradas.

Page 56: Matemática Discreta para Ciência da Computação

“NAND” CI 7400

• DESLIGUE A ALIMENTAÇÃO e

substitua o integrado.  

• A partir de um circuito integrado 7400 (quatro portas "NAND") construa um operador XOR e obtenha sua tabela verdade (lógica direta), utilizando a ponteira lógica.

• Esquematize as ligações necessárias, utilizando as leis de Morgan e as identidades booleanas.

• Antes de realizar esta montagem, prove que é possível realizá-la esta montagem.  Para isto, utilize as leis de Morgan e as identidades booleanas já apresentadas.

Page 57: Matemática Discreta para Ciência da Computação

Álgebra de Boole: precedência

• Precedência das Operações– (0) parêntesis– (1) “Negação”– (2) “E”– (3) “Ou”, “Ou-exclusivo”

• O uso de parêntesis altera a precedência “normal” dos operadores, como na álgebra comum.

Page 58: Matemática Discreta para Ciência da Computação

Álgebra de Boole: propriedades

• Sendo A, B e C variáveis boleanas

– Propriedade Comutativa

• A . B = B . A

• A + B = B + A

• A B = B A

– Propriedade Associativa

• ( A . B ) . C = A . ( B . C ) = A . B . C

• ( A + B ) + C = A + ( B + C ) = A + B + C

• ( A B ) C = A ( B C ) = A B C

– Propriedade Distributiva

• A . (B + C ) = A . B + A . C

• A + B . C = (A + B) . (A + C)

Page 59: Matemática Discreta para Ciência da Computação

Funções de 2 Variáveis

• A• B• AB (AND)• A+B (OR)• AB (XOR)

• Ā• B• AB (NAND)• A+B (NOR)• AB (XNOR - equivalência)• 0 (Constante zero)• 1 (Constante um)

Page 60: Matemática Discreta para Ciência da Computação

Revisão de Álgebra de Boole e Simplificação usando mapa de

Karnaugh

Page 61: Matemática Discreta para Ciência da Computação

Tópicos

• Revisão Álgebra Booleana

• Revisão portas lógicas

• Circuitos lógicos– soma de produtos– produto de somas

• Simplificação por postulado da Álgebra

• Simplificação por mapa de Karnaugh

Page 62: Matemática Discreta para Ciência da Computação

Álgebra Booleana

• Variáveis só podem assumir 1 entre 2 valores

• Uso de tabelas (tabela verdade) para listar combinações de valores de entrada e os correspondentes valores de saída

Page 63: Matemática Discreta para Ciência da Computação

Álgebra Booleana

• Proposição – todo enunciado que pode se afirmar ser verdadeiro ou falso.

• Exemplo– Amanhã vai chover – não constitui uma

proposição, pois existe mais de duas respostas possíveis: Sim, Talvez e Não

– Lisboa é a capital de Portugal é uma proposição

Page 64: Matemática Discreta para Ciência da Computação

Princípios da Álgebra Booleana

• Não contradição: uma proposição não pode ser simultaneamente verdadeira e falsa

• Terceiro excluído: uma proposição só pode tomar um dos dois valores possíveis, ou é verdadeira ou falsa, não sendo possível terceira hipótese.

Page 65: Matemática Discreta para Ciência da Computação

Álgebra Booleana

• Operações Básicas– OU (OR) - Adição Lógica F = X + Y

X Y

0 00 11 01 1

F

0111

Page 66: Matemática Discreta para Ciência da Computação

Álgebra Booleana

• Operações Básicas– E (AND) - Multiplicação Lógica F = X . Y

X Y

0 00 11 01 1

F

0001

Page 67: Matemática Discreta para Ciência da Computação

Álgebra Booleana

• Operações Básicas– Não (NOT) - Complemento (Negação) F = X´

ou F = X

X

01

F

10

Page 68: Matemática Discreta para Ciência da Computação

Tabela Verdade

• Cada entrada = 1 coluna

• Cada saída = 1 coluna

• As possíveis Combinações entradas podem assumir: N = 2n, onde n = quantidade de variáveis de entrada e N as combinações entre zeros (0) e uns (1).

Page 69: Matemática Discreta para Ciência da Computação

Tabela Verdade

S = A + B . C

A B C0 0 0 0 0 10 1 00 1 11 0 01 0 11 1 01 1 1

S00101111

Page 70: Matemática Discreta para Ciência da Computação

Portas Lógicas

Porta AND (Função Multiplicação Lógica (E))

F

A

B

F = A . B

Page 71: Matemática Discreta para Ciência da Computação

Portas Lógicas

• Portas lógicas são dispositivos ou circuitos lógicos que operam um ou mais sinais lógicos de entrada para produzir uma e somente uma saída, a qual é dependente da função implementada no circuito.

Page 72: Matemática Discreta para Ciência da Computação

Portas Lógicas

• Um computador é constituído por uma infinidade de circuitos lógicos, que executam as seguintes funções básicas:

a.realizam operações matemáticas

b.controlam o fluxo dos sinais

c.armazenam dados

Page 73: Matemática Discreta para Ciência da Computação

Portas Lógicas

• Naturalmente, a cada operação lógica estudada na Álgebra de Boole está associada a respectiva porta lógica.

Page 74: Matemática Discreta para Ciência da Computação

Portas Lógicas

Porta OR (Função Adição Lógica (OU))

F

A

B

F = A + B

Page 75: Matemática Discreta para Ciência da Computação

Portas Lógicas

Porta NOT (Função Negação Lógica (Complemento))

F = A

AA

Page 76: Matemática Discreta para Ciência da Computação

Circuitos Lógicos

• Representação– Produto de Somas

• lista todas as combinações das variáveis de entrada para as quais a função de saída vale 0

– Soma de Produtos• lista todas as combinações das variáveis de

entrada para as quais a função de saída vale 1

Definição de uma função booleana através de uma tabela-verdade

Expressão algébrica da função

Page 77: Matemática Discreta para Ciência da Computação

Soma de Produtos

Mintermo = termo-produto no qual cada variável aparece exatamente 1 vez, complementada (se bit da tabela = 0) ou não (se bit da tabela = 1)

X Y Z0 0 0 0 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Termo-produto X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z

mintermo m0 m1 m2 m3 m4 m5 m6 m7

Page 78: Matemática Discreta para Ciência da Computação

Produto de Somas

Maxtermo = termo-soma no qual cada variável aparece exatamente 1 vez, complementada (se bit da tabela = 1) ou não (se bit da tabela = 0)

X Y Z0 0 0 0 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Termo-soma X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z X + Y + Z

maxtermo M0 M1 M2 M3 M4 M5 M6 M7

Page 79: Matemática Discreta para Ciência da Computação

Notações

X Y Z0 0 0 0 0 10 1 00 1 11 0 01 0 11 1 01 1 1

F10100101

F = XYZ + XYZ + XYZ + XYZ = m0 + m2 + m5 + m7 = m (0,2,5,7)

Soma de Produtos

Produto de Somas F = (X + Y + Z) (X + Y + Z) (X + Y + Z) (X + Y + Z) = M1 . M3 . M4 . M6 = M(1,3,4,6)

Page 80: Matemática Discreta para Ciência da Computação

Simplificação de Expressões Booleanas

• Usada para economizar componentes, tornar o circuito mais rápido, mais simples de fabricar e de manutenção, além de diminuir seu tamanho.

• Tipos:– Postulados da Álgebra Booleana– Mapas de Karnaugh

Page 81: Matemática Discreta para Ciência da Computação

Postulados da Álgebra Booleana

• Identidades Booleanas A + 0 = A 1 A . 0 = 0 5 A = A 9

A + 1 = 1 2 A . 1 = A 6

A + A = 1 3 A . A = 0 7

A + A = A 4 A . A = A 8

• Propriedade Comutativa

A + B = B + A 10 A . B = B . A 11

Page 82: Matemática Discreta para Ciência da Computação

Postulados da Álgebra Booleana

• Propriedade Associativa(A + B) + C = A + (B + C) 12 (A. B) . C = (B. C) . A 13

• Propriedade DistributivaA . (B + C) = A . B + A . C 14

• Consenso A . B + A’ . C + B . C = A . B + A’ . C 15

(A+B) . (A’+C) . (B+C) = (A+B) . (A’+C) 16

• Teorema de De MorganA . B... = A + B + ... A + B + ... = A . B ... 17

Page 83: Matemática Discreta para Ciência da Computação

Expressões Auxiliares

18 A + ( A . B ) = A

19 A + ( A’ . B ) = A + B

20 ( A + B’ ) . B = A . B

21 ( A . B ) + ( A . B’ ) = A

22 ( A + B ) . ( A + B’ ) = A

Page 84: Matemática Discreta para Ciência da Computação

Simplificação pelos Postulados da Álgebra

Booleana

CABCBABCACBAF

CABCBAC)CB(AF

CABCBABAF

F A B1 AB C ABC

Pela prop. (6), A B1=A B

C C =1Pela prop. (4),

Pela prop. (14), A(BC) A B AC

Soma de Produtossimplificada

Page 85: Matemática Discreta para Ciência da Computação

Simplificação pelos Postulados da Álgebra

BooleanaO termo poderia ter sido simplificado com o termo

CABCBABCACBAF

CAB ABC

Utilizando a propriedade (3), que permite a seguinte manipulação:

ABC ABCABC

Page 86: Matemática Discreta para Ciência da Computação

Simplificação pelos Postulados da Álgebra

Booleana

Soma de Produtos simplificada (mínima, no caso)

F ABCABCABC ABC ABC Pela prop. (3), ABC ABCABC

F AB(CC)ABC (A A)BC

Pela prop. (14)

Pela prop. (4)

F A B1 AB C1BC Pela prop. (6)

F ABABCBC

Page 87: Matemática Discreta para Ciência da Computação

Circuito Lógico

CABCBABCACBAF

A

C

F

B

1o nível 2o nível

Complexidade:4x3 + 1x4 = 16

Soma de mintermos Circuito com (lógica de ) 2 níveis

Page 88: Matemática Discreta para Ciência da Computação

Circuito Lógico Expressão Simplificada

CBCBABAF

Complexidade:2x2 + 2X3 = 10

A

C

F

B

1o nível 2o nível

Soma de produtos(simplificada) Circuito com (lógica de ) 2 níveis

Page 89: Matemática Discreta para Ciência da Computação

Simplificação por Mapa de Karnaugh

• Cada célula corresponde a um mintermo• Representa a função como soma de produtos• Para 2 variáveis

YXYm0

XYm2

XYm3

XYm1

X 0 1

0 1

• Exemplo:

F = m(1,2,3) = XY + XY + XY

0

YX 0 1

0 1

1

11

Y

Page 90: Matemática Discreta para Ciência da Computação

Simplificação por Mapa de Karnaugh

• Simplificação algébrica é de difícil automatização

• Simplificação por mapa fornece uma maneira “visual” para a simplificação

• Baseia-se na identificação de produtos vizinhos

Page 91: Matemática Discreta para Ciência da Computação

Simplificação por Mapa de Karnaugh

m0

m2 m3

m1

YX 0 1

0 1 região onde X = 1

região onde Y = 1

Junta-se 2n posições20 = 1 23 = 821 = 222 = 4

Page 92: Matemática Discreta para Ciência da Computação

Simplificação por Mapa de Karnaugh

• Mapa com 3 variáveis

Concatenar bit da linha com bits dacoluna para identificar mintermo

m0 m1 m3m6

m2

m4 m5 m7

00 01 11 10

01

YZX

• Mintermos não seguem a ordem crescente => útil para simplificação• 2 células vizinhas (adjacentes): mintermos diferem por uma variável

m5 e m7

XYZ XYZ

única diferença é Y

Page 93: Matemática Discreta para Ciência da Computação

Simplificação por Mapa de Karnaugh

• Atenção para a vizinhança entre bordas

• Região com 2 células adjacentes termo com 2 literais...

m0

m4 m6

m2m0 m1 m3

m6

m2

m4 m5 m7

00 01 11 10

01

YZ

X

Page 94: Matemática Discreta para Ciência da Computação

Simplificação por Mapa de Karnaugh

F = m(2,3,4,5)

• Exemplo de simplificação

0 0 1

0

1

1 1 0

00 01 11 100

1

YZX

F = XY + XY

0 0 1

1

0

1 0 1

00 01 11 100

1

YZX F = m(3,4,6,7)

F = YZ + XZ

Page 95: Matemática Discreta para Ciência da Computação

Simplificação por Mapa de Karnaugh

• Mapa com 4 variáveis

m0 m1 m3 m2

m6

m11

m15

m7

m9

m13

m5

m8

m12

m4

m14

m10

00 01 11 10

00

01

11

10

YZWX

• Notar adjacências através das bordas

m0

m1 m9

m8

m4 m6

m2m0

Page 96: Matemática Discreta para Ciência da Computação

Simplificação por Mapa de Karnaugh

• Exemplo de simplificação

1 1 1

1

11

1

11

1

00 01 11 10

00

01

11

10

YZWX

1

WZ

XZF = Y + WZ + XZ

célula isolada

região com 2 células

região com 4 células

região com 8 células

termo com 4 literais

termo com 3 literais

termo com 2 literais

termo com 1 literal

Y

Page 97: Matemática Discreta para Ciência da Computação

Simplificação por Mapa de Karnaugh

• Mapas com mais de 4 variáveis tornam-se difíceis de manipular

Page 98: Matemática Discreta para Ciência da Computação

Don´t Cares

• Saída :não importa o valor da saída gerado por determinada combinação de entradas

• Entrada: é indiferente o valor da entrada para determinar um valor na saída

Page 99: Matemática Discreta para Ciência da Computação

Funções com Saídas não Especificadas

A B C D F0 0 0 0 1 0 0 0 1 00 0 1 0 00 0 1 1 10 1 0 0 10 1 0 1 00 1 1 0 00 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0 X1 0 1 1 X 1 1 0 0 X1 1 0 1 X1 1 1 0 X1 1 1 1 X

•Valor da saída não precisa ser especificado

don’t care = X

Page 100: Matemática Discreta para Ciência da Computação

Simplificação com Don´t Cares

11X X X X

X X

11

1

00 01 11 10

00

01

11

10

CDAB

• X pode ser 0 ou 1 => o que for mais conveniente para simplificar a função

F = CD + CD