SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Curso: Ciência da Computação
           Turma: 6ª Série


       Teoria da Computação

              Aula 14

Máquina de Turing – Máquina de Post
Planejamento
●   Hoje tem entrega da ATPS.
●   Combinar aula da próxima semana.
●   Nossa avaliação é dia 29 de Novembro.
●   Exercícios de Máquinas Universais.
Máquina de Turing
    Foi proposta por Alan Turing em 1936 e é
    universalmente conhecida e aceita como
   formalização de algoritmo. Trata-se de um
mecanismo simples que formaliza a ideia de uma
pessoa que realiza cálculos. O modelo possui no
   mínimo, o mesmo poder computacional de
    qualquer computador de propósito geral.




                                                  3
                  Teoria da Computação
Noção Intuitiva
    O ponto de partida de Turing foi analisar a situação na
     qual uma pessoa, equipada com um instrumento de
    escrita e um apagado, realiza cálculos numa folha de
              papel, organizada em quadrados.


Inicialmente, suponha que a folha de papel contém
somente os dados iniciais do problema. O trabalho da
pessoa pode ser resumido em sequê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.
                                                              4
                         Teoria da Computação
Noção Intuitiva
Quando é encontrada alguma representação satisfatória para a resposta
desejada, a pessoa termina seus cálculos.
Hipóteses para o cálculos com a Máquina de Turing:
●   A natureza bidimensional do papel não é um requerimento essencial para
    os cálculos. Pode ser assumido que o papel consiste de uma fita infinita
    organizada em quadrados;
●   O conjunto de símbolos pode ser finito, pois se pode utilizar sequências de
    símbolos;
●   O conjunto de estados da mente da pessoa durante o processo de cálculo é
    finito. Mais ainda, entre esses estados, existem dois em particular: “estado
    inicial” e “estado final”, correspondendo ao início e ao fim dos cálculos,
    respectivamente;
●   O comportamento da pessoa a cada momento é determinado somente pelo
    seu estado presente e pelo símbolo para o qual sua atenção está voltada.
●   A pessoa é capaz de observar e alterar o símbolo de apenas um quadrado
    de cada vez, bem como de transferir sua atenção somente para um dos
    quadrados adjacentes.
                                                                                  5
                                Teoria da Computação
Máquina de Turing
É constituída por três partes:
(a) Fita. Usada simultaneamente como dispositivo de
  entrada, de saída e de memória do trabalho;
(b) Unidade de Controle. Reflete o estado corrente da
  máquina. Possui uma unidade de leitura e gravação
  (cabeça da fita), a qual acessa uma célula da fita de
  cada vez e movimenta-se para a esquerda ou para a
  direita;
(c) Programa ou Função de Transição. Função que
  define o estado da máquina e comanda as leituras, as
  gravações e o sentido de movimento da cabeça.


                                                          6
                        Teoria da Computação
Fita e Unidade de Controle
                                                                   Branco
    Início da Fita                       Entrada



                     Θ    a     b    b      b      c   a   β   β      a     b   ...
  Fita
                                                                                      Infinito




                     Controle




A unidade de controle possui um número pré-definido de estados.
A cabeça da fita lê o símbolo de uma célula de cada vez e grava
um novo símbolo. Após a leitura/gravação (a gravação é realizada
na mesma célula de leitura), a cabeça move uma célula para a
direita ou para a esquerda. O símbolo gravado e o sentido do
movimento são definidos pelo programa.                           7
                                    Teoria da Computação
Modelo Formal
Uma Máquina de Turing é um 8-upla:
             M = (∑, Q, ∏, q0, F, V, β, Ö)

onde:
∑: 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;
    ∏ : Qx( ∑ U V U {β, Ö}) → Qx( ∑ U V U {β, Ö}) x {E,d} a qual é 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;

Ö: Marcador de início da fita.
                                                                                8
                                  Teoria da Computação
Modelo Formal cont.
O símbolo de início de fita ocorre exatamente uma vez e sempre na
célula mais à esquerda da fita, auxiliando na identificação de que a
cabeça da fita se encontra na célula mais à esquerda da fita. A função
programa (função):

considera                             para determinar
estado corrente                       novo estado
símbolo lido da fita                  símbolo a ser gravado
                                      sentido de movimente da cabeça,
                                      onde esquerda e direita são
                                      representados por E e D
                                      respectivamente
Assim tem-se que:
∏ (estado corrente, símbolo lido) = (novo estado, símbolo gravado,
sentido do movimento)
ou seja suponha p, q є Q, au ,av є ( ∑ U V U {β, Ö}) e
m є {E,D}):
π (p, au) = (q, av, m)                                                   9
                             Teoria da Computação
Função Programa
A função programa pode ser interpretada como
um grafo finito direto:

                            (au,av,m)
              p                                     q

                                         sentido        novo
   estado         símbolo                  do           estado
   corrente         lido                movimento


                                  símbolo
                                  gravado

Adicionalmente, a função programa pode ser
representada na forma de tabela. Como seria
uma tabela para representar a função
programa??? 5 minutos para pensar
                    Teoria da Computação
                                                                 10
Tabela Função Programa
π   Ö      ...     au          ...        av   ...   β
p                (q,av,m)
q




                                                         11
                   Teoria da Computação
