Inteligencia Artificial (V)

En las primeras épocas se supuso que el conocimiento se presentaba en oraciones semejantes a «paquetes«, y que por lo tanto el mejor medio para implantar conocimiento en un programa consistía en desarrollar una forma simple de traducir hechos a pequeños paquetes pasivos de datos.

Después, cada hecho sería simplemente una pieza de datos, disponibles para su utilización por los programas. Esto es ejemplificado por los programas de ajedrez, donde las posiciones del tablero son codificadas en matrices o listas de cierto tipo, y almacenadas eficientemente en la memoria, de donde pueden ser recuperadas y accionadas mediante el empleo de subrutinas.

El hecho de que el ser humano almacene hechos de una manera más complicada era algo conocido desde hace mucho por los psicólogos, y descubierto sólo alrededor de finales del siglo XX debido a la investigación de la IA.

La concepción ingenua de que todo conocimiento debía ser codificado en piezas pasivas de datos es contradicha, en verdad, por el hecho más fundamental en materia de diseño de computadoras, por ejemplo: cómo efectuar sumas, restas, multiplicaciones, divisiones, etc., no es algo codificado en piezas de datos y almacenado en memoria. No está representado en ninguna parte de la memoria, sino en los patrones interconectados del hardware.

Hardware: partes físicas y tangibles de un sistema informático

Una calculadora de bolsillo no almacena en su memoria el conocimiento de cómo sumar, ese conocimiento está codificado en sus «vísceras«. No existe ningún punto en la memoria que pueda ser señalado si alguien pregunta:

¿Puede mostrarme dónde está localizado el conocimiento de cómo efectuar sumas en esta máquina?

Es importante puntualizar que, en principio, cualquier manera de codificación de la información en estructuras de datos o en procedimientos es tan buena como otra, en el sentido de que si no se está excesivamente preocupado por la eficacia se puede utilizar un esquema u otro. No obstante, se pueden aportar razones que indican que uno de los métodos es definitivamente superior al otro.

Consideremos, por ejemplo, el alegato siguiente en favor del empleo exclusivo de representaciones procedimentales:

En cuanto se intenta codificar aspectos de determinada complejidad como datos se está obligado a desarrollar el equivalente de un nuevo lenguaje o formalismo. Así, en los hechos, la estructura de datos se transforma en algo semejante a un programa, con alguna pieza del programa en función del intérprete. De esta manera es perfectamente posible representar en forma directa la misma información, desde el comienzo, en forma procedimental, y obviar ese nivel adicional de interpretación.