You are on page 1of 57

TEORIA DE

LENGUAJES

FISI- Daniel Quinto Pazce- M. Discreta


Daniel A. Quinto Pazce Semestre 2017 - 1

Matemática Discreta
1
FISI- Daniel Quinto Pazce- M. Discreta
2
GRAMATICA
VOCABULARIO
Conjunto de símbolos terminales, y no terminales,
Sirve para generar reglas de producción.
V= VN U VT

FISI- Daniel Quinto Pazce- M. Discreta


VN ∩ VT = Ø,

VN ={ <A>, <B>, <C>,….,<S>,….<Z>}


VT ={a, b, c, …., z, 0, 1, +, -, *, /, cero, uno}
V*=(VN U VT )* contiene cadena vacía
V+={VN U VT }+ no contiene cadena vacía

V V  Є = vacio S  VN
3
ALFABETO
Conjunto de símbolos terminales para generar
elementos de un lenguaje, L (G), o gramática

FISI- Daniel Quinto Pazce- M. Discreta


L (G) = {an bm / n>0; m>0}
Dado an bm se tiene:
a b
aaa b L(G) ={ab, aaab, abbb, aaabbb,…}
a bbb
aaa bbb

4
CONCATENACIÓN DE CADENAS
A1 = A0 A
A2 = A1 A
A3 = A2 A

FISI- Daniel Quinto Pazce- M. Discreta


.
.
.
Ak = Ak-1 A
A1 U A2 U A3 U …U Ak = A0 A A1 A …=cadena

Sea C = C 1 U C 2 U … U Cn
C1 = abb<A>
C2 = bbcc<A><B>
C = C 1 U C2  C = abb<A> bbcc<A><B> 5
CADENA
SECUENCIA FINITA DE SIMBOLOS TERMINALES DEL
LENGUAJE: Ejemplo, dada la cadena

FISI- Daniel Quinto Pazce- M. Discreta


C= bbccaabbcccddaabbcc

LONGITUD DE UNA CADENA


Es el número de símbolos que componen una
cadena.

L( C ) = 19
6
GRAMATICA DE CHOMSKY
CLASIFICACION DE LA GRAMATICA SEGÚN NOAM CHOMSKY
(1928-filadelfia), PROPUSO LA TERIA DE GRAMATICA 1956

TIPO GRAMATICA REGLAS

FISI- Daniel Quinto Pazce- M. Discreta


T0 Con estructura de <frase>  <frase><frase>
frase sin
restricciones
T1 SENSIBLE DEL
CONTEXTO

T2 LIBRE DEL
CONTEXTO

T3 REGULAR DE <A>  a<B>


7
KLENNE <B>  a / A,B ε VN , a ε Vt
GRAMATICA DE CHOMSKY

FISI- Daniel Quinto Pazce- M. Discreta


Tipo 0

Tipo 1

Tipo 2

Tipo 3

8
T0 Gramática con estructura de frase sin Rest.
P:
1. <oración>  <sujeto><predicado>
2. <sujeto>  <artículo><sustantivo><adjetivo>
3. <predicado>  <verbo><adverbio>
<articulo>  <el>

FISI- Daniel Quinto Pazce- M. Discreta


4.

5. <sustantivo>  <alumno>
6. <adjetivo>  <decepcionado>
7. <verbo>  <toma>
8. <adverbio>  <mucho>
ARBOL: <oración>

<sujeto> <predicado>

<articulo> <sustantivo> <adjetivo> <verbo> <adverbio>


9
<el> <alumno> <decepcionado> <toma> <mucho>
T1 GRAMATICA SENSIBLE AL CONTEXTO

P: Conjunto de reglas de producción:

FISI- Daniel Quinto Pazce- M. Discreta


1. <A> <B>  <A> <C> <B>
2. <A>  a<A><B><C>
3. <A>  ab<C>
4. <C><B>  <B><C>
5. b<B>  bb
6. b<C>  bc
7. c<C>  cc
10
T2.-Gramática libre al contexto
P: Conjunto de reglas de producción:
1. <A>  ab<A><B>
2. <A>  ab<A>

FISI- Daniel Quinto Pazce- M. Discreta


