1 bcc-244 modelos de computação. 2 computação cpu memória
Post on 22-Apr-2015
105 Views
Preview:
TRANSCRIPT
1
BCC-244
Modelos de Computação
2
Computação
CPU memória
3
CPU
memória entrada
memoria saida
memória de programa
memória temporária
4
CPU
memória entrada
memória saidamemória de programa
memória temporária
3)( xxf
compute xx
compute xx 2
Exemplo:
5
CPU
memória entrada
memória saídamemória de programa
memória temporária
3)( xxf
compute xx
compute xx 2
2x
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
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
8
Autômato
CPU
memória entrada
memória saída
memória de programa
memária temporária
Autômato
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
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)
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
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)
13
Autômato
Finito
Autômato
de Pilha
Máquina
de Turing
Poder de Autômatos
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
15
Preliminares Matemáticos
16
Preliminares Matemáticos
• Conjuntos
• Funções
• Relações
• Grafos
• Técnicas de Prova
17
}3,2,1{AUm conjunto é uma coleção de elementos
CONJUNTOS
Escrevemos
A1
Bship
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
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
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
21
• Complemento
Conjunto Universal = {1, …, 7}
A = { 1, 2, 3 } A = { 4, 5, 6, 7}
12
3
4
5
6
7
AA
A = A
22
02
4
6
1
3
5
7
pares
{ inteiros pares } = { inteiros ímpares }
impares
Inteiros
23
Leis de DeMorgan’s
A U B = A B
U
A B = A U BU
24
Conjunto Vazio, Nulo:= { }
S U = S
S =
S - = S
- S =
U= Conjunto Universal
25
Subconjunto
A = { 1, 2, 3} B = { 1, 2, 3, 4, 5 }
A B
U
Subconjunto próprio A B
U
A
B
26
Subconjuntos Disjuntos
A = { 1, 2, 3 } B = { 5, 6}
A B =
UA B
27
Cardinalidade de Conjuntos
• Para conjuntos finitos
A = { 2, 5, 7 }
|A| = 3
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 )
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
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
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
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
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}
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
35
Grafo Rotulado
a
b
c
d
e
1 3
56
26
36
Percurso
a
b
c
d
e
Percurso é uma sequência de arcos adjacentes
(e, d), (d, c), (c, a)
37
Caminho
a
b
c
d
e
Caminho é um percurso sem nenhum arco repetido
Caminho simples: nenhum nodo é repeatido
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
39
Ciclo de Euler
a
b
c
d
e1
23
45
6
7
8 base
Ciclo que contém cada arco exatamente uma vez.
40
Ciclo Hamiltoniano
a
b
c
d
e1
23
4
5 base
Ciclo simples que contém todos os nodos
41
Encontrando todos os caminhos simples
a
b
c
d
ef
42
a
b
c
d
e
(c, a)
(c, e)
f
Passo 1
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
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
45
Árvoresraiz
folha
pai
filho
Árvores não têm ciclos
46
raiz
folha
Nível 0
Nível 1
Nível 2
Nível 3
Altura 3
47
Árvores Binárias
48
TECNICAS DE PROVA
• Prova por indução
• Prova por contradição
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
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
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
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
53
Passo Indutivo
hipótese: l(n) <= 2n
Nível
n
n+1
54
hipótese: l(n) <= 2n
Nível
n
n+1
l(n+1) <= 2 * l(n) <= 2 * 2n <= 2n+1
Induction Step
55
Lembrete
Recursão é semelhante
Exemplo de função recursiva:
f(n) = f(n-1) + f(n-2)
f(0) = 1, f(1) = 1
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
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
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
top related