Inteligencia artificial: ¿Qué tan difícil sería crear una criatura robot de la vida real con la IA y la capacidad de entrenamiento de la criatura Blanco y Negro?

debería ser bastante sencillo en algunos aspectos y difícil en otros.

Para el aspecto directo, siempre es importante darse cuenta de que la IA en los juegos son giros muy simples de la teoría ya desarrollada y experimentada en investigaciones más amplias.

Muchos de los compañeros NPC en juegos, por ejemplo, se basan en alguna forma de arquitectura de subsunción basada en reglas. Las reglas pueden ser “si (x) luego do (y)” (por ejemplo: si la vida del jugador se agota, entonces cúralo) y se les da prioridad (es decir, la regla activa con la prioridad más alta se activará en este tic) una forma de hacer un comportamiento reactivo simple del personaje que puede parecer inteligente sin demasiada complejidad añadida (recuerde que el juego se ejecuta en tiempo real y no desea perder los ciclos de la CPU para decidir qué hacer en lugar de mostrar los gráficos sofisticados).

En blanco y negro (basado en esta página: La Criatura AI de Blanco y Negro), la criatura es un agente simple basado en BDI (Creencia Deseo Intención que era muy popular en los años 90, no tanto hoy en día como ya no es la forma en que nosotros cree que la cognición humana funciona). Entre otras cosas, BDI fue y sigue siendo utilizado para algunos robots. Específicamente, puedo pensar en PRS (openprs, pero también Spark y muchos otros) que todavía se usa dentro de la arquitectura LAAS y, por lo tanto, en varios robots en este laboratorio. Por supuesto, también utiliza la técnica de ML, pero también son bastante antiguas y fáciles de incluir. Entonces, la parte de implementar un agente físico de esta manera no es necesariamente nueva y puede incluirse en un robot.

Pero luego viene el gran problema que diferencia un juego de un robot. Un agente en un juego lo tiene fácil cuando se trata de percepción y acciones. La percepción en el juego es perfecta y también lo son las acciones. ¿Ves lo que hace el jugador? bueno, solo lea la entrada dada. Abriendo una puerta? bueno, simplemente llame a “open_door (x)” con el valor x establecido en el identificador de esta puerta. ¿Descubrir cómo ir en un lugar determinado? Bueno, de nuevo, solo mira la malla del mapa y ejecuta la función path_finding. Si sale una respuesta, entonces sabes que funcionará (a menos que surja algún obstáculo nuevo, pero esto nuevamente está en control del juego).
Para un robot, todas estas cosas se vuelven mucho más complicadas: ¿necesita abrir una puerta? bueno, primero tiene que encontrar e identificar la puerta (y hay muchos tipos diferentes de puertas y también muchas cosas que pueden parecer una puerta), luego identifique cómo se puede abrir esta puerta (¿hay una perilla? ¿Es una puerta corredera? ? …) luego trate de manipularlo y si falla, tendrá que hacerlo desde entonces y repita (¿por qué fallé? ¿Simplemente no pude alcanzar el pomo? ¿Es esto realmente un pomo de la puerta? ¿Realmente estoy mirando una puerta? …) Lo mismo ocurre con la navegación de ruta: el mapa del robot del entorno y su localización dentro de él puede ser incompleta / la planificación imprecisa en este entorno puede verse obligada a reevaluarse si alguna observación invalida el plan pasado. Y luego, en el peor de los casos, es incluso observar a tu “maestro” y aprender de él lo que es bueno o malo: debes ser capaz de reconocerlo a diferencia de las demás personas (o incluso las cosas que se parecen a los humanos) , entonces necesita interpretar sus instrucciones (ya no tiene un menú desplegable para darle un mensaje claro, sino que necesita confiar en estas cosas borrosas llamadas lenguaje natural), etc.

Aún así, las ideas y el concepto de la criatura AI en blanco y negro no son nuevos (bueno, el juego también es bastante antiguo ahora, pero incluso entonces fueron emitidos a partir de investigaciones existentes) y se han aplicado al robot. Incluso la simple noción de reforzar algún comportamiento es algo bastante típico en robótica (ver Aprendizaje de refuerzo, que fue y sigue siendo un tema bastante activo en la investigación robótica).

Como ilustración, te dejaré con el robot kismet del MIT:
Página en mit.edu