3. <B>  cd<B>
4. <A>  a
5. <B>  b

ab cd
ab

A B

a b
11
T
T3 G: REGULAR DE KLENNE
P:

FISI- Daniel Quinto Pazce- M. Discreta


1. <S>  a<A>
2. <S>  b<A>
3. <A>  a<B>
4. <A>  b<B> Estado de
5. <A>  a a Aceptación
6. <B> a<A>
7. <B> b<B>
A
8. <A> Є
S
b a a
b

B
Estado de
Atrapamiento T 12
DERIVACIÓN
Es una serie de sustituciones de símbolos no terminales de una sstn, aplicando las
reglas de producción de una gramática dada ,
Ej.: Dada las reglas de producción derivar usando las reglas: 122344455677
P:
1. <S>  <A>
2. <A>  a<A><B><C>
3. <A>  ab<C>
<C><B>  <B><C>

FISI- Daniel Quinto Pazce- M. Discreta


4.
5. b<B>  bb
6. b<C>  bc
7. c<C>  cc
<S>
 1=> <A>
 2=> a<A><B><C>
 2=> aa<A><B><C> <B><C>
 3=> aa ab<C><B> <C> <B><C>
 4=> aaab<B><C> <C><B> <C>
 4=> aaab<B> <C><B> <C><C>
 4=> aaa b<B> <B><C><C><C>
 5=> aaab b<B> <C><C><C>
 5=> aaabb b<C><C><C>
13
 6=> aaabbb c<C><C>
 7=> aaabbbc c<C>
 7=> aaabbbccc
POR EL MÉTODO DEL ÁRBOL DE DERIVACIÓN
Es una representación grafica de la derivación
Ejemplo: derivar (3 3 2 2 4)
P:
1. <S>  a<A>b<S>

FISI- Daniel Quinto Pazce- M. Discreta


2. <S>  b
3. <A>  <S><A>c
4. <A>  Є
Derivar: b<A>c, para obtener bbbccc:
b<A>c

<S> <A> c

b <S> <A> c

b Є 14

b b b c c c
LENGUAJE FORMAL

FISI- Daniel Quinto Pazce- M. Discreta


Es el conjunto de secuencias de
símbolos terminales( sst ) del Alfabeto.
Se denota: L(G) = { fórmula}. Construir la
regla de producción.

15
LENGUAJE GENERADO POR UNA GRAMÁTICA :
L(G)
Definición.- Dado una gramática G, el L(G) es el conjunto de secuencias
de símbolos terminales que pueden ser derivados a partir del símbolo
inicial <S> ; L(G) = {x / x ε Vt* , <S>  reglas, ==>* x derivación}
1. L(G)= {an b / n>0}
P:

FISI- Daniel Quinto Pazce- M. Discreta


1. <S>  a<A>
2. <A>  a<A> ab
3. <A>  b<B> aab Tipo 3
4. <B>  Є
aaab
o’ aaa…b
P:
1. <S>  <A>
2. <A>  a<A>
3. <A>  ab Tipo 2
o’
P:
1. <S>  <A><B>
2. <A>  a<A>
3. <A>  a Tipo 2 16
4. <B>  b
LENGUAJE GENERADO POR UNA GRAMÁTICA :
L(G)
Sigue, otra forma de construir la gramática o reglas de producc.:
1. L(G)= {an b / n>0}

P:

FISI- Daniel Quinto Pazce- M. Discreta


1. <S>  <A>b
ab
2. <A>  a<A> aab Tipo 3
3. <A>  a aaab
o’ aaa…b

P:
1. <S>  a<A>
2. <A>  a<A>
3. <A>  b

17
GRAMÁTICA
a
a
A
S

FISI- Daniel Quinto Pazce- M. Discreta


b
T a b
B
b
MAQUINA
a/1
a/0
q1
q0

b/0
T a/0 b/0
q2 18
b/0
LENGUAJE GENERADO POR UNA
GRAMÁTICA
2.- L(G)={an b/n≥0}
Єb
P: ab
1. <S>  <A><B> aab

FISI- Daniel Quinto Pazce- M. Discreta


