La computación no convencional (también conocida como computación alternativa o computación no estándar ) es la computación realizada mediante una amplia gama de métodos nuevos o inusuales.
El término computación no convencional fue acuñado por Cristian S. Calude y John Casti y utilizado en la Primera Conferencia Internacional sobre Modelos No Convencionales de Computación [1] en 1998. [2]
La teoría general de la computación permite una variedad de métodos de cálculo. La tecnología informática se desarrolló primero utilizando sistemas mecánicos y luego evolucionó hacia el uso de dispositivos electrónicos. Otros campos de la física moderna brindan vías adicionales para el desarrollo.
Un modelo de computación describe cómo se calcula la salida de una función matemática dada su entrada. El modelo describe cómo se organizan las unidades de computación, las memorias y las comunicaciones. [3] La complejidad computacional de un algoritmo se puede medir dado un modelo de computación. El uso de un modelo permite estudiar el rendimiento de los algoritmos independientemente de las variaciones que son específicas de implementaciones particulares y tecnología específica.
Se utiliza una amplia variedad de modelos; algunos se asemejan mucho al funcionamiento de las computadoras convencionales (idealizadas), mientras que otros no. Algunos modelos comúnmente utilizados son las máquinas de registro , las máquinas de acceso aleatorio , las máquinas de Turing , el cálculo lambda , los sistemas de reescritura , los circuitos digitales , los autómatas celulares y las redes de Petri .
Históricamente, las computadoras mecánicas se utilizaban en la industria antes de la llegada del transistor .
Los ordenadores mecánicos siguen teniendo cierto interés hoy en día, tanto en la investigación como en su uso como ordenadores analógicos. Algunos ordenadores mecánicos tienen una relevancia teórica o didáctica, como los ordenadores de bolas de billar , mientras que los hidráulicos, como el MONIAC o el integrador de agua, se utilizaron con eficacia. [4]
Si bien algunos de ellos son simulados, otros no [ se necesita una aclaración ] . No se intenta [ dudoso – discutir ] construir un ordenador funcional mediante las colisiones mecánicas de bolas de billar. El ordenador dominó es otro esquema de computación mecánica teóricamente interesante. [ ¿Por qué? ]
Una computadora analógica es un tipo de computadora que utiliza señales analógicas , que son cantidades físicas continuas, para modelar y resolver problemas. Estas señales pueden ser de naturaleza eléctrica , mecánica o hidráulica . Las computadoras analógicas se usaron ampliamente en aplicaciones científicas e industriales, y a menudo eran más rápidas que las computadoras digitales en ese momento. Sin embargo, comenzaron a volverse obsoletas en las décadas de 1950 y 1960 y ahora se usan principalmente en aplicaciones específicas como simuladores de vuelo de aeronaves y sistemas de control de enseñanza en universidades. [5] Los ejemplos de dispositivos de computación analógica incluyen reglas de cálculo , nomogramas y mecanismos complejos para control de procesos y relés de protección. [6] El mecanismo de Antikythera , un dispositivo mecánico que calcula las posiciones de los planetas y la Luna, y el planímetro , un integrador mecánico para calcular el área de una forma 2D arbitraria, también son ejemplos de computación analógica.
La mayoría de las computadoras modernas son computadoras electrónicas con arquitectura Von Neumann basada en electrónica digital, con una amplia integración que fue posible gracias a la invención del transistor y al escalamiento de la ley de Moore .
La computación no convencional es, según la descripción de una conferencia [ which? ] , [7] "un área de investigación interdisciplinaria cuyo objetivo principal es enriquecer o ir más allá de los modelos estándar, como la arquitectura informática de Von Neumann y la máquina de Turing , que han dominado la informática durante más de medio siglo". Estos métodos modelan sus operaciones computacionales basándose en paradigmas no estándar, y actualmente se encuentran en su mayoría en la etapa de investigación y desarrollo.
Este comportamiento computacional se puede "simular" [ aclaración necesaria ] utilizando microtransistores clásicos basados en silicio o tecnologías de computación de estado sólido , pero su objetivo es lograr un nuevo tipo de computación.
Estos son ejemplos poco intuitivos y pedagógicos de que un ordenador puede estar hecho de casi cualquier cosa.
Una computadora de bolas de billar es un tipo de computadora mecánica que utiliza el movimiento de bolas de billar esféricas para realizar cálculos. En este modelo, los cables de un circuito booleano están representados por caminos por los que viajan las bolas, la presencia o ausencia de una bola en un camino codifica la señal en ese cable y las puertas se simulan mediante colisiones de bolas en los puntos donde se cruzan sus caminos. [8] [9]
Una computadora dominó es una computadora mecánica que utiliza fichas de dominó verticales para representar la amplificación o activación lógica de señales digitales. Estas construcciones se pueden utilizar para demostrar conceptos digitales e incluso para construir módulos de procesamiento de información simples. [10] [11]
Tanto las computadoras de bolas de billar como las computadoras de dominó son ejemplos de métodos informáticos no convencionales que utilizan objetos físicos para realizar cálculos.
La computación de reservorios es un marco computacional derivado de la teoría de redes neuronales recurrentes que implica mapear señales de entrada en espacios computacionales de dimensiones superiores a través de la dinámica de un sistema fijo y no lineal llamado reservorio. El reservorio, que puede ser virtual o físico, está formado por unidades no lineales individuales que están conectadas en bucles recurrentes, lo que le permite almacenar información. El entrenamiento se realiza solo en la etapa de lectura, ya que la dinámica del reservorio es fija, y este marco permite el uso de sistemas disponibles naturalmente, tanto clásicos como mecánicos cuánticos, para reducir el costo computacional efectivo. Un beneficio clave de la computación de reservorios es que permite un algoritmo de aprendizaje simple y rápido, así como la implementación de hardware a través de reservorios físicos . [12] [13]
La computación tangible se refiere al uso de objetos físicos como interfaces de usuario para interactuar con información digital. Este enfoque tiene como objetivo aprovechar la capacidad humana de agarrar y manipular objetos físicos para facilitar la colaboración, el aprendizaje y el diseño. Las características de las interfaces de usuario tangibles incluyen el acoplamiento de representaciones físicas a la información digital subyacente y la incorporación de mecanismos para el control interactivo. [14] Hay cinco propiedades definitorias de las interfaces de usuario tangibles, incluida la capacidad de multiplexar tanto la entrada como la salida en el espacio, el acceso y la manipulación simultáneos de los componentes de la interfaz, dispositivos específicos fuertes, dispositivos computacionales con conciencia espacial y reconfigurabilidad espacial de los dispositivos. [15]
El término "computadora humana" se refiere a individuos que realizan cálculos matemáticos manualmente, a menudo trabajando en equipo y siguiendo reglas fijas. En el pasado, se empleaban equipos de personas para realizar cálculos largos y tediosos, y el trabajo se dividía para completarse en paralelo. El término también se ha utilizado más recientemente para describir a individuos con habilidades aritméticas mentales excepcionales, también conocidos como calculadoras mentales. [16]
La interacción humano-robot , o HRI, es el estudio de las interacciones entre humanos y robots. Implica contribuciones de campos como la inteligencia artificial, la robótica y la psicología. Los cobots , o robots colaborativos, están diseñados para la interacción directa con humanos dentro de espacios compartidos y pueden utilizarse para una variedad de tareas, [17] incluyendo el suministro de información, la logística y las tareas no ergonómicas en entornos industriales.
La robótica de enjambre es un campo de estudio que se centra en la coordinación y el control de múltiples robots como un sistema. Inspirada en el comportamiento emergente observado en los insectos sociales, la robótica de enjambre implica el uso de reglas individuales relativamente simples para producir comportamientos grupales complejos a través de la comunicación local y la interacción con el entorno. [18] Este enfoque se caracteriza por el uso de grandes cantidades de robots simples y promueve la escalabilidad mediante el uso de métodos de comunicación local como la radiofrecuencia o los infrarrojos.
La computación óptica es un tipo de computación que utiliza ondas de luz, a menudo producidas por láseres o fuentes incoherentes, para el procesamiento, almacenamiento y comunicación de datos. Si bien esta tecnología tiene el potencial de ofrecer un mayor ancho de banda que las computadoras tradicionales, que utilizan electrones, los dispositivos optoelectrónicos pueden consumir una cantidad significativa de energía en el proceso de conversión de energía electrónica en fotones y viceversa. Las computadoras totalmente ópticas apuntan a eliminar la necesidad de estas conversiones, lo que conduce a un menor consumo de energía eléctrica. [19] Las aplicaciones de la computación óptica incluyen el radar de apertura sintética y los correladores ópticos, que se pueden utilizar para la detección, el seguimiento y la clasificación de objetos. [20] [21]
La espintrónica es un campo de estudio que implica el uso del espín intrínseco y el momento magnético de los electrones en dispositivos de estado sólido. [22] [23] [24] Se diferencia de la electrónica tradicional en que explota el espín de los electrones como un grado adicional de libertad, lo que tiene aplicaciones potenciales en el almacenamiento y transferencia de datos, [25] así como en la computación cuántica y neuromórfica. Los sistemas espintrónicos a menudo se crean utilizando semiconductores magnéticos diluidos y aleaciones de Heusler.
La atomtrónica es una forma de computación que implica el uso de átomos ultrafríos en circuitos coherentes de ondas de materia, que pueden tener componentes similares a los que se encuentran en los sistemas electrónicos u ópticos. [26] [27] Estos circuitos tienen aplicaciones potenciales en varios campos, incluida la investigación de física fundamental y el desarrollo de dispositivos prácticos como sensores y computadoras cuánticas.
La fluídica, o lógica fluídica, es el uso de la dinámica de fluidos para realizar operaciones analógicas o digitales en entornos en los que los componentes electrónicos pueden ser poco fiables, como aquellos expuestos a altos niveles de interferencia electromagnética o radiación ionizante. Los dispositivos fluídicos funcionan sin partes móviles y pueden utilizar amplificación no lineal, similar a los transistores en la lógica digital electrónica. La fluídica también se utiliza en nanotecnología y aplicaciones militares.
La computación cuántica, quizás el método de computación no convencional más conocido y desarrollado, es un tipo de computación que utiliza los principios de la mecánica cuántica, como la superposición y el entrelazamiento, para realizar cálculos. [28] [29] Las computadoras cuánticas utilizan qubits, que son análogos a los bits clásicos pero pueden existir en múltiples estados simultáneamente, para realizar operaciones. Si bien las computadoras cuánticas actuales aún no pueden superar a las computadoras clásicas en aplicaciones prácticas, tienen el potencial de resolver ciertos problemas computacionales, como la factorización de números enteros, significativamente más rápido que las computadoras clásicas. Sin embargo, existen varios desafíos para construir computadoras cuánticas prácticas, incluida la dificultad de mantener los estados cuánticos de los qubits y la necesidad de corrección de errores. [30] [31] La teoría de la complejidad cuántica es el estudio de la complejidad computacional de los problemas con respecto a las computadoras cuánticas.
La computación cuántica neuromórfica [32] [33] (abreviada como 'computación cuántica n.') es un tipo de computación no convencional que utiliza la computación neuromórfica para realizar operaciones cuánticas. Se ha sugerido que los algoritmos cuánticos , que son algoritmos que se ejecutan en un modelo realista de computación cuántica , pueden calcularse con la misma eficiencia que la computación cuántica neuromórfica. [34] [35] [36] [37] [38]
Tanto la computación cuántica tradicional como la computación cuántica neuromórfica son enfoques computacionales no convencionales basados en la física y no siguen la arquitectura de von Neumann . Ambos construyen un sistema (un circuito) que representa el problema físico en cuestión y luego aprovechan sus respectivas propiedades físicas del sistema para buscar el "mínimo". La computación cuántica neuromórfica y la computación cuántica comparten propiedades físicas similares durante el cálculo [39] [40] .
La computación superconductora es una forma de computación criogénica que utiliza las propiedades únicas de los superconductores, incluidos los cables de resistencia cero y la conmutación ultrarrápida, para codificar, procesar y transportar datos utilizando cuantos de flujo único. Se utiliza a menudo en la computación cuántica y requiere enfriamiento a temperaturas criogénicas para su funcionamiento.
Los sistemas microelectromecánicos (MEMS) y los sistemas nanoelectromecánicos (NEMS) son tecnologías que implican el uso de dispositivos microscópicos con partes móviles, cuyo tamaño varía desde micrómetros hasta nanómetros. Estos dispositivos suelen constar de una unidad central de procesamiento (como un circuito integrado) y varios componentes que interactúan con su entorno, como sensores. [41] La tecnología MEMS y NEMS se diferencia de la nanotecnología molecular o la electrónica molecular en que también tienen en cuenta factores como la química de la superficie y los efectos del electromagnetismo ambiental y la dinámica de fluidos. Las aplicaciones de estas tecnologías incluyen acelerómetros y sensores para detectar sustancias químicas. [42]
La computación molecular es una forma no convencional de computación que utiliza reacciones químicas para realizar cálculos. Los datos se representan mediante variaciones en las concentraciones químicas [43] y el objetivo de este tipo de computación es utilizar las estructuras estables más pequeñas, como moléculas individuales, como componentes electrónicos. Este campo, también conocido como computación química o computación de reacción-difusión, es distinto de los campos relacionados de los polímeros conductores y la electrónica orgánica, que utilizan moléculas para afectar las propiedades generales de los materiales.
La computación peptídica es un modelo computacional que utiliza péptidos y anticuerpos para resolver problemas NP-completos y ha demostrado ser computacionalmente universal. Ofrece ventajas sobre la computación de ADN, como una mayor cantidad de bloques de construcción e interacciones más flexibles, pero aún no se ha implementado en la práctica debido a la disponibilidad limitada de anticuerpos monoclonales específicos. [44] [45]
La computación de ADN es una rama de la computación no convencional que utiliza ADN y hardware de biología molecular para realizar cálculos. Es una forma de computación paralela que puede resolver ciertos problemas especializados de manera más rápida y eficiente que las computadoras electrónicas tradicionales. Si bien la computación de ADN no proporciona ninguna capacidad nueva en términos de teoría de computabilidad , puede realizar una gran cantidad de cálculos paralelos simultáneamente. Sin embargo, la computación de ADN tiene velocidades de procesamiento más lentas y es más difícil analizar los resultados en comparación con las computadoras digitales.
La computación de membrana, también conocida como sistemas P, [46] es un subcampo de la informática que estudia los modelos de computación distribuida y paralela basados en la estructura y función de las membranas biológicas. En estos sistemas, los objetos como símbolos o cadenas se procesan dentro de compartimentos definidos por membranas, y la comunicación entre compartimentos y con el entorno externo juega un papel fundamental en el cómputo. Los sistemas P son jerárquicos y se pueden representar gráficamente, con reglas que rigen la producción, el consumo y el movimiento de objetos dentro y entre regiones. Si bien estos sistemas han permanecido en gran medida teóricos, [47] se ha demostrado que algunos tienen el potencial de resolver problemas NP-completos y se han propuesto como implementaciones de hardware para la computación no convencional.
La computación biológica, también conocida como computación bioinspirada o computación natural, es el estudio del uso de modelos inspirados en la biología para resolver problemas informáticos, en particular en los campos de la inteligencia artificial y el aprendizaje automático. Abarca una variedad de paradigmas computacionales, incluidas redes neuronales artificiales, algoritmos evolutivos, inteligencia de enjambre, sistemas inmunológicos artificiales y más, que se pueden implementar utilizando hardware electrónico tradicional o medios físicos alternativos como biomoléculas o dispositivos de computación cuántica de iones atrapados. También incluye el estudio de la comprensión de los sistemas biológicos a través de la ingeniería de organismos semisintéticos y la consideración de los procesos naturales como procesamiento de información. También se ha propuesto el concepto del universo mismo como un mecanismo computacional. [48] [49]
La computación neuromórfica implica el uso de circuitos electrónicos para imitar las arquitecturas neurobiológicas que se encuentran en el sistema nervioso humano, con el objetivo de crear sistemas neuronales artificiales inspirados en los biológicos. [50] [51] Estos sistemas se pueden implementar utilizando una variedad de hardware, como memristores, [52] memorias espintrónicas y transistores, [53] [54] y se pueden entrenar utilizando una variedad de enfoques basados en software, incluida la retropropagación de errores [55] y las reglas de aprendizaje canónico. [56] El campo de la ingeniería neuromórfica busca comprender cómo el diseño y la estructura de los sistemas neuronales artificiales afectan su computación, representación de información, adaptabilidad y función general, con el objetivo final de crear sistemas que exhiban propiedades similares a las que se encuentran en la naturaleza. Las computadoras wetware, que están compuestas de neuronas vivas, son una forma conceptual de computación neuromórfica que se ha explorado en prototipos limitados. [57]
Los autómatas celulares son modelos discretos de computación que consisten en una red de células en un número finito de estados, como encendido y apagado. El estado de cada célula está determinado por una regla fija basada en los estados de la célula y sus vecinas. Hay cuatro clasificaciones principales de autómatas celulares, que van desde patrones que se estabilizan en homogeneidad hasta aquellos que se vuelven extremadamente complejos y potencialmente Turing-completos. La computación amorfa se refiere al estudio de sistemas computacionales que utilizan grandes cantidades de procesadores paralelos con capacidad computacional limitada e interacciones locales, independientemente del sustrato físico. Se pueden encontrar ejemplos de computación amorfa que ocurre naturalmente en biología del desarrollo, biología molecular, redes neuronales e ingeniería química. El objetivo de la computación amorfa es comprender y diseñar sistemas nuevos a través de la caracterización de algoritmos amorfos como abstracciones.
La computación evolutiva es un tipo de inteligencia artificial y computación blanda que utiliza algoritmos inspirados en la evolución biológica para encontrar soluciones optimizadas a una amplia gama de problemas. Implica generar un conjunto inicial de soluciones candidatas, eliminar de forma aleatoria las soluciones menos deseadas e introducir pequeños cambios aleatorios para crear una nueva generación. La población de soluciones está sujeta a selección natural o artificial y mutación, lo que da como resultado una evolución hacia una mayor aptitud de acuerdo con la función de aptitud elegida. La computación evolutiva ha demostrado ser eficaz en diversos entornos de problemas y tiene aplicaciones tanto en informática como en biología evolutiva.
La computación ternaria es un tipo de computación que utiliza lógica ternaria , o base 3, en sus cálculos en lugar del sistema binario más común . Las computadoras ternarias utilizan trits, o dígitos ternarios, que pueden definirse de varias maneras, incluyendo lógica ternaria desequilibrada, ternaria fraccionaria desequilibrada, ternaria equilibrada y lógica de estado desconocido. Las computadoras cuánticas ternarias utilizan qutrits en lugar de trits. La computación ternaria ha sido reemplazada en gran medida por las computadoras binarias, pero se ha propuesto su uso en dispositivos de alta velocidad y bajo consumo de energía que utilizan la unión Josephson como una celda de memoria ternaria equilibrada.
La computación reversible es un tipo de computación no convencional en la que el proceso computacional puede revertirse hasta cierto punto. Para que un cálculo sea reversible, la relación entre los estados y sus sucesores debe ser biunívoca, y el proceso no debe resultar en un aumento de la entropía física. Los circuitos cuánticos son reversibles siempre que no colapsen los estados cuánticos, y las funciones reversibles son biyectivas, lo que significa que tienen el mismo número de entradas que de salidas. [59]
La computación del caos es un tipo de computación no convencional que utiliza sistemas caóticos para realizar cálculos. Los sistemas caóticos se pueden utilizar para crear puertas lógicas y se pueden cambiar rápidamente entre diferentes patrones, lo que los hace útiles para aplicaciones tolerantes a fallas y computación paralela. La computación del caos se ha aplicado a diversos campos, como la meteorología, la fisiología y las finanzas.
La computación estocástica es un método de cálculo que representa valores continuos como flujos de bits aleatorios y realiza operaciones complejas utilizando operaciones simples bit a bit sobre los flujos. Puede considerarse como una computadora híbrida analógica/digital y se caracteriza por su propiedad de precisión progresiva, donde la precisión del cálculo aumenta a medida que se extiende el flujo de bits. La computación estocástica se puede utilizar en sistemas iterativos para lograr una convergencia más rápida, pero también puede ser costosa debido a la necesidad de generar flujos de bits aleatorios y es vulnerable a fallas si no se cumple el supuesto de flujos de bits independientes. También está limitada en su capacidad para realizar ciertas funciones digitales.
1613 'RB' Yong Mans Gleanings 1, He leído la computadora más verdadera de los tiempos y el mejor aritmético que jamás haya existido, y él reduce tus días a un número breve.