Modelos Computacionales

Documentos relacionados
Autómatas Finitos Deterministicos (DFA)

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Unidad I: Organización del Computador. Ing. Marglorie Colina

Autómatas Deterministas. Ivan Olmos Pineda

Unidad 4. Autómatas de Pila

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

Procesadores de Lenguaje

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

Tabla de contenidos. 1 Lógica directa

UNIDAD 1. COMPONENTES DEL COMPUTADOR

ESTRUCTURA BÁSICA DE UN ORDENADOR

El Autómata con Pila

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Circuitos Secuenciales: concepto de estado

Computabilidad y Lenguajes Formales: Autómatas Finitos

Diagrama a bloques de una computadora

FUNDAMENTOS DE INFORMATICA

Equivalencia Entre PDA y CFL

13.3. MT para reconocer lenguajes

Arquitectura de un sistema de cómputo

SISTEMAS DIGITALES MÉTODOS DE DISEÑO LDD eman ta zabal zazu

Introducción Flip-Flops Ejercicios Resumen. Lógica Digital. Circuitos Secuenciales - Parte I. Francisco García Eijó

Estructura del Computador

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Procesador Concepto Tipos Velocidad de proceso Características funciones aritmético- lógicas y de control

Lenguaje binario. Código ASCII. Medidas de la información

El nivel ISA (II)! Conjunto de Instrucciones

Clase 17: Autómatas de pila

Dispositivos de Procesamiento y Dispositivos de Memoria. Dra. Leticia Flores Pulido Introducción a la Ingeniería en Computación

La Unidad Procesadora.

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

Arquitectura de Computadores

PUERTAS LOGICAS. Una tensión alta significa un 1 binario y una tensión baja significa un 0 binario.

El Autómata con Pila: Transiciones

Sistemas Electrónicos Digitales

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Introducción a la lógica binaria

La Máquina de Acceso Aleatorio (Random Access Machine)

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2008

Clase 20: Arquitectura Von Neuman

Matemáticas Básicas para Computación

FUNCIONAMIENTO DEL ORDENADOR

Tema: Autómata de Pila

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

TEMA 4. Unidades Funcionales del Computador

Discusión. Modelo de una compuerta. Arquitecturas de Computadores Prof. Mauricio Solar. Temario. ...Introducción

Expresiones regulares, gramáticas regulares

AUTOMATIZACIÓN INDUSTRIAL

SUMADORES Y COMPARADORES

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Organización y Estructura del Computador II Semestre I-2014.

Existen diferentes compuertas lógicas y aquí mencionaremos las básicas pero a la vez quizá las más usadas:

Compuertas Lógicas. Sergio Stive Solano Sabié. Agosto de 2012 MATEMÁTICA. Sergio Solano. Compuertas lógicas NAND, NOR, XOR y XNOR

Electrónica Digital II. Arquitecturas de las Celdas Lógicas. Octubre de 2014

Procesadores de Lenguaje

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Unidad I: Conceptos Básicos de Programación. Prof. Eliana Guzmán U. Semestre: A-2015

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Estructura del Computador

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR

Dr.-Ing. Paola Vega Castillo

Sistemas Combinacionales y Sistemas Secuenciales

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

CONTROLES ELÉCTRICOS PRÁCTICA 6: PROGRAMACIÓN DE PLC UNIDAD 5 LIRA MARTÍNEZ MANUEL ALEJANDRO DOCENTE: PACHECO HIPÓLITO JAVIER

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Álgebra de Boole. Valparaíso, 1 er Semestre Prof. Rodrigo Araya E.

Introducción a la arquitectura de computadores

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Análisis general de un Microprocesador

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

Arquitecturas de computadoras

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.

Flip-flop SR con compuertas NAND y NOR. Por: Romero Reyes Roció Germana Laboratorio de Sistemas Digitales II Prof. J.

M. C. Felipe Santiago Espinosa

Autómatas de Pila y Lenguajes Incontextuales

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

UNIDAD 4. Álgebra Booleana

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

INDICE. XVII 0 Introducción 0.1. Historia de la computación

Organización del Computador I 1er. Parcial 17-Mayo Turno:

Tipos de sistemas digitales: Sistemas combinacionales: las variables de salida dependen en todo instante de los valores de las variables de entrada.

Lógica Secuencial. Circuitos Digitales, 2º de Ingeniero de Telecomunicación ETSIT ULPGC

ENIAC, Primer computador electrónico y su panel de conexiones

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)


