( , ,D) ( , ,D) (0,0,D) (0,1,D) ( ,0,E) 2) Descreva o resultado do processamento da cadeia 111 pela MT construda no item b do exerccio nmero 1.
incio
1 1 1 ... incio
1 1 1 ... incio
1 1 1 ... incio
1 1 1 ... soma
1 1 1 ... soma
1 1 0 ... soma
1 0 0 ... soma
0 0 0 ... estouro
0 0 0 ... avana
1 0 0 ... avana
1 0 0 ... avana
1 0 0 ... retorno
1 0 0 0 ... retorno
1 0 0 0 ... retorno
1 0 0 0 ... retorno
1 0 0 0 ... sada
1 0 0 0 ...
3) Construa Mquinas de Turing determinsticas reconhecedoras para as seguintes linguagens:
a) {w {a, b} * | |w| a =|w| b };
M = ( , Q, , S 0 , F, V, , ), onde:
= {a, b} Q = {S 0 , S 1 , S 2 , S 3 , S 4 } S 0 = estado inicial F = {S 4 } V = {A, B} = smbolo branco = smbolo de incio da fita = funo programa, conforme tabela abaixo:
Tabela de transies: a b A B S 0 - (S 1 ,A,D) (S 3 ,B,D) (S 0 ,A,D) (S 0 ,B,D) (S 4 ,,E) S 1 - (S 1 ,a,D) (S 2 ,B,E) (S 1 ,A,D) (S 1 ,B,D) - S 2 (S 0 ,,D) (S 2 ,a,E) (S 2 ,b,E) (S 2 ,A,E) (S 2 ,B,E) - S 3 - (S 2 ,A,E) (S 3 ,b,D) (S 3 ,A,D) (S 3 ,B,D) - S 4 - - - - - -
4) Qual a diferena fundamental entre as Classes das Linguagens Recursivas e das Linguagens Enumerveis Recursivamente? Qual a importncia de se distinguir estas duas classes?
A classe das Linguagens Recursivas uma subclasse das Linguagens Enumerveis Recursivamente. Nas Linguagens Enumerveis Recursivamente pode-se enumerar S 0
S 1 S 2
S f
( , ,E) (B,B,D) (a,a,E) (B,B,E)
( , ,D) S 3
S 4
(B,B,E) (A,A,E)
( , ,E) (B,B,D) (a,A,D) (A,A,D) (a,a,D) (B,B,D)
(b,B,E) S 0
S 1 S 2
S f
( , ,E) (B,B,D) (b,b,D) (C,C,D)
( , ,D) S 4
S 5
(C,C,E) (B,B,E) (A,A,E)
( , ,E) (B,B,D) (C,C,D) (a,A,D) (a,a,D) (B,B,D)
(b,B,D) S 3
(a,a,E) (B,B,E) (b,b,E) (C,C,E)
(A,A,D) (c,C,E) todas as suas palavras. Esta classe inclui todas as linguagens que podem ser reconhecidas mecanicamente pela Mquina de Turing ou algum formalismo equivalente. Dentre estas linguagens existem algumas em que no se consegue determinar mecanicamente se uma palavra no pertence linguagem. Nestes casos existe pelo menos uma palavra na linguagem que ao ser processada coloca a mquina em looping infinito. Assim, foi criada a subclasse das Linguagens Recursivas, para as quais existe um reconhecimento mecnico que sempre pra, para qualquer entrada, aceitando-a ou rejeitando-a.
5) Fale sobre a importncia da Teoria da Computao para a Cincia da Computao.
Um importante papel da Teoria da Computao na formao de um Cientista da Computao ajudar a entender o que computao e todos os elementos envolvidos neste contexto - entre eles podemos ressaltar programas, mquinas e os limites computacionais.
O estudo de Teoria da Computao justifica-se pela necessidade de se estabelecer que problemas so solucionveis e que problemas so computveis. De outra forma podemos dizer que estuda-se os limites da computabilidade, ou seja, quais problemas podem ser resolvidos com um computador. Esta verificao importante a fim de se evitar, por exemplo, que sejam despendidos esforos em busca da soluo de problemas que no tm soluo. A Mquina de Turing, enquanto modelo que define os limites computacionais, muito importante neste contexto.
Assim sendo, algumas das questes muito importantes que o conhecimento contido nesta disciplina ajuda a responder so: - Existe programa para solucionar um determinado problema? - De que forma um programa pode ser especificado? - Dado um programa qualquer, ele sempre tem parada garantida? - Dois programas A e B so equivalentes entre si? - Duas mquinas X e Y so equivalentes entre si? Linguagem Enumervel Recursivamente Linguagem Recursiva - Uma determinada soluo a melhor soluo para um determinado problema? - Qual o significado de um determinado programa? - Como construir um programa correto?
Alm disso, a Teoria da Computao favorece o desenvolvimento do raciocnio lgico e formal, e traz tambm conceitos fundamentais para algumas subreas da computao, como: - Representao de linguagens: mecanismos de reconhecimento e gerao de linguagens. Importante para o desenvolvimento de compiladores e de forma mais geral para o estudo de Linguagens de Programao; - Processamento de funes: importante para a resoluo de problemas e otimizao de programas; - O conceito de no determinismo (no seqencial) e sua relao com o conceito de concorrncia.