En informática , y más específicamente en la teoría de la computabilidad y la teoría de la complejidad computacional , un modelo de computación describe cómo se calcula el resultado de una función matemática a partir de una entrada. Un modelo de computación describe cómo se organizan las unidades de computación, memoria y comunicación. [ 1 ] La complejidad computacional de un algoritmo puede medirse a partir de un modelo de computación. El uso de un modelo permite estudiar el rendimiento de los algoritmos independientemente de las variaciones propias de implementaciones y tecnologías específicas.
Categorías
Los modelos de computación se pueden clasificar en tres categorías: modelos secuenciales, modelos funcionales y modelos concurrentes.
Modelos secuenciales
Los modelos secuenciales incluyen:
- Máquinas de estados finitos
- Máquinas post ( máquinas post-Turing y máquinas de etiquetas ).
- autómatas de pila
- Máquinas de caja registradora
- Máquinas de Turing
- Modelo de árbol de decisión
- Modelo de memoria externa
Modelos funcionales
Los modelos funcionales incluyen:
Modelos concurrentes
Los modelos concurrentes incluyen:
Algunos de estos modelos presentan variantes tanto deterministas como no deterministas . Los modelos no deterministas se utilizan en el estudio de la complejidad computacional de los algoritmos.
Los modelos difieren en su capacidad expresiva; por ejemplo, cada función que puede ser calculada por una máquina de estados finitos también puede ser calculada por una máquina de Turing , pero no al revés.
Usos
En el campo del análisis de tiempo de ejecución de algoritmos , es común especificar un modelo computacional en términos de operaciones primitivas permitidas que tienen un costo unitario, o simplemente operaciones de costo unitario . Un ejemplo comúnmente utilizado es la máquina de acceso aleatorio , que tiene un costo unitario para el acceso de lectura y escritura a todas sus celdas de memoria. En este sentido, difiere del modelo de máquina de Turing mencionado anteriormente.
Véase también
- Máquina de pila (máquina de 0 operandos)
- Máquina acumuladora (máquina de 1 operando)
- Máquina registradora (máquina de operandos 2, 3, ...)
- Máquina de acceso aleatorio
- Máquina abstracta
- Modelo de sonda celular
- Modelo de consulta de Robertson-Webb
- jerarquía de Chomsky
- Completitud de Turing
Referencias
- ↑ "Modelos de Computación" (PDF) .
Lecturas adicionales
- Fernández, Maribel (2009). Modelos de computación: Una introducción a la teoría de la computabilidad . Temas de pregrado en informática. Springer. ISBN 978-1-84882-433-1.
- Savage, John E. (1998). Modelos de computación: Explorando el poder de la computación . Addison-Wesley. ISBN 978-0201895391.
- Modelos de computación
- Teoría de la complejidad computacional
- teoría de la computabilidad