La Triste Verdad: Las Computadoras son Ciegas, Sordas y Estúpidas


Quien no programa pero sabe matemáticas puede llegar a creer que si tienes la ecuación, programarla es fácil: sólo meterla a la compu y que ésta haga los cálculos. Todo erróneo. A la compu no sólo debes darle la ecuación (que es el "core" del algoritmo pero nada más), sino decirle qué hacer con ella, incluso cómo debe hacer los cálculos. Así, antes de que te des cuenta, tienes una línea de código que contiene la ecuación... y otras 49 para enseñarle a la compu a no hacer burradas con ella (como dividir entre cero, salirse del rango de valores que quieres calcular, no permitirle al usuario ingresar cualquier cosa, etc).

Un argumento que usan los creacionistas en contra de la evolución es afirmar que la evolución por sí sola no pudo haber creado un órgano como el ojo. Pero en sí, un ojo, incluso el humano, no es la gran cosa: algunas lentes, un sistema de enfoque y una cavidad llena de líquido. Ya demasiadas veces se ha hecho la comparación del ojo con una cámara fotográfica. Incluso las cámaras digitales hacen más: graban las imágenes en memoria y les pueden dar efectos de contraste, escala de grises, etc.
Lo que es realmente impresionante es lo que está detrás.
En realidad vemos con el cerebro. Los ojos no son más que nuestros "sensores de luz".
Hace meses, quise hacer un algoritmo que le permitiera la la computadora reconocer carácteres. Es tremendamente difícil. Tan difícil que un profesor me dijo que eso solo era tema para tesis de maestría.
Resaltar bordes, enfocar o desenfocar es fácil. Es apenas hacer cosas como ecualizar el histograma de la imagen, filtrarla (o convolucionarla en dos dimensiones con una pequeña matriz predefinida), o en el caso del filtro de mediana (usado para eliminar ruido) es jugar un poco con los píxeles. Pero de ahí a enseñarle a la compu a reconocer que eso que está viendo es una "K" y no una "R" es otra cosa.
Dicen por ahí que el cerebro en realidad trabaja como millones de procesadores en paralelo, a diferencia de la compu en la que escribo esto que sólo tiene uno. Una compu sólo puede ver un píxel a la vez, nosotr@s podemos ver todos los píxeles de una imagen al mismo tiempo y saber que allí dice "Baño" y no "Caño" y que eso que vuela es un avión y no un pájaro (o un bombardero, así que ¡a ocultarse tod@s!).
Y éste es el problema. Ya para reconcoer imágenes se usan algoritmos que emplean vectores y distancias, redes neuronales, etc.

Por ejemplo, una computadora no sabe lo que está reproduciendo, no puede distinguir entre Chopin y Marilyn Manson, entre un video educativo y una película porno. Si se desearía que una compu pudiera saber si está reproduciendo un video donde estallan bombas de otro donde aparece un paisaje muy tranquilo, se podría hacerle evaluar la correlación entre los frames (bastante de matemática y estadística), y si ésta es muy pequeña (com en el caso de películas con mucho movimiento, escenas muy cambiantes, ruido, etc) se le dirá que reconozca a ese video como el de los bombazos. Si la correlación es muy grande (los frames varían poco unos de otros, como en la filmación de una playa tranquila) se le dirá que califique ese video como el de un paisaje.

En el caso del audio, la mayor energía de la voz humana está comprendida desde los 20 a los 5000 Hz. Una canción tiene mayor energía en las frecuencias más altas, hasta 15 o 20 KHz. Así se le puede programar a una computadora que reconozca entre un discurso de un concierto evaluando las frecuencias de la señal de audio mediante la transformada de Fourier (ya para que en el discurso la computadora reconozca lo que se está diciendo, se requieren algoritmos muchísimo más complejos).

El mejor algoritmo, será ese que haga que la computadora se equivoque el menor número de veces.

Aún así, por ahí leí que el coeficiente de inteligencia de cualquier compu (desde la de la Nasa hasta ésta que mantengo sin virus) es exactamente cero.