Máquina de Turing
O processamento de uma Máquina de Turing M = (∑, Q, π, q0, F, β, Ö)
para uma palavra de entrada w consiste na sucessiva aplicação da
função programa a partir do estado inicial q0 e da cabeça posicionada na
célula mais à esquerda da fita, até ocorrer uma condição de parada. O
processamento de M para a entrada w pode parar ou ficar um loop
infinito. A parada pode ser de duas maneiras: aceitando ou rejeitando a
entrada w. As condições de parada são as seguintes:
(a) Estado Final: A máquina assume um estado final: a máquina para e
   a palavra é aceita;
(b) Função indefinida: A função programa é indefinida para o argumento
   (símbolo lido e estado corrente): a máquina pára e a palavra de
   entrada é rejeitada;
(c) Movimento inválido: O argumento corrente da função programa
   define um movimento à esquerda e a cabeça da fita já se encontra
   na célula mais à esquerda: a máquina para e a palavra de entrada é
   rejeitada.
                                                                      12
                             Teoria da Computação
Máquina de Turing como Reconhecedores de
                   Linguagens
Uma das abordagens do estudo das Máquinas de
      Turing ou máquinas universais é como
     reconhecedores de linguagens, ou seja,
dispositivos capazes de determinar se uma dada
 palavra sobre o alfabeto de entrada pertence ou
           não a uma certa linguagem.




                                               13
                   Teoria da Computação
Linguagem Aceita por uma Máquina de Turing
Seja M = (∑, Q, ∏ , q0, F, β, Ö) uma máquina de Turing. Então:
a) A Linguagem Aceita por M, denotada por ACEITA(M) ou L(M), é
o conjunto de todas as palavras pertencentes a ∑* aceitas por M,
ou seja:
   ACEITA(M) = {w | M ao processar w є ∑* pára em um estado q f
є F}
b) A Linguagem Rejeitada por M, denotada por REJEITA(M) é o
conjunto de todas as palavras de ∑* rejeitadas por M, ou seja:
   REJEITA(M) = {w | M ao processar w є ∑* pára em um estado
q não є F}
c) A linguagem para qual M fica em loop infinito, denotada por
LOOP(M), é o conjunto de todas as palavras de ∑* para as quais
M fica processando indefinidamente.
                                                                 14
                          Teoria da Computação
Mais informações sobre Máquina de Turing e
          Reconhecimento de Linguagens
●   ACEITA(M) U REJEITA(M) U LOOP(M) = ∑*
●   ACEITA(M) ∩ REJEITA(m) = Ø
●   ACEITA(M) ∩ LOOP(M) = Ø
●   REJEITA(M) ∩ LOOP(M) = Ø
    e, portanto:
●   ACEITA(M) ∩ REJEITA(M) ∩ LOOOP(M) = Ø
    Consequentemente, o complemento de:
●   ACEITA(M) é REJEITA(M) U LOOP(M)
●   REJEITA(M) é ACEITA(M) U LOOP(M)
●   LOOP(M) é ACEITA(M) U REJEITA(M)
    ou seja, uma Máquina de Turing como reconhecedor particiona o
    conjunto de palavras sobre o alfabeto ∑ em classes de equivalência.
                                                                      15
                             Teoria da Computação
Máquina de Turing – Duplo
                  Balanceamento
Considere a linguagem: Duplo_Bal = {anbn | n>=0}
    Quais são as palavras aceitas por essa linguagem???
A Máquina de Turing:
    MT_Duplo_Bal = ({a,b}, {q0,q1,q2,q3,q4}, ∏, q0 , {q4}, {A,B}, β, Ö} é
tal que:
    ACEITA(MT_Duplo_Bal) = Duplo_Bal
    REJEITA(MT_Duplo_Bal) = ∑* - Duplo_Bal
E, portanto, LOOP(MT_Duplo_Bal) = Ø
----------------------------------------------------------------------------------------
O algoritmo apresentado reconhece o primeito símbolo a, o qual é
marcado como A, e movimenta a cabeça da fita à direita, procurando o b
correspondente, o qual é marcado como B. Este ciclo é repetido
sucessivamente até identificar para cada a o seu correspondente b.
Adicionalmente, o algoritmo garante que qualquer outra palavra que não  16
esteja na forma a b é rejeitada.Note-se que o símbolo de início da fita
                 n n
                             Teoria da Computação
Máquina de Turing – Duplo
               Balanceamento
O algoritmo apresentado reconhece o primeiro símbolo a, o qual é
marcado como A, e movimenta a cabeça da fita à direita,
procurando o b correspondente, o qual é marcado como B. Este
ciclo é repetido sucessivamente até identificar para cada a o seu
correspondente b. Adicionalmente, o algoritmo garante que
qualquer outra palavra que não esteja na forma anbn é
rejeitada.Note-se que o símbolo de início da fita não tem influência
na solução proposta.




                                                                   17
                           Teoria da Computação
18
Teoria da Computação
Sequência de Processamento da Máquina de
      Turing para a Sequência aabb




                                           19
               Teoria da Computação
Máquina de Turing – Duplo
               Balanceamento
Essa linguagem é um exemplo clássico e de fundamental importância no
estudo das linguagens, por permite estabelecer analogia com linguagens
que possuem duplo balanceamento como, por exemplo:
a.Linguagens bloco-estruturadas do tipo BEGINnENDn, com a linguagem
de programação Pascal;
b. Linguagem com parênteses balanceados na forma (n)n , como as
expressões aritméticas, presentes na maioria das linguagens de
programação.




                                                                    20
                            Teoria da Computação