2. <A>  a<A> aaab
aaa..aab
3. <B>  b
4. <A>  Є
P:
1. <S>  <A>b
2. <A>  a<A>
3. <A>  Є
P:
1. <S>  a<S>
2. <S>  b 19
LENGUAJE GENERADO POR UNA
GRAMÁTICA
2.- L(G)={a* b/n≥0}
Єb
P: ab
1. <S>  <A> aab

FISI- Daniel Quinto Pazce- M. Discreta


2. <A>  a<A> aaab
aaa..aab
3. <A>  b
3.- L(G)={(ab)+}
P:
1. <S>  <A> ab
2. <A>  ab<A> abab
3. A>  ab ababab
ababab….abab
3.- L(G)= { (ab)* }
1. <S>  <A>
2. <A>  ab<A> 20

3. <A>  Є
GRAMÁTICA
a
a
S
A

FISI- Daniel Quinto Pazce- M. Discreta


b
b
T a B

b
MAQUINA a/0
a/0
q0
A

b/0

b/1
T a/0 q2 21

b/1
LENGUAJE GENERADO POR UNA
GRAMÁTICA

4.- L(G)={amban/m>0, n>0}


P:

FISI- Daniel Quinto Pazce- M. Discreta


1. <S>  a<A>
2. <A>  a<A>
3. <A>  b<B> aba
aaba
4. <B>  a<B> aaaba
5. <B>  a aaa..aba
abaa
abaaa
abaaa…a
aaabaaa
22
GRAMÁTICA Vs MAQUINA
a
a
S
A
b
b

FISI- Daniel Quinto Pazce- M. Discreta


b
T a B

a
MAQUINA
a/0
a/0
q0
q1
b/0
b/0
b/0
T a/0 q2
23

a/0
LENGUAJE GENERADO POR UNA
GRAMÁTICA

Ejercicios:

FISI- Daniel Quinto Pazce- M. Discreta


5. L(G)={0+ 1+}

6. L(G)={1* 0*}

7. L(G)={anbn/n≥ 0}

8. L(G)={a2na3n/n>0}

9. L(G)={ambncmdn/m>0, n>0}

24
GRAMÁTICA AMBIGUA
Cuando la gramática contiene una secuencia de símbolos
terminales con mas de un árbol de derivación. <S>
Ejemplo R= (1 2 5 4 5) , ( 1 3 2 5 5 )
P: a <A> <B>
1.

FISI- Daniel Quinto Pazce- M. Discreta


<S>  a<A><B>
<A>
2. <A>  a<B> b a
3. <A>  <A>b a <B>
4.
<B>  b<B> a
5. <B>  a
<S>
*Derivar: aaaba aaaba

a <A> <B>

<B>
a <B>
b
a
a
25

aaaba
Ejercicio de Gramática ambigua
La gramática formal G= (Vt, Vn, S, P)
1. Generar dos o tres conjuntos de reglas de
producción que sean ambiguas, y verificar por el

FISI- Daniel Quinto Pazce- M. Discreta


método de árbol de derivación.
2. Generar 2 o 3 conjuntos de reglas de producción
que no sean ambiguas, y verificar por el método de
árbol de derivación.
3. Dado el lenguaje generado por una gramática:
L(G)={an bm cn /n ≥ 0, m ≥ 1}, determinar las reglas de
producción.

26
FISI- Daniel Quinto Pazce- M. Discreta
27
ANÁLISIS SINTÁCTICO
ANÁLISIS SINTÁCTICO
Es aquel que reconoce, si una secuencia de
símbolos terminales (sst) pertenece o no al lenguaje
generado por una gramática-”Método de Pilas”

FISI- Daniel Quinto Pazce- M. Discreta


ejemplo por ”Método de Pilas” ¿ cbaaa Є L(G) ?
P:
1. <S>  c<A><B>
2. <A>  b<B>a
3. <B>  c<B>
4. <B>  a
 cbaaa Є L(G) La cadena pertenece al L(G)

28
ANÁLISIS SINTÁCTICO
avanzar baaa
c cbaaa
<A>
<S> <A>
reemplazar <B>
<B>

baaa aaa
b

FISI- Daniel Quinto Pazce- M. Discreta


<A> <B> <B>
a a
<B>
<B> <B>

<B> a aaa aa
a a a
<B> <B> <B>

