Modelos Computacionales

Arturo Díaz Pérez Análisis y Complejidad de Algoritmos Modelos Computacionales Arturo Díaz Pérez ¬ ® ¯ El circuito lógico La máquina de estados fin

2 downloads 284 Views 82KB Size

Story Transcript

Arturo Díaz Pérez

Análisis y Complejidad de Algoritmos

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

Models

Análisis y Diseño de Algoritmos

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 f

Las compuertas lógicas pueden ser construidas por tecnologías diferentes Se acostumbra utilizar un símbolo lógico para cada compuerta Los símbolos se utilizan para dibujar circuitos lógicos

Análisis y Diseño de Algoritmos

Análisis y Complejidad de Algoritmos

Models

1

Arturo Díaz Pérez

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)

Models

Análisis y Diseño de Algoritmos

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

Análisis y Complejidad de Algoritmos

Models

2

Arturo Díaz Pérez

Máquinas de Estados Finitos F Máquinas de estados finitos ß Es una máquina con memoria ß Ejecuta una serie de pasos en los cuales /toma su estado actual de un conjunto de estados Q /define su salida a partir de un conjunto de símbolos de entrada Σ ß FSM = < Σ, Ψ, Q, δ, λ> /Σ, alfabeto de símbolos de entrada /Ψ, alfabeto de símbolos de salida /Q, conjunto finito de estados /δ, función de transición 3 δ : Σ ×Q→ Q

/λ, función de transición 3 λ:Σ Análisis y Diseño de Algoritmos

× Q→ Ψ

Models

Máquinas de Estados Finitos Salida

Entrada

L

Memoria

Estado

Análisis y Diseño de Algoritmos

Análisis y Complejidad de Algoritmos

Models

3

Arturo Díaz Pérez

FSM: Ejemplo 0/0

1/0 0/0 1/0

a

b

1/0

c

0/(z_out := NOT y_in)

ESTADO a b c -

V0

V1

0 0 1 1

0 1 0 1

0

x_in

1 01,0 10,0 10, ¬yin --,-

00,0 00,0 00,¬yin --,-

Models

Análisis y Diseño de Algoritmos

FSM: Estructura General x d logic 0 D 0 Q CLK

d logic 1

D 1 Q CLK memory part

clk z logic

z logical part Análisis y Diseño de Algoritmos

Análisis y Complejidad de Algoritmos

Models

4

Arturo Díaz Pérez

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 1

Models

Análisis y Diseño de Algoritmos

Autómata de Pila F Autómata de Pila ß Consiste de /una cinta de entrada, /un control finito y / una pila Cinta de Entrada ß AF = < Σ, Γ, Q, δ, q0, Z0, F> /Σ, alfabeto de símbolos de entrada /Γ, alfabeto de símbolos de la pila /Q, conjunto finito de estados /δ, función de transición

Mecanismo de Control Pila

3 δ:Q×Σ×Γ→Q× Γ

/q0, estado inicial /Z0, símbolo inicial de la pila Análisis y Diseño de Algoritmos /F ⊂ Q, conjunto de estados finales

Análisis y Complejidad de Algoritmos

Models

5

Arturo Díaz Pérez

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 Análisis y Diseño de Algoritmos

Models

La Máquina de Acceso Aleatorio: RAM F RAM: Random Access Machine ß Es modelada como dos máquinas de estados finitos: /unidad central de procesamiento (CPU) /memoria de acceso aleatorio /cmd: READ, WRITE, NO-OP /instrucciones: 3 LOAD, STORE, ADD, SUB, MULT, DIV, 3 READ, WRITE, 3 JUMP, JZ, JNZ, HALT

Análisis y Diseño de Algoritmos

Análisis y Complejidad de Algoritmos

Models

6

Arturo Díaz Pérez

La Máquina de Acceso Aleatorio: RAM b

Decode

ALU

cmd

m-1 m-2

out_wrd rega

in_wrd

regb

addr

PC

Análisis y Diseño de Algoritmos

1 0

Models

Máquina de Turing

mecanismo de control

Análisis y Diseño de Algoritmos

Análisis y Complejidad de Algoritmos

Models

7

Arturo Díaz Pérez

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”

Models

Análisis y Diseño de Algoritmos

Máquina de Turing: Ejemplo 1, 1, 1, 2, 2, 2, 3, 3, 3,

()(()) 1()(()) (1)(()) (2B(()) A1B(()) AB1(())

AB(1()) AB((1)) AB(2(B) AB(A1B) AB(AB1) AB(A2BB

Análisis y Diseño de Algoritmos

Análisis y Complejidad de Algoritmos

x ) b y ( b x ( b

→ → → → → → → → →

1, 2, 3, 2, 1, 4, 3, 3, 3,

x, D B, I b, I y, I A, D No, H x, I No, H Si, H

AB(2ABB AB2(ABB ABA1ABB ABAA1BB ABAAB1B ABAABB1b

ABAAB3B ABAA3BB ABA3ABB AB3AABB A3BAABB 3ABAABB

3bABAABB [Si]ABAABB

Models

8

Arturo Díaz Pérez

Máquina de Turing: Ejemplo F Reconocimiento de cadenas equilibradas de paréntesis 1, x → 1, x, D 1, ) → 2, B, I 1, b → 3, b, I 2, y → 2, y, I 2, ( → 1, A, D 2, b → 4, No, H 3, x → 3, x, I 3, ( → 3, No, H 3, b → 3, Si, H Análisis y Diseño de Algoritmos

Análisis y Complejidad de Algoritmos

con cualquier cosa salvo “)”, aváncese a la derecha, x ∈ { (, A, B } con el primer “)”, márquese y retrocédase si la lista se acaba, revísese que todo haya quedado marcado con cualquier cosa salvo “(”, retrocédase a la izquierda, y ∈ { ), A, B } márquese el “(“ que empata y repítase el ciclo se termina la cadena y no existe el correspondiente “(”. No hay equilibrio. retrocédase ignorando las marcas, x ∈ { A, B } si quedara un “(”, éste ya no podrá empatarse. No hay equilibrio. acabó la cadena y todo quedó marcado. Si hay equilibrio. Models

9

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.