Exercício
Considere a Máquina de Turing vista em aula.
Verifique qual o estado final após a computação
para as seguintes palavras:
ab
aba
aaba
aaabbb




                                                  21
                   Teoria da Computação
Máquina de Post
Assim como Turing, Emil Leon Post propôs, também em 1936, um
modelo de Máquina Universal denominado Máquina de Post.
Uma máquina de Post consiste, basicamente, de duas partes:

a) Variável X. Trata-se de uma variável do tipo fila e é utilizada como
entrada, saída e memória de trabalho.

b) Programa. É uma sequência finita de instruções, representado como
um diagrama de fluxos (espécie de fluxograma), onde cada vértice é
uma instrução. As instruções pode ser de quatro tipos:
    Partida
    Parada
    Desvio
    Atribuição
A variável X não possui tamanho nem limites fixos. Seu comprimento é
igual ao comprimento da palavra correspondente armazenada. Os
símbolos podem pertencer ao alfabeto de entrada ou a {#}. único
símbolo auxiliar. Inicialmente, o valor de X é a palavra de entrada. Caso
X não contenha símbolos, a entrada é vazia representada por ε.
                                                                          22
                              Teoria da Computação
Definição da Máquina de Post
Uma máquina de Post é uma tripla:

   M={ ∑, D, #}

Onde:
    ∑ alfabeto de símbolos de entrada;
    D programa ou diagrama de fluxos construído a partir de
componentes elementares denominados partida, parada, desvio e
atribuição;
    # símbolo auxiliar.




                                                                23
                           Teoria da Computação
Definição da Máquina de Post
As componentes elementares de um diagrama de fluxos são como
segue:
a) Partida. Existe somente uma instrução de início (partida) em um        partida
programa.

b) Parada. Existem duas alternativas de instruções de parada em
um programa, uma de aceitação (aceita) e outra de rejeição
(rejeita), representadas como ilustrado ao lado.
                                                                       aceita       rejeita
c) Desvio ou teste. Determina o fluxo de programa de acordo com o
símbolo mais à esquerda da palavra armazenada na variável X
(início da fila). Também deve ser prevista a possibilidade de X
conter a palavra vazia. Portanto é um desvio condicional, e trata-se
de uma função total, ou seja, definida para todos os valores do
domínio. Assim, se o cardinal de ∑ é n, então existem n+2 arestas
de desvios condicionais, pois se deve incluir as possibilidades de #
e ε, como ilustrado na figura ao lado, onde X ← ler(X)
denota uma leitura destrutiva ou seja, que lê o simbolo mais
à esquerda da palavra, retirando da mesma o símbolo lido.