aa
a
a a
<B>
<B> <B>

a
29
<B> a Є
 cbaaa Є L(G)
VERIFICACION : ANÁLISIS SINTÁCTICO
Por ”Método de Pilas” ¿ aaabaaab Є L(G) ?
P:

FISI- Daniel Quinto Pazce- M. Discreta


1 <S>  a<A><B>
2 <A>  a<B>
3 <A>  <A>b
4 <B>  b<B>
5. <B> a

Por método de la derivación 30


CONSTRUCCIÓN DEL ANÁLISIS SINTÁCTICO Reglas de Conway

FISI- Daniel Quinto Pazce- M. Discreta


A

β1

β2

β1 β2

S.r.
β
31
CONSTRUCCIÓN DEL ANÁLISIS SINTÁCTICO
DIAGRAMAS
Ej.: P:
1. <A>  x/(<B>)
2. <B>  <A><C>
3. <C>  {+<A>}

FISI- Daniel Quinto Pazce- M. Discreta


1.-
A x

( B )
2.-
B A C

3.- C

A +
En general
A x
32
( A )
A +
CONSTRUCCIÓN DEL ANÁLISIS
SINTÁCTICO REGLAS

Ejercicios:

FISI- Daniel Quinto Pazce- M. Discreta


Hacer el análisis sintáctico.
P.
1. <A>  (<A>)/(<B>)

2. <A>  <B><F><C>

3. <F>  {+x}

4. <B>  <D><G><E>

5. <G>  {*y}

33
MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
Es una máquina de estructura algebraica abstracta de
memoria interna primitiva que permite simular el
comportamiento de una maquina real

FISI- Daniel Quinto Pazce- M. Discreta


M = E , S , Q, q0 , f , g
Donde:
E = {conjunto de entradas} a, b, c….0,1,2,3..
S = {conjunto de salidas: Z = 1 salida aceptada, Z = 0 salida no
aceptada}
Q = {conjunto de estados} q1, q2, q3,...
q0 = estado especial de inicio
f = función de transición o de estado siguiente
34
g = función de salida o de aceptación
MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
F: QxEQ
(q0, a)  F(q0, a) = q2

FISI- Daniel Quinto Pazce- M. Discreta


función F lleva a la entrada de 1 estado a 1 estado
G: QxES
(q0, a)  G(q0, a) = Z, cuando Z = 1; reconoce.
función G de salida o de aceptación, lleva de estado a
salida
Estado de atrapamiento; para no visible. O completar E.
a/0

T q0 q2

35
MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
TABLA DE TRANSICIÓN
Q E a b

FISI- Daniel Quinto Pazce- M. Discreta


q0 q0/0 q1/1
q1 q2/0 q1/0
q2 q2/1 q0/0

f: Q*E Q g: Q*E  S
f(q0, a) = q0 g(q0, a) = 0  q0/0
f(q0, b) = q1 g(q0, b) = 1  q1/1
f(q1, a) = q2 g(q1, a) = 0  q2/0
f(q1, b) = q1 g(q1, b) = 0  q1/0
f(q2, a) = q2 g(q2, a) = 1  q2/1 36

f(q2, b) = q0 g(q2, b) = 0  q0/0


MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
A) MÁQUINA DE MOORE

FISI- Daniel Quinto Pazce- M. Discreta


a/0
b/0 a/1

q0 q2

a/0
b/1 q1

b/0

37
MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
a
B. MÁQUINA DE MEALY
b

FISI- Daniel Quinto Pazce- M. Discreta


a q2/1

a b
q2/0
a b
q0/0
a q1/0
b
q1 /1 b

38
DIAGRAMA DE FLUJO (MM)
INICIO

FISI- Daniel Quinto Pazce- M. Discreta


q0
b X a

Z= 1 Z=0

q1
b a
X
Z=0 Z=0

q2
b a
X 39

Z=0 Z =1
TABLA DE SECUENCIA DE ESTADOS

D. Dada la cadena de Entrada X= abaabba


Encontrar la cadena de salida Z=?
i) Por maquina, directamente desde la maquina obtenida

FISI- Daniel Quinto Pazce- M. Discreta


