universidade federal rural do semi-Árido curso:ciÊncia … · m quina de turing author: dany...
TRANSCRIPT
![Page 1: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/1.jpg)
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO
CURSO: CIÊNCIA DA COMPUTAÇÃO
Prof.ª Danielle Casillo
![Page 2: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/2.jpg)
� Proposta por Alan Turing em 1936;� É universalmente conhecida e aceita comoformalização de algoritmo;
Teoria da Computação 2
![Page 3: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/3.jpg)
� Trata-se de um mecanismo simples que formaliza aidéia de uma pessoa que realiza cálculos;
� Possui, no mínimo, o mesmo poder computacional dequalquer computador de propósito geral;qualquer computador de propósito geral;
� Não constitui uma máquina, como definidaanteriormente, mas sim um programa para umamáquina universal.
Teoria da Computação 3
![Page 4: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/4.jpg)
� O ponto de partida de Turing foi analisar a situaçãona qual uma pessoa, equipada com um instrumentode escrita e um apagador, realiza cálculos em umafolha de papel organizada em quadrados.
� Inicialmente, a folha de papel contém somente osdados iniciais do problema.
Teoria da Computação 4
![Page 5: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/5.jpg)
� O trabalho da pessoa pode ser resumido emsequências de operações simples como segue:
� Ler um símbolo de um quadrado;
� Alterar um símbolo em um quadrado;
� Mover os olhos para outro quadrado;
� Quando é encontrada alguma representação satisfatóriapara a resposta desejada, a pessoa termina seus cálculos.
Teoria da Computação 5
![Page 6: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/6.jpg)
� Para viabilizar esse procedimento, as seguinteshipóteses são aceitáveis:� A natureza bidimensional do papel não é umrequerimento essencial para os cálculos.
� É assumido que o papel consiste de uma fita infinitaorganizada em quadrados (células);organizada em quadrados (células);
� Conjunto de símbolos pode ser finito;� Conjunto de estados da mente da pessoa durante oprocesso de cálculo é finito.
� Existem dois estados em particular: estado inicial eestado final, correspondendo ao início e ao fim doscálculos, respectivamente;
Teoria da Computação 6
![Page 7: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/7.jpg)
� Comportamento da pessoa a cada momento édeterminado somente pelo seu estado presente e pelosímbolo para o qual sua atenção está voltada;
� A pessoa é capaz de observar e alterar o símbolo de� A pessoa é capaz de observar e alterar o símbolo deapenas um quadrado de cada vez, bem como detransferir sua atenção somente para um dosquadrados adjacentes.
Teoria da Computação 7
![Page 8: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/8.jpg)
� Variações sobre a Definição de Máquina de Turing.
� Diversas variações sobre a definição de Máquina deTuring são adotadas.
� Note-se que estas variações não alteram o podercomputacional do formalismo.
� As variações mais significativas estão nas característicasda fita e no movimento da cabeça como:
Teoria da Computação 8
![Page 9: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/9.jpg)
� Inexistência do Marcador de Início de Fita.
� É frequente não incluir um marcador de início de fita.Assim, a célula mais à esquerda da fita contém oprimeiro símbolo da entrada (ou branco, se a entradaprimeiro símbolo da entrada (ou branco, se a entradafor vazia). Neste caso, ao definir uma função programa,deve-se tomar cuidado especial para controlar quando acabeça da fita atinge o fim da mesma;
Teoria da Computação 9
![Page 10: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/10.jpg)
� Cabeça de Fita não se Move em umaLeitura/Gravação.
� Na função programa, é possível especificar,adicionalmente ao movimento para esquerda ou direita,adicionalmente ao movimento para esquerda ou direita,que a cabeça permaneça parada (na célula deleitura/gravação). O principal objetivo dessa variação éfacilitar a especificação da função programa, bem comoreduzir o número de transições necessárias.
Teoria da Computação 10
![Page 11: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/11.jpg)
� Estado Final de Rejeição
� Pode ser definido um estado final de rejeição, paraexplicitar a condição de parada com rejeição da entrada.
Teoria da Computação 11
![Page 12: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/12.jpg)
❂ a b b c a ß ß ...
controle
fita
cabeçada fita unidade de
controle
marcador deinício de fita brancoentrada
¤
� Fita:
� Usada simultaneamente como dispositivo de entrada,de saída e de memória de trabalho;
� É finita à esquerda e infinita (tão grande quantonecessário) à direita, sendo dividida em células, cadauma das quais armazenando um símbolo.
Teoria da Computação 12
controle controle
![Page 13: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/13.jpg)
� Os símbolos podem pertencer:� Ao alfabeto de entrada� Ao alfabeto auxiliar� β branco� ¤ marcador de início de fita� ¤ marcador de início de fita
� Inicialmente, a palavra a ser processada ocupa ascélulas mais à esquerda, após o marcador de início defita, ficando as demais com branco.
Teoria da Computação 13
![Page 14: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/14.jpg)
� Unidade de Controle
� Reflete o estado corrente da máquina.
� Possui um número finito e predefinido de estados.
� Possui uma unidade de leitura e gravação (cabeça dafita), a qual acessa uma célula da fita de cada vez.
� A cabeça da fita lê o símbolo de uma célula de cada vez egrava um novo símbolo. Após a leitura/gravação (agravação é realizada na mesma célula de leitura), acabeça move-se uma célula para a direita ou esquerda.
Teoria da Computação 14
![Page 15: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/15.jpg)
� Programa ou Função de Transição.
� O programa comanda as leituras e gravações, o sentidode movimento da cabeça e define o estado da máquina.
� Programa é uma função que, dependendo do estadocorrente da máquina e do símbolo lido, determina osímbolo a ser gravado, o sentido do movimento dacabeça e o novo estado.
Teoria da Computação 15
![Page 16: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/16.jpg)
� Definição - Máquina de Turing
� UmaMáquina de Turing é uma 8-upla:M =(∑∑∑∑, Q, ΠΠΠΠ, q0, F, V, β, ¤)
� ∑∑∑∑ alfabeto de símbolos de entrada;� Q conjunto de estados possíveis da máquina, o qual é finito;� ΠΠΠΠ programa ou função de transição: (é uma função parcial)� q0 estado inicial da máquina, tal que q0 é elemento de Q;� F conjunto de estados finais, tal que F está contido em Q;� V alfabeto auxiliar;� β símbolo especial branco;� ¤ símbolo especial marcador de início da fita.
Teoria da Computação 16
![Page 17: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/17.jpg)
� Símbolo de início de fita ¤, ocorre exatamente umavez e sempre na célula mais à esquerda da fita,auxiliando na identificação de que a cabeça da fita seencontra na célula mais à esquerda da fita.
� A função programa ΠΠΠΠ , considera:A função programa ΠΠΠΠ , considera:� estado corrente� símbolo lido da fita
� Para determinar:� novo estado� símbolo a ser gravado� sentido de movimento da cabeça esquerda (E) e direita(D)
Teoria da Computação 17
![Page 18: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/18.jpg)
� O programa pode ser representado como um grafofinito
ΠΠΠΠ(p, au) = (q, av, m)
(au, av, m)qp
Teoria da Computação 18
novo estado
símbolo lido
estado corrente
símbolo gravado
sentido do movimento
![Page 19: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/19.jpg)
� O programa pode ser representado por uma Tabelade Transições
ΠΠΠΠ(p, au) = (q, av, m)
q0 qf
ΠΠΠΠ(p, au) = (q, av, m)
Teoria da Computação 19
Π ¤ … au … av … ß
p (q, av, m)
q
…
![Page 20: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/20.jpg)
� O processamento de uma Máquina de Turing M=(∑∑∑∑,Q, ΠΠΠΠ, q0, F, V, β, ¤) para uma palavra de entrada wconsiste na sucessiva aplicação da função programa,a partir do estado inicial q0 e da cabeça posicionadana célula mais à esquerda da fita até ocorrer umana célula mais à esquerda da fita até ocorrer umacondição de parada.
� Processamento de M para a entrada w pode parar ouficar em loop infinito.
Teoria da Computação 20
![Page 21: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/21.jpg)
� A parada pode ser de duas maneiras: aceitando ourejeitando a entrada w.
� As condições de parada são as seguintes:� Estado Final: A máquina assume um estado final: amáquina para, e a palavra de entrada é aceita;
� Função Indefinida: A função programa é indefinidapara o argumento (símbolo lido e estado corrente): amáquina para, e a palavra de entrada é rejeitada;
� Movimento Inválido: O argumento corrente da funçãoprograma define um movimento à esquerda e a cabeçada fita já se encontra na célula mais à esquerda: amáquina para, e a palavra de entrada é rejeitada.
Teoria da Computação 21
![Page 22: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/22.jpg)
� Uma das abordagens do estudo das Máquinas deTuring ou das Máquinas Universais em geral é comoreconhecedores de linguagens, ou seja, dispositivoscapazes de determinar se uma dada palavra sobre ocapazes de determinar se uma dada palavra sobre oalfabeto de entrada pertence ou não a uma certalinguagem.
Teoria da Computação 22
![Page 23: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/23.jpg)
� Linguagem Aceita por uma Máquina de Turing.Seja M = (∑∑∑∑, Q, ΠΠΠΠ, q0, F, V, β, ¤) uma Máquina de
Turing. Então:Então:
a) A linguagem aceita por M, denotada por ACEITA(M), é oconjunto de todas as palavras pertencentes a ∑∑∑∑ aceitas porM, ou seja:
ACEITA(M) = {wM ao processar w ∈∈∈∈ ∑∑∑∑ , pára em umestado qf ∈∈∈∈ F}
Teoria da Computação 23
![Page 24: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/24.jpg)
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 ∈∈∈∈ ∑∑∑∑ , pára emREJEITA(M) = {wM ao processar w ∈∈∈∈ ∑∑∑∑ , pára emum estado q ∉∉∉∉ F}
c) A linguagem para a qual M fica em loop infinito,denotada por LOOP(M) é conjunto de todas as palavrasde ∑∑∑∑ para as quais M fica processando indefinidamente.
Teoria da Computação 24
![Page 25: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/25.jpg)
� Considere a linguagem: Duplo_Bal = {anbn | n ≥ 0},construa uma Máquina de Turing para essalinguagem.
� Passo 1: Construir o Grafo da Máquina de Turing
� Passo 2: Construir sua Tabela de Transição
� Passo 3: Escrever os elementos da Máquina de Turing
Teoria da Computação 25
![Page 26: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/26.jpg)
Computação
Teoria da Computação 26
![Page 27: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/27.jpg)
Teoria da Computação 27
![Page 28: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/28.jpg)
Teoria da Computação 28
Tabela de transições
� MT_Duplo_Bal = ({a, b}, {q0, q1, q2, q3, q4}, П, q0, {q4},{A, B}, ß, ¤)
![Page 29: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany Created Date: 10/7/2010 7:37:57 PM](https://reader034.vdocuments.com.br/reader034/viewer/2022042214/5eb8d6550bb5865a91465095/html5/thumbnails/29.jpg)
� Esta linguagem é um exemplo clássico e defundamental importância no estudo das linguagens,pois permite estabelecer analogia com linguagens quepossuem duplo balanceamento em sua estruturapossuem duplo balanceamento em sua estruturacomo, por exemplo:� Linguagens bloco-estruturadas do tipo BEGINnENDn,
como a linguagem de programação Pascal;� Linguagens com parênteses balanceados na forma (n)n,
como as expressões aritméticas, presentes na maioriadas linguagens de programação.
Teoria da Computação 29