6 oct. 2011

Diferencias entre bots, robots y programas (informáticos)

Hace un tiempo, y como parece ser inevitable, me vi inmersa en una discusión que no nos llevó a ninguna parte a ninguno de los integrantes de la discusión.

Ésta consistía en ¿qué consideramos que es un bot? Y parecíamos estar todos de acuerdo en que son programas informáticos que imitan el comportamiento humano. Pero a partir de ahí, surgió un nuevo problema, ya que la discusión derivó a límites insospechados, pues según qué perspectivas, cualquier programa podría ser por definición un bot, según la interpretación personal de cada uno.

La problemática principal es que el vocablo bot, aceptado en la jerga gamer (jugadores) no está admitido por la RAE (aún), y hemos de irnos aún más allá, a la Wikipedia que todo lo sabe para poder indagar sobre su significado... Sin embargo, primero os pongo las definiciones que sí están aceptadas de programa (informático) y robot, según nuestra Real Academia.

robot.
 (Del ingl. robot, y este del checo robota, trabajo, prestación personal).
 1. m. Máquina o ingenio electrónico programable, capaz de manipular objetos y realizar operaciones antes reservadas solo a las personas.

programa.
 (Del lat. programma, y este del gr. πρόγραμμα).
11. m. Cada una de las operaciones que, en un orden determinado, ejecutan ciertas máquinas.
12. m. Inform. Conjunto unitario de instrucciones que permite a un ordenador realizar funciones diversas, como el tratamiento de textos, el diseño de gráficos, la resolución de problemas matemáticos, el manejo de bancos de datos, etc.

  • Bot en wikipedia
Lo primero y más importante, según mi punto de vista, es que todo bot es un programa informático, pero un programa informático no tiene por qué ser un bot.

Lo segundo, es que la palabra bot deriva de la palabra robot, pero NO son sinónimas, es decir, indican cosas diferentes.

Lo tercero, es que todo robot según la RAE tiene o bien un soporte físico, o bien hace cosas que las personas solían hacer. Aquí hemos de recalcar, como desambiguación, al introducir la palabra bot del inglés, y por tanto "asimilar su significado según lo que los angloparlantes digan", que bot alude  a los sistemas virtuales de software, mientras que los robots sería el conjunto tanto físico como virtual.

Habiendo aclarado estos tres puntos, sería absurdo considerar un bot al ordenador (en todo caso habría de ser un bot de bots ¿pero tendría sentido denominarlo así?), como robot que lleva a cabo las acciones que antes hacíamos a mano. O la calculadora, los procesadores de texto o las opciones de estos mismos. Al igual que no es lógico hablar de robot de una batidora, por mucho que antes tuviéramos que utilizar un mortero para triturar la comida que ahora fácilmente pasa por sus cuchillas.

Cierto es que si utilizamos electrodomésticos programables, tipo lavadora o despertador, podemos interpretar que éstos hacen funciones que antes hacíamos como lavar a mano, o que otra persona te despertara. Pero como queda sujeto a interpretación, me parece que por mucho que queramos llamarlos bots, no encajan bien del todo con el término. Y ya no sólo no encajan con ser un bot, sino con robot, a pesar de que no se sepa muy bien qué máquina es robot y cuál no, en general los robots se mueven (ellos o algunas de sus partes, como brazos mecánicos, ventosas, ruedecillas), tienen la capacidad de manipular / medir su entorno (por ejemplo las sondas mandadas a Marte) o bien imitar el comportamiento animal y/o humano. Y una lavadora no imita a las lavanderas que se iban al pilar del pueblo a lavar la ropa, sino que hace la función de lavar sin moverse del sitio (a no ser que salte y haga carreras) por la persona que lo solía hacer.

Tipos de bots, y algunos ejemplos:
  • en servicios de chats, simuladores de personas.
  • bots maliciosos o vandalbots, que atacaron wikipedia
  • borgs, para videojuegos
  • shooters, sustitutos de jugadores humanos
  • bot de IRC
  • bot de Póker

Finalmente, para recalcar el concepto de bot, como programa diseñado para interactuar con otros programas, servicios de internet o seres humanos, como cualquier persona haría (pero que disminuyen el trabajo de realizar tareas tediosas), he diseñado un pequeño esquema, intentando discernir según su soporte y función principal, cuáles serían cada uno de estos tres conceptos. En la intersección de todo he puesto Inteligencia Artificial, pero también podría haber puesto Redes Neuronales Artificiales, por ejemplo.


Destacar que toda herramienta fabricada por el hombre que no sustituya tareas, por ejemplo, una bombilla que da luz (una persona no es capaz de generarla por sí misma si no es utilizando su inteligencia para crear herramientas que le permitan generarla), estaría dentro de soporte físico. Todos los programas estarían en soporte virtual, en tanto no imitaran comportamiento humano (hacer cuentas por ejemplo, las matemáticas son una ciencia exacta que no se ve sometida a interpretación comportamental) y dentro del comportamiento humano estarían todas las corrientes de pensamiento, lógicas o no, que podrían ser imitadas por los programas y / o  máquinas.

Enlaces de interés:

Ejercicio propuesto: 

¿Sería el programa Loquendo un bot? ¿Por qué?