UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany...

29
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo

Transcript of UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO:CIÊNCIA … · M quina de Turing Author: Dany...

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 ...

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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

❂ 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

� 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 ...

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 ...

� 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 ...

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 ...

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 ...

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 ...

� 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