búsqueda heurística multicriterio para inteligencia ...departamento de lenguajes y ciencias de la...
Post on 29-May-2020
1 Views
Preview:
TRANSCRIPT
Departamento de Lenguajes y Ciencias de la Computación
UNIVERSIDAD DE MÁLAGA
Búsqueda Heurística Multicriterio
para
Inteligencia Artificial en Diseño
Tesis doctoral presentada por D. Lorenzo Mandow Andaluz
para optar al grado de Doctor Ingeniero en Informática.
Dirigida por el Dr. D. Francisco Triguero Ruiz, Catedrático de Universidad del Área de Lenguajes y Sistemas Informáticos, y el Dr. D. Jose Luis Pérez de la Cruz Molina, Profesor Titular de Universidad del Área de
Ciencias de la Computación e Inteligencia Artificial.
Málaga, abril de 1999
Dpto. Lenguajes y Ciencias de la ComputaciónUNIVERSIDAD DE MÁLAGA
D. Francisco Triguero Ruiz, Catedrático de Universidad del Área de
Lenguajes y Sistemas Informáticos, y D. Jose Luis Pérez de la Cruz Molina,
Profesor Titular de Universidad del Área de Ciencias de la Computación e
Inteligencia Artificial, hacen constar,
QUE: son directores de la Tesis Doctoral titulada "Búsqueda Heurística
Multicriterio para Inteligencia Artificial en Diseño", realizada por D. Lorenzo
Mandow Andaluz, y que dicho autor ha llevado a cabo los objetivos de
investigación propuestos para la completa elaboración de la Tesis, y se encuentra
en disposición de la defensa de la misma ante el Tribunal de Lectura de la Tesis
Doctoral.
Málaga, cinco de abril de mil novecientos noventa y nueve.
Fdo.: F. Triguero Ruiz Fdo.: J. L. Pérez de la Cruz Molina
A mi familia.
AGRADECIMIENTOS
Esta es, paradójicamente, la última página que se incluye en la tesis y sinduda alguna la más grata de escribir. No sería justo concluir sin reconocer la ayuda,el apoyo y la amistad de quienes han "sufrido" mi trabajo, a veces casi tanto comoyo, y sin los cuales no hubiera sido posible.
En primer lugar quiero mostrar mi agradecimiento a los directores de la tesis,D. Francisco Triguero y D. José Luis Pérez de la Cruz, por la confianza quedepositan en mí, por impulsar mi formación como docente e investigador, y por guiarsiempre mi trabajo a buen término.
También va mi agradecimiento al Dr. Tim Smithers, que siempre me haanimado a continuar trabajando en "diseño" y que en las fases iniciales de lainvestigación proporcionó gran cantidad de material bibliográfico.
A los arquitectos D. Eduardo Serrano y D. Alberto Lerner, por compartirdesinteresadamente conmigo su tiempo, su conocimiento profesional y gratas horasde charla.
A mi amigo Luis Hernánz, que siempre ha dado por hecho que llegaría estedía (pues llevabas razón, oye). En la sincera hospitalidad de su casa de El Puerto deSanta María y en su histórico 386 comenzó a tomar su forma definitiva estamemoria.
A mis "compis" de despacho, Mavi y Lidia, que han compartido conmigodurante años todas las vicisitudes del trabajo. A Farfán, que hace que los falloshardware y software nunca supongan un problema. A Eva, Fany y Ricardo, queamablemente han revisado parte del borrador y siempre me han prestado su ayuda.
Y a tant@s y tant@s amig@s y compañer@s que han compartido conmigopenas y alegrías, cervezas, vinos y cafés, correos electrónicos y excursiones alcampo donde he podido relajar mis neuronas. Gracias a tod@s.
Lawrence
Málaga, abril de 1999
SALUDOS
...y, de entre la pila de tareas pendientes, llegó por fín la hora de elaborar una versión PDF de este documento.
Han pasado ya varios años desde la realización de la tesis y, aunque esta versión de fácil distribución ha sufrido cierto retraso, aprovecho para enviar un
cordial saludo a los lectores.
También es una buena oportunidad para incluir algunas referencias relacionadas con el trabajo de la tesis, y que han aparecido con posterioridad a
su lectura.
En [2] se amplían e ilustran con cierta profusión las ideas del capítulo 7 que, en el fondo, actuaron como el motor de todo el trabajo de investigación. Las
principales contribuciones a nivel técnico corresponden a los capítulos 9 y 10, que forman la base de los trabajos [4] y [3] respectivamente. En [1] se presentan
demostraciones gráficas e intuitivas de algunas propiedades presentadas en el capítulo 9.
Espero que sean de utilidad.
Lawrence
lawrence@lcc.uma.es
Málaga, febrero de 2003
[1] L. Mandow y J.L. Pérez de la Cruz (1999): Fundamentos básicos para búsqueda heurística multicriterio. En CAEPIA-TTIA’99. Libro de Actas. Volumen
I. Sección: Sistemas de Ayurda a la Decisión y Optimización, pp. 27-34. Disponible en http://www.lcc.uma.es
[2] L. Mandow y J.L. Pérez de la Cruz (2000): The role of multicriteria problem solving in design. En Artificial Intelligence in Design’00 (Ed. J.S. Gero).
Kluwer Academic Publishers, pp. 23-42.
[3] L. Mandow y J.L. Pérez de la Cruz (2001): A heuristic search algorithm with lexicographic goals. Engineering Applications of Artificial
Intelligence 14 (2001), pp. 751-762.
[4] L. Mandow y J.L. Pérez de la Cruz (2003): Multicriteria heuristic search. European Journal of Operational Research. Actualmente en prensa.
Versión electrónica disponible en http://www.elsevier.com/homepage/sae/orms/eor/menu.htm
1
ÍNDICE
I. INTRODUCCIÓN........................................................................................ 7
1. INTRODUCCIÓN....................................................................................................... 9
II. INTELIGENCIA ARTIFICIAL Y DISEÑO.......................................... 15
2. LA INTELIGENCIA ARTIFICIAL......................................................................... 17
3. EL DISEÑO Y LA BÚSQUEDA EN ESPACIOS DE ESTADOS........................... 35
4. EL DISEÑO Y LA REFLEXIÓN-EN-LA-ACCIÓN............................................... 43
5. ENFOQUES PRAGMÁTICOS ................................................................................ 65
6. EL DISEÑO AL NIVEL DEL CONOCIMIENTO.................................................. 95
7. EXPLORACIÓN DE CRITERIOS ........................................................................ 117
III. ALGORITMOS DE BÚSQUEDA HEURÍSTICA
MULTICRITERIO ................................................................................. 125
8. PREFERENCIAS Y PROBLEMAS MULTICRITERIO ..................................... 127
9. BÚSQUEDA HEURÍSTICA MULTICRITERIO.................................................. 137
10. UN ALGORITMO PARA SATISFACCIÓN DE METAS ADITIVAS .............. 229
IV. CASOS DE PRUEBA ............................................................................ 249
11. CONTROL DE GRAMÁTICAS PARA LA GENERACIÓN DE DISEÑOS..... 251
12. EXPLORACIÓN DE CRITERIOS EN DISEÑO DE CARRETERAS .............. 265
V. CONCLUSIONES.................................................................................. 277
13. CONCLUSIONES Y DESARROLLOS FUTUROS............................................ 279
APÉNDICES ................................................................................................ 283
APÉNDICE A. NOTACIÓN Y ABREVIATURAS EMPLEADAS .......................... 285
APÉNDICE B. TEXTO ORIGINAL DE LAS CITAS .............................................. 287
REFERENCIAS........................................................................................... 293
2
3
ÍNDICE DETALLADO
I. INTRODUCCIÓN........................................................................................ 7
1. INTRODUCCIÓN....................................................................................................... 9 1.1. DISEÑO Y DECISIÓN MULTICRITERIO .....................................................................................9 1.2. CONTRIBUCIONES DE LA TESIS..............................................................................................11 1.3. ESTRUCTURA DE LA TESIS......................................................................................................11
II. INTELIGENCIA ARTIFICIAL Y DISEÑO........................................... 15
2. LA INTELIGENCIA ARTIFICIAL......................................................................... 17 2.1. ¿QUÉ ES LA INTELIGENCIA ARTIFICIAL?..............................................................................17 2.2. INTELIGENCIA Y PROCESAMIENTO DE SÍMBOLOS.............................................................18 2.3. LA BÚSQUEDA Y LA RESOLUCIÓN DE PROBLEMAS...........................................................19 2.4. LA IMPORTANCIA DEL CONOCIMIENTO...............................................................................20 2.5. LOS PRIMEROS SISTEMAS EXPERTOS ...................................................................................22 2.6. EL NIVEL DEL CONOCIMIENTO ..............................................................................................24
2.6.1. Una definición del conocimiento .........................................................................................24 2.6.2. Niveles de descripción ........................................................................................................25 2.6.3. Utilidad del nivel del conocimiento .....................................................................................27 2.6.4. Teorías computacionales .....................................................................................................28
2.7. TENDENCIAS ACTUALES EN LA INGENIERÍA DEL CONOCIMIENTO................................30 2.8. EL PROBLEMA DEL DISEÑO Y LA INGENIERÍA DEL CONOCIMIENTO .............................33
3. EL DISEÑO Y LA BÚSQUEDA EN ESPACIOS DE ESTADOS........................... 35 3.1. LAS CIENCIAS DE LO ARTIFICIAL ..........................................................................................35 3.2. LA ESTRUCTURA DE LOS PROBLEMAS MAL ESTRUCTURADOS.......................................38
3.2.1. Origen de los problemas mal estructurados ..........................................................................39 3.2.2. Capacidades para la resolución de problemas mal estructurados...........................................40
3.3. COMENTARIOS ..........................................................................................................................41
4. EL DISEÑO Y LA REFLEXIÓN-EN-LA-ACCIÓN.............................................. 43 4.1. LA RACIONALIDAD TÉCNICA Y SUS CONSECUENCIAS......................................................44 4.2. FUNDAMENTOS DE LA REFLEXIÓN-EN-LA-ACCIÓN...........................................................48
4.2.1. El saber-en-la-acción...........................................................................................................48 4.2.2. La reflexión-en-la-acción ....................................................................................................49 4.2.3. El saber-en-la-práctica y la reflexión-en-la-práctica .............................................................51
4.3. LA ESTRUCTURA DE LA REFLEXIÓN-EN-LA-ACCIÓN.........................................................51 4.3.1. Construcción de mundos de diseño......................................................................................52 4.3.2. Experimentos en diseño.......................................................................................................54 4.3.3. Relación del profesional con la situación .............................................................................57
4.4. COMPARACIÓN DE LA RACIONALIDAD TÉCNICA Y LA REFLEXIÓN-EN-LA-ACCIÓN ..58 4.5. UNA TEORÍA COMPUTACIONAL DEL DISEÑO REFLEXIVO................................................59 4.6. COMENTARIOS ..........................................................................................................................61
4
5. ENFOQUES PRAGMÁTICOS................................................................................. 65 5.1. MÉTODOS DE INVESTIGACIÓN DE IA EN DISEÑO............................................................... 66 5.2. UN MARCO GENERAL PARA LOS PROCESOS DE DISEÑO .................................................. 67 5.3. REPRESENTACIÓN DEL CONOCIMIENTO DE DISEÑO: PROTOTIPOS................................ 71
5.3.1. Diseño rutinario, innovador y creativo ................................................................................ 75 5.4. PROCESOS FORMALES PARA DISEÑO NO RUTINARIO ....................................................... 76
5.4.1. Emergencia ........................................................................................................................ 77 5.4.2. Combinación evolutiva ....................................................................................................... 79
5.5. UN MODELO COMPUTACIONAL PARA EL DISEÑO INNOVADOR...................................... 80 5.5.1. La innovación como noción relativa.................................................................................... 81 5.5.2. Bases para un modelo del diseño innovador ........................................................................ 84
5.6. VISIÓN GENERAL DEL SISTEMA CYCLOPS .......................................................................... 85 5.6.1. Espacios de diseño.............................................................................................................. 85 5.6.2. Relajación de Restricciones y Exploración de Alternativas .................................................. 88 5.6.3. Razonamiento por Analogía: Adaptación de diseños ........................................................... 89 5.6.4. Razonamiento por Analogía: Emergencia de Criterios......................................................... 90
5.7. COMENTARIOS.......................................................................................................................... 91
6. EL DISEÑO AL NIVEL DEL CONOCIMIENTO .................................................. 95 6.1. KLDE
0: UNA TEORÍA DEL DISEÑO AL NIVEL DEL CONOCIMIENTO................................... 96 6.2. TEORÍAS, MODELOS Y MÉTODOS DE DISEÑO ..................................................................... 98 6.3. CONCEPTOS TEÓRICOS.......................................................................................................... 100
6.3.1. Aspectos de la descripción de requisitos en un problema de diseño.................................... 103 6.4. EL DISEÑO Y SUS CLASES SEGÚN KLDE
0 ............................................................................. 105 6.4.1. Un patrón básico para explicar el proceso de diseño .......................................................... 108 6.4.2. Explicación del diseño rutinario........................................................................................ 109 6.4.3. Explicación del diseño innovador...................................................................................... 110 6.4.4. Explicación del diseño original ......................................................................................... 110 6.4.5. Explicación del diseño creativo......................................................................................... 112
6.5. EL PAPEL DE KLDE0 EN LA INGENIERÍA DEL CONOCIMIENTO......................................... 113
6.6. COMENTARIOS........................................................................................................................ 114
7. EXPLORACIÓN DE CRITERIOS ........................................................................ 117 7.1. TÉCNICAS DE APOYO PARA LA EXPLORACIÓN DE CRITERIOS EN DISEÑO................. 119 7.2. ENFOQUES MULTICRITERIO PARA LA EXPLORACIÓN DE CRITERIOS.......................... 122 7.3. UNA NUEVA PROPUESTA ...................................................................................................... 124
III. ALGORITMOS DE BÚSQUEDA HEURÍSTICA
MULTICRITERIO..................................................................................125
8. PREFERENCIAS Y PROBLEMAS MULTICRITERIO...................................... 127 8.1. EL CONCEPTO DE PREFERENCIA ......................................................................................... 127 8.2. CARACTERIZACIÓN DE LAS PREFERENCIAS..................................................................... 129 8.3. PROBLEMAS MULTICRITERIO .............................................................................................. 130 8.4. REGLAS DE DECISIÓN............................................................................................................ 131 8.5. COMENTARIOS........................................................................................................................ 135
9. BÚSQUEDA HEURÍSTICA MULTICRITERIO ................................................. 137 9.1. INTRODUCCIÓN....................................................................................................................... 137 9.2. PROBLEMAS DE BÚSQUEDA HEURÍSTICA CON PREFERENCIAS .................................... 138 9.3. POP*: UN PROCEDIMIENTO GENERAL PARA LA BÚSQUEDA EN GRAFOS .................... 142
9.3.1. Funcionamiento general de POP* ..................................................................................... 144 9.3.2. El procedimiento 'Actualizar-CAMINOS-ABIERTOS'...................................................... 145
9.4. PROPIEDADES DE POP*.......................................................................................................... 147 9.5. CONDICIONES PARA CRITERIOS DE PODA PRUDENTES.................................................. 153
9.5.1. Órdenes de poda en algoritmos escalares........................................................................... 154
5
9.5.2. Órdenes de poda en algoritmos multicriterio......................................................................155 9.5.2.1. Conservación del orden....................................................................................... 155 9.5.2.2. Condición CMM.................................................................................................. 158
9.6. UNA CLASE DE PROCEDIMIENTOS DE BÚSQUEDA MULTICRITERIO.............................159 9.6.1. Funciones de atributos acumulables...................................................................................160 9.6.2. Funciones heurísticas para atributos acumulables...............................................................161 9.6.3. Procedimiento POP-Z* .....................................................................................................164 9.6.4. Propiedades de POP-Z*.....................................................................................................169 9.6.5. Instancias de POP-Z*........................................................................................................173
9.7. BÚSQUEDA MULTIOBJETIVO ................................................................................................174 9.7.1. Algoritmo MO-Z*.............................................................................................................175 9.7.2. Ejemplo: Excursiones Para Todos .....................................................................................176 9.7.3. Excursiones Multiobjetivo.................................................................................................178 9.7.4. Comentarios......................................................................................................................182
9.8. BÚSQUEDA CON FUNCIONES DE COSTE/VALOR MULTIATRIBUTO...............................183 9.8.1. Algoritmo Z*....................................................................................................................184 9.8.2. Algoritmo ZL* ..................................................................................................................186 9.8.3. Algoritmo U*....................................................................................................................188 9.8.4. Excursiones con valor multiatributo...................................................................................191 9.8.5. Comentarios......................................................................................................................194
9.9. BÚSQUEDA CON OBJETIVOS ORDENADOS POR PRIORIDAD...........................................196 9.9.1. Algoritmo PRIMO-Z*.......................................................................................................197 9.9.2. Algoritmo PRIMO-ZL* .....................................................................................................198 9.9.3. Excursiones lexicográficas ................................................................................................200 9.9.4. Comentarios......................................................................................................................203
9.10. BÚSQUEDA CON SATISFACCIÓN DE METAS ....................................................................203 9.10.1. Criterios de poda para algoritmos de satisfacción de metas...............................................206
9.10.1.1. Uso del criterio de preferencia como criterio de poda ........................................ 206 9.10.1.2. Orden de Pareto como criterio de poda ............................................................. 207 9.10.1.3. Criterios de poda locales para los problemas de metas ...................................... 208
9.10.2. Algoritmo METAL-ZL* ..................................................................................................211 9.10.3. Excursiones con satisfacción de metas.............................................................................212
9.11. POPN*: UNA VERSIÓN N-ADMISIBILE DE POP* .................................................................215 9.11.1. Terminación y Estructuras de Datos.................................................................................216 9.11.2. Criterio de poda ..............................................................................................................217 9.11.3. Criterio de preferencia heurístico.....................................................................................218 9.11.4. Propiedades de POPN* ....................................................................................................218
9.12. PROCEDIMIENTO POP-ZN*....................................................................................................221 9.13. CONCLUSIONES .....................................................................................................................224
10. UN ALGORITMO PARA SATISFACCIÓN DE METAS ADITIVAS ............. 229 10.1. ALGORITMO METAL-AL
N* ....................................................................................................229 10.2. EJEMPLO .................................................................................................................................235 10.3. PROPIEDADES DE METAL-AL
N* ...........................................................................................239 10.4. COMENTARIOS.......................................................................................................................246
IV. CASOS DE PRUEBA ............................................................................ 249
11. CONTROL DE GRAMÁTICAS PARA LA GENERACIÓN DE DISEÑOS..... 251 11.1. GRAMÁTICAS EN DISEÑO....................................................................................................251 11.2. LA PLANIFICACIÓN DEL ESPACIO......................................................................................253 11.3. UNA VERSIÓN DEL PROBLEMA DEL DISEÑO ARQUITECTÓNICO EN PLANTA .......255
11.3.1. Una gramática para la generación de planos de viviendas.................................................255 11.3.2. Criterios para la generación de planos..............................................................................258 11.3.3. Ejemplo ..........................................................................................................................260
11.4. COMENTARIOS.......................................................................................................................263
6
12. EXPLORACIÓN DE CRITERIOS EN DISEÑO DE CARRETERAS............... 265 12.1. ALGUNOS ASPECTOS DEL DISEÑO DE CARRETERAS..................................................... 265 12.2. EL PROBLEMA DEL TRAZADO PRELIMINAR DE CARRETERAS .................................... 267
12.2.1. El espacio de búsqueda ................................................................................................... 267 12.2.2. Criterios para el trazado de carreteras.............................................................................. 268 12.2.3. Ejemplos ........................................................................................................................ 269
12.3. Comentarios .............................................................................................................................. 274
V. CONCLUSIONES....................................................................................277
13. CONCLUSIONES Y DESARROLLOS FUTUROS ............................................ 279 13.1. CONCLUSIONES..................................................................................................................... 279 13.2. DESARROLLOS FUTUROS .................................................................................................... 281
APÉNDICES .................................................................................................283
APÉNDICE A. NOTACIÓN Y ABREVIATURAS EMPLEADAS .......................... 285
APÉNDICE B. TEXTO ORIGINAL DE LAS CITAS............................................... 287 B.1. CITAS DEL CAPÍTULO 2 ......................................................................................................... 287 B.2. CITAS DEL CAPÍTULO 3 ......................................................................................................... 288 B.3. CITAS DEL CAPÍTULO 4 ......................................................................................................... 288 B.4. CITAS DEL CAPÍTULO 5 ......................................................................................................... 290 B.5. CITAS DEL CAPÍTULO 6 ......................................................................................................... 292 B.6. CITAS DEL CAPÍTULO 10 ....................................................................................................... 292 B.7. CITAS DEL CAPÍTULO 11 ....................................................................................................... 292
REFERENCIAS .......................................................................................................... 293
7
I. INTRODUCCIÓN
8
9
CAPÍTULO 1
INTRODUCCIÓN
1.1. DISEÑO Y DECISIÓN MULTICRITERIO
El diseño es una actividad compleja. En ella el ser humano se enfrenta a la realidad
física y social que le rodea para idear formas de conseguir aquello que necesita. Es un hecho
constatable que el producto de dicha actividad no siempre proporciona resultados
satisfactorios. Coches que vuelcan, autovías cortadas por movimientos de tierra, o edificios
que presentan problemas estructurales a los pocos años de su construcción son sólo algunos
ejemplos divulgados recientemente por la prensa.
La introducción de los ordenadores digitales en el entorno de trabajo de arquitectos,
ingenieros y profesionales de todo el mundo ha creado grandes expectativas respecto a la
mejora de la calidad de sus diseños. Especialmente en los campos de la arquitectura y la
ingeniería el desarrollo de herramientas informáticas ha seguido dos caminos claramente
identificables.
Por una parte están las denominadas herramientas CAD (Computer-Aided Design –
Diseño Asistido por Ordenador), orientadas a facilitar la descripción, documentación y
visualización de diseños.
Por otra parte está la posibilidad de construir herramientas que jueguen un papel más
activo en el desarrollo y síntesis de los diseños a lo largo de todo el proceso. Un primer paso
en este sentido es el uso de herramientas tomadas o adaptadas de la Investigación Operativa
para la decisión matemática o la simulación de sistemas. Un objetivo más ambicioso consiste
en la formalización y representación de conocimiento especializado que sirva para supervisar,
facilitar y guiar todo el proceso de diseño. Esta posibilidad plantea un desafío interesante en el
campo de la Inteligencia Artificial (IA).
Capítulo 1
10
Son muchas las técnicas de IA que se han propuesto para la automatización de tareas
relacionadas con el diseño. Sin embargo, su desarrollo y aplicación se ha visto condicionado
por una comprensión limitada del diseño como proceso y como actividad cognitiva.
Desde los trabajos pioneros de (Simon, 1969) hasta las modernas teorías de la
Ingeniería de Conocimiento (Smithers, 1998) la propia concepción de qué es el diseño se ha
ido perfilando cada vez de forma más nítida. Tal vez sea este el resultado más valioso
alcanzado hasta ahora por la investigación sobre diseño en IA. La existencia de teorías
computacionales sobre diseño permite identificar qué tareas pueden automatizarse de modo
que se aproveche la capacidad de los ordenadores sin limitar ni condicionar la de los
diseñadores.
Una característica importante de los problemas de diseño es su carácter multicriterio.
En ellos intervienen múltiples objetivos, metas y restricciones normalmente en conflicto. Los
estudios teóricos y empíricos recientes resaltan el hecho de que buena parte del trabajo de un
diseñador se invierte en establecer un conjunto adecuado de criterios y en resolver los
posibles conflictos estableciendo compromisos y preferencias adecuadas. Estos criterios y
preferencias, que son uno de los productos del proceso de diseño, sólo se presentan con
claridad al diseñador después de haber explorado diversas alternativas. En la tesis se
denomina a esta actividad exploración de criterios.
La investigación sobre representación de preferencias en el campo de la Investigación
Operativa ha dado lugar a la Teoría de la Decisión Multicriterio (TDM). Por el contrario, son
pocas las técnicas multicriterio que se han ensayado hasta la fecha en Inteligencia Artificial.
Esta tesis pretende avanzar en esta dirección y propone que una metodología inspirada en los
resultados de la TDM puede ayudar a realizar tareas de exploración de criterios como las que
aparecen en dominios de diseño.
Las propuestas de la tesis se sustancian en una generalización multicriterio de
algoritmos de búsqueda heurística empleados con frecuencia en IA. Se argumenta también la
adecuación de las técnicas basadas en satisfacción de metas para la exploración de alternativas
en diseño, y se presentan algunos ejemplos de aplicación.
11
1.2. CONTRIBUCIONES DE LA TESIS
Esta tesis ofrece resultados relativos a la formalización del problema de la búsqueda
heurística multicriterio en grafos y de los algoritmos para su resolución. Especialmente se
destacan las aplicaciones de los problemas de búsqueda con satisfacción de metas en
problemas de diseño. Entre las contribuciones de la tesis cabe destacar:
(i) La formalización de los problemas de búsqueda heurística multicriterio.
(ii) El desarrollo de procedimientos generales para la búsqueda heurística multicriterio y
un análisis de sus propiedades. Concretamente se presentan condiciones suficientes para
la obtención de soluciones minimales.
(iii) El desarrollo de diversos algoritmos de búsqueda heurística para las reglas de decisión
multicriterio más comunes, junto a un análisis de sus propiedades. Concretamente se
presentan condiciones suficientes para la obtención de soluciones minimales.
(iv) La reducción al esquema general presentado de diversos algoritmos de búsqueda
multicriterio publicados en los últimos años.
(v) La aplicación de los algoritmos de búsqueda heurística con satisfacción de metas a
problemas de diseño.
1.3. ESTRUCTURA DE LA TESIS
La memoria de la tesis está organizada en cinco partes, recoge trece capítulos, dos
apéndices y un conjunto de referencias. La línea argumental se basa en exponer la
problemática del diseño e identificar la tarea de la exploración de criterios. A continuación se
desarrolla detalladamente una clase de algoritmos de búsqueda heurística multicriterio, y se
ilustra la aplicación de los algoritmos de búsqueda con satisfacción de metas al problema de la
exploración de criterios.
Además de la primera parte, que incluye este capítulo introductorio, y la quinta, que
consta de un capítulo final dedicado a exponer las conclusiones y desarrollos futuros, la
estructura de la memoria de la tesis es la que se expone a continuación.
Capítulo 1
12
La segunda parte, titulada “Inteligencia Artificial y Diseño” se encarga de introducir
el problema del diseño y algunos resultados importantes producidos por la IA en su
conceptualización. Se organiza en seis capítulos:
! El capítulo 2, titulado “La Inteligencia Artificial”, realiza un breve recorrido por
algunos de los aspectos más relevantes de la historia de la IA. El énfasis se centra
en el desarrollo de aquellos conceptos que se emplean en los capítulos siguientes.
! El capítulo 3, “El Diseño y la Búsqueda en Espacios de Estados”, presenta algunos
de los trabajos de Herbert Simon, en los que la hipótesis de la racionalidad
limitada se combina con las hipótesis de la IA para proporcionar una primera
teoría cognitiva del diseño: la búsqueda en espacios de estados.
! El capítulo 4, bajo el título de “El Diseño y la Reflexión-en-la-acción”, describe
una crítica a la teoría del capítulo anterior y una teoría alternativa presentada por
Donald Schön. En él se plantean argumentos contrarios a la realización de sistemas
de diseño automático y se propone como objetivo para la IA el desarrollo de
sistemas de ayuda al diseño.
! El capítulo 5, al que corresponde el título de “Enfoques Pragmáticos”, presenta
varios trabajos que resumen adecuadamente algunas de las líneas de investigación
recientes de la IA en diseño. La vocación de estos trabajos es fundamentalmente
práctica y pretenden aprovechar cualquier aportación teórica o empírica para la
construcción de sistemas de ayuda al diseño. En particular, su conexión con las
ideas propuestas por Simon es bastante evidente. Se describe con cierto detalle el
trabajo de (Navinchandra, 1991) pues en él se emplean precisamente algoritmos de
búsqueda multiobjetivo.
! El capítulo 6, titulado “El Diseño al Nivel del Conocimiento”, presenta una línea
de investigación alternativa en cuanto a la forma a la descrita en el capítulo
anterior. En él se describe KLDE0, una teoría computacional del diseño que
establece una descripción operativa del mismo. Su finalidad es servir de
herramienta para la especificación y desarrollo de futuros sistemas de ayuda al
diseño.
13
! El capítulo 7, “Exploración de Criterios”, cierra la segunda parte de la tesis y sirve
de enlace con la tercera. En él se analiza la tarea de la exploración de criterios en
diseño a la luz de las teorías descritas en los capítulos anteriores. Se examinan
algunas alternativas ensayadas en IA para apoyar a los diseñadores en la
realización de esta tarea, y se propone el uso de algoritmos de búsqueda
multicriterio.
La tercera parte, titulada “Algoritmos de Búsqueda Heurística Multicriterio” recoge
las contribuciones fundamentales de la tesis. Se organiza en tres capítulos:
! El capítulo 8, bajo el título “Preferencias y Problemas Multicriterio”, presenta
algunas aportaciones de la Teoría de la Decisión Multicriterio. Concretamente se
formalizan los conceptos de preferencia y de problema de decisión multicriterio, y
se definen las reglas de decisión más comunes.
! El capítulo 9, “Búsqueda Heurística Multicriterio”, introduce una formalización de
los problemas de búsqueda heurística multicriterio. Tomando en la medida de lo
posible como referencia los trabajos de (Pearl, 1984) sobre algoritmos escalares, se
desarrollan procedimientos generales para la búsqueda heurística multicriterio.
Una vez establecidas las condiciones para su admisibilidad se detallan diversos
algoritmos de búsqueda y se demuestran sus propiedades. También se establece
relación entre los procedimientos propuestos y otros algoritmos de búsqueda
multicriterio publicados en los últimos años, señalándose algunas de sus
limitaciones a la luz de los resultados obtenidos.
! El capítulo 10, al que corresponde el título “Un Algoritmo para Satisfacción de
Metas Aditivas” describe en detalle el algoritmo METAL-ALN*, un caso particular
de los algoritmos de satisfacción de metas descritos en el capítulo anterior. Este
algoritmo se emplea en la cuarta parte de la tesis para ilustrar su aplicación en
tareas de exploración de criterios.
La cuarta parte de la tesis, titulada “Casos de Prueba”, consta de dos capítulos. Cada
uno de ellos ilustra la aplicación del algoritmo METAL-ALN* a problemas de exploración de
criterios en diseño.
Capítulo 1
14
! El capítulo 11, bajo el nombre de “Control de Gramáticas para la Generación de
Diseños” describe el uso de gramáticas en problemas de diseño y cómo los
algoritmos de satisfacción de metas pueden emplearse para explorar el espacio de
alternativas que representan. Concretamente se presenta un ejemplo en el dominio
del diseño arquitectónico en planta.
! El capítulo 12, “Exploración de Criterios en el Diseño de Carreteras”, describe la
aplicación de los algoritmos de satisfacción de metas a este problema.
Finalmente, el apéndice A resume algunos aspectos de la notación y terminología
empleadas, y el apéndice B incluye el texto original de las citas insertadas en la memoria y
cuyo idioma no era el castellano.
15
II. INTELIGENCIA ARTIFICIAL Y DISEÑO
En esta segunda parte de la memoria se presenta una selección de las principales
aportaciones y líneas de trabajo que han surgido de la investigación sobre diseño en IA
durante los últimos treinta años.
Las evoluciones de dicha investigación no han sido ajenas a las evoluciones tanto
teóricas como prácticas de la propia IA a lo largo de su corta pero intensa historia. Los
progresos recientes del campo sugieren que organizar esta exposición sobre la base de
diversos conceptos y descripciones teóricas sobre el diseño como proceso puede resultar no
solo adecuado sino también revelador y clarificador.
El eje principal de la segunda parte de la memoria lo forman un conjunto de
aportaciones y trabajos teóricos que en las últimas décadas han ido imprimiendo en el campo
de la IA diversas perspectivas sobre el problema del diseño. Estos trabajos se han agrupado de
la siguiente forma:
• El diseño y la búsqueda en espacios de estados (Simon, 1973).
• El diseño y la reflexión en la acción (Schön, 1983).
• Enfoques pragmáticos (Gero, 1994a; Navinchandra, 1991).
• El diseño al nivel del conocimiento (Smithers, 1998).
16
Con los dos primeros se pretende dar una visión intuitiva sobre qué se entiende por
diseño en IA, y cuales son sus principales elementos. Con los dos siguientes se pretende dar
una visión general de cuales son las principales líneas de investigación actuales sobre diseño,
y proporcionar descripciones más operativas del mismo.
Los trabajos de Simon y Schön se fundamentan en el marco de la ciencia cognitiva, es
decir, describen y estudian la forma en que actúan los diseñadores humanos. El primero
proporciona una caracterización del diseño como un proceso de búsqueda en un espacio de
estados. Considera, por tanto, que el diseño es una actividad de resolución de problemas, una
idea que hoy día continúa ejerciendo una poderosa influencia en muchos trabajos sobre
diseño. El segundo presenta una caracterización alternativa sobre algunos procesos cognitivos
de diseño y representa una critica directa a los planteamientos y bases filosóficas del primero.
Las líneas de investigación más recientes se han clasificado en dos grupos. Por una
parte están aquellos enfoques ‘pragmáticos’ que postulan el uso de sistemas informáticos para
ayudar a los diseñadores y aprovechan cualquier aportación teórica o empírica para tal fin. Por
otra parte están aquellos enfoques que persiguen un fundamento teórico para la implantación
de dichos sistemas. Se ha optado aquí por presentar una teoría del diseño al nivel del
conocimiento que ha servido, en cierta medida, de soporte para el trabajo presentado en la
tesis. Las teorías al nivel del conocimiento pretenden ser una alternativa práctica a las teorías
cognitivas, sin entrar necesariamente en conflicto con ellas.
17
CAPÍTULO 2
LA INTELIGENCIA ARTIFICIAL
"Sometimes I just don’t understand human behavior!"
C3PO en «The Empire Strikes Back» George Lucas, 1980
2.1. ¿QUÉ ES LA INTELIGENCIA ARTIFICIAL?
Existen muchas definiciones del concepto de Inteligencia Artificial (IA), algunas de
ellas bastante ambiguas. Sin duda el carácter elusivo de la “inteligencia artificial” proviene
del hecho de que la inteligencia humana en si misma es difícil de definir, no digamos ya la
artificial si es que tal cosa existe.
Desde un punto de vista pragmático puede definirse la IA como aquel campo o ciencia
que se preocupa de analizar el comportamiento inteligente humano y de las formas y medios
para simularlo y/o emularlo. Algunos ejemplos de comportamiento estudiados por la IA son
los del aprendizaje, la comunicación, el proceso de diseño y, muy especialmente, la
resolución de algunas clases de problemas como, por ejemplo, la clasificación, la
configuración, o la planificación. La IA surge, por tanto, de una curiosa intersección entre
otras disciplinas como la psicología cognitiva, la filosofía y la informática.
Tradicionalmente han existido dos paradigmas fundamentales para el estudio de la IA.
El primero intenta explicar el comportamiento inteligente como procesamiento de símbolos.
El segundo puede denominarse como sub-simbólico, y plantea el comportamiento inteligente
como resultado de la interacción de distintos módulos de comportamiento descentralizados.
Dentro de este segundo paradigma se incluyen fundamentalmente las llamadas redes
neuronales. Ninguno de los dos enfoques ha conseguido hasta el momento replicar las
capacidades de la inteligencia humana, ni parece que lo vayan a conseguir en un futuro
Capítulo 2
18
cercano. Muy posiblemente para acercarse a dicho objetivo será necesaria la integración de
ambos enfoques.
El contenido de la tesis doctoral puede enmarcarse, al igual que la inmensa mayoría de
los trabajos sobre diseño en IA, dentro del primer paradigma. En este capítulo se exponen
brevemente algunos de sus fundamentos.
2.2. INTELIGENCIA Y PROCESAMIENTO DE SÍMBOLOS
La principal hipótesis defendida por los enfoques de la IA basados en procesamiento
de símbolos es la llamada Hipótesis del Sistema Simbólico Físico (Newell y Simon, 1976):
“Un sistema simbólico físico posee los medios necesarios y suficientes para acciones
inteligentes generales.”
El adjetivo “físico” se añade para resaltar el hecho de que el sistema simbólico es
realizable físicamente y permite observar sus mecanismos de funcionamiento. Un sistema
simbólico se define como aquel sistema que cumple las siguientes condiciones:
1. Posee un conjunto de símbolos.
2. Posee un conjunto de operadores para construir, modificar, reproducir y destruir
estructuras simbólicas (expresiones). Estos operadores son reglas bien definidas
que están representadas a su vez mediante estructuras simbólicas.
3. Está relacionado con un contexto de objetos del mundo real.
Esto no es más que decir que los sistemas inteligentes representan su entorno y
razonan sobre el mismo empleando estructuras simbólicas, y que, por tanto, los procesos del
comportamiento inteligente pueden ser formalizados y observados.
Para estudiar una clase o aspecto del comportamiento inteligente se pueden construir
teorías que lo formalicen tal como se muestra en el gráfico de la figura 2.1. La relación causal
entre sucesos del sistema que se está estudiando intenta describirse y explicarse utilizando
implicaciones entre descripciones formales de dichos sucesos. Para intentar estudiar un
determinado comportamiento (A) tomando de partida como válidas las hipótesis de la IA, se
19
construye una teoría computacional que más adelante puede ser verificada y observada
utilizando un ordenador (B+C+D).
SISTEMA
MATERIAL
SISTEMA
FORMAL
D = Decodificación
B = Codificación
C = ImplicaciónA = Causalidad
Figura 2.1. Formalización de un sistema material (adaptado de (Smithers y Troxell, 1990)).
2.3. LA BÚSQUEDA Y LA RESOLUCIÓN DE PROBLEMAS
Como ya se ha comentado, uno de los principales comportamientos estudiado por la
IA es el de la resolución de problemas. Hoy día es una hipótesis universalmente aceptada que
la búsqueda es un modelo computacional adecuado para explicar y emular dicho
comportamiento. Esta hipótesis recibe el nombre de Hipótesis de la Búsqueda Heurística
(Newell y Simon, 1976):
“Las soluciones a los problemas pueden representarse mediante estructuras
simbólicas. Un sistema simbólico físico ejerce su inteligencia en la resolución de
problemas mediante búsqueda -es decir, generando y modificando progresivamente
estructuras simbólicas hasta que produce una estructura solución.”
En definitiva, la resolución de problemas mediante búsqueda se basa en las siguientes
ideas (Stefik, 1995, cap. 2):
1. Las estructuras simbólicas pueden emplearse para representar la solución de
problemas.
2. Los sistemas simbólicos físicos pueden generar estructuras simbólicas para
representar candidatos a solución alternativos.
Capítulo 2
20
3. Los sistemas simbólicos físicos pueden realizar comprobaciones sobre las
estructuras simbólicas de los candidatos para comparar su calidad como
soluciones.
4. Los procesos de búsqueda pueden describirse mediante métodos (los métodos son
esencialmente programas para llevar a cabo los pasos de la resolución de
problemas).
5. Los métodos de búsqueda pueden informarse y mejorarse usando conocimiento.
En tal caso se denominan métodos heurísticos.
La formulación de un problema incluye normalmente tres elementos:
a) Una estructura simbólica que representa la situación o estado inicial del problema.
b) Un conjunto de funciones u operadores que representan acciones posibles. Cada
una de estas funciones transforma una descripción del estado del problema en otra
que representa la descripción de dicho estado tras realizar la acción.
c) Una condición objetivo, que permite determinar si la descripción de un estado
corresponde a una solución al problema.
Los elementos (a) y (b) definen lo que se denomina el espacio de estados del
problema. Al conjunto de estados que cumplen la condición objetivo se le denomina espacio
de soluciones del problema.
Aunque la búsqueda es un modelo útil para la resolución de problemas, no está del
todo claro que lo sea para la explicación del comportamiento inteligente en general. Algunas
de las teorías sobre diseño que se comentan más adelante están basadas precisamente en
procesos de búsqueda. Otras, por el contrario ponen en cuestión dicho modelo, ya que diseñar
no sólo implica resolución de problemas, sino también otras actividades que tal vez no puedan
caracterizarse adecuadamente mediante procesos de búsqueda.
2.4. LA IMPORTANCIA DEL CONOCIMIENTO
Durante los años sesenta el paradigma de la búsqueda fue ampliamente utilizado para
demostrar que los ordenadores podían resolver problemas antes sólo al alcance de los
21
humanos (la demostración de teoremas sencillos y algunos juegos son ejemplos citados con
frecuencia). Estos éxitos iniciales alentaron predicciones optimistas que aseguraban que en
pocos años los ordenadores resolverían muchos problemas mejor que los humanos. Por
ejemplo, se llegó a afirmar que en un plazo de diez años un ordenador sería campeón del
mundo en ajedrez y demostraría un importante teorema desconocido hasta entonces. Las
siguientes afirmaciones, realizadas por Herbert Simon en 1958 y 1960 respectivamente, son
representativas en este sentido1:
“Existen actualmente en el mundo máquinas que piensan, que aprenden y que crean.
Más aún, su capacidad para realizar estas acciones se incrementará rápidamente,
hasta que, en un futuro próximo, la clase de los problemas a que podrán enfrentarse
serán coextensivos con los que ha afrontado la mente humana.”
“En un futuro muy próximo –inferior a veinticinco años– dispondremos de una
capacidad técnica que nos permitirá utilizar máquinas para cualesquiera de las
funciones que realiza el hombre en una organización. En el mismo periodo, habremos
alcanzado una teoría amplia y empíricamente probada de los procesos cognoscitivos
y su interacción con las emociones, actitudes y valores humanos.”
Obviamente, estas expectativas se vieron defraudadas. El desarrollo de la teoría de la
complejidad a principios de los años setenta vino a confirmar lo que ya se venía
experimentando en la práctica: la mayoría de los problemas que la IA pretende resolver sufren
la denominada explosión combinatoria. Para problemas reales los espacios de estados son tan
grandes que la búsqueda de una solución simplemente por ensayo y error es intratable
utilizando recursos de tiempo y memoria razonables.
Sin embargo, la inteligencia humana permite resolver dichos problemas. La clave para
intentar superar estas dificultades surgió de la observación de que los humanos no actúan
ciegamente en la búsqueda de soluciones a un problema. Dada una situación concreta y un
objetivo, una persona prefiere realizar determinadas acciones con preferencia a otras. En
definitiva posee cierto conocimiento adquirido a través de la experiencia que le permite
razonar sobre el problema y limitar la búsqueda de una solución a un conjunto de alternativas
prometedoras.
1 Citadas en (Weizenbaum, 1976).
Capítulo 2
22
Estas ideas produjeron un cambio irreversible en la concepción de las bases para el
comportamiento inteligente dentro de la IA. Se reconoció que más importante aún que el
estudio de procesos y técnicas para el procesamiento de símbolos es la representación y uso
de grandes cantidades de conocimiento para guiar el comportamiento. En definitiva se
produjo un cambio desde las teorías de la inteligencia orientadas a técnicas de búsqueda de
propósito general, hacia teorías de la inteligencia orientadas al conocimiento (Goldstein y
Papert, 1977):
“El problema fundamental en la comprensión de la inteligencia no está en identificar
unas pocas técnicas potentes, sino más bien en cómo se pueden representar grandes
cantidades de conocimiento de modo que permitan su interacción y uso eficaz.”
En (Feigenbaum, 1979) se resume esta misma idea de la siguiente forma:
"[...] la potencia en la resolución de problemas que un agente inteligente exhibe en
sus prestaciones es, en primer lugar, consecuencia del conocimiento especializado
empleado por el agente, y sólo se relaciona muy secundariamente con la generalidad
y la potencia del método de inferencia empleado."
2.5. LOS PRIMEROS SISTEMAS EXPERTOS
La aparición de los primeros sistemas expertos dio un nuevo impulso al enfoque
simbólico de la Inteligencia Artificial. La investigación se centró fundamentalmente en el
desarrollo de medios y técnicas sobre razonamiento y para la obtención y representación del
conocimiento.
Los trabajos realizados en los años setenta en torno al Proyecto de Programación
Heurística (Buchanan y Shortliffe, 1984) de la Universidad de Stanford (EE.UU.) definieron
la ya clásica arquitectura software de los sistemas expertos. Esta se compondría de tres
elementos fundamentales: base de conocimientos, motor de inferencia, y memoria de trabajo.
La idea general era que el conocimiento de un experto humano en la resolución de una clase
de problemas podría obtenerse mediante una serie de entrevistas y otros medios para luego
codificarse explícitamente en algún lenguaje formal. El resultado sería la llamada base de
conocimientos. Podría construirse entonces un sistema que dispusiera de una representación
interna del mundo (la memoria de trabajo) y de un mecanismo de inferencia general que se
23
encargara de actualizar dicha representación y buscar la solución a un problema aprovechando
la información codificada en la base de conocimientos.
También en esta época apareció el concepto de Ingeniería del Conocimiento (IC),
como aquella parte de la Inteligencia Artificial dedicada al desarrollo de bases de
conocimiento, y entendida normalmente con una vocación fundamentalmente aplicada.
Comenzaron entonces a acuñarse también términos técnicos que son de uso común hoy día en
el análisis y desarrollo de sistemas con conocimiento. Las definiciones presentadas a
continuación están tomadas de (Stefik, 1995):
• Dominio. Se trata de un cuerpo de conocimiento. A menudo un dominio es bien un
campo de estudio académico o bien un área profesional.
• Tarea. Es una clase de trabajo a realizar. Una tarea implica la resolución de una clase
de problemas (por ejemplo, diagnóstico, configuración, diseño o planificación).
• Conocimiento del dominio. Se refiere a la terminología y hechos de un dominio sin
referencia a ninguna tarea en concreto.
• Conocimiento de la tarea. Se refiere a la terminología, modelos computacionales y
hechos asociados a la realización de una clase de tarea, sin referirse necesariamente a
un dominio concreto.
• Dominio de tareas. Combina las dos ideas anteriores. Se refiere al conocimiento,
suposiciones y requisitos asociados a la realización de una tarea concreta en un
dominio concreto (por ejemplo, el diagnóstico de enfermedades infecciosas).
• Problema. Es una instancia particular de una tarea.
Los graves problemas prácticos, encontrados fundamentalmente en la obtención del
conocimiento, dieron al traste con estas ideas iniciales y llevaron a una revisión profunda del
concepto de sistema experto. (Van de Velde, 1994) resume así esta problemática:
“La idea de que el conocimiento está ahí para ser extraído del experto humano y
traducido en elementos utilizables de conocimiento [...] era equivocada. [...]
Combinar todos estos elementos de conocimiento altamente especializados en un
modelo completo del experto resultó ser un auténtico problema de ingeniería. A un
Capítulo 2
24
nivel más técnico, la esperanza de que podría obtenerse un sistema inteligente
amontonando fragmentos de representaciones de conocimiento en una base de
conocimientos, para luego dejar que un mecanismo general de inferencia (p.ej., un
intérprete de reglas con encadenamiento hacia delante [...]) decidiera cuando utilizar
dichos elementos, ha fracasado.”
2.6. EL NIVEL DEL CONOCIMIENTO
La comunidad de IA comenzó a plantearse que una arquitectura de módulos software,
aunque en su día supuso un logro considerable, no era el modelo más adecuado para describir
y comprender un sistema experto. A raíz de todo ello cambió la concepción misma de la
naturaleza del conocimiento y se empezaron a desarrollar nuevas metodologías para la
especificación y desarrollo de sistemas expertos.
En 1979 Allen Newell pronunció un discurso presidencial en la primera conferencia
científica de la Asociación Americana para la Inteligencia Artificial (AAAI)2 titulado "El
Nivel del Conocimiento" (Newell, 1982). Con este discurso Newell pretendía hacer explícitas
estas nuevas ideas que, en su opinión, ya estaba utilizando implícitamente en la práctica la
comunidad de la IA. Al parecer las ideas no estaban aún tan claras como Newell pensaba y,
ante la confusión creada, escribió un nuevo artículo más de diez años después aclarando sus
intenciones iniciales (Newell, 1993).
La idea fundamental de Newell era proporcionar una conceptualización más explícita
del concepto de conocimiento, con la esperanza de que futuros debates se encargaran de
establecer los detalles técnicos (no hay que olvidar que se trataba, al fin y al cabo, de un
discurso). Muchos libros de texto de Inteligencia Artificial introducen hoy día el concepto de
nivel del conocimiento, pero curiosamente casi ninguno proporciona una definición explícita
de qué se entiende por conocimiento en Inteligencia Artificial.
2.6.1 Una definición del conocimiento
En líneas generales el argumento de Newell es que el conocimiento es un concepto
abstracto empleado para describir y explicar el comportamiento de un agente. El término
2 American Association for Artificial Intelligence.
25
agente se refiere aquí a cualquier sistema que se desenvuelve en un determinado medio en el
que puede realizar acciones y del cual puede recibir percepciones (por ejemplo, una persona o
un "robot"). Además, se supone que el agente posee una serie de objetivos que desea cumplir
y que siempre intenta seleccionar sus acciones de modo que pueda conseguirlos (lo que se
denomina el principio de racionalidad).
A este nivel de abstracción, el conocimiento de un agente se define como aquello que
le hace competente para la consecución de sus objetivos. Es lo que le permite seleccionar las
acciones adecuadas. El conocimiento es, por tanto, algo abstracto que nosotros, como
observadores, atribuimos a un agente para explicar su comportamiento sin entrar en los
detalles de su estructura física.
2.6.2 Niveles de descripción
Los sistemas que realizan algún tipo de procesamiento de información, ya sean
biológicos o informáticos, pueden describirse a muchos niveles de abstracción. Atendiendo a
las definiciones proporcionadas hasta ahora, estos niveles pueden agruparse básicamente en
tres: nivel físico, nivel simbólico y nivel del conocimiento. Los dos últimos son comunes
tanto a sistemas biológicos como informáticos:
1. El Nivel Físico. Es el encargado de describir los mecanismos y medios físicos
empleados por el sistema para representar y manipular símbolos. En realidad el
nivel físico agrupa a su vez distintos niveles de abstracción. Por ejemplo, un
sistema biológico puede describirse en términos de neuronas o en términos
bioquímicos; un sistema informático puede describirse en términos lógicos, de
circuitos, o de dispositivos electrónicos.
2. El Nivel Simbólico. Se ocupa de describir y explicar el comportamiento del sistema
en términos de procesamiento de símbolos, es decir, de representaciones o
estructuras simbólicas y de los procesos que operan sobre las mismas.
3. El Nivel del Conocimiento. Se ocupa de describir y explicar el comportamiento del
sistema exclusivamente en términos del conocimiento que se le atribuye. La ventaja
esencial de este tercer nivel es que permite captar la esencia del comportamiento
basándose únicamente en el contenido de las representaciones y en el conocimiento
Capítulo 2
26
de los objetivos, abstrayéndose por completo de representación, estructura y
proceso.
La existencia del nivel simbólico es, en realidad, la esencia de la Hipótesis del Sistema
Simbólico Físico. El nivel del conocimiento se presenta como un nivel de descripción de estos
mismos sistemas en términos más abstractos. Así, cuando decimos que un programa
informático posee un conocimiento K, nos referimos realmente al hecho de que en el
programa hay una estructura que, desde nuestro punto de vista, representa K y que existen
procesos capaces de utilizar dicha representación para seleccionar acciones de acuerdo con el
principio de racionalidad. Si tomamos como ciertas las hipótesis de la IA, en principio podría
decirse lo mismo de una persona.
En consecuencia, el conocimiento, al ser algo abstracto, no puede "verse" sino "sólo
imaginarse como resultado de un proceso de interpretación que opera sobre expresiones
simbólicas" (Newell, 1982). La tarea de representar el conocimiento puede entenderse
entonces claramente como la creación de estructuras y procesos simbólicos que exhiban
determinadas capacidades o competencias.
El nivel del conocimiento descrito por Newell tiene sus peculiaridades. A diferencia
de los niveles físicos y simbólico, la descripción de un sistema al nivel del conocimiento no
permite determinar completamente su comportamiento. Se trata únicamente de una
aproximación. Esto se debe a que hay situaciones en las que ningún estado de conocimiento
permite seleccionar entre dos acciones posibles, por ejemplo, cuando el agente posee dos
objetivos incompatibles.
Según el propio Newell, el nivel del conocimiento no es algo de su propia invención,
sino un concepto tan obvio que ya se estaba utilizando implícita e intuitivamente en la
práctica de la ingeniería del conocimiento (Newell, 1993, p. 34):
"La gente descubre el nivel del conocimiento porque debe realizar especificaciones de
los sistemas que se van a programar. No realizan estas especificaciones sólo en
términos de entradas y salidas, sino también en términos de lo que el programa sabe
que puede utilizar para calcular las salidas a partir de las entradas. De este modo
inducen a partir de su práctica una cierta noción de lo que significa que un sistema
tenga conocimiento y qué significa proporcionar los mecanismos del nivel simbólico
que codifican dicho conocimiento y lo extraen para que el programa se comporte del
27
modo deseado. No hace falta ser un Newton para formar el concepto de nivel del
conocimiento [...]"
2.6.3 Utilidad del nivel del conocimiento
El nivel del conocimiento se presenta como una herramienta útil para la Inteligencia
Artificial, especialmente "en el diseño de sistemas, donde el diseñador especifica un
componente postulando su función (es decir, su objetivo) y el conocimiento que tiene a su
disposición" (Newell, 1993).
La figura 2.2 representa una situación en la que se emplea el conocimiento. En ella
intervienen un observador y un agente. Como el observador desconoce los mecanismos
físicos específicos del agente lo describe únicamente al nivel del conocimiento. Así el
observador atribuye al agente un conocimiento (K) y unos objetivos (G), y conoce también
(tal vez por observación) el medio y el conjunto de acciones posibles del agente. Esto permite
al observador realizar predicciones sobre el comportamiento del agente empleando el
principio de racionalidad.
Sin embargo, lo que el agente posee realmente (físicamente) es un sistema simbólico
(S) que le permite calcular las acciones que llevará a cabo.
Sistemasimbólico
S'
Conocimiento
K'
Sistemasimbólico
S
ConocimientoK
Objetivos
G
Observador Agente
Acciones
Figura 2.2. Una situación en la que se emplea conocimiento (adaptado de (Newell, 1982))
El observador es también un agente (por definición, ya que estamos suponiendo que
"tiene" conocimiento), y podemos describirlo también al nivel del conocimiento. Podemos
atribuir al observador un conocimiento (K') consistente en: el conocimiento K, el
conocimiento de que K es el conocimiento del agente, el conocimiento G, el conocimiento de
que G son los objetivos del agente, conocimiento de las acciones del agente, etc.
Capítulo 2
28
Sin embargo, lo que el observador posee realmente (físicamente) es un sistema
simbólico (S') que le permite, por ejemplo, calcular lo que el agente haría si tuviese
conocimiento K y objetivos G.
El nivel del conocimiento permite, por tanto, predecir y comprender el
comportamiento de un agente sin necesidad de ningún modelo de los procesos simbólicos que
realiza. Se puede entender como un medio para construir una teoría o modelo del
comportamiento del agente basándose exclusivamente en información externa al mismo.
La tarea de la Inteligencia Artificial puede entenderse entonces en dos pasos. En
primer lugar, construir estas teorías o modelos a partir del estudio y observación del
comportamiento humano. Las descripciones al nivel del conocimiento pueden servir de este
modo de especificación de los sistemas de IA. En segundo lugar, construir sistemas al nivel
simbólico que sirvan como soluciones a los modelos y, por tanto, como representaciones del
conocimiento. El conocimiento no puede representarse únicamente mediante una estructura al
nivel simbólico, necesita tanto estructuras como procesos.
2.6.4 Teorías computacionales
El precedente más claro de la necesidad de tres niveles de descripción lo encontramos
en (Marr, 1977; 1982). Concretamente (Marr, 1982) describe cómo los estudios
computacionales sobre la visión humana han evolucionado necesariamente, desde
explicaciones basadas en la estructura neuronal del cerebro, hacia explicaciones basadas en
teorías de procesamiento de información independientes de las estructuras y mecanismos del
cerebro (p. 27):
“[...] intentar comprender la percepción estudiando únicamente las neuronas es
como intentar comprender el vuelo de un pájaro estudiando únicamente las plumas:
simplemente no puede hacerse. Para comprender el vuelo de un pájaro necesitamos
comprender la aerodinámica; sólo entonces cobran sentido la estructura de las
plumas y las distintas formas de las alas de los pájaros.”
Los tres niveles que Marr identifica para la descripción de sistemas que realizan
procesamiento de información son, en gran medida, análogos a los descritos por Newell
(véase la tabla 2.1):
29
Teoría computacional Representación y algoritmo Implementación hardware ¿Cuál es el objetivo de la computación? ¿Por qué es apropiada? Y, ¿cuál es la lógica de la estrategia mediante la que puede llevarse a cabo?
¿Cómo puede implementarse la teoría computacional? Concretamente: ¿Cuál es la representación para la entrada y la salida? ¿Cuál es el algoritmo para la transformación?
¿Cómo pueden llevarse a la práctica físicamente la representación y el algoritmo?
Tabla 2.1. Los tres niveles a los que debe comprenderse una máquina que realiza procesamiento deinformación para poder decir que se ha comprendido por completo (adaptado de (Marr, 1982)).
1. El primer nivel es el más abstracto, y se denomina nivel de teoría computacional3.
Describe qué hace el sistema y por qué lo hace así (qué restricciones debe cumplir
para realizar su tarea).
2. El segundo nivel describe cómo realiza el sistema su tarea de procesamiento de
información. Para ello hay que elegir:
• Una representación para la entrada y la salida del proceso.
• Un algoritmo capaz de realizar la transformación deseada.
Normalmente es posible elegir entre varias representaciones alternativas. El
algoritmo a elegir depende con frecuencia de la representación, aunque incluso
para una misma representación pueden existir varios algoritmos que realicen el
mismo proceso.
3. El tercer nivel es el del dispositivo en el que el proceso se realiza físicamente. El
aspecto más importante aquí es que un mismo algoritmo puede implementarse
empleando tecnologías muy diferentes. Algunas clases de algoritmos serán más
adecuadas que otras para cada soporte físico.
Para Marr los tres niveles sólo están débilmente acoplados, por lo que algunos
fenómenos pueden explicarse únicamente a uno o dos niveles. Marr, al igual que Newell,
3 Marr apunta como ejemplo pionero de teoría computacional la desarrollada por Chomsky para el estudio de las gramáticas, que especifica cuál debe ser la descomposición sintáctica de una frase, pero no cómo realizarla. Chomsky distinguió así los términos competencia o capacidad (competence) y actuación (performance). A veces se emplea el término teoría de competencia (competence theory) para referirse a este tipo de teorías.
Capítulo 2
30
tampoco se atribuye el mérito de haber “descubierto” estos “tres niveles”, y se sorprende de
que el nivel de teoría computacional “no jugase un papel más vigoroso en el desarrollo inicial
de la Inteligencia Artificial” (Marr, 1982, p. 28).
2.7. TENDENCIAS ACTUALES EN LA INGENIERÍA DEL
CONOCIMIENTO
Tras estos cambios en la concepción del conocimiento y la introducción de nuevas
metodologías, el término ‘sistema experto’ empezó a caer en desuso y se vio sustituido por el
de sistema experto de segunda generación, o más recientemente por sistema basado en
conocimiento (SBC) o sistema con conocimiento.
El modelado de la experiencia al nivel del conocimiento es hoy día parte fundamental
en el diseño y construcción de SBC (Cuena, 1992). Muchos trabajos se han dedicado al
modelado al nivel del conocimiento de agentes que realizan una determinada tarea. La
abstracción del conocimiento por encima de las actividades humanas permite afirmar qué
conocimiento es necesario y suficiente para determinadas clases de comportamiento experto,
y cómo tiene que ser organizado, generado y empleado para llevar a cabo la tarea que se está
modelando.
En este sentido ha recibido gran atención la técnica de análisis de la estructura de una
tarea (Chandrasekaran, 1992). Este tipo de análisis, propuesto por Balakrishnan
Chandrasekaran, representa una evolución del concepto de tarea genérica (Chandrasekaran,
1986) como elemento para la representación del conocimiento. Sus conceptos básicos son
tarea, método, y estructura de tarea:
• El término tarea se refiere a una familia de instancias de un tipo de problema.
• Los métodos son procedimientos para la resolución de una tarea. Normalmente
están generalizados para abstraerse de un dominio concreto, lo que permite su
reutilización instanciándolos adecuadamente. En general un método es un
algoritmo de búsqueda en algún espacio de estados, aunque en algunos casos la
solución podrá calcularse sin necesidad de búsqueda. Pueden existir distintos
métodos válidos para una misma tarea, cada uno con diferentes requisitos tanto
31
computacionales (tiempo y memoria) como del conocimiento necesario para su
aplicación.
• En ocasiones, la aplicación de un método para la resolución de una tarea puede
implicar a su vez la realización de diversos tipos de tareas. El análisis de la
estructura de una tarea produce combinaciones de tarea-método-subtarea
resursivamente. Analizar la estructura de una tarea consiste por tanto en
identificar métodos alternativos para la misma, así como las subtareas que plantea
cada método. El análisis se repite entonces sobre cada subtarea hasta alcanzar
tareas que, a efectos de análisis, son directamente realizables.
Las nuevas metodologías para la Ingeniería del Conocimiento se aproximan
conceptualmente a sus homólogas de la Ingeniería del Software, y consideran el desarrollo de
un SBC integrado en el contexto de un sistema más amplio de procesamiento de información.
Un ejemplo es la metodología de programación basada en Unidades Cognitivas, cuyo
entorno software de desarrollo se denomina KSM (Knowledge Structure Manager) (Cuena y
Molina, 1994). La programación en KSM está orientada a la reutilización y puede realizarse
en tres niveles:
! Nivel del conocimiento, donde el agente que realiza la tarea se describe en
términos de su conocimiento ("lo que el agente sabe"), y su funcionalidad ("lo que
el agente hace"), mediante lo que se denomina una Unidad Cognitiva.
! Nivel simbólico, donde se detallan los módulos de conocimiento declarativo y
procedural encargados de modelar el conocimiento y el comportamiento del
agente. Esto incluye la declaración del conocimiento mediante algún formalismo
de representación (por ejemplo, reglas o restricciones), la estrategia de uso de ese
conocimiento (es decir, los motores de inferencia asociados a la representación
elegida), y el vocabulario conceptual que permite compartir términos entre
distintas representaciones.
! Nivel de implementación, donde se definen en algún lenguaje de alto nivel los
programas que conforman el soporte computacional de los módulos del nivel
simbólico.
Capítulo 2
32
Otro ejemplo es la metodología CommonKADS (Van de Velde, 1994). Se trata de una
auténtica extrapolación de las metodologías de la Ingeniería del Software al desarrollo de
SBC, basada también en la especificación mediante la elaboración de modelos y en el
concepto de reutilización.
La moderna Ingeniería del Conocimiento ha adoptado el concepto de nivel del
conocimiento, pero también lo ha modificado y ampliado. En (Smithers, 1996) se plantean
dos diferencias importantes entre en Nivel del Conocimiento propuesto por Newell (KLN) y el
empleado actualmente por algunas metodologías de la Ingeniería del Conocimiento (KLKE):
1. En KLKE no se pretende, en general, establecer una conexión necesaria y directa
entre los procesos cognitivos humanos y los sistemas informáticos desarrollados,
sin excluir tampoco obligatoriamente una relación entre ambos. Los modelos de
comportamiento al nivel del conocimiento se emplean únicamente para apoyar la
formulación e implementación de especificaciones para sistemas informáticos.
2. En KLKE se distinguen clases de conocimiento y se les da una estructura. Esto
permite construir un modelo del comportamiento en términos de un proceso de
conocimiento: identificando los tipos de conocimiento suficientes y necesarios, sus
funciones, su interacción y su organización para que el proceso sea precisamente un
modelo de dicho comportamiento.
La ventaja de KLKE es que permite explicar y comprender el comportamiento de
resolución de problemas, tal como se percibe en los expertos humanos, pero abstrayéndose de
toda implicación cognitiva.
2.8. EL PROBLEMA DEL DISEÑO Y LA INGENIERÍA DEL
CONOCIMIENTO
Recientemente se ha denunciado que las investigaciones realizadas en IA sobre diseño
dan la espalda con excesiva frecuencia a estas nuevas aportaciones de la Ingeniería del
Conocimiento (Smithers, 1996, p. 563):
"[...] en la IAD (Inteligencia Artificial en Diseño), aún podemos encontrar sistemas
desarrollados usando formas que recuerdan la construcción de los Sistemas Expertos
de primera generación en los años 70 y principios de los 80. Encontramos muy poco
33
del tipo de modelado de la experiencia que defienden y apoyan activamente los
métodos modernos de la Ingeniería del Conocimiento."
No significa esto que el comportamiento de diseño no haya sido estudiado ni
modelado adecuadamente, tal como demostrarán los capítulos siguientes. Concretamente, la
metodología CommonKADS incluye el diseño como comportamiento de resolución de
problemas junto a otros bien conocidos en la IA como la clasificación o la configuración
(Breuker, 1994). Uno de los elementos más valorados de CommonKADS es su biblioteca de
'modelos de experiencia'. Se trata de un conjunto de modelos expresados al nivel del
conocimiento que describen la racionalización de un determinado comportamiento de
resolución de problemas. Concretamente los modelos sobre diseño descritos en la biblioteca
(Bernarás, 1994) (Bernarás y Van de Velde, 1994) están fundamentados en parte en la teoría
sobre diseño al nivel del conocimiento que se describe más adelante (véase el capítulo 6).
Trabajos como el realizado en el marco de la metodología CommonKADS
representan, por tanto, un paso adelante para que el desarrollo de SBC de diseño experimente
un nuevo avance, beneficiándose de las nuevas técnicas de la Ingeniería del Conocimiento y
participando activamente en su evolución y desarrollo.
Capítulo 2
34
35
CAPÍTULO 3
EL DISEÑO Y LA BÚSQUEDA EN ESPACIOS DE
ESTADOS
“Everyone designs who devises courses of action
aimed at changing existing situations into preferred ones.”
Herbert A. Simon, 1969
Probablemente algunas de las corrientes actuales más importantes que estudian el
diseño en el contexto de la IA tienen su base en los trabajos de Herbert A. Simon The
Sciences of the Artificial (Simon, 1969) y The Structure of Ill-Structured Problems (Simon,
1973). En ellos se define y analiza el diseño desde del punto de vista de la psicología
cognitiva.
3.1. LAS CIENCIAS DE LO ARTIFICIAL
El libro The Sciences of the Artificial está construido fundamentalmente a partir de
unas conferencias invitadas pronunciadas por Herbert Simon en el Instituto de Tecnología de
Massachusetts4 (EE.UU.) en 1968. El objetivo del mismo es proponer y analizar una mejor
organización del curriculum en las escuelas universitarias norteamericanas dedicadas a la
formación de profesionales (como por ejemplo las escuelas de arquitectura, ingeniería,
administración o psicología).
Gran parte del libro se articula en torno a dos conceptos fundamentales que Simon
emplea para establecer las bases de toda actividad profesional: el concepto de lo artificial, y el
concepto de diseño.
4 Massachusetts Institute of Technology (M.I.T.)
Capítulo 3
36
En primer lugar se define como “artificial” todo aquello que está encaminado a
satisfacer un propósito u objetivo humano, y que se opone, por tanto, al concepto de lo
“natural”. Los conceptos de natural/artificial permiten establecer entonces una distinción entre
las ciencias y las profesiones en el ámbito académico: las ciencias se ocupan de lo natural, de
cómo son las cosas; las profesiones se ocupan de lo artificial, de cómo deberían ser las cosas.
También se define el concepto de “artefacto”5 como cualquier sistema cuyo comportamiento
se adapta a un medio para cumplir un determinado objetivo o propósito.
5 En inglés, en el original: artifact.
En este contexto Simon aprovecha para proporcionar una primera definición de diseño
(Simon, 1969, p. 55):
"Diseña todo aquel que idea líneas de actuación con objeto de cambiar situaciones
existentes por otras preferidas. [...] El diseño, interpretado de este modo, es la esencia
de toda formación profesional: es la señal que distingue las profesiones de las
ciencias. Las escuelas de ingeniería, al igual que las escuelas de arquitectura,
comercio, educación, derecho y medicina, están involucradas de forma directa en el
proceso del diseño."
En definitiva, se proyecta la idea de que existe una base común a todas las actividades
profesionales, y esta base común es precisamente la que recibe el nombre de diseño.
Las “ciencias de lo artificial” defendidas por Simon son aquellas que tienen como
objetivo comprender y predecir el comportamiento de los artefactos, así como la forma de
crearlos. Estas ciencias deberían, por tanto, formar parte importante del curriculum de las
escuelas universitarias, ya que su objetivo es precisamente estudiar las bases de la actividad
profesional. Simon identifica al menos dos ciencias de lo artificial: la psicología y la ciencia
del diseño.
La psicología puede considerarse una ciencia de lo artificial en tanto que intenta
estudiar el comportamiento humano. Puesto que dicho comportamiento está obviamente
encaminado a la consecución de los propósitos u objetivos humanos puede calificarse
37
indudablemente como artificial. Son artefactos estudiados por la psicología, por ejemplo, las
estrategias que los seres humanos emplean para la resolución de problemas.
La "ciencia del diseño” es otra ciencia de lo artificial que se preocupa de la creación de
artefactos, y que tradicionalmente ha recibido más atención en el contexto de la ingeniería y la
arquitectura. El proceso de diseño, o de creación de artefactos, se define simplemente como la
adaptación de los recursos disponibles a un determinado medio con objeto de satisfacer un
determinado propósito. En definitiva se perfila la idea de que “la teoría del diseño es la teoría
general de búsqueda en grandes espacios de estados combinatorios” (Simon, 1969, p. 54). No
obstante, esta idea se analiza de nuevo con importantes matizaciones en (Simon, 1973), tal y
como se comenta más adelante.
La generalidad de la definición proporcionada sobre el diseño y sus implicaciones para
gran cantidad de ámbitos de actividad humana (p.ej., las actividades profesionales de la
ingeniería, arquitectura o composición musical) llevan a Simon a afirmar que “el auténtico
objeto de estudio de la humanidad es la ciencia del diseño” (Simon, 1969, p. 83) y no el
propio ser humano.
Básicamente las ideas expuestas en el libro de Simon sobre el proceso de diseño
pueden resumirse en los siguientes puntos:
• La resolución de problemas (de diseño) puede explicarse en términos de procesamiento de
información (en definitiva una aplicación más de lo que más tarde se denominó Hipótesis
del Sistema Simbólico Físico).
• El proceso de diseño humano sigue una organización jerárquica y “casi
descomponible”. Esto permitiría explicar en gran medida el comportamiento,
aparentemente complejo, de un diseñador simplemente basándose en los elementos
que componen el proceso y su organización.
• El proceso de diseño humano es independiente del hardware (en este caso el
cerebro) que le sirve de soporte. Esto permitiría emularlo utilizando otro tipo de
sistemas que procesen información, como los ordenadores digitales. No obstante,
las limitaciones de un determinado sistema físico restringen las estrategias
concretas que dicho sistema puede emplear para la resolución de problemas. Por
Capítulo 3
38
ejemplo, determinadas estrategias de búsqueda que pueden tener éxito en un
ordenador serán inviables para la mente humana.
3.2. LA ESTRUCTURA DE LOS PROBLEMAS MAL
ESTRUCTURADOS
La ciencia del diseño tal como aparece descrita en The Sciences of the Artificial es
claramente insuficiente: es evidente que los problemas que surgen en la práctica profesional
de un arquitecto o un ingeniero, por ejemplo, no siempre se adaptan al esquema de la
resolución de problemas en un espacio de estados dado. Dicho en otras palabras, los
problemas del mundo real no se parecen con frecuencia en nada a los problemas “de libro”
que se estudian en las escuelas universitarias. Sin embargo, los profesionales son capaces de
abordarlos con éxito en la mayoría de las ocasiones.
Una característica importante en el diseño (esencial para algunos) es que los
problemas están “mal definidos” en el sentido de que no se dispone de una descripción
explícita adecuada de los criterios que permitan identificar una solución, y/o no se ha
construido aún un espacio de problema adecuado que permita encontrar tal solución.
En (Simon, 1973) se analiza la relación entre problemas bien y mal estructurados y se
defienden dos ideas fundamentalmente:
1. No existe una división clara entre ambas clases de problemas, ya que todos los
problemas reales están, en cierto sentido, mal definidos.
2. En consecuencia, ambas clases de problemas pueden resolverse empleando los
mismos procesos que se utilizan en la resolución de problemas bien estructurados
(es decir, búsqueda en espacios de estados).
Para apuntalar la idea de que todos los problemas reales están mal definidos,
Simon considera a modo de ejemplo dos problemas: la demostración de teoremas y el
juego del ajedrez. Tradicionalmente ambos problemas se consideran como bien
estructurados y pueden resolverse con cierto grado de éxito en un ordenador.
Un análisis preliminar de la demostración de teoremas muestra, sin embargo, que su
espacio de estados no suele estar completamente definido a priori. Un agente humano que
39
intenta demostrar un teorema puede cambiar inopinadamente su espacio de búsqueda,
incluyendo acciones imprevistas. Por ejemplo, puede recurrir a conocimiento metafórico, o
adaptar demostraciones análogas pero no legales desde el punto de vista de la lógica. Si se
admite que el resolutor de problemas puede reestructurar y modificar el espacio de estados
introduciendo nuevos recursos, entonces hay que considerar la demostración de teoremas
como un problema mal definido
Lo mismo puede decirse del juego del ajedrez. Sin embargo, este problema es más
adecuado para mostrar que en él no existe un criterio factible y definido para encontrar una
solución. Por el contrario, a medida que el juego avanza y emerge nueva información (en la
forma de los movimientos previsibles o imprevistos del contrario), es necesario redefinir
continuamente el objetivo a perseguir para poder ganar el juego. Simon señala que encontrar
una buena jugada o movimiento inmediato también es un problema mal definido en el mismo
sentido. A medida que un jugador explora las posibles consecuencias de sus movimientos el
objetivo de ‘comerse aquel peón’ o ‘amenazar aquel maldito caballo’ puede verse sustituido
por otros que aparezcan repentinamente más adecuados como ‘cubrir un honroso enroque del
rey’ o ‘comenzar a desbaratar el flanco derecho del contrario’.
La conclusión que Simon proporciona sobre estos ejemplos es que todos los problemas
reales son problemas mal definidos y que un problema sólo se vuelve bien definido en el
proceso de prepararlo para un determinado resolutor de problemas. Es justo, por tanto,
reconocer que la mayor parte del esfuerzo dedicado para resolver un problema se dedique a
estructurarlo, y sólo una pequeña parte a resolverlo una vez que está estructurado.
El artículo termina con dos reflexiones importantes que configuran la base de muchos
trabajos posteriores sobre diseño en IA: ¿cuáles son las características que hacen que un
problema esté mal definido?, y, sobre la base de lo anterior, ¿qué capacidades debe tener un
resolutor para resolver problemas mal estructurados?
3.2.1 Origen de los problemas mal estructurados
Cualquier proceso de resolución de problemas parecerá mal estructurado si se emplea
como resolutor de problemas una máquina que tiene:
Capítulo 3
40
• acceso a una memoria a largo plazo6 muy grande, con información potencialmente
relevante, y/o,
• acceso a una memoria externa muy grande, con información sobre las
consecuencias en el mundo real de las acciones llevadas a cabo para la resolución
de problemas.
Si toda la información para resolver un problema está en la memoria a largo plazo del
sujeto que lo va a resolver, y toda esa información no se puede considerar a la vez en la
práctica, entonces es necesario descomponer el problema y organizar el proceso de
resolución. De este modo se puede ir evocando lo necesario para formular y resolver los
distintos subproblemas, y luego recomponer lo mejor posible sus soluciones cuidando de las
posibles interacciones. La propia organización del proceso influye decisivamente en el
resultado obtenido.
El límite entre problemas bien y mal estructurados tiene su origen en la insistencia en
sustituir nociones de "posibilidad de computación en principio" por nociones de "posibilidad
de computación en la práctica" en la definición de los problemas bien estructurados. La idea
es que el carácter mal estructurado de un problema es relativo, al menos en cierta medida, a la
naturaleza del resolutor que se enfrenta a él. Concretamente relativo a su conocimiento,
recursos y capacidad de proceso. Un problema como el del ajedrez dejaría de estar mal
estructurado si un resolutor tuviese la capacidad de analizar una estrategia de juego desde una
determinada posición hasta la terminación del mismo. Sin embargo, esto es algo inalcanzable
para las capacidades humanas y computacionales salvo en los movimientos finales del juego.
3.2.2 Capacidades para la resolución de problemas mal estructurados
Simon afirma que cuando el espacio del problema está sujeto a modificaciones durante
el proceso de resolución, el sistema debe ser capaz de aceptar y asimilar información que
proviene de diversas fuentes. La primera es la ya mencionada memoria a largo plazo, que
6 En (Simon, 1969, p. 33) se trata sobre las capacidades de la memoria humana en términos de memoria a corto plazo, y memoria a largo plazo. Se estima que la primera permite "almacenar" una cantidad de conceptos muy reducida (entre 2 y 7 elementos) en un tiempo muy pequeño, mientras que la segunda parece tener una capacidad de almacenamiento casi ilimitada, aunque el tiempo necesario para "almacenar" un elemento en la misma es relativamente lento.
41
debe de poder almacenar la información necesaria en un formato adecuado y disponer,
además, de un mecanismo de evocación y recuperación. Otras fuentes importantes de
información son las instrucciones en lenguaje natural que originan el proceso de diseño (y que
implican la capacidad de comprender dicho lenguaje) y los cambios en el mundo real
provocados por el propio resolutor o ajenos al mismo (y que implican capacidades de
percepción y reconocimiento de patrones).
3.3. COMENTARIOS
En The Sciences of the Artificial (Simon, 1969) aparecen tres conceptos básicos para el
estudio del diseño en IA:
• Las bases del proceso de diseño son comunes a todas las actividades profesionales.
• La importancia que tiene la búsqueda en espacios de estados en la resolución de
problemas.
• La distinción entre los conceptos de función (propósito o finalidad), estructura y
comportamiento de un artefacto.
Otros aspectos, por el contrario, quedaron ignorados o relegados a un segundo plano, y
se apuntan en The Structure of Ill-Structured Problems (Simon, 1973). Uno de ellos es la
importancia del conocimiento en el proceso de diseño. El diseño es una actividad intensiva en
conocimiento.
Otro aspecto importante es la evidencia de que los espacios de búsqueda de los
problemas de diseño no vienen definidos de antemano. Su construcción es una parte
importante del proceso. Simon aborda este problema afirmando que todos los problemas
reales están, en cierto sentido, mal definidos. El problema de construir un espacio de estados
adecuado para un problema viene obligado por las limitadas capacidades del resolutor, que no
es capaz de considerar todos los aspectos y variaciones simultáneamente.
Puede que no haya otra cosa que el tamaño de la base de conocimientos para distinguir
entre problemas bien y mal estructurados. Por tanto, los resolutores de problemas bien
estructurados deberían poder ampliarse para tratar dominios mal estructurados sin necesidad
de introducir componentes cualitativamente nuevos. Simplemente hay que disponer del
Capítulo 3
42
conocimiento adecuado para descomponer el problema y poder abordar los subproblemas
resultantes de forma separada. En el próximo capítulo se presenta una interpretación
radicalmente diferente de estos fenómenos.
La afirmación de que la búsqueda es un proceso necesario, pero no suficiente, para
resolver problemas mal estructurados conlleva una primera distinción entre clases de diseño:
• El diseño rutinario, que puede abordarse mediante búsqueda en un espacio de
estados ya conocido.
• El diseño no rutinario, que precisa de la construcción y/o modificación del espacio
de estados en el que se realizará la búsqueda. Es necesaria entonces una meta-
búsqueda para la construcción del espacio de estados adecuado para cada
subproblema. Dicha meta-búsqueda estaría basada en la memoria a largo plazo y
en su mecanismo de evocación de información relevante.
Estas ideas son, hoy por hoy, cuando menos controvertidas. Algunos trabajos sobre
diseño se han centrado precisamente en buscar formas de descomponer y organizar la
resolución de problemas (Liu y Brown, 1994). Otros se han apoyado en la noción de alguna
meta-búsqueda para la construcción de los espacios de estados (Gero, 1994a). Otros autores,
por el contrario, consideran que estructurar y resolver un problema de diseño no son procesos
independientes, sino que un problema no está resuelto hasta que no se descubre una estructura
para el mismo. No es posible saber si una estructura es adecuada para un problema hasta que
no se han encontrado y valorado las soluciones que proporciona (Smithers y Troxell, 1990).
Este proceso de encontrar una estructura adecuada para un problema no puede caracterizarse
entonces adecuadamente como una meta-búsqueda. En próximos capítulos se volverán a
interpretar los conceptos de diseño rutinario y no rutinario en el contexto de trabajos más
recientes.
43
CAPÍTULO 4
EL DISEÑO Y LA REFLEXIÓN-EN-LA-ACCIÓN
“The practice situation is neither
clay to be molded at will nor an independent, self-sufficient object of study from which the inquirer keeps his distance.”
Donald A. Schön, 1983
En los libros de Donald A. Schön The Reflective Practitioner (Schön, 1983) y
Educating the Reflective Practitioner (Schön, 1987) encontramos un nuevo análisis del
proceso de diseño en el mismo contexto empleado por Simon en The Sciences of the
Artificial: el de la práctica profesional y las necesidades para la formación de los
profesionales en la universidad. En (Schön, 1992) se describen algunas implicaciones de este
análisis sobre el campo de la IA.
Aunque la base del análisis empleado por Schön es también la psicología, sus bases
filosóficas y las conclusiones obtenidas son, en muchos aspectos, opuestas a las de Simon.
Una primera diferencia se refiere al uso de la palabra “diseño”. Al igual que Simon,
Schön analiza la resolución de problemas reales en la práctica profesional y considera que
pueden existir unas bases comunes para la práctica en diversas profesiones. Sin embargo, es
más cauto al emplear el término diseño (Schön, 1983, p. 77):
"En los últimos veinte años, más o menos, el concepto de diseño se ha ampliado. [...]
Herbert Simon y otros han sugerido que todos los oficios dedicados a transformar
situaciones reales por otras preferidas están involucrados en el diseño. Ha existido
una tendencia creciente a considerar políticas, instituciones, y el comportamiento
mismo, como objetos del diseño.
Es cuestionable cuánto más se debería avanzar en esta dirección. Nos arriesgamos a
ignorar o subestimar diferencias significativas en los medios, contextos, objetivos y
Capítulo 4
44
cuerpos de conocimiento propios de las profesiones. Aunque también puede que
descubramos, a un nivel más profundo, un proceso de diseño genérico que subyace a
estas diferencias".
En consecuencia emplea el término sólo en su análisis de los campos de la arquitectura
y la ingeniería, que están reconocidos ampliamente como paradigmas del diseño
(especialmente el primero). Al proceso común que identifica en toda actividad profesional y
que permite abordar los problemas del mundo real lo denomina reflexión-en-la-acción.
Este capítulo se organiza de la siguiente forma. En primer lugar se plantea una crítica a
los planteamientos filosóficos que sirven de base a los trabajos de Simon expuestos en el
capítulo anterior. La conclusión es la necesidad de una caracterización alternativa del diseño.
En segundo lugar se presentan los conceptos fundamentales de esta nueva caracterización. A
continuación se describen y explican los procesos de diseño empleando estos términos. Por
último se establecen algunas implicaciones relativas al desarrollo de una teoría computacional
de diseño basándose en estos principios y se realizan algunos comentarios.
4.1. LA RACIONALIDAD TÉCNICA Y SUS CONSECUENCIAS
Para Schön la problemática en la formación universitaria de profesionales tiene su
origen en las bases filosóficas sobre las que se ha construido la universidad moderna, y que
han impregnado los curricula de las escuelas técnicas.
La organización de las universidades tal y como las conocemos actualmente está
basada en los principios de la filosofía positivista, ideada por Auguste Compte, imperante a
finales del siglo XIX y principios del XX. Sus tres principales doctrinas son:
• La convicción de que la ciencia empírica es la única fuente positiva de
conocimiento sobre el mundo. Se considera que las únicas proposiciones válidas
son, bien las analíticas y esencialmente tautológicas provenientes de la lógica y las
matemáticas, o bien las empíricas, que expresan nuestro conocimiento del mundo.
• La intención de eliminar de la mente humana todo misticismo, superstición y
demás formas de pseudo-conocimiento.
45
• La intención de utilizar el conocimiento científico y el control técnico para
gobernar y dirigir la sociedad hacia un estado de mayor bienestar, haciendo de la
tecnología algo no ya exclusivamente geométrico, mecánico o químico, sino
también y primordialmente político y moral.
A la epistemología positivista de la práctica se la denomina Racionalidad Técnica. De
acuerdo con este modelo la actividad profesional se define como la resolución de problemas
instrumentales de forma rigurosa gracias a la aplicación de técnicas y teorías científicas. El
conocimiento de un profesional capacitado para resolver estos problemas está formado por
tres componentes (E. Schein, Professional Education, McGraw-Hill, 1973, citado en (Schön,
1983)):
"1.) Un componente de ciencia básica o disciplina subyacente sobre la que descansa la
práctica o a partir de la cual se desarrolla.
2.) Un componente de ciencia aplicada o «ingeniería» del que se obtienen muchas de
las soluciones a problemas y de los procedimientos de diagnóstico cotidianos.
3.) Un componente de destreza y actitud que se ocupa de la prestación de servicios
real al cliente, empleando los conocimientos aplicados y básicos subyacentes."
El conocimiento que representan las teorías y técnicas de las ciencias básicas y
aplicadas está perfectamente reconocido en los currícula universitarios. Por el contrario, las
habilidades que permiten la aplicación de dichos conocimientos a problemas reales están
consideradas como una clase secundaria de conocimiento.
Este es también el orden en que se enseñan normalmente los conocimientos en las
universidades, quedando para último lugar muchas veces la resolución de “casos prácticos”
donde el alumno debe aplicar los conocimientos adquiridos.
Sin embargo, es evidente que el conocimiento práctico existe, aunque “no encaja bien
en ninguna de las categorías positivistas, ya que no es un conocimiento descriptivo del
mundo, ni puede reducirse a los esquemas analíticos de la lógica y las matemáticas”. Para
solventar este problema, el modelo de Racionalidad Técnica concibe el conocimiento práctico
como conocimiento sobre la relación entre medios y fines. Dados unos fines, la cuestión de
elegir los medios más adecuados para conseguirlos se convierte en una cuestión técnica. A
medida que el conocimiento científico avanza, las relaciones causales medios/fines pueden
Capítulo 4
46
irse sustituyendo por otras más instrumentales. Se hace posible entonces elegir los medios
más adecuados para un fin utilizando la teoría científica adecuada. Desde esta perspectiva, la
práctica profesional se considera como un proceso de resolución de problemas.
Sin embargo, algunos aspectos de la realidad son difíciles de conciliar con esta visión
de la práctica profesional. Los profesionales deben enfrentarse continuamente a situaciones
nuevas que van más allá de los problemas que fueron preparados para resolver. Problemas
que muchas veces presentan características únicas, o en los que los objetivos a perseguir o sus
prioridades no están nada claros. Los profesionales no sólo resuelven problemas, sino que
también deben indentificarlos. Schön argumenta que esta actividad no encaja fácilmente en un
modelo de actividad profesional basado en los principios de la Racionalidad Técnica (Schön,
1983, p. 39-41):
"[...] con este énfasis en la resolución de problemas, [la Racionalidad Técnica]
ignora la actividad de plantear problemas, el proceso mediante el que se define la
decisión a tomar, los fines a conseguir, los medios que pueden ser elegidos. En la
práctica del mundo real los problemas no se le presentan dados al profesional. [...]
Para convertir una situación problemática en un problema, un profesional debe llevar
a cabo un determinado trabajo. Debe dar sentido a una situación incierta que
inicialmente no lo tiene.
[...] aunque la construcción de problemas es una condición necesaria para la
resolución técnica de problemas, no es en sí misma un problema técnico. [...] La
actividad de plantear problemas es un proceso en el que, de forma interactiva, damos
nombre a los elementos a los que prestaremos atención, y enmarcamos el contexto en
el que les prestaremos dicha atención.
La Racionalidad Técnica depende de un acuerdo sobre los fines. Cuando los fines son
fijos y están claros, entonces las decisiones sobre cómo actuar se presentan como un
problema instrumental. Pero cuando los fines están confusos y en conflicto, no hay
aún ningún "problema" que resolver. Un conflicto en los fines no puede resolverse
mediante el uso de técnicas obtenidas de la investigación aplicada. Es más bien a
través del proceso no técnico de enmarcar la situación problemática como podemos
organizar y clarificar tanto los fines a conseguir como los medios posibles para
conseguirlos".
47
En consecuencia el modelo de Racionalidad Técnica deja a los profesionales ante un
dilema que Schön denomina de "rigor o pertinencia". Las teorías y técnicas que los
profesionales conocen pueden aplicarse con rigor a un conjunto determinado de problemas
técnicos establecidos. Sin embargo, los problemas reales que tienen una importancia social en
lugar de técnica no están bien definidos. En ellos el profesional debe abandonar el rigor
técnico y realizar una indagación cargada de ensayos, errores e intuiciones.
Algunos intentos se han realizado para arreglar esta situación. Uno de ellos es el de
Simon en The Sciences of the Artificial, comentado en el capítulo anterior. Schön valora estos
intentos de la siguiente forma (Schön, 1983, p. 45):
"Algunos estudiosos de las profesiones han intentado dar cuenta de las limitaciones
de la pericia técnica y han propuesto nuevos enfoques para fundamentar el
conocimiento profesional. Entre ellos [se encuentra] Herbert Simon, cuyo libro The
Sciences of the Artificial ha despertado un gran interés en los círculos profesionales
[...]
Es Simon [...] el que establece una conexión más clara entre los fundamentos del
conocimiento profesional y los orígenes históricos de la epistemología positivista de
la práctica. Simon cree que todo conocimiento profesional está involucrado de forma
directa con lo que él denomina «diseño», es decir, el proceso de «cambiar situaciones
existentes por otras preferidas». Pero el diseño, en este sentido, es precisamente lo
que no enseñan las escuelas profesionales [...] estas escuelas «han abdicado
prácticamente de la responsabilidad de formar en esta habilidad troncal de las
profesiones», en gran medida porque tal formación debería basarse en una ciencia
del diseño que aún no existe. Simon propone construir una ciencia del diseño
emulando y ampliando los métodos de optimización que se han desarrollado en la
teoría de la decisión estadística y en las ciencias empresariales [...]
Una vez que los problemas están bien formados en este sentido, pueden resolverse
mediante un cálculo de decisión. Como acabamos de ver, sin embargo, los problemas
instrumentales bien formados nos vienen dados sino que deben construirse a partir de
situaciones problemáticas y confusas. Aunque Simon propone llenar el hueco entre las
ciencias naturales y la práctica del diseño con una ciencia del diseño, su ciencia
puede aplicarse sólo a los problemas bien formados ya extraídos de las situaciones de
la práctica".
Capítulo 4
48
Puesto que el modelo de Racionalidad Técnica no puede abordar adecuadamente la
cuestión del conocimiento práctico, Schön propone buscar una nueva epistemología de la
práctica profesional que permita explicar la competencia en situaciones nuevas, que no se
adaptan a los problemas instrumentales conocidos por los profesionales.
4.2. FUNDAMENTOS DE LA REFLEXIÓN-EN-LA-ACCIÓN
La descripción que Schön realiza de la práctica profesional se basa en dos conceptos
fundamentales: el saber-en-la-acción y la reflexión-en-la-acción.
4.2.1 El saber-en-la-acción
Muchas veces nuestro conocimiento sobre una determinada actividad se manifiesta
solamente en nuestras acciones, y no siempre somos capaces de dar una descripción adecuada
del mismo. Algunos ejemplos son el saber de un equilibrista que se pasea por la cuerda floja o
el de una persona que monta en bicicleta. La actividad de los profesionales depende también
muchas veces de ese conocer o “saber-en-la-acción” tácito y que no puede explicarse
mediante reglas o planes que existan en la mente de forma previa a la propia acción.
El concepto de saber-en-la-acción (knowing-in-action) se refiere a una forma de saber
inherente a la acción inteligente que no encaja bien en las formas de conocimiento empleadas
por el modelo de Racionalidad Técnica. Schön utiliza este concepto para construir su
epistemología de la práctica (Schön, 1982, p. 276):
"Cuando un profesional muestra su maestría, su saber intuitivo es siempre más rico
en información que cualquier descripción del mismo. [...] Cualquiera que haya
intentado aprender a esquiar o escribir historias leyendo un libro sabe lo difícil que
puede ser actuar a partir de tales descripciones".
Esta forma de saber ha sido descrita por diversos autores en diferentes contextos:
como “procesos no lógicos” que no pueden expresarse mediante palabras o como
razonamiento, y que sólo se manifiestan mediante un juicio, decisión o acción; o como un
“saber tácito”. Chris Alexander considera el saber utilizado en el diseño arquitectónico, y
describe cómo es posible reconocer y arreglar una forma que “no encaja” en un determinado
contexto, aunque no sea posible describir las reglas que indican por qué la forma “no encaja”
ni por qué la forma corregida es buena.
49
Esta forma de saber es para Schön la forma característica del conocimiento práctico, y
posee las siguientes propiedades:
• Existen acciones que llevamos a cabo de forma espontánea y no necesitamos
pensar en ellas antes de realizarlas o durante su realización.
• A menudo no somos conscientes de haberlas aprendido.
• En algunos casos fuimos conscientes alguna vez de la comprensión que ha
quedado implícita en la acción. En otros nunca llegamos a ser conscientes de ella.
Sin embargo, en ambos casos no somos capaces de describir el saber que se
manifiesta en la acción.
4.2.2 La reflexión-en-la-acción
El hecho de poder aplicar un saber tácito en la práctica de determinadas actividades
permite experimentar a veces una sorpresa sobre sus consecuencias que nos lleva a pensar y
actuar de forma simultánea. Al igual que el saber-en-la-acción, la reflexión-en-la-acción es un
proceso que puede llevarse a cabo de forma espontánea y sin una articulación consciente
(Schön, 1983, p. 56):
"Cuando nuestra actuación espontánea e intuitiva no produce más que los resultados
que se esperan de ella, entonces tendemos a no pensar en ella. Pero cuando la
actuación intuitiva nos produce sorpresas, agradables y prometedoras, o no deseadas,
respondemos mediante la reflexión-en-la-acción. [...] En tales procesos la reflexión
tiende a centrarse de forma interactiva en los resultados de la acción, la acción
misma y el saber intuitivo implícito en la acción".
En realidad, cabe distinguir tres actitudes ante el factor sorpresa provocado por
nuestras acciones intuitivas:
• Ignorarlo completamente.
• Ignorarlo temporalmente y reflexionar sobre la acción, una vez que el proceso ha
terminado. En tal caso la reflexión es retrospectiva y carece de conexión directa
con la acción.
Capítulo 4
50
• Reflexionar en el transcurso de la acción sin llegar a interrumpirla. En tal caso el
pensamiento sirve para reorganizar lo que se está haciendo mientras se está
haciendo, sin llegar a interrumpirlo. En tal caso se está reflexionando-en-la-acción.
Lo que realmente distingue a la reflexión-en-la-acción es su "inmediata relevancia
para la acción". Temporalmente ocurre dentro de lo que Schön denomina "action-present"
(acción presente), el periodo de tiempo en que la acción todavía puede ser relevante para
cambiar la situación. Estos periodos de tiempo pueden variar desde segundos (p.ej. en el caso
de un arquitecto que esta dibujando bocetos) a meses (p.ej. en el caso de un abogado que está
defendiendo un caso).
Las consecuencias imprevisibles del saber tácito de las acciones son las que propician
a su vez la posibilidad de reflexionar-en-la-acción. Un ejemplo claro se encuentra en la
actuación de un grupo de músicos de jazz cuando realizan una improvisación. La sensación
que tienen de la música que están creando mediante sus acciones les conduce a realizar otras
nuevas “pensando en lo que están haciendo y, en el proceso, cambiando su forma de hacerlo".
Schön distingue varios "momentos" en un proceso idealizado de reflexión-en-la-
acción, aunque estos se funden con frecuencia en un solo proceso:
a) Situación de la acción en la que se traen respuestas espontáneas y rutinarias. El
conocimiento es tácito y produce los resultados esperados si la situación es
"normal".
b) Sorpresa agradable o desagradable.
c) La sorpresa conduce a una reflexión dentro de la acción presente (no se ignora).
d) La reflexión-en-la-acción pone en cuestión las suposiciones subyacentes al
conocimiento-en-la-acción. Durante este proceso pueden reestructurarse las
estrategias de acción, la comprensión de los fenómenos de la situación o las
maneras de formular el problema que las acciones intentan resolver.
e) La reflexión da lugar a la experimentación in situ. Se idean y prueban nuevas
acciones con objeto de explorar los fenómenos recién observados, verificar la
comprensión global de los mismos, o afirmar las acciones anteriores.
51
4.2.3 El saber-en-la-práctica y la reflexión-en-la-práctica
Para Schön el proceso de reflexión-en-la-acción forma la base fundamental de la
práctica profesional en situaciones problemáticas o mal definidas. En este contexto se refiere
a dicho proceso como “reflexión-en-la-práctica”, y al conocimiento tácito empleado como
“saber-en-la-práctica” (Schön, 1983, pp. 60-61):
"A medida que un profesional experimenta muchas variaciones de un pequeño número
de tipos de casos, puede «practicar» su práctica. Desarrolla un repertorio de
expectativas, imágenes y técnicas. Aprende qué debe buscar y cómo debe responder a
lo que encuentra. Mientras su práctica sea estable, en el sentido de que le presenta los
mismos tipos de casos, se hace cada vez menos propenso a la sorpresa. Su saber-en-
la-práctica tiende a hacerse cada vez más tácito, espontáneo y automático,
confiriéndole a él y a sus clientes los beneficios de la especialización.
[...] Mediante la reflexión, [el profesional] puede hacer aflorar y criticar la capacidad
tácita de comprender los problemas que ha desarrollado a partir de las experiencias
repetitivas de una práctica especializada, y puede dar nuevo sentido a las situaciones
únicas e inciertas que se permita experimentar."
Saber-en-la-acción y reflexionar-en-la-acción forman parte de nuestras experiencias
cotidianas de hacer y pensar. Cuando aprendemos el arte de una práctica profesional, estamos
aprendiendo nuevas formas de utilizar tipos de competencias que ya poseemos, aunque
adaptados a un contexto social e institucional que condiciona muchas veces dicha práctica.
Los esfuerzos de Schön se encaminan a construir una epistemología de la práctica basada en
el proceso de reflexión-en-la-práctica, y a mostrar como dicho proceso puede emplearse para
resolver situaciones problemáticas de forma rigurosa.
4.3. LA ESTRUCTURA DE LA REFLEXIÓN-EN-LA-ACCIÓN
En (Schön, 1983) se presenta la estructura del proceso de reflexión-en-la-acción a
partir del análisis de la práctica en dos profesiones aparentemente muy diferentes: la
arquitectura y la psicoterapia. A continuación analiza cómo procesos similares aparecen en la
práctica de otras profesiones como la ingeniería, la planificación urbana o la administración
de empresas.
Capítulo 4
52
Normalmente los problemas del mundo real no encajan completamente en un conjunto
cerrado de "problemas tipo" y no vienen descritos formalmente de antemano, ni en cuanto a
los medios a emplear para resolverlos, ni en cuanto a los fines a perseguir. Por el contrario,
normalmente es necesario descubrir las características peculiares de cada “situación
problemática” y existe realmente un “problema para encontrar el problema”. Estas situaciones
son complejas e inestables, vienen acompañadas normalmente de incertidumbre,
características únicas que no aparecen en problemas ya conocidos y/o objetivos incompatibles
o inconsistentes.
La forma de abordar estas situaciones problemáticas puede describirse como una
indagación. Se intenta imponer un marco a la situación y seguir la lógica de sus
consecuencias, pero de una forma abierta y teniendo en cuenta cómo reacciona la propia
situación. En el transcurso de esta indagación se llevan a cabo dos procesos de fundamental
importancia:
• Construcción de mundos de diseño. Cuando un profesional se encuentra un
fenómeno desconocido lo percibe de una forma esencialmente subjetiva e intenta
asimilarlo a algún elemento de su repertorio de casos familiares.
• Experimentación en diseño. El profesional formula nuevas hipótesis a medida que
reflexiona sobre las similitudes establecidas con un caso familiar. Estas hipótesis
se comprueban mediante acciones que sirven a la vez para modificar la situación y
para explorarla.
A continuación se describen ambos procesos por separado aunque están íntimamente
entrelazados.
4.3.1 Construcción de mundos de diseño
El proceso para la resolución de situaciones problemáticas se basa en el desarrollo de
un marco adecuado para la situación, es decir, de determinar qué elementos hay en ella
(cuáles son los medios disponibles) y de dar un sentido a la misma (cuáles son los fines a
perseguir).
Cada diseñador construye gradualmente una ontología o "mundo de diseño" para cada
situación problemática, es decir, "una construcción de la totalidad de las cosas y relaciones
53
que el diseñador toma como la realidad del mundo en que diseña" (Schön, 1992). Para llegar a
tener un problema bien definido, el diseñador tiene que construirlo a partir de los materiales
que encuentra en la situación, eligiendo y denominando aquello en lo que va a reparar. Los
procesos cognitivos que confluyen para la construcción de un mundo de diseño pueden ser
diversos (Schön, 1992):
"[Los diseñadores construyen mundos de diseño] mediante procesos de apreciación,
que se refieren tanto a la percepción sensorial activa del material en cuestión, como a
la construcción de un orden en el material, lo que incluye el dar nombre y marco a las
cosas, cualidades y relaciones."
El concepto de mundo de diseño está muy relacionado con los de estilo y espacio de
estados. La percepción de los materiales disponibles en una situación y de sus posibilidades
es siempre subjetiva. Dado un conjunto de materiales disponibles, distintos diseñadores
seleccionan con frecuencia distintos objetos, e incluso perciben los 'mismos' objetos de
formas distintas (Schön, 1992). Esto permite que cada diseñador construya su propio "espacio
de estados" para la resolución de un problema. Un ejemplo bastante clarificador en este
sentido aparece resumido en (Schön, 1987, pp. 18-19):
"En función de nuestra experiencia disciplinar, nuestros roles organizativos,
situaciones del pasado, intereses y perspectivas políticas y económicas, nos
enfrentamos a las situaciones problemáticas de maneras muy diferentes. Un
especialista en nutrición, por ejemplo, puede convertir una vaga preocupación sobre
la mala alimentación de los niños de países en vías de desarrollo en un problema de
selección de la dieta ideal. Pero un agrónomo puede definir el problema en términos
de producción de alimentos, un epidemiólogo puede hacerlo en términos de las
enfermedades que aumentan la demanda de alimentos nutritivos o que impiden su
absorción; los demógrafos tratarán de verlo en términos de una tasa de crecimiento
de la población que ha sobrepasado a la producción agrícola; los ingenieros en
términos de una inadecuada distribución y almacenamiento de alimentos; los
economistas en términos de un insuficiente poder adquisitivo o de la desigual
distribución de la tierra o la riqueza. En el campo de la desnutrición, las afinidades
profesionales y las perspectivas político-económicas determinan el modo en que
puede verse una situación problemática, y los debates sobre la mala alimentación
giran alrededor de un problema que requiere solución. Estos debates encierran
Capítulo 4
54
estructuras de conflicto que no se resuelven fácilmente, si es que pueden resolverse,
por el exclusivo recurso a los datos. Aquellos que manejan estructuras de conflicto
atienden a hechos diferentes e interpretan de manera distinta los hechos en los que
reparan."
Schön propone además que para dar sentido a una situación problemática, cada
profesional echa mano del repertorio de ejemplos, imágenes, capacidades de comprensión y
acciones formado a partir de su experiencia previa. El profesional da un sentido a la situación
viéndola como7 algo ya presente en su repertorio. Este es un proceso simultaneo y ambiguo de
pensamiento y percepción que puede llevarse a cabo sin una articulación consciente. La
situación problemática se percibe como similar y diferente a una situación familiar, sin que
sea posible decir inicialmente con respecto a qué es similar o diferente. A continuación, el
profesional puede reflexionar sobre las similitudes y diferencias de forma consciente. Sin
embargo, la percepción inicial de similitud y diferencia es lógica y psicológicamente anterior
a su posterior articulación.
Todo lo anterior es aplicable tanto a los medios como a los fines. A medida que se
desarrolla el proceso de diseño, el diseñador va elaborando también de forma gradual una
intención, que no viene dada de antemano y que sirve para guiar todo el proceso de diseño. La
evolución de la intención depende de los resultados de los experimentos que el diseñador
realiza a lo largo del proceso y de su reflexión sobre los mismos.
4.3.2 Experimentos en diseño
Ver-como permite elaborar un marco y dar significado para la situación
(identificar tentativamente cuál es el problema), pero no es suficiente. Para descubrir si el
marco establecido es adecuado es necesario intentar adaptar la situación al mismo. Para
Schön estos intentos se llevan a cabo mediante la realización de experimentos que
responden básicamente a la pregunta “¿Qué pasa si...?” y pueden tomar tres formas
diferentes:
• Experimentos exploratorios (exploratory experiments), en los que la acción se
lleva a cabo sin ninguna pretensión inicial, únicamente para ver que ocurre. Se
7 Schön toma este término de la obra Philosophical Investigations de L.Wittgenstein.
55
trata de una actividad de carácter "lúdico" y exploratorio que permite apreciar las
cosas. El experimento tiene éxito si lleva a descubrir la presencia de algo
sorprendente.
• Experimentos de prueba de movimientos (move-testing experiments), en los que la
acción tiene como objeto producir un determinado fin. En este caso el éxito del
experimento no se valora solamente con la respuesta afirmativa a la pregunta ¿se
ha conseguido el fin deseado?, sino a la pregunta alternativa ¿me gustan los efectos
de la acción, tomando sus consecuencias en conjunto?
• Experimentos de prueba de hipótesis (hypothesis testing experiments). Hablando
en un sentido general, cada marco o formulación del problema va acompañado de
una hipótesis sobre la situación. Para validar dicha hipótesis las acciones tienen
como objetivo cambiar la situación para que se amolde a la misma. No obstante,
las situaciones no siempre son completamente manipulables y pueden resistirse a
las acciones del diseñador, produciendo interacciones y efectos imprevistos. Este
tipo de experimentos se convierte por tanto en un “juego” con la situación.
A lo largo del proceso de experimentación las tres tareas (exploración, prueba de
movimientos y prueba de hipótesis) son llevadas a cabo por las mismas acciones: las acciones
mediante las cuales el diseñador comprueba sus hipótesis son también movimientos con los
que quiere cambiar la situación y le sirven a la vez como medio para explorarla.
El diseñador está interesado en transformar la situación de su estado actual en otra que
le parezca mejor. También está interesado en comprender la situación, pero sólo en la medida
que le facilite cambiarla más a su gusto.
A medida que se realizan experimentos, cada movimiento puede producir resultados
que haya que interpretar, problemas que es necesario resolver o nuevas oportunidades que se
puedan explotar. Después de cada experimento es necesario apreciar los resultados
producidos. Cualquier consecuencia no deseada puede conducir a un nuevo cambio en la
forma de concebir el problema. El diseñador debe ser capaz de hacer que la indagación siga
en marcha. Este esquema se ilustra en la figura 4.1.
Capítulo 4
56
apreciación acción apreciación reflexión
Figura 4.1. Esquema conversacional para la reflexión-en-la-acción.
El diseñador debe aprender si su hipótesis es correcta a través de la reflexión sobre la
dificultad que encuentra para hacerla cierta. La necesidad y modo de la reflexión viene
dictada por los cambios producidos por sus movimientos, y se resumen en la tabla 4.1.
Consecuencias en relación con la intención
Consecuencias percibidas (intencionadas o no)
Reflexión
1. Sorpresa No deseables Necesaria 2. Sorpresa Deseables o neutras No necesaria 3. Sin sorpresa Deseables o neutras No necesaria 4. Sin sorpresa No deseables Necesaria
Tabla 4.1. Consecuencias de la acción.
1. El primer caso es típico para la reflexión-en-la-acción. La acción del diseñador no
produce los resultados esperados y además la teoría o hipótesis asociada
implícitamente a la acción queda refutada. El diseñador responde a la negación del
movimiento reflexionando sobre la teoría subyacente al mismo.
2. En el segundo caso tampoco se consigue el fin esperado, pero las consecuencias
globales de la acción se consideran deseables. La teoría asociada es negada, pero el
movimiento resulta afirmado. De acuerdo con la lógica de afirmación que se
utiliza normalmente en diseño, no es necesario reflexionar sobre una acción que ha
tenido éxito.
3. En el tercer caso se consigue el fin esperado y las demás consecuencias percibidas
son favorables, por lo que tampoco es necesario reflexionar sobre la acción.
4. Por último, en el cuarto caso, es necesario reflexionar sobre la teoría o hipótesis
asociada al movimiento, concretamente sobre su adecuación para la situación que
se intenta resolver.
57
Es así como la percepción de los cambios producidos determinan la necesidad y forma
de la reflexión-en-la-acción.
El proceso de prueba de hipótesis termina cuando los cambios producidos por las
acciones se consideran satisfactorios en su conjunto, o cuando el descubrimiento de nuevas
características del problema da un nuevo sentido a la situación y cambian la dirección de la
indagación.
Es interesante señalar que este proceso conversacional ver-actuar-ver puede llevarse a
cabo en diversos contextos:
• En mundos virtuales, particulares de cada profesión y con los que el diseñador está
familiarizado. Por ejemplo, mediante bocetos o dibujos técnicos si se trata de un
arquitecto. La habilidad para construir y manipular estas representaciones es
fundamental para poder experimentar de forma rigurosa.
• A un nivel social, en el que el diseñador intenta comprender la visión que el cliente
u otros colegas tienen de la situación, e intenta comunicar a los demás su propia
visión.
4.3.3 Relación del profesional con la situación
La relación del profesional con la situación no es simplemente la de un
observador/manipulador, a la que aplica una técnica de su repertorio con objeto de conseguir
un fin preestablecido. Schön describe en su lugar esta relación como una transacción, en la
que el profesional da forma a la situación pero en "conversación" con ella: sus percepciones
están condicionadas por la situación, pero los fenómenos que pretende comprender también
son en cierto sentido su propia creación. El propio diseñador es parte de la situación que
pretende comprender.
El proceso en su conjunto se define como una conversación reflexiva con la situación.
El profesional no observa a distancia la situación, sino que provoca la transacción imponiendo
una visión y un orden propio sobre la misma. Al mismo tiempo que intenta amoldar la
situación a su marco o formulación, está abierto a la forma en que responde la misma. Actúa
de acuerdo a la visión y el orden que ha impuesto, pero abierto a cambiarla para dar sentido a
los fenómenos que va descubriendo.
Capítulo 4
58
4.4. COMPARACIÓN DE LA RACIONALIDAD TÉCNICA Y LA
REFLEXIÓN-EN-LA-ACCIÓN
La epistemología positivista de la práctica está basada en tres divisiones
fundamentales:
• La separación de medios y fines, que permite plantear la resolución de problemas
instrumentales como un procedimiento técnico cuya eficacia puede medirse en
función de la consecución de un objetivo preestablecido.
• La separación de la investigación y la práctica profesional, que permite plantear la
práctica rigurosa como la aplicación a problemas instrumentales de teorías y
técnicas generales obtenidas a través de métodos de investigación científica.
• La separación de "el saber" de "el hacer", que permite considerar la acción como la
implementación y prueba de una decisión técnica.
La epistemología de la práctica basada en la reflexión-en-la-acción desafía estas tres
divisiones. Concretamente considera que los problemas se plantean considerando medios y
fines de forma interdependiente, que la práctica es una clase de investigación, y que la
indagación resultante es una transacción con la situación en la que "el saber" y "el hacer" son
inseparables.
Desde el punto de vista de la racionalidad técnica el énfasis principal en la formación
de profesionales es el estudio de problemas instrumentales, en los que se trata de encontrar los
medios mas adecuados para la consecución de unos fines claramente definidos (Schön, 1987,
p. 42):
"Vista así, la competencia profesional consiste en la aplicación de teorías y técnicas
derivadas de la investigación sistemática, preferiblemente científica, a la solución de
los problemas instrumentales de la práctica."
En aquellas situaciones que no se adaptan con claridad a los problemas cuya solución
técnica es conocida es necesario algún tipo de indagación. Desde la perspectiva de la
racionalidad técnica este tipo de indagación se considera guiado por un conjunto de reglas
explicables que permiten establecer conexiones claras entre las situaciones concretas y el
59
conocimiento científico y técnico. Este es, como señala acertadamente (Schön, 1987), uno de
los principios sobre los que se asentaban los primeros sistemas expertos (p. 43):
"Los «sistemas expertos», hoy tan populares en la medicina hospitalaria al igual que
en otros campos, intentan hacer explícitas las fases de información, las reglas y los
procedimientos mediante los que el conocimiento profesional se aplica a casos
problemáticos singulares"
Por el contrario, desde el punto de vista de la práctica basada en la reflexión-en-la-
acción, los tipos de situaciones a las que puede enfrentarse en la práctica un profesional se
entienden de otra manera. En un extremo están aquellas situaciones en las que es posible la
aplicación rutinaria de técnicas y procedimientos. Por otra parte, en aquellas situaciones en las
que es posible establecer una conexión entre las técnicas y reglas conocidas y la situación
concreta, esta se realiza mediante una aplicación limitada de la reflexión-en-la-acción. Por
último están las situaciones más complejas de la práctica en las que los profesionales "no sólo
siguen reglas de indagación sino que, algunas veces, responden también ante resultados que
les sorprenden mediante el recurso a la invención de nuevas reglas sobre la marcha. Este tipo
de reflexión-en-la-acción es central al arte con que los profesionales algunas veces clarifican
situaciones de incertidumbre, singularidad y conflicto."
4.5. UNA TEORÍA COMPUTACIONAL DEL DISEÑO REFLEXIVO
A la luz de las consideraciones anteriores, en (Schön, 1992) se aborda la cuestión de
construir una teoría computacional sobre diseño siguiendo el esquema propuesto en (Marr,
1982) (véase la sección 2.6.4).
El primer aspecto relevante para la construcción de dicha teoría es que el
conocimiento del diseño es fundamentalmente tácito, es decir, sólo se manifiesta en la acción.
Esto tiene ya implicaciones graves al nivel simbólico (o de representación y algoritmo):
“Las representaciones procedurales, simbólicas, del conocimiento tácito de diseño
están destinadas a ser incompletas o inadecuadas con relación a los fenómenos reales
del diseño [...]”.
Capítulo 4
60
(Schön, 1992) describe un conjunto de fenómenos de diseño que pueden considerarse
como “preliminares a la especificación de las clases de tareas de procesamiento de
información que se llevan a cabo al diseñar, tal como Marr las especificó para la visión.”
Así, por ejemplo, comienza analizando el proceso conversacional ver-dibujar-ver que
correspondería a la prueba de un movimiento (move experiment). A partir de dicho análisis
determina que la intención en evolución es una de las salidas del diseño. Además, establece
como finalidad para la estructura ver-actuar-ver el permitir gestionar la complejidad del
diseño:
“Cuando la gente diseña, consideran muchos dominios y muchas cualidades dentro de
cada dominio; sus movimientos producen consecuencias importantes en más de un
dominio. En casos extremos, un movimiento informado por una intención formulada
en un dominio tiene consecuencias en todos los demás. Debido a la limitada
capacidad de procesamiento de información de los humanos, estos no pueden
considerar, antes de realizar un movimiento concreto, todas las consecuencias y
cualidades que pudieran considerar relevantes para su evaluación.”
Otros fenómenos de diseño se argumentan de forma parecida, como los procesos de
formación de imágenes a partir de las marcas realizadas sobre un papel (gestalting), o la
construcción de mundos de diseño.
Formular todas estas tareas desde el punto de vista del procesamiento de información
y encontrar representaciones y algoritmos adecuados al nivel simbólico supone un desafío
muy difícil de superar. Esto es así tanto si se pretende simular el comportamiento humano
como si se pretende únicamente emularlo. Ante esta disyuntiva Schön apunta como objetivo
más asequible y prometedor para la IA la construcción de sistemas de ayuda al diseño.
Algunos ejemplos de cómo los ordenadores pueden servir de ayuda en el proceso de diseño
son:
• Producir entornos que potencien el proceso de percepción-acción-percepción.
• Crear micromundos que puedan programarse para servir de mundos de diseño,
ampliando la capacidad del diseñador para construirlos y explorarlos.
61
• Proporcionar un sistema que amplie el repertorio de prototipos del diseñador, y
potencie su habilidad para explorarlos y ponerlos en transacción con situaciones de
diseño concretas.
• Crear entornos que ayuden al diseñador a descubrir su propio conocimiento de
diseño y a reflexionar sobre el mismo.
4.6. COMENTARIOS
En esta sección se resaltan básicamente dos cuestiones. En primer lugar se establece
una breve comparación de las ideas de Schön con las de Simon presentadas en el capítulo
anterior. A continuación se destacan los principales aspectos del diseño considerados por
Schön y se perfila su relación con el material presentado en los capítulos siguientes.
Los trabajos de Schön comparten con los de Simon una preocupación por la formación
universitaria para la práctica profesional, es decir, para lo que se denomina diseño. Ambos
coinciden también en que para poder enseñar a diseñar es importante comprender primero qué
es el diseño.
Cada uno de estos autores plantea soluciones distintas para caracterizar el
conocimiento práctico. Como ya se comentó en el capítulo anterior, (Simon, 1973) argumenta
que el carácter mal definido de los problemas radica en las capacidades limitadas del resolutor
de problemas, y que todos los problemas pueden considerarse, en este sentido, mal definidos.
El proceso de diseño se convierte entonces en una tarea de evocación de conocimientos que
permitan una descomposición y organización factibles para la resolución del problema. Estos
conocimientos se encuentran fundamentalmente en la Memoria a Largo Plazo del diseñador.
Para Schön, por el contrario, buena parte del conocimiento práctico es
fundamentalmente tácito, se manifiesta únicamente en la acción. No se puede describir
explícitamente de forma completa y, por tanto, no puede "extraerse" y representarse
explícitamente en un ordenador (Schön, 1992): “El diseñador no solo diseña con la mente,
sino también con el cuerpo y los sentidos, un hecho que supone un desafio interesante para los
ordenadores”.
Capítulo 4
62
Este tipo de crítica, contraria a las expectativas y exageraciones que acompañaron a la
llegada de la tecnología de los primeros sistemas expertos, es común a otros autores.
(Winograd, 1990) supone un buen ejemplo en este sentido (p. 179):
“[...] no es nada evidente que el resultado de la experiencia pueda formalizarse de
forma adecuada como un repertorio de patrones discretos [...]. Para decir que «todo
el conocimiento del mundo» podría articularse explícitamente en forma simbólica
(computacional o no) debemos suponer la posibilidad de reducir todas las formas de
conocimiento tácito (habilidades, intuición, y otras parecidas) a hechos y reglas
explícitas. Heidegger y otros fenomenologistas han desafiado esta afirmación [...].”
Una crítica importante al conocimiento representado en los sistemas expertos es que
debe formularse independientemente del contexto o situación en que será utilizado. Toda
ambigüedad o matiz debe ser eliminado. Winograd resume también esta limitación de la
siguiente forma (pp. 182-183):
“Enunciado de forma sencilla, las técnicas de la inteligencia artificial son a la mente
lo que la burocracia es a la interacción social humana. [...] La despersonalización del
conocimiento en los sistemas expertos [...] tiene un paralelismo obvio con la
burocracia. [...] El «yo sólo cumplo las normas» del funcionario burócrata tiene su
analogía directa en «eso es lo que dice la base de conocimientos».”
Dos características fundamentales del diseño destacadas por Schön son su carácter
subjetivo y reflexivo. Las situaciones de diseño no son objetos externos, distantes e
independientes del diseñador, sino que éste las percibe y construye de forma subjetiva a través
de procesos de indagación. Tanto los medios a emplear como los fines a perseguir son el
resultado de apreciaciones subjetivas. La concepción de ambos resulta en un mundo de diseño
que evoluciona a través de la respuesta de la situación ante las acciones del diseñador, y de la
reflexión que esta provoca.
El diseño también es una actividad social y comunicativa, en el que cada individuo
implicado en el proceso (al menos un cliente y un diseñador) debe descifrar los mundos de
diseño de los demás.
Incluso en el caso en que la experiencia y conocimiento práctico humano pudieran
reproducirse de algún modo en el ordenador, el resultado sería una máquina capaz de percibir
las situaciones de una única forma preestablecida. (Schön, 1992) argumenta que no tiene
63
sentido intentar construir sistemas que pretendan simular ni emular las capacidades humanas
de diseño. Sí parece buena idea, por el contrario, intentar construir sistemas de ayuda que
faciliten la tarea del diseñador. Esta línea de investigación, de hecho, parece haber sustituido
actualmente a cualquier pretensión de diseño automático.
Los dos capítulos que siguen a continuación pretenden dar una visión representativa de
las líneas de investigación actuales sobre IA en diseño. Los dos grupos de trabajos
presentados persiguen precisamente como objetivo la introducción del ordenador en el
proceso de diseño con objeto de ayudar a los diseñadores.
Las descripciones de los fenómenos de diseño proporcionados por (Schön, 1992)
sirven para identificar algunas tareas importantes de procesamiento de información aunque
desde una perspectiva muy cercana al diseñador humano. En el capítulo 6 se presenta una
teoría computacional que tienen por objetivo, precisamente, describir el diseño como un
proceso al nivel del conocimiento.
Capítulo 4
64
65
CAPÍTULO 5
ENFOQUES PRAGMÁTICOS
"It is unlikely that AI will provide the basis of
a theory of designing." John S. Gero, 1998
Los trabajos pioneros de Herbert Simon han influido de forma significativa en la
formación de diversas líneas y trabajos de investigación actuales sobre diseño en IA. En este
apartado se describen dos modelos del proceso de diseño que representan, en muchos
aspectos, una elaboración de estas ideas.
El primer modelo ha sido desarrollado en el Key Centre of Design Computing
(KCDC) de la Universidad de Sidney (Australia). Posiblemente se trate de uno de los grupos
de investigación más influyentes en el campo de la IA en diseño, estando codirigido
actualmente por John Gero y Mary Lou Maher. El segundo modelo ha sido desarrollado por
D. Navinchandra en el Massachusetts Institute of Technology (EE.UU.) y posteriormente en
la universidad de Carnegie Mellon (EE.UU.). Ambos modelos presentan caracterizaciones del
diseño que son complementarias en muchos sentidos o, cuando menos, compatibles. Una
característica común es que no pretenden servir como modelos cognitivos del diseño, al
contrario que los presentados hasta ahora. Su objetivo es más pragmático: simplemente
formalizar algunas ideas del proceso de modo que sirvan de base en el desarrollo de
herramientas de ayuda al diseño.
Las primeras cuatro secciones describen el primer modelo. La quinta y sexta se
dedican al segundo.
5.1. MÉTODOS DE INVESTIGACIÓN DE IA EN DISEÑO
El equipo de investigadores del KCDC ha estudiado modelos computacionales de
diseño basados en conocimiento desde los años 80, y más recientemente se dedica también al
Capítulo 5
66
estudio de modelos cognitivos. En (Gero y Maher, 1997) se da una visión general de los
trabajos recientes del grupo y se propone agrupar en tres categorías los métodos de
investigación de IA en diseño:
1. Basándose en la evidencia empírica sobre la actividad de diseño humana.
2. Basándose en axiomas y sus derivaciones. Incluye representaciones lógicas de
objetos y modelos lógicos de exploración.
3. Basándose en conjeturas sobre procesos potencialmente útiles, que pueden ser de
dos tipos:
a) Conjeturas basadas en procesos observados en diseñadores humanos.
b) Conjeturas basadas en otros procesos (y que obviamente no están relacionadas
con los diseñadores humanos).
Los trabajos que se describen a continuación pertenecen a la tercera categoría. Esta
línea de investigación no pretende simular ni describir procesos cognitivos, sino emularlos
con el fin de automatizar tareas de diseño y promover un uso eficaz de los ordenadores en
el proceso de diseño (Coyne y otros, 1990, p. 37):
"Al modelar el diseño no pretendemos decir qué es el diseño o cómo los diseñadores
humanos hacen lo que hacen, sino más bien proporcionar modelos mediante los que
poder explicar y tal vez replicar algunos aspectos del comportamiento de diseño."
La afirmación de (Gero, 1998) es contundente en este sentido:
"Los procesos computacionales que sirven de apoyo al diseño no precisan
necesariamente de un fundamento teórico, y se restringen habitualmente a un
subconjunto de la totalidad de actividades del diseño humano.
Aunque la IA busca un fundamento teórico, su utilidad radica en su habilidad para
representar situaciones de diseño y procesos de diseño utilizando conceptos con
diferente rigor teórico. Estas mismas situaciones y procesos no tienen necesariamente
ningún rigor teórico."
67
Por último, en (Gero, 1994b, p. 357) se hace una matización necesaria para recalcar
que la construcción de sistemas de ayuda al diseño debe apoyarse siempre en algún
formalismo explícito:
"Aunque las herramientas de diseño pueden emplearse como 'cajas negras' sin
preocupación por los conceptos subyacentes, la falta de comprensión del enfoque
formal adoptado respecto al diseño por quien desarrolló la herramienta acarrea
problemas para el usuario de la misma."
Para dar coherencia a estos trabajos el KCDC ha desarrollado un esquema o marco del
proceso de diseño que sintetiza los principales conceptos y procesos identificados en otros
modelos (fundamentalmente modelos cognitivos, de la Inteligencia Artificial, de la
investigación operativa o de la teoría de sistemas). Aunque estos modelos no pueden explicar
individualmente todos los aspectos del proceso de diseño, el esquema propuesto pretende
establecer una referencia común a todos ellos y servir de base para el desarrollo de
herramientas de diseño. La siguiente sección muestra dicho esquema. Más adelante se
presentan los componentes fundamentales de un modelo del proceso de diseño basado en
conocimiento.
5.2. UN MARCO GENERAL PARA LOS PROCESOS DE DISEÑO
En (Gero, 1990) y (Gero, 1994b) se describe un marco o representación de la
estructura del proceso de diseño que pretende incorporar diversos conceptos procedentes de
otros modelos como: la distinción entre función, comportamiento y estructura; la noción de
que el diseño implica búsqueda en un espacio de estados; o la noción de que dicho espacio
puede modificarse a lo largo del proceso.
Concretamente, el proceso de diseño se caracteriza de la siguiente forma:
• Es una actividad intencional, orientada a algún propósito, aunque determinar las
metas del diseño es un objetivo del proceso.
• Es una actividad restringida por las condiciones naturales y sociales del entorno en
que deberá operar el artefacto diseñado.
Capítulo 5
68
• Implica la toma de decisiones, y por tanto la búsqueda en un espacio de decisiones.
Determinar el espacio de decisiones también es parte del proceso, lo que implica
exploración. Una de las nociones más importantes que ha introducido la IA en los
estudios sobre diseño es la de espacio de diseño. (Gero, 1994b) describe este
espacio como "el espacio de diseños posibles para una articulación concreta de la
formulación de un diseño". Este espacio puede subdividirse a su vez en tres
subespacios o abstracciones: el espacio de la estructura, S (denominado con
frecuencia espacio de decisión); el espacio del comportamiento, B (de los objetivos
o criterios a cumplir) y el espacio de la función, F (que define la teleología del
artefacto, es decir, la función es una interpretación del comportamiento en un
contexto determinado).
• Implica aprendizaje de las características emergentes a lo largo del proceso.
• Es una actividad situada, es decir, se realiza en un contexto cambiante que, en
cierto sentido, está definido por lo que el diseñador percibe. Estas percepciones
cambian a lo largo del proceso, lo que supone un cambio del contexto.
Los conceptos de función (F), estructura (S) y comportamiento (B) son especialmente
útiles para articular una descripción de este proceso. En primer lugar, el objetivo del proceso
se concibe como "transformar una función F (donde F es un conjunto) en una descripción de
diseño D de modo que el artefacto descrito sea capaz de producir dichas funciones".
La descripción D de un artefacto consiste en una representación de su estructura S, es
decir, de sus elementos y las relaciones entre los mismos. La transformación S → D se realiza
normalmente empleando herramientas de dibujo tradicionales o asistidas por ordenador, y
corresponde al proceso de documentación del diseño.
La complejidad del diseño radica en que rara vez existe una transformación directa
F → S salvo en casos sencillos que no suelen considerarse como diseño (p.ej., la consulta de
catálogos). La transformación debe realizarse por tanto a través de medios indirectos,
concretamente a través del espacio de los comportamientos (ver figura 5.1). Para dar cuenta
de esta transformación se describen diversos procesos (ver figura 5.2 y figura 5.3):
• Formulación o especificación (F → Be). La función F, que representa los objetivos
del diseñador se trasforma en un comportamiento esperado (Be). Por ejemplo, en
69
el caso del diseño de una ventana, la función de "controlar la ventilación" se puede
formular en términos de una determinada "tasa de ventilación".
• Análisis (S → Bs). A partir de una estructura determinada se obtiene su
comportamiento (Bs). Por ejemplo, la "tasa de ventilación" de una determinada
ventana puede calcularse a partir de sus dimensiones.
• Evaluación (Be ↔ Bs). El comportamiento de la estructura se compara con el
comportamiento esperado para ver si la estructura es adecuada.
• Síntesis (Be → S(Bs)). Los comportamientos esperados se utilizan para la
selección y combinación de una estructura. Éste es, por lo general, un proceso
basado en conocimiento.
• Reformulación. Corresponde a un cambio en el comportamiento esperado, y por
extensión, de la función F. Puede originarse por dos motivos:
- La estructura produce comportamientos adicionales no previstos.
- La comparación entre el comportamiento de la estructura y el esperado no es
satisfactoria, ni pueden reconciliarse ambos comportamientos manipulando la
estructura.
Fb
Fa Bi Sp
Bj Sq
Figura 5.1. Los tres subespacios de función, F, comportamiento, B, y estructura, S, que
conforman el espacio de estados del diseño (adaptado de (Gero, 1994a)).
Capítulo 5
70
F
Be
S
Bs
D F : Conjunto de funcionesBe : Conjunto de comportamientos esperadosBs : Conjunto de comportamientos realesS : EstructuraD : Descripción del diseño→ : Transformación↔ : Comparación
Figura 5.2. Un modelo del diseño como proceso (adaptado de (Gero, 1990)).
F
Be
S
Bs
D
(a) Formulación
F
Be
S
Bs
D
(b) Síntesis
F
Be
S
Bs
D
(c) Análisis
F
Be
S
Bs
D
(d) Evaluación
F
Be
S
Bs
D
(e) Reformulación
F
Be
S
Bs
D
(f) Documentación del diseño
Figura 5.3. Actividades en diseño (adaptado de (Gero, 1990)). La hipótesis es que un modelo de diseño basado en conocimiento puede dar cuenta de
todos los aspectos mencionados. En las siguientes secciones se presentan aspectos básicos de
este modelo. En primer lugar se muestra un formalismo adecuado para la representación del
conocimiento de diseño. Este formalismo permite a su vez caracterizar tres clases de diseño:
rutinario, innovador y creativo. Por último se describen algunas formalizaciones de procesos
de exploración que permiten realizar diseño no rutinario.
71
5.3. REPRESENTACIÓN DEL CONOCIMIENTO DE DISEÑO:
PROTOTIPOS
El proceso de diseño se concibe como un proceso basado en conocimiento, y dicho
conocimiento se describe como aquél que define espacios de diseño. Estos espacios, sin
embargo, no vienen dados normalmente a priori. Cabe entonces realizar las siguientes
preguntas: ¿Cómo es posible que los diseñadores comiencen a diseñar con información
incompleta y antes de que toda la información relevante esté disponible? ¿De donde
provienen las estructuras? ¿Cómo aparecen funciones adicionales a lo largo del proceso?
¿Cómo sabe un diseñador qué comportamientos debe analizar?
Una respuesta posible es que el diseñador aporta a la tarea el conocimiento de sus
experiencias anteriores. El diseño no es por tanto un simple proceso de computación, sino que
además implica razonar con conocimiento.
Para caracterizar en términos computacionales cómo puede representarse y emplearse
el conocimiento de espacios de diseño se propone el concepto de prototipo (Oxman y Gero,
1988), (Gero y otros, 1988), (Coyne y otros, 1990), (Gero, 1990). Básicamente un prototipo
es un esquema para la representación de conocimiento generalizado de diseño, i.e. los
prototipos se forman a partir de la generalización de un conjunto de experiencias individuales
(Gero y otros, 1988):
"[...] la experiencia de diseño se generaliza de modo que permita su representación al
nivel conceptual en forma de una clase a partir de la cual pueden crearse instancias
para hacer frente a la situación única de un diseño concreto. Clase e instancia toman
aquí el significado del paradigma de la programación orientada a objetos."
En definitiva, un prototipo define un espacio de estados a partir del cual puede
producirse la descripción de un diseño. Formalmente un prototipo (P) se describe como
(Coyne y otros, 1990):
P = (Dp, V, Ki, Ks, I)
donde,
Capítulo 5
72
• Dp es una noción de la descripción del diseño a producir, tal vez en forma
parametrizada, o tal vez en la forma de un generador de descripciones
parametrizadas.
• V es un vocabulario, o conjunto de elementos, de los diseños representados por el
prototipo.
• Ki es el conocimiento necesario para la interpretación de diseños.
• Ks es el conocimiento sintáctico para la generación de diseños.
• I es el conjunto de interpretaciones o requisitos asociados al prototipo.
En general la forma del conocimiento dependerá de cada caso concreto. Una de las
ideas que hay tras el concepto de prototipo es que sea independiente de cualquier forma de
razonamiento, al contrario que ocurre con otras representaciones del conocimiento (como
reglas o scripts). En (Gero y otros, 1988) y (Oxman y Gero, 1988) se describen dos ejemplos
distintos de prototipos en los que la producción de diseños se realiza a partir de conocimiento
interpretativo y generativo respectivamente.
Los prototipos descritos en (Gero y otros, 1988) proceden del dominio del diseño de
estructuras, y en ellos la descripción del diseño está parametrizada, es decir, viene dada a
partir de un conjunto de variables. Por ejemplo, la tabla 5.1 muestra parcialmente el prototipo
correspondiente a una viga. La descripción se divide en tres grupos de variables: definición,
entorno y rendimiento. Las variables de definición conforman la descripción del diseño, las de
rendimiento representan los objetivos y restricciones a cumplir, y finalmente, las del entorno
representan influencias externas al diseño, y sus valores vienen normalmente dados como
requisitos o se calculan a partir de códigos y estándares. El conocimiento procedural asociado
a las variables de definición (métodos) permite calcular valores para las mismas y el asociado
a las variables de rendimiento permite analizar si la estructura generada es satisfactoria
(Oxman y Gero, 1998):
"En las situaciones donde la descripción del diseño está parametrizada, ésta se
presenta como un conjunto de variables relacionadas, cuyos valores definen un
diseño. La función del conocimiento es producir dichos valores a partir de los
objetivos, donde I proporciona los objetivos y V los elementos sobre los que puede
73
operar K. En términos de la teoría de sistemas, [Dp] hace las veces del modelo del
sistema que se pretende diseñar y define las variables de decisión, y I define los
objetivos e, implícitamente, las variables de rendimiento. V define las variables del
sistema que contienen a todas las variables de decisión, y K es un conjunto de
procesos o métodos que establecen una relación entre las variables de decisión y las
de rendimiento."
En (Oxman y Gero, 1998) se describen prototipos para el diseño arquitectónico de
casas adosadas. Estos prototipos se denominan generativos porque en ellos la descripción del
diseño viene dada en forma de un generador de descripciones de diseño, concretamente
mediante gramáticas de formas. Adicionalmente se incluye algún tipo de conocimiento de
control para garantizar que las formas generadas intentarán satisfacer los objetivos del diseño.
La figura 5.4 y la figura 5.5 muestran gráficamente algunas de estas gramáticas,
concretamente para la ubicación de las escaleras y la cocina respectivamente.
PROTOTIPO DE VIGA
Variables de definición • material: - rango: acero, hormigón.
- método: SI es parte de un marco o estructura (truss) ENTONCES mismo material que el marco o estructura.
• envergadura: - rango: 10 - 100 pies. • sección-transversal: - rango: SI acero ENTONCES | o caja.
SI hormigón ENTONCES T o rectángulo - método: F(material, carga, forma). Variables del entorno • cargas-distribuidas-transversalmente:
- rango: 1 -10 kps/pie • cargas-distribuidas-longitudinalmente: ... • momentos: ... Variables de rendimiento • peso: - método: material.peso-unidad × longitud. • max-tensión: - rango: < material.max-tensión.
- método: F(cargas, envergadura, sección-transversal). • Max-deflexión: - rango: < envergadura / 300
- método: F(cargas, envergadura, sección-transversal).
Tabla 5.1. Prototipo de viga (adaptado de (Gero y otros, 1988)).
Capítulo 5
74
Figura 5.4. Descripciones de diseño generativas en forma gráfica para las escaleras (Oxman y Gero,
1988).
.
Figura 5.5. Descripciones de diseño generativas en forma gráfica para la cocina (Oxman y Gero,1988).
(Coyne y otros, 1990) proporciona una descripción extensa y detallada de los tipos de
conocimiento interpretativo y generativo que pueden emplearse en la definición de espacios
de diseño.
Es importante señalar que el concepto de prototipo aparece de nuevo, revisado y
actualizado, en (Gero, 1990). La diferencia principal consiste en separar dentro del prototipo
la información relativa a la estructura, el comportamiento y la función, de acuerdo con el
esquema presentado en la sección anterior. En el ejemplo de la viga presentado anteriormente
las variables de definición pueden asimilarse a la estructura, mientras que las de rendimiento
y entorno pueden asimilarse al comportamiento. El énfasis está, por tanto, en señalar la
importancia de la función en el proceso de diseño. Se trata de un elemento más a tener en
cuenta, que puede evolucionar a lo largo del proceso, y que además puede formularse usando
distintos conjuntos de comportamientos (Gero, 1990):
"Aunque existe un amplio consenso en que no hay función en la estructura ni
estructura en la función, la experiencia de diseño humana produce una conexión entre
75
función y estructura. Una vez que se ha aprendido esta conexión es difícil de olvidar.
Una vez establecida la conexión entre comportamiento y estructura, y entre
comportamiento y función, estas forman la base de gran parte del conocimiento de un
diseñador. [...] si debe producirse razonamiento para transformar la función en
estructura, entonces debe realizarse una separación clara entre ambos conceptos, y
entre función, estructura y comportamiento."
5.3.1 Diseño rutinario, innovador y creativo
El concepto de prototipo permite distinguir entre diversas clases de diseño en función
de la forma en que se manipula el espacio de diseño asociado. Los conceptos de diseño
rutinario, innovador y creativo pueden ponerse en correspondencia con distintas operaciones
sobre prototipos, concretamente con operaciones de refinado, adaptación y generación
respectivamente:
• Refinado: Consiste en trabajar dentro de los límites de los espacios definidos en el
prototipo. (Gero y otros, 1988) describe este proceso de la siguiente forma:
"En este caso el prototipo se instancia a partir de su clase y se considera
adecuado, así que sólo se buscan los valores para las variables de la
descripción de diseño parametrizada, o el generador de descripciones de
diseño, dentro de los límites definidos para su existencia. Estos valores
producen las interpretaciones necesarias.
[ D = τ(P, I) ]
Si las variables de decisión contenidas en la descripción de diseño son
solamente numéricas, entonces pueden emplearse métodos de optimización,
suponiendo que las interpretaciones necesarias pueden expresarse
numéricamente. Si los valores son simbólicos son necesarios otros enfoques."
(Coyne y otros, 1990, p. 81) proporciona un ejemplo basado en el diseño
de un automóvil. El conocimiento empleado para realizar ciertas interpretaciones
(como atractivo para las masas, sencillez, bajo coste o facilidad de producción)
pueden utilizarse para seleccionar un prototipo adecuado. Para diseñar un coche
atractivo para las masas puede emplearse el prototipo "Volkswagen". El refinado
Capítulo 5
76
del prototipo puede llevarse a cabo seleccionando otras opciones disponibles,
como el color de la pintura o los accesorios basándose en objetivos secundarios.
• Adaptación: Este proceso corresponde a una modificación del espacio de diseño
definido por el prototipo. Si en algún momento un diseñador recupera un prototipo
y descubre que no es satisfactorio en algún aspecto, puede intentar adaptarlo a sus
necesidades. Esta modificación puede afectar a cualquiera de los elementos que
definen el prototipo.
Volviendo al ejemplo del diseño de un coche, puede que un determinado
prototipo no sea adecuado para una familia porque no es posible ajustar una silla
para niños en el asiento trasero. En este caso puede intentarse una transformación
del vocabulario o de la sintaxis del prototipo empleando el conocimiento
adecuado.
• Creación: Consistiría en la construcción de prototipos totalmente nuevos. Es
cuestionable el hecho de que la creación de prototipos realmente nuevos se llegue
a producir en la práctica. Es razonable suponer que en su lugar se trate de una
adaptación de una magnitud suficiente o de un proceso continuado de adaptación.
La adaptación y creación de prototipos recibe el nombre común de diseño no rutinario.
5.4. PROCESOS FORMALES PARA DISEÑO NO RUTINARIO
El concepto de diseño rutinario está asociado a las nociones de resolución de
problemas o problema bien definido. La búsqueda es, por tanto, un proceso que permite
localizar la solución adecuada dado un objetivo y un espacio de diseño.
El diseño no rutinario se ocupa por el contrario de la creación o modificación de
espacios de diseño. Estos espacios nuevos o modificados se obtienen a partir de otros ya
existentes a través de procesos que se califican genéricamente como exploración.8
8 En el contexto de la teoría del Diseño como Exploración, descrita más adelante, el término 'exploración' recibe un significado diferente. (Smithers, 1994a) presenta una aclaración en este sentido.
77
La modificación de un espacio de diseño puede afectar, en principio, tanto al
subespacio de la función como al del comportamiento o al de la estructura, aunque "por lo
general, el espacio alterado suele ser el de la estructura" (Gero, 1994a, p. 318).
(Gero, 1994a, pp. 319-320) propone la siguiente relación entre los procesos de
búsqueda y exploración en diseño:
"la exploración precede a la búsqueda y, de hecho, convierte una formulación del
problema de diseño en otra [...] Parte del diseño implica determinar para qué se
diseña (función o teleología), determinar como medir la satisfacción
(comportamiento), y determinar qué puede emplearse en el artefacto final
(estructura). La exploración es el proceso que apoya estas determinaciones del
diseño. Una vez tomadas estas decisiones mediante exploración, la búsqueda toma el
relevo."
Más adelante se describe la posibilidad de considerar la exploración como una meta-
búsqueda (p. 335):
"En algún sentido [...] la exploración puede concebirse como una meta-búsqueda
porque, en términos computacionales todos los espacios de estados que pudieran ser
generados por un conjunto de procesos de exploración está determinado a priori por
el espacio de estados inicial y dichos procesos."
A continuación se describen dos procesos computacionales de exploración:
emergencia y combinación evolutiva. El primero está inspirado en un proceso observado en
diseñadores humanos, el segundo es una conjetura que no tiene ninguna base cognitiva.
5.4.1 Emergencia
El proceso de emergencia descrito en (Gero, 1994a) se basa en el concepto kantiano de
esquema, entendido como una abstracción conceptual de entidades. Los ejemplos propuestos
para ilustrar el concepto de emergencia se basan en la representación visual de estructuras,
aunque podrían extrapolarse a otros campos. La figura 5.6 muestra cómo una forma visual (en
este caso un rectángulo con una cuña) repetida y organizada adecuadamente permite ver,
cognitivamente, nuevas formas visuales. En este caso aparece una estrella de seis puntas, o tal
vez dos triángulos equiláteros superpuestos.
Capítulo 5
78
(a) (b)
Figura 5.6 (a) Una forma visual. (b) Combinando adecuadamente tres copias de la forma anterioremergen nuevas formas visuales (figura tomada del servidor web del KCDK).
La emergencia visual permite:
• Encontrar nuevas instancias de un esquema que ya se está considerando, como en
la figura 5.7, donde el triángulo T3 emerge tras la superposición de los triángulos
T1 y T2.
• Identificar nuevos esquemas que no se estaban considerando en la representación
original. Por ejemplo en la figura 5.6 ya comentada, donde se consideraba un
rectángulo con cuña y ahora aparecen triángulos y/o estrellas.
Lo importante es que a partir de las nuevas formas se ha construido un nuevo espacio
de diseño que afecta a la forma de considerar el problema. Concretamente, los ejemplos
presentados suponen una modificación del subespacio de estructuras, al incorporar nuevos
materiales al diseño (Gero, 1994a, p. 321):
"La emergencia permite que surjan nuevas perspectivas de situaciones existentes y se
convierte así en un modo de cambiar la dirección o el centro de atención del diseño."
(Gero y Damski, 1994) elaboran estas ideas y describen un modelo para la
emergencia de objetos en representaciones tridimensionales. (Poon y Maher, 1996) amplían el
concepto de emergencia al subespacio de comportamientos.
T3
T2T1
Figura 5. 7. Al dibujar los triángulos T1 y T2 emerge el triángulo T3 (adaptado de (Gero, 1994a))
79
5.4.2 Combinación evolutiva
La idea en este caso es que los procesos de combinación evolutiva que se utilizan
normalmente en algoritmos genéticos pueden servir para realizar exploración en diseño.
Concretamente se propone utilizarlos para modificar espacios de diseño definidos mediante
gramáticas de formas. Esta conjetura no tiene ninguna base cognitiva.
Los algoritmos genéticos se basan en realizar iterativamente una secuencia de
operaciones sobre una población de "organismos". En primer lugar se aplica una serie de
operadores a la población. El resultado es una nueva generación de organismos modificados.
Después de ser generada, la nueva generación se somete a un proceso de "selección natural",
y sólo los organismos más prometedores son seleccionados para una nueva iteración. El
proceso continúa hasta que una generación es considerada satisfactoria o se alcanza un límite
de iteraciones preestablecido.
Los organismos se representan normalmente mediante cadenas de dígitos o símbolos.
Los operadores más comunes son:
• La mutación, que se aplica con muy baja probabilidad, y que corresponde a una
alteración aleatoria de un elemento de la cadena.
• La recombinación (crossover), que se aplica con mayor probabilidad. Esta
operación imita una reproducción sexual, y en ella se selecciona un par de
organismos, un punto de corte en las cadenas, y se obtiene un nuevo organismo
uniendo dos trozos de cada cadena (ver figura 5.8).
Una gramática de formas es un modelo para la generación de formas de manera
análoga a la generación de frases en una gramática convencional. Cada regla de la gramática
permite sustituir una forma por otra o por un conjunto de ellas. Las gramáticas de formas son
un método común para representar espacios de diseño en arquitectura.
Capítulo 5
80
Organismo A Organismo B
Nuevo organismo Figura 5.8. La recombinación de los organismos A y B produce un nuevo organismo. La elección de
diferentes puntos de corte puede dar lugar a diferentes reglas de descendencia.
Si codificamos una gramática de modo que pueda ser manipulada por un algoritmo
genético, entonces podrán generarse nuevas gramáticas, es decir, nuevos espacios de diseño.
La figura 5.9 es un ejemplo de como las reglas de una gramática pueden recombinarse para
producir nuevas reglas.
(Schnier y Gero, 1996) elaboran esta idea y describen cómo las técnicas de algoritmos
genéticos pueden utilizarse para generar gramáticas de diseño a partir de ejemplos.
Regla A
Nueva regla
A A B B B C
A B C
Regla B
Figura 5.9. Generación de nuevas reglas para una gramática mediante recombinación (adaptado de
(Gero, 1994a)). El "punto negro" conque se etiquetan algunas figuras indica que estas puedenutilizarse para unificar con la parte izquierda de una regla.
5.5. UN MODELO COMPUTACIONAL PARA EL DISEÑO
INNOVADOR
En (Navinchandra, 1990) y (Navinchandra, 1991) encontramos otro modelo del diseño
innovador que aborda muchos de los aspectos considerados en los trabajos anteriores:
caracterización del diseño rutinario y no rutinario, representación del conocimiento y
descripción de procesos computacionales de diseño. Existen sin embargo diferencias
81
importantes respecto a otros trabajos en la forma de caracterizar un diseño como "innovador"
o "no rutinario".
El objetivo de estos trabajos es la búsqueda de un modelo computacional del proceso
de diseño que permita construir herramientas de ayuda a los diseñadores (Navinchandra,
1991, p. 3):
"[...] no es nuestro objetivo desarrollar modelos cognitivos del pensamiento humano,
sino construir herramientas informáticas prácticas que muestren algunas
características de los enfoques humanos hacia el diseño innovador. No afirmo que
nuestros programas informáticos reflejen lo que ocurre en la cabeza de un diseñador;
sólo intentamos que el ordenador produzca resultados que parezcan innovadores a un
observador."
5.5.1 La innovación como noción relativa
Antes de sentar las bases de un modelo computacional sobre diseño innovador es
necesario dar una caracterización operativa del mismo. La definición de Navinchandra es
diferente en muchos aspectos de la sencilla propuesta de (Gero, 1990) y (Coyne y otros, 1990)
y se resume en la siguiente afirmación (Navinchandra, 1991, p. 3):
"Simplemente, algo es innovador si resuelve un problema nuevo o conocido de un
modo diferente a otros diseños conocidos. La clave para la innovación, en mi opinión,
es ser diferente."
Para distinguir un diseño rutinario de uno innovador es necesario elaborar esta idea
dando una definición, aunque sea incompleta, de cómo medir lo "diferente" que es algo.
Al contrario que otros autores, Navinchandra sostiene que no tiene sentido dar
definiciones absolutas para identificar un diseño como innovador. La percepción de un
artefacto como innovador no se debería a una propiedad inherente al mismo, sino que es una
apreciación subjetiva del observador. Un mismo diseño podrá parecer innovador o no
simultáneamente a varios observadores (Navinchandra, 1990, p. 4):
"Considérese la siguiente situación: un ingeniero de caminos adquiere un robot y lo
programa para poner ladrillos. El proyecto será considerado por los ingenieros de
caminos como una idea muy innovadora. Los investigadores en robótica, sin embargo,
Capítulo 5
82
considerarán el proyecto como «una aplicación más». El motivo es que un robot para
poner ladrillos no es más que un brazo robot estándar programado para realizar una
nueva tarea."
Cualquier caracterización del diseño innovador deberá ser relativa al observador. Para
ello se propone el concepto de cultura de diseño. Una cultura de diseño viene definida por las
técnicas, estilos, usos y costumbres comunes a un colectivo dado de personas9. Cada
observador puede participar de una o varias culturas, y cada cultura tiene su forma de percibir
un diseño como rutinario o innovador. La clave para ser innovador es ser "diferente" respecto
a lo habitual en una cultura dada. Ahora bien, esta diferencia puede venir dada, al menos,
respecto a tres dimensiones: la especificación inicial, el proceso de diseño y el artefacto
producido finalmente (véase la tabla 5.2). Al ser la innovación una cuestión subjetiva, no
puede existir una división objetiva entre diseño rutinario e innovador, sino un continuo que va
de lo meramente rutinario a lo innovador.
La palabra "diferente", tal como se usa en la tabla 5.2, denota que las ideas presentes
en la especificación, proceso o producto se apartan de las normas de la cultura de diseño
considerada, pero ¿cuán diferente es una idea? y ¿de dónde provienen esas ideas "diferentes"?
Navinchandra propone que una fuente de innovación es la capacidad de razonar a
partir de experiencias previas o "precedentes" tomados de otras culturas de diseño, lo que se
conoce en IA como "razonamiento por analogía" (Navinchandra, 1991, p. 7-8):
"Si un diseñador busca nuevas ideas más allá del conocimiento que emplea
normalmente al diseñar, su producto parecerá diferente. Cuanto más lejos busque,
más diferente o novedoso parecerá su diseño. La razón de este fenómeno es que, para
una cultura dada, algunas culturas (o dominios) se consideran relacionadas, mientras
que otras se consideran lejanas y con poca relación. Cuando se transfieren ideas
entre culturas no relacionadas las soluciones de diseño parecen diferentes, y tal vez
novedosas. El nivel de relación o falta de relación entre culturas está determinado
socialmente y fluye constantemente."
9 Navinchandra intenta aclarar este concepto con la siguiente frase: "it's their weltanschauungen", que puede traducirse aproximadamente del inglés/alemán por: "es su concepción del mundo".
83
Especif. Proceso Artefacto Ejemplo M M M Diseño rutinario (diseño de una viga). D M M Donde la aplicación es nueva pero la solución es
bastante corriente (p.ej., automatización de la oficina de una iglesia).
M D M Una técnica nueva y rápida para diseño de vigas. M M D No es posible. D D M Parecido a DMM, solo que esta vez una nueva
técnica nos lleva a la misma solución corriente. M D D Un nuevo método para resolver un problema
antiguo. P. ej. usar chips VLSI para controlar una tostadora.
D M D Una especificación diferente se somete a un proceso corriente para producir un nuevo artefacto. P. ej. diseñar un circuito antes desconocido usando técnicas conocidas.
D D D Una auténtica situación de diseño no rutinario. Leyenda: M: Mundano o corriente (diseño intra-cultural). D: Diferente del estado imperante en la cultura de diseño.
Tabla 5.2. Tipos de diseño (adaptado de (Navinchandra, 1991, p. 6)).
Para medir de alguna manera en un ordenador la "novedad" de las ideas transferidas de
un dominio o cultura a otra Navinchandra propone el uso de jerarquías de dominios como la
de la figura 5.10. Las líneas discontinuas muestran interconexiones entre dominios. Cuantos
más arcos sea necesario atravesar para ir de un dominio a otro, mayor será la "diferencia"
entre ellos. Naturalmente, cuanto más lejanas sean conceptualmente las ideas trasladadas a
otro dominio, mayor será la probabilidad de que fallen, pero si tienen éxito también será
mayor la probabilidad de que el resultado sea innovador.
Además de esta original caracterización, Navinchandra identifica en el proceso de
diseño no rutinario ciertas características que, en general, coinciden con las presentadas por
otros autores:
• No se dispone de antemano de una estructura prefijada para el diseño.
Capítulo 5
84
Dominio Raíz
Ciencia Ingeniería Humanidades
Química
Orgánica
Física
Nuclear De EstadoSólido
Informática
Algoritmos IA
Biología
Celular Botánica
Química
Caminos Nuclear
Mecánica
Robótica Materiales
EstructuralConstrucción
Sociología
Psicología
Económicas
Figura 5. 10. Una jerarquía de dominios (adaptado de (Navinchandra, 1991, p. 8)).
• Pueden existir múltiples criterios (restricciones y/o objetivos) en conflicto. A lo
largo del proceso pueden aparecer criterios nuevos y otros pueden ser
abandonados. Los compromisos entre los diversos objetivos deben establecerse
dinámicamente en cada situación.
• A veces el diseño innovador surge de la exploración caprichosa de nuevas
alternativas. Otras veces, sin embargo, el diseñador no puede encontrar solución al
problema y debe modificarlo utilizando ideas de experiencias previas, de su
"Memoria a Largo Plazo".
5.5.2 Bases para un modelo del diseño innovador
Partiendo de las ideas anteriores, (Navinchandra, 1991) analiza la hipótesis de que una
herramienta capaz de explorar alternativas y de adaptar diseños con fallos puede ayudar a los
diseñadores a ser más innovadores. Esta hipótesis se basa en tres propuestas:
1. Algunos problemas útiles de diseño pueden modelarse como problemas de
etiquetado (satisfacción de restricciones), es decir, mediante búsqueda en un
espacio de estados.
85
2. La clave para la innovación es ser diferente, aunque no todos los diseños diferentes
resultan innovadores. La capacidad de un sistema para innovar está en función de
su capacidad para explorar, es decir, de generar una gran diversidad de alternativas
que se aparten de las normas y restricciones existentes, y que, por tanto, se
encuentren fuera del espacio de soluciones original. Un buen algoritmo de
exploración es suficiente para desarrollar un sistema de diseño innovador.
3. La percepción de algo como diferente es subjetiva a un observador. Una fuente de
innovación es la capacidad de razonar por analogía, es decir, aprovechar
conocimiento de experiencias previas que en principio no tengan relación directa
con el problema que se intenta resolver. Concretamente, sobre la base de estas
experiencias previas se puede:
a) Recordar algún criterio nuevo (restricción u objetivo) que se consideró
importante en una situación similar. Este fenómeno se denomina emergencia
de criterios.
b) Sugerir una forma nueva de resolver un problema en un diseño a partir de la
estrategia empleada en otra situación similar.
Todas estas ideas se han probado e implementado en una arquitectura denominada
CYCLOPS (Criteria Yielding, Consistent Labeling, Optimization and Precedents-based
System - Sistema basado en precedentes, optimización, etiquetado consistente y producción
de criterios).
5.6. VISIÓN GENERAL DEL SISTEMA CYCLOPS
(Navinchandra, 1991) da una descripción del sistema CYCLOPS lo bastante detallada
como para realizar una reconstrucción del mismo. A continuación se da una breve descripción
de sus principales componentes.
5.6.1 Espacios de diseño
CYCLOPS resuelve problemas de optimización y etiquetado consistente. Un problema
de etiquetado consistente o satisfacción de restricciones (CLP = Consistent Labeling Problem)
viene definido por:
Capítulo 5
86
• Un conjunto finito de variables.
• Un dominio, o conjunto finito de valores posibles, para cada variable.
• Un conjunto finito de restricciones sobre los valores compatibles para ciertos
subconjuntos de variables.
La solución al problema es una o todas las asignaciones de valores válidos a variables
de modo que se cumplan todas las restricciones.
Según Navinchandra muchos problemas de diseño pueden adaptarse a este
formalismo. Un CLP puede considerarse por tanto como la descripción de un espacio de
diseño. Las soluciones a un problema de etiquetado pueden calcularse fácilmente utilizando
un algoritmo de búsqueda.
Por ejemplo, considérese el siguiente problema de ordenación urbana. Se dispone de
ocho parcelas de terreno en las que se deben ubicar cinco servicios: una zona recreativa, un
complejo de apartamentos, un grupo de 50 viviendas unifamiliares, un gran vertedero y un
cementerio (ver figura 5.11). La asignación de parcelas a cada servicio debe cumplir con los
siguientes criterios:
autopista
alta tensión
N
lago
Figura 5.11. Localización de parcelas para un problema de ordenación urbana (adaptado de
(Navinchandra, 1991)).
87
1. El cementerio y el vertedero no deben ser visibles desde las viviendas ni los
apartamentos.
2. El área recreativa debería estar próxima a algún lago o estanque.
3. Los terrenos con fuertes pendientes deben evitarse para los edificios.
4. Los terrenos con suelo en malas condiciones deben evitarse para los servicios que
impliquen construcción.
5. La autopista debe evitarse al situar las viviendas, los apartamentos y la zona
recreativa.
En este problema las variables corresponden a los cinco servicios (zona-recreativa,
apartamentos, viviendas, vertedero, cementerio) y sus dominios son subconjuntos del
conjunto de cinco parcelas definidos por los criterios 2, 3, 4 y 5 (restricciones unarias). El
criterio 1 representa un conjunto de restricciones binarias, concretamente entre las variables
‘cementerio’ y ‘apartamentos’; ‘cementerio’ y ‘viviendas’; ‘vertedero’ y ‘apartamentos’; y
‘vertedero’ y ‘viviendas’.
Si se establecen preferencias entre las posibles soluciones de un CLP mediante uno o
más objetivos, entonces se obtiene un problema de optimización y etiquetado consistente
(CLOP = Consistent Labeling and Optimization Problem).
Algunos ejemplos de objetivos para el anterior problema de ordenación urbana pueden
ser:
1. Minimizar la suma del coste de compra de las parcelas (suponiendo que cada una
puede tener un coste diferente).
2. Minimizar la suma de los excesos en niveles de ruido recomendados (suponiendo
que cada parcela tiene un nivel de ruido determinado, y que para cada servicio hay
un nivel de ruido recomendable).
Cuando sólo existe un objetivo y la función de coste es aditiva, estos problemas
pueden resolverse empleando algoritmos de búsqueda primero el mejor, como el algoritmo de
Capítulo 5
88
Dijkstra o el algoritmo A*. Para el caso multiobjetivo, Navinchandra propone, entre otras, una
generalización del algoritmo A* denominada PO-A* (Pareto-Optimal A*)10.
5.6.2 Relajación de Restricciones y Exploración de Alternativas
La formulación de un problema como un CLOP y el uso de un algoritmo de búsqueda
para resolverlo equivalen a un proceso de diseño rutinario.
Para ser innovador es necesario considerar alternativas fuera del espacio de diseño
definido por las restricciones del problema. Una forma es relajar dichas restricciones. Por
ejemplo, supongamos que en el problema de ordenación urbana descrito anteriormente se
relaja la restricción de no construir en parcelas con fuerte pendiente. Esto modifica los
dominios de varias variables, con lo que se abre la posibilidad de encontrar nuevas
alternativas, tal vez con mejor valor para algún objetivo.
Para automatizar el proceso de relajación de restricciones Navinchandra propone
reformular cada restricción como un objetivo. Por ejemplo, consideremos un problema de
construcción de viviendas con un objetivo de minimización de costes y la restricción de que
“las casas deben orientarse al sur”. Si la restricción se reemplaza por el objetivo de
“minimizar la desviación de las casas de la orientación sur”, entonces podrían obtenerse
nuevas soluciones que representen compromisos entre el coste y la orientación (tal vez
desviándose un poco de la orientación sur pueden entrar en consideración otras parcelas y se
mejora el coste). De este modo relajación de restricciones y optimización de objetivos se
presentan como dos caras de la misma moneda. Navinchandra utiliza el término criterio para
referirse tanto a los objetivos originales como a las restricciones reformuladas.
La figura 5.12 muestra el espacio de alternativas de un problema (denominadas A, B,
C, D). Las preferencias establecidas respecto a la minimización de dos objetivos señalan que
A, B y C son las mejores opciones (son los óptimos de Pareto11). Tras relajar alguna
restricción pueden aparecer alternativas nuevas que compitan con las anteriores y tal vez las
10Este algoritmo puede considerarse como una versión para búsqueda en árbol del algoritmo MO-A* (MultiObjective-A*), propuesto independientemente en (Stewart y White, 1991) y descrito en el capítulo 9.
11Una solución a un problema multiobjetivo se dice que es óptimo de Pareto si ninguna otra solución la mejora o iguala respecto a todos los objetivos y la mejora estrictamente respecto al menos uno de ellos (véase capítulo 8).
89
mejoren (como en el caso de las alternativas E y F en la figura 5.12.c). La relajación de
restricciones conduce a un nuevo espacio de diseño, concretamente a un nuevo subespacio de
estructuras12.
5.6.3 Razonamiento por Analogía: Adaptación de diseños
La relajación de restricciones puede permitir encontrar alternativas mejores a las
conocidas. Sin embargo las restricciones de un problema no suelen ser caprichosas y relajarlas
tiene un precio: el diseño resultante tendrá "fallos", no será válido.
Supongamos que en el ejemplo de la ordenación urbana se elige una solución con los
apartamentos en una parcela con gran inclinación, porque proporciona menor coste y exceso
de ruido que otras alternativas. Las técnicas de construcción habituales, como allanar el
terreno, pueden no ser adecuadas ya que allanar un terreno muy inclinado origina problemas
de erosión (este es precisamente el origen de la restricción).
CYCLOPS permite buscar soluciones innovadoras para adaptar los diseños con fallos
mediante un mecanismo de razonamiento por analogía. En primer lugar se busca una
explicación al problema o fallo que se pretende resolver. Esto se consigue utilizando
conocimiento de diseño especializado. En el ejemplo anterior, una posible explicación del
fallo puede ser: (sobre edificio suelo) Y (suelo inclinado). A continuación se utiliza esta
explicación para recuperar de una ‘Memoria a Largo Plazo’ experiencias previas o
precedentes como el de la figura 5.13. Una vez recuperado el precedente se establece una
correspondencia entre el caso actual y el recuperado (por ejemplo los conceptos de 'edificio' y
'cabaña' juegan papeles análogos en ambos casos). Utilizando los datos del caso análogo se
puede inferir una estrategia para reparar el fallo. En este caso el precedente sugiere utilizar
columnas para levantar el edificio del suelo de forma análoga a los zancos empleados por
algunas cabañas tailandesas para evitar inundaciones.
Este tipo de razonamiento incorpora nuevos elementos al espacio de diseño (en este
caso los zancos), y más concretamente al subespacio de las estructuras. En general los
procesos de adaptación pueden afectar a la forma en que se evalúan las alternativas, por
12Navinchandra no emplea la terminología de subespacio de estructuras, comportamientos y funciones al referirse a un espacio de diseño. Sin embargo utilizar esta terminología para describir su trabajo puede resultar bastante clarificador.
Capítulo 5
90
ejemplo porque suponen un coste adicional. La figura 5.12.d muestra el resultado de evaluar
los diseños obtenidos por exploración una vez considerado el coste de su adaptación.
A
D
E
F B C
RUIDO
A
F
CD
E
B
−−−−
COSTE
+
+ −−−−
A
F
CD
E
B
−−−−
COSTE
+
+ −−−−
RUIDO
A
CD
B
−−−−
COSTE
+
+ −−−−
RUIDOA
C D
B
(a) (b) (c)
(d) (e)
LEYENDA: Soluciones satisfactorias y óptimos de Pareto. Soluciones satisfactorias pero no óptimas.
Figura 5.12. (a) Conjunto de soluciones al problema que cumplen las restricciones. (b) Ordenaciónde las alternativas basándose en dos objetivos. La línea punteada representa la "curva de Pareto",
bajo la cual todas las soluciones son inferiores. (c) La aparición de dos nuevas alternativas desplazala curva de Pareto. (d) Nueva curva de Pareto tras considerar el coste de adaptación de E y F. (e) Unnuevo criterio supone una nueva dimensión en el espacio de comportamientos. La curva de Paretoestá representada ahora por una superficie sombreada. En virtud del nuevo objetivo, F vuelve a ser
una alternativa interesante.
5.6.4 Razonamiento por Analogía: Emergencia de Criterios
El último proceso de exploración considerado en CYCLOPS, la emergencia de
criterios, modifica el subespacio de comportamientos del problema.
91
El mecanismo de razonamiento por analogía permite también reconocer nuevas
oportunidades o nuevos problemas de forma innovadora sobre la base de experiencias previas.
En el ejemplo considerado, tras relajar la restricción de la pendiente surge una nueva
alternativa que sitúa los apartamentos en una zona elevada. Esto puede recordar al diseñador
un diseño similar de una construcción con unas magníficas vistas (ver figura 5.14). Esta
ventaja puede traducirse en un nuevo criterio (“la vista desde los apartamentos debe ser
buena”) que competirá con los ya presentes en el problema y que puntuará favorablemente esa
alternativa. Cada nuevo criterio representa una dimensión adicional en el subespacio de
comportamientos (ver figura 5.12.e).
Nótese que la aparición del nuevo criterio surge gracias a una alternativa generada
mediante exploración, independientemente de que sea o no la finalmente elegida, o de que
pueda o no ser adaptada. El mismo proceso puede llevar a reconocer tanto ventajas como
inconvenientes en las alternativas consideradas.
5.7. COMENTARIOS
Los trabajos descritos en esta sección son representativos de buena parte de los
problemas que se investigan actualmente en IA bajo el nombre de diseño. Durante los años 70
y principios de los 80 la mayoría de trabajos de IA que se referían a diseño pueden situarse en
la clase de diseño rutinario. Desde entonces el interés por los procesos de generación y
modificación de espacios de diseño postulados en (Simon, 1973) no ha hecho más que crecer.
La conexión de los trabajos descritos con las ideas aportadas por Herbert Simon es bastante
evidente.
El primer modelo presenta una caracterización del diseño no rutinario basándose
precisamente en los procesos de exploración. La concepción de los procesos de exploración
como una meta-búsqueda también representa una comunión de ideas importante.
En el segundo caso la conexión es también evidente, aunque nunca explícita. Basta
considerar el modo en que Navinchandra justifica el uso de la emergencia de criterios, muy
similar al empleado por (Simon, 1973) para justificar el uso de una Memoria a Largo Plazo en
la resolución de problemas mal estructurados (Navinchandra, 1991, pp. 33-34):
Capítulo 5
92
Precedente #10 Situación Inicial: Condiciones: (sobre cabaña suelo) Y (esta suelo inundado) Y (esta cabaña “en Tailandia”) Efectos: (desfavorable cabaña “cabaña inundada) Explicaciones: (B1) (desfavorable cabaña “cabaña anegada de agua”) porque (esta cabaña anegada-agua) (B2) (esta cabaña anegada-agua) porque (sobre cabaña suelo) Y (esta suelo inundado) Solución: Acción: (acción (y (sobre cabaña zancos) (sobre zancos suelo))) Efectos: (no (desfavorable cabaña “cabaña anegada de agua”)) Explicación: (B3) (no (desfavorable cabaña “cabaña anegada de agua”)) porque (no (esta cabaña anegada-agua)) Y (B1) era cierto inicialmente (B4) (no (esta cabaña anegada-agua)) porque (no (sobre cabaña suelo)) Y (B2) era cierto inicialmente13 (B5) (no (sobre cabaña suelo)) porque (sobre cabaña suelo) Y la acción llevada a cabo fue: (acción (y (sobre cabaña zancos) (sobre zancos suelo)))
Figura 5.13. Caso correspondiente a un precedente sobre como los habitantes de ciertos pueblostailandeses sitúan sus casas sobre zancos para resguardarse de las inundaciones (adaptado de
(Navinchandra, 1991, p. 102)).
Precedente #23 Condiciones: (altitud hogar alta) Y (vista hogar valle) Y (valle tiene lagos) Y (valle tiene bosques) Efectos: (favorable: hogar buena-vista)
Figura 5.14. Caso correspondiente a una experiencia previa de una casa con buenas vistas(adaptadode (Navinchandra, 1991, p.90))
13En castellano esta relación se leería de la siguiente forma: “La cabaña no está anegada por el agua porque ya no se encuentra en el suelo, esto se debe a que, el motivo original por el que la casa estuviese anegada por el agua era que se encontraba en el suelo que estaba inundado”.
93
"Puede plantearse lo siguiente[...]: Si todos los criterios provienen de precedentes,
entonces ¿por qué no es posible proponer todos los criterios antes de empezar a
diseñar? ¡De todos modos ya está todo en la cabeza del diseñador! El problema es
que, cuando un diseñador se enfrenta a un nuevo problema, todo el contenido de su
Memoria a Largo Plazo es potencialmente relevante. Es imposible para el diseñador
tenerlo todo en cuenta. Debe limitar el ámbito del problema ciñéndose al dominio del
diseño actual. Sólo se recuperan nuevos criterios externos al dominio cuando algunos
patrones del diseño actual recuerdan al diseñador casos pasados de su Memoria a
Largo Plazo. [...] Buscar en un espacio de diseño empleando como operadores todos
los casos pasados de la Memoria a Largo Plazo es computacionalmente intratable. El
uso de la base de precedentes debe controlarse bien limitando su uso a ciertas partes
del diseño, o bien permitiendo que sean las condiciones de los nuevos diseños
generados las que disparen la recuperación de casos pasados."
A primera vista ambos modelos presentan una caracterización muy diferente del
diseño innovador: basada directamente en los procesos en el primer caso; relativa al
observador y su cultura de diseño en el segundo. Sin embargo las coincidencias son mayores
que las diferencias.
Una coincidencia importante de ambos modelos consiste en considerar el espacio de
diseño como dividido en (al menos) dos subespacios, el de estructuras y el de
comportamientos, que evolucionan de forma natural a lo largo del proceso. Tanto es así que
hoy día existe una gran reticencia a considerar que un sistema realice diseño si no tiene
capacidad para modificar de algún modo alguno de estos subespacios. Aunque se ha
reconocido la importancia del subespacio de funciones y su evolución, este ha recibido hasta
ahora menos atención.
Concretamente se han presentado en este capítulo cuatro procesos
computacionales de exploración diferentes:
• En el contexto del primer modelo: la emergencia de formas visuales y la
combinación evolutiva.
• En el contexto del segundo modelo: la relajación de restricciones (compensada con
procesos de adaptación) y la emergencia de criterios.
Capítulo 5
94
En esta tesis se aborda el problema del análisis del espacio de comportamientos de un
problema, aunque desde un punto de vista diferente. El modelo propuesto por Navinchandra
hace un especial énfasis en el carácter multicriterio del diseño. El sistema CYCLOPS es capaz
de encontrar el conjunto de soluciones óptimas de Pareto para un problema multiobjetivo.
Cada una de estas soluciones representa un compromiso diferente, es decir, algunas
alternativas se comportan mejor en uno o varios objetivos a cambio de empeorar en los
demás. Una de las tareas a llevar a cabo por un diseñador es precisamente descubrir qué
posibles compromisos pueden establecerse entre los objetivos considerados y elegir de forma
subjetiva uno de ellos.
Más adelante se examinan las posibilidades de ciertos algoritmos de búsqueda para
facilitar la comparación entre distintas alternativas, establecer prioridades entre objetivos en
conflicto y analizar la importancia de las restricciones en el contexto del problema que se
pretende resolver. Este proceso no implica necesariamente la modificación de los subespacios
de estructura ni la adición de nuevos criterios u objetivos, aunque puede ser el origen de
ambos. En cualquier caso, la relevancia de estos subprocesos en el proceso de diseño puede
presentarse con mayor claridad en el contexto de la teoría del diseño descrita en el siguiente
capítulo.
95
CAPÍTULO 6
EL DISEÑO AL NIVEL DEL CONOCIMIENTO
“We design things
when we need things or would like things to be different,
but cannot yet specify exactly how or in what way” Tim Smithers, 1998
Frente a los enfoques pragmáticos, que buscan el desarrollo de sistemas de ayuda al
diseño sobre la base de conjeturas o descripciones y modelos empíricos, están aquellas líneas
de investigación que se inspiran en fundamentos o bases teóricas. Las ventajas de emplear una
teoría en cualquier proyecto de investigación son evidentes. La teoría proporciona aquellos
conceptos teóricos necesarios para comprender y explicar los procesos de diseño. Trabajar
sobre la base de una teoría permite especificar con mayor claridad las limitaciones y
posibilidades de los sistemas desarrollados, comparar diversos enfoques y establecer criterios
y métodos de evaluación para los mismos.
Actualmente se perfilan dos tipos de teorías alternativas sobre diseño en Inteligencia
Artificial. Por un lado están las teorías cognitivas, que pretenden explicar como diseñan los
agentes humanos, y de las que ya se han visto dos ejemplos. Por otro están las teorías al nivel
del conocimiento, que pretenden explicar el proceso de diseño independientemente de que el
agente que lo lleva a cabo sea o no humano. Existen posturas enfrentadas respecto a qué tipo
de teoría es más adecuada actualmente para guiar la investigación sobre diseño en IA, como
reflejan por ejemplo (Smithers, 1996) y (Darlington y otros, 1998).
En este capítulo se presentan KLDE0, una teoría del diseño basada en el concepto de
Nivel del Conocimiento. Una ventaja de este tipo de teoría, frente a las teorías cognitivas es
que es más fácil de desarrollar (la psicología aún está lejos de poder proporcionar una teoría
unificada de la cognición humana). De hecho este tipo de teorías permite establecer más
Capítulo 6
96
fácilmente una definición precisa de cuando un proceso puede considerarse diseño y cuando
no, algo que las teorías cognitivas no permiten actualmente.
6.1. KLDE0: UNA TEORÍA DEL DISEÑO AL NIVEL DEL
CONOCIMIENTO
La teoría KLDE0 tiene sus orígenes en los años ochenta (Smithers y otros, 1989) y aún
hoy día continúa su desarrollo. Existen numerosas publicaciones que a lo largo de la última
década han ido perfilando sus distintos aspectos hasta el estado en que se encuentra
actualmente. Entre ellas cabe destacar (Smithers y Troxell, 1990), (Smithers, 1992), (Smithers
y otros, 1994), (Smithers, 1996) y (Smithers, 1998). Inicialmente recibió el nombre de
‘modelo del Diseño como Exploración14’, más adelante ‘teoría del Diseño como
Exploración’, y por último su denominación actual como KLDE0.
En (Smithers, 1998) se describen las motivaciones para el desarrollo de esta teoría:
"La necesidad de una teoría, o teorías, del diseño al Nivel del Conocimiento (KL) se
plantea como una alternativa práctica a la extendida y aparente necesidad que existe
de una teoría cognitiva del diseño: una teoría de cómo diseñan los humanos. La
posibilidad y utilidad de una teoría del diseño al nivel del conocimiento se basa en
dos premisas. Primero, que el diseño no es exclusivamente una actividad humana; que
otras clases de agentes podrían diseñar (en teoría). Segundo, que el Nivel del
Conocimiento representa un nivel adecuado de abstracción para construir y expresar
una teoría aprovechable del diseño (independiente del agente)."
En KLDE0
se supone que las distintas formas de diseño pueden distinguirse de otras
actividades de resolución de problemas estudiadas en IA como, por ejemplo, la generación de
planes o la configuración.
Es necesario matizar que el significado del nivel del conocimiento no se corresponde
exactamente con el original dado por (Newell, 1982), sino con el empleado actualmente por
las nuevas metodologías de la Ingeniería del Conocimiento (véase el capítulo 2), y más
concretamente como el de la metodología CommonKADS. En esta metodología, la
14 Nótese que el término ‘exploración’ se utiliza aquí en un sentido diferente al empleado en el capítulo anterior.
97
descripción de una tarea al nivel del conocimiento se concibe como un proceso basado en
conocimiento. En él se distinguen diversos tipos de conocimiento (Van de Velde, 1994):
1. Conocimiento de la tarea. Describe la descomposición de la tarea en subtareas; qué
significa realizar dichas tareas; y cuándo deben ejecutarse las subtareas para
conseguir realizar la tarea original (estructura de control).
El conocimiento de la tarea incluye una descripción de cuál es la tarea
(objetivos, entradas, salidas) y de cómo puede realizarse, indicando su estructura,
es decir, el conjunto de subtareas a realizar para poder realizar la tarea original y
cómo se relacionan en función de sus entradas y salidas.
2. Conocimiento del dominio. Consiste en el conjunto de hechos y suposiciones
relevantes para poder razonar la forma de realizar la tarea en el dominio de la
aplicación. El conocimiento del dominio se estructura en una serie de modelos del
dominio que proporcionan visiones coherentes parciales del mismo.
Especifica la forma, estructura y contenido del conocimiento específico del
dominio relevante para la aplicación (conceptos y relaciones). La forma y
estructura de estos elementos se define en una ontología, es decir, una serie de
términos para referirse a las clases naturales de un dominio o de una visión
particular del mismo.
3. Conocimiento de inferencia. Describe cómo se emplea el conocimiento del
dominio en pasos de razonamiento elementales (inferencias). También especifica
las clases de conocimiento producidos por dichas inferencias. Las inferencias se
consideran "primitivas" con relación a un modelo o teoría concreto.
Las inferencias de una aplicación concreta forman una estructura de
inferencias que expresa dependencias de datos entre ellas. Esta estructura, sin
embargo, no expresa ningún tipo de control.
La siguiente sección define de forma precisa el significado de los términos teoría,
modelo, descripción y método en diseño, y el papel que puede jugar cada uno de ellos en la
investigación sobre diseño en IA. A continuación se presentan los conceptos teóricos
proporcionados por KLDE0 para comprender y explicar el diseño. Estos conceptos se utilizan
entonces para proporcionar una caracterización del mismo. Por último se describe uno de los
Capítulo 6
98
resultados más interesantes proporcionados hasta ahora por esta teoría: una definición precisa
de qué es diseño y de cómo identificar sus distintas clases.
6.2. TEORÍAS, MODELOS Y MÉTODOS DE DISEÑO
El “Taller sobre la Naturaleza y Función de la Teoría en la Investigación de IA sobre
Diseño”, celebrado en el contexto del Tercer Congreso Internacional sobre Inteligencia
Artificial y Diseño15 (Smithers, 1994b), puso de relieve la confusión existente en el uso de los
términos teoría, modelo y método en el contexto de las investigaciones sobre diseño.
En KLDE0 se clarifican estos términos y se utilizan con un significado muy concreto.
Las definiciones que se presentan a continuación coinciden básicamente con las descritas en
(Smithers, 1994b) y (Smithers, 1996).
Una teoría científica consiste en un conjunto de enunciados generales sobre un
fenómeno, de modo que no hacen referencia ni dependen de instancias particulares del
mismo. En este sentido, los llamados ‘modelos’ del proceso de diseño descritos en el capítulo
anterior pueden considerarse como componentes de una teoría, ya que no se refieren a
instancias concretas de ningún proceso de diseño.
Una característica fundamental en las teorías científicas es la posibilidad de permitir
explicaciones de instancias particulares del fenómeno. Para dar estas explicaciones la teoría
debe proporcionar un conjunto de términos y conceptos operativos, es decir:
1. Que permitan dar una descripción simbólica de los distintos aspectos del fenómeno.
2. Que sea posible a otras personas establecer mediante observación la mismas
relaciones entre los aspectos del fenómeno y la descripción.
15Workshop on The Nature and Role of Theory in AI in Design Research - Third International Conference on Artificial Intelligent in Design, AID’94. Lausana, Suiza.
99
Por ejemplo, la teoría cinética de la materia esclareció en el pasado conceptos como
masa, velocidad, aceleración, fuerza, energía y potencia. Estos conceptos permitieron
desarrollar leyes para explicar y predecir, entre otras cosas, el movimiento de los cuerpos16.
El desarrollo y prueba de teorías es el objeto de la ciencia. La incapacidad de una
teoría para proporcionar la explicación de nuevas instancias de un fenómeno puede conducir a
la elaboración de otra nueva. Por ejemplo, las dificultades encontradas por las teorías
mecanicistas de la luz condujeron a identificar el concepto de campo en la física, y más
adelante al desarrollo de la teoría de la relatividad (véase (Einstein e Infeld, 1986) para una
descripción detallada).
Los modelos se refieren a instancias o clases de instancias particulares de un
fenómeno. Los modelos pueden ser teóricos (corresponden a particularizaciones o
especializaciones de una teoría) o bien tener un origen empírico. En principio un modelo
teórico no tiene por qué ser mejor que uno empírico. Sin embargo los primeros permiten
establecer con mayor fidelidad bajo qué condiciones son válidos. Este es el motivo por el que
la ingeniería no precisa muchas veces de teorías, pero funciona mejor cuando dispone de
ellas. También es importante señalar que la simple descripción de una instancia de un
fenómeno no constituye una explicación del mismo. Las descripciones no pueden ser
consideradas por tanto ni como modelos ni como teorías, “concretamente, las descripciones
de lo que hacen los diseñadores al diseñar no son, honradamente, modelos o teorías del
proceso de diseño, y no deberían presentarse como tales” (Smithers, 1996, p. 566).
Por último, los métodos de diseño especifican normas concretas para la realización de
ciertos tipos de diseño con el objetivo de obtener resultados de buena calidad. Considérense,
por ejemplo, las metodologías de diseño descendente empleadas comúnmente en el diseño de
software. En principio la mejor forma de establecer un método de diseño sería sobre la base
de un modelo, teórico o empírico, del proceso de diseño en cuestión.
16Muchas teorías científicas permiten realizar también predicciones sobre el fenómeno, aunque este requisito no es indispensable. Considérese el caso de la ‘Evolución mediante Selección Natural’, una teoría sobre el origen de las especies. Esta teoría ofrece hasta ahora la mejor explicación sobre la variedad de especies animales y vegetales que pueblan La Tierra, pero no permite predecir qué nuevas especies aparecerán en el futuro.
Capítulo 6
100
6.3. CONCEPTOS TEÓRICOS
Una importante aportación de KLDE0
es identificar un conjunto de conceptos abstractos
necesarios para poder comprender y explicar el proceso del diseño. Estos conceptos se
corresponden con las clases de conocimiento necesarias y suficientes para llevar a cabo el
proceso. Son los que se describen a continuación.
Necesidades y deseos (ND). Son el detonante de cada nuevo proceso de diseño. Un
agente, el cliente, siente la necesidad o el deseo de cambiar una situación actual por otra
diferente, aunque no es capaz de articular exactamente en qué sentido. En otras palabras, el
cliente sugiere un nuevo problema, pero no es capaz de enunciarlo directamente. También es
frecuente el caso en que el cliente ni siquiera expone directamente sus necesidades al
diseñador y este debe identificarlas.
Considérese por ejemplo el siguiente fragmento de la inscripción encontrada en un
templo junto al puente romano de Alcántara sobre el río Tajo (figura 6.1). En él se sugieren
algunas de las motivaciones o deseos que originaron su construcción (Bendala, 1992):
"El puente, destinado a durar por siempre en los siglos del mundo, lo hizo Lácer,
famoso por su divino arte. El mismo levantó este templo a los divinos Romúleos y a
César [los emperadores muertos y el reinante, que era Trajano]. Tanto por lo uno
como por lo otro su obra es acreedora del favor celestial. Quien ha erigido este
enorme puente, con su vasta mole, rindió honor y satisfacción a los dioses."
A primera vista podría parecer que la construcción de un puente responde simplemente
a la necesidad de cruzar un río. Sin embargo esta necesidad puede verse satisfecha por una
construcción mucho más modesta. Posiblemente otras necesidades y deseos, como realizar
una construcción destinada a "durar por siempre en los siglos del mundo" y "rendir honor y
satisfacción a los dioses" nos den una clave mejor sobre los criterios empleados para la
construcción de una de las obras más impresionantes de la ingeniería romana.
KLDE0
considera también la posibilidad de que el proceso de diseño motive un cambio
en las necesidades y deseos del cliente, pero este cambio no se considera parte del proceso.
Las necesidades y deseos no son una construcción del proceso de diseño.
101
Requisitos (R), enunciados de problemas (P), soluciones (S) y valoraciones (V).
Para poner en marcha un proceso de diseño es necesario identificar qué requisitos o criterios
debería cumplir un artefacto para satisfacer las necesidades y deseos del cliente.
Una vez que se dispone de un conjunto de requisitos (R) se puede formular un
enunciado de problema (P) bien definido e intentar resolverlo. En otras palabras, la función
de P es hacer operativos los requisitos. Una vez encontrada una solución (S) al problema hay
que valorar si cumple los requisitos lo suficiente para satisfacer las necesidades y deseos
originales.
Figura 6.1. Puente romano de Alcántara (Cáceres), construido en el siglo II d.C (época de Trajano).
La altura total, incluido el arco triunfal, es de 61 m., la luz del arco mayor 28 m.
Las dificultades del diseño se manifiestan aquí de diversas formas. Para empezar es
posible encontrar distintos conjuntos de requisitos para satisfacer unas mismas necesidades y
deseos. Normalmente la forma de operativizar un conjunto de requisitos tampoco es única, y
en general no es posible saber cuál es la más adecuada hasta que se evalúan las soluciones. La
relación entre requisitos, enunciados de problema y soluciones no es sencilla. Las
transformaciones ND → R, y R → P forman normalmente un proceso incremental que utiliza
y genera diversas clases de conocimiento.
Capítulo 6
102
El diseño puede caracterizarse, en este sentido, como un proceso de análisis mediante
síntesis. Aunque la resolución de problemas juega un papel fundamental en el proceso,
también es importante la construcción de los mismos. Una vez obtenida una descripción de
requisitos inicial (Ri), puede sintetizarse un enunciado de problema inicial (Pi) y buscarse una
solución al mismo (Si). Existen varios motivos por los que una solución Si puede no servir
para satisfacer ND. Las especificaciones de requisitos (R) pueden ser incompletas,
inconsistentes, imprecisas y/o ambiguas en formas que no se pueden establecer a priori (el
significado preciso de estos términos se explica más adelante). La única forma de averiguarlo
es sintetizar enunciados de problemas que operativicen total o parcialmente los requisitos,
resolverlos y analizar las soluciones que proporcionan. El proceso de analizar las soluciones
genera enunciados de valoración.
Las revisiones de P y R continúan hasta que se alcanza una descripción de requisitos
final (Rf), y un enunciado de problema final (Pf) cuya solución (Sf) satisface las necesidades y
deseos originales.
Justificaciones (J), presentaciones (Q) y descripciones de diseños. Cada una de las
construcciones del diseño identificadas hasta ahora (enunciados de requisitos, enunciados de
problemas, soluciones, y enunciados de valoración) se generan a lo largo del proceso de
forma justificada, es decir, existe un cómo y un por qué: lo que se denominan enunciados de
justificación. Estos enunciados son la base para una forma de conocimiento adicional, los
enunciados de presentación, que son el medio de interacción entre el diseñador y el cliente
(Smithers y otros, 1994):
"No tiene sentido, ni constituiría diseño, simplemente cambiar los enunciados de
problemas y/o las descripciones de requisitos actuales de forma aleatoria e ilógica.
Tampoco contribuye a un buen proceso de diseño dedicarse a relajar las restricciones
de una en una (en una pequeña cantidad previamente establecida) hasta encontrar
una solución en un límite del tiempo de búsqueda previamente establecido, como
ocurre en los sistemas CYCLOPS de Navinchandra.
Los cambios realizados durante el proceso de diseño deben ser comprensibles y
justificables, tanto para el diseñador como para el cliente, si es necesario."
103
Todas estas construcciones de conocimiento y su organización forman otra clase de
conocimiento que se denomina descripción del diseño. Se trata, esencialmente, de todo el
conocimiento sobre el estado del proceso de diseño en cada momento.
A partir de este conjunto de conceptos se aprecia claramente que según KLDE0
el
proceso de diseño utiliza conocimiento previo, pero también resulta en la construcción, uso y
revisión de distintas clases de conocimiento. La forma en que se construye, usa y revisa cada
una de estas clases de conocimiento depende de detalles del dominio, contexto y clase de
diseño que se esté llevando a cabo, y por tanto quedan fuera de una teoría general del proceso
de diseño. Tampoco es el objetivo de la teoría identificar las tareas concretas que llevan a
cabo estos procesos. Simplemente se identifican las distintas clases de conocimiento y su
función en el proceso.
6.3.1 Aspectos de la descripción de requisitos en un problema de diseño
Un aspecto fundamental en cualquier proceso de diseño es la elaboración de un
conjunto de requisitos adecuado. La obtención de conjuntos de requisitos es un proceso
intensivo en conocimiento y también uno de los orígenes de la dificultad de muchos
problemas de diseño. Según KLDE0
las descripciones de requisitos pueden ser incompletas,
inconsistentes, imprecisas y/o ambiguas de formas que no es posible especificar a priori. La
forma y grado en que se presente este fenómeno depende, en cierta medida, de la naturaleza
del resolutor de problemas. Cuanto más experimentado sea el diseñador (es decir, más
conocimiento aporte al problema), mayor será la posibilidad de obtener desde el principio una
descripción completa, consistente, precisa y no ambigua. El significado de estos términos es
el siguiente:
• Incompleta. La descripción de requisitos no identifica algún criterio necesario que
debe cumplirse para poder satisfacer las necesidades y/o deseos del cliente.
Resolver un problema incompleto implica aprender más sobre la naturaleza del
mismo, investigando las consecuencias de distintos intentos de completarlo,
explorando para ver qué es posible.
• Inconsistente. La descripción de requisitos especifica dos o más criterios
mutuamente incompatibles (en teoría o en la práctica). Resolver un problema
inconsistente implica abandonar el problema tal y como está enunciado,
Capítulo 6
104
cambiándolo de alguna manera e intentando resolver el nuevo problema. Esto no
significa necesariamente que el problema se transforme a una nueva
representación, mas bien se idea un problema diferente.
• Imprecisa. La descripción de requisitos no distingue dos o más alternativas o
criterios diferentes. Un problema es impreciso porque no se conoce o no se ha
enunciado lo suficiente en los requisitos actuales para decidir entre dos o más
soluciones o clases de soluciones significativamente distintas. Resolver un
problema impreciso implica introducir nuevas restricciones y/o criterios que
ayuden a discriminar entre soluciones en términos de requisitos importantes del
dominio.
• Ambigua. La descripción de requisitos no identifica una ordenación o no establece
prioridades sobre la importancia de los distintos criterios.
(Smithers y otros, 1994) proponen el siguiente ejemplo para ilustrar estos conceptos:
el editor de un periódico británico necesita un crucigrama para la edición del lunes y avisa a
su diseñador de crucigramas habitual. Después de escuchar la petición del editor el diseñador
elabora una descripción de requisitos inicial, que podría enunciarse algo así como:
"Diseñar un crucigrama para una matriz cuadrada, en el que al menos el 95% de las
celdas correspondan a letras, en el que todas las palabras estén incluidas en el
'Concise Oxford English Dictionary', todas las palabras tengan cuatro o más letras, y
el patrón de la matriz sea simétrico respecto a los ejes horizontal y vertical."
Esta descripción intenta recoger un conjunto de requisitos que, sobre la base de la
experiencia del diseñador, satisfagan las necesidades del editor del periódico. A partir de ella
puede sintetizarse un enunciado que defina un espacio de problema y haga operativos todos
los criterios. Supongamos que un intento de resolverlo muestra que no tiene solución. En tal
caso no queda más remedio que reformularlo o cambiar los requisitos iniciales. Una
posibilidad es relajar alguna restricción fuerte del problema, por ejemplo, que en lugar del
95% se deje solo el 85% de la matriz para las letras. En este caso se ha descubierto una
inconsistencia en los criterios, no es posible satisfacerlos todos simultáneamente. Este no es el
único inconveniente que puede presentar la descripción de requisitos (p. 307): "También
podría descubrirse, después de explorar más posibilidades, que es necesario añadir, modificar
o eliminar criterios para que el resultado suponga un reto para los lectores. Por ejemplo,
105
criterios sobre el rango y variación de las palabras empleadas, los tipos de pistas que se
proporcionan, el grado de interconexión de las palabras en la matriz, o el número de palabras
que deba contener. En tal caso se habría descubierto que el problema era incompleto en ese
sentido. Un ejemplo de imprecisión puede ser decidir qué versión del diccionario emplear."
Pueden encontrarse ejemplos adicionales en (Smithers, 1992).
6.4. EL DISEÑO Y SUS CLASES SEGÚN KLDE0
La figura 6.3 muestra la estructura básica de KLDE0 mediante un diagrama de un
proceso basado en conocimiento (Smithers, 1998). En las figuras 6.2, 6.4 y 6.5 se definen los
símbolos, semántica y términos empleados en el diagrama. La estructura del diagrama refleja
los diferentes tipos de conocimiento y sus funciones en el proceso, aunque nada se dice de su
contenido, ya que para ello sería necesario referirse a clases de diseño concretas y a contextos
y dominios particulares.
Según KLDE0 estos son los tipos de conocimiento necesarios y suficientes para que un
proceso basado en conocimiento se considere diseño y no otra cosa. No existe por tanto
ningún tipo de conocimiento que se dedique de forma explícita al control del proceso. KLDE0
predice que “no existe un tipo de conocimiento de control identificable explícitamente, y que
tampoco es necesario”. El control se explica como “una capacidad distribuida que surge de la
interacción de los distintos tipos de conocimiento y de sus respectivas funciones en el proceso
de diseño en su conjunto”. De este modo KLDE0 capta la “naturaleza reflexiva, oportunista y
esencialmente situada del diseño”.
ND
KX D/T/I
pY: JY
Construcción de entrada del cliente al proceso de diseño
Un tipo de Conocimiento de Diseño, KX, que puede poseercualquier combinación de los siguientes componentes deconocimiento: Dominio (D), Tarea (T) e Inferencia (I).
Un tipo de conocimiento del Proceso, Y, construido por elproceso de diseñar, con su conocimiento de Justificaciónasociado JY.
Figura 6.2. Definición de los símbolos gráficos empleados para los distintos tipos de conocimiento en
KLD0E. (Adaptado de (Smithers, 1998)).
Capítulo 6
106
ND
KR D/T/-
pR: JR
KRR D/-/I
KP D/T/-
pP: JP
pS: JSKS D/T/I
pQ: JQKQ D/T/-
pDR: JDRKDR D/T/-
pA: JAKA D/T/I
Posible revisión Cliente
Procesode diseño
KPR D/-/I
Figura 6.3. Estructura básica de KLD0E como Proceso basado en Conocimiento. (Adaptado de(Smithers, 1998)).
107
• Las conexiones verticales y denotan una relación de USO.KX -/-/-p
Y: JY
Por ejemplo significa que el conocimiento para diseñar tipo KX usaconocimiento del proceso tipo Y.
KX -/-/-
pY: JY
• Las conexiones horizontales o denotan relaciones PUEDE GENERARy PUEDE SER GENERADO PORrespectivamente.
KX -/-/-p
Y: JY
Por ejemplo, significa que el conocimiento de diseño tipo KX puedegenerar conocimiento del proceso tipo Y, y que el conocimientode proceso de tipo Y puede ser generado por conocimiento dediseño de tipo KX.
KX -/-/-p
Y: JY
• Las conexiones diagonales denotan una relación de DEPENDENCIA.
pY: JY
Por ejemplo, significa que el conocimiento del proceso tipo Z depende,para su generación y justificación, de (elementos de) elconocimiento del proceso de tipo Y.
pZ: JZ
pY: JY
Figura 6.4. Semántica de las conexiones entre tipos de conocimiento (Smithers, 1998).
ND : Enunciado de las Necesidades y Deseos generados por el cliente. R:JR : Enunciados de requisitos y justificaciones asociadas. P:JP : Enunciados de problema y justificaciones asociadas. S:JS : Enunciados de solución y justificaciones asociadas. A:JA : Enunciados de análisis, valoración y evaluación, y justificaciones asociadas. DR:JDR : Documentación del diseño y enunciados de los fundamentos con justificaciones asociadas. Q:JQ : Enunciados de presentación del diseño y justificaciones asociadas. KR : Conocimiento para la formación de requisitos, con componentes de conocimiento del Dominio y de la Tarea. KRR : Conocimiento para la revisión de requisitos, con componentes de conocimiento del Dominio y de Inferencia. KP : Conocimiento para la especificación y síntesis de problemas, con componentes de conocimientodel Dominio y de la Tarea. KPR : Conocimiento para la revisión de problemas, con componentes de conocimiento del Dominio y de Inferencia. KS : Conocimiento para la resolución de problemas, con componentes de conocimiento del Dominio, Tarea, e Inferencia. KA : Conocimiento para el análisis, valoración y evaluación de las soluciones, con componentes de conocimiento del Dominio, Tarea e Inferencia. KDR : Conocimiento para la recuperación de fundamentos y documentación del diseño, con componentes de conocimiento del Dominio y de la Tarea. KQ : Conocimiento para la presentación del diseño, con componentes de conocimiento del Dominio y de la Tarea.
Figura 6.5. Diferentes tipos de conocimiento en KLDE
0. (Adaptado de (Smithers, 1998)).
Capítulo 6
108
6.4.1 Un patrón básico para explicar el proceso de diseño
KLDE0 puede emplearse para identificar diferentes clases de diseño. Estas se
distinguen por la forma del proceso y son independientes de cualquier dominio. Existe una
forma básica del proceso, que se muestra en la figura 6.6. Este esquema muestra como las
distintas funciones de los distintos tipos de conocimiento intercalan para producir un patrón
básico del proceso de diseño.
ND {Rj:JRj} {P1:JP1} {S1,1:JS1,1} {A1,1:JA1,1}
{S1,p:JS1,p} {A1,p:JA1,p}
{Pn:JPn} {Sn,1:JSn,1} {An,1:JAn,1}
{Sn,q:JSn,q} {An,q:JAn,q}
KQ KDR
{Q1,..,r:JQ1,..,r} {DR1,..,t:JDR1,..,t}
KR KP KS KA
KPR
KRR
Figura 6.6. La forma básica del diseño según KLD
E0. Para cada descripción de requisitos Ri puede
sintetizarse un conjunto de enunciados de problema (1..n). Para cada enunciado de problema puedeencontrarse un conjunto de soluciones (1..p, ..., 1..q). Para cada solución puede generarse un
enunciado de evaluación y valoración. Algunos enunciados de problemas, soluciones y valoracionespueden seleccionarse para formar enunciados de presentación (1..r), y construir documentos de
descripción de diseño (1..t). (Adaptado de (Smithers, 1998)).
Este patrón puede aparecer repetidas veces, bien a consecuencia de una revisión de la
descripción de requisitos, o bien a consecuencia de construir una nueva descripción de
requisitos a partir de una revisión de las necesidades y deseos originales.
En definitiva KLDE0 identifica como suficientes y necesarios un conjunto de tipos de
conocimiento, y a partir de ellos predice y explica la forma del proceso. Esto permite usar la
teoría para decidir si un proceso particular es o no una instancia de diseño.
109
Pero eso no es todo, KLDE0 también permite explicar la forma de diversas clases de
conocimiento reconocidas con frecuencia en la literatura: diseño rutinario, diseño innovador y
diseño original. Cada uno de ellos se explica en las siguiente secciones.
6.4.2 Explicación del diseño rutinario
Mediante diseño rutinario se entiende normalmente una forma de diseño relativamente
directa, en la que se encuentran nuevas soluciones para una clase de problemas de diseño bien
establecida. En el capítulo anterior se han mostrado algunos ejemplos, como el diseño
paramétrico de estructuras descrito en (Gero y otros, 1988).
La forma de este proceso según KLDE0 aparece en la figura 6.7. Se trata de un proceso
en el que se dispone de un gran conocimiento de la clase de problemas que se pretende
resolver. Esto permite construir directamente una descripción de requisitos completa,
consistente, precisa y no ambigua. A partir de ella puede construirse también un único
enunciado de problema tal que alguna de sus soluciones cumple los criterios especificados en
la descripción de requisitos y satisface las necesidades y deseos originales.
ND {Rj:JRj} {P1:JP1} {S1,1:JS1,1} {A1,1:JA1,1}
{S1,p:JS1,p} {A1,p:JA1,p}
KQ KDR
{Q1,..,r:JQ1,..,r} {DR1,..,t:JDR1,..,t}
KR KP KS KA
KRR
Figura 6.7. La forma del diseño rutinario según KLD
E0. Se dispone de conocimiento suficiente para
formar una especificación de requisitos completa, consistente, precisa, no ambigua y posible.También hay conocimiento suficiente para formar un único enunciado de problema, de modo que al
menos una solución al mismo cumple con los requisitos lo suficiente para satisfacer las necesidades ydeseos originales (adaptado de (Smithers, 1998).
Normalmente los sistemas de diseño rutinario como el mencionado (Gero y otros,
1988) pasan por alto todo este conocimiento necesario para llegar a formar el enunciado del
problema, ya que no es necesario para resolverlo.
Capítulo 6
110
6.4.3 Explicación del diseño innovador
Mediante diseño innovador se entiende normalmente una forma de diseño algo más
complicada, que precisa modificar de algún modo el espacio del problema (véase por ejemplo
el sistema CYCLOPS descrito en el capítulo anterior).
La forma de este proceso según KLDE0 se corresponde con el patrón básico ya descrito
en la figura 6.6. Se dispone del conocimiento necesario para construir una descripción de
requisitos completa, consistente, precisa y no ambigua. A partir de ella se construyen diversos
enunciados de problemas que permiten valorar los cambios necesarios en el espacio del
problema (añadir nuevas variables o relajar restricciones, por ejemplo).
Normalmente los sistemas de diseño innovador, como el ya mencionado CYCLOPS
suelen ignorar las formas de conocimiento necesarias para formar la descripción de requisitos
y construir y revisar los diferentes enunciados de problema.
6.4.4 Explicación del diseño original
Mediante diseño original se entiende normalmente una forma de diseño que implica
"alguna nueva clase de desarrollo en la naturaleza del proceso de explorar una forma de
satisfacer una necesidad o deseo". La originalidad en KLDE0 se identifica con el refinado y
mejora incremental de una descripción de requisitos que no es completa, o consistente, o
precisa, o que es ambigua de algún modo.
En esta clase de diseño el proceso de formular problemas, encontrar y valorar
soluciones es necesario para identificar la incompletitud, inconsistencia, imprecisión y/o
ambigüedad que subyace a la descripción de requisitos. Este mismo proceso permite
identificar formas nuevas y originales de resolver estos problemas. La figura 6.8 ilustra la
forma de este proceso (Smithers, 1998):
"El diseño original, así definido, no ha recibido aún atención seria en la
investigación de la IA sobre diseño".
111
ND
{R1,2:JR1,2} {P:JP} {S:JS} {A:JA}
{Q:JQ} {DR:JDR}
KRR
{Rj:JRj} {P:JP} {S:JS} {A:JA}
{Q:JQ} {DR:JDR}
{R1,1:JR1,1} {P:JP} {S:JS} {A:JA}
{Q:JQ} {DR:JDR}
KRR
{R2,2:JR2,2} {P:JP} {S:JS} {A:JA}
{Q:JQ} {DR:JDR}
KRR
{Rj:JR2} {P:JP} {S:JS} {A:JA}
{Q:JQ} {DR:JDR}
{R2,1:JR2,1} {P:JP} {S:JS} {A:JA}
{Q:JQ} {DR:JDR}
KRR
Figura 6.8. La forma del diseño original según KLD
E0. Es necesario explorar varios enunciados de
requisitos antes de encontrar uno que sea completo, consistente, preciso, no ambiguo y posible(adaptado de (Smithers, 1998)).
Capítulo 6
112
6.4.5 Explicación del diseño creativo
La última clase de diseño aún por explicar es aquella que provoca una modificación de
las necesidades y deseos del cliente. En KLDE0 se propone denominarla diseño creativo. De
este modo la creatividad en diseño resultaría en diseños que satisfacen necesidades y deseos
que el cliente no poseía inicialmente, al menos de forma explícita, pero que ha aceptado y
asumido con posterioridad.
Por ejemplo, el diseño del Palacio de la Ópera de Sidney (Australia) (ver figura 6.9)
puede ser un buen ejemplo de diseño creativo. Por el contrario, el diseño del Museo
Guggenheim de Bilbao (ver figura 6.10) no sería según (Smithers, 1998) el resultado de un
proceso de diseño creativo (al menos en los términos en que KLDE0 define este término). Esto
se debe al simple hecho de que desde un principio las motivaciones de su construcción
incluían el deseo de "que «fuese un edificio como el Palacio de la Ópera de Sidney», en el
sentido de haber alcanzado el estatus de ser uno de los edificios más famosos e
impresionantes en la historia de la arquitectura".
Figura 6.9. Vista nocturna del Palacio de la Ópera en Sidney (un barco iluminado cruza por delante) y
detalle de su estructura.
Figura 6.10. Museo Guggenheim en Bilbao.
113
Como puede apreciarse el diseño creativo puede contener elementos de diseño
rutinario, innovador y original o cualquier combinación de ellos. Una posibilidad intrigante es
la de un proceso de diseño creativo compuesto únicamente de elementos de diseño rutinario:
"Esto significa que para conseguir (al menos algunas clases de) diseño creativo basado en
ordenador o apoyo al diseño creativo, no hay que pasar primero necesariamente por una
jerarquía de diseño innovador primero y original después" (Smithers, 1998).
6.5. EL PAPEL DE KLDE0 EN LA INGENIERÍA DEL CONOCIMIENTO
Una teoría sobre diseño puede emplearse para construir los modelos necesarios para la
síntesis de sistemas artificiales, i.e. para su ingeniería. En su ausencia es necesario recurrir a
modelos empíricos cuyo rango de validez es difícil de establecer. Por el contrario, construir
un modelo de algún aspecto del mundo sobre la base de una teoría implica identificar
explícitamente bajo que condiciones el modelo es válido y apropiado (Smithers, 1998):
"Para el caso de la construcción de sistemas basados en conocimiento, un tipo de
práctica de la ingeniería del software, disponemos ya de algunos métodos de
ingeniería del conocimiento bien desarrollados que pretenden apoyar la construcción
de modelos, el modelado de la experiencia al nivel del conocimiento o la resolución
de problemas basada en conocimiento. Actualmente, sin embargo, estos modelos son
empíricos. Proporcionar una teoría adecuada supondría una mejora importante en el
uso de los métodos modernos de la ingeniería del conocimiento, y en la práctica en
general de la ingeniería de sistemas basados en conocimiento. Este es el papel que
pretende jugar (una versión más completa de) KLDE0 en el caso de la construcción de
sistemas basados en conocimiento para su uso en diseño."
La figura 6.11 presenta todos los componentes implicados en este proceso e identifica
las relaciones entre los mismos. Para construir un sistema de ayuda basado en conocimiento
para alguna clase particular de diseño, es necesario un modelo de la misma. Esto puede
conseguirse recogiendo observaciones y empleando las estructuras y conceptos teóricos
proporcionados por KLDE0. Una vez validado el modelo basándose en los criterios
establecidos por la teoría, puede emplearse como base para elaborar una especificación del
sistema, i.e. una descripción al Nivel Simbólico. Una vez implementado el sistema, la teoría
debería proporcionar también criterios para evaluar y valorar su funcionamiento.
Capítulo 6
114
En este esquema se aprecia con claridad que teoría, modelo, método y descripción son
conceptos distintos con roles claramente diferenciados en la Ingeniería del Conocimiento.
KLDE: Una TeoríaGeneral del Diseño al
Nivel del Conocimiento
Modelo al Nivel delConocimiento de la clase
particular de Diseño
Un Método de Diseñopara la clase particular
de Diseño
Especificación para unSistema de Diseño
basado en Conocimiento
Implementación delsistema especificado
Una Descripción de laclase particular de
Diseño
Alguna clase particularde Diseño
Datos yObservaciones Comprensión y
conceptosteóricosComprensión
empírica
Especificación del Modeloal Nivel del Conocimiento
Especificación del SistemaSoftware
Figura 6.11. El papel de KLD
E0 como teoría general del diseño en la ingeniería de sistemas basados
en conocimiento para su uso en alguna clase particular de diseño (adaptado de (Smithers, 1998)).
6.6. COMENTARIOS
KLDE0 forma parte de una visión de la investigación de IA en diseño coherente con la
forma en que la moderna ingeniería del conocimiento concibe el desarrollo de sistemas con
conocimiento.
La finalidad que se persigue con su desarrollo no es una mejor comprensión de los
procesos cognitivos humanos ni surge de una preocupación por la formación universitaria de
los futuros diseñadores. Sin pretender sustituir ni suplantar las teorías ya expuestas que
persiguen estos fines, se consigue proporcionar una caracterización del proceso de diseño en
términos perfectamente adecuados para el desarrollo de sistemas informáticos de ayuda al
diseño. De este modo KLDE0 se presenta como una herramienta válida para los fines prácticos
de la Ingeniería del Conocimiento, y como un vehículo alternativo para la comprensión del
proceso de diseño.
115
La definición precisa de un conjunto de conceptos teóricos sobre diseño y su
articulación a través de un proceso al nivel del conocimiento permiten dar una definición
inequívoca del proceso de diseño y sus clases. Gracias a ello se pueden establecer con
claridad las diferencias entre diseño y resolución de problemas, y la forma en que ambos se
relacionan. Se pueden poner en relación otros trabajos y herramientas para el diseño y valorar
en que aspectos pueden realmente suponer un apoyo para los diseñadores.
En el siguiente capítulo se describe y analiza la tarea de exploración de criterios en
diseño, y se proponen técnicas computacionales que pueden ser potencialmente útiles para
facilitarla.
Aquí termina, por tanto, la exposición de teorías sobre diseño. En este capítulo y los
precedentes se ha puesto de manifiesto la existencia de dos importantes debates en el seno de
la IA en diseño. El primero es un debate filosófico sobre la naturaleza del diseño y la forma
en que diseñan los humanos. El segundo es un debate metodológico sobre la forma de
alcanzar sistemas informáticos de ayuda al diseño. En el trabajo descrito en este capítulo se
abordan aspectos importantes de ambas cuestiones.
Capítulo 6
116
117
CAPÍTULO 7
EXPLORACIÓN DE CRITERIOS
“La validez de una técnica comprende la técnica
y el asunto que trata.” Joseph Weizenbaum, 1976
En este capítulo se ponen en relación las contribuciones de la tesis con la investigación
sobre diseño en Inteligencia Artificial descrita en capítulos precedentes.
El marco de esta contribución es el desarrollo de herramientas de ayuda al diseño,
apartándose de la difícil y dudosa pretensión de construir sistemas capaces de realizar “diseño
automático”. Con la ayuda del ordenador se pretende apoyar una tarea concreta: determinar el
impacto que puede tener en la resolución del problema la aplicación de conjuntos de criterios
alternativos (Mandow y Pérez de la Cruz, 1998). En adelante se denomina a dicha tarea como
exploración de criterios.
Los capítulos precedentes han presentado una selección representativa (aunque
ciertamente no exhaustiva) de trabajos que han contribuido a una mayor formalización y
conceptualización del diseño, desde las propuestas iniciales de la IA hasta la teoría al nivel del
conocimiento descrita en el capítulo 6.
Esta teoría pretende ser útil, precisamente, en la construcción de modelos al nivel del
conocimiento para tareas particulares de diseño. Muchas de las modernas metodologías y
entornos de la IC toman estos modelos como punto de partida para el desarrollo de SBC, y los
acompañan, a modo de especificación, de un análisis de la estructura de tarea (task structure)
en la línea propuesta por (Chandrasekaran, 1992). El entorno KSM (Cuena y Molina, 1994),
ya comentado en la sección 2.7, apoya activamente la especificación de sistemas al nivel del
conocimiento basándose en estas ideas.
Existen diversas propuestas sobre la estructura de tarea para algunas clases de diseño
(Chandrasekaran, 1990) (Bernarás, 1994). En (Smithers, 1998) se advierte que, en general, la
Capítulo 7
118
estructura de una tarea de diseño dependerá de detalles del domino, del contexto, y del tipo de
diseño que se realice.
El objeto de estudio de esta tesis se centra en una única subtarea presente en muchas
tareas de diseño: la exploración de criterios. Más concretamente, se resalta la resolución de
problemas multicriterio como una subtarea de la exploración de criterios. La tercera parte de
la tesis presenta un conjunto de algoritmos que pueden emplearse como métodos genéricos
para la resolución de problemas multicriterio. En la cuarta parte se describen dos casos
concretos en los que uno de estos métodos se instancia para la resolución de subtareas en los
dominios de diseño de viviendas y carreteras respectivamente.
La exploración de criterios es una subtarea importante en la construcción y resolución
de problemas en diseño, es decir, en la construcción y búsqueda en espacios de estados. Otros
aspectos fundamentales relacionados son la selección de los elementos constructivos y la
forma de emplearlos, así como la evaluación de los resultados obtenidos tras la resolución de
los problemas planteados.
Aunque ya se ha desarrollado con cierta extensión la importancia de la exploración de
criterios en diseño, no está de más realizar aquí de nuevo una breve síntesis:
• El carácter multicriterio de los problemas de diseño está recogido explícitamente en
todas las teorías presentadas. Aún así, es destacable la escasez de algoritmos y
técnicas multicriterio para la resolución de problemas en IA. La imposibilidad de
tener en cuenta a priori todos los criterios posibles en la resolución de un problema se
ha identificado como uno de los factores fundamentales para considerar un problema
como “mal estructurado”. Las causas de esta imposibilidad pueden encontrarse en la
cantidad de dichos criterios (Simon, 1973) o en el hecho de que la intención del
diseñador evoluciona en función de la respuesta de la situación (Schön, 1983). Buena
parte del proceso de diseño puede invertirse, por tanto, en averiguar qué
consecuencias tiene la consideración de diversos criterios, y de qué modo pueden
entrar en conflicto unos con otros. Mas aún, para Schön la aparición de un conflicto
en los fines no es un problema técnico, sino un desencadenante más de la indagación
que lleva a cabo el diseñador.
119
• Desde la perspectiva de los enfoques pragmáticos la sola exploración del subespacio
de criterios permite caracterizar un proceso de resolución de problemas como diseño
(Gero, 1994a) (Navinchandra, 1991).
• Sin embargo, es KLDE0, la teoría del diseño al nivel del conocimiento (Smithers,
1998), la que permite identificar con mayor precisión el lugar que ocupa la tarea de
exploración de criterios en un proceso de diseño (ver figura 7.1). La finalidad es
identificar de que modo la formulación del problema puede ser inconsistente,
incompleta, imprecisa y/o ambigua.
ND {Rj:JRj} {P1:JP1} {S1,1:JS1,1} {A1,1:JA1,1}
{S1,p:JS1,p} {A1,p:JA1,p}
{Pn:JPn} {Sn,1:JSn,1} {An,1:JAn,1}
{Sn,q:JSn,q} {An,q:JAn,q}
KQ KDR
{Q1,..,r:JQ1,..,r} {DR1,..,t:JDR1,..,t}
KR KP KS KA
KPR
KRR
Figura 7.1. Lugar de la exploración de criterios en la forma básica del diseño según KLD
E0.
Este es quizá el momento adecuado para señalar que las técnicas y algoritmos que
se describen más adelante no pretenden servir de modelo para los mecanismos simbólicos
empleados por la mente humana en la resolución de problemas.
7.1. TÉCNICAS DE APOYO PARA LA EXPLORACIÓN DE CRITERIOS
EN DISEÑO
Si algo nos enseñan los estudios sobre diseño es que en la búsqueda de soluciones ante
una situación problemática es importante considerar y probar distintas alternativas. La propia
construcción de sistemas de ayuda al diseño no es una excepción en este sentido. La figura 7.2
muestra un esquema con diversas propuestas para la ayuda en la exploración de criterios en
Capítulo 7
120
sistemas de IA. Una breve descripción de los inconvenientes que presenta cada una de ellas
servirá para justificar el estudio que se aborda en los siguientes capítulos.
Apoyo en la exploración decriterios
Preferenciaspreestablecidas
ATMS Enfoques basados en laTeoría de la Decisión
Multicriterio
Enfoquesmultiobjetivo
Enfoques basadosen la satisfacción
de metas
MICAD Reformulación derestricciones como
objetivos Figura 7.2. Técnicas de ayuda para la exploración de criterios
Posiblemente el enfoque más sencillo es proporcionar un conjunto fijo de preferencias
preestablecidas que permitan resolver los posibles conflictos para un conjunto de criterios
dado. En (Myers y Pohl, 1992) se describe una experiencia de este tipo con el sistema ICADS
(Intelligent Computer Aided Design System), una arquitectura de pizarra ensayada en el
dominio del diseño arquitectónico en planta. El sistema incluye un interfaz gráfico donde el
diseñador humano realiza su trabajo, de modo que el estado actual de su diseño queda siempre
registrado en una “pizarra”. Además, ICADS consta de seis agentes basados en conocimiento
que evalúan la actividad de un diseñador humano y le proporcionan consejos sobre la forma
de completar el diseño en curso. Cada agente realiza el seguimiento de un conjunto
determinado de criterios (determinación de acceso a los espacios, predicción del coste de
construcción, iluminación diurna, control de ruidos, elección del sistema estructural, y
comportamiento térmico). Un agente adicional, experto en coordinación, resuelve los
conflictos que se presentan cuando dos o más agentes proponen consejos incompatibles. Para
ello dispone de un conjunto de reglas predefinidas que, en esencia, representan compromisos
parciales entre los conjuntos de criterios defendidos por cada agente.
El principal problema que presenta este enfoque es la necesidad de proporcionar una
regla de resolución de conflictos para cada conflicto posible entre todos los subconjuntos
121
posibles de agentes. Además, dichas preferencias deben establecerse independientemente del
contexto en el que pudieran ser aplicadas. Aunque puede existir un cierto consenso
profesional en la resolución de determinados conflictos, lo normal es que se trate de una
decisión subjetiva influida por cada situación concreta. Myers y Pohl proponen dos enfoques
alternativos a la resolución de conflictos preestablecida:
• Codificar un conjunto de estrategias de coordinación “naturales” que puedan ser
seleccionadas por el usuario para resolver los posibles conflictos. Esto conduce la
investigación a los campos de la IA distribuida y los protocolos de coordinación.
• Aprender las preferencias del usuario de forma gradual y dinámica. Este enfoque se
analiza brevemente más adelante, en el contexto de la teoría de la decisión
multicriterio.
Por otra parte, (Logan y otros, 1992b) proponen el uso de un ATMS (Assumption-
based Truth Maintenance System) para detectar los posibles conflictos durante la resolución
de un problema, dejando en manos del diseñador todas las decisiones relativas a la resolución
del conflicto y la posible reformulación del problema. Esta alternativa se ha ensayado en el
sistema EDS (Edinburgh Designer System) (Logan y otros, 1992a), una arquitectura basada
en pizarra-ATMS que registra todas las acciones del diseñador y realiza un seguimiento de las
mismas, infiriendo sus consecuencias necesarias. El sistema realiza pruebas de consistencia
para encontrar inconsistencias entre las restricciones que se establecen como suposiciones y
las decisiones de diseño que va tomando el usuario. A menudo estas inconsistencias pueden
resolverse cambiando la solución propuesta, pero otras veces la propia formulación del
problema es inconsistente y debe ser redefinida. A medida que el usuario explora nuevas
alternativas y subproblemas, asignando valores a parámetros o cambiando las restricciones, el
ATMS construye una estructura de justificación que “registra las dependencias entre los
criterios que el diseñador pretende comprender”.
La detección automática de conjuntos de criterios inconsistentes, y la posibilidad de
explorar en paralelo diversos subconjuntos consistentes de los mismos son dos ejemplos de
cómo esta arquitectura sirve de apoyo en la exploración del diseño. Algunos problemas de
este enfoque son proporcionar una interfaz adecuada del usuario con la estructura de la
justificación, y el hecho de que el ATMS no distingue entre inconsistencias “triviales” (por
Capítulo 7
122
ejemplo, debidas a pequeñas diferencias en los valores de los parámetros) y otras más
“radicales”.
7.2. ENFOQUES MULTICRITERIO PARA LA EXPLORACIÓN DE
CRITERIOS
En la presente tesis se propone que el uso de técnicas inspiradas en resultados y
análisis previos de la Investigación Operativa (IO) pueden ser de ayuda para abordar el
problema de la exploración de criterios en diseño. Como destaca (Simon, 1987), los orígenes
de la IA y la IO son bastante próximos, y buena parte de los primeros años de historia de la IA
transcurrieron en los sótanos de una escuela de comercio. Concretamente “[en la década
posterior a 1955] en la Westinghouse Electric Corporation, los ingenieros construyeron
sistemas expertos para el diseño automático de motores, generadores y transformadores”. Por
supuesto, esto no quiere decir que la IA sea una parte ni una derivación de la IO. Tampoco se
trata de abrazar incondicionalmente la metodología de diseño esencialmente racionalista
propugnada tradicionalmente por la IO y que no ha estado exenta de críticas (Winograd,
1990). Simplemente se trata de destacar que han existido, existen, y probablemente existirán
en el futuro, puntos de encuentro importantes entre ambas disciplinas.
La representación de las preferencias de un agente decisor (por ejemplo, un diseñador)
ha sido objeto de especial interés dentro de la IO. La teoría de la decisión multicriterio
(TDM) (Yu, 1985) (Romero, 1993) se ocupa de las bases para la decisión racional con
múltiples criterios desde un punto de vista matemático. Algunos conceptos básicos de los que
se ocupa la TDM pueden importarse directamente a la IA. Concretamente los conceptos de
atributo, objetivo, meta y criterio han resultado ser especialmente útiles para la descripción de
preferencias multicriterio (para una descripción más detallada véase la sección 8.4):
• Un atributo es una propiedad mensurable de las soluciones a un problema.
• Un objetivo representa la dirección de mejora preferida para un atributo: maximizarlo
o minimizarlo.
• Una meta surge de la unión de un atributo con un nivel de aspiración numérico, que
representa un nivel de logro aceptable para el atributo. Una meta se representa
matemáticamente de la siguiente forma:
123
aspiracióndenivelatributo
≥=≤
Es frecuente representar del mismo modo la restricciones de muchos
problemas. Sin embargo el significado es diferente en cada caso. Si una alternativa
incumple alguna restricción normalmente queda descartada como solución válida al
problema. El incumplimiento de una meta, por el contrario, significa únicamente que
el decisor preferiría obtener mejores resultados pero la alternativa puede seguir
siendo una solución perfectamente válida al problema.
• El concepto de criterio comprende los conceptos de objetivo, meta y atributo. Los
problemas multicriterio vienen definidos en términos de múltiples objetivos, metas
y/o criterios.
Existen algunos precedentes de trabajos en esta intersección de la investigación de
diseño en IA y la TDM. Por ejemplo, (Sykes y White, 1991) proporcionan una metodología
denominada MICAD (Multiobjective Intelligent Computer Aided Design) basada en una
generalización de la teoría de la utilidad multiatributo. El diseño se considera como “un
proceso de búsqueda multiobjetivo conceptualmente sencillo y guiado por las preferencias
[del diseñador]”. El método emplea un conjunto de pesos, que miden la importancia relativa
de los objetivos considerados y sirven a la vez para representar las preferencias y guiar la
búsqueda hacia soluciones satisfactorias. El valor de estos pesos se aprende de forma gradual
y dinámica. Las afirmaciones en lenguaje natural del usuario sobre la importancia relativa de
los objetivos, y las elecciones realizadas entre pares de soluciones alternativas, se traducen en
restricciones lineales sobre los pesos. A partir de estas restricciones se obtienen nuevos
conjuntos de pesos que se emplean para buscar nuevas alternativas hasta que se consigue una
solución satisfactoria. Los autores proporcionan también varios métodos para resolver las
posibles inconsistencias que puedan surgir de los enunciados y elecciones del usuario.
Otro ejemplo se encuentra en los trabajos de (Navinchandra, 1991), ya comentados
extensamente (véase el capítulo 5). En ellos se propone la reformulación de todos los criterios
del problema como objetivos. Pueden emplearse entonces métodos de búsqueda multiobjetivo
para relajar las restricciones de forma sistemática. El método resulta así adecuado para
resolver la inconsistencia en problemas sobre-restringidos. El principal inconveniente de este
Capítulo 7
124
método es que el usuario ejerce muy poco control sobre el proceso de relajación. En el caso
de los problemas de diseño, al ser la relajación sistemática y automática, tampoco es posible
proporcionar una justificación adecuada de las soluciones obtenidas.
7.3. UNA NUEVA PROPUESTA
Hasta la fecha se han probado en el contexto de la IA varias alternativas para el apoyo
en la exploración de criterios, aunque ninguna ha resultado completamente satisfactoria.
También son pocas las técnicas multicriterio que se han ensayado en la IA. Posiblemente el
desarrollo de sistemas eficaces de ayuda al diseño pase por un tratamiento más completo de
estas técnicas.
Una posibilidad abierta a la investigación es el uso de algoritmos multicriterio,
estudiados mayoritariamente hasta ahora en el campo de la Investigación Operativa. La
propuesta que se realiza aquí es el desarrollo de algoritmos multicriterio para la satisfacción
de metas. Empleados adecuadamente, pueden servir para ayudar en la exploración de la
inconsistencia y ambigüedad de los criterios superando algunas de las dificultades que
presentan otras técnicas.
En los próximos capítulos se examina la adecuación de las formulaciones de
problemas basadas en metas para representar conjuntos de criterios y preferencias, y servir,
por tanto, de apoyo en la exploración de problemas de diseño. Los métodos basados en metas
permiten en muchos casos una formulación natural de criterios y preferencias y permiten
analizar de forma elegante los problemas sobre-restringidos (inconsistentes). También pueden
resultar adecuados en el análisis de la ambiguedad. Sin embargo, identificar la adecuación de
las formulaciones basadas en metas es solo un comienzo. Para construir sistemas de diseño
basados en esta idea es necesario construir algoritmos efectivos para la satisfacción de metas.
Esta tarea se aborda en los siguientes capítulos.
125
III. ALGORITMOS DE BÚSQUEDA HEURÍSTICA
MULTICRITERIO
La tercera parte de la tesis presenta sus principales contribuciones. El capítulo 8
describe algunos conceptos tomados de la Teoría de la Decisión Multicriterio. Concretamente
se formaliza el concepto de preferencia y se definen las reglas de decisión más comunes. El
capítulo 9 introduce una formalización de los problemas de búsqueda multicriterio y un marco
general para su resolución. Varios procedimientos y algoritmos para búsqueda multicriterio se
describen y analizan en detalle. Por último, el capítulo 10 se dedica a analizar METAL-ALN*,
un algoritmo para problemas de búsqueda con satisfacción de metas y atributos aditivos.
126
127
CAPÍTULO 8
PREFERENCIAS Y PROBLEMAS MULTICRITERIO
“You can't always get what you want.”
M. Jagger y K. Richards, 1969
En este capítulo se resumen los conceptos fundamentales de la Teoría de la Decisión
Multicriterio que se emplean más adelante. Concretamente se definen y analizan los
conceptos de preferencia y estructura de preferencias. Con su ayuda es fácil dar una definición
formal de los problemas de decisión multicriterio. Por último se introducen las reglas de
decisión más comúnmente empleadas en este tipo de problemas.
8.1. EL CONCEPTO DE PREFERENCIA
Un concepto fundamental en la toma de decisiones es el de preferencia. En esta
sección se define el significado formal del mismo y sus propiedades más interesantes,
siguiendo en parte las definiciones proporcionadas en (Yu, 1985). La notación empleada es,
sin embargo, diferente: los valores escalares se representan mediante letras minúsculas, los
conjuntos con letras mayúsculas, y los vectores mediante mayúsculas en negrita.
Considérese un conjunto de elementos Y. Dados dos elementos Y1, Y2 ∈ Y, el
resultado de compararlos puede ser:
! Y1 es preferible a Y2, relación binaria que denotaremos por el operador p, es decir,
Y1 p Y2.
! Y1 es menos preferible que Y2, relación binaria que denotaremos por el operador
f, i.e. Y1 f Y2. Obviamente no pueden darse simultáneamente las dos relaciones
Y1 p Y2 e Y1 f Y2.
128
! Y1 e Y2 son igualmente preferibles o bien su preferencia es, de momento,
indefinida17, relación binaria que denotaremos por el operador ~, i.e. Y1 ~ Y2.
Además Y1 ~ Y2 sii no se cumplen Y1 p Y2 ni Y1 f Y2.
17 En (Yu, 1989) se distingue el caso en que dos alternativas son igualmente preferibles (denotado por el operador ~), de aquel en que la preferencia es indefinida y está aún por clarificar (denotado por el operador ?). Preferimos la definición más sencilla de (Yu, 1985) por no ser necesaria la distinción adicional para nuestros propósitos.
Una preferencia inducida por una relación binaria R es un subconjunto de Y × Y
denotado por {R}. Siempre que algún (Y1, Y2) ∈ {R}, lo denotaremos por Y1 R Y2. Podemos
definir así las preferencias {p}, {f}, {~} empleando relaciones binarias. A partir de ellas
definiremos también las siguientes:
! {~p} = {p} ∪ {~}
! {f~} = {f} ∪ {~}
Los conjuntos {p} y {f} serán siempre simétricos, ya que los conceptos mejor y peor
son antagónicos, es decir,
(Y1, Y2) ∈ {p} ⇔ (Y2, Y1) ∈ {f}
Por tanto, dado el conjunto {p} pueden calcularse {f} y {~}. Análogamente, dado el
conjunto {f} pueden calcularse {p } y {~}. Sin embargo, {~} no es suficiente para poder
calcular {p} y {f}.
Definimos una estructura de preferencias como el conjunto de preferencias {p}, {f},
{~}, {~p}, {f~}. Puesto que a partir de la relación p pueden construirse todos los conjuntos
anteriores, denotaremos con (p, Y) la estructura de preferencias inducida por la relación p
sobre el conjunto de alternativas Y.
129
8.2. CARACTERIZACIÓN DE LAS PREFERENCIAS
Esta sección comienza definiendo algunas propiedades comunes de las relaciones
binarias. A continuación se emplean para caracterizar lo que comúnmente se entiende por
relación de preferencia.
Definición Una relación binaria R sobre Y es:
a) Reflexiva, si ∀ Y ∈ Y se cumple que (Y, Y) ∈ R. En caso contrario es irreflexiva.
b) Simétrica, si ∀ Y1, Y2 ∈ Y, se cumple que (Y1, Y2) ∈ R ⇒ (Y2, Y1) ∈ R. En caso
contrario es asimétrica.
c) Transitiva, si ∀ Y1, Y2, Y3∈ Y, se cumple que (Y1, Y2) ∈ R ∧ (Y2, Y3) ∈ R ⇒
(Y1, Y3)∈ R.
d) Completa, si ∀ Y1, Y2 ∈ Y, Y1 ≠ Y2, se cumple que (Y1, Y2) ∈ R ∨ (Y2, Y1) ∈ R.
e) Una relación de equivalencia, si es reflexiva, simétrica y transitiva.
♣
Para ser consistentes con el uso cotidiano del concepto de preferencia supondremos
que, siempre que hagamos referencia a una estructura de preferencias (p, Y):
! {p} y {f} son irreflexivas y asimétricas,
! {~} es reflexiva y simétrica.
Puesto que {p}, {f} y {~} forman una partición de Y, tenemos que {~p}y {f~} son
completas.
En general no puede afirmarse que las relaciones {p}, {f}, {~}, {~p}, {f~} sean
transitivas. La propiedad transitiva, sin embargo, simplifica muchos problemas, por lo que es
interesante saber si un determinado problema la cumple o no.
130
Definición
a) Una preferencia {p} ó {f} es un orden parcial si es transitiva.
b) Una preferencia {p} ó {f} es un orden débil si es transitiva y su relación de orden
inducida {~p} ó {f~} es también transitiva.
c) Si un orden débil es completo, entonces se llama orden estricto.
♣
La ordenación débil es en realidad una propiedad muy fuerte tal y como enuncia el
siguiente teorema, demostrado en (Yu, 1985 p. 13).
Teorema:
Sea {p} un orden parcial. También será un orden débil si y solo si:
i.) La preferencia inducida {~} es una equivalencia (reflexiva, simétrica y transitiva).
ii.) Además se cumple una de las condiciones siguientes:
! Y1 p Y2 ∧ Y2 ~ Y3 ⇒ Y1 p Y3,
! Y1 ~ Y2 ∧ Y2 p Y3 ⇒ Y1 p Y3.
♣♣♣♣
8.3. PROBLEMAS MULTICRITERIO
Un problema de decisión multicriterio viene definido por los siguientes elementos:
1. Un conjunto X de alternativas, que representa el espacio de las decisiones o
estructuras posibles.
2. Un conjunto de funciones de atributos A = {a1,...,aq}, o propiedades mensurables
de cada alternativa X ∈ X.
131
3. Un conjunto Y, que contiene los resultados de cada alternativa medidos en el
espacio de los atributos, Y = {A(X) = (a1(X),...,aq(X)) / X ∈ X}. Cada elemento de
Y puede ser:
• Un punto, i.e Y ⊆ ℜ q, donde ℜ denota el conjunto de los números reales y q es
el número de atributos considerados. En tal caso se dice que el problema es
determinista.
• Una variable aleatoria, en el caso de que exista incertidumbre en el cálculo de
los atributos.
4. La estructura de preferencias del centro decisor, definida sobre el conjunto de
resultados Y. La estructura de preferencias puede venir definida por una regla de
decisión concreta. Sin embargo, también es posible que el centro decisor no sea
capaz de definir explícitamente o de forma completa su estructura de preferencias.
Todos los problemas que se estudian en adelante corresponden al caso determinista.
El concepto de solución óptima a un problema de decisión multicriterio puede
caracterizarse en términos de la preferencia empleada. Dado un conjunto de resultados Y ⊆
ℜ q y una preferencia {p} consideraremos solución óptima, no dominada o minimal a un
problema a toda aquella solución X* ∈ X tal que:
Y* = A(X*) ∧ ¬∃ Y' ∈ Y / Y' p Y*
Dicho con otras palabras, una solución es óptima, no dominada o minimal si no existe
ninguna otra que sea preferible a ella.
8.4. REGLAS DE DECISIÓN
Como ya se ha comentado en la sección anterior, la estructura de preferencias de un
centro decisor viene definida con frecuencia por una regla de decisión concreta. Como señala
(Yu, 1985, p. 2) “cada individuo es único y no existe una teoría o descripción sencilla que
pueda modelar el comportamiento decisor de ninguna persona de forma perfecta durante un
largo periodo de tiempo". Sin embargo, existen al menos tres esquemas lógicos para la toma
de decisiones multicriterio actualmente asentados y que han sido objeto de estudio detallado
132
en los últimos años. A ellos añadiremos uno más, la preferencia lexicográfica, que si bien no
es tan frecuente, presenta propiedades computacionales ventajosas en los problemas de
búsqueda en grafos. A continuación se describe brevemente cada uno de ellos.
El primer esquema se basa en la suposición de que todos los atributos son de alguno de
los tipos "cuanto más mejor" o bien "cuanto menos mejor", es decir, el centro decisor es
insaciable. Se define un objetivo como la dirección de mejora de un atributo, i.e.
maximización o minimización. Estos problemas se denominan problemas multiobjetivo, o a
veces problemas de optimización vectorial, en contraposición con aquellos que tienen un solo
objetivo, que se denominan de 'optimización escalar'. La regla de decisión viene caracterizada
por un conjunto de objetivos y consiste en seleccionar una alternativa que sea óptimo de
Pareto, es decir, dados dos vectores Y = (y1, y2,...yq), Y’= (y1’, y2’,...yq’), Y, Y’ ∈ Y, y
suponiendo que se desean minimizar todos sus componentes:
Y p Y’ sii ∀ i yi ≤ yi‘ ∧ Y ≠ Y’
La preferencia representada por el orden de Pareto establece un orden parcial sobre los
elementos de Y, pero no débil.
La segunda alternativa trata de construir una función real (escalar), denominada
función de valor, que combina adecuadamente los valores de los atributos de cada alternativa.
Si dicha función existe y se construye adecuadamente, a las alternativas minimales les
corresponderá el valor máximo de la misma. Dicho en otras palabras, se supone que el centro
decisor asigna un valor a cada alternativa, y que elegirá de entre ellas la que considere más
valiosa. Denominaremos a estos problemas de valor multiatributo18. La preferencia
representada por una función de valor establece un orden débil sobre Y.
En principio no es necesario que en los problemas de valor multiatributo los atributos
sean de los tipos "cuanto más/menos mejor". Sin embargo, es lo más frecuente.
El tercer esquema se basa en el establecimiento de metas o niveles de aspiración
satisfactorios para cada atributo. Denominaremos a estos problemas de satisfacción de
18 En algunas ocasiones se denomina a la función de valor mediante el término función de utilidad. Seguiremos aquí el convenio de denominar función de valor al caso determinista y función de utilidad al caso en que aparecen probabilidades (Chankong y Haimes, 1983, cap. 3), (Yu, 1985, cap. 5).
133
metas. Más concretamente diremos que una meta es la combinación de un atributo con un
valor numérico específico o nivel de aspiración. Cada nivel de aspiración representa un nivel
aceptable de logro para un atributo. Las metas se representan matemáticamente mediante
inecuaciones de la forma:
aspiracióndenivelatributo
≥=≤
En un sentido estricto, un conjunto de metas no proporciona mucha información sobre
las preferencias del centro decisor. Las metas representan únicamente la división del conjunto
de resultados Y en dos subconjuntos: el de aquellos resultados que satisfacen todas las metas
(soluciones minimales), y el de aquellos que no.
Por este motivo las formulaciones basadas en metas incorporan normalmente
suposiciones adicionales sobre las preferencias:
1) Cuando no es posible alcanzar ninguna solución que satisfaga todas las metas, las
soluciones minimales se consideran aquellas que estén “más cerca” de
satisfacerlas. La preferencia queda definida entonces por la función de distancia
elegida, que puede ponderar la importancia que se concede a la satisfacción de
cada meta. En este caso el problema se denomina de satisfacción de metas
ponderadas19.
2) En casos como el anterior, a veces se establecen también niveles de prioridad
diferentes para las metas. Las satisfacción de las metas incluidas en un
determinado nivel de prioridad se considera infinitamente más importante que la
satisfacción de las metas incluidas en niveles menos importantes. Si no es posible
satisfacerlas todas, por lo menos se intenta satisfacer el mayor número posible,
aunque respetando estrictamente el orden de prioridad. Estos problemas se
19 Un esquema de decisión relacionado que aparece con frecuencia en los libros sobre TDM es la programación compromiso. Conceptualmente la idea es la misma de las metas ponderadas, elegir la alternativa que se acerque más a los niveles que se consideran satisfactorios. La diferencia es que, adicionalmente, se considera que todos los atributos son del tipo “cuanto más/menos mejor” y los niveles de aspiración se establecen como los valores óptimos de cada uno de los objetivos por separado. Sin embargo, el cálculo previo de estos valores óptimos puede suponer un inconveniente computacional nada despreciable en los problemas de IA.
134
denominan de satisfacción de metas lexicográficas. Es interesante señalar aquí que
el uso de prioridades excluyentes introduce discontinuidades en las preferencias.
Esto significa que en general no es posible encontrar una función de valor
equivalente a un esquema de preferencias lexicográfico (véanse, por ejemplo,
(Romero, 1991, pp. 43-46) o (Romero, 1993)).
3) Por último, siempre que todos los atributos sean del tipo “cuanto más/menos
mejor”, también es frecuente establecer preferencia por aquellas alternativas que,
además de cumplir cualquiera de las condiciones anteriores, sean óptimos de
Pareto.
Es muchos problemas el espacio de alternativas X viene definido en términos de
restricciones, que se representan también mediante inecuaciones. Sin embargo, metas y
restricciones tienen un significado diferente. Cuando una alternativa no satisface una de estas
restricciones significa que no es digna de ser considerada como candidata a solución del
problema. Por el contrario, la no satisfacción de una meta significa, simplemente, que el nivel
de aspiración que hubiera deseado el centro decisor no puede ser alcanzado. Las metas se
utilizan para representar preferencias o restricciones "débiles" que pueden relajarse en caso
necesario. En realidad las restricciones que aparecen normalmente en muchos problemas se
pueden relajar y podrían considerarse como metas.
Por último, consideraremos la preferencia lexicográfica. Se trata de un refinamiento
del esquema multiobjetivo, en el que a cada objetivo se le asigna un grado de importancia o
nivel de prioridad diferente. La consecución de cada objetivo se considera infinitamente más
importante que la consecución de los objetivos de menor prioridad. De este modo la
preferencia lexicográfica establece un orden estricto en Y.
El concepto de criterio, tal y como se emplea en este contexto, abarca los conceptos de
objetivo, meta y atributo. Un problema multicriterio vendrá formulado por tanto en términos
de múltiples objetivos, metas o atributos.
8.5. COMENTARIOS
En este capítulo se ha presentado una definición de problema de decisión multicriterio.
También se ha formalizado el concepto de preferencia y se han descrito las reglas de decisión
135
más comunes. Ni que decir tiene que cada uno de estos esquemas tiene sus adeptos y conlleva
toda una línea de pensamiento.
Es un hecho universalmente reconocido que las técnicas multiobjetivo pierden gran
parte de su eficacia para problemas con más de tres objetivos. El número de soluciones
óptimos de Pareto puede ser entonces muy grande, y su presentación gráfica difícil de
interpretar. En cualquier caso su estudio es fundamental, ya que la racionalidad representada
por el orden de Pareto forma parte de la inmensa mayoría de los problemas de decisión
multicriterio.
Por otro lado, el uso de funciones de valor está fuertemente relacionado con las teorías
económicas actuales, donde la continuidad de las preferencias es aceptada como un axioma20.
El uso de metas lexicográficas establece una diferencia no solo en la forma, sino también
conceptual con este esquema, ya que representa preferencias no continuas21. En (Romero,
1991, pp. 45-46) se zanja deportivamente este enfrentamiento:
“Las características de la situación del problema indicarán si un orden de
preferencias lexicográfico es una forma deseable o no de abordar el problema de
decisión considerado."
Es imposible no señalar aquí que el uso de preferencias con metas u objetivos
agrupados en niveles de prioridad parece perfectamente consistente con los procesos de
diseño humanos descritos por Schön (véase el capítulo 4). Los diseñadores humanos superan
la complejidad del diseño explorando diversas alternativas y realizando experimentos donde
tienen en cuenta sólo algunos criterios, aunque también examinan los efectos producidos en
los demás sin permitir que distorsionen el experimento original. El esquema de preferencias
basado en metas y la búsqueda de soluciones satisfactorias también es coherente con la idea
de racionalidad limitada defendida por Herbert Simon (Romero, 1993, p.62). Esto apoya la
20 Al aceptarse axiomáticamente se convierte en una suposición “controvertida y cuya falsedad es imposible de demostrar” en palabras de (Romero, 1991, p. 45).
21 Existen ejemplos de problemas con metas lexicográficas en los que Y es continuo, donde se puede demostrar que existen más clases de resultados indiferentes que números reales (véase por ejemplo, (Romero, 1993, pp. 90-94)). Es imposible entonces, por definición, construir una función de valor para tales problemas. Sin embargo, en los problemas de búsqueda en grafos no existe tal problema. Si el grafo es localmente finito, el número de soluciones siempre es finito numerable, por lo que al menos en teoría siempre sería posible asignar un valor real y diferente a cada una de ellas.
136
hipótesis de que las preferencias lexicográficas pueden representar un medio de expresión
adecuado durante los procesos de experimentación del diseño.
A lo largo de los últimos años se han desarrollado múltiples técnicas y algoritmos para
la resolución de los diversos tipos de problemas multicriterio, especialmente sobre la base de
los algoritmos desarrollados en el campo de la Investigación Operativa para el caso de un solo
objetivo. También han aparecido diversas técnicas, denominadas interactivas, para el caso en
que el centro decisior no pueda expresar inicialmente sus preferencias mediante una regla de
decisión concreta.
Los capítulos siguientes muestran como las técnicas de optimización en grafos
mediante búsqueda heurística empleadas por la Inteligencia Artificial pueden generalizarse
también para problemas multicriterio. Concretamente la generalización presentada se refiere
al caso determinista, e incluye las cuatro reglas de decisión descritas en este capítulo.
137
CAPÍTULO 9
BÚSQUEDA HEURÍSTICA MULTICRITERIO
"We're off to see the Wizard,
the wonderful Wizard of Oz!" E.Y. "Yip" Harburg, 1938
9.1. INTRODUCCIÓN
En los últimos años han aparecido diversos algoritmos y técnicas para problemas de
búsqueda en grafos multicriterio (Loui, 1983), (Martins, 1984), (Corley y Moon, 1985),
(Henig, 1986), (Stewart y White, 1991), (Navinchandra, 1991), (White y otros, 1992), (Tung
y Chew, 1992), (Mandow y Millán, 1997).
Algunos de estos algoritmos se han desarrollado como generalizaciones para casos
particulares de conocidas técnicas de búsqueda con un solo objetivo, siempre bajo diferentes
supuestos y usando notaciones y terminologías diversas.
En este capítulo se aborda la tarea de establecer un marco de referencia común a todos
los algoritmos de búsqueda heurística. Para ello se construye una generalización del conocido
algoritmo de búsqueda primero el mejor (denominado BF* en (Pearl, 1984)), que emplea
funciones de coste escalares y la relación de preferencia < ("menor que"). La generalización
realizada permite desarrollar algoritmos para los principales problemas multicriterio, que
emplean funciones de atributos vectoriales y relaciones de preferencia generales. Cuando se
considera un vector de atributos para cada camino el principio de optimalidad, utilizado en
programación dinámica y en los algoritmos tradicionales de búsqueda heurística, deja de tener
validez universal (ya no es cierto en general que un camino minimal este compuesto de
subcaminos minimales). Como señala (Loui, 1983), la generalización de las técnicas de
búsqueda tradicionales pasa fundamentalmente por encontrar soluciones a este problema.
Las contribuciones de este capítulo son las siguientes:
138
• Una formalización del concepto de problema de búsqueda heurística con
preferencias.
• Dos algoritmos generales para problemas de búsqueda heurística con múltiples
atributos y criterios de preferencia generales, denominados POP* y POPN*.
• Una sistematización de los algoritmos de búsqueda heurística aparecidos en los
últimos años, sus relaciones y limitaciones.
• La incorporación a las técnicas de búsqueda heurística de algunos avances
realizados en algoritmos multicriterio de coste uniforme (Loui, 1983) y
programación dinámica multicriterio (Carraway y otros, 1990).
• Un conjunto de nuevos algoritmos para diversas clases de problemas de búsqueda
multicriterio.
La exposición comienza con la definición del concepto de problema de búsqueda
heurística con preferencias y la introducción de la terminología necesaria. A continuación se
describe POP*, un procedimiento general para encontrar una solución en este tipo de
problemas, junto a sus propiedades más interesantes. El siguiente paso consiste en presentar
particularizaciones de POP* para las reglas de decisión más comunes en los problemas
multicriterio: multiobjetivo, funciones de valor, objetivos lexicográficos y satisfacción de
metas. Por último se describe el procedimiento POPN*, generalizado para encontrar todas las
soluciones minimales de un problema, y se realizan algunos comentarios.
9.2. PROBLEMAS DE BÚSQUEDA HEURÍSTICA CON
PREFERENCIAS
Un paso previo a la presentación del procedimiento general para la búsqueda en grafos
es dar una definición precisa del tipo de problemas que pretendemos resolver y qué se
entiende por solución a los mismos.
La notación que sigue ha sido definida, en la medida de lo posible, de forma
consistente con la del algoritmo BF* (Pearl, 1984): las constantes, variables y funciones
reales y los nodos se representan mediante letras minúsculas; los vectores y funciones que
139
devuelven vectores mediante mayúsculas en negrita; y los conjuntos y funciones que
devuelven conjuntos en mayúscula.
Definición
Un problema general de búsqueda en grafos viene definido por una tupla (G, s, Γ),
donde:
• G es un grafo localmente finito (i.e. de cada nodo parte un número finito de arcos).
Denotaremos los conjuntos formados por todos sus nodos y todos sus arcos con
NODOS(G) y ARCOS(G) respectivamente.
• s ∈ NODOS(G) es un nodo inicial.
• Γ ⊆ NODOS(G) es un conjunto de nodos objetivo o finales.
Definiremos un camino P en un grafo G como una sucesión de nodos (n1, n2,...nk) tales
que para cada dos nodos consecutivos ni, ni+1, el arco (ni, ni+1) pertenece a ARCOS(G).
Dado un problema (G, s, Γ), denominaremos solución o camino solución a cualquier
camino acíclico que comienza en el nodo inicial s y alcanza un nodo final γ ∈ Γ.
Definimos P-SET(s, Γ) como el conjunto de todos los caminos solución de un
problema de búsqueda (G, s, Γ). Este es el equivalente al conjunto X, de alternativas del
problema, tal como se presentó en el capítulo anterior.
Denominaremos solución parcial o camino solución parcial a cualquier camino en el
conjunto P-SET(s, NODOS(G)), es decir, cualquier camino acíclico que comienza en el nodo
inicial.
♣
Definición
Dado un conjunto de vectores V y una relación de preferencia cualquiera p definida
sobre los mismos, definimos el conjunto minimal de V sobre p como:
MINIMAL(V, p) = {V ∈ V / ¬∃ W ∈ V W p V}. ♣
140
Definición Un problema general de búsqueda en grafos con preferencias viene definido por una
tupla (G, s, Γ, A, pA), donde:
• (G, s, Γ) define un problema de búsqueda en grafos.
• (A, pA) definen una estructura de preferencias sobre los caminos solución del
problema, donde:
# A es una función A: P-SET(s, Γ) → ℜ q que a cada camino solución P = (s,...γ),
γ ∈ Γ le asigna un vector de atributos A(P)= (a1(P), a2(P),...aq(P))22.
# pA es una relación binaria o criterio de preferencia definida sobre los vectores
de atributos de los caminos, que se lee “es preferible a”. Utilizaremos también
la notación ~pA para denotar la relación “es preferible o indiferente con”, y pA
para la relación "es igual o preferible a".
Definimos A-SET*(s, Γ, A, pA) como el conjunto de vectores de atributos minimales
de todos los caminos solución a un problema (G, s, Γ, A, pA), es decir,
A-SET*(s, Γ, A, pA) = MINIMAL({A(P) / P ∈ P-SET(s, Γ)}, pA)
Definimos P-SET*(s, Γ, A, pA) como el conjunto de todos los caminos solución
minimales a un problema (G, s, Γ, A, pA), es decir,
P-SET*(s, Γ, A, pA) = {P’ ∈ P-SET(s, Γ) / A(P’) ∈ A-SET*(s, Γ, A, pA)}
♣
Definición Un problema general de búsqueda heurística con preferencias viene definido por una
tupla (G, s, Γ, A, pA, F, pF, E, pp), donde:
22 Nótese que normalmente A podrá calcularse también sobre cualquier camino solución parcial, ya que dado un grafo G siempre se puede definir Γ = NODOS(G) (véase el caso escalar análogo en (Pearl, 1984, p. 100)).
141
• (G, s, Γ, A, pA) define un problema de búsqueda en grafos con preferencias.
• (F, pF) definen una estructura de preferencias heurística sobre los caminos
solución parciales del problema, donde:
# F es una función F: P-SET(s, NODOS(G)) → P(ℜ r) , donde P(ℜ r) denota el
conjunto de las partes de ℜ r,. A cada camino P = (s,...n), n ∈ NODOS(G), la
función F le asigna un conjunto finito de vectores de la forma F = (f1, f2,... fr),
cada uno de los cuales es un vector de estimación heurística de atributos del
camino P.
# pF es una relación binaria o criterio de preferencia heurístico definido sobre los
vectores heurísticos de atributos de los caminos solución parciales, que se lee
“es heurísticamente preferible a”. Utilizaremos también la notación ~pF para
denotar la relación “es heurísticamente preferible o indiferente con”, y pF para
"es igual o bien heurísticamente preferible a".
• (E, pp) definen una estructura de preferencias sobre los caminos solución parciales
del problema, donde:
# E es una función E: P-SET(s, Γ) → P(ℜ s) que a cada camino P = (s,...n), n ∈
NODOS(G) le asigna un conjunto finito de vectores de evaluación de poda de
la forma E = (e1, e2,...es).
# pp es una relación de orden binaria o criterio de poda definido sobre los
vectores de evaluación de poda de los caminos, que se lee “permite descartar (o
podar) a”.
Las soluciones a un problema de búsqueda heurística con preferencias son las mismas
que para un problema simple de búsqueda con preferencias. La introducción de información o
conocimiento heurístico sobre el problema solo tiene por objeto permitir una búsqueda más
eficaz de la solución. Esta información extraordinaria permite juzgar con más conocimiento
de causa qué caminos solución parciales son más prometedores para conducir a una solución
minimal del problema.
♣
142
Muchas veces, la función F(P) proporciona directamente estimaciones de los vectores
de atributos A(P), es decir, q = r y cada fi es una estimación del atributo ai(P) correspondiente.
En otras ocasiones, los vectores de F(P) pueden contener otro tipo de información e incluso
incluir como parte el propio vector A(P). Normalmente a un mismo camino P = (s, n1, n2,... n)
podrán corresponderle varios vectores de estimación (por ejemplo, porque existan varios
nodos finales o varias estimaciones fi para cada ai(P)). Denotaremos a estas estimaciones por
FP. También emplearemos, por cuestiones tipográficas, la notación F[P] para referirnos a
algún vector perteneciente a F(P).
Cuando los elementos de F(P) son estimaciones directas de A(P) normalmente pF
suele ser la misma que pA, aunque en algunos casos el aprovechamiento de la información
heurística puede realizarse con otros criterios de preferencia distintos al propio pA.
También es lo más frecuente que E(P) sea {A(P)}, sin embargo en el caso multicriterio
pA no suele ser adecuado como criterio de poda, y en general pp ≠ pA. También es posible
emplear información heurística para la poda.
Las definiciones presentadas corresponden a generalizaciones cada vez mayores del
mismo problema, es decir, los problemas de búsqueda en grafos son un caso particular de los
problemas de búsqueda con preferencias, y estos a su vez son un caso particular de los de
búsqueda heurística.
9.3. POP*: UN PROCEDIMIENTO GENERAL PARA LA BÚSQUEDA
EN GRAFOS
Esta sección presenta un nuevo procedimiento general para la resolución de problemas
de búsqueda heurística en grafos con preferencias denominado POP* (Primero el mejor con
Orden de Preferencia general). Este procedimiento es lo bastante general como para incluir
diversos algoritmos de búsqueda para problemas multicriterio, tal como se muestra en la
sección 9.6. Su pseudocódigo aparece en el cuadro 9.1.
POP* es un procedimiento iterativo que va generando incrementalmente caminos
solución parciales. La generación de estos caminos puede realizarse de forma eficiente en
cuanto que: (F , pF) concentra el esfuerzo de búsqueda en la dirección adecuada, señalando en
cada momento qué caminos son los más prometedores para conducir a una solución; la
143
aplicación del criterio de poda (E, pp) permite eliminar aquellos caminos que no van a ayudar
a encontrar la solución, y que no vale la pena seguir explorando.
Procedimiento POP*• Parámetros de entrada:! s, el nodo inicial del que parte la búsqueda, s ∈ NODOS(G).! solución-p (P), un predicado que devuelve "cierto" si su argumento P ∈ P-SET(s, Γ), y "falso" en otro
caso.! SCS(n), una función que recibe un nodo n ∈ NODOS(G) como parámetro y devuelve el conjunto de
nodos {n' / (n, n') ∈ ARCOS(G)}.! (F, pF), los datos que definen el criterio de preferencia heurístico.! Actualizar-CAMINOS-ABIERTOS(n’, n’’), una función que actualiza las estructuras de datos
CAMINOS y ABIERTOS empleando los datos que definen el criterio de poda (E, pp)
• Salida:"FRACASO", o un camino solución al problema.
1. Crear una lista de caminos ABIERTOS con el camino P = (s).Crear una estructura CAMINOS para guardar todos los caminos solución parciales que se vayangenerando y se consideren interesantes. Inicialmente CAMINOS contiene sólo el camino P = (s).
2. Si ABIERTOS es una lista vacía, terminar el procedimiento con “FRACASO”.
3. Seleccionar un camino solución parcial P’ de ABIERTOS con vector de estimación FP’∈ F(P’) minimalsegún el criterio de preferencia heurístico, es decir:
∀ P’’ ∈ ABIERTOS ¬∃ FP’’∈ F(P’’) / FP’’ pF FP’.Si varios caminos cumplen la condición, desempatar arbitrariamente.Sea n’ el último nodo de P’. Eliminar de ABIERTOS todos los caminos que terminen en n’.
4. Si solución-p(P’) es "cierto", entonces terminar el procedimiento devolviendo P’.
5. Expandir n’ generando, con ayuda de SCS(n’), el conjunto SUC de todos sus sucesores en G que no sonantecesores suyos en ningún camino de CAMINOS (para evitar ciclos).
6. Para cada nodo n’’ ∈ SUCActualizar-CAMINOS-ABIERTOS(n', n")
7. Volver al paso 2.
Cuadro 9.1. Pseudocódigo del procedimiento POP*. El procedimiento emplea dos estructuras de datos:
• CAMINOS: una estructura donde se registran todos los caminos solución
parciales encontrados y no descartados por la aplicación del criterio de poda.
• ABIERTOS: una lista con todos los caminos solución parciales registrados en
CAMINOS que pueden seguir explorándose.
POP* puede particularizarse para muy diversos tipos de problemas utilizando tres de
sus parámetros:
• Los dos que permiten calcular las preferencias heurística del problema (F , pF).
144
• El procedimiento de actualización de las estructuras CAMINOS y ABIERTOS,
que emplea los datos que definen el criterio de poda (E, pp).
La generalidad de POP* estriba en que no establece restricciones sobre la naturaleza
de ninguno de ellos. Curiosamente pA y A(P) no son necesarias en principio para el
procedimiento.
Los otros tres parámetros, (s, Γ, SCS(n)), definen un problema de búsqueda en grafos.
Nótese que la función SCS(n) define implícitamente el grafo G.
En cuanto al procedimiento Actualizar-CAMINOS-ABIERTOS diremos únicamente
que realiza exclusivamente dos tareas:
! Incluye en CAMINOS y ABIERTOS aquellos caminos interesantes de entre
todos los nuevos caminos solución parciales que pueden generarse
considerando la expansión del nodo n'.
! Elimina de CAMINOS y ABIERTOS cero, uno o más caminos solución
parciales de entre los que ya habían sido generados (aquellos que ya no se
consideren interesantes).
9.3.1 Funcionamiento general de POP*
El procedimiento parte inicialmente con el camino P = (s) en la estructura CAMINOS
y en la lista ABIERTOS (paso 1).
En cada iteración el procedimiento toma dos tipos de decisiones. La primera es elegir
qué camino solución parcial seguir explorando, y la segunda qué caminos conocidos
conservar en CAMINOS:
1) Para la primera decisión (paso 3) se aplica el criterio de preferencia heurístico pF
sobre los vectores de estimación de los caminos incluidos en ABIERTOS. Una vez
seleccionado un camino minimal P’ = (s,..n’), se expande su último nodo n’, es
decir, se generan todos sus sucesores en el grafo que no provoquen ciclos en los
caminos ya incluidos en CAMINOS. Esto permite, de hecho, la continuación de
todos los caminos almacenados en CAMINOS que ya conducían a n’, por lo que
pueden ser eliminados de ABIERTOS.
145
2) La siguiente decisión consiste en actualizar las dos estructuras de datos,
CAMINOS y ABIERTOS (pasos 5 y 6), de modo que sólo se conserven los
caminos interesantes. De ello se encarga la función Actualizar-CAMINOS-
ABIERTOS, encargada también de aplicar el criterio de poda (E, pp). El
procedimiento concreto para llevar a cabo esta operación depende tanto de la
estructura elegida para CAMINOS como de la naturaleza de pp y E(P). De
momento supondremos que el procedimiento Actualizar-CAMINOS-ABIERTOS se
encarga de realizar la actualización adecuada sobre la estructura elegida.
Por último, existen dos condiciones distintas bajo las que el procedimiento puede
terminar:
1) Cuando la lista ABIERTOS queda vacía (paso 2), lo que significa que no fue
posible encontrar un camino solución. En tal caso se devuelve el símbolo
"FRACASO".
2) Cuando se selecciona para expansión un camino de ABIERTOS que es un camino
solución (paso 4). En este caso el algoritmo termina con éxito devolviendo el
camino seleccionado.
9.3.2 El procedimiento 'Actualizar-CAMINOS-ABIERTOS'
Desde un punto de vista general, la función Actualizar-CAMINOS-ABIERTOS realiza
dos tareas en POP*:
• Registrar en CAMINOS todos los caminos solución parciales interesantes
encontrados hasta el momento. Para decidir qué caminos se consideran
interesantes se emplea el criterio de poda.
• Mantener ABIERTOS convenientemente actualizada, de modo que se sepa
cuales son los caminos por donde puede continuar la búsqueda.
Un esquema general para este procedimiento aparece en el cuadro 9.2.
146
Procedimiento Actualizar-CAMINOS-ABIERTOS /*esquema general*/• Parámetros de entrada:! n’, n’’ ∈ NODOS(G).
• Salida:No devuelve ningún valor, pero modifica las estructuras ABIERTOS y CAMINOS.
1. Crear un conjunto vacío de caminos NUEVOS-CAM.
2. Para todo camino guardado en CAMINOS que vaya de s a n’, P = (s,...n’), considerar la extensión de Pque conduce hasta n’’ (s,...,n’, n’’) y guardarla en un conjunto NUEVOS-CAM.
3. Aplicando el criterio de poda definido por (E, pp), determinar qué caminos de NUEVOS-CAM soninteresantes y añadirlos a CAMINOS y ABIERTOS.
4. Si se añadieron nuevos caminos a CAMINOS, aplicar el criterio de poda definido por (E, pp) para eliminarcaminos antiguos que ya no resulten interesantes de CAMINOS, y si prodece, de ABIERTOS.
Cuadro 9.2. Esquema general para el procedimiento Actualizar-CAMINOS-ABIERTOS. Una definición adecuada de la estructura CAMINOS y de su gestión puede tener
mucha influencia en la rapidez y uso de memoria de los algoritmos de búsqueda. Incluso para
algoritmos sencillos “primero el mejor” se han discutido al menos dos formas posibles de
llevar la cuenta de los caminos interesantes (véase (Pearl, 1984, p. 49)). Un caso
particularmente sencillo es aquel en que el grafo explorado es un árbol. Lo normal en estas
circunstancias es utilizar también una estructura en árbol para CAMINOS.
Una posibilidad es emplear para CAMINOS una lista con todos los caminos solución
parciales generados, sin podar nunca ninguno. Obviamente esta opción no es la más eficiente
en cuanto al uso de memoria, aunque es perfectamente válida. Otra opción que requiere
menos memoria es emplear un grafo acíclico dirigido, que denominaremos GRAFOB23. Esta
opción se analiza con detalle más adelante para una clase concreta de algoritmos multicriterio.
Por supuesto, otras alternativas son posibles.
La siguiente sección muestra algunas propiedades interesantes de POP*. Todas ellas
son independientes de la estructura empleada para CAMINOS, y únicamente se exige una
propiedad muy general para el criterio de poda y para la forma de aplicarlo.
23 "GRAFO de Búsqueda", por analogía con el árbol de búsqueda empleado por muchos algoritmos de búsqueda y optimización escalares. En estos algoritmos se guarda normalmente el mejor camino encontrado hasta cada nodo. Para el caso multicriterio resulta interesante guardar para cada nodo un conjunto de caminos de entre los que llegan hasta el. Por este motivo un árbol resulta en general insuficiente.
147
9.4. PROPIEDADES DE POP*
En esta sección se definen los conceptos de 1-admisibilidad y N-admisibilidad.
También establece relaciones interesantes entre el criterio de preferencia (A, pA) de un
problema y los criterios de preferencia heurístico (F, pF) y de poda (E, pp) que pueden
emplearse para resolverlo. Aprovechando estas definiciones se presentan algunas propiedades
deseables para POP*.
Definición
Sea un problema general de búsqueda heurística con preferencias (G, s, Γ, A, pA, F,
pF, E, pp). Diremos que un algoritmo de búsqueda es 1-admisible si termina con un camino
solución minimal del problema, siempre que exista alguno. Diremos que un algoritmo de
búsqueda es N-admisible si termina con el conjunto de todos los caminos solución minimales
del problema, siempre que exista alguno y su número sea finito, o bien no termina cuando su
número sea infinito.
♣
Definición
Diremos que una estructura de preferencias heurística definida por (F, pF) es
mínimamente optimista para un problema (G, s, Γ, A, pA, F, pF, E, pp) si para todo vector de
atributos V correspondiente a alguna solución minimal del problema hay al menos un camino
solución P ∈ P-SET(s, Γ) con A(P) = V, que cumple que existe una estimación F ∈ F(P) de
dicho camino tal que todos los subcaminos Pi de P que comienzan en el nodo inicial tienen
alguna estimación F' ∈ F(Pi) heurísticamente preferible, o igual a F.
Expresado matemáticamente:
∀ V ∈ A-SET*(s, Γ, A, pA) ∃ P = (s=n0, n1,...nk=γ ) ∈ P-SET*(s, Γ, A, pA), F ∈ F(P) tal que,
A(P) = V ∧
∀ P0-i = (s=n0, n1,...ni) i = 0,..k-1, ∃ F’ ∈ F(P0-i) / F’ pF F
♣
148
Definición
Diremos que un criterio de preferencia heurístico definido por (F(P), pF) concuerda
con otro (A(P), pA) para un problema (G, s, Γ, A, pA, F, pF, E, pp), si para todos los caminos
solución la estimación F(P) = {FP} es única y para cualquier par de caminos solución P’, P’’
se cumple que,
FP’ pF FP’’ ⇔ A(P’) pA A(P’’).
♣
Definición
Diremos que una relación de orden para la poda de caminos definida por (E(P), pp) es
1-prudente para un problema (G, s, Γ, A, pA) si, para cada vector de atributos V minimal con
respecto a (A(P), pA), existe un camino solución P con A(P) = V tal que P y todos sus
subcaminos con raíz en s son también minimales en relación a (E(P), pp).
Diremos que una relación de orden para la poda de caminos definida por (E(P), pp) es
N-prudente para un problema (G, s, Γ, A, pA) si todos los caminos solución P minimales con
respecto a (A(P), pA) y todos sus subcaminos con raíz en s son también minimales en relación
a (E(P), pp).
♣
Por último, la siguiente definición establece la relación entre el criterio de poda y la
función que lo aplica.
Definición Sea Actualizar-CAMINOS-ABIERTOS un procedimiento que aplica un criterio de poda
prudente para un problema.
Diremos que un criterio de poda 1-prudente se aplica correctamente si para cada
vector de atributos minimal hay al menos un camino solución minimal o uno de sus
subcaminos con raíz en s siempre presente en ABIERTOS antes de la terminación.
149
Diremos que un criterio de poda N-prudente se aplica correctamente si todo camino P
solución minimal no encontrado, o alguno de sus subcaminos con raíz en s está siempre
presente en ABIERTOS antes de la terminación.
♣
Proposición 1
El procedimiento POP* termina siempre en grafos finitos. ♣
Demostración:
Al ser G finito, sólo puede haber un número finito de caminos solución parciales.
En cada iteración POP* elimina de ABIERTOS uno o más caminos solución parciales,
y añade cero, uno o más caminos solución parciales diferentes de los que elimina. Nótese que
POP* nunca puede añadir dos veces a la lista de ABIERTOS un mismo camino solución
parcial. Por tanto, en el peor caso se seleccionarán en un número finito de pasos todos los
caminos solución parciales y finalmente ABIERTOS quedará vacía, a menos que se
seleccione antes un camino solución.
♣
La siguiente proposición presenta un conjunto de condiciones suficientes (que no
necesarias) para la obtención de algoritmos 1-admisibles a partir de POP*. Las
modificaciones necesarias para obtener algoritmos N-admisibles análogos se discuten en la
sección 9.11.
150
Proposición 2
El procedimiento POP* es 1-admisible en grafos finitos si se cumplen las siguientes
condiciones:
1. La estructura de preferencias heurística definida por (F(P), pF) es mínimamente optimista.
2. La estructura de preferencias heurística definida por (F(P), pF) concuerda con (A(P), pA).
3. La relación de preferencia pF es transitiva, es decir, induce al menos un orden parcial
sobre los vectores de estimación heurísticos.
4. El criterio de poda (E(P), pp) es 1-prudente en relación a (A(P), pA) y se aplica
correctamente. ♣
Demostración:
Para demostrar la 1-admisibilidad del algoritmo hay que demostrar que tanto el criterio
de poda (E(P), pp), como la estructura de preferencias heurística (F(P), pF), cumplen su
función adecuadamente.
Sea PAi = (s, n1, n2, ... γ), γ ∈ Γ un camino solución minimal correspondiente a cada
vector de atributos Ai ∈ A-SET*(s, Γ, A, pA).
1.) La condición 4 garantiza que antes de la terminación de POP* siempre existirá en
CAMINOS y ABIERTOS un subcamino de cada PAi con raíz en s. Puede
comprobarse fácilmente sabiendo que al iniciarse el procedimiento se encontrará
en ABIERTOS PAi0-0 = (s). Tras su expansión estará PAi
0-1 = (s, n1), y permanecerá
allí hasta que algún camino que termine en n1 sea seleccionado. Entonces P Ai0-2 =
(s, n1, n2) entrará en ABIERTOS y así sucesivamente. Al ser el criterio de poda 1-
prudente se evita que algún subcamino PAi0-k = (s, n1, n2, ... nk) sea eliminado de
CAMINOS en favor de otro camino solución parcial P’. Al aplicarse el criterio
correctamente la única posibilidad de que esto ocurra es que P’ sea también parte
de un camino minimal con el mismo vector de atributos Ai, en cuyo caso podemos
continuar el razonamiento con P’ en el lugar de PAi.
151
Sabemos que POP* terminará, ya que el grafo es finito (ver proposición 1). En
consecuencia, siempre que exista solución POP* no puede terminar porque
ABIERTOS esté vacía, y acabará devolviendo una solución.
2.) Veamos entonces como las condiciones 1, 2 y 3 garantizan que POP* nunca puede
terminar encontrando un camino solución que no sea minimal.
Al existir concordancia de (F, pF) con (A, pA) (condición 2) se asegura que
buscando un camino solución con estimación minimal sobre pF estamos, de hecho,
buscando un camino con vector real de atributos minimal sobre pA. Expresado
matemáticamente,
∀ P’’∈ P-SET(s, Γ,) ∧ P’’∉ P-SET*(s, Γ, A, pA), ∃ PAi ∈ P-SET*(s, Γ, A, pA) /
F(PAi) = {F[PAi]} ∧ F(P’’) = {F[P’’]} ∧ F[PAi] pF F[P’’]
Por otra parte, al ser (F, pF) mínimamente optimista (condición 1) tenemos que
para cada camino PAi todos sus subcaminos con raíz en s, PAi0-k, cumplen,
∃ F[PAi0-k] ∈ F(PAi
0-k) / F[PAi0-k] pF F[PAi]
Supongamos que existe un camino solución no minimal P’’ en ABIERTOS.
Tenemos entonces que:
∃ PAj / F[PAj] pF F[P’’]
Sabemos que siempre habrá un subcamino PAi0-k de PAi en ABIERTOS (condición
4). Puesto que pF cumple la propiedad transitiva (condición 3) podemos deducir
inmediatamente que:
∃ PAj ∀ k ∃ F[PAjo-k] ∈ F(PAj
0-k) / F[PAjo-k] pF F[PAj] pF F[P’’]
Al elegir POP* siempre un camino con estimación F minimal en ABIERTOS
respecto a pF tenemos que P’’ nunca será seleccionado para expansión.
Podemos concluir de la parte (2) de la demostración que POP* nunca terminará con un
camino solución no minimal. Ahora bien, por la parte (1) de la demostración sabemos que si
152
hay solución ABIERTOS nunca queda vacía. Por tanto la única posibilidad que queda es que
POP* termine con un camino solución minimal.
♣
Consideremos ahora qué sucede si el grafo explorado es infinito. Puede ocurrir
entonces que existan caminos no cíclicos de longitud infinita. Algunos algoritmos de
optimización escalar con funciones de coste aditivas, como A*, garantizan la 1-admisibilidad
suponiendo que la estimación escalar f(P) no está acotada en caminos infinitos. Sin embargo,
la condición análoga de que las estimaciones vectoriales no estén acotadas en ningún
componente en caminos infinitos no es suficiente para garantizar la 1-admisibilidad de POP*.
La figura 9.1 muestra un ejemplo ilustrativo:
s
π/8
infinitos arcos con coste π/2
n1
γ
3π/8
a
b
3π/4
π/2
π/2
A = (a) pA A’= (a’) sii |sen(a)| < |sen(a’)| F(P) = {A(P)} pF ≡ pA
pp = ∅ , ∀ P E(P) = ∅ Γ = {γ}
Figura 9.1. Ejemplo de búsqueda en un árbol con dos caminos, uno de ellos infinito.
Supongamos que los valores del único atributo considerado a(P) son iguales a la suma
de los costes asociados a los arcos de P. Obviamente (pF, F(P)) es mínimamente optimista y
concuerda con (pA, A(P)). No se poda nunca ningún camino, por lo que la poda es
obviamente 1-prudente. Por último, la relación de orden pF es transitiva. En conclusión se
cumplen las condiciones 1-4 enunciadas en la proposición 2.
Inicialmente CAMINOS y ABIERTOS contienen el camino solución parcial P = (s).
Tras la expansión del nodo inicial se obtienen dos caminos: (s, a) y (s, n1). El primero es
153
preferible al segundo, y será seleccionado entonces para expansión. Sin embargo todas sus
continuaciones serán siempre preferibles a (s, n1) y el procedimiento nunca terminará.
Es posible, sin embargo, demostrar la 1-admisibilidad en grafos infinitos para algunos
casos interesantes.
Proposición 3 El procedimiento POP* es 1-admisible en grafos infinitos si, además de las condiciones 1-4
de la proposición 2, se cumple lo siguiente:
5. Para cualquier P ∈ P-SET*(s, Γ, A, pA) con vector de estimación FP sólo existe un
número finito de caminos solución parciales P’ con algún FP’ ∈ F(P') / FP’ ~pF FP ∨ FP’ =
FP. ♣
Demostración:
Nótese que la condición 5 implica que P-SET*(s, Γ, A, pA) sea finito. Dadas dos
soluciones minimales distintas cualesquiera, o bien tienen el mismo vector de estimación F o
bien dos vectores de estimación distintos F, F’ tales que F ~ F’. En cualquier caso la
condición 5 obliga a que, dada una solución minimal cualquiera con estimación F, el número
de caminos (solución o no) en el grafo con estimación F’ = F o F’ ~ F sea finito. Por tanto, y
por definición, el conjunto de soluciones minimales será un subconjunto del mismo y en
consecuencia también finito.
Sea F[PAk] el vector de estimación de un camino solución minimal PAk (condición 2).
Como por definición el conjunto de estimaciones F(P’) para cada camino P’ es finito, en el
peor caso el procedimiento terminará seleccionando PAk tras haber seleccionado en un número
finito de pasos todos los caminos solución parciales con estimaciones preferibles o
indiferentes con él. ♣
9.5. CONDICIONES PARA CRITERIOS DE PODA PRUDENTES
En la descripción de POP* proporcionada en la sección 9.3 sólo se dan nociones
generales sobre la relación del criterio de poda con el problema. Esta sección analiza el
criterio de poda empleado en el algoritmo de optimización escalar BF*. A partir del mismo se
154
establecen condiciones más operativas que permitan identificar criterios de poda adecuados
para cada problema.
9.5.1 Órdenes de poda en algoritmos escalares
(Pearl, 1984, p.102) establece una condición muy operativa para determinar si una
determinada función puede emplearse para la poda de caminos en el algoritmo BF*. Es la que
se muestra a continuación.
Definición Sea PiPj la concatenación de dos caminos en un grafo, i.e., Pj puede usarse para
ampliar Pi. Se dice que una función de evaluación f(P) conserva el orden24 si, para cualquier
conjunto de caminos Pi, i = 1,2,3 de un grafo tales que P1P3 y P2P3 son también caminos del
grafo, se cumple la siguiente condición:
si f(P1) ≤ f(P2) ⇒ f(P1P3) ≤ f(P2P3)
P1 P2
P3
n
♣
La conservación del orden de preferencia es una versión del principio de optimalidad
empleado en programación dinámica. Esta definición será de poca utilidad directa para los
algoritmos que se describen más adelante. Sin embargo, resultará interesante distinguir entre
las siguientes definiciones.
Definición Sea PiPj la concatenación de dos caminos en un grafo, i.e., Pj puede usarse para
ampliar Pi. Sean Pi, i = 1,2,3 tres caminos cualesquiera de un grafo tales que P1P3 y P2P3 son
también caminos del mismo.
24 El término empleado en (Pearl, 1984) es “order-preserving”.
155
a) Diremos que una función a(P) conserva el orden < si se cumple que:
a(P1) < a(P2) ⇒ a(P1P3) < a(P2P3)
b) Diremos que una función a(P) conserva el orden ≤ si se cumple que:
a(P1) < a(P2) ⇒ a(P1P3) ≤ a(P2P3)
c) Diremos que una función a(P) conserva la igualdad si se cumple que:
a(P1) = a(P2) ⇒ a(P1P3) = a(P2P3)
♣
En el algoritmo BF* la función de estimación heurística f(P) se emplea tanto para la
selección heurística de los caminos como para la poda. Cuando BF* encuentra dos caminos
hasta un mismo nodo, siempre poda aquel que tenga mayor valor de f(P). Si ambos caminos
tienen el mismo valor se puede desempatar y eliminar arbitrariamente uno cualquiera de ellos.
La condición de Pearl obliga a que f(P) conserve tanto el orden ≤ como la igualdad. El primer
caso permite emplear (f, <) como orden de poda 1-prudente para los caminos solución
parciales que lleguen a un mismo nodo: el camino eliminado nunca conduciría a una solución
mejor. El segundo caso también es interesante. ¿Qué ocurre cuando se encuentran dos
caminos P1, P2 hasta el mismo nodo con f(P1) = f(P2)? Ambos son minimales respecto al orden
de poda anterior. Sin embargo puede eliminarse uno cualquiera de ellos (pero no los dos), y la
poda seguirá siendo 1-prudente. Lo normal en esta situación es quedarse con el camino que
fue encontrado primero, aunque cualquier relación de orden arbitraria producirá en este caso
una poda 1-prudente.
A continuación se presenta una generalización de estas condiciones para el caso
multicriterio.
9.5.2 Órdenes de poda en algoritmos multicriterio
9.5.2.1 Conservación del orden
La primera clase de criterios de poda que se presenta es una generalización de los
criterios de poda empleados por algoritmos de optimización escalar como BF*, Z* o A*.
156
Definición Sea un grafo G y sea Pi, i= 1,2,3 cualquier conjunto de caminos de G tales que P1P3 y
P2P3 son también caminos de G. Sea E(P) una función que devuelve un único vector de
información para cada camino, al que denominaremos E(P).
P1 P2
P3
n
Sea un problema de búsqueda heurística con preferencias (G, s, Γ, A, pA, F, pF, E, pp):
(a) Diremos que una relación de orden para la poda de caminos definida por (E(P), pp)
conserva la preferencia pA si se cumple que:
E(P1) pp E(P2) ⇒ A(P1P3) pA A(P2P3)
(b) Diremos que una relación de orden para la poda de caminos definida por (E(P), pp)
conserva la preferencia pA si se cumple que:
E(P1) pp E(P2) ⇒ A(P1P3) pA A(P2P3)
(c) Diremos que una relación de orden para la poda de caminos definida por (E(P), pp)
conserva la igualdad si se cumple que:
E(P1) = E(P2) ⇒ A(P1P3) = A(P2P3)
En cualquier caso sólo será posible establecer la relación E(P) pp E(P') o E(P') pp E(P)
si tanto P como P’ terminan en el mismo nodo, es decir, P = (...,n), P' = (...,n). ♣
Elegir un criterio de poda que conserve las preferencias de un problema exige analizar
cuidadosamente la estructura de preferencias definida por (A(P), pA). Intuitivamente las
condiciones de conservación de orden nos dicen que si podamos un camino a favor de otro no
tendremos que arrepentirnos, ya que el que se queda siempre será preferible o igual que el que
se desecha.
157
En los problemas de optimización escalares muchas veces puede utilizarse también pp
≡≡≡≡ pA. Por desgracia esto no va a ser lo adecuado para el caso multicriterio, ya que en general
los criterios de poda resultantes no conservan el orden de preferencia del problema. Por este
motivo la distinción entre pp y pA es imprescindible.
Proposición 4
Si en un problema (G, s, Γ, A, pA, F, pF, E, pp), el criterio de poda (E, pp) conserva el orden
pA, entonces es N-prudente en relación a (A, pA). ♣
Demostración:
Se trata de demostrar que todos los caminos solución minimales respecto a (A, pA) y
sus subcaminos con raíz en s son minimales respecto a (E, pp). Sea P* = (n0, n1,...,nm), n0 = s,
nm ∈ Γ, un camino solución minimal cualquiera. Por definición, el criterio de poda sólo
permite eliminar un subcamino P*0-k = (n0, n1,...,nk) de P* por otro camino P’ que también
vaya de s a nk.
Sea un nodo nk cualquiera de P*, de modo que P* = P0-kP. Sea P' un camino cualquiera
que vaya de s a nk, tal como se muestra en la figura 9.2.
Supongamos que E(P’) pp E(P*0-k), entonces por definición de conservación del
orden:
E(P’) pp E(P*0-k) ⇒ A(P’P) pA A(P*)
Lo cual contradice la hipótesis de que P* sea un camino solución minimal.
P*0-ks
nm
P’
nk
PP*=P*0-kP
Figura 9.2.Grafo de ejemplo
♣
158
Proposición 5
Si en un problema (G, s, Γ, A, pA, F, pF, E, pp), el criterio de poda (E, pp) conserva el orden
pA, entonces es 1-prudente en relación a (A, pA). ♣
La demostración es trivial a partir de la presentada para la proposición 4.
Proposición 6
Si en un problema (G, s, Γ, A, pA, F, pF, E, pp), el criterio de poda (E, pp) conserva la
igualdad entonces la poda será 1-prudente con cualquier criterio de desempate para caminos
P, P’ que conducen al mismo nodo y E(P) = E(P’). ♣
La demostración es trivial.
9.5.2.2 Condición CMM
En (Carraway y otros, 1990) se analiza el mismo problema desde un punto de vista
diferente. Se trata de proporcionar una versión de la programación dinámica generalizada para
la optimización de funciones de valor multicriterio. Para ello los autores proponen la
utilización de criterios de preferencia locales (lo que estamos denominando aquí criterios de
poda) diferentes al criterio de preferencia del problema. Empleando la terminología definida
hasta ahora puede formularse la condición propuesta de la siguiente forma:
E(P) pp E(P’) ⇒ ∃ Pk ∈ P-SET(n, Γ) / ∀ Pi ∈ P-SET(n, Γ) A(PPk) pA A(P’Pi)
P P’
Pk
n
γm γnγl ......
Denominaremos a esta condición como CMM. Intuitivamente, significa que si existe
una continuación hasta la solución del camino P que va a ser preferible a cualquier
continuación hasta la solución del camino P’, entonces P’ puede ser eliminado. En los nodos
finales γ ∈ Γ será lógicamente pp ≡ pA.
En (Carraway y otros, 1990) se analiza cómo obtener criterios de poda concretos para
problemas multicriterio con funciones de valor analizando las propiedades de pA en cada
159
nodo del grafo. El problema de este criterio de poda es que se necesita conocer A(P) ∀ P ∈ P-
SET(n, Γ) y ∀ n. Esta información es normalmente desconocida, aunque en algunos casos
puede aproximarse utilizando estimaciones heurísticas. En la sección 9.10 se realiza el
análisis correspondiente para los problemas de satisfacción de metas.
Proposición 7
Si en un problema (G, s, Γ, A, pA, F, pF, E, pp), el criterio de poda (E, pp) cumple la
condición CMM, entonces es N-prudente en relación a (A, pA). ♣
Demostración:
Sea nuevamente P* = (n0, n1,...,nm), n0 = s, nm ∈ Γ, un camino solución minimal
cualquiera. La condición CMM sólo permite eliminar un subcamino P*0-k = (n0, n1,...,nk) de
P* por otro camino P’ que también vaya de s a nk.
Sea también de nuevo nk un nodo cualquiera de P*, de modo que P* = P*0-kP, y P’ un
camino cualquiera que vaya de s a nk (figura 9.2). Supongamos que E(P’) pp E(P*0-k),
entonces por definición de la condición CMM:
E(P’) pp E(P*0-k) ⇒ ∃ Pk ∈ P-SET(n, Γ) / A(P’Pk) pA A(P*)
Lo cual contradice la hipótesis de que P* sea un camino solución minimal.
♣
9.6. UNA CLASE DE PROCEDIMIENTOS DE BÚSQUEDA
MULTICRITERIO
En esta sección se describe una clase importante de funciones para problemas de
búsqueda en grafos, las funciones de atributos acumulables. Estas funciones permiten calcular
rápidamente los vectores de atributos de los caminos solución parciales y admiten una forma
cómoda de información heurística.
Para resolver la clase de problemas de búsqueda que emplea atributos acumulables se
propone una particularización de POP* denominada POP-Z*. Al ser POP-Z* una instancia de
POP* se pueden demostrar de forma concisa y simple las propiedades de terminación y 1-
160
admisibilidad. El camino queda abierto entonces para describir toda una familia de algoritmos
de búsqueda multicriterio, que se muestran en las secciones siguientes.
9.6.1 Funciones de atributos acumulables
Las funciones acumulables son especialmente interesantes en problemas de búsqueda
en grafos, ya que pueden manipularse con relativa simplicidad.
Definición Diremos que un atributo ai(P) es acumulable si puede calcularse para todo camino
solución P = (n1, n2, ... nk), nk ∈ Γ como:
a (P) = E(n ) o E(n ) o ... o E(n ) o E(n ) = o E(n )i 1 i 2 i i k-1 i kj=1
i j
k
donde,
• E(nj) es un conjunto de propiedades locales a cada nodo nj (p. ej. el coste asociado a
los arcos que parten de él),
• oi es el operador de combinación asociativo tanto por la derecha como por la
izquierda asociado al atributo ai.
♣
Al ser el operador oi asociativo de izquierda a derecha, es posible calcular para cada
camino P = (n1, n2, ... nm) un valor:
)E(no=(P)g ji1=j
i
m
161
Estos atributos se denominan acumulables porque, para todas las continuaciones del
camino P de la forma P' = (n1, n2, ... nm, n), es posible calcular gi(P') simplemente acumulando
el valor previamente calculado para P con la información local del nuevo nodo25:
E(n)o(P)g=)(P'g iii
9.6.2 Funciones heurísticas para atributos acumulables
Cuando se trabaja con atributos acumulables en problemas de optimización escalar es
frecuente que el criterio preferencia heurística emplee los valores de dichos atributos en
combinación con algún tipo de información heurística para comparar caminos solución
parciales. En principio no existe ninguna limitación en cuanto al tipo de esta información
heurística ni en cuanto a la forma de combinarla con los valores acumulados de los atributos.
Sin embargo, una forma más natural en muchos casos es la que se describe a continuación.
Supongamos que P = (n1, n2, ... nm), nm ∉ Γ, es un trozo de un camino solución que
sólo se ha explorado parcialmente. En tal caso se puede calcular a partir de P una estimación
fiP del atributo ai del camino completo si se dispone de una función de evaluación heurística
hi(n) que aproxima el valor del atributo ai para el trozo de camino solución que parte de nm:
)h(n o )E(n o ... o )E(n o )E(n=f mimii2i1Pi
La forma de obtener este tipo de funciones h(n) y sus propiedades han sido objeto de
especial estudio dentro de la Inteligencia Artificial, ya que suponen un conocimiento o
información externa a la simple descripción del problema (véase (Pearl, 1984, cap. 4)).
Puede calcularse entonces fácilmente una estimación heurística del valor del atributo ai
para el camino P de la forma:
)(nho(P)g=f miiiP
i
25 Un caso más general es el de los atributos o funciones recursivas (Pearl, 1984, pp. 56-59), a las que sólo se exige que el resultado de la operación pueda calcularse de derecha a izquierda. Esta es la forma en que deben trabajar los algoritmos de búsqueda en hipergrafos. Para el caso de búsqueda en hipergrafos no es posible acumular los valores g(P) a medida que se amplían los caminos, sino que hay que recalcularlos por completo
162
Afortunadamente, muchos de los operadores de combinación de atributos utilizados
habitualmente cumplen la propiedad de ser acumulables y permiten calcular fácilmente este
tipo de estimaciones (por ejemplo, las funciones suma (+), producto (×), máximo (max), y
mínimo (min)).
En el caso multiatributo, si todos los fiP considerados cumplen la propiedad anterior
puede darse la siguiente definición.
Definición Una función heurística multicriterio H(n) es una función que devuelve un conjunto
finito de vectores de estimación Hn que contienen estimaciones de los atributos de uno o
algunos de los caminos que van desde n a algún nodo final:
H: n → {H, H’, ....}
♣
Teniendo en cuenta esta definición es fácil generalizar el razonamiento anterior para el
caso multicriterio.
Definición Dado un problema de búsqueda heurística en grafos con atributos acumulables,
diremos que una función de estimación heurística es de estimación directa si es de la forma:
F(P) = {FP / FP= G(P) o Hn ∧ Hn ∈ H(n)}
donde:
• P es un camino solución parcial que termina en el nodo n, es decir, P = (s,...n).
• G(P) es un vector con los valores acumulados de los atributos (g1(P), g2(P), ...
gq(P)) para el camino P, y es en realidad un sinónimo de A(P) aplicado sobre
caminos solución parciales.
cada vez. Salvo por este detalle, todo lo que se menciona a continuación aplicable a funciones acumulables también lo es para funciones recursivas.
163
• H(n) es una función heurística multicriterio. Cada Hn ∈ H(n) es un vector con
estimaciones de los valores de los atributos (h1, h2, ... hq) de un camino que
concatenado a P supondría una solución al problema.
• o = (o1, o2, ... oq), es el operador de combinación vectorial de los atributos.
♣
Nótese que para que el número de vectores FP para un mismo camino P = (s, n1, n2,...n)
sea finito, el número de vectores de estimación Hn para un mismo nodo debe ser también
finito.
La estimación directa es ciertamente un caso particular, aunque especialmente
interesante, de estimación heurística. Cada componente de cada vector F ∈ F(P) es una
estimación del componente correspondiente del vector de atributos A que correspondería a un
camino solución que fuese continuación de P. En estos casos lo más normal será emplear
como relación de preferencia heurística pF ≡ pA.
Para los problemas de optimización escalares con atributos acumulables se han
estudiado criterios de preferencia heurísticos más generales. Estos criterios toman la
información real y heurística relativa al camino P por separado y la combinan a su gusto. Un
ejemplo26 es la función f(P) = wg(P) + (1 – w) h(n) ∀ P = (s,...n) con w ∈ [0, 1/2].
Se pueden considerar también estrategias análogas para problemas multicriterio. En
estos casos no es obligado combinar necesariamente la información heurística proporcionada
por H(n) con el valor acumulado de los atributos G(P) utilizando el propio operador vectorial
o. De este modo, cuando la información se combina de forma diferente, puede considerarse
que cada vector de estimación es una concatenación de los vectores G y H correspondientes:
F(P) = {FP / FP = (G(P), H) ∧ H ∈ H(n)}
La relación de preferencia pF será la encargada de establecer entonces la comparación
entre los vectores resultantes, y en general será pF ≠ pA.
26 véase (Pohl, 1970), citado en (Pearl, 1984, p. 87).
164
9.6.3 Procedimiento POP-Z*
El procedimiento POP-Z* es el resultado de instanciar POP* parcialmente de dos
formas diferentes y relativamente independientes:
! El criterio de preferencia (A, pA) se limita a funciones de atributos acumulables,
aunque sin limitación sobre pA. El criterio de preferencia heurístico (F, pF) se
limita a funciones F de estimación directa (véase sección 9.6.2) y pF ≡ pA.
! El criterio de poda (E, pp) deberá conservar el orden de preferencia (A, pA) (véase
la sección 9.5.2.1), y además será E(P) = {E(P) ≡ G(P) ≡ A(P)} una estimación
única.
Se emplean también dos estructuras concretas para ABIERTOS y CAMINOS, con
objeto de definir una función Actualizar-CAMINOS-ABIERTOS particular.
Para CAMINOS se emplea un grafo acíclico dirigido, que se denominará GRAFOB
(grafo de búsqueda). El hecho de que los atributos de un problema sean acumulables
simplifica notablemente la gestión del grafo de búsqueda.
Definiremos la estructura GRAFOB del siguiente modo:
1.) Cada nodo n’ de GRAFOB tiene asociados dos conjuntos:
! G-SET(n’) con los vectores acumulados de atributos de todos los caminos de la
forma P = (s,...n’) incluidos en GRAFOB.
G-SET(n’) = MINIMAL( {G(P) / P=(s,..n')}, pp)
! F-SET(n'), con todos los vectores de estimación correspondientes a caminos de
la forma P = (s,...n’) incluidos en GRAFOB:
F-SET(n') = {F = G o Hn' / G ∈ G-SET(n') ∧ H n' ∈ H(n')}
2.) Cada arco n ← n', denotado por (n', n), está etiquetado con un conjunto de
atributos G-SET(n, n’). Estas etiquetas se definen como el conjunto de vectores de
atributos de caminos interesantes que llegan a n' a través de n, es decir, de la forma
P = (s,...n, n’). Un camino P que llega hasta n' es interesante, si no puede ser
165
podado por ningún otro camino, es decir, si G(P) es minimal según el criterio de
poda.
Llegados a este punto resulta muy conveniente realizar la siguiente definición, que
muchas veces pasa desapercibida en las descripciones de algoritmos de búsqueda escalares.
Definición: Definiremos un camino P en GRAFOB como una sucesión de nodos (n1, n2, ... nk) tales
que para cada dos nodos consecutivos ni, ni+1, existe un arco (ni+1, ni) ∈ ARCOS(GRAFOB).
♣
Es decir, los caminos interesantes del grafo G se van guardando en GRAFOB con los
arcos en sentido contrario (ver figura 9.3).
s
n1 n2
n3
n4
Pa
Pb
s
n1 n2
n3
n4
(a) (b)
Pa
Pb
Figura 9. 3. Dos caminos Pa = (s, n1) y Pb = (s, n2, n3, n4), tal como aparecerían en un grafo deproblema G (a) y en un grafo de búsqueda GRAFOB (b).
En cuanto a la lista de caminos ABIERTOS, se puede representar de diversas formas.
La empleada en adelante es: ( (nodo, vector-estimación)* ). Su justificación es la siguiente: a
cada nodo pueden llegarle varios caminos solución parciales y, a su vez, cada camino
solución parcial P puede tener varias estimaciones de atributos FP ∈ F(P) minimales según el
criterio de poda. En la lista ABIERTOS se guarda un par (n, FP) por cada camino P = (s,...n) y
vector de estimación FP ∈ F-SET(n). Cada par (n, F) de ABIERTOS se interpreta como "hay
al menos un camino solución parcial desde s hasta n que aún no ha sido explorado, y que tiene
un vector F de estimación heurística". Por supuesto, otras representaciones son posibles. Una
de ellas sería, por ejemplo, emplear directamente ((nodo, F-SET(nodo))*), es decir, una lista
formada por cero, uno o más pares (nodo, F-SET(nodo)).
166
El pseudocódigo de los procedimientos POP-Z* y Actualizar-CAMINOS-ABIERTOS,
particularizados para utilizar estas estructuras de datos se muestra en los cuadros 9.3 y 9.4.
Adaptar POP* para utilizar las estructuras de datos descritas es fácil. Seleccionar un
camino solución parcial de ABIERTOS con estimación minimal es equivalente a seleccionar
un par (n', F') con F' minimal. Borrar todos los caminos de ABIERTOS que conducen al nodo
n' es equivalente a borrar todos los pares de la forma (n', _). Por último, cuando se selecciona
un par (n, F), n ∈ Γ, el camino solución puede recuperarse de CAMINOS siguiendo los arcos
de GRAFOB y las etiquetas G-SET(n) y G-SET(n, n'). El pseudocódigo resultante del
procedimientos POP* (denominado ya POP-Z*) se muestra en el cuadro 9.3.
Procedimiento POP-Z*• Parámetros de entrada:! s, el nodo inicial del que parte la búsqueda, s ∈ NODOS(G).! nodo-final-p(n), un predicado que devuelve 'cierto' si n ∈ Γ, y 'falso' en otro caso..! SCS(n), una función que recibe un nodo n ∈ NODOS(G) como parámetro y devuelve el conjunto de
nodos {n' / (n, n') ∈ ARCOS(G)}.! (F, pF), los datos que definen el criterio de preferencia heurístico.! Actualizar-CAMINOS-ABIERTOS(n', n"), una función que actualiza las estructuras de datos
CAMINOS y ABIERTOS empleando los datos que definen el criterio de poda (E, pp)
• Salida:"FRACASO", o un camino solución al problema.
1. Crear una lista de caminos ABIERTOS con el par (s, F), donde F puede ser un vector de estimaciónarbitrario.Crear una estructura CAMINOS para guardar todos los caminos solución parciales que se vayangenerando y se consideren interesantes. Inicialmente CAMINOS contiene solo el camino (s).
2. Si ABIERTOS es la lista vacía, terminar con “FRACASO”.3. Seleccionar un par (n’, F’) de ABIERTOS con vector de estimación minimal, i.e.¬∃ (n, F) ∈ ABIERTOS /
F pF F’. Si varios cumplen la condición, desempatar arbitrariamente. Borrar de ABIERTOS todos lospares (n', F) ∀ F.
4. Si nodo-final-p(n’), entonces terminar el procedimiento devolviendo un un camino solución de CAMINOScuyo vector de estimación de atributos sea F’.
5. Expandir el nodo n’ generando, con ayuda de SCS(n’), el conjunto SUC de todos sus sucesores en G queno son antecesores suyos en ningún camino de CAMINOS (para evitar ciclos).
6. Para cada nodo n’’ ∈ SUCActualizar-CAMINOS-ABIERTOS(n', n")
7. Volver a 2.
Cuadro 9.3. Pseudocódigo de los procedimientos POP* (o POP-Z*) empleando una lista ABIERTOS de la forma ((nodo, vector-estimación)*).
La función Actualizar-CAMINOS-ABIERTOS se muestra en el cuadro 9.4. El uso de
E(P) ≡ G(P) unido al hecho de que G(P) sea acumulable permite actualizar fácilmente los
valores de los conjuntos G-SET(n) y F-SET(n) en cada iteración. Además, se considera que el
167
criterio de poda se aplica sólo a caminos que llegan a un mismo nodo, es decir, la relación P
pp P', o P' pp P sólo puede darse si P = (s,..n) y P' = (s,..n) (véase la sección 9.5.2.1).
Actualizar-CAMINOS-ABIERTOS-1 /*Versión con atributos acumulables y un grafo de búsqueda GRAFOB como estructura paraCAMINOS.*/• Parámetros de entrada:! n’, n’’ ∈ NODOS(G).
• Salida:No devuelve ningún valor, pero modifica las estructuras ABIERTOS y GRAFOB.
a) Calcular el conjunto AC = MINIMAL({G'' = G' o A(n’,n’’) / G' ∈ G-SET(n’)}, pp) .
b) Si n’’ ∉ NODOS(GRAFOB)i) Crear el nodo n’’ y etiquetarlo con G-SET(n’’) ← AC.ii) F-SET(n’’) ← {F = G o H / G ∈ G-SET(n’’), H ∈ H(n’’)}iii) Crear un arco de n’’a n’. G-SET(n’, n’’) ← AC.iv) Añadir a ABIERTOS pares (n’’, F) ∀ F ∈ F-SET(n’’)
c) Si n’’ ∈ NODOS(GRAFOB)i) Eliminar de AC todos los vectores G’ tales que
∃ G ∈ G-SET(n’’) / G pp G’ii) Si AC ≠ ∅
(1) Establecer un arco de n’’ a n’, y etiquetarlo con G-SET(n’, n’’) ← AC.(2) Para cada nodo n* / n* ≠ n’ ∧ (n’’, n*) ∈ ARCOS(GRAFOB),
- Eliminar de G-SET(n*,n’’) todos los vectore G' tales que∃ G ∈ G-SET(n’, n’’) / G pp G’
- Si G-SET(n*, n’’) = ∅ , entonces eliminar el arco de n’’ a n*. (3) { })'',()''(
)(),''(/
nnSETGnSETGGRAFOBARCOSnnn
−←−∈U
(4) F-SET(n’’) ← {F = G o H / G ∈ G-SET(n’’), H ∈ H(n’’)}(5) Actualizar ABIERTOS:
- eliminar los pares (n’’, F)∈ ABIERTOS / F ∉ F-SET(n’’)- añadir un par (n’’, F) por cada nuevo F ∈ F-SET(n’’)
Cuadro 9.4. Pseudocódigo de un procedimiento para actualizar GRAFOB y ABIERTOS con funciones A(P) acumulables y E(P) = G(P).
Sea n’’ un sucesor de n’ en G. La actualización de GRAFOB y ABIERTOS tras
considerar n’’ se realiza entonces de la siguiente forma:
• Paso (a). La naturaleza acumulable de G(P) permite acumular los vectores de
atributos de los caminos interesantes que llegan hasta n'', G-SET(n''), con el vector
de atributos del arco A(n',n'') y aplicarles pp.
• Paso (b). Si n'' no se encontraba todavía en el grafo, se añade, y se incluyen en
ABIERTOS todos los pares (n'', F) / F ∈ F-SET(n"). La figura 9.4 muestra un
ejemplo de este tipo de actualización sobre GRAFOB.
168
s
n1 n2
n'
n''
s
n1 n2
n'
n''
Pa Pb
G-SET(n') = {G1, G2}
G-SET(n", n') = MINIMAL({Ga, Gb}, pp)
G-SET(n") = MINIMAL({Ga, Gb}, pp)
(a) (b)
Sean: Ga = G1 o A(n',n'') Gb = G2 o A(n',n'')
Figura 9.4. (a) Situación en la que se desea añadir un nodo nuevo, n", como sucesor de n' enGRAFOB. Dos caminos diferentes llegarían hasta n": Pa y Pb. (b) Resultado de añadir n" a GRAFOB.
• Paso (c). Si n’’ se encuentra ya en el grafo, significa que se han encontrado nuevos
caminos hasta él. Se debe decidir entonces si alguno o todos se incluyen en el
grafo y, en tal caso, si esos nuevos caminos permiten podar otros ya conocidos. El
paso (c.i) determina si se ha encontrado algún camino nuevo a n’’ que no se pueda
podar. En tal caso el paso (c.ii) realiza la actualización necesaria de GRAFOB.
Más concretamente:
$ Se establece un nuevo arco (n’’, n’) en GRAFOB (paso c.ii.1).
$ Si los nuevos caminos permiten podar todos los que llegaban a n’’ a través de
otro arco, entonces este último se elimina (paso c.ii.2).
$ Finalmente se actualizan los conjuntos G-SET(n'') y F-SET(n'') (pasos c.ii.3-4)
y ABIERTOS (paso c.ii.5), incluyendo los pares (n’’, F) correspondientes a
nuevos caminos y eliminando los de los caminos podados.
Las figuras 9.5 y 9.6 muestran un ejemplo con el resultado para diferentes casos de
actualización de GRAFOB.
s
n'
n'' Pa
G-SET(n") = {G1, G2}
{G1,G2}
n1
Sean:G-SET(n'', n1) = {G1, G2}G1 ~p G2G(Pa) = G3
169
Figura 9.5. Una situación en la que se desea añadir un nuevo arco entre dos nodos ya conocidos, n" yn'. Como resultado un nuevo camino solución parcial Pb llegaría hasta n".
n''
(a)
Resultado si:G3 pp G2G3 ~p G1
G-SET(n") = {G1, G3}
{G1} {G3} n''
(b) (c)
Resultado si:G3 pp G2
G3 pp G1
G-SET(n") = {G3}
{G3}n''
Resultado si:G1 pp G3
o bienG2 pp G3
G-SET(n") = {G1, G2}
{G1,G2}
s
n'n1
s
n'n1
s
n'n1
Figura 9.6. (a) (b) (c) Resultado de modificar GRAFOB en la situación descrita en la figura 9.5 bajodiferentes suposiciones.
9.6.4 Propiedades de POP-Z*
Supondremos que POP-Z* emplea el procedimiento Actualizar-CAMINOS-
ABIERTOS-1 descrito en el cuadro 9.4. Puesto que POP-Z* es un caso particular de POP*
nada impide que conserve sus propiedades. Sólo hay que demostrar que los parámetros
cumplen las propiedades establecidas. Para ello empezaremos dando una definición operativa
de función heurística admisible.
Definición
Una función heurística multicriterio H(n) es admisible para un problema (G, s, Γ, A,
pA, F, pF, E, pp), donde A es acumulable mediante operador o y F(P) de estimación directa,
si:
• ∀ P*∈ P-SET*(s, Γ, A, pA), ∀ P0-i* = (s, ... ni) subcamino de P*,
F(P*) = {FP*} ∧ ∃ H ∈ H(ni) / G(P*0-i) o H pF FP*
• En los nodos finales γ ∈ Γ, H(γ) = {N}, donde N es el elemento neutro del
operador o, es decir,
170
∀ V∈ℜ q , V o N = V.
♣
Nótese que la definición anterior depende de o, F, y pF.
Proposición 8
Si en problemas (G, s, Γ, A, pA, F, pF, E, pp), donde los atributos son acumulables con
operador o y F(P) es de estimación directa, se utilizan funciones heurísticas multicriterio
admisibles, entonces:
1. (F, pF) es mínimamente optimista,
2. (F, pF) concuerda con (A, pA). ♣
Demostración:
En realidad, la definición de función heurística admisible no es más que una
reformulación más operativa de ambas condiciones para el caso particular estudiado.
1) (F, pF) concuerda con (A, pA).
Por definición ∀γ ∈ Γ h*i(γ) = e, donde e es el elemento neutro de la operación oi,
por tanto tenemos que,
∀γ ∈ Γ H(γ) = {N} ⇒
∀ P ∈ P-SET(s, Γ), F(P) = { FP / FP = G(P) o N = A(P) o N = A(P)}
2) La estructura de preferencias heurística es mínimamente optimista.
Efectivamente, para todo camino solución minimal P = (s=n0, n1, ... nk) , nk ∈ Γ
tenemos que, por definición,
∀ Pi = (n0,... ni), i∈ [0,k] subcamino de P,
∃ H ∈ H(ni) / A(Pi) o H pF A(P) = FP
♣
171
Proposición 9
Sea un problema (G, s, Γ, A, pA, F, pF, E, pp), donde los atributos son acumulables con
operador o, F(P) es de estimación directa y E(P) = G(P).
Si (G, pp) conserva la igualdad y bien conserva el orden del problema o bien cumple
la condición CMM, entonces Actualizar-CAMINOS-ABIERTOS-1 aplica el criterio de poda
de forma correcta. ♣
Demostración27:
Realizaremos esta demostración por inducción sobre el número de iteraciones t de
POP-Z*. Sea un camino solución minimal cualquiera P* = (n0, n1,...,nm), n0 = s, nm ∈ Γ.
! Inicialmente el camino P*0-0 = (n0) está representado en GRAFOB y ABIERTOS
al ser G-SET(n0) = {G(P*0-0)}.
! Supongamos que en la iteración t está representado P*0-k = (n0, n1,...,nk) en
GRAFOB y ABIERTOS, de modo que G(P*0-k) ∈ G-SET(nk) y existe en
ABIERTOS algún par (nk, F[P*0-k]), F[P*0-k] ∈ F(P*0-k).
! En la iteración t+1 pueden darse varias posibilidades:
a) Si nk = nm y el procedimiento seleccióna (nk, F[P*0-k]) u otro par de la forma
(nk, F) correspondiente a otro camino solución minimal, entonces termina con
éxito devolviendo P* u otro camino solución minimal que conduzca a nm, con
lo que la proposición sería cierta.
b) Si nk ≠ nm y el procedimiento selecciona un par (nk, F[P*0-k]) cualquiera,
correspondiente a P*0-k o a otro camino solución parcial que lleva hasta nk
entonces P*0-k dejará de estar representado en ABIERTOS, pero se considerará
la inclusión de su continuación P*0-k+1 = (n0, n1,...,nk, nk+1) en GRAFOB y
ABIERTOS. Como el criterio de poda conserva el orden del problema, la única
27 La demostración presentada aquí guarda cierta analogía con el ‘Resultado 2 (a,b)’ que proporciona (Nilsson, 1980) para el árbol de búsqueda de A*.
172
posibilidad de que P*0-k+1 no fuese incluido en GRAFOB sería que nk+1 ya
perteneciese a GRAFOB y,
∃ G’∈ G-SET(nk+1) / G’ pp G(P*0-k+1) ∨ G’ = G(P*0-k+1)
El primer caso (G’ pp G(P*0-k+1)) es imposible tanto si (G, pp) conserva
el orden del problema como si cumple la condición CMM. En el segundo caso
(G’ = G(P*0-k+1)) se habrían encontrado dos caminos solución parciales que
llevan a nk+1 y tienen el mismo vector de atributos. Por conservar G(P) la
igualdad, ambos conducirán a una solución minimal con idéntico vector de
atributos. Eliminando uno solo de ellos (en este caso P*0-k+1) la aplicación del
criterio de poda sigue siendo 1-prudente, por lo que la proposición también se
cumpliría.
c) Por último, si el procedimiento selecciona un par (n, F), n ≠ nk correspondiente
a un camino P = (s,..n), entonces:
1) Si nk ∉ SCS(n), entonces ninguno de los nuevos caminos considerados
podrá podar a P*0-k y por tanto seguirá presente en GRAFOB y
ABIERTOS.
2) Si nk ∈ SCS(n), entonces se encuentran nuevos caminos hasta nk, con lo
que se abre de nuevo la posibilidad de que P*0-k sea podado. Sea P’ uno de
esos nuevos caminos. Como el criterio de poda conserva el orden tenemos
que G(P’) pp G(P*0-k) contradice la hipótesis de que P* sea una solución
minimal. Lo mismo ocurre si cumple la condición CMM. Si G(P’) =
G(P*0-k), el procedimiento nunca eliminará P*0-k de GRAFOB (en todo
caso P’), con lo que la proposición se cumpliría en todos los casos. ♣
Para demostrar que cualquier algoritmo resultante de instanciar POP-Z* es 1-
admisible, solo hay que demostrar que pF ≡ pA es transitiva, y que (G¸pp) conserva el orden
(A¸pA). Por supuesto, para cada problema concreto que se pretenda resolver la función H(n)
deberá ser igualmente admisible. Las siguiente secciones realizan esta análisis para las reglas
de decisión multicriterio más comunes.
173
Ninguna de las particularizaciones de POP-Z* influye en la demostración de 1-
admisibilidad en grafos infinitos realizada para POP* (proposición 3), por lo que será
aplicable bajo las mismas condiciones.
9.6.5 Instancias de POP-Z*
La figura 9.7 introduce una clasificación parcial de algoritmos de búsqueda en función
de los tipos de criterios de preferencia heurísticos, criterios de poda y funciones de estimación
de atributos empleados. Concretamente se analizan cuatro clases de particularizaciones de
POP-Z* correspondientes a los criterios de preferencia más empleados en problemas
multicriterio:
! Z* y ZL* para funciones de valor. También se analiza el algoritmo U*, que
presenta algunas características peculiares en relación al criterio de poda.
! MO-Z*, para problemas multiobjetivo.
! PRIMO-Z* y PRIMO-ZL*; para problemas lexicográficos.
! METAL-ZL* para problemas de satisfacción de metas lexicográficas.
Como puede apreciarse en la figura 9.7 la mayoría de trabajos publicados en los
últimos años se han centrado en la optimización de funciones de valor multiatributo.
Todos los algoritmos difieren el criterio de preferencias pA y/o en el criterio de poda
pp. En las siguientes secciones se discute qué condiciones deben cumplir la estructura de
preferencias y el criterio de poda para que los algoritmos sean 1-admisibles en cada caso.
174
X - Algoritmos descritos en la literatura.X - Algoritmos nuevos que generalizan procedimientos no heurísticos descritos en la literatura.X - Algoritmos nuevos obtenidos a partir de POP*.________________________________________
(1) U* emplea E(P) = F(P).
POP*
POP-Z*
Z*
A* (un solo atributo)
ZL*METAL-ZL* MO-Z*
METAL-AL* MO-A*
A: acumulable.E(P) = {A(P)}.F: estimación directa.
Además,
pA≡pF conocido
Además,A aditiva
U* (1)PRIMO-Z*
PRIMO-A*
Además,
pp conocidoPRIMO-ZL*
Figura 9.7. Relación de diversos algoritmos con el procedimiento POP*.
9.7. BÚSQUEDA MULTIOBJETIVO
El primer problema que se analiza es el de la búsqueda multiobjetivo. Para resolver
estos problemas puede emplearse una generalización más o menos directa de los
procedimientos empleados para la optimización de un solo objetivo.
El criterio de preferencia consiste normalmente en la minimización de múltiples
atributos (orden de Pareto):
A = (a1, a2,...aq) pA A’= (a1’, a2’,...aq’) sii
∀ i ai ≤ ai‘ ∧ A ≠ A’
(Loui, 1983) proporciona, entre otras, una generalización del algoritmo de Dijkstra
para el caso multiobjetivo. (Stewart & White, 1991) describen en detalle una generalización
del algoritmo A* para el mismo caso denominada MOA* (Multi-Objective A*).
Se presenta a continuación una particularización de POP-Z* para problemas
multiobjetivo en que los atributos son acumulables, pero no necesariamente aditivos.
Denominamos a este algoritmo MO-Z* (Multi-Objective Z*).
175
9.7.1 Algoritmo MO-Z*
MO-Z* es una particularización de POP-Z* en la que tanto el orden de preferencia del
problema pA, como el orden de poda pp son el orden de Pareto:
G = (g1, g2,...gq) pp G’= (g1’, g2’,...gq’) sii
∀ i gi ≤ gi‘ ∧ G ≠ G’
Además, si G = G’ se emplea un orden de poda arbitrario.
Proposición 10 Si se cumplen las siguientes condiciones:
MOZ-1. La función heurística empleada H(n) es admisible.
MOZ-2. Cada componente de G(P) conserva la igualdad y bien el orden < o bien el orden ≤..
Entonces MO-Z* es 1-admisible en grafos finitos. ♣
Demostración:
Al ser H(n) admisible se cumplen las condiciones 1 y 2 de POP* (proposición 2).
El orden de Pareto es trivialmente transitivo, por lo que se cumple también la
condición 3 de POP*.
Veamos que la condición MOZ-2 implica que (G, pp) conserva el orden pA por tanto
la poda es 1-prudente. Sea un grafo G y sea Pi, i= 1,2,3 cualquier conjunto de caminos de G
tales que P1P3 y P2P3 son también caminos de G. Supongamos que G(P1) pp G(P2) y G(P1) ≠
G(P2). Tendremos entonces que:
∀ i gi(P1) ≤ gi(P2) ∧ ∃ j gj(P1) < gj(P2)
Al conservar cada gi(P) el orden ≤ o el < y, además, la igualdad tendremos que:
∀ k gk(P1) = gk(P2) ⇒ gk(P1P3) = gk(P2P3)
∀ m gm(P1) < gm(P2) ⇒ gm(P1P3) ≤ gm(P2P3)
176
Por tanto:
∀ i gi(P1P3) ≤ gi(P2P3)
Con lo que la poda será 1-prudente. Si G(P1) = G(P2), entonces cualquier desempate
arbitrario será 1-prudente al conservarse la igualdad. Nótese que esta parte de la demostración
es independiente de la naturaleza acumulable de los atributos.
♣
Proposición 11
Si además de las condiciones MOZ-1 y MOZ-2 enunciadas en la proposición 10 se cumple lo
siguiente:
MOZ-3. Los vectores de estimación de atributos F ∈ F(P) no están acotados en ninguna de
sus componentes en caminos infinitos.
Entonces el algoritmo MO-Z* es 1-admisible en grafos infinitos. ♣
Demostración:
Sea F' = (f'1, f'2, ...f'q) el vector de estimación correspondiente a un camino solución
minimal P'. Por MOZ-3 solo podrá existir un número finito de caminos solución parciales con
estimaciones F = (f1, f2, ...fq) tales que:
∀ i fi ≤ fi‘
Por tanto P' acabará seleccionándose para expansión en un número finito de pasos. ♣
9.7.2 Ejemplo: Excursiones Para Todos
Para ilustrar el funcionamiento de diversos algoritmos descritos en este capítulo
consideraremos un sencillo ejemplo. Se trata de planificar una excursión entre dos zonas de
acampada en un parque natural. El parque dispone de una serie de pistas forestales conectadas
según la topología mostrada en la figura 9.8. En ella se ha incluido para cada arco la distancia
real correspondiente (en metros). Cada pista puede ser de dificultad simple, media, o
avanzada, estando representadas por trazos finos, gruesos y dobles respectivamente.
177
2
1
3
4
5
6
1000m. 99%
1000m. 97%
1000m. 99%
1500m. 99%
700m. 90%
800m. 99%
800m. 80%
500m. 75%
300m. 80%
Figura 9.8. Topología de las pistas forestales.
El problema planteado consiste en encontrar rutas adecuadas para desplazarse entre las
zonas del parque. Para ello pueden tenerse en cuenta inicialmente dos atributos: a1(P) ≡
"distancia recorrida por el camino P"; a2(P) ≡ "dificultad máxima del camino P".
Algunos excursionistas han afirmado haberse encontrado ocasionalmente con osos en
algunas de las pistas, por lo que los guardas forestales han realizado una encuesta entre los
visitantes al parque. El grafo recoge el porcentaje de visitantes que han circulado por cada
pista sin tener estos encuentros. Esto nos proporciona un tercer atributo, a3(P) ≡ "probabilidad
de no encontrar osos en el camino P", que bajo el supuesto de independencia puede calcularse
de forma multiplicativa a partir de los datos anteriores.
Cuatro excursionistas y amantes de la naturaleza, Marichu, Carmen, Fali y Manolo,
están planeando una excursión desde la zona 1 a la zona 6. Sin embargo cada uno de ellos
posee unas preferencias diferentes:
! Marichu tiene una mentalidad abierta y basa sus preferencias en una simple
estructura multiobjetivo.
! Fali ha elaborado una compleja estructura decisoria tras largos años de
excursiones, lo que le permite integrar en una sola ecuación todos los factores
considerados.
! Carmen piensa que en todo momento siempre hay algunas cuestiones que son más
importantes que otras, y utiliza una estructura de preferencias lexicográfica.
178
! Manolo, por el contrario, tiene una actitud más ingenieril, y se plantea cada día las
metas que pretende cumplir.
9.7.3 Excursiones Multiobjetivo
Marichu, la primera excursionista (véase la sección 9.7.2), se plantea sencillamente
como objetivos minimizar la distancia recorrida y la dificultad máxima y maximizar la
probabilidad de no encontrar osos. Los datos del modelo resultante se muestran en la tabla 9.1
Atributo Objetivo Operador de Acumulación
a1 = distancia recorrida Minimizar + a2 = dificultad máxima Minimizar Max a3 = prob. no encontrar osos Maximizar ×
Tabla 9.1. Modelo de preferencias multiobjetivo.
Supondremos que los valores del atributo correspondiente a la dificultad máxima serán
los siguientes: 1 (simple); 2 (media); 3 (avanzada).
Como función de estimación de atributos se considera la acumulación de los mismos
hasta el momento, i.e. no se hace uso de información heurística alguna. Para cada camino P =
(s, n1, n2,...nk-1, nk) será:
F(P) = {FP = A(s, n1) o A(n1, n2) o... o A(nk-1, nk)}
donde A(ni, nj) es el vector correspondiente a los valores de los atributos en el arco (ni,
nj) del grafo, que vienen dados en el orden (distancia, dificultad, probabilidad-no-encontrar-
osos), y o = (+, max, ×) es el operador de combinación vectorial acumulable. Nótese que los
dos primeros atributos son del tipo “cuanto menos mejor”, mientras que el tercero es del tipo
“cuanto más mejor”.
Puesto que el problema corresponde a un grafo finito, para asegurar que la solución
encontrada por MO-Z* es minimal (óptimo de Pareto) es necesario mostrar que:
1. La función heurística empleada es admisible.
Dada la ausencia de información heurística puede emplearse como heurístico
admisible la función:
179
∀ n H(n) = {(0, -∝ , 1)}
Es decir, la única estimación proporcionada corresponde al elemento neutro del
operador o = (+, max, ×).
Veamos por qué H(n) es admisible para este problema. Según la definición de
función heurística admisible H(n) debe cumplir dos condiciones:
a) H(n) debe ser el elemento neutro de o en los nodos finales. Para este ejemplo lo
es por definición en todos los nodos del grafo.
b) Para todos los subcaminos P0-i* = (s, ... ni) subcamino de cada camino solución
minimal P*,
F(P*) = {FP*} ∧ ∃ H ∈ H(ni) / G(P*0-i) o H pF FP*
Lo que para este caso concreto queda como:
G(P*0-i) o H = G(P*
0-i) pF A(P*)
Como pA ≡ pF y G = A, tenemos que:
A(P*0-i) pA A(P*)
Veamos que se cumple para todos los caminos solución parciales P, y no solo
para los caminos solución minimales:
A(P0-i) pA A(P) ⇒ ∀ j aj(P0-i) ≤ aj(P)
Sean P un camino cualquiera de G y P = P0-i P' una partición cualquiera del
mismo, de modo que A(P) = A(P0-i) o A(P') y A(P') = (a1', a2', a3'). Veamos
que la propiedad se cumple para cada atributo:
♦ Todas las distancias a1(P) son positivas,
a1(P0-i) + a1' = a1(P) ∧ a1' ≥ 0 ⇒ a1(P0-i) ≤ a1(P)
♦ Todas las dificultades a2(P) pertenecen al conjunto {1,2,3},
180
max(a2(P0-i), a2') = a2(P) ∧ a2' ∈ {1,2,3} ⇒ a2(P0-i) ≤ a2(P)
♦ Todas las probabilidades pertenecen al intervalo [0,1],
a3(P0-i) × a3' = a3(P) ∧ a3' ∈ [0,1] ⇒ a3(P0-i) ≤ a3(P)
2. Los atributos g1(P) y g2(P) conservan el orden ≤ y la igualdad. El atributo g3(P)
conserva el orden ≥ y la igualdad.
Sean dos vectores de atributos cualesquiera G = (g1, g2, g3), G' = (g'1, g'2, g'3), tales
que: g1 ≤ g'1, g2 ≤ g'2, g3 ≥ g'3.
En cuanto a la conservación del orden tenemos que:
g1 < g'1 ⇒ g1 + k ≤ g'1 + k ∀ g1,g'1,k ∈ ℜ
g2 < g'2 ⇒ max(g2, k) ≤ max(g2, k) ∀ g2,g'2,k ∈ {0, 1, 2, 3}
g3 > g'3 ⇒ g3 × k ≥ g'3 × k ∀ g3,g'3,k ∈ [0, 1]
Respecto a la conservación de la igualdad, la demostración es trivial:
g1 = g'1 ⇒ g1 + k = g'1 + k ∀ g1,g'1,k ∈ ℜ
g2 = g'2 ⇒ max(g2, k) = max(g2, k) ∀ g2,g'2,k ∈ {0, 1, 2, 3}
g3 = g'3 ⇒ g3 × k = g'3 × k ∀ g3,g'3,k ∈ [0, 1]
Por lo que es fácil concluir que el orden de poda basado en G(P) conserva el orden del
problema (pA), y por tanto será 1-prudente.
El resultado de aplicar el procedimiento MO-Z* se muestra en la tabla 9.2 donde
aparecen para cada iteración del algoritmo los nodos hasta los que llegan caminos de
ABIERTOS y los vectores de estimación correspondientes. Se supone que en caso de que
haya dos caminos minimales en ABIERTOS respecto a pF se desempata siempre eligiendo
uno arbitrariamente, aunque prefiriendo siempre los caminos solución. Los caminos
seleccionados en cada iteración se señalan mediante el símbolo %; otras alternativas
181
igualmente preferibles se señalan mediante el símbolo <. El estado del grafo de búsqueda para
cada iteración se muestra en la figura 9.9.
Iteración Nodos con caminos ABIERTOS
Estimaciones: F = G(P)
It. 1 1 (raíz) (0, 0, 1) % 2 (1000, 2, 0.99) It. 2 3 (1000, 1, 0.99) % 2 (1000, 2, 0.99) <
(1800, 1, 0.792) 4 (1500, 2, 0.7425)
It. 3
5 (1700, 1, 0.891) % 2 (1000, 2, 0.99) <
(1800, 1, 0.792) % 4 (1500, 2, 0.7425)
(2000, 1, 0.7128)
It. 4
6 (2500, 2, 0.88209) 4 (1500, 2, 0.7425) <
(2000, 1, 0.7128) < (2000, 3, 0.9603) <
It. 5
6 (2500, 2, 0.88209) %
Tabla 9.2. Resultado de la aplicación de MO-Z* desglosado por iteraciones.
Buscando hacia atrás en el grafo de búsqueda puede reconstruirse el camino con
vector de atributos (2500, 2, 0.88209). Se trata de la ruta (1, 3, 5, 6).
182
(0, 0, 1)1
Iteración 1
(1000, 1, 0.99)
(1000, 2, 0.99)
3
2
1
Iteración 2
(1700, 1, 0.891)
(1500, 2, 0.7425)(1800, 1, 0.792)
4
53
2
1
(1000, 2, 0.99)
Iteración 3
(1500, 2, 0.7425)(1800, 1, 0.792)
4
53
2
1
(1000, 2, 0.99)
(2500, 2, 0.88209)
(2000, 1, 0.7128)
6
Iteración 4
(2500, 2, 0.88209)
6
4
53
2
1
(1500, 2, 0.7425)(2000, 1, 0.7128)
(2000, 3, 0.9603)
Iteración 5
Figura 9.9. Estado del grafo de búsqueda para las sucesivas iteraciones de MO-Z*. Los nodos yaexpandidos al menos una vez se muestran sombreados. El vector de atributos correspondiente al
camino seleccionado en cada iteración aparece subrayado.
9.7.4 Comentarios
El algoritmo MOA* (Stewart & White, 1991) es una especialización de MO-Z* en el
sentido de que todos los atributos considerados son aditivos. En realidad MOA* puede
obtenerse como una instancia de MO-Z* salvo por las siguientes diferencias:
183
• La gestión del grafo de búsqueda empleado por MO-Z* es más eficiente.
Concretamente no se reabren todos los caminos asociados a un nodo cada vez que
se encuentra un nuevo camino eficiente hasta él. Esto supone una importante
mejora en eficiencia en algunos casos.
• La versión presentada aquí de MO-Z* es 1-admisible, mientras que MOA* está
generalizado para ser N-admisible.
En (Stewart & White, 1991) se presenta una descripción detallada de MOA* junto a
una demostración de su N-admisibilidad.
La finalidad del algoritmo MO-Z* descrito en esta sección es simplemente la
obtención de un único camino solución óptimo de Pareto. En realidad MO-Z* tiene,
posiblemente, poca utilidad práctica, ya que cuando se utilizan criterios de preferencia
multiobjetivo normalmente se espera obtener bien el conjunto de todas las soluciones óptimos
de Pareto, o bien una aproximación del mismo.
En las secciones 9.11. y 9.12 se describe una sencilla generalización de POP* que
permite obtener una versión N-admisible de MO-Z*.
El algoritmo MO-Z* sirve, no obstante, como punto de partida para la obtención de
diversos algoritmos que se describen a continuación. En muchos problemas que emplean
preferencias basadas en funciones de valor o satisfacción de metas todos los atributos son del
tipo "cuanto más mejor" o "cuanto menos mejor". Las soluciones a estos problemas se
encuentran siempre entre los óptimos de Pareto.
9.8. BÚSQUEDA CON FUNCIONES DE COSTE/VALOR
MULTIATRIBUTO
En esta sección se consideran los problemas de búsqueda heurística con criterios de
preferencia basados en funciones de coste/valor. En estos problemas se desea encontrar un
camino solución óptimo en un grafo G donde la bondad de cada camino P se mide empleando
una función escalar c(P) (o más concretamente c(A(P)) que es función de diversos atributos
del camino. Normalmente se habla de coste cuando se desea minimizar una función, y de
utilidad o valor cuando se desea maximizarla. Ambos problemas son dos caras de la misma
184
moneda. El análisis realizado en esta sección trata sobre la minimización de funciones de
coste multiatributo.
Consideremos una particularización de POP-Z* en la que el criterio de preferencia
heurístico consiste en minimizar una función multiatributo c(A):
A = (a1, a2,...aq) pA A’= (a1’, a2’,...aq’) sii c(A) < c(A’)
Este caso es sin duda el problema de búsqueda en grafos multicriterio que se ha
estudiado de forma más extensa, ya que tiene una correspondencia directa con la
minimización de funciones objetivo escalares. En este tipo de problemas se dan las siguientes
circunstancias:
1) La función de estimación escalar c(P) establece una relación de orden débil entre
los vectores de atributos, por tanto puede considerarse que para cada camino
solución parcial P existe una única estimación dada por:
)}({)()(
FF
cminPkPF∈
=
2) Los caminos solución minimales coinciden con los óptimos de la función c(P):
P-SET*(s, Γ) = { P ∈ P-SET(s, Γ) / ¬∃ P’ ∈ P-SET(s, Γ) con c(P’) < c(P)}.
Para la optimización de funciones que conservan el orden de preferencia Pearl propone
los algoritmos BF* y Z* (Pearl, 1984). El primero no impone ninguna restricción sobre la
naturaleza de c(P), mientras que el segundo es un caso particular en el que c(P) debe ser
acumulable.
Los algoritmos que se discuten a continuación basan su admisibilidad en la elección de
un criterio de poda y una función heurística multicriterio adecuados.
9.8.1 Algoritmo Z*
El algoritmo Z* fue propuesto en (Pearl, 1984) en el contexto de los algoritmos de
optimización escalares. En Z* el criterio de poda pp es el propio criterio de preferencia:
G pp G' sii c(G) < c(G')
185
En caso de vectores iguales se emplea un orden arbitrario.
Cuando solo se considera un atributo, A = (a), el algoritmo sirve para minimizar las
funciones de coste acumulables más habituales (+, ×, min, max). La siguiente proposición
establece las condiciones para la 1-admisibilidad en el caso multiatributo.
Proposición 12 Si se cumplen las siguientes condiciones:
Z-1. La función heurística empleada H(n) es admisible.
Z-2. La función c(P) conserva el orden (≤ y la igualdad).
Entonces Z* es 1-admisible en grafos finitos. ♣
Demostración:
Sólo hay que comprobar que las condiciones Z-1 y Z-2 implican las condiciones 1-4
de POP* (proposición 2). En la sección 9.6.4 se ha visto que la admisibilidad de H(n) implica
que (pF , F) es mínimamente optimista y concordante con (pA, A). Al conservar c(P) el orden
de preferencia, el criterio de poda es 1-prudente. Además el orden de preferencia es un orden
débil, por lo que es transitivo. ♣
Proposición 13
Si además de las condiciones Z-1, Z-2 se cumple lo siguiente:
Z-3. La función de estimación heurística k(P) no está acotada en caminos infinitos.
Entonces el algoritmo Z* es 1-admisible en grafos infinitos. ♣
Demostración:
Sea k* el valor de k(P) para un camino solución óptimo. Si la función k(P) no está
acotada en caminos infinitos y al ser por definición el grafo G localmente finito, sólo puede
existir un número finito de caminos solución parciales P’ con k(P’) ≤ k*. Por tanto Z-3
implica la condición 5 de POP*, y el algoritmo terminará seleccionando un camino solución P
con k(P) = k* en un número finito de pasos. ♣
186
Aparentemente sólo existen dos funciones multiatributo que conserven el orden de
preferencia, y ambas son acumulables (Carraway y otros, 1990):
1. Las funciones de atributos ai(P) aditivas y c(A) = κ1a1 + κ2a2 + .... κqaq, donde las κi
son constantes reales.
2. Las funciones de atributos ai(P) multiplicativas, atributos siempre positivos y c(A)
= κa1α1 a2
α2 ... aqαq, donde κ es una constante real y ∀ i ai ≥ 0.
A las que se pueden asociar criterios de preferencia heurísticos con las siguientes
funciones k(P) respectivamente:
}...{)( 2211)(),..( 1qqPFff
fffminPkq
κκκ ++=∈
}...{)( 22
11)(),..( 1
qqPFff
fffminPkq
ααακ ××=∈
No tiene mucho sentido entonces buscar una generalización de BF* para problemas
multicriterio, dado que en BF* el criterio de poda es igual al de preferencia heurístico. De
hecho, POP* es una generalización de BF* al caso multicriterio, pero con la salvedad de que
el criterio de poda se mantiene intencionadamente más genérico.
9.8.2 Algoritmo ZL*
Hemos visto que Z* es adecuado para dos funciones de coste multiatributo
interesantes. Para el caso de funciones c(P) que no conserven el orden puede emplearse otro
algoritmo que denominaremos ZL*. Este algoritmo está basado en el propuesto en (Loui,
1983) para búsqueda multicriterio no informada con atributos aditivos. ZL* está generalizado
para atributos acumulables y búsqueda heurística.
En ZL* el criterio de poda pp se basa en el orden de Pareto sobre los valores de G(P):
G = (g1, g2,...gq) pp G’= (g1’, g2’,...gq’) sii
∀ i gi ≤ gi‘∧ G ≠ G’
En caso de vectores iguales se emplea un orden arbitrario.
187
Definición:
Diremos que una preferencia pA es monótona con los vectores de atributos A = (a1(P),
a2(P),...aq(P)) si:
• Todos los atributos ai(P) son del tipo “cuanto menos mejor” o “cuanto más mejor”.
• Si ai(P) es del tipo “cuanto más mejor”, entonces para dos vectores cualesquiera A
= (a1, a2,...aq), A = (a1’, a2’,...aq’) se cumple siempre que,
∃ i ai > ai’ ∧ ∀ j≠i aj = aj’ ⇒ A pA A’.
• Si ai(P) es del tipo “cuanto menos mejor”, entonces para dos vectores cualesquiera
A = (a1, a2,...aq), A = (a1’, a2’,...aq’) se cumple siempre que,
∃ i ai < ai’ ∧ ∀ j≠i aj = aj’ ⇒ A pA A’.
♣
Proposición 14
Si se cumplen las siguientes condiciones:
ZL-1. H(n) es admisible.
ZL-2. c(P) es monótona con todas las funciones ai(P).
ZL-3. Todas las funciones gi(P) conservan el orden (≤ y la igualdad).
Entonces ZL* es 1-admisible en grafos finitos. ♣
Demostración:
La condición ZL-1 implica las condiciones 1 y 2 de POP* (proposición 2). El orden de
preferencia también es transitivo por definición.
Ahora bien, como se supone que c(P) es monótona con las funciones ai(P), entonces
por definición los óptimos de c(P) / P ∈ P-SET(s, Γ) estarán entre los óptimos de Pareto de
los A(P) / P ∈ P-SET(s, Γ). Como las funciones gi(P) conservan el orden, entonces la poda de
óptimos de Pareto será 1-admisible, y la de los óptimos de c(P) también. Al conservar todas
188
las funciones gi(P) la igualdad, cualquier orden de poda para el caso de la igualdad será
también 1-admisible. ♣
Proposición 15
Si además de las condiciones ZL-1, ZL-2 y ZL-3 se cumple que:
ZL-4. La función de estimación heurística k(P) no está acotada en caminos infinitos.
Entonces ZL* es 1-admisible en grafos infinitos. ♣
Demostración:
La condición ZL-4 es idéntica a la Z-3 (proposición 3). Por tanto la demostración es
idéntica a la presentada para el algoritmo Z*. ♣
Para conseguir criterios de poda más eficaces puede intentar aplicarse la condición
CMM (véase la sección 9.5.2.2) tal como se explica en (Carraway y otros, 1990).
9.8.3 Algoritmo U*
(White y otros, 1992) proponen un algoritmo de búsqueda heurística denominado U*
para la optimización de funciones de valor que no conserven el orden. El objetivo es
aparentemente aprovechar la condición CMM descrita en la sección 9.5.2.2 (Carraway y
otros, 1990) con ayuda de información heurística sobre el problema. Se supone que los
atributos son acumulables mediante operador o y que F(P) es de estimación directa.
Tal y como aparece descrito en el artículo original, U* supone que todos los atributos
son del tipo "cuanto más mejor", y que se pretende maximizar el valor de una función u(P).
Por coherencia con los restantes algoritmos analizados en la tesis, y sin pérdida de
generalidad, la versión aquí comentada de U* se ha modificado para atributos del tipo "cuanto
menos mejor" y función c(P) a minimizar.
(White y otros, 1992) presentan un criterio de poda que los autores denominan
"culling" (eliminación selectiva), y que, empleando la notación ya presentada, puede
describirse de la siguiente forma. Sean dos caminos P'' = (s,.., n''), P' = (s,..n'):
189
P'' pp P' sii
∀ FP’∈ F(P'), ∀ FP'' ∈ F(P''), c(FP'') < c(FP’)
En definitiva, un camino P'' permite podar a otro P' si todas las estimaciones
heurísticas de P'' son preferibles a las de P'.
Una diferencia importante con otros criterios de poda presentados en este capítulo es
la utilización de información heurística, de hecho E(P) = F(P). Además, para que un camino
pode a otro no es necesario que conduzcan al mismo nodo. Es fácil comprobar que cuando
varios caminos conducen a un mismo nodo, el criterio de poda solo conserva aquellos que son
óptimos de Pareto. Sin embargo los propios autores afirman lo siguiente: “... señalamos que
gran parte del cálculo de eliminación selectiva [culling] es improductivo, como puede
observarse a partir de la pequeña proporción de iteraciones en las que los vectores de atributos
son eliminados por este procedimiento” (p. 362).
Obviamente U* no es una instancia de POP-Z*, aunque si de POP*. La siguiente
proposición analiza las condiciones presentadas en (White y otros, 1992) para su
admisibilidad.
Proposición 16
Si se cumplen las siguientes condiciones:
U1. H(n) es tal que:
a) ∀ n ∈ NODOS(G) ∃ P∈ P-SET*(n, Γ) ∧ ∃ H ∈ H(n) / H ≥ A(P)
b) ∃ P*=(s=n0, n1, ... nK=γ ) ∈ P-SET*(s, Γ) / ∀ Pi = (ni, ni+1,...nK) subcamino de P*
∃ H = A(Pi)∈ H(ni)
U2. c(P) es isótona (monótona no decreciente) con los valores de los atributos, i.e., sean dos
vectores de atributos A = (a1, a2,...aq), A = (a1’, a2’,...aq’) se cumple siempre que,
∀ ai, ai ≤ ai’ ⇒ A pA A’
U3. El operador de acumulación o es tal que para cualesquiera vectores R1, R2, X ∈ ℜ q, se
cumple siempre que: R1 ≤ R2 ⇒ R1 o X ≤ R2 o X
Entonces U* es 1-admisible en grafos finitos (White y otros, 1992, p.360). ♣
190
Las condiciones U2 y U3 son similares a las ya presentadas para otros algoritmos. La
condición U2 significa que los óptimos de c(P) se encontrarán entre los óptimos de Pareto. La
condición U3 tiene una finalidad análoga a la definición de conservación del orden descrita en
la sección 9.5.2.1.
Las condiciones establecidas en U1 sobre la función heurística H(n) son
extraordinariamente fuertes:
a) Todos los nodos tienen al menos una estimación pesimista o igual al valor real de
los atributos de algún camino solución minimal local.
b) Al menos para un camino solución minimal del problema todas las estimaciones
son exactas, es decir, coinciden con el valor real de los atributos.
Obviamente estas condiciones no coinciden con la definición de función heurística
admisible presentada en la sección 9.6.4 y utilizada en el resto de este capítulo.
Demostración:
Las condiciones presentadas son muy específicas y por tanto no implican las
condiciones suficientes presentadas para la 1-admisibilidad de POP*. Sin embargo, también
son suficientes para demostrar la 1-admisibilidad de U*.
Las condiciones U1 y U3 garantizan de por sí que el algoritmo terminará
seleccionando alguno de los caminos solución minimales P* que cumplan U1.b.
Las condiciones U1.a, U2 y U3 garantizan que el criterio de poda no eliminará de
ABIERTOS nunca los subcaminos solución parciales de los caminos P* que cumplan U1.b.
Gracias a U1 sabemos que un camino solución minimal P* tiene estimación exacta. Para que
fuese podado por otro camino solución parcial P’ que conduzca a una solución no minimal
sería necesario que P’ tuviese estimaciones mejores, lo cual es imposible, ya que por U1 todas
las estimaciones son pesimistas o iguales a los valores reales y P’ conduce a una solución
peor. Tanto si P’ conduce a solución minimal como si no, al ser la estimación pesimista y
cumplirse U2, U3, nunca podrá podar a ningún subcamino de P*.
♣
191
Proposición 17
Si además de las condiciones anteriores (U1-3) se cumple que:
U4. La función de estimación heurística k(P) no está acotada en caminos infinitos.
Entonces U* es 1-admisible en grafos infinitos. ♣
Demostración:
La demostración es idéntica a la presentada para Z* (proposición 13), aunque no se
proporciona en (White y otros, 1992). ♣
9.8.4 Excursiones con valor multiatributo
Para ilustrar el funcionamiento del algoritmo ZL* se consideran los criterios
empleados por Fali, el segundo excursionista, en el problema de planificación de excursiones
presentado en la sección 9.7.2.
Fali ha desarrollado una ecuación que representa el coste multiatributo de cada
excursión cuando intervienen los factores distancia, nivel de dificultad (1-simple; 2-media; 3-
avanzada) y probabilidad de no encontrar osos. Sea A(P) = (a1, a2, a3) el vector de atributos de
un camino P, donde:
a1 = distancia recorrida.
a2 = dificultad máxima.
a3 = probabilidad de no encontrar osos.
La ecuación elaborada por Fali es:
321
1000)( aaac −×=A
Emplearemos la función heurística ∀ n H(n) = {(0,-∝ ,1)}, al igual que en el ejemplo
presentado en la sección 9.7.3. Puesto que el problema corresponde a un grafo finito, para
asegurar que la solución encontrada por ZL* es minimal es necesario mostrar que:
1. La función heurística empleada es admisible.
192
2. La función c(P) es monótona con los gi(P).
3. Las funciones gi(P) conservan el orden ≤ y la igualdad.
Las condiciones 1 y 3 se cumplen como ya se demostró en la sección 9.7.3. También
es fácil mostrar que se cumple la condición 2:
u(g1, g2, g3) ≤ u(g1+ k, g2, g3) ∀ g1,g2, g3 ∈ ℜ , k > 0.
u(g1, g2, g3) ≤ u(g1, max(g2, k), g3) ∀ g1,g2, g3,k ∈ {1, 2, 3}
u(g1, g2, g3) ≤ u(g1, g2, g3×k) ∀ g1,g2, g3,k ∈ [0, 1]
El resultado de aplicar el procedimiento ZL* se muestra en la tabla 9.3, donde aparecen
para cada iteración del algoritmo los nodos con caminos en ABIERTOS y los vectores de
estimación de atributos de los caminos que llegan a ellos. Se supone que en caso de que haya
dos caminos minimales en ABIERTOS se desempata siempre eligiendo uno arbitrariamente,
prefiriendo siempre los caminos solución. Los caminos seleccionados en cada iteración se
señalan mediante el símbolo %. El estado del grafo de búsqueda en cada iteración se muestra
en la figura 9.10.
Tras la expansión del nodo 2 en la iteración 3, el camino (1,3,2,4) resulta podado al
estar dominado su vector de atributos (2800, 3, 0.76824). Tras la expansión del nodo 4 en la
iteración 4, el camino (1,3,4,6) resulta podado al estar dominado su vector de atributos (3000,
2, 0.735075).
193
Iteración Nodos con caminos ABIERTOS
Estimaciones: F-SET(n) c(F)
It. 1 1 (raíz) (0, 0, 1) -1 % 2 (1000, 2, 0.99) 1.01 It. 2 3 (1000, 1, 0.99) 0.01 % 2 (1000, 2, 0.99) 1.01
(1800, 1, 0.792) 1.008 4 (1500, 2, 0.7425) 2.2575
It. 3
5 (1700, 1, 0.891) 0.809 % 2 (1000, 2, 0.99) 1.01
(1800, 1, 0.792) 1.008 % 4 (1500, 2, 0.7425) 2.2575
(2000, 1, 0.7128) 1.2872
It. 4
6 (2500, 2, 0.88209) 4.11791 4 (1500, 2, 0.7425) 2.2575
(2000, 1, 0.7128) 1.2872 % (2000, 3, 0.9603) 5.0397
It. 5
6 (2500, 2, 0.88209) 4.11791 It. 6 6 (2500, 2, 0.88209) 4.11791
(3500, 1, 0.705672) 2.794328 % (3500, 3, 0.950697) 9.549303
Tabla 9.3. Resultado de aplicar el procedimiento ZL* desglosado por iteraciones.
Buscando hacia atrás en el grafo de búsqueda puede reconstruirse el camino con
vector de atributos (3500, 1, 0.705672). Se trata de la ruta (1, 3, 5, 4, 6).
194
(0, 0, 1) : -11
Iteración 1
(1000, 1, 0.99) : 0.01
(1000, 2, 0.99) : 1.01
3
2
1
Iteración 2
(1700, 1, 0.891): 0.809
(1500, 2, 0.7425): 2.2575(1800, 1, 0.792): 1.008
4
53
2
1
(1000, 2, 0.99) : 1.01
Iteración 3
(1500, 2, 0.7425):2.2575(1800, 1, 0.792):1.008
4
53
2
1
(1000, 2, 0.99):1.01
(2500, 2, 0.88209):4.11791
(2000, 1, 0.7128):1.2872
6
Iteración 4
(2500, 2, 0.88209): 4.11791
6
4
53
2
1
(2000, 3, 0.9603):5.0397(2000, 1, 0.7128):1.2872
(1500, 2, 0.7425):2.2575
Iteración 5
(2500, 2, 0.88209): 4.11791 6
4
53
2
1(3500, 3, 0.9506):9.5493(3500, 1, 0.705):2.7943
Iteración 6
Figura 9.10. Estado del grafo de búsqueda para las sucesivas iteraciones de ZL* aplicado al ejemplo.Los nodos que ya se expandieron al menos una vez se muestran sombreados. El vector de atributos
correspondiente al camino seleccionado en cada iteración aparece subrayado.
9.8.5 Comentarios
Las características de los algoritmos analizados para la minimización de funciones de
coste multiatributo aparecen resumidas en la tabla 9.4.
195
Alg. Criterio de poda Condiciones suficientes para 1-admisibilidad en grafos finitos.
Z* P pp P’ sii P y P’ llevan al mismo nodo, c(G(P)) < c(G(P’))
H(n) admisible. c(P) conserva el orden (≤ y la igualdad).
ZL* P pp P’ sii P y P’ llevan al mismo nodo, G(P) = (g1, g2,...gq), G(P’)= (g1’, g2’,...gq’) , ∀ i gi ≤ gi‘ ∧ G(P) ≠ G(P’)
H(n) admisible. c(P) es monótona con los atributos. Los atributos conservan el orden (≤ y la igualdad).
U* P'' pp P' sii ∀ FP’∈ F(P'), ∀ FP'' ∈ F(P''), c(FP'') < c(FP’)
H(n) es tal que: (i) todos los nodos tienen algún H pesimista; (ii) H es exacto para los nodos de algún camino solución minimal. c(P) es isótona con los atributos. R1 ≤ R2 ⇒ R1 o X ≤ R2 o X ∀ R1, R2, X ∈ ℜ q
Tabla 9.4. Criterios de poda y condiciones para la 1-admisibilidad de los algoritmos Z*, ZL* y U*.
A partir de los resultados descritos puede concluirse que la generalización de Z* para
el caso multicriterio es de utilidad en los dos tipos de funciones multiatributos más utilizadas
(la aditiva y la multiplicativa), aunque sólo en el caso de que todos los atributos sean también
aditivos o multiplicativos respectivamente.
En otros casos la función de coste c(P) no conservará el orden. No parece tener sentido
entonces una generalización directa de BF*, y es necesario buscar criterios de poda
alternativos. Es bastante frecuente que todos los atributos considerados sean bien del tipo
"cuanto más mejor" o bien "cuanto menos mejor". En tal caso las funciones de coste/valor
suelen ser monótonas y puede usarse ZL*, que emplea el orden de Pareto como criterio de
poda.
La condición CMM descrita en la sección 9.5.2.2 (Carraway y otros, 1990) abre la
posibilidad de criterios de poda más eficaces que el orden de Pareto, aunque para que sean
efectivos es necesario disponer de información heurística adecuada. El algoritmo U* es un
ejemplo muy restringido, ya que la información heurística que precisa difícilmente estará
disponible en muchos problemas reales. El mayor inconveniente de este algoritmo es que sus
autores no proporcionan criterios operativos para obtener el tipo de información heurística
necesaria.
196
9.9. BÚSQUEDA CON OBJETIVOS ORDENADOS POR PRIORIDAD
El método lexicográfico (véase p. ej. (Chankong & Haimes, 1983, pp. 200-205)) está
basado en la idea de la eliminación secuencial de alternativas. En primer lugar se pide al
centro decisor que ordene los objetivos considerados en términos de su importancia. En un
primer paso se obtienen todas las alternativas que proporcionan un valor óptimo para el
primer objetivo y se descartan las restantes. A partir del nuevo conjunto de alternativas se
calculan aquellas que proporcionan un valor óptimo para el segundo objetivo y se descartan
las demás. El proceso continúa hasta que el conjunto considerado de alternativas posee un
solo elemento, o todos los objetivos han sido considerados.
Consideremos un problema de búsqueda en grafos (G, s, Γ) con q atributos, a1(P),
a2(P), ... aq(P), y un criterio de preferencia lexicográfico consistente en los siguientes
objetivos, ordenados por prioridad:
Prioridad 1: Minimizar a1(P)
Prioridad 2: Minimizar a2(P)
...
Prioridad q: Minimizar aq(P) donde P ∈ P-SET(s, Γ)
El criterio de preferencia lexicográfico que responde a dicha formulación puede
expresarse de la siguiente forma:
A = (a1, a2,...aq) pA A’= (a1’, a2’,...aq’) sii
∃ j aj < aj’ ∧ ∀ i < j ai = ai’
Trivialmente, toda solución minimal de estos problemas será un óptimo de Pareto.
Para resolver problemas de búsqueda en grafos con este tipo de preferencias no es necesario
llevar a cabo q operaciones de búsqueda secuencialmente. Una particularización adecuada de
POP-Z* permite garantizar bajo condiciones razonables que la primera solución encontrada es
minimal.
197
9.9.1 Algoritmo PRIMO-Z*
El criterio de poda empleado por PRIMO-Z* es el propio criterio de preferencia:
G = (g1, g2,...gq) pp G’= (g1’, g2’,...gq’) sii
∃ j gj < gj’ ∧ ∀ i < j gi = gi’
Cuando G = G' se establece un orden arbitrario.
Proposición 18
Si se cumplen las siguientes condiciones:
PRIMOZ-1. La función heurística empleada H(n) es admisible.
PRIMOZ-2. Cada una de las funciones gi(P) conserva el orden < y la igualdad.
Entonces PRIMO-Z* es 1-admisible en grafos finitos. ♣
Demostración:
Al ser H(n) admisible se cumplen las condiciones 1 y 2 de POP* (proposición 2).
El orden lexicográfico es transitivo. Para comprobarlo basta ver que:
F pF F’ ⇒ ∃ j / fj < fj’ ∧ ∀ i < j fi = fi’
F’ pF F’’ ⇒ ∃ k / fk’ < fk’’ ∧ ∀ m < k fm
’ = fm’’
si j < k ⇒ fj < fj’ = fj’’ ∧ ∀ i < j fi = fi’ = fi’’
si j = k ⇒ fj < fj’ < fj’’ ∧ ∀ i < j fi = fi’ = fi’’
si j > k ⇒ fk = fk’ < fk’’ ∧ ∀ i < k fi = fi’ = fi’’
Con lo que en todos los casos F pF F’’, como se quería demostrar.
La única posibilidad de que F ~ F’ es que F = F’. Es fácil comprobar entonces que la
relación de orden no solo es transitiva, sino que es un orden estricto sobre el conjunto de
vectores de atributos.
198
Si cada componente conserva el orden de preferencia < ("menor que", estricto)
obviamente el criterio de poda es 1-prudente. ♣
Nótese que si alguna función gi(P) no conserva el orden <, no puede garantizarse que
la poda sea 1-prudente. Concretamente, conservar el orden ≤ no es suficiente.
Proposición 19
Si además de las condiciones PRIMOZ-1 y PRIMOZ-2 se cumple lo siguiente:
PRIMOZ-3. Ninguna componente fi de los vectores de estimación de atributos está acotado
en caminos infinitos.
Entonces PRIMO-Z* es 1-admisible en grafos infinitos. ♣
Demostración:
Sea F* = (f1*, f2
*,...fq*) el vector de estimación de un camino solución minimal del
problema. Si ninguna componente fi de los vectores de estimación está acotada en caminos
infinitos, al ser por definición el grafo G localmente finito, sólo puede existir un número finito
de caminos solución parciales P’ con F = (f1, f2,...fq) ∈ F(P’) / fi ≤ fi* ∀ i.
Por tanto la condición PRIMOZ-3 implica la condición 5 de POP* (proposición 3), y
el algoritmo terminará seleccionando un camino solución P con F’ ∈ F(P) / F’ = F*. ♣
9.9.2 Algoritmo PRIMO-ZL*
Consideremos una nueva variante de POP-Z* para este problema en la que el criterio
de poda empleado es el orden de Pareto sobre los valores de G(P):
G = (g1, g2,...gq) pp G’= (g1’, g2’,...gq’) sii
∀ i gi ≤ gi’ ∧ G ≠ G'
Cuando G = G' se establece un orden arbitrario.
199
Proposición 20
Si se cumplen las siguientes condiciones:
PRIMOZL-1. La función heurística empleada H(n) es admisible.
PRIMOZL-2. Cada una de las funciones gi(P) conserva la igualdad y bien el orden < o bien
el orden ≤.
Entonces PRIMO-ZL* es 1-admisible en grafos finitos. ♣
Demostración:
Al ser H(n) admisible se cumplen las condiciones 1 y 2 de POP* (proposición 2).
El orden lexicográfico es transitivo y establece un orden estricto sobre el conjunto de
vectores de atributos.
Sabemos que las soluciones a un problema lexicográfico están siempre entre los
óptimos de Pareto de los A(P) ∀ P ∈ P-SET(s, Γ). Como las funciones gi(P) conservan el
orden el orden < ó el ≤, entonces la poda de óptimos de Pareto será 1-admisible, y en
consecuencia la de los óptimos del orden lexicográfico también. Al conservar todas las
funciones gi(P) la igualdad, cualquier orden de poda para el caso de la igualdad será también
1-admisible. ♣
Proposición 21
Si además de las condiciones PRIMOZL-1 y PRIMOZL-2 se cumple lo siguiente:
PRIMOZL-3. Ninguna componente fi de los vectores de estimación de atributos está acotado
en caminos infinitos.
Entonces PRIMO-ZL* es 1-admisible en grafos infinitos. ♣
Demostración:
Idéntica a la presentada para la proposición 19. ♣
200
9.9.3 Excursiones lexicográficas
Consideremos un criterio de preferencia lexicográfico para el problema descrito en la
sección 9.7.2. Carmen, la tercera excursionista, se plantea como objetivos minimizar la
distancia recorrida y maximizar la probabilidad de no encontrar osos. Sin embargo, considera
que no todos los objetivos tienen la misma importancia y que hay que abordarlos
ordenadamente. Los datos del modelo lexicográfico resultante se muestran en la tabla 9.5.
Prioridad Atributo Objetivo Operador de acumulación
1ª a1 = distancia recorrida minimizar + 2ª a2 = prob. no encontrar osos maximizar ×
Tabla 9.5. Dos objetivos ordenados por prioridad.
Es decir, lo más importante es minimizar la distancia recorrida. Adicionalmente, y sin
perjuicio del objetivo anterior, se desea minimizar la probabilidad de no encontrar osos.
Supondremos que el vector de atributos de un camino P es A(P) = (a1, a2).
Puesto que el problema corresponde a un grafo finito, para asegurar que la solución
encontrada por PRIMO-Z* es minimal respecto al criterio de preferencia lexicográfico, es
necesario mostrar que:
1. La función heurística empleada ∀ n H(n) = {(0, 1)} es admisible.
2. Cada una de las funciones gi(P) i = 1,2 conserva el orden < y la igualdad.
La condición 1 se cumple, tal y como se demostró en la sección 9.7.3. Para comprobar
la condición 2, sean los caminos:
P P'
P''
donde G(P) = (g1, g2), G(P’) = (g1’, g2’), G(P’’) = (g1’’, g2’’).
201
Es fácil comprobar entonces que:
! g1 < g1’ ⇒ g1 + g1’’ < g1’ + g1’’ ∀ g1, g1’, g1’’ ∈ ℜ +
! g2 < g2’ ⇒ g2 × g2’’ < g2’ × g2’’ ∀ g2, g2’, g2’’ ∈ [0, 1]
Por tanto puede emplearse el algoritmo PRIMO-Z* para resolver este problema. El
resultado se muestra en la tabla 9.6. La figura 9.11 muestra el estado del grafo de búsqueda
(en realidad, un árbol de búsqueda) para cada iteración. Los caminos seleccionados en cada
iteración se señalan mediante el símbolo %; otras alternativas igualmente preferibles se
señalan mediante el símbolo <. El camino resultante es el (1,3,5,6) con atributos (2500,
0.88209).
It. Nodos con caminos ABIERTOS
Estimaciones: F-SET(n) = G-SET(n)
Podas
It. 1 1 (raíz) (0, 1) % 2 (1000, 0.99) % It. 2 3 (1000, 0.99) <
3 (1000, 0.99) % It. 3 4 (2000, 0.9603)
Se poda el camino (1,2,3) con atributos (1800, 0.792)
4 (1500, 0.7425) % It. 4
5 (1700, 0.891)
Se poda el camino (1,3,2) con atributos (1800, 0.792). Se poda el camino (1,2,4) con atributos (2000, 0.9603).
5 (1700, 0.891 % It. 5 6 (3000, 0.735075)
It. 6 6 (2500, 0.88209) % Se poda el camino (1,3,4,6) con atributos (3000, 0.735075)
Tabla 9.6. Datos correspondientes a la aplicación del algoritmo PRIMO-Z*.
202
(0, 1)1
Iteración 1
(1000, 0.99)
(1000, 0.99)
3
2
1
Iteración 2
(2000, 0.9603)
(1000, 0.99)
4
3
2
1
Iteración 3
(1700, 0.891)
4
53
2
1
(1500, 0.7425)
Iteración 4
(1700, 0.891)
6
4
53
2
1 (3000, 0.735)
Iteración 5
6
4
53
2
1
(2500, 0.735)
Iteración 6
Figura 9. 11. Estado del grafo de búsqueda para las sucesivas iteraciones de PRIMO-Z* aplicado alejemplo. Los nodos que ya se expandieron al menos una vez se muestran sombreados. El vector de
atributos correspondiente al camino seleccionado en cada iteración aparece subrayado.
Consideremos ahora el caso en que Carmen decide tener en cuenta también la
dificultad del camino como tercer objetivo, tal y como se muestra en la tabla 9.7.
Prioridad Atributo Objetivo Operador de Acumulación
1ª a1 = distancia recorrida minimizar + 2ª a2 = prob. no encontrar osos maximizar × 3ª a3 = dificultad máxima minimizar max
Tabla 9.7. Dos objetivos ordenados por prioridad.
203
Es fácil comprobar entonces que, dados tres vectores cualesquiera, G(P) = (g1, g2, g3),
G(P’) = (g1’, g2’, g3’), G(P’’) = (g1’’, g2’’, g3’’), no se cumple en general que:
! g3 < g3’ ⇒ max(g3, g3’’ ) < max(g3’, g3’’) ∀ g3, g3’, g3’’ ∈ {0, 1, 2, 3}
Por tanto no se satisfacen las condiciones de PRIMO-Z* enunciadas en la proposición
18. Si se cumplen, por el contrario, las condiciones de PRIMO-ZL*, que sólo exige conservar
el orden ≤. En consecuencia, la elección adecuada para este nuevo problema sería el algoritmo
PRIMO-ZL*.
9.9.4 Comentarios
En el caso de las preferencias lexicográficas es fácil comprobar que la relación de
orden no solo es transitiva, sino que establece un orden estricto sobre el conjunto de vectores
de estimación de atributos. Una consecuencia muy interesante es que si los atributos
conservan el orden < y la igualdad (PRIMO-Z*), sólo es necesario conservar en CAMINOS
un camino hasta cada nodo conocido, y por tanto puede utilizarse como estructura un árbol de
búsqueda tal como ocurre en el algoritmo A*. Esto supone no solo una implementación más
sencilla del algoritmo, sino una mayor eficiencia del mismo en comparación con los criterios
de poda empleados en otros algoritmos multicriterio.
Una versión de PRIMO-Z* con atributos aditivos (denominada PRIMO-A*) aparece
descrita en (Mandow y otros, 1998), junto a su aplicación a un problema de planificación de
caminos para robots móviles autónomos. Este caso es especialmente interesante, ya que la
función suma conserva la igualdad y el orden <.
9.10. BÚSQUEDA CON SATISFACCIÓN DE METAS
Las preferencias basadas en la satisfacción de metas no han recibido demasiada
atención hasta la fecha dentro de los problemas de búsqueda en grafos. Podemos definir
informalmente los problemas de metas ponderadas como consistentes en encontrar un camino
solución no dominado P que satisfaga lo mejor posible un conjunto de metas. La importancia
relativa de las metas se mide empleando un conjunto de pesos {wi}, i.e.:
204
Encontrar un camino P que satisfaga ai(P) ≤ ti con importancia relativa wi
donde i = 1..q
P ∈ P-SET(s, Γ) ∀ i ti ≥ 0, wi > 0
Los dos criterios de preferencia que se describen a continuación son, posiblemente, los
más utilizados para problemas de satisfacción de metas:
• Metas ponderadas:
A = (a1, a2,...aq) pA A’= (a1’, a2’,...aq’) sii
p(A) < p(A’)
o bien
p(A) = p(A’) ∧ ∀ i ai ≤ ai‘ ∧ A ≠ A’
Suponiendo que todas las metas son de la forma ai ≤ ti, todos los atributos son
del tipo "cuanto menos mejor", y p(A) es una medida de la desviación ponderada de
las metas.
• Metas lexicográficas:
A = (a1, a2,...aq) pA A’= (a1’, a2’,...aq’) sii
∃ j / pj(A) < pj(A’) ∧ ∀ i < j pi(A) = pi(A’)
o bien
∀ k pk(A) = pk(A’) ∧ ∀ i ai ≤ ai‘ ∧ A ≠ A’
Suponiendo que todas las metas se agrupan en niveles de prioridad
excluyentes, que las metas del nivel de prioridad i son de la forma aij ≤ tij, que todos
los atributos son del tipo "cuanto menos mejor", y que pi(A) es una medida de la
desviación ponderada de las metas del nivel de prioridad i.
Cuando varias soluciones proporcionan la misma satisfacción de las metas se prefieren
aquellas que sean óptimos de Pareto, ya que todos los atributos se suponen del tipo "cuanto
205
menos mejor". Cuando no es posible satisfacer todas las metas simultáneamente la solución
viene dada por aquellos caminos óptimos de Pareto para los que la desviación ponderada de
las metas es mínima.
Podemos medir la desviación de cada meta para cada componente ai de un vector de
atributos A como:
max(0, ai - ti)
En algunos casos es habitual normalizar las desviaciones dividiéndolas por ti. El
resultado mide entonces la desviación porcentual de cada meta respecto a su nivel de
aspiración. Obviamente, en tales casos se exige que ∀ i ti > 0.
Existen diversas formas de medir la desviación ponderada de las metas. Las más
usuales son las siguientes, o sus formas normalizadas:
• Suma ponderada de desviaciones:
∑=
−×=q
iiii tamaxwp
1),0()(A
• Desviación ponderada máxima (estrategia minmax):
[ ]),0()( iiiitamaxwmaxp −×=A
Un problema de satisfacción de metas lexicográficas está compuesto por conjuntos de
metas ponderadas ordenados por prioridad. Para el nivel de prioridad i, la desviación de las
metas {aij ≤ tij} vendrá definida análogamente de la siguiente forma:
• Suma ponderada de desviaciones:
∑ −×=j
ijijiji tamaxwp ),0()(A
• desviación ponderada máxima:
)),0(()( ijijijji tamaxwmaxp −×=A
206
Para obtener un algoritmo de satisfacción de metas a partir de POP-Z* hay que
analizar para que casos (F, pF) es mínimamente optimista y concuerda con (A, pA), y
encontrar un criterio de poda prudente. Los órdenes de preferencia correspondientes a las
medidas de desviación p(A) descritas son trivialmente transitivos.
La siguiente sección analiza en detalle varios criterios de poda posibles. A
continuación se presenta METAL-ZL* (METAs Lexicográficas - ZL*), un algoritmo para
problemas de metas lexicográficas con atributos acumulables.
9.10.1 Criterios de poda para algoritmos de satisfacción de metas
En esta sección se analizan algunos criterios de poda posibles para los problemas de
satisfacción de metas.
9.10.1.1 Uso del criterio de preferencia como criterio de poda
Tal vez la idea más sencilla e inmediata consiste en utilizar el propio criterio de
preferencia como criterio de poda:
G pp G’ ⇔ G pA G’
Esto da resultado en otros algoritmos bajo determinadas condiciones, como por
ejemplo, Z*, MO-Z* o PRIMO-Z*. Sin embargo no parece haber ningún caso interesante en
que emplear como orden de poda pp ≡ pA resulte en un algoritmo admisible. Concretamente,
puede considerarse el siguiente ejemplo para ver que no se cumple con funciones de coste
aditivas y metas ponderadas (lógicamente tampoco se cumplirá con metas lexicográficas).
Ejemplo. Supongamos que :
& El problema consta de dos atributos A(P) = (a1(P), a2(P)).
& Ambos atributos son aditivos, i.e. o = (+, +).
Sea la definición de problema:
a1(P) ≤ 10 ; w1 = 1
a2(P) ≤ 10 ; w2 = 1
207
∑=
−×=2
1),0()(
iiii tamaxwp A
P2G(P2) = (1, 11)P1
G(P1) = (10, 1) P3A(P3) = (10, 1)
)( )( 3))((
10))(()( )(
1))((0))((
313232
3121
2
1 PPPPPPp
PPpPP
PpPp
AA GGGG
GGGG
pp ⇒
==
⇒
==
El resultado obtenido es el mismo si se aplica el criterio de la máxima desviación. ♣
Debemos concluir por tanto que, en general, los órdenes inducidos por los criterios de
preferencia considerados para la satisfacción de metas no admiten pp ≡ pA cuando las
funciones de coste son aditivas.
Puede ayudar también en esta observación el hecho de que ninguna de las funciones
escalares p(A) comentadas tiene la forma de las presentadas en la sección 9.8 para el
algoritmo Z*.
9.10.1.2 Orden de Pareto como criterio de poda
Todas las relaciones de preferencia descritas anteriormente para la satisfacción de
metas pA son isótonas con los valores de los atributos ai, i.e.:
∀ ai, ai ≤ ai' ⇒ A pA A'
En consecuencia las soluciones a los problema de metas están incluidas entre los
óptimos de Pareto, y se puede utilizar dicho orden como criterio de poda para obtener un
algoritmo 1-admisible, tal como ocurre, por ejemplo, en ZL* o PRIMO-ZL*:
G = (g1, g2,...gq) pp G’= (g1’, g2’,...gq’) sii
∀ i gi ≤ gi‘ ∧ G ≠ G'
En caso de que G = G' el orden puede ser arbitrario.
208
De hecho este ha sido el criterio empleado en las sucesivas versiones del algoritmo
METAL-A* (Mandow y Millán, 1997) (Mandow, 1997) (Fernández y otros, 1999). Tal vez
hubiera sido más adecuado para la terminología aquí empleada denominarlo METAL-AL*.
Dicho algoritmo se describe con detalle en el capítulo 10.
9.10.1.3 Criterios de poda locales para los problemas de metas
Otra posibilidad es aplicar la condición CMM a las funciones que miden la desviación
ponderada de las metas, e intentar averiguar así nuevos criterios de poda 1-prudentes.
A continuación se realiza un breve análisis suponiendo que el criterio de poda se
aplicará sobre los vectores G(P) y que la desviación de las metas acumulada por un camino se
mide como:
∑=
−×=q
iiii tgmaxwp
1),0()(G donde ∀ i wi, ti ≥ 0
Se pueden obtener resultados análogos para las otras definiciones de p(G). El criterio
resultante podrá usarse para todos los problemas de metas que usen la misma definición del
criterio de preferencia.
Sean G y G' los vectores de atributos de dos caminos que llegan a un mismo nodo n.
Condición suficiente para que:
G =(g1,.. gq) pp G' =(g1’,...gq’)
es que:
∀ A ∈ {A(P) / P ∈ P-SET(n, Γ)} p(G o A) < p(G' o A)
Si el operador de acumulación es o = (o1, o2,...oq) tendremos entonces como condición
suficiente para la poda que:
209
∀ A = (a1, a2,...aq)∈ {A(P) / P ∈ P-SET(n, Γ)}
∑∑==
−×≤−×∀q
iiiiii
q
iiiiii tagmaxwtagmaxwi
11)',0(),0( oo
∑∑==
−×<−×∃q
jjjjjj
q
jjjjjj tagmaxwtagmaxwj
11)',0(),0( oo
Las condiciones bajo las cuales lo anterior puede ser cierto serán diferentes en función
del operador de acumulación oi empleado para cada atributo. Una condición suficiente para
que se cumpla la desigualdad anterior es que se cumpla componente a componente. Una
posibilidad (por supuesto hay otras) puede ser la siguiente:
& para atributos aditivos (i.e., oi = +) se cumplirá si, para cada atributo, se cumple
alguna de las condiciones:
• ∀ A = (a1, a2,...aq)∈ {A(P) / P ∈ P-SET(n, Γ)} gi + ai - ti ≤ 0
• ∀ A = (a1, a2,...aq)∈ {A(P) / P ∈ P-SET(n, Γ)} gi + ai - ti > 0 ∧ gi ≤ g’i
y para al menos uno de ellos:
• ∀ A = (a1, a2,...aq)∈ {A(P) / P ∈ P-SET(n, Γ)} gj + aj - tj > 0 ∧ gj < g’j
& para atributos multiplicativos (i.e., oi = ×) se cumplirá si, para cada atributo, se
cumple alguna de las condiciones:
• ∀ A = (a1, a2,...aq)∈ {A(P) / P ∈ P-SET(n, Γ)} gi × ai - ti ≤ 0
• ∀ A = (a1, a2,...aq)∈ {A(P) / P ∈ P-SET(n, Γ)} gi × ai - ti > 0 ∧ gi ≤ g’i ∧
ai > 0
y para al menos uno de ellos:
• ∀ A = (a1, a2,...aq)∈ {A(P) / P ∈ P-SET(n, Γ)} gj × aj - tj > 0 ∧ gj < g’j ∧
aj > 0
210
Normalmente los valores ai de los atributos no son conocidos a menos que se calcule
expresamente ∀ n P-SET(n, Γ), pero se puede intentar dar al menos una estimación heurística
sobre ellos.
Consideremos, por ejemplo, el caso aditivo. Sean ai+ y ai
- los valores máximos y
mínimos del atributo ai para todos los caminos P ∈ P-SET(n, Γ), y hi+(n), hi
-(n) estimaciones
optimistas de los mismos:
hi+(n) ≥ ai
+= max{ai(P) / P ∈ P-SET(n, Γ)}
hi-(n) ≤ ai
- = min{ai(P) / P ∈ P-SET(n, Γ)}
Se podrán podar caminos con seguridad si para cada atributo se cumple una de las
siguientes condiciones:
• gi + hi+(n) - ti ≤ 0 (la meta se satisface hasta en el peor caso)
• gi + hi-(n) - ti > 0 ∧ gi ≤ g’i (la meta no se va a satisfacer ni en el mejor caso)
y para al menos uno de ellos:
• gj + hj-(n) - tj > 0 ∧ gj < g’j (aunque la meta no se satisfará, gj está más cerca
que gj' )
Esto significa que la información heurística que tradicionalmente se ha utilizado en los
algoritmos de búsqueda para saber qué camino es el más prometedor para conducir a una
solución también puede utilizarse ventajosamente para podar aquellos caminos que nunca
conducirán a una solución minimal al problema28.
En ausencia de información heurística, y si cada gi(P) conserva el orden ≤ y la
igualdad, puede tomarse como estimación optimista de hi-(n) el valor hi
-(n) = e ∀ n, donde e es
el elemento unitario del operador de acumulación correspondiente (0 para la suma, 1 para el
producto, etc.). En tal caso puede comprobarse fácilmente que se cumple siempre para todos
los atributos alguna de las dos condiciones para la poda si ∀ i gi ≤ gi’∧ ∃ j gj < gj', es decir, el
28 Nótese que para atributos del tipo "cuanto menos mejor" y P=(s,..n) será normalmente fi = gi(P) + hi-(n).
211
orden de Pareto es siempre un criterio de poda válido para los problemas de metas con
atributos acumulables.
9.10.2 Algoritmo METAL-ZL*
Denominamos como METAL-ZL* a una instancia de POP-Z* en la que el criterio de
preferencia es alguno de los descritos anteriormente y el criterio de poda descrito en la
sección 9.10.1.2.
Proposición 22
Si se cumplen las siguientes condiciones:
METALZL-1. La función heurística empleada H(n) es admisible.
METALZL-2. Cada componente de G(P) conserva la igualdad y el orden ≤.
Entonces METAL-Z* es 1-admisible en grafos finitos. ♣
Demostración:
La condición METALZL-1 implica por definición las condiciones 1 y 2 de POP*
(proposición 2).
Sabemos también que los órdenes descritos para la satisfacción de metas son
transitivos (condición 3 de POP*).
Veamos que las soluciones minimales correspondientes a los órdenes de preferencia
descritos se encuentran entre los óptimos de Pareto del problema. Sean dos vectores de
atributos A’’ = (a1’’,a2’’,...aq’’) y A'= (a1’,a2’,...aq’) tales que A’’ domina a A' según el orden
de Pareto. Tenemos entonces que:
∀ k ∀ i aki’ ≥ aki’’
⇒ ∀ k ∀ i aki’ - tki ≥ aki’’- tki
⇒ ∀ k ∀ i max(0, aki’ - tki) ≥ max(0, aki’’ - tki)
⇒ ∀ k dk (A’) ≥ dk (A’’)
212
El mismo razonamiento es válido tanto para las preferencias basadas en la suma
ponderada de las desviaciones como para las basadas en la estrategia minmax. Para el caso en
que se normalicen las desviaciones debe ser ∀ i ti > 0.
Si se emplea el criterio de poda de la sección 9.10.1.2 (orden de Pareto), y los
componentes de G(P) conservan la igualdad y el orden ≤ entonces la poda de óptimos de
Pareto será 1-prudente. Trivialmente nunca se podarán todos los caminos que puedan
conducir a una solución de coste minimal y la poda de soluciones satisfactorias será también
1-prudente (condición 4 de POP*). ♣
Proposición 23
Si además de las condiciones METALZL-1 y METALZL-2 se cumple lo siguiente:
METALZL-3. Los vectores de estimación de atributos F ∈ F(P) no están acotados en ninguna
de sus componentes en caminos infinitos.
Entonces el algoritmo METAL-Z* es 1-admisible en grafos infinitos. ♣
Demostración:
La demostración de la proposición es idéntica a la presentada para MO-Z*
(proposición 11). ♣
9.10.3 Excursiones con satisfacción de metas
Consideremos un criterio de satisfacción de metas para el problema descrito en la
sección 9.7.2. Manolo, nuestro último excursionista, desea establecer unos requisitos
máximos de esfuerzo para realizar el trayecto medidos en términos de la longitud y la
dificultad máxima. En ningún caso está dispuesto a esforzarse más por culpa de unos
hipotéticos osos. Como la prudencia nunca está de más decide establecer también como
criterio secundario una cota para la probabilidad de tales sorpresas, siempre y cuando ello no
interfiera en la consecución de las otras metas. Los datos del modelo resultante se resumen en
la tabla 9.8.
213
Prioridad Atributo Meta asociada Peso relativo Operador de acumulación
a1 = distancia recorrida ≤ 3000 m. w1 = 0.5 + Nivel 1. a2 = dificultad máxima ≤ 2 w2 = 0.5 max
Nivel 2. a3 = prob. no encontrar osos ≥ 0.9 - ×
Tabla 9.8. Preferencias para un problema de satisfacción de metas.
Como función de estimación de atributos se considera la acumulación de los mismos
hasta el momento, i.e. no se hace uso de información heurística alguna (H(n) = {(0,-∝ ,1)}) y
en consecuencia F(P) = {G(P)}
El operador de combinación vectorial acumulable será o = (+, max, ×).
Nótese que los dos primeros atributos son del tipo “cuanto menos mejor”, mientras
que el tercero es del tipo “cuanto más mejor”, por lo que se ha ajustado convenientemente la
ecuación p2(G). Las funciones de desviación empleadas se normalizan con los niveles de
aspiración de las metas para medir desviaciones porcentuales:
9.0)9.0,0()G(
2)2,0(5.0
3000)3000,0(5.0)G(
32
211
gmaxp
gmaxgmaxp
−=
−×+−×=
El resultado de aplicar el procedimiento METAL-ZL* se muestra en la tabla 9.9, donde
aparecen para cada iteración del algoritmo los nodos con caminos en ABIERTOS, y los
vectores de estimación de atributos junto al estado de las desviaciones de las metas para
ambos niveles de prioridad. También se indican los caminos podados en cada iteración. Los
caminos seleccionados en cada iteración se señalan mediante el símbolo %. La figura 9.12
muestra es estado del grafo de búsqueda para cada iteración. En la iteración 4 se selecciona el
camino solución P = (1, 3, 5, 6) con A(P) = (2500, 2, 0.88209), que corresponde a la única
solución minimal de este problema de metas.
214
It. Nodos con caminos ABIERTOS
Estimaciones F-SET(n)=G-SET(n) P
Podas
It. 1 1 (raíz) (0, 0, 1) (0, 0) % 2 (1000, 2, 0.99) (0, 0) It. 2 3 (1000, 1, 0.99) (0, 0) %
2 (1000, 2, 0.99) (0, 0) % (1800, 1, 0.792) (0, 0.12)
4 (1500, 2, 0.7425) (0, 0.175)
It. 3
5 (1700, 1, 0.891) (0, 0.01)
4 (1500, 2, 0.7425) (0, 0.175) (2000, 3, 0.9603) (0.25, 0)
It. 4
5 (1700,10, 0.891) (0, 0.01) %
El camino (1,3), con atributos (1000, 1, 0.99), ha podado al camino (1,2,3) con atributos (1800, 2, 0.792). El camino (1,2,4), con atributos (2000, 3, 0.9603) ha podado al camino (1,3,2,4) con atributos (2800, 3, 0.76842).
4 (1500, 2, 0.7425) (0, 0.175) (2000, 3, 0.9603) (0.25, 0) (2000, 1, 0.7128) (0, 0.208)
It. 5
6 (2500, 2, 0.88209) (0, 0.019) %
Tabla 9.9. Datos correspondientes a la aplicación al ejemplo del algoritmo METAL-ZL*.
215
(0, 0, 1) : (0,0)1
Iteración 1
(1000, 1, 0.99) : (0,0)
(1000, 2, 0.99) : (0,0)
3
2
1
Iteración 2
(1700, 1, 0.891):(0,0.01)
(1500, 2, 0.7425):(0,0.175)
(1800, 1, 0.792): (0,0.12)
4
53
2
1
(1000, 2, 0.99) : (0,0)
Iteración 3
(1500, 2, 0.7425):(0,0.175)
4
53
2
1
(1700, 1, 0.891):(0,0.01)
(2000, 3, 0.9603):(0.25,0)
Iteración 4
(2500, 2, 0.88209):(0,0.0199)
6
4
53
2
1
(2000, 3, 0.9603):(0.25,0)(2000, 1, 0.7128):(0, 0.208)
(1500, 2, 0.7425):(0,0.175)
Iteración 5
Figura 9.12. Estado del grafo de búsqueda para las sucesivas iteraciones de METAL-ZL*. Los nodosya expandidos al menos una vez se muestran sombreados. El vector de atributos del camino
seleccionado en cada iteración aparece subrayado.
9.11. POPN*: UNA VERSIÓN N-ADMISIBILE DE POP*
Los algoritmos de búsqueda descritos en las secciones anteriores de este capítulo
tienen como finalidad encontrar un camino solución minimal al problema planteado. Esta
sección considera las modificaciones necesarias para que POP* (y todos los demás algoritmos
descritos) terminen con el conjunto de todas las soluciones minimales de un problema. Para
distinguir estos algoritmos de los anteriores se emplea el superíndice N (por N-admisible) en
216
el nombre del algoritmo. Concretamente, denominaremos POPN* a la versión N-admisible de
POP*. En realidad las modificaciones necesarias son bastante sencillas. El pseudocódigo del
procedimiento POPN* se muestra en el cuadro 9.5. El esquema de la función Actualizar-
CAMINOS-ABIERTOS es idéntico al presentado en la sección 9.3.
Para construir una versión N-admisible de POP* es necesario tener en cuenta lo
siguiente:
1. La condición de terminación debe modificarse de modo que la búsqueda continúe
tras encontrar el primer camino minimal hasta encontrar el último.
2. La condición de que el criterio de preferencia heurístico sea mínimamente
optimista es insuficiente y debe generalizarse.
3. Hay que emplear siempre criterios de poda que sean N-admisibles.
9.11.1 Terminación y Estructuras de Datos
Obviamente, POPN* no puede terminar tras encontrar la primera solución al problema,
sino que debe continuar explorando el grafo y recogiendo todas las soluciones (minimales)
que se van encontrando. POPN* utiliza dos nuevas estructuras de datos, además de las
empleadas en POP*:
! Un conjunto SOLUCIONES, donde se guardan todos los caminos solución
encontrados hasta el momento.
! Un conjunto ESTIMACIONES donde se guardan los vectores de estimación
correspondientes a todos los caminos solución encontrados, y que se emplea para
filtrar la lista ABIERTOS.
La búsqueda no se detiene nunca hasta que la lista ABIERTOS queda vacía (paso 3).
Para limitar el número de caminos considerados para expansión se filtra ABIERTOS
eliminando aquellos caminos que no puedan ya conducir a una solución minimal de acuerdo
con la información recogida en ESTIMACIONES (paso 2). Si no se realizase la operación de
filtrado, ABIERTOS podría no quedar vacío en grafos infinitos aunque el número de
soluciones fuese finito.
217
Procedimiento POPN*• Parámetros de entrada:! s, el nodo inicial del que parte la búsqueda, s ∈ NODOS(G).! solución-p (P), un predicado que devuelve "cierto" si su argumento P ∈ P-SET(s, Γ), y "falso" en otro
caso.! SCS(n), una función que recibe un nodo n ∈ NODOS(G) como parámetro y devuelve el conjunto de
nodos {n' / (n, n') ∈ ARCOS(G)}.! (F, pF), los datos que definen el criterio de preferencia heurístico.! Actualizar-CAMINOS-ABIERTOS(n’, n’’), una función que actualiza las estructuras de datos
CAMINOS y ABIERTOS empleando los datos que definen el criterio de poda (E, pp)
• Salida:Un conjunto de caminos solución al problema (tal vez vacío).
1. Crear una lista de caminos ABIERTOS con el camino P = (s).Crear una estructura CAMINOS que inicialmente contiene sólo el camino P = (s).Crear dos conjuntos vacíos, SOLUCIONES y ESTIMACIONES.
2. Filtrar la lista ABIERTOS, es decir, eliminar de ABIERTOS todos los caminos P tales que,
∀ FP ∈ F(P) ∃ F*∈ ESTIMACIONES / F* pF FP
3. Si ABIERTOS es una lista vacía, entonces terminar devolviendo el conjunto SOLUCIONES.
4. Seleccionar un camino solución parcial P’ de ABIERTOS con vector de estimación FP’∈ F(P’) minimalsegún el criterio de preferencia heurístico, es decir:
∀ P’’ ∈ ABIERTOS ¬∃ FP’’∈ F(P’’) / FP’’ pF FP’.Si varios caminos cumplen la condición, desempatar arbitrariamente.
5. Si solución-p(P’) es "cierto", entonces:
• Eliminar P' de ABIERTOS.
• SOLUCIONES ← SOLUCIONES ∪ {P’}.
• ESTIMACIONES ← ESTIMACIONES ∪ {FP’}.
6. Si solución-p(P’) es "falso", entonces, sea n’ el último nodo de P’:
• Eliminar de ABIERTOS todos los caminos que terminen en n’.
• Expandir n’ generando, con ayuda de SCS(n’), el conjunto SUC de todos sus sucesores en G que noson antecesores suyos en ningún camino de CAMINOS (para evitar ciclos).
• Para cada nodo n’’ ∈ SUCActualizar-CAMINOS-ABIERTOS(n', n")
7. Volver al paso 2.
Cuadro 9.5. Pseudocódigo del procedimiento POPN*.
9.11.2 Criterio de poda
El criterio de poda empleado en un algoritmo N-admisible debe conservar todos los
caminos solución parciales que sean candidatos a conducir a una solución minimal del
problema. Deberán emplearse criterios de poda N-admisibles (véase la definición presentada
en la sección 9.4).
Concretamente, deberán conservarse todos los caminos minimales (según el criterio de
poda) encontrados hasta cada nodo, aunque existan varios con idénticos vectores de atributos.
218
9.11.3 Criterio de preferencia heurístico
La siguiente definición generaliza la definición de preferencia heurística mínimamente
optimista que se presentó para el procedimiento POP*.
Definición
Decimos que una estructura de preferencias heurística (F, pF) es optimista con todas
las soluciones de un problema (G, s, Γ, A, pA, F, pF, E, pp) si para todo camino solución
minimal P ∈ P-SET*(s, Γ, A, pA) existe una estimación FP ∈ F(P) tal que todos los
subcaminos P0-i de P que son caminos solución parciales tienen alguna estimación F[P0-i]
heurísticamente preferible o igual a FP. Expresado matemáticamente:
∀ P = (n0, n1, ... nk) ∈ P-SET*(s, Γ, A, pA), ∃ FP ∈ F(P) /
∀ P0-i = (s=n0, n1, ... ni) i = 0,1,...k, ∃ F’ ∈ F(Pi) ∧ F’ pF FP
♣
9.11.4 Propiedades de POPN*
Esta sección incluye las demostraciones de N-admisiblidad de POPN* análogas a las
presentadas en la sección 9.4 para POP*.
Proposición 24
El procedimiento POPN* termina siempre en grafos finitos.♣
Demostración:
La demostración es idéntica a la presentada en la sección 9.4 para POP* (proposición
1).♣
219
Proposición 25
El procedimiento POPN* es N-admisible en grafos finitos si se cumplen las siguientes
condiciones:
1. La estructura de preferencias heurística (F, pF) es optimista con todas las soluciones del
problema.
2. La estructura de preferencias heurística (F, pF) concuerda con (A, pA).
3. La relación de preferencia pF es transitiva.
4. El criterio de poda (E, pp) es N-prudente en relación a (A, pA), y se aplica de modo N-
prudente. ♣
Demostración:
Por razonamientos análogos a los presentados para POP* en la sección 9.4 se sabe que
al buscar soluciones minimales de vectores de F(P) sobre pF se están buscando en realidad
soluciones minimales de A(P) sobre pA.
Sabemos que el algoritmo termina en grafos finitos, y que lo hace cuando la lista
ABIERTOS queda vacía. Por tanto se encontrarán todos los caminos solución minimales
antes de terminar, siempre que su número sea finito y no hayan sido filtrados (paso 2) o
podados previamente.
Ahora bien, el número de soluciones tiene que ser necesariamente finito, al ser el grafo
también finito.
La condición N4 garantiza que nunca se va a podar un camino solución parcial que
pueda conducir a una solución minimal del problema.
Veamos ahora que en el paso 2 no se filtra nunca un camino solución parcial que
pueda conducir a una solución minimal del problema. Realizaremos la demostración por
reducción al absurdo. Sea P un camino solución minimal cualquiera con F(P) = {FP}, y P0-i =
(n0, n1, n2, .... ni) uno de sus subcaminos solución parciales que se encuentra en ABIERTOS
(al menos inicialmente estará P0-0 = (n0)).
220
Si no se ha encontrado todavía un camino solución, entonces ESTIMACIONES = ∅ y
la operación de filtrado no tiene ningún efecto sobre la lista de caminos ABIERTOS.
Supongamos que ESTIMACIONES ≠ ∅ y P0-i es filtrado por un vector F* ∈
ESTIMACIONES, es decir:
F* pF F[P0-i] ∀ F[P0-i] ∈ F(P0-i)
Al ser (F, pF) optimista con todas las soluciones se tiene que:
∃ F' ∈ F(P0-i) / F' pF FP
Al ser P solución minimal no puede ser F* pF F’. Se produce entonces una
contradicción, ya que al ser pF transitiva y suponer que se ha producido el filtrado tenemos
que:
F* pF F pF F’ ⇒ F* pF F’
En conclusión, ningún camino interesante P0-i será filtrado de ABIERTOS.
Sólo falta por demostrar que POPN* nunca seleccionará para expansión una solución
no minimal. La demostración es análoga a la presentada en la proposición 2 para POP*. Al ser
la estimación heurística optimista con todas las soluciones y concordante con (A, pA) nunca
podrá seleccionarse un camino solución P' con estimación F(P') = {FP'} no minimal. Si P' no
es minimal se debe a que hay otro camino solución minimal P con F(P) = {FP} tal que FP pF
FP'. Entonces se cumple necesariamente una de las siguientes condiciones:
• P aún no ha sido encontrado, y hay algún subcamino suyo P0-i en ABIERTOS tal
que ∃ F[P0-i] ∈ F(P0-i) ∧ F[P0-i] pF FP pF FP'.
• P ha sido encontrado, con lo que FP ∈ ESTIMACIONES y P' será filtrado.
♣
221
Proposición 26
El procedimiento POPN* es N-admisible en grafos infinitos si además de las condiciones N1 a
la N4 (proposición 25) se cumple lo siguiente:
N5. Para cualquier camino solución minimal P ∈ P-SET*(s, Γ, A, pA) con estimación F(P) =
{FP} existe solo un número finito de caminos solución parciales P’ con algún F’ ∈ F(P’) tal
que:
F’ ~pF FP ∨ F’ = FP
♣
Demostración:
La condición es la misma que la presentada en la proposición 3 para POP*. Allí se
demostró que la condición N5 implica que el conjunto de soluciones minimales a un problema
es finito.
Cada solución minimal acabará encontrándose en un número finito de pasos tras
expandir todos los caminos solución parciales con estimaciones iguales o no preferibles.
Como el número de soluciones es finito, se encontrarán también todas en el peor caso en un
número finito de pasos.
♣
9.12. PROCEDIMIENTO POP-ZN*
Esta sección presenta finalmente una versión de POPN* para problemas con atributos
acumulables, análoga al procedimiento POP-Z* descrito en la sección 9.6.3. Supondremos
para POP-ZN* particularizaciones análogas a las presentadas para POP-Z*:
• Función A(P) acumulable, sin restricciones sobre pA.
• Función F(P) de estimación directa, y pF ≡ pA.
• Función E(P) = {G(P)}. El criterio pp se elige de modo que (G, pp) sea N-prudente
en relación a (A, pA).
222
Emplearemos también un grafo acíclico dirigido, GRAFOB, como estructura
CAMINOS (véase la definición proporcionada en la sección 9.6.3). La lista ABIERTOS será
también una lista de pares (n, F). Por último, se empleará un conjunto de nodos NODOS-
FINALES para realizar la función del conjunto SOLUCIONES.
El pseudocódigo de POP-ZN* aparece en el cuadro 9.6. La única diferencia que
merece resaltarse con el pseudocódigo de POPN* es que al terminar es necesario buscar los
caminos solución hacia atrás en GRAFOB. El conjunto de caminos solución estará formado
por aquellos caminos de GRAFOB que llegan a nodos de NODOS-FINALES y poseen su
vector de estimación en ESTIMACIONES. Como función Actualizar-CAMINOS-
ABIERTOS puede emplearse la misma que se presentó en la sección 9.6.3 para POP-Z*.
Una alternativa al pseudocódigo presentado de POP-ZN* es la que aparece en el
cuadro 9.7. Cuando se selecciona un par (n', F') de ABIERTOS correspondiente a un nodo
final (paso 4), se borran de ABIERTOS todos los pares (n', F) ∀ F, y se añade a
ESTIMACIONES el conjunto F-SET(n'). El resultado es que en una misma iteración se
retiran de ABIERTOS todos los caminos encontrados hasta el momento hasta el nodo n. Si
existen varios de estos caminos, no podemos saber si son todos minimales o no (al menos uno
sí, el correspondiente al par (n', F')). Para asegurar que las soluciones devueltas serán todas
minimales, es necesario actualizar ESTIMACIONES adecuadamente. Este es el esquema
seguido por MOA* (Stewart y White, 1991). Un ligero inconveniente es que no puede
garantizarse que las soluciones encontradas sean minimales hasta la terminación del
procedimiento.
A partir de POP-ZN* no es difícil obtener versiones N-admisibles de los algoritmos 1-
admisibles descritos en las secciones anteriores. El siguiente capítulo describe uno de ellos,
METAL-ALN*, un algoritmo N-admisible para satisfacción de metas con atributos aditivos.
223
Procedimiento POP-ZN*• Parámetros de entrada:! s, el nodo inicial del que parte la búsqueda, s ∈ NODOS(G).! nodo-final-p(n), un predicado que devuelve 'cierto' si n ∈ Γ, y 'falso' en otro caso..! SCS(n), una función que recibe un nodo n ∈ NODOS(G) como parámetro y devuelve el conjunto de
nodos {n' / (n, n') ∈ ARCOS(G)}.! (F, pF), los datos que definen el criterio de preferencia heurístico.! Actualizar-CAMINOS-ABIERTOS(n', n"), una función que actualiza las estructuras de datos
CAMINOS y ABIERTOS empleando los datos que definen el criterio de poda (E, pp)
• Salida:Un conjunto, tal vez vacío, de caminos solución al problema.
1. Crear una lista de caminos ABIERTOS con el par (s, F), donde F puede ser un vector de estimaciónarbitrario.Crear una estructura CAMINOS para guardar todos los caminos solución parciales que se vayangenerando y se consideren interesantes. Inicialmente CAMINOS contiene solo el camino (s).Crear dos conjuntos vacíos: NODOS-FINALES y ESTIMACIONES.
2. Filtrar la lista ABIERTOS, es decir, eliminar de ABIERTOS todos los pares (n, FP) tales que,∃ F* ∈ ESTIMACIONES / F* pF FP
3. Si ABIERTOS es la lista vacía, terminar devolviendo el conjunto de caminos almacenado en la estructuraCAMINOS que llegan hasta nodos de NODOS-FINALES y cuyo vector de estimación se encuentra enESTIMACIONES.
4. Seleccionar un par (n’, F’) de ABIERTOS con vector de estimación minimal, i.e.¬∃ (n, F) ∈ ABIERTOS /F pF F’. Si varios cumplen la condición, desempatar arbitrariamente.
5. Si nodo-final-p(n’) es "cierto", entonces,! Eliminar (n’, F’) de ABIERTOS.! NODOS-FINALES ← NODOS-FINALES ∪ {n’}.! ESTIMACIONES ← ESTIMACIONES ∪ {F’}.
6. Si nodo-final-p(n’) es "falso", entonces,! Eliminar de ABIERTOS todos los pares (n', F) ∀ F.! Expandir el nodo n’ generando, con ayuda de SCS(n’), el conjunto SUC de todos sus sucesores en G
que no son antecesores suyos en ningún camino de CAMINOS (para evitar ciclos).! Para cada nodo n’’ ∈ SUC
Actualizar-CAMINOS-ABIERTOS(n', n")
7. Volver a 2.
Cuadro 9.6. Pseudocódigo del procedimiento POPN* (o POP-ZN*) empleando una lista ABIERTOS dela forma ((nodo, vector-estimación)*).
224
Procedimiento POP-ZN* (versión alternativa)• Parámetros de entrada:! s, el nodo inicial del que parte la búsqueda, s ∈ NODOS(G).! nodo-final-p(n), un predicado que devuelve 'cierto' si n ∈ Γ, y 'falso' en otro caso..! SCS(n), una función que recibe un nodo n ∈ NODOS(G) como parámetro y devuelve el conjunto de
nodos {n' / (n, n') ∈ ARCOS(G)}.! (F, pF), los datos que definen el criterio de preferencia heurístico.! Actualizar-CAMINOS-ABIERTOS(n', n"), una función que actualiza las estructuras de datos
CAMINOS y ABIERTOS empleando los datos que definen el criterio de poda (E, pp)
• Salida:Un conjunto, tal vez vacío, de caminos solución al problema.
1. Crear una lista de caminos ABIERTOS con el par (s, F), donde F puede ser un vector de estimaciónarbitrario.Crear una estructura CAMINOS para guardar todos los caminos solución parciales que se vayangenerando y se consideren interesantes. Inicialmente CAMINOS contiene solo el camino (s).Crear dos conjuntos vacíos: NODOS-FINALES y ESTIMACIONES.
2. Filtrar la lista ABIERTOS, es decir, eliminar de ABIERTOS todos los pares (n, FP) tales que,∃ F* ∈ ESTIMACIONES / F* pF FP
3. Si ABIERTOS es la lista vacía, terminar devolviendo el conjunto de caminos almacenado en la estructuraCAMINOS que llegan hasta nodos de NODOS-FINALES y cuyo vector de estimación se encuentra enESTIMACIONES.
4. Seleccionar un par (n’, F’) de ABIERTOS con vector de estimación minimal, i.e.¬∃ (n, F) ∈ ABIERTOS /F pF F’. Si varios cumplen la condición, desempatar arbitrariamente.
5. Si nodo-final-p(n’) es "cierto", entonces,! Eliminar de ABIERTOS todos los pares (n', F) ∀ F! NODOS-FINALES ← NODOS-FINALES ∪ {n’}.! ESTIMACIONES ← MINIMAL(ESTIMACIONES ∪ F-SET(n'), pF)
6. Si nodo-final-p(n’) es "falso", entonces,! Eliminar de ABIERTOS todos los pares (n', F) ∀ F.! Expandir el nodo n’ generando, con ayuda de SCS(n’), el conjunto SUC de todos sus sucesores en G
que no son antecesores suyos en ningún camino de CAMINOS (para evitar ciclos).! Para cada nodo n’’ ∈ SUC
Actualizar-CAMINOS-ABIERTOS(n', n")
7. Volver a 2.
Cuadro 9.7. Pseudocódigo de los procedimientos POPN* (o POP-ZN*) empleando una listaABIERTOS de la forma ((nodo, vector-estimación)*). Versión alternativa.
9.13. CONCLUSIONES
Los algoritmos de búsqueda en grafos intentan encontrar uno o todos los caminos
solución a un problema de una forma constructiva: generando incrementalmente nuevos
caminos solución parciales a partir de los ya conocidos. En cada iteración se generan uno o
más caminos nuevos, que son la continuación de uno o más caminos ya conocidos.
La selección de qué camino(s) se va(n) a utilizar para continuar esta generación
incremental se puede realizar de forma más eficiente en dos pasos:
225
1. Se realiza una primera ordenación de los caminos, dividiéndolos en dos grupos:
aquellos que vale la pena seguir explorando y aquellos que no. Esta ordenación se
realiza empleando la relación de orden definida por el llamado criterio de poda.
Todos los caminos que no vale la pena seguir explorando son eliminados, con lo
que se reduce el número de posibilidades a considerar y se libera espacio de
memoria.
2. Entre los caminos resultantes se realiza una segunda ordenación, para determinar
cuál o cuales de ellos pueden llevar más rápidamente a una solución al problema.
Esta segunda ordenación se realiza empleando la relación de orden definida por el
llamado criterio de preferencia heurístico.
El trabajo presentado en este capítulo formaliza esta visión de los algoritmos de
búsqueda apoyándose fundamentalmente en la formalización del concepto de preferencia.
El trabajo expuesto en este capítulo es bastante extenso y rico en aportaciones, y es la
principal contribución de la tesis.
Un primer intento de desarrollar un algoritmo de búsqueda heurística con satisfacción
de metas fue presentado en MOPGP'9629 y publicado en (Mandow y Millán, 1997). El
resultado fue una versión preliminar de METAL-AL* mucho menos sencilla y flexible que la
presentada en el siguiente capítulo. La demostración de admisibilidad de esta primera versión
aparece en (Mandow, 1997).
El siguiente paso fue el desarrollo de POP* como una generalización para el caso
multicriterio de BF* (Pearl, 1984). La separación conceptual de los procesos de selección
heurística y poda de caminos candidatos es la base del trabajo desarrollado, y permite exponer
con mayor claridad las condiciones bajo las cuales pueden obtenerse algoritmos multicriterio
admisibles.
Aunque la selección heurística de caminos empleando (F, pF) y la poda de alternativas
mediante (E, pp) son procesos conceptualmente sencillos, existen muchas opciones para
representar y gestionar CAMINOS y ABIERTOS. La separación de ambas tareas permite una
29 Second International Conference in Multi-Objective Programming and Goal Programming. Celebrado en Torremolinos (Málaga), mayo de 1996.
226
visión más clara del funcionamiento de los algoritmos y de la gestión de unas estructuras de
datos concretas. Esta separación no es explícita en la descripción publicada de MOA*
(Stewart y White, 1991). Las demostraciones de admisibilidad de MOA* que aparecen en
dicho artículo son más confusas al mezclar los detalles del procedimiento con las estructuras
de datos y no aparecer una distinción explícita entre pp y pF (debido seguramente a que el
caso aditivo permite a MOA* emplear pp ≡ pF ≡ pA).
La demostración de admisibilidad del nuevo algoritmo MO-Z*, más completo que
MOA*, aparece aquí mucho más sencilla.
De las muchas estructuras de datos posibles para CAMINOS se ha descrito y
empleado una sola, el grafo de búsqueda. Se trata de una generalización directa del árbol de
búsqueda empleado por muchos algoritmos escalares "primero el mejor".
El análisis independiente del comportamiento de esta estructura, junto a la
recuperación del concepto de "camino" como elemento básico manipulado por el algoritmo ha
permitido nuevamente mejorar la gestión del grafo de búsqueda descrito en (Stewart y White,
1991) para MOA*. Esta mejora es sencilla, conceptualmente natural, y puede resultar en una
mejora radicalmente significativa en algunos problemas. Un ejemplo concreto, extraído del
dominio del diseño de carreteras, se presenta más adelante.
La mayoría de las definiciones presentadas son originales. Los conceptos de 1-
admisibilidad y N-admisibilidad generalizan el concepto tradicional de admisibilidad en
algoritmos escalares (que equivale exactamente al de 1-admisibilidad).
Los conceptos de (F, pF) mínimamente optimista y concordante con (A, pA) son una
generalización de las condiciones suficientes de admisibilidad presentadas por (Pearl, 1984)
para BF*. La definición de (F, pF) optimista con todas las soluciones del problema es original.
Los conceptos de prudencia, aplicación 1-prudente y N-prudente de los criterios de
poda, y la conservación del orden del problema son originales. La conservación del orden del
problema es una generalización multicriterio de la condición de conservación del orden (order
preserving property) descrita en (Pearl, 1984) para algoritmos escalares. Ésta es a su vez una
versión del principio de optimalidad de la programación dinámica, empleado tácitamente por
el célebre algoritmo A*.
227
El concepto de función heurística para funciones acumulables se ha operativizado,
algo que se echa de menos en la descripción de Z* proporcionada en (Pearl, 1984).
La interpretación de ABIERTOS como una lista de CAMINOS pasa muchas veces
desapercibida debido a que A* emplea una lista de nodos. Sin embargo es fácil comprobar
que en A* cada nodo de ABIERTOS representa un único camino del árbol de búsqueda.
Muchas descripciones de A* emplean f(n) (o lo que es lo mismo, f(P)), para podar
caminos. En realidad en el caso aditivo da lo mismo emplear f(P) que g(P) para la poda, ya
que una función h(n) admisible no añade en este caso ninguna información adicional para las
decisiones de poda.
En (Pearl, 1984) hay una pequeña confusión en este sentido al hablar de Z*, ya que
hay casos en los que f(P) no conserva el orden a menos que h(n) sea admisible (p. 62). Lo más
natural en el caso de poda no informada es emplear g(P).
La condición CMM propuesta en (Carraway y otros, 1990) abre las puertas para
encontrar criterios de poda que aprovechen información heurística sobre el problema para
mejorar la poda. Un ejemplo es el algoritmo U* (White y otros, 1992), aunque las condiciones
que impone no serán practicables en muchos problemas de IA. Este capítulo contribuye a esta
línea con un análisis preliminar de la aplicación de la condición CMM para el problema de la
satisfacción de metas.
228
229
CAPÍTULO 10
UN ALGORITMO PARA SATISFACCIÓN DE METAS
ADITIVAS
"Now, no one in his right mind will satisfice if
he can equally optimize; no one will settle for good or better if he can have best. But
that is not the way the problem usually poses itself in actual design situations."
Herbert A. Simon, 1969
El capítulo precedente ha presentado dos procedimientos, POP* y POPN*, que
permiten obtener una gran variedad de algoritmos de búsqueda heurística multicriterio.
Concretamente se han desarrollado con cierto detalle dos particularizaciones denominadas
POP-Z* y POP-ZN* para el caso en que los atributos son acumulativos. En este capítulo se
describe METAL-ALN*, una instancia de POP-ZN* para satisfacción de metas con atributos
aditivos y que emplea el orden de Pareto como criterio de poda.
Los atributos aditivos tienen un gran atractivo en el modelado de muchos problemas, y
poseen unas propiedades ventajosas a la hora de obtener algoritmos admisibles. En este
capítulo se presentan condiciones para la admisibilidad de METAL-ALN* análogas a las que
precisa el conocido algoritmo de optimización escalar A* (Hart y otros, 1968, 1972; Nilsson,
1980; Pearl, 1984).
10.1. ALGORITMO METAL-ALN*
El pseudocódigo del algoritmo METAL-ALN* se muestra en el cuadro 10.1. Su
funcionamiento puede analizarse a partir de sus tres características fundamentales:
230
! Las funciones de acumulación y estimación de atributos, que en este caso son
todas aditivas.
! El criterio para la selección heurística de caminos.
! Los criterios de poda y filtrado.
Las estructuras de datos empleadas serán las siguientes:
• GRAFOB: un grafo de búsqueda acíclico, que registra todos los caminos
solución parcial generados y no descartados por el criterio de poda.
• ABIERTOS: una lista de ternas (n, F, D) que representan los caminos de
GRAFOB que pueden seguir explorándose.
• NODOS-FINALES ⊆ Γ: un conjunto de nodos finales hasta los que se han
encontrado caminos minimales.
• ATRIBUTOS-MINIMALES: un conjunto con los vectores de atributos de los
caminos minimales encontrados (realiza la función del conjunto
ESTIMACIONES empleado en POP-ZN*).
• D*: un vector donde se guarda el logro o satisfacción alcanzado para cada nivel
de prioridad por las soluciones minimales del problema. El objetivo de este
vector es permitir hacer los cálculos del filtrado con un menor coste
computacional (paso 2).
10.1.1 Acumulación y estimación de atributos
A continuación aparecen algunas definiciones ya presentadas en el capítulo anterior,
aunque aquí se particularizan para el caso de atributos aditivos.
Definición Sea G(P) un vector (g1(P), g2(P),... gq(P)) con los valores de los atributos acumulados
por un camino solución parcial P = (s=n1,n2,...nj). El valor de cada atributo puede calcularse
como:
∑−
=+=
+++==1j
1k1kk
jj-1i32i21iii
),na(n
), n(n a ... ) , n(n a) , n(n a(P) a(P) g
231
Algoritmo METAL-ALN*
• Parámetros de entrada:! s, el nodo inicial del que parte la búsqueda, s ∈ NODOS(G).! nodo-final-p(n), un predicado que devuelve 'cierto' si n ∈ Γ, y 'falso' en otro caso.! SCS(n), una función que recibe un nodo n ∈ NODOS(G) como parámetro y devuelve el conjunto de
nodos {n' / (n, n') ∈ ARCOS(G)}.! Actualizar-CAMINOS-ABIERTOS(n', n"), una función que actualiza las estructuras de datos
CAMINOS y ABIERTOS empleando el orden de Pareto sobre los vectores de atributos acumuladosde caminos que llegan a un mismo nodo.
• Salida:Un conjunto, tal vez vacío, de caminos solución al problema.
1. Crear una lista de caminos ABIERTOS con el par (s, F, D), donde F puede ser un vector de estimaciónarbitrario y D un vector de desviaciones igualmente arbitrario.Crear una estructura CAMINOS para guardar todos los caminos solución parciales que se vayangenerando y se consideren interesantes. Inicialmente CAMINOS contiene solo el camino (s).Crear dos conjuntos vacíos: NODOS-FINALES y ATRIBUTOS-MINIMALES.Crear un vector de logro D* = (d1*, d2*,...dm*) que inicialmente tomará un valor arbitrario.
2. Si ATRIBUTOS-MINIMALES ≠ ∅ , entonces! Eliminar de ABIERTOS todos los pares (n, F, D), donde D = (d1, d2,.. dm), tales que ∃ dj > dj*.! Eliminar de ABIERTOS todos los pares (n, F, D), tales que ∃ F* ∈ ATRIBUTOS-MINIMALES y F*
es preferible a F según el orden de Pareto.
3. Si ABIERTOS es la lista vacía, terminar devolviendo el conjunto de caminos almacenado en la estructuraCAMINOS que llegan hasta nodos de NODOS-FINALES y cuyo vector de estimación (atributos) seencuentra en ATRIBUTOS-MINIMALES.
4. Seleccionar un par (n’, F’, D’) de ABIERTOS, donde D’ = (d1’, d2’,.. dm’), que minimice el valor de d1’.En caso de que existan varios candidatos que minimicen d1’, desempatar entre ellos aquel o aquellos queademás minimicen sucesivamente d2’, d3’,... dm’. En caso de que aún queden varios candidatos conidéntico vector de desviaciones, seleccionar arbitrariamente uno que tenga vector F’ minimal entre ellossegún el orden de Pareto.
5. Si nodo-final-p(n’) es "cierto", entonces,! Si NODOS-FINALES = ∅ , entonces D* ← D’. /*se trata de la primera solución encontrada*/! Eliminar (n’, F’, D’) de ABIERTOS.! NODOS-FINALES ← NODOS-FINALES ∪ {n’}.! ATRIBUTOS-MINIMALES ← ATRIBUTOS-MINIMALES ∪ {F’}.
6. Si nodo-final-p(n’) es "falso", entonces,! Eliminar de ABIERTOS todos los pares (n', F, D) ∀ F, ∀ D.! Expandir el nodo n’ generando, con ayuda de SCS(n’), el conjunto SUC de todos sus sucesores en G
que no son antecesores suyos en ningún camino de CAMINOS (para evitar ciclos).! Para cada nodo n’’ ∈ SUC
Actualizar-CAMINOS-ABIERTOS(n', n")
7. Volver a 2.
Cuadro 10.1. Pseudocódigo del algoritmo METAL-ALN*
Denominaremos G-SET(n) al conjunto de todos los vectores de atributos G(P)
correspondientes a caminos solución parciales incluidos en GRAFOB que llegan hasta el
nodo n (ver figura 10.1).
232
Denominaremos G-SET(n, n’) al conjunto de todos los vectores de atributos G(P)
correspondientes a caminos solución parciales incluidos en GRAFOB que llegan al nodo n’ a
través del arco (n’, n).
♣
Definición Sea FP un vector (f1
P, f2P,... fq
P) que es una estimación del vector de atributos de un
camino solución parcial P = (s=n1,n2,...n). Los vectores de estimación FP se calculan de la
siguiente forma:
FP = G(P) + Hn / Hn ∈ H(n)
Donde H(n) es una función heurística multicriterio. Nótese que para un mismo camino
P pueden existir varios vectores de estimación FP distintos (ver figura 10.1).
Denominaremos F-SET(n) al conjunto de todos los vectores de atributos FP
correspondientes a caminos solución parciales incluidos en GRAFOB que llegan hasta el
nodo n:
F-SET(n) = {G(P) + Hn / G(P) ∈ G-SET(n) ∧ Hn ∈ H(n)}
♣
s
γγγγ1(2,1)
n1
(2,1) (2,1)
(1,2) (1,2) (1,2)
nodos enGRAFOB
nodosfinales
G-SET(n1) = { (4, 2) (2, 4) }H(n1) = { (2, 1) (1, 2) }
γγγγ2
F-SET(n1) = { (6, 3) (5, 4) (4, 5) (3 6) }
Figura 10.1. Ejemplo de grafo de búsqueda y conjuntos G-SET(n) y F-SET(n) con atributos aditivos.
Existen diversas formas de construir funciones heurísticas multicriterio admisibles
para problemas con atributos aditivos. Sea h i*(n) el valor óptimo del atributo ai(P) para un
camino que va desde el nodo n a algún nodo final γ ∈ Γ:
233
h n min a Pi P P SET n i*
( , )( ) { ( )}=
∈ − Γ
Normalmente los valores h i*(n) son desconocidos. Si se dispone de un conjunto de
funciones de estimación heurísticas hi(n) para cada atributo, de modo que hi(n) ≤ h*i(n), ∀ n ∈
NODOS(G), i=1..q, entonces la siguiente función es trivialmente una función heurística
multicriterio admisible:
H: n → { (h1(n), h2(n), ... hq(n)) }
10.1.2 Selección heurística de caminos para expansión
METAL-ALN* siempre selecciona para expansión un camino solución parcial de
ABIERTOS cuyo vector de estimación heurística promete la mejor satisfacción posible de las
metas.
Los criterios de satisfacción de metas son los mismos ya presentados en el capítulo
anterior (véase la sección 9.10). El cálculo del camino solución a expandir puede realizarse de
formá más rápida y sencilla calculando un vector de desviaciones ponderadas DP = (d1(FP),
d2(FP),...dm(FP)) que mida la desviación ponderada para la metas de cada nivel de prioridad
i=1..q, para cada vector de estimación FP. Por este motivo, los elementos de la lista
ABIERTOS se definen como una terna (n, FP, DP), donde:
• n es un nodo de GRAFOB al que llegan caminos que aún pueden seguir
explorándose.
• FP es un vector de estimación correspondiente a un camino P de GRAFOB que
llega hasta n y aún puede seguir explorando. Cada FP ∈ ℜ q, donde q es el número
de atributos del problema.
• DP es un vector con las medidas de las desviaciones ponderadas de las metas para
cada nivel de prioridad correspondientes al vector de estimación FP. Cada Dm ∈
ℜ m, donde m es el número de niveles de prioridad del problema.
El algoritmo selecciona ternas (caminos) que minimicen d1(FP), es decir, la desviación
ponderada de las metas correspondientes al primer nivel de prioridad (el más importante). Si
se estima que varios caminos van a obtener el mismo valor óptimo para d1(FP), entonces se
234
deshace el empate intentando minimizar d2(FP), es decir, la desviación estimada para las
metas del segundo nivel. El procedimiento de desempate continúa hasta que el candidato es
único, o bien se alcanza un conjunto de ternas que prometen iguales desviaciones estimadas
para todos los niveles. En este último caso se selecciona arbitrariamente una que tenga vector
FP óptimo de Pareto entre ellas.
10.1.3 Criterios de poda y filtrado
El criterio de poda empleado por METAL-ALN* es el orden de Pareto sobre los
vectores de acumulación G(P), aplicado únicamente a los caminos que llegan a un mismo
nodo. Se conservan todos los caminos que posean vectores G(P) iguales.
Como ya se comentó al tratar el procedimiento POPN*, una vez encontrada la primera
solución minimal al problema puede realizarse una segunda fase de poda que se ha
denominado filtrado. Esta operación se realiza sobre las estimaciones heurísticas de caminos
presentes en ABIERTOS, por lo que se trata siempre de una poda heurística.
Para facilitar la operación de filtrado en METAL-ALN* se utilizan los vectores DP
incluidos en las ternas (n, FP, DP) de ABIERTOS y el vector de logro D*.
Cuando el algortimo encuentra la primera solución al problema, tras la selección de
una terna (γ, F, D) / γ ∈ Γ, el vector de logro D* recibe el valor D = (d1*, d2
*,..., dm*) que
corresponderá a la mejor desviación ponderada de las metas de acuerdo con el orden
lexicográfico del problema. Para cada componente de D* tendremos que:
! Si di* = 0, entonces todas las metas del nivel de prioridad i pueden satisfacerse
simultáneamente, y cualquier terna (n, FP, DP) que se considere en el futuro para
expansión deberá satisfacer di(FP) = 0.
! Si di* > 0, entonces no se pueden satisfacer todas las metas del nivel de prioridad i
simultáneamente. La desviación ponderada mínima alcanzable será precisamente
di*. Cualquier terna (n, FP, DP) que se considere para expansión deberá satisfacer
di(FP) ≤ di*.
En consecuencia, la operación de filtrado elimina de ABIERTOS cualquier terna (n,
FP, DP) tal que ∃ dj(FP) > dj*.
235
Además, para cada solución encontrada (γ, F, D) / γ ∈ Γ, se añade el nodo γ al
conjunto NODOS-FINALES, y el vector F al conjunto ATRIBUTOS-MINIMALES. El
filtrado elimina también de ABIERTOS todas las ternas tales que su vector de estimación
heurística esté dominado según el orden de Pareto por cualquier vector de ATRIBUTOS-
MINIMALES.
Si las estimaciones F son optimistas, ningún camino filtrado podría conducir a una
solución minimal del problema.
10.2. EJEMPLO
En esta sección se ilustra la aplicación de METAL-ALN* a un ejemplo sencillo.
Consideremos el grafo de la figura 10.2, donde cada arco está etiquetado con el vector de
atributos A = (a1, a2, a3) correspondiente.
n2
(4, 4, 4)
n5
n1 n3 n6 n8
n7n4
(14, 8, 9)
(2, 2, 3)
(12, 6, 6)
(8, 1, 1)
(4, 1, 1)(2, 2, 1)
(6, 8, 10) (2, 12, 2)
(2, 10, 1)
(4, 2, 1)(21, 8, 6)
Figura 10.2. Grafo del ejemplo.
El problema de búsqueda considerado es encontrar un camino desde el nodo n1 hasta
n8. La función heurística multicriterio empleada se muestra en la tabla 10.1. Estas
estimaciones se han obtenido empleando una técnica general descrita en (Mandow y Millán,
1997) y son válidas para propósitos demostrativos.
236
n H(n) N1 {(10, 0, 8)} N2 {(8, 2, 7)} N3 {(6, 4, 4)} N4 {(6, 8, 2)} N5 {(4, 1, 1)} N6 {(2, 0, 0)} N7 {(4, 2, 1)} N8 {(0, 0, 0)}
Tabla 10.1. Estimaciones heurísticas para el problema de la figura 10.2.
Sea un criterio de preferencia definido de la siguiente manera:
Nivel de Prioridad 1: a1(P) ≤ 20 ;w1 = 0.5
a2(P) ≤ 20 ;w2 = 0.5
Nivel de Prioridad 2: a3(P) ≤ 8
La traza de METAL-ALN* aplicado a este problema aparece en la tabla 10.2. El estado
del grafo de búsqueda para cada iteración se muestra en la figura 10.3. El nodo expandido en
cada iteración se señala con una flecha.
La desviación de las metas del nivel i se calcula de la siguiente forma:
∑ −×=j
ijijiji tamaxwp ),0()(A
237
It. Nodos con caminos en ABIERTOS
Estimaciones: F = (f1, f2, f3) , D = (d1, d2)
Comentarios
It. 1 n1 (root) (10, 0, 8) (0,0) % n2 (10, 4, 8) (0, 0) % n3 (12, 12, 14) (0, 6)
It. 2
n4 (27, 16, 8) (3'5, 0)
n3 (10, 8, 8) (0, 0) % n4 (27, 16, 8) (3'5, 0)
It. 3
n5 (20, 11, 11) (0, 3)
El camino (n1,n2,n3) con G=(4,4,4) ha permitido podar al camino (n1,n3) con G=(6, 8, 10)
n4 (27, 16, 8) (3'5, 0) n5 (20, 11, 11) (0, 3)
(20, 11, 11) (0, 3)
It. 4
n6 (10, 8, 8) (0, 0) %
Solo es necesario añadir una terna para n5, al tener los dos caminos la misma estimación.
n4 (27, 16, 8) (3'5, 0) n5 (20, 10, 10) (0,2)
It. 5
n8 (10, 20, 10) (0,2) %
El camino (n1,n2,n3,n6,n5) con G=(16,9,9) ha permitido podar a los caminos (n1,n2,n5) y (n1,n2,n3,n5), ambos con G=(6, 8, 10). La selección de n8 permite encontrar la primera solución minimal y establecer D*= (0,2).
It. 6 n5 (20, 10, 10) (0,2) % La terna correspondiente a n4 ha sido filtrada.
It. 7 n8 (20, 10, 10) (0,2) %
Tabla 10.2. Datos relativos a la aplicación de METAL-ALN*.
238
1
Iteración 0.
2
1 3
4
Iteración 1.
2
1 3
4
5
Iteración 2.
2 5
1 3 6
4
Iteración 3.
2 5
1 3 6 8
4
Iteración 4.
2 5
1 3 6 8
4
Iteración 5.
2 5
1 3 6 8
4
Iteración 6.
2 5
1 3 6 8
4
Iteración 7.
Figura 10.3. Estado del grafo de búsqueda en las sucesivas iteraciones de METAL-ALN*. Los nodos
sombreados han sido ya seleccionados para expansión al menos una vez.
Tras la expansión de n2 en la iteración 1, el algoritmo encuentra dos caminos al nodo
n3 y poda el inferior según el orden de Pareto. Tras la expansión de n3, seleccionado en la
iteración 2, se encuentran dos caminos con identicos vectores de estimación hasta el nodo n5.
239
Ambos se conservan en GRAFOB, aunque sólo una terna sea necesaria para representarlos en
ABIERTOS. Tras la expansión de n6, se descubre un nuevo camino hasta el nodo n5 que,
según el criterio de poda, es preferible a los ya conocidos. Existen entonces dos ternas
candidatas para expansión (n5, (20, 10, 10), (0, 2)) y (n8, (10, 20, 10), (0, 2)). Puesto que
ambas proporcionan el mismo grado de satisfacción ponderada de las metas y ninguno
domina al otro según el orden de Pareto, el empate se deshace arbitrariamente. Se supone que
la terna elegida es (n8, (10, 20, 10), (0, 2)), lo que conduce a encontrar la primera solución
minimal del problema. Se registran entonces los siguientes valores:
D* ← (0, 2)
NODOS-FINALES ← {n8}
ATRIBUTOS-MINIMALES ← {(10, 20, 10)}
Las metas del primer nivel de prioridad pueden satisfacerse completamente. Por el
contrario es necesrio relajar en dos unidades la del segundo nivel.
La operación de filtrado elimina entonces el camino que llegaba hasta el nodo n4, ya
que nunca proporcionará una satisfacción adecuada de las metas. En consecuencia n4 nunca es
seleccionado para expansión. Tras la iteración 6 el conjunto ATRIBUTOS-MINIMALES se
actualiza al valor {(10, 20, 10), (20, 10, 10)}, ABIERTOS queda vacía y el algoritmo termina
recuperando de GRAFOB los caminos (n1, n2, n3, n6, n8) y (n1, n2, n3, n6, n5, n8).
10.3. PROPIEDADES DE METAL-ALN*
En esta sección se demuestran las propiedades de terminación y N-admisibilidad de
METAL-ALN* bajo condiciones análogas a las empleadas por el algoritmo A* (Hart y otros,
1968, 1972; Nilsson, 1980; Pearl, 1984).
10.3.1 Suposiciones
Las demostraciones de las propiedades de METAL-ALN* se realizan bajo las
siguientes suposiciones:
1. El grafo G que se está explorando es localmente finito, es decir, de cada nodo
solo parte un número finito de arcos.
240
2. Todas las funciones de atributos son aditivas. El vector de atributos de un
camino se calcula sumando los vectores de atributos de los arcos que lo
componen.
3. Todas las funciones de atributos ak(P) cumplen lo siguiente:
! Si G es finito, entonces 0 ≤ ak(ni, nj) ∀ k ∀ (ni, nj) ∈ ARCOS(G)
! Si G es infinito, entonces 0 ≤ ε <ak(ni, nj) ∀ k ∀ (ni, nj) ∈ ARCOS(G)
De este modo, en los grafos infinitos los valores de ningún atributo están
acotados en caminos infinitos.
4. La función heurística multicriterio H(n) cumple las siguientes condiciones:
a) ∀ A ∈ {A(P) / P ∈ P-SET(n, Γ)} ∃ H ∈ H(n) / H ≤ A
b) ∀ n ∀ H = {h1 ,h2,...hq} ∈ H (n) si n ∈ Γ, entonces ∀ i hi = 0.
c) ∀ n ∀ H = {h1 ,h2,...hq} ∈ H (n) si n ∉ Γ, entonces ∀ i hi ≥ 0.
Las suposiciones (4a) y (4b) garantizan que la estimación de los valores de los
atributos es exacta y única para los caminos solución, ∀ P∈ P-SET(s,Γ), F(P) = {A(P)}, y
optimista en los demás casos. Las suposiciones (1), (3) y (4c) garantizan que el algoritmo
termina en problemas con solución incluso en grafos infinitos. La suposición (2) es propia de
METAL-ALN*.
Proposición 27
Si una función H(n) cumple la suposición 4 enunciada anteriormente, entonces es admisible
para METAL-ALN*. ♣
241
Demostración:
En METAL-ALN* la función F(P) es de estimación directa, y el operador de
acumulación es la suma. La definición de función heurística multicriterio admisible tiene en
tal caso dos condiciones. Veamos que se cumplen las dos:
• ∀ P*∈ P-SET*(s, Γ, A, pA), ∀ P0-i = (s, ... ni) subcamino de P*,
F(P*) = {FP*} ∧ ∃ H ∈ H(ni) / G(P0-i) o H pF FP*
Trivialmente, por la suposición (4b), ∀ P∈ P-SET(s,Γ), F(P) = {A(P)}.
Sea P* la concatenación de dos caminos, P0-iP'. Se tiene entonces que por la
suposición (4a):
∃ H ∈ H(n) / F[P0-i] = A(P0-i) + H ≤ A(P0-i) + A(P') = A(P*) = FP*
⇒ ∃ F[P0-i] ≤ FP*
Por otra parte, al ser la preferencia de metas lexicográficas (pF ≡ pA)
monótona con los vectores de estimación, tenemos finalmente que:
∃ F[P0-i] ≤ FP* ⇒ F[P0-i] pF FP*
• En los nodos finales γ ∈ Γ, H(γ) = {N}, donde N es el elemento neutro del
operador de acumulación.
Trivial, al ser cero el elemento neutro de la suma.
♣
10.3.2 Terminación
Los resultados presentados en esta sección son válidos para cualquier instancia de
POPN* que pode los caminos cíclicos y donde el valor de los atributos no esté acotado en
caminos infinitos. Se repiten aquí para mayor claridad.
242
Proposición 28
METAL-ALN* siempre termina en grafos finitos. ♣
Demostración:
METAL-ALN* selecciona un camino solución parcial diferente para expansión en cada
iteración. Puesto que el grafo G es finito, también lo será el número de caminos solución
parcial. Como ningún camino solución parcial seleccionado vuelve nunca a ABIERTOS, en el
peor de los casos el algoritmo terminará seleccionando todos los caminos solución parciales
una vez y ABIERTOS quedará vacía. ♣
Proposición 29
METAL-ALN* termina devolviendo soluciones si existe al menos una, incluso en grafos
infinitos. ♣
Demostración:
El criterio de poda nunca elimina todos los caminos que llegan a un mismo nodo. Sea
P’ = (s, ...ni, ... γ), γ ∈ Γ un camino solución. ABIERTOS no puede quedar vacía antes de
encontrar un camino solución al nodo γ. Si así ocurriese habría al menos un camino solución
parcial P'' = (s, ... ni) en ABIERTOS que se selecciona para expansión sin sucesores. Esto
contradice la suposición de que ni se encuentre en un camino solución. Según la proposición
28 el algoritmo termina en grafos finitos, luego antes de que ABIERTOS quede vacía se habrá
encontrado algún camino solución al nodo γ.
Veamos que ocurre en grafos infinitos. Si existe un camino solución P’, entonces
existe un vector de logro asociado D’ = (d1’, d2’,...dm’). Puesto que suponemos que todos los
valores de atributos escalares tienen una cota inferior de ε, G es localmente finito, y todos los
valores devueltos por H(n) son H ≥ 0 (véanse las suposiciones), entonces sólo puede haber un
número finito de caminos solución parciales con estimación F tal que ∀ i di(F) ≤ di’, con lo
que P’ será seleccionado y ABIERTOS quedará vacía en un número finito de pasos. ♣
243
10.3.3 N-admisibilidad
Para demostrar la N-admisibilidad de METAL-ALN* hay que comprobar antes que sus
características distintivas (función de estimación, criterio de selección de caminos y criterios
de poda/filtrado) operan del modo esperado.
Proposición 30
METAL-ALN* selecciona siempre para expansión una terna (camino) (n, F, D)
correspondiente a un vector de estimación F óptimo de Pareto en ABIERTOS y que
proporciona la mejor satisfacción posible de las metas lexicográficas. ♣
Demostración:
El mecanismo de selección de ternas de ABIERTOS sigue exactamente la definición
del criterio de preferencias de metas lexicográficas. El siguiente razonamiento muestra que
cuando el mecanismo de desempate termina con una única terna, esta es necesariamente un
óptimo de Pareto.
Sea (n', F', D’) la terna elegida, donde F’= (f11’,...f21’,...fmn’) y D’ = (d1’, d2’,...dm’). En
tal caso se cumple que:
∀ (n, F, D) ≠ (n’, F’) ∈ ABIERTOS, donde D = (d1, d2,...dm),
∃ j dj’ < dj ∧ ∀ i<j di’ = di
Supongamos que existe algún (n’’, F’’, D’’) ∈ ABIERTOS tal que F’’ =
(f11’’,...f21’’,...fnqn’’) domina a F’ según el orden de Pareto. En tal caso,
∀ k ∀ i fki’ ≥ fki’’
⇒ ∀ k ∀ i fki’ - tki ≥ fki’’- tki
⇒ ∀ k ∀ i max(0, fki’ - tki) ≥ max(0, fki’’ - tki)
⇒ ∀ k dk (F’) ≥ dk (F’’)
Con lo que se llega a una contradicción. ♣
244
Proposición 31
El criterio de poda de METAL-ALN* nunca poda caminos solución parciales que puedan
conducir a soluciones minimales del problema. ♣
Demostración:
El criterio de poda es trivialmente N-prudente al conservar la función suma el orden <
y ser la preferencia de metas lexicográfica monótona no decreciente con el valor de los
atributos aditivos. ♣
Proposición 32
Si H(n) es admisible, entonces, en cada momento antes de encontrar la primera solución,
existe al menos, una terna (n’, FP’, DP’) en ABIERTOS para cada camino solución minimal P*
= (s,...n’,...γ), tal que:
• P’=(s,...n’) es un subcamino de P*.
• ∃ FP’∈ F(P’) / FP’ pF A(P*), es decir, al menos una estimación de los atributos de P' es
optimista. ♣
Demostración:
La primera parte de la proposición viene garantizada por la proposición 31, y la
segunda por la proposición 27. ♣
Proposición 33
Si H(n) es admisible, entonces, la primera solución encontrada por METAL-ALN* es una
solución minimal al problema ♣
Demostración:
Supongamos que la primera solución encontrada por METAL-ALN* corresponde a una
terna (n’’, A(P’’), DP’’) de un camino solución P'' no minimal. Sea P* un camino solución
minimal, entonces tenemos que F(P*) = {A(P*)}, y, por la proposición 32, ∃ (n’, FP’, DP’) en
ABIERTOS / FP’ pF A(P*). Al ser P'' no minimal tenemos que A(P’’) pF A(P*), con lo que se
245
llega a una contradicción, ya que en tal caso (n’, FP’, DP’) habría sido seleccionado con
preferencia a (n’’, A(P’’), DP’’).
La proposición 29 asegura que si existe solución, al menos se encontrará una, por lo
que esta sólo puede ser minimal. ♣
Proposición 34
Si H(n) es admisible, entonces, en cada momento antes de la terminación, existe al
menos una terna (n’, FP’, DP’) en ABIERTOS para cada camino solución minimal no
encontrado P* = (s,...n’,...γ), tal que:
• P’=(s,...n’) es un subcamino de P*.
• ∃ FP’∈ F(P’) / FP’ pF A(P*), es decir, al menos una estimación de los atributos de P' es
optimista. ♣
Demostración:
Nuevamente la primera parte viene garantizada por la proposición 31.
La única posibilidad de que no se cumpla la segunda parte es que algún (n’, FP’, DP’)
sea filtrado indebidamente. Sin embargo, por la proposición 33 sabemos que el vector de
logro D* recibirá el valor correspondiente a la mejor satisfacción posible de las metas, y en
ATRIBUTOS-MINIMALES se guarda un vector de atributos minimal.
Sea (n’, FP’, DP’) la terna considerada de P’, el subcamino en ABIERTOS de un
camino solución minimal P*. Dicha terna puede ser filtrada solamente si:
1. FP’ no satisface el logro de las soluciones minimales, es decir, ∃ i di(FP’) > di*.
2. FP’ está dominado por algún vector de ATRIBUTOS-MINIMALES.
Sin embargo, al corresponder A(P*) a una solución minimal del problema, y por tanto
óptimo de Pareto:
! FP’ ≤ A(P*) ⇒ ∀ i di(FP’) ≤ di(A(P*)) = di*
246
! FP’ ≤ A(P*) ⇒ FP’ no puede estar dominado según el orden de Pareto por el
vector de atributos de ninguna otra solución.
Por lo que (n’, FP’, DP’) solo podrá ser eliminada de ABIERTOS cuando n’ sea
seleccionado para expansión, con lo que la proposición es cierta.
♣
Proposición 35
Si H(n) es admisible, entonces METAL-ALN* es N-admisible. ♣
Demostración:
Supongamos que el número de soluciones es finito. Sea P* una solución minimal
cualquiera tal que F(P*) = {FP*}, y F el vector de estimación de cualquiera de sus subcaminos
que cumple que F pF FP* (proposición 34). Por las suposiciones (3) y (4c) solamente podrá
existir un número finito de camino solución parciales con vector de estimación F' ~pF F, por
lo que los subcaminos de P* se irán expandiendo sucesivamente en un número finito de pasos
hasta encontrar el propio P*.
Supongamos que se han encontrado todos los caminos solución minimales.
Nuevamente por las suposiciones (3) y (4c), para cada vector de atributos A ∈ ATRIBUTOS-
MINIMALES, solo puede existir un número finito de caminos solución parciales con vector
de estimación F' tal que F' ~pF A. En consecuencia la operación de filtrado provocará que
ABIERTOS quede vacía en un número finito de pasos, y METAL-ALN* terminará
devolviendo todos los caminos solución minimales del problema.
♣
10.4. COMENTARIOS
En esta sección se resumen de forma concisa algunas de las ventajas que METAL-
ALN* proporciona para la resolución de problemas de búsqueda en grafos con satisfacción de
metas.
247
Hasta la fecha, el algoritmo más difundido para la resolución de problemas de metas
lexicográficas es una simple adaptación del conocido método del SIMPLEX. Este algoritmo
fue propuesto originalmente en (Lee, 1972, cap. 5) y aparece descrito en muchos libros que
tratan sobre Teoría de la Decisión Multicriterio (por ejemplo, véanse (Chankong & Haimes,
1983, pp. 307-316), (Romero, 1993, pp. 66-73)).
En realidad, tanto el problema del camino mínimo como otros muchos problemas de
optimización en grafos pueden formularse en términos de modelos matemáticos lineales, y
resolverse entonces empleando el algoritmo SIMPLEX (por ejemplo, véanse (Winston, 1994,
pp. 435-436), (Papadimitriou & Steiglitz, 1982, pp. 75-77)).
No obstante, existen diversos motivos prácticos y computacionales por los que los
algoritmos de búsqueda primero-el-mejor (como A*) han resultado más atractivos para estos
problemas en la comunidad de la Inteligencia Artificial. Estos mismos motivos justifican,
cuando menos en parte, el desarrollo de METAL-ALN*.
En primer lugar, para describir un problema de búsqueda en grafos mediante un
modelo lineal, el grafo en cuestión debe ser finito y explícito (es decir, deben proporcionarse
explícitamente todos sus nodos y arcos). Tanto el nodo inicial como los finales deben
conocerse de antemano. Por el contrario, muchos problemas de IA resultan en grafos finitos o
infinitos que vienen descritos de forma implícita, es decir, mediante un nodo (o estado) inicial
y una función sucesor. Esta función recibe un nodo (o estado del problema) y devuelve el
conjunto de todos los nodos (o estados) directamente alcanzables desde él en el grafo (o
espacio de estados). Con frecuencia el estado final es desconocido, y sólo se conoce un
conjunto de propiedades que permiten identificarlo. En consecuencia, es frecuente que estos
problemas no puedan describirse en la práctica mediante modelos lineales, y es necesario
emplear algoritmos como A*.
Además, el uso de información heurística (obtenida tras analizar el problema concreto
que se pretende resolver) permite con frecuencia reducir de forma espectacular el tiempo de
cálculo necesario para resolver muchas instancias del problema.
Esta sección termina con algunos comentarios sobre aquellos casos en los que ambos
algoritmos son aplicables, es decir, cuando los grafos son finitos y se proporcionan
explícitamente, o pueden hacerse explícitos empleando recursos razonables de espacio y
tiempo.
248
Existe una bonita analogía entre el comportamiento del algoritmo SIMPLEX primal-
dual y el algoritmo de Dijkstra (que equivale a la versión no informada de A*) cuando se
aplican a problemas de camino mínimo (véase (Papadimitriou & Steiglitz, 1982, cap. 5)).
Aparentemente, esta analogía se pierde al comparar el procedimiento de Lee con el
caso no informado de METAL-AL*. Mientras el primero resuelve de forma incremental una
secuencia de modelos lineales cada vez más complejos, el segundo avanza directamente hacia
una solución minimal del problema (proposición 33, sección 10.3.3)
Una comparación detallada de ambos algoritmos podría proporcionar una nueva
perspectiva sobre la resolución de problemas de satisfacción de metas, y puede ser una línea
de investigación futura interesante.
249
IV. CASOS DE PRUEBA
Los algoritmos descritos en la tercera parte de la tesis suponen una contribución a las
técnicas de búsqueda en grafos empleadas en la resolución de muchos problemas de decisión
y en la propia Inteligencia Artificial.
En la cuarta parte se describe la aplicación de las técnicas de satisfacción de metas a
dos problemas restringidos y experimentales extraídos de dominios reales de diseño. La
finalidad de estos ejemplos es ilustrar el propio uso de las técnicas y proporcionar un análisis
preliminar de su potencial de aplicación en dominios de diseño. El desarrollo de los ejemplos
ha sido en cierta medida paralelo al de los algoritmos, de modo que la generalización
presentada en la tercera parte de la tesis se ha beneficiado de la experiencia obtenida de la
aplicación de los algoritmos a las tareas descritas en esta cuarta parte. Una versión preliminar
de los ejemplos que se describen aparece en (Mandow y otros, 1997) y (Mandow y Pérez de
la Cruz, 1998).
El primero corresponde a una aplicación procedente del dominio de la arquitectura,
concretamente del diseño en planta de viviendas unifamiliares. La idea surgió en el contexto
del proyecto CICYT TIC95-0587 “Arquitecturas Cooperativas de Ayuda al Diseño”, como un
“juego” que permitiera a los arquitectos experimentar diversas configuraciones de
habitaciones. Está basado en la observación de que, en algunas ocasiones, los propios
arquitectos recortan pequeños modelos a escala de las habitaciones empleando cartulinas, y
“juegan” con ellos para “ver que es posible”. El programa emplea metas lexicográficas y
búsqueda en árbol sobre una sencilla gramática de formas.
250
El segundo permite resolver problemas de trazado de carreteras empleando búsqueda
en grafos y metas ponderadas. El desarrollo de este pequeño programa permitió identificar
una mejora en la gestión del árbol de búsqueda empleado por el algoritmo MOA* (Stewart y
White, 1991) sin la cual la búsqueda resulta impracticable para la mayoría de casos (véanse
las secciones 9.7.4 y 9.13).
También se han desarrollado aplicaciones para resolución de problemas de navegación
de robots empleando los algoritmos PRIMO-A* (Mandow y otros, 1997b) (Mandow y otros,
1998) y METAL-AL* (Fernández y otros, 1999). Dichas aplicaciones muestran la versatilidad
de los algoritmos descritos en la tesis, sin embargo se omiten aquí por no pertenecer a
dominios de diseño.
251
CAPÍTULO 11
CONTROL DE GRAMÁTICAS PARA LA
GENERACIÓN DE DISEÑOS
Una de las aplicaciones propuestas para los algoritmos descritos en capítulos
precedentes es controlar la generación de diseños a partir de una gramática de diseño dada.
Las gramáticas son un formalismo que presenta propiedades muy interesantes para la
representación de espacios de diseño. Desde la publicación de los trabajos de (Stiny y Gips,
1972) sobre gramáticas de formas, estas han sido recibidas con interés en diversos dominios.
El caso más llamativo es el de la arquitectura, donde se han empleado gramáticas para
describir diversos estilos arquitectónicos. Las villas de Palladio (1518-1580) o las casas de
campo de Frank Lloyd Wright (1869-1959) son ejemplos citados con frecuencia.
En este capítulo se desarrolla un ejemplo empleando una sencilla gramática para una
variante del problema de la planificación espacial. Este problema consiste en encontrar una
configuración adecuada para un conjunto de espacios en un plano.
11.1. GRAMÁTICAS EN DISEÑO
Las gramáticas de formas son una generalización de las gramáticas empleadas
comúnmente para la descripción de lenguajes formales. Estas gramáticas constan de (a) un
vocabulario de formas; (b) un conjunto de etiquetas, empleadas para indicar alguna
característica de una forma, como por ejemplo la posibilidad de aplicarle una regla; (c) una
forma inicial, y; (d) una serie de reglas de re-escritura sobre formas (las reglas gramaticales).
Por ejemplo, considérese la sencilla gramática descrita en la figura 11.1. La etiqueta • sirve
252
para identificar las formas a las que se pueden aplicar las reglas (nótese que al situarse la
etiqueta en el centro se da libertad en cuanto a la orientación).
Formainicial:
Regla 1:
Regla 2:
Figura 11.1. Una sencilla gramática de formas.
La figura 11.2 muestra dos formas diferentes, una de ellas puede generarse a partir de
la gramática descrita, mientras que la otra no.
(a) (b)
Figura 11.2. La forma (a) forma parte del lenguaje descrito por la gramática de la figura 11.1. La forma(b), por el contrario, no forma parte de dicho lenguaje.
Es un hecho ampliamente reconocido hoy día que la forma es una propiedad necesaria,
aunque no suficiente, para la generación de diseños. Las gramáticas de diseño incluyen
normalmente información no geométrica en sus reglas, como por ejemplo la función de las
partes que componen el diseño o restricciones sobre su tamaño.
Existen dos aplicaciones más o menos directas de las gramáticas en diseño:
1. Por una parte permiten analizar si un determinado diseño corresponde o no a una
gramática. En realidad, esta cuestión puede ser indecidible a menos que se
impongan determinadas restricciones sobre las reglas de la gramática (Knight,
1998).
2. Por otra parte permiten la generación de diseños válidos mediante la aplicación
sucesiva de sus reglas.
253
Una cuestión de gran importancia es el papel que juega el diseñador en un proceso de
diseño asistido mediante algún formalismo gramatical. Una primera alternativa es considerar
al diseñador como simple usuario de una gramática predefinida. En tal caso su labor se limita
a explorar el conjunto de diseños (tal vez infinito, aunque predeterminado) que la gramática es
capaz de generar. Una segunda alternativa es la que considera al diseñador como el
constructor de la gramática (Knight, 1998):
"El proceso de diseño se entiende como un proceso en el que se desarrolla la propia
gramática, no como la generación de diseños empleando la gramática. [..] El
desarrollo de reglas para los diseños precisa de la misma clase de inteligencia,
imaginación y conjetura que el desarrollo de diseños de una forma convencional".
En ambos casos existen dos problemas importantes relacionados con el uso de
gramáticas en diseño, aún pendientes de una solución satisfactoria:
• El primero relativo a la propia construcción de las gramáticas. Aunque se han
publicado ejemplos de gramáticas aplicadas a diversos problemas de diseño, el
desarrollo de una gramática adecuada se sigue considerando un difícil arte
(Carlson, 1994) (Cagan, 1994). Pequeños cambios en las reglas pueden producir
interacciones difíciles de prever, dando lugar a resultados finales muy diferentes
(Knight, 1998).
• El segundo es relativo al control de la gramática en la generación de diseños.
Normalmente el espacio de diseño representado por una gramática suele ser tan
grande que resulta imposible explorarlo de forma exhaustiva. En este sentido
(Cagan, 1994) identifica como un área interesante de investigación la búsqueda de
soluciones atendiendo a múltiples criterios.
La idea que se propone aquí es que la aplicación de algoritmos multicriterio como los
descritos en capítulos precedentes puede servir en algunos casos para resolver este segundo
problema.
11.2. LA PLANIFICACIÓN DEL ESPACIO
Los problemas de planificación del espacio consisten en encontrar una distribución
adecuada para un conjunto de elementos teniendo en cuenta criterios relativos a su
254
distribución espacial (por ejemplo, relaciones de distancia o adyacencia). En realidad existen
muchas variantes de este problema, dependiendo por ejemplo de si se considera o no la forma
y/o tamaño de los elementos, que el espacio sea bidimensional o tridimensional, o si el
espacio disponible tiene forma y dimensiones preestablecidas.
Este tipo de problemas aparece con mucha frecuencia en dominios relacionados con la
arquitectura, como la ordenación urbana (Navinchandra, 1991) o la distribución de mobiliario
(Akin y otros, 1988) (Flemming y otros, 1988), pasando por la realización de planos de
viviendas (Medjdoub y Yannou, 1998). Del mismo modo, son muchas las técnicas que se han
propuesto para resolverlos, como el uso de algoritmos específicos para el cálculo de
configuraciones posibles de rectángulos (Galle, 1981), sistemas expertos (Flemming y otros,
1988), búsqueda heurística multiobjetivo con relajación de restricciones (Navinchandra,
1991) gramáticas de formas con satisfacción de restricciones (Yoon, 1992), enfriamiento
estadístico (Cleland y Hills, 1994), o computación evolutiva (Rosenman, 1996).
En problemas reales la generación de configuraciones está influida por múltiples
criterios, como son la adyacencia, proximidad, orientación o dimensiones deseadas para los
diversos espacios considerados. En (Yoon, 1992), por ejemplo, se propone un modelo en el
que el espacio de búsqueda puede reducirse notablemente gracias a la propagación de
restricciones, aunque no admite problemas sobrerrestringidos. En (Navinchandra, 1991) por el
contrario, se propone un modelo de diseño en el que todas las restricciones pueden relajarse
reformulándolas como objetivos (véase la sección 5.6). El conjunto de todas las soluciones
óptimas de Pareto a un problema puede hallarse entonces utilizando algoritmos de búsqueda
multiobjetivo. Sin embargo, el uso de los algoritmos descritos en (Navinchandra, 1991) no
permite un control efectivo por parte del diseñador sobre la relajación de restricciones, y
puede resultar en espacios de búsqueda y de soluciones excesivamente grandes.
A continuación se describe una versión de este problema, donde el espacio de diseño
viene definido por una sencilla gramática y la generación de soluciones se controla
estableciendo un conjunto de metas lexicográficas.
255
11.3. UNA VERSIÓN DEL PROBLEMA DEL DISEÑO
ARQUITECTÓNICO EN PLANTA
El dominio estudiado es el diseño de planos de viviendas unifamiliares de una sola
planta. Este problema puede describirse brevemente de la siguiente forma: se dispone de un
conjunto de habitaciones de dimensiones conocidas y de un esquema que describe las
circulaciones permitidas entre ellas (puertas de acceso). El objetivo es encontrar una
configuración o distribución de habitaciones que satisfaga el esquema de conexión así como
un conjunto variable de preferencias o criterios que aparecen con frecuencia en arquitectura
(por ejemplo, relaciones de orientación o adyacencia).
A continuación se describe una sencilla gramática y un conjunto de criterios
adecuados para este problema. Por último se describen algunos resultados obtenidos a partir
de su implementación.
11.3.1 Una gramática para la generación de planos de viviendas
La gramática para la generación de planos de viviendas que se presenta a continuación
está basada en un conjunto ordenado de reglas. El formato de las mismas es A → A+B, donde
A y B son formas y A+B es una relación de adyacencia entre las mismas. En consecuencia,
cada regla añade una nueva forma B al diseño siguiendo una relación preestablecida con otra
forma A ya presente en el mismo.
Todas las formas son rectangulares y están etiquetadas con su función y con los
lugares donde se pueden localizar puertas de acceso (ver figura 11.3). Las etiquetas de
función no se consideran información geométrica, y por tanto su posición y orientación no
influyen en la unificación.
1 2
6 5
3
4
8
7Salón
Figura 11.3. Forma correspondiente a una habitación, etiquetada con su función (salón) y la
localización de posibles puertas de acceso (numeradas del 1 al 8).
256
Cada regla añade siempre una forma correspondiente a una habitación de modo que
sea accesible a través de una puerta desde otra habitación. Dada una habitación H1, si existe
otra habitación H2 de dimensiones n × m tal que ambas tienen una puerta en común, existen 8
conectores en H1 por los que se puede acceder a H2, y 4 formas posibles de colocar H2
adyacente a H1 en cada uno de esos conectores (ver figura 11.4). En total existen hasta 32
formas diferentes para añadir una habitación adyacente a otra dada, y 16 reglas si se tienen en
cuenta las simetrías. Estas sencillas reglas responden a la noción de que las puertas entre las
habitaciones de una vivienda se encuentran normalmente junto a una esquina, y nunca en
medio de una pared.
H1
H1
H1
H1
H1
H1
H1
H1
H2
H2
H2
H2
Figura 11.4. Cuatro de las dieciséis reglas que permiten conectar H2 a H1.
También se ha contemplado la posibilidad de construir pasillos compuestos de la
unión de formas cuadradas. Esto permite que los pasillos presenten forma no rectangular y
tamaño variable, según el numero de espacios de que consten. Nuevas habitaciones pueden
conectarse a los pasillos a través de los conectores correspondientes de cualquiera de sus
espacios (véase la figura 11.5). Existe un número máximo de espacios que se pueden asignar
al pasillo, y que se establece en función del número de habitaciones del problema a las que se
accede a través del mismo.
257
Regla P1:
Regla P2:
Figura 11.5. Reglas para la ampliación de espacios correspondientes a pasillos.
La generación de diseños comienza siempre con un plano vacío al que se puede añadir
la primera habitación de dos formas posibles (solo una si es cuadrada). A continuación se
añaden ordenadamente las restantes habitaciones de forma que cada nueva habitación tenga
una puerta en común con otra que ya se encuentra en el plano. Es decir, las reglas se aplican
en fases secuenciales correspondientes a la inclusión de habitaciones sucesivas, siguiendo un
orden preestablecido que tiene en cuenta el esquema de conexión de la vivienda. En cada fase
solamente se permite aplicar una regla de todas las posibles (es decir, cada diseño contendrá
únicamente una instancia de cada habitación), salvo en el caso de los pasillos, donde la regla
P1 puede aplicarse un número finito y acotado de veces (al menos una), y la regla P2 se aplica
a continuación siempre una vez.
Considérese por ejemplo la gramática correspondiente a un problema con cuatro
habitaciones (salón, cocina, aseo y dormitorio) y un pasillo de uno o dos espacios como
máximo. Las dimensiones de las habitaciones se muestran en la tabla 11.1. Las relaciones de
acceso permitidas se muestran en la figura 11.6. El orden en que se añaden las habitaciones es
el siguiente: salón (S), pasillo (P), aseo (A), dormitorio (D) y cocina (K).
Habitación Dimensiones (cm) Salón 300 x 300 Cocina 300 x 200 Pasillo 100 x 100 Aseo 200 x 200 Dormitorio 300 x 200
Tabla 11.1. Dimensiones de las habitaciones.
A P D
SK
Figura 11.6. Esquema de conexión para lashabitaciones de la tabla 11.1.
258
La figura 11.7 muestra un diseño perteneciente al lenguaje descrito por la gramática y
la secuencia de reglas que lo producen.
K
D
A
S S S
S
A
SD
A
S
Figura 11.7. Aplicación secuencial de reglas. La forma inicial se ha representado por un círculo. Lasetiquetas correspondientes a puertas del aseo (A), dormitorio(D) y cocina (K) se omiten, ya que no
está previsto que desde ellas se acceda a otras habitaciones.
El espacio de diseño resultante tiene normalmente una estructura en árbol y,
dependiendo del número de habitaciones, un tamaño considerable. Para problemas reales
(siete o más espacios, entre habitaciones y trozos de pasillo) la enumeración completa del
espacio de búsqueda es claramente inviable.
11.3.2 Criterios para la generación de planos
La gramática anteriormente descrita es muy sencilla, e incluye muy pocas restricciones
sobre la forma final de los diseños. Para generar el plano de una vivienda lo normal es
considerar un conjunto más o menos extenso de criterios, lo que permite descartar muchas
alternativas. Para la realización de pruebas con el algoritmo METAL-ALN* se han construido
funciones para el cálculo de los siguientes atributos:
1. adyacencias(hab, [hab1, ...habn]) ≥ t1. Que una habitación “hab” sea adyacente
con al menos t1 habitaciones de la lista dada.
2. pared-bloqueada(hab, pared) ≤ t2. Que el tramo de una pared (derecha, izquierda,
arriba o abajo) de una habitación bloqueada por otra sea inferior a determinada
longitud (por ejemplo, que admita poner una ventana).
259
3. ancho-plano ≤ t3. Que la anchura total del plano (dimensión derecha-izquierda) no
exceda de ciertos límites.
4. alto-plano ≤ t4. Que la altura total del plano (dimensión arriba-abajo) no exceda de
ciertos límites.
5. num-espacios(pasillo) ≤ t5. Que el número de espacios asignado a un pasillo no
exceda de cierto número.
6. minimizar el perímetro exterior. Este objetivo persigue un criterio meramente
estético, y busca un diseño lo más compacto posible30.
La función heurística multicriterio es de la forma:
H(P) = {(ha(P), hb(P),...hq(P))}
Donde P representa un plano parcial de la vivienda, q es el número de atributos y hi(P)
es una función heurística escalar admisible para el atributo i-ésimo (es decir, una estimación
optimista del mismo). En cuanto a las funciones heurísticas escalares tenemos que:
! Para los atributos tipo 2 (pared-bloqueada), 3 (ancho-plano) y 4 (alto-plano) se
utiliza ∀ P h(P) = 0, que es un heurístico admisible al ser los atributos del tipo
“cuanto menos mejor”.
! Para atributos del tipo 5 (num-espacios) se emplea la siguiente función:
=casootroen
cuesiónenpasilloelincluyenoaúnqueplanounesPsiPh
01
)(
! El atributo del tipo 6 (maximizar-perímetro-interior) también es de la forma
“cuanto más mejor”. Un heurístico optimista (por exceso) es el siguiente:
h P contorno habhabnoincluidasenP
( ) ( )= × ∑2
30 Este criterio puede aplicarse con METAL-ALN* estableciendo un nivel de aspiración inalcanzable para el
atributo. Concretamente, en este caso el perímetro interior (la longitud de las paredes interiores de la vivienda) es más fácil de calcular que el exterior, y maximizar el primero es equivalente a minimizar el segundo. Para minimizar el perímetro exterior se establece como meta perímetro-interior ≥ t6, con valor t6 muy elevado.
260
! Los atributos de tipo 1 (adyacencias[hab, [hab1...habn]]) son siempre de la forma
“cuanto más mejor”, por lo que la función heurística optimista (por exceso) se
define de la siguiente forma:
Si hab pertenece al plano P,
entonces h(P) es el número de habitaciones de la lista
[hab1...habn] que aún no están en P,
en otro caso h(P) es el número total de habitaciones en la lista
[hab1...habn].
La búsqueda resultante no está muy informada, ya que tan solo se cuenta con escasa
información acerca de los atributos de tipo 5. Nótese que la información proporcionada para
los atributos de tipo 1 o 6 es imprescindible para garantizar la admisibilidad de la función
heurística, ya que al ser de la forma “cuanto más mejor” el heurístico ∀ P h(P) = 0 no
resultaría admisible.
La implementación de heurísticos más detallados resulta más complicada
computacionalmente, y es preciso valorar empíricamente si el coste computacional adicional
compensa la reducción del espacio de búsqueda. Al ser el objetivo de este ejemplo mostrar
únicamente las posibilidades de la búsqueda multicriterio en el control de gramáticas de
diseño no se ha considerado necesario buscar heurísticos más ambiciosos.
11.3.3 Ejemplo
El algoritmo METAL-ALN* simplificado para la búsqueda en árbol, las funciones
necesarias para generar el espacio de búsqueda para el dominio del diseño de viviendas así
como las funciones de coste y heurísticas correspondientes a las metas descritas anteriormente
han sido implementadas en Common LISP (Steele, 1990). También se ha implementado una
interfaz gráfica usando el paquete CLX31 (TII, 1989).
31 Common LISP X interface.
261
A modo de ejemplo consideremos la descripción de un problema dada por los datos de
las habitaciones mostrados en la tabla 11.2, el esquema de conexión de la figura 11.8, y los
criterios descritos en la tabla 11.3.
Habitación Dimensiones (cm) Salón (S) 400 x 400 Comedor (C) 300 x 250 Cocina (K) 300 x 250 Pasillo (P) 100 x 100 Aseo (A) 200 x 300 Dormitorio 1 (1) 300 x 250 Dormitorio 2 (2) 300 x 250 Dormitorio 3 (3) 300 x 300
Tabla 11.2. Dimensiones de las habitaciones.
1
C
A P 3
2
SK
Figura 11.8. Esquema de conexión.
Nivel de prioridad
Atributo Tipo Nivel de aspiración
Peso
ancho-plano ≤ 1000 (cm.) 1 1 alto-plano ≤ 1000 (cm.) 1 adyacencias (aseo, [kocina]) ≥ 1 1 2 num-espacios (pasillo) ≤ 2 1 pared-ocupada (salon, arriba) ≤ 0.01 (cm.) 1 pared ocupada (dorm-1, derecha) ≤ 0.01 (cm.) 1 pared-ocupada (dorm-2, derecha) ≤ 0.01 (cm.) 1
3
pared-ocupada (dorm-3, derecha) ≤ 0.01 (cm.) 1 4 perímetro-interior ≥ 100000 (cm.) -
Tabla 11.3. Nivel de prioridad, atributo, dirección, aspiración y peso para cada meta.
Las metas se organizan en cuatro niveles de prioridad diferentes. La prioridad más alta
se centra en mantener el tamaño del plano dentro de ciertos límites (un cuadrado de 10 × 10
metros). En el segundo nivel se incluyen dos metas. La primera corresponde a la preferencia
de que los aseos y la cocina sean adyacentes entre sí. Este es un criterio de corte económico,
ya que reduce el coste de las instalaciones. La segunda indica que el pasillo deberá ser lo más
corto posible. En un tercer nivel se expresa el deseo de que el salón tenga libre su pared
inferior (presuntamente orientación sur) y los dormitorios sus paredes derechas (orientación
este). Por último en un cuarto nivel de preferencia, como objetivo menos prioritario se intenta
minimizar el perímetro del diseño.
262
El programa encuentra dieciséis soluciones eficientes al problema, con tres vectores de
atributos minimales diferentes. Los valores de los distintos vectores de atributos minimales y
el logro conseguido para cada nivel de prioridad (suma de desviaciones ponderadas de las
metas) se muestran en la tabla 11.4. No se pueden satisfacer todas las metas en el nivel tres.
Nivel de pr.
Atributo Vector 1 Vector 2 Vector 3 Logro
ancho-plano 950 950 950 1 alto-plano 900 850 850
0
adyacencias (aseo, [kocina]) 1 1 1 2 num-espacios (pasillo) 2 2 2
0
pared-ocupada (salon, arriba) 0 0 0 pared ocupada (1-dorm, derecha) 0 150 0 pared-ocupada (2-dorm, derecha) 0 0 150
3
pared-ocupada (3-dorm, derecha) 150 0 0
14999
4 perímetro-interior 5500 5600 5600 0
Tabla 11.4. Tres vectores de atributos minimales y vector de logro correspondiente.
El vector 1 corresponde a doce soluciones diferentes. Los planos de tres de ellas se
muestran en la figura 11.9. Las restantes se obtienen cambiando la localización de la puerta
del aseo y/o intercambiando de los dormitorios 1 y 2 (los más pequeños). En todos ellos el
dormitorio 3 (el más grande) tiene bloqueados 1,5 metros de su pared derecha.
Figura 11.9. Tres de las soluciones correspondientes al primer vector de atributos mostrado en latabla 11.4.
Los vectores 2 y 3 corresponden a dos soluciones cada uno. En realidad son iguales
dos a dos intercambiando el dormitorio 1 por el 2 (tienen el mismo tamaño). La figura 11.10
muestra las soluciones correspondientes al vector 2. La única diferencia entre ellas se debe a
263
la localización de la puerta del aseo. Los diseños obtenidos aquí son más compactos, como
indican el mayor valor de perímetro interior y el menor valor en la altura del plano resultante.
Figura 11.10. Soluciones correspondientes al segundo vector de atributos mostrado en la tabla 11.4.
Obsérvese que tras la ejecución del programa el diseñador puede comprobar
inmediatamente si el problema está sobrerrestringido (algunas metas no alcanzaron el nivel de
aspiración establecido) o infrarrestringido (se encontró un gran número de soluciones). Tras
un análisis de los resultados proporcionados el usuario puede cambiar la descripción del
problema añadiendo nuevas metas, eliminando otras y/o cambiando su prioridad, y realizar un
nuevo experimento.
El tiempo empleado en resolver el ejemplo anterior fue de 5890 segundos (3668
iteraciones) en una estación de trabajo INDY Silicon Graphics con procesador IP22 a 132
MHz y 64Mb. de RAM. En un procesador Pentium a 200 MHz con 64 Mb de RAM el tiempo
de procesador fue de 4184 segundos.
11.4. COMENTARIOS
En este capítulo se ha ilustrado una aplicación posible de los algoritmos con
satisfacción de metas: el control de gramáticas para la generación de diseños. Se han
presentado algunos resultados obtenidos con una sencilla gramática para el dominio de la
planificación del espacio.
El uso de algoritmos de búsqueda heurística multicriterio para este tipo de problemas
presenta diversas ventajas. En primer lugar permite la generación automática de diseños
pertenecientes al lenguaje de la gramática empleando criterios de alto nivel (adyacencias,
264
orientaciones, proximidades). El uso de metas lexicográficas es mucho más flexible que el
simple enunciado de restricciones. El programa proporciona siempre respuestas aunque no
puedan satisfacerse todos los criterios, relajando primero siempre las metas menos
prioritarias. La posibilidad de incluir información heurística permite a estos algoritmos
utilizar tanto atributos "cuanto menos mejor" como atributos "cuanto más mejor".
Obviamente no en todos los casos este tipo de algoritmos resultará adecuado para el
control de gramáticas de diseño. La necesidad de buenos heurísticos aumentará cuanto más
grande sea el espacio de diseño. En este sentido hay que destacar que la incorporación de
conocimiento de diseño en las reglas permite aminorar la explosión combinatoria. En el caso
ideal todos los diseños generados por una buena gramática responden al estilo o funcionalidad
deseados. La dificultad reside en que pequeños cambios en las reglas tienen muchas veces
efectos imprevistos en los diseños resultantes. En este sentido, diseñar una buena gramática
para un problema se convierte en un auténtico problema de diseño.
La gramática presentada en el ejemplo tiene muchas limitaciones y su finalidad es
únicamente ilustrativa. El espacio de diseño generado crece exponencialmente con el número
de habitaciones, pudiendo tener en algunos casos un factor de ramificación en torno a 30. Para
aplicaciones realistas sería necesario incorporar reglas que reflejasen un estilo más concreto,
considerar criterios adicionales y replantear el tratamiento de las dimensiones de las
habitaciones. Aunque en algunos casos el tamaño de las habitaciones puede estar prefijado, lo
normal es permitir ciertos rangos de variación o solapamiento. No obstante, en algunos
dominios relacionados, como la distribución de mobiliario de oficina, la suposición de
tamaños fijos es perfectamente razonable.
265
CAPÍTULO 12
EXPLORACIÓN DE CRITERIOS EN DISEÑO DE
CARRETERAS
El ejemplo desarrollado en este capitulo ilustra la capacidad de METAL-AL* aplicado
a búsqueda en grafos. Se trata de un problema extraído del dominio del diseño de carreteras.
La formalización descrita corresponde a un grafo sobre el que se aplica una búsqueda guiada
por metas ponderadas. En primer lugar se esbozan algunos aspectos del diseño de carreteras.
A continuación se describe el espacio de estados empleado y algunos ejemplos.
12.1. ALGUNOS ASPECTOS DEL DISEÑO DE CARRETERAS
El diseño de nuevas vías de comunicación terrestres (carreteras, autopistas, líneas
ferroviarias) es una tarea compleja. Su impacto social, económico y medioambiental
subordina y condiciona de manera obligada los aspectos técnicos de su realización. Aunque
existen ciertos elementos comunes al diseño de todas estas obras, la presente sección se centra
en algunos aspectos concretos desde el punto de vista del diseño de carreteras.
El primer aspecto destacable de este tipo de diseño es su marcado carácter
multicriterio. Diversos grupos de presión, políticos y sociales intervienen normalmente de
forma conflictiva en el proceso. La labor del ingeniero o ingenieros encargados del diseño
consiste en intentar satisfacer todas las expectativas creadas mediando a su vez con las
condiciones geográficas y las limitaciones técnicas y presupuestarias.
Desde un punto de vista general la complejidad de la tarea se resuelve
descomponiéndola en base a dos criterios independientes (Pérez de la Cruz y otros, 1995): el
nivel de definición y las superficies de proyección.
266
La descomposición de la tarea en cuanto al nivel de definición puede considerarse en
tres etapas:
1. Planificación. En esta etapa se resuelven la mayoría de decisiones políticas y
compromisos con los grupos de presión social. El resultado es una especificación
genérica de puntos entre los que debe circular la carretera.
2. Diseño preliminar. En base a la especificación anterior y teniendo en cuenta
consideraciones técnicas se elige un trazado a gran escala (normalmente 1:10000
para la proyección horizontal, y 1:500 para la vertical).
3. Diseño detallado, en el que se añaden todos los detalles necesarios para la
construcción final de la obra.
En paralelo con la anterior descomposición, la descripción de la carretera puede
dividirse en sus proyecciones horizontal y vertical. Sin embargo, considerar de forma
totalmente independiente ambas proyecciones puede ocasionar algunos problemas, como la
aparición de perspectivas engañosas desde el punto de vista de los futuros conductores. Por
este motivo, son deseables estrategias que combinen en cierta medida aspectos del diseño de
ambas proyecciones.
En la siguiente sección se elabora una formalización con fines ilustrativos del
problema del trazado preliminar de carreteras, centrándose fundamentalmente en su
proyección horizontal. Los ingenieros no realizan esta tarea de forma algorítmica, sino
basándose en su experiencia y a su propia percepción del problema. Los criterios
considerados son muy variados, e incluyen características funcionales (dictadas por las
normativas legales vigentes), características geográficas (donde se considera la longitud del
trazado y la necesidad de evitar zonas abruptas o con problemas geotécnicos, yacimientos
arqueológicos, etc.) y aspectos de orden económico (donde inciden fundamentalmente los
movimientos de tierra necesarios).
También existen otros factores a considerar dependiendo del contexto. Las
limitaciones no son las mismas en zonas periurbanas, campo abierto, o en presencia de
obstáculos lineales, como por ejemplo ríos. El ejemplo presentado asume la realización del
diseño en campo abierto y en ausencia de obstáculos lineales.
267
12.2. EL PROBLEMA DEL TRAZADO PRELIMINAR DE
CARRETERAS
12.2.1 El espacio de búsqueda
Inicialmente el problema se presenta en la forma de una superficie o mapa topográfico,
y la localización de dos puntos en el mismo que sirven indistintamente de origen y destino
para la carretera.
A partir de la digitalización del mapa puede obtenerse una malla de cotas con la
resolución deseada. Los caminos dentro de la malla, correspondientes a posibles trazados, se
construyen permitiendo desplazamientos desde un punto a otro de la misma siguiendo algún
criterio de vecindad. En los ejemplos presentados más adelante se ha considerado el criterio
de 8-vecindad, que aparece ilustrado en la figura 12.1. Según este criterio es posible
desplazarse desde cada punto de la malla a cualquiera de sus ocho vecinos más cercanos.
Figura 12.1. Desplazamientos posibles dentro de la malla a partir de un punto cualquiera.
Para hacer más realista la generación de trazados se ha definido un espacio de estados
sobre la misma de modo que se eliminen giros demasiado acentuados. Así, cada estado viene
definido por tres valores (x, y, α), donde (x, y) son las coordenadas dentro de la malla, y α es
la orientación con la que se alcanzó dicho punto según un sistema de referencia global.
Los movimientos o transiciones permitidas están limitadas por un umbral global ϕ que
limita la variación máxima posible en la orientación al pasar de un estado a otro. En los
ejemplos descritos más adelante se ha considerado un umbral de ± 45º. La figura 12.2 muestra
ejemplos de trazados válidos y no válidos sobre la malla.
268
A
B
CD
EF
0º
90º
180º
270ºA’
ϕϕϕϕ = ±±±± 45º
8-vecinos
Figura 12.2. Orientación inicial de 0º en los puntos A y A’. (a) Trazados válidos sobre la malla. (b)
Trazado no válido, ya que las transiciones C → D y E → F suponen variaciones de orientación de 90º.
12.2.2 Criterios para el trazado de carreteras
Tal como se comenta en la sección 12.1. son muchos los atributos que pueden
considerarse para este tipo de problemas. Para la realización de pruebas se han considerado
únicamente dos:
1. La longitud del trazado.
2. La longitud del recorrido vertical, empleado como una estimación del coste final
(véase la figura 12.3). Los movimientos de tierra necesarios para suavizar el
trazado son responsables de buena parte de este coste. Por tanto, si el trazado es
muy ondulado el coste será presuntamente elevado.
a
bc
Ejez
Plano xy
Recorrido vertical = a+b+c
Figura 12.3. Recorrido vertical.
Ambos atributos pueden calcularse de forma aditiva. El primero sumando las
distancias entre los distintos puntos del trazado en la malla, y el segundo sumando las
diferencias en valor absoluto de las cotas para cada par de puntos consecutivos.
La función heurística multicriterio empleada es de la forma:
H(e) = {(h1(e), h2(e))}
269
Donde e = (x, y, α) es un estado del problema, y h1(e), h2(e) son funciones escalares
admisibles para la minimización de ambos atributos. Concretamente:
! Para la longitud del trazado h(e) es la distancia más corta en la malla de 8-vecinos
entre el punto (x, y) y las coordenadas del estado final.
! Para el recorrido vertical h(e) es la diferencia entre la cota del punto (x, y) y la del
estado final.
Ambos heurísticos limitan de forma efectiva el número de estados a considerar.
12.2.3 Ejemplos
El algoritmo METAL-AL*, las funciones necesarias para generar el espacio de
búsqueda de trazados de carreteras, así como las funciones de atributos y heurísticas
correspondientes a los atributos descritos anteriormente, han sido implementadas en
CommonLISP (Steele, 1990). Para la visualización gráfica de los resultados se ha empleado el
software de visualización MATLAB® (MathWorks, 1995).
A continuación se presentan varias pruebas del programa. Todas ellas corresponden a
mapas topográficos de 5 × 10 Km. discretizados con una resolución de 50 × 100. El sistema
de coordenadas tiene su origen en la esquina superior izquierda, que corresponde al punto (1,
1). La esquina inferior derecha corresponde al punto (50, 100). Los niveles de aspiración se
han establecido cercanos a los valores óptimos ideales, que pueden obtenerse fácilmente a
partir de la malla.
Primer ejemplo. La figura 12.4 muestra el mapa topográfico y el resultado de un
primer experimento. Se trata de encontrar un trazado desde la esquina inferior izquierda a la
superior derecha. Concretamente el enunciado del problema se muestra en la tabla 12.1.
Estado inicial (50, 1, 135º) Cjto. de estados finales {(1 , 100, _ )} Meta1 rec-vertical ≤ 102 m. Meta2 longitud ≤ 12000 m.
Tabla 12.1. Datos correspondientes al primer ejemplo.
Se realizaron diversas pruebas cambiando los pesos de los dos criterios considerados.
Todas proporcionaron sorprendentemente el mismo resultado, es decir, el mismo trazado
270
obtiene valores óptimos para ambos atributos por lo que no es necesario establecer un
compromiso entre ellos. Concretamente el recorrido vertical es de 102 metros (la diferencia
exacta entre las cotas de los puntos inicial y final), y la distancia recorrida de 11’929
kilómetros (la distancia mínima en la malla, salvo errores de redondeo).
0
50
10 20 30 40 50 60 70 80 90
y, 90º
x, 0º
Figura 12.4. Mapa topográfico y trazado propuesto para el primer ejemplo.
La figura 12.5 muestra una imagen tridimensional del mismo terreno y del trazado
propuesto. La escala del eje z, que indica las cotas de los puntos de la malla, viene dada en
metros. La figura 12.6 muestra el perfil del trazado, donde puede observarse fácilmente que el
recorrido vertical es mínimo.
El tiempo de procesador empleado en encontrar la solución fue de 252,8 segundos
para un procesador Pentium 200MHz. con 64 Mb.de memoria RAM, y de 575,2 en una
estación de trabajo INDY Silicon Graphics con procesador IP 132MHz. y 64 Mb. de RAM.
271
Figura 12.5. Imagen 3D del terreno y el trazado correspondientes al primer ejemplo.
Figura 12.6. Perfil del trazado propuesto para el primer ejemplo. El eje horizontal indica la longitud del
trazado en cientos de metros. El eje vertical indica las cotas en metros.
Segundo ejemplo. La tabla 12.2 muestra unos nuevos estados inicial y final, y un
nuevo conjunto de metas, aplicados al mapa topográfico mostrado en la figura 12.7.
272
Estado inicial (50, 1, 135º) Cjto. de estados finales {(45 , 100, _ )} Meta1 rec-vertical ≤ 122 m. Meta2 longitud ≤ 10100 m.
Tabla 12.2. Datos correspondientes al segundo ejemplo.
En este caso pueden obtenerse muchas soluciones diferentes estableciendo distintos
valores para los pesos. La figura solo muestra dos de los muchos resultados obtenidos.
Eligiendo el segundo en lugar del primero puede conseguirse una reducción de más de 1,2
kilómetros de longitud a cambio de incrementar en 32 metros el recorrido vertical.
• Trazado 1:w1 = 0.5 rec-vertical = 124 m.w2 = 0.5 longitud = 11915 m.
• Trazado 2:w1 = 0.2 rec-vertical = 156 m.w2 = 0.8 longitud = 10687 m.
y, 90º
x, 0º
0
20
40
10 20 30 40 50 60 70 80 90
Figura 12.7. Mapa topográfico correspondiente al segundo ejemplo, junto a dos trazados propuestos.
En general, mediante una variación de los pesos asignados a cada criterio puede
analizarse la dependencia particular que existe entre ellos en cada problema.
273
La figura 12.8 muestra una imagen tridimensional del mismo terreno y deltrazado propuesto. La escala del eje z, viene dada en metros. La figura 12.9 muestrael perfil del trazado, donde puede observarse fácilmente que el recorrido vertical esmínimo.
Figura 12.8. Imagen 3D del terreno y los trazados 1 (en rojo) y 2 (en azul) correspondientes al
segundo ejemplo
0 2 0 4 0 6 0 8 0 1 0 0 1 2 09 0 0
9 2 0
9 4 0
9 6 0
9 8 0
1 0 0 0
1 0 2 0
1 0 4 0
Figura 12.9. Perfil de los trazados 1 (en rojo) y 2 (en azul) del segundo ejemplo. El eje horizontal
indica la longitud del trazado en cientos de metros. El eje vertical indica las cotas en metros.
274
El tiempo de procesador empleado en encontrar ambas soluciones fue de 3061 y 2501
segundos respectivamente para un procesador Pentium 200MHz. con 64 Mb.de memoria
RAM. En una estación de trabajo INDY Silicon Graphics con procesador IP 132MHz. y 64
Mb. de RAM los tiempos de procesador fueron de 5957 y 3298 segundos respectivamente.
12.3. COMENTARIOS
En cuanto a la formalización del problema del trazado de carreteras son muchos los
aspectos que pueden mejorarse, empezando por un tratamiento más realista del coste de la
obra. No es difícil incluir en la formalización descrita otros criterios, como por ejemplo
mantener el trazado alejado de ciertas zonas. También sería deseable un tratamiento más
realista sobre el trazado de curvas.
El principal interés del ejemplo descrito es probar la eficacia del algoritmo METAL-
ALN*. Los ejemplos descritos, correspondientes a mallas de 100 × 50 nodos, generan espacios
de búsqueda con 40.000 estados. Sin embargo, METAL-ALN* se desenvuelve bien en este
tipo de problemas. Esto se debe al uso de funciones heurísticas y a una eficiente gestión del
grafo de búsqueda.
Las primeras pruebas realizadas empleaban una gestión del grafo de búsqueda análoga
a la descrita para el algoritmo MOA* en (Stewart y White, 1991). El resultado fue de tiempos
de ejecución absolutamente inaceptables (del orden de días). Un análisis detallado de la
ejecución del algoritmo reveló que buena parte del espacio de búsqueda era generado de
nuevo una y otra vez, debido a que los estados se reabrían cada vez que se encontraba un
nuevo camino óptimo de Pareto hasta ellos. El resultado era que multitud de caminos ya
explorados volvían a ABIERTOS y debían ser explorados de nuevo. El problema se agravaba
a medida que aumentaba la profundidad de la búsqueda.
La solución fue sencilla, natural y eficaz. Cuando se encuentra un nuevo camino hasta
un estado, solamente se pasa a ABIERTOS si es diferente de los ya encontrados hasta el
momento, y no es necesario reabrir los demás caminos ya conocidos y posiblemente
explorados. La mejora en eficiencia fue espectacular.
275
Por último, la aplicación descrita podría beneficiarse de la combinación de las técnicas
de búsqueda multicriterio con técnicas de búsqueda bidireccional como la descrita en (Linares
y Gómez-Pérez, 1997), que pueden beneficiarse del uso de arquitecturas paralelas.
276
277
V. CONCLUSIONES
278
279
CAPÍTULO 13
CONCLUSIONES Y DESARROLLOS FUTUROS
13.1. CONCLUSIONES
Arquitectos, ingenieros y diseñadores en general deben desentrañar muchas veces una
realidad física y social compleja. El desarrollo de herramientas informáticas que sirvan de
ayuda en esta tarea supone un desafío interesante para la Inteligencia Artificial.
Las modernas teorías sobre diseño apuntan a la construcción de todos los elementos
del problema como una actividad fundamental en dicho proceso. Esto implica tanto la
formalización de un conjunto coherente de fines a perseguir como la determinación de los
medios a emplear. Las contribuciones de la tesis inciden en el primer aspecto, que se ha
denominado exploración de criterios.
La exploración de criterios comienza con una formalización inicial. A través de la
experiencia obtenida de la realización de experimentos y la síntesis de soluciones parciales, el
diseñador puede ir descubriendo si sus criterios son incompletos, inconsistentes, imprecisos
y/o ambiguos y de qué forma interactúan unos con otros. En el transcurso del proceso algunos
criterios pueden ser abandonados y aparecer otros nuevos, a medida que se descubren las
posibilidades de cada situación concreta.
Para apoyar la tarea de exploración de criterios la tesis propone adaptar algunas
técnicas de la IA aprovechando conceptos elaborados en el contexto de la Teoría de la
Decisión Multicriterio. Aunque el interés por las técnicas multicriterio es creciente dentro de
la Investigación Operativa, aún son pocas las técnicas desarrolladas por la IA en este sentido.
280
De entre las técnicas multicriterio más comunes son las de satisfacción de metas las
que parecen más adecuadas para la exploración de criterios. Tal como señala (Gass, 1996) las
técnicas de satisfacción de metas fueron propuestas originalmente como un método para la
resolución de problemas sobre-restringidos (inconsistentes). La introducción de pesos y
prioridades lexicográficas enriquece el método con los medios necesarios para eliminar
ambigüedades. Así, a lo largo de la tesis se propone el desarrollo de nuevos algoritmos de
satisfacción de metas.
La principal contribución de la tesis es un marco general para una clase de algoritmos
multicriterio de búsqueda heurística. El marco incluye una formalización de los problemas de
búsqueda heurística multicriterio en grafos y dos procedimientos generales para su resolución.
El primero de ellos, denominado POP*, permite la búsqueda de una solución minimal. El
segundo, denominado POPN* permite determinar el conjunto de todas las soluciones
minimales a un problema. Ambos procedimientos responden a la idea de un proceso cíclico
de generación de caminos solución parciales. En cada ciclo el conjunto de caminos se ordena
sucesivamente en base a dos criterios: el primero corresponde a una relación de preferencia,
que enfoca el esfuerzo de búsqueda hacia las soluciones minimales; el segundo corresponde a
una relación de poda que permite descartar algunos caminos, reduciéndose así el número de
posibilidades. La gestión de la estructura concreta que almacena los caminos solución
parciales se ha tratado separadamente, preservando así con claridad la lógica de la búsqueda.
El análisis formal de POP* y POPN* incluye además un conjunto de condiciones suficientes
para su admisibilidad. Es destacable la introducción de un buen número de nuevos conceptos
que generalizan los empleados normalmente para el análisis de los algoritmos de búsqueda
escalares.
Se ha considerado la subclase de problemas que emplean funciones de atributos
acumulables, presentándose algoritmos para las principales reglas de decisión multicriterio:
búsqueda multiobjetivo (algoritmo MO-Z*), búsqueda con funciones de coste multiatributo
(ZL*), búsqueda con múltiples objetivos ordenados por prioridad (PRIMO-Z*, PRIMO-ZL*) y
búsqueda con satisfacción de metas (METAL-ZL*). Apoyándose en las propiedades formales
presentadas para del procedimiento POP*, se han presentado condiciones suficientes para la
admisibilidad de todos ellos. Asimismo, se han incluido en el marco general propuesto otros
algoritmos ya existentes, como el algoritmo Z* (propuesto para optimización de atributos
escalares, pero que puede emplearse también adecuadamente para algunos problemas con
281
funciones de coste multiatributo), el algoritmo U* (también para funciones de coste
multiatributo), el algoritmo MOA* (para problemas multiobjetivo con metas aditivas), y el
célebre algoritmo A* (para problemas de optimización escalar aditiva). También se ha
analizado una estructura de datos que puede servir para todos ellos, el grafo de búsqueda. Los
procedimientos presentados para la gestión del grafo de búsqueda suponen una sencilla pero
importante mejora respecto al empleado en MOA* (Stewart y White, 1991).
En consecuencia con la línea argumental de la tesis se ha presentado con especial
detalle METAL-ALN*, un algoritmo para la satisfacción de metas lexicográficas aditivas. Su
análisis incluye demostraciones sobre su admisibilidad bajo condiciones análogas a las
empleadas para el algoritmo A*.
Por otra parte se ha ilustrado la aplicación de las técnicas de satisfacción de metas
usando variantes del algoritmo METAL-ALN* en dos problemas extraídos de dos dominios de
diseño concretos. El primero, relativo al control de gramáticas para la obtención de diseños,
empleando búsqueda en árbol con satisfacción de metas lexicográficas. El segundo, aplicado
al trazado de carreteras, empleando búsqueda en grafos con metas ponderadas.
13.2. DESARROLLOS FUTUROS
Una de las aspiraciones de la tesis es que sus resultados sirvan, empleando las palabras
de Donald Schön, para “mantener la indagación en marcha”.
Son muchas las direcciones en las que se puede continuar el trabajo descrito en la
tesis.
• Exploración de criterios. De los cuatro aspectos identificados en KLDE0 como
característicos de las especificaciones de requisitos en problemas de diseño, las
técnicas de satisfacción de metas permiten abordar directamente sólo dos
(inconsistencia y ambigüedad). Los aspectos de incompletitud e imprecisión son
también de mucha importancia, y es necesario analizar la forma en que se pueda
ayudar a los diseñadores en su resolución (Smithers y otros, 1994).
• Sistemas de IA para ayuda al diseño. Son muchos los aspectos del diseño que
deben ser analizados antes de poder construir sistemas capaces de ayudar a los
diseñadores a través de todo el proceso de diseño. Concretamente sería deseable
282
integrar las técnicas empleadas para la exploración de criterios con las que
permitan la exploración del espacio de estructuras.
• Técnicas multicriterio en la IA. Las técnicas multicriterio se están introduciendo
lentamente en la IA. La tesis pretende avanzar en esta dirección, aunque aún es
mucho el camino que queda por recorrer. Una continuación interesante es realizar
un análisis sobre el impacto de la información heurística en los procesos de
búsqueda multicriterio, de forma análoga a los análisis realizados para los
algoritmos de búsqueda tradicionales (Pearl, 1984).
• Desarrollo de aplicaciones. La finalidad de los algoritmos descritos es poder
desarrollar aplicaciones útiles. Los casos de prueba presentados son sólo dos áreas
prometedoras de aplicación, aunque son muchos los aspectos que deben
desarrollarse para obtener herramientas prácticas a partir de ellos. En particular,
para construir un sistema de ayuda basado en conocimiento para alguna clase
particular de diseño, es necesario construir previamente un modelo de la misma.
283
APÉNDICES
284
285
APÉNDICE A
NOTACIÓN Y ABREVIATURAS EMPLEADAS
ATMS: Assumption-based Truth Maintenance System (Sistema para el
Mantenimiento de la Verdad basado en Suposiciones).
CLOP: Consistent Labeling and Optimization Problem (Problema de
Optimización y Etiquetado Consistente).
CLP: Consistent Labeling Problem (Problema de Etiquetado Consistente).
IA: Inteligencia Artificial.
IC: Ingeniería del Conocimiento.
IO: Investigación Operativa.
KCDC: Key Centre of Design Computing.
KL: Knowledge Level (Nivel del Conocimiento).
KLKE: Nivel del Conocimiento, tal como se emplea en las modernas
metodologías de la Ingeniería del Conocimiento.
KLN: Nivel del Conocimiento, tal como fue propuesto originalmente por
Newell.
SBC: Sistemas Basados en Conocimiento.
sii: si y solo si
TDM: Teoría de la Decisión Multicriterio.
286
ℜ Denota el conjunto de los números reales.
← Empleado en el pseudocódigo de los algoritmos denota la sentencia de
asignación. En otro contexto se refiere a la existencia de un arco entre dos
nodos de un grafo, por ejemplo: n ← n' o n' → n denota la existencia de un
arco que va del nodo n' al nodo n.
(s,...n) Cualquier camino que parte del nodo s y termina en el nodo n.
p Denota la relación "es preferible a"
p Denota la relación "es igual o preferible a"
♣ Empleado en el texto de la memoria denota el fin de una definición,
proposición o demostración.
∧ y (conjunción).
∨ o (disyunción).
¬ No (negación).
∃ Existe.
∀ Para todo.
¬∃ No existe.
∅ El conjunto vacío.
∈ Pertenece a.
/ Tal que.
{n} El conjunto formado por el elemento n.
P(C) El conjunto de las partes del conjunto C.
P Un camino en un grafo.
287
APENDICE B
TEXTO ORIGINAL DE LAS CITAS
A lo largo de la memoria aparecen referencias textuales a las obras originales de
diversos autores. En este apéndice se enuentran, ordenadas por capítulos y en el mismo orden
que en la memoria, las transcripciones del texto de dichas citas en su lengua original.
B.1. CITAS DEL CAPÍTULO 2
(Newell y Simon, 1976)
"A physical symbol system has the necessary and sufficient means for general intelligent action."
(Newell y Simon, 1976)
"The solutions to problems are represented as symbol structures. A physical-symbol system exercises its intelligence in problem-solving by search -that is, by generating and progressively modifying symbol structures until it produces a solution structure."
(Goldstein y Papert, 1977)
"The fundamental problem of understanding intelligence is not the identification of a few powerful techniques, but rather the question of how to represent large amounts of knowledge in a fashion that permits their effective use and interaction."
(Van de Velde, 1994)
“The idea that knowledge is there to be extracted from the human expert and translated into usable knowledge elements [..] was misleading. [..]. Bringing all these highly specific knowledge elements together in a full expert model turned out to be a genuine problem of engineering. More at the technical level, the hope that an intelligent system could be achieved by lumping representatinos of knowledge fragments together in a knowledge base and then letting a general inference mechanism (e.g. a forward-chaining rule interpreter [..]) sort out when to use those elements has failed.”
(Newell, 1993, p. 34)
"People learn about the knowledge level because they must specify systems to be programmed. They do not specify these in terms of just inputs and outputs, but also in terms of what the program knows that it can use to compute the outputs from the inputs. So they induce from their practice a working notion of what it means for a system to have knowledge and what it means to supply the symbol-level mechanisms that encode that knowledge and extract it to make the program behave as desired. It does not take a Newton to conceive of the knowledge level [..]"
288
(Marr, 1982, p. 27):
“[...] trying to understand perception by studying only neurons is like trying to understand bird flight by studying only feathers: It just cannot be done. In order to understand bird flight, we have to understand aerodynamics; only then do the structure of feathers and the different shapes of birds’ wings make sense.”
(Smithers, 1996, p. 563):
“[..] in AID (Artificial Intelligence in Design), we still see systems built in ways reminiscent of the construction of the first generation Expert Systems of the 1970s and early 1980s. We see very little of the kind of modelling of expertise that modern Knowledge Engineering methods explicitly advocate and actively support”.
B.2. CITAS DEL CAPÍTULO 3
(Simon, 1969, p. 55):
“Everyone designs who devises courses of action aimed at changing existing situations into preferred ones. [..] Design, so construed, is the core of all professional training: it is the principal mark that distinguishes the professions from the sciences. Schools of engineering, as well as schools of architecture, business, education, law, and medicine, are all centrally concerned with the process of design."
(Simon, 1969, p. 83):
"the proper study of mankind is the science of design."
B.3. CITAS DEL CAPÍTULO 4
(Schön, 1983, p. 77)
“In the last twenty years or so, the concept of design has broadened. [..] Herbert Simon and others have suggested that all occupations engaged in converting actual to preferred situations are concerned with design. Increasingly there has been a tendency to think of policies, institutions, and behavior itself, as objects of design.
It is questionable how far in this direction we ought to go. We risk ignoring or underestimating significant differences in media, contexts, goals, and bodies of knowledge specific to the professions. But we may also discover, at a deeper level, a generic design process which underlies these differences.”
(E. Schein, citado en Schön, 1983, p. 24):
“1.) An underlying discipline or basic science component upon which the practice rests or from which it is developed.
2.) An applied science or “engineering” component from which many of the day-to-day diagnostic procedures and problem-solutions are derived.
3.) A skills and attitudinal component that concerns the actual performance of services to the client, using the underlying basic and applied knowledge.”
(Schön, 1983, p. 39-41)
“From the perspective of Technical Rationality, professional practice is a process of problem solving. Problems of choice or decision are solved through the selection, from available means, of the one best suited to established ends. But with this emphasis on problem solving, we ignore problem setting, the process by which we define the decision to be made, the ends to be achieved, the means which may be chosen. In real-world practice, problems do not present themselves to the practitioner as givens. They must be constructed form the materials of problematic situations which are puzzling, troubling, and uncertain. In order to convert a problematic situation to a problem, a practitioner must do a certain kind of work. He must make sense of an uncertain situation that initially makes no sense.
[..] although problem setting is a necessary condition for technical problem solving, it is not itself a technical problem. [..] Problem setting is a process in which, interactively, we name the things to which we will attend, and frame the context in which we will attend to them.
289
Technical Rationality depends on agreement about ends. When ends are fixed and clear, then the decisions to act can present itself as an instrumental problem. But when ends are confused and conflicting, there is as yet no “problem” to solve. A conflict of ends cannot be resolved by the use of techniques derived from applied research. It is rather through the non-technical process of framing the problematic situation that we may organize and clarify both the ends to be achieved and the possible means of achieving them.”
(Schön, 1983, p. 45):
“Some students of the professions have tried to take account of the limitations of technical expertise and have proposed new approaches to the predicament of professional knowledge. Among these [is] Herbert Simon, whose The Sciences of the Artificial has aroused a great deal of interest in professional circles [..]
It is Simon [..] who most clearly links the predicament of professional knowledge to the historical origins of the Positivist epistemology of practice. Simon believes that all professional practice is centrally concerned with what he calls “design”, that is, with the process of “changing existing situations into preferred ones.” But design in this sense is precisely what the professional schools do not teach [...] schools have “nearly abdicated responsibility for training in the core professional skill,” in large part because such training would have to be grounded in a science of design which does not yet exist. Simon proposes to build a science of design by emulating and extending the optimization methods which have been developed in statistical decision theory and management science. [...]
Once problems are well formed in this way, they can be solved by a calculus of decision. As we have seen, however, well-formed instrumental problems are not given but must be constructed from messy problematic situations. Although Simon proposes to fill the gap between natural science and design practice with a science of design, his science can be applied only to well-formed problems already extracted from situations of practice.”
(Schön, 1983, p. 276)
“When a practitioner displays artistry, his intuitive knowing is always richer in information than any description of it. [..] Everyone who has tried to learn from a book how to ski or write a story knows how difficult it can be to act from such a description.”
(Schön, 1983, p. 56):
“When intuitive, spontaneous performance yields nothing more than the results expected for it, then we tend not to think about it. But when intuitive performance leads to surprises, pleasing and promising or unwanted, we may respond by reflecting-in-action. [..] In such processes, reflection tends to focus interactively on the outcomes of action, the action itself, and the intuitive knowing implicit in the action.”
(Schön, 1983, pgp. 60-61):
“As a practitioner experiences many variations of a small number of types of cases, he is able to “practice” his practice. He develops a repertoire of expectations, images, and techniques. He learns what to look for and how to respond to what he finds. As long as his practice is stable, in the sense that it brings him the same types of cases, he becomes less and less subject to surprise. His knowing-in-practice tends to become increasingly tacit, spontaneous, and automatic, thereby conferring upon him and his clients the benefits of specialization.
[..] Through reflection, he can surface and criticize the tacit understandings that have grown up around the repetitive experiences of a specialized practice, and can make new sense of the situations of uncertainty or uniqueness which he may allow himself to experience.”
(Schön, 1992):
"[Designers construct design worlds] through processes of appreciation, by which it is meant both their active, sensory apprehension of the stuff in question, and their construction of an order in that stuff that includes the naming and framing of things, qualities and relationships."
(Schön, 1992):
“Symbolic, procedural representations of tacit design knowledge are bound to be incomplete or inadequate in relation to the actual phenomena of designing [...]”
“When people design, they deal with many domains and many qualities within domains; their moves produce important consequences in more than one domain. In the extreme case, a move informed by an intention formulated within one domain has consequences in all other domains. Because of the limited information-
290
processing capacity of humans, they cannot, in advance of making a particular move, consider all the consequences and qualities that they may eventually consider relevant to its evaluation.”
(Winograd, 1990, p. 179):
“[...] it is far from obvious whether the result of experience can be adequately formalized as a repertoire of discrete parrerns [...]. To say that "all of the world's knowledge" could be explicitly articulated in a symbolic form (computational or not) we must assume the possibility of reducing all forms of tacit knowledge (skills, intuition, and the like) to explicit facts and rules. Heidegger and other phenomenologists have challenged this [...]”
(Winograd, 1990, pp. 182-183):
"Stated simply, the techniques of artificial intelligence are to the mind what bureaucracy is to human social interaction. [...] The depersonalization of knowledge in expert systems also has obvious parallels with bureaucracy. [...] The "I just follow the rules" of the bureaucratic clerk has its direct analog in "That's what the knowledge base says".
B.4. CITAS DEL CAPÍTULO 5
(Coyne et al., 1990, p. 37):
"In modeling design we do not attempt to say what design is or how human designers do what they do, but rather provide models by which we can explain and perhaps even replicate certain aspects of design behavior."
(Gero, 1998)
"Computational processes which support designing do not necessarily require any theoretical foundation and are usually restricted to some subset of the totality of the activities of human designing.
[...] Whilst AI aims for a theoretical foundation its utility lies in its ability to represent both designing situations and designing processes using concepts of varying theoretical rigor. Those situations and processes themselves need not necessarily have any such theoretical rigour."
(Gero, 1994b, p. 357)
"Whilst design tools may be used as 'black boxes' without any concern for the underlying concepts, a lack of understanding of the formal approach to design that is taken by the developer of the tool leads to problems for the user of that tool."
(Gero et al., 1988):
"[..] design experience is generalised in such a way that allows representation at the concept level in the form of a class from which instances may be instantiated to meet the unique situation of a specific design. Class and instance take their meaning here from the object-oriented programming paradigm."
(Oxman y Gero, 1998):
"In the situation where the design description is parameterised it presents itself as a set of related variables, the values of which define a design. The function of the knowledge is to produce those values in a goal directed manner with I supplying the goals and V the elements K can operate on. In systems theory terms [Dp] becomes a model of the system being designed and defines the decision variables, and I defines the goals and implicitly the performance variables. V defines the system variables which completely contain the decision variables and K is a set of processes or methods which relate decision variables and performance variables."
(Gero, 1990):
"Although it is well recognized that there is no function in structure and that there is no structure in function, human and design experience produces a connection between function and structure. Once this connection is learned, it is difficult to unlearn. Once the connection between behavior and structure is made, and the connection between behavior and function is made, these connections form the basis of much of a designer's knowledge. [..] if reasoning is to occur in transforming function to structure, then a clear separation must be made between them and between function, structure and behavior."
(Gero et al., 1988)
291
"Here the prototype is instantiated from its class and is found to be adequate so only values of the decision variables in the parametrised design description or design description generator are searched for within the limits defined by their existence. These values are such as to produce the required interpretations.
[ D = τ(P, I) ]
If the decision variables comprising the design description are numeric only, then optimization methods can be used provided the required interpretations can be expressed numerically. If the values are symbolic then other approaches are required"
(Gero, 1994a, pp. 319-320)
"exploration precedes search and it, effectively, converts one formulation of the design problem into another [..] Part of designing involves determining what to design for (function or teleology), determining how to measure satisfaction (behaviour), and determining what can be used in the final artifact (structure). Exploration is the process which supports this design determinations. Having made these decisions via exploration then search takes over."
(Gero, 1994a, p. 335):
"In some sense [..] exploration may be conceived of as meta-search in that in computational terms all the state spaces which could possibly be produced by a set of exploration processes is determined a priori by the initial state space and those processes."
(Gero, 1994a, p. 321):
"Emergence allows for new views of existing situations to come into being and thus becomes a way of changing the direction or focus of a design."
(Navinchandra, 1991, p. 3):
"[..] it is not out aim to develop cognitive models of human thought, but to build practical computer tools that exhibit some characteristics of human approaches to innovative design. I don't claim that our computer programs reflect what is going on inside a designer's head; we are only trying to make the computer produce results that will appear innovative to an observer."
(Navinchandra, 1991, p. 3):
"Simply put, something is innovative if it solves a known or a new problem in a way different from other known designs. The key to innovation, I believe, is being different."
(Navinchandra, 1990, p. 4):
"Consider the following scenario: a Civil Engineer acquires and programs a robot for laying bricks. The project will be viewed by civil engineers as very innovative idea. Robotics researchers, however, will view the project as "yet-another-application". This is because the brick laying robot is just some standard robot arm programmed to perform a new task."
(Navinchandra, 1991, p. 7-8):
"If a designer reaches for new ideas beyond the knowledge he normally uses during design, his product will appear different. The further he reaches, the more different or novel his design will appear. The reason for this phenomenon is that, for a given culture, there are some cultures (or domains) that are perceived as being related while other cultures are viewed as being far and unrelated. When ideas are transferred between unrelated cultures then design solutions appear different, perhaps novel. The relatedness, or unrelatedness of cultures is determined socially, and is constantly in flux."
(Navinchandra, 1991, pp. 33-34):
“A question that one may ask [..] is: If all criteria come from precedents, then why is it not possible to come up with all the criteria prior to designing? It’s all in the designer’s head anyway! The problem is that, whenever a designer faces a new problem, everything in his Long Term Memory is potentially relevant. The designer cannot possibly take everything into account. He has to limit the scope of the problem by sticking to the domain of the current design. New criteria are retrieved from outside the domain only when some patterns in the current design causes the designer to be reminded of past cases in Long Term Memory. [..] It is computationally intractable to search a design space using all past cases in Long Term Memory as design operators. The use of the precedent database has to be controlled by either limiting its use to certain parts of the design, or by having the conditions of newly generated designs trigger the retrieval of past cases.”
292
B.5. CITAS DEL CAPÍTULO 6
(Smithers, 1998)
“The need for a Knowledge Level (KL) theory, or KL theories, of designing is presented as a practical alternative to the more widely presumed need for a cognitive theory of designing: a theory of how humans design things. The possibility and utility of a KL theory of designing is based upon two premises. First, that designing is not just a human activity; that other kinds of agents could (in theory) design. Second, that the Knowledge Level presents an appropriate level of abstraction for constructing and expressing a usable (agent-type independent) theory of designing.”
(Smithers y otros, 1994):
"It does not make sense, and would not constitute designing, to just change current requirement descriptions and/or problem statements in a random or illogical way. Nor does it make for a good design process to go through relaxing each constraint (by a small, previously fixed amount) in turn until a solution is found within some previously fixed bound on search time, as happens in Navinchandra's CYCLOPS systems.
The changes made during the design process must be understandable and justifiable, both to the designer and to the customer, if necessary."
(Smithers, 1998):
"Original designing, defined in this way, has not yet received serious attention in AID research."
(Smithers, 1998):
"This means that to get to (at least some kinds of) computer-based creative designing or support of creative designing, we do not necessarily have to work our way up through a hierarchy of innovative and then original design first"
(Smithers, 1998):
"In the case of building knowledge-based systems, a kind of software engineering practice, we now have some well developed knowledge engineering methods which are intended to support model building, knowledge level model building of expertise or knowledge-based problem solving. Currently, these models are, however, empirical models. An important improvement in the use of modern knowledge engineering methods, and in the practice of engineering knowledge-based systems in general, would be to provide an appropriate theory, or theories, to support this kind of modelling. This is the role that (a more complete) KLDE0 is intended to play in the case of building knowledge-based systems for use in designing."
B.6. CITAS DEL CAPÍTULO 10
(White y otros, 1992, p. 362):
"...we note that much of the culling computation is unproductive, as can be seen from the small proportion of iterations in which reward vectors are actually eliminated with this procedure."
B.7. CITAS DEL CAPÍTULO 11
(Knight, 1998):
"The design process is understood as the process by which the grammar itself is developed, not as the generation of designs using the grammar. [..] The development of rules for designs requires the same kind of intelligence, imagination and guesswork as the development of designs in a conventional way."
293
REFERENCIAS BIBLIOGRÁFICAS
(Akin y otros, 1988) Akin, O., Dave, B., y Pithavadian, S.:Heuristic generation of layouts (HeGeL): Based on a paradigm for problem structuring. En Artificial Intelligence in Engineering: Design, J.S. Gero (Ed.), Elsevier Computational Mechanics Publications, pp. 413-444.
(Bendala, 1992) Bendala Galán, M. Introducción al Arte hispanorromano. Cuadernos de Arte Español, nº 42. Historia 16.
(Bernarás, 1994) Bernarás, A. Problem-oriented and task-oriented models of design in the CommonKADS Framework. En Artificial Intelligence in Design, AID'94, J.S. Gero y F. Sudweeks (Eds.) Kluwer Academic Publishers, 499-516.
(Bernarás y Van de Velde, 1994) Bernarás, A y Van de Velde, W. Design. En CommonKADS library for expertise modelling. Reusable problem solving components, J. Breuker y W. Van de Velde (Eds.) IOS Press, Amsterdam. pp. 175-212.
(Breuker, 1994) Breuker, J. A suite of problem types. En CommonKADS library for expertise modelling. Reusable problem solving components, J. Breuker y W. Van de Velde (Eds.) IOS Press, Amsterdam. pp. 57-87.
(Buchanan y Shortliffe, 1984) Buchanan, B.G. y Shortliffe, E.H. Rule-Based Expert Systems. The MYCIN experiments of the Stanford Heuristic Programming Project. Addison-Wesley. Reading, Massachussetts.
(Cagan, 1994) Cagan, J. Design grammars: discussion. Research issues in the application of design grammars. En Formal Design Methods for CAD (B-18). J.S. Gero y E. Tyugu (Eds.). Elsevier-Science B.V. (North-Holland). 1994 IFIP, pp. 191-198.
(Carlson, 1994) Carlson, C. Shape grammars in design: discussion. Design space description formalisms. En Formal Design Methods for CAD (B-18). J.S. Gero y E. Tyugu (Eds.). Elsevier-Science B.V. (North-Holland). 1994 IFIP, pp. 121-131.
(Carraway y otros, 1990) Carraway, R.L., Morin, T.L. y Moskowitz, H. Generalized dynamic programming for multicriteria optimization. European Journal of Operational Research 44 (1990) pp. 95-104.
(Chandrasekaran, 1986) Chandrasekaran, B. Generic Tasks in Knowledge-Based Reasoning: High-Level Building Blocks for Expert System Design. IEEE Expert, 1:3, pp. 23-29, June, 1986.
(Chandrasekaran, 1990) Chandrasekaran, B. Design Problem Solving: A Task Analysis. AI Magazine, Winter, 1990, pp. 59-71.
(Chandrasekaran, 1992) Chandrasekaran, B. Generic Tasks: Evolution of an Idea. Informe Técnico del Laboratory for AI Research (LAIR), Ohio State University (EE.UU.). Disponible a través del servidor Web del LAIR:
http://www.cis.ohio-state.edu/lair/Papers/Year/1992.html.
(Chankong y Haimes, 1983) Chankong, V. y Haimes, Y.Y. Multiobjective decision making. Theory and methodology. North-Holland, New York.
(Cleland y Hills, 1994) Cleland, G. y Hills, W.: A knowledge-based systems approach to the layout design of large made-to-order products. En Artificial Intelligence in Design '94, J.S. Gero y F. Sudweeks (Eds.), Kluwer Academic Publishers, pp. 257-274.
294
(Corley y Moon, 1985) Corley, H.W. y Moon, I.D. Shortest paths in networks with vector weights. Journal of Optimization Theory and Applications, Vol. 46, No. 1, May 1985, pp. 79-86.
(Coyne y otros, 1990) Coyne, R.D., Rosenman, M.A., Radford, A.D., Balachandran, M. y Gero, J.S. Knowledge-based Design Systems. Addison-Wesley Publishing Company, Reading, Massachusetts.
(Cuena, 1992) Cuena, J. Arquitecturas para sistemas inteligentes de segunda generación. En Curso de conferencias sobre Inteligencia Artificial. Fundamentos teóricos y aplicaciones. D. Maravall (Ed.) Real Academia de Ciencias Exactas, Físicas y Naturales. Madrid.
(Cuena y Molina, 1994) Cuena, J. y Molina, M. KSM: An environment for knowledge oriented design of applications using structured knowledge architectures. En Applications and Impacts, IFIP'94, Vol.2. K. Brunnstein y E. Raubold (Eds.) Elsevier Science B.V. (North-Holland).
(Darlington y otros, 1998) Darlington, M., Potter, S., Culley, S.J., y Chawdhry, P.K. Cognitive theory as a guide to automating the configuration design process. En Artificial Intelligence in Design, AID'98, J.S. Gero y F. Sudweeks (Eds.) Kluwer Academic Publishers, 209-228.
(Einstein e Infeld, 1986) Einstein, A. e Infeld, L. La Evolución de la Física. Biblioteca científica Salvat. Salvat Editores, S.A. Barcelona.
(Feigenbaum, 1979) Feigenbaum, E. Themes and Case Studies in Knowledge Engineering. En Expert Systems in the Microelectronic Age, D. Michie (Ed.) Edinburgh Univeristy Press.
(Fernández y otros, 1999) Fernández, J.A., González, J., Mandow, L., Pérez de la Cruz, J.L. Mobile robot path planning: A multicriteria approach. Engineering Applications of Artificial Intelligence (aceptado para publicación).
(Flemming y otros, 1988) Flemming, U., Coyne, R., Glavin, T., y Rychener, M.: A generative expert system for the design of building layouts -version 2. En Artificial Intelligence in Engineering: Design, J.S. Gero (Ed.), Elsevier Computational Mechanics Publications, pp. 445-464.
(Galle, 1981) Galle, P.: An algorithm for exhaustive generation of building floor plans. Communications of the ACM, December, 1981, Vol. 24, No. 12., pp. 813-825.
(Gass, 1996) Gass, S. I. On the education of a multi-criteria researcher: A personal view. The Abraham Charnes Lecture in Memory of Abraham Charnes. En Advances in Multiple Objective and Goal Programming. Lecture Notes in Economics and Mathematical Systems 455, R. Caballero, F. Ruiz, y R.E. Steuer (Eds.) Springer, pp. 5-26.
(Gero y otros, 1988) Gero, J.S., Maher, M.L. y Zhang, W. Chunking structural design knowledge as prototypes. En Artificial Intelligence in Engineering: Design, J.S. Gero (Ed.) Elsevier, 3-22.
(Gero, 1990) Gero, J.S. Design Prototypes: A Knowledge Representation Schema for Design. AI Magazine, Winter 1990, 26-36.
(Gero, 1994a) Gero, J.S. Towards a model of exploration in computer-aided design. En Formal Design Methods for CAD (B-18), J.S. Gero y E. Tyugu (Eds.) Elsevier Science B.V. (North-Holland), 315-336.
(Gero, 1994b) Gero, J.S. Closing Discussion: Formal Design Methods for Computer-Aided Design. En Formal Design Methods for CAD (B-18), J.S. Gero y E. Tyugu (Eds.) Elsevier Science B.V. (North-Holland), 353-359.
(Gero, 1998) Gero, J.S. Research Methods for Design Research with a particular emphasis on Artificial Intelligence. En Artificial Intelligence in Design'98. Workshop 8 Notes:Research Methods in AID Research. Tim Smithers (Workshop convenor), 34-35.
295
(Gero y Damski, 1994) Gero, J.S. y Damski, J.C. Object emergence in 3D using a data driven approach. En Artificial Intelligence in Design, AID'94, J.S. Gero y F. Sudweeks (Eds.) Kluwer Academic Publishers, 419-435.
(Gero y Maher, 1997) Gero, J.S. y Maher, M.L. A framework for research in design computing. En ECCADE'97, B, Martens, H. Linzer y A. Voigt (Eds.) Osterreichischer Knst und Kulturverlag, Vienna (CD-ROM), Topic 1, Paper 8. Disponible a través del servidor Web del Key Centre of Design Computing (Sidney, Australia): http://www.arch.su.EDU.AU/∼ john/publications/1997/ecaade/index.html
(Goldstein y Papert, 1977) Goldstein, I. y Papert, S. Artificial Intelligence, language, and the study of knowledge. Cognitive Science, Vol. 1, 1 (January 1977): 84-123.
(Hart y otros, 1968) Hart, P. E., Nilsson, N. J. and Raphael, B.: 1968, A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on System Science and Cybernetics SSC-4, pp. 100-107.
(Hart y otros, 1972) Hart, P. E., Nilsson, N. J. and Raphael, B. (1972): Correction to 'A formal basis for the heuristic determination of minimum cost paths'. SIGART Newsletter 37, pp. 28-29.
(Henig, 1986) Henig, M.I. The shortest path problem with two objective functions. European Journal of Operational Research 25, (1986), pp. 281-291.
(Knight, 1998) Knight, T. Designing a shape grammar. Problems of predictability. En Artificial Intelligence in Design, AID'98, J.S. Gero y F. Sudweeks (Eds.) Kluwer Academic Publishers, 499-516.
(Lee, 1972) Lee, S.M. Goal Programming for Decision Analysis. Auerbach Publishers, Philadelphia.
(Linares y Gómez-Pérez, 1997) Linares, C y Gómez-Pérez. A. BHFFA*: Un nuevo algoritmo admisible de búsqueda bidireccional. En CAEPIA’97 Actas de la VII Conferencia de la Asociación Española para la Inteligencia Artificial. V. Botti (Ed.), pp. 705-714.
(Liu y Brown, 1994) Liu, J. y Brown, D.C. Generating Design Decomposition Knowledge for Parametric Design Problems. En Artificial Intelligence in Design, AID'94, J.S. Gero y F. Sudweeks (Eds.) Kluwer Academic Publishers, 661-678.
(Logan y otros 1992a) Logan, B, Corne, D y Smithers, T. The Edinburgh Designer System: An Architecture for Solving Ill Structured Problems, DAI Research Paper No. 595. Department of Artificial Intelligence. University of Edinburgh.
(Logan y otros 1992b) Logan, B, Corne, D y Smithers, T. Using Reasoning Maintenance Systems to Support Ill Structured Problem Solving, DAI Research Paper No. 596. Department of Artificial Intelligence. University of Edinburgh.
(Loui, 1983) Loui, R.P. Optimal paths in graphs with stochastic or multidimensional weights. Communications of the ACM, September 1983, Vol. 26, Num. 9.
(Mandow, 1997) Mandow, L. Algoritmos de Búsqueda Heurística para Satisfacción de Metas. Informe Técnico LCC-ITI 97/11. Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga. Noviembre, 1997.
(Mandow y Millán, 1997) Mandow, L. y Millán, E. Goal programming and heuristic search. En Advances in Multiple Objective and Goal Programming. Lecture Notes in Economics and Mathematical Systems 455, R. Caballero, F. Ruiz y R. E. Steuer (Eds.), Springer-Verlag, Berlin, pp. 48-56.
(Mandow y otros, 1997) Mandow, L., Pérez de la Cruz, J.L., Triguero, F. y Conejo, R. Diseño mediante satisfacción de metas. En CAEPIA’97 Actas de la VII Conferencia de la Asociación Española para la Inteligencia Artificial. V. Botti (Ed.), pp. 715-724.
(Mandow y otros, 1997b) Mandow, A., Mandow, L., Muñoz, V.F., García Cerezo, A. Planificación multi-objetivo de caminos para navegación autónoma mediante comportamientos. En CAEPIA’97 Actas de la VII Conferencia de la Asociación Española para la Inteligencia Artificial. V. Botti (Ed.), pp. 55-64.
296
(Mandow y otros, 1998) Mandow, A., Mandow, L., Muñoz, V.F., García Cerezo, A. Multi-objective path planning for autonomous sensor-based navigation. En Preprints of the IFAC Workshop on Intelligent Components for Vehicles ICV’98. A. Ollero (Ed.), pp. 431-436.
Reimpreso en: Intelligent Components for Vehicles, (1998). A. Ollero (Ed.). Pergamon, pp. 337-381.
(Mandow y Pérez de la Cruz, 1998) Mandow, L. y Pérez de la Cruz, J.L. Frameworks, subproblems and validation in AID research methodology. En Workshop Notes for AID'98 Workshop on Research Methods in AID Research. T. Smithers (Workshop Convenor). Instituto Superior Técnico, Lisboa, Portugal.
(Marr, 1977) Marr, D. Artificial Intelligence –A Personal View. Artificial Intelligence, 9 (1977) 37-48.
Reimpreso en: Mind Design. Philosophy. Psychology. Artificial Intelligence, (1981). John Haugeland (Ed.) The MIT Press, pp.129-142.
Reimpreso en: The foundations of artificial intelligence. A sourcebook, (1990). Derek Partridge y Yorick Wilks, (Eds.). Cambridge University Press, pp. 97-107.
(Marr, 1982) Marr, D. Vision. A computational Investigaton into the Human Representation and Processing of Visual Information. W.H. Freeman and Company, New York.
Traducción al castellano (1985): La Visión. Alianza Editorial, S.A., Madrid.
(Martins, 1984) Martins, E. Q. V. On a multicriteria shortest path problem. European Journal of Operational Research 16 (1984) 236-245.
(MathWorks, 1995) The Student Edition of MATLAB® : version 4 : user’s guide. The MathWorks, Inc. : with tutorial by Duane Hanselman and Bruce Littlefield. Prentice-Hall Inc., Englewood Cliffs, New Jersey.
(Medjdoub y Yannou, 1998) Medjdoub, B. y Yannou, B.: Topological enumeration heuristics in constraint-based space layout planning. En Artificial Intelligence in Design'98, J.S. Gero y F. Sudweeks (Eds.), Kluwer Academic Publishers, pp. 271-290.
(Myers y Pohl, 1992) Myers, L. y Pohl, J. ICADS expert design advisor: an aid to reflective thinking. Knowledge-based Systems Vol. 5, No. 1 March 1992, 41-54.
(Navinchandra, 1990) Navinchandra, D. Innovative Design Systems: Where are we, and where do we go from here? Technical Report CMU-RI-TR-90-01. The Robotics Institute. Carnegie Mellon University. Pittsburgh, Pennsylvania 15213. 12 January 1990.
(Navinchandra, 1991) Navinchandra, D. Exploration and Innovation in Design. Towards a computational model. Springer-Verlag, New York.
(Newell, 1982) Newell, A. The Knowledge Level. Artificial Intelligence 18 (1982) 87-127.
(Newell, 1993) Newell, A. Reflections on the knowledge level. Artificial Intelligence 59 (1993) 31-38.
(Newell y Simon, 1976) Newell, A., y Simon, H.A. Computer Science as empirical enquiry: Symbols and search. Communications of the ACM, Vol. 19, 3 (March 1976): 113-126.
Reimpreso en Mind Design. Philosophy. Psychology. Artificial Intelligence.. Haugerland, J. (Ed.), The M.I.T. Press, Cambridge, Massachusetts (1981).
(Nilsson, 1980) Nilsson, N. Principles of Artificial Intelligence. Tioga Publishing Co.
Traducción al castellano (1987): Principios de Inteligencia Artificial. Ediciones Díaz de Santos, S.A., Madrid.
(Oxman y Gero, 1988) Oxman, R. y Gero, J.S. Designing by prototype refinement in architecture. En Artificial Intelligence in Engineering: Design, J.S. Gero (Ed.) Elsevier, 395-412.
297
(Papadimitriou y Steiglitz, 1982) Papadimitriou, C.H. y Steiglitz, K. Combinatorial Optimization. Algorithms and Complexity. Prentice-Hall Inc., Englewood Cliffs, New Jersey.
(Pearl, 1984) Pearl, J. Heuristics. Intelligent search strategies for computer problem solving. Addison-Wesley Publishing Company, Reading, Massachusetts.
(Pérez de la Cruz y otros, 1995) Pérez de la Cruz, J.L., Conejo-Muñoz, R., Morales-Bueno, R., Puy-Huarte, J. Highway design by constraint specification. Artificial Intelligence in Engineering 9, pp. 127-139.
(Pohl, 1970) Pohl, I. First results on the effect of error in heuristic search. En Machine Intelligence 5, B. Meltzer y D. Michie (Eds.), New York: American Elsevier, pp. 219-236.
(Poon y Maher, 1996) Poon, J.. y Maher, M.L. Emergent behaviour in co-evolutionary design. En Artificial Intelligence in Design, AID'96, J.S. Gero y F. Sudweeks (Eds.) Kluwer Academic Publishers, 703-722.
(Romero, 1991) Romero, C. Handbook of critical issues in goal programming. Pergamon Press, Oxford.
(Romero, 1993) Romero, C. Teoría de la decisión multicriterio. Alianza Editorial, Madrid.
(Rosenman, 1996) Rosenman, M.A.: The generation of form using an evolutionary approach. En Artificial Intelligence in Design'96, J.S. Gero y F. Sudweeks (Eds.), Kluwer Academic Publishers, pp. 643-662.
(Schnier y Gero, 1996) Schnier, T. y Gero, J.S. Learning genetic representations as alternative to hand-coded shape grammars. En Artificial Intelligence in Design, AID'96, J.S. Gero y F. Sudweeks (Eds.) Kluwer Academic Publishers, 39-57.
(Schön, 1983) Schön, D.A. The Reflective Practitioner. How professionals Think in Action. Basic Books.
(Schön, 1987) Schön, D.A. Educating the Reflective Practitioner. Jossey-Bass Publishers, San Francisco.
Traducción al castellano (1992): La Formación de Profesionales Reflexivos. Hacia un nuevo diseño de la enseñanza y el aprendizaje en las profesiones. Ediciones Paidós, Barcelona. Ministerio de Educación y Ciencia.
(Schön, 1992) Schön, D.A. Designing as Reflective Conversation with the Materials of a Design Situation. Knowledge-Based Systems Vol. 5, No. 1, March 1992.
(Simon, 1969) Simon. H.A. The Sciences of the Artificial. The M.I.T. Press, Cambridge, Massachusetts.
(Simon, 1973) Simon, H.A. The Structure of Ill Structured Problems. Artificial Intelligence 4(1973), 181-201.
(Simon, 1987) Simon, H.A. Two heads are better than one: The collaboration between AI and OR. Interfaces 17:4 8-15.
(Smithers, 1992) Smithers, T. Design as Exploration: puzzle-making and puzzle-solving. En Workshop Notes for AID'92 Workshop on Exploration-based models of design and Search-based models of design, CMU, Pittsburgh.
(Smithers, 1994a) Smithers, T. Exploration in Design: Discussion. En Formal Design Methods for CAD (B-18), J.S. Gero y E. Tyugu (Eds.) Elsevier Science B.V. (North-Holland), 337-350.
(Smithers, 1994b) Smithers, T. Workshop Notes for AID'94 Workshop on The Nature and Role of Theory in AI in Design Research. T. Smithers (Workshop convenor).
(Smithers, 1996) Smithers, T. On Knowledge Level Theories of Design Process. En Artificial Intelligence in Design, AID'96, J.S. Gero y F. Sudweeks (Eds.) Kluwer Academic Publishers, 561-579.
298
(Smithers, 1998) Smithers, T. Towards a Knowledge Level Theory of Design Process. En Artificial Intelligence in Design, AID'98, J.S. Gero y F. Sudweeks (Eds.) Kluwer Academic Publishers, 3-21.
(Smithers y Troxell, 1990) Smithers, T. y Troxell, W. Design is intelligent behaviour, but what's the formalism?. Artificial Intelligence in Engineering, Design and Manufacturing (AI EDAM) (1990) 4(2), 89-98.
(Smithers y otros, 1989) Smithers, T., Conkie, A., Doheny, J., Logan, B., Millington, K. y Tang, M. X. Design as intelligent behaviour: an AI in Design research programme. DAI Research Paper nº 426., November, 1989. Department of Artificial Intelligence. University of Edinburgh.
(Smithers y otros, 1994) Smithers, T., Corne, D y Ross, P. On computing exploration and solving design problems. En Formal Design Methods for CAD (B-18), J.S. Gero y E. Tyugu (Eds.) Elsevier Science B.V. (North-Holland), 293-313.
(Steele, 1990) Steele, G.L. Common LISP. The Language. 2nd ed. Digital Press/Prentice Hall.
(Stefik, 1995) Stefik, M. Introduction to knowledge systems. Morgan Kaufmann.
(Stewart y White, 1991) Stewart B.S. y White III, C. C. Multiobjective A*. Journal of the Association for Computing Machinery, Vol. 38, No. 4, October 1991, pp. 775-814.
(Stiny y Gips, 1972) Stiny, G. y Gips, J. Shape grammars and the generative specification of painting and sculpture. Information Processing, 71, pp. 211-220.
(Sykes y White, 1991) Sykes, E. A. y White III, C. C. Multiobjective Intelligent Computer-Aided Design. IEEE Transactions on Systems, Man and Cybernetics 21(6) 1498-1511.
(TII, 1989) Texas Instruments Incorporated. CLX, Common LISP X interface. CLX Programmer's Reference.
(Tung y Chew, 1992) Tung, C.T., y Chew, K.L. A multicriteria Pareto-optimal path algorithm. European Journal of Operational Research 62 (1992) 203-209.
(Van de Velde, 1994) Van de Velde, W. An overview of CommonKADS. En CommonKADS library for expertise modelling. Reusable problem solving components, J. Breuker y W. Van de Velde (Eds.) IOS Press, Amsterdam. pp. 9-30.
(Weizenbaum, 1976) Weizenbaum, J. Computer power and human reason. W.H. Freeman and Company, San Francisco.
Traducción al castellano: La frontera entre el ordenador y la mente. Ediciones Pirámide, S.A., Madrid (1978).
(White y otros, 1992) White III, C. C., Stewart, B.S. y Carraway, R. Multiobjective, preference-based search in acyclic OR-graphs. European Jounal of Operational Research 56, pp. 257-363.
(Winograd, 1990) Winograd, T. Thinkinkg Machines: Can there be? Are we? En The foundations of artificial intelligence. A sourcebook. Derek Partridge y Yorick Wilks, (Eds.). Cambridge University Press, pp. 167-189.
(Winston, 1994) Winston, W. L., Operations Research: Applications and Algorithms. Duxbury Press.
Traducción al castellano (1994): Investigación de Operaciones: Aplicaciones y Algoritmos.
(Yoon, 1992) Yoon, K. B. A constraint model of space planning. Computational Mechanics Publications, Southampton.
(Yu, 1985) Yu, P. Multiple-Criteria Decision Making. Plenum Press, New York.
(Yu, 1989) Yu, P. Multiple-Criteria Decision Making: Five Basic Concepts. En Optimization (Vol. 1). G. L. Nemhauser, A.H.G. Rinnooy Kan, y M.J. Todd (Eds.). North-Holland, pp. 663-669.
299
300
No esperes hoy la tormenta de ayer,
no duran siempre las penas de este infierno,
y aunque el azul del cielo no es eterno,
hasta mañana no vuelve a llover.
Santiago y Luis Auserón
top related