Estoy tratando de escribir un escenario de ciencia ficción en un futuro no muy lejano en el que el procesamiento de señales analógicas (ondas cerebrales, en este caso) es uno de los puntos principales de la trama y es bastante necesario para explicar algunos de los mecanismos que ocurren en el universo.
La cuestión es que la conversión de analógico a digital es costosa y puede comprimir datos en un conjunto finito de valores más fácil de manejar que, a cambio, haría que se pierda parte de la información en el proceso. Esto es algo que no quiero ya que algunas de las mecánicas requeridas para desarrollar la trama requieren diferencias sutiles en las ondas cerebrales de una persona (en este caso, utilizadas como una especie de clave biométrica). Esta última parte se puede evitar con solo agregar más recursos a una computadora digital normal, pero eso es flojo y es algo que no quiero, ya que una computadora analógica podría permitir detalles e implicaciones más interesantes.
¿Qué tan viable sería para el mundo volver a lo analógico? En el pasado, teníamos computadoras analógicas, pero cambiamos a digitales porque aparentemente no fueron diseñadas teniendo en cuenta la programabilidad (como en el caso de las ASIC) y pronto las digitales se volvieron mejores que las analógicas, por lo que no había razón para tratar de mejorar. una tecnología en desuso. Asimismo, la mayoría de nuestros dispositivos de telecomunicaciones funcionan con ondas y señales analógicas, pero se traducen a digital en algún punto del proceso (es decir, el módem) y pierden todas las propiedades que tiene una señal analógica.
DARPA intentó construir una CPU analógica de "red neuronal celular" (proyecto UPSIDE) para visión artificial en 2012, pero no hay mucha información al respecto. Aparentemente, permite velocidades mucho más rápidas a un menor costo de energía, a expensas de algunos errores de vez en cuando y lo que se ha descrito como que requiere una forma muy diferente de abordar los problemas. El problema es que no dice nada sobre qué tan programable es (que aparentemente lo es, pero no menciona si es Turing completo por sí mismo o no). Además, parece ser una computadora híbrida analógico-digital, que es el concepto que inicialmente pensé en incluir en mi historia.
En el futuro, ¿podríamos ver las siguientes cosas? ¿Qué tan superiores serían a sus contrapartes digitales? ¿Tendrían alguna limitación?
Tenga en cuenta que, si bien se supone que este escenario no es ciencia ficción dura, tampoco es ciencia fantástica. Cualesquiera que sean las respuestas, deberían ser al menos remotamente viables en la realidad y, más específicamente, factibles dentro de los próximos 70 años o menos, aunque la informática siempre podría hacer algunos avances. No debería ser necesaria la suspensión de la incredulidad para disfrutar del entorno, incluso si tuviera algo de conocimiento sobre el campo.
Nota: Supongo que podría trazar algunos paralelismos entre la computación analógica y la computación cuántica, ya que ambas parecen funcionar mejor (o solo) en algoritmos probabilísticos en lugar de deterministas, pero no se trata de cuántica. La tecnología cuántica existe en este entorno, pero es extremadamente rara y solo se usa en algunos contextos específicos, sin mencionar que la mayor parte es extremadamente experimental y el público en general ignora la existencia de prototipos algo viables.
Editar:para ser más específicos, el contexto y los casos de uso de esta tecnología son que la entrada del usuario ahora se maneja a través de una especie de matriz de electrodos implantados en el cerebro, capaces de leer la actividad/los pensamientos del cerebro del usuario. El software que maneja la salida de esta matriz ya intenta transformar la actividad cerebral en una especie de "lenguaje cerebral universal" que oculta las diferencias entre los cerebros humanos, pero aún requiere una señal analógica/de números reales/onda para una precisión fina (no como en libre de errores, pero como descriptivo) y alto rendimiento. Se eligieron las señales analógicas porque el cerebro puede recuperarse fácilmente de pequeños errores y discrepancias y porque es más similar a la forma en que funciona el cerebro humano, pero debido a las limitaciones del sistema de retroalimentación, "retraso".
Esta es también la razón por la cual las computadoras realizan operaciones en su flujo analógico de salida continuo al mismo tiempo, para reducir el tiempo que el usuario espera una respuesta. También es la razón por la que todos los algoritmos que leen directamente de la ola del usuario también son concurrentes: es mejor actualizar la ola tarde que detenerla hasta que se procese la respuesta. Además, debido a la naturaleza del cerebro, un pensamiento o secuencia de pensamientos puede leerse y predecirse a medida que se forma, pero no puede confirmarse hasta que esté completamente formado. Este detalle es extremadamente importante, ya que el dispositivo de la trama se basa en este hecho.
Piense en el intercambio de información entre una computadora y un humano como una conversación regular entre dos humanos (sería más como telepatía, pero por simplicidad, supongamos que solo están hablando).
Lo que realmente sucedió aquí es que el usuario solicitó la eliminación de un archivo específico. A medida que el usuario formaba su oración, la computadora ya comenzaba a hacer todos los preparativos necesarios para su ejecución, muy similar a la forma en que conversamos los humanos: podemos identificar una palabra por su lexema antes de que la palabra esté completamente formada, por lo que podemos adivinar más o menos lo que vendrá después, pero no podemos entender completamente las implicaciones completas de esta palabra hasta que escuchamos todos los morfemas (si los hay). Del mismo modo, podemos tratar de adivinar qué palabra puede venir a continuación y tratar de entender lo que la otra persona está tratando de decirnos, pero no estaremos seguros de los detalles hasta que la oración completa esté completa. Del mismo modo, una sola oración puede arrojar algo de luz sobre el contexto del tema en cuestión, etc. Después de completar la solicitud del usuario,
Este punto es extremadamente importante porque los hackers del futuro intentarán engañar a la máquina para que haga otra cosa (o simplemente pararla) sorprendiéndola con algún tipo de "chiste" capaz de sorprenderla. Dado que los programas de seguridad son concurrentes, no pueden comprender realmente el alcance completo de las acciones del usuario hasta que ya es demasiado tarde. Piense en ello como tender una trampa para el rey enemigo en el ajedrez durante varios turnos: la mayoría de los movimientos "ilógicos" realizados anteriormente comienzan a tener sentido en el momento en que matan a su rey. El párrafo que hablaba de grullas en realidad hablaba de pájaros y no de cajas, pero la computadora nunca podría haberlo visto venir, ya que opera principalmente en oraciones y no en contextos tan grandes como un párrafo o un texto pequeño; en general,
Para identificar lo que el usuario está tratando de decir, la CPU moderna incorpora una red neuronal que permite que el sistema operativo reconozca retroactivamente el sentido de las palabras después de escuchar una cadena de letras. La mayoría de las veces, esto se abstrae de los programas de la zona del usuario mediante el uso de bibliotecas y API, aunque pueden obtener acceso al wavestream dependiendo de sus permisos.
El sistema de "autenticación biométrica" que mencioné antes en realidad opera en grandes segmentos de la corriente. Dado que la conversión automática al "lenguaje cerebral universal" reduce (¡no elimina!) la variación entre los cerebros de los usuarios, tratar de identificar a un usuario solo por estas diferencias es imposible (sin mencionar que el ruido, aunque pequeño pero aleatorio, que puede tener la línea , tal nivel de detalle sería imposible). Esta es la razón por la cual el software de autenticación de usuarios opera en un conjunto más amplio de pensamientos: detecta el estado mental aproximado del usuario (emocionado, enojado, relajado, etc.) y los "manierismos" que pueda tener. Esto es más o menos el equivalente al acento que puede tener una persona o al análisis estilométrico de sus textos: los identifica con un alto grado de precisión, pero no es infalible.
Este "lenguaje cerebral universal" del que hablo sería más o menos como cualquier idioma humano (como el inglés). Codifica información para que todos puedan entenderla, pero no es digital porque la forma en que lo hablas puede decir algo más sobre tu mensaje que lo que el idioma puede expresar. Eso significa que, en el ejemplo de la conversación, el usuario puede estar pensando en eliminar como símbolo A modificando el factor B, mientras que el software lo traduce al símbolo X modificando el factor Y (que puede ser igual a B, aunque no he pensado en eso todavía. No creo que realmente importe). El factor de modificación es lo que le dice a la computadora que no solo pensó en eliminar, sino que también parece sonar como si el usuario estuviera algo angustiado o enojado: son metadatos analógicos que serían difíciles de traducir a digital sin sacrificar su significado. Aquí es donde las redes neuronales de la CPU intentan adivinar qué significan estos metadatos, de la misma manera que un humano intentaría adivinar qué significa ese tono de voz; puede ser más fácil adivinar cuándo el factor de modificación es más fuerte.
Lo que originalmente quise decir con esta pregunta es: ¿ cómo podría la CPU procesar esta onda cerebral? ¿Podría alguna tecnología operar directamente en esta onda mediante el uso de programas de operación analógica o se requeriría convertir a digital para todos los casos? Tenga en cuenta que la CPU tiene un coprocesador digital que puede procesar esos problemas donde la computadora analógica no puede procesar tan bien, aunque la comunicación entre estos dos puede ser un poco más lenta de la misma manera que las transferencias de memoria a caché en el dado son lentas. ¿Podría la CPU analógica ser una máquina de Turing universal, independientemente de lo práctico que pueda ser? Alternativamente, si este no es el caso,¿Sería la emulación analógica en una CPU digital (simulaciones de redes neuronales emuladas, como una simulación cerebral parcial) la única forma de abordar este problema? Además, ¿podría almacenarse persistentemente en algún lugar la información sobre una ola? ¿Se podría almacenar dicha onda almacenada como una onda y no como una "parametrización" de una onda?
Disfruto mucho jugar con este tema, así que voy a darle la vuelta a la pregunta. ¡Todas las computadoras que se fabrican hoy en día son computadoras híbridas analógicas/digitales que quizás no conozcas!Las velocidades de reloj modernas son tan asombrosamente rápidas que nos encontramos haciendo acondicionamiento de señales analógicas en medio de nuestro equipo supuestamente digital. Los subsistemas de memoria modernos utilizan técnicas analógicas para generar tantos bits digitales como sea posible a través de la tubería. Los rastros físicos a lo largo de los tableros se enrutan para que tengan la misma longitud que otros cables en el bus, y son estructuras que alinean las líneas de transmisión analógicas en el CB. Las CPU tienen que preocuparse regularmente por el aumento de la capacitancia parásita entre sus elementos lógicos, lo que limita el "abanico" de una salida a múltiples entradas. Gigabit Ethernet en realidad se basa en la superposición analógica de voltajes para lograr sus velocidades extremas. Lo analógico aparece en todas partes en la informática, por lo que claramente no es el hardware del que estamos hablando cuando hablamos de lo analógico frente a lo digital.
Creo que la distinción más importante en el mundo analógico frente al digital se encuentra en nuestros modelos de dichos subsistemas informáticos. No es que una CPU no tenga una combinación de analógico/digital, sino el hecho de que modelamos nuestras CPU como si fueran puramente digitales lo que realmente importa. Nos gusta fingir que nuestras CPU son estructuras digitales perfectas cuando escribimos miles de líneas de código para ejecutarlas. La brecha entre lo analógico y lo digital está más en la mente de los desarrolladores que en el hardware real. Los fabricantes de hardware adoptaron la parte analógica de su trabajo hace mucho tiempo.
En consecuencia, la viabilidad de la computación "analógica" estaría firmemente asentada en el deseo de los programadores de responder preguntas que se manejan mejor en forma analógica. Una vez que el deseo está allí, los fabricantes de hardware les expondrán felizmente el comportamiento analógico. Luego comenzaría la lenta tarea de crear comportamientos analógicos útiles (aquí es donde encaja el esfuerzo de DARPA).
Entonces, ¿cuándo es útil un modelo analógico? La respuesta más importante que se me ocurre es la metaestabilidad. A los circuitos digitales realmente les gusta resolver un estado verdadero o falso para cada bit de información. De hecho, si proporciona un voltaje a mitad de camino a muchos circuitos lógicos digitales, puede entrar en estados metaestables donde el circuito puede dejar de comportarse según lo previsto durante un tiempo arbitrario después de que se haya resuelto el voltaje a mitad de camino. A nivel de hardware, pasamos mucho tiempo evitando que nuestros circuitos lógicos "vean" los puntos metaestables a medida que los voltajes oscilan de bajo a alto, generalmente usando "reloj" para hacerlo.
¿Dónde sería útil esto? Una cosa que mencionaste fue la energía. La computación analógica puedeser más eficiente energéticamente que el digital porque puede adaptar sus relaciones señal-ruido al momento. Considere un número digital, en binario, 100001. Este es el número 33 en decimal. Si el ruido corrompe el bit más a la izquierda, se convierte en 000001, que es 1 en decimal. Si el ruido corrompe el bit más a la derecha, se convierte en 100000, que es 32 en decimal. En algunas situaciones, la diferencia en el significado semántico de 33 y 32 es bastante mínima, y es posible que esté dispuesto a aceptar algún error en el bit más a la derecha, a cambio de ser más eficiente. Es posible que esté menos dispuesto a aceptar el error en el bit más a la izquierda, que cambia 33 en 1. Sin embargo, si ese 33 está en una ecuación, digamos tal vez 33 - 32, de repente esa resta hace que todos los bits sean importantes. ¡La diferencia entre un 1 o un 0 de esa resta podría ser un gran problema! Los modelos digitales no pueden implementar tal toma de decisiones, porque tendrían que admitir un modelo analógico debajo para hacerlo. Mientras tanto, su mente no tiene ningún problema en estar a una pulgada de distancia cuando mueve la mano de izquierda a derecha para despedirse de alguien y luego aumenta la precisión para escribir algo legible.
Esto sería muy poderoso si estuviera tratando con operaciones paralelas muy complejas. En este momento, si dos procesos intentan escribir valores diferentes en la misma ubicación, deben ser "desconflictos". Uno debe ganar, y el otro debe perder. El proceso ocurre en un abrir y cerrar de ojos, mucho más rápido de lo que cualquiera de los dos procesos sabía. Sin embargo, ¿qué pasaría si sus dos procesos quisieran ser más inteligentes y realmente hablaran sobre sus diferencias para determinar cuál podría ser el resultado final? Esta sería una operación natural en una computadora analógica. En una computadora digital, tenemos que pasar por muchos obstáculos para que eso suceda (y, por lo general, elegimos arreglar el "caso de la carrera" en su totalidad y seguir adelante).
Un punto final de la metaestabilidad es su capacidad para estar quieto. Un circuito sentado en su estado metaestable puede estar listo para cobrar vida a la menor sensación. Hacer esto en digital es difícil, porque las brechas entre las señales altas y bajas son muy grandes. Por lo general, tenemos que personalizar circuitos digitales personalizados para pasar estas señales de disparo rápido, mientras que una computadora analógica podría manejarlas intrínsecamente en todas las señales. Si una computadora se detiene, tiene que detenerse en un estado fijo. El cómputo cesa. En cambio, una computadora analógica puede disminuir el consumo de energía cada vez más, conduciendo hacia un estado equilibrado, sin detenerse nunca. Luego, cuando la computadora se reanuda, ¡es posible que haya logrado algo mientras estaba parada!
En el futuro, es posible que tenga un gran avance en el desarrollo de computadoras analógicas que emulen las características y la eficiencia de un cerebro humano . Al igual que hoy en día, una computadora digital se combina con una GPU especializada para gráficos, el cerebro analógico tendría un coprocesador de CPU digital para manejar las cosas en las que las computadoras digitales son buenas. En esencia, tendría algo que podría hacer las cosas en las que los humanos son buenos (coincidencia de patrones, estimación) que puede hacer referencia a algo en lo que las computadoras son buenas (matemáticas muy rápidas y muy precisas).
Imagine un robot que no solo pudiera debatir sobre política, sino que al mismo tiempo realizara la investigación y las estadísticas necesarias para sopesar sus decisiones.
Puede explotar dos características de la computación analógica frente a la digital en su mundo: calor y precisión frente a exactitud. Y construir en torno a nuestro fracaso de décadas para lograr la IA utilizando la computación digital, algo que sentimos que estamos en la cúspide desde los años 60. Me imagino un mundo en el que, a medida que las computadoras se integran cada vez más en la vida cotidiana, las máquinas con pensamiento humano se vuelven cada vez más importantes y las computadoras analógicas son mejores en eso.
Los cerebros humanos difieren de las computadoras digitales en algunas formas clave. Las computadoras digitales tienen que ser diseñadas, entendidas y construidas por humanos, y a los humanos les gustan las cosas simples y ordenadas. El cerebro humano ha evolucionado durante cientos de millones de años de prueba y error y no tiene tal restricción. Como resultado, los cerebros humanos pueden hacer cosas de formas sorprendentes. Las computadoras digitales son construidas por humanos para ser simples , combinan muchas, muchas de unas pocas partes básicas en formas novedosas. El cerebro humano es muy, muy, muy complejo.utilizando miles de neuronas especializadas, cada una de las cuales realiza múltiples tareas especializadas y se reutiliza y recombina de formas sorprendentes. El resultado es un cerebro digital predecible y preciso, pero a costa de flexibilidad y eficiencia, mientras que un cerebro humano es impredecible y descuidado, pero muy flexible y muy eficiente.
Su sociedad futura necesitará una razón para pasar de la precisión y la previsibilidad a la flexibilidad y la eficiencia.
La computación digital hace una cosa realmente bien: calcula de manera muy precisa, muy predecible y muy rápidamente un cierto subconjunto de problemas . Para otros problemas será terriblemente lento. Hará exactamente lo que le digas que calcule y eso es todo lo que hará . Y, como todos sabemos, a las computadoras digitales les cuesta mucho aprender o manejar algo nuevo. Como todos sabemos, es muy fácil incluso para una buena IA mantener una conversación convincente.
El cerebro humano, una computadora analógica, a veces es muy preciso ( golpear una pelota de béisbol ), a veces muy descuidado (matemáticas y estadísticas), a veces muy rápido (béisbol y estimación), a veces muy lento (matemáticas precisas), pero te dará una respuesta. Y puede resolver algunos problemas mucho, mucho más rápido y de manera más confiable que una computadora, por ejemplo, visión por computadora, problemas de búsqueda de rutas y coincidencia de patrones. Lo hace todo muy, muy, muy eficientemente y puede manejarlos todos . Es una computadora verdaderamente de propósito general. El mismo cerebro que puede golpear una bola rápida puede hacer cálculos, mantener una conversación, atravesar obstáculos y cocinar una comida.
El cerebro humano es extremadamente eficiente y no estamos ni cerca de emular lo que es capaz de hacer. Tomemos, por ejemplo, el Proyecto Cerebro Humano . El profesor Steve Furber de la Universidad de Manchester tiene esto que decir sobre su intento, SpinNNaker .
Con 1.000.000 de núcleos [ARM] solo llegamos a alrededor del 1 % de la escala del cerebro humano.
El ARM968 que están usando no es exactamente el mejor de la línea, el Nintendo DSi usa uno a 133Mhz, pero habla de cuán importante es el paralelismo y la gestión del calor en la informática moderna y cuán malos somos en eso.
Aquí hay algunos videos de Computerphile sobre el tema.
De hecho, trabajé en computadoras analógicas en mi "año sabático", alrededor de 1968, en Redifon (el brazo industrial de Rediffusion, una compañía de cable avant-le-lettre).
Supongo que estos eran (en ese momento) bastante avanzados, pero no eran de lo que se hace un bolso de seda .
No puedo encontrar imágenes, pero la programación implicó enchufar cables en un panel de parches de aproximadamente 100 cm x 80 cm, con quizás 50 x 40 enchufes. Un problema completo podría involucrar de 100 a 400 cables (piense en esto ), sin mencionar varias docenas de páginas de notas.
Una vez que tenía un programa funcionando, daba respuestas en tiempo real a las variaciones en las entradas o parámetros, con una velocidad y precisión que el mundo digital solo logró alrededor de 2000 (¡30 años después!)
La depuración era un problema (no había forma de rastrear las variables); y la estabilidad era otra: si uno de los amplificadores operacionales (entradas JFET, salidas bipolares) se volvía inestable, toda la computadora se convertía en lo que llamamos un "árbol de Navidad" con todas las luces de sobrecarga parpadeando.
Así que sus preguntas: analog CPU
olvídenlo.
hybrid CPU
: ni idea.
analog/RAM storage
: teóricamente posible con [super]-condensadores pero no muy práctico.
Analog-oriented programming languages
: Realmente no puedo ver un puente entre los cables en un panel de conexión y el concepto moderno de programación.
En su historia, si quiere un paralelismo con la vida real, sería mejor que usara convertidores de analógico a digital y tuviera tantos bits como necesita para capturar las mejores emociones.
Se han probado antes y son peores que digitales.
MOSFET VS BJT Entonces, el componente central de la CPU y la memoria son interruptores eléctricos llamados transistores. Hay dos tipos principales de transistores MOSFET digitales y transistores de unión bipolar analógicos. La razón por la que las computadoras son digitales es porque los MOSFET son mucho mejores. Los circuitos analógicos solo se usan cuando el circuito tiene que ser analógico.
Los MOSFET tienen más efecto de potencia, ya que solo consumen energía cuando 'cambian', los BJT usan energía cuando la máquina está encendida. Los MOSFET se pueden hacer mucho más pequeños sin introducir errores porque tienen corrientes de fuga más pequeñas. Esto significa que puede obtener 100 o 1000 de MOSFET por el mismo espacio de potencia y calor de un BJT.
Los intentos de CPU y RAM analógicos se realizaron utilizando lógica multinivel, fueron menos efectivos que simplemente más digitales.
Hay procesadores digitales analógicos híbridos, por lo general toman la entrada analógica y la convierten en proceso digital y luego la vuelven a convertir en salida analógica. Echa un vistazo a los microcontroladores como el arduino.
Las computadoras actuales simulan números analógicos con números de coma flotante y tienen procesadores digitales especiales para simular operaciones de coma flotante. Si los procesadores analógicos mejoraran, podrían reemplazar las unidades de coma flotante en las CPU actuales.
En teoría, un punto de datos analógico contiene una cantidad infinita de información si se puede medir con una precisión infinita, sus 1.23245... voltios, los dígitos decimales en teoría continúan para siempre. Pero nunca podemos usar esos puntos porque hay un ruido aleatorio impredecible. Una gran parte del campo de la ingeniería eléctrica está tratando de hacer frente al ruido. Dado que el ruido hace que parte de la información sea utilizable, ¿por qué no comenzar con un conjunto de datos más pequeño y menos ruidoso? La teoría de la información muestra que eliminar el ruido aleatorio de una señal es un problema realmente difícil a menos que ya conozca la señal original.
La óptica es genial, pero sigue siendo 1000x demasiado grande y 1000x demasiado lenta para competir con la CPU estándar. Debería poner esto en perspectiva, una CPU actual tiene alrededor de 3 mil millones de transistores que cambian mil millones de veces por segundo, una preocupación importante de diseño es que los electrones deben tener suficiente tiempo para cruzar el chip entre los interruptores y seno solo se mueven a la velocidad de luz solo cubren una pulgada o dos en ese tiempo. Todo el asunto puede costar menos de treinta dólares. Es difícil competir con eso.
Podría valer la pena considerar lo que ha hecho la naturaleza. "No hay nada nuevo bajo el sol" no es cierto pero tampoco está muy lejos.
Así que la computación digital parece haber venido primero. ADN, ARN, codones de terminación, un codón de escape, etiquetado epigenético, detección de errores y mecanismos de corrección dentro de cada célula. Parece tener todas las características de un sistema digital. Un error de una base (bit) puede no tener impacto o puede cambiar completamente el organismo (resultado).
Y luego evolucionaron los sistemas híbridos. Nervios y redes neuronales. Sesos. No los entendemos completamente. Una sola neurona acepta muchas entradas analógicas de otras neuronas y parece generar algo así como una suma ponderada de sus entradas. Si esa suma supera un umbral, la neurona se "dispara". La celda es biestable, binaria, disparando o no. Los pesos son modificados por el disparo de neuronas conectadas. Y en un cerebro las neuronas son elementos de una red absolutamente enorme.
Las sinapsis, las conexiones entre la salida de una neurona y la entrada de otra neurona, son sistemas moleculares complejos. No es un simple análogo. Térmico-ruidoso. Posiblemente, más cuántico-mágico que simplemente ruidoso. Tenga cuidado con cualquiera que diga que las sinapsis individuales son simples y bien entendidas.
Lo que falta son sistemas analógicos puros sin histéresis. Los sistemas de la naturaleza, si reaccionan a las entradas analógicas, siempre parecen diseñados con umbrales de activación que son mayores para que se enciendan que para que se apaguen. No muy diferente de un simple interruptor eléctrico ordinario. No a mitad de camino.
¿Ordenadores analógicos puros? Intuición, no útil excepto para dominios de problemas muy restringidos. Híbridos, ¿cerebros intrínsecamente superiores a las CPU digitales? Pregunta abierta.
Recuerdo este ejemplo de un artículo de hace mucho tiempo en Scientific American porque era completamente contrario a la intuición (On the Spaghetti Computer and other Analog Gadgets for Problem Solving", en Computer Recreations Column (1984) http://www.scientificamerican.com /article/computer-recreations-1984-06/ ). La computación analógica puede ser, en muchos casos, más rápida que la computación digital, pero aparentemente solo en el procesamiento real. La entrada y la salida requerían mucho trabajo y podían llevar mucho tiempo.
El ejemplo dado fue una "computadora espagueti". Si cada hebra de espagueti crudo se cortara a una longitud diferente correspondiente a las entradas, en teoría podrías hacer una computadora ensamblando las longitudes de espagueti en tu mano correspondientes a las entradas y golpeando el paquete "con el extremo" en el mostrador. La respuesta se derivaría del patrón de puntas de espagueti altas y bajas que sobresalen del otro extremo de su mano desde el mostrador.
Por lo tanto, habrá pasado minutos u horas cortando y ensamblando las longitudes de su computadora de espagueti, y es posible que deba pasar algún tiempo mirando la "salida" para comprender la respuesta, pero el acto real de "computación" toma una fracción de segundo. para golpear el paquete de espaguetis en el suelo.
Si bien esto parece un poco inútil (y escalar para resolver problemas realmente grandes con un "Super Spaghetti Analogue Gadget" también será difícil y complicado, hasta que lo reduzcas para la cena posterior a la computación), las computadoras analógicas son potencialmente viables para resolver NP completa problemas que bloquearían las computadoras digitales durante eones.
Entonces, el verdadero quid de la cuestión es qué tipo de problemas se están resolviendo que requieren los atributos especiales de una computadora analógica. A menos que esté tratando de resolver algún tipo de problema completo de NP o evitando el "problema de detención" de una máquina de Turing, las computadoras digitales se han refinado a un grado muy alto de potencia y precisión. La única otra gran ventaja de una máquina analógica proviene del hecho de que la mayoría de los ejemplos que he escuchado son esencialmente de naturaleza mecánica o electroquímica, por lo que no se verán afectados por picos de energía, EMP y otros factores ambientales que pueden afectar a las computadoras digitales.
No respondo a todos tus puntos, pero...
CPU analógica que ejecuta los programas que ejecutamos hoy , no (como ya se respondió). Las computadoras analógicas no fueron diseñadas para operaciones secuenciales paso a paso; fueron diseñados para resolver clases específicas de problemas en gran parte matemáticos.
Híbrido , seguro... no hay razón para que una computadora digital no pueda conectarse a una computadora analógica, aunque puede que no haya muchos beneficios al hacerlo.
RAM analógica ... tal vez no sea una gran idea. Por ejemplo, almacenar una cantidad como un cargo puede funcionar, hasta que se filtre y el valor que lea no sea el mismo que almacenó. Prácticamente cualquier otro concepto que pueda pensar para el almacenamiento analógico sería vulnerable a la distorsión o pérdida de la información almacenada. La ROM analógica, por otro lado, es totalmente práctica: el buen maestro del fonógrafo.
Comunicación totalmente analógica - totalmente práctica. Así es como hicimos las cosas hasta la década de 1970 para voz y hasta al menos la década de 1990 para video. Incluso los datos digitales se enviaron originalmente como tonos analógicos.
Me gustaría tomar un rumbo diferente:
En una computadora analógica de propósito general... ¿cómo se hace una puerta NAND?
La razón por la que las computadoras de propósito general son tan flexibles es el hecho de que cada pieza de la lógica interna se puede crear a partir de un solo elemento: la puerta NAND. invertida y. Esto proporciona integridad funcional... todas y cada una de las demás funciones lógicas se pueden construir solo con compuertas NAND.
Ahora, usted puede hacer fácilmente puertas más eficientes en cuanto a espacio y energía para hacer esas otras funciones lógicas... pero la clave es que todo se puede resumir a partir de un concepto, y a partir de ese concepto se puede construir todo lo demás.
Entonces, ¿cuál es el equivalente analógico de una puerta NAND?
Podría imaginar una fusión entre circuitos analógicos y digitales; hacemos este tipo de cosas todo el tiempo. Tienes una tarjeta de sonido... eso es lo que hace. Antiguas tarjetas de video usadas para emitir señales analógicas para video. Wifi tiene que traducir entre ondas electromagnéticas y señales digitales.
Una capa de circuitos analógicos filtraría los datos, que luego podrían procesarse increíblemente rápido en una computadora digital de propósito general. El poder del futuro parece ser la fusión de lo analógico y lo digital, aprovechando las fortalezas de ambos y anulando los problemas del otro.
Solucionamos problemas de diferentes maneras... pero el reconocimiento de voz del asistente de Google es increíblemente preciso en estos días. Claro, usa una base de datos masiva de registros para identificar el habla, en lugar de usar un trozo de carne del tamaño de un dedo... pero eso está jugando con las fortalezas de la computación digital. Procesando miles de millones de piezas de datos en un abrir y cerrar de ojos.
Sí, es posible diseñar una CPU que sea 100% analógica. Las imágenes en 3D no son tan difíciles. Lo difícil es convencer a la gente de que el hecho de que crean todo lo que les han dicho sobre las computadoras analógicas es exactamente la razón por la que nadie ha logrado crear una CPU analógica completa en el sector comercial. Es pereza e incompetencia.
Las imágenes en 3D básicamente ya se pueden hacer. Si solo observa algunas de las antiguas placas de video analógicas que podrían "sesgar" y "estirar" las imágenes de transmisión en los viejos tiempos en las estaciones de noticias de televisión, eso es básicamente todo. Un polígono simple solo necesitaría algunas entradas y opciones adicionales para sesgarlo correctamente y luego agregar más polígonos a la pantalla. Es así de simple. Excepto que puede tener una imagen de alta resolución y no estaría preocupado por los píxeles, y sería realmente barato.
Hay un ejemplo antiguo de una computadora analógica que ejecuta una simulación física de automóvil/terreno en youtube. Es 2d pero, de nuevo, es básicamente solo una CPU analógica estándar. Aquí está, pero no muestra el automóvil, las ruedas o la carretera reales en este. https://www.youtube.com/watch?v=AEJtajaRj_s
Las computadoras analógicas son mucho más eficientes en términos de energía y poco a poco están ganando más atención a medida que madura el aprendizaje automático.
https://ieeexplore.ieee.org/document/8490883 https://phys.org/news/2018-06-future-ai-hardware-based-analog.html
"Las técnicas analógicas, que involucran señales continuamente variables en lugar de 0 y 1 binarios, tienen límites inherentes en su precisión, razón por la cual las computadoras modernas son generalmente computadoras digitales. Sin embargo, los investigadores de IA han comenzado a darse cuenta de que sus modelos DNN aún funcionan bien incluso cuando son digitales. la precisión se reduce a niveles que serían demasiado bajos para casi cualquier otra aplicación informática. Por lo tanto, para las DNN, es posible que tal vez la computación analógica también funcione.
Sin embargo, hasta ahora, nadie había probado de manera concluyente que tales enfoques analógicos pudieran hacer el mismo trabajo que el software actual que se ejecuta en hardware digital convencional. Es decir, ¿pueden realmente entrenarse las DNN con una precisión equivalentemente alta con estas técnicas? No tiene mucho sentido ser más rápido o más eficiente energéticamente en el entrenamiento de un DNN si las precisiones de clasificación resultantes siempre van a ser inaceptablemente bajas.
En nuestro artículo, describimos cómo las memorias analógicas no volátiles (NVM) pueden acelerar de manera eficiente el algoritmo de "propagación hacia atrás" en el corazón de muchos avances recientes de IA. Estas memorias permiten que las operaciones de "multiplicación-acumulación" utilizadas en estos algoritmos se paralelicen en el dominio analógico, en la ubicación de los datos de peso, utilizando la física subyacente. En lugar de circuitos grandes para multiplicar y sumar números digitales, simplemente pasamos una pequeña corriente a través de una resistencia a un cable y luego conectamos muchos de esos cables para permitir que las corrientes se acumulen. Esto nos permite realizar muchos cálculos al mismo tiempo, en lugar de uno tras otro. Y en lugar de enviar datos digitales en viajes largos entre chips de memoria digital y chips de procesamiento, podemos realizar todos los cálculos dentro del chip de memoria analógico".
Con las computadoras analógicas, no podría almacenar información de manera confiable, ya que siempre cambiaría la señal analógica al realizar la medición o simplemente porque había un poco de ruido, sin mencionar que necesitaría inventar una forma de almacenarla en El primer lugar.
La razón por la que usamos señales digitales es porque puede tener, por ejemplo, 0 V o 1 V y si el voltaje se desvía un poco, el sistema todavía lo reconoce como el correcto. Sin embargo, en su pregunta solicita un sistema analógico que pueda notar diferencias sutiles en las ondas cerebrales de una persona.
Lo que está buscando es una tarjeta de expansión que se encargue de la información analógica y encuentre la manera de almacenarla perfectamente en forma digital (por ejemplo, podría reconocer cada onda simple que compone una onda complicada y almacenar aquellas que se almacenarían fácilmente) .
Incluso podría presentar esta tarjeta de expansión con un nombre genial como Brain Card y nunca explicar cómo funciona (o dar una explicación simple como acabo de hacer), solo que la gente la compra y la usa para almacenar sus ondas cerebrales con 100% de precisión.
sdrawkcabdear
a1901514
Schwern
Hacedor de sirenas
Innovino
Dschoni
dormilón
bosque
JanKanis