Semelhante a um autômato finito mas com uma memória ilimitada e irrestrita, uma máquina de Turing é um modelo muito mais preciso de um computador de propósito geral. Uma máquina de Turing pode fazer tudo o que um computador real pode fazer, entretanto mesmo ela não pode resolver certos problemas. Num sentido muito real, esses problemas estão além dos limites teóricos da computação.
Considere a seguinte máquina de Turing M que aceita apenas números binários palíndromos cujo comprimento é par:
Considerando que o estado inicial de M é $q0$, que a sua fita se encontra inicializada com a entrada $110011$ e infinitos símbolos $B$ à esquerda e à direita, e que a cabeça de leitura encontra-se inicialmente no símbolo mais à esquerda da entrada, avalie as afirmações a seguir.
Quais afirmações são corretas?
Corrija as afirmações falsas.
Dado o alfabeto $\Sigma = \{(,),0,1,2,3,4,5,6,7,8,9,+,-\}$ e uma linguagem $L$ definida sobre esse alfabeto, $L=\{w|w\in\Sigma^{*}, \text{para cada ocorrência de ‘(‘ em w, existe uma ocorrência de ‘)’}\}$.
Com relação a linguagem $L$, avalia as asserções a seguir e a relação proposta entre elas.
PORQUE
A respeito dessas asserçỗes, assinale a opção correta.
estado | símbolo lido na fita | símbolo gravado na fita | direção | próximo estado |
---|---|---|---|---|
início | ! | ! | direita | 0 |
0 | 0 | 1 | direita | 0 |
0 | 1 | 0 | direita | 0 |
0 | - | - | esquerda | 1 |
1 | 0 | 0 | esquerda | 1 |
1 | 1 | 1 | esquerda | 1 |
1 | ! | ! | direita | parada |
Na tabela acima, estão descritas as ações correspondentes a cada
um dos quatro estados (início, 0, 1, parada) de uma máquina de
Turing, que começa a operar no estado início
processando
símbolos do alfabeto $\Sigma={0,1,!, -}$, em que “!” representa o início da fita e, “$-$” representa o espaço
em branco. Considere que, no estado início
, a fita a ser
processada esteja com a cabeça de leitura/gravação na posição 1,
conforme ilustrado a seguir.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | … |
! | 0 | 1 | 1 | 0 | 1 | - | - | - | - | - | … |
Considerando essa situação, qual o conteúdo da fita (12 primeiras posições) após a máquina atingir o estado de parada
.
! 1 0 0 1 0 - - - - - -
Qualquer expressão aritmética binária pode ser convertida em uma expressão totalmente parentizada, bastando reescrever cada subexpressão binária $a \otimes b$ como $(a \otimes b)$, em que $\otimes$ denota um operador binário. Expressões nesse formato podem ser definidas por regras de uma gramática livre de contexto, conforme apresentado a seguir. Nessa gramática, os símbolos não-terminais $E$, $S$, $O$ e $L$ representam expressões, subexpressões, operadores e literais, respectivamente, e os demais símbolos das regras são terminais.
\[\begin{align} E \rightarrow & \: ( S O S ) \\ S \rightarrow & \: L | E \\ O \rightarrow & \: + | - | \times | \div \\ L \rightarrow & \: a | b | c | d | e \\ \end{align}\]Tendo como referência as informações acima, faça o que se pede a seguir:
Nota: Difícil, mas boa para testar o conhecimento aprofundado dessa disciplina.
Seja BAL
AFD
= { $\langle$ M \rangle | M$ é um AFD que aceita alguma cadeia que contém o mesmo número de 0 e 1 }. Mostre que BAL
AFD
é decidível. (Dica os teoremas de Linguages Livres de Contexto são úteis aqui.)
A linguagem de todas as cadeias com igam número de0
s e1
s é uma linguagem livre de contexto, gerada pela gramática $S \rightarrow 1S0S | 0S1S | \varepsilon$. SejaP
o autômato de pilha (AP) que reconece essa linguagem, construa uma MTB
paraBALAFD
, que opera da seguinte forma: Sobre a entrada $\langle B \rangle$, ondeB
é um AFD, useB
eP
para construir um novo APR
que reconheça a intersecção das linguagens deB
eP
. Então, teste se a linguagem deR
é vazia. Se sua linguagem for vazia, rejeite, caso contrário, aceite.