Title: Entornos virtuales tontos e inteligentes, viejos algoritmos de IA para los nuevos dominios gr
1Entornos 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 dInformà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
3Entornos 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...
4Entornos 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.
5Entornos 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.
6Entornos 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
7Entornos virtuales tontos
- Simulación (Man In the Loop)
- Interacción usuari_at_ - entorno a través del modelo
simulado
8Entornos 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 ..).
9Entornos 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/criatura
s 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.
10Inteligencia 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)
11Inteligencia Artificial para humanos virtuales
AnanovaÔ
Kyoko DateÔ
Webbie TookayÔ
Personajes virtuales
12Inteligencia Artificial para humanos virtuales
Avatares virtuales
representación del usuari_at_
- Ciertas capacidades físicas y efectoras sobre el
entorno (correr, saltar, volar, bailar, ... ). - Expresan un conjunto de emociones.
Active Worlds
13Inteligencia Artificial para humanos virtuales
Agentes autónomos
LIG-EPFL
Comportamiento autónomo individual y/o colectivo
14Inteligencia 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_at_ 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.
17Formalismos
(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
18Má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
19Má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)
20Ejemplo 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
21Ejemplo 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
22Razonamiento 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)) (forward chaining)
equilibrio
23Sistemas 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 lt 10) and (Medikit nearby)
- THEN (pick up the Medikit at once)
IF (health lt 40) THEN (health_is_bad)
forward chaining
IF (health_is_bad) and (no plasma_gun) THEN
(situation_is_bad)
24Sistemas 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 lt
very-low-health-value (20) OR his
weapon is much better than mine THEN propose
retreat
25Encadenamiento 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
26Sistemas 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_at_ por medio de voz
sintética
ã University of Southern California
27Sistemas 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
28Planificación jerárquica
(AI Techniques for NPC Behaviours)
Ejemplo II Virtual Storytelling
- Juegos Interactivos Cine interactivo ... Planes
de nivel alto
Cavazza, VR00
29Planificació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)
30Recordemos ...
- 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- 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,
32Navegando 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
33A
- 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- 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
35f(n) g(n) h(n)
Depth-first component
Breadth-first component
... con pesos (Pohl)
fw(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- 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 !!
37La 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 ...
39Multi-agent (High-Level) Co-ordination
(simulation agents)
- En juegos NPC co-ordination
- con el usuari_at_ (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
40IAD (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
41Futuro
Problemas pendientes
42Entornos 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 dInformàtica Facultat de
Físiques Universitat de València