d) Atribuição. Concatena o símbolo indicado (pertencente a
∑ U {#}) à direita da palavra armazenada na variável X (fim               X ← Xs
da fila). A operação de atribuição é representada com
ilustrado ao lado.                                                                    24
                                    Teoria da Computação
Máquina de Post
Em um diagrama de fluxos, existe somente uma instrução de
partida, mas podem existir diversas (zero ou mais) instruções
de parada, tanto de aceitação como de rejeição. Uma palavra
de entrada é aceitada ou rejeitada, se a computação, iniciada
com a variável X, contendo a entrada, atingir uma instrução
aceita ou rejeita, respectivamente. Note-se que é
perfeitamente possível uma Máquina de Post ficar em loop
infinito.
Em um desvio, se X contém a palavra vazia ε, então segue o
fluxo correspondente. Caso contrário, lê o símbolo mais à
esquerda da palavra X e o remove após a decisão de qual
aresta do fluxo indica a próxima instrução.



                                                           25
                        Teoria da Computação
Exemplo da Máquina de Post – Duplo Balanceamento

Considere a seguinte linguagem já discutida nessa aula: Duplo_Bal =
{anbn | n>= 0}
A Máquina de Post: Post_Duplo_Bal = ({a,b}, D, #)
Onde D, como ilustrado no próximo slide, é tal que:
    ACEITA(Post_Duplo_Bal) = Duplo_Bal
    REJEITA(Post_Duplo_Bal) = ∑* - Duplo_Bal
E, potanto, LOOP(Post_Duplo_Bal) = Ø




                                                                      26
                            Teoria da Computação
Exemplo da Máquina de Post – Duplo Balanceamento

O algoritmo lê e remove o primeiro símbolo a. Apoś, realiza uma
varredura circular em busca do correspondente b. Esta varredura é
realizada através de sucessivas leitura (remoções), armazenando o
símbolo lido à direita de X. Ao encontrar o b, este é removido, e uma
nova varredura circular é realizada até o fim da palavra de entrada
(identificado pelo símbolo auxiliar #, atribuído a X no início do
processamento). Este ciclo é repetido até restar a palavra vazia ou
ocorrer alguma condição de rejeição.




                                                                        27
                             Teoria da Computação
28
Teoria da Computação
Aplicar a Máquina de Post do Algoritmo Anterior para:

●   aabb
●   ab
●   abb




                                                            29
                        Teoria da Computação
Exercícios
1. Elabore uma Máquina de Turing M sobre o alfabeto {a,b} tal que:
     ACEITA(M) = {w | w inicia com a e, após cada, existe pelo menos um b}
     LOOP(M) = {w | w não є ACEITA(MP) e existe pelo menos um b entre dois a}
     REJEITA(M) = {a,b}* - (ACEITA(M) U LOOP(M))
     Por exemplo:
     ab, abbab є ACEITA(MP)
     b, aba, abbaba є REJEITA(MP)
2. Compare o algoritmo da Máquina de Turing com o da Máquina de Post para Duplo_Bal. Qual
você acha que é mais eficiente. Teça seus comentários a respeito dos dois algoritmos.
3, Elabore uma Máquina de Post sobre o alfabeto {a,b} tal que:
     ACEITA(P) = {ANBN | m>n>=0}
     REJEITA(P) = {a,b}* - ACEITA(P)




                                                                                            30
                                     Teoria da Computação

Más contenido relacionado

La actualidad más candente

Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosTárcio Sales
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Funções do Teclado
Funções do TecladoFunções do Teclado
Funções do TecladoCris Silva
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Laços de repetição - Linguagem C
Laços de repetição - Linguagem CLaços de repetição - Linguagem C
Laços de repetição - Linguagem Cprofjr
 
Informática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - IntroduçãoInformática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - IntroduçãoJoeldson Costa Damasceno
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsJoeldson Costa Damasceno
 
Teclado- ESTUDO DAS TECLAS E FUNÇÕES BÁSICAS
Teclado- ESTUDO DAS TECLAS E FUNÇÕES BÁSICASTeclado- ESTUDO DAS TECLAS E FUNÇÕES BÁSICAS
Teclado- ESTUDO DAS TECLAS E FUNÇÕES BÁSICASProfessora Luana
 
Ensinando computacao sem_computador
Ensinando computacao sem_computadorEnsinando computacao sem_computador
Ensinando computacao sem_computadorHudson Augusto
 
Arquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresArquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresAlex Camargo
 
Introdução ao Word
Introdução ao WordIntrodução ao Word
Introdução ao WordArtur Coelho
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosRoney Sousa
 
Curso de Informatica Básica - Noções básicas de um computador
Curso de Informatica Básica - Noções básicas de um computadorCurso de Informatica Básica - Noções básicas de um computador
Curso de Informatica Básica - Noções básicas de um computadorPerondi15
 
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Leinylson Fontinele
 

La actualidad más candente (20)

Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e Autômatos
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Aula I - Word
Aula I - WordAula I - Word
Aula I - Word
 
Funções do Teclado
Funções do TecladoFunções do Teclado
Funções do Teclado
 
Informática básica-01
Informática básica-01Informática básica-01
Informática básica-01
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Laços de repetição - Linguagem C
Laços de repetição - Linguagem CLaços de repetição - Linguagem C
Laços de repetição - Linguagem C
 
Informática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - IntroduçãoInformática Básica - Aula 01 - Introdução
Informática Básica - Aula 01 - Introdução
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
 
Teclado- ESTUDO DAS TECLAS E FUNÇÕES BÁSICAS
Teclado- ESTUDO DAS TECLAS E FUNÇÕES BÁSICASTeclado- ESTUDO DAS TECLAS E FUNÇÕES BÁSICAS
Teclado- ESTUDO DAS TECLAS E FUNÇÕES BÁSICAS
 
Ensinando computacao sem_computador
Ensinando computacao sem_computadorEnsinando computacao sem_computador
Ensinando computacao sem_computador
 
Arquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresArquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadores
 
Introdução ao Word
Introdução ao WordIntrodução ao Word
Introdução ao Word
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Curso de Informatica Básica - Noções básicas de um computador
Curso de Informatica Básica - Noções básicas de um computadorCurso de Informatica Básica - Noções básicas de um computador
Curso de Informatica Básica - Noções básicas de um computador
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
 

Destacado

08 linguagens recursivamente enumeraveis e sensiveis ao contexto
08   linguagens recursivamente enumeraveis e sensiveis ao contexto08   linguagens recursivamente enumeraveis e sensiveis ao contexto
08 linguagens recursivamente enumeraveis e sensiveis ao contextoComputação Depressão
 
Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Thayse
 
Slides turing-abr-2012
Slides turing-abr-2012Slides turing-abr-2012
Slides turing-abr-2012Ruy De Queiroz
 
Explicando a máquina Enigma
Explicando a máquina EnigmaExplicando a máquina Enigma
Explicando a máquina EnigmaAnchises Moraes
 
Teoria da Computação - Maquina de post
Teoria da Computação - Maquina de postTeoria da Computação - Maquina de post
Teoria da Computação - Maquina de postAugusto Schmidt
 
Artigo sobre jogo da imitação deTuring
Artigo sobre jogo da imitação deTuring Artigo sobre jogo da imitação deTuring
Artigo sobre jogo da imitação deTuring Renato Roque
 
Quem foi Alan Turing?
Quem foi Alan Turing?Quem foi Alan Turing?
Quem foi Alan Turing?Adolfo Neto
 
Pesquisa operacional teoria dos grafos
Pesquisa operacional teoria dos grafosPesquisa operacional teoria dos grafos
Pesquisa operacional teoria dos grafosDiego Henrique
 
Teoria da Computacao Cap 1
Teoria da Computacao Cap 1Teoria da Computacao Cap 1
Teoria da Computacao Cap 1Marco Silva
 
Aula 7 expressão regular
Aula 7   expressão regularAula 7   expressão regular
Aula 7 expressão regularwab030
 
Classificacao tipografia
Classificacao tipografiaClassificacao tipografia
Classificacao tipografiaDenise Lima
 
Máquinas de Turing
Máquinas de TuringMáquinas de Turing
Máquinas de TuringTania Arroyo
 
Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da ComputaçãoAlefe Variani
 

Destacado (13)

08 linguagens recursivamente enumeraveis e sensiveis ao contexto
08   linguagens recursivamente enumeraveis e sensiveis ao contexto08   linguagens recursivamente enumeraveis e sensiveis ao contexto
08 linguagens recursivamente enumeraveis e sensiveis ao contexto
 
Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0
 
Slides turing-abr-2012
Slides turing-abr-2012Slides turing-abr-2012
Slides turing-abr-2012
 
Explicando a máquina Enigma
Explicando a máquina EnigmaExplicando a máquina Enigma
Explicando a máquina Enigma
 
Teoria da Computação - Maquina de post
Teoria da Computação - Maquina de postTeoria da Computação - Maquina de post
Teoria da Computação - Maquina de post
 
Artigo sobre jogo da imitação deTuring
Artigo sobre jogo da imitação deTuring Artigo sobre jogo da imitação deTuring
Artigo sobre jogo da imitação deTuring
 
Quem foi Alan Turing?
Quem foi Alan Turing?Quem foi Alan Turing?
Quem foi Alan Turing?
 
Pesquisa operacional teoria dos grafos
Pesquisa operacional teoria dos grafosPesquisa operacional teoria dos grafos
Pesquisa operacional teoria dos grafos
 
Teoria da Computacao Cap 1
Teoria da Computacao Cap 1Teoria da Computacao Cap 1
Teoria da Computacao Cap 1
 
Aula 7 expressão regular
Aula 7   expressão regularAula 7   expressão regular
Aula 7 expressão regular
 
Classificacao tipografia
Classificacao tipografiaClassificacao tipografia
Classificacao tipografia
 
Máquinas de Turing
Máquinas de TuringMáquinas de Turing
Máquinas de Turing
 
Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da Computação
 

Similar a Aula 10 maquinade turing

Aula 11 automato finitocomsaida
Aula 11   automato finitocomsaidaAula 11   automato finitocomsaida
Aula 11 automato finitocomsaidawab030
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfEdkallenn Lima
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turingYuri Passos
 
algoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxalgoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxGustavoMaciel67
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma Rios
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturadoNaldo Falaschi
 
Programacão para não programadores
Programacão para não programadoresProgramacão para não programadores
Programacão para não programadoresMiguel Alho
 
Manual winplot
Manual winplotManual winplot
Manual winplotFranbfk
 
RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxClaudia Ferlin
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
 

Similar a Aula 10 maquinade turing (20)

Aula 11 automato finitocomsaida
Aula 11   automato finitocomsaidaAula 11   automato finitocomsaida
Aula 11 automato finitocomsaida
 
Maquinas de Turing Unesc
Maquinas de Turing UnescMaquinas de Turing Unesc
Maquinas de Turing Unesc
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula2
Aula2Aula2
Aula2
 
Cartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdfCartilha de Octave para Matematica Computacional.pdf
Cartilha de Octave para Matematica Computacional.pdf
 
Python
PythonPython
Python
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turing
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
algoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxalgoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptx
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Programação de computadores
Programação de computadoresProgramação de computadores
Programação de computadores
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 
Programacão para não programadores
Programacão para não programadoresProgramacão para não programadores
Programacão para não programadores
 
Aula02 - Lógica de Programação
Aula02 - Lógica de ProgramaçãoAula02 - Lógica de Programação
Aula02 - Lógica de Programação
 
03 algoritmos basicos
03 algoritmos basicos03 algoritmos basicos
03 algoritmos basicos
 
Manual winplot
Manual winplotManual winplot
Manual winplot
 
RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptx
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 

Más de wab030

Internet e Educação
Internet e EducaçãoInternet e Educação
Internet e Educaçãowab030
 
Programe ou seja programado
Programe ou seja programadoPrograme ou seja programado
Programe ou seja programadowab030
 
Internet e cidadania
 Internet e cidadania Internet e cidadania
Internet e cidadaniawab030
 
Internet, Cidadania e Educação
Internet, Cidadania e EducaçãoInternet, Cidadania e Educação
Internet, Cidadania e Educaçãowab030
 
Internet e redes sociais digitais como instrumento para os movimentos sociais
 Internet e redes sociais digitais como instrumento para os movimentos sociais Internet e redes sociais digitais como instrumento para os movimentos sociais
Internet e redes sociais digitais como instrumento para os movimentos sociaiswab030
 
A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...wab030
 
Hp0061
Hp0061Hp0061
Hp0061wab030
 
Internet e educação
Internet e educaçãoInternet e educação
Internet e educaçãowab030
 
Alimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdeAlimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdewab030
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redeswab030
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+bancowab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícioswab030
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009wab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Redewab030
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDPwab030
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redeswab030
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+bancowab030
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de redewab030
 

Más de wab030 (20)

Internet e Educação
Internet e EducaçãoInternet e Educação
Internet e Educação
 
Programe ou seja programado
Programe ou seja programadoPrograme ou seja programado
Programe ou seja programado
 
Internet e cidadania
 Internet e cidadania Internet e cidadania
Internet e cidadania
 
Internet, Cidadania e Educação
Internet, Cidadania e EducaçãoInternet, Cidadania e Educação
Internet, Cidadania e Educação
 
Internet e redes sociais digitais como instrumento para os movimentos sociais
 Internet e redes sociais digitais como instrumento para os movimentos sociais Internet e redes sociais digitais como instrumento para os movimentos sociais
Internet e redes sociais digitais como instrumento para os movimentos sociais
 
A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...
 
Hp0061
Hp0061Hp0061
Hp0061
 
Internet e educação
Internet e educaçãoInternet e educação
Internet e educação
 
Alimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdeAlimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúde
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redes
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+banco
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Rede
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDP
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redes
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+banco
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de rede
 

Último

Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...ArianeLima50
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxKtiaOliveira68
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 

Último (20)

Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptx
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdf
 

Aula 10 maquinade turing

  • 1. Curso: Ciência da Computação Turma: 6ª Série Teoria da Computação Aula 14 Máquina de Turing – Máquina de Post
  • 2. Planejamento ● Hoje tem entrega da ATPS. ● Combinar aula da próxima semana. ● Nossa avaliação é dia 29 de Novembro. ● Exercícios de Máquinas Universais.
  • 3. Máquina de Turing Foi proposta por Alan Turing em 1936 e é universalmente conhecida e aceita como formalização de algoritmo. Trata-se de um mecanismo simples que formaliza a ideia de uma pessoa que realiza cálculos. O modelo possui no mínimo, o mesmo poder computacional de qualquer computador de propósito geral. 3 Teoria da Computação
  • 4. Noção Intuitiva O ponto de partida de Turing foi analisar a situação na qual uma pessoa, equipada com um instrumento de escrita e um apagado, realiza cálculos numa folha de papel, organizada em quadrados. Inicialmente, suponha que a folha de papel contém somente os dados iniciais do problema. O trabalho da pessoa pode ser resumido em sequê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. 4 Teoria da Computação
  • 5. Noção Intuitiva Quando é encontrada alguma representação satisfatória para a resposta desejada, a pessoa termina seus cálculos. Hipóteses para o cálculos com a Máquina de Turing: ● A natureza bidimensional do papel não é um requerimento essencial para os cálculos. Pode ser assumido que o papel consiste de uma fita infinita organizada em quadrados; ● O conjunto de símbolos pode ser finito, pois se pode utilizar sequências de símbolos; ● O conjunto de estados da mente da pessoa durante o processo de cálculo é finito. Mais ainda, entre esses estados, existem dois em particular: “estado inicial” e “estado final”, correspondendo ao início e ao fim dos cálculos, respectivamente; ● O comportamento da pessoa a cada momento é determinado somente pelo seu estado presente e pelo símbolo para o qual sua atenção está voltada. ● A pessoa é capaz de observar e alterar o símbolo de apenas um quadrado de cada vez, bem como de transferir sua atenção somente para um dos quadrados adjacentes. 5 Teoria da Computação
  • 6. Máquina de Turing É constituída por três partes: (a) Fita. Usada simultaneamente como dispositivo de entrada, de saída e de memória do trabalho; (b) Unidade de Controle. Reflete o estado corrente da máquina. Possui uma unidade de leitura e gravação (cabeça da fita), a qual acessa uma célula da fita de cada vez e movimenta-se para a esquerda ou para a direita; (c) Programa ou Função de Transição. Função que define o estado da máquina e comanda as leituras, as gravações e o sentido de movimento da cabeça. 6 Teoria da Computação
  • 7. Fita e Unidade de Controle Branco Início da Fita Entrada Θ a b b b c a β β a b ... Fita Infinito Controle A unidade de controle possui um número pré-definido de estados. A cabeça da fita lê o símbolo de uma célula de cada vez e grava um novo símbolo. Após a leitura/gravação (a gravação é realizada na mesma célula de leitura), a cabeça move uma célula para a direita ou para a esquerda. O símbolo gravado e o sentido do movimento são definidos pelo programa. 7 Teoria da Computação
  • 8. Modelo Formal Uma Máquina de Turing é um 8-upla: M = (∑, Q, ∏, q0, F, V, β, Ö) onde: ∑: 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; ∏ : Qx( ∑ U V U {β, Ö}) → Qx( ∑ U V U {β, Ö}) x {E,d} a qual é 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; Ö: Marcador de início da fita. 8 Teoria da Computação
  • 9. Modelo Formal cont. O símbolo de início de fita ocorre exatamente uma vez e sempre na célula mais à esquerda da fita, auxiliando na identificação de que a cabeça da fita se encontra na célula mais à esquerda da fita. A função programa (função): considera para determinar estado corrente novo estado símbolo lido da fita símbolo a ser gravado sentido de movimente da cabeça, onde esquerda e direita são representados por E e D respectivamente Assim tem-se que: ∏ (estado corrente, símbolo lido) = (novo estado, símbolo gravado, sentido do movimento) ou seja suponha p, q є Q, au ,av є ( ∑ U V U {β, Ö}) e m є {E,D}): π (p, au) = (q, av, m) 9 Teoria da Computação
  • 10. Função Programa A função programa pode ser interpretada como um grafo finito direto: (au,av,m) p q sentido novo estado símbolo do estado corrente lido movimento símbolo gravado Adicionalmente, a função programa pode ser representada na forma de tabela. Como seria uma tabela para representar a função programa??? 5 minutos para pensar Teoria da Computação 10
  • 11. Tabela Função Programa π Ö ... au ... av ... β p (q,av,m) q 11 Teoria da Computação
  • 12. Máquina de Turing O processamento de uma Máquina de Turing M = (∑, Q, π, q0, F, β, Ö) para uma palavra de entrada w consiste na sucessiva aplicação da função programa a partir do estado inicial q0 e da cabeça posicionada na célula mais à esquerda da fita, até ocorrer uma condição de parada. O processamento de M para a entrada w pode parar ou ficar um loop infinito. A parada pode ser de duas maneiras: aceitando ou rejeitando a entrada w. As condições de parada são as seguintes: (a) Estado Final: A máquina assume um estado final: a máquina para e a palavra é aceita; (b) Função indefinida: A função programa é indefinida para o argumento (símbolo lido e estado corrente): a máquina pára e a palavra de entrada é rejeitada; (c) Movimento inválido: O argumento corrente da função programa define um movimento à esquerda e a cabeça da fita já se encontra na célula mais à esquerda: a máquina para e a palavra de entrada é rejeitada. 12 Teoria da Computação
  • 13. Máquina de Turing como Reconhecedores de Linguagens Uma das abordagens do estudo das Máquinas de Turing ou máquinas universais é como reconhecedores de linguagens, ou seja, dispositivos capazes de determinar se uma dada palavra sobre o alfabeto de entrada pertence ou não a uma certa linguagem. 13 Teoria da Computação
  • 14. Linguagem Aceita por uma Máquina de Turing Seja M = (∑, Q, ∏ , q0, F, β, Ö) uma máquina de Turing. Então: a) A Linguagem Aceita por M, denotada por ACEITA(M) ou L(M), é o conjunto de todas as palavras pertencentes a ∑* aceitas por M, ou seja: ACEITA(M) = {w | M ao processar w є ∑* pára em um estado q f є F} b) A Linguagem Rejeitada por M, denotada por REJEITA(M) é o conjunto de todas as palavras de ∑* rejeitadas por M, ou seja: REJEITA(M) = {w | M ao processar w є ∑* pára em um estado q não є F} c) A linguagem para qual M fica em loop infinito, denotada por LOOP(M), é o conjunto de todas as palavras de ∑* para as quais M fica processando indefinidamente. 14 Teoria da Computação
  • 15. Mais informações sobre Máquina de Turing e Reconhecimento de Linguagens ● ACEITA(M) U REJEITA(M) U LOOP(M) = ∑* ● ACEITA(M) ∩ REJEITA(m) = Ø ● ACEITA(M) ∩ LOOP(M) = Ø ● REJEITA(M) ∩ LOOP(M) = Ø e, portanto: ● ACEITA(M) ∩ REJEITA(M) ∩ LOOOP(M) = Ø Consequentemente, o complemento de: ● ACEITA(M) é REJEITA(M) U LOOP(M) ● REJEITA(M) é ACEITA(M) U LOOP(M) ● LOOP(M) é ACEITA(M) U REJEITA(M) ou seja, uma Máquina de Turing como reconhecedor particiona o conjunto de palavras sobre o alfabeto ∑ em classes de equivalência. 15 Teoria da Computação
  • 16. Máquina de Turing – Duplo Balanceamento Considere a linguagem: Duplo_Bal = {anbn | n>=0} Quais são as palavras aceitas por essa linguagem??? A Máquina de Turing: MT_Duplo_Bal = ({a,b}, {q0,q1,q2,q3,q4}, ∏, q0 , {q4}, {A,B}, β, Ö} é tal que: ACEITA(MT_Duplo_Bal) = Duplo_Bal REJEITA(MT_Duplo_Bal) = ∑* - Duplo_Bal E, portanto, LOOP(MT_Duplo_Bal) = Ø ---------------------------------------------------------------------------------------- O algoritmo apresentado reconhece o primeito símbolo a, o qual é marcado como A, e movimenta a cabeça da fita à direita, procurando o b correspondente, o qual é marcado como B. Este ciclo é repetido sucessivamente até identificar para cada a o seu correspondente b. Adicionalmente, o algoritmo garante que qualquer outra palavra que não 16 esteja na forma a b é rejeitada.Note-se que o símbolo de início da fita n n Teoria da Computação
  • 17. Máquina de Turing – Duplo Balanceamento O algoritmo apresentado reconhece o primeiro símbolo a, o qual é marcado como A, e movimenta a cabeça da fita à direita, procurando o b correspondente, o qual é marcado como B. Este ciclo é repetido sucessivamente até identificar para cada a o seu correspondente b. Adicionalmente, o algoritmo garante que qualquer outra palavra que não esteja na forma anbn é rejeitada.Note-se que o símbolo de início da fita não tem influência na solução proposta. 17 Teoria da Computação
  • 19. Sequência de Processamento da Máquina de Turing para a Sequência aabb 19 Teoria da Computação
  • 20. Máquina de Turing – Duplo Balanceamento Essa linguagem é um exemplo clássico e de fundamental importância no estudo das linguagens, por permite estabelecer analogia com linguagens que possuem duplo balanceamento como, por exemplo: a.Linguagens bloco-estruturadas do tipo BEGINnENDn, com a linguagem de programação Pascal; b. Linguagem com parênteses balanceados na forma (n)n , como as expressões aritméticas, presentes na maioria das linguagens de programação. 20 Teoria da Computação
  • 21. Exercício Considere a Máquina de Turing vista em aula. Verifique qual o estado final após a computação para as seguintes palavras: ab aba aaba aaabbb 21 Teoria da Computação
  • 22. Máquina de Post Assim como Turing, Emil Leon Post propôs, também em 1936, um modelo de Máquina Universal denominado Máquina de Post. Uma máquina de Post consiste, basicamente, de duas partes: a) Variável X. Trata-se de uma variável do tipo fila e é utilizada como entrada, saída e memória de trabalho. b) Programa. É uma sequência finita de instruções, representado como um diagrama de fluxos (espécie de fluxograma), onde cada vértice é uma instrução. As instruções pode ser de quatro tipos: Partida Parada Desvio Atribuição A variável X não possui tamanho nem limites fixos. Seu comprimento é igual ao comprimento da palavra correspondente armazenada. Os símbolos podem pertencer ao alfabeto de entrada ou a {#}. único símbolo auxiliar. Inicialmente, o valor de X é a palavra de entrada. Caso X não contenha símbolos, a entrada é vazia representada por ε. 22 Teoria da Computação
  • 23. Definição da Máquina de Post Uma máquina de Post é uma tripla: M={ ∑, D, #} Onde: ∑ alfabeto de símbolos de entrada; D programa ou diagrama de fluxos construído a partir de componentes elementares denominados partida, parada, desvio e atribuição; # símbolo auxiliar. 23 Teoria da Computação
  • 24. Definição da Máquina de Post As componentes elementares de um diagrama de fluxos são como segue: a) Partida. Existe somente uma instrução de início (partida) em um partida programa. b) Parada. Existem duas alternativas de instruções de parada em um programa, uma de aceitação (aceita) e outra de rejeição (rejeita), representadas como ilustrado ao lado. aceita rejeita c) Desvio ou teste. Determina o fluxo de programa de acordo com o símbolo mais à esquerda da palavra armazenada na variável X (início da fila). Também deve ser prevista a possibilidade de X conter a palavra vazia. Portanto é um desvio condicional, e trata-se de uma função total, ou seja, definida para todos os valores do domínio. Assim, se o cardinal de ∑ é n, então existem n+2 arestas de desvios condicionais, pois se deve incluir as possibilidades de # e ε, como ilustrado na figura ao lado, onde X ← ler(X) denota uma leitura destrutiva ou seja, que lê o simbolo mais à esquerda da palavra, retirando da mesma o símbolo lido. d) Atribuição. Concatena o símbolo indicado (pertencente a ∑ U {#}) à direita da palavra armazenada na variável X (fim X ← Xs da fila). A operação de atribuição é representada com ilustrado ao lado. 24 Teoria da Computação
  • 25. Máquina de Post Em um diagrama de fluxos, existe somente uma instrução de partida, mas podem existir diversas (zero ou mais) instruções de parada, tanto de aceitação como de rejeição. Uma palavra de entrada é aceitada ou rejeitada, se a computação, iniciada com a variável X, contendo a entrada, atingir uma instrução aceita ou rejeita, respectivamente. Note-se que é perfeitamente possível uma Máquina de Post ficar em loop infinito. Em um desvio, se X contém a palavra vazia ε, então segue o fluxo correspondente. Caso contrário, lê o símbolo mais à esquerda da palavra X e o remove após a decisão de qual aresta do fluxo indica a próxima instrução. 25 Teoria da Computação
  • 26. Exemplo da Máquina de Post – Duplo Balanceamento Considere a seguinte linguagem já discutida nessa aula: Duplo_Bal = {anbn | n>= 0} A Máquina de Post: Post_Duplo_Bal = ({a,b}, D, #) Onde D, como ilustrado no próximo slide, é tal que: ACEITA(Post_Duplo_Bal) = Duplo_Bal REJEITA(Post_Duplo_Bal) = ∑* - Duplo_Bal E, potanto, LOOP(Post_Duplo_Bal) = Ø 26 Teoria da Computação
  • 27. Exemplo da Máquina de Post – Duplo Balanceamento O algoritmo lê e remove o primeiro símbolo a. Apoś, realiza uma varredura circular em busca do correspondente b. Esta varredura é realizada através de sucessivas leitura (remoções), armazenando o símbolo lido à direita de X. Ao encontrar o b, este é removido, e uma nova varredura circular é realizada até o fim da palavra de entrada (identificado pelo símbolo auxiliar #, atribuído a X no início do processamento). Este ciclo é repetido até restar a palavra vazia ou ocorrer alguma condição de rejeição. 27 Teoria da Computação
  • 29. Aplicar a Máquina de Post do Algoritmo Anterior para: ● aabb ● ab ● abb 29 Teoria da Computação
  • 30. Exercícios 1. Elabore uma Máquina de Turing M sobre o alfabeto {a,b} tal que: ACEITA(M) = {w | w inicia com a e, após cada, existe pelo menos um b} LOOP(M) = {w | w não є ACEITA(MP) e existe pelo menos um b entre dois a} REJEITA(M) = {a,b}* - (ACEITA(M) U LOOP(M)) Por exemplo: ab, abbab є ACEITA(MP) b, aba, abbaba є REJEITA(MP) 2. Compare o algoritmo da Máquina de Turing com o da Máquina de Post para Duplo_Bal. Qual você acha que é mais eficiente. Teça seus comentários a respeito dos dois algoritmos. 3, Elabore uma Máquina de Post sobre o alfabeto {a,b} tal que: ACEITA(P) = {ANBN | m>n>=0} REJEITA(P) = {a,b}* - ACEITA(P) 30 Teoria da Computação