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

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

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,

Apresentações semelhantes


Apresentação em tema: "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,"— 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Se não entrar num estado de aceitação ou de rejeição, ela continuará para sempre, nunca parando.

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

6 MT Exemplo Seja B = {w#w | w f{0,1}*}. Queremos que M 1 aceite se sua entrada é um membro de B e rejeite caso contrário. Seja B = {w#w | w f{0,1}*}. Queremos que M 1 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. 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. 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. 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.. 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. O coração da definifição de uma máquina de Turing é a função de transição. : Q Q {E,D}. : 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. 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,,,,q 0, q aceita, q rejeita ), onde Q,, são todos conjuntos finitos e Uma máquina de Turing é uma 7-upla, (Q,,,,q 0, q aceita, q rejeita ), onde Q,, são todos conjuntos finitos e 1. Q é o conjunto de estados, 2. é o alfabeto de entrada não contendo o símbolo em branco 2. é o alfabeto de entrada não contendo o símbolo em branco 3. é o alfabeto da fita, onde e, 4. : Q Q {E,D} é a função de transição, 5. q 0 Q é o estado inicial, 6. q aceita Q é o estado de aceitação, e 7. q rejeita Q é o estado de rejeição, onde q rejeita q aceita.

10 MT Computação Inicialmente M recebe sua entrada w = w 1 w 2...w n * Inicialmente M recebe sua entrada w = w 1 w 2...w n * 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. A fita contem apenas brancos após o último símbolo de v.

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

15 MT Computação: definição formal Dizemos que a configuração C 1 origina a configuração C 2, se a máquina de Turing puder ir de C 1 para C 2 em um único passo. Dizemos que a configuração C 1 origina a configuração C 2, se a máquina de Turing puder ir de C 1 para C 2 em um único passo. Suponha que temos a, b e c em, u e v em * e os estados q i e q j. Suponha que temos a, b e c em, u e v em * e os estados q i e q j. ua q i bv origina u q j acv se: ua q i bv origina u q j acv se: (q i,b) = (q j,c,E). (q i,b) = (q j,c,E). Isso cobre o caso em que a máquina de Turing move para a esquerda. 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 Para um movimento para a direita, digamos que ua q i bv origina uac q j v se: ua q i bv origina uac q j v se: (q i,b) = (q j,c,D). (q i,b) = (q j,c,D).

17 MT Computação: definição formal Casos especiais ocorrem quando a cabeça estiver em uma das extremidades da configuração. Casos especiais ocorrem quando a cabeça estiver em uma das extremidades da configuração. Para a extremidade esquerda: Para a extremidade esquerda: q i bv origina q j cv q i bv origina q j 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), 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), q i bv origina c q j v q i bv origina c q j v para a transição que envolve um movimento para a direita. para a transição que envolve um movimento para a direita.

18 MT Computação: definição formal Para a extremidade direita: Para a extremidade direita: ua q i é equivalente a ua q i ua q i é equivalente a ua q i porque assumimos que brancos vêm após a parte da fita representada na configuração. 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 é A configuração inicial de M sobre a entrada w é q o w q o w A máquina está no estado inicial q 0 com sua cabeça na posição mais à esquerda sobre a fita. A máquina está no estado inicial q 0 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 é q aceita. Em uma configuração de aceitação, o estado da configuração é q aceita. Em uma configuração de rejeição, o estado da configuração é q rejeita. Em uma configuração de rejeição, o estado da configuração é q rejeita. Configurações de aceitação e de rejeição são configurações de parada e portanto não originam configurações adicionais. 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 C 1, C 2,..., C k existe, onde Uma MT M aceita a entrada w se uma sequência de configurações C 1, C 2,..., C k existe, onde 1. C 1 é a configuração inicial de M sobre a entrada w, 2. cada C i origina C i+1 e 3. C k é 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). 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. 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. 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. 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. 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. 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. Máquinas de Turing Agora nos voltamos para um modelo muito mais poderoso, proposto por Alan Turing em 1936,"

Apresentações semelhantes


Anúncios Google