Você está na página 1de 6

UNIVERSIDADE ESTADUAL DE MARING UEM

CENTRO DE TECNOLOGIA CTC


DEPARTAMENTO DE INFORMTICA DIN
BACHARELADO EM INFORMTICA
DISCIPLINA: LINGUAGENS FORMAIS E AUTMATOS
PROFESSOR: YANDRE MALDONADO E GOMES DA COSTA

Lista de Exerccios no 8 Mquina de Turing

1) Construa Mquinas de Turing determinsticas transdutoras com as seguintes


caractersticas:

a) Receba como entrada uma seqncia binria e produza como resultado o


valor binrio multiplicado por 4;

(0,0,D) (0,0,E)
(1,1,D) (1,1,E)
(,0,D) (,0,E) (, ,D)
S0 S1 S2 Sf

b) Receba como entrada uma seqncia binria e produza como resultado o


valor binrio incrementado em uma unidade;
(0,0,E)
(0,0,D) (1,1,E)
(1,1,D) (
,
,E) (0,1,E)

(,,D)
incio soma retorno sada

(1,0,E) (0,1,E)

vai um
(,,D)

(1,0,E)

(0,1,D)
estouro
(
,0,E)
avana

(0,0,D)
2) Descreva o resultado do processamento da cadeia 111 pela MT construda no
item b do exerccio nmero 2.

incio

1 1 1 ...
incio

1 1 1 ...
incio

1 1 1 ...
incio

1 1 1 ...
soma

1 1 1 ...
vai um

1 1 0 ...
vai um

1 0 0 ...
vai um

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};

, Q, , S0, F, V, , ), onde:
M = (

= {a, b}
Q = {S0, S1, S2, S3, S4}
S0 = estado inicial
F = {S4}
V = {A, B}
= smbolo branco
= smbolo de incio da fita
= funo programa, conforme tabela abaixo:

Tabela de transies:
a b A B
S0 - (S1,A,D) (S3,B,D) (S0,A,D) (S0,B,D) (S4,,E)
S1 - (S1,a,D) (S2,B,E) (S1,A,D) (S1,B,D) -
S2 (S0,,D) (S2,a,E) (S2,b,E) (S2,A,E) (S2,B,E) -
S3 - (S2,A,E) (S3,b,D) (S3,A,D) (S3,B,D) -
S4 - - - - - -
Diagrama de transies:
(B,B,E)
(B,B,D) (A,A,E)
(A,A,D) (b,b,E)
(,,D)
(a,a,E)

(a,A,D) (b,B,E)
S0 S1 S2

(B,B,D)
(,,E) (A,A,D)
(a,a,D)
(b,B,D) (a,A,E)
S4

(b,b,D)
S3 (A,A,D)
(B,B,D)

b) {ww | w {a, b}*};


(a,a,D)
(b,b,D) (A,A,E)
(a,A,D) (B,B,E)
(b,B,D) (
,
,E)

S0 S1 S2
(a,A,E)
(A,A,E) (b,B,E)
(B,B,E)
(
,
,E)
(A,A,D) (a,a,E)
S3
(B,B,D) (b,b,E)
(A,a,E)
S4
(B,b,E) Sf
(a,a,D)
(b,b,D)
(,,D)
(X,X,D)
S7
(X,X,D) (a,A,D) (A,X,E)
(a,a,E)
S5 (A,A,D) S8 (b,b,E)
(B,B,D) (X,X,E)

(b,B,D) (B,X,E)
(a,a,D)
S6 (b,b,D)
(X,X,D)
c) {anbn | n0};
(a,a,D) (a,a,E)
(B,B,D) (B,B,E)

(a,A,D) (b,B,E)

S0 S1 S2
(A,A,D)
(B,B,D)
(
,
,E)

(
,
,E) (,,D)

S4 S3 Sf

(B,B,D) (B,B,E)
(A,A,E)

d) {anbncn | n0}.
(a,a,E)
(B,B,E)
(a,a,D) (b,b,D) (b,b,E)
(B,B,D) (C,C,D) (C,C,E)

(a,A,D) (b,B,D) (c,C,E)

S0 S1 S2 S3

(B,B,D) (A,A,D)
(
,
,E)

(
,
,E) (,,D)

S5 S4 Sf

(B,B,D) (C,C,E)
(C,C,D) (B,B,E)
(A,A,E)

4) 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?
- 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.