UNIPÊ – Centro Universitário de João Pessoa
Curso de Ciências da Computação
Teoria da Computação
MÁQUINA NORMA
Fabrício Dias
[email protected]
Agenda

Máquina Norma


Definições
Máquina Norma como Máquina Universal
Máquina Norma

A Máquina Universal Norma (Number
TheOretic Register MAchine)

proposta por Richard Bird em 1976
3
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).
4
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.
5
Máquina Norma

Definição: A Máquina Norma é uma 7upla (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
6
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;
7
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.
8
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)
9
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)
10
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)
11
Máquina Norma como
Máquina Universal
12
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;
13
Máquina Norma

Características:

Valores Numéricos. Armazenamento de
tratamento de valores numéricos de diversos
tipos como inteiros (negativos e nãonegativos) e racionais;
14
Máquina Norma

Características:

Dados Estruturados. Armazenamento de
tratamento de dados estruturados como em
arranjos (vetores uni e multidimensionais),
pilhas, filas, etc.
15
Máquina Norma

Características:

Endereçamento Indireto e Recursão. Desvio
para uma instrução determinada pelo
conteúdo de um registrador;
16
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
17
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.





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).

Dúvidas?????
Download

Máquina Norma