1 / 24

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

Informática Teórica Engenharia da Computação. Máquinas de Turing. Agora nos voltamos para um modelo muito mais poderoso, proposto por Alan Turing em 1936, chamado máquina de Turing.

olina
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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˜ãopode resolver certos problemas.

  3. Modelo de Máquina de Turing • Usa uma fita infinita como sua memóriailimitada. • A fita tem uma cabeça que pode ler e escrever símbolos e mover-sesobre 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áquinapode mover sua cabeça de volta para a posição onde a informação foi escrita.

  4. Modelo de Máquina de Turing • Amáquina continua a computar até que ela decida produzir uma saída. • As saídasaceite 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. MTExemplo • 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. MTExemplo • 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ímbolostê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. MTDefinição Formal • O coração da definifiçãode uma máquina de Turing é a função de transição. • : QQ{E,D}. • Quando a MTestá 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 ae 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. MTDefiniçã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. MTComputaçã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. MTComputaçã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çãoem cujo ponto ela pára. • Se nenhum desses ocorre, M continua para sempre.

  12. MTConfiguraçã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. MTConfiguração • Para um estado q e duas cadeias ue v sobre o alfabeto da fita , escrevemos uqvpara 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. MTConfiguração: exemplo • 1011q01111 • Representa a configuração quando a fita é 101101111, o estado atual é q, e a cabeça está atualmente sobre o segundo 0. q 1 1 0 1 1 1 0 1 1 ᶸ ᶸ ...

  15. MTComputação: definição formal • Dizemos que a configuração C1origina a configuração C2, se a máquina de Turing puder ir de C1para C2em um único passo. • Suponha que temos a, b e c em , ue v em *e os estados qie qj . • uaqibvorigina u qjacvse: • (qi,b) = (qj,c,E). • Isso cobre o caso em que a máquina de Turing move para a esquerda.

  16. MTComputação: definição formal • Para um movimento para a direita, digamos que • uaqibvorigina uacqjv se: • (qi,b) = (qj,c,D).

  17. MTComputação: definição formal • Casos especiais ocorrem quando a cabeça estiver em uma das extremidades da configuração. • Para a extremidade esquerda: • qibvorigina qjcv • 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), • qibvorigina cqj v • para a transição que envolve um movimento para a direita.

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

  19. MTComputaçã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. MTComputaçã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. MTComputação: definição formal • Uma MTM aceita a entrada w se uma sequência de configurações C1, C2, ..., Ckexiste, 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. MTLinguagem Recursivamente Enumerável • Chame uma linguagem de Turing-reconhecível (ou recursivamente enumerável) se alguma máquinade Turing a reconhece.

  23. MTDecisores • 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. • Umdecisorque reconhece alguma linguagem também é dito decidir essa linguagem.

  24. MTLinguagem Recursiva • Chame uma linguagem de Turing-decidívelou simplesmente decidívelse alguma máquina de Turing a decide.

More Related