Z=0101010
ii) Por el Método de la Tabla de Secuencia de estados
Instante t : quantum de tiempo

Instante t 0 1 2 3 4 5 6 7

Estado q0 q0 q1 q2 q2 q0 q1 q2
actual
Entrada X a b a a b b a

Estado q0 q1 q2 q2 q0 q1 q2
Siguiente 40
Salida Z 0 1 0 1 0 1 0
MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
TABLA DE TRANSICIÓN Maquina de Moore
b/0
Q E a b a/1
q0 q1/1 q0/0 q0 q1
q1 q2/1 q0/0 b/0

FISI- Daniel Quinto Pazce- M. Discreta


q2 q2/1 q0/0 b/0
q2 a/1

Poseen estado de aceptación q1 y q2


Por tener salida = 1. Todo Auto  Maq., pero a/1
No toda Maq.  Auto

AUTOMATA TABLA DE TRANSICIÓN


b a
Q E a b S
q0 q1 0
q0 q1 q0
b
q1 q2 q0 1
b
q2 a q2 q2 q0 1 41
a
MÁQUINA DE ESTADO FINITO DETERMINISTICO
(MEFD)
E. DADA TABLA DE TRANSICIÓN(a Moore)
Q E a b c S Q E a b c
q0 q1 q2 q3 0 q0 q1/0 q2/1 q3/0
q1 q1 q2 q3 0 q1 q1/0 q2/1 q3/0

FISI- Daniel Quinto Pazce- M. Discreta


q2 q2 q4 q5 1  q2 q2/1 q4/0 q5/1
q3 q4 q3 q5 0 q3 q4/0 q3/0 q5/1
q4 q0 q5 q2 0 q4 q6/0 q5/1 q2/1
q5 q1 q5 q2 1 q5 q1/0 q5/1 q2/1
AUTOMATA

a q4
b
b c
a b
q0 q1 b
a
q2
c c
a 42
a b c a
c b
q5
q3
MÁQUINA DE ESTADO FINITO NO DETERMINISTICO
(MEFND)
M{E, , Q, q0, Q’, F, G}
Donde Q’ = {{q1, q2} }, se sabe Q = {q1, q2 … qn}
F: Q x E  Q’ La función F lleva de un estado qi , a

FISI- Daniel Quinto Pazce- M. Discreta


mas de un conjunto de estados con la misma
entrada
F: (q1, a)  f(q1, a) = {q1, q2}

a/0
a/1

q1 q2

43
MÁQUINA DE ESTADO FINITO NO DETERMINISTICO
(MEFND)
M{E, , Q, q0, Q’, F, G}
Donde Q’ = {{q1, q2} }, se sabe Q = {q1, q2 … qn}
G: Q x E  S La función G lleva de un estado qi , a

FISI- Daniel Quinto Pazce- M. Discreta


mas de un conjunto de salidas con la misma
entrada
G: (q1, a)  G(q1, a) = {0, 1}

a/0
a/1

q1 q2

44
MÁQUINA DE ESTADO FINITO NO DETERMINÍSTICO
(MEFND)
a
Ej.: a
a b c
q0 a
q1 q2

FISI- Daniel Quinto Pazce- M. Discreta


a a
b b
c
c c
q3
a
c
Tabla de transición

Q E a b C
q0 {q0 , q2} {q1} {q2,q3}
q1 {q0, q2} {q3} {q1}
q2 {q1, q2} {q3} {q3}
45
q3 {q3 } {q1} {q2}
DISEÑO DE UNA MAQUINA
1)Diseñe una máquina de 3 estados que produzca
salida 1 cuando compare dos números binarios con

FISI- Daniel Quinto Pazce- M. Discreta


los símbolos =, >, < , muestra la Maquina.
E = {00, 01, 10, 11}
Q = {q1, q2} q0 = estado inicial
 = {0, 1}

Comp 00 01 10 11 Q E 00 01 10 11
= = < > = q0 q0/0 q2/1 q1/1 q0/0
> > < > = q1 q1/1 q2/1 q1/1 q0/0
< < < > = q2 q2/1 q2/1 q1/1 q0/0
46
DISEÑO DE UNA MAQUINA

FISI- Daniel Quinto Pazce- M. Discreta


