Què és una màquina computacional?
Generalmente se entiende que un robot es un dispositivo mecánico que está controlado por un programa de ordenador, o un conjunto de programas. El aspecto físico es secundario: el robot puede parecerse o no a un ser humano (se suele hablar de androide masculino o ginoide femenina), pero también puede ser simplemente un brazo mecánico, o un electrodoméstico de cocina (por ejemplo, una máquina programable para hacer pan casero); incluso puede ser un robot “virtual” que habita en la red. También es secundario el hecho de que el robot esté hecho de materiales inorgánicos, materiales orgánicos, o una mezcla de ambos. Lo esencial es que un robot está controlado por un programa que corre en un ordenador; es decir, el robot es una máquina algorítmica o computacional. Se diferencia de otras máquinas (como un motor de combustión interna, un telescopio o una antigua radio de transistores) en que su funcionamiento está codificado en un programa que es relativamente fácil de cambiar, sobre todo si lo comparamos con aquellas máquinas cuyo funcionamiento es invariable.
¿Y qué es un programa? Un programa, o mejor, un algoritmo, es en pocas palabras un procedimiento “mecánico” (es decir, basado en reglas obedecidas ciegamente) que obtiene un determinado resultado en un número finito de pasos. Es como una receta de cocina, pero en la cual todos los pasos están perfectamente detallados y no se deja nada a la interpretación del cocinero. Aunque entre los científicos de la computación no se ha alcanzado un consenso universal sobre la definición de algoritmo, sí se admite que un elemento esencial de la definición es que todo algoritmo debe tener un objetivo bien definido [1]. Un programa no se limita a hacer cosas, sino que las hace con un determinado propósito.
Al igual que cualquier otra máquina, un robot (que es una máquina computacional) se define principalmente por su propósito, es decir, la tarea que debe cumplir y para la cual ha sido diseñado. En realidad, rara vez una máquina computacional tiene un único propósito: más bien, lo habitual es que tenga varias tareas que cumplir. Por ejemplo, un sistema domótico puede encargarse de controlar la temperatura, humedad e iluminación de una vivienda, así como advertir de posibles situaciones de emergencia (intrusiones, fuego, etc.). Pero todas estas tareas pueden englobarse bajo un único propósito global: mantener el confort y seguridad de los ocupantes de la vivienda.
La esencia del robot y de cualquier máquina es, por tanto, obedecer a su propósito, el fin con el que ha sido diseñado. Es más, conocer el propósito de un robot es lo que permite decir si funciona bien o mal: si no sé para qué ha sido diseñado, no puedo someterlo a control de calidad. Y es un propósito que el robot no se ha dado a sí mismo, sino que se lo han impuesto desde fuera. Un robot algorítmico no puede cuestionarse su finalidad, porque dejaría de ser un robot, una máquina.
Supongamos un robot que juega al ajedrez contra un humano con el objetivo de ganar la partida. Los programas de ajedrez que se encuentran hoy día en cualquier ordenador doméstico derrotan con facilidad a la mayoría de los jugadores humanos. Un jugador artificial de ajedrez un poco diferente podría autolimitarse en su efectividad con el fin de configurar distintos niveles de dificultad, de modo que el jugador humano siga disfrutando con el juego y no tire la toalla demasiado pronto. Estos dos programas de ajedrez tienen dos objetivos bastante diferentes: ganar el juego, o hacer que el jugador humano juegue cada vez mejor y disfrute con el proceso de aprendizaje. En ambos casos el robot tiene un propósito predeterminado que lo define. Lo que no esperamos de un robot del primer tipo, diseñado para ganar, es que decida perder… Puede no lograr su objetivo, pero no puede cambiarlo. En cierto modo, el robot es un esclavo inteligente de su finalidad.
Por supuesto, puede haber diferentes niveles de selección de objetivos. Existen algoritmos que pueden cambiar y priorizar dinámicamente sus objetivos, es decir, son capaces de realizar algún tipo de meta-razonamiento en relación con los objetivos que tienen que alcanzar. Sin embargo, esos algoritmos de selección dinámica de objetivos no se autoanalizan ni propiamente se autorreprograman: lo único que hacen es obedecer objetivos de orden superior para seleccionar los subobjetivos convenientes. No pueden dejar de comportarse como algoritmos de selección de objetivos. Siguen siendo esclavos inteligentes…
El mismo Alan Turing reconocía que esta falta de libertad es esencial para definir una máquina computacional, o máquina algorítmica: “Un hombre provisto de papel, lápiz y goma de borrar, y sujeto a disciplina estricta, es en efecto una máquina universal” [2], es decir, una máquina computacional, un robot. Es de notar que sucedió exactamente de esta manera en la organización interna de los grupos de trabajo de Bletchley Park establecidos por Turing para descifrar los códigos alemanes durante la Segunda Guerra Mundial [3]. Estar “sujeto a una disciplina estricta” significa no cuestionar en absoluto las reglas y propósitos del cálculo o computación que se está llevando a cabo.
Gonzalo Génova, ¿Puede ser libre una máquina computacional?, Naukas 10/01/2018
NOTAS
[1] Hill, R.K. (2015). What an algorithm is. Philosophy & Technology 29(1): 35–59. DOI: 10.1007/s13347-014-0184-5.
[2] Turing, A.M. (1948). Intelligent Machinery. National Physical Laboratory Report. In Meltzer, B., Michie, D. (eds), Machine Intelligence 5. Edinburgh: Edinburgh University Press, 1969. Digital facsimile viewable at http://www.AlanTuring.net/intelligent_machinery.
[3] Hinsley, F. H., Stripp, A., eds. (1993). Codebreakers: The inside story of Bletchley Park. Oxford: Oxford University Press. ISBN 978-0-19-280132-6.
Comentaris