You are on page 1of 14

REPUBLICA BOLIVARIANA DE VENEZUELA

UNIVERSIDAD PEDAGÓGICA EXPERIMENTAL LIBERTADOR

INSTITUTO PEDAGÓGICO RURAL ¨GERVASIO RUBIO¨.

SIMULACIONES 2

Autores: .
Gómez S. Wendy R. .
C.I V 17811339. .

Castañeda G. Jair. .
C.I V 19034798. .
IV Semestre. .
Matemática Discreta. .
Prof.: Ing. Damarys Punguta. .
Especialidad: Informática. .

Rubio marzo de 2011


1) Diseño de un autómata de pila (AP) que acepta un lenguaje
L=(an,bn|n>0).

Diseño de un autómata de pila (AP) que acepta un lenguaje


L=(an,bn|n>0).

pdautomaton pila{
states q0,q1,q2,q3,q4,q5;
alphabet a,b,x,$;
stack A,B,x,$;
initial q0;
stackinitial $;
final q5;
transition{
q0,$,($)=q1,(x);
q1,a,(x)=q2,(A,x);
q2,a,(A)=q2,(A,A);
q2,b,(A)=q3,(B,A);
q3,b,(B)=q3,(B,B);
q3,$,(B)=q4,(B);
q4,a,(A)=q4,($);
q4,b,(B)=q4,($);
q4,x,(x)=q5,($);
}
}
print(pila);
gram=PDAtoCFG(pila);
visualrecognize(pila, $ a a b b $ b b a a x);
Producciones
Automáticamente
S -> pi*X0*q0
S -> pi*X0*q1
S -> pi*X0*q2
S -> pi*X0*q3
S -> pi*X0*q4
S -> pi*X0*q5
S -> pi*X0*pi
S -> pi*X0*p
q0*$*q0 -> $
q1*$*q1 -> $
q2*$*q2 -> $
q3*$*q3 -> $
q4*$*q4 -> $
q5*$*q5 -> $
pi*$*pi -> $
p*$*p -> $

Gramatica: pila
Terminales: a, b, x,
S, q0*$*q0, q1*$*q1, q2*$*q2, q3*$*q3, q4*$*q4, q5*$*q5, pi*$*pi, p*$*p, q0*A*q0, q0*A*q1, q0*A*q2, q0*A*q3, q0*A*q4, q0*A*q5,
q0*A*pi, q0*A*p, q0*B*q0, q0*B*q1, q0*B*q2, q0*B*q3, q0*B*q4, q0*B*q5, q0*B*pi, q0*B*p, q0*x*q0, q0*x*q1, q0*x*q2, q0*x*q3,
q0*x*q4, q0*x*q5, q0*x*pi, q0*x*p, q0*$*q1, q0*$*q2, q0*$*q3, q0*$*q4, q0*$*q5, q0*$*pi, q0*$*p, q0*X0*q0, q0*X0*q1, q0*X0*q2,
q0*X0*q3, q0*X0*q4, q0*X0*q5, q0*X0*pi, q0*X0*p, q1*x*q0, q1*x*q1, q1*x*q2, q1*x*q3, q1*x*q4, q1*x*q5, q1*x*pi, q1*x*p,
q2*A*q0, q2*A*q1, q2*A*q2, q2*A*q3, q2*A*q4, q2*A*q5, q2*A*pi, q2*A*p, q3*B*q0, q3*B*q1, q3*B*q2, q3*B*q3, q3*B*q4,
q3*B*q5, q3*B*pi, q3*B*p, q4*A*q0, q4*A*q1, q4*A*q2, q4*A*q3, q4*A*q4, q4*A*q5, q4*A*pi, q4*A*p, q4*B*q0, q4*B*q1, q4*B*q2,
No Terminales:
q4*B*q3, q4*B*q4, q4*B*q5, q4*B*pi, q4*B*p, q4*x*q0, q4*x*q1, q4*x*q2, q4*x*q3, q4*x*q4, q4*x*q5, q4*x*pi, q4*x*p, q5*A*q0,
q5*A*q1, q5*A*q2, q5*A*q3, q5*A*q4, q5*A*q5, q5*A*pi, q5*A*p, q5*B*q0, q5*B*q1, q5*B*q2, q5*B*q3, q5*B*q4, q5*B*q5, q5*B*pi,
q5*B*p, q5*x*q0, q5*x*q1, q5*x*q2, q5*x*q3, q5*x*q4, q5*x*q5, q5*x*pi, q5*x*p, q5*X0*q0, q5*X0*q1, q5*X0*q2, q5*X0*q3,
q5*X0*q4, q5*X0*q5, q5*X0*pi, q5*X0*p, pi*X0*q0, pi*X0*q1, pi*X0*q2, pi*X0*q3, pi*X0*q4, pi*X0*q5, pi*X0*pi, pi*X0*p, p*A*q0,
p*A*q1, p*A*q2, p*A*q3, p*A*q4, p*A*q5, p*A*pi, p*A*p, p*B*q0, p*B*q1, p*B*q2, p*B*q3, p*B*q4, p*B*q5, p*B*pi, p*B*p, p*x*q0,
p*x*q1, p*x*q2, p*x*q3, p*x*q4, p*x*q5, p*x*pi, p*x*p, p*X0*q0, p*X0*q1, p*X0*q2, p*X0*q3, p*X0*q4, p*X0*q5, p*X0*pi, p*X0*p,
Símbolo Inicial: S
Producciones:

 S ---> pi*X0*q0
 S ---> pi*X0*q1
 S ---> pi*X0*q2
 S ---> pi*X0*q3
 S ---> pi*X0*q4
 S ---> pi*X0*q5
 S ---> pi*X0*pi
 S ---> pi*X0*p
 q0*$*q0 ---> $
 q1*$*q1 ---> $
 q2*$*q2 ---> $
 q3*$*q3 ---> $
 q4*$*q4 ---> $
 q5*$*q5 ---> $
 pi*$*pi ---> $
 p*$*p ---> $
 q0*A*q0 ---> q1*x*q0 q0*A*q0
 q0*A*q0 ---> q1*x*q1 q1*A*q0
 q0*A*q0 ---> q1*x*q2 q2*A*q0
 q0*A*q0 ---> q1*x*q3 q3*A*q0
 q0*A*q0 ---> q1*x*q4 q4*A*q0
 q0*A*q0 ---> q1*x*q5 q5*A*q0
