where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0/ Leganés 23 Marzo 2015 Grupo de Planificación y Aprendizaje (PLG) Departamento de Informática [email protected]
punto de vista de los videojuegos y de la robótica se denomina a la inteligencia artificial como la capacidad de un agente no vivo de razonar. Que es la inteligencia artificial???
humano Que es la inteligencia artificial??? Que ofrece a los videojuegos y a la robótica??? Inteligencia Artificial aplicada en Videojuegos y Robótica Desde el punto de vista de los videojuegos y de la robótica se denomina a la inteligencia artificial como la capacidad de un agente no vivo de razonar.
humano Que es la inteligencia artificial??? Comportamientos parezcan racionales Inteligencia Artificial aplicada en Videojuegos y Robótica Desde el punto de vista de los videojuegos y de la robótica se denomina a la inteligencia artificial como la capacidad de un agente no vivo de razonar. Que ofrece a los videojuegos y a la robótica???
dinámica Estado del jugador Estado de los oponentes Punto de vista de un Jugador Autónomo Inteligencia Artificial aplicada en Videojuegos y Robótica
dinámica Estado del jugador Estado de los oponentes Acciones Globales Locales Individuales Colectivas Punto de vista de un Jugador Autónomo Inteligencia Artificial aplicada en Videojuegos y Robótica
de comportamiento Planificación Automática GOAP Arquitecturas Blackboard Redes Bayesianas Path-Planning Árboles de decisión Aprendizaje automático Mapas de influencia Inteligencia Artificial aplicada en Videojuegos y Robótica
Árboles de comportamiento GOAP Arquitecturas Blackboard Redes Bayesianas Path-Planning Árboles de decisión Aprendizaje automático Mapas de influencia Inteligencia Artificial aplicada en Videojuegos y Robótica
Máquinas de estado finitas (FSM) Árboles de comportamiento (Bts) Goal Oriented Action Planning (GOAP) Inteligencia Artificial aplicada en Videojuegos y Robótica
acciones que permitan al jugador moverse desde un punto del mapa (origen) hasta otro punto del mapa (destino). Representación del mapa Movilidad de las unidades o del jugador Coste de las acciones de las unidades o del jugador Inteligencia Artificial aplicada en Videojuegos y Robótica
acciones que permitan al jugador moverse desde un punto del mapa (origen) hasta otro punto del mapa (destino). Representación del mapa Movilidad de las unidades o del jugador Coste de las acciones de las unidades o del jugador Algoritmos de búsqueda heurística (A*, IDA*, D*) Inteligencia Artificial aplicada en Videojuegos y Robótica
acciones que permitan al jugador moverse desde un punto del mapa (origen) hasta otro punto del mapa (destino). Representación del mapa Movilidad de las unidades o del jugador Coste de las acciones de las unidades o del jugador Algoritmos de búsqueda heurística (A*, IDA*, D*) Coste computacional elevado Inteligencia Artificial aplicada en Videojuegos y Robótica
Máquinas de estado finitas (FSM) Árboles de comportamiento (Bts) Goal Oriented Action Planning (GOAP) Inteligencia Artificial aplicada en Videojuegos y Robótica
instante del mundo Acciones: Representan las acciones que pueden ser ejecutadas Inteligencia Artificial aplicada en Videojuegos y Robótica Disparando Corriendo Balas disponibles/ Disparar Balas no disponibles + Enemigo detectado / Correr Balas no disponibles + Enemigo detectado Vigilando
1828 -1870) switch ( m_NPCState ) { case NPC_STATE_COMBAT: … case NPC_STATE_ALERT: … case NPC_STATE_HIDE: … } Inteligencia Artificial aplicada en Videojuegos y Robótica
las primeras técnicas que se utilizaron para definir los comportamientos de los NPCs. Técnica muy sencilla de definir y de implementar (if – else) Inteligencia Artificial aplicada en Videojuegos y Robótica
Máquinas de estado finitas (FSM) Árboles de comportamiento (Bts) Goal Oriented Action Planning (GOAP) Inteligencia Artificial aplicada en Videojuegos y Robótica
descomposición de tareas. El resultado tras recorrer el árbol puede tener dos valores (correcto/incorrecto) Tareas hoja: Se corresponden con los nodos terminales del árbol. Su valor puede ser el resultado de una condición o la ejecución de un fragmento de código. Inteligencia Artificial aplicada en Videojuegos y Robótica
descomposición de tareas. El resultado tras recorrer el árbol puede tener dos valores (correcto/incorrecto) Tareas hoja: Se corresponden con los nodos terminales del árbol. Su valor puede ser el resultado de una condición o la ejecución de un fragmento de código. Tareas compuestas: Se corresponden con los nodos intermedios del árbol. Su valor de retorno depende los valores de las tareas que contiene. Descendientes. Inteligencia Artificial aplicada en Videojuegos y Robótica
descomposición de tareas. El resultado tras recorrer el árbol puede tener dos valores (correcto/incorrecto) Tareas hoja: Se corresponden con los nodos terminales del árbol. Su valor puede ser el resultado de una condición o la ejecución de un fragmento de código. Tareas compuestas: Se corresponden con los nodos intermedios del árbol. Su valor de retorno depende los valores de las tareas que contiene. Descendientes. Secuencia Selección Selección paralela Secuencia no determinista ? ~ Inteligencia Artificial aplicada en Videojuegos y Robótica
~? Puerta abierta ?? Entrar a la habitación Acercarse a la puerta Entrar en la habitación Puerta cerrada ?? Abrir puerta Golpear Puerta Puerta abierta ?? Inteligencia Artificial aplicada en Videojuegos y Robótica
~? Puerta abierta ?? Entrar a la habitación Acercarse a la puerta Entrar en la habitación Puerta cerrada ?? Abrir puerta Golpear Puerta Puerta abierta ?? No se aplica búsqueda Secuencia de acciones 37 Inteligencia Artificial aplicada en Videojuegos y Robótica
estados. Ofrece un mayor grado de interacción por parte de los jugadores. Técnica muy sencilla de definir y de implementar. 38 Inteligencia Artificial aplicada en Videojuegos y Robótica
vez más complejos Mundos más grandes Mayor interacción Los NPCs necesitan: Ser autónomos Tener sus propios objetivos Interactuar con el mundo de forma independiente 39 Inteligencia Artificial aplicada en Videojuegos y Robótica
Action Planning (GOAP) Cada NPC del juego está definido Un conjunto de metas que son alcanzables Un conjunto de condiciones asociadas a cada una de las meta Un conjunto de acciones formadas por dos elementos Precondiciones Efectos Entrar a la habitación Precondiciones: Puerta abierta Efectos: Dentro de la habitación Abrir puerta Precondiciones: Puerta cerrada, tengo llave Efectos: Puerta abierta 42
una meta se cumple (todas las condiciones de la meta son ciertas) 2. Se realiza una búsqueda en tiempo real 3. Si se obtiene una solución, esta está formada por una secuencia de acciones. 43 Inteligencia Artificial aplicada en Videojuegos y Robótica
una meta se cumple (todas las condiciones de la meta son ciertas) 2. Se realiza una búsqueda en tiempo real 3. Si se obtiene una solución, esta está formada por una secuencia de acciones. 44 Inteligencia Artificial aplicada en Videojuegos y Robótica Coste computacional elevado con respecto al número de acciones Puede generar planes inválidos
respecto al número de acciones Puede generar planes inválidos 1. Si se detecta que una meta se puede cumplir (todas las condiciones de la meta pueden llegar a ser ciertas) 2. Se realiza una búsqueda en tiempo real 3. Si se obtiene una solución, esta está formada por una secuencia de acciones Inteligencia Artificial aplicada en Videojuegos y Robótica
generar planes inválidos Goal Oriented Action Planning (GOAP) 46 1. Si se detecta que una meta se puede cumplir (todas las condiciones de la meta pueden llegar a ser ciertas) 2. Se realiza una búsqueda en tiempo real 3. Si se obtiene una solución, esta está formada por una secuencia de acciones Inteligencia Artificial aplicada en Videojuegos y Robótica
Representación del entorno (Lógica de 1er orden) Conjunto de acciones (comportamientos) Estado inicial Conjunto de metas (Objetivos) robot_at(roomba, roomB) connected(roomB, roomA, door1) close(door1) dirty(roomB) Move(roomba, roomB, roomC) 1 2
StockBot desarrollado por la Empresa Pal Robotics • Utiliza sensores laterales para detectar la información de los estantes. • Utiliza dispositivos Kinect para moverse y evitar obstáculos.
Aprendizaje supervisado Aprendizaje no supervisado Aprendizaje por refuerzo Construir modelos de razonamiento o de actuación mediante la utilización de experiencias pasadas que han sido obtenidas por el robot.
(No Supervisado) Aprendizaje supervisado Aprendizaje no supervisado Aprendizaje por refuerzo Construir modelos de razonamiento o de actuación mediante la utilización de modelos sin entrenamiento sin tener entrenamiento.
Aprendizaje supervisado Aprendizaje no supervisado Aprendizaje por refuerzo Construir modelos de razonamiento o de actuación mediante la utilización de experiencias pasadas que han sido obtenidas por el robot.