Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
aceita
como
Teoria da Computao
Trata-se de um mecanismo simples que formaliza a idia de uma pessoa que realiza clculos; Possui, no mnimo, o mesmo poder computacional de qualquer computador de propsito geral; No constitui uma mquina, como definida anteriormente, mas sim um programa para uma mquina universal.
Teoria da Computao
O ponto de partida de Turing foi analisar a situao na qual uma pessoa, equipada com um instrumento de escrita e um apagador, realiza clculos em uma folha de papel organizada em quadrados. Inicialmente, a folha de papel contm somente os dados iniciais do problema.
Teoria da Computao
O trabalho da pessoa pode ser resumido em sequncias de operaes simples como segue:
Ler um smbolo de um quadrado; Alterar um smbolo em um quadrado; Mover os olhos para outro quadrado; Quando encontrada alguma representao satisfatria para a resposta desejada, a pessoa termina seus clculos.
Teoria da Computao 5
Comportamento da pessoa a cada momento determinado somente pelo seu estado presente e pelo smbolo para o qual sua ateno est voltada; A pessoa capaz de observar e alterar o smbolo de apenas um quadrado de cada vez, bem como de transferir sua ateno somente para um dos quadrados adjacentes.
Teoria da Computao
Teoria da Computao
Teoria da Computao
no
se
Move
em
uma
Na funo programa, possvel especificar, adicionalmente ao movimento para esquerda ou direita, que a cabea permanea parada (na clula de leitura/gravao). O principal objetivo dessa variao facilitar a especificao da funo programa, bem como reduzir o nmero de transies necessrias.
Teoria da Computao
10
Teoria da Computao
11
entrada
branco
...
unidade de controle
Fita:
Usada simultaneamente como dispositivo de entrada, de sada e de memria de trabalho; finita esquerda e infinita (to grande quanto necessrio) direita, sendo dividida em clulas, cada uma das quais armazenando um smbolo.
Teoria da Computao 12
Inicialmente, a palavra a ser processada ocupa as clulas mais esquerda, aps o marcador de incio de fita, ficando as demais com branco.
Teoria da Computao
13
Unidade de Controle
Reflete o estado corrente da mquina. Possui um nmero finito e predefinido de estados. Possui uma unidade de leitura e gravao (cabea da fita), a qual acessa uma clula da fita de cada vez. A cabea da fita l o smbolo de uma clula de cada vez e grava um novo smbolo. Aps a leitura/gravao (a gravao realizada na mesma clula de leitura), a cabea move-se uma clula para a direita ou esquerda.
Teoria da Computao 14
Teoria da Computao
15
Smbolo de incio de fita , ocorre exatamente uma vez e sempre na clula mais esquerda da fita, auxiliando na identificao de que a cabea da fita se encontra na clula mais esquerda da fita. A funo programa , considera:
estado corrente smbolo lido da fita
Para determinar:
novo estado smbolo a ser gravado sentido de movimento da cabea esquerda (E) e direita (D)
Teoria da Computao 17
O programa pode ser representado como um grafo finito (p, au) = (q, av, m)
p (au, av, m) q
smbolo gravado
Teoria da Computao 18
q0
qf
O programa pode ser representado por uma Tabela de Transies (p, au) = (q, av, m) p q
Teoria da Computao 19
au (q, av, m)
av
O processamento de uma Mquina de Turing M=(, Q, , q0, F, V, , ) para uma palavra de entrada w consiste na sucessiva aplicao da funo programa, a partir do estado inicial q0 e da cabea posicionada na clula mais esquerda da fita at ocorrer uma condio de parada. Processamento de M para a entrada w pode parar ou ficar em loop infinito.
Teoria da Computao
20
A parada pode ser de duas maneiras: aceitando ou rejeitando a entrada w. As condies de parada so as seguintes:
Estado Final: A mquina assume um estado final: a mquina para, e a palavra de entrada aceita; Funo Indefinida: A funo programa indefinida para o argumento (smbolo lido e estado corrente): a mquina para, e a palavra de entrada rejeitada; Movimento Invlido: O argumento corrente da funo programa define um movimento esquerda e a cabea da fita j se encontra na clula mais esquerda: a mquina para, e a palavra de entrada rejeitada.
Teoria da Computao 21
Uma das abordagens do estudo das Mquinas de Turing ou das Mquinas Universais em geral como reconhecedores de linguagens, ou seja, dispositivos capazes de determinar se uma dada palavra sobre o alfabeto de entrada pertence ou no a uma certa linguagem.
Teoria da Computao
22
Linguagem Aceita por uma Mquina de Turing. Seja M = (, Q, , q0, F, V, , ) uma Mquina de Turing. Ento:
a)
A linguagem aceita por M, denotada por ACEITA(M), o conjunto de todas as palavras pertencentes a aceitas por M, ou seja: ACEITA(M) = {wM ao processar w , pra em um estado qf F}
Teoria da Computao
23
b)
A linguagem rejeitada por M, denotada por REJEITA(M), o conjunto de todas as palavras de rejeitadas por M, ou seja: REJEITA(M) = {wM ao processar w , pra em um estado q F} A linguagem para a qual M fica em loop infinito, denotada por LOOP(M) conjunto de todas as palavras de para as quais M fica processando indefinidamente.
c)
Teoria da Computao
24
Considere a linguagem: Duplo_Bal = {anbn | n 0}, construa uma Mquina de Turing para essa linguagem. Passo 1: Construir o Grafo da Mquina de Turing Passo 2: Construir sua Tabela de Transio Passo 3: Escrever os elementos da Mquina de Turing
Teoria da Computao
25
Computao
Teoria da Computao
26
Teoria da Computao
27
Tabela de transies MT_Duplo_Bal = ({a, b}, {q0, q1, q2, q3, q4}, , q0, {q4}, {A, B}, , )
Teoria da Computao 28
Esta linguagem um exemplo clssico e de fundamental importncia no estudo das linguagens, pois permite estabelecer analogia com linguagens que possuem duplo balanceamento em sua estrutura como, por exemplo:
Linguagens bloco-estruturadas do tipo BEGINnENDn, como a linguagem de programao Pascal; Linguagens com parnteses balanceados na forma (n)n, como as expresses aritmticas, presentes na maioria das linguagens de programao.
Teoria da Computao 29