Você está na página 1de 7

Dércio J.

A Chembene
Ibraimo Aly
Nel Miguel Chamo

Máquinas de Turing
Licenciatura em Informática
4 ° Ano Laboral
II Semestre

Universidade Pedagógica
ESTEC
Maputo
2018
2

Dércio J.A Chembene


Ibraimo Aly
Nel Miguel Chamo

Trabalho: Máquinas de Turing


Licenciatura em Informática

Trabalho a ser apresentado a cadeira de


Linguagens Formais e Autómatos para
efeitos de avaliação.

Docente: Gilberto Luís

Universidade Pedagógica
ESTEC
Maputo
2018

2
3

Desenvolvimento

Em 1936, Alan Turing introduziu um modelo matemático do processo de computação


conhecido actualmente como Máquina de Turing. Sua estrutura é simples e é o principal
modelo usado para o estudo do que é ou não computável.

A Máquina de Turing, para ser considerada um modelo de um procedimento deve apresentar,


entre outras, as seguintes propriedades:

 A execução do algoritmo deve ser finita;


 Deve consistir de passos

– Discretos,

– Executáveis mecanicamente,

– Num tempo finito.

O modelo proposto por Alan Turing em 1936 consistia de 3 partes:

– Fita:

 Usada simultaneamente como dispositivo de entrada, saída e memória de


trabalho.

– Unidade de Controlo:

 Reflete o estado corrente da máquina. Possui uma unidade de leitura e


gravação (cabeça da fita) que acede uma célula da fita de cada vez, movendo-
se para a esquerda e para a direita.

– Programa ou Função de Transição:

 Comanda as leituras e gravações, o sentido do movimento da cabeça e define o


estado da máquina.

A fita é finita à esquerda e infinita à direita, sendo dividida em células onde cada uma
armazena um símbolo, que podem pertencer ao alfabeto de entrada, ao alfabeto auxiliar ou ser
“branco”.

3
4

 Inicialmente a palavra a ser processada ocupa as células mais à esquerda da fita,


ficando as demais em “branco”.
 A unidade de controlo possui um número finito e pré-definido de estados.
 A cabeça de leitura/gravação lê o símbolo contido em uma célula da fita de cada vez e
grava um novo símbolo.
 Após a leitura/gravação a cabeça se move uma célula para a direita ou para a esquerda.
 O símbolo gravado e o sentido do movimento são definidos pelo programa.
 Inicialmente a cabeça está posicionada na célula mais à esquerda da fita como pode
ser visto na figura, onde β representa “branco”.

O programa é uma função que, dependendo do estado corrente da máquina e do símbolo lido,
determina

– O símbolo a ser gravado,

– O sentido do movimento da cabeça

– O novo estado da máquina.

Isto é: (p, a1) = (q, a2, m)

Definição Formal da Máquina de Turing

Uma máquina de Turing é uma séptupla:


– M = (, Q, , q0, F, V, ), onde:
 é um alfabeto de entrada

4
5

 Q é um conjunto finito de estados possíveis de M


 é um programa ou função de transição parcial:
: Qx (V{})Qx (V{})x{E,D}
 q0 é um estado inicial da máquina, q0 Q
 F é um conjunto de estados finais da máquina tal que F está contido em Q
 V é um alfabeto auxiliar (que pode ser vazio)
 é o símbolo especial “branco”

A função de transição considera o estado corrente e o símbolo lido da fita para determinar o
novo estado, o símbolo a ser gravado e o sentido do movimento da cabeça, onde esquerda e
direita são representadas por E e D respectivamente.
 O processamento de uma Máquina de Turing, M = (, Q, , q0, F, V, ), para uma
palavra de entrada w consiste na sucessiva aplicação da função programa a partir do
estado inicial q0 e da cabeça posicionada na célula mais à esquerda da fita até ocorrer
uma condição de parada.

O processamento de M para a entrada w pode parar ou ficar em loop infinito. A parada pode
ser de duas maneiras: aceitando ou rejeitando a entrada w.

As condições de parada são as seguintes:

– A máquina assume um estado final: a máquina para e a palavra de entrada é aceite.


– A função programa é indefinida para o argumento (símbolo lido e estado corrente): a
máquina para e a palavra de entrada é rejeitada.
– O argumento da função programa determina um movimento para a esquerda e a
cabeça já está na posição mais à esquerda da fita: a máquina para e a palavra de
entrada é rejeitada.

Para definir formalmente o comportamento da Máquina de Turing é necessário estender a


função programa para usar como argumento um estado e uma palavra.
 Se M é uma Máquina de Turing:
– ACEITA (M) ou L (M) é o conjunto de todas as palavras de * aceitas por M.
– REJEITA (M) é o conjunto de todas as palavras de * rejeitadas por M.

5
6

– LOOP (M) é o conjunto de todas as palavras de * para as quais M entra em loop


infinito.

6
7

Referências Bibliográficas

http://wwwp.fc.unesp.br/~simonedp/zipados/TC04.pdf

MENEZES, Paulo F B: Linguagens Formais e Autômatos. P. Alegre: Sagra Luzzatto, 1997