1 / 42

Miguel Lozano Ibáñez Grupo Artec, Instituto de Robótica Departament d’Informàtica

Entornos virtuales tontos e inteligentes , viejos algoritmos de IA para los nuevos dominios gráficos. Miguel Lozano Ibáñez Grupo Artec, Instituto de Robótica Departament d’Informàtica Facultat de Físiques Universitat de València. Índice. E ntornos virtuales “tontos”

marcus
Download Presentation

Miguel Lozano Ibáñez Grupo Artec, Instituto de Robótica Departament d’Informàtica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Entornos virtuales tontos e inteligentes, viejos algoritmos de IA para los nuevos dominios gráficos Miguel Lozano Ibáñez Grupo Artec, Instituto de Robótica Departament d’Informàtica Facultat de Físiques Universitat de València

  2. Índice • Entornos virtuales“tontos” • Inteligencia Artificial para Humanos Virtuales • Personajes, avatares • Agentes autónomos • Animación comportamental: actores capaces de comportarse y reaccionar en su entorno. • Path-Planning: navegación de actores en entornos virtuales. • Simulación multi-agente: MAS y coordinación. • Problemas pendientes: Futuro

  3. Entornos virtuales “tontos” • Basados en alguna API gráfica (OpenGL), los entornos se crean a partir de: • Modelado y Representación de la Geometría. • Modelos Polígonales. • Modelos de Superficies. • Modelado Sólido. • Modelos de partición Espacial • Normalmente se trabaja a partir de primitivas poligonales optimizadas. • Tira de cuadrados. • Tira de Triangulos. • Abanico de Triangulos...

  4. Entornos virtuales “tontos” • Propiedades de color y textura: la luz. • ... propiedades de los objetos. • ... comportamiento de la Luz. • Soluciones computables: • Modelos de Iluminación • Iluminación Local(pto, normal, nvértices, no interacción entre objetos, ...) • ...sombreado. • Phong • Goraud • ... • Iluminación global (interacción entre objetos, sombras, ...) • T.Rayos • Radiosidad • Mejora de las Soluciones: Mapeado de Texturas.

  5. Entornos virtuales “tontos” El procesamiento de los Gráficos 3D. La pipeline Gráfica. • Procesamiento de Objetos. • Procesamiento de Vértices • Transformaciones del Modelo. • Transformaciones de la Vista. • Iluminación • Proyección. • Procesamiento de Pixels: • Zbuffer. • Rellenado de color. • Texturación.

  6. Entornos virtuales “tontos” • Interacción mínima/nula con el entorno, orientados a la visualización ... • Ausencia de actores/personajes autónomos • Entornos estáticos no demasiado amigables (frios) calidad gráfica != calidad comportamental

  7. Entornos virtuales “tontos” • Simulación(Man In the Loop) • Interacción usuari@ - entorno a través del modelo simulado

  8. Entornos virtuales “tontos” Estructuras de datos para la simulación 3D TR: • Grafos acíclicos dirigidos. • Recorrido o traversal del grafo se obtiene como resultado un conjunto de primitivas con las transformaciones del modelo acumuladas. • Los nodos sirven para organizar la escena, aplicar transformaciones, toma de decisiones, indicar geometría, propiedades visuales de los objetos, etc. • Nodos Visuales (geom & propiedades). • Nodos de Operación (traversal: agrupación, recorte, LODs, Switch ...). • Nodos de Transformación. • Nodos de Retroalimentación (navegación ..).

  9. Entornos virtuales “tontos” Conclusiones: • El aumento de calidad gráfica de los entornos virtuales 3D ha generado la correspondiente expectación a nivel comportamental. • Grafo de escena claramente orientado a la visualización tiempo real (militar), pero no al mantenimiento de la información de un entorno dinámico (IA) . • Difícil integración de actores/personajes/criaturas articuladas autónomas en estos entornos ... sensores?, comunicación?, mantenimiento del mundo? .... • Aylett(00): La combinación de técnicas inteligentes de IA + VA integradas en criaturas autónomas con capacidad de actuación/interacción ... Entornos Virtuales Inteligentes.

  10. Inteligencia Artificial para humanos virtuales Categorías … LIG-EPFL • Personajes virtuales • Avatares • Agentes autónomos • Agentes Físicos • Comportamiento físico realista (gestos, expr. Faciales) • Agentes Cognitivos • Comportamiento cognitivo:, repr. simbólica, leng. natural, procesos cognitivos (planning)

  11. Inteligencia Artificial para humanos virtuales Kyoko DateÔ AnanovaÔ Webbie TookayÔ Personajes virtuales

  12. Inteligencia Artificial para humanos virtuales Avatares virtuales representación del usuari@ • Ciertas capacidades físicas y efectoras sobre el entorno (correr, saltar, volar, bailar, ... ). • Expresanun conjunto de emociones. Active Worlds

  13. Inteligencia Artificial para humanos virtuales Agentes autónomos LIG-EPFL Comportamiento autónomo individual y/o colectivo

  14. Inteligencia Artificial para humanos virtuales Sistema capaz de cumplir sus objetivos en un entorno complejo y dinámico, sensorizando su entorno y actuando sobre el mismo.(Maes95) No hay intervención humana Agentes autónomos … inteligentes? • Flexibilidad en la toma de decisiones (AI-based, Wooldridge) • Autonomía, sociabilidad, reactividad, proactividad ... + fuerte: en base a conceptos humanos, creencias, intenciones, ...

  15. (AI Techniques for NPC Behaviours) Animación comportamental • Comportamiento: Las posibles acciones que los personajes autónomos (Non-Player Characters (NPCs)) llevarán a cabo en función de: • el estado de su entorno (e.j. Lemmings) • Localización espacial del usuari@ o estado del mismo (e.j. Doom, Tekken, Air Combat …) • estado/reglas del juego (e.j. RISK) • propia iniciativa (objetivos) Comportamientos ... Reactivos? ... Inteligentes? ... • Flexibilidad en la toma de decisiones (AI-based, Wooldridge) • Ej: El cálculo de las trayectorias necesarias en juegos de simulación, basado unicamente en módulos de simulación matemática/cinemática no debería ser considerado, estrictamente hablando, como comportamiento inteligente. • … pero las decisiones a llevar a cabo (ej: atacar/adelantar a otros coches ... sí.

  16. (AI Techniques for NPC Behaviours) Animación comportamental Comportamientos reactivos • Descritos en base a la inmediata reacción ante determinadas situaciones • Generalmente son comportamientos de bajo nivel • pueden ser parte de un plan más complejo • algunos NPC pueden ser programados únicamente en base a comportamientos reactivos ... Comportamientos deliberativos • Razonamiento Lógico/Planificación: búsqueda de la secuencia de acciones que permite al agente alcanzar su objetivo. En nuestro contexto puede ser considerada como la forma más genérica de animación comportamental para agentes virtuales inteligentes.

  17. Formalismos (AI Techniques for NPC Behaviours) Modelado cognitivo (dirigido por objetivo) Integración Comportamiento - Sistema motor/actuador Simulación dinámica Comportamiento reactivo Comportamiento reactivo Precálculos cinemáticos (motion capture) Cinemática Cinemática Cinemática Geometría Geometría Geometría Geometría • Introduciremos tres formalismos: • Máquinas de estados finitos (Case-based reasoning) • Razonamiento basado en reglas (Rule-based reasoning) • Sistemas de producción • Planificación jerárquica • Árboles Y/O (AND/OR Graphs) Reactivos Deliberativos

  18. Puerta Abierta Puerta Cerrada Abrir Puerta Máquinas de estados finitos (AI Techniques for NPC Behaviours) • Técnica dominante en juegos • Formalmente son tuplas (V, Q, I, F, m) ... • Técnica eficiente ... adecuada para actores virtuales • Alto grado de descripción y fácilidad de mantenimiento: normalmente máquinas con un número de estados reducido • Nodos representan estados, mientras que los arcos representan transiciones entre estados • Pueden ser vistos como “planes compilados”

  19. Máquinas de estados finitos (Finite State Transition Networks) Distintos autómatas basados en la Teoría de autómatas finitos (ATN, FSTN, ...) (adaptación de A. Whittaker)

  20. Ejemplo: Quake (AI Techniques for NPC Behaviours) • El comportamiento está basado en la definición del autómata, estados (idle, attacking, reacting to attack, … etc.) y transiciones. The QUAKE™ FSA

  21. Compute LOS Compute damage Sees enemy Gets killed idle attack dead Kills enemy gets hurt loses sight of enemy Change appearance Loses interest hurt search retaliate Compute LOS Compute, e.g. time limit Search procedure Ejemplo: Quake (comentarios) (AI Techniques for NPC Behaviours) • Data-driven system ... división entre tareas de programación de percepts/actions y las tareas de diseño comportamental (creación del autómata). • Un buen formalismo debería proporcionar mecanismos necesarios para realizar cambios consistentes o mejoras. • Ajustes mediante parametrización • Variar el tiempo límite de pérdida de interés para hacer a los personajes más persistentes • Alterar la línea de visión

  22. Razonamiento basado en reglas (rule-based systems) (AI Techniques for NPC Behaviours) • Técnica muy utilizada en IA • Tradicionalmente asociada con los sistemas expertos • Paradigma de programación (alta aplicabilidad) • Declaratividad, Modularidad ... Separación control/datos + robusto • Elementos • Hechos (memoria dinámica) • Reglas (memoria estática/dinámica?) • Motor de inferencia • Mecanismo de unificación (eficiencia?) • En Entornos Virtuales ha sido utilizada • Toma de decisiones (forward/backward chaining) • Simulación comportamental [1..n] actores (Ej: Flock of birds (Reynolds)) (forwardchaining) equilibrio

  23. facts_0 rules facts_1 rules ... facts_2 Sistemas de producción (rule-based systems) (AI Techniques for NPC Behaviours) • Las reglas/producciones son de la forma IF (hechos) THEN (hechos | acciones) • … añadir nuevos hechos a la M.T. hará que se disparen nuevas reglas .. • … proponer acción … IF (health < 10%) and (Medikit nearby) THEN (pick up the Medikit at once) IF (health < 40%) THEN (health_is_bad) forward chaining IF (health_is_bad) and (no plasma_gun) THEN (situation_is_bad)

  24. Soar Elaboration Propose Operators Evaluate Proposed Operators Select One Operator Perform Operator Actions Sistemas de producción (rule-based systems) (AI Techniques for NPC Behaviours) Ejemplo: Soar Quakebots (Laird): QuakeII, Unreal, … Sistema experto en tiempo real, el conocimiento del juego está codificado en aproximadamente 800 reglas • (Toma de decisiones: Inteligencia táctica aplicada a las ppales fases del juego, coger armas, atacar, retirarse,…) • IF enemy visible AND • my health is • < very-low-health-value (20%) • OR • his weapon is much better than mine • THEN • propose retreat

  25. Encadenamiento hacia atrás (Backward chaining) Sistemas de producción (rule-based systems) (AI Techniques for NPC Behaviours) … demostrar que una conclusión/hecho es cierto buscando “hacia atrás …” IF A and B THEN C IF C or D THEN E demostrar A y B IF E and F THEN G … F Demostrar G Laird, GDC99

  26. Sistemas de producción (rule-based systems) (AI Techniques for NPC Behaviours) Computer-Aided Instruction: Steve • Steve es un humano virtual autónomo para el entrenamiento de tareas de mantenimiento • Steve se comunica con el usuari@ por medio de voz sintética … ã University of Southern California

  27. Sistemas de producción (rule-based systems) (AI Techniques for NPC Behaviours) Problemas … • Control es complicado ... número de reglas .. • ... a menudo muchas reglas se disparan ... • ... consecuencias contradictorias? ... acciones incompatibles ... conflictos • ..en algunos casos todas las reglas son plausibles ... En otros no ... Agrupaciones de reglas ... • Meta-reglas que operan sobre reglas .. • Son usadas para la resolución de conflictos, donde varias reglas se han disparado • IF (several rules can be applied) • THEN (apply first rules dealing with health) IF (you are unarmed) and (guard has not noticed you) THEN (attack with bare fists) IF (you are unarmed) and (guard has not noticed you) THEN (wait) • Asociar valores numéricos a las reglas (v. certeza/ prob ...) • Usar estos “marcadores” para resolver el conflicto

  28. Planificación jerárquica (AI Techniques for NPC Behaviours) Ejemplo II: Virtual Storytelling • Juegos Interactivos …Cine interactivo ... Planes de “nivel alto” Cavazza, VR00

  29. Planificación jerárquica (AI Techniques for NPC Behaviours) Virtual Storytelling Generación de la historia … Los personajes compiten por los “recursos/objetos” que percibe en su escenario (… The Sims)

  30. Recordemos ... • Entornos virtuales“tontos” • Inteligencia Artificial para Humanos Virtuales • Problemas principales • Animación comportamental: actores capaces de comportarse y reaccionar en su entorno. • Path-Planning: navegación de actores en entornos virtuales. • Sistemas multi-agente e IAD • Problemas pendientes: Futuro

  31. Navegación de actores virtuales (Path-planning) • … entornos robóticos y virtuales … • 2 enfoques: • Global • NPC: acceso a toda la BD … no tienen limitación sensorial (omniscientes?, entornos estáticos?) … • Familia de algortimos de Búsqueda Heuristica (A*, RTA*, D*…) • Local • Robots & Agentes/Humanos Virtuales • Navegación reactiva … orientados a entornos dinámicos • Reglas, Redes Neuronales, …

  32. Navegación de actores virtuales (Path-planning) Navegando con información global ... • Problema de búsqueda aplicado al problema de la navegación ... Laberinto (real?) Discretización del entorno • Ir de A a B evitando obstáculos • Moviemintos válidos 4/8 vecinos • Camino más corto …

  33. Navegación de actores virtuales (Path-planning) B A A • A* es un algoritmo de búsqueda que garantiza una solución/camino óptimo. • A* reduce el numero de nodos expandidos por medio de una función heuristica, ... de esta manera explora el árbol más rápido. B Camino A-B

  34. Navegación de actores virtuales (Path-planning) B x A z • Cada nodo tendrá asociado una función de evaluación o coste • f’(n) = h’(n) + g(n) • Coste estático (g(n)) : derivado a partir de su padre • g(n) = g(padre) + c(padre,n) • La función heuristica corresponderá a algún tipo de distancia al nodo/celda objetivo (h’(n) estimará a la distancia real h(n) ) Distancia Euclidea Distancia de Manhattan

  35. Navegación de actores virtuales (Path-planning) f’(n) = g(n) + h’(n) “Depth-first” component “Breadth-first” component ... con pesos (Pohl) f’w(n) = (1-w) g(n) + w h’(n) w = 0 (breadth-first) w = 1/2 (A*) w = 1 (BF*, with f = h) … equilibrio entre eficiencia y seguridad ...

  36. Navegación de actores virtuales (Path-planning) • Complejidad … • La complejidad temporal de A* es exponencial, a menos que la función heurística sea excelente (.. el error por debajo de la función logarítmica) • Una restricción más fuerte es la complejidad espacial de A*’, … también exponencial, limitando su uso práctico (n-puzzles) • IDA* (Korf) soluciona este problema de A*, sin sacrificar su optimalidad. Es aconsejable? ... • Humanos tenemos un campo de visión limitado, lo que nos hace • “buscar” los objetos que caen fuera de él. • Caminos poco realistas (suavizados posteriormente) • Entornos dinámicos !!

  37. Navegación de actores virtuales (Path-planning) La familia de A* • RTA*: Real-Time A*. .. Calcula un mvto. por ciclo … no todo el camino off-line • LRTA*: Learning RTA* (pesos dinámicos, objetivo móvil) • IDA*: Iterative-Deepening A* • D*: Dynamic A*, permite “replanning” • Rd*: Variante que utiliza información a cerca de la bondad de la función heurística

  38. ... más de 1 agente • Algunos juegos/simulaciones, etc. están basados en la interacción de agentes/actores ... • ... es posible obtener comportamientos globales complejos como resultado de los comportamientos individuales (MAS) • Las técincas Multi-agente son también una forma de resolver problemas (general problem-solving technique) ... No confundir con coordinación multi-agente (multi-agent co-ordination) ¿trabajan en común resolviendo un problema? … sistemas multiagente (MAS) e IAD (distributed problem solving) las tareas “inteligentes” (planning, etc) son llevadas a cabo por agentes con capacidad de comunicarse para cooperar Rama de la IA que estudia la resolución de problemas mediante procesamiento descentralizado contiene a ...

  39. Multi-agent (High-Level) Co-ordination (simulation agents) • En juegos … NPC co-ordination • … con el usuari@ (Team Buddies, X-Squad, etc.) • … con otros agentes • ... comportaminto colectivo agentes: coches, hormigas, aviones, gente … • Basados en algún lenguaje de comunicación entre agentes • KQML, ACL (FIPA), COOL, (CFOR) • Tratamiento de mensajes …

  40. 1 2 3 8 4 7 6 5 IAD (resolución de problemas) y Sistemas Multiagente • La solución de la IAD sería asociar un agente a cada celda • Cada agente tendría comportamientos elementales como “atacar otra celda para ocupar su posicón” o “escapar en caso de ataque” • Además cada agente tendría su objetivo “ocupar su posición final” Este metodo proporciona resultados similares a RTA* y LRTA*, es decir, similar a los mejores métodos de búsqueda heuristica Lemmings’

  41. Futuro … Problemas pendientes …

  42. Entornos virtuales tontos e inteligentes, viejos algoritmos de IA para los nuevos dominios gráficos Miguel Lozano Ibáñez Grupo Artec, Instituto de Robótica Departament d’Informàtica Facultat de Físiques Universitat de València

More Related