Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fundamentos de Organización
de Computadoras
Tema 2
Modelo de Computación Abstracto
4. Máquinas de Turing
❑ Definiciones
❑ Las máquinas de estados finitos (MEF) y los autómatas son herramientas utilizadas
en la teoría de la computación para modelar sistemas y procesos.
3
1. Máquinas de estados finitos y autómatas
❑ Detector de secuencia de bits: Una MEF simple que puede utilizarse para detectar una
secuencia específica de bits en una secuencia de entrada. Esta máquina de estados finitos
se puede utilizar, por ejemplo, para detectar un patrón de bits específico en un flujo de
datos de entrada.
❑ Máquina de lavar ropa: Una lavadora puede controlarse mediante una MEF que monitorea
diferentes sensores (por ejemplo, nivel de agua, temperatura) y ajusta el ciclo de lavado en
consecuencia.
❑ Controlador de tráfico aéreo: Un controlador de tráfico aéreo puede utilizar una MEF
para monitorear el movimiento de aviones y tomar decisiones en consecuencia (por
ejemplo, emitir una orden de aterrizaje o despegue).
❑ Detector de errores de código: Una MEF puede utilizarse para detectar errores en los
códigos de barras o los números de identificación únicos (por ejemplo, UPC, EAN) al
verificar la validez de los dígitos de control.
4
1. Máquinas de estados finitos y autómatas
❑ Cómo se representan?
Hay dos maneras generales de representar MEF, puede ser a través de una: tabla de
transición o de un diagrama de estados (ambos dos son complementarios).
5
1. Máquinas de estados finitos y autómatas
A/B
S1 S2
6
1. Máquinas de estados finitos y autómatas
❑ Una tabla de transición es una tabla que muestra el estado actual de la MEF, el
símbolo de entrada y el estado al que la MEF transita después de leer el símbolo de
entrada en el estado actual.
Entrada Entrada
Estado Actual 0 1
-> q0 q0 q0
qf - -
7
1. Máquinas de estados finitos y autómatas
❑ Modelo Matemático
❑ El modelo matemático de una máquina de estado finito (MEF) es una tupla de cinco
elementos:
M = (Q, Σ, δ, q0, F)
❑ Donde:
8
1. Máquinas de estados finitos y autómatas
• Q = {q0, qf}
• Σ = {0, 1}
• δ : Q × Σ → Q es una función de transición que se define mediante la siguiente tabla:
Estado actual 0 1
q0 q0 q0
qf qf qf
• q0 es el estado inicial.
• F = {q1} es el conjunto de estados finales.
9
1. Máquinas de estados finitos y autómatas
❑ Tipos
❑ La diferencia entre una MEF con salidas y una MEF sin salidas es que la primera
produce una salida (o varias salidas) cuando hace la transición de un estado a
otro, mientras que la segunda no produce ninguna salida.
❑ Por ejemplo, una MEF con salidas se podría utilizar en un sistema de control de
un semáforo para cambiar las luces en función del estado actual del semáforo y de
la señal recibida de los sensores de tráfico.
10
1. Máquinas de estados finitos y autómatas
❑ Tipos
❑ Por ejemplo, una MEF con salidas se podría utilizar en un sistema de control de
un semáforo para cambiar las luces en función del estado actual del semáforo y de
la señal recibida de los sensores de tráfico.
❑ Clasificación
❑ MEF de Mealy
❑ Ejemplo 1: Realizar una MEF de Mealy para sumar dos números binarios
cualesquiera.
13
M = (Q, Σ, δ, q0, F)
❑ MEF de Mealy - Ejemplo 1: Realizar una MEF de Mealy para sumar dos números
binarios cualesquiera.
Q: {SA,CA}, los estados serian dos, uno sin acarreo (SA) y otro con acarreo (CA).
Σ: {00,01,10,11}.
δ:
Estado actual Entrada Salida Acarreo Próximo estado
SA 00 0 0 SA
SA 01 1 0 SA
SA 10 1 0 SA
SA 11 0 1 CA
CA 00 1 0 SA
CA 01 0 1 CA
CA 10 0 1 CA
CA 11 1 1 CA
q0: {SA}
F: {SA,CA}
14
M = (σ, τ, δ, σ ∗ , ∆, Ω)
❑ MEF de Mealy - Ejemplo 1: Realizar una MEF de Mealy para sumar dos números
binarios cualesquiera.
15
M = (Q, Σ, δ, q0, F)
❑ MEF de Mealy - Ejemplo 2: Realizar una MEF de Mealy para una máquina
expendedora de bebidas que se describe a continuación:
16
M = (Q, Σ, δ, q0, F)
❑ MEF de Mealy - Ejemplo 2: Realizar una MEF de Mealy para una máquina
expendedora de bebidas que se describe a continuación:
17
3. Historia de Allan Turing y sus aportes a la computación
❑ Historia
18
3. Historia de Allan Turing y sus aportes a la computación
❑ Historia (cont.)
19
3. Historia de Allan Turing y sus aportes a la computación
❑ Historia (cont.)
1912 –1954
20
3. Historia de Allan Turing y sus aportes a la computación
❑ Aportes
La Máquina de Turing:
Una máquina con un conjunto de operaciones puede calcular cualquier cosa
que sea computable, sin importar la complejidad.
Impacto:
✓ Define el concepto de la Máquina Universal de Turing.
✓ Visualiza el principio de programa almacenado en las computadoras.
21
3. Historia de Allan Turing y sus aportes a la computación
❑ Aportes
La prueba de Turing (1947-1950):
Una máquina es inteligente si se comporta tal cual lo es un humano
(“The imitation game”).
Impacto:
✓ Se plantea el “Juego de la Imitación” (The Imitation Game), que es juego
que se toma como base para determinar si un sistema es inteligente.
22
3. Historia de Allan Turing y sus aportes a la computación
❑ Aportes
A
A
B C
B C
23
4. Máquinas de Turing
❑Turing no sólo construyó la noción del concepto de algoritmo sino que construyó el
modelo teórico de los computadores actuales.
Conceptualización MT
q Registro de Estado
Cinta Infinita
Cabezal (Lectura / Escritura)
25
5. Máquinas de Turing
MT = (Q, , , , q0,qA,qR)
❑ Donde:
❑ Q: Es un conjunto finito de estados.
❑ : Es el alfabeto de entrada.
❑ : Es el alfabeto de la cinta.
❑ : Es la función de transición.
: Q → {L, R} Q
Esto se puede interpretar como:
Si la MT se encuentra en estado Q y lee entonces
Escriba un nuevo símbolo, muévase a la izquierda o a la derecha
Y pase al estado Q.
Queremos sumar = 2 + 3
Suposición
Para resolver el problema, se va a codificar los números naturales en el alfabeto de “pipes” | por lo tanto:
1 = |
2 = ||
3 = |||
4 = ||||
.
.
.
n = |…| (n pipes)
27
5. Máquinas de Turing
Queremos sumar = 2 + 3
28
5. Máquinas de Turing
Queremos sumar = 2 + 3
29
5. Máquinas de Turing
q0
30
5. Máquinas de Turing
q0
q0
q0
q1
q1
q1
q1
q2
SIMULANDO LA MT Creada….
http://morphett.info/turing/
39
5. Máquinas de Turing
❖ La Máquina de Turing anterior se utiliza para calcular una cierta función computable,
es decir, un programa fijo o específico.
MT con
Datos
Programa Salidas
(cadenas)
Fijo
❖ Por lo tanto, MUT es programable, es decir, las instrucciones son parte de los datos
de entrada.
MTs
MUT Salidas
Datos
40
(cadenas)
5. Máquinas de Turing
Recapitulando…
❑ Existe la “lectura y escritura” de los datos sobre la cinta que son procesados por
las instrucciones.
❑ Existe una cantidad de estados diferentes que van cambiando la entrada de manera
controlada.
41
Fin de la Presentación:
IC-1400. Fundamentos de Organización de Computadoras – Tema 2
42