Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SISTEMAS
1
CURSO:
o AUTÓMATAS Y COMPILADORES
DOCENTE:
o Mg. TORRES VILLANUEVA MARCELINO
INTEGRANTES:
o MIULER
o CHRISTIAN STEVEN
o SERIN NERY, ELMER
o SILVA GUEVARA, MANUEL
o ZAVALETA CORTEZ, JEYSON
➧ Un autómata finito determinista es una quíntupla que se denota de la manera genérica por:
𝑄, 𝛴, 𝑆, 𝐹, 𝛿
Q ∑ S F δ
Conjunto finitos Alfabeto de Estado inicial Colección de Función de
de ESTADOS ENTRADA estados FINALES TRANSICIÓN
➧ Autómata finito determinista es aquel que tiene todas sus transiciones no vacías y que
por cada símbolo desde un estado inicial se llega a un único estado final.
➧ Los AFD son definiciones ideales dentro de los lenguajes regulares por su cercanía
formal hacia la creación de un analizador léxico, en tanto sus transiciones son únicas
por símbolo, realizándose con mayor facilidad a la hora de su implementación en
software.
4
REPRESENTACIÓN DE UN AFD
Con una tabla
o Se ponen tantas filas como estados, y tantas
Sea 𝑀1 = 𝑄, ∑ , 𝑆, 𝐹, 𝛿 δ a b
columnas como símbolos forman el alfabeto.
o Marcamos el estado inicial con una flecha de
donde:
→𝑞0 𝑞1 𝑞2 entrada y cada uno de los estados finales con un
𝑄 = { 𝑞0 , 𝑞1 , 𝑞2 } asterisco.
𝑞1 𝑞0 𝑞1
∑ = {𝑎, 𝑏} o En el cruce de la fila marcada con el estado q y la
∗ 𝑞2 𝑞2 𝑞2
𝑆 = 𝑞0 columna marcada con el símbolo a del alfabeto
ponemos el estado δ(q,a).
F={𝑞2 }
δ definida como: Con un diagrama
δ(𝑞0 , a)= 𝑞1 o Cada estado no final se representa con un círculo.
δ(𝑞1 ,a)=𝑞0 o Cada estado final se representa con un doble
δ(𝑞2 , a )=𝑞2 círculo.
δ(𝑞0 , b )=𝑞2 o Se señala el estado inicial con una flecha
δ(𝑞1 , b )=𝑞1 entrando, sin etiqueta.
δ(𝑞2 , b )= 𝑞2 o Por cada transición δ(q,a)=t se dibuja una flecha
dirigida del estado de partida “q” al de llegada
“t” etiquetada “a”
LENGUAJE ACEPTADO POR UN AFD. 5
EJEMPLO
➧ Un autómata finito determinista es una quíntupla que se denota de la manera genérica por:
𝑄, 𝛴, 𝑆, 𝐹, ∆
Q ∑ S F δ
Conjunto finitos Alfabeto de Estado inicial Colección de Relación de
de ESTADOS ENTRADA estados FINALES TRANSICIÓN
➧ Autómata finito no determinista es aquel que tiene transiciones vacías o que por cada
símbolo de entrada desde un estado , existe mas de una transición posible.
➧ Se dice que es “no determinista” porque la transición desde un estado puede tener
múltiples destinos.
Es un autómata finito que tiene transiciones vacías o que por
cada símbolo de entrada desde un estado , existe mas de una
transición posible.
𝑞0 𝑞0 𝑞0 𝑞0 𝑞0 𝑞0 La cadena
𝑞1 𝑞1 𝑞2 𝑞1 𝑞2 00101 si es
aceptada por
Estado final o de
aceptación
el AFND
0 0 1 0 1
EJEMPLO
q0 {q1,q2} {}
q1 {} q0
q2 {} q3
q3 q0 {}
AFND-ε que acepte el lenguaje denotado por la expresión regular
(ab|aba)⋆.
Son las cadenas que se pueden descomponer en secuencias ab o aba.
M = ({{q0,q1,q2},{a,b}, δ,{q0},{q0})
TABLA DE TRANSICIONES
δ a b
q0 q1 {} {}
q1 {} q2 {}
q2 q0 {} q0
11
Todo AFND puede ser transformado a AFD utilizando un algoritmo que transforma
los estados del AFND en nuevos estados que son subconjuntos de los estados
originales y aplica a los mismos la clausura para confirmar la conexidad entre
cada uno de los componentes y así eliminar el indeterminismo.
➧ ¿POR QUÉ?
Tabla de
Transición
Tabla de
Transición Procedimiento
Sea el AFND:
𝑄 = 𝑞0 , 𝑞1 , 𝑞2 , 𝑞3 , 𝑞4
𝒂
𝑆 = 𝑞0
𝒂 𝒃
𝒒𝟎 𝒒𝟏 𝒒𝟐 𝐹 = 𝑞2 , 𝑞3 , 𝑞4
𝒃 𝒂
Σ = 𝑎, 𝑏
𝒒𝟑 𝒒𝟒 ∆ 𝒂 𝒃
→ 𝐪𝟎 {𝑞1 , 𝑞4 } {𝑞3 }
𝒃
𝐪𝟏 {𝑞1 } {𝑞2 }
𝐪𝟐 ∅ ∅
𝑎∗ 𝑏 ∪ 𝑎𝑏 ∗ 𝐪𝟑 ∅ ∅
𝐪𝟒 ∅ {𝑞4 }
AFND → AFD:
𝒂 𝒃
𝒒𝟎 𝒒𝟏 𝒒𝟐
∆ 𝒂 𝒃
𝒂
𝒃 A → 𝐪𝟎 {𝑞1 , 𝑞4 } {𝑞3 }
B 𝒒𝟏 , 𝒒𝟒 {𝑞1 } {𝑞𝟐 , 𝑞4 }
𝒒𝟑 𝒒𝟒 C 𝐪𝟑 ∅ ∅
D 𝐪𝟏 {𝑞1 } {𝑞2 }
𝒃
E 𝒒𝟐 , 𝒒𝟒 ∅ {𝑞𝟒 }
F 𝐪𝟐 ∅ ∅
G 𝐪𝟒 ∅ {𝑞4 }
AFND → AFD:
𝒂 𝒃 𝛅 𝒂 𝒃
A → 𝐪𝟎 {𝑞1 , 𝑞4 } {𝑞3 } → 𝑨 𝐵 C
B 𝑓𝑖𝑛𝑎𝑙 𝒒𝟏 , 𝒒𝟒 {𝑞1 } {𝑞𝟐 , 𝑞4 } 𝑓𝑖𝑛𝑎𝑙 𝑩 D E
C 𝑓𝑖𝑛𝑎𝑙 𝐪𝟑 ∅ ∅ 𝑓𝑖𝑛𝑎𝑙 𝑪 − −
D 𝐪𝟏 {𝑞1 } {𝑞2 } 𝑫 D F
E 𝑓𝑖𝑛𝑎𝑙 𝒒𝟐 , 𝒒𝟒 ∅ {𝑞𝟒 } 𝑓𝑖𝑛𝑎𝑙 𝑬 − G
F 𝑓𝑖𝑛𝑎𝑙 𝐪𝟐 ∅ ∅ 𝑓𝑖𝑛𝑎𝑙 𝑭 − −
G 𝑓𝑖𝑛𝑎𝑙 𝐪𝟒 ∅ {𝑞4 } 𝑓𝑖𝑛𝑎𝑙 𝑮 − G
AFD:
𝒂 𝒂 𝒃
𝑨 𝑩 𝑫 𝑭
𝒃 𝒃 𝒃
𝒃 𝛅 𝒂 𝒃
𝑪 𝑬 𝑮
→ 𝑨 𝐵 C
𝑓𝑖𝑛𝑎𝑙 𝑩 D E
𝑸 = 𝑨, 𝑩, 𝑪, 𝑫, 𝑬, 𝑭, 𝑮 𝑓𝑖𝑛𝑎𝑙 𝑪 − −
𝑺=𝑨 𝑫 D F
𝑓𝑖𝑛𝑎𝑙 𝑬 − G
𝑭 = 𝑩, 𝑪, 𝑬, 𝑭, 𝑮 𝑓𝑖𝑛𝑎𝑙 𝑭 − −
𝜮 = 𝒂, 𝒃 𝑓𝑖𝑛𝑎𝑙 𝑮 − G
COMPROBACIÓN:
𝒂 𝑎∗ 𝑏 ∪ 𝑎𝑏 ∗
𝒒𝟎 𝒂
𝒒𝟏 𝒃
𝒒𝟐 𝒂𝒂𝒃 ∈ 𝑳
AFND 𝒂𝒃 ∈ 𝑳
𝒃 𝒂
𝒂𝒃𝒃𝒃𝒃𝒃 ∈ 𝑳
𝒒𝟑 𝒒𝟒 𝒂𝒂 ∉ 𝑳
𝒂𝒃𝒂 ∉ 𝑳
𝒃
𝒂𝒃𝒃𝒂𝒂𝒃 ∉ 𝑳
AFD 𝑨
𝒂
𝑩
𝒂
𝑫
𝒃
𝑭
𝒃 𝒃 𝒃
𝒃
𝑪 𝑬 𝑮
EJEMPLO: AFND QUE ACEPTE CADENAS QUE
CONTENGAN AL MENOS DOS CEROS SEGUIDOS.
C 0
B
0
A
0,1
Tabla de
Transición
AFND 0 1
A A,B A
B C ---
C --- ---
1
Procedimiento 0
0 1
0 0 0 1
q0 A A,B A q0 q1 q2
q0 q1 q0
q1 A,B A,B,C A
q1 q2 q0
q2 A,B,C A,B,C A
1 AFD q2 q2 q0
1