Análisis y Complejidad de Algoritmos-Modelos Computacionales
Análisis y Complejidad de Algoritmos-Modelos Computacionales
Análisis y Complejidad de Algoritmos-Modelos Computacionales
Modelos Computacionales
Arturo Díaz Pérez
¬ El circuito lógico
- La máquina de estados finitos
® La máquina de acceso aleatorio
¯ La máquina de Turing
Compuertas Lógicas
F Compuerta Lógica
ß Un dispositivo físico que realiza una función booleana
/f: N → { 0, 1 }
/Frecuentemente n se codifica como una número en base 2
/n = xk-12k-1 + xk-22k-2 + ... + x121 + x020 +, xi= 0, 1
Circuitos Lógicos
F Circuito Lógico
ß Una DAG en la cual todos sus vértices, excepto los vértices de
entrada y salida, están etiquetados con compuertas lógicas
ß Los circuitos lógicos ejecutan programas estrictamente
secuenciales, esto es, programas que consisten únicamente de
asignmientos
ß No contienen ciclos ni saltos
ß Los circuitos lógicos constituyen los bloques básicos para la
construcción de computadoras digitales.
ß Cuando se combinan con celdas de memoria binarias, se
pueden construir máquinas con memoria (máquinas de estados
finitos)
Circuitos Lógicos
x1
a
sum
b
cin x2
x3 cout
x4
x1 := a xor b
x2 := a nand cin
x3 := b nand cin
x4 := a nand b
sum := x1 xor cin
cout := (x2 nand x3) nand x4
Análisis y Diseño de Algoritmos Models
Entrada
L Memoria
Estado
FSM: Ejemplo
0/0 1/0
0/0
1/0 1/0
a b c
ESTADO V0 V1 0 x_in 1
a 0 0 00,0 01,0
b 0 1 00,0 10,0
c 1 0 00,¬yin 10, ¬yin
- 1 1 --,- --,-
d logic 0
D 0 Q
CLK
d logic 1
D 1 Q
CLK
memory
part
clk
z logic
z
logical part
Autómata Finito
F Autómata Finito
ß AF = < Σ, Q, δ, q0, F>
/Σ, alfabeto de símbolos de entrada
/Q, conjunto finito de estados
/δ, función de transición
3 δ : Σ ×Q→ Q
/q0, estado inicial
/F ⊂ Q, conjunto0 de estados finales
0
1
q0/0 q1/1
Autómata de Pila
F Autómata de Pila
ß Consiste de
/una cinta de entrada,
/un control finito y
/ una pila Cinta de Entrada
Autómata de Pila
F Autómata de Pila
ß Consiste de
/una cinta de entrada,
/un control finito y
/ una pila
Cinta de Entrada
Mecanismo
de
Control
Pila
b
m-1
m-2
cmd
ALU Decode
out_wrd
rega
in_wrd
regb
addr 1
PC 0
Máquina de Turing
mecanismo de
control
Máquina de Turing
F Máquina de Turing
ß Cinta no acotada formada por casillas
ß mecanismo de control, i. e., autómata con diversos estados
ß cabeza de lectura con la que examina, en cada instante, una
casilla en la cinta
ß programa, lista de quíntuples de la forma
/qs → ptm
/q,p ∈ Q (estados), s,t ∈ Σ (símbolos del alfabeto), m ∈ { I,
D, A} (movimiento)
“Si en el estado q se lee en la cinta el símbolo s, entonces,
cambia a s por t, luego pasa al estado p y pasa a examinar
la casilla adyacenta en la dirección m”