16 votos

¿Por qué necesitamos electrónica no lineal para la informática?

Cuando leo sobre fotónica, siempre veo que se pueden utilizar para transformaciones lineales (sólo multiplicaciones matriciales), y que ésta es una limitación que las hace inadecuadas para construir un microprocesador fotónico completo. ¿Por qué son insuficientes las transformaciones lineales? ¿Qué tipo de cálculos requieren transformaciones no lineales, y existe algún subtema en EECS que aborde la separación entre aplicaciones de operaciones lineales y no lineales?

29voto

jp314 Puntos 1721

La mayoría de los ordenadores utilizan la lógica digital. Los circuitos digitales son "restauradores" y minimizan (eliminan) la propagación de errores a nivel de señal. Los circuitos analógicos (que se utilizan para transformaciones lineales) suelen añadir ruido (errores) y disminuir la precisión a medida que se propagan las señales, lo que los hace inadecuados para cálculos complejos de varias etapas.

Básicamente, si una puerta lógica tiene una señal (nivel de tensión) que es alta, o "casi alta", su salida estará aún más cerca de ser "perfecta". Lo mismo ocurre con las señales bajas. Esto significa que un nivel lógico se propagará a través de la lógica (con algunos retrasos), pero en cada paso no pierde calidad; de hecho, mejora la precisión de la señal.

Esto se debe a que las puertas lógicas digitales no son lineales. Para las señales de entrada cercanas al punto de transición, tiene una ganancia muy alta, por lo que la señal de salida estará más alejada del punto de transición. Dado que los niveles de las señales de entrada y salida abarcan el mismo rango, el corolario de esto es que a medida que el nivel de entrada se aleja del punto de transición, la salida se satura -- es decir, se aproxima asintóticamente al nivel ideal; esto implica que en esta condición la ganancia es muy baja. Por tanto, el circuito no es lineal.

Esto significa que, incluso para implementar cálculos lineales (por ejemplo, multiplicación de matrices), sólo las manipulaciones más básicas son prácticas (es decir, suficientemente precisas) para implementarlas con circuitos analógicos (por ejemplo, ganancia de opamper o integradores). Cuando los algoritmos lineales se implementan digitalmente (por ejemplo, el cálculo en coma flotante) es práctico tener millones de variables y miles de millones de cálculos, lo que no es factible con una implementación analógica.

Hay algunos casos en los que las implementaciones analógicas (lineales) pueden ser mejores: circuitos de muy bajo consumo en los que unos pocos transistores pueden realizar un cálculo que requeriría miles de puertas digitales, o circuitos de muy alta velocidad (varios GHz) en los que la lógica digital no es suficientemente rápida y se tolera cierto ruido (imprecisión). Algunos ejemplos son la parte frontal de los sistemas RADAR, donde el procesamiento y filtrado inicial de la señal se realiza con circuitos analógicos.

para aclarar - incluso si el cálculo es lineal, generalmente se implementa de forma más robusta con electrónica digital (por ejemplo, un ordenador), probablemente con representaciones de coma flotante, y el cálculo utilizando que utiliza funciones no lineales (operaciones lógicas binarias).

7voto

Toor Puntos 777

Creo que estás confundiendo las matemáticas lineales con la electrónica lineal al intentar verlo todo a través de la lente de las matemáticas abstractas. O quizás confundiendo el método (la lógica de las matemáticas que se realizan) con los medios (la representación física de esa lógica y cómo se lleva a cabo físicamente el cálculo).

Nuestra informática digital se basa en unos y ceros porque los interruptores que conducen o no conducen son fáciles de construir en la vida real. Esa es la razón. Esa es la razón por la que hacemos las cosas como las hacemos. No hay necesidad de pensar en matemáticas como transformaciones de linealidad.

Pero ocurre que un interruptor es un dispositivo no lineal porque el espectro de frecuencias de la señal que obtienes del interruptor no se limita al espectro de frecuencias de la señal que utilizas para controlar el interruptor. Pero eso es que no usamos interruptores porque necesita dispositivos no lineales en informática. Es al revés. Utilizamos interruptores por razones mucho menos abstractas y resulta que son dispositivos no lineales.

6voto

John Doty Puntos 211

Pedimos a los ordenadores que calculen funciones arbitrarias de sus entradas. La mayoría de las funciones no son lineales. El ejemplo más sencillo es la comparación if(a>b) ... . Un ordenador lineal no puede tomar decisiones.

3voto

Douglas Mayle Puntos 7216

Consideremos la suma de dos números en binario. Para empezar, pueden ser números de 1 bit:

+

0

1

0

00

01

1

01

10

En realidad, aquí hay dos circuitos/funciones, uno para cada bit de la salida. El bit menos significativo de la suma está representado por la función XOR:

XOR

0

1

0

0

1

1

1

0

y la salida "carry" está representada por la función AND:

Y

0

1

0

0

0

1

0

1

Ambos son no lineales. AND es al menos monótona: se podría representar utilizando una función lineal de sus dos entradas y luego una operación de umbralización - pero por supuesto el umbral no es lineal como detalla jp314. XOR ni siquiera es tan bueno: nunca se puede trazar una línea nítida entre las entradas que obtienen una salida 0 y las que obtienen una salida 1.

Sumar dos números de más de un bit requiere encadenar las salidas de un sumador a la entrada de otro sumador, por lo que la ausencia o presencia de un bit en un punto dado de la salida es una función muy poco lineal de cada bit menos significativo de ambas entradas.

¿Es esto consecuencia de nuestra insistencia en la representación binaria? Más o menos. ¿Qué pasa con los ordenadores analógicos? Bueno, se llaman así porque los voltajes dentro de la computadora son análogo a los valores del cómputo. Un ordenador analógico con sólo elementos lineales sólo podría resolver problemas lineales y, por tanto, sería bastante poco emocionante.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X