Actualizado el 2 de Marzo del 2020 (Publicado el 3 de Marzo del 2017)
1.141 visualizaciones desde el 3 de Marzo del 2017
2,9 MB
186 paginas
Creado hace 18a (01/09/2006)
UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORM ÁTICA
INGENIERÍA
EN INFORM ÁTICA
PROYECTO FIN DE CARRERA
MASYRO: Un sistema multi-agente para la
optimización del renderizado
David Vallejo Fernández
Septiembre, 2006
UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORM ÁTICA
Departamento de Informática
PROYECTO FIN DE CARRERA
MASYRO: Un sistema multi-agente para la
optimización del renderizado
Autor: David Vallejo Fernández
Director: Carlos González Morcillo
Septiembre, 2006.
TRIBUNAL:
Presidente:
Vocal:
Secretario:
FECHA DE DEFENSA:
CALIFICACI ÓN:
PRESIDENTE
VOCAL
SECRETARIO
Fdo.:
Fdo.:
Fdo.:
c David Vallejo Fernández. Se permite la copia, distribución y/o modificación de este documento
bajo los términos de la licencia de documentación libre GNU, versión 1.1 o cualquier versión posterior
publicada por la Free Software Foundation, sin secciones invariantes. Puede consultar esta licencia en
http://www.gnu.org.
Este documento fue compuesto con LATEX. Imágenes generadas con OpenOffice.
Resumen
Se puede entender el proceso de Render como el mecanismo utilizado para obtener una
imagen a partir de la descripción de una escena tridimensional. Actualmente dicho proceso
ha alcanzado un alto grado de realismo, mientras que el gran problema sigue siendo el tiempo
de ejecución empleado para el mismo. Dentro del ámbito de este proyecto se ha desarrollado
una aplicación que permite optimizar dicho tiempo de ejecución, empleando para ello una
arquitectura multi-agente de propósito general y basándose en sistemas de reglas difusos.
II
Este proyecto está dedicado a mis padres,
por apoyarme todos estos años de estudio,
y a mi novia Alba,
por comprender mi dedicación
a estas pequeñas máquinas.
Agradecimientos
A Carlos González Morcillo, por su ayuda, dedicación, y profesionalidad.
Índice general
Índice de figuras
Índice de cuadros
1. Introducción
Justificación del trabajo .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.
1.2. Objetivos perseguidos .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Terminología .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
2. Antecedentes, estado de la cuestión
.
.
.
.
.
.
2.1.
2.2. Middlewares .
.
.
Introducción .
Inteligencia Artificial distribuida . . . . . . . . . . . . . . . . . . . . . . . .
Introducción a los sistemas multi-agente . . . . . . . . . . . . . . . .
2.1.1.
Ingeniería del Software en sistemas multi-agente . . . . . . . . . . .
2.1.2.
2.1.3. Estándares para sistemas multi-agente . . . . . . . . . . . . . . . . .
2.1.4. SDKs existentes para sistemas multi-agente . . . . . . . . . . . . . .
2.1.5. Representación del conocimiento . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2. Fundamentos básicos . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3. CORBA .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4. SOAP/Web Services . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
2.2.5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
2.2.6.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.7. ZeroC ICE .
. . . . . . . . . . . . . . . . . . . . . . .
Introducción al proceso de síntesis . . . . . . . . . . . . . . . . . . .
2.3.1.
2.3.2. Taxonomía de métodos de render
. . . . . . . . . . . . . . . . . . .
2.3.3. Análisis de sistemas existentes . . . . . . . . . . . . . . . . . . . . .
2.4. Análisis de tecnologías multiplataforma . . . . . . . . . . . . . . . . . . . .
2.4.1. Procesamiento de imagen . . . . . . . . . . . . . . . . . . . . . . .
2.4.2. Lenguaje de intercambio de información . . . . . . . . . . . . . . .
2.3. Síntesis de imagen tridimensional
.NET .
.
Java RMI .
.
.
.
3. Objetivos del proyecto e hipótesis del trabajo
I
IV
VI
1
3
3
4
5
7
8
8
15
23
33
35
46
46
47
48
51
53
55
56
67
67
69
73
78
78
82
89
ÍNDICE GENERAL
II
4. Metodología de trabajo
4.1. Construcción de la arquitectura básica del sistema multi-agente . . . . . . . .
4.1.1. Definición de los servicios básicos . . . . . . . . . . . . . . . . . . .
4.1.2. Definición del agente . . . . . . . . . . . . . . . . . . . . . . . . . .
92
93
93
99
4.2. Construcción de MASYRO . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Introducción a MASYRO . . . . . . . . . . . . . . . . . . . . . . . 100
4.2.1.
4.2.2. Paso 1: Subscripción de los agentes . . . . . . . . . . . . . . . . . . 103
4.2.3. Paso 2: Recepción de un nuevo trabajo por parte del sistema . . . . . 106
4.2.4. Paso 3: Análisis previo de la escena . . . . . . . . . . . . . . . . . . 106
4.2.5. Paso 4: Notificación de la existencia de un nuevo trabajo . . . . . . . 111
4.2.6. Paso 5: Proceso de renderizado . . . . . . . . . . . . . . . . . . . . . 114
4.2.7. Paso 6: Composición del resultado final
. . . . . . . . . . . . . . . . 123
4.2.8. Paso 7: Visualización de resultados por parte del usuario . . . . . . . 125
.
.
.
.
5. Resultados obtenidos
.
Introducción .
127
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.1.
5.2. Renderizado tradicional .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.3. Renderizado con MASYRO y aplicando distintos niveles de particionado . . 129
. . . . . . . . . . . . . . . . . . . . . . 130
5.3.1. Particionado de primer nivel
5.3.2. Particionado de segundo nivel
. . . . . . . . . . . . . . . . . . . . . 131
5.3.3. Particionado de tercer nivel . . . . . . . . . . . . . . . . . . . . . . . 132
5.4. Renderizado con MASYRO y aplicando distintos niveles de optimización . . 132
5.4.1. Renderizado con MASYRO y aplicando un nivel 1 de optimización . 133
5.4.2. Renderizado con MASYRO y aplicando un nivel 2 de optimización . 134
5.4.3. Renderizado con MASYRO y aplicando un nivel 3 de optimización . 134
5.4.4. Renderizado con MASYRO y aplicando un nivel 4 de optimización . 135
5.4.5. Renderizado con MASYRO y aplicando un nivel 5 de optimización . 135
. . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.5. Comparativa de resultados
6. Conclusiones y propuestas
. .
6.1. Conclusiones
6.2. Propuestas y líneas de investigación futuras
140
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
. . . . . . . . . . . . . . . . . . 142
6.2.1. Propuestas relativas al sistema multi-agente . . . . . . . . . . . . . . 142
6.2.2. Propuestas relativas a MASYRO . . . . . . . . . . . . . . . . . . . . 143
.
.
.
A. Anexo A
A.1. Código fuente .
. .
.
150
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
. .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
A.1.1. FIPA.ice .
.
.
A.1.2. MASYRO.ice .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
A.1.3. Proceso de división de unidades de trabajo por parte del analista . . . 161
A.1.4. Notificación de un nuevo trabajo al gestor . . . . . . . . . . . . . . . 161
A.1.5. Proceso de renderizado por parte de un agente . . . . . . . . . . . . . 162
A.1.6. Renderizado inicial para estimar la complejidad de la escena . . . . . 163
ÍNDICE GENERAL
B. Anexo B
B.1. Figuras
.
.
.
.
.
.
C. Anexo C
C.1. Manual de usuario .
.
.
Bibliografía
III
165
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
169
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
172
Índice de figuras
.
.
.
.
2.1. Arquitectura BDI
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Relaciones entre los modelos de GAIA . . . . . . . . . . . . . . . . . . . . .
2.3. Protocolo de interacción entre agentes expresado como una plantilla . . . . .
2.4. Meta-modelos y entidades en INGENIAS. . . . . . . . . . . . . . . . . . . .
2.5. Realización concreta de la arquitectura abstracta . . . . . . . . . . . . . . . .
2.6. Modelo de referencia para la gestión de agentes . . . . . . . . . . . . . . . .
2.7. Modelo de referencia para el transporte de mensajes . . . . . . . . . . . . . .
2.8. Métodos de comunicación entre agentes . . . . . . . . . . . . . . . . . . . .
2.9. Función triangular de pertenencia
. . . . . . . . . . . . . . . . . . . . . . .
2.10. Razonamiento con el método de Mamdani . . . . . . . . . . . . . . . . . . .
2.11. Esquema general de un middleware
. . . . . . . . . . . . . . . . . . . . . .
2.12. Funcionamiento general de CORBA . . . . . . . . . . . . . . . . . . . . . .
2.13. Estructura cliente-servidor en ICE . . . . . . . . . . . . . . . . . . . . . . .
2.14. Aplicación simple con IceGrid . . . . . . . . . . . . . . . . . . . . . . . . .
2.15. Ejemplo de aplicación con IceStorm . . . . . . . . . . . . . . . . . . . . . .
2.16. Escenario creado por Glacier2 . . . . . . . . . . . . . . . . . . . . . . . . .
11
20
21
23
25
26
29
31
40
45
46
49
58
63
65
66
Imagen que representa la complejidad de una escena
4.1. Modelo de referencia para la gestión de agentes . . . . . . . . . . . . . . . .
94
4.2. Diagrama de clases del sistema multi-agente . . . . . . . . . . . . . . . . . .
95
4.3. Vista abstracta de MASYRO . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.4. Vista detallada de MASYRO . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.5. Diagrama de clases de MASYRO . . . . . . . . . . . . . . . . . . . . . . . 104
4.6. Diagrama de secuencia Agente-Master . . . . . . . . . . . . . . . . . . . . . 105
4.7.
. . . . . . . . . . . . . 108
4.8. Análisis con un valor 1 del parámetro level . . . . . . . . . . . . . . . . . . . 109
4.9. Análisis con un valor 2 del parámetro level . . . . . . . . . . . . . . . . . . . 110
4.10. Análisis con un valor 3 del parámetro level . . . . . . . . . . . . . . . . . . . 110
4.11. Diagrama de secuenci
Comentarios de: MASYRO: Un sistema multi-agente para la optimizacion del renderizado (0)
No hay comentarios