TeoriadaComputacao-Aula13

20
Teoria da Computação MÁQUINA NORMA Fabrício Dias [email protected] UNIPÊ – Centro Universitário de João Pessoa Curso de Ciências da Computação

description

Norma

Transcript of TeoriadaComputacao-Aula13

Page 1: TeoriadaComputacao-Aula13

Teoria da ComputaçãoMÁQUINA NORMA

Fabrício Dias

[email protected]

UNIPÊ – Centro Universitário de João PessoaCurso de Ciências da Computação

Page 2: TeoriadaComputacao-Aula13

Agenda

Máquina Norma Definições

Máquina Norma como Máquina Universal

Page 3: TeoriadaComputacao-Aula13

3

Máquina Norma

A Máquina Universal Norma (Number TheOretic Register MAchine) proposta por Richard Bird em 1976

Page 4: TeoriadaComputacao-Aula13

4

Máquina Norma A Máquina Universal Norma (Number

TheOretic Register MAchine) possui como memória um conjunto

potencialmente infinito de registradores naturais;

três instruções podem atuar sobre cada registrador: adição do valor um; subtração do valor um; teste (se o valor armazenado é zero).

Page 5: TeoriadaComputacao-Aula13

5

Máquina Norma

N∞ denota o conjunto de todas as tuplas com infinitos (mas contáveis) componentes sobre o conjunto dos números naturais.

Para evitar subscritos, as componentes das uplas são denotadas por letras maiúsculas como A, B, X, Y as quais denotam os registradores na Máquina Norma.

Page 6: TeoriadaComputacao-Aula13

6

Máquina Norma Definição: A Máquina Norma é uma 7-

upla (suponha que K seja um registrador, K { A, B, …, X, Y }):

Norma = (N∞, X, Y, ent, sai, { adK,subK }, { zeroK })

a) Cada elemento do conjunto de valores de memória N∞ denota uma configuração de seus infinitos registradores, os quais são denotados por: A, B, …, X, Y

Page 7: TeoriadaComputacao-Aula13

7

Máquina Norma Definição:

Norma = (N∞, X, Y, ent, sai, { adK,subK }, { zeroK })

b) A função de entrada:

ent: N → N∞ é tal que carrega no registrador denotado por X o valor de entrada, inicializando todos os demais registradores com zero;

Page 8: TeoriadaComputacao-Aula13

8

Máquina Norma Definição:

Norma = (N∞, X, Y, ent, sai, { adK,subK }, { zeroK })

c) A função de saída:

sai: N∞ → N é tal que retorna o valor corrente do registrador denotado por Y.

Page 9: TeoriadaComputacao-Aula13

9

Máquina Norma Definição:

Norma = (N∞, X, Y, ent, sai, { adK,subK }, { zeroK })

d) O conjunto de interpretações de operações é uma família de operações indexada pelos registradores, na qual, para cada registrador K { A, B, …, X, Y }, tem-se que: adK: N∞ → N∞

Adiciona um à componente correspondente ao registrador K, deixando as demais com seus valores inalterados.

(K:=K+1)

Page 10: TeoriadaComputacao-Aula13

10

Máquina Norma Definição:

Norma = (N∞, X, Y, ent, sai, { adK,subK }, { zeroK })

subK: N∞ → N∞

Subtrai um da componente correspondente ao registrador K, se o seu valor for maior que zero (caso contrário, mantém o valor zero), deixando as demais com seus valores inalterados.

(K:=K-1)

Page 11: TeoriadaComputacao-Aula13

11

Máquina Norma Definição:

Norma = (N∞, X, Y, ent, sai, { adK,subK }, { zeroK })

e) O conjunto de interpretações de testes é uma família de testes indexada pelos registradores na qual, para cada registrador K, tem-se que: zeroK: N∞ → { verdadeiro, falso } resulta em

verdadeiro, se a componente correspondente ao registrador K for zero e em falso, caso contrário.

(K=0)

Page 12: TeoriadaComputacao-Aula13

12

Máquina Norma como

Máquina Universal

Page 13: TeoriadaComputacao-Aula13

13

Máquina Norma

Características: Operações e Testes. Definição de operações

e testes mais complexos como adição, subtração, multiplicação e divisão de dois valores e tratamento de valores diversos como os números primos;

Page 14: TeoriadaComputacao-Aula13

14

Máquina Norma

Características: Valores Numéricos. Armazenamento de

tratamento de valores numéricos de diversos tipos como inteiros (negativos e não-negativos) e racionais;

Page 15: TeoriadaComputacao-Aula13

15

Máquina Norma

Características: Dados Estruturados. Armazenamento de

tratamento de dados estruturados como em arranjos (vetores uni e multidimensionais), pilhas, filas, etc.

Page 16: TeoriadaComputacao-Aula13

16

Máquina Norma

Características: Endereçamento Indireto e Recursão. Desvio

para uma instrução determinada pelo conteúdo de um registrador;

Page 17: TeoriadaComputacao-Aula13

17

Máquina Norma

Características: Cadeia de Caracteres. Definição e

manipulação de cadeias de caracteres. Tipo não-predefinido numa Máquina Norma; Tratamento da definição e da manipulação de

cadeias de caracteres será realizado através de outra Máquina Universal Máquina de Turing

Page 18: TeoriadaComputacao-Aula13

Concluindo

Máquina Norma é uma máquina que: Possui uma memória potencialmente infinita,

compostas por 3 instruções; É uma 7- upla do tipo: Norma = (N∞, X, Y,

ent, sai, { adK,subK }, { zeroK }); Possui operações e testes complexos, como

adição, subtração, multiplicação e divisão de dois valores e tratamento de valores diversos como os números primos.

Page 19: TeoriadaComputacao-Aula13

Valores numéricos, negativos e não-negativos; Dados estruturados (pilha, fila..); Endereçamento indireto e recursão (desvio para

uma instrução); Cadeia de caracteres (pré-definidas).

Page 20: TeoriadaComputacao-Aula13

Dúvidas?????