A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Informática Teórica Engenharia da Computação

Apresentações semelhantes


Apresentação em tema: "Informática Teórica Engenharia da Computação"— Transcrição da apresentação:

1 Informática Teórica Engenharia da Computação

2 Máquinas de Turing Agora nos voltamos para um modelo muito mais poderoso, proposto por Alan Turing em 1936, chamado máquina de Turing. Semelhante a um autômato finito, mas com uma memória ilimitada e irrestrita, uma máquina de Turing é um modelo muito mais acurado de um computador de propósito geral. Uma máquina de Turing pode fazer tudo que um computador real pode fazer. Entretanto, mesmo uma máquina de Turing n˜ão pode resolver certos problemas.

3 Modelo de Máquina de Turing
Usa uma fita infinita como sua memória ilimitada. A fita tem uma cabeça que pode ler e escrever símbolos e mover-se sobre a fita. Inicialmente, a fita contem apenas a cadeia de entrada e está em branco em todo o restante. Se a máquina precisa armazenar informação, ela pode escrevê-la sobre a fita. Para ler a informação que ela escreveu, a máquina pode mover sua cabeça de volta para a posição onde a informação foi escrita.

4 Modelo de Máquina de Turing
A máquina continua a computar até que ela decida produzir uma saída. As saídas aceite e rejeite são obtidas entrando em estados designados de aceitação e de rejeição. Se não entrar num estado de aceitação ou de rejeição, ela continuará para sempre, nunca parando.

5 MT  AFs Uma máquina de Turing pode tanto escrever sobre a fita quanto ler a partir dela. A cabeça de leitura escrita pode mover-se tanto para a esquerda quanto para a direita. A fita é infinita. Os estados especiais para rejeitar e aceitar fazem efeito imediatamente.

6 MT Exemplo Seja B = {w#w | w  f{0,1}*}. Queremos que M1 aceite se sua entrada é um membro de B e rejeite caso contrário.

7 MT Exemplo Faça um zigue-zague ao longo da fita para posições correspondentes sobre qualquer dos lados do símbolo # para verificar se elas contem o mesmo símbolo. Se eles não contem, ou se nenhum # for encontrado, rejeite. Marque os símbolos a medida que eles são verificados para manter registro de quais símbolos têm correspondência. Quando todos os símbolos a esquerda do # tiverem sido marcados, verifique a existência de algum símbolo remanescente a direita do #. Se resta algum símbolo, rejeite, caso contrário, aceite..

8 MT Definição Formal O coração da definifição de uma máquina de Turing é a função de transição. : QQ{E,D}. Quando a MT está em um certo estado q e a cabeça está sobre uma célula da fita contendo um símbolo a e se (q,a) = (r,b,E), a máquina escreve o símbolo b substituindo o a e vai para o estado r. O terceiro componente é E ou D e indica se a cabeça move para a esquerda ou direita após escrever.

9 MT Definição Formal Uma máquina de Turing é uma 7-upla, (Q,,,,q0, qaceita, qrejeita), onde Q, ,  são todos conjuntos finitos e Q é o conjunto de estados,  é o alfabeto de entrada não contendo o símbolo em branco ᶸ  é o alfabeto da fita, onde ᶸ   e  , : QQ{E,D} é a função de transição, q0  Q é o estado inicial, qaceita  Q é o estado de aceitação, e qrejeita  Q é o estado de rejeição, onde qrejeita  qaceita.

10 MT Computação Inicialmente M recebe sua entrada w = w1w2 ...wn * sobre as n células mais a esquerda da fita, e o restante da fita está em branco (i.e., preenchido com símbolos em branco). A cabeça começa sobre a célula mais à esquerda da fita. Note que  não contem o símbolo em branco, portanto o primeiro branco aparecendo sobre a fita marca o fim da entrada.

11 MT Computação M se move de acordo com a função de transição. Se M em algum momento tentar mover sua cabeça para a esquerda além da extremidade esquerda da fita, a cabeça permanece no mesmo lugar para aquele movimento, muito embora a função de transição indique E. A computação continua até que ela entra ou no estado de aceitação ou de rejeição em cujo ponto ela pára. Se nenhum desses ocorre, M continua para sempre.

12 MT Configuração A medida que uma máquina de Turing computa, mudanças ocorrem no estado atual, no conteúdo atual da fita e a posição atual da cabeça. Um possível valor desses três itens é denominado configuração da máquina de Turing.

13 MT Configuração Para um estado q e duas cadeias u e v sobre o alfabeto da fita , escrevemos uqv para a configuração na qual o estado atual é q, o conteúdo atual da fita é uv e a posição atual da cabeça é sobre o primeiro símbolo de v. A fita contem apenas brancos após o último símbolo de v.

14 MT Configuração: exemplo
1011q01111 Representa a configuração quando a fita é , o estado atual é q, e a cabeça está atualmente sobre o segundo 0. q 1 ...

15 MT Computação: definição formal
Dizemos que a configuração C1 origina a configuração C2, se a máquina de Turing puder ir de C1 para C2 em um único passo. Suponha que temos a, b e c em , u e v em * e os estados qi e qj . ua qi bv origina u qj acv se: (qi,b) = (qj,c,E). Isso cobre o caso em que a máquina de Turing move para a esquerda.

16 MT Computação: definição formal
Para um movimento para a direita, digamos que ua qi bv origina uac qj v se: (qi,b) = (qj,c,D).

17 MT Computação: definição formal
Casos especiais ocorrem quando a cabeça estiver em uma das extremidades da configuração. Para a extremidade esquerda: qi bv origina qj cv Se a transição envolver um movimento para a esquerda (porque cuidamos para que a máquina não passe da extremidade esquerda da fita), qi bv origina c qj v para a transição que envolve um movimento para a direita.

18 MT Computação: definição formal
Para a extremidade direita: ua qi é equivalente a ua qi ᶸ porque assumimos que brancos vêm após a parte da fita representada na configuração.

19 MT Computação: definição formal
A configuração inicial de M sobre a entrada w é qo w A máquina está no estado inicial q0 com sua cabeça na posição mais à esquerda sobre a fita.

20 MT Computação: definição formal
Em uma configuração de aceitação, o estado da configuração é qaceita. Em uma configuração de rejeição, o estado da configuração é qrejeita. Configurações de aceitação e de rejeição são configurações de parada e portanto não originam configurações adicionais.

21 MT Computação: definição formal
Uma MT M aceita a entrada w se uma sequência de configurações C1, C2, ..., Ck existe, onde C1 é a configuração inicial de M sobre a entrada w, cada Ci origina Ci+1 e Ck é uma configuração de aceitação. A coleção de cadeias que M aceita é a linguagem de M, ou a linguagem reconhecida por M, denotada L(M).

22 MT Linguagem Recursivamente Enumerável
Chame uma linguagem de Turing-reconhecível (ou recursivamente enumerável) se alguma máquina de Turing a reconhece.

23 MT Decisores Quando iniciamos uma MT sobre uma entrada, três resultados são possíveis. A MT pode aceitar, rejeitar, ou entrar em loop. As MTs que são chamadas de decisores, sempre tomam uma decisão de aceitar ou rejeitar. Um decisor que reconhece alguma linguagem também é dito decidir essa linguagem.

24 MT Linguagem Recursiva
Chame uma linguagem de Turing-decidível ou simplesmente decidível se alguma máquina de Turing a decide.


Carregar ppt "Informática Teórica Engenharia da Computação"

Apresentações semelhantes


Anúncios Google