Estoy tratando de vincular circuitos lógicos combinacionales (computadoras basadas solo en puertas lógicas) con todo lo que aprendí recientemente en Teoría de la Computación.
Me preguntaba si los circuitos lógicos combinacionales pueden implementar cálculos de la misma manera que las máquinas de estados finitos. Parecen radicalmente diferentes:
Las máquinas de estado finito, sin embargo, tienen una memoria bien definida en la forma de los estados en los que puede estar. Sin embargo, los circuitos lógicos combinacionales no tienen una memoria bien definida, por lo que para implementar algoritmos que necesitan memoria, utilizan un poco método extraño de conexión en serie (vea cómo del sumador anterior está conectado a del sumador actual en la imagen a continuación).
Por muy radicalmente diferente que parezca, ambos parecen estar haciendo cálculos. Por ejemplo, ambos pueden implementar un algoritmo para la suma binaria (e incluso la multiplicación binaria) por diferentes que sean esas implementaciones:
FSM:
Circuito lógico combinacional (C, como en y , significa Carry):
Incluso estoy pensando (aunque todavía es muy incierto) que podemos convertir cada FSM en un circuito lógico combinacional correspondiente.
Entonces, me pregunto:
¿Pueden los circuitos lógicos combinacionales también considerarse un tipo instantáneo de modelo de cómputo? ¿Podemos aplicar a él todos los conceptos que aprendemos en la Teoría de la computabilidad y la Teoría de la complejidad computacional, como la complejidad del espacio y la computabilidad?
Por un lado, parece que no encajan como modelo de cómputo porque no tienen operaciones elementales (como lectura / escritura de una cinta, reducción de funciones, pasos en la búsqueda de pruebas del paradigma de programación lógica), implementan sus cálculos instantáneamente
Pero, por otro lado, parecen encajar como un modelo de cómputo porque podemos modelar todo tipo de cómputo con ellos (la adición binaria es un ejemplo), y se pueden ver de manera abstracta (al centrarse solo en las tablas de verdad y las puertas lógicas y olvidarse del circuito físico que podría implementarlo).
Entonces, ¿qué piensan ustedes?
Además, si realmente puede considerarse como un modelo de computación (tipo instantáneo), ¿tienen algún ejemplo de otro modelo de computación similar (también un tipo instantáneo)?
Muchas gracias por adelantado