1 bcc-244 modelos de computação. 2 computação cpu memória
TRANSCRIPT
![Page 1: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/1.jpg)
1
BCC-244
Modelos de Computação
![Page 2: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/2.jpg)
2
Computação
CPU memória
![Page 3: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/3.jpg)
3
CPU
memória entrada
memoria saida
memória de programa
memória temporária
![Page 4: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/4.jpg)
4
CPU
memória entrada
memória saidamemória de programa
memória temporária
3)( xxf
compute xx
compute xx 2
Exemplo:
![Page 5: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/5.jpg)
5
CPU
memória entrada
memória saídamemória de programa
memória temporária
3)( xxf
compute xx
compute xx 2
2x
![Page 6: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/6.jpg)
6
CPU
memória entrada
memória saídamemória de programa
memória temporária3)( xxf
compute xx
compute xx 2
2x
42*2 z82*)( zxf
![Page 7: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/7.jpg)
7
CPU
memória entrada
memória saídamemória de programa
memória temporária3)( xxf
compute xx
compute xx 2
2x
42*2 z82*)( zxf
8)( xf
![Page 8: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/8.jpg)
8
Autômato
CPU
memória entrada
memória saída
memória de programa
memária temporária
Autômato
![Page 9: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/9.jpg)
9
Diferentes Tipos de Autômatos
Autômatos se distinguem pela memória temporaria
•Autômato Finito: sem memória temporária
•Autômato de Pilha : pilha
•Máquina de Turing: memória RAM
![Page 10: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/10.jpg)
10
memória entrada
memória saída
memória temporária
Autômato
Finito
Autômato Finito
Máquinas de Venda (pequeno poder de computação)
![Page 11: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/11.jpg)
11
memória entrada
memória saida
Pilha
Autômato
de Pilha
Autômato de Pilha
Parser de Linguagens de Programação
(médio poder de computação)
Push, Pop
![Page 12: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/12.jpg)
12
memória entrada
memória saída
Memória Acesso Aleatório
Máquina
de Turing
Máquina de Turing
Algoritmos (mais alto poder de computação)
![Page 13: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/13.jpg)
13
Autômato
Finito
Autômato
de Pilha
Máquina
de Turing
Poder de Autômatos
![Page 14: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/14.jpg)
14
Vamos mostrar no curso
• Como construir compiladores para LPs
• Alguns problemas não têm solução computacional
• Alguns problemas são difíceis de resolver
![Page 15: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/15.jpg)
15
Preliminares Matemáticos
![Page 16: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/16.jpg)
16
Preliminares Matemáticos
• Conjuntos
• Funções
• Relações
• Grafos
• Técnicas de Prova
![Page 17: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/17.jpg)
17
}3,2,1{AUm conjunto é uma coleção de elementos
CONJUNTOS
Escrevemos
A1
Bship
![Page 18: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/18.jpg)
18
Representação de Conjuntos
C = { a, b, c, d, e, f, g, h, i, j, k }
C = { a, b, …, k }
S = { 2, 4, 6, … }
S = { j : j > 0, e j = 2k para algum k>0 }
S = { j : j is não negativo e par }
conjunto finito
conjunto infinito
![Page 19: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/19.jpg)
19
A = { 1, 2, 3, 4, 5 }
Conjunto Universal: Todos os elementos possíveis U = { 1 , … , 10 }
1 2 3
4 5
A
U
6
7
8
910
![Page 20: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/20.jpg)
20
Operações sobre conjuntos
A = { 1, 2, 3 } B = { 2, 3, 4, 5}
• União
A U B = { 1, 2, 3, 4, 5 }
• Interseção
A B = { 2, 3 }
• Diferença
A - B = { 1 }
B - A = { 4, 5 }
U
A B
A-B
![Page 21: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/21.jpg)
21
• Complemento
Conjunto Universal = {1, …, 7}
A = { 1, 2, 3 } A = { 4, 5, 6, 7}
12
3
4
5
6
7
AA
A = A
![Page 22: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/22.jpg)
22
02
4
6
1
3
5
7
pares
{ inteiros pares } = { inteiros ímpares }
impares
Inteiros
![Page 23: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/23.jpg)
23
Leis de DeMorgan’s
A U B = A B
U
A B = A U BU
![Page 24: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/24.jpg)
24
Conjunto Vazio, Nulo:= { }
S U = S
S =
S - = S
- S =
U= Conjunto Universal
![Page 25: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/25.jpg)
25
Subconjunto
A = { 1, 2, 3} B = { 1, 2, 3, 4, 5 }
A B
U
Subconjunto próprio A B
U
A
B
![Page 26: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/26.jpg)
26
Subconjuntos Disjuntos
A = { 1, 2, 3 } B = { 5, 6}
A B =
UA B
![Page 27: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/27.jpg)
27
Cardinalidade de Conjuntos
• Para conjuntos finitos
A = { 2, 5, 7 }
|A| = 3
![Page 28: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/28.jpg)
28
Conjunto Potência
Um Conjunto Poetência é um conjunto de conjuntos
Conjunto Potência de S = conjunto de todos os subconjuntos de S
S = { a, b, c }
2S = { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} }
Observação: | 2S | = 2|S| ( 8 = 23 )
![Page 29: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/29.jpg)
29
Produto CartesianoA = { 2, 4 } B = { 2, 3, 5 }
A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 4) }
|A X B| = |A| |B|
Generaliza para mais de dois conjuntos
A X B X … X Z
![Page 30: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/30.jpg)
30
FUNÇÕESdomínio
12
3
a
bc
contra-domínio
f : A -> B
A B
Se A = domínio
então f é uma função total
caso contrário f é uma função parcial
f(1) = a
![Page 31: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/31.jpg)
31
RELAÇÕES R = {(x1, y1), (x2, y2), (x3, y3), …}
xi R yi
e. x. se R = ‘> ’: 2 > 1, 3 > 2, 3 > 1
Em relações xi pode ser repetido
![Page 32: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/32.jpg)
32
Relações de Equivalência
• Reflexiva: x R x
• Symétrica: x R y y R x
• Transitiva: x R Y e y R z x R z
Exemplo: R = ‘= ‘
• x = x
• x = y y = x
• x = y e y = z x = z
![Page 33: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/33.jpg)
33
Classes de EquivalênciaPara uma relação de equivalência R
classe de equivalência de x = {y : x R y}
Exemplo:
R = { (1, 1), (2, 2), (1, 2), (2, 1),
(3, 3), (4, 4), (3, 4), (4, 3) }
Classe de equivalência de 1 = {1, 2}
Classe de equivalência de 3 = {3, 4}
![Page 34: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/34.jpg)
34
GRAFOSUm grafo direcionado
• Nodos (Vértices)
V = { a, b, c, d, e }
• Arcos
E = { (a, b), (b, c), (c, a), (b, d), (d, c), (e, d) }
e
a
b
c
dnodo
edge
![Page 35: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/35.jpg)
35
Grafo Rotulado
a
b
c
d
e
1 3
56
26
![Page 36: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/36.jpg)
36
Percurso
a
b
c
d
e
Percurso é uma sequência de arcos adjacentes
(e, d), (d, c), (c, a)
![Page 37: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/37.jpg)
37
Caminho
a
b
c
d
e
Caminho é um percurso sem nenhum arco repetido
Caminho simples: nenhum nodo é repeatido
![Page 38: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/38.jpg)
38
Ciclo
a
b
c
d
e
12
3
Ciclo: caminho de um nodo (base) até ele próprio
Ciclo simples: somento o node base é repetido
base
![Page 39: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/39.jpg)
39
Ciclo de Euler
a
b
c
d
e1
23
45
6
7
8 base
Ciclo que contém cada arco exatamente uma vez.
![Page 40: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/40.jpg)
40
Ciclo Hamiltoniano
a
b
c
d
e1
23
4
5 base
Ciclo simples que contém todos os nodos
![Page 41: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/41.jpg)
41
Encontrando todos os caminhos simples
a
b
c
d
ef
![Page 42: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/42.jpg)
42
a
b
c
d
e
(c, a)
(c, e)
f
Passo 1
![Page 43: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/43.jpg)
43
a
b
c
d
e
(c, a)
(c, a), (a, b)
(c, e)
(c, e), (e, b)
(c, e), (e, d)
Passo 2
f
![Page 44: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/44.jpg)
44
Passo 3
a
b
c
d
e
f
(c, a)
(c, a), (a, b)
(c, e)
(c, e), (e, b)
(c, e), (e, d)
(c, e), (e, d), (d, f)
Repete o mesmo
para cada nodo inicial
![Page 45: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/45.jpg)
45
Árvoresraiz
folha
pai
filho
Árvores não têm ciclos
![Page 46: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/46.jpg)
46
raiz
folha
Nível 0
Nível 1
Nível 2
Nível 3
Altura 3
![Page 47: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/47.jpg)
47
Árvores Binárias
![Page 48: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/48.jpg)
48
TECNICAS DE PROVA
• Prova por indução
• Prova por contradição
![Page 49: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/49.jpg)
49
Indução
Temos asserções P1, P2, P3, …
Se sabemos
• para algum k P1, P2, …, Pk são verdadeiros
• para todo n >= k
P1, P2, …, Pn implica Pn+1
Então
Todo Pi é verdadeiro
![Page 50: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/50.jpg)
50
Prova por Indução• Base da Indução
Encontre P1, P2, …, Pk que sejam verdadeiros
• Hipótese de Indução
Suponha que P1, P2, …, Pn sejam verdadeiros,
para todo n >= k
• Passo Indutivo
Mostre que Pn+1 é verdadeiro
![Page 51: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/51.jpg)
51
Exemplo
Teorema: Uma árvore binária de altura n
tem no máximo 2n folhas.
Prova:
seja l(i) o número de folhas no nível i
l(0) = 1
l(3) = 8
![Page 52: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/52.jpg)
52
Queremos mostrar: l(i) <= 2i
• Base da Indução
l(0) = 1 (o nodo raiz)
• Hipótese de Indução
Suponha l(i) <= 2i for all i = 0, 1, …, n
• Passo Indutivo
queremos mostrar que l(n + 1) <= 2n+1
![Page 53: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/53.jpg)
53
Passo Indutivo
hipótese: l(n) <= 2n
Nível
n
n+1
![Page 54: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/54.jpg)
54
hipótese: l(n) <= 2n
Nível
n
n+1
l(n+1) <= 2 * l(n) <= 2 * 2n <= 2n+1
Induction Step
![Page 55: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/55.jpg)
55
Lembrete
Recursão é semelhante
Exemplo de função recursiva:
f(n) = f(n-1) + f(n-2)
f(0) = 1, f(1) = 1
![Page 56: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/56.jpg)
56
Prova por Contradição
Queremos provar que uma asserção P é verdadeira
• supomos que P seja falsa
• então obtemos uma conclusão absurda
• portanto, a asserção P deve ser verdadeira
![Page 57: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/57.jpg)
57
Exemplo
Teorema: não é racional
Prova:
Suponha, por contradição, que seja racional
= n/m
n e m não possuem fatore comuns
Cvamos mostrar que isso é impossível
2
2
![Page 58: 1 BCC-244 Modelos de Computação. 2 Computação CPU memória](https://reader038.vdocuments.site/reader038/viewer/2022110117/552fc165497959413d8ea563/html5/thumbnails/58.jpg)
58
= n/m 2 m2 = n2
Portanto, n2 é parn é par
n = 2 k
2 m2 = 4k2 m2 = 2k2m é par
m = 2 p
Então, m e n têm em comum o fator 2
Contradição!
2