2) Diseño de un AFND que acepte un lenguaje (a, b) donde contenga la
subcadena (abaaba) en todas sus palabras aceptadas.

automaton AFND{

states q0,q1,q2,q3,q4,q5,q6;

alphabet a,b;

initial q0;

final q6;

transition{

q0,a=q0; q2,a=q0; q4,a=q0; q6,a=q6;

q0,b=q0; q2,b=q0; q4,b=q0; q6,b=q6;

q0,a=q1; q2,a=q3; q4,b=q5; q6,a=q0;

q1,a=q0; q3,a=q0; q5,a=q0; q6,b=q0;

q1,b=q0; q3,b=q0; q5,b=q0;

q1,b=q2; q3,a=q4; q5,a=q6;


}

print(AFND);

exp=FAtoRE(AFND);

print (exp);
Expresión Regular: exp
(((a|b|(aa)|(ab)|(aba)|(abb)|(abaa)|(abab)|(abaaa)|(abaab)|(abaaba)|(abaabb))*)aba
aba((a|b|(a((a|b|(aa)|(ab)|(aba)|(abb)|(abaa)|(abab)|(abaaa)|(abaab)|(abaaba)|(aba
abb))*)abaaba)|(b((a|b|(aa)|(ab)|(aba)|(abb)|(abaa)|(abab)|(abaaa)|(abaab)|(abaab
a)|(abaabb))*)abaaba))*))
3) Máquina de Turing (MT) con símbolo de cinta {1,0} que busque en la cinta el patrón {101} y
también donde se encuentre un patrón donde el símbolo final sea diferente a su símbolo
final y se detenga si y solo si se encuentra ese patrón.

=q1, q2, q3, q4, q5, q6, q7, q8;

=1, 0;

=1, 0;

S=q0;

b=□;

F=q8;

-q0, □  q0, □ {R}

-q0, □  q1, 1 {R}

-q0, 0  q5, 0 {R}

-q1, □  q1, □ {R}

-q1, 1  q1, 1 {R}

-q1, 0  q2, 0 {R}

-q2, □  q2, □ {R}

-q2, 1  q3, 1 {R}

-q2, 0  q9, 0 {R}

-q3, □  q3, □ {R}

-q3, 1  q3, 1 {R}

-q3, 0  q4, 0 {R}

-q4, □  q8, □ {R}

-q5, □  q5, □ {R}

-q5, 1  q6, 1 {R}


-q5, 0  q5, 0 {R}

-q6, □  q6, □ {R}

-q6, 1  q6, 1 {R}

-q6, 0  q7, 0 {R}

-q7, □  q7, □ {R}

-q7, 1  q4, 1 {R}

-q7, 0  q5, 0 {R}.


4) Máquina de Turing (MT) con símbolos de cinta {a, b, c} que busque en la cinta el lenguaje
L= {an, bn, cn| n>1} y que {a} sea par y que se detenga si y solo si encuentra ese lenguaje y esa
condición.

=q0, q1, q2, q3, q4, q5, q6, q7;

=a, b, c;

=a, b, c;

S=q0;

b=□;

F=q7;

-Q0 □, q0, □ {R}

-Q0 a,  q1, a {R}

-q0 b,  q0, b {R}

-q0 c,  q0, c {R}

-q1 a,  q2, a {R}

-q1 b,  q1, b {R}

-q1 c,  q1, c {R}

-q2 a,  q1, a {R}

-q2 b,  q3, b {R}

-q2 c,  q2, c {R}

-q3, a  q1, a {R}

-q3, b  q4, b {R}

-q3, c  q3, c {R}

-q4, a  q1, a {R}

-q4, b  q4, b {R}


-q4, c  q5, c {R}

-q5, a  q1, a {R}

-q5, b  q5, b {R}

-q6, a  q1, a {R}

-q6, b  q6, b {R}

-q6, c  q6, c {R}

-q6, □  q7, □ {R}


5) Máquina de Turing (MT) con símbolos de cinta {a, b} que busca un patrón {b} que se repite
número de veces impares de veces 0 que {a} se repite numero par de veces, pero no ambas
y se detiene si y solo si encuentra uno de estos dos patrón.

=q0, q1, q2, q3, q4;

=a, b;

=a, b;

S=q0;

b=□;

F=q3;

-qo, bq1, b {R}.

-qo, aq2, a {R}.

-q1, □ q3, □ {R}.

-q1, b  q0, b {R}.

-q2, a  q4, a {R}.

-q4, □  q3, □ {R}.

-q4, a  q2, a {R}.

You might also like