Operación de circuitos lógicos combinatorios.

Tema 3.1 Introducción a los circuitos combinacionales. Algebra de Boole

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, Decana de América)

Computabilidad y Lenguajes Formales: Autómatas de Pila

Transcripción:

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 Compuertas Lógicas Compuerta Lógica Un dispositivo físico que realiza una función booleana f: N fi {, } Frecuentemente n se codifica como una número en base 2 n = x k- 2 k- + x k-2 2 k-2 +... + x 2 + x 2 +, x i =, 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 Complejidad de Algoritmos

Circuitos Lógicos 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 a b x sum c in x 2 x 3 c out x 4 x := a xor b x 2 := a nand c in x 3 := b nand c in x 4 := a nand b sum := x xor c in c out := (x 2 nand x 3 ) nand x 4 Análisis y Complejidad de Algoritmos 2

Máquinas de Estados Finitos 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 δ : Σ Q Q λ, función de transición λ : Σ Q Ψ Máquinas de Estados Finitos Salida Entrada L Memoria Estado Análisis y Complejidad de Algoritmos 3

FSM: Ejemplo / a / / / b / c /(z_ out := NOT y_ in ) ESTADO V V x_ in a b c -,,, y in --,-,,, y in --,- FSM: Estructura General x d logic D Q CLK d logic D Q CLK memory part z logic z clk logical part Análisis y Complejidad de Algoritmos 4

Autómata Finito Autómata Finito AF = < Σ, Q, δ, q, F> Σ, alfabeto de símbolos de entrada Q, conjunto finito de estados δ, función de transición δ : Σ Q Q q, estado inicial F Q, conjunto de estados finales q / q / Autómata de Pila Autómata de Pila Consiste de una cinta de entrada, un control finito y una pila AF = < Σ, Γ, Q, δ, q, Z, F> Σ, alfabeto de símbolos de entrada Γ, alfabeto de símbolos de la pila Q, conjunto finito de estados δ, función de transición δ : Q Σ Γ Q Γ q, estado inicial Z, símbolo inicial de la pila Cinta de Entrada F Q, conjunto de estados finales Mecanismo de Control Pila Análisis y Complejidad de Algoritmos 5

Autómata de Pila Autómata de Pila Consiste de una cinta de entrada, un control finito y una pila Cinta de Entrada Mecanismo de Control Pila La Máquina de Acceso Aleatorio: RAM 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: LOAD, STORE, ADD, SUB, MULT, DIV, READ, WRITE, JUMP, JZ, JNZ, HALT Análisis y Complejidad de Algoritmos 6

La Máquina de Acceso Aleatorio: RAM ALU Decode cmd out_wrd b m- m-2 reg a reg b PC in_wrd addr Máquina de Turing mecanismo de control Análisis y Complejidad de Algoritmos 7

Máquina de Turing 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 Máquina de Turing: Ejemplo, x, x, D, ) 2, B, I, b 3, b, I 2, y 2, y, I 2, (, A, D 2, b 4, No, H 3, x 3, x, I 3, ( 3, No, H 3, b 3, Si, H ()(()) AB(()) AB(2ABB ABAAB3B 3bABAABB ()(()) AB(()) AB2(ABB ABAA3BB [Si]ABAABB ()(()) AB(2(B) ABAABB ABA3ABB (2B(()) AB(AB) ABAABB AB3AABB AB(()) AB(AB) ABAABB A3BAABB AB(()) AB(A2BB ABAABBb 3ABAABB Análisis y Complejidad de Algoritmos 8

Máquina de Turing: Ejemplo Reconocimiento de cadenas equilibradas de paréntesis, x, x, D con cualquier cosa salvo ), aváncese a la derecha, x { (, A, B }, ) 2, B, I con el primer ), márquese y retrocédase, b 3, b, I si la lista se acaba, revísese que todo haya quedado marcado 2, y 2, y, I con cualquier cosa salvo (, retrocédase a la izquierda, y { ), A, B } 2, (, A, D márquese el ( que empata y repítase el ciclo 2, b 4, No, H se termina la cadena y no existe el correspondiente (. No hay equilibrio. 3, x 3, x, I retrocédase ignorando las marcas, x { A, B } 3, ( 3, No, H si quedara un (, éste ya no podrá empatarse. No hay equilibrio. 3, b 3, Si, H acabó la cadena y todo quedó marcado. Si hay equilibrio. Análisis y Complejidad de Algoritmos 9