00/0 00/1
11/0
10/1
q0 q1 10/1
11/0

11/0
01/1
10/1
01/1
q3

01/1

00/1

47
DISEÑO DE UNA MAQUINA
2)Diseñe una máquina de 4 estados que al recibir un
valor de 3 lo reconozca o produce salida 1. El usuario

FISI- Daniel Quinto Pazce- M. Discreta


puede ingresar como entrada {1, 2, 3}
E = {1, 2, 3}; Z = {0, 1} Q = {q0, q1, q2, q3}

OP 1 2 3
*/+
0 1 2 3
1 2 3 0
OP operador
2 3 0 2
3 0 2 3

48
EL DISEÑO DE UNA MAQUINA
Q E 1 2 3
Tabla de Transición:
q0 q1/0 q2/0 q3/1
q1 q2/0 q3/1 q0/0

FISI- Daniel Quinto Pazce- M. Discreta


q2 q3/1 q0/0 q2/0
q3 q0/0 q2/0 q3/1
2/0

2/0

q0 1/0
1/0 q2
q1 3/0
3/0 1/1
2/1
1/0
1/1
2/0
3/1 q3
49

3/1
DISEÑO DE UNA MAQUINA
3)Diseñe una máquina de dos estados que produzca
salida 1 siempre que la cadena de ‘unos’ sean

FISI- Daniel Quinto Pazce- M. Discreta


pares y produzca cero en otros casos.
E = {0, 1} Z = pares = 1 q0, q1

0/1 1/0
0/0

q1
q0

pares 1/1 impares

50
EJERCICIO DE DISEÑO
4)Diseñe una máquina estado finito
determinísticos, de 4 estados que reconozca

FISI- Daniel Quinto Pazce- M. Discreta


cadena de ceros y unos en la que el numero de
ceros y el numero de unos son pares.
E = {0, 1} q0, q1, q2, q3
 = {0, 1}
1/0
q0 q1
1/1
0/0 0/0
0/0
0/1

1/0
q2 q3
51
1/0
DISEÑO DE UNA MAQUINA
5)Diseñe una máquina de 3 estados que reconozca
la cadena 101 y produzca salida ‘1’ ,en otros casos
produzca salida ‘0’.

FISI- Daniel Quinto Pazce- M. Discreta


1/0
0/0 1/0 0/0
q1
q0 1/1 q2

0/0

0010101010
101000101
111101111 52
DISEÑO DE UNA MAQUINA
6)Diseñe una maquina de tres estados que produzca
salida 1 siempre que X Mod 3 = 1, y 0 en otro caso

FISI- Daniel Quinto Pazce- M. Discreta


0/0 0/1

1/1

q0
q2
2/0
1/0

1/0
q3
2/0
53
2/1
0/0
DISEÑO DE UNA MAQUINA
MAQUINA EXPENDEDORA DE CARAMELOS
Ejercicio

FISI- Daniel Quinto Pazce- M. Discreta


Consideremos una máquina vendedora de caramelos
que entrega a la persona el chocolate elegido
después de recibir una moneda de 50 centavos
que cuesta el chocolate. La persona puede,
depositar monedas de 10, 20, 50 centavos. Diseñe
esta máquina con 5 estados.

54
DISEÑO DE MÁQUINA (MEFD)
EXPENDEDORA DE CARAMELOS

Una forma de plantear la maquina expendedora


Q / E 10 20 50

FISI - Daniel Alfonso Quinto Pazce


0 1 2 5

1 2 3 1

2 3 4 2

3 4 5 3

4 5 4 4
DISEÑO DE MÁQUINA (MEFD)
EXPENDEDORA DE CARAMELOS

Una forma de la maquina de Moore


Q / E 10 20 50

FISI - Daniel Alfonso Quinto Pazce


q0 q1/0 q2/0 q5/1

q1 q2/0 q3/0 q1/0

q2 q3/0 q4/0 q2/0

q3 q4/0 q5/1 q3/0

q4 q5/1 q4/0 q4/0


MATEMATICAS DISCRETAS

FISI - Daniel Alfonso Quinto Pazce


FIN DEL CURSO
SEMESTRE 2017 - 1

You might also like