Está en la página 1de 492
INTELIGENCIA ARTIFICIAL UN ENFOQUE MODERNO Segunda edicion INTELIGENCIA ARTIFICIAL UN ENFOQUE MODERNO Segunda edicion Stuart J. Russell y Peter Norvig Traduccién: Juan Manuel Corchado Rodriguez Facultad de Ciencias Universidad de Salamanca Fernando Martin Rubio, José Manuel Cadenas Figueredo, Luis Daniel Hernandez Molinero y Enrique Paniagua Aris Facultad de Informatica Universidad de Murcia Raquel Fuentetaja Pinzin y Monica Robledo de los Santos Universidad Pontificia de Salamanca, campus Madrid Ramén Rizo Aldeguer Escuela Politécnica Superior Universidad de Alicante Reyvisién técnica: Juan Manuel Corchado Rodriguez Facultad de Ciencias Universidad de Salamanca Fernando Martin Rubio Facultad de Informética Universidad de Murcia Andrés Castille Sanz y Maria Luisa Diez Plata Facultad de Informatica Universidad Pomtificia de Salamanca, campus Madrid Coordinaci6n general de la traducci6n y revision técnica: Luis Joyanes Aguilar Facultad de Informatica Universidad Pontificia de Salamanca, campus Madrid Madhid « México + Santafé de Bogotd + Buenos Aires * Caracas * Lima ‘Montevideo « San Juan * San José * Santiago + S80 Paulo « Whita Plains ‘Dos de calogacin tigen {NTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO Segunda eicién PEARSON EDUCACION, S.A, Mate, 2004 Matrix tfcesice 81.3 ormit 195 % 250 Paginas 1240 “Todas tos derechos reservados. (Queda probibida, salvo excepcidn previstaen la le, cualquier forma de reproduccién, distribucién, comunicaciGn publica y transformacisn de esta ob sin contar con autorizacin de los tituares de propiedad intelectual La infraccign de los derechos mencionados puede ser consttutiva de delito contra la propiedad intelectual (arts. 270 sets. Cédigo Penal) DERECHOS RESERVADOS (© 2004 por PEARSON EDUCACION; S.A. Ribera del Loira, 28 ‘28042 Madrid (Espaa) INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO. Segunda edicién RUSSELL, S.J; NORVIG, P. ISBN: 84.208-4003-X Depésito Legal: M-26913-2004 PEARSON PRENTICI HALL es un sello editorial autorizado de PEARSON EDUCACION, S.A. Authorized wanstation from the English language edition, entitled ARTIFICIAL INTELLIGENCE: ‘A MODERN APPROACH, 2" edition by RUSSELL, STUART; NORVIG, PETER. Published by Pearson Education, Inc, publishing as Prentice Hall (© 2008. All rights reserved No part or this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Falucation, Inc. ISBN: 0-13-790395.2 Equipo editori Eaitor: David Fayerman Aragén ‘Técnico editorial: Ana Isabel Equipo de produccién: Director: José Antonio Clares ‘Técnico: José Antonio Heman Disefio de cubierta: Equipo de dsefio de PEARSON EDUCACION, S.A. ‘Composicién: COPIBOOK, SL. Impreso por: Top Printer Plus IMPRESO EN ESPANA - PRINTED IN SPAIN Contenido ———=__———— ee Pr élogo XIX Sobre los autores XXV 1 Introduccién, 1 LI (Quées Ia IA? 2 Comportamiento humano: el enfoque de la Prueba de Turing 3 Pensar como un humano: el enfoque del modelo cognitive 3 4 5 6 Pensamiento racional: el enfoque de las «leyes del pensamientor Actuar de forma racional: el enfoque del agente racional 1.2. Los fundamentos de la inteligencia artificial Filosofia (desde el afio 428 a.C. hasta el presente) 6 eméticas (aproximadamente desde el afio 800 al presente) 9 Economia (desde el ao 1776 hasta el presente) un Neurociencia (desde el ao 1861 hasta el presente) 2 Pricotogia (desde el allo 1879 hasta el presente) Is Ingenieria computacional (desde el alo 1940 hasta el presente) 6 Teoria de control y cibernética (desde el afio 1948 hasta el presente) 7 Lingiifstica (desde el afio 1957 hasta el presente) 18 1.3. Historia de la inteligencia artificial 9 Génesis de la inteligencia artificial (1943-1955) 0 Nacimiento de la inteligencia artificial (1956) 20 Entusiasmo inicial, grandes esperanzas (1952-1969) 2 Una dosis de realidad (1966-1973) 24 Sistemas basados en el conocimiento: ;clave del poder? (1969-1979) 26 La IA se convierte en una industria (desde 1980 hasta el presente) 28 Regreso de las redes neuronales (desde 1986 hasta el presente) 29 1A se convierte en una ciencia (dese 1987 hasta el presente) 29 mergencia de los sistemas inteligentes (desde 1995 hasta el presente) 31 14 Blestado del arte 32 LS Resumen 3 Notas bibliogrificas e historicas 34 Ejercicios 35 2 Agentes inteligentes 7 2.1 Agentes y su entorno 7 2.2 Buen comportamiento: el conceplo de racionalidad 40 Medidas de rendimiento 40 Racionalidad 41 vr CONTENIDO: Onnisciencia, aprendizaje y autonomia 2.3 La naturaleza del entorno Especificacisn del entorno de trabajo Propiedades de los entornos de trabajo Estructura de los Programas de los agentes Agentes reactivos simples Agen Agentes basatlos en objetivos Agentes hasalos en utilidad Agentes que aprenden 2.5 Resumen Notas bibliograticas ¢ historicas Ejervicios mes s reactivos basaadas en modelos Resolver problemas mediante bisqueda 3.1 Agentes resolventes-problemas, Problemas y soluciones bien definidos Formular los problemas 3.2. Ejemplos de problemas Problemas de jug Problemas del mundo real 3.3. Buisqueda de soluciones Medir el renslimiento de la resolucién del problema 344 Bstrategias de buisqueds no informada Buisqueda primero en anchura Bhisqueda de costo uniforme Buisqueda primero en profundidad Baisqueda de profundidac limitada Buisqueda primero en profundic: Buisqueda bidireccional Comparacién de las estrategias de buisqueda no informad, 3.5. Bvitar estados repetidos 3.6 Bisqueda con informacidn parcial con profundidad iterativa Problemas sin sensores Problemas de contings 3.7 Resumen Notas hibliografi Ejervicios as e historieas, Busqueda informada y exploracién 4.1 Estrategias de busqueda informada (heuristicas) Baisqueda voraz, primero el mejor Buisqueda A*: minimizar el costo estimado (otal dela solucivin Buisqueda heurfstica con memoria acotada Aprender a buscar mejor 4.2 Funciones heuristicas, El efecto de la precisisn heuristica en el rendimiento Inventar funciones heurfsticas sdmisibles Aprendizaje de heuristicas desde la experiencia 4.3. Algoritmos de biisqueda local y problemas de optimizacivin 2 4 “4 7 SI Sl 53 55 37 58 59 2 63 65 7 CONTENIDO Buisqueda de ascensi6n de colinas Buisqueda de temple simulado Buisqueda por haz local Algoritmos genstivos 4.4 Buisqueda local en espacios continuos 45. Agentes de buisqueda online y ambientes desconocidos Problemas de busqueda en linea (online) Agentes de biisquedsa en linea (online) Buisqueda local en linea (online) Aprendizaje en la busqueda en linea (online) 4.6 Resumen Notas bibliogesticas hist6rieas Bje Problemas de satisfaceidn de restriceiones 5.1 Problemas de satisfaccidn de restriecioney 5.2. Buisqueda con vuelta atris para PSR lable y ordenantiento de valor Propagacidn de la informaciéin a través de lus restrieciones Comprobitcién hacia delante Propay Manejo de restricciones especiales Vuelta atrais inteligente: mirando hacia atras 5.3. Brisqueda local para problemas de satisfaccidn de restricciones 54 La estructura de los problemas 5.5. Resumen icin de testricciones Notas bibliogrificas e histiricas Bjercicios isqueda entre adversarios 6.1 Juegos 6.2 Decisiones 6ptimas en juezos ‘sirategias Optimas EL algoritmo minimax Decisiones Sptimas en juegos multijugador 6.3 Pods alfa-beta 6.4 Decisiones en tiempo real imperfectas Funciones de evaluaci6n Corte de ka bvisquedl 6.5. Juegos que ineluyen un clemento de posibilidud Evaluacién de la posieidn en juegos con nodos de posibilidad Complejidad del minimaxesperado Juegos de cartas 6.6 Programas de juegos 6.7 Discusivn 68 Resumen Notss bibliogrificas c historias Rjereivios Agentes ligicos. 71 Agentes basados en conocimiento 7.2 EL mundo de wampus vu CONTENIDO 73 14 16 a4 78 Logica Logica propovicional: una logica muy sencilla Sintaxis Semintica Una base de conocimiento sencilla Inferencia Equivalencia, validez y satisfacibilidad Patrones de razonamiento en légica proposicional Resolucién Forma normal conjuntiva Un algoritmo de resolucién Completitud de la resolucién Encadenamiento hacia delante y hacia atras Inferencia proposicional efectiva Un algoritmo completo con backtracking («vuelta atti») Algoritmos de busqueda local Problemas duros de satisfucibilidad Agentes basados en lgica proposicional Encontrar hoyos y wurmpas utilizando la inferencia t6gica Guardar la pista acerca de la localizaci6n y ls orientacién del agente Agentes hasados en circuitos Una comparacion Resumg Notas bibliogrificas ¢ hist6rieas Logica de primer orden a 82 83 Ba Revisidn de la representacitn Sintaxis y semantica de la lbgica de primer orden Modelos en bogies de primer orden Simbolos e intespretaciones Términos Sentencias atémicas Senteacias compuestas Cuantificadores (Cuantificador universal (9) ‘Cuantificacion existencial () Cuantificadores anidados Conexiones entre ¥ y 3 ewaldad Unlizar la logiea de primer orden Aserciones y petiviones en Ioxica de primer orden EI dominio del parentesco Naimeros, conjuntos y Bistas EL mundo de wempus Ingenieria del conocimiento con I6gica de primer orden Fl proceso de ingenierfa del conocimiento El dominio de los eitcuitos eleetrinicos Meotificar ka tarea Recopilar cl conocimiento relevante socabulario Decidir el 29 230 233 233 235 236 239) 2a 22 23 24d 248 2s 240 251 253 253 255 256 260 i 262 266 85 Notas bibliogri CONTENIDO Codificar el conocimiento general del dominio Codificar fa instancia del problema Planteat peticiones al procedimiento de inferencia Depurar la base de conocimiento Resumen case histori Ejercicios 9 Inferencia en légica de primer orden 9 93 94 9.6 Logica proposicional vs. Légica de primer orden Reglas de inferencia para cuantificadores Reduecidn a la inferencia proposicional Uniticaci6n y sustitueivn Una regia de inferencia de primer orden Unificacién Almacenamiento y recuperacisn Encadenamiento hacia delante Cléusulas positivas de primer orden Un algoritmo sencillo de encadenamiento hacia delante Encadenamiento hacia delante eficiente Emparejar reglas con los hechos conocidos Encadenamiento hacia delante incremental Hechos irrelevantes Encadenamiento hacia atris Un algoritmo de encadenamiento hacia atris Programacién légica Implementacién eficiente de programas li Inferencia redundante y bucles infinitos Programacin logica con restricciones Resolucion Formas normales conjumtivas en logiea de primer orden La regla de inferencia de resolucisn Demostraciones de ejemplo Completitud de Ia resolucisn Manejar la iguatdad Estratewias de resolucion Resolucion unitaria Resolucién mediante conjunto soporte Reyolucién lineal Subsuneién Demostradores de teoremas Diseio de un demostrador de teoremas Ampliarel Prolog Demostradores de teorensis como asistentes Usos pricticos de los demostradores de teoremas Resumen, Notas bibliogrificas e histirieas Ejereicios 1 Representacién det conacimiento ier ontoliigiea fa y objets Ix 300 300 301 301 302 308 308 309 310 310 BI 312 313 314 15 318 318. CONTENIDO, u Objetos compuestos Medidas Sustancias y objetos 10.3 Acciones, situaciones y eventos La ontologia del ealeulo de Staaciones Deseripcidn de accioves en el caleulo de situaciones Resolver el problema de ka representaci6n del marco ofver el problema de la inferencia del marco El tiempo y el caleulo de eventos Eventos generalizaclos Procesos Intervallos Flujos y abjetos 10.4 Eventos mentales y objetos mentales Una teoria formal de ereencias, Conocimiento y ereenciz Conocimiento, tiempo y accidn 10,5. El mundo de ta compra por Internet Comparacion de ofertas 10.6 Sistemas de razonamiento para cateyorias Redes semanticas Liigica descriptiva 10.7 Razonamiento con informacicn por defecto Mundos abiertos y eertados Negacisin como fallo y sementieas de modlelado estates Cireunseripcidn y logiea por defecto 10.8 Sistemas de maneaiimiento de verdad 10.9 Resumen Notas bibli Ejercicios ficas e historicas Planificaciin TLL El problema de planificacion EL lenguaje de fos problemas de planificacion Expresividad y extensiones, Ejemplo: transporte de carga aéreo Ejemplo: el problema de la rueds de recambio Ejemplo: J ntundo de fos bloques 11.2. Planificacion con buisquedas en espacios de estado Busquedas hacia-delante en el espacin de estados Buisqued hacia-atris en el espacio de estados Heuristicas para ta busqueda en el espacio de estado 11.3. Planificacion ordenada parcialmente Ejemplo de planiicacién de orden parcial “Planifieacién de orden parcial con variables independientes, Heurfsticas para planificacion de orien parcial HA Grafos de planiti Gralos de planifigacidn para estimacton de heuristicas PLagoritmes Guaruetan Interrupeidin de Grarsin.as, 11.5 Phinificacidn con ligica proposicional 308, 309) 37 373 373 315 a7 379 389 381 383 set 386 387 387 389 390 301 395, 397 397 401 402 403, 405 406 409 aul 412 ay a 48 a 431 133 434 434 46 436 438 439 441 445 44s, 449 450 453 454 497 i58 2 116 7 CONTENIDO Descripeisin de problemas de planificaci6n en I6giea proposicionsl Complejidad de codificaciones proposicionales Analisis de los enfoques de plant Resumen Notas bibliognificas e histories Ejercicios Planificaci6n v aceién en el mundo real 12.1 Tiempo. planiticacidn y recursos Programacién con resttieeidn de recursos 12.2. Redes de planificavién jerérquica de tareas Representucidn de descomposicion de aeciones, Moaliicaci6n de planificadores para su descomposicidn Discusion 12.3 Planificaciin y acciin en dominios no deterministas 12.4 Planificacion condicional Planifieacin condicional en entomnos completamente observables Planificacién condicional en entornos parcialmente observables 12.5. Vigilancia de ejecucicn y replanificacién 12.6 Planificacior continua 12.7 Pkaifieacién multiagente ‘Cooperacién: planes y objetivos conjuntos Planificacidn condicional en entornos parcialmente observables Mecanismos de coordinacidn Mecanismos dle eoordinacion 128 Resumen Notas hibliognifieas ¢ histricas Bjercicios Incertidumb 1B. Comportamiento bajo incertidumbre Manipulacisn de} conocimiento incierto Incertidumbre y devisiones racionales Disco de un agente de decision te6rieo 13.2. Notacion buisica con probabilidades Proposiciones Sucesns atmicos Probabilidad prion Probabilidad condicional 13.3 Los axiomas de la probabilidad Utilizacion de los sxiomas de probabilidad Por qué los axiomas dela probabildee! son razonables 13.4 Inferencia usando las ditriaciones conjuntas tales 13.5. Indypendencia 136. La Regls de Bayes y su uso Apficacidn de la egha de Bayes: el ease sencillo © Utlizacn de ha repla de Bayes: comibinavion de evideneia 147 ELmundo wiempus revista 13K Resumen, Notas hilbliogritieas ¢ historieas Ejercieios XI 458, 462 463 465 460) 469 475 475 478 481 482 48a 487 490 498 493 498 502 507 512 512 sla sis 517 si sis 527 527 528 530) sal 532 su 5a 536 537 539 540) Sal sad 546, 547 54s 550) 584 555 ss? xi CONT ENDO 14 Razonamiento probabilista 14.1 Larepresentacisn del conocimiento en un dominio incierto 14.2 La seiaintiew de las redes hayesianas La representacién de la distribucién conjunta completa ‘Un método para la construccidn de redes bayesianas Compactacién y ordenacién de nodos Relaciones de independencia condicional en redes bayesianas 14.3 Representacidn eficiente de las distribuciones condicionales Redes bayesianas con variables continua, 14.4 Inferencia exacta en redes bayesianas Inferencia por enumeracion EL algoritmo de climinacién de variables La complejidad de [a inferencia exacta Algoritmos basados en grupos 14.5 _Inferencia aproximada en rei Métodos de muestreo directo ‘Muestreo por rechazo en redes bayesianas Ponderacién de la verosimilitud Inferencia por simulacion en eadenas de Markov 14.6 Extension de la probabilidad a representaciones de primer orden 14.7 Otros enfogues al razonamiento con incertidumbre Metodos asados en reglas para rizonamiento con incertidumbre Representacién de ln ignorancia: eorfa de Dempster-Shafer Representacién de Ja vaguedad: conjuntos difusos y légica difusa 148, Resumen Notas bibliogrificas ¢ historicas Ejercicios es bayesianas 15. Razonamiento probabilista en el tiempo 15.1. El tiempo y la incertidumbre Estados y observaciones, Proceso estacionarios e hipstesis de Markov 15.2 Infereneia en modelos temporales Filtrado y prediecicin Suavizacde Encontrar la secuencia mis probable 15.3 Modelos ocultas de Markow Algoritmos matriciales simplificados 1540 Fluus de Kalman Actualizacidn de distribuciones gaussianas Un ejemplo unidimensional sencillo Fl caso genera Aplicabilidad del fltrada de Kalman ISS Rey Construceidn de RBDS Infereneia exacta en RBDs Infereneia aproxinada en RBDs 15.0 Reconocimiento de! hab Sonilos del halt Palabras es hayesianas dindmicas Oraciones S61 S61 564 S64 565 566 508 50) ST ST 575 377 S80) S80) 583 585 587 590) sus 596, 598 599 onl oo! 06 ou oul on ol ols. 6l7 ow on 624 or 028 on 632 O38 635, 636. a0) 641 as 647 4 6s 16 7 18 CONTENIDO Construccion de un reconocedor del hublt 15.7 Resun Notas bibliog Bjeteicios Toma de decisiones sencillas 16.1 Combinacidn de ereencias y deseos hajo condiciones de incertidumbre 16.2 Los fundamentos de la teoria de ts utiidad Restricciones sobre preferencias racionales y entonces aparecié ta utitidad 16.3 Funciones de utilidad La utilidad del dinero, scala de utilidad y evaluacidn de fa utilidad 164 Funciones de utitidad multiatribato Predominio . Pstructura de preferencia y utilidad multiatribuco referencias sin incertidumbre Preferencias con incertidumbre 16.5 Redes de decision Representacién de un problema de decision mediante una ted de decisidn Evuluacidin en redes de decision 16.6 El valor de la informacion Un ejemplo sencillo Una formuta general Propiedades del valor de Ia informacién Implementacién de un agente recopilador de informacién 16.7. Sistemas expertos basados en la teorfa de la decisién. 16.8 Resumen Notas bibliogitfieas e historieas Ejercicios Toma de decisiones complejas 17.1 Problemas de deciston secuenciales Un ejemplo Optimalidad en problemay de decision secuenciales 17.2. Iteraci6n de valores Utildades de Los estados Fl algoritmo de iteracién de valores Convergencia de la iteracidn de valores 17.8 Heracion de politicas 174 Procesos de decision de Matkov parcialmente observables 17.5. Agentes basados en Ia teoria de la decisicin 17.6 Decisiones con varios agentes: teorfa de juegos 17.7. Disefio de mecanismos, V7.8 Resumen . Notas bibliogiicas e histéricas Aprendizaje de observaciones IX.1 Formas de aprendizaje 18.2 Aprendizaje inductive XI 654 656 656 659 663 664 665 666 608 669 669) on om o7t 77 677 678 679 om os 682 682 683 685 685 680. 690 690 92 697 698, 698, 01 0d 704 05 07 710 m2 116 19 79 732 733 736 739 79 72 XIV CONTENIDO » 20 18.3 Aprender drbotes de decisidin Arboles de decisin como herramienta de desarrollo, Expresividad de los dirboles de decision Inducir irboles de decision a partir de ejemplos Eleceidn de los atrbutos de test Valoracisn de la calidad del algoritmo de aprendizaje Ruido y sobreajuste Extensidn de la aplicabilidad de los érboles de decision I84_ Aprendizaje de conjuntos de hipstesis 18.5 Por qué funciona cl aprendizaje”: teoréa computacional del aprendizaje ic ian? ‘Aprendizaje de listas de decision Discusion 18.6 Resumen Notas bibliogrificas e histérieas Bjetvicios intos ejemplos se ne Conocimiento en el aprendizaje 19.1 Uns formulacién légica del aprendizaje Ejemplos e hipstesis asqueda mejor-hipstesis-aetual Bisqueda de minimo compromise 19.2. Conocimiento en el aprendizaje Algunos ejemplos seneillos Algunos esquemas generales 19.3 Aprendizaje basado en explicaciones, Extracr reglas generals & partir de ejemplos: Mejorar la ef 19.4 Aprendizaje basado en informacién relevante Determinar el espacio de hipatesis Aprender y utilizar informacidn relevante 19,5 Programacion logics inductivar Un ciemplo M do «le aprendizaje inductive de arriba a abajo (Top-down Aprendizaje induetivo con deduccidn inverst Hacer descubrimientos con la programe! 186 Resumen Notas bibliogrificas ¢ historicas Eereicios Metodos estadisticns de aprendizaje 20.1 Aprendizaie estadistico 20.2. Aprendizate con datos completos [Aprendizaje del parsimetro de maxima verosimilitud: modelos diseretos Modelos de Bayes simpley (Naive B: Aprendizaje de parimetos de niixima verosimilitud: modelos continuos Aprendizaje de pardmetos Bayesiano Aprendizaje de la estructura de kis redes bayesianas 20.3 Aprendizaje con variables ocultay: el algoritmne EM. Ay Aprendizaje de redes bayesianas con variables veultas res) ipamivnty no supervisalor aprenulizatie de mezclas de m4 a4 74s 146 750 752 753 755 756 700 761 103 105, 766 167 709) T™ mm mm 116 Ts 782 784 784 786 187 780 1 2 792 795 795 78, sol 803 805 806 809 su si Bis SIs Bis 819 821 823 825 826, #29) CONTENIDO, Aprendizaje de modelos de Markov ocultos Forma general del algoritmo EM Aprendizaje de la estructura de las redes de Bayes con variables ocultas 204 Aprendizaje basado en instancias Maadelos de vecinos mis cereanos Modelos nticleo 20.5 Redes nevronales Unidades en redes neuronales Estructura de las re Redes neuronales de una sola capa con alimentaci6n-hacia-delante (perceptrones) Redes neuronales multicapa con alimentacisn hacia delante Aprendizaje de la estructura de las redes neuronales 20.6 Maiguinas miicleo 20.7 Caso de estudio: reconocedor de digitos escritos a mano 20.8 Resumen Notas bibliogeaticas e bistéricas Bjercicios Aprendizaje por refuerzo 21.1 Introduccisn 21,2 Aprendizaje por refuerzo pasivo Estimacion directa de la utilidad Programacion dinamica adaptativa Aprendizaje de diferencia temporal 21.3 Aprendizaje por refuerzo active Exploracion Aprendizaje de una Funcién Accién: Valor 214) Generalizacién en aprendizaje por vefuerzo Aplicaciones a juey Aplicacién a control de robots 21.5 Biisqueda de la politica 21.6 Resumen Notas bibliootiicas e histuricas Ejereicios 2.1 La comunicacién como accion Fundamentos del lenguaje Etapas de la comunicacisn Una gramstiea formal para un fragmento del espaiiol EI Iéxico de e0 La Gramitica de eb 22.3. Anilisis sintgetien Anilisis sintictico eficiente 24 Gramatieas aumentadas Subeateyorizacion del verbo Capacidad generativa de lay gramtiticas uments 22.5. Interpretacidn semantics Fa semtdntiea de un fragmento en espaol Tiempo y forma verbal Cuantiticacivin xv 831 832 833, 834 835 837 838 839 840 saz 846 ssl 851 855) 897 859. 863 867 867 869) 870. aT sr 816 876 880 882 885) 886 887 800) 801 894 897 898, 809) 900 903 904 904 905 908: old 916 ons ow 90 921 XVI CONTENIDO 2B 4 Interpretacin pragmatica Generacién de lenguajes con DCGs 22.6 Ambigitedad y desambigiiedad Desambiguacién 22.7 Comprensi6n del diseurso Resolucién por referencia La estructura de un discurso coherente in gramatical Notas bibliogr Bjercicios Procesamiento proba 23.1. Modelos prohabilisticos de! lenguaje Gramticas probahilisticas independientes del contexto Aprendizaje de probabilidades para PCFGs. Aprendizaje de la estructura de las reglas para PCF Recuperacion de datos Evaluacidn de los Sistemas de RD Refinamientos RD Presentacién de Jos conjuntos de resultados Implementar sistemas RD 23.3 Extraccién de la informacién 234 Traduccién avtomitica Sistemas de traduccién automa ‘Tradueci6n automtica estaistica Probabilidades de aprendizaje para la traduccion automtica 23.5 Resumen Notas bibliogrificas e histérieas Ejercicios Percepeidn 24.1 Introduccion 24.2 Formacién de la imagen Imigenes sin lentes: a edimara de orificio 6 pinhole Sistemas de lentes Luz: la fotometrfa de la formacion de imégenes Color: Is espectrofotometria de la formaciéin de imiigenes 24.3. Operaciones de procesamiento de imagen :t bajo nivel Deteccidn de aristas Segmentacidn de la imagen 244 Extraceidn de informacion tridimensional Movimiento. Extereoscopia binocular Gradientes de textura Sombreado Contormo 24.5 Reconocimiente de abjetos Reconocimiento basado en la intensidd Reconocimient basado en las earacteristivas Estimacidin de postura 925 926 927 929 930. 9B 932, 934 936 937 oat 945: 945: 949 950 951 952 955 956 957 959 961 964 966, 967 970. 972 972 o75. 97 979 ost 982 983 983 985; ONG os7 990 991 993) 996 vor co) hoon nod 1007 aos iw % CONTENIDO, 24.6 Empleo de la visidn para a manip 24.7 Resumen Notas hibliograiicas e historicas Bjercicios Robstica 25.1. Introduecién 25.2 Hardware robotico Sensores, Efectores 25.3 Percepeisn robsitica Localiz ‘én Generacién de mapas Otros tipos de percepeidn Planear el movimiento Eypacio de configuracién Métodos de descomposicidn en celdas Métodos de esqueletizacién 25.5. Planificar movimientos inciertos Métodos robustos 25.6 Movimiento Dinémica y control Control del campo de potencial Control reactive 25.7 Arquitecturas software robéticas Arquitectura de subsumpeiéin Arquitectura de tres capas Lenguajes de programacidn roboticos 258 Dominios de aplicacién 259 Resumen Notas bibliografieas e historieas. Ejercicios Fundamentos wéficos, 26.1 TA débil: {pueden kas maquinas uetuar con inteligencia? EL argumento de incapacidad La objecion matemstica £1 arguanento de la informalidad 26.2. 1A fuerte: pueden las miguinas pensar de verdad? BE problema de mente-cuerpo El experimento del «cerebro en una cubetar El experiment de ta prétesis cerebral La habitacién ehina 26.3 La ética y los rieygos de desarrollar la Inteligeneia Artificial 26.4 Resumen Notas bibliogr icas ¢ histories Hjeteivins TA: presente y future 27.1 Componentes de tos agentes 27.2 Arquitecturay de agentes XVI 1012 rol 11s 11s 1023 1023 1025 102s 1027 1029 1031 1036 1039 1039 tao lows 1046 1047 1048 1031 10st 1054 1055 10ST 1058 oso 1000 1061 1064 1005 1069 1075 1075 77 1078 lo79 Lost losa loss 10K6 oss: 1090 109s 1095 1098 1099 loo hoz XVI CONTENIDO 27,3. ¢kstamos Hevando la diteccidn salecuada? 274 {Qué ocurriia si la LA tuviera éxito? A. Fundamentos matem: cos A.1Anilisis de ka complejidad y la notacion OF ) Ana Los proble isis asintstico inherentemente dificiles y NP A.2 Vectores, matrices y ilgebra lineal |A.3._ Distribuciones de probabilidades Notas bibliogrificas e historicas B Notas sobre lenguajes y algo B.1Definicisn de lenguajes con Backus: Naur Form (BNF) B.2__ Algoritmos de descripcisn en pseudocédigo B3 Ayuda en lines Bibliografia Indice alfabético Hos 1106 1109 1109 1109 io m2 tg ins 17 17 1s 19 124 1179 ee Prologo ———————— La Intcligencia Artificial (IA) es un campo grande (enorme), y este libro también, He intentado explorarlo con plena profundidad acompafiéndolo constantemente de Wigica, probabilidad y matemiticas; de percepcién, razonamiento, aprendizaje y accién, es decir, de todo To que procede de los dispositivos microelectrOnicos hasta los explorado- res del planetario de la robstica, Otra razén para que este libro se pueda considerar espléndido es ka profundidad en la presentacidn de los resultados, aunque nos hayamos, esforzado por abarcar s6lo las ideas mas centrales en fa parte principal de cada eapste. lo, En las notas bibliogriticas al final de cada capitulo se proporcionan consejos para promover resultados, EI subtitulo de este libro es «Un Enfoque Moderno». Lat intencin de esta frase bas- {ante vaefa es el hecho de que hemos intentado sintetizar lo que se conoce ahora dentio de un marco de trabajo comin, en vez de intentar explicar cada uno de los subeampos de la IA dentro de su propio contexto histérico. Nos disculpamos ante aquellos cuyos. subcampos son, como resultado, menos reconocibles de lo que podrfan haber sido de cual- quier otra forma. El principal tema unificador es Ia idea del agente inteligente, Definimos la 1A como el estudio de los agentes que reciben percepciones del entorno y Hevan a cabo las ac ciones, Cada a gente implementa una funcidn la cual estructur Jas secuencias de las per cepciones en acciones; también tratamos las diferentes formas de representar estas fun- ciones, tales como sistemas de produccién, agentes reactivos, plani icadores condicionales en tiempo real, redes neurales y sistemas tedricos para las decisiones. Explicaremos el papel del aprendizaje cuando aleanza al diseiador y eémo se introduce en entornos des conocidos, mostrando también cémo ese papel limita el disefio del agente, favorecien- do asi la representaci6n y el razonamiento explicitos del conocimiento, Trataremos la robdtica y su visién no como problemas con una definicisn independiente, sino como algo que ocurre para lograr los objetivos. Daremos importancia al entorno de las tareas al determinar el diseao apropiado de Tos agentes XX PROLOGO Nuestro objetivo principal es el de transmitir las ideas que han surgido durante los diltimos 50 aiios de investigacién en IA y trabajos afines durante los dos titimos mile nios. Hemos intentado evitar una excesiva formalidad en la presentacidn de estas ideas a la vez que hemos intentado cuidar la precisiGn, Siempre que es necesario y adecuado, incluimos algoritmos en pseudo cédigo para concretar las ideas, lo que se describe en el Apéndice B. Las implementaciones en varios lenguajes de programacién estén dis- ponibles en el sitio Web de este libro, en la direccién de Internet aima.es.berkeley.edu, Este libro se ha pensado principalmente para utilizarse en un curso de diplomatui en. una serie de varios cursos, También se puede utilizar en un curso de licenciatura (quizés acompaiado de algunas de las fuentes primarias, como las que se sugieren en las notas bibliograficas), Debida a la extensa cobertura y a la gran cantidad de algorit- ‘mos detallados, también es una herramienta Gti! como manual de referencist primario para alumnos de licenciatura superior y profesionales que deseen abarcar mas alld de su pro- pio subcampo, El Gnico prerrequisito es familiarizarse con los conceptos basicos de la Ciencia de la informédtica (algoritmos, estructuras de datos, complejidad) a un nivel de aprendizaje de segundo afo. El célculo de Freshman es titi para entender las redes new- rales y el aprendizaje estadistico en detalle, En el Apéndice A se ofrecen los fundamentos matemiiticos necesarios. Vision general del libro El libro se divide en ocho partes. La Parte 1, Inteligencia Artificial, ofrece una visién de la empresa de TA basado en la idea de los agentes inteligentes, sistemas que pueden decidir qué hacer y entonces actutar. La Parte I, Resolucién de Problemas, se concentra en los métodos para decidir qué hacer cuando se planean varios pasos con antelacién, por ejemplo, navegar para eruzar un pais 0 jugar al ajedrez. La Parte 11, Conocimien- to y Razonamiento, abarca las formas de representar el conocimiento sobre el mundo, es decir, cémo funciona, qué aspecto tiene actualmente y cémo podria actuar, y estudia tambign edmo ravonar de forma légica con ese conocimiento, La Parte IV, Planifica ci6n, abarca cémo utilizar esos métodos de razonamiento para decidir qué hacer, parti- cularmente construyendo planes. La Parte V, Conocimiento y Razonamiento Inci tos, se asemeja a las Partes HIT y EV, pero se concentra en el razonamiento y en la toma de decisiones en presencia de la incertidumbre del mundo, la forma en que se podria en- frentar, por ejemplo, a un sistema de tratamiento y diagnosis médicos, Las Partes II y V describen esa parte del agente inteligente responsable de aleanzar Jas decisiones. La Parte [V, Aprendizaje, describe los métodos para generar el conoci: miento requerido por los componentes de la toma de decisiones. La Parte VI, Comu- nicacién, Percepeién y Actuacién, describe las formas en que un agente inteligente pue- de percibir su entorno para saber lo que estii ocurriendo, tanto si es mediante la vision, el tacto, el ofdo 0 el entendimiento del idioma; también describe cémo se pueden tra formar Jos pkines en aeciones reales, o bien en movimientos de un robot, o bien en dr- denes del lenguaje natural, Finalmente, la Parte VII, Conelusiones, analiza el pasado y el futuro de la TA y sus repercusiones filossticas y éticas. PROLOGO—-XXT Cambios de la primera edicién Desde que en 1995 se publics la primera edicisn, la LA ha suftido muchos cambios, por lo tanto esta edicidn también ha sufrido muchos cambios. Se han vuelto a escribir todos Jos capitulos elocuentemente para reflejar los titimos trabajos de este campo, reinter- pretar los trabajos anteriores para que haya mayor coherencia con los actuales y mejo- rar la direccidn pedagdgica de las ideas. Los seguidores de la [A deberfan estar alenta dos, ya que las técnicas actuales son mucho mais pricticas que las del aio 1995; por ejemplo, los algoritmos de planificacién de la primera edicisin podrian slo de unos cuantos pasos, mientras que los algoritmos de esta edicién superan los mi- les de pasos. En la deduccidn probalistica se han visto mejoras similares de érdenes de magnitud, procesamiento de lenguajes y otros subcampoy. A continuaci Jos cambios mas destacables de esta edicién eenerar pla n se muestran + En la Parte T hacemos un reconocimiento de las contribuciones histérieas a la teorfa de controles, teorfa de juegos, economia y neurociencia, Esto ayudard a sintonizar con una cobertura més integrada de estas ideas en los siguientes ea pitulos, + En la Parte II se estudian los algoritmos de busqueda en linea, y se ha afiadido un capitulo nuevo sobre la satisfaccidn de las limitaciones. Este tiltimo proporeiona una conexién natural con el material sobre la légica. + En la Parte III la l6gica proposicional, que en la primera edicién, se present como un peldaio a la légica de primer orden, ahora se presenta como un lenguaje de re- presentaciGn ttil por propio derecho, con ripidos algoritmos de deduccién y di- seftos de agentes basados en circ den se han reorganizado para presentar el material de forma mas clara, anadiendo el ejemplo del dominio de compras en Internet la Parte IV incluimos los métodos de planificacién mas actuales, tales como GaapupLan y la planificacién asada en la satisfabilidad, ¢ inerementamos ka co- bertura de la planificaciGn temporal, planificacién condicional, planificacién j rérquica y planificacién multiagente tos. Los capitulos sobre la Iégiva de primer or + En la Parte V hemos aumentado el material de redes Bayesianas con algoritmos nuevos, tales como la eliminacidn de variables y el algoritmo Monte Carlo de ea- dena Markov; también hemos creado un capitulo nuevo sobre el razonamiento tem- poral incierto, abarcando los modelos ocultos de Markov, los filtros Kalman y las redes dindmicas Bayesianas. Los procesos de decisién de Markov se estudian en profundidad, anadiendo tam canismos. én secciones de teoria de juegos y disefios de me- + En la Parte VI combinamos trabajos de aprendizaje estadistico, simbélico y new ral, y afadimos secciones para impulsar los algoritmos, el algoritmo EM, apren- dizaje basado en instancias, y métodos kernel «de micleo» (Soporte a méquinas vectoriales). + En la Parte VIL el estudio del procesamiento de lenguajes aiade secciones sobre el pro esamiento del discurso y la induceién gramatical, asi como un capitulo so- XXIT pROLOGO. bre los modelos de lenguaje probalistico, con aplicaciones en la recuperacién de informacién y en la traduccién automitica. El estudio de la robética enfatiza la in- tegracién de datos inciertos de sensores, y el capitulo sobre la visidn actualiza el material sobre el reconocimiento de objetos + Ena Parte VIII introducimos una seccién sobre las repercusiones éticas de la LA Utilizacion del libro (oe) ‘esto wuevo 27 capitulos componen a totalidad del libro, que a su vez estén compuestos por sesio nes para clases que pueden durar una semana, por tanto para completar el libro se pue den necesitar hasta dos semestres, Alternativamente, se puede adaptar un curso de for- ma que se adecue a los intereses del instructor @ del alumno. Si se utiliza el libro completo, servird como soporte para cursos tanto si son reducidos, de introduceién, para diplomaturas o para licenciados ¢ ingenieros, de especializacién, en temas avanzados. En la pagina Web aima.cs.berkeley.cdu, se oftecen programas de muestra recopilados de miis de 600 escuelas y facultades, ademds de sugerencias que ayudaran a encontrar la secuencia més adecuada para sas necesidades. Se han incluido 385 ejercicios que requieren una buena programacién, y se han mar. cao con el icono de un teclado. Estos ejercicios se pueden resolver utilizando el repo: sitorio de eddigos que se encuentra en ka pigina Web, aima.cs.berkeley.edu. Algunos de ellos son tan grandes que se pueden considerar proyectos de fin de trimestre. Alzunos ejercicios requieren consultar otros libros de (exto para investigar y se han marcado con el icono de un fibro. Los puntos importantes también se han mareado con un icono que indica puntos im portantes. Hemos incluido un indice extenso de 10.000 elementos que facilitan la utili- zacidn del libro, Ademis, siempre que aparece un término nuevo, tambicn se destaca enel mangen Utilizacién de la pagina Web En la pagina Web se puede encontrar + implementaciones de los algoritmos de! libro en diferentes lenguajes de progra- macién, + una relacién de aproximadamente 600 universidades y centros, que han utilizade este libro, muchos de ellos con enlaces a los materiales de cursos en la red + una relacidn de unos 800 enlaces a sitios Web con contenido itil sobre la 1A, + una lista de tados los capitulo, uno a uno, material y enlaces complementarios. + instrucciones sobre & Gmo unirse a un grupo de debate Sobre el libro, + instrucciones sobre cémo contactar con los autores mediante preguntas y comen: tarios. pRoLoco XXII + instrucciones sobre como informar de los errores del libro, en el caso probable de que existieran. y + copias de las figuras del libro, junto con diapositivas y otro tipo de material para profesores Agradecimientos Jitendra Malik ha eserito la mayor parte del Capitulo 24 (sobre la visién). Gran parte det Capitulo 25 (sobre robsitica) de esta edicidin ha sido eserite por Sebastian Thrun, mien- tras que la primers edicién fue escrita por John Canny. Doug Edwards investigé las no- tas historicas de la primera edici6n. Tim Huang, Mark Paskin y Cinthia Bruyns ayudo a realizar el formato de los diagramas y algoritmos. Alan Apt, Sondra Chavez, Toni Holm, Jake Warde, Irwin Zucker y Camille Trentacoste de Prentice Hall hicieron todo lo que pudieron para cumplir con el tiempo de desarrollo y aportaron muchas sugerencias so: bre el diseito y el contenido del libro. Stuart quiere agradecer & sus padres el continuo apoyo y aliento demostrado, y a su esposa, Loy Sheflott su gran paciencia e infinita sabiduria, También desea que Gordon y Lucy puedan leer esta obra muy pronto. Y a RUGS (Russells Unusual Group of Stu- dents) por haber sido de verdad de gran ayuda Peter quiere agradecer a sus padres (Torsten y Gerda) el nimo que le aportaron para impulsarle a empezar el proyecto, y a su mujer Kr amigos por animarle y to- Jerar todas las horas que ha dedicado en escribir y en volver a escribir su trabajo. Estamos en deuda con los bibliotecarios de las universidades de Berkeley, Stanford. y con el MIT y la NASA; y con los desarrolladores de CiteSeer y Google por haber re volucionado la forma en que hemos realizado gran parte de la investigacién Obviamente, nos es imposible agradecer a todas las personas que han utilizado el li- bro y que han realizado sugerencias, sin embargo nos gustaria mostrar especial ageade- cimiento alos comentarios que han realizado personas como Eyal Amir, Krzysztof Apt, Ellery Aziel, Jeff Van Baalen, Brian Baker, Don Barker, Tony Barrett, James Newton Bass, Don Beal, Howard Beck, Wolfgang Bibel, John Binder, Larry Bookman, David R. Boxall, Gerhard Brewka, Selmer Bringsjord, Carla Brodley, Chris Brown, Wilhelm Burger, Lauren Burka, Joao Cachopo, Murray Campbell, Norman Carver, Emmanuel Castro, Anil Chakravarthy, Dan Chisatick, Roberto Cipolla, David Cohen, James Cole- man, Julie Ann Comparini, Gary Cottrell, Ernest Davis, Rina Dechter, Tom Dieterich, Chuck Dyer, Barbara Engelhardt, Doug Edwards, Kutluhan Erol, Oren Etzioni, Hana Fi- lip, Douglas Fisher, Jeffrey Forbes, Ken Ford, John Foster, Alex Franz, Bob Futrelle, Ma- rek Galecki, Stefan Gerberding, Stuart Gill, Sabine Gi th Golub, Gosta Grah- ne, Russ Greiner. Eric Grimson, Barbara Grosz, Larry Hall, Steve Hanks, Othar Hansson, Emst Heinz, Jim Hendler, Christoph Herrmann, Vasant Honavar, Tim Huang, Seth Hutchinson, Joost Jacob, Magnus Johansson, Dan Jurafsky, Leslie Kaelbling, Keiji Kanavawa, Surekha Kasibhatla, Simon Kasif, Henry Kautz, Gernot Kersehbaumer, Ri- chard Kirby, Kevin Knight, Sven Koenig, Daphne Koller, Rich Korf, James Kurien, Jobn Lafferty, Gus Larsson, John Lazzaro, Jon LeBlane, Jason Leatherman, Prank Lee, . hijos sner, XXIV PROLOGO Edward Lim, Pierre Louveaux, Don Loveland, Sridhar Mahadevan, Jim Martin, Andy Mayer, David McGrane, Jay Mendelsohn, Brian Milch, Steve Minton, Vibhu Mittal, Le- ‘ora Morgenstern, Stephen Muggleton, Kevin Murphy, Ron Musick, Sung Myaeng, Lee Naish, Pandu Nayak, Bernhard Nebel, Stuart Nelson, XuanLong Nguyen, Ilah Nour bakhsh, Steve Omohundro, David Page, David Palmer, David Parkes, Ron Parr, Mark Paskin, Tony Passera, Michael Pazzani, Wim Pijls, Ira Pohl, Martha Pollack, David Po- ole, Bruce Porter, Malcolm Pradhan, Bill Pringle, Lorraine Prior, Greg Provan, William Rapaport, Philip Resnik, Francesca Rossi, Jonathan Schaeffer, Richard Scherl, Lars Schuster, Soheil Shams, Stuart Shapiro, Jude Shavlik, Satinder Singh, Daniel Sleator. David Smith, Bryan So, Robert Sproull, Lynn Stein, Larry Stephens, Andreas Stolcke. Paul Stradling, Devika Subramanian, Rich Sutton, Jonathan Tash, Austin Tate, Michael Thiel: William Thompson, Sebastian Thrun, Eric Tiedemann, Mark Torrance, Ran- dall Upham, Paul Utgoff, Peter van Beek, Hal Varian, Sunil Vemuri, Jim Waldo, Bon- nie Webber, Dan Weld, Michael Wellman, Michael Dean White, Kamin Whitehouse, Brian Williams, David Wolfe, Bill Woods, Alden Wright, Richard Yen, Weixiong Zhang, Shlomo Zilberstein, y los revisores anénimos proporcionados por Prentice Hall Acerca de la portada La ilustracién de la portada ha sido disefiada por los autores y ejecutada por Lisa Marie Sardegna y Maryann Simmons utilizando SGI Inventor™ y Photshop™ de Adobe, representa los siguientes elementos de la historia de Ta TA: 1. Elalgoritmo de planificacién del De Motu Animatium, Arist6teles (400 aC.) 2. El generador de conceptos del Ars Magna de Ramén Lull (1300 d.C.) 3, El motor de diferencias de Charles Babbage, un prototipo de! primer computa- dor universal (1848) La notacisn de légica de primer orden de Gottlob Frege (1789). 5. Los diagramas del razonamiento logico de Lewis Carroll (1886) 6. La notacién de redes probalisticas de Sewall Wright (1921). 7. Alan Turing (1912-1954). 8. £1 Robot Shakey (1969-1973) 9. Un sistema experto de diagndstico actual (1993) Sobre los autores ————————————— re Stuart Russell nacié en 1962 en Portsmouth, Inglaterra. En 1982, obtuvo su B.A. en Fisica formando parte de los primeros en el cuadro de honor de la Universidad de Ox- ford. En 1986 obtuvo el Ph. D. en Informatica por la Universidad de Stanford. Ms tar- de empez6 a trabajar en la Universidad de California, Berkeley, en donde es profesor de Informatica, director del centro de Sistemas Inteligentes y colaborador del Smith-Zadeh ‘en Ingenieria. En 1990, recibis el premio Presidential Young Investigator Award de la National Sciencie Foundation (Fundacién Nacional de las Ciencias), y en 1995 obtuvo el premio compartido en el Computers y Thought Award, En 1996 se convirtié en Mi- llar Profesor de la University of California, y en el afto 2000 fue nombrado rector de la universidad. En 1998, dio la lectura inaugural de la Stanford University, Forsythe Me- morial Lectures. Forma parte como «Fellow», y es uno de los primeros miembros de! Executive Council de la American Association for Artificical Intelligence, Ha publica- do un gran ndimero de trabajos, més de 100 sobre una gran variedad de temas en inteli- gencia artificial. ¥ es autor de otros dos libros: The Use of Knowledge in Analogy and Induction, y (con Erik Wefald) Do the Right Thing: Studies in Limited Rationality. Peter Norvig es director de Search Quality de Google, Ine. y forma parte, como «Fe- How» y miembro del Executive Council en la American Association for Artificial Inte- igence. Anteriormente, fue director de la Divisién de Ciencias Computacionales del Ames Research Center de la NASA, en donde supervisaba la investigacién y el desarrollo en inteligencia artificial. Antes de eso, trabaj6 como director de ciencia en Junglee, donde ayudé a desarrollar uno de los primeros servicios de extraccién de informacién cen Internet, y trabajé también como cientifico senior en Sun Microsystems Laboratories, cuyo trabajo consistia en recuperar informacién inteligente. Recibi6 un B.S. en Mate- méticas Aplicadas por la Brown University, y un Ph. D, en informatica por la Universi- dad de California en Berkeley. Es profesor de la University of Southern California, y miembro de ta facultad de investigacién en Berkeley. Tiene en su haber més de 50 pu- blicaciones en Informética entre las que se incluyen los libros: Paradigms of Al Pro- gramming: Case Studies in Common Lisp, Verbmobil: A Translation System for Face- to-Face Dialog, e Intelligent Help Systems for UNIX. samc Introduccion Donde se intentaré explicar por qué se considera a la inteligencia artificial un tema digno de estudio y donde se intentard definirla con exactitud; es esta tarea muy recomendable antes de emprender de leno su estudio. Los hombres se han denominado a sf mismos como Home sapiens (hombre sabio) por- que nuestras capacidades mentales son muy importantes para nosotros. Durante miles de afios, hemos tratado de entender cémo pensamos; es decir, entender c6mo un sim- ple pufiado de materia puede percibir, entender, predecir y manipular un mundo mu- cho més grande y complicado que ella misma. El campo de la inteligencia artificial, © 1A, va mas alld: no sélo intenta comprender, sino que también se esfuerza en cons ir entidades inteligentes. La TA es una de las ciencias mas recientes. El trabajo comen7s poco después de la Segunda Guerra Mundial, y el nombre se acuiié en 1956. La TA se cita, junto a la bio logia molecular, como un campo en el que a la mayoria de cientificos de otras discipli- nas «les gustaria trabajar». Un estudiante de ciencias fisicas puede pensar razonablemente que todas las buenas ideas han sido ya propuestas por Galileo, Newton, Einstein y otros, Porel contrario, la IA atin tiene flecos sin cerrar en los que podrian trabajar varios Eins teins a tiempo completo, La TA abarca en la aetualidad una gran variedad de subcampos, que van desde ére- ias de propdsito general, como el aprendizaje y la percepcisn, a otras mis especificas como cl ajedrez, Ia demostracién de teoremas matematicos, la escritura de poesia y el diag~ néstico de enfermedades, La IA sintetiza y automatiza tareas intelectuales y es, por lo Lanto, potencialmente relevante para cualquier ambito de li actividad intelectual huma. nna, En este sentido, es un campo genuinamente universal. 20 INTE 1.1 :Qué es la IA? ACIONALIOND LIGENCIA ARTIFICIAL, UN ENEOQUE MODERNO- Hemos proclamado que la TA es excitante, pero no hemos dicho qué es. La Figura 1.1 presenta definiciones de inteligencia artificial extratdas de ocho libros de texto. Las que aparecen en la parte superior se refieren a procesos mentales y al razonamiento, mien tras que las de Ia parte inferior aluden a la conducta. Las definiciones de la izquierda miden el éxito en términos de la fidelidad en la forma de actuar de los humanos, mien tras que las de la derecha toman como referencia un concepto ideal de inteligencia, que Hamaremos racionalidad. Un sistema es racional si hace «lo correeto», en funcidn de su conocimiento. ‘A Io largo de la historia se han seguido los cuatro enfoques mencionados. Como es de esperar. existe un enfrentamiento entre los enfoques centrados en los humanos y los centrados en tomo a Ja racionalidad'. El enfoque centrado en el comportamiento hun no debe ser una ciencia empirica, que incluya hipstesis y confirmaciones mediante ex- perimentos. El enfoque racional implica una combinacidn de matemiticas e ingenierfa Cada grupo al mismo tiempo ha ignorado y ha ayudado al otro, A continuacién revisa- remos cada uno de los cuatro enfoques con més detalle, san como humanos Sistemas que piensan racionalmente ales median. les». (Ch E] nuevo y excitante esfuerzo de hacer que fos | El estudio de las facultades me ccomputadores piensen... miquinias con mentes, en | te el uso de modelos computacion | cel mus amplio sentido literal». (Haugeland, 1985) | niak y McDermott, 1985) | EL estudio de los cileulos que hacen posible | percibir, razonar y actuar», (Winston, 1992) | {Lea automatizacion de} actividades que vinew | lamos con procesos de pensamiento humano, se- Lividades como ta toma de decisiones, resolucion e problemas, aprendizaje...» (Bellman, 1978) smas que aetdan como Sistemas qu i actiian racionalmente Inveli encia Computacional es el estudio | el disefio de agentes inteligentes». (Poole et | ul, 1998) | para realizar funciones que euando son realiza {das por personas requieren de inteligencia» (Kureweil, 1990) «4 estudio de como lograr que los computado- | res realicen tareas que, por el momento, los hut IA... esti relacionada con conductas intel _gentes en artefactos». (Nilsson, 1998) ‘laste de desaolarmdguinas con eapacidad | = manos hacen mejor» Rich y Knight 1991) | Figura 1.1 Algunas definiciones de inteligencia artificial, organizadas en cuatto categortas CConvione aclarat que al distinguie entre comportamiente humano y sacianal no se esti sugiriende que hy Fhuanos son necesariamente arravionaless en el sentide de sinestahilidad emocionabs © saesequtlibri mental». Basta con damos cuenta de yue nu somos perfectas: no todos somos maestros de ajedre7, inelus aquellos que conocemos txkss fas regs dle ajedre7:y desafortunadamente, no todas obtenemies ua sobre saliente en un examen, Kahneman ¢f af. (1982) ha elaborade un catilo Sistemaiticamente cometen fos hummanos cus fazonsan, con algunos be los errores que PAUEEADE TURING RacesaMienro 0€ ‘ENGUAE WATURAL ePRESENTACION Del CONDIMENT azowamento Aurowarico| apaewowaie agua ‘PARUEBA De TURING toon. ‘sta coMPUTACONAL ronorica INTRODUCCION Comportamiento humano: el enfoque de la Prueba de Turing La Prueba de Turing, propuesta por Alan Turing (1950), se disefié para proporcionar tuna definicién operacional y satisfactoria de inteligencia, En ver. de proporcionar una lista larga y quizd controvertida de cualidades necesarias para obtener inteligencia arti ficialmente, é1 sugiri6 una prueba basada en la incapacidad de diferenciar entre entida. des inteligentes indiscutibles y seres humanos. El computador supera la prueba si un eva luador humano no es capaz de distinguir si lay respuestas, a una serie de preguntas planteadas, son de una persona o no. En el Capitulo 26 se comentan detalles de esta prue ba y se discute si un computador que supera la prucba es realmente inteligente, Hoy por hoy, podemos decir que programar un computador para que supere la prueba requiere un trabajo considerable, El computador deberia poscer las siguientes capacidades: + Procesamiento de lenguaje natural que le permita comunicarse satistactoriamente sen inglés. + Representacién del conocimiento para almacenar lo que se conoce 0 siente. + Razonamiento automatico para utilizar la informacién almacenada pa ponder a preguntas y extraer nuevas conclusiones, + Aprendizaje automatico para adaptarse a nuevas circunstancias y para detectar y extrapolar patrones. La Prueba de Turing evité deliberadamente la interacci6n fisiea directa entre el evalua dor y el computador, dado que para medir la inteligencia es innecesario simular fisica ‘mente a una persona. Sin embargo, la Hamada Prueba Global de Turing incluye una se- al de video que permite al evaluador valorar la capacidad de percepeién del evaluado, y también le da la oportunidad al evaluador de pasar objetos fisicos «a través de una ven- tanita», Para superar la Prueba Global de Turing el computador debe estar dotado de + Visién computacional para percibir objetos. + Robética para manipular y mover objetos. © ser reconocide Estas seis disciplinas abarcan la mayor parte de la 1A, y Turing me por diselar una prueba que se conserva vigente despues de 50) afios. Los investigadores del campo de la TA han dedicado poco esfuerzo a la evaluaciGn de sus sistemas con ka Prueba de Turing, por creer que es mas importante el estudio de los prineipios en los que se basa fa intetigencia que duplicar un ejemplar. La biisqueda de un ingenio que «volara artificialmente> tuvo éxito cuando los hermanos Wright, entre otros, dejaron de imitar Jos pajaros y comprendieron los principios de la aerodindmica. Los textos de ingenierfa aaerodindmica no definen el objetivo de su campo como la construccidn de «mdiguinas que vuelen como palomas de forma que puedan incluso confundir a otras palomas» Pensar como un humano: el enfoque del modelo cognitive Para poder decir que un programa dado piensa como un humano, es necesarin contar eon, tun mecanismo para determinar c6mo piensan los humanos, ES necesario penetrar en el 4 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, ‘HENCIACOBNITHA suocismos, Lasicn funcionami to de Jas mentes humanas. Hay dos formas de hacerlo: mediante intros- peccién (intentando atrapar nuestros propios pensamientos conforme éstos van apare- ciendo) y mediante experimentos psicol6g suficientemente precisa sobre cémo trabaja la ment cos, Una vez se cuente con una teorfa lo se podrd expresar esa teoria en la forma de un programa de computador. Si los datos de entradasalida del programa y los tiempos de reaccion son similares a los de un humano, existe la evidencia de que algu nos de los mecanismos del programa se pueden comparar con los que utilizan los seres humanos. Por ejemplo, a Allen Newell y Herbert Simon, que desarrollaron el «Sistema de Resolucién General de Problemas» (SRGP) (Newell y Simon, 1961), no les bast6 con que sti programa resolviera correctamente los problemas propuestos. Lo que les intere- saba era seguir la pista de jas etapas del proceso de razonamiento y compararlas con kas seguidas por humanos los que se les enfrenté a los mismos problemas. En el campo interdisciplinario de la ciencia cognitiva convergen modelos computacionales de TA y téenicas experimentales de psicologia intentando elaborar teorfas precisas y verificables sobri cl funcionamiento de la mente h mana. La ciencia cognitiva es un campo fascinante, merecedora de una enciclopedia de dicada a ella (Wilson y Keil, 1999). En este libro no se intenta describir qué se conoce de la cognicién humana, Ocasionalmente se hacen comentarios acerca de similitudes. 6 diferencias entre técnicas de 1A y cognicidn humana. La auténtica ciencia cognitiva se fundamenta necesariamente en ka investigacién experimental en humanos y anima- les, y en esta obra se asume que el lector sélo tiene acceso @ un computador para expe- rimentar, En los comienzos de la TA habia confusidn entre las distintas aproximaciones: un au- tor podria argumentar que un algoritmo resolvia adecuadamente una tarea y que por tan- fo era un buen modelo de representaci6n humana, © viceversa. Los autores actuales ha- cen diferencia entre las dos reivindicaciones; esta distincién ha permitide que ambas disciplinas, 1A y ciencia e nitiva, se desarrollen mas rapidamente. Los dos campos con- Lindian alimentiindose entre si, especialmente cn las areas de la vision y el lenguaje na tural. En particular, el campo de la visin ha avanzado recientemente con la ayuda de una propuesta integrada que tiene en cuenta la evidencia neurofisiolgica y los mode- Jos computacionales. Pensamiento racional: el enfoque de las «leyes del pensamiento» EL filosofo griego Aristételes fue uno de los primeros en intentar codificar la «manera correcta de pensar», es decir, un proceso de razonamiento irrefutable. Sus silogismos son esquemas de estructuras de argumentacién mediante las que siempre se llega a conclu- siones correctas si se parte de premisas correctas (por ejemplo: «Séerates es un hombre; todos los hombres son mortales; por lo tanto Séerates es mortal»). Estas leyes de pen- siimiento supuestamente gobiernan Ja manera de operar de ka mente; su estudio fue el inicio de un campo Hlamado Iégic Estudiosos de la ligica desarrollaron, en el siglo 1X, una notacién precisa para de- finir sentencias sobre todo tipo de elementos del mundo y especiticar relaciones entre Loaistx soente ene RACIONAL INTRODUCCION 5 ellos (compérese esto con la notacién aritmética comiin, que prictic para representar afirmaciones acerca de Ia igualdad y desigualdad entre nimeros). Ya en 1965 existian programas que, en principio, resolvian cualquier problema resoluble descrito en notaci6n l6gica’. La llamada tradicién logista dentro del campo de la inteli- gencia artificial trata de construir sistemas inteligentes a partir de estos programas, Este enfoque presenta dos obstaculos. No es féeil transformar conocimiento infor- mal y expresarlo en los términos formales que requieren de notacién l6gica, particular- mente cuando el conocimiento que se tiene es inferior al 100 por 100. En segundo Iu gar, hay una gran diferencia entre poder resolver un problema «en principio» y hacerlo en la préctica, Incluso problemas con apenas wna docena de datos pueden agotar los re- cursos computacionales de cualquier computador a menos que cuente con alguna directiva sobre los pasos de razonamiento que hay que Hevar a cabo primero. Aunque los dos obs: téculos anteriores estan presentes en fodo intento de construir sistemas de razonamien- to computacional, surgieron por primera vez en la tradicién l6gica amente s6lo sirve Actuar de forma racional: el enfoque del agente racional Un agente es algo que razona (agente viene del | informaticos se espera que tengan otros atributos que los distingan de los «programas» convencionales, como que estén dotados de controles auténomos, que perciban su en- torno, que persistan durante un perfodo de tiempo prolongado, que se adapten a los cam- bios, y que sean capaces de alcanzar objetivos diferentes. Un agente racional es aquel que actiia con la intencién de alcanzar el mejor resultado , cuando hay incertidumbre, el mejor resultado esperado. En cl caso del enfoque de la 1A segiin las «leyes del pensamiento», todo el énfasis se pone en hacer inferencias correctas, La obtencidn de estas inferencias correctas pue- de, a veces, formar parte de lo que se considera un agente racional, ya que una manera racional de actuar es legar a la conclusién logica de que si una accin dada permite al- canzar un objetivo, hay que Hevar a cabo dicha accién. Sin embargo, el efectuar una in- ferencia correcta no depende siempre de la rucionalidad, ya que existen situaciones para Jas que no hay nada correcto que hacer y en las que hay que toni ten también formas de actuar racionalmente que no implican realizar inferencias, Por ejemplo, el retirar la mano de una estufi caliente es un acto reflejo mucho mas eficien te que una respuesta lenta Hevada a cabo tras una deliberacién cuidadosa. Todas la habilidades que se necesitan en la Prueba de Turing deben permitir em- prender acciones racionales, Por lo tanto, es necesario contar con la capacidad para re- presentar el conocimiento y razonar basdndonos en él, porque ello permitira alcanzar d cisiones correctas en una amplia gama de situaciones. Es necesario ser capaz de generat sentencias comprensibles en lenguaje natural, ya que el enunciado de tales oraciones per- mite a los agentes desenvolverse en una sociedad compleja. El aprendizaje no se leva cabo por erudicién exclusivamente, sino que profundizar en el conocimiento de eémo funciona el mundo facilita la concepcidn de estrategias mejores para manejarse en él in agere, hacer). Pero de los agentes una decisién. Exis- Sino se encuentea una solueidn, el programa nunca debe parar de buscar 6 (CLA ARTIFICIAL. UN ENFOQUE MODERNO La percepcisn visual es necesaria no sélo porque ver es divertido, sino porque es nece- saria para poder tener una idea mejor de lo que una accién puede Megat a representar, por ejemplo, el ver un delicioso bocadillo contribuird a que nos acerquemos a él. Por esta razén, el estudiar la IA desde el enfoque del diseiio de un agente racional ofrece al menos dos ventajas. La primera es mds general que el enfoque que proporcio- nan las «leyes del pensamiento», dado que el efectuar inferencias correctas es slo uno de los mecanismos existentes para garantizar la racionalidad., La segunda es més afin a la forma en la que se ha producido el avance cientifico que los enfoques basados en la conducta o pensamiento humano, porque la norma de la racionalidad estd claramente de- finida y es de aplicaciGn general. Por el contrario, la conducta humana se adapta bien a un entorno espeeffico, y en parte, es producto de un proceso evolutivo complejo, en gran medida desconocido, que atin esti lejos de Hevarnos a la perfecci6n. Por tanto, esta obra se centraré en los principios generales que rigen a los agentes racionales y en los elementos necesarios para construirlos. Mas adelante quedara patente que a pesar de la aparente facilidad con la que se puede describir un problema, cuando se intenta resol- ver surgen una enorme variedad de cuestiones. El Capitulo 2 revisa algunos de estos aspectos con més detalle, Un elemento importante a tener en cuenta es el siguiente: més bien pronto que tar- de se observard cémo obtener una racionalidad perfecta (hacer siempre lo correcto) no es posible en entornos complejos. La demanda computacional que esto implica es de- masiado grande. En la mayor parte de esta obra se adoptaré la hipétesis de trabajo de que la racionalidad perfecta es un buen punto de partida para el andlisis. Lo cual sim- plifica el problema y proporciona el escenario base adecuado sobre el que se asientan Jos cimientos de este campo, Los Capitulos 6 y 17 se centran explicitamente en el tema maeuatoxn de la racionalidad limitada (actuar adecuadamente cuando no se cuenta con el tiempo suficiente para efectuar todos los cdlculos que serfan deseables). 1.2 Los fundamentos de la inteligencia artificial sei 6n presenta una breve historia de las disciplinas que han contribuido con puntos de vista y técnicas al desarrollo de la IA, Como toda revisién histérica, en este caso se centra en un pequefio ntimero de personas, eventos ¢ ideas € ignora otras. que también fueron importantes. La historia se organiza en tomo a una serie de cues- tiones, dejando claro que no se quiere dar la impresi6n de que estas cuestiones son las inicas por las que las disciplinas se han preocupado y que el objetivo ultimo de todas estas disciplinas era hacer avanzar la TA. idea Filosofia (desde el afio 428 a.C. hasta el presente) + {Se pueden utilizar reglas formales para extraer conclusiones vélidas’? + ,Como se genera la inteligencia mental a partir de un cerebro fisico? + {De dénde viene el conocimiento? + {Como se pasa del conocimiento a la accisn’? unuisuo eavenLisn rine inoveeion INTRODUCCION 7 Aristételes (384-322 a.C.) fue el primero en formular un conjunto preciso de leyes que gobernaban Ja parte racional de la inteligencia. El desarroll6 un sistema informal para razonar {J Juadamente con silogismos, que en principio permitia extraer conclusiones, mecénicamente, a partir de premisas iniciales. Mucho después, Ramén Lull (d. 1315) tuvo Ia idea de que el razonamiento siti se podria obtener por medios artificiales. Sus, «ideas» aparecen representadas en la portada de este manuscrito. Thomas Hobbes (1588- 1679) propuso que el razonamiento era como a computacién numérica, de forma que «nosotros sumamos y restamos silenciosamente en nuestros pensamientos». La auto- matizacién de la computacién en si misma estaba en marcha; alrededor de 1500, Leo- nardo da Vinei (1452-1519) disefé, aunque no construyé, una calculadora mecinica; construcciones recientes han mostrado que su diseito era funcional. La primera méqui- na calculadora conocida se construy6 alrededor de 1623 por el cientifico alemén Wil- helm Schickard (1592-1635), aunque la Pascalina, construida en 1642 por Blaise Pas- cal (1623-1662), sea més famosa, Pascal escribi6 que «la méquina aritmética produce efectos que parecen més similares a los pensamientos que a las acciones animales». Gott- fried Wilhelm Leibniz (1646-1716) construy6 un dispositivo mecénico con el objetivo de Hevar a cabo operaciones sobre conceptos en lugar de sobre ntimeros, pero su cam po de accién era muy limitado. Ahora que sabemos que un conjunto de reglas pueden describir la parte racional y formal de la mente, el siguiente paso es considerar la mente como un sistema fisico. René Descartes (1596-1650) proporciona la primera discusién clara sobre la distincién entre la mente y la materia y los problemas que surgen. Uno de los problemas de una con- cepcién puramente fisica de la mente es que parece dejar poco margen de maniobra al libre albedrio: si el pensamiento esta totalmente gobernado por leyes fisicas, entonces una piedra podrfa «decidir» caer en direcciGn al centro de la Tierra gracias a su libre al- bedrio, A pesar de ser denodado defensor de la capacidad de razonamiento, Descartes fue un defensor del dualismo. Sostenia que existe una parte de la mente (0 del alma o del espititu) que esti al margen de la naturaleza, exenta de la influencia de las leyes ff- sicas. Los animales, por el contrario, no poseen esta cualidad dual; a ellos se le podria concebir como si se tratasen de maquinas. Una alternativa al dualismo es el materia- lismo, que considera que las operaciones del cerebro realizadas de acuerdo a las leyes de la fisica constituyen la mente. El libre albedrio es simplemente la forma en la que la percepcién de las opciones disponibles aparecen en el proceso de seleccién. Dada una mente fisica que gestiona conocimiento, el siguiente problema es establecer las fuentes de este conocimiento, El movimiento empirico, iniciado con el Novum Or- ganum’, de Francis Bacon (1561-1626), se caracteriza por el afoorismo de John Locke (1632-1704): «Nada existe en la mente que no haya pasado antes por los sentidos». Da vid Hume (1711-1776) propuso en A Treatise of Human Nature (Hume, 1739) lo que aactualmente se conoce como principio de induceidn: las reglas generales se obtienen me- diante la exposici6n a asociaciones repetidas entres sus elementos. Sobre la base de las propuestas de Ludwig Wittgenstein (1889-1951) y Bertrand Russell (1872-1970), el famoso Cireulo de Viena, tiderado por Rudolf Carnap (1891-1970), desarroll6 ta doe- wvina del positivismo légico. Esa doctrina sostiene que todo el conocimiento se puede Una actual icin del Organon, © instrumento de pensamienta, de Arist6tcles 8 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, Posirismo Ldcico ‘Seneca oe sseMAcion ‘eowia eux CONFRMACON caracterizar mediante teorias logicas relacionadas, en Ultima instancia, con sentencias de observacién que corresponden a estimulos sensoriales*, La teorfa de la confirma- cidn de Carnap y Carl Hempel (1905-1997) intenta explicar emo el conocimiento se obtiene a partir de la experiencia. El libro de Carnap, The Logical Structure of the World (1928), define un procedimiento computacional explicito para la extraceidn de conoci- miento a partir de experiencias primarias, Fue posiblemente la primera teoria en mo: trar la mente como un proceso computacional. El ltimo elemento en esta discusi6n filos6fica sobre la mente es la relaci6n que exis- fe entre conocimiento y accién, Este asunto es vital para la TA, ya que la inteligencia re- quiere tanto accién como razonamiento, Mas atin, simplemente con comprender cémo se justifican determinadas acciones se puede Hegar a saber cémo construir un agente cuyas acciones sean justificables (0 racionales). Aristételes argumenta que las acciones se pue: den justificar por la conexién légica entre los objetivos y el conocimiento de los efectos de Jas acciones (la tiltima parte de este extracto también aparece cn Ja portada de este libro): {Cémo es que el pensamiento viene acompafiado en algunos casos de acciones y en otros no’, zen algunos casos por movimiento y en otros no? Parece como si la misma cos sucediera tanto si razondramos o hiciéramos inferencias sobre objetos que no cambian; pero en este caso el fin es una proposicién especulativa... mientras li conclusién resul- ante de las dos premisas es una accidn,.. Yo necesito abrigarme; una manta abriga. Yo necesito una manta. Qué necesito, qué debo hacer; necesito una manta, Necesito hacer tuna manta. Y la conclusién, «Yo tengo que hacer una manta, es una acci6n, (Nussbaum, 1978, p. 40) En Nicomachean Ethics (Libro 1. 3, 1112b), Arist6teles continga trabajando en este tema, sugiriendo un algoritmo Nosotros no reflexionamos sobre los fines, sino sobre los medios. Un médico no rete. xiona sobre si debe curar, ni un orador sobre si debe persuadi... Ellos asumen el fin y consideran cémo y con qué medios se obtienen, y si resulta facil y es por tanto produc tivo; mientras que si sélo se pued por un medio se ti se aleanzard por este y por qué medios se obtendra éste, hasta que se Hegue a la causa primera.... y lo dltimo en el orden del andlisis parece ser lo primero en el orden de los ween consideracisn cima acontecimientos. Y si se Hega a un estado imposible, se abandona kt biisqueda, como por ejemplo si se necesita dinero y no se puede conseguir; pero si hay una posibilidad se in tentar El algoritmo de AristGteles se implement6 2.300 aftos mas tarde por Newell y Si- mon con [x ayuda de su programa SRGP. El cual se conoce como sistema de planifica- cidn regresivo (véase el Capitulo 11), El analisis basado en objetivos es ttil, pero no indica qué hacer cuando varias ac- ciones nos Hlevan a la consecucién del objetivo, o cuando ninguna accisn facilita su com: pleta consecuci6n. Antoine Armauld (1612-1694) describi6 correctamente una forma cuantitativa para decidir qué accién Hevar a cabo en un caso como este (véase el Capt tulo 16). El libro Utilitarianism (Mill, 1863) de John Stuart Mill (1806-1873) propone [En este eontexto,es posible comprobar rechavsa tla asevercigin significativa mediante el anlisi el si -xperimentacidn, Dado que esto no es apical en x may parte del nifcado de las palabras. mediante mito de ki metafisica, como era imtencidn, el positivism ligico se hizo impopulir en alpunos ecules suconrno ‘oneta oe IncomPuettuD INTRODUCCION 9 la idea de un criterio de decisi6n racional en todos los dmbitos de la actividad humana. En la siguiente secci6n se explica una teoria de fa decision mas formalmente Matemiaticas (aproximadamente desde el afio 800 al presente) + Qué reglas formales son las adecuadas para obtener conclusiones vilidas? + (Qué se puede computar? + (C6mo razonamos con informacién incierta? Los filsofos delimitaron las ideas mas importantes de la TA, pero para pasar de abi a una ciencia formal es necesario contar con una formukicién matemiitica en tres reas fun- damentales: lgica, computacién y probabilidad, El concepto de légica formal se remonta a los filésofos de la antigua Grecia (v el Capitulo 7), pero su desarrollo matemitico comenz6 realmente con el trabajo de George Boole (1815-1864) que definié la I6gica proposicional o Booleana (Boole, 1847), En 1879. Gottlob Frege (1848-1925) extendis la l6gica de Boole para ineluir ob- jetos y relaciones, y ered la logica de primer orden que se utiliza hoy como el sistema mis basico de representacin de conocimiento’. Alfred Tarski (1902-1983) introdujo una teorfa de referencia que ensefia cémo relacionar objetos de una Iégiva con objetos del mundo real. E} paso siguiente consistié en definir los limites de lo que se podfa hacer con la légica y la informatica. Se piensa que el primer algoritmo no trivial es el algoritmo Fuelideo pata el calcu Jo del maximo comin divisor. El considerar los algoritmos como objetos en si mismos se remonta a la época de al-Khowarazmi, un matemiédtico persa del siglo 1x, con cuyos escritos también se introdujeron los nimeros arabigos y el algebra en Europa, Boole, entre otros, presenté algoritmos para Hevar a cabo deducciones Iégicas y hacia el final del si- lo x1X se Hevaron a cabo numerosos esfuerzos para formalizar el razonamiento mate- matico general con la logica deductiva, En 1900, David Hilbert (1862-1943) present una lista de 23 problemas que acertadamente predijo ocuparfan a los mateméticos durante todo ese siglo, En ef tiltimo de ellos se preguntaba si existe un algoritmo que permita determinar la validez de cualquier proposicién Iégica en la que aparezcan nti- eros natures (el famoso Ensscheidungsproblem, o problema de decisidn). Basicamente, Jo que Hilbert se preguntaba es si hay Iimites fundamentales en ta capacidad de los pro- cedimientos efectivos de demostracién, En 1930, Kurt Gidel (1906-1978) demostrs que existe un procedimiento eficiente para demostrar cualquier aseveraci6n verdadera en la légica de primer orden de Frege y Russell, sin embargo con la légica de primer orden no era posible capturar el principio de induccién matematica necesario para la caracte- riracidn de los ntimeros naturales. En 1931, demosted que, en efecto, existen limites reales. Mediante su teorema de incompletitud demosir6 que en cualquier lenguaje que tuviera la capacidad suficiente para expresar las propiedades de loy nimeros naturales. existen aseveraciones verdaderas no decidible en el sentido de que no es posible deci- dir su validez mediante ningin algoritmo, La nntacitin para Is Iogicu de primer orden propuests por Pre ‘ones que son aparentemente abvias cuando se observa el ejemplo que aparece en lx eubierta de este fibre c ne se ha aceptaito universalmente, por ra 10 INTRLIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO| e-coupcermun monABILOAD El resultado fundamental anterior se puede interpretar también como la indicacién de que existen algunas funciones de los ntimeros enteros que no se pueden representar mediante un algoritmo, es decir no se pueden calcular. Lo anterior Hevé @ Alan Turing (1912-1954) @ tratar de caracterizar exactamente aquellas funciones que sf eran susceptibles de ser caracterizadas, La nociGn anterior es de hecho problematica hasta cier- to punto, porque no es posible dar una definici6n formal a la nocién de eilculo o pro- cedimiento efectivo. No obstante, la tesis de Church-Turing, que afirma que la méqui: na de Turing (Turing, 1936) es capaz de caleular cualquier funci6n computable, goza de aceptacién generalizada ya que proporciona una definicién suficiente, Turing también demostrs que existen algunas funciones que no se pueden calcular mediante la méqui: na de Turing. Por ejemplo, ninguna maquina puede decidir en general si un programa dado produciré una respuesta a partir de unas entradas, o si seguiré calculando inde! nidamente, Si bien ser no decidible ni computable son importantes para comprender el proceso del calculo, la nocidn de intratabilidad tuvo repercusiones mas importantes. En térm nos generales se dice que un problema es intratable si el tiempo necesario para la reso- luci6n de casos particulares de dicho problema crece exponencialmente con el tamaiio de dichos casos. La diferencia entre crecimiento polinomial y exponencial de la com- plejidad se destacé por primera vez a mediados de los aitos 60 (Cobham, 1964; Edmonds, 1965). Es importante porque un crecimiento exponencial implica la imposibilidad de re solver casos moderadamente grandes en un tiempo razonable, Por tanto, se debe optar por dividir e1 problema de la generacién de una conducta inteligente en subproblemas que sean tratables en vez. de manejar problemas intratables. {Como se puede reconocer un problema intratable? La teorfa de la NP-completitud, propuesta por primera vez por Steven Cook (1971) y Richard Karp (1972) propone un método, Cook y Karp demostraron la existencia de grandes clases de problemas de ra- zonamiento y biisqueda combinatoria canénica que son NP completos. Toda clase de pro- blema a la que la clase de problemas NP completos se pueda reducit sera seguramente intratable (aunque no se ha demostrado que los problemas NP completos son necesa- riamente intratables, la mayor parte de los tedricos asf lo creen), Estos resultados con- trastan con el optimismo con el que la prensa popular recibi6 a los primeros computa dotes, «Supercerebros Electrdnicos que eran «jMis répidos que Einstein!» A pesar del rapido incremento en Ia velocidad de los computadores, los sistemas inteligentes se ca- racterizarn por el uso cuidadoso que hacen de los recursos. De manera sueinta, jel mun. does un ejemplo de problema extremadamente grande! Recientemente la 1A ha ayuda do a explicar por qué algunos ejemplos de problemas NP completos son dificiles de resolver y otros son ficiles (Cheeseman et al., 1991) Ademis de la l6gica y el calculo, la tercera gran contribucién de las matemiiticas a la IA es la teorfa de la probabilidad. E1 italiano Gerolamo Cardano (1501-1576) fue el primero en proponer la idea de probabilidad, presentindola en términos de los resulta- dos de juegos de apuesta, Lat probabilidad se convirti6é pronto en parte imprescindible de Jas ciencias cuantitativas, ayudando en el tratamiento de mediciones con incertidumbre y de teorias incompletas. Pierre Fermat (1601-1665), Blaise Pascal (1623-1662), James, Bernoulli (1654-1705), Pierre Laplace (1749-1827), entre ottos, hieieron avanzar esta te oria e introdujeron nuevos métodos estadisticos. Thomas Bayes (1702-1761) propuso una ‘eonia ok beeision ‘Teoria o ues wvesricacion ‘renariva INTRODUCCION 11 regla para la actualizaciGn de probabilidades subjetivas a la luz de nuevas evidencias. La regla de Bayes y el area resultante Hamado andlisis Bayesian conforman la base de las propuestas mas modernas que abordan el razonamiento incierto en sistemas de 1A. Economia (desde el afio 1776 hasta el presente) + {Como se debe Hlevar a cabo el proceso de toma de decisiones para maximizar el rendimiento? + {Como se deben Hlevar a cabo acciones cuando otros no colaboren’? + {Como se deben Hevar a cabo acciones cuando los resultados se obtienen en un futuro lejano? La ciencia de la economfa comenzé en 1776, cuando ef fildsofo escocés Adam Smith (1723-1790) publics An Inguiri into the Nature and Causes of the Wealth of Nations. Aun- que los antiguos griegos, entre otros, habian hecho contribuciones al pensamiento eco- n6mico, Smith fue el primero en tratarlo como una ciencia, utilizando la idea de que las economias pueden concebirse como un conjunto de agentes individuales que intentan maximizar su propio estado de bienestar econémico. La mayor parte de la gente cree que la economia slo se trata de dinero, pero los economistas dicen que ellos realmente es- tudian cémo la gente toma decisiones que les llevan a obtener los beneficios esperados Léon Walras (1834-1910) formaliz6 el tratamiento matematico del «beneficio deseado» © utilidad, y fue posteriormente mejorado por Frank Ramsey (1931) y después por John von Neumann y Oskar Morgenstern en su libro The Theory of Games and Economic Be- havior (1944). La teorfa de ta decisién, que combina la teorfa de la probabilidad con la teoria de 1a utilidad, proporciona un marco completo y formal para la toma de dec ndmicas 0 de otra indole) realizadas bajo incertidumbre, esto es, en casos en los que las descripciones probabilisticas capturan adecuadamente la forma en la que se toman las decisiones en el entorno; fo cual es adecuado para «grandes» economias en las que cada agente no necesita prestar atencidin a las acciones que Hleven a cabo el resto de los agen- tes individualmente. Cuando se trata de «pequefias» economias, la situacién se aseme- ja mas ka de un juego: las acciones de un jugador pueden afectar significativamente a 1a utilidad de otro (tanto positiva como negativamente). Los desarrollos de von Neumann, y Morgenstern a partir de la teorfa de juegos (véase también Luce y Raiffa, 1957) mos- traban el hecho sorprendente de que, en algunos juegos, un agente racional debia actuar de forma aleatoria o, al menos, aleatoria en apariencia con respecto a sus contrincantes. La gran mayorfa de los economistas no se preocuparon de lx tercera cuestién men: cionada anteriormente, es decir, emo tomar decisiones racionales cuando Jos resultados de las acciones no son inmediatos y por el contrario se obtienen los resultados de las ac- ciones de forma secuencial. El campo de la investigacién operativa persigue este objet vo; dicho campo emergié en la Segunda Guerra Mundial con los esfuerzos evados a cabo en ef Reino Unido en 1a optimizacién de instalaciones de radar, y posteriormente en apli- caciones civiles relacionadas con la toma de decisiones de direcciGn complejas. El traba- jo de Richard Bellman (1957) formaliza una clase de problemas de decisién secuencial Hamados procesos de decisién de Markov, que se estudiarin en los Capftulos 17 y 21 jones (eco- 12 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO savsraccion cunociNcin neuroma EL trabajo en la economia y la investigacién operativa ha contribuido en gran medi- daa la nocidin de agente racional que aqui se presenta, aunque durante muchos aos ka invest en el campo de Ia IA se ha desarrollado por sendas separadas. Una razén fue la complejidad aparente que trae consigo el tomar decisiones racionales. Herbert Simon (1916-2001), uno de los primeros en investigar en el campo de la 1A, gané el pre- mio Nobel en Econom(a en 1978 por su temprano trabajo, en el que moste6 que los mo- delos basados en satisfaccién (que toman decisiones que son «suficientemente buenas», en vez de realizar edlculos laboriosos para alcanzat decisiones éptimas) proporcionaban tuna descripeién mejor del comportamiento humano real (Simon, 1947). En los afios 90, hubo un resurgimiento del interés en las técnicas de decisiGn teérica para sistemas ba- sados en agentes (Wellman, 1995). Neurociencia (desde el aiio 1861 hasta el presente) + {Como procesa informacién el cerebro? La Neurociencia es el estudio del sistema neurol6gico, y en especial del cerebro, La forma exacta en la que en un cerebro se genera el pensamiento es uno de los grandes misterios de la ciencia, Se ha observado durante miles de aflos que el cerebro esta de a guna manera involucrado en los procesos de pensamiento, ya que fuertes golpes en la cabeza pueden ocasionar minusvalia mental. También es ampliamente conocido que los cerebros humanos son de alguna manera diferentes; aproximadamente en el 335 aC. Aristoteles eseribid, ade entre todos los animales el hombre tiene el cerebro mas gran- de en proporcién a su tamaio»®. Aunque, no fue hasta mediados del siglo xvii cuando se avept6 mayoritariamente que el cerebro es ta base de fi conciencia, Hasta este mo- mento, se pensaba que estaba localizado en el corazén, el bazo y la gkindula pineal El estudio de Paul Broca (1824-1880) sobre la afasia (dificultad para hablar) en pacientes con el cerebro dafado, en 1861, le dio fuerza a este campo y convencid a la sociedad médica de la existencia de éreas localizadas en el cerebro responsables de fun- ciones cognitivas especificas. En particular, mostré que la produccién del habla se Jocalizaba en una parte del hemisferio izquierdo: hoy en dia conocida como el area de Broca’, En esta época ya se sabia que el cerebro estaba formado por células nerviosas 0 neuronas, pero no fue hasta 1873 cuando Camillo Golgi (1843-1926) desarroll6 una téc- nica de coloraci6n que permitié la observacién de neuronas individuales en el cerebro (véase la Figura 1.2). Santiago Ramén y Cajal (1852-1934) utiliz6 esta técnica es sus estudios pioneros sobre la estructura neuronal del cerebro’ En la actualidad se dispone de informacién sobre la relacién existente entre las dre as del cerebro y las partes del cuerpo humano que controlan o de las que reciben impulsos Desde entences, se ha descubierte que algunas especies de delfinesy balls tienen cerebros relativamente andes, Alora se pienst que ef gran tama de los cerebros humanos se debe en parte a lt mejora reciente {on su sistema de rerigeracion, ” Muchos itan a Alexander Hood (1824) como una fuente posiblemente anterior. insist en la ereencia de que las Tunciones cerebrales se dessrrollaron inickalmente en el medio con tino en ef que his neuronas estaban inmersis, mientras que Cajal prupuase ka sdectrina neuronal», Ambos conypartieron el prema Nobel en 1906 pronunciando ua discurso de aveplacin antagsnice, INTRODUCCION 13 y Asborizacian axonal x Ly VY La Dendrita —_/ Axi » Nivteo Sinapsis Cuerpo de la cétuls 0 Soma | Figura 1.2 Partey de una célula nerviosa 0 neurona. Cada neurona contiene un cuerpo celular, 0 soma, que tiene un niicleo celular. Un ntimero de fibras llamadas dendritas se ramifican a partir del ‘cuerpo de la célula junto con una tinica fibra larga llamada ax6n. El axdn se alarga considerable- mente, mucho ms que lo que se representa en esta imagen, Normalmente mien un centimetro (100 veces mis que el didmetro del cuerpo de la célula), pero pueden alcanzar hasta un metro de longi: ud. Una neurona se conecta con entre 10 y 100.000 neuronas formando una marafia Hamada sinapsis. Las sefiales se propagan de neurona a neurona mediante una reaccién electroquimica com- Plicada. Las sefiales controlan ta actividad del cerebro a corto plazo, y permiten establecer cam- bios en la posieién y conectividad de las neuronas « largo plazo., Se piensa que estos mecanismos forman la base del aprendizaje del cerebro. La mayorfa del procesamiento de informacién se leva a cabo en la corteza del cerebro, la capa més externa de éste. La unidad de organizacién bisica es ‘una columna de tejido de aproximadamente 0.5 mm de diémetto, con lo cual se amplia la profur: idad total de la conteza cerebral, que en el caso de fos humanos es de cuatro mm, Una columna ccontiene aproximadamente 20,000 neuronas. sensoriales, Tales relaciones pueden cambiar de forma radical incluso en pocas sema- nas, y algunos animales parecen disponer de miiltiples posibilidades. Mas atin, no se tie ne totalmente claro cémo algunas dreas se pueden encargar de ciertas funciones que eran responsabilidad de reas dafadas, No hay pricticamente ninguna teoria que explique cémo se almacenan recuerdos individuales. Los estudios sobre la actividad de los cerebros intactos comenz6 en 1929 con el des- cubrimiento del electroencefalograma (EEG) desarrollado por Hans Berger. El recien- te descubrimiento de las imagenes de resonancia magnética funcional IRM) (Ogawa et al., 1990) esté proporcionando a los neurdlogos imagenes detalladas de la actividad cerebral sin precedentes, permitiéndoles obtener medidas que se corresponden con pro- esos cognitivos en desarrollo de manera muy interesante, Este campo esté evolucionando ances en los estudios en celdas individuales y su actividad neuronal. A pesar de estos avances, nos queda un largo camino para Hegar a comprender eémo fun- ionan todos estos procesos cognitivos. gracias a los 14 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO La conclusion verdaderamente increfble es que una coleccién de simples células pue- de llegar a generar razonamiento, aceién, y conciencia 0, dicho en otras palabras, los cerebros generan las inteligencias (Searle, 1992). La tinica teorfa alternativa es el mis- ticismo: que nos dice que existe alguna esfera mistica en la que las mentes operan fue- ra del control de la ciencia fisica Cerebros y computadores digitales realizan tareas bastante diferentes y tienen pro- piedades distintas. La Figura 1.3 muestra cémo hay 1.000 veces mds neuronas en un ce rebro humano medio que puertas légicas en la UCP de un computador estindar. La ley de Moore’ predice que el ntimero de puertas l6gicas de la UCP se igualard con el de neu- ronas del cerebro alrededor del afio 2020. Por supuesto, poco se puede inferir de esta pre dicci6n; mas atin, la diferencia en la capacidad de almacenamiento es insignificante com- parada con las diferencias en la velocidad de intercambio y en paralelismo, Los circuitos de los computadores pueden ejecutar una instruccién en un nanosegundo, mientras que las neuronas son millones de veces mas lentas, Las neuronas y las sinapsis del cerebro estin activas simultneamente, mientras que los computadores actuales tienen una o como mucho varias UCP. Por tanto, incluso sabiendo que un computador es un millon de veces mas rpido en cuanto a su velocidad de intercambio, el cerebro acaba siendo 100,000 veces mas répido en lo que hace. Psicologia (desde el afio 1879 hasta el presente) + {Como piensan y actin Jos humanos y los animale: La psicologia cientifica se inici6 con los trabajos de! fisico aleman Hermann von Helm- holtz (1821-1894), segtin se referencia habitualmente, y su discipulo Wilhelm Wundt (1832-1920). Helmholtz. aplicé el método cientifico al estudio de Ja vista humana, y su obra Handbook of Physiological Optics, todavia en nuestros dias, se considera como «el tratado actual mas importante sobre la fisica y la fisiologfa de la vista humana» (Nalwa, 1993, p. 15). En 1879, Wundt abrié el primer laboratorio de psicologfa experimental en Computador Cerebro Humane Unidades computacionales LUCE, 10* puertas 10!" neuronas Unidades de Almacenamiento | 10" bits RAM 10" neuronas 10" bits disco 10" Sinapsis Duracisn de un cielo 10" see 10 see Ancho de banda 10" bite 10" bitshsec Memoriy actualizaciénisee | 10" 0" ra 1.3 ComparaciOn basica entre los recursos de eémputo generales de que disponen los com- putadores (circa 2003) y el cerebro, Las cifras correspondientes a los computadores se han incrementado ten al menos un Factor 10 desde la primera edicidn de este libro, y se espera que suceda la mismo en costa década, Las cifras correspondientes al cerebro no han cambiado en los Gltimos 10,000 aos. ley de Moore dice que el nlimero de transistores por pul ula cura se duplica eat at «ae y me dio. La eapacidad del cerebro by 0 se dobla aproximaadamente eal dos © cua millones de aos conouerisHo rescoLocta ‘coca INTRODUCCION 15, la Universidad de Leipzig. Wundt puso mucho énfasis en la realizacién de experimen- {os controlados cuidadosamente en la que sus operarios realizaban tareas de percepeidn © asociacién al tiempo que sometian a introspecciGn sus procesos mentales. Los meti culosos controles evolucionaron durante un largo periodo de tiempo hasta convertir la psicologia en una ciencia, pero la naturaleza subjetiva de los datos hizo poco probable que un investigador pudiera contradecir sus propias teorfas. BiGlogos, estudiando el com- portamiento humano, por el contrario, carecfan de datos introspectivos y desarrollaron tuna metodologfa objetiva, tal y como describe H. S. Jennings (1906) en su influyente trabajo Behavior of the Lower Organisms. E1 movimiento conductista, liderado por John Watson (1878-1958) aplicé este punto de vista a los humanos, rechazando cualquier te- oria en la que intervinieran procesos mentales, argumentando que la introspeceién no aportaba una evidencia fiable. Los conductistas insistieron en el estudio exclusivo de me- diciones objetivas de percepciones (0 estimulos) sobre animales y de las acciones re- sultantes (0 respuestas). Construcciones mentales como conocimientos, creencias, ob- jetivos y pasos en un razonamiento quedaron descartadas por ser consideradas «psicolog popular» no cientifica. El conductismo hizo muchos descubrimientos utilizando ratas y palomas, pero (uvo menos éxito en la comprensién de los seres humanos. Atin asi, su influencia en la psicologia fue notable (especialmente en Estados Unidos) desde apro- ximadamente 1920 hasta 1960. La conceptualizacién del cerebro como un dispositivo de procesamiento de infor- macién, caracteristica principal de la psicologfa cognitiva, se remonta por fo menos a las obras de William James"? (1842-1910), Helmholtz también pone énfasis en que la percepci6n entraita cierto tipo de inferencia légica inconsciente. Este punto de vista cog nitivo se vio eclipsado por el conductismo en Estados Unidos, pero en la Unidad de Psi- cologfa Aplicada de Cambridge, dirigida por Frederic Bartlett (1886-1969), los mode- Jos cognitivos emergieron con fuerza. La obra The Nature of Explanation, de Kenneth Craik (1943), discfpulo y sucesor de Bartlett, reestablece enérgicamente a legitimidad de términos «mentales» como creencias y objetivos, argumentando que son tan ciemti- ficos como lo pueden ser Ia presidn y la temperatura cuando se habla acerca de los gat~ ses, a pesar de que éstos estén formados por moléculas que no tienen ni presién ni tem- peratura, Craik establece tres elementos clave que hay que tener en cuenta para disefiar un agente basado en conocimiento: (1) el estimulo deberd ser traducido a una represen- taci6n interna, (2) esta representacidn se debe manipular mediante procesos cognitivos para asf generar nuevas representaciones internas, y (3) éstas, a su vez, se traduciran de nuevo en acciones. Dejé muy claro por qué consideraba que estos eran los requisitos id6. neos para diseflar un agente: fa Siel organism tc y de todas sus posibles acciones, ser capaz de probar diversas opciones, decidir cual es ne en su cabeza «un modelo a pequefia escala» de la realidad externa Ja mejor, planificar su reacci6n ante posibles situaciones futuras antes de que éstas sur jan, emplear lo aprendido de experiencias pasadas en situaciones presentes y futuras, y ten tado momento, reaccionar ante los imprevistos que acontezcan de manera satisfacto ria, segura y mais competente (Craik, 1943), "William James era hermano del novelista Henry James, Se comenta que Henry escribi6 novelas ‘come si se tratara de Ga como Si se Utara de vel mata ivologia y William eseribid sobre psicol 16 INTELIGENCLA ARTIFICIAL. UN ENFOQUE MODERNO| ‘EMCI cOGMIA Después de la muerte de Craik en un accidente de bicicleta en 1945, Donald Boadbent con- linud su trabajo. y st libro Perception and Communication (1958) incluy6 algunos de los primeros modelos de procesamiento de informacién del fendmeno psicoldgico. Mientras tanto, en Estados Unidos el desarrollo del modelo computacional Hlevo a la creaci6n del cam- po de la ciencia cognitiva, Se puede decir que este campo comenzé en un simposio cel brado en el MIT. en septiembre de 1956 (como se veriia continuacién este evento tuvo lugar séilo dos meses despues de la conferencia en la que «naciG ka 1A), En este simposio, George Miller present6 The Magic Number Seven, Noam Chomsky present6 Three Models of Language, y Allen Newell y Herbert Simon presentaron The Logic Theory Machine. E tres art{culos influyentes mostraron cémo se podian utilizar los modelos informeticos para modelar la psicologia de la memoria, el lenguaje y el pensamiento légico, respectivamen- te. Los psicélogos comparten en a actualidad el punto de vista comiin de que «la teoria cognitiva debe ser como un programa de computador» (Anderson, 1980), 0 dicho de otra forma, debe describir un mecanismo de procesamiento de informacién detallado, lo cual lleva consigo la imptementacisn de algunas funciones cognitivas. (os Ingenieria computacional (desde el afio 1940 hasta el presente) + {Como se puede c nstruir un computador eticiente? Para que la inteligencia artificial pueda Hegar a ser una realidad se necesitan dos cosas: inteligencia y un artefacto. El computador ha sido cl artefacto elegido. El computador clectrnico digital moderno se inventé de manera independiente y casi simulta cientificas en tres paises involucrados en la Si nea por nda Guerra Mundial. El equipo de Alan ‘Turing construy6. en 1940, el primer computador operacional de cardcter eleetromecs nico, Hamado Heath Robinson!" con un tinico propdsito: descifrar mensajes alemanes. En 1943 el mismo grupo des neral basada en valvulas de vacfo"*, El primer computador operacional programable fue e1Z-3, inventado por Konrad Zuse en Alemania, en 1941, Zuse también invent6 los i= meros de coma flotante y el primer lenguaje de programacién de alto nivel, Plankalkiil Elp tudor eleeirdnico, el ABC, fue creado por John Atanasoff junto a su dis- cipulo Clifford Berry entre 1940 y 1942 en la Universidad Estatal de towa. Las investi- gaciones de Atanasoff recibieron poco apoyo y reconocimiento; el ENIAC, desarrolla do en el marco de un proyecto militar seereto, en la Universidad de Pensilvania, por un equipo en el que trabajaban entre otros John Mauchly y John Eckert, puede considerar~ se como el precursor de los computadores modernos. Desde mediaos del siglo pasado, cada generacién de dispositivos hardware ha con Hevado un aumento en ka velocidad de proceso y en [a capacidad de almacenamiento. rroll6 cl Colossus, una maquina potente de propésito ge mer comp Heat Rohinson fue un caricaturisa famoso por sus dibujs, que representaban artefactos de uso cari. ceaprichosos y ahsurdanemte complies, por ejemplo. ne past nar mantels en el pan Hosa mpo de Ia TA, porejen 1993), EI gobierno "Fe fa postauers, Tari iso utilizar estos computadones para investigar en el c 1 jugar la ajedrer (Turing ef INTRODUCCION 17 asi como una reduceidn de precios. La potencia de los computadores se dobla cada 18. meses aproximadamente y seguits a este ritmo durante una o dos déeadas mas. Después, se necesitars ingenieria molec ar y ofras tecnologias novedosas. Por supuesto que antes de la aparicidn de los computadores ya habia dispositivos de Aleulo, Las primeras maquinas automaticas, que datan del siglo xvi, ya se menciona- ron en la pagina seis. La primera méquina programable fue un tekar, desarrollado en 1805 por Joseph Marie Jacquard (1752-1834) que utilizaba tarjetas perforadas para almace- nar informacin sobre los patrones de los bordados. A mediados del siglo xtx, Charles, Babbage (1792-1871) disefié dos maquinas, que no Heg6 a construir, Lat «Meiquina de Diferencias». que aparece en la portada de este manuscrito, se concibié con la intencién de facilitar los c@lculos de tablas matems icas para proyectos cientificos y de ingenieria, Finalmente se construy6 y se presenté en 1991 en el Museo de ki Ciencia de Londres (Swade, 1993), La «Maquina Analitica» de Babbage era mucho mas ambiciosa: incluia memoria direccionable, programas almacenados y saltos condieionales: fue el primer tefacto dotado de Jos elementos necesarios para realizar una computaci6n universal Ada Lovelace, colega de Babbage e hija del poeta Lord Byron, fue seguramente la primera programadora (el lenguaje de programacion Ada se lama asf en honor a esta programadora), Ella escribi6 programas para la inacabada Maquina Analttica e incluso especuld acerca de la posibilidad de que 1a maquina jugara al ajedrez y compusiese mtisica La JA también tiene una deuda con la parte software de la informatica que ha pro- porcionado los sistemas operativos, los lenguajes de programaci6n, y las herramientas necesarias para escribir programas modernos (y articulos sobre ellos), Sin embargo, en este rea la deuda se ha saldado: la investigacidn en IA ha generado numerosas ideas no- vedlosas de las que se ha beneficiado lt info ‘tica en general, como por ejemplo el tiem- po compartido, los intérpretes imperativos, los computadores personales con interfaces grificas y ratones, entornos de desarrollo ripido, listas enlazadas, administracién auto- mitica de memoria, y conceptos claves de la programacidn simbdlica, funcional, dind- mica y orientada a objetos, Teoria de control y cibernética (desde el afio 1948 hasta el presente) + {Como pueden los artefactos operar bajo su propio control? Ktesibios de Alejandrfa (250 a.C.) construyé la primera maquina auto controlada: un reloj de agua con un regulador qui fa e1 flujo de agua circulando por él, con un ritmo constante y predecible, Esta invencién cambié la definicisn de lo que un artefacto po: dia hacer. Anteriormente, solamente seres vivos podian modificar su comportamiento como respuesta a cambios en st entorno. Otros ejemplos de sistemas de control auto re- gulables y retroalimentados son el motor de vapor. creado por James Watt (1736-1819), yeltermoxtato, inventado por Cornelis Drebbel (1572-1633). que también inve marino, | manter Gel sub- Wworfa matenxitica de los sistemas con retroalimentucidn estables se desarroll6 enel siglo xix, 18 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO ‘eon contRoX cape uncidw osenvo La figura central del desarrollo de fo que ahora se Tlama ka teorfa de control fue Nor- bert Wiener (1894-1964). Wiener fue un matematico brillante que trabajé en sistemas. de control biolégicos y mecanicos y en sus vineulos con la cognicién, De la misma for- ma que Craik (quien también utiliz6 sistemas de control como modelos psicolégicos), Wiener y sus colegas Arturo Rosenblueth y Julian Bigelow desafiaron la ortodoxia con- ductista (Rosenblueth et al., 1943). Ellos veian el comportamiento determinista como algo emergente de un mecanismo regulador que intenta minimizar el «error» (la dife- rencia entre el estado presente y el estado objetivo). A finales de los afios 40, Wiener junto a Warren McCulloch, Walter Pitts y John von Neumann, organizaron una serie de conferencias en las que se exploraban los nuevos modelos cognitivos matematicas y com- putacionales, ¢ influyeron en muchos otros investigadores en el campo de las ciencias del comportamiento. El libro de Wiener, Cybernetics (1948), fue un bestseller y desve 16 al pablico tas posibilidades de las méquinas con inteligencia artificial La teoria de control moderna, especialmente la rama conocida como control éptimo estocistico, tiene como objetivo el disefo de sistemas que maximizan una funeién ob- Jetivo en el tiempo. Lo cual se asemeja ligeramente a nuestra visién de lo que es Ia TA diseio de sistemas que se comportan de forma dptima, ;Por qué, entonces, IA y teorfa de control son dos campos diferentes, especialmente teniendo en cuenta la cercana re- lacidn entre sus creadores? La respuesta estd en el gran acoplamiento existente entre las técnicas matemiticas con las que estaban familiarizados los investigadores y entre los conjuntos de problemas que se abordaban desde cada uno de los puntos de vista, El calculo y el algebra matricial, herramientas de la teorfa de control, se utilizaron en la definiciGn de sistemas que se podian describir mediante conjuntos fijos de variables continuas; mas atin, el andlisis exacto es s6lo posible en sistemas lineales. La IA se fun d6 en parte para escapar de las limitaciones matemiticas de la teoria de control en los. afios 50. Las herramientas de inferencia Iégica y computacidn permitieron a los inves tigadores de IA afrontar problemas relacionados con el lenguaje, vi que estaban completamente fuera del punto de mira de la teor (in y planificacion, control. fade Lingiiistica (desde el afio 1957 hasta el presente) + {Como esta relacionado el Lenguaje con el pensamiento? En 1957, B. F. Skinner publics Verbal Behavior, La obra presentaba una visi6n exten- say detallada desde el enfoque conductista al aprendizaje del lenguaje, y estaba escrita por los expertos mis destacados de este campo. Curiosamente, una revision de este bro Hleg6 a ser tan famosa como la obra misma, y provocé el casi total desinterés por el conductismo. El autor de la revisién fue Noam Chomsky, quien acababa de publicar un libro sobre su propia teorfa, Syntactic Structures. Chomsky mostré cémo la teorfa con- ductista no abordaba el tema de la creatividad en el lenguaje: no explicaba cmo es posible que un nifio sea capaz de entender y construir oraciones que nunca antes ha escuchado, La teorfa de Chomsky (basada en modelos sintécticos que se remontaban al lingiiista indio Panini, aproximadamente 350 a.C.) si podia explicar lo anterior y, a diferenc! de teorias anteriores, posefa cl formalismo suficiente como para permitir su progra macién INTRODUCCION 19 La lingiifstica moderna y la [A enacieron», al mismo tiempo y maduraron juntas, so- ee lapandose en un campo hibrido llamado lingiifstiea computacional o procesamiento del lenguaje natural. El problema del entenlimiento del [enguaje se mostr6 pronto mu cho mas complejo de lo que se habia pensado en 1957. El entendimiento del lenguaje requiere la compransidn de la materia bajo estudio y de su contexto, y no solamente el entendimiento de fa estructura de las sentencias. Lo cual puede parecer obvio, pero no lo fue para la mayorfa de la comunidad investigadora hasta los afios 60. Gran parte de los primeros trabajos de investigaciOn en el drea de la representacién del conocimien- to (cl estudio de cémo representar el conocimiento de forma que el computador pueda razonar a partir de dicha representacién) estaban vinculados al lenguaje y a la bisque- da de informacidn en el campo del Jenguaje, y su base eran las investigaciones realiza- das durante décadas en cl anilisis filos6fico del lenguaje. 1.3. Historia de la inteligencia artificial Una vez revisado el material basico de la IA propiamente dicha, ya en condiciones de cubrir el desarrollo Génesis de la inteligencia artificial (1943-1955) Warren McCulloch y Walter Pitts (1943) han sido reconocidos como los autores del pri- mer trabajo de IA. Partieron de tres fuentes: conocimientos sobre la fisiologfa basica y funcionamiento de las neuronas en el cerebro, el andlisis formal de la légica proposi- onal de Russell y Whitehead y la teorfa de la computacidn de Turing, Propusieron un, modelo constituido por neuronas artificiales, en el que cada una de ellas se caracteriza- ba por estar «activada» 0 «desactivaday; la «activacién» se daba como respuesta a ka es- timulaci6n producida por una cantidad suficiente de neuronas vecinas. El estado de una neurona se veia como «equivalente, de hecho, a una proposicisn con unosestimulos ade~ cuados», Mostraron, por ejemplo, que cualquier funcién de cémputo podria calcularse media inte alguna red de neuronas in conectadas, y que todos los conectores ldgicos (and, or, not, etc.) se podrfan implementar utilizando estructuras de red sencillas. McCulloch y Pitts también sugirieron que redes adecuadamente definidas podrian aprender. Donald Hebb (1949) propuso y demostrs una sencilla regia de actualizacién para modificar las intensidades de las conexiones entre neuronas. Su regla, ahora llamada de aprendiza- je Hebbiano o de Hebb, sigue vigente en la actualidad. Dos estudiantes graduados en el Departamento de Matematicas de Princeton, Mar- vin Minsky y Dean Edmonds, construyeron el primer computador a partir de una red neu- ronal en 1951, El NaC, como se Hamé, utilizaba 3.000 vilvulas de vacfo y un meca- nismo de piloto automatico obtenido de los desechos de un avidn bombardero B-24 para simular una red con 40 neuronas. El comité encargado de evaluar el doctorado de Minsky veia con escepticismo el que este tipo de trabajo pudiera considerarse como matemiti- co, pero se dice que von Newmann dijo, «Si no lo es actualme fe, alin dia lo sera 20 INTPLIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO Minsky posteriormente probs teoremas influyentes que mostraron las limitaciones de la investigacién con redes neuronales. Hay un mimero de trabajos iniciales que se pueden caracterizar como de IA, pero fue Alan Turing quien articulé primero una vision de la LA en su articulo Computing Machinery and Intelligence. en 1950. Abi, introdujo la prueba de Turing je automatico, los algoritmos genéricos y el aprendizaje por refuerzo, el aprendiza. Nacimiento de la inteligencia artificial (1956) Princeton acogié a otras de la figuras seferas de la LA, John MeCarthy. Posteriormente asu graduacién, McCarthy se transladé al Dartmouth College, que se crigirfa en el lugar del nacimiento oficial de este campo, MeCarthy convencid Minsky, Claude Shannon y Nathaniel Rochester para que le ayudaran a aumentar adores americanos en la teoria de autématas, las redes neuronales y el estudio de la inteligen- cia, Organizaron un taller con una duracién de dos meses en Darmouth en el verano de 1956. Hubo diez asistentes en total, entre los que se intclufan Trenchard More de Prin- ceton, Arthur Samuel de IBM, y Ray Solomonoff y Oliver Selfridge del MIT. Dos investigadores det Carnegie Tech'’, Allen Newell y Herbert Simon, acapararon a atencién. Si bien los demas también tenfan algunas ideas y, en algunos casos, pro gramas para aplicaciones determinadas como el juego de damas, Newell y Simon con- aban ya con un programa de razonamiento, el Tedrico Légico (TL), del que Simon afirmaba: «Hemos inventado un programa de computacidn capa de pensar de manera no numérica, con fo que ha quedado resuelto el venerable problema de ba dualidad mente-cuerpo»"'. Poco después del término del taller, el programa ya era capaz de de- mostrar gran parte de Jos teoremas del Capitulo 2 de Principia Matematica de Russell y Whitehead, Se dice que Russell se manifest6 complacido cuando Simon le mostrs que la demostraci6n de un teorema que el programa habia generado era mas corta que la que aparecfa en Principia. Los editores de la revista Journal of Symbolic Logic resuharon menos impresionados y rechazaron un atticulo cuyos autores eran Newell, Simon y el Tedrico Logieo (TL) El aller de Dartmouth no produjo ningtin avance notable, pero puso Jas figuras importantes de este campo. Durante los siguie dlominado por estos personajes, cl interés de los investi n contacto a 20 aiios, el campo estuvo { como por sus estudiantes y colegas del MIT, CMU, Stanford ¢ IBM. Quiz lo tltimo que surgié de! taller tue el consenso en adoptar el nue- Yo nombre propuesto por McCarthy para este campo: Inteligencia Artificial. Quiz «ra cionalidad computacional» hubiese sido mas adecuado, pero «A» se ha mantenido, Revisando la propuesta del taller de Dartmouth (MeCarthy et al., 1955), se puede apreciar por qué fue necesario para la 1A convertirse en un campo separado. ;Por qué Acinafitente Universidad Carnegie Mellon (CMD. Newell y Simon tumbich desirrollaron un lenguaje de procesamiente de lists, IPL. para poster eseribi el TL. No disponian dle un compiler y to radujeron a cékige nxiquin st mano. Para evi eres, trabaj som en paralclo,diciendo en v7 alr niet binarius, conforme esctibian cada imstrucc ion pare ase sistema oe Stabovos visions INTRODUCCION 21 no todo el trabajo hecho en el campo de Ja 1A se ha realizado bajo el nombre de teort de control, o investigaci6n operativa, o teorfa de ka decisién, que, después de todo, per- siguen objetivos similares a los de la 1A? O, ;por qué no es la TA una rama de Jas ma temdticas? La primera respuesta es que la LA desde el primer momento abareé ta idea de duplicar facultades humanas como la creatividad, la auto-mejora y el uso de! lenguaje Ninguno de los otros campos tenfan en cuenta esos temas. La segunda respuesta esta re lacionada con la metodologia. La TA es el inico de estos campos que es claramente una rama de la informatica (aunque la investigacién operativa comparte el énfasis en fa si- mulacién por computador), ademas la IA es el nico campo que persigue la construc cién de miquinas que funcionen automiticamente en medios complejos y cambiantes, Entusiasmo inicial, grandes esperanzas (1952-1969) Los primeros aftos de la TA estuvieron Henos de éxitos (aunque con ciertas limitaciones) Teniendo en cuenta lo primitivo de los computadores y as herramientas de programa- cién de aquella época, y el hecho de que s6lo unos pocos atios antes, a los computado- res se les consideraba como artefactos que podian realizar trabajos aritméticos y nada mas, resulté sorprendente que un computador hiciese algo remotamente inteligente. La comunidad cientifica, en su mayoria, prefitié creer que «una méquina nunca podria ha- cer tareas» (véase el Capitulo 26 donde aparece una extensa lista de fareas recopitada uring). Naturalmente, los investigadores de IA responderfan demostrando lat reali- jon de una tarea tras otra, John McCarthy se tefiere a esta época como la era de «| Mira mamd, ahora sin manos!» ya Al temprano éxito de Newell y Simon siguié el del sistema de resolucién general de problemas. 0 SRGP. A diferencia de! Tedrico Logico, desde un principio este pro- grama se diseid para que imitara protocolos de resolucién de problemas de los seres humanos. Dentro de! limitado nimero de puzles que podia manejar, result6 que Ta se cuencia en la que el programa consideraba que los subobjetivos y las posibles acciones eran semejantes a lt manera en que los seres humanos abordaban los mismos proble- mas. Es decir. el SRGP posiblemente fue el primer programa que incorpord el enfoque de «pensar como un ser humano». El éxito del SRGP y de los programas que le siguieron, como los modelos de cognicién, Hevaron a Newell y Simon (1976) a formular la famosa hipotesis del sistema de simbolos fisicos, que afirma que «un sistema de simbolos ff sicos tiene los medios suficientes y necesarios para generar una accién inteligente». Lo que ellos querfan decir es que cualquier sistema (human o maquina) que exhibiese in- teligencia deberia operar manipulando estructuras de datos compuestas por simbolos: Posteriormente se vera que esta hipétesis se ha modificado atendiendo a distintos pun- tos de vista En IBM, Nathaniel Rochester y sus colegas desarrotlaron algunos de los primeros programas de LA. Herbert Gelernter (1959) construyé el demostrador de teoremas de ge~ ometrfa (DTG). el cual era eapaz de probar teoremas que muchos estudiantes de n atieas podian encontrar muy complejos de resolver. A comienzos 1952, Arthur Samuel escribi6 una serie de programas para el juego de fas damas que eventualmente apren- dieron a jugar hasta aleanzar un nivel equivalente al de un amateur, De paso, eehé por 22 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO tierra la idea de que los computadores slo pueden hacer lo que se les dice: su progra- ma pronto aprendié a jugar mejor que su creador. El programa se present en la televi- sién en febrero de 1956 y caus6 una gran impresién, Como Turing, Samuel tenfa difi cultades para obtener el tiempo de cémputo. Trabajaba por las noches y utilizaba miquinas que atin estaban en perfodo de prueba en la planta de fabricacién de IBM. E Capitulo 6 trata el tema de los juegos. y en el Capitulo 21 se describe con detalle las téc nicas de aprendizaje utilizadas por Samuel. John McCarthy se traslad6 de Darmouth al MIT, donde realiz6 tres contribuciones cru- ciales en un aio hist6rico: 1958. En el Laboratorio de LA del MIT Memo Ntimero 1 McCarthy definid el lenguaje de alto nivel Lisp, que se convertirfa en el lenguaje de pro- gramaci6n dominante en la 1A. Lisp es el segundo lenguaje de programacién mas antiguo que se utiliza en la actualidad, ya que aparecié un ano después de FORTRAN. Con Lisp. McCarthy tenfa la herramienta que necesitabs, pero el acceso a los escasos y costosos re- cursos de cmputo atin era un problema serio, Para solucionarlo, él, junto a otros miem- bros del MIT, inventaron el tiempo compartido, También, en 1958, MeCarthy publics un articulo titulado Programs with Common Sense, en cel que describya el Generador de Con- sejos, un programa hipotético que podria considerarse como el primer sistema de LA completo, Al igual que el Tedrico Légico y el Demostrador de Teoremas de Geomet McCarthy diseié su programa para buscar la solucidn a problemas utilizando el conoci- miento, Pero, a diferencia de los otros, manejaba el conocimiento general del mundo. Por ejemplo, mosteé cémo algunos axiomas sencillos permitéan a un programa generar un plan para conducirnos hasta el aeropuerto y tomar un avin. El programa se disené para que aceptase nuevos axiomas durante el curso normal de operaciGn, permitiéndole asi ser com- petente en dreas nuevas, sin necesidad de reprogramacion. El Generador de Consejos in- corporaba asi los prineipios centrales de la representacién del conocimiento y el razon: miento: es «til contar con una representacién formal y explicita del mundo y de la forma en que Ia acci6n de un agente afecta al mundo, asf como, ser eapaces de manipular estas representaciones con procesos deductivos. Es sorprendente constatar cémo mucho de lo propuesto en el articulo escrito en 1958 permanece vigente incluso en la actualidad, 1958 fue el aiio en et que Marvin Minsky se traslad6 al MIT, Sin embargo, su cola: boracién inicial no duré demasiado, MeCarthy se centré en la representacién y el raz0- namiento con légica formal, mientras que Minsky estaba més interesado en lograr que los programas funcionaran y eventualmente desarrollé un punto de vista anti-Igico. En 1963, MeCarthy cred el Laboratorio de 1A en Stanford. Su plan para construir la version mas re- ciente del Generador de Consejos con ayuda de la I6gica sufrid un considerable impulso gracias al descubrimiento de J, A. Robinson del método de resolucién (un algoritmo com- pleto para la demostraci6n de teoremas para la l6gica de primer orden; véase el Ca 9), Bl trabajo realizado en Stanford hacia énfasis en los métodos de propésito general para el razonamiento légico. Algunas aplicaciones de la Igica inclufan los sistemas de plani- ficaciGn y respuesta a preguntas de Cordell Green (1969), asf como el proyecto de ro: batica de Shakey en cl nuevo Instituto de Investigacién de Stanford (Stanford Research Institute, SRD. Este Gitimo proyecto, comentado en detalle en el Capitulo 25, fue el p mero que demostr6 la total integraci6n del razonamiento I6gico y Ia actividad fisica Minsky supervis6 el trabajo de una serie de estudiantes que eligieron un ntimero de problemas limitados cuya solucién parecié requerir inteligencia. Estos dominios limi- lo smcroMunoos INTRODUCCION 23 tados se conoven como micromundos. El programa SAINT de James Slagle (19632) fue capaz de resolver problemas de integracién de calculo en forma cerrada, habituales en los primeros cursos de licenciatura. El programa ANALOGY de Tom Evans (1968) resolvia problemas de analogfa geométrica que se aplicaban en las pruebas de medicién de inteligencia, semejante al de la Figura 1.4. El programa STUDENT de Daniel Bo- brow (1967) podia resolver problemas de dlgebra del tipo: Siel ntimero de clientes de Tom es dos veces el cuadrado det 20 por ciento de ta cant: dad de anuncios que realiza, y éstos ascienden a 45, , cuyo resultado fue «el vodka es bueno pero la carne esta podrida» es un buen ejemplo del tipo de dificultades que surgieron En un informe presentado en 1966, el comité consultivo deckard que «no se ha logrado obtener ninguna traduccisn de textos cientificos generales ni se prevé obtener ninguna en un futuro inmediato». Se eancel6 todo el patrocinio del gobierno estadounidense que se habfa asignado a los proyectos académicos sobre traduccién, Hoy dia, la traduccion auitomdtica es una herramienta imperfecta pero de uso extendido en documentos técni se «el espiritu es fu cos, comerciales, gubernamentales y de Internet El segundo problema fue que muchos de los problemas que se estaban intentando resolver mediante Ja LA eran intratables. La mayorfa de los primeros programas de LA resolvian problemas experimentando con diversos pasos hasta que se llegara a encon- traruna solucitin, Esto funcions en los primeros programas debido a que los micromundos con los qu nes posibles y secuencias de soluciones muy cortas. Antes de que se desarrollara la teorfa de la complejidad computacional, se crefa que para «aumentar» el tamaiio de los pro- gramas de forma qui inerementar lt velocidad del hardware y aumentar kas memorias. El optimismo que acom: paiié al logro de la demostracién de problemas. por ejemplo, pronto se vio eelipsado cuan- do los investigadores fracasaron en la demostracisn de teoremas que implicaban mas de unas pocas decenas de condiciones. ET hecho de que, en principio, un programa sea capac; © se trabajaba contenfan muy pocos objetos, y por lo tanto muy pocas avcio. estos pudiesen solucionar grandes problemas seria necesario de encontrar una soluci6n no implica que tal programa encierre todos loy mecanismos necesarios para encongrar la solucién en la practica, La ilusoria nocidn de una ilimitada capacidad de cémputo no sélo existi6 en los pro gramay para la resolucién de problemas. Los primeros experimentos en el campo de la evolucién automiatica (ahora Hlamados algoritmos genéticos) (Friedberg, 1958: Fried- berg cf al., 1959) estaban basados en la, sin duda correcta, premisa de que efeetuando una adecuada serie de pequefiay mutaciones a un programa de cédigo maquina se po- .cherar un programa con buen rendimiento aplicable en cualquier tarea sencilla Después surgié la idea de probar con mutaciones aleatorias aplicando un proceso de se: leccidin con el fin de conservar aquellas mutaciones que hubiesen demostrado ser mas titles, No obstante, las miles de horas de CPU dedicadas, no dieron lugar a ningdin avan- ce tangible, Los algoritmos genéticos actuales utilizan representaciones mejores y han tenido mis éxito. La incapacidad para manejar la «explosicn combinatoria» fue una de las principa- les eriticas que se hicieron a ka 1A en el informe de Lighthill (Lighthill, 1973). informe en el que se bas6 la decisién del gobierno britinico para retirar kt ayuda a ls investig, ciones sobre IA, excepto en dos tniversidades. (La tradicién oral presenta un cuadro an, 26 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, nnéron0s ess poco distinto y mis animado, en el que se vislumbran ambiciones politicas y animad- versiones personales, cuya descripeidn esté fuera del dmbito de esta obra.) El tercer absticulo se derivé de las limitaciones inherentes a las estructuras basicas que se utilizaban en la generacién de la conducta inteligente, Por ejemplo, en 1969, en el libro de Minsky y Papert, Perceptrons, se demostré que si bien era posible lograr que los petceptrones (una red neuronal simple) aprendieran cualquier cosa que pudiesen re presentar, su capacidad de representaci6n era muy limitada, En particular, un perceptrén con dos entradas no se podia entrenar para que aprendiese a reconocer cusindo sus dos entradas eran diferentes. Si bien los resultados que obtuvieron no eran aplicables a re- des més complejas multicapa, los fonds para la investigacién de las redes neuronales se redujeron a précticamente nada. Es irénico que los nuevos algoritmos de aprendiza- je de retroalimentacié utilizados en las redes multicapa y que fueron 1a causa del gran resurgimiento de fa investigaciGn en redes neuronales de finales de los aiios 80, en rea. lidad, se hayan descubierto por primera vez en 1969 (Bryson y Ho, 1969). Sistemas basados en el conocimiento: gclave del poder? (1969-1979) El cuadro que dibujaba la resolucién de problemas durante la primera década de la in- vestigacién en la IA estaba centrado en el desarrollo de mecanismos de biisqueda de pro pésito general, en los que se entrelwzaban elementos de razonamiento basicos para encontrar asi soluciones completas. A estos procedimientos se les ha denominado métodos dél les, debido a que no tratan problemas mas amplios o més complejos. La alternativa a los métodos débiles es el uso de conocimiento especifico del dominio que facilita el desarro- Ho de etapas de razonamiento mas largas, pudiéndose asf resolver casos recurrentes en do- minios de conocimiento restringido, Podrfa afirmarse que para resolver un problema en a prdctica, es necesario saber de antemano la correspondiente respuesta. El programa DENDRAL (Buchanan ¢7 al., 1969) constituye uno de los primeros ejem- plos de este enfoque. Fue disefiado en Stanford, donde Ed Feigenbaum (discfpulo de Her bert Simon), Bruce Buchanan (filésofo convertido en informético) y Joshua Lederberg (genetista ganador del Premio Nobel) colaboraron en fa solucién del problema de infe rir una estructura molecular partir de la informaciGn proporeionada por un espectr- metro de masas. El programa se alimentaba con Ja firmula clemental de la molécula (por ejemplo, C,H, NO.) y el espectro de masas, proporcionando las masas de los dis lintos fragmentos de la molécula generada después de ser bombardeada con un haz de clectrones. Por ejemplo, un espectro de masas con un pico en m = 15, corresponderfa a Ja masa de un fragmento de metilo (CH). La version mas simple del programa generaba todas las posibles estructuras que co rrespondieran a la formula, luego predecfa el espectro de masas que se observari caso, en cada y comparaba éstos con el especiro real. Como era de esperar, el método anterior result6 pronto inviable para el caso de moléculas con un tamafio considerable. Los creadores de DENDRAL consultaron con quimicos analiticos y se dieron cuenta de que éstos trabajaban buscando patrones conocidos de picos en cl espectro que sugerian estructuras comunes en la molécuta, Por ejemplo, par identificar el subgrupo (con un peso de 28) de las cetonas (C=0) se emples la siguiente rest STEMS EXPERTOS INTRODUCCION 27 si hay dos picos en x, y x, tales que a) x, + 4 = M + 28 (siendo M la masa de toda la moléculay b) x, ~ 28 es.un pico alto; ©) x, ~ 28 es.un pico alto, d) al menos una de x, yx, es alta, entonees existe un subgrupo de jonas, Alreconocer que la molécula contiene una subestructura concreta se reduce el niimero de posibles candidatos de forma considerable, La potencia de DENDRAL se basaba en que: ‘Toda la informacién te6rica necesaria para resolver estos problemas se ha proyectado de su forma general {componente predicho por el espectro] («primeros principios») a for- mas eficientes especiales («recetas de cocina»). (Feigenbaum et al.. 1971) La trascendencia de DENDRAL se debi6 a ser el primer sistema de conocimiento in- fenso que tuvo éxito: su base de conocimiento estaba formada por grandes cantidades de reglas de propdsito particular. En sistemas diseflados posteriormente se incorporaron también Ios elementos fundamentales de la propuesta de McCarthy para el Generator de Consejos, la nftida separaciGn del conocimiento (en forma de reglas) de la parte co- rrespondiente al razonamiento. Teniendo en cuenta esta leccisn, Feigenbaum junto con otros investigadores de Stanford dieron comienzo al Proyecto de Programacién Heutistica, PPH, dedicado a determinar el grado con ef que [1 nueva metodologia de los sistemas expertos podia aplicarse a otras eas de la actividad humana, fe gran esfuerzo se realiz6 en el drea del diagnds- tico médico, Feigenbaum, Buchanan y el doctor Edward Shorlliffe disefiaron el progra maMYCIN, parael diagndstico de infecciones sangufneas. Con 450 reglas aproximadamente, MYCIN era capaz de hacer diagndsticos tan buenios como los de un experto y, desde tego, ‘mejores que los de un médico recién graduado, Se distingufa de DENDRAL en dos aspe tos principalmente. En primer lugar, a diferencia de las reglas de DENDRAL, no se contaba con un modelo te6rico desde el cual se pudiesen deducir las reglas de MYCIN, Pue nece rio obtenerlas a partir de extensas entrevistas con los expertos. quienes las habfan obtenido de libros de texto, de otros expertos o de su experiencia directa en casos précticos, En segundo, lugar, las reglas deberfan reflejar la incertidumbre inherente al conocimiento médico. MYCIN contaba con un elemento que facilitaba el caculo de incertidumbre denominado factores de certeza (véase el Capitulo 13), que al parecer (en aquella época) correspondfa muy bien a la manera como los médicos ponderaban las evidencias al hacer un diagndstico. La importancia del conocimiento del dominio se demostré también en el drea de ka comprensién del lenguaje natural. Aunque el sistema SHRDLU de Winograd pata la com- prensién del lenguaje natural habfa suseitado mucho entusiasmo, su dependencia del and- lisis sintéctico provocs algunos de los mismos problemas que habfan aparecido en los trabajos realizados en la traduceién automatica. Era eapaz de ambigiedad e identificar los pronombres utilizados, gracias a que se habia disefiado es pecialmente para un area (el mundo de Tos bloques). Fueron varios los investigadores que, como Eugene Charniak, estudiante de Winograd en el MIT, opinaron que para una solida comprensién del lengdaje era necesario contar con un conocimiento general so- bre el mundo y un método general para usar ese conocimiento. igui esolver los problemas de 28 nanos INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO in Yale, el I al afirmar: « gilista transformado en informético Roger Schank refor76 lo anterior {0 existe eso que Haman sintaxis», lo que irrité a muchos lingiiistas, pero sirvi6 para iniciar un Util debate. Schank y sus estudiantes disearon una serie de pro- ‘gramas (Schank y Abelson, 1977; Wilensky, 1978; Schank y Riesbeck, 1981; Dyer, 1983) cuyo objetivo era fa comprensién del lenguaje natural, El foco de aten taba menos en el lenguaje per se y mis en los problemas vinculados a fa representacién y razona- miento del conocimiento necesario para ka comprensi6n del Lenguaje. Entre los problemas estaba el de la representacidn de situaciones estereotipo (Cullingford, 1981), la des cripci6n de la organizaci6n de la memoria humana (Rieger, 1976; Kolodner, 1983) y ta comprensién de planes y objetivos (Wilensky, 1983) El crecimiento generalizado de aplicaciones para solucionar problemas del mundo real provocs el respectivo aumento en Ja demanda de esquemas de representacién del conocimiento que funcionaran. Se desarroll6 una considerable cantidad de lenguajes de representacin y razonamiento diferentes. Algunos basados en ka ldgica, por ejemplo el lenguaje Prolog goz6 de mucha aceptacién en Europa, aceptacién que en Estados Uni- dos fue para la familia del PLANNER. Otros, siguiendo la nocién de marcos de Minsky (1975), se decidieron por un enfoque mas estructurado, al recopilar informacién sobre objetos concretos y tipos de eventos, organizando estos tipos en grandes jerarquias ta- xondmicas. similares at las biol6gicas. La IA se convierte en una industria (desde 1980 hasta el presente) El primer sistema experto comercial que tuvo éxito, R I, inicié st actividad en Digital Equip- ment Corporation (McDermott, 1982). EI programa se utilizaba en la elaboracién de pedi- dos de nuevos sistemas informaticos, En 1986 representaba para ka compaitia un ahorro es timado de 40 millones de dslares al aio. En 1988, el grupo de Inteligencia Artificial de DEC habja distribuido ya 40 sistemas expertos, y habfa mas en camino, Du Pont utilizaba ya 100 yestaban en etapa de desarrollo 500 mas, lo que le generaba ahorro de diez millones de d6: lares anuales aproximadamente, Casi todas las compaiifas importantes de Estados Unidos contaban con su propio grupo de 1A, en el que se utilizaban o investigaban sistemas expertos. En 1981 los japoneses anunciaron el proyecto «Quinta Generacién», un plan de diez aflos para consttuir computadores inteligentes en los que pudiese ejecutarse Prolog. Como respuesta Estados Unidos constituyé la Microelectronics and Computer Technology Corporation (MCC), consorcio eneargado de mantener la competitividad nacional en es- tas dreas. En ambos casos, la LA formaba parte de un gran proyecto que inclufa el dise- fio de chips y la investigaciGn de la relacién hombre maquina. Sin embargo, los com ponentes de IA generados en el marco de MCC y del proyecto Quinta Generacién nunca alcanzaron sus objetivos. En el Reino Unido, el informe Alvey restaurs el patrocinio sus- pendido por el informe Lighthill!® so Sistemats Inteligentes Buassddos en Coie wniento (IKBS. fitetligent Knunvledge-Bused Systems) ya que la Inteligencin Aniticil habia sk oficiatmnente csneelada conexonistas| INTRODUCCION 29 En su conjunto, la industria de la 1A crecié rapidamente, pasando de unos pocos mi- Hones de dotares en 1980 a billones de délares en 1988. Poco después de este perfodo. eg la época Hamada «El Invierno de ka LA», que afecté a muchas empresas que no fue ron capaces de desarrollar los extravagantes productos prometidos. Regreso de las redes neuronales (desde 1986 hasta el presente) Aunque ka informatica habfa abandonado de manera general el campo de las redes neuro- nales a finales de los afios 70, ef trabajo continud en otros campos. Hopfield (1982) utilizaron técnicas de la mecinica estadistica para analizar las propieda- des de almacenamiento y optimizacién de las redes, tratando colecciones de nodos como. colecciones de dtomos, Psicélogos como David Rumelhart y Geoff Hinton continuaron con, el estudio de modelos de memoria basados en redes neuronales. Como se verd en el Ca- pitulo 20, el impulso mas fuerte se produjo a mediados de ta década de los 80, euando por Jo menos cuatro grupos distintos reinventaron el algoritmo de aprendizaje de retroali- mentacién, mencionado por vez primera en 1969 por Bryson y Ho. El algoritmo se apli- 66 a diversos problemas de aprendizaje en los campos de la informética y la psicologta, y la gran difusin que conocieron los resultados obtenidos. publicados en la coleccién Pa- rallel Distributed Processing (Rumelhart y McClelland, 1986). suscité gran entusiasmo, Aquellos modelos de inteligencia artificial lamados conexionistas" fueron vistos por algunos como competidores tanto de los modelos simbélicos propuestos por Newell y Simon como de la aproximacidn légica de McCarthy entre otros (Smolensky, 1988). Pue- de parecer obvio que los humanos manipulan simbolos hasta cierto nivel, de hecho, el li- bro The Symbolic Species (1997) de Terrence Deacon sugiere que esta es la caracteristi- ca que define 3 los humanos, pero los conexionistas més ardientes se preguntan si la manipulacién de los simbolos desempeiia algtin papel justificable en determinados modelos, de cognicién. Este interrogante no ha sido atin clarificado, pero la tendencia actual es que Jas uproximaciones conexionistas y simb6licas son complementatias y no competidoras cos como John IA se convierte en una ciencia (desde 1987 hasta el presente) En Jos tltimos afios se ha producido una revolucidn tanto en el contenido como en lat metodologia de trabajo en el campo de la inteligencia artificial.”” Actualmente es mais usual el desarrollo sobre tearfas ya existentes que proponer teorias totalmente novedo- Se usa he taduccivin Hiteral del trmino connections por no existir un téemino equivalene en espaol (N. del RD). Hay quien ha caracteriz twos de TA debe fs do este cambio como la vietoria de los puleros (aquellos que consideran que las ase rigurossunente en las matemiticas)sobse los desaliados (aquellos que despucs tte intentar muchas ideas, eseriben alunos progrannts ¥ despues evabdan kas que aparentemente Funcions) Amuos enfextes son titles, Fst tendencia favor de uni mayor puleritud es sem de que el eampe ha 149 cial no implies que tal estabilidad se puede ver aera poco estructurada 30° INTELIGENCLA ARTIFICIAL. UN ENFOQUE MODERNO nena oF omT0S sas, tomar como base rigurosos teoremas o sdlidas evidencias experimentales mas que intuicién, y demostrar la utilidad de las aplicaciones en el mundo real mas que crear ejem- plos de juguete. La TA se funds en parte en e! marco de una rebelién en contra de las limitaciones de los campos existentes como la teorfa de control o la estadistica, y ahora abarca estos pos. Tal y como indica David McAllester (1998), En los primeros aft de la LA parecfa perfectamente posible que las nuevas formas de la ‘computacién simbélica, por ejemplo, los marcos y las redes semiinticas, hicieran que ‘mayor parte de la teoria clasica pasara a ser obsoleta, Esto Hlev6 a la IA a una especie de aislamiento, que la separd del resto de las ciencias de la computacién. En la actualidad se estd abandonando este aiskamiento, Existe la creencia de que el aprendizaje automé- tico no se debe separar de la teorfa de la informacién, que el razonamiento incierto no se debe separar de los modelos estocdsticos, de que la biisqueda no se debe aislar de la op- timizacién clisica y el control, y de que et razonamiento automiitico no se debe se} de los métodos formales y del andlisis estitico. En términos metodoligicos, se puede decir, con rotundidad, que la TA ya forma parte del mbito de los métodos cientificos. Para que se acepten, las hipétesis se deben someter a tigurosos experimentos empiticos, y los resultados deben analizarse estadisticamente para identificar su relevancia (Cohen, 1995). El uso de Internet y el compartir reposito- tios de datos de prucba y eddigo, ha hecho posible que ahora se puedan contrastar ex- perimentos, Un buen modelo de ta tendenci impo del reconocimiento del habla, En la década de Jos 70 se sometié a prueba una gran variedad de arquitecturas y enfo- ques. Muchos de ellos fueron un tanto ad hoc y resultaban frigiles, y fueron probados slo en unos pocos ejemplos elegidos especialmente. En aftos recientes, las aproxima- ciones basadas en los modelos de Markov ocultos, MMO, han pasado a dominar el drea Dos son las caracterfsticas de los MMO que tienen relevancia, Primero, se basan en una rigurosa teorfa matemética, lo cual ha permitido a los investigadores del lenguaje basarse en los resultados de investigaciones matemticas hechas en oiros campos a lo largo de varias décadas. En segundo lugar, los modelos se han generado mediante un proceso de aprendizaje en grandes corpus de datos de lenguaje reales. Lo cual garantiza una funcionalidad robusta, y en sucesivas pruebas ciegas, los MMO han mejorado sus resultados a un ritmo constante. La tecnologia del habla y el campo rekacionado del reconocimiento de caracteres manuscritos estin actualmente en transicién hac generalizada utilizacién en aplicaciones industriales y de consumo, Las redes neuronales también siguen esta tendencia. La mayor parte del trabajo realizado con redes neuronales en fa década de los 80 se realiz6 con la idea de dejar a un Tado lo que se podfa hacer y de descubrir en qué se difereneiaban las redes neurona les de otras tGenicas «tradicionales». La utilizacién de metodologfas mejor actual es el ¢: a una idas y mar- cos teGricos, ha autorizado que este campo aleance un grado de conocimiento que ha per- mitido que ahora las redes neuronales se puedan comparar con otras téenicas similares de campos como la estadistica, el reconocimiento de patrones y el aprendizaje automa tico, de forma que las téenicas mas prometedoras pueden aplicarse a cualquier proble ma. Ce de datos no resultado de estos desarrollos, fa tecnologia denominada mine ha generado una nueva y vigorosa industria. INTRODUCCION 31 La aparicién de Probabilistic Reasoning in Intelligent Systems de Judea Pearl (1988) hizo que se aceptara de nuevo la probabilidad y la teoria de la decisién como parte de la TA, como consecuencia del resurgimiento del interés despertado y gracias especial- mente al articulo In Defense of Probability de Peter Cheeseman (1985). El formalismo de las redes de Bayes aparecié para facilitar la representacidn eficiente y el razonamiento riguroso en situaciones en las que se disponfa de conocimiento incierto, Este enfoque supera con creces muchos de los problemas de los sistemas de razonamiento probabi- listico de las décadas de los 60 y 70; y ahora domina la investi; zonamiento incierto y los sistemas expertos. Esta aproximacién facilita el aprendizaje a partir de la experiencia, y combina lo mejor de la LA ckisica y las redes neuronales. El trabajo de Judea Pearl (1982a) y de Eric Horvitz y David Heckerman (Horvitz y Hee- kerman, 1986; Horvitz et al., 1986) sirvid para promover la nocidn de sistemas exper- tos normativos: es decir, tos que actéian racionalmente de acuerdo con las leyes de ta te- oria de la decisidn, sin que intenten imitar las etapas de razonamiento de los expertos humanos. El sistema operativo Windows™ incluye varios sistemas expertos de diag- ndstico normativos para la correccién de problemas. En los Capitulos 13 y 16 se abor- da este tema. Revoluciones similares y suaves se han dado en robstica, visién por computador, y aprendizaje automético. La comprensiGn mejor de los problemas y de su complejidad, junto a un incremento en la sofisticacién de las matemiticas ha facilitado el desarrollo de una agenda de investigacién y de métodos mas robustos. En cualquier caso, la for- malizacion y especializacién ha llevado también a la fragmentaci6n: areas como la vi- sin y la robotica estn cada ver. mas aislados de la «rama centrab> de la IA. La concepeién unificadora de IA como diseito de agentes racionales puede facilitar la unificacin de estos campos diferentes. gaciéin de la LA en el ra- Emergencia de los sistemas inteligentes (desde 1995 hasta el presente) Quizas animados por el progreso en la resolucién de subproblemas de IA, los investi- gadores han comenzado a trabajar de nuevo en el problema del «agente total». El tra- bajo de Allen Newell, John Laird, y Paul Rosenbloom en Soak (Newell, 1990; Laird et al., 1987) es el ejemplo mejor conocido de una arquitectura de agente completa, El amado «movimiento situado> intenta entender la forma de actuar de los agentes in- _mersos en entornos reales, que disponen de sensores de entradas continuas. Uno de los medios ms importantes para los agentes inteligentes es Internet. Los sistemas de IA han Hegado a ser tan comunes en aplicaciones desarrolladas para la Web que el sufijo «bob» se ha introducido en el lenguaje comin. Mas atin, tecnologfas de IA son la base de mu- chas hetramientas para Internet, como por ejemplo motores de biisqueda, sistemas de recomendacidn, y los sistemas para la construccidn de portales Web. Ademids de la primera edicién de este libro de texto (Russell y Norvig, 1995), otros libros de texto han adoptado recientemente la perspectiva de agentes (Poole et al.. 1998: Nilsson, 1998), Una de las conclusiones que se han extraido al tratar de construir agen. {es completos ha sido que se deberfan reorganizar los subcampos aistados de la 1A. para 32 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO que sus resultados se puedan interrelacionatr. En particular, ahor que los sistemas sensoriales (visiGn, snar, reconocimiento del habla, etc.) no pueden ge- nerar informaci6n totalmente fidedigna del medio en el que habitan, Otra segunda con- secuencia importante, desde la perspectiva del agente, es que la IA se ha ido acercando otros campos, como la teoria de control y la economia, que también tratan con agentes, se ere mayoritariamente 1.4 El estado del arte {Qué es capaz de hacer la LA hoy en dia? Responder de manera concisa es difieil por que hay muchas actividades divididas en muchos subcampos. Aquf se presentan unas cuantas aplicaciones; otras apareceri Planificacién auténoma: a un centenar de millones de millas de la Tierra, el pro- grama de ka NASA Agente Remoto se convirti6 en el primer programa de planificaci6n auténoma a bordo que controlaba la planificacién de las operaciones de una nave espa cial desde abordo (Jonsson ef al., 2000), El Agente Remoto generaba planes a partir de objetivos generales especificados desde tierra, y monitorizaba las operaciones de la nave espacial segtin se ejecutaban los planes (deteccién, diagnéstico y recuperacisn de problemas segiin ocurrian) Juegos: Deep Blue de IBM fue el primer sistema que derroté a un campedn mun- dial en una partida de ajedrez cuando supers a Garry Kasparov por un resultado de 3.5, 2.5 en una partida de exhibicién (Goodman y Keene, 1997). Kasparov dijo que habia percibido un «nuevo tipo de inteligencia» al otro lado del tablero. La revista Newsweek describid la partida como «La partida final». El valor de las acciones de IBM se incre- ment6 en 18 billones de détares. Control auténomo: el sistema de visién por computador ALVIN fue entrenado para dirigir un coche de forma que siguiese una linea. Se instalé en una furgoneta controls da por computador en el NavLan de UCM y se utiliz6 para dirigir al vehyeulo por Es- tados Unidos, Durante 2.850 millas controlé la direccién del vehiculo en e! 98 por cien to del trayecto, Una persona lo sustituyé en ef dos por ciento restante, principalmente en vias de Salida, E] NavLAB posee videocdmaras que transmiten imagenes de lt carre- tera a ALVIN, que posteriormente calcula la mejor direccidn a seguir, basndose en las experiencias acumuladas en los viajes de entrenamiento. Di los programas de diagndstico médico basados en el andlisis probabilis ta han Hegado a aleanzar niveles similares a los de médicos expertos en algunas reas de la medicina, Heckerman (1991) describe un caso en el que un destacado experto en a patologfa de los nodos linfiticos se mofs del diagnéstico generado por un programa cen un caso especialmente dificil, EI ereador del progt al computador como habia genera importantes en los que habs a lo largo del texto. ma le sugirid que le preguntase ido el diagndstico, La miquina indies los factores mis basado su decision y explic6 la ligers imeraccidn existen te enire varios de los sintomas en este caso, Eventualmente, el experto acepté el diag. ami. Planificacién logi néstico del progr durante la crisis del Golfo Pérsico de 1991, fas fuerzas de Estados Unidos desarrollaron la herramienta Dynanie Analysiv and Replaning Tool INTRODUCCION 33 (DART) (Cross y Walker, 1994), para automatizat la planificacién y organizacion logistics del transporte. Lo que ineluia hasta 50.000 vehiculos, carga y personal a la vez, tenien- do en cuenta puntos de partida, destinos, rutas y la resolucién de conflictos entre otros pardmetros. Las técnieas de planiticaci6n de 1A permitieron que se generara un plan en. cuestidn de horas que podria haber Hlevado semanas con otros métodos, La agencia DAR- PA (Defense Advanced Research Project Agency) atirmé que esta aplicacién por sf sola habia mas que amortizado los 30 aftos de inversién de DARPA en TA. Robética: muchos cirujanos utilizan hoy en dia asistentes robot en operaciones de microcirugia. HipNav (DiGioia ¢f al., 1996) es un sistema que utiliza técnicas de vision por computador para crear un modelo tridimensional de la anatomga interna del pacien- te y después utiliza un control robotizado para guiar el implante de prétesis de cadera. Procesamiento de lenguaje y resolucién de problemas: Proven # (Littman etal 1999) es un programa informatico que resuelve crucigramay mejor que kt mayoria de Jos humanos, utilizando restricciones en programas de relleno de palabras, una gran base de datos de crucigramas, y varias fuentes de informacidn como diccionarios y bases de datos ontine, que incluyen la lista de peliculas y los actores que intervienen en ellas, entre otras cosas. Por ejemplo, determina que la pista «Historia de Niza» se puede resolver “TAGE> ya que su base de datos incluye el par pista/soluci6n «Historia en Fran- ciVETAGE» y porque reconoce que los patrones «Niza X» y «X en Francia» a menu- do tienen [a misma solucién. El prog judad de Francia, pero es capaz de resolver el puzle Estos son algunos de los ejemplos de sistemas de inteligencia artificial que existen hoy en dia. No se trata de magia o ciencia ficcién, son mas bien ciencia, ingenieria y ma teméticas, para los que este libro proporciona una introduccién, con «d rama no sabe que Niza es una 1.5 Resumen En este capitulo se define la IA y se establecen los antecedentes culturales que han ser vido de base. Al unos de los aspectos mas destacables son. + Cada uno tiene una visi6n distinta de lo que ¢s la IA. Es importante responder a as dos pre; std interesado en el razonamiento y el comporta: miento? ;Desea modelar seres humanos o trabajar a partir de un ideal esténdar? + Eneste libro se adopta el criterio de que Ia inteligencia tiene que ver prineipalmente con las acciones racionales. Desde un punto de vista ideal, un agente intel te es aquel que emprende la mejor accidn posible ante una situacién dada, Se estudiard ef problema de la construccién de ay sentido, + Los fildsofos (desde el aio 400 a.C.) facilitaron el poder imaginar la 1A, al con. cebir la idea de que 1a mente es de alguna manera como una maquina que Funcio- naa partir del conocimiento codificado en un lenguaje interno, y al considerar que el pensamiento servéa para seleccionar la accidn a Hevar a cabo. Las matemidticas proporcionaron las herramientas para manipular untas siguientes: ; entes que sean inteligentes en este anto las ase veraciones de certeza ligicas, como las inciertas de tipo probabilista, Asimismo, M INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO prepararon el terreno para un entendimiento de lo que es el célculo y el razona miento con algoritmos. + Los economistas formalizaron el problema de la toma de decisiones para maxi- mizar Jos resultados esperados. + Los psicdlogos adoptaron la idea de que los humanos y los animales podéan con- siderarse maquinas de procesamiento de informacién, Los lingitistas demostraron que el uso del lenguaje se ajusta a ese modelo, + Los informticos proporcionaron los artefactos que hicieron posible la aplicacién de la IA. Los programas de TA tienden a ser extensos y no podrian funcionar sin los grandes avances en velocidad y memoria aportados por la industria informé- ca + La teorfa de control se centra en el diseito de dispositivos que actian de forma 6p- tima con base en la retroalimentacién que reciben del entorno en el que estan inmersos. Inicialmente, las herramientas mateméticas de la teorfa de control eran bastante diferentes a las tenicas que utilizaba la LA, pero ambos estn acercando, + Las historia de la 1A ha pasado por ciclos de éxito, injustificado optimismo y con- secuente desaparicién de entusiasmo y apoyos finaneieros. También ha habido ciclos caracterizados por la introduccién de enfoques nuevos y creatives y de un perfeccionamiento sistemtico de los mejores + LalA ha avanzado mis rpidamente en la década pasada debido al mayor uso del metodo cientifico en la experimentacién y comparaci6n de propuestas. + Los avanees re ento de las bases te6rieas de la in teligencia han ido aparejados con las mejoras realizadas en la optimizacién de los sistemas reales. Los subeampos de la IA se han integrado mas y la TA ha encon- trado elementos comunes con otras disciplinas. ampos se ntes logrados en el entendimn NOTAS BIBLIOGRAFICAS E HISTORICAS. Elestatus metodolégico de la inteligencia artificial se ha investigado en The Sciences of the Anifivial, escrito por Hetb Simon (1981), en el cual se analizan reas de investiga- cidn interesadas en ef desarrollo de artefactos complejos. Explica como la IA se puede ver como ciencia y matemiitica, Cohen (1995) proporciona una visi6n de la metodolo- fa experimental en el marco de la LA. Ford y Hayes (1995) prese de la utilidad de la Prueba de Turing, Artificial Intelligence: The Very Idea, de John Haugeland (1985), muestra una ver- sién amena de los problemas pricticos y filoséficos de la IA. La ciencia cognitiva est bien descrita en varios textos recientes Johnson-Laird, 1988; Stillings et al., 1995; Thagard, 1996) y en la Encyclopedia of the Cognitive Sciences (Wilson y Keil, 1999), Baker (1989) cubre la parte sintéetiea de la linguistica moderna, y Chierchia y MeConnell-Ginet (1990) la semadntica, Jurafsky y Martin (2000) revisan la lingifstica computacional. una revisidn eritica Los primeros trabajos en el campo de la TA se citan en Computers and Thought (1963), de Feigenbaum y Feldman, en Seinantie Information Processing de Minsky, y en la serie Machine Intelligence, editada por Donald Michie, Webber y Nilsson (1981) INTRODCCION 35 y Luger (1995) han recogido una nutrida cantidad de artéculos influyentes. Los prime- ros articulos sobre redes neuronales estén reunidos en Neurocomputing (Anderson y Rosenfeld, 1988). La Encyclopedia of AI (Shapiro, 1992) contiene articulos de investi- zacion sobre pricticamente todos los temas de IA. Estos articulos son muy ttiles para iniciarse en las diversas dreas presentes en la literatura cien El trabajo més reciente se encuentra en las actas de las mayores conferencias de 1A: la International Joint Conference on Al (ICAL), de caracter bianual, la European Con- {ference on AI(BCA\), de carécter bianual, y la National Conference on Al, conocida nor malmente como AAAL por la organizaci6n que la patrocina. Las revistas cientificas que presentan aspectos generales de la LA mas importantes son Artificial Intelligence, Com- putational Intelligence, IEEE Transactions on Pattern Analysis and Machine Intelligence, IEEE Intelligent Systems, y la revista electr6nica Journal of Artificial Intelligence Re- search, Hay también numerosas revistas y conferencias especializadas en areas concre- tas, que se mencionarsin en los capitulos apropiados. La asociaciones profesionales de A mas importantes son la American Association for Artificial Intelligence (AAAD), la ACM Special Interest Group in Artificial Intelligence (SIGART), y la Society for Arti- ficial Intelligence and Simulation of Behaviour (AISB). La revista Al Magazine de AAAL contiene muchos articulos de interés general y manuales, y su pagina Web, aaai.org contiene noticias e informacién de referencia. EJERCICIOS El propésito de los siguientes ejercicios es estimular la discusién, y algunos de ellos se podrian utilizar como proyectos. Alternativamente, se podria hacer un esfuerzo inicial para solucionarlos ahora, de forma que una vez se haya lefdo todo el libro se pueda re- visar estos primeros intentos, LI Defina con sus propias palabras: (a) inteligencia, (b) inteligencia artificial, (c) agente. 1.2 Lea el articulo original de Turing sobre IA (Turing, 1950). En é1 se comentan al: gunas objeciones potenciales a su propuesta y a su prueba de inteligencia. ¢Cudle: estas objeciones tiene todavia validez? ;Son validas sus refutaciones? ;Se le ocurren nue~ 1 teniendo en cuenta los desarrollos realizados desde que se escribi6 el articulo? En el articulo, Turing predijo que para el alto 2000 seria proba- ble que un computador tuviera un 30 por ciento de posibilidades de superar una Prueba de Turing dirigida por un evaluador inexperto con una duracién de cinco minutos. ;Con- sidera razonable lo anterior en el mundo actual? ;Y en los priximos 50 aos? vas objeciones a esta propues 1.3 Todos Jos aitos se otorga el premio Loebner al programa que lo hace mejor en una Prueba de Turing concreta, Investigue y haga un informe sobre el tltimo ganador del pr mio Loebner. ;Qué técnica utiliza? ;Cémo ha hecho que progrese la investigacisn en e campo de la 1A? 1.4 Hay clases de problemas bien conocidos que son intratables para los computadores, yotras clases sobre los cuales un computador no pueda tomar una decision, ;Quiere esto es imposible lograr la JA? decir que 36 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO 1.5 Supdngase que se extiende ANALOGY, el programa de Evans, como para aleanzar una puntuacidn de 200 en una prueba normal de cociente de inteligencia. ;Quiere decir lo anterior que se ha creado un programa més inteligente que un ser humano? Expliquese. 1.6 {Cémo puede la introspeccidn (revisidn de los pensamientos {ntimos) ser inexac- ta? {Se puede estar equivocado sobre lo que se cree? Diseiitase. 1.7 Consulte en [a literatura existente sobre la 1A si alguna de las siguientes tareas se puede efectuar con computadores: a) _Jugar una partida de tenis de mesa (ping-pong) decentemente. 4) Conducir un coche en el centro del Cairo. c) Comprar comestibles para una semana en el mercado. d) Comprar comestibles para una semana en la web, fe) Jugar una partida de bridge decentemente a nivel de competicidn, J) Descubrir y demostrar nuevos teoremas matematicos. 'g)Escribir intencionadamente una historia divertida, h) Ofrecer asesorfa legal competente en un drea determinada. i) Traducir inglés hablado al sueco hablado en tiempo real 4) Realizar una operacién de cirugéa compleja. En el caso de las tareas que no sean factibles de realizar en la actualidad, trate de des- cribir cudles son las dificultades y calcule para cuando se podran superar 1.8 Algunos autores afirman que la percepcién y las habilidades motoras son la parte nds importante de la inteligencia y que las eapacidades de «alto nivel> son mas bien pa- rasitas (simples altadidos a las eapacidades bisicas). Es un hecho que la mayor parte de la evolucin y que ka mayor parte del cerebro se han concentrado en la percepcidn y kas habilidades motoras. en tanto Ta LA ha descubi I6gica resultan mas sencillas, Flo que tareas como juegos e inferencia muchos sentidos, que percibir y aetuar en el mundo sea {Considerarfa usted que ha sido un error la concentracién tradicional de la 1A en las ca pacidades cognitivas de alto nivel? 1.9 ;Por qué Ja evoluci6n tiende a generar sistemas que actian racionalmente? ;Qué objetivos deben intentar aleanzar estos sistemas? 1.10 (Son racionales tas acciones reflejas (como retirar la mano de una estufa calien- te)? {Son inteligentes? 1.11 «En realidad los computadores no son inteligentes, hacen solamente lo que le di: cen los programadores». ¢ s clerta la itima aseveracién, € implica a la primera? 1.12 «din realidad los animales no son inteligentes, hacen solamente lo que le dicen sus genes». ,Es cierta la tltima aseveracién, e implica a la primera? 1.13. «Ein realidad los animales, los humanos y los computadores no pueden ser inte: ligentes, ellos sélo hacen fo que los tomos que los Forman les dictan siguiendo las leyes de la Fisica». ES cierta ka tiltima aseveracisn, e implica # la primera? Agentes inteligentes ———L TEE Donde se discutird la naturaleza de los agentes ideales, sus diversos habitats y tas formas de organizar los tipos de agentes existences. 21 Capitulo 1 identifica el concepto de agente racional como central en la perspectiva de la inteligencia artificial que presenta este libro. Esta nocién se concreta mas a lo Tar go de este capitulo, Se mostrar como el concepto de racionalidad se puede aplicar a una amplia variedad de agentes que operan en cualquier medio imaginable. En el libro, la idea es utilizar este concepto para desarrollar un pequeiio conjunto de principios de di seflo que sirvan para construir agentes ttiles, sistemas que se puedan Tamar razonable- mente inteligentes. Se comienza examinando los agentes, los medios en los que se desenvuelven, y la interacci6n entre éstos. La observacién de que algunos agentes se comportan mejor que otros nos leva naturalmente a la idea de agente racional, aquel que se comporta tan bien como puede. La forma de actuar del agente depende de la naturaleza del medio; algu- nos habitats son mas complejos que otros. Se proporciona una categorizacién cruda del medio y se muestra eémo las propiedades de un habitat influyen en el disefio de a ne tes adecuados para ese entorno, Se presenta un niimero de «esquemas» basicos para el disefio de agentes, a los que se dard cuerpo a lo largo del libro, 2.1 Agentes y su entorno ieovonnmente Un agente es cualquier cosa capaz de percibir su medioambiente con la ayuda de sen- sores y actuar en ese medio utilizando actuadores', La Figura 2.1 ilustra esta idea sim- Se usteste tino para indicar el elemento gue reaceiona sun estimulo realizando una deci (del RD), 38 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, sensor ‘vcuanon encePcion secure ne PencEPTORES Fumotin oes ace Porespeiones a1uatqure OIpay, Acciones Figura 2.1 Los agentes interactdan con el medioambiente mediante sensores y efectores, ple. Un agente humano tiene ojos, ofdos y otros drganos sensoriales ademas de manos, piernas, boca y otras partes del cuerpo para actuar. Un agente robot recibe pulsaciones del teclado, archivos de informacién y paquetes via red a modo de entradas sensoriales y actiia sobre ef medio con mensajes en e! monitor, escribiendo ficheros y enviando pa- quetes por la red. Se trabajard con la hipstesis general de que cada agente puede perci- bir sus propias acciones (pero no siempre sus efectos). El término percepcidn se utiliza en este contexto para indicar que el agente puede recibir entradas en cualquier instante. La secuencia de percepciones de un agente refleja el historial completo de lo que el agente ha recibido. En general, un agente tomard una decision en un momento dado dependiendo de la secuencia completa de per cepciones hasta ese instante. Si se puede especificar qué decisién tomaré un agente para cada una de las posibles secuencias de percepciones, entonces se habrié explicado mas ‘© menos todo lo que se puede decir de un agente, En términos matematicos se puede de- cirque el comportamiento del agente viene dado por la funei6n del agente que proyects una percepcién dada en una accién, La funcién que describe el comportamierito de un agente se puede presentar en for- ma de tabla: en la mayoria de los casos esta tabla seria muy grande (infinita a menos que se limite el tamaiio de la secuencia de percepciones que se quiera considerar), Dado un agente, con el que se quiera experimentar, se puede, en principio, construir esta ta bla teniendo en cuenta todas las secuencias de percepcidn y determinando qué accién lleva a cabo ef agente en respuesta’, La tabla es, por supuesto, una caracterizacién ex ierna del agente. Inicialmente, la funciGn del agente para un agente artificial se imple Sie agente seleeciona la acc de manera aleatoria entonces seria necesario probar cada Secuencia rau hus veces para identifica lt probabifidad de cada accidn, Se puede pensar que aetuar de manera aleatort. cs ridiculo. pero como se vera posteriormente puede ser muy inteligente ‘PROGRAMA DEL oeNTE AGENTES INTELIGENTES 39) mentara mediante el programa del agente. Es importante diferenciar estas dos ideas. .a funcién del agente es una descripeiGn matemtica abstracta; el programa del agente cs una implementacién completa, que se cjecuta sobre la arquitectura del agente. Para ilustrar esta idea se utilizard un ejemplo muy simple, el mundo de la aspirado- ra presentado en la Figura 2.2, Este mundo es tan simple que se puede describir todo lo que en él sucede; es un mundo hecho a medida, para el que se pueden inventar otras va- riaciones. Este mundo en particular tiene solamente dos localizaciones: cuadricula A y B. La aspiradora puede percibir en qué cuadrante se encuentra y si hay suciedad en él Puede elegir si se mueve hacia la izquierda, derecha, aspirar la suciedad 0 no hacer nada. Una funcién muy simple para el agente vendria dada por: si la cuadricula en la que se encuentra esta sucia, entonces aspirar, de otra forma cambiar de cuadricula. Una muestra parcial de la funcidn del agente representada en forma de tabla aparece en Ia Figura 2.3. Un programa de agente simple para esta funcién de agente se mostrar posteriormente en la Figura 2.8. Figura 2.21 mundo de Ia aspiradora con dos localizaciones solamente. [Secuencia de percepeione Acciéin aneale Ot 1A, Limpio} Derecha 1A, Sucio| Aspirar 1B, Limpiol Iequierda 1B, Sucio| Aspinar IA. Limpio},{A, Limpio} Derecha TA, Limpio}, [A, Sucio} Aspirar (4, Limpia},[4, Limpio|, (A, Limo} Derecha 1A, Limpio},[A, Limpio} (A, Sucio] Aspirar | Figura2.3 Tabla parcial de una funcién de agente sencilla para el mundo de la aspiradora que muestra en la Figura 2.2 40 INTELIGENCIA ARTIFICIAL, UN ENEOQt MODERNO Revisando la Figura 2.3, se aprecia que se pueden definir varios agentes para el mundo de la aspiradora simplemente rellenando la columna de la derecha de formas distintas La pregunta obvia, entonces es: ,cudl es la mejor forma de rellenar wna tabla? En otras palabras, (qué hace que un agente sea bueno o malo, inteligente o estipido? Estas pre- ntas se responden en fa siguiente seccién Antes de terminar esta seccién, es necesario remarcar que la noci6n de agente es su- puestamente una herramienta para el anilisis de sistemas, y no una caracterizaciGn ab soluta que divida el mundo entre agentes y no agentes. Se puede ver una calculadora de mano como un agente que elige la acci6n de mostrar «4» en la pantalla, dada la secuencia de percepciones «2 + 2 =», Pero este andlisis diffcilmente puede mejorar nuestro conocimiento acerca de las calculadoras. 2.2 Buen comportamiento: el concepto de racionalidad ee Racionst eooas o€ ewoimenro Un agente racional es aque! que hace lo correcto; en términos conceptuales, cada elemento de la tabla que define la funcién del agente se tendrfa que rellenar correctamente. Obvia- mente, hacer lo correcto es mejor que hacer algo incorrecto. pero qué significa hacer lo correcto? Como primera aproximacién, se puede decir que lo correct es aquello que per mite al agente obtener un resultado mejor. Por tanto, se nevesita determinar una forma de medir el éxito, Ello, junto a la descripeién del entorno y de los sensores y actuatdores del agente, proporcionard una especificacién completa de la tarea que desempefia el agente Dicho esto, ahora es posible definir de forma mais precisa qué significa la racionalidad, Medidas de rendimiento Las medidas de rendimiento incluyen los criterios que determinan el éxito en el com- portamiento del agente, Cuando se sitda un agente en un medio, éste genera una secuencia de acciones de acuerdo con las percepciones que recibe. Esta se de acciones hace que su habitat pase por una secuencia de estados. Si la secuencia es la deseada, enton ces el agente habrif actuado correctamente. Obviamente, no hay una Gniea medic adecuada para todos los agentes, Se puede preguntar al agente por su opinidn subjetiva acerca de su propia actuacién, pero muchos agentes serfan incapaces de contestar, y otto» podrian engaitarse a si mismos’, Por tanto hay que insistir en la importancia de utilizar medidas de rendimiento objetivas, que normalmente determinaré el disefiador encargt do de la construccisn del agente. Si retomamos el ejemplo de la aspiradora de la seceitn anterior, se puede proponer utilizar como medida de rendimiento la cantidad de suciedad limpiada en un perfodo de ne Tos agent hhumanos son conocidos en particule por su savidez, hacen ereer que no quieren alge des pués de no baberlo podido conseguir, par ejemplo, «Ah bueno, de todas form no queria ee estapie Pie ini Nobel tsciou oe GENTE RACIONAL AGENTES INTELIGENTES 4 ocho horas. Con agentes racionales, por supuesto, se obtiene lo que se demanda, Un ager te racional puede maximizar su medida de rendimiento limpiando la suciedad, tirando Ja basura al suelo, limpisindola de nuevo, y asf sucesivamente, Una medida de rendimiento mis adecuada recompensaria al agente por tener el suelo limpio. Por ejemplo, podria ga- har un punto por cada cuadricula limpia en cada periodo de tiempo (quizas habria que incluir algtin tipo de penalizacién por la electricidad gastada y el ruido generado). Como regla general, es mejor disenar medidas de wilidad de acuerdo con lo que se quiere para el entorno, mis que de acuerdo con cémo se erce que el agente debe comportarse il. Por ejemplo, Ja no- cidn de «suelo limpio» del parrafo anterior est basada en un nivel de limpieza medio a Jo largo del tiempo. Ademas, este nivel medio de limpieza se puede alcancar de dos for- mas diferentes, llevando a cabo una limpieza mediocre pero continua o limpiando en pro- fundidad. pero realizando largos descansos, La forma més adecuada de hacerlo puede venir dada por la opinién de un encargado de la limpieza profesional, pero en realidad s una cuestidn filoséfica profunda con fuertes implicaciones. ,Qué es mejor, una vida temeraria con altos y bajos, 0 una existencia segura pero aburrida? {Qué es mejor, una economia en la que todo el mundo vive en un estado de moderada pobreza o una en Ta que algunos viven en la abundancia y otros son muy pobres? Estas cuestiones se dejan como ejercicio para los lectores diligentes. La seleccién de la medida de rendimiento no es siempre f Racionalidad La racionalidad en un momento determinado depende de cuatro factores: + La medida de rendimiento que define el criterio de 21 conocimiento del medio en el que habita acumulado por el agente. to. + Las acciones que el agente puede Hevar a cabo. + La secuencia de percepciones del agente hasta este momento. Esto nos Heva a la definicién de agente racional En cada posible secuencia de pervepciones, un agente racional deberd emprender aque Ha accivin que supuestamente maximice su medida de rendimiento, bastindose en las evi denvias aportadas por la secucncia de percepciones y en el conocimiento que el agente maniene almacenado. Considerando que el agente aspiradora limpia una cuadricula si esta sucia y se mueve a la otra si no lo esta (ésta es Ja funcidn del agente que aparece en Ia tabla de la Figu- ra 2.3), ;se puede considerar racional? ;Depende! Primero, se debe determinar cual es Ja medida de rendimiento, qué se conoce del entorno, y qué sensores y actuadores tiene el agente, Si asumimos que + La medida de rendimiento premia con un punto al agente por cada recuadro lim- pio cn un periodo de tiempo conereto, a lo largo de una «vida» de 1,000 perfodos. + La «geogratia» del medio se conoce a priori (Figura 2.2), pero que la distribueign I del agente no se conocen, Lay cuadriculas se mantienen limpias y aspirando se timpia la cuadricula en que se encuentte el agente. Las aeciones /sgnierda y Derecha mueven al agente hacia la izquierda y de Ta suciedad y la localizaci6n inie' 42 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, omwisciencn derecha excepto en el caso de que ello pueda llevar al agente fuera del recinto, en este caso el agente permanece donde se encuentra. + Las tinicas acciones permitidas son Izquierda, Derecha, Aspirar y NoOp (no ha- cer nada). + Elagente percibe correctamente su localizacién y siesta localizac ciedad. 6n contiene su Puede afirmarse que bajo estas circunstancias el agente es verdaderamente racional; el rendimiento que se espera de este agente es por lo menos tan alto como el de cualquier otro agente. El Ejercicio 2.4 pide que se pruebe este hecho. Facilmente se puede observar que el agente puede resultar irracional en circunstan- cias diferentes, Por ejemplo, cuando toda la suciedad se haya eliminado el agente osci- lard innecesariamente hacia delante y atrds; si la medida de rendimiento incluye una pe nalizacién de un punto por cada movimiento hacia la derecha e izquierda, la respuesta del agente sera pobre. Un agente mas eficiente no hard nada si estd seguro de que todas las cuadriculas estan limpias. Si una cuadricula se ensucia de nuevo, el agente debe iden- tificarlo en una de sus revisiones ocasionales y limpiarla. Si no se conoce la geografia del entorno, el agente tendré que explorarla y no quedarse parado en las cuadriculas A y B. El Ejercicio 2.4 pide que se disefien agentes para estos casos, Omnisciencia, aprendizaje y autonomia Es necesario tener cuidado al distinguir entre racionalidad y omnisciencia, Un agente “omnisciente conoce el resultado de su accién y actia de acuerdo con él; sin embargo, en realidad la omnisciencia no es posible. Considerando el siguiente ejemplo: estoy pa- seando por los Campos Eliseos y veo un amigo al otro lado de la calle. No hay tritico alrededor y no tengo ningin compromiso, entonces, actuando racionalmente, comenzaria acruzar la calle. Al mismo tiempo, 2 33.000 pies de altura, se desprende la puerta de un avin’, y antes de que termine de cruzar al otro lado de la calle me encuentro aplastado. {Fue irracional cruzar la calle? Serfa de extrafiar que en mi nota necrol6gica apareciera «Un idiota intentando eruzar la calle». Este ejemplo muestra que la racionalidad no es lo mismo que fa perfecci6n, La ra- cionatidad maximiza el rendimiento esperado, mientras ta perfeccién maximiza el resul tado real, Alejarse de:la necesidad de la perfeccidn no es solo cuestidn de hacer justicia con los agentes. EI asunto es que resulta imposible disefiar un agente que siempre Heve a cabo. de forma sucesiva, las mejores acciones después de un acontecimiento, a menos que se haya mejorado el rendimiento de las bolas de cristal o las maquinas de tiempo. La definicién propuesta de racionalidad no requiere omnisciencia, ya que la eleccin racional depende s6lo de la secueneia de percepeidn hasta la fecha. Es necesario ase~ gurase de no haber permitido, por descuido, que el agente se dedique decididamente evar a cabo acciones poco inteligentes. Por ejemplo, si el agente no mirase a ambos ke dos de la calle antes de cruzar una calle muy concurrida, entonces sui secuencia de pet " Veuve N. Henderson, «New door latches urged lor Boeing 747 jumbo jets» (es urgente dotar de nue cerraduras alas puertas de los Boeing jumbo 747), Washington Post, 24 de agosto de 1989. ‘ECOPLACION OF ‘FORIUCION exptonscion peaewoie svroxowla AGENTES INTELIGENTES 43 cepcidn no le indicaria que se esta acercando un gran camidn a gran velocidad. ;La definicién de racionalidad nos esté indicando que esté bien cruzar la calle? ;Todo locon- ratio! Primero, no seria racional cruzar la calle s6lo teniendo esta secuencia de per cepciones incompleta: el riesgo de accidente al cruzarla sin mirar es demasiado grande. Segundo, un agente racional debe elegir la accién de «mirar» antes de intentar cruzar la calle, ya que ef mirar maximiza ef rendimiento esperado. Llevar a cabo acciones con la intencién de modificar percepciones futuras, en ocasiones proceso denominado reco- pilacién de informaci6n, es una parte importante de la racionalidad y se comenta en profundidad en el Capitulo 16. Un segundo ejemplo de recopilacién de informacién lo proporciona la exploracién que debe llevar a cabo el agente aspiradora en un medio ini- cialmente desconocido, La definicién propuesta implica que el agente racional no sélo recopile informacién, sino que aprenda lo maximo posible de lo que esté percibiendo. La configuracién ini cial del agente puede reflejar un conocimiento preliminar del entomo, pero a medida que el agente adquiere experiencia éste puede modificarse y aumentar. Hay casos excepcio- nales en los que se conoce totalmente el entorno a priori. En estos casos, el agente no necesita percibir y aprender; simplemente acttia de forma correcta, Por supuesto, estos agentes son muy frigiles. Considérese el caso de! humilde escarabajo estercolero. Des- pués de cavar su nido y depositar en él su huevos, tomé una bola de estiércol de una pila cercana para tapar su entrada, Si durante el trayecto se le quita la bola, el escarabajo con- tinuard su recorrido y hard como si estuviera tapando la entrada del nido, sin tener la bola y sin darse cuanta de ello, La evolucién incorporé una s en la conducta del escarabajo, y cuando se viola, el resultado es un compor satisfactorio. La avis- pa cavadora es un poco més inteligente, La avispa hembra cavaré una madriguera, saldra de ella, picard a una oruga y la Hevard a su madriguera, se introduciré en la madriguera para comprobar que todo esté bien, arrastrard fa oruga hasta el fondo y pondra sus huevos. La oruga servira como fuente de alimento cuando Jos huevos se abran, Hasta ahora todo bien, pero si un entomdlogo desplaza la oruga unos centimetros yera cuan- do la avispa esté revisando la situaciGn, ésta volverd a la etapa de «arrastre» que figura en su plan, y continuard con el resto del plan sin modificacién alguna, incluso después de que se intervenga para desplazar la oruga. La avispa cavadora no es capaz de apren- der que su plan innato esté fallando, y por tanto no Io cambiard. Los agentes con éxito dividen las tareas de calcular la funcién del agente en tres periodos diferentes: cuando se esté diseftando el agente, y estén los diseftadores encar- gados de realizar algunos de estos cilculos; cuando esté pensando en la siguiente opera- cidn, el agente realiza mas cileulos; y cuando esté aprendiendo de la experiencia, el agente lleva a cabo més ealculos para decidir cémo modificar su forma de comportarse. Se dice que un agente carece de autonomia cuando se apoya més en el conocimiento inicial que le proporciona su diseiiador que en sus propias percepciones. Un agente ra- cional debe ser autGnomo, debe saber aprender a determinar cémo tiene que compensar el conocimiento incompleto o parcial inicial. Por ejemplo, el agente aspiradora que aprenda a prever dOnde y cuindo aparecerd suciedad adicional lo hari mejor que otro que no aprenda, En la practica, pocas veces se necesita autonomfa completa desde el comienzo: cuando el agente haya tenido poca 6 ninguna experiencia, tendra que actuar de forma aleatoria a menos que el disefiador le haya proporcionado ayuda, Asi, de la 44 INTELIGENCTA ARTIFICIAL, UN ENFOQUE MODERNO misma forma que la evolucién proporciona a Jos animales s6lo los reactivos necesarios para que puedan sobrevivir lo suficiente para aprender por ellos mismos, serfa razona- ble proporcionar a fos agentes que disponen de inteligencia artificial un conocimiento inicial, asi como de la capacidad de aprendizaje. Después de las suficientes experien- cias interaccionando con el entorno. el comportamiento del agente racional ser efecti- vamente independiente del conocimiento que posefa inicialmente, De ahi, que la incor- poracisn del aprendizaje facilite el disefto de agentes racionales individuales que tendrin éxito en una gran cantidad dle medios. 2.3. La naturaleza del entorno ‘eoRN0s oF TRARAID eas Ahora que se tiene una definicién de racionalidad. se esta easi preparado para pensar en la construccién de agentes racionales. Primero, sin embargo, hay que centrarse en los entornos de trabajo, que son esencialmente los «problemas» para los que los agentes racionales son las «soluciones». Para ello se comienza mostrando eémo especificar un entorno de trabajo, ilustrando el proceso con varios ejemplos, Posteriormente se mos- trard que el entorno de trabajo oftece diferentes posibilidades, de forma que cada una de las posibilidades influyen directamente en el disefio del programa del agente Especificacién del entorno de trabajo En Ia discusién de la racionalidad de un agente aspiradora simple, hubo que especificar Jas medidas de rendimiento, el entorno, y los actuadores y sensores del agente, Todo ello forma lo que se Hama el entorno de trabajo, para cuya denominacisn se utiliza el acronimo REAS (Rendimiento, Entorno, Actuadores, Sensores), En el disenio de un agen: te, el primer paso debe ser siempre especificar el entorno de trabajo de ta forma mais completa posible El mundo de la aspiradora fue un ejemplo simple: considérese ahora un problema mas complejo: un taxista automatico. Este ejemplo se utilizard a lo largo del capitulo. Antes de alarmar al lector, conviene aclarar que en la actualidad la construccién de un taxi automatizado esti fuera del alcance de la tecnologia actual. Véase en la piigina 31 la descripeidn de un robot conductor que ya existe en la actwalidad, o Tea las actas de ka conferencia Intelligent Transportation Systems. La tarea de conducir un automévil, en su (otalidad, es extremadamente ilinitada. No hay limite en cuanto al ntimero de nue- vas combinaciones de circunstancias que pueden surgir (por esta razén se eligi esta ac- tividad en la presente discusisn). La Figura 2.4 resume la descripeién REAS para el en torno de trabajo del taxi. El préximo parrafo explica cada uno de sus elementos en mas detalle. Primero, ;cusl es el entorno de trabajo en el que el taxista automation aspira a con- ducit?? Dentro de las cuatlidades deseables que deberfa tener se incluyen el que Hegue al destino correcto: que minimice el consumo de combustible; que minimice el tiem. po de viaje y/o coste: que minimice el nimero de infracciones de trilivo y de moles- tias a otros conductores: que maximice kt seguridad, lt comodidad det pasajero y el AGENTES INTELIGENTES 48 Aewadures | Senses “joe Camas, sonar Entorno Carreteras, Dirveciin } otro iatico, aacelerador peatones, freno, seta, bocina, visualizador lee veloeimetto, GPS, tacomett. visuatizador de laacele del ber Tipo de agente : Seguro, ripid, | clientes eficio sensores del motor, teclado, un taxista automa beneficio. Obviamente, alguno de estos abjetivos entran en conflicto por lo que habra gue Megar a acuerdos. Siguiente, ;cuil es el entorno en el que se encontrard el taxi? Cualquier taxista debe estar preparado para circular por distintas earreteras, desde caminos rurales y calles ur banas hasta autopistas de 12 carriles, En las carreteras se pueden encontrar con trifico, peatones, animales, obras, coches de policia, charcos y baches. El taxista también tie ne que comunicarse tanto con pasajeros reales como potenciales. Hay también elecciones opcionales. El taxi puede operar en California del Sur, donde la nieve es raramente un problema, 0 en Alaska, donde raramente no lo es. Puede conducir siempre por la de- recha, o puede ser Io suficientemente flexible como para que circule por la izquierda cuando se encuentre en ef Reino Unido o en Japon, Obviamente, cuanto mas restringi- do esté el entono, mis féeil sera el problema del diseiio, Los actuadores disponibles en un taxi automitico sersin mas 6 menos los mismos que Jos que tiene a st alcance un conductor humano: el control del motor a través del acele- rador y control sobre la direcci6n y los frenos. Ademas, necesitard tener una pantalla de visualizaci6n o un sintetizador de voz. para responder los pasajeros, y quizas algdn me- canismo para comunicarse, educadamente 0 de otra forma, con otros vehiculos. Para aleanzar sus objetivos en el entorno en el que circula, el taxi necesita saber dénde estd, qué otros elementos estan en ki carretera, y a qué velocidad circula, Sus sensores basicos deben, por tanto, incluir una o mas cmaras de televisiGn dirigidas, un veloef metro y un (acdmetro, Para controlar el vehiculo «decuadamente, especialmente cn las: curvas. debe tener un acelerador; debe conocer el estado mecdnico del vwehicuto, de forma que necesitard sensores que controlen ef motor y el sistema eléetrico, Debe tener instrumentos que no estén disponibles para un conductor medio: un sistema de posicio- namiento global via satélite (GPS) para proporcionarle informacién exacta sobre su posicién con respecto a un mapa eleetrSnico, y sensores infrarrojos © sonares. para detectar las distancias con respecto a otros coches y obstéculos. Finalmente, necesitard un teclado 0 micréfono para que el pasajero le indique su destino. La Figura 2.5 muestra un esquema con Jos elementos REAS basics para diferentes clases de agentes adicionales. Mis ejemplos aparecersin en el Ejercicio 2.5, Puede Sorprender a algunos lectores que se incluya en fa lista de tipos de agente algunos pro- grtmas que operan en la fotalidad del entorno artificial definido por las entradas del teclado y tos caracteres imps sos.en ef monitor, «Seguramente», nos podamos presun- 46 scenes sorrwane sorraors INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, satélites i Tipodeagente | Medias de. Entorno Actuadores Sensores Sistema de Pacientes sanos, | Pacienes, Visualizer | ‘Teclado para diggndstico | reducir costes, | hospital, preguntas, | la entrada de mmédico demandas personal pruchas, sintomas, | diagndsticas, | conclusiones, teatamientos, | respuestas de | pacientes | {_____}_ - + Sistema de | Categorizacién | Conexisn cone! | Visualizaria | Matriz de pixels anlisis de de imagen satdhtecen érbita | eategorizacién | de-cotores | imagenes de | correcta | de una escena | | | Robot para ta | Porcentaje de T cinta Brazoy mano | Cimara, sensor seleccién de | componentes | transportadora | artculados angular componentes | clasificados en | con | Tor cubes omponesea) | correctos cubes See Rosine | 7 Controlador de Maximizar la | Refinerfa, Vatvulas, “Temperatura, | una refineria pureza, operadores. bombas, presisn, Produccién y calentadores, | Sensores seguridad rmonitores quimicos oe _ _ Tutorde inglés | Maximizaria | Conjuntode | Visualizartox | ‘Teclado de interactive puntuacion de | estudiantes, | cjrcicio, entrada | Tos estudiantes | agencia | Sugerencias, | enlos-eximenes | examinadora | correciones | Figura 2.5 Ejemplos de tipos de agentes y sus descripciones REAS, tar, «este no es un entorno real, verdad». De hecho, lo que importa no es la distincién entre un medio «rea» y «artificial», sino la complejidad de la relaciGn entre el com- portamiento del agente, la secuencia de percepcién generada por el medio y la medida de rendimiento, Algunos entornos «reales» son de hecho bastante simples. Por ejemplo, tun robot disefiado para inspeceionar componentes segin pasan por una cinta transpor- tadora puede hacer uso de varias suposiciones simples: que la cinta siempre estard iluminada, que conocerd todos Jos componentes que circulen por la cinta, y que hay solamente dos acciones (aceptar y rechazar), En contraste, existen algunos agentes software (o robots sofiware o softbots) en en- tornos ricos y pricticamente ilimitados. Imagine un softbot diseftado para pilotar el si: mulador de vuelo de un gran avidn comercial. EI simulador constituye un medio muy detallado y complejo que incluye a otros aviones y operaciones de tierra, y el agente software debe elegir, en tiempo real, una de entre un amplio abanico de posibilidades. O imagine un robot diseftado para que revise fuentes de informacién en Internet y para que muesire aquellas que sean interesantes a sus clientes. Para lograrlo, debers poser cierta habilidad en el procesamiento de lenguaje natural, tendra que aprender que que le interesa a cada cliente, y tendré que ser capaz de cambiar sus planes dinémica ovaumene esevaate DevERMNSTA kstocistie AGENTES INTELIGENTES 47 mente, por ejemplo, cuando se inter ‘umpa Ja conexién con una fuente de informacién © cuando aparezca una nueva. Internet es un medio cuya complejidad rivaliza con la del P a comple} mundo fisico y entre euyos habitantes se pueden ineluir muchos agentes artificiales. Propiedades de los entornos de trabajo EL rango de los entornos de trabajo en los que se utilizan técnicas de 1A es obviamente muy grande, Sin embargo, se puede identificar un pequefio ntimero de dimensiones en las que categorizar estos entornos. Estas dimensiones determinan, hasta cierto punto, el disefio mas adecuado para el agente y la utilizacién de cada una de las familias principales de técnicas en la implementacidn del agente, Primero se enumeran la dimensiones, y después se analizan varios entornos de trabajo para ilustrar estas ideas. Las definiciones dadas son informales: capitulos posteriores proporcionan definiciones més precisas y ‘ejemplos de cada tipo de entorno. as + Totalmente observable vs. parcialmente observable. Si los sensores del agente le proporcionan acceso al estado completo del medio en cada momento, entonces se dice que el entorno de trabajo es totalmente obser~ vable®. Un entorno de trabajo es, efectivamente, totalmente observable si los sen- sores detectan todos los aspectos que son relevantes en Ia toma de decisiones; la relevancia, en cada momento, depende de las medidas de rendimiento. Entornos totalmente observables son convenientes ya que el agente no necesita mantener nin- iin estado interno para saber qué sucede en el mundo. Un entorno puede ser par- cialmente observable debido al ruido y a la existencia de sensores poco exactos 0 porque los sensores no reciben informacién de parte del sistema, por ejemplo, un agente aspiradora con s6lo un sensor de suciedad local no puede saber si hay st- ciedad en la otra cuadricula, y un taxi automatizado no pude saber qué estin pen. sando otros conductores. + Determinista vs. estocastico. Si el siguiente estado del medio esté totalmente determinado por el estado actual y luaccidn ejecutada por el agente, entonces se dice que el entorno es determinista, de otra forma es estocéstico. En principio, un agente no se tiene que preocupar de la incertidumbre en un medio totalmente observable y determinista, Sin embargo, si el medio es parcialmente observable entonces puede parecer estocdstico, Esto es particularmente cierto si se trata de un medio complejo, haciendo diffeil ef man tener constancia de todos las aspectos observados. Asi, a menudo es mejor pen: sar en entornos deterministas o estocéisticos desde el punto de vista del agente. El agente taxi es claramente estocistico en este sentido, ya que no se puede predecir el comportamiento del trifico exactamente; mas atin, una rueda se puede reventar y un motor se puede gripar sin previo aviso, El mundo de la aspiradora es deter [La primera elicidn de ese libro utiliza fos térmiinos accesible e inaceesible en ver de 10 sta en ver de estocisticn: y no epissdica en ver le se e can el uso establevid y parcialme tencial. Ls nueva tr tw abservable; no detern Iminologia es mis consiste 48 INTELIGENCIA ARTIFICLAL, UN ENFOQUE MODERNO estaaréaico Pisco Secuencia. ‘maico seamomioneo isenero cowry minista, como ya se deseribi6, pero las variaciones pueden incluir elementos es- ocdsticos como ta aparicién de suciedad aleatoria y un mecanismo de succién ineficiente (Ejercicio 2.12). Si el medio es determinista, excepto pau de otros agentes, decimos que el medio es estratégico, falas acciones ‘édico vs. secuencial’. En un entorno de trabajo epistidico, la experiencia del a te se divide en episo- dios atémicos. Cada episodio consiste en la percepeidn del agente y la realizacién de una tinica accién posterior. Es muy importante tener en cuenta que el siguien- te episodio no depende de las acciones que se realizaron en episodios previos. En Jos medios episédicos la eleccién de la accidn en cada episodio depende sdlo det episodio en sf mismo, Muchas tareas de clasificacisn son epissdicas. Por ejem- plo, un agente que tenga que scleccionar partes defectuosas en una cadena de mon- taje basa sus decisiones en la parte que esté evaluando en cada momento, sin tener en cuenta decisiones previas; mas atin, a la decisidn presente no le afecta el que la proxima fase sea defectuosa, En entornos secuenciales, por otro lado, la deci- sidn presente puede afectar a decisiones futuras. El ajedrez y el taxista son secuenciales: en ambos casos, las acciones que se realizan a corto plazo pueden tener consecuencias a largo plazo. Los medios epissdicos son mas simples que los secuenciales porque la gente no necesita pensar con tiempo. + Estitico vs. dinémico. Si el entorno puede cambiar cuando el agente esti deliberando, entonces se dice que el entorno es dindmico para el agente; de otra forma se dice que es estitico, Los medios estaticos son ficiles de tratar ya que el agente no necesita estar pendiente del mundo mientras esté tomando una decisién sobre una accién, ni necesita preacuparse sobre el paso del tiempo. Los medios dindmicos, por el con- ratio, estén preguntando continuamente al agente qué quiere hacer; si no se ha decidido atin, entonces se entiende que ha tomado fa decision de no haver nada Sic! entorno no cambia con el paso del tiempo, pero el rendimiento del agente cam. bia, entonces se dice que el medio es semidinémico. EI taxista es claramente dinimico: tanto los otros caches como el taxi se estin moviendo mientras el algoritmo que gufa la conduccisn indica qué es lo préximo a hacer, El ajedrez, cus do se jueza con un reloj, es semideterminista, Los crucigramas son estiticos. + Disereto vs. continuo. La distincidn entre discreto y continuo se puede aplicar al estado del medio, a kt forma en la que se maneja el riempo y a las percepciones y acciones del agente. Por ejemplo, un medio con estados diseretos como el del juego del ajedrez tiene un mimero finito de estados distintos. El ajedrez tiene un conjunto disereto de percepciones y acciones, El taxista conduciendo define un estado continuo y un problema de tiempo continuo: la velocidad y la ubicacién del taxi y de los otros vehiculos pasan por un rango de valores continuos de forma suave a lo largo del Tha pals esecueneial» se miliza tambign on el campo de la informtiea como antdnime de «paraleko ene wowtount MuLTAGENTE compervo cooverarwo AGENTES INTELIGENTES 492 tiempo. Las conduccidn del taxista es también continua (ingulo de direceién, ete.) Las imagenes captadas por cimaras digitales son discretas. en sentido estricto, pero se tratan tipicamente como representaciones continuas de localizaciones e inten- sidades variables. + Agente individual vs. multiagente, La distincidn entre el entomno de un agente individual y ef de un sistema mul- tiagente puede parecer suficientemente simple. Por ejemplo, un agente resol- viendo un crucigrama por sf mismo esté claramente en un entorno de agente individual, mientras que un agente que juega al ajedrez est en un entorno con dos agentes. Sin embargo hay algunas diferencias sutiles. Primero, se ha descrito que una entidad puede percibirse como un agente, pero no se ha explicado qué entidades se deben considerar agentes. ;Tiene el agente A (por ejemplo el agen- te taxista) que tratar un objeto B (otro vehiculo) como un agente, 0 puede tra- tarse méramente como un objeto con un comportamiento estocdistico, come las las de la playa o Jas hojas que mueve el viento? La distincidn clave esté en iden- tificar si el comportamiento de B esta mejor descrito por la maximizacién de una medida de rendimiento cuyo valor depende del comportamiento de A. Por cjemplo, en el ajedrez, la entidad oponente B intenta maximizar su medida de rendimiento, la cual, segtin tas reglas, minimiza la medida de rendimiento del agente A, Por tanto, el ajedrez es un entorno multiagente competitivo, Por otro Jado, en el medio detinido por el taxista citculando, el evitar colisiones mavi- miza la medida de rendimiento de todos los agentes, asf pues es un entorno mul- cente parcialmente cooperative. Es también parcialmente competitivo ya que, por ejemplo, sélo un coche puede ocupar una plaza de aparcamiento, Los problemas en el disefio de agentes que aparecen en los entornos multiagente son menudo bastante diferentes de los que aparecen en entornos con un dinico agen te: por ejemplo, la comunicacién a menudo emerge como un comportamiento racional en entornos multiagente; en algunos entornos competitivos parcial- mente observables el comportamiento estocastico es racional dificultades de la prediceidn. gue evita las Como es de esperar, el caso més complejo es el parcialmente observable, estocdstico, secuencial, dindmico, continuo y multiagente, De hecho, suele suceder que la mayoria de las situaciones reales son tan complejas que seria discutible clasificarlas como real- mente deterministas. A efectos précticos, se deben tratar como estocasticas. Un taxista circulando es un problema, complejo a todos los efectos. La Figura 2.6 presenta las propiedades de un niimero de entornos familiares. Hay que tener en cuenta que las respuestas no estin siempre preparadas de antemano. Por ejemplo, se ha presentado el ajedrez como totalmente observable: en sentido estricto, esto > Talso porque ciertas reglas que afectan al movimiento de las torres. el enroque y a mo- vimientos por repeticién requieren que se recuerden algunos hechos sobre la historia del juego que no estin reflejados en el estado det tablero. Estas excepciones, por supuesto, no tienen importancia si las comparamoy con aquellas que aparecen en el caso del taxista, el tutor de inglés, 0 el sistema de diagnéstico médico 50 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO —— Entornos de wabajo Determinist [Disereto™ | Agentes | Crucigrama ‘Totalmente | Determinista | Secuencial | Estitico Disereto | Individual ‘ser con el Toxaimente | Estratcsco | Secvencial | Semi | Diereo | Mult Poker Backgammon wuencial | Estitico | Disereto Multi cial | static | Discreto Multi Parcialmente | Estratégico Totalmente | Estoccisticn | Sect cUnse DE ewTORNS ‘cenenanon DeewToRNOs Taxi cireulando Parcialmente | Estocistico | Secuencial | Dinamico | Continuo Multi Diagnestico médico Parcialmente | Estocistico | Secuencial | Dinimico | Continuo | Individual Anilisis de imagen Totalmente | Determinista | Episédico Semi Continuo | Individual Robot clasiticador Parcialmente | Estocistivo | Epissdien | Dinimico | Continuo | Individual Controlador de refineria | Parcialmente | Estocsistico Dindmico | Continuo | Individual Tutor interactive de inglés | Parcialmente | Estocistico | Secuencial | Dinamico Discreto Muhti Figura 2.6 Ejemplos de entomos de trabajo y sus caracteristicas. Otras entradas de la tabla dependen de cémo se haya definido el entorno de trabajo. Se ha definido el sistema de diagndstico médico como un nico agente porque no es. rentable modelar el proceso de la enfermedad en un paciente como un agente; pero incluso cl sistema de diagndstico médico podria necesitar tener en cuenta a pacientes recalei- trantes y empleados escépticas, de forma que el entorno podria tener un aspecto mul ente, Mas atin, el diagndstico médico es episddico si se concibe como proporcionar un diagndstico a partir de una lista de sintomas; el problema es secuencial si ello trae consigo la propuesta de una serie de pruebas, un proceso de evaluacién a lo largo del tratamiento, y demas aspectos. Muchos entornos son, también, episédicos si se obser- van desde un nivel de abstraccién més alto que el de las acciones individuales del agen- te. Por ejemplo, un tomeo de ajedrez consiste en una secuencia de juegos: cada juego °s un episodio, pero (a la larga) la contribucién de los movimientos en una partida al sultado general que obtenga el agente no se ve afectada por los movimientos realizados en la partida anterior. Por otro lado, las decisiones tomadas en una partida conereta son ciertamente de tipo secuencial El repositorio de eddigo asociado a este libro (aima.cs.berkeley.edu) incluye la implementacién de un nimero de entornos, junto con un simulador de entornos de pro- pésito general que sittia uno o més agentes en un entorno simulado, observa su com portamiento a lo largo del tiempo, y los evala de acuerdo con una medida de rendimiento dada, Estos experimentos no s6lo se han realizado para un medio concreto, sino que se han realizado con varios problemas obtenidos de una clase de entornos. Por ejemplo. para evaluar un taxista en un trfico simulado, serfa interesante hacer varias simulacio- nes con diferente tipo de trafico, claridad y condiciones atmostéri agente para un escenario concreto, se pueden sacar ventajas de las propiedades espect ficas de eve caso en particular, pero puede no identificarse un buen disefio para condu- cir en general, Por esta raz6n, el repositorio de e6digo también incluye un generador de entornos para cada clase de medios que selecciona habitats particulares (con ciertas posibilidades) en los que ejecutar los agentes. Por ejemplo, ef generador de un entorno 1s. Si se diseta un AGENTESINVELIGENTES SI para un agente aspiradora inicializa el patron de suciedad y la localizacién del agente de forma aleatoria, Después, es interesante evaluar la eficacia media del agente en el con- texto de la clase del entorno. Un agente racional para una clase de entorno maximiza el rendimiento medio. Los Ejercicios del 2.7 al 2.12 gufan el proceso de desarrollo de una clase de entornos y la evaluacién de varios agentes. 2.4 Estructura de los agentes rogram DEL AGENTE anaurrecruna Hasta este momento se ha hablado de los agentes describiendo su conducta, Ia aceién que se realiza después de una secuencia de percepciones dada. Ahora, se trata de cen- trarse en el néicleo del problema y hablar sobre cémo trabajan internamente, El trabajo de la IA es disefiar el programa del agente que implemente la funcién del agente que proyecta las percepciones en las acciones. Se asume que este programa se ejecutard en algdn tipo de computador con sensores fisicos y actuadores, Jo cual se conoce como arquitectura: Agente = arquitectura + programa Obviamente, el programa que se elija tiene que ser apropiado para la arquitectura. Si el programa tiene que recomendar acciones como Caminar, la arquitectura tiene que tener piernas, La arquitectura puede ser un PC comtin, o puede ser un coche robotizado con varios computadores, cémaras, y otros sensores a bordo, En general, la arquitectura hace que las percepciones de los sensores estén disponibles para el programa, ejecuta los pro- ‘gramas, y se encarga de que los actuadores pongan cn marcha las acciones generadas. La mayor parte de este libro se centra en el diseiio de programas para agentes, los Capftulos 24 y 25 tratan sobre sensores y actuadores. wunque Programas de los agentes Los programas de los agentes que se describen en este libro tienen la misma estructura: reciben las percepciones actuales como entradas de los sensores y devuelven una accién a los actuadores”. Hay que (ener en cuenta la diferencia entre los programas de los agen- tes, que toman la percepcin actual como entrada, y Ja funcidn del agente, que recibe la percepcisn hist6rica completa, Los programas de los agentes reciben sélo la percepeién. actual como entrada porque no hay nada mas disponible en el entorno; si las acciones, del agente dependen de Ia secuencia completa de percepciones, el agente tendriat que re- cordar las percepciones Los programas de los agente se describirdn con la ayuda de un sencillo lenguaje pseu- docédigo que se define en el Apéndice B. El repositorio de cédigo disponible en Inter- Hay otras posibilidades para defini la estructura del programa pa para agentes pueden sers agente; por ejemplo, los programas ecuten asinerdnicamente en el entorne de trabajo, Cada una de ‘estas subrutinas tienen tun puesto de entrada y sales y consisten en un buele que interpreta las entradas del brutinas quese © puerto come percepeiones y escribe aeciones en el puctto de sai, 52. INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO fancién AGrNt-Dirieabo- MEDIANTE 1ABLA(pereepeidn) devuelve una acid variables estaticas: percepeiones, una sectiencia, vacia inic Tabla, una tabla de aeciones, indexada por las Secuencia de pereepeiones, totalmente definida inicialmente mente aanadir la percepeidn al final de las percepciones caccidn = Consutinperepciones, tabla devolver ecicn Figura 2.7 El programa Acexre-Dikicibo- MeDIANTE TABLA se invoca con cada nueva percepciGn y devuelve una accién en cada momento. Almacena la secuencia de percepciones utilizanclo Su pro- pit estructura de datos privada. net contiene implementaciones en lenguajes de programacién reales. Por ejemplo, la Figura 2.7 muestra un programa de agente muy sencillo que almacena la secuencia de percepeiones y después las compara con las secuencias almacenadas en la tabla de ac- ciones para decidir qué hacer. La tabla representa explicitamente la funcisn que define el programa del agente. Para construir un agente racional de esta forma, los diseiado- res deben realizar una tabla que contenga las acciones apropiadas para cada secuencia posible de percepeiones, Intuitivamente se puede apreciar por qué la propuesta de direccidin-median para la construccién de agentes est condenad, tabla I fracaso. Sea P el conjunto de posibles percepciones y Tel tiempo de vida del agente (el ntimero total de percepeiones que re- cibira), La tabla de basqueda contendra S)/_,|P] entradas. Si consideramos ahora el taxi automatizado: la entrada visual de una cémara individual es de 27 megabytes por segundo (30 fotograffas por segundo, 640 480 pixels con 24 bits de informacién de colores). Lo cual genera una tabla de busqueda con mas de 10°" entradas por hora de con: duccidn, Incluso la tabla de biisqueda del ajedrez (un fragmento del mundo real peque- ‘to y obediente) tiene por lo menos 10!” entradas. El tamaio exa aadamente grande de estas tablas (e] ntimero de sitomos en el universo observable es menor que 10°") signifi ca que (a) no hay agente fisico en este universo que tenga el espacio suficiente como para almacenar la tabla, (b) el disefiador no tendré tiempo para crear la tabla, (¢) ningtin agen te podria aprender todas las entradas de la tabla a partir de su experiencia, y (d) incluso, si el entorno es Jo suficientemente simple para generar una tabla de un tamatio razona bl el disentador no tiene quien le asesore en la forma en la que Fellenar la tabla, A pesar de todo ello, el AGENTE-DiRIGIDO-MEDIANTE TABLA hace lo que nosotros que remos: implementa la funcién deseada para el agente. El desafio clave de la IA es en ‘scribir programas, que en la medida de lo posible, reproduzean un comportamiento racional a partir de una pequeiia cantidad de eddigo en vez de a partir de una tabla con un gran niimero de entradas, Existen bastantes ejemplos que muestra ito en otras dreas: por ejemplo, las grandes tablas de las races ccuadradas utilizadas por ingenieros y estudiantes antes de 1970 se han reemplazado por nta el métado de Newton en tas ealeuladoras 1 pregunta es, en el cuso del comportamiento inteligente general, ;pucd la IA hacer lo que Newton hizo con las rafces cuadradas’? Creemos que lat respuesti es afirmativa. contrar la forma de qué se puede hacer con un programa de cineo lineas que implen electrinicas. AGENTES INTELIGENTES, En Jo que resta de esta seceidn se presentan los cuatro tipos basicos de programas para agentes que encaran los principios que subyacen en casi todos los sistemas inte- ligentes. + Agentes reactivos simples. + Agentes reactivos basados en modelos. + Agentes basados en objetivos. + Agentes basados en utilidad. Después se explica, en términos generales, cémo convertir todos ellos en agentes que aprendan. Agentes reactivos simples roexrencscnve ‘EL tipo de agente mas sencillo es el agente reactive simple, Estos agentes selevcionan sont las acciones sobre ta base de las percepeiones actuales, ignorando el resto de las per- cepciones hist6ricas. Por ejemplo, el agente aspiradora cuya funcidn de agente se pre- senté en la Figura 2.3 es un agente reactivo simple porque toma sus decisiones sélo con base en la localizacién actual y siésta esta sucia. La Figura 2.8 muestra el programa para este agente. Hay que tener en cuenta que el programa para el agente aspiradora es muy pequeiio comparado con su tabla correspondiente. La reduccién mas clara se obtiene al ignorar Ja historia de percepcidn, que reduce el ntimero de posibilidades de 4! a slo 4, Otra re- duccién se basa en el hecho de que cuando la cuadricula actual esta sucia, a accién no. depende de la localizacién. Imaginese que es el conductor del taxi automtico, Si el coche que circula delante frena, y las luces de freno se encienden, entonces lo advertirfa y comenzarfa a frenar. otras palabras, se leva para establ cn a cabo algtin tipo de procesamiento sobre las sefales visuales la condicién que se Hama «El coche que circula delante est frenandon. Esto dispara algunas conexiones establecidas en el programa del agente para que se eje- cute la aeciGn «iniciar frenado». Esta conexidn se denomina regla-de condi y se representa por mn-aceién’, uae onatcon-xcaon siclcoche-que-circula-delante-esti-frenando entonces iniciar-frenada, IM AGENT-ASPIRADORA-REACHINO{Joculi-acidn, estauto}) devuelve una wecion, si estado ~ Sucior entonet devolver Aspirar i | deotra forma, silocalizacidn ~ A entonees devolver Devecha de otra forma, silocalizacion ~ B entonces devolver Izquierda igura 2.8 Programa para el agente aspiracora de reactivo simple en el entorno definide por las dos cuadriculas, Este programa implementa Ia funcién de agente presentada en la Figura 2,3 nes. 0 regs si entonces 54 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO Los humanos también tienen muchas de estas conexiones, algunas de las cuales son res~ puestas aprendidas (como en el caso de la conduccién) y otras son reacciones innatas (como parpadear cuando algo se acerca al ojo). A lo largo de esta obra, se estudiarsin diferentes formas en las que se pueden aprender e implementar estas conexiones, F] programa de 1a Figura 2.8 es especifico para el entorno concreto de la aspirado- ra, Una aproximacién mas general y flexible es la de construir primero un intérprete de propésito general para reglas de condicién-accién y después crear conjuntos de reglas para entomos de trabajo especificos, La Figura 2.9 presenta la estructura de este programa general de forma esquemitica, mostrando cémo las reglas de condici6n-accién permi- ten al agente generar la conexién desde las percepciones a las acciones, No se preocu- pe si le parece trivial: pronto se complicaré. Se utilizan recténgulos para denotar el estado interno actual del proceso de toma de decisiones del agente y Svalos para representar la informacién base utilizada en el proceso, El programa del agente, que es también muy simple, se muestra en Ja Figura 2.10, La funcién INrERPRETAR-ENTRADA genera una descripcién abstracta del estado actual a partir de la percepeién, y la funcién REGLA-Comn- CIENCIA devuelve la primera regla del conjunto de reglas que coincide con la descrip- cidn del estado dada, Hay que tener en cuenta que la deseripcién en términos de «reglas» a ee ee —\ gente Seugiees -0- cond [oso] | | aquarquie oIpayy | Gene cote) [ORE Actuadores Figura 2.9 Diagrama esquemético de un agente reactivo simple, fees reglas, un conjunto de reglas eondiciGn-aecién ‘estado — INTERPRETAR-ENTRADA(pErcepCiOn) | | regla — ReGLa-Comciencinestade, reglas) | accid) — REGLA-ACCION| regal | devolv | a | Figura 2.10 Un agente reactivo simple, que actéa de acuerdo a la reglacuya condicidn coincid | con el estado acu, definido por Ia percepcisn, | vearono «staoo nteswo AGENTES INTELIGENTES y «coincidencias» es puramente conceptual; las implementaciones reales pueden ser tan simples como colecciones de puertas légicas implementando un circuito booleano, Los agentes reactivos simples tienen la admirable propiedad de ser simples, pero poseen una inteligencia muy limitada. El agente de la Figura 2.10 funcionara sdlo si se puede tomar la decisién correcta sobre la hase de la percepcién actual, to cual es posible sdlo si el entorno es totalmente observable. Incluso el que haya una pequetia parte que no se pueda observar puede causar serios problemas. Por ejemplo, la rezk de frenado dada anteriormente asume que la condicidn el-coche-que-circula-delante- esté-frenando se puede determinar a partir de la percepeién actual (imagen de video actual) si el coche de enfrente tiene un sistema centralizado de luces de freno. Desafortunadamente, los modelos antiguos tienen diferentes configuraciones de luces traseras, luces de frenado, y de intermitentes, y no es siempre posible saber a partir de una nica imagen si el coche esta frenando. Un agente reactivo simple conduciendo detras de un coche de este tipo puede frenar cont © peor, no frenar nunca. Un problema similar aparece en el mundo de la aspiradora, Supongamos que se eli- mina el sensor de localizacién de un agente aspiradora reactivo simple, y que sélo tie- ne un sensor de suciedad. Un agente de este tipo tiene sélo dos percepciones posibles: [Sucio] y [Limpio]. Puede Aspirar cuando se encuentra con [Sucio}. {Qué debe hacer cuando se encuentra con [Limpio]? Si se desplaza a la Izquierda se equivoca (siempre) siesté en la cuadricula A, y si de desplaza a la Derecha se equivoca (siempre) si esta en la cuadricula B. Los bucles infinitos son a menudo inevitables para los agentes reacti: vos simples que operan en algunos entornos parcialmente observables. Salir de los bucles infinitos es posible si los agentes pueden seleccionar sus accio- s aleatoriamente. Por ejemplo, si un agente aspiradora percibe [Limpio|, puede kan zar una moneda y clegir entre I:quierda y Derecha, Es facil mostrar que el agente se moverd a la otra cuadricula en una media de dos pasos. Entonces, si ta cuadricula esta sucia, la limpiard y la tarea de limpieza se completard, Por tanto, un agente reactivo simple con capacidad para elegir acciones de manera aleatoria puede mejorar los resultados que proporciona un agente reactivo simple determinista, En la Seccisin 2.3 se mencioné que un comportamiento aleatorio de un tipo adecua- do puede resultar racional en algunos entornos multiagente. En entornos de agentes in- dividuales, el comportamiento aleatorio no es normalmente racionall. Es un truco tit que ayuda a los agentes reactivos simples en algunas situa casos se obtendrain mejores resultados con juamente y de manera innecesaria iones, pero en ka mayorfa de los. ntes deterministas mas sofisticados. Agentes reactivos basados en modelos La forma mas efectiva que tienen los agentes de manejar la visibilidad parcial es alma cenar informacién de las partes del mundo que no pueden ver, O lo que es lo mismo, el agente debe mantener algin tipo de estado interno que dependa de la historia perci- bida y que de ese modo refleje por lo menos alguno de los aspectos no observables del estado actual. Para el problema de los frenos, el estado interno no es demasiado exter so, sdlo ka fotografia anterior de la camara, facilitando al agente la deteccién de dos lu- ces rojas encendiéndose y apay: indose simultineamente a los costados del vehiculo, Para 56 INTELIGENCIA ARFIFICIAL, UN ENEOQUE MODERNO scene esto0 EN MODELS otros aspectos de la conduccidn, como un cambio de cartil, el wwente tiene que mante- ner informaci6n de fa posicién del resto de los coches si no los puede ver La actualizacion de la informacién de estado interno segtin pasa el tiempo requiere codificar dos tipos de conocimiento en el programa del agente. Primero, se necesita al- guna informacién acerca de como evoluciona el mundo independientemente del agen- te, por ejemplo, que un coche que esti adelantando estar mds cere, detras, que en un ‘momento inmediatamente anterior, Segundo, se necesita mas informacién sobre cémo algctan al mundo las acciones del agente, por ejemplo, que cuando el agente gire hacia la derecha, el coche inco mi- nutos hacia el norte en la autopista se avanzan cinco millas hacia el norte a partir del pun- tw enel que se estaba cinco minutos antes. Este conocimiento acerca de «emo funcio- na el mundo», tanto si estd implementado con un citcuito booleano simple o con teorfas cientificas completas, se denomina modelo del mundo. Un agente que utilice este mo- delo es un agente basado en modelos, sira hacia la derechat 0 que después de condueir durante co — ~ os | ( yoo — af Estado ‘, ea x | i 5 gz | g Gm ome) || F | Figura 2.11 Un agente reactivo basado en moelos. ee oe eee Funcién Aciste-Ri.Activo-Con-Fst\poipercepeisn) devuelve una accién | estatica: estado. una deseripeién actual del estado det mundo seglas. un conjunto de reghas condiciGn-a ‘accidi kx aceién mas reciente, inieialmente ninguna stad = ACTEALIZAR-Estabotestado, accivin, percepeidn) Rec cid — REGL-ACCION| Festa | devalver acvivin -Coincinencintestado, reglas) | Figura 2.12. Un agente reactivo basado en modelos, que almacena informacién sobre el estado | actual del mundo utilizando un modelo interno, Después seleceiona una acci6n de fa misma forma aque el agente sctiv0. etn AGENTES INTELIGENTES 87 La Figura 2.11 proporciona la estructura de un agente reactivo simple con estado in terno, muestra e6mo la percepcidn actual se combina con el estado interno antiguo para generar la descripeién actualizada del estado actual. La Figura 2.12 muestra el progra ma del agente, La parte interesante es la correspondiente a la funcién Actualizar-Esta- do, que es la responsable de la ereaciGn de la nueva deseripeién del estado interno. Ade- mis de interpretar la nueva percepeién a partir del conocimiento existente sobre el estado, utiliza informaci6n relativa a fa forma en la que evoluciona el mundo para co- nocer mis sobre las partes del mundo que no estin visibles: para ello debe conocer cul es el efecto de las acciones del agente sobre el estado del mundo, Los Capitulos 10 y 17 ofrecen ejemplos detallados Agentes basados en objetivos El conocimiento sobre el estado actual del mundo no es siempre suficiente para decidir qué hacer. Por ejemplo, en un cruce de carreteras, el taxista puede girar a la izquierda, girar a la derecha o seguir hacia adelante, La decisién correcta depende de dénde quiere ir el taxi, En otras palabras, ademas de la deveripcién del estado actual, el agente nece- a algtin tipo de informacidn sobre su meta que describa las situaciones que son deseables, por ejemplo, llegar al destino propuesto por el pasajero. El programa del agen- {e se puede combinar con informacidn sobre los resultados de las acciones posibles (la misma informacidn que se wtiliz6 para actualizar el estado interno en el caso del agen- te reflexivo) para elegir las aceiones que permitan alcanzar el objetivo, La Figura 2.13 muestra la estructura del agente basado en abjetivos. En algunas ocasiones. la seleccién de acciones basstdas en objetivos es direct do aleanzar los objetivos es el resultado inmediato de wna | cuan- ‘ei6n individual. En otras oca Semsores | | Cece as | Gong ee, | | ‘Dae pasa reali aluaiquie o1payy, Figura 2.13 Unagente basado en objetivos y basado en modelos, que almacena informacién del estado del mundo asf como det conjunto de objetivos que intenta aleanzar, y que es capaz de se leccionar la accion que eventualmente lo puiard hacia la consecuciGn de sus objetivos, 58 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO unuaa uwoidn 0 uriuoxD siones, puede ser mas complicado, cuando el agente tiene que considerar secuencias com plejas para encontrar el camino que le permita alcanzar el objetivo. Biisqueda (Capitu- los del 3 al 6) y planificacién (Capitulos 11 y 12) son los subcampos de la A centra- secuencias de acciones que permitan a los agentes alcanzar sus metas Hay que tener en cuenta que la toma de decisiones de este tipo es fundamentalmen- te diferente de las reglas de condicién-accién descritas anteriormente, en las que hay que tener en cuenta consideraciones sobre el futuro (como «;qué pasarii si yo hago esto y esto?» y «ime hard esto feliz?»). En los disefios de agentes reaetivos, esta informacién no estd representada explicitamente, porque las reglas que maneja el agente proyectan directamente las percepciones en las acciones. Bl agente reactivo frena cuando ve luces de freno. Un agente basado en objetivos, en principio, puede razonar que si el coche que va delante tiene encendidas las luces de frenado, est reduciendo su velocidad, Dada la forma en la que ef mundo evoluciona normalmente, la Gnica accién que permite alean. zr la meta de no chocarse con otros coches, es frenar. Aunque el agente basado en objetivos pueda parecer menos eficiente, es més flexi- ble ya que el conocimiento que soporta su decisién esta representado explicitamente y puede modi Si comienza a llover. el agente puede actualizar su conocimiento so- bre cémo se comportan los frenos: lo cual implicara que todas las formas de actuar re- levantes se alteren autométicamente para adaptarse a las nuevas circunstancias. Para el agente reactivo, por otro lado, se tendrin que rescribir muchas reglas de condicién-ac- cin, El comportamiento del agente basado en objetivos puede cambiarse fécilmente para que se dirija a una localizacién diferente, Las reglas de los agentes reactivos relaciona- das con eudndo girar y cudndo seguir recto son validas s6lo para un destino conereto y tienen que modificarse cada vez que el agente se dirija a cualquier otro lugar distinto. icarse. Agentes basados en utilidad Las metas por sf solas no son realmente suficientes para generar comportamiento de gran calidad en ka mayoria de los entornos. Por ejemplo, hay muchas s is de acciones que Hlevardn al taxi a su destino (y por tanto a aleanzar su objetivo), pero algunas son is rpidas, mas seguras, més fiables, o mas baratas que otras. Las metas s6lo propor- cionan una cruda distincidn binaria entre los estados de «felicidad» y «tristeza», mien: {ras que una medida de eficiencia mas general deberfa permitir una comparacién entre estados del mundo diferentes de acuerdo al nivel exacto de felicidad que el agente al- cance cuando se Hegue a un estado u otto. Como el término «felicidad» no suena muy cientifico, fa erminologéa tradicional utitizada en estos casos para indicar que se pre- fiere un estado de! mundo a otro es que un estado tiene més utilidad que otro para el agente”. Una funcién de utilidad proyecta un estado (o una secuencia de estados) en un ni mero real, que representa un nivel de felicidad, La definicién completa de una funcién de utitidad permite tomar decisiones racionales en dos tipos de casos en los que las me- las son inadecuadas. Primero, cuando haya objetivos conflictivas, y sélo se puedan al -cueni "La palabra satiidads aqui se refiere ala cuaidad de ser Gt. AGENTES INTELIGENTES 59) | ‘Coma es eT mane ‘Que pasar realize Fraccion “Que acein deb evar cabo ahora aquarquie Opa Figura 2.14 Un agente basado en utilidad y basado en modelos. Utiliza un modelo del mundo, junto con una funcién de utilidad que calcula sus preferencias entre los estados del mundo, Des pués selecciona la accidn que le eve a aleanzar la mayor utilidad esperada, que se calcula haciendo la media de todos los estados resultantes posibles, ponderado con Ia probabilidad del resultado, canzar algunos de ellos (por ejemplo, velocidad y seguridad), la funci6n de utilidad de- termina el equilibrio adecuado. Segundo, cuando haya varios objetivos por los que se pueda guiar el agente, y ninguno de ellos se pueda alcanzar con certeza, la utilidad pro- porciona un mecanismo para ponderar la probabilidad de éxito en funci6n de la impor- tancia de los objetivos. En el Capitulo 16, se mostrar’ mo cualquier agente racional debe comportarse como situviese una funcién de utilidad cuyo valor esperado tiene que maximizar. Por tanto, tun agente que poses una funcién de utilidad explicita puede tomar decisiones raciona- les, y lo puede hacer con Ia ayuda de un algoritmo de propésito general que no dependa de la funci6n espeeffica de utilidad a maximizar. De esta forma, la definicién «global» de racionalidad (identificando como racionales aquellas funciones de los agentes que pro- porcionan el mayor rendimiento) se transforma en una restriccién «local» en el disefio de agentes racionales que se puede expresar con un simple programa. La Figura 2.14 muestra la estructura de un agente basado en utilidad. En la Parte IV aparecen programas de agentes basados en utilidad, donde se presentan agentes que to- man decisiones y que deben trabajar con la incertidumbre inherente a los entornos par cialmente observables Agentes que aprenden Se han descrito programas para agentes que poseen varios métodos para seleccionar ac- ciones. Hasta ahora no se ha explicado emo poner en marcha estos programas de agen tes. Turing (1950), en su temprano y famoso articulo, considers Ia idea de programar sus miquinas inteligentes a mano, Estim6 cuanto tiempo podfa llevar y concluyé que «Se- 60 INTELIGENCIA ARTIFICIAL, UN ENFOQUT MODERNO, vemenro oF APRENOALE ‘ume oe seruncion cimcn ria deseable utilizar algdn método mis rapido». El método que propone es construir mi quinas que aprendan y después ensenarlas. En muchas areas de 1A, éste es ahora el mé todo mis adecuado para crear sistemas novedosos. El aprendizaje tiene otras ventajas, como se ha explicado anteriormente: permite que el agente opere en medios inicialmente desconocidos y que sea mis competente que si s6lo utilizase un conocimiento inicial En esta seccidn, se introducen brevemente las principales ideas en kas que se basan los agentes que aprenden. En casi todos los capitulos de este libro se comentan Las posibi- lidades y métodos de aprendizaje de tipos de agentes concretos, La Parte VI profundi ZA mas en los algoritmos de aprendizaje en sf mismos. Un agente que aprende se puede dividir en cuatro componentes conceptuales, tal y como se muestra en la Figura 2.15. La distineién mas importante entre el elemento de aprendizaje y cl elemento de actuacién es que el primero esti responsabilizado de hacer mejoras y el Segundo se responsabiliza de ka seleccién dle acciones externas. El elemento, de actuacisn es Jo que anteriormente se habfa considerado como el agente completo: recibe estimulos y determina las acciones « realizar. El elemento de aprendizaje se rea limenta con las critieas sobre la actuaciGn del agente y determina como se debe modi- ficar el elemento de actuaci6n para proporcionar mejores resultados en el futuro, El diseio del elemento de aprendizaje depende mucho del diseito del elemento de actuacién, Cuando se intenta disefiar un agente que te a capacidad de aprender, la pri ‘mera cuestién a solucionar no es zc6mo se puede ensenar a aprender?, sino {qué tipo de clemento de actuacién necesita ef agente para Hevar a cabo su objetivo, euando haya aprendido cémo hacerlo? Dado un diseio para un agente, se pueden construit los me canismos de aprendizaje necesarios para mejorar cada una de fas partes del agente La critica indica al elemento de aprendizaje qué tal lo esté haciendo el agente con respecto a un nivel de actuaciGn fio. Lat eritiea es necesaria porque las percepciones pot si mismas no prevén una indicacién del éxito del agente. Por ejemplo, un programa de Nivel de sca | ( Geka | : cambios - ‘oat mee, | atyjetivos ‘anendcr anuorquue O1payy | Agente Aceustoen eneral para agentes que aprenden, ‘senaoon oe PROBLEMA AGENTES INTELIGENTES 61 ajedrez puede recibir una percepcién indicando que ha dado jaque mate a su oponente. pero necesita tener un nivel de actuaciGn que le indique que ello es bueno: la percepeion por si misma no lo indica. Es por tanto muy importante fijar el nivel de actuacién. Con- ceplualmente, se debe tratar con él como si estuviese fuera del agente, ya que éste no debe modificarlo para satisfacer su propio interés EL Gltimo componente del agente con capacidad de aprendizaje es el generador de problemas. Es responsable de sugerir acciones que lo guiaran hac vas ¢ informativas. Lo interesante es que si el elemento de actuacién sigue su camino, puede continuar Hevando a cabo las acciones que sean mejores. dado su conocimiento. Pero si el agente esta dlispuesto a explorar un poco, y Hevar a cabo algunas acciones que no sean totalmente 6ptimas a corto plazo, puede descubrir acciones mejores a largo pla- zo. El trabajo del generador de problemas es sugerir estas acciones exploratorias. Esto es lo que los cientificos hacen cuando Hevan a cabo experimentos. Galileo no pensaba que tirar piedras desde lo alto de una torre en Pisa tenfa un valor por simismo, El no tra- taba de romper piedras ni de cambiar la forma de pensar de transetintes desafortunados que paseaban por el lugar. Su intencién era adaptar su propia mente, para identificar una, teoria que definiese mejor el movimiento de los objetos. Para coneretar ef diserio total, se puede volver a utilizar el ejemplo del taxi automa tizado. El elemento de actuacién consiste en la coleccién de conocimientos y procedi mientos que tiene el taxi para seleccionar sus acciones de conduccién. El taxi se pone en marcha y circula utilizando este elemento de actuacién. La critica observa el mundo y proporciona informucién al elemento de aprendizaje. Por ejemplo, después de que el taxi se sitiie tres carriles hacia la izquierda de forma rapida, la critica observa el lenguuaje escandaloso que utilizan otros conductores. A partir de esta experiencia, el elemento dle aprendizaje es capa de formular una regla que indica que ésta fue una mala accién, y el elemento de actuacidn se modifica incorporando la nueva regla. El generador de pro- blemias debe identificar ciertas areas de comportamiento que deban mejorarse y sugerir experimentos, como probar los frenos en carreteras con tipos diferentes de superfi y bajo condiciones distintas. Elclemento de aprendizaje puede hacer cambios en cualquiera de los componentes de «conocimiento» que se muestran en los diagrams de agente (Figuras 2.9, 2.11, 2.13, y 2.14). Los casos mas simples incluyen el aprendizaje directo a partir de la secuencia percibida. La observacién de pares de estados sucesivos del entorno puede permitir que ef agente aprenda «cdmo evoluciona el mundo», y 1a observaciGn de los resultados de sus acciones puede permitir que el agente aprenda «qué hacen sus acciones». Por ejem- fa experiencias nue- plo, si el taxi ejerce una cierta presién sobre Jos frenos cuando esta circulando por una mo decelera el cache, Cktramente, estas dos tareay de aprendizaje son mas dificiles si s6lo existe una vista parcial del medio. Las formas de aprendizaje mostradas en los parrafos precedentes no necesitan el ac- ceso a niveles de actuacién externo, de alguna forma, el nivel es el que se utiliza uni versalmente para hacer prondsticos de acuerdo con ta experimentacién. La situacién es ligeramente mas compleja para un agente basado en utilidad que desee adquirir infor nde utilidad, Por ej caret uido conocerd c era Mojada, acto sey macidn para crear su funcié emiplo, se supone que el tor del taxi_no recibe propina de los pasajeros que han recorride un trayecto de forma ineémoda debido a unc malt conduccién, BI nivel de actuacién externo debe inform: 62 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO al agente de que la pérdida de propinas tiene una contribuci6n negativa en su nivel de actuacién medio; entonces el agente puede aprender que «amaniobras violentas no con- tribuyen a su propia utilidad>. De alguna manera, el nivel de actuacién identifica parte de las percepciones entrantes como recompensas (0 penalizaciones) que generan una respuesta directa en la calidad del comportamiento del agente. Niveles de actuacién in- tegrados como el dolor y el hambre en animales se pueden enmarcar en este contexto. El Capitulo 21 discute estos asuntos. En resumen, los agentes tienen una gran variedad de componentes, y estos compo- nentes se pueden representar de muchas formas en los programas de agentes, por lo que, parece haber una gran variedad de métodos de aprendizaje. Existe, sin embargo, una visi6n unificada sobre un tema fundamental. El aprendizaje en el campo de los agentes inteligentes puede definirse como el proceso de modificacidin de cada componente del agente, lo cual permite a cada componente comportarse mis en consonancia con Ia in. formacién que se recibe, lo que por t del agente. nto permite mejorar el nivel medio de actuacién 2.5 Resumen En este capitulo se ha realizado un recorrido rapido por el campo de la 1A, que se ha pre~ sentado como la ciencia del disefio de los agentes. Los puntos mais importantes a tener en cuenta son: + Un agente es algo que percibe y actia en un medio. La funcién del agente para un agente especifica li accién que debe realizar un agente como respuesta a cual- quier secuencia percibida. + La medida de rendimiento evalda el comportamiento del agente en un medio. Un agente racional acta con la intencién de maximizar el valor esperado de la me- dida de rendimiento, dada la secuencia de percepciones que ha observado hasta el momento. + Las especificaciones de! entorno de trabajo incluyen la medida de rendimiento, el medio externo, los actuadores y los sensores. El primer paso en el disefio de un agente debe ser siempre la especif torno de trabajo. + El entomo de trabajo varfa segtin distintos parimetros, Pueden ser total 0 parcial- mente visibles, deterministas 0 estociisticos, epissdicos o secuenciales, estiticos imicos, discretos o continuos, y formados por un tinico agente o por varios agentes + El programa del agente implementa la funcién del agente riedad de diseitos de programas de agentes. y reflejan el tipo de informacién que se hace explicita y se utiliza en el proceso de decisién, Los disefios varian en efi ciencia, solider y Mexibilidad, El diseno apropiado del programa del agente de: pende en gran medida de kr naturaleza del medio. + Los gentes reactivos simples responden directamente las percepeiones, mien tray que los agentes reactivos basados en modelos mantienen un estado interne i6n, tan completa como sea posible, del en xiste una gran va. coxTRoLADoR AGENTES INTELIGI que les permite seguir el rastro de aspectos del mundo que no son evidentes segtin las percepciones actuales. Los agentes basados en objetivos actiian con Ia inten ciGn de aleanzar sus metas, y los agentes basados en utilidad intentan maximizar su felicidad» deseada + Todos los agentes pueden mejorar su eficacia con la ayuda de mecanismos de aprendizaje. NOTAS BIBLIOGRAFICAS E HISTORICAS El papel central de 1a accién en fa inteligencia (la nocién del razonamiento préctico) se remonta por lo menos a ta obra Nicomachean Ethics de Aristételes. McCarthy (1958) traté también el tema del razonamiento practico en su influyente articulo Programs with Common Sense. Los campos de la tob6tica y Ja teorfa de control tienen, interés, por su propia naturaleza, en la construccién de agentes fisicos. El concepto de un controlador, en el ambito de la teorfa de control, es idéntico al de un agente en JA. Quiza sorprendentemente, la IA se ha concentrado durante la mayor parte de su historia en componentes aistados de agentes (sistemas que responden a preguntas, demostracién de teoremas, sistemas de visidn, y dems) en vez de en agentes comple tos. La discusién sobre agentes que se presenta en el libro de Genesereth y Nilsson (1987) fue una influyente excepcidn. El concepto de agente en sf esté aceptado ampliamente ahora en el campo y es un tema central en libros recientes (Poole et al., 1998; Nilsson, 1998) ftulo | muestra las raices del concepto de racionalidad en la Filosofa y la Eco- nomfa. En la LA, el concepto tuvo un interés perifiérico hasta mediados de los 80, don. de comenzé a suscitar muchas discusiones sobre los propios fundamentos técnicos del campo. Un articulo de Jon Doyle (1983) predijo que el disefio de agentes racionales po- dria Hegar a ser la misiGn central de la LA, mientras otras dreas populares podrfan sepa. rarse dando lugar a nuevas disciplinas. Es muy importante tener muy en cuenta las propiedades del medio y sus conse- cuencias cuando se realiza el diseito de los agentes racionales ya que forma parte de la tvadici6n ligada a la teorfa de control [por ejemplo los sistemas de control clasicos (Dorf y Bishop, 1999) manejan medios deterministas y totalmente observables; el control 6p- timo estociistico (Kumar y Varaiya, 1986) maneja medios parcial mente observables y os y un control hibrido (Henzinger y Sastry. 1998) maneja entornos que con- tienen elementos discretos y continuos}. La distinci6n entre entornos totalmente y par- cialmente observables es también central en la literatura sobre programacién dindmi ca desarrollada en el campo de la investigaciGn operativa (Puterman, 1994), como se comentaré en el Capitulo 17. Los agentes reactivos fueron los primeros modelos para psicdlogos conduetistas como Skinner (1953), que intent6 reducir ka psicologia de los organismos estrictamente a co: rrespondencias entradu/salida estimulofrespuesta. La evolucién del behaviourismo hacia el funcionalismo en el eampo de ta psicologéa, que estuvo, al menos de forma par- cial, dirigida por ka aplicacién de la metifora del computador a los agentes (Putnam, 1960; estocasti Lewis, 1966) introdujo el estado interno del agente en e! nuevo escenario. La mayor par- 64 INTELIGENCIA ARTIFICIAL, LIN ENFOQUE MODERNO te del trabajo realizado en el campo de la TA considera que los agentes reactivos puros con estado interno son demasiado simples para ser muy influyentes, pero los trabajos de Rosenschein (1985) y Brooks (1986) cuestionan esta hipstesis (vase el Capitulo 25). En Jos tiltimos aitos, se ha trabajado intensamente para encontrar algoritmos eficientes capaces de hacer un buen seguimiento de entornos complejos (Hamscher e¢ al., 1992) El programa del Agente Remoto que controla la nave espacial Deep Space One (descrito en la pagina 27) es un admirable ejemplo concreto (Muscettola ef al., 1998: Jonsson et al, 2000), Los agentes basados en objetivos estan presentes tanto en las referencias de Arist6- teles sobre el razonamiento prictico como en los primeros articulos de McCarthy sobre IA Logica. El robot Shakey (Fikes y. Nilsson, 1971; Nilsson, 1984) fue el primer robot construido como un agente hasado en objetivos. El andilisis légico completo de un agen te basado en objetivos aparece en Genesereth y Nilsson (1987), y Shoham (1993) ha desarrollado una metodologia de programacién basada en objetivos Hamada programa cidn orientada a agentes. La perspectiva orientada a objetivos también predomina en la psicolo; va tradicional, coneretamente en el area de la resolucién de problemas, como se mues- tra tanto en el influyente Human Problem Solving (Newell y Simon, 1972) como en Jos tiltimos trabajos de Newell (1990). Los objetivos, posteriormente definidos como deseos (generales) y las intenciones (perseguidas en un momento dado), son funda- mentales en la teorfa de agentes desarroflada por Bratman (1987), Esta teorfa ha sido muy influyente tanto en el entendimiento del lenguaje natural como en los sistemas multiagente. Horvitz ef al. (1988) sugieren especificamente el uso de la maximizacién de la uti lidad esperada concebida racionalmente como la base de la IA. ELtexto de Pearl (1988) fue el primero en IA que cubrié las teorfas de ka probabilidad y la utilidad en profundi dad: su exposicion de métodos précticos de razonamiento y toma de decisiones con in- certidumbre fue, posiblemente. el factor individual que mas influy6 en el desarrollo de los agentes basados en utilidad en los 90 (véase la Parte V). El disefio general de agentes que aprenden representado en la Figura 2.15 es un ek sico de la literatura sobre aprendizaje automético (Buchanan ef al., 1978; Mitchell 1997). Bjemplos de disefios, implementados en programas, se remontan, como poco, his ta los programas que aprendian a jugar al ajedrez de Arthur Samuel (1959, 1967). La Parte VI esta dedicada al estudio en profundidad de los agentes que aprenden. El interés en los agentes y en el disefto de agentes ha crecido ripidamente en los til timos aitos, en parte por la expansi6n de Internet y la necesidad observada de desarre: lar softhots (robots sofware) automuticos y méviles (Etzioni y Weld, 1994), Artfeulos relevantes pueden encontrarse en Readings in Agents (Hubns y Singh, 1998) y Funda tions of Rational Agency (Wooldridge y Rao, 1999). Multiagent Systems (Weiss, 1999) proporciona una base silida para muchos aspectos del diseiio de agentes. Conferencias dedieadas a agentes incluyen la Intemational Conference on Autonomous Agents, la Ln ternational Workshop on Agent Theories, Architectures, and Languages, y la Interna tional Conference on Multiagent Systems. Finalmente, Dung Beetle Ecology (Hanshi s Cambefort, 1991) proporciona gran cantidad de informacién inte portamento de fos escarabajos estercoleros. esante sobre el cont GENTES INTELIGENTES 65 EJERCICIOS 2.1 Defina con sus propias palabras los sig programa de agente. ra agente busado en objetivos, agente basado en utilidad, agente q uientes términoy: agente, funcidn de agente. nte basado en modelo, aprende. pnalidad, autonomia, agente reactivo, ag 2.2 Tanto la medida de rendimiento como la funcién de wtilidad miden la eficiencia del agente, Explique la diferencia entre los dos conceptos. 2.3. Este ejercicio explora las diferencias entre las funciones de los agentes y los programas de los agentes. a) {Puede haber mas de un programa de agente que implemente una funcién de nte dad? Proponga un ejemplo, o muestre por qué una no es posible by {Hay funciones de agente que no se pueden implementar con algun programa de agente? ¢) Dada una arquitectura maquina, ,implementa cada programa de agente exacta- mente una funcién de agente? @) Dada una arquitectura con 1 bits de almacenamiento, ;cudntos posibles pro- gramas de agente diferentes puede almacenar? 24 aminese ahora la racionalidad de varias funciones de agentes aspiradora. a) Muestre que la funcién de agente aspiradora descrita en la Figura 2.3 es real- mente racional bajo 1a hipstesis presentada en la pagina 36. 6) Deseriba una funcidn para un agente racional cuya medida de rendimiento mo: difivada deduzea un punto por cada movimiento. ;Requiere el correspondiente programa de agente estado interno? ¢) _Discuta posibles disefios de agentes para los casos en los que kas cuadriculas lim- pias puedan ensuciarse y la geogratia del medio sea desconocida. ;’Tiene senti- do que el agente aprenda de su experiencia en estos casos? {Si es asi, qué debe aprender? 5 Identifique la descripeién REAS que det los si eel entorno de trabajo para cada uno de uientes agentes’ a) Robot que juega al fitbol; b) Agente para comprar libros en Internet ©) Explorador auténomo de Marte; d) Asistente matemiitico para la demostracin de teoremas, 2.6 Para cada uno de los tipos de agente enumerados en el Ejervivio 2.5, caracterice el medio de acuerdo con las propiedades dadas en la SecciGn 2.3. y seleccione un disefio de ayente adecuado, Los siguientes ejer icios estan relacionados con ka implementa tes para ef mundo de kt aypiradora in de entornos ya 2.7. hmplemente un simulador que determine La medida de rendimiento para el entomo del mundo de ka aspiradora deserito en la Figura 2.2 y expecificado en fa pigina 36. Lat implementacidin debe sev modular, de forma que los sensores. actuadores, y fas earacte- risticas del entorno (tamaio, Forma, Jocalizacisn de a suciedad, ete.) puedan moditicar 66 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO, se fécilmente, (Nota: hay implementaciones disponibles en el repositorio de Internet que pueden ayudar a decidir qué lenguaje de programaci jonar), n y sistema operativo selec 2.8 _Implemente un agente reactivo simple para el entorno de la aspiradora del Ejercicio 2.7. Bjecute el simulador del entorno con este agente para todas las configuraciones ini Ciales posibles de suciedad y posiciones del agente, Almacene fa puntuacién de la actua- ién del agente para cada configuraciGn y la puntuacién media global 2.9 Considere una versiGn modificada del entomo de la aspiradora del Ejercicio 2.7, en el que se penalice al agente con un punto en cada movimiento, @) (Puede un agente reactivo simple ser perfectamente racional en este medio? Ex- pliquese. b) Qué sucederia con un agente reactivo con estado? Disefie este agente ¢) {Cémo se responderian las preguntas a y b si las percepciones proporcionan al agente informacién sobre ef nivel de suciedad/limpieza de todas las cuadricu las del entorno? 2.10 Considere una versién modificada del entorno de la aspitadora del Ejercicio 2.7, en el que la geografia del entorno (su extensién, lmites, y obsticulos) sea desconocida, as{ como, la disposicién inicial de la suciedad. (El agente puede ir hacia arriba, abajo, asi como, hacia la derecha y a la izquierda.,) a) Puede un agente reactivo simple ser perfectamente racional en este medio? Ex- pliquese. b) Puede un agente reactivo simple con una funcidn de agente aleatoria superar un agente reactivo simple? Disefte un agente de este tipo y medir su rendimiento en varios medios, ¢) {Se puede disefar un entorno en el que el agente con Ja funcién aleatoria ob- tenga una actuacién muy pobre? Muestre los resultados. d);Puede un agente reactivo con estado mejorar los resultados de un agente reae- tivo simple? Disefic un agente de este tipo y medir su eficiencia en distintos me dios. ;Se puede disefar un agente racional de este tipo? 211 Repitase el Ejercicio 2.10 para el caso en el que el sensor de localizacién sea reemplazado por un sensor «le golpes» que detecte si cl agente golpea un obsticulo 0 si se sale fuera de los limites del entorno, Supéngase que el sensor de golpes deja de fun cionar. ;Cémo debe comportarse el agente? 2.12, Los entornos de ta aspiradora en los ejercicios anteriores han sido todos determi- nistas. Discuta posibles programas de agentes para cada una de las siguientes versiones estocdisticas @) Ley de Murphy: el 25 por ciento del tiempo, fa accién de Aspirar falla en la lim picza del suclo si esta sucio y deposita suciedad en el suelo si el suelo esta Lim pio. ,Cémo se ve afectado ef agente si ef sensor de suciedad da una respuesta incorrecta el diez por ciemto de las veces? 1b) Nilo pequefio: en cada lapso de tiempo, cada recuadro limpio tiene un diez por ciento de posibilidad de ensuciarse. ; Puede identificar un disefio pari un agen te racional en este caso? Resolver problemas mediante busqueda En donde veremos cémo un agente puede encontrar una secuencia de acciones que alcance sus objetives, cuando ninguna accién simple lo hard. Los agentes mas simples discutidos en el Capitulo 2 fueron los agentes reactivos, los cua les basan sus aeciones en una aplicacién directa desde los estados a las acciones. Tales agentes no pueden funcionar bien en entornos en los que esta aplicacién sea demasiado grande para almacenarla y que tarde mucho en aprenderla, Por otra parte, los agentes basados en objetivos pueden tener éxito considerando lat de sus resultados, cciones futuras y lo deseable Agente nesovene Este capitulo describe una clase de agente basado en objetivos llamado agente re- iiaeasinaa solvente-problemas, Los agentes resolventes-problemas deciden qué hacer para en contrar secuencias de acciones que conduzean a los estados deseables. Comenzamos de- finiendo con precision los elementos que constituyen el «problema» y su «soluciém», y jaremos diferentes ejemplos para ilustrar estas definiciones. Entonces, describimos diferentes algoritmos de propdsito general que podamos utilizar pars resolver estos pro- forma- dos, en el sentido que no dan informacién sobre el problema salvo su definicién, EI Capitulo 4 se ocupa de los algoritmos de biisqueda informada de dnde buscar las soluciones blemas y asf comparar las ventajas de cada algoritmo, Los algoritmos son no, los que tengan cierta idea Este capitulo utiliza los conceptos de andlisis de liarizados con los conceptos de complejidad asintética (es decir, notacién OO) y la NP completitud, deberia consultar el Apéndice A. algoritmos. Los lectores no fami 3.1 Agentes resolventes-problemas Se supone que los agentes inteligentes deben maximizar su medida de re Jimiento, Como mencionamos en el Capitulo 2, esto puede simplificarse algunas veces si el agente puede 68 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, Fonmutacion et aio Formutacion DELPROBLEIMA clegir un objetivo y (rata de satisfacerlo, Pr hacerlo. Imagine un agente en la ciudad de Arad, Rumanfa, disfrutando de un viaje de vaca- ciones, La medida de rendimiento del agente contiene muchos factores: desea mejorar su bronceado, mejorar su rumano, tomar fotos, disfrutar de la vida noctu sacas, eteétera, El problema de decisién es complejo implicando muchos elementos y por eso, lee cuidadosamente las gufas de viaje. Ahora, supongamos que el agente tiene un billete no reembolsable para volar a Bucarest al dia siguiente. En este caso, tiene sen- Lido que el agente elija el objetivo de conseguir Bucatest. Las acciones qu Bucarest se pueden rechazar sin mas consideraciones y el problema de decisién del agen- te se simplifica enormemente. Los objetivos ayudan a organizar su-comportamiento li- mitando las metas que intenta alcanzar el agente. El primer paso para solucionar un pro- blema es la formulacién del objetivo, basso en la situacién actual y Ia medida de rendimiento del agente. Consideraremos un objetivo como un conjunto de estados del mundo (exactamente ‘aquellos estados que satisfacen el objetivo). La tarea del agente es encontrar qué secuencia de acciones permite obtener un estado objetivo. Para esto, necesitamos decidir qué ac- jones y estados considerar, Si se utilizaran acciones del tipo «mueve el pie izquierdo hacia delante» o «gira el volante un grado a la izquierda, probablemente el agente nun- ca encontrarfa la salida del aparcamiento, no digamos por tanto Hlegar a Bucarest, por que a ese nivel de detalle existe demasiada incertidumbre en el mundo y habria dema- siadlos pasos en una solucién, Dado un objetivo, a formulacién del problema es el proceso de decidir qué acciones y estados tenemos que considerar, Discutiremos con mis detalle este proceso, Por ahora, suponemos que el agente considerard acciones del tipo conducir de una ciudad grande a otra, Consideraremos los estados que corresponden a estar en una ciudad! determinada. Ahora, nuestro agente ha adoptado el objetivo de conducir a Bucarest, y considera adonde ir desde Arad, Existen tres carreteras desde Arad, una hacia Sibiu, una a Timi- soara, y una a Zerind, Ninguna de éstas alcanza el objetivo, y, a menos que el agente este familiarizado con la geograffa de Rumania, no sabria qué carretera seguir". En oteas pa- labras, ef agente no sabré cual de las posibles acciones es mejor, porque no conoce lo suficiente Jos estados que resultan al tomar cada accién, Si el agente no tiene conoci- miento adicional, entonces estard en un callején sin salida, Lo mejor que puede hacer es eseoger al avar una de fas aeciones, Pero, supongamos que el agente tiene un mapa de Rumanfa, en papel o en su me- moria. El propdsito del mapa es dotar al agente de informacién sobre los estados en los que podria encontrarse. asf como las acciones que puede tomar. El agente puede usar esta informacién para considerar los siguientes estados de un viaje hipotético por cada una de las res ciudades, intentando encontrar un viaje que Hegue a Bucarest, Una vez. que nero miraremos el porqué y cémo puede 1, evitar re- no aleanzan "Observe que eas uno de estos «estadas» se corresponde realmente un conjunto de estas del mand porque un estado del mune real especifies todos los aspeetos de realidad, Es importante mantener en men te la listineisinentee estos lel problenta at resolver y los estado del mundo, Supoemers que la mayota de fs lectores eskin nf misma situacion y pueden faeilmenteimaginarse eb slo desorientalo esti nuestro age fe. Pevimos diseulpas alos letores rumanos «iene ne pueden prose ‘curse de este recurso ped vusaveo souucidn ecucion RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 69 ha encontrado un camino en el mapa desde Arad a Bucarest, puede alcanzar su objeti- vo, tomando las acciones de conducir que corresponden con los tramos del viaje. Bs ‘general, wit agente con distintas opciones inmediatas de valores desconocidos puede decidir qué hacer, examinando las diferentes secuencias posibles de aceiones que le con- duzean a estados de valores conocidos, y entonces escoger la mejor secuencia. Este proceso de hallar esta secuencia se Hama biisqueda. Un algoritme de baisque- da toma como entrada un problema y devuelve una solucién de ta forma secuencia de acciones. Una vez que encontramos una solucidn, se procede a ejecutar las acciones que Esta recomienda. Esta es la Tamada fase de ejecucidn. Asi, tenemos un diseito simple de un agente «formular, buscar, ejecutar», como se muestra en la Figura 3.1, Después de formular un objetivo y un problema a resolver, el agente Hama al procedimiento de biisqueda para resolverlo, Entonces, usa la soluci6n para guiar sus acciones, haciendo lo que la soluci6n le indica como siguiente paso a hacer —generalmente, primera ac- cién de la secuencia—~ y procede a eliminar este paso de la secuencia. Una vez ejecuta da la solucién, el agente formula un nuevo objetivo. Primero describimos el proceso de formulacién del problema, y después dedicare- mos la tltima parte del capitulo a diversos algoritmos para la funcién BUSQUEDA. En este capitulo no discutiremos las funciones ACTUALIZAR-EStADO y FORMULAR-OBIETIVO, Antes de entrar en detalles, hagamos una breve pausa para ver dénde encajan los agentes resolventes de problemas en la discusidn de agentes y entornos del Capitulo 2. ido en Ja Figura 3.1 supone que el entorno es estitico, porque la for mulacién y buisqueda del problema se hace sin prestar atencién a cualquier cambio que puede ocurriren el entomo. El agente disenado también supone que se conoce el est do inicial; conocerlo es Facil si el entorno es observable, La idea de enumerar «las lé El agente dis —— entra percepeién, una percepeién estitica: sec, una seewenci de aceiones, vacia inicialmente ‘estado, una deseripeién del estado actual del mundo, objetivo, un objetivo, inieialmente nulo problema, una formulacion del problems | cestade — ACTUALIZAR-EStADOtestado, perrepeién) si sec esti vaefa entonces hacer abjetive — Forwu an-Osenivotestado} problema <— Fonsut ak-ProsLematestado.objetivo) | see & Busovera(problema | devin — Prinrotvecuencia) { J see & Ristotsecwencid | devolver uccivin | 1 Un sencillo agente resotyente de problemas. Primero formula un objetivo y un pro- | biema, busca una secuencia de acciones que deherian resolver el problema, y entonces ejecuta las | aceiones una cada vez, Cuando se ha completado, formula otro objetive y comienza de nuevo, No- | temos que cuando se ejecuta la Secuencia, se ignoran sus percepeiones: se supone que la solucidn } encontrada trabajar bien, | 710 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO zo aairo PROBLEM sTADO ICAL unotdn suceson sero o sTaD0S Test oBserW0 neas de accién alternativas» supone que el entorno puede verse como disereto, Final mente, y mas importante, el agente disefiado supone que el entorno es determinista Las soluciones a los problemas son simples secuencias de acciones, asi que no pueden manejar ningtin acontecimiento inesperado; ademas. las soluciones se ejecutan sin prestar atencidn a las percepciones. Los agentes que realizan sus planes con los ojos cerrados, por asf decirlo, deben estar absolutamente seguros de lo que pasa (los tedri- cos de contro! lo Laman sistema de Lazo abierto, porque ignorar las percepciones rom pe el lazo entre el agente y el entorno). Todas estas suposiciones significan que trata- mos con las clases mis féciles de entornos, razdn por la que este capitulo aparece tan pronto en el libro. La Seccién 3.6 echa una breve ojeada sobre lo que relajamos las suposiciones de observancia y de determinismo. Los Capitulos 12 y 17 entran mas en profundidad sucede cuando Problemas y soluciones bien definidos entes: Un problema puede definirse, formalmente, por cuatro compon * Elestado inicial en el que comienza el agente. Por ejemplo, el e: nuestro agente en Rumania se describe como En(Arad). + Una descripcisn de las posibles acciones disponibles por el agente, La formula- cién' mas comin utiliza una funeién sucesor. Dado un estado particular x crSOR-EN(x) devuelve un conjunto de pares ordenados (accidn, sucesor), donde cada accidn es una de las acciones legales en el estado x y cada sucesor es un estado que puede alcanzarse desde x, aplicando la accién. Por ejemplo, desde el estado En(Arad), la funcién sucesor para el problema de Rumania devolvera ado inicial para ((r( Sibiu, En(Sibitn), (Ir(Timisoara), En(Tonisoara)), (Ir(Zerind), En(Zerind))) Implicitamente el estado inicial y la funcién sucesor definen el espacio de esta dos del problema (el conjunto de todos Jos estados alcanzables desde el estado ini cial), El espacio de estados forma un grafo en el cual los nodos son estados y los arcos entre los nodos son acciones. (EI mapa de Rumanfa que se muestra en la Fi gura 3.2 puede interpretarse como un grafo del espacio de estados si vemos cada carretera como dos acciones de conducir, una en cada direccién). Un camino en, el espacio de estados es una secuen de estados conectados por una secuencist de acciones, + El test objetivo, el cual determina si un estado es un estado objetivo, Algunas ve ces existe un conjunto explicito de posibles estados objetivo, y el test simplemente comprueba si el estado es uno de ellos. El objetivo del agente en Rumanfa es el conjunto {En(Bucarest)}. Algunas veces el objetivo se especifica como una pro- piedad abstracta mas que como un conjunto de estados enumerados explicitamente. Por ejemplo, en el ajedrez, el objetivo es aleanzar un estado llamado «jaque mate donde atacado y no tiene eseapatoria. 1 rey del oponente es Una formulicisn altemativa utiliza un conjunto de operadores que pueden splicarve a un esta pat ar asi fos scesores, RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 71 vast D tira Urricent Bucarest costo et camo + Una funcién costo del camino que asigna un costo numérico a cada camino. El agente resolvente de problemas elige una funcién costo que refleje nuestra medida de rendimiento, Para el agente que intenta llegar a Bucarest, el tiempo es esencial. asi que el costo del camino puede deseribirse como su longitud en kil6mettos. En este capitulo, suponemos que el costo del camino puede describirse como la suma. de los costos de las acciones individuales a lo largo del camino. El costo indivi- dual de una acci6n a que va desde un estado x al estado y se denota por (1,4) Los costos individuales para Rumanfa se muestran en la Figura 3.2.como las di tancias de las carreteras. Suponemos que fos costos son no negativos cso noIOUAL Los elementos anteriores definen un problema y pueden unirse en una estructura de da- tos simple que se daré como entrada al algoritmo resolvente del problema. Una solucién. de un problema es un camino desde el estado inicial a un estado objetivo. La calidad de sowyognderma La soluciGn se mide por la funcidn costo del camino, y una soluci6n 6ptima tiene el cos- to més pequefio del camino entre todas las soluciones. Formular los problemas En Ia seccidn anterior propusimos una formulacién del problema de ir a Bucarest en términos de estado inicial, funcién sucesor, test objetivo y costo del camino. Esta formulacién parece razonable, a pesar de omitir muchos aspectos del mundo real. Pars Las implicaciones de eostos negativas se exploran en el Bjercici 3.17 72 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO anstraccion comparar [a descripcisn de un estado simple, hemos escogido, En(Arad), para un viaje real por el pafs, donde viaje, lo que esté en la radio, el paisaje, si ha jos la parada siguiente, el estado de la carretera, el tiempo, eteétera, Todas estas consi deraciones se dejan fuera de nuestras descripciones del estado porque son irrelevantes para el problema de encontrar una ruta a Bucarest. Al proceso de eliminar detalles de una representaci6n se le Hama abstraceién, Ademis de abstraer la descripeién del estado, debemos abstraer sus acciones. Una accidn de conducir tiene muchos efectos. Ademas de cambiar la localizaci6n del vehi culo y de sus ocupantes, pasa el tiempo, consume combustible, genera contaminacién y cambia el agente (como dicen, el viaje ilustra). En nuestra formulacién, tenemos en cuenta solamente el cambio en la localizacién, También, hay muchas acciones que omi tiremos: encender la radio, mirar por Ia ventana, el retraso de los policias, eteétera. Y por supuesto, no especificamos acciones a nivel de «girar la rueda tres grados a la iz quierda» {Podemos ser més precisos para definir los niveles apropiados de abstraccién? Pien se en los estados y las acciones abstractas que hemos elegida y que se corresponden con. grandes conjuntos de estados detallados lel mundo y de secuencias detalladas de acciones. Ahora considere una solucién al problema abstracto: por ejemplo, la trayectoria de Arad a Sibiu a Rimnicu Vileea a Pitesti a Bucarest. Esta soluci6n abstracta corresponde a una ran cantidad de trayectorias mas detalladas. Por ejemplo, podriamos conducir con la radio encendida entre Sibiu y Rimnicu Vileea, y despues lo apagamos para el resto del viaje. La abstraccidn es vélida si podemos ampliar cualquier solucién abstracta a una cl estado del mundo incluye muchas cosas: los compateros de unos policfas cerca, como esté de le- solucidn en el mundo mas detallado: una condicisn suficiente es que para cada estado detallado de «en Arad», haya una trayectoria detallada a algtin estado « tera, La abstraccidn es til si al realizar cada una de las acciones en la solucién es mais ficil que en el problema original conduce sin biisqueda o planificacién adicional. La eleceién de una buena abstraccién implica quitar tantos detalles como sean posibles mientras que se conserve la valide7 y se asegure que las acciones abstractas son ficiles de tealizar. Sino fuera por ka capaci dad de construir abstracciones titles, los agentes inteligentes quedarfan totalmente ab, sorbidos por el mundo real. ibiu>, etce n este caso pueden ser realizadas por un a ente que 3.2 _Ejemplos de problemas Ponta o¢ suguere PROBLEMA De. ‘MUNDO Rea La metodologfa para resolver problemas se ha aplicado a un conjunto amplio de entor dJgunos de los mas conocidos, distin juguete y del mundo-real, Un problema de juguete se utiliza para ilustrar o ejereitat Estos se pueden descr coneisa, Esto significa que diferentes investigadores pueden utilizarlos feilmente pars comparar el funcionamiento de los algoritmos. Un problema del mundo-real es auc! nos. Enumeramos aqui a suiendo entre problemas de Jos métodos de resolucidn de problemas pir de forma exacta en el que la gente se preacupa por sus soluciones, Ellos tienden a no tener una sola des cripeién, pero nosotros intentaremos dar Ja forma general de sus formulaciones. RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 73 Problemas de juguete El primer ejemplo que examinaremos es el mundo de la aspiradora, introducido en el Capitulo 2. (Véase Figura 2.2.) Este puede formular e como sigue’ + Estados: el agente esta en una de dos localizaciones, cada una de las cttales pue~ de o no contener suciedad. Asi, hay 2 2" = 8 posibles estados del mundo. ado inicial: cualquier estado puede designarse como un estado inicial + Funcién sucesor: ésta genera los estados legales que resultan al intentar las tres acciones (I:quierda, Devecha y Aspivar). En la Figura 3.3 se muestra el espacio de estados completo. + Test objetivo: comprueba si todos los cuadrados estén limpios. + Costo del camino: cada costo individual es 1, asf que el costo del camino es et niimero de pasos que lo compone. Comparado con el mundo real, este problema de juguete tiene localizaciones diseretas, suciedad disereta, limpieza fiable, y nunca se ensucia una vez que se ha limpiado. (En Ja Seccidn 3.6 relajaremos estas suposiciones). Una cosa at tener en cuenta es que el es- determinado por la localizaci6n del agente y por las localiza ciedad, Un entomno grande con n localizaciones tiene 2” estado. tado est ciones de la su- ‘ i dy jPaag \ [a =a =] \n : a ple L | lee 3 | [xe } ¢ ) ' - ' ¢ ) 7 5 i C | f . Ds 7 a | y ' Ct | ‘ i | | ‘gura 3.3 Espacio de estados para el mundo de la aspiradora. Los arcos denotan fas acciones: 1 T:quierda, D = Derecha, A = Aspirar sume F1 8-puzle, Ia Figura 3.4 muestra un ejemplo, consiste en un tablero de 3 3 con ocho fichas numeradas y un espacio en blanco. Una ficha adyacente al espacio en blanco pue de deslizarse a éste, Lat metaes aleanzar el estado objetivo especificado, tal como se mues- tra a la derecha de la figura, La formulacién estandar es como sigue: + Estados la descripeidn de un estado especifica la localizacién de cada una de las ocho fichas y ef blanco en eada uno de los nueve cuadrados, 74 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO PIETAS DEsLZANTES PROBLEMA o-EWAS + Estado inicial: cualquier estado puede ser un estado inicial, Notese que cualquier objetivo puede alcanzarse desde exactamente fa mitad de los estados iniciales po- sibles (Ejercicio 3.4) + Funcién sucesor: ésta genera los estados legales que resultan de aplicar las cus. tro acciones (mover el blanco a la [:quierda, Derecha, Arriba y Abajo). + Test objetivo: comprueba si el estado coincide con la configuracisn objetivo que se muestra en la Figura 3.4. (son posibles otras configuraciones objetivo). * Costo del camino: el costo de cada paso del camino tiene valor L, asi que el cos- to del camino es el mimero de pasos. {Qué abstracciones se han incluido? Las acciones se han abstraido a los estados ini- ciales y finales, ignorando las localizaciones intermedias en donde se deslizan los bloques. Hemos abstraido acciones como la de sacudir el {ablero cuando las piezas no se pueden mover, o extraer las piezas con un cuchillo y volverlas a poner, Nos dejan con una descripeidn de las reglas del puzle que evitan todos los detalles de manipulaciones, fisieas [ we || [3] [3] [s] Estado Inicial Estado Objetive Figura 34 Un ejemplo tipico del $-puzle, EI 8-pucle pertenece a la familia de puzles con piezas destizantes, los cuales a menu- do se usan como problemas test para los nuevos algoritmos de IA, Esta clase general se conoce por ser NP completa asi que no esperamos encontrar métodos perceptible mente mejores (en el caso peor) que los algoritmos de busqueda descritos en este capitulo y en el siguiente, El 8-purle tiene 91/2 ~ 181,440 estados alcanzables y se resuelve Ficilmente. EI 15 puzle (sobre un tablero de 4X 4) tiene alrededor de 1.3 ti- Hones de estados, y configuraciones aleatorias pueden resolverse éptimamente en pocos milisegundos por los mejores algoritmos de busqueda, EI 24 puzle (sobre un tablero de 5 5) tiene alrededor de 10* estados, y configuraciones aleatorias siguen siendo ab- solutamente dificiles de resolver de manera 6ptima con los computadores y algoritmos actuales, FJ objetivo del problema de las 8-reinas es colocar las ocho reinas en un tablero de ajedres de manera que cada reina no ataque a ninguna otra. (Lina reina ataea alguna pie 221 siesti en lt misma fila, columna o diagonal.) Lat Figura 3.5 muestra una configura cién que no es solucién: la reina en fa columna de nufs a fa derecha esti atacando a ls rina de arriba a fa izquierda, Fonmuacion INCREMENTAL onmucacion staD0s RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 75: 5 Casi una solucién del problema de las 8-reinas. (La solucién se deja como ejercicio.) Aunque existen algoritmos eficientes espeeificos para este problema y pars el problema general de las 1 reinas, sigue siendo un problema test interesante para los algoritmos de buisqueda. Existen dos principales formulaciones. Una formulacién incremental que im- plica a operadores que aumentan fa descripeidn del estado, comenzando con un estado vaefo; para el problema de las 8-reinas, esto significa que cada acci6n affade una re al estado. Una formulacién completa de estados comienza con las ocho reinas tablero y kas mueve. En cualqui el caso, el coste del camino no tiene ningtin interés porque solamente cuenta el estado final, La primera formutacién incremental que se puede intentar es la siguiente: + Estados: cualquier combinaci6n de cero a ocho reinas en el tablero es un estado. reina sobre el tablero. ningun: + Estado inici + Funeién sueesor: afiadir una reina a cuslq + ‘Test objetivo: ocho reinas sobre el tablero, ninguna es atacada ier Cuadrade vacto. esta formulacién, tenemos 64+ 63 +++ 57 = 3 10" posibles combinaciones a in vestigar. Una mejor formulacién deberi prohibir colocar una reina en cualquier euadra- do que esté realmente atacado: cidn de a reinas (0= n = 8 Estados: son estados, la combina desde la columna mas a la izquierda, sin que una reina ataque a otra + Funcién sucesor: safiadir una reina en cualquier cuadrado en fa coluimna mas a la inquierda vacfa tal que no sea atacada por cualquier otra reina |, una por columna de 3. 10! 42.057, y las soluciones son fciles de encontrar, Por otra parte, para 100 reinas fa formulacién ini Esta formulacién reduce el espacio de estados de las 8-reina cial tiene 10! estados mientras que las formulaciones mejoradas tienen cerca de 10° estado (Bjercicio 3.5). Esta es una reducci6n enorme, pero el espacio de estados mejo: rado sigue siendo demasiado grande para los algoritmos de este capitulo, El Capitulo 4 76 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO Pacem DDewUSOUEDA Poststas Tunisticos Prostena pe. ‘anuante oe ComeRCID describe la formulacién completa de estados y ef Capitulo 5 nos da un algoritmo senei- Ho que hace el problema de tn millén de reinas facil de resolver Problemas del mundo real minos de Hemos visto como el problema de biisqueda de una ruta esta definido en posiciones y transiciones «lo largo de ellas. Los algoritmos de bisqueda de rutas se han utilizado en una variedad de aplicaciones, tales como rutas en redes de computadores. planificacién de operaciones militares, y en sistemas de planificacisn de viajes de Hine- as aéreas. Estos problemas son complejos de especificar. Consideremos un ejemplo simplificado de un problema de viajes de lineas aéreas que especificamos come: + Estados: cada estado esta representado por una localizaci6n (por ejemplo, in a ropuerto) y la hora actual. + Estado inicial: especificado por el problema. + Funcién sucesor: devuelve los estados que resultan de tomar cualquier vuelo pro- gramado (quizii mas especificado por la clase de asiento y su posicidn) desde el aeropuerto actual a otro, que salgan a la hora actual mas el tiempo de trinsito del aeropuerto, + Test objetivo: gtenemos nuestro destino para uns cierta hora especificada? + Costo del camino: esto depende del costo en dinero, tiempo de espera, tiempo del vuclo, costumbres y procedimientos de la inmigracién, calidad del asiento, hora tipo de avidn, kilometraje del aviador experto, et Los sistemas comerciales de viajes utilizan una formulacién del problema de este tipo, con muchas complicaciones adicionales para manejar las estructuras bizantinas del pre- cio que imponen las lineas aéreas. Cualquier viajero experto sabe, sin embargo, que no todo el transporte aéreo va segtin lo planificado. Un sistema realmente bueno debe ineluir planes de contingencia (tales como reserva en Vuelos alternativos) hasta el punto de que Estos estén justificados por el coste y la probabilidad de la falta del plan original Los problemas turisticos estin estrechamente relacionados con los problemas de busqueda de una ruta, pero con una importante diferencia, Consideremos, por ejem plo, el problema, «visitar cada ciudad de la Figura 3.2 al menos una vez, comenzan do y finalizando en Buearest>. Como en la bisqueda de rutas, las acciones corresponden viajes entre ciudades adyacentes. El espacio de estados, sin embargo, es absolut mente diferente, Cada estado debe ineluir no sélo la localizacisn actual sino también las ciudades que el agente ha visitado. El estado inicial seria «En Bucarest: visitado {Bucarest}». un estado intermedio tipico serfa «En Vaslui; visitado { Bucarest, Urzi ceni. Vaslui}», y el test objetivo comprobarfa si el agente esta en Bucarest y ha visi tado las 20 ciudades. F1 problema del viajante de comereio (PVC) es un problema de ruta en la que cada ciudad es visitada exactamente una vez. La tarea principal es encontrar el viaje mds cor 10. El problema es de tipo NP duro, pero se ba hecho un gran esfuerzo para mejorar las capacidades de los algoritmos del PVC. Ademiis de pani Viajante de comercio, estos algoritmos se han utilizado para tareas tales. como fa plan acidin de los viajes del DistucN st veeacin oe wroeor SeoURNCiON PARA ELeNGABLAE utomneo ‘iso ot PaOTENAS susauconen nese RESOLVER PROBLEMAS MEDIANTE B QUEDA 77 ficacién de los movimientos de los taladros de un circuito impreso y para abastecer de miiquinas a las tiendas. Un problema de distribucién VLSI requiere la colocacién de millones de compo- nentes y de conexiones en un chip verificando que el area es minima, que se reduce al minimo el circuito, que se reduce al minimo las capacitaciones, y se maximiza la pro- duceién de fabricacién, El problema de la distribucién viene después de la fase de di seo l6gico, y esta dividido generalmente en dos partes: distribucién de las celdas y direccién del canal. En la distribucién de las celdas, los componentes primitivos del cir- cuito se agrupan en las celdas, cada una de las cuales realiza una cierta funcién, Cada celda tiene una caracteri a (el tamaiio y la forma) y requiere un cierto nimero de conexiones a cada una de las otras celdas. El objetivo principal es colocar fas celdas en el chip de manera que no se superpongan y que quede espacio para que los alambres que conectan celdas puedan colocarse entre ellas. La direcci6n del canal encuentra una ruta espeetfica para cada alambre por los espacios entre las celdas. Estos problemas de biis- queda son extremadamente complejos, pero definitivamente dignos de resolver. En el Ca- pitulo 4, veremos algunos algoritmos capaces de r La navegacién de un robot es una generalizacién del problema de encontrar una ruta descrito anteriormente. Mas que un conjunto discreto de rutas, un robot puede mo- verse en un espacio continuo con (en principio) un conjunto infinito de acciones y esta- dos posibles, Para un robot circular que se mueve en una superficie plana, el espacio es esencialmente de dos dimensiones. Cuando el robot tiene manos y piernas o ruedas que se deben controlar también, el espacio de biisqueda Mega a ser de muchas dimensiones. Lo que se requiere es que las técnicas avanzadas hagan el espacio de biisqueda finito. Examinaremos algunos de estos métodos en el Capitulo 25, Ademas de la complejidad del problema, los robots reales también deben tratar con errores en las Jecturas de los, sensores y controles del motor La secuenciacién para el ensamblaje automatico por un robot de objetos com- plejos fue demostrado inicialmente por FRebby (Michie, 1972). Los progresos desde entonces han sido lentos pero seguros, hasta el punto de que el ensamblaje de objetos tales como motores eléctricas son econdmicamente factibles. En los problemas de en- samblaje, lo principal es encontrar un orden en los objetos a ensamblar, Si se elige un orden equivocado, no habré forma de aadir posteriormente una parte de la secuencia sin deshacer el trabajo ya hecho. Verifiear un paso para la viabilidad de la sucesién es un problema de busqueda geométrico dificil muy relacionado con la navegaci6n del ro bot. Asi, la generacién de sucesores legates es ka parte costosa de la secuenciacién para cl ensamblaje. Cualquier algoritmo practico debe evitar explorar todo, excepto una fraccidn pequefta del espacio de estados. Otro problema de ensamblaje importante es el diseito de proteinas, en el que el objetivo es encontrar una secuencia de aminodei- dos que se plegaran en una proteina de tres dimensiones con las propiedades adecu das para curar alguna enfermedad En la actualidad, se ha incrementado la demanda de robots sofiware que realicen la baisqueda en Internet, la busqueda de respuestas 4 preguntas, de informacion relacio- nada o pars compras, Esto es una buena aplicacién para las téenicas de brisqueda, por que es Hicil concebir Internet como un grafo de nodos (piiginas) conectadas por arcos, Una descripeién completa de biisqueda en Internet se realiza en el Capitulo 10. solverlos, 78 INTBLIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, 3.3 Buisqueda de soluciones Ano oe ausaueon ono Oe BisOUEDR expN ‘eveRAR ESTRATEGIADE susoueon Hemos formulado algunos problemas, ahora necesitamos resolverlos. Esto se hace me- diante bisqueda a través del espacio de estados. Este capitulo se ocupa de las téenicas de biisqueda que utilizan un érbol de biisqueda explicito generado por el estado inicial y la funcién sucesor, definiendo asf el espacio de estados. En general, podemos tener un gra- fo de biisqueda mas que un drbol, cuando el mismo estado puede aleanzarse desde varios caminos. Aplazamos, hasta la Seccién 3.5, el tratar estas complicaciones importantes La Figura 3.6 muestra algunas de las expansiones en el arbol de biisqueda para en- contrar una camino desde Arad a Bucarest. La rafz del drbol de biisqueda es el nodo de btisqueda que corresponde al estado inicial, En(Arad). El primer paso es comprobar si éste es un estado objetivo, Claramente es que no, pero es importante comprobarlo de modo que podamos resolver problemas como «comenzar en Arad, consigue Arad. Como no estamos en un estado objetivo, tenemos que considerar otros estados. Esto se hace ex- pandiendo el estado actual; es decir aplicando la funcién sucesor al estado actual y ge- nerar asf un nuevo conjunto de estados. En este caso, conseguimos tres nuevos estado: En(Sibiu), En(Timisoara) y En(Zerind). Ahora debemos escoger cusil de estas tres po- sibilidades podemos considerar Esto es ka esencia de la busqueda, Hevamos a cabo una opeién y dejamos de lado las demas para mas tarde, en caso de que la primera opci6n no conduzca a una solucién, Supongamos que primero elegimos Sibiu. Comprobamos si es un estado objetivo (que rno To es) y entonces expandimos para conseguir En(Arad), En(Fagaras), En(Oradea) y En(RimnicuVilcea). Entonces podemos escoger cualquiera de estas cuatro o volver atts y escoger Timisoara o Zerind. Continuamos escogiendo, comprobando y expandiendo hhasta que se encuentra una soluci6n o no existen mas estados para expandir, El estado a expandir esti determinado por la estrategia de bisqueda. La Figura 3.7 describe in- formalmente el algoritmo general de biisqueda en arboles. Es importante distinguir entre el espacio de estados y el arbol de biisqueda, Para el problema de busqueda de un ruta, hay solamente 20 estados en el espacio de estados, uno por cada ciudad. Pero hay un nimero infinito de caminos en este espacio de esta dos, asi que el arbol de biisqueda tiene un ntimero infinito de nodos. Por ejemplo, los tres caminos Arad-Sibiu, Arad-Sibiu-Arad, Arad-Sibiu-Arad-Sibiu son los tres prime ros caminos de una secuencia infinita de caminos. (Obviamente, un buen algoritmo de busqueda evita seguir tales trayectorias; La Seccién 3.5 nos muestra cémo hacerlo) Hay muchas formas de representar los nodos, pero vamos « suponer que un nodo es una estructura de datos con cinco componentes: Estapo: el estado, del espacio de estados, que corresponde con el nodo: Novo Pape: el nodo en el drbol de buisqueda que ha generado este nodo: — AcciGN: lu acci6n que se aplicard al padre para generar el nodo: Costo pet, Camino: el costo, tradicionalmente denotado por g(), de un cami no desde el estado inicial al nodo, indicado por los punteros 3 los padres; y — PROFUNDInAD: el mtimero de pasos a los largo del camino desde el estado inicial Es importante recordar la distincidn entre nodos y estados. Un nodo es una estructura de datos usada para representar el drbol de bisqueda, Un estado corresponde uns Frowrenk RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 79 7 (a) Estado iniciat | (b) Después de expandir Arad | | | { Figura 36 Arboles de bisqueda pancales para encontror una rta desde Arad hasta Bucarest, Se sombrean los nodos que se han expandido; los nodos que s han genera pero todavia va se han expandido se rodean en negrita; los nodos que todavia nose han generado se marcan con lines BO ~~ © O x, é ee pF ®@or* » 6 & Figura 3.10 Basqueda primero en anchura sobre un arbol binario sencillo, En cada etapa, el pro- ximo nodo a expandir se indica con una marca téenicamente, la biisqueda primero en anchura es éptima si el costo del camino es una funcién no decreciente de la profundidad del nodo (por ejemplo, cuando todas las ae- ciones tienen ef mismo coste). Hasta ahora, la informacién sobre la biisqueda primero en anchurs ha sido buena. Para ver por qué no es siempre la estrategia a elegir, tenemos que considerar la cantidad. de tiempo y memoria que utiliza para completar una biisqueda. Para hacer esto, consi- deramos un espacio de estados hipotético donde cada estado tiene b sucesores. La raiz del drbol de bisqueda genera b nodos en el primer nivel, cada uno de ellos genera b no- dos mis, teniendo un total de b* en el segundo nivel. Cada uno de estos genera b nodos iis, teniendo b* nodos en el tercer nivel, etcétera. Ahora supongamos que la solucién esté a una profundidad d. En el peor caso, expandiremos todos excepto el titimo nodo 1 el nivel d (ya que el objetivo no se expande), generando b"*! ~ b nodos en el nivel d 1. Entonces el niimero total de nodos generados es, DEB ED He DUE HM = b) = OT), Cada nodo wenerado debe permanecer en la memoria, porque 0 es parte de ka frontera 0 un antepasado de un nodo de a frontera. La complejidad en espacio es, por lo tanto, Ja misma que la complejidad en tiempo (mds un nodo para la raiz). Los que hacen analisis de complejidad estan preocupados (o emocionados. ta el desafi si les gus- ) por las cotas de complejidad exponencial como O("'), La Figura 3.11 muestra por qué, Se enumera el tiempo y Ja memoria requerida para una biisqueda pri mero en anchura con el factor de ramificaciGn b = 10, para varios valores de profundi- Profundidad Nodos 1.100 I megabyte | | ‘ io 19min Waiesbyes | | ‘ wo" 31 horas Terie | i 10! 129 dias LOL terabytes | | Io! 35 alos Wpetabytes | ios 3520 aon roby Figura 3.11 Requisitos de tiempo y espacio para la d, Su complejidad en tiempo es O(b) y stu complejidad en espacio es O(be). La buisqueda primero en profundidad puede verse como un caso especial de busqueda de profundidad limitada con € = A veces, los limites de profundidad pueden estar basados en el conocimiento del pro- blema, Por ejemplo, en el mapa de Rumanfa hay 20 ciudades. Por lo tanto, sabemos que si hay una solucién, debe ser de longitud 19 como mucho, entonces ¢ = 19 es una op- ci6n posible. Pero de hecho si estudidramos el mapa con cuidado, descubririamos que cualquier ciudad puede alcanzarse desde otra como mucho en nueve pasos. 10, conocido como el didmetro del espacio de estados, nos da un mejor I fundidad, que conduce a una biisqueda con profundidad Ii mayor parte de problemas, sin embargo, no conoceremos un I no hasta que hayamos resuelto el problema. bxisqueda de profundidad limitada puede implementarse con una simple modifi- cacién del algoritmo general de busqueda en arboles o del algoritmo recursivo de bis: queda primero en profundidad. En la Figura 3.13 se muestra el pseudocédigo de a bis: queda recursiva de profundidad limitada, Notemos que Ja biisqueda de profundidad limitada puede terminar con dos clases de fracaso: el valor de fracaso estindar indicando que no hay ninguna solucién; el valor de corte indicando que no hay solucién dentro del limite de profundidad, este nti e- nite de pro- la nite de profundidad buc- nitada mas eficiente. P. Biisqueda primero en profundidad con profundidad iterativa La biisqueda con profundidad iterativa (o btisqucda primero en profundidad con pro- fundidad iterativa) ¢s una estrategia general, usada a menudo en combinacién con la bis, queda primero en profundidad, la cual encuentra el mejor limite de profundidad. Esto se hace aumentando gradualmente el limite (primero 0, despues 1, después 2, eteétera) hasta que encontramos un objetivo, Esto ocurrird cuando el limite de profundidad aleanza d, profiundidad del nodo objetivo. Se muestra en lt Figura 3.14 el algoritmo, La pro: Fundidad iterativa combina las ventajas de la busqueda primero en profundidad y pri mero en anchura, En la bisqueda primero en profundidad, sus exigencias de memoria 88 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO| fu ii6n BUSQUEDS-PROFUNDIDADATERATIVA( problema) devuelve una solucién, 0 fallo entradas: problema, un problen para profundidad <— 0a hacer resultado — BUSQUEDA-PRoruNbIDAD-LiMTTADA(problema,profiundidad) si resultado corte entonces devolver resultado | Figura 3.14 Algoritmo de biisqueda de profundidad iterativa, el cual aplica repetidamente la bis- «queda de profundidad limitada incrementando el limite. Termina cuando se encuentra una solucién o si Ia busqueda de profundidad limitada devuelve fracaso, significando que no existe solucién. son muy modestas: O(bd) para ser exacto. La biisqueda primero en anchura, es completa cuando el factor de ramificacién es funcién que no disminuye con la profundidad del nodo, La Figura 3.15 muestra cuatro iteraciones de la BUSQUEDA-PROFINDIDAD-ITERATIVA Sobre un drbol binario de biisque- da, donde la solucidn se encuentra en Ia carta iteracién. La biisqueda de protundidad iterativa puede parecer derrochadora, porque los esta dos se generan mailtiples veces. Pero esto no es muy costoso. La raz6n es que en un &r- bol de biisqueda con el mismo (0 casi el mismo) factor de ramificacién en cada nivel, la mayor parte de Jos nodos esté cn el nivel inferior, entonces no importa mucho que los niveles superiores se generen multiples veces, En una bisqueda de profundidad iterati va. los nodos sobre el nivel inferior (profundidad @) son generados una ve7, los ante riores al nivel inferior son generados dos veces, etc., hasta los hijos de la raéz, que son inito y Gptima cuando el coste del camino es una generados d veces. Entonces el ntimero total de nodos generados es NOBPI) = (d)b + (d — Vb +. + CBS, que da una complejidad en tiempo de O(b"), Podemos compararlo con los nodos gene rados por una busqueda primero en anchura NBPA) = b+ BP + bY (bY! ~ by a biisqueda primero en anchura genera algunos nodos en profundidad d+ J, mientras que la profundidad iterativa no lo hace. El resultado es que la profun didad iterativa es en realidad mais répida que la bésqueda primero en anchura, a pesat de la generacién repetida de estados. Por ejemplo, sib = 10 y d = 5, los ntimeros son (BPI) = 50+ 400 + 3.000 + 20,000 + 100.000 = 123.450 N(BPA) = 10 + 100 + 1.000 + 10,000 + 100,000 + 999.990 = 1.111.100 En general, la profundidad iterativa es el método de biisqueda no informada preferide cuan do hay un espacio grande de brisqueda y no se conoce la profiandidad de la solucién. La buisqueda de profundidad iterativa es andloga a la bisqueda primero en anchuri con la cual se explora, en cada iteracién, una capa completa de nuevos nodos antes de con tinuar con ta siguiente capa. Pareceria que vale la pena desarrollar una basqueda itera liva andloga a la busqueda de coste uniforme, heredando las garantias de optimizacién pritmo evitando sts & del aly gencias de memoria. La idea es usar limites erecientes de costo del camino en ver de aumentar limites de profundidad. EL algoritmo que resulta RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 89 Lime =0 4g e Limite 1 9g Limite <2 9 Limite = 3 Figura 3.15 Cuatro iteraciones de la buisqueda de profundidad iterativa sobre un drbol binario. susaueDn oe Hamado busqueda de longitud iterativa, se explora en el Bjercicio 3.11, Resulta, ka- ‘owe MERAMA ——mentablemente, que la longitud iterativa incurre en gastos indirectos sustanciales com- parado con la buisqueda de coste uniforme. Busqueda bidireccional La idea de la buisqueda bidireccional es ejecutar dos brisquedas simultineas: una hacia Uclante desde el estado inicial y la otra hacia atrds desde el objetivo, parando cuando las dos biisquedts se encuentren en el centro (Figura 3.16). La motivacisn es que b” + b! es mucho menor que 6", o en fa figura, el rea de los dos cfrculos pequefios es menor que el drea de un circulo grande centrado en el inicio y que aleance al objetivo. La bisqueda bidireccional se implementa teniendo una o dos busquedas que com- prucban antes de ser expandido si cada nodo esté en la frontera del otro arbol de buis 90 INTELIGENCIA ARTIFICIAL. UN ENKOQUE MODERNO arorcesones Figura 3.16 Un esquema de una basqueds bidireccional que esti a punto de tener éxito, | una rama desde el nodo inicio encuentra una rama desde el nodo objetivo, queda; si esto ocurre, se ha encontrado una solucién. Por ejemplo, si un problema tiene tuna soluci6n a protundidad d = 6, y en cada direccién se ejecuta la biisqueda primero cen anchura s0 peor, las dos buisquedas se encuentran cuando se han expandido todos los nodos excepto uno a profundidad 3. Para b = 10, esto significa un total de 22.200 nodos generados, comparado con 11.111. 100 para uns biisqued prime: ro en anchura estindar, Verificar que un nodo pertenece all otro arbol de biisqueds se puede hacer en un tiempo constante con una tabla hash, asi que la complejidad en tiempo de la btisqueda bidireccional es O(b""). Por lo menos uno de los arboles de biisqueda se debe mantener en memoria para que se pueda hacer la comprobacién de pertenencia, de ahi que la complejidad en espacio es también O(b"”). Este requerimiento de espacio es la debilidad mis significativa de la busqueda bidireccional. El algoritmo es completo y Gptimo (para costos uniformes) si las buisquedas son primero en anchura; otras combi- naciones pueden sacrificar la completitud, optimizacion, © ambas. La reduccién de complejidad en tiempo hace a la biisqueda bidireccional atractiva, pero {c6mo busca hacia atréis? Esto no es tan facil como suena. Sean los predecesores de un nodo n, Pred(n), todos los nodos que tienen como un sucesor an. La busqueda bi direceional requiere que Pred(n) se calcule eficientemente. El caso mas fi todas las acciones en el espacio de estados son reversibles, asi que Predin) = Sucetn) entonces, en el es cuando Otro caso puede requerir ser ingenioso. Consideremos la pregunta de qué queremos decir con «el objetivor en fa buisquedi chacia atrés», Para el 8-puzle y para encontrar un camino en Rumania, hay solamente tn estado objetivo, entonces la biisqueda hacia atras se parece muchisimo a la buisque- da hacia delante, Si hay varios estados objetivo explicitamente catalogados (por ejem- plo, los dos estados abjetivo sin sueiedad de la Figura 3.3) podemos construir un nuevo estado objetivo ficticin euyos predecesores inmediatos son todos los estados objetivo reales. Aliernativamente, algunos nodos generados redundantes se pueden evitar vien RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 91 do el conjunto de estados objetivo como uno solo, cada uno de cuyos predecesores es, también un conjunto de estados (especificamente, el conjunto de estados que tienen a un sucesor en cl conjunto de estados objetivo. Véase también la Seceisn 3.6). El caso mais dificil para la btisqueda bidireccional es cuando el test objetivo da solo una descripcién implicita de algtin conjunto posiblemente grande de estados objetivo, por ejemplo, todos Tos estados que satisfacen el test objetivo «jaque mate» en el aje- drez. Una biisqueda hacia atras necesitarfa construir las deseripciones de «todos los es- tados que Hevan al jaque mate al mover m,». ser probadas de nuevo con los estados generados en la biisqueda hacia delante. No hay ninguna manera general de hacer esto eficientemente. eteétera: y esas descripciones tendrian que Comparacién de las estrategias de busqueda no informada La Figura 3.17 compara las estrategias de bisqueda en términos de los cuatro criterios de evaluacién expuestos en la Seccién 3.4. i Primero CostoPrimeroen Profundidad Profundidad Bidireccional | witerlo —/ cnvanchura uniforme —profundidad —limitada——iterativa (si aplicable) {Completa | SP se No No se sr Tiempo — | aw’) 08) Ory a) Or) a1) Espacio OW!) OW) Om) OLE) OU OH" | jOprimal? se Si No No st sit 17 Evaluacién de estrategias de busqueda. b es el factor de ramificacidn; d es la pro- fundidad de ta solucién més superficial; m es la maxima profundidad del drbol de biisqueda; € es el limite de profundidad, Los superindice significan lo siguiente: * completa si b es finita; ° com- pleta si los costos son = € para € positive; ‘ optimal si los costos son iguales; “ sien ambas direc- | | siones xe utiliza la bisqueda primero en anchura, 3.5 Evitar estados repetidos Hasta este punto, casi hemos ignorado una de las complicacio ies mais importantes al pro: eso de biisqueda: la posibilidad de perder tiempo expandiendo estados que ya han sido visitados y expandidos. Para algunos problemas, esta posibilidad nunea aparece: el espacio de estados es un arbol y hay sélo un camino a cada estado. La formulacion efi- ciente del problema de las ocho reinas (donde cada nueva reina se coloca en ka colum- na vaefa de mas «ta izquierda) es eficiente en gran parte a causa de esto (cada estado se puede alcanzar s6lo por un camino). Si formulamos el problema de las ocho reinas para poder cote tuna reina en cualquier columna, entonces cada estado con n reinas se pued aleanzar por n! caminos diferentes: Para algunos problemas, la repeticién de estados es inevitable. Esto incluye todos Jos problemas donde 1s acciones son reversibles, como son los problemas de buisque- 92 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO da de rutas y los puzles que deslizan sus piezas. Los arboles de la biisqueda para estos problemas son infinitos, pero si podamos parte de los estados repetidos. podemos cor tar el étbol de busqueda en un tamaiio finito, generando sélo la parte del drbol que atra- viesa el grafo del espacio de estados. Considerando solamente el drbol de biisqueda has- auna profundidad fija, es Fécil encontrar casos donde ka eliminacién de estados repetidos produce una reduccién exponencial del coste de Ia btisqueda, En el caso extremo, un es- pacio de estados de tamaio d ++ I (Figura 3.18(a)) se convierte en un arbol con 2" ho- {oe jas (Figura 3.18(b)). Un ejemplo mais realista es la rejilla rectangular, como se ilustra en la Figura 3.18(c). Sobre una rejilla, cada estado tiene cuatro sucesores, entonces el Arbol de biisqueda, incluyendo estados repetidos, tiene 4” hojas: pero hay s6lo 2d” esta- dos distintos en d pasos desde cualquier estado, Para d ~ 20, significa aproximadamente un billén de nodos, pero aproximadamente 800 estados distintos, Entonces, si el algoritmo no detecta los estados repetidos, éstos pueden provocar que 1 la un problema resoluble Hlegue a ser irresoluble, La deteccién por lo general signifi ‘comparacidn del nodo a expandir con aquellos que han sido ya expandidlos; si se encuentra tun emparejamiento, entonces el algoritmo ha descubierto dos caminos al mismo estado y puede desechar uno de ellos. Para [a buisqueda primero en profundidad, los tinicos nodos en memoria son aquellos del camino desde la rafz hasta el nodo actual. La comparacién de estos nodos permite al algoritmo descubrir los eaminos que forman ciclos y que pueden eliminarse in- mediatamente. Esto esté bien para asegurar que espacios de estados finitos no hagan Arboles de biisqueda infinitos debido a los ciclos: lamentablemente, esto no evita la pro: liferacién exponencial de caminos que no forman ciclos, en probl 3s como los de kt Figura 3.18, El dnico modo de evitar éstos es guardar mas nodos en la memoria. Hay . una compensacién fundamental entre el espacio y el tiempo. Loy algoritmos que olvi- * dan su historia estin condenados a repetirla. A ) B Be ) - c < ce ce , AK ) bd | wb) wo Figura 3.18 Eypacios de estados que genera un drbol de bisqueda exponencialmente mis gran de, Ca) Un espacio de estados en el cual hay dos acciones posibles que conducen de A a B, dos de B aC, etcétera, El espacio de estados contiene d + 1 estados, donde d es la profundidad maxima, | thy Correspondionte arbol de bisqueda, que tiene 2" ramas cormespondientes a 2" caminos en el | espacio, (¢) Un espacio rejila rectang | el estado inicial (A) lar, Se muestran en gris los estados dentro de dos pasos desde RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 93 Si un algoritmo recuerda cada estado que ha visitado, entonces puede verse como la ex- ploracin directamente de! grafo de espacio de estados. Podemos moditicar el algorit- Lista ceRAAOR mo general de BuisQuEDA-ARBOLES para incluir una estructura de datos llamada lista ce rrada, que almacene cada nodo expandido, (A veces se Hama a la frontera de nodos no usta abe expandidos lista abierta.) Si el nodo actual se empareja con un nodo de ta lista cerra- da, se elimina en vez de expandirlo, Al nuevo algoritmo se le Hama BuisQueDs-Gratos. Sobre problemas con muchos estados repetidos, la BUSQUEDA-GRaFos es mucho mas efi- ciente que la BUSQUEDA-ARBOLES, Los requerimientos en tiempo y espacio, en el caso peor, son proporcionales al tamaio del ‘sto puede ser mucho mas pequeito que Ob), La optimizacién para ta b a en grafos es una cuestiOn dificil. Dijimos antes que cuando se detecta un estado repetido, el algoritmo ha encontrado dos caminos al mismo estado. El algoritmo de BUSQUEDA-GRaros de la Figura 3.19 siempre desecha el camino recign descubierto; obviamente, si el camino recién descubierto es més corto que el original, la BUSQUEDS-GRaros podria omitir una soluci6n dptima. Afortunadamente, podemos mostrar (Ejercicio 3.12) que esto no puede pasar cuando utilizamos la béisqueda de coste uniforme o la bisqueda primero en anchura con costos constantes; de ahf, que estas dos estrategias dptimas de biisqueda en drboles son también estrategias optimas de biisqueda en grafos. La bisqueda con profundidad iterativa, por otra parte, utiliza la ex- pansién primero en profundidad y fécilmente puede seguir un camino subsptimo a un nodo antes de encontrar el ptimo, De ahi, la buisqueda en grafos de profundidad itera- tiva tiene que comprobar si un camino recién descubierto a un nodo es mejor que el ori ginal, y si es asi, podrfa tener que revisar las profundidades y los costos del camino de los descendientes de ese nodo. Notemos que el uso de una lista cerrada signitica que la busqueda primero en pro- fundidad y ta biisqueda en profundidad iterativa tienen unos requerimientos lineales en espacio. Como el algoritmo de BUSQUEDA-GRArOS mantiene cada nodo en memoria, al- unas biisquedas son irrealizables debido a limitaciones de memoria. Fun Jn BUsQUEDA-Gravostproblemu, frontera) devuelve una solucién, © fallo cerrady < conjunto vaeio frontera — Ixserrve(Hactr-Nono(Estabo-INtciat|problema) frontera) Duele hacer Si Vaciafrontera) entonces devolver fall si Test-Osienivolproblema(Estspo|nodo]) entonces devolver So1.vciON(nedo) | odo — BoRkAR-Pxina:K0t frontera) { | si Estanofnado] no esti en cerrado entonces | aiadir Estanojnodo| a cerrado | fromtena INstrsk-TonovExranpneda problema) fromera) | | Figura 3.19 Algoritmo general de bdsqueda en prafos. El conjunto cerrado puede implementa | secomo una tabla hash para permitir la comprobacién eleiente de estas repetides. E |_ mo supone que el primer camino a un estado ses el mas barato (oéase el texto, te algori. 4 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO- 3.6 Bisqueda con informacién parcial En la Seccién 3.3 asumimos que el entorno es totalmente observable y determinista y que el agente conoce cudles son los efectos de cada accién, Por lo tanto, el agente pue- de calcular exactamente cudl es el estado resultado de cualquier secuencia de acciones y siempre sabe en qué estado est. Su percepeién no proporciona ninguna nueva infor- macién después de cada accién. {Qué pasa cuando el conocimiento de los estados 0 ac~ ciones es incompleto? Encontramos que diversos tipos de incompletitud conducen a tres (ipos de problemas distintos: 1. Problemas sin sensores (también llamados problemas conformados): si el agente no tiene ningiin sensor, entonces (por lo que sabe) podria estar en uno de los posibles estados iniciales, y cada accién por Jo tanto podrfa conducir a uno. de los posibles estados sucesores. Problemas de contingencia: si el entorno es parcialmente observable o si las acciones son inciertas, entonces las percepciones del agente proporcionan nue- vq informacién después de cada accisn. Cada percepcién posible define una con- tingencia que debe de planearse. A un problema se le llama entre adversarios si la incertidumbre est4 causada por las acciones de otro agente. Problemas de exploracién: cuando se desconocen los estados y Jas acciones del entorno, el agente debe actuar para descubrirlos. Los problemas de explo. racién pueden verse como un caso extremo de problemas de contingenci Como ejemplo, utilizaremos el entomno del mundo de la aspiradora. Recuerde que el es- pacio de estados tiene ocho estados, como se muestra en la Figura 3.20, Hay tres acciones. Uzquierda, Derecha y Aspirar) y el objetivo es limpiar (oda la suciedad (estados 7 y 8) Si el entorno es observable, determinista, y completamente conocido, entonees el pro- bblema es trivialmente resoluble por cualquiera de Tos algoritmos que hemos descrito, Por Figura 3.20 Los ocho posibles estados del mundo de Ia aspiradora conccidn ESTADO Oe CREENCIA RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 95 ejemplo, si el estado inicial es 5, entonces ta secuencia de acciones [Derecha, Aspirar| alcanzard un estado objetivo, 8. El resto de esta secciGn trata con las versiones sin sen- sores y de contingencia del problema, Los problemas de exploracién se tratan en la Sec- cién 4.5, los problemas entre adversarios en el Capitulo 6. Problemas sin sensores Supongamos que el agente de la aspiradora conoce todos los efectos de sus acciones. pero no tiene ningtin sensor. Entonces slo sabe que su estado inicial es uno del conjunto (1, 2,3, 4, 5, 6, 7, 8}. Quizé supongamos que el agente esta desesperado, pero de he- cho puede hacerlo bastante bien. Como conoce lo que hacen sus acciones, puede, por ejemplo, calcular que la accién Derecha produce uno de los estados {2, 4. 6, 8), y la se- cuencia de accidn [Derecha, Aspirar| siempre terminara en uno de los estados (4, 8} Finalmente, la secuencia [Derecha, Aspirar, Izquierda, Aspirar| garantiza alcanzar el es- tado objetivo 7 sea cual sea el estado inicio. Decimos que el agente puede coaccionar al mundo en el estado 7, incluso cuando no sepa dénde comenzo. Resumiendo; cuando el mundo no es completamente observable, el agente debe decidir sobre los conjuntos de estados que podrfa.poner, mas que por estados simples. Llamamos a cada conjunto de estados un estado de creencia, representando la creencia actual del agente con los estados posibles fisicos en los que podria estar. (En un ambiente totalmente observable, cada estado de creencia contiene un estado fisico.) Para resolver problemas sin sensores, buscamos en el espacio de estados de creencia ds que en los estados fisicos, El estado inicial es un estado de ereencia, y cad accién aptica un estado de creencia en otro estado de creencia, Una accién se aplica a un estado de creencia uniendo los resultados de aplicar la accién a cada estado fisico del estado de creencia. Un camino une varios estados de creencia, y una solucién es ahora un camino que conduce a un estado de ereencia, todos de cuyos miembros son estados objetivo. La Figura 3.21 muestra el espacio de estados de creencia accesible para el mundo determi nista de la aspiradora sin sensores. Hay slo 12 estados de creencia accesibles, pero cl espacio de estados de creencia entero contiene todo conjunto posible de estados fisicos, por ejemplo, 2° = 256 estados de creencia, En general, si el espacio de estados fisico tie- ne S estados, el espacio de estados de creencia tiene 2° estados de creencia, Nuestra discusién hasta ahora de problemas sin sensores ha supuesto acciones de- terministas, pero el anilisis es esencialmente el mismo si el entorno es no determinista, es decir, si las acciones pueden tener varios resultados posibles. La razén es que, en ausencia de sensores, el agente no tiene ningtin modo de decir qué resultado ocurrié en realidad, asi que varios resultados posibles son estados fisicos adicionales en el estado de creencia sucesor. Por ejemplo, supongamos que el entorno obedece a la ley de Murphy: fa Hamada accidn de Aspirar a veces deposita suciedad en la alfombra pero sélo sino ha ninguna suciedad alli®, Emtonces, si Aspirar se aplica al estado fisico 4 (mirar Ja Figura 3.20), hay dos resultados posibles: los estados 2 y 4. Aplicado al estado de Suponemos que Ia mayoria de los levioresaffontan problems simibares y pueden simpatizar con muestra me, Nos disculpamos a los dueios de los aparatos electrodomésticos moderns y eficientes que no pe Len aprovecharse de este dispositive peda, 96 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO 0BLENA ‘CONTINGENCIR gura 3.21 La parte accesible del espacio de estados de creencia para el mundo determinista de | Jw aspiradora sin sensores. Cada caja sombreada corresponde a un estado de creencia simple. Des de cvialquier punto, el agente esti en un estado de ereencia particular pero no sabe en qué estado {, El estado de ereencia inicial (con ignorancia completa) es la caja central superior, Las. Tisico es ‘acciones se representan por arcos etiquctados, Los autoarcos se omiten por claridd, ereencia inicial, (1. 2. 3,4, 5.6, 7.8}. Aspirar conduce all estado de creencia que es kt unién de los conjuntos resultados par los ocho estados fisicos. Caleulkindolos, encon- tramos que el nuevo estado de creencia es {1 2, 3, 4, 5,6, 7. 8). iAsf, pars un agente sin sensores en el mundo de la ley de Murphy. la accidn Aspirar deja el estado de cre eneia inalterado! De hecho, el problema es no resoluble. (Véase el Ejercicio 3.18.) Por intuicidn, la razén es que el agente no puede distinguir si el cuadrado actual esta sucio’ y de ahi que no puede distinguir si la accidn Aspirar lo limpiard o crear mas suciedad Problemas de contingencia Cuando el entorno es tal que ef agente puede obtener nueva informacién de sus sensores después de str actttaci6n, el agente afronta problemas de contingencia, La solucion et un problema de contingeneia menudo toma la forma de un drhol, donde ead rama se 3.7 RESOLVER PROBLEMAS MEDIANTE BUISQUEDA 97 puede seleccionar segtin la percepeidin recibida en ese punto del atbol. Por ejemplo, su- pongamos que el agente esté en el mundo de la ley de Murphy y que tiene un sensor de posicién y un sensor de suciedad local, pero no tiene ningtin sensor eapaz de detectar la suciedad en otros cuadrados. Asi. la percepeién [J, Sucio] significa que el agente esta en uno de los estados (1, 3}. El agente podria formular la secuencia de acciones [Aspirar, Derecha, Aspirar|. Aspirar cambiaria el estado al {5.7}. y el mover a la derecha debe- ria entonces cambiar el estado al (6, 8}. La ejecuci6n de la aecién final de Aspirur en el estado 6 nos Heva al estado 8. un objetivo, pero fa ejecucién en el estado 8 podria leva nos para atras al estado 6 (segtin la ley de Murphy). en el caso de que el plan fall. Examinando el espacio de estados de creencia para esta versién del problema, fi- cilmente puede determinarse que ni cuencia de acciones rigida garantiza una solucién a este problema. Hay, sin embargo, una solucién si no insistimos en una se~ cuencia de acciones rigida: una si [Aspirar. Derecha, si |D,Suciedad| entonce Aspirar| sto amplia el espacio de soluciones para incluir la posibilidad de seleccionar acciones ba- sadas en contingencias que surgen durante la ejecucién, Muchos problemas en el mundo. real, fisico, son problemas de contingencia, porque la prediccién exacta es imposible. Por esta raz6n, todas las personas mantienen sus ojos abiertos mientras andan 0 conducen, Los problemas de contingencia a veces permiten soluciones puramente secuencis- les, Por ejemplo, considere el mundo de la ley de Murphy totalmente observable. Las contingencias surgen si el agente realiza una accién Aspiraren un cuadrado limpio, por- que la suciedad podria o no ser depositads en el cuadrado, Mientras el agente nunca haya esto, no surge ninguna contingencia y hay una solucién secuencial desde cada estado ini- cial (Ejercicio 3.18). Los algoritmos para problemas de contingencia son mis complejos que los algoritmos war de biisqueda de este capitulo: ellos serin tratados en el Capitulo 12. Los proble- mas de contingencia también se prestan a un disefio de agente algo diferente, en el cual el agente puede actuar antes de que haya encontrado un plan garantizado, Esto es til porque mais que considerar por adelantado cada posible contingencia que podria surgir durante la ejecucisn, es a menudo mejor comenzar a actuar y ver qué contingencias surgen realmen- te. Entonces el agente puede seguir resolviendo el problema, teniendo en cuenta la infor- ‘macion adicional. Este tipo de interealar la busqueda y la ejecucién es también itil para problemas de exploracin (véase ka Seccidn 4.5) y para juegos (véase el Capitulo 6), est Resumen Este capitulo ha introducido métodos en los que un agente puede seleccionar acciones, en tos ambientes deterministas, observables, estéticos y completamente conocidos. En tales casos, ef agente puede construir secuencias de acciones que vos; a este proceso se le Hama brisqueda. lcanzan sus objeti + Antes de que un agente pueda comenzar la biisqueda de soluciones, debe formu- Jar un objetivo y luego usar dicho objetivo para formular un problem 98 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO. + Un problema consiste en cuatro partes: el estado inicial, un conjunto de acciones, una funcién para e! test objetivo, y una funcién de costo del camino. El entorno del problema se representa por un espacio de estados. Un camino por el espacio de estados desde el estado inicial a un estado objetivo es una solucién. * Unalgoritmo sencillo y general de BUsqueDA-ARBOL puede usarse para resolver cualquier problema; las variantes especiticas del algoritmo incorporan estrategias diferentes + Los algoritmos de biisqueda se juzgan sobre la base de completitud, optimiz: cidn, complejidad en tiempo y complejidad en espacio. La complejidad depende de b, factor de ramificaci6n en el espacio de estados, y d, profundidad de la solu- cién mas superficial + La biisqueda primero en anchura selecciona para su expansin el nodo no expandido mas superficial en el drbol de busqueda Es completo, 6ptimo para cos- tos unidad, y tiene la complejidad en tiempo y en espacio de O(b"). La compleji- dad en espacio lo hace poco priictico en ka mayor parte de casos. La biisqueda de coste uniforme es similar a la busqueda primero en anchura pero expande el nodo con el costo mas pequeiio del camino, g(n). Es completo y Sptimo si el cos- to de cada paso excede de una cota positiva e. + La bisqueda primero en profundidad selecciona para la expansién el nodo no expandido mas profundo en el arbol de busqueda. No es ni completo, ni Gptimo, y tiene la complejidad en tiempo de O(b”) y la complejidad en espacio de Om), donde m es Ja profundidad maxima de cualquier camino en el espacio de estatos + La biisqueda de profundidad limitada impone un limite de profundidad fijo a una bisqueda primero en profundidad. . + La biisqueda de profundidad iterativa lama a la busqueda de profundidad ti mitada aumentando este Himite hasta que se encuentre un objetivo. Es completo, Gptimo para costos unidad, y tiene kt complejidad en tiempo de O@') y la com: plejidad en espacio de O(bd). + La btisqueda bidireccional puede reducir enormemente la complejidad en tiem po, pero no es siempre aplicable y puede requerir demasiado espacio, + Cuando el espacio de estados es un grafo més que un arbol, puede valer la pena comprobar si hay estados repetidos en el érbol de biisqueda. FI algoritmo de Bus QUEDA-GraFOs elimina todos Tos estados duplicados. + Cuando el ambiente es parcialmente observable, el agente puede aplicar algoritmos de biisqueda en el espacio de estados de creencia, o los conjuntos de estados po sibles en los cuales el agente podria estar. En algunos casos, se puede construir una ia solucién; en otros casos, el agente necesita de un plan de con- tingeneia para manejar las circunstancias desconocidas que puedan surgir. sencilla see ee NOTAS BIBLIOGRAFICAS E HISTORICAS Casi todos los problemas de basqueda en espacio de estados analizados en este capitu Jo tienen una larga historia en la literatura y son menos triviales de lo que pares fan, El problema de los misioneros y canibales, utilizado en el ejercicio 3.9, fue analizado con RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 99. detalle por Amatel (1968). Antes fue considerado en LA por Simon y Newel (1961), y en Investigacion Operativa por Bellman y Dreyfus (1962). Estudios como estos y el tra- bajo de Newell y Simon sobre el Logico Tesrico (1957) y GPS (1961) provocaron ef establecimiento de los algoritmos de bisqueda como las armas principales de los in dores de LA en 1960 y el establecimiento de la resolucién de problemas como ka tarea principal de la IA. Desafortunadamente, muy pocos trabajos se han hecho para automatizar los pasos para la formulacién de los problemas. Un tratamiento més reciente de la representacisn y abstraceién del problema, incluyendo programas de 1A que los, evan a cabo (en parte), esta descrito en Knoblock (1990). EL 8-puzle es el primo mas pequefio del 15-puzle, que fue inventado por el famoso americano disefiador de juegos Sam Loyd (1959) en la década de 1870, EI 15-puzle ri pidamente alcan76 una inmensa popularidad en Estados Unidos, comparable con la més, reciente causada por el Cubo de Rubik, También rapidamente atrajo la atencién de ma- tematicos Johnson y Story, 1879; Tait, 1880). Los editores de la Revista Americana de Matematicas indicaron que «durante las Gltimas semanas el 15-puzle ha ido creciendo en interés ante el publico americano, y puede decirse con seguridad haber captado la aten- cidn de nueve de cada diez personas, de todas las edades y condiciones de la comuni- dad. Pero esto no ha inducido a los editores a incluir articulos sobre tal tema en la Re: vista Americana de Matemdticas, pero para el hecho que...» (sigue un resumen de interés matemético del 15-puzle). Un aniilisis exhaustivo del 8-puzle fuc realizado por Schofield (1967) con la ayuda de un computador. Ratner y Warmuth (1986) mostraron que la versién general n x n del [5-puzle pertenece a la clase de problemas NI pletos. El problema de las 8-reinas fue publicado de manera andnima en la revista alema: nia de ajedre7 Schach en 1848; més tarde fue atribuido a Max Bezzel. Fue republicado en 1850 y en aquel tiempo Hamé fa atencisn del matemtico eminente Carl Friedrich Gauss, que intent6 enumerar todas las soluciones posibles, pero encontrs silo 72, Nauck publicé mais tarde en 1850 las 92 soluciones. Netto (1901) generaliz6 el problema an reinas, y Abramson y Yung (1989) encontraron un algoritmo de orden O(n). Cada uno de los problemas de busqueda del mundo real, catalogados en el capitulo, han sido el tema de inucho esfuerzo de investigaci6n. Los métodos para seleccionar vue- los 6ptimos de lineas aéreas siguen estando mayoritariamente patentados, pero Carl de Marcken (personal de comunicaciones) ha demostrado que las restricciones y el precio e los billetes de las ineas aéreas lo convierten en algo tan enrevesado que el problema de seleccionar un vuclo éptimo es formalmente indecidible. El problema del viajante de comercio es un problema combinatorio estéindar en informatica tedrica (Lawler, 1985 Lawler et al., 1992). Karp (1972) demostré que el PVC es NP-duro, pero se desarrolla ron métodos aproximados heuristicos efeectivos (Lin y Kernighan, 1973). Arora (1998) invent6 un esquema aproximado polinomial completo para los PVC Euclideos. Shahookar y Mazumder (1991) inspeccionaron los métodos para la distribucin VLSI, y muchos tra- bajos de optimizacién de distribuciones aparecen en las revistas de VLSI. La navegacién robdtica y problemas de ensamblaje se discuten en el Capitulo 25, Los algoritmos de biisqueda no informada para resolver un problema son un tema central de la informiitica elisica (Horowitz y Sahni, 1978) y de la investigacién opera tiva (Dreyfus, 1969); Deo y Pang (1984) y Gallo y Pallottino (1988) dan revisiones mais vest om- 100 Ww ELIGENCIA ARTIFICIAL UN ENFOQUE MODERNO recientes. La biisqueda primero en anchura fue formulada por Moore (1959) para resolver laberintos. El método de programacién dinamica (Bellman y Dreyfus, 1962), que sis emdticamente registra soluciones para todos los sub-problemas de longitudes tes, puede verse como una forma de btisqueda primero en anchura sobre grafos. F algori s corto entre dos puntos de Dijkstra (1959) es el origen de biis queda de coste uniforme Jna versiGn de profundidad iterati el ajedrez, fue utilizada por Slate y Atkin (1977) en el programa de juego AieoRe2 4.5, pero la aplicacién a la basqueda del camino ms corto en grafos se debe a Kort (1985a) La biisqueda bidireccional, que fue presentada por Pohl (1969,1971), también puede ser muy eficaz en algunos casos. ‘Ambientes parcialmente observables y no deterministas no han sido estudiados en ‘gran profundidad dentro de la resoluciGn de problemas. Algunas cuestiones de eficacia en la busqueda en estados de creencia han sido investizadas por Genesereth y Nourbakhsh (1993). Koening y Simmons (1998) estudié la navegacién del robot desde una posi desconocida inicial, y Erdmann y Mason (1988) estudié el problema de la manipulacién robotica sin sensores, utilizando una forma continua de biisqueda en estados de cia, La buisqueda de contingencia ha sido estudiada dentro del subcampo de la pla ficaci6n (véase el Capitulo 12). Principalmente, planificar y actuar con informaci6n incierta se ha manejado utilizando las herramientas de probabilidad y la teorfa de deci sidn (véase el Capitulo 17). Los libros de texto de Nilsson (1971, 1980) son buenas fuentes bibliograficas genera- les sobre algoritmos ckisicos de buisqueda. Una revisiin comprensiva y més actualiza da puiede encontrarse en Kort (1988). Losarticulos sobre nuevos algoritmos de buisqued (que, notablemente, se siguen descubriendo) aparecen en revistas como Artificial Inte ecien- mo de camino ma disefiada para hacer eficiente el uso del reloj en én n- Higence, EJERCICIOS 3.1. Defina con sus propias palabras los siguientes términos: estado, espacio de esti dos, drbol de biisqueda, node de biisqueda, objetivo, accién, funci6n sucesor, y factor de ramificacién. 3.2. Explique por qué la formulacién del problema debe seguir a la formutaciéin det ob ie 3.3. Supongamos que ACCIONES-LuGarEs(s) denota el conjunto de acciones que son le gales en el estado s, y RESULTADO(a,s) denote el estado que resulta de la realizacién de tuna acci6n legal «a un estado s, Defina FUNCION-SUCESOR en términos ACCIONES-L1 GALHS y RESULTADO, y viceversa 3.4 Demuestre que los estados del 8-puzle estan divididos en dos conjuntos disjuntos. tales que ningtin estado en un conjunto puede transformarse en un estado del otro can: junto por medio de un numero de movimientos. (Consejo: véase Berlekamp et al. (1982)). Invente un procedimicnto que nos diga en qui por qué esto es bueno cuando generamos estados atleatorios. clase estd un estado dado, y es RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 101 3.5. Consideremos el problema de las 8-reinas usando la formulaci6n «eticiente» in- cremental de la pagina 75. Explique por qué cl tamafio del espacio de estados es al menos Yn! y estime el valor mas grande para n para el cual es factible la exploracion exhaustiva. (Consejo: saque una cota inferior para el factor de ramificacién conside- rando el niimero maximo de cuadrados que una reina puede atacar en cualquier co- lumna.) 3.6 {Conduce siempre un espacio de estados finito a un drbol de busqueda finito? {Cémo un espacio de estados finito es un drbol? ;Puede ser mis preciso sobre qué ti- pos de espacios de estados siempre conducen a arboles de brisqueda finito? (Adaptado de Bender, 1996.) 3.7. Defina el estado inicial, test objetivo, funcién sucesor, y funcién costo para cada uno de los siguientes casos, Escoja una formutacién que sea suficientemente precisa pat ser implementada a) Coloree un mapa plano utilizando s6lo cuatro colores, de tal modo que dos re- giones adyacentes no tengan el mismo color. 5) Un mono de tres pies de alto estd en una habitacisn en donde algunos plita- nos estiin suspendidos del techo de ocho pies de alto. Le gustarfa conseguir los plétanos, La habitaciGn contiene dos cajas apilables, moviles y escalables de tres pies de alto. ©) Tiene un programa que da como salida el mensaje «registro de entrada ileal» cuando introducimos un cierto archivo de registros de entrada. Sabe que el tr tamiento de cada registro es independiente de otros registros. Quiere descubrir que es ilegal d) Tiene tres jarros, con capacidades 12 galones, ocho un grifo de agua, Usted puede Hlenar los. Jones. y tres g alones, y jarros 0 vaciarlos de uno a otro o en el suelo, Tiene que obtener exactamente un galén, 3.8 Considere un espacio de estados donde el estado comienzo es el ntimero | y ka fun- cidn sucesor para el estado n devuelve 2 estados, los ntimeros 201 y 2 + 1 4) Dibuje ef trozo del espacio de estados para loy estados del 1 al 15. 1b) Supongamos que el estado objetivo es el 1]. Enumere el orden en el que serdn visitados los nodos por la busqueda primero en anchura, blisqueda primero en profundidad con limite tres, y la busqueda de profundidad iterativa ©) {Sera apropiada la bisqueda bidireccional para este problema? Si es asi, des- criba con detalle e6mo trabajaria, d) {Qué es el factor de ramificacién en cada direcciGn de la biisqueda bidireccio nal? ¢) (La respuesta (c) sugiere una nueva formulacién del problema que permitirfa resolver el problema de salir del estado 1 para conseguir un estado objetivo dado, con casi ninguna biisqueda? problema de los misioneros y canibales en ¢ 39 nneral se forma como sigue. tres inisioneros y tres eanfbales estan en un Lado de un rio, con un barco que puede sostener ai unit o dos personas. Encuentre un modo de conseguir que todos estén en ef otro lado, sin dejar alguna vez un grupo de misioneros en un lugar excedido en nimero por los 102 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO, canibales. Este problema es famoso en TA porque fue el tema del primer trabajo que apro- xim6 una formulacién de problema de un punto de vista analitico (Amarel, 1968), a) Formule el problema de forma precisa, haciendo sélo las distinciones ne rias para asegurar una soluci6n valida. Dibujar un diagrama del espacio de es- tados completo. 4) Implemente y resuelva el problema de manera 6ptima utilizando un algoritmo apropiado de busqueda. ;.Fs una buena idea comprobar los estados repetidos? ¢) {Por qué cree que la gente utiliza mucho tiempo para resolver este puzle, dado que el espacio de estados es tan simple? 3.10 Implemente dos versiones de la funcién sucesor para el 8-puzle: uno que genere todos los sucesores a la vez copiando y editando la estructura de datos del 8-puzle, y otro que genere un nuevo sucesor cada vez, Hamando y modificando el estado padre dire tamente (haciendo las modificaciones necesarias). Eseriba versiones de la biisqueda primero en profundidad con profundidad iterativa que use estas funciones y compare sus rendimientos. 3.11 En la pagina 89, mencionamos la biisqueda de longitud iterativa, una biisque- da andloga a la de costo uniforme iterativa, La idea es usar incrementos de los Ifmites en el costo del camino, Si se genera un nodo cuyo costo del camino excede el limite ac tual, se descarta inmediatamente, Para cada nueva iteracién, el limite se pone al coste mis bajo del camino de cualquier nodo deseartado en la iteracién anterior a) Muestre que este algoritmo es dptimo para costos de camino generales. 5) Considere un arbot uniforme con factor de ramificaciGn b, profundidad de so lucién d, y costos unidad, ,Cudntas iteraciones requerirs la longitud iterativa? ¢) Ahora considere los costos en el rango continuo [0,1] con un coste minimo po: sitivo €. ;Cudntas iteraciones requieren en el peor caso? 4) Implemente el algoritmo y apliquelo a los casos de los problemas del 8-puzle y del viajante de comercio, Compare el funcionamiento del algoritmo con la bis queda de costo uniforme, y comente sus resultados, 3.12 Demuesire que la biisqueda de costo uniforme y la busqueda primero en anchura con costos constantes son Gptimas cuando se utiliza con el algoritmo de BUsQUEDA-Ga. ros. Muestre un espacio de estados con costos constantes en el cual La BUSQuEDS Garos, utilizando profundidad iterativa, encuentre una solucién sub6ptima 3.13 Describa un espacio de estados en el cual la biisqueda de profundidad iterativa funcione mucho peor gue la biisqueda primero en profundidad (por ejemplo, Or") con tra On), 3.14. Escriba un programa que tome como entrada dos URLs de piiginas Web y en cuentre un camino de links de una a la otra. {Cua es una estrategia apropiada de biis queda? {La biisqueda bidireccional es una idea buena? ,Podria usarse un motor de biisqueda para implementar una funcién predecesor? 3 un plano que tiene obstéculos poligonales convexos como los que se muestran en fa Fi Ura 3.22, Esto es una idealizacién del probl centorno muy concurrido. Considere el problema de encontrar el camino mas corto entre dos puntos sobre ma que tiene un robot para navegar en RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 103, igura 3.22 Una escena con obsticulos poligonales. 4) Suponga que el espacio de estados consiste en todas las posiciones (x, y) en el plano, ;Cudntos estados hay? ,Cusintos caminos hay al objetivo? b)Explique brevemente por qué el camino més corto desde un vértice de un poli gono 3 cualquier otro debe consistir en segmentos en linea recta que unen al- gunos vértices de los poligonos. Defina un espacio de estados bueno. {Como de grande es este espacio de estados? ¢) _Detina las funciones necesarias para implementar el problema de busqueda, in- cluyendo una funcién sucesor que toma un vértice como entrada y devuelve el conjunto de vértices que pueden alcanzarse en linea recta desde el vértice dado. (No olvide los vecinos sobre el mismo polfgono,) Utilice la distancia en linea recta para la funcién heuristica 4d) Aplique uno o varios de los algoritmos de este capitulo para resolver un con junto de problemas en el dominio, y comente su funcionamiento, 3.16 Podemos girar el problema de la navegaci6n del jercicio 3.15 en un entorno como cl siguiente + La percepeisn sera una lista de posiciones. relativas al agente, de vértices visibles ja percepcidn no incluye la posicién del robot! El robot debe aprender su propia posicién en el mapa; por ahora, puede suponer que cada posicidn tiene una «vis: ta» diferente. + Cada accién sera un vector describiendo un camino en linea recta a seguir. Si el camino esta libre, la accién tiene éxito; en otro caso, el robot se para en el punto donde el camino cruza un obstaculo. Si el agente devuelve un vector de movimiento cero y esta en el objetivo (que esti fijado y conocido), entonces el entorno debe- ria colocar al agente en una posicién aleatoria (no dentro de un obstdculo). + La medida de rendimiento carga al agente, un punto por cada unidad de distancia atravesadat y concede 1,000 puntos ead vez que se aleance el objetivo. @)__Implemente este entoro y un agente de resolucién de problemas. El agente ten dra que formular un nuevo problema después de la colocacién en otro lugar, que implicari cl descubrimiento de su posicién actual 104 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO b) ° d) e) Documente el funcionamiento de su agente (teniendo que generar su agente el comentario conveniente de cémo se mueve a su alrededor) y el informe de su funcionamiento después de mas de 100 episodios Modifique el entorno de modo que el 30 por ciento de veces el agente termi- ne en un destino no planeado (escogico al azar de otros vertices visibles, © que no haya ningtin movimiento). Esto es un modelo ordinario de los errores de movimiento de un robot real. Modifique al agente de modo que cuando se des- cubra tal error, averigiie donde est y luego construya tn plan para regresar don- de estaba y resumir el viejo plan, jRecuerde que a veces recuperarse hacia donde estaba también podria fallar! Muestre un ejemplo satisfactorio del agente de modo que después de dos errores de movimientos sucesivos, todavia aleance el objetivo, Ahora intente dos esquemas de recuperaci6n diferentes después de un error: (1) dirijase al vértice més cercano sobre Ia ruta original: y (2) plantee una nueva ruta al objetivo desde la nueva posicién, Compare el funcionamiento de esquemas de recuperaciGn. ; La inclusién de costos de la buisqueda afecta la com, paracién? Ahora suponga que hay posiciones de las cuales la vista es idéntica (por ejem- plo, suponga que e! mundo es una rejilla con obstéculos cuadrados). {Qué tipo de problema afronta ahora el agente? 2A qué se parecen las soluciones? los tres 3.17. Ena pagina 71, dijimos que no considerariamos problemas con caminos de eos- tos negativos, En este ejercicio, lo exploramos con mis profundidad a) 6) °) a ° Suponga que las acciones pueden tener costos negativos arbitrariamente gran des; explique por qué esta posibilidad forzarta a cualquier algoritmo dptimo a explorar entero el espacio de estados. {Ayuda si insistimos que los costos puedan ser mayores 0 iguales a alguna cons- {ante negativa c? Considere tanto drboles como grafos. Suponga que hay un conjunto de operadores que forman un ciclo, de modo que la ejecucidn del conjunto en algtin orden no cause ningiin cambio neto al esta do, Si todos estos operadores tienen el coste negativo, ;qué implica sobre el com, portamiento Gptimo para un agente en tal entomo? Ficilmente pueden imaginarse operadores con alto coste negativo, incluso so bre dominios como la bisqueda de rutas. Por ejemplo, algunos caminos podria tener un paisaje hermoso cuanto mas lejano esté y pese mas que los gastos normales en términos de tiempo y combustible, Explique, en términos exactos dentro del contexto del espacio de estados de biisqueda, por qué la gente no con duce sobre ciclos pintorescos indefinidamente, y explique cmo definir el es pacio de estados y operadores para la busqueda de rutas de modo que agentes artificiales también puedan evitar la formacidn de ciclos. {Puede usted pensar en un dominio real en el cual fos costos son ta causa de ft formacidn de ciclos? 3.18 Considere e} mundo de la aspiradora de dos posiciones sin sensores conforme i Ja ley de Murphy. Dibuje el espacio de estados de ereencia accesible desde el e creencia inicial {1,2,3.4,5,6,7,8},y expliq ie por qué el problema es irresoluble. Mues tre tambié RESOLVER PROBLEMAS MEDIANTE BUSQUEDA 105 n que si el mundo es totalmente observable, entonces hay una secuencia so lucidn para cada estado inicial posible, 3.19 Considere el problema del mundo de la as a) b) ©) d) e piradora definido en ta Figura 2 {Cuil de los algoritmos definidos en este capitulo parece apropiado para este problema? ;Deberta el algoritmo comprobar los estados repetidos? Aplique el algoritmo escogido para obtener una secuencia de acciones dptima para un mundo de 3 x 3 cuyo estado inicial tiene la suciedad en los tres cua- drados superiores y el agente esti en el centro Construya un agente de biisqueda para el mundo de ta aspiradora, y evaltie su rendimiento en un conjunto de 3 x 3 con probabilidad de 0,2 de suciedad en cada cuadrado. Compare su mejor agente de brisqueda con un agente reactive sencillo aleato, rio que aspita si hay suciedad y en otro caso se mueve aleatoriamente Considere lo que sucederfa si el mundo se ampliase an * n. ,Cémo se mo- dificaria el rendimiento del agente de biisqueda y del agente reaetivo varian- doeln? Busqueda informada y exploracion En donde veremos como la informacién sobre el espacio de estados puede impedir a los algoritmos cometer un error en la oscuridad, El Capitulo 3 mostré que las estrategias de biisqueda no informadas pueden encontrar soluciones en problemas generando sistematicamente nuevos estados y probandolos con el objetivo, Lamentablemente, estas estrategias son increfblemente ineficientes en Ja mayoria de casos. Este capitulo muestra cémo una estrategia de biisqueda informada (la que utiliza el conocimiento especifico del problema) puede encontrar soluciones de tuna manera més eficiente, La Seccién 4.1 describe las versiones informadas de los al goritmos del Capitulo 3, y la Seecidn 4.2 explica c6mo se puede obtener la informacién espeeifica necesaria del problema, Las Secciones 4.3 y 4.4 cubren los algoritmos que realizan la bisqueda puramente local en el espacio de estados, evalua uno 0 varios estados mas que explorando sistemticamente los caminos desde un esta- do inicial, Estos algoritmos son adecuados para problemas en los cuales el coste del ca- mino es irrelevante y todo lo que importa es el estado solucién en sf mismo. La familia de algoritmos de buisqueda locales incluye métodos inspirados por la fisica estadistica (temple simulado) y la biologia evolutiva (algoritmos genéticos). Finalmente, la Sec- cidn 4.5 investiga la baisqueda en Iinea, en la cual el agente se enfrenta con un espacio de estados que es completamente desconocido. \do y modificando 4.1 Estrategias de busqueda informada (heuristicas) ‘ésoueon Esta seceidn muestra cémo una estrategia de busqueda informada (1a que utiliza el ‘wronmxon conocimiento especifico del problema mas all4 de la definicién del problema en sf mis mo) puede encontrar soluciones de una manera ms eficiente que una estrategia no in- formada. 108 INTFLIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, ‘0SOUEDA Pre ELMEOR Funciow oe VALUAGION Funct weunisick ssqueon voRAZ Prien EL MEJOR isTNCi eR ea A la aproximacién general que consideraremos.se le Hamara btisqueda primero el mejor. La busqueda primero el mejor es un caso particular del algoritmo general de Buis- QUEDA-ARBOLES 0 de BUSQUEDA-GRaArOS en el cual se selecciona un nodo para la ex- pansién basada en una funcién de evaluaci6n, /(1), Tradicionalmente, se selecciona para Ja expansisn ef nodo con la eval baja, porque la evaluaciGn mide ta distan- cia al objetivo. La bitsqueda primero el mejor puede implementarse dentro de nuestro marco general de busqueda con una cola con prioridad, una estructura de datos que man- tendrd la frontera en orden ascendente de f-valores. EI nombre de «biisqueda primero el mejor» es venerable pero inexacto. A fin de cuentas, si nosotros realmente pudiéramos expandir primero cl mejor nodo, esto no se rfa una biisqueda en absoluto; serfa una marcha directa al objetivo. Todo lo que pode- mos hacer es escoger el nodo que parece ser el mejor segtin la funcidn de evaluacién. Si la funcién de evaluacién es exacta, entonces de verdad serfa el mejor nodo; en reali- dad, la funcidn de evaluacién no sera asf, y puede dirigir la bisqueda por mal camino. No obstante, nos quedaremos con el nombre «biisqueda primero el mejor», porque «btisqueda aparentemente primera el mejor» es un poco incémodo. Hay una familia entera de algoritmos de BUSQUEDA-PRIMERO-Mes0x con funciones! de evaluacién diferentes, Una componente clave de estos algoritmos es una funcién heu- ristica’, denotada h(n): h(n) = coste estimado del camino ma is barato desde el nodo na un nodo objetivo. Porejemplo, en Rumania, podrfamos estimar el coste del camino iis barato desde Arad a Bucarest con la distancia en Ifnea recta desde Arad a Bucarest Las funciones heurfsticas son la forma mais comtin de transmitir ef conocimiento adicional del problema al algoritmo de basqueda. Estudiatemos heuristicas con mas pro- fundidad en la Secci6n 4.2. Por ahora, Las consideraremos funciones arbitrarias espe- cificas del problema, con una restriccidn: si es un nodo objetivo, entonces h(n) = 0. El resto de esta seccién trata dos modos de usar la informaci6n heuristica para ditigir la bisqueda, Busqueda voraz primero el mejor La biisqueda voraz primero ef mejor’ trata de expandir el nodo mas cercano al obje tivo, alegando que probablemente conduzca répidamente a una solucién. Asi, evaliia los nodos utilizando solamente Ia funcién heurfstica: f(m) = h(n) ‘Veamos eémo trabaja para los problemas de encontrar una ruta en Rumanfa utilizando Ja heuristica distancia en linea recta, que Hlamaremos hy, «Si el objetivo es Bucarest. tendremos que conocer las distancias en Iinea recta a Bucarest, que se muestran en la Figura 4.1. Por ejemplo, f,,(En(Arad)) ~ 366, Notemos que los valores de fy, N0 pue- den calcularse de la descripci6n de problema en si mismo. Ademas. debemos tener uni HIE Uni axl, Nostra primera edicidn a ans busqueda avara (yoraz: otros autores fa hay llamado busqueda pri mero ef mejor, Nuestro uso niis general del tGrmino se sigue de Pearl (1984), civio 4.3 te pide demosirae que esta Familia incluy Tuc heuristic fan tata is avado come entra, pero depend silo del estado en es BUSQUEDA INFORMADA Y EXPLORACION 109 cierta cantidad de experiencia para saber que fy, , est correlacionada con las distancias reales del camino y es, por lo (anto, una heuristic Gi Arad 306 Meh: on Bucarest 0 Neamt 24 Craiova, 160 Oradea 3800 Dobreta 242 Pitesti 100 Eforie 161 Rimnicu Vileea 193 Fagaras 176 Sibiu 253 n Timisoara 329) Ist Urzicer 80 \ Iasi 26 Vaslui 199 Lugoj 244 Zerind 374 Figura 4.1 Valores de fy... Distancias en linea recta a Bucarest La Figura 4.2 muestra el progreso de una biisqueda primero el mejor avara con fy» para encontrar un camino desde Arad a Bucarest. El primer nodo a expandir desde Arad se Sibiu, porque esté mas cerca de Bucarest que Zerind 0 que Timisoara. El siguiente nodo a expandir serd Fagaras, porque es Ia mas cercana, Fagaras en su turno genera Bucarest, que es el objetivo. Para este problema particular, la busqueda primero el mejor avara usando /iy,, encuentra una solucién sin expandir un nodo que no esté sobre el camino solucidn: de ahf, que su coste de bisqueda es minimo, Sin embargo, no es dptimo: el camino via Sibiu y Fagaras a Bucarest es 32 kilGmetros mas largo que ef camino por Rimnicu Vilcea y Pitesti, Esto muestra por qué se Hkama algoritmo «avaro» (en cada paso trata de ponerse tan cerca del objetivo como pueda). La minimizacién de him) es susceptible de ventajas falsas. Considere el problema de ir de lasi a Fagaras. La heuristica sugiere que Neamt sea expandido primero, porque es la mas cercana a . pero esto es un callején sin salida, La solucién es ir pri- mero a Vaslui (un paso que en realidad esta més lejano del objetivo segdin la heuristi- ca) y luego seguir a Urziceni, Bucarest y Fagaras. En este caso, entonces, la heuristi provoca nodos innecesarios para expandir. Ademis, si no somos cuidadosos en des- cubrir estados repetidos. la solucién nunca se encontrard, la bisqueda oscilard entre mee Lasi Lu biisqueda voraz primero el mejor se parece a la biisqueda primero en profundi- dad en el modo que prefiere seguir un camino hacia el objetivo. pero volverd atras cuan- do Hegue a un callején sin salida, Sufre lox mismos defectos que ka busqueda primero en profundidad, no es éptima, y es incompleta (porque puede ir hacia abajo en un c: mino infinito y nunea volver para intentar otras posibilidades). La complejidad en tiem- po y espacio, del caso peor, es OU"), donde mies la profundidad maxima del espacio de bisqueda. Con una buena funcidn, sin embargo, pueden reducir la complejidad con: derablemente. La cantidad de la reduceisn depende del problema particular y de la ca- lidad de la heuristic. Pagar: 110 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO SOUEDA RY ~ oe a (a) Estado iniad “6 () Despues de expandir Arad Cmi> | xe V 780 ry (a) Después de expandir Fagaras | [Figura 42 Pape en una bisqueda primer cl mejor wars para Bucarestwlizando la heur | ca distancia en lines rect yee tigutamos lo nodos con sts f-valoes, Busqueda A*: minimizar el costo estimado total de la solucion A la forma mas ampliamente conocida de la btisqueda primero el mejor se le Hama btis- queda A* (pronunciada «biisqueda A-estretla»). Evalia los nodos combinando g(r), el coste pars aleanzar el nodo, y h(n), el coste de ir al nodo objetivo: Jin) = gin) + hin) Ya que Ja 2(07) nos da el coste del camino desde el node inicio al nodo mn, y ki hi) el cos te estimado del camino mas barato desde n al objetivo, tenemos: fin) = coste mas barato estimado de la solucién a través den unis AOMISBLE UEDA INFORMADA ¥ EXPLORACION HL Asi, sitratamos de encontrar la solucién mas barata, es razonable intentar primero el nodo con el valor mas bajo de g(r) + li(n), Resulta que esta estrat con tal de que la funcién heuristica h(n) satistaga ciertas condi es lanto completa com éptima La optimalidad de A* es sencilla de analizar si se usa con la BUSQUEDA-ARBOLES. En este caso, A* es dptima si (1) es una heuristica admisible, es decir, con tal de que la hin) nunca sobrestime el coste de alcanzar el objetivo. Las heuristicas admisibles son por naturaleza optimistas, porque piensan que el coste de resolver el problema es me- nor que el que es en realidad. Ya que g(n) es el coste exacto para aleanzar n, tenemos como consecuencia inmediata que la fm) nunca sobrestima el coste verdadero de una solucién a través de 1, Un ejemplo obvio de una heurfstica admisible es fa distancia en Iinea recta hy, que usamos para ira Buearest. La distancia en Iinea recta es admisible porque el camino més; corto entre dos puntos cualquiera es una Ii nea recta no puede ser una sobrestimacién. En la Figura 4.3, mostramos el progreso de un arbol de biisqueda A* para Bucarest. Los valores de g se caleulan desde los costos de la Figura 3.2. y'los valores de fip,. son los de ta Figura 4.1, Notemos en particular que Bucarest aparece pri- mero sobre a frontera en el paso (e), pero no se selecciona para la expansién porque su coste de f (450) es mas alto que el de Pitesti (417). Otro modo de decir esto consiste en que podria haber una solucién por Pitesti cuyo coste es tan bajo como 417, entonces el algoritino no se conformaré con una solucién que cuesta 450, De este ejemplo, pode- mos extraer una demostracion general de que A*, utilicando fa BUSQUEDA-ARBOLES, es Gptimo si la h(n) es admisible. Supongamos que aparece en la frontera un nodo objeti- vo subiptimo G., y que el coste de la solucidn dptima es C*, Entonces, como G, es su- boptimo y A(G,) = 0 (cierto para cualquier nodo objetivo), sabemos que 1G) = WG) + WG) = (Gy > Ce a es mais que razonable: ones, la buisqueda A* ca recta, entonees la Ahora considere un nodo 1 de la frontera que esté sobre un camino solucisn dptimo, por ejemplo, Pitesti en el ejemplo del parrafo anterior. (Siempre debe de haber ese nodo si existe una solucién.) Si la A() no sobrestima el coste de completar el camino so- Jucidn, entonces sabemos que fin) = ghn) * hin) = Hemos demostrado que fin) = C* < f(G,}, asi que G, no seré expandido y Av debe de- volver una solucién dptima, Si utilizamos el algoritmo de BUsQUEDA-Graros de la Figura 3.19 en ver de la Bus ‘OUEDA-ARHOLES, entonces esta demostracién se estropea, Soluciones subdptimas pueden devolverse porque kt BUSQUEDA-GRaFos puede desechar el camino éptimo en un estado. repetido si ste no se genera primero (véase el Ejercicio 4.4), Hay dos modos de arreglar este problema, La primera solucin es extender la BUSQUEDA-GRaros de modo que des- ceche ef camino mas earo de dos eaminos cualquiera encontrando al mismo nodo (véase La discusisin de la Seecién 3.5), Eleglculo complementario es complicado, pero realmente garantiza ta optimalidad, La segunda solucisn es asegurar que el camino éptimo a cual- quiver estado repetido es siempre cl que primero seguimos (como en el easo de fa buisqueda le costo uniforme). Esta propiedad se mantiene si imponemos una nueva condicisn ah) 112 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO (a) Estado inicial | (by Después de expandir Arad | (e) Después de expandir Sibiu SEAR ia (e) Después de expandir Fagaras a wes = GS ck QED Ga (f) Después de expandir Pitesti Gant> > Cai Ga | 6712014340 Go GD Ga ce GED Sew ANAS seams pn Cris Gee SIRSHTRND GIST WIT=ATONIS Figura 4.3 Etapas en una bisqueda A* para Bucarest. Etiquetamos lo nodos con valores h son las distancias en linea recta a Bucarest tomadas de la Figura 4,1 cowsistenca ‘Moworonin estgun.oaD "RINGULAR BLSQUEDA INFORMADA ¥ EXPLORACION 13 coneretamente condicién de consistencia (tambien Hamada monotonia), Una heuristica in) es consistente si, para cada node ny cada sucesor 1! de nm accidn a, el coste estimado de alcanzar el objetivo desde 1 no es 1 aleanzar n' ms el coste estimado de aleanzar el objetivo desde n' eneraulo por cualquier jor que el coste de Inn) = clan’) + hn’) Esto es una forma de la desigualdad triangular general, que especifica que cada lado de un tridngulo no puede ser mas largo que la suma de los otros dos lados. En nu caso, el tridngulo esté formado por n,’, y el objetivo mas cercano a n. Es fécil demos. tar (Ejercicio 4.7) que toda heuristiea consistente es también admisible. La consecuencia més importante de la consistencia es la siguiente: A* utilizando la Btisgtitba-Graros es primo sila h(n) ex consistente ‘Aunque la consistencia sea una exigencia mas estricta que la admisibilidad, uno tie- ne que trabajar bastante para inventar heuristicas que sean admisibles, pero no consis tentes, Todas la heuristicas admisibles de las que hablamos en este capitulo también son consistentes. Consideremos, por ejemplo, lip, Sabemos que ka desigualdad triangular general se satisface cuando cada lado se mide por la distancia en linea recta, distancia en linea recta entre n yn’ no es mayor que en, a, 1"), De abi que, heuristica consistente. Otra conser estto. y que Ta yyy €S UNA, sencia importante de la consist ia es la siguiente: si h(n) ey conyistente entonces los valores de fim, a lo largo de cualquier camino, no disminuyen. La de mostracidn se sigue directamente de la definicién de consistencia, Supongamos que 1” es un sucesor de 1: entonces gin’) = gar) + et, a, n") para alguna a, y tenemos Jon") = gin) + hin’) = gin) + eonayn') + hkn') = gin) + hin) = fn) Se sigue que la secuencia de nodos expandidos por A* utilizando ka BUSQUEDA-GRaFOS, estan en orden no decreciente de fi). De abt que. el primer nodo objetivo selecciona- do para la expansién debe ser una solucién Sptima, ya que todos Ios nodos posteriores serdin al menos tan costos0s. El hecho de que los f-costos no disminuyan a lo largo de cualquier camino signifi ca que podemos dibujar curvas de nivel en cl espacio de estados. como las eurvas de nivel en un mapa topogtitico, La Figure 4.4 muestra un ejemplo, Dentro de la curva de nivel etiquetada con 400, todos los nodos tienen la f(2) menor o igual « 400, eteétera. Entonces, debido a que A” expande cl nodo de frontera de Fecoste mas bajo, podemos ver que A® busea hat céntricas de frcoste ereciente. Con Ia buisqueda de coste uniforme (biisqueda A* utitizando f(r) = 0), las bandas n «circulares» alrededor del estado inicial. Con heuristicas mas precisa, las bandas se estirardn hacia el estado objetivo y se hardin mas coneéntricas alrededor del camino ép- ia fuera desde el nodo inicial, afadiendo nodos en bandas con- timo, SiC? es el coste del camino de solucidn dplimo, entonces podemos decir lo siguiente: + A® expande todos los nodos con flan) < C + A® entonces podria expandir algunos nodos directamente sobre «la curva de ni- vel abjetivos (donde ka f(a) = C*) antes de seleceionar un nodo objetivo. Por intuicion, es obvio que la primera solucién encontrada debe ser Sptima, porque los nods objetivos en todas las curvas de nivel siguientes tendrin el -eoste mais alto, y asi 114 INTELIGENCIA ARTIFICIAL. UN ENPOQUE MODERNO 00k rman riciente Figura 4.4 Mapa de Rumania mostrando curvas de nivel en f= 380, f= 400 y f= 420, con ‘Arad como estado inicial. Los nodos dentro de cada curva de nivel tienen f-costos menores 0 i les al valor de la curva de nivel. | el g-coste mis alto (porque todos los nodos de objetivo tienen h(n) ~ 0). Por intuicién, es también obvio que la buisqueda A* es completa, Como aitadimos las bandas de fer ciente, al final debemos alcanzar una banda donde f sea igual al eoste del camino a un estado objetivo! Note que A* no expande ningsin nodo con f(t) > C* (por ejemplo, Timisoara no se expande en la Figura 4.3 aun cuando sea un hijo de la rafz). Decimos que el subsitbol debajo de Timisoara esté podado; como fh, es admisible, el algoritmo seguramente no hard caso de este subérbol mientras todavia ve garantiza la optimatidad. El concepto de poda (eliminacién de posibilidades a considerar sin necesidad de examinarlas) es im- portante para muchas dress de TA. Una observacién final es que entre los Igoritmos Gptimos de este tipo (los algorit- mos que extienden los caminos de biisqueda desde la rai) A* es 6ptimamente eficiente para cualquier funcién heurfstica. Bs decir, ningtn otro algoritmo Gptimo garantiza ex pandir menos nodos que A* (excepto posiblemente por los desempates entre los nodos con fiat) = C), Esto es porque cualquier algoritmo que no expanda todos los nodos con fin) f limite entonces devolver fatlo, flmcjor] alternativ — nodo con el segundo, f-valor mis pequeto entre los sucesores resultado, flmejor| — BRPM(problemamejormin(f Hite,alternativa)) si resultado # fallo resultado Algoritmo pa imero el mejor recut La BRPM es algo més eficiente que A*PI, pero todavia sufire de la regenera inex. cesiva de nodos. En el ejemplo de la Figura 4.6, la BRPM sigue primero el camino via Rimnicu Vilcea, entonces «cambia su opinién» e intenta Fagaras, y lucgo cambia su opi ni6n hacia atrds otra vez. Estos cambios de opinién ocurren porque cada vez que el me- jor camino actual se extiende, hay una buena posibilidad que aumente su f-valor (h es por lo general menos optimista para nodos més cercanos al objetivo). Cuando esto pasa, en particular en espacios de biisqueda grandes, el segundo mejor camino podria con vertirse en el mejor camino, entonces la bisqueda tiene que retroveder para seguirlo, Cada cambio de opinidn corresponde a una iteracién de "PI, y podria requerir muchas nue vas expansiones de nodos olvidados para volver a crear el mejor camino y ampliarlo en un nodo mas. Como A®, BRPM es un algoritumo dptimo si ta funcisn heurfstica h(n) es admisible complejidad en espacio es O(bd), pero su complejidad en tiempo es bastante dificil de caracterizar: depende de la exactitud de la funci6n heuristica y de emo cambia a me- nudo el mejor camino mientras se expanden los nodos. Tanto A*PL como BRPM estan. sujetos al aumento potencialmente exponencial de la complejidad asociada con la bis queda en grafos (véase la Secci6n 3.5), porque no pueden comprobar para saber si hay estados repetidos con excepcidn de los que estin en el camino actual. Asi, pueden ex plorar el mismo estado muchas veces. A*PLy BRPM sufren de utilizar muy poca memoria. Entre iteraciones, A*PI con serva solo un nimero: el Limite Fcoste actual. BRPM conserva mais informacién en le memoria, pero usa slo O(bd) de memoria: incluso si hubiera mas memoria disponible. BRPM no tiene ningtin modo de aprovecharse de ello. Parece sensible, por lo tanto, usar toda kt memoria disponible, Dos algoritmos que haven esto son A*M (A con memoria acotada) y A®MS (A*M simplificada). Deseri biremos A*MS. que es mas sencillo, A*MS avanza como A expandiendo la mejor hoja BUSQUEDA INFORMADA Y PXPLORACION 117 (a) Después de expandir Arad, Sibiu, y Rimnicu Vileea ¢ (b) Después de volver atria y expandir Fagars < et ee et Rimnicu Vileea G1 | Aad > yp (c) Después de cam! | y expandi ws Can ta Figura 4.6 Etapas en una bisqueda BRPM para la ruta mas corta a Bucarest. Se muestra el va: Jor del faimite para cada lhamada recursiva sobre cada nodo actual. (a) Se sigue el camino vfa Rim: nicu Vileea hasta que la mejor hoja actual (Pitesti) tenga un valor que es peor que el mejor camino alternativo (Fagaras). (b) La recursividad se aplica y el mejor valor de las hojas del subsrbol olvi: dado (417) e le devuelve hacia atrés a Rimnicu Vilees entonces se expande Fagaras, revela un me- jor valor de hoja de 450, (c) La recursividad se aplica y el mejor valor de las hojas del subérbol ‘olvidado (450) se le devuelve hacia atras « Fagaras; entonces se expande Rimnicu Vileea. Esta vez, ddebido a que el mejor camino altemativo (por Timisoara) cuesta por lo menos 447, la expansién sigue por Bucarest hasta que la memoria esté lena, En este punto, no se puede aiadir un nuevo nodo al drbol de buisqueda sin retirar uno viejo. A*MS siempre retira el peor nodo hoja (el de f-valor iis alto). Como en [it BRPM, A®MS entonces devuelve hacia atrais, a su padre, el vat Jor del nodo olvidado, De este modo, el antepasado de un subarbol alvidado sabe la ca LI8-INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO iRasHNG {sprci oe esta005 ‘eran «span oe s14005 [ANWEL DE B10 lidad del mejor camino en el subarbol. Con esta informacién, A*MS vuelve a generar el subarbol s6lo cuando todos los otros caminos parecen peores que el camino olvida do, Otro modo de decir esto consiste en que, si todos los descendientes de un nodo n son olvidados, entonces no sabremos por qué camino ir desde n., pero todavia tendremos una idea de cuanto vale la pena ir desde 1 a cualquier nodo, 1 algoritmo completo es demasiado complicado para reproducirse aqui®, pero hay un matiz.digno de meneionar. Dijimos que A*MS expande la mejor hoja y suprime la peor hoja. ,Y si todos los nodos hoja tienen el mismo f-valor? Entonces el algoritmo po drfa seleccionar el mismo nodo para el y expandir, A*MS soluciona este proble- ma expandiendo la mejor hoja mds nueva y suprimiendo la peor hoja mes vieja. Estos pueden ser el mismo nodo sélo si hay una sola hoja; en ese caso, el érbol actual de btis- queda debe ser un camino sélo desde la rafz a la hoja lenando toda la memoria, Si la hoja no es un nodo objetivo, entonces, incluso si estd sobre un camino solucién dptimo, esa solucién no es accesible con la memoria disponible. Por lo tanto, el nodo puede des- cartarse como si no tuviera ningtin sucesor. A*MS es completo si hay alguna solucién aleanzable, es decir, si d, la profundidad del nodo objetivo mas superficial, es menor que el tamafio de memoria (expresada en nodos). Es éptimo si cualquier solucién éptima ey aleanzable; de otra manera devuelve la mejor solucién aleanzable, En términos practicos, A*MS bien podria ser el mejor al: goritmo de uso general para encontrar soluciones éptimas, en particular cuando el es pacio de estados es un grafo, los costos no son uniformes, y la generaciGn de un nodo es costosa comparada con el gasto adicional de mantener las listas abiertas y cerradas, ‘obre problemas muy dificiles, sin embargo, a menudo al A*MS se le fuerza a cam: biar hacia delante y hacia atrés continuamente entre un conjunto de caminos soluci6n candidatos, y s6lo un pequeito subconjunto de ellos puede caber en memoria (esto se pa- rece al problema de thrashing en sistemas de paginacién de disco), Entonces el tiempo extra requerido para la regeneracién repetida de los mismos nodos significa que los pro: blemas que serian practicamente resolubles por A*, considerando la memoria ilimita- da, se harfan intratables para A*MS. Es decir, lay limitaciones de memoria pueden hacer a wn problema intratable desde et punto de vista de tiempo de cdleulo. Aunque no haya ninguna teorfa para explicar a compensaciGn entre el tiempo y ka memoria, pa rece que esto es un problema ineludible, La tinica salida es suprimir la exigencia de op- timizacién. Aprender a buscar mejor Hemos presentado varias estrategias fijas (primero en anchura, primero el mejor avara, etcétera) disenadas por informéticos. ;Podria un agente aprender a buscar mejor? La tes- puestt es si, y el método se apoya sobre un concepto importante Hamado el espacio de estados metanivel, Cada estido en un espacio de estados metanivel captura el estado interno (computacional) de un programa que busca en un espacio de estados a nivel de objeto como Rumania. Por ejemplo. el estado interno del algoritno A* consiste en el (Un esbazo apareeis en fa primers edicion de este libre. BUSQUEDA INFORMADA Y EXPLORACION 119 Grbol actual de biisqueda, Cada acci6n en el espacio de estados metanivel es un paso de cmputo que cambia el estado interno; por ejemplo, cada paso de cémputo en A* ex pande un nodo hoja y aftade sus sucesores al drbol. Asi, la Figura 4.3, la cual muestra una secuencia de drboles de biisqueda mas y mas grandes, puede verse como la repre- sentacién de un camino en el espacio de estados metanivel donde cada estado sobre el camino es un arbol de biisqueda a nivel de objeto. Ahora. el camino en la Figura 4.3 tiene cinco pasos, incluyendo un paso, ta expan- sidn de Fagaras, que no es especialmente provechoso. Para problemas ms dificiles, ha i bri muchos de estos errores, y un algoritmo de aprendizaje metanivel puede aprender de estas experiencias para evitar explorar subarboles no prometedores. Las téenicas us das para esta clase de aprendizaje estan descritas en el Capitulo 21. El objetivo del apren dizaje es reducir al minimo el coste total de resolver el problema, compensar el costo. computacional y el coste del camino. 4.2 Funciones heuristicas esta seccidn, veremos heuristicas para el 8-puzle, para que nos den informacién so- bre Ia naturaleza de las heuristicas en general EL8-puzle fue uno de los primeros problemas de biisqueda heuristica, Como se men- cion6 en la Seccién 3.2. el objeto del puzle es deslizar las fichas horizontalmente o ver- ticalmente al espacio vaefo hasta que la con objetivo (Figura 4.7) racién empareje c n ta configuracién C1 Ce [2] El coste medio de la solucién para los casos generados al azar del 8-puzle son aproxi madamente 22 pasos, El factor de ramificacién es aproximadamente tres. (Cuando la ficha vacfa esté en el medio, hay cuatro movimientos posibles; cuando esté en una es- quina hay dos: y cuando esta a lo largo de un borde hay tres.) Esto significa que una biisqueda exhaustive x profundidad 29 miraria sobre 3° ~ 3,1 10" estados, Mante- niendlo ka pista de los estados repetidos. podriamos reducirlo a un factor de aproxima- damente 170.000, porque hay solo 91/2 = 181.440 estados distintos que son aleanzables. 120° INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO bisraNcia oe anna acTOR oF AMFIACION Een (Véase el Ejercicio 3.4.) Esto es un ntimero manejable, pero el mimero correspondien- te para el puzle-15 es aproximadamente 10!", entonces lo siguiente es encontrar una bue- na funcién heurfstica, Si queremos encontrar las soluciones més cortas utilizando A*, necesitamos una funcién heuristica que nunca sobrestima ef nimero de pasos al objeti- vo. Hay una larga historia de tales heuristicas para el [5-puzle; aqué estan dos candida- tas cominmente usadas: + hy = nimero de piezas mal colocadas. Para la Figura 4.7. las 8 piezas estén fuera de su posicién, zisi que el estado inicial tiene hy = 8. /, es una heurfstica admisi- ble, porque esta claro que cualquier pieza que esté fuera de su lugar debe mover- se por lo menos una vez + hi, = suma de las distancias de las piezas a sus posiciones en el objetivo. Como las piezas no pueden moverse en diagonal, la distancia que contaremos serd la sum de las distancias horizontales y verticales. Esto se Hama a veces ta distancia en. la ciudad o distancia de Manhattan. hi, es también admisible, porque cualquier movimiento que se puede hacer es mover una pieza un paso mis cerca del objeti- vo. Las piezas 1 a8 en el estado inicial nos dan una distancia de Manhattan de A= 341+ 242+ 2H34+342=18 Como era de esperar, ninguna sobrestima el coste solucién verdadero, que es 26, El efecto de la precisién heuristica en el rendimiento Una manera de earacterizar la calidad de una heuristica es el b* factor de ramificacién eficaz, Si cl mtimero total de nodos generados por A* para un problema particular es W, y la profundidad de la solucién es d, entonces h* es el factor de ramifieacion que un de bol uniforme de profundidad d deberia tener para contener V + 1 nodos. Asi, NEPA TEBE EN +o. + (bHY Por ejemplo, si A* encuentra una solucién a profundidad cinco milizando 52 nodos, en- tonces él factor de ramificacién eficaz es 1,92. El factor de ramificacién eficaz. puede variar segtin los ejemplos del problema, pero por lo general es constante para proble mas suficientemente dificiles. Por lo tanto, lay medidas experimentales de b* sobre un pequefio conjunto de problemas pueden proporcionar una buena gufa para la utilidad 10- tal de la heuristica. Una heuristica bien diseiada tendria un valor de b* cerca de 1, per mitiria resolver problemas bastante grandes, Para probar las funciones heuristicas h, y f,, generamos 1,200 problemas aleatorios con soluciones de longitudes de 2 a 24 (100 para cada niimero par) y los resolvemos con la busqueda de profundidad iterativa y con Ja busqueda en drbol A* usando tanto h, como, fy. La Figura 4.8 nos da el ntimero medio de nodos expandidos por cada estrategia y el actor de ramificacion eficaz, Los resultados sugieren que hy es mejor que hy es mu cho mejor que la utilizacidn de fa busqueda de profundidad iterativa, Sobre nuestras se luciones con longitud 14, A* con fy es 30,000 veces mas eliciente que la basqueds m0 informada de profundidad iterativa. Uno podria preguntarse si fr, es siempre mejor que ft. La respuesta ey si. Es ficil ver de las definiciones de kas dos heuristicas que, para cualquier node n, Ian) = h(a omnacion ont ctan eLAADD BUSQUEDA INFORMADA Y EXPLORACION 121 Asi decimos que /, domina a h,. La dominacién se tashada directamente a la eficien- cia: A* usando h, nunca expandira mas nodos que A* usando hy (excepto posiblemente para algunos nodos con fin) = C*). El argumento es simple. Recuerde la observacién de la pagina 113 de que cada nodo con fin) < C* sera seguramente expandido. Esto es Jo mismo que decir que cada nodo con hin) < C* ~ gin) sera seguramente expandido. Pero debido a que /1, ¢s al menos tan grande como fy, para todos los nodos, cada nodo ‘que seguramente sera expandido por la biisqueda A* con fh, sera seguramente tambi expandido con h,..y h, podria tambien hacer que otros nodos fueran expandidos. De ahi que es siempre mejor usar una funcién heurfstica con valores més altos, a condicién de que no sobrestime y que el tiempo computacional de kt heurfstica no sea demasiado grande. Gounichieign, | _Ratwevnifcin [ani | wm | wy [wc 6) as) | 2 287 148 | we foam fou | 28 280 133 wl oem | om | os | aw | Ss : mjscus fom | om | am ote | oa | ma sx | oan a | 13s wa | Foam | oan | both 2 | 18 | 3056 363 1.46 26, er 616 1a? 2) vont | aay Is Blo= | sms | tee ts Tigwal)_Conparcn dls cover deh bq face deri iioneoe Mort cpa frwsvey selon. Avan yy he Low dans mea de 1 ejemplos del puste 8, para soluciones de varias longitudes. 1 Inventar funciones heuristicas admisibles Hemos visto que h, (piezas mas colocadas) y fi (distancia de Manhattan) son heuristi- cas bastante buenas para el 8-puzle y que fi, es mejor. ;Cémo ha podido surgir hs? jE posible para un computador inventar mecsinicamente tal heuristica? d,, 1, son estimaciones de la longitud del camino restante para el 8-puzle, pero tam- bign son longitudes de caminos absolutamente exactos pars versiones simplificadas del pute. Si se cambiaran las reglas del puzle de modo que una ficha pudiera moverse a to- das partes, en ver de solamente al cuadrado adyacente vaeio, entonces fy darfa el ni mero exacto de pasos en la solucién mas corta, Del mismo modo, si un ficha pudiera moverse a un cttadrado en cualyuiicr direccién, hasta en un euadrado ocupado, entonces Jn, daria ef ntimero exacto de pasos en fa solucisn mils corta, A un problema con menos restricciones en las ueciones se te Hama problema relajado, Ef cosie de una solacivin dipnima en un problema relajado es ima heuristica admisible para el problema original. 12 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, La heuristica es admisible porque la soluciGn éptima en el problema original es, por de- finici6n, también una solucidn en el problema relajado y por lo tanto debe ser al menos tan cara como la solucién 6ptima en el problem relajado. Como fa heuristica obtenida es un costo exacto para el problema relajado, debe cumplir la desigualdad triangular y es por lo tanto consistente (véase la pagina 113), Si la definicién de un problema esta escrita en un lenguaje formal, es posible cons- truir problemas relajados automiiticamente®. Por ejemplo, si las acciones del 8-puzle es- tin descritas como: Una ficha puede moverse del cuadrado A al cuadrado B si A es horizontalmente 0 verticalmente adyacente a B y B es la vaefa podemos generar tres problemas relajados quitando una o ambas condiciones: (a) Una ficha puede moverse del cuadrado A al cuadrado B si A es adyacente a B (b)_ Una ficha puede moverse del cuadrado A al cuadrado B si B es el vacfo. (c) Una ficha puede moverse del cuadrado A al cuadrado B. De (a), podemos obtener /, (distancia de Manhattan). El razonamiento es que /, seria el resultado apropiado si moviéramos cada ficha en direcci6n a su destino, La heurfs 4 obtenida de (b) se discute en el Ejercicio 4.9. De (c), podemos obtener h, (fichas mal colocadas), porque seria el resultado apropiado si las fichas pudieran moverse a su des tino en un paso. Notemos que es crucial que los problemas relajados generados por esta tecnica puedan resolverse esencialmente sin busqueda, porque las reglas relajadas per- miten que el problema sea descompuesto en ocho subproblemas independientes. Si el problema relajado es dificil de resolver, entonces los valores de la correspondencia heu ristica serdn costosos de obtener” Un programa tlamado ABSOLVER puede generar heurfsticas automdticamente 3 par- tir de las definiciones de! problema, usando el método del «problema relajado» y otras tecnicas (Prieditis, 1993). ABSOLVER gener una nueva heurfstica para el 8-puzle mejor que cualquier heuristica y encontt6 el primer heurfstico iil para el famoso puzle cubo de Rubik. Un problema con la generacidn de nuevas funciones heuristicas es que a me falla al conseguir una heurfstica «claramente mejor». Si tenemos disponible un conjun to de heurfsticas admisibles hj... h,, para un problema, y ninguna de ellas domina a kas demis, {qué deberfamos elegir? No tenemos por qué hacer una opcién, Podemos tener Jo mejor de todas. definiendo uddo se Jnl) = max [l(a oes hy) Esta heurfstica compuesta usando cualquier funcién es mas exacta sobre el nodo en. cuestién, Como las heuristicas componentes son admisibles, h es admisible; es tam- En os capitlos 8 y 11 dlescribiremos lenguajes formales eonvenientes par males «que pueda manipuluse, puede automatizarse la construccidin de problemas rekajades, Por el ni ent, assem el castellano, Nove que un suristiea perfoxta puede ob se simplemente permitiend sf ejecta una busqueda pi mero en anchura «a escondidss», Ast, hay una compensaeion entre exaetitud y tiempo de esleulo para is fiunciones heusfsticas suBPROBLEMA Nooexo pe wases beoxtos BUISQUEDA INFORMADA ¥ EXPLORACION 123 bign ficil demostrar que fr es consistente, Ademas, ft domina a todas sus heuristicas componente También se pueden obtener heurfsticas admisibles del coste de problema de un problema dado, Por ejemplo, la Figura 4.9 muestra un subproblema det puzle-8 de la Figura 4.7. El subproblema implica la colocacién de las fiehas 1, 2. 3. 4 én sus posiciones correctas. Claramente, el coste de la solucidn éptima de este subpro- blema es una cota inferior sobre el coste del problema completo, Parece ser considera- blemente mas exacta que la distancia de Manhattan, en algunos casos. La idea que hay detras del modelo de bases de datos es almacenar estos costos exac {os de las soluciones para cada posible subproblema (en nuestro ejemplo, cada confi- guraciGn posible de las cuatro fichas y el vacfo: note que las posiciones de fas otras cuatro fichas son irrelevantes para los objetivos de resolver el subproblema, pero los movimientos de esas fichas cuentan realmente hacia el coste). Entonces, caleulamos una heuristica ad- misible h,,, para cada estado completo encontrado durante una biisqueda, simplemen- te mirando la configuracidn del subproblema correspondiente en la base de datos. La base de datos se construye buscando hacia atras desde el estado objetivo y registrando el cos- te de cada nuevo modelo encontrado; el gasto de esta biisqueda se amortiza sobre los si- guientes problemas, La opcidn de 1-2-3-4 es bastante arbitraria; podrfamos construir también bases de datos para 5-6-7-8, y para 2-4-6-8, etcétera. Cada base de datos produce una heuristica admisible, y esta heuristica puede combinarse, como se explicé antes, tomando el valor maximo, Una heuristics combinada de esta clase es mucho may exacta que la distancia de Manhattan: ef ntimero de nodos generados, resolviendo 15-puzles aleatorios, puede reducirse en un factor de 1,000. Uno podria preguntarse si fas heurfsticas obtenidas de las bases de datos 1-2-3-4 y 5-6-7-8 podrfan sumarse, ya que los dos subproblemas parecen no superponerse, ;Esto darfa ain una heurfstica admisible? La respuesta es no, porque las soluciones del sub= problema 1-2-3-4 y del subproblema 5-6-7-8 para un estado compartiran casi seguramente algunos movimientos (es improbable que 1-2-3-4 pueda colocarse en su lugar sin tocar 6-7-8 y viceversa). {Pero y sino contames estos movimientos? Bs decir no registra- mos el costo otal para resolver el problema 1-2-3-4, sino solamente el niimero de mo- la solucién de un sub- 2] - [+ Estado objetive Estado iniciat 44.9 Un subproblema del puzle-8 dado en la Figura 4.7. La tarea es conseguir las fichas | 2,3y 4 en sus posiciones corr ws, sin preocuparse de lo que le pasan a las otras fichas, 124. INTELIGENCIA ARTIFICIAL UN ENFOQUE MODERNO uoocx0 & anses DeOxTDS DSADNIAS canAcrERisiCAS vimientos que implican 1-2-3-4. Entonces es facil ver que la suma de los dos costos to da hay detras del modelo de basi sible resolv fa es una cota inferior del costo de resolver el problema entero. Esta es ta idea que de datos disjuntas. Usando tales bases de datos, es po- puzles-15 aleatorios en milisegundos (el ntimero de nodos generados se reduce en un factor de 10.000 comparado con la utilizacién de la distancia de Manhat- tan), Para puzles-24, se puede obtener una aceleracién de aproximadamente un millén, El modelo de bases de datos disjuntas trabajan para puzles de deslizamiento de fi- chas porque el problema puede dividirse de tal modo que cada movimiento afecta sélo aun subproblema, ya que s6lo se mueve una ficha a la vez. Para un problema como el cubo de Rubik, esta clase de subdivisidn no puede hacerse porque cada movimiento afec taa ocho o nueve de los 25 cubos. Actualmente, no esti claro eémo definir bases de dit tos disjuntas para tales problemas, Aprendizaje de heuristicas desde la experiencia Una funcidn heuristica h(n), como se supone, estima el costo de una solucié que co mienza desde el estado en el nodo n. ;Cémo podrfa un agente construir tal funcién’? Se dio una soluci6n en Ia seccién anterior (idear problemas relajados para los cuales pue de encontrarse facilmente una soluci6n Sptima). Otra solu riencia, «La experiencia» aqui significa la solucién de muchos 8-puzles. por ejemplo. Cada soluci6n dptima en un problema del 8-puzle proporciona ejemplos para que puc da aprender la funcién f(a). Cada ejemplo se cién y el costo real de la solucién desde ese punto. A partir de estos ejemplos, se puede utilizar un algoritmo de aprendizaje inductive para construir una funcién h(n) que pue da (con suerte) predecir los costos solucién para otros estados que surjan durante la bis queda, Las tenicas para hacer esto utilizando redes neuronales, arholes de decisidn. y otros métodos, se muestran en el Capitulo 18 (os métodos de aprendizaje por refuer0. también aplicables, ser Los métodos de aprendizaje inductivos trabajan mejor cuando se les suministran isticas de un estado que sean relevantes para su evaluacidn, 1 cripcidn del estado. Por ejemplo, la caracteristica «mimero de fichas, podria ser ditt en fa prediccién de la distancia actual de un estado desde el objetivo, Ll memos a esta caracteristica.x(n). Podriamos tomar 100 configuraciones del 8-puzle ge neradas aleatoriamente y unir las estadisticas de sus costos de la solucién actu! Podriamos encontrar que cuando x(n) es cinco, el coste medio de la solucién esti alte dedor de 14, eteétera, Considerando estos datos, el valor de.x, puede usarse para pred cir hin). Desde luego, podemos usar varias caracteristicas. Una segunda caracteristic (1) podria ser «el ntimero de pares de fichas adyacentes que son también adyacentes en el estado objetivo». ;Cémo deberfan combinarse x (12) y.x,(0) para predecir hin)? Una aproximacicin comiin es usar una combinacién lineal ion es aprender de la expe » solu compone de un estado del cami rin descritos en el Capitulo 21). ay que s6lo la des al colocadas Ha) = exon) + extn) Las constantes ¢, y ¢, Se ajustan para dar el mejor ajuste a los datos reales sobre Jos cos tos de la solucién, Presumiblemente, c, debe ser positive y c; debe ser negativo, BUSQUEDA INFORMADA Y EXPLORACION 4.3 Algoritmos de busqueda local y problemas de optimizacion Los algoritmos de biisqueda que hemos visto hasta ahora se disefian para explorar sis tematicamente espacios de busqueda, Esta forma sistemética se aleanza manteniendo uno ‘© mas caminos en memoria y registrando qué alternativas se han explorado en cada pun- to a lo largo del camino y cusiles no. Cuando se encuentra un objetivo, el camino a ese objetivo también constituye una solucién al problema, En muchos problemas, sin embargo, el camino al objetivo es irrelevante. Por ej plo, en el problema de las 8-reinas (véase la pagina 74), lo que importa es la configar racidn final de las reinas, no el orden en las cuales se aitaden, Esta clase de problemas incluyen muchas aplicaciones importantes como diseito de circuitos integrados, dis- posicién del suelo de una fabrica, programacién del trabajo en tiendas, programacién automatica, optimizacin de redes de telecomunicaciones, dirigir un vebiculo, y la gestidn de carteras. Si no importa el camino al objetivo, podemos considerar una clase diferente de al- wosweoatoca ——_gorit mos que no se preocupen en absoluto de los caminos. Los algoritmos de biisque- da local funcionan con un solo estado actual (mas que miltiples caminos) y generalmente se mueve s6lo a los vecinos del estado. Tipicamente, los caminos segui- dos por la buisqueda no se retienen, Aunque los algoritmos de biisqueda local no son sis: temiticos, tienen dos ventajas claves: (1) usan muy poca memoria (por lo general una cantidad constante): y (2) pueden encontrar a menudo solticiones razonables en espa ios de estados grandes o infinitos (continuos) para los cuales son inadecuados los al- goritmos sistematicos, stto0 ACTUAL funcidn objetivo _— miximo global maximo Toeal phaine espacio de estados ent tual | | | Figura 4.10 — Un paisaje del espacio de estados unidimensional en el cual la elevacién correspond | vf funcisn objetivo. El objetivo es encontrar el maximo global. a bisqueda de axcensisn de co Jinas modifies el estado actual para tratar de mejorar, como se muestra con fa Mech, Se definen en el texto varios raszos topogriticos 126 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO PROBLEMAS OF ‘OPTIWZACION FuNciOn oserivo PAISAIEDEL ESPACIO De FSTADOS. wo cLoea. ‘mhxamo GLoBat ascension ot ‘cous Ademuis de encontrar los objetivos, los algoritmos de buisqueda local son iitiles para resolver problemas de optimizacién puros, en los cuales el objetivo es encontrar el me- jor estado segtin una funcién objetivo. Muchos problemas de optimizacién no encajan en el modelo «estindar» de basqueda introducido en el Capitulo 3. Por ejemplo, la na- turaleza proporciona una funcién objetivo (idoneidad o salud reproductiva) que la evo- luciGn Darwiniana intenta optimizar, pero no hay ningtin «test objetivo» y ningtin «oste de camino» para este problema. Para entender la btisqueds local, encontraremos muy titil considerar la forma o el pai saje del espacio de estados (como en la Figura 4.10). El paisaje tiene «posicién» (de- finido por el estado) y «elevaciGn> (definido por el valor de la funcidn de coste heuristica © funcién objetivo). Si ka elevacién corresponde al costo, entonces el objetivo es encontrar el valle mas bajo (un minimo global); si la elevacisn corresponde a una funcién obje- tivo, entonces el objetivo es encontrar el pico mas alto (un maximo global). (Puedes con- vertir uno en el otro solamente al insertar un signo menos.) Los algoritmos de biisqueda local exploran este paisaje. Un algoritmo de bisqueda local completo siempre encuen tra un objetivo si existe: un algoritmo 6ptimo siempre encuentran un minimo/maximo global Busqueda de ascensién de colinas En la Figura 4.11 se muestra el algoritmo de biisqueda de ascensién de colinas. Es sim plemente un bucle que continuamente se mueve en direccién del valor creciente, es de cir, cuesta arriba. Termina cuando alcanza «tn pico» en donde ningdn vecino tiene un valor mas alto, El algoritmo no mantiene un drbol de busqueda, sino una estructura de datos del nodo actual que necesita s6lo el registro del estado y su valor de funcién ob- jetivo. La ascensién de colinas no mira delante més alki de los vecinos inmediatos del estado actual. Se parece a lo que hacemos cuando tratamos de encontrar la cumbre del Everest en una niebla mientras sufrimo: Para ilustrar la ascensién de colinas, usaremos el problema de las 8-reinas introdu- cido en la pagina 74. Los algoritmos de biisqueda local tipicamente usan una formuka- mnes | funcién Ascrnsios-Counasiproblema) devuelve un estado que es un maximo local entradas: problema, un problema variables locales: aeswal, un nodo vecing, un nodo actual & Haxcix-Novo(Estapo-Interat problema) | Duele hacer | i ai Visoalerno| © Vantaa entonces devolve Estolacal eat ern | ss (Ia version subida mas rpida), | que es la téenica de biisqueda local ma In paso el nodo actual se sustituye por el me } jor vecino: en esta versidn, el vecino con ef VALOR ms allo, pero si se utiliza una heuristica hr de [ etimacign de costo, vere ves con mis bajo. susaueon vaca Nona BUSQUEDA INFORMADA YEXPLORACION 127 cidn de estados completa, donde cada estado tiene a ocho reinas sobre el tablero, una por columna, La funcidin sucesor devuelve todos los es una ados posibles generados moviendo ina a otro cuadrado en la misma columna (entonces cada estado tiene 8 X 7 = 56 sucesores). La funcién de costo heuristica f es el miimero de pares de reinas que se ata can [a una a la otra, directa o indirectamente. El ménimo global de esta funcisn es cero, que ocurte solo en soluciones perfectas. La Figura 4.12(a) muestra un estado con ft = 17. La figura también muestra los valores de todos sus sucesores, con los mejores suucesores que tienen h = 12. Los algoritmos de ascensién de colinas eligen tipicamente al azar en- tre el conjunto de los mejores stucesores, si hay mas de uno. Figura 4.12 (a) Un estado de 8-reinas con una heuristica de estimacidn de eostos h = 17, mos. tsando al valor de h para cada sucesor posible obtenido al mover una reina dentro de su columna, Los mejores movimientos estin marcados. (b) Un minimo local en el espacio de estados de las 8 reinas; el estado tiene f= 1 pero cada sucesor tiene un coste mis alto, A veces a la ascension de coli 1s se le Hama biisqueda local voraz porque toma un es- tudo vecino bueno sin pensar hacia dénde ir después. Aunque la avaricia sea considera- da uno de los siete pecados mortales, resulta que los algoritmos avaros a menudo funcionan bastante bien, La ascensiGn de colinas a menudo hace ¢l progreso muy répi- do hacit una solucién, porque es por lo general bastante Facil mejorar un estado mato. Porejemplo, desde el estado de la Figura 4.12(a), se realizan solamente cinco pasos, alcancar el estado de la Figura 4.12(b). que tiene r= 1 y es casi una solucién, Lamen- tablemente, la ascensién de colinas a menudo se atasca por los motivos siguientes: + Maximo local: estados veeinos, pi 1 miiximo local es un pico que es més alto que cada uno de sus 0 mas abajo que el maximo global. Los algoritmos de ascen- sidn de colinas que aleanzan la vecindad de un sniiximo local iran hacia el pico, pero entonces se atascaran y no podein ir a ni ura 4.10 ilustra el problema esquemniticamente, Mas concretamente, el estado en Ta Figura 4,12(b) es {otra parte, Lat Fi 128 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO renazn womneto AATERAL de hecho tn maximo local (es decir, un minimo local para el coste fn); cada movi miento de una sola reina hace la situacién peor + Crestas: la Figura 4.13 muestra una cresta, Las erestas causan una secuencia de mdximos locales que hace muy dificil la navegacién para los algoritmos avaros, ‘Meseta: una meseta es un érea del paisaje del espacio de estados donde la funcign de evaluacién es plana, Puede ser un miiximo local plano, del que no existe nin- guna salida ascendente, 0 una terraza, por la que se pueda avanzar (véase la Fi gura 4,10). Una biisqueda de su camino en la meseta scension de colinas podria ser ineapaz de encontrar En cada caso, e algoritmo aleanza un punto en el cual no se puede hacer ningtin pro- greso. Comenzando desde un estado de las ocho reinas generado aleatoriamente, Ia as censidn de colinas por la zona més escarpada se estanca el 86 por ciento de las veces, resuelve sélo el 14 por ciento de los problemas. Trabaja répidamente, usando solamen- te cuatro pasos por regla general cuando tiene éxito y tres cuando se estanca (no esta mal para un espacio de estados con 8° ~ 17 millones de estados). EL algoritmo de la Figura 4.11 se para si aleanza una meseta donde el mejor sucesor tiene el mismo valor que el estado actuall. ;Podrfa ser una buena idea no continua (y per mitir un movimiento lateral con la esperanza de que la meseta realmente sea una terra: za, como se muestra en la Figura 4.10)? La respuesta es por lo general si, pero debemos, tener cuidado, Si siempre permitimos movimientos laterales cuando no hay ningtin mo- vimiento ascendente, vaa ocurrir un bucle infinito siempre que el algoritmo alcance un maximo local plano que no sea una terraza. Una solucién comtin es poner un limite so: bre el niimero de movimientos consecutivos laterales permitidos. Por ejemplo, podriamos permitir hasta, digamos, 100 movimientos laterales consecutivos en el problema de las ocho reinas. Esto eleva el porcentaje de casos de problemas resueltos por la ascensign de Figura 4.13 Hustracin de por qué las erestas causan dificultades para la ascensién de colinas La reilla de estados (cireulos ascuros) se pone sobre una cresta que se eleva de izquierda a dete ‘cha y erea una secueneia de méximos locales que no estan direclamente relacionados el uno con el ‘iro, De cala maximo local, todas las acciones disponibles se sefialan cuests abaio. ascension oF ouNas fsTocAsTiCn ascension oe ounas Oc PRIMERA arcion CouMas oF Reco fceonta BUSQUEDA INFORMADA YEXPLORACION 129 colinas del 14 al 94 por ciento, El éxito viene con un coste: el algoritmo hace en prome- dio aproximadamente 21 pasos para cada caso satisfactorio y 64 para cada fracas. Se han inventado muchas variantes de la ascensidn de colinas. La ascensién de col nas estocastica escoge aleatoriamente de entre los movimientos ascendentes: la probabi lidad de seleccién puede variar con la pendiente del movimiento ascendente. Este por lo general converge mais despacio que la subida mas escarpada, pero en algunos paisajes de cestados encuentra mejores soluciones. La ascensi6n de colinas de primera opeién im- plementa una ascensidn de colinas estocdstica generando sucesores al azar hasta que se ge- nera uno que es mejor que el estado actual. Esta es una buena estrategia cuando un estado tiene muchos (por ejemplo, miles) sucesores. El ejercicio 4.16 le pide investigar esto. Los algoritmos de ascensién de colinas descritos hasta ahora son incompletos, a me: nudo dejan de encontrar un objetivo, cuando éste existe, debido a que pueden estancarse sobre maximos locales. La ascensién de colinas de reinicio aleatorio adopts el ref nocido, «si al principio usted no tiene éxito. intent, intente otra ver». Esto conduce a una serie de buisquedas en ascensién de colinas desde los estados iniciales generados alcato- riamente®, pardnidose cuando se encuentra un objetivo. Es completa con probabitidad acer- cdndose a 1. por laraz6n trivial de que generaré finalmente un estado objetivo como el estado inicial. Si cada buisqueda por ascensién de colinas tiene una probabilidad p de éxito, en- tonces el ntimero esperado de reinicios requerido es I/p. Para ejemplos de ocho reinas sin permitir movimientos laterales, p ~ 0,14, entonces necesitamos aproximadamente siete it raciones para encontrar un objetivo (seis fracasos y un Exito). BI niimero esperado de pa sos es el coste de uni iteracién ac in co- rtada mas (1 ~ p)/p veces el coste de fracaso, © aproximadamente 22 pasos. Cuando permitimos movimientos laterales, son necesarios. 1/094 ~ 1,06 iteraciones por regla general y (I< 21) + (0.06/0,94) 64 ~ 25 pasos. Para las ocho reinas, entonces, la ascensién de colinas de reinicio aleatorio es muy eficaz, Incluso para tres millones de reinas, la aproximacién puede encontrar soluciones en me- nos de un minuto’. E1 éxito de la ascensién de colinas depende muchisimo de la forma del paisaje del es pacio de estados: si hay pocos maxims locales y mesetas, la ascension de colinas con rei nicio aleatorio encontraré una solucién buena muy ripidamente, Por otro lado, muchos problemas reales tienen un paisaje que parece ms bien una familia de puerco espines so: bre un suelo Ilano, con puerco espines en miniatura que viven en ka punta le cada aguja del puerco espin, y ast indefinidamente. Los problemas NP-duros tipicamente tienen un de méximos locales. A pesar de esto, un miiximo local, razonable- mimero exponen mente bueno, a menudo se puede encontrar después de un mimero pequeiio de reinicios, Busqueda de temple simulado Un algoritmo de ascensidn de colinas que nunca hace movimientos «cuesta abajo» hacia cestados con un valor inferior (0 coste mas alto) garantiza ser incompleto, porque puede La generacién de un estado aleatorio de un espacio de estas especifieado implicianente puede ser un problema ditfeil en sémaism, Luby era, (1993) demuestran que es mi 2 veces. reiniviar un alporitme de buisyueds aera despus de cierta cunt fija de tiempo y que puede ser mucho mas cficiente que permitir que continde hr bisque J indefinidamente, Rechazar o limitar el namero de movinnientos kiterales es un ejemplo dk est 130° INTELIGENCIA ARTIFICIAL UN ENFOQUE MODERNO estanearse en un maximo local. En contraste, un camino pura nente aleatorio, es decir mo- vigndose a un sucesor elegido uniformemente :tleatorio de un conjunto de sucesores, es completo, pero sumamente ineficaz, Por lo tanto, parece razonable intentar combinar la rewiesmusoo ——_ascensidn de colinas con un camino aleatorio de algdn modo que produzea tanto efica- cia como completitud, El temple simulado es ese algoritmo, En metalurgia, el temple es el proceso utilizado para templar 0 endurecer metales y cristales calentdndolos a una temperatura alta y luego gradualmente enfriarlos, asf permite al material fundirse en un Seam estado cristalino de energia baja. Para entender el temple simulado, cambiemos nuestro punto de vista de la ascensiGn de colinas al gradiente descendente (es decir, minimizando el coste) ¢ imagines la tarea de colocar una pelota de ping-pong en la grieta mas pro- funda en una superficie desigual. Si dejamos solamente rodar a la pelota, se pararii en un minimo local. Si sacudimos la superficie, podemos echar la pelota del minimo local. El truco es sacudir con bastante fuerza para echar la pelota de minimos locales, pero no lo bastante fuerte para desalojarlo del mfnimo global. La solucién del temple simulado debe comenzar sacudiendo con fuerza (es decir, a una temperatura alta) y luego gradual mente reducir la intensidad de ta sacudida (es decir, a mas baja temperatura). El bucle interno del algoritmo del temple simulado (Figura 4.14) es bastante si- milar a la ascension de colinas. En vez de escoger el mejor movimiento, sin embargo, escoge un movimiento aleatorio, Si el movimiento mejora la situacién, es siempre acep- ado, Por otra parte, el algoritmo acepta el movimiento con una probabilidad menor que uno, La probabilidad se disminuye exponencialmente con li «mmaldad» de movi- miento (la cantidad AZ por la que se empeora la evaluacién). La probabilidad también disminuye cuando «la temperatura» T baja: los « se encuentra una enorme variedad de mé- todos ajustando «. El problema basico es que. si a es demasiado pequea, necesitamos demasiados pasos: si a es demasiado grande, la bisqueda podria pasarse el maximo. La técnica de linea de busqueda trata de vencer este dilems ampliando la direceisn del gradiente actual (por lo general duplicando repetidamente a hasta que fcomience a dis- minuir otra vez. El punto en ef cual esto ocurre se convierte en el nuevo estado actual. Hay varias escuclas de pensamiento sobre como debe elegirse la nueva diteccisn en este punto. Para muchos problemas, el algoritmo mas eficaz es el venerable método de New- ton-Raphson (Newton. 1671; Raphson, 1690), Es una técnica general para encontrar rai ces de funciones. es decir la solucién de ecuaciones de la forma g(x) = 0. Trabaja calewlando una nueva estimacién para ta raiz.x segtin fa fSrmula de Newton. 1 gran escala, En esos xe x= g/g") Para encontrar un maximo 0 mfnimo de f wenemos que encontrar x tal que el gradien- te es cero (es decir, Ve (x) = 0). Asi g(a), en La féemula de Newton, se transforma en Vix), y la ecuacién «le actualizaciGn puede escribirse en forma de v. lor-matriz como xe x OH, VSO) donde H,(x) es ta matriz Hesiama de segundas derivadas. cuyo los elementos H,, estan desctitos por 4/9, Ya que el Hesiano tiene #” entradas, Newton-Raphson se hace costoso en espacios cimensionalmente altos, y por tanto, se han desarrollada muchas apro- ximaciones. Los métodos locales de biisqueda sufren de midximos locales, erestas, y mesetas tan tw en espacios de estados continuos como en espacios discretos. Se pueden utilizar el rei- nicio aleatorio y el temple simulado y son a menudo provechosos. 1.os espacios continues, dimensionalmente altos son, sin embargo, lugares grandes en Jos que es Feil perderse. Un tema final. que veremos de pasada, es la optimizacién con restrieciones, Un pro hhlema de optimizacidn esta restringido si las soluciones debieran satisfucer algunas res- trieciones sobre los valores de cada variable. Por ejemplo, en nuestro problema de situar aeropuertos, podréa restringir los lugares para estar dentro de Rumania y sobre la tierra firme (mais que en medio de lagos). La dificultad de los problemas de optimiza ‘én con restrieciones depende de fa naturaleza de kas restricciones y la funcién objetivo. La ea legorfa mis Conocidat es ta de los problemas de programacién Ii ll. en los cuales las restrieciones deben ser desigualdades fineales formando una regién conveva y fa funci6n 138 INTELIGENCIA ARTIFICIAL. UN ENEOQUE MODERNO objetiva es también lineal, Los problemas de programacién lineal pueden resolverse en tiempo polinomial en el nimero de variables. También se han estudiado problemas con tipos diferentes de restricciones y funciones objetivo (programacién cuadritica, pro- gramacién cénica de segundo orden, etcétera) 4.5 Agentes de busqueda online y ambientes desconocidos sUSQUEDA OFFLINE OSOUEDA OMLME PROBLEMA DE ExPLORACION Hasta ahora nos hemos centrado en agentes que usan algoritmos de bisqueda offline Ellos calculan una solucién completa antes de poner un pie en el mundo real (véase la Figura 3.1), y luego ejecutan fa solucién sin recurrir a su percepciones. En contraste, un agente de btisqueda en linea (online) funciona intercalando el célculo y la accién: primero toma una accién, entonces observa ef entorno y calcula la siguiente acci6n. La biisqueda online es una buena idea en dominios dinémicos o semidindmicos (dominios donde hay una penalizacién por holgazanear y por utilizar demasiado tiempo para cal- cular). La btisqueda online es una idea incluso mejor para dominios estocasticos, En ge- ncral, una biisqueda offline deberfa presentar un plan de contingencia exponencialmente frande que considere todos los acontecimientos posibles, mientras que una biisqueda on: line necesita s6lo considerar lo que realmente pasa Por ejemplo, a un agente que juega al ajedrez se le aconseja que haga su primer movimiento mucho antes de que se haya resuelto el curso completo del juego. La biisqueda online es una idea necesaria para un problema de exploracién, don- de Jos estados y las acciones son desconocidos por el agente; un agente en este estado de ignorancia debe usar sus acciones como experimentos para determinar qué hacer des- és, y a partir de abf debe intercalar el caleulo y la accién El ejemplo baisico de biisqueda online es un robot que se coloca en un edificio nue~ vo y lo debe explorar para construir un mapa, que puede utilizar para ir desde A a B. Los métodos para salir de laberintoy (conocimiento requerido para aypirar a ser héroe de ka Antigiiedad) son también ejemplos de algoritmos de busqueda online. Sin embargo, ta exploracién espacial no es la tinica forma de la exploracién, Considere a un bebé reci nacido: tiene muchas acciones posibles, pero no sabe los resultados de ellas, y ha expe- rimentado slo algunos de los estados posibles que puede alcanzar, El descubrimiento gra- dual del bebé de cémo trabaja el mundo es, en parte, un proceso de bisqueda online Problemas de biisqueda en linea (online) Un problema de bisqueda online puede resolyerse solamente por un agente que ejecu- teacciones, mas que por un proceso puramente computacional. Asumiremos que el agen- te sabe lo siguiente: [E1 érmino «en linea (onfine}» es comtinmemte uitizado en inform 1 pata eters aalgoritmos que de hen tratar can fs datos de entrada cuando se eeiben, mis que esperar a que est disponible el conjunto en tere dle datos de entrada Pnaroncion compermvn BUSQUEDA INFORMADA YEXPLORACION 139) + Acctones (x), que devuelve una lista de acciones permitidas en el estado 5: + Funciones de coste individual e(s, a, s') (notar que no puede usarse hasta que el agente sepa que s’ es el resultado): y + Test-OBsETIVO(S). Notemos en particular que el agente no puede tener acceso a los sucesores de un estado excepto si intenta realmente todas las acciones en ese estado, Por ejemplo, en el problema del Laberinto de la Figura 4.18, el agente no sabe que Subir desde (1,1) conduce a (1.2); ni, habiendo hecho esto, sabe que Bajar lo devolverd a (1,1). Este grado de ignorancia puede reducirse en algunas aplicaciones (para ejemplo, un robot explorador podria sa- ber cémo trabajan sus acciones de movimiento y ser ignorante s6lo de las posiciones de Jos obstéculos). Asumiremos que el agente puede reconocer siempre un estado que ha visitado an teriormente, y asumiremos que las acciones son deterministas (en el Capitulo 17, se re- lajardn estos dos tiltimos axiomas). Finalmente, el agente podria tener acceso a una funcién heuristica admisible h(s) que estime la distancia del estado actual a un estado objetivo. Por ejemplo, en la Figura 4.18, el agente podria saber la posicién del objetivo ser capar de usar la distancia heurfstica de Manhattan Tipicamente, ef objetivo del agente es aleanzar un estado objetivo minimizando el coste (otro objetivo posible es explorar simplemente el entorno entero). El costo es el costo total del camino por el que el agente viaja realmente, Es comin comparar este cos- to con el costo del camino que el agente seguiria si supiera el espacio de biisqueda de antemano, es decit, el camino mas corto actual (0 la exploracién completa mas corta). Enel lenguaje de algoritmos online, se llama proporci6n competitiva; nos gustarfa que fuera tan pequefia como sea posible. Aunque ésta suene como una peticin razonable, es Fécil ver que la mejor propor- alcanzable competitiva es infinita en algunos casos. Por ejemplo, si algunas accio- nes son isreversibles. ka biisqueda online podrfa alcanzar, por casualidad, un estado sin salida del cual no es accesible ningtin estado objetivo. Quizis encuentre el término «por casualidad> poco convincente (después de todo, podria haber un algoritmo que no tome el camino sin salida mientras explora). Nuestra | Figura 4.18 Un problema sencillo de un laberinto. El agente comienza en S y debe aleanzar G, pero no sabe nada del entorno. 140 INTELIGENCIA ARTIFICIAL, UN FNFOQUE MODERNO numero 0 AOvERSAAIO| seouranente XPLORABLE reclamacidn, part ser mas precisos, consiste en que ningtin algoritmo puede evitar ca Hejones sin salida en todos los espacios de estados. Considere los dos espacios de es- tados sin salida de la Figura 4.19 (a). A un algoritmo de biisqueda online que haya visitado los estados S y A, los dos espacios de estados parecen idénticos, entonces debe tomar lat misma decisiGn en ambos, Por lo tanto, fallard en uno de ellos. Es un ejemplo de un ar gumento de adversario (podemos imaginar un adversario que consituye el espacio de estados, mientras el agente lo explora, y puede poner el objetivo y callejones sin salida donde le guste). Los callejones sin salida son una verdadera dificultad para la exploracién de un ro- bot (escaleras, rampas, acantilados, y todas las clases de posibilidades presentes en te- rrenos naturales de acciones ireversibles). Para avanzar, asumiremos simplemente que el espacio de estados es seguramente explorable, es decir, algiin estado objetivo es al: canzable desde cualquier estado alcanzable. Los espacios de estados con acciones re- versibles. como laberintos y 8-puzles, pueden verse como grafos no-dirigidos y son claramente explorables. Incluso en entornos seguramente explorables no se puede gar cién competitiva acotada si hay caminos de costo ilimitado, Esto entornos con acciones irreversibles, pero de hecho permanece cierto también para el caso. reversible, como se muestra en fa Figura 4,19(b). Poresta razsin, es comtin describirel fun cionamiento de los algoritmos de buisqueda online en términos del tamao del espacio de estados entero mais que, solamente, por la profundidad del objetivo mas superficial ntizar ninguna propor Heil de demostrar en Figura 4.19 (a) Dos espacios de estadas que podrian conducir'a un agente de biisqueda ontine a | tmnt Col ante ano dss pa) Th vem BUSQUEDA INFORMADA Y EXPLORACION 14 Agentes de busqueda en linea (online) Después de cad accin, un agente online recibe una percepcidn al decirle que estado ha aleanzado: de esta informacién, puede aumentar su mapa del entorno. El mapa ae: tual se usa para decidir dénde ir después. Esta intercalacin de planificacién y accion significa que los algoritmos de buisqueda online son bastante diferentes de los algorit- mos de biisqueda offline vistos anteriormente, Por ejemplo, los algoritmos offline como A® tienen la capacidad de expandir un nodo en una parte del espacio y luego inmedia- tamente expandir un nodo en otra parte del espacio, porque Ia expansién de un nodo im- plica simutacién més que verdaderas acciones. Un algoritmo online, por otra parte. puede expandir s6lo el nodo que ocupa fisicamente. Pa 's de todo el arbo! para expandir el siguiente nodo, parece mejor expandir los nodos en un orden Jocal. L.a béisqueda primero en profundidad tiene exactamente esta propiedad, porque (menos cuando volvemos hacia atrés) el siguiente nodo a expandir es un hijo del nodo anteriormente expandido. En la Figura 4.20 se muestra un agente de biisqueda primero en profundidad onli- ne. Este agente almacena su mapa en una tabla, resultadola,s], que registra el estado que resulta de ejecutar la accién a en el estado s. Siempre que una accién del estado actual no hayia sido explorada, el agente intenta esa accidn, La dificultad viene cuando el agen- te ha intentado todas las acciones en un estado. En la buisqueda primero en profundidad offline. el estado es simplemente quitado de ta cola; en una biisqueda online, el agente tiene que volver atris fisicamente. Lat btisqueda primero en profundidad, significa vol- ver al estado el cual el agente incorpors el estado actual mis recientemente, Esto se con- fa evitar viajar a trav funcién AciSTi-BPP-Ont ists") devuelye una accién entradas: »’ una pereepeidn que identifica el estilo setual fico: resco, una tabla, indexada por la accién y el estado, inicialmente vais noexplorados, una tabla que enumera, pata cada estado visi Wo, las aeciones todavia no intentadas, nohuciatras, una tabla que enumera, para cada estado visitado, Jos nodos hacia aris todavia no intentados sa, el estado y acelin previa inieialmente mula sis’ es un nuevo estado entonees noexploradosts'| sises no nulo entonees hacer vesultadolees| = anadir yal frente de nohaciatras[s'] ACCIONES(S’) Si noexplorados|s’| esta vacio entonees J noltaciarras|s’| esta vacTo entonees devolver paror | Si S1-On1 1.04") entonces devolver para | | in tal que resultadlo[b, s’] ~ Pomtnohaciatrasts")) cen caso contrario a — Porinoesplorutos|s')) | devotver | Figura 4.20 Un agente de bisqueda online que utiliza la exploracién primero en profundidad. FI agente es aplicable, solamente, en espacios de busqueda bidir 142 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO ‘nm aceaTORID ardando una tabla que pone en una lista, para cada estado, los estados predec sores a los cuales atin no ha vuelto, Si el agente se ha quedado sin estados a los que vol- ver, entonces su brisqueda se ha completado. Recomendamos al lector que compruebe el progreso del AGENTE-BPP-ONLINE cuando se aplica al laberinto de la Figura 4.18. Es bastante fécil ver que el agente, en el caso peor, ferminars por cruzar cada enlace en el espacio de estados exactamente dos veces. Por exploracién, esto es lo 6ptimo; para encontrar un objetivo, por otra parte, la proporcién competitiva del agente podria ser arbitrariamente mala sise viaja sobre un camino largo cuando hay un objetivo directamente al lado del estado inicial. Una va- riante online de la profundidad iterativ presentado por un arbol uniforme, la proporcidn competitiva del agente es una constante pequefia A causa de su método de vuelta atrds, ef AGENTE-BPP-ONLINE trabaja slo en espa- cios de estados donde las acciones son reversibles. Hay algoritmos ligeramente ms com- plejos que trabajan en espacios de estados generales, pero ninguno de estos algoritmos. tiene una proporcién competitiva acotada, resuelve este problema; para un entorno re- Busqueda local en linea (online) Como Ia biisqueda primero en profundidad, la busqueda de ascensién de colinas tie- ne la propiedad de localidad en sus expansiones de los nodos. ;De hecho, porque man- tiene un estado actual en memoria, la buisqueda de ascensién de colinas es ya un algoritmo de biisqueda online! Desafortunadamente, no es muy titil en su forma més simple por {que deja al agente que se sitie en maiximos locales con ningiin movimiento que hacer. Por otra parte. Jos reinicios aleatorios no pueden utilizarse, porque el agente no puede moverse a un nuevo estado. En vez. de reinicios aleatorios, podemos considerar el uso de un camino aleato para explorar el entorno. Un camino aleatorio selecciona simplemente al azar una de las acciones disponibles del estado actual; se puede dar preferencia a kas aeciones que to davia no se han intentado. Es facil probar que un camino aleatorio encontrar al final un objetivo o termina su exploracisn, a condicién de que el espacio sea finito'’, Por otra parte. el proceso puede ser muy lento, La Figura 4.21 muestra un entorno en el que un Figura 4.21 Un entorno en el cual un camino aleatorio utilizara exponencialmente muchos pa: sos para encontrar el objetivo, 15 aso infinito es mucho mis dfieil. {Los eaminos uk lorios son completos en rejills unidimensions: Jes y de dos dimensiones infinitas, pero nv gn reillis eidimensinnsles! En el iltime caso, ka probabil de {que el camino yuclva siempre al punto de putida es alrededor de 0.3405 (0 Inteaduccion genera Hughes. 1995, para uns BLSQUEDA INFORMADA Y EXPLORACION 143, camino aleatorio utilizar un ntimero exponencial de pasos para encontrar el objetivo, porque, en cada paso, el progreso hacia atras es dos veces mas probable que el progre- so hacia delante. El ejemplo es attificial, por supuesto, pero hay muchos espacios de es- tados del mundo real cuya topologfa aleatorios. Aumentar a la ascensidn de colinas con memoria mas que aleatoriedad, resulta ser una aproximaci6n més eficaz. La idea bésica es almacenar una «mejor estimacién ac- tual» H(s) del coste para alcanzar el objetivo desde cada estado que se ha visitado, El comienzo de H(s) es justo la estimacidn heuristica h(s) y se actualiza mientras que el agen= te gana experiencia en el espacio de estados. La Figura 4.22 muestra un ejemplo senci- Ilo en un espacio de estados unidimensional. En (a), cl agente parece estar estancado en tun minimo local plano en el estado sombreado, Mas que permanecer donde esti, el agen te debe seguir por donde parece ser la mejor trayectoria al objetivo, basada en kus esti- maciones de los costes actuales para sus vecinos. EI coste estimado para alcanzar el objetivo a través de un vecino s' es el coste para conseguir s’ mis el coste estimado para conseguir un objetivo desde ahi, es decir, c(s, a, s') + H(s"). En el ejemplo, hay dos ac- causa estas clases de «trampas» para los caminos, ciones con costos estimados 1 +9 y 1 + 2, asf parece que lo mejor posible es mover se ala derecha. Ahora, esta claro que la estimacidn del costo de dos para el estado sombreado fue demasiado optimista, Puesto que el mejor movimiento cost6 uno y con- dujo a un estado que esta al menos a dos pasos de un objetivo, el estado sombreado debe estar por lo menos a tres pasos de un objetivo, asi que su H debe actualizarse ade, damente, como se muestra en ta figura 4.22(b). Continuando este pro eso, el agente se mover hacia delante y hacia atras dos veces mds, actualizando H cada vez y «apartan- do» ef minimo local hasta que se escapa a la derecha, SNe ~ SS w (8 Jaie( 9 jate( 5 Jete{(5))ate( a Jae a ate igura 4.22 cdo se marca con Hs}. la estimacisn del costo actual para aleanzar un objetivo, y eada arco se mar- cea gon su costo, El estado sombreado marca la ubicacién del agente, y se radean los valores actuatizados en cada iteracién, Cinco iteraciones de AA*TR en un espacio de eétados unidimensional. Cada esta 144 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO ae ermsto 8.0 InceRTiouNeRE En la Figura 4.23 se muestra un agente que implementa este esquema, llamado aprendiendo A* en tiempo real (AA*TR), Como el AGeNTE-BPP-ONLINE, éste construye un mapa del entorno usando la tabla resultado. Actualiza el costo estimado para el tado que acaba de dejar y entonces escoge el movimiento «aparentemente mejor» segin sus costos estimados actuales. Un detalle importante es que las acciones que todavia no se han intentado en un estado s siempre se supone que dirigen inmediatamente al obje- tivo con el costo menor posible, f(s). Este optimismo bajo a incertidumbre anima al agente a explorar nuevos y posiblemente caminos prometedores. Funcién AGeNTE-AA*TR(s) devuelye una acci6n entradas: 5’, una percepeisn que identifica el estado aetual estitico: resitaido, una tabla, indexada por la accidn y el estado, inickalmente vaefa FH. una tabla de costos estimados indexada por estado, inicialmente vacia s.a.el estado y accién previa, inicialmente mula si TrsT-Onienivo(s") entonces devolver parar ces un nuevo estado (no en HY) entonees H[s'| — his") a menos que s sea nulo | resultadola, 5] — 5 His} min Costo-AA*TR(, b, resultadolB, s].4) a una accidn b de ACcIONES(s') que minimiza Costo-AA*TR(s, b, resultadolb, s\H) ses’ devolver « funcién Costo-AA*TR(s, a, » H) devuelve un costo estimado, siesta indefinido entonces devolver f(s) ‘en otro caso devolver c(s, 0, 5?) + HLs'] Figura 4.23 _E] AGENTE-AA*TR escoge una accién segiin los valores de Jos estados vecinos, que se actuatizan vonforme el agente se mueve sobre el espacio de estados, Un agente AA®*TR garantiza encontrar un objetivo en un entorno seguramente ex- plorable y finito. A diferencia de A*, sin embargo, no es completo para espacios de es- tados infinitos (hay casos donde se puede dirigir infinitamente por mal camino). Puede explorar un entorno de 7 estadlos en O(n") pasos, en el caso peor, pero a menudo lo hace mejor. El agente AA*TR es sélo uno de una gran familia de agentes online que pueden definirse especificando la regla de la seleccidn de la accién y que actualiza la regla de maneras diferentes. Discutiremos esta familia, que fue desarrollada originalmente para entornos estocasticos, en el Capitulo 21 Aprendizaje en la busqueda en linea (online) La ignorancia inivial de los agentes de busqueda online proporciona varias oportunida- des para aprender. Primero, los agentes aprenden un «mapa» del entorno (mas precisa mente, el resultado de cada accidn en cada estado) simplemente registrando cada una de sus experiencias (notemos que la suposicién de entornos deterministas quiere decir que BUSQUEDA INFORMADA Y EXPLORACION 145 tuna experiencia es suficiente para cada accién). Segundo, los agentes de biisqued lo- ren estimaciones mis exactas del valor de cada estado utilizando las reglas cales adqui de actualizacidn local, como en AA*TR. En el Capitulo 21 veremos que éstas actuali- zaciones convergen finalmente a valores exactos para cada estado, con tal de que el agen- te explore el espacio de estados de manera correcta. Una vez que se conocen los valores exactos, se pueden tomar las decisiones Gptimas simplemente movigndose al sucesor con el valor mas alto (es decir, la ascensién de colinas pura es entonces una estrategia 6pti- ma), Si usted sigui6 nuestra sugerencia de comprobar el comportamiento del AGENTE-BPP- ON1INE en el entomo de la Figura 4.18, habra advertido que el agente no es muy bri- llante. Por ejemplo, después de ver que la acci6n Arriba va de (1,1) (1,2), el agente no tiene la menor idea todavia que la accién Abajo vuelve a (1,1), 0 que la accién Arriba va también de (2,1) a (2,2), de (2.2) a (2,3), etcétera. En general, nos gustarfa que el agen- te aprendiera que Arriba aumenta la coordenada y a menos que haya una pared en el ca mino, que hacia Abajo la reduce, etcétera, Para que esto suceda, necesitamos dos cosas: primero, necesitamos una representaci6n formal y explicitamente manipulable para e tas clases de reglas generales: hasta ahora, hemos escondido la informacién dentro de a caja negra Hamada funcién sucesor. La Parte HIT esta dedicada a este tema. Segundo, necesitamos algoritmos que puedan construir reglas generales adecuadas a partir de la observacidn espectfica hecha por el agente. Estos alyoritmos se tratan en el Capitulo 18. 4.6 Resumen Este capitulo ha examinado la aplicacién de heuristicas para reducir los costos de la biis quedi, Hemos mirado varios algoritmos que utilizan heuristicas y encontramos que la optimalidad tiene un precio excesivo en términos del costo de biisqueda, atin con heu- risticas buenas. + Buisqueda primero el mejor es una BUSQUEDA-Graro donde los nodos no & pandidos de costo mfnimo (segtin alguna medida) se escogen para la expansisn. Los algoritmos primero el mejor utilizan tipicamente una funcivin heuristica hn) que estima el costo de una solucién desde n. + Buisqueda primero el mejor avara expande nodos can h(r) m ‘ma, pero es a menudo eficiente. + Brisqueda A* expande nodos con minimo fin) = gin) + h(n). A® es completa y Gptima, con tal que garanticemos que h(n) sea admisible (para BUSQUEDA-ARBOL) oconsistente (para BUSQUEDA-Grato). La complejidad en espacio de A* es todavia prohibitiva + El rendimiento de los algoritmos de biisqueda heuristica depende de la calidad de la funcién heuristica. Las heuristieas buenas pueden construirse a veces relajando la definicisn det problema. por costos de solucidn precalculados para sub-proble- mas en un modelo de bases de datos, 0 aprendiendo de la experiencia con clases de problemas. ima, No es Gpti- 146 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO| BRPM y A*MS son algoritmos de busqueda robustos y Optimos que utilizan can- tidades limitadas de memoria; con suficiente tiempo, pueden resolver los proble- mas que A* no puede resolver porque se queda sin memoria. + Los métodos de brisqueda local, como la ascensién de colinas, operan en for- mulaciones completas de estados. manteniendo s6lo un mimero pequefo de no- dos en memoria. Se han desarrollado varios algoritmos estocésticos, inclusive el temple simulado, que devuelven soluciones 6ptimas cuando se da un apropiado programa de enfriamiento. Muchos métodos de blisqueda local se pueden utilizar también para resolver problemas en espacios continuos. + Unalgoritmo genético es una brisqueda de ascensién de colinas estocdstica en la que se mantiene una poblaciGn grande de estados. Los estados nuevos se generan por mutacin y por eruce, combinando pares de estados de la poblacién, + Los problemas de exploracién surgen cuando el agente no tiene la menor idea acerca de los estados y acciones de su entorno, Para entomnos seguramente explo- rables, los agentes de biisqueda en linea pueden construir un mapa y encontrar Un objetivo si existe. Las estimaciones de las heuristica, que se actualizan por la experiencia, proporcionan un método efeetivo para escapar de minimos locales. NOTAS BIBLIOGRAFICAS E HISTORICAS EL uso de informacisn heuristica en la resolucién de problemas apareve en un articulo, de Simon y Newell (1958), pero la frase «btisqueda heurfstica» y el uso de las funcio- nes heuristicas que estiman la distancia al objetivo Hegaron algo més tarde (Newell y Emst, 1965; Lin, 1965). Doran y Michie (1966) dirigieron muchos estudios experi mentales de basqueda heurfstica aplicados a varios problemas, especialmente al 8-puv- ley 15-puzle. Aunque Doran y Michie Hevaran a cabo un andlisis te6rico de la longitud del camino y «penetraneia» (proporcidn entre la longitud del camino y el ntimero total de nodos examinados hasta el momento) en la busqueda heuristica, parecen haber ig- norado la informacién proporcionada por la longitud actual del camino, El algoritmo A‘, incorporando la longitud actual del camino en la busqueda heuristica, fue desarrollade por Hart, Nilsson y Raphael (1968), con ones posteriones (Hart er al 1972), Dechter y Pearl (1985) demostraron la eficiencia dptima de A* EL anticulo original de A* introdujo la condicién de consistencia en funciones hew ticas. La condicién de monotonfa fue introducida por Pohl (1977) como un sustitute mis sencillo, pero Pearl (1984) demostrd que las dos eran equivalentes. Varios algorit- mos precedentes de A* utilizaron el equivalente de listas abiertas y cerradas; éstos inclu la basqueda primero en anchura, primero en profundidad, y costo uniforme (Bellman, 1957; Dijkstra, 1959), El trabajo de Bellman en particular mostré la importancia de aa- dir los eostos de los eaminos para simplificar los algoritmos de optimizacién, Pohl (1970, 1977) fue el pionero en el estudio de la relacién entre el error en las fun ciones heuristicas y la complejidad en tiempo de A, La demostracién de que A* se eje ccuta cn un tiempo lineal si el error de la funci6n heuristica esta acotadlo por una constante puede encontrarse en Pobl (1977) y en Gaschnig (1979), Pearl (1984) reforz6 este re Inas corre yen exrensiO TERAT BLISQUEDA INFORMADA Y EXPLORACION 147 sultado para permitir un crecimiento logaritmico en el error. El «factor de ramificacién cficaz», medida de la eficiencia de la biisqueda heuristica, fue propuesto por Nilsson «g7ly Hay muchas variaciones del algoritmo A*, Pohl (1973) propuso el uso del ponde- rado dindmico. el cual utiliza una suma ponderada f,(n) = w,g(n) + wyh(n) de la lor gitud del camino actual y de la funci6n heurfstica como una funcién de evaluacién, mi que la suma sencilla f(m) = x(n) + h(n) que utilizé A*. Los pesos w,y w, se ajustan di ndmicamente con el progreso de la busqueda, Se puede demostrar que el algoritmo de Pohl es e-admisible (es decir, garantiza encontrar las soluciones dentro de un factor 1 + € de la solucién 6ptima) donde € es un pardmetro suministrado al algoritmo. La misma propiedad es exhibida por el algoritmo As (Pearl, 1984), el cual puede escoger cual- quier nodo de la franja tal que su f-costo esté dentro de un factor | + € del nodo de la franja de f-costo mas pequefio, La selecci6n se puede hacer para minimizar el costo de la bisqueda. A* y otros algoritmos de busqueda en espacio de estados estan estrechamente rela- cionados con las técnicas de ramificar-y-acotar ampliamente utilizadas en investigacién operativa (Lawler y Wood, 1966). Las relaciones entre la busqueda en espacio de esta- dos y ramificar-y-acotar se han investigado en profundidad (Kumar y Kanal, 1983; Nau et al., 1984; Kumas et al., 1988). Martelli y Montanari (1978) demostraron una cone- xi6n entre la programacidn dindmica (véase el Capftulo 17) y cierto tipo de biisqueda en espacio de estados, Kumar y Kanal (1988) intentan una «ambiciosa unificaciény de Ja biisqueda heurfstica, programacién dindmica, y técnicas de ramifica-y-acotar bajo el nombre de PDC (el «proceso de decisién compuesto»). Como los computadores a finales de los aftos 1950 y principios de los aitos 1960 te- nian como maximo unas miles de palabras de memoria principal, la biisqueda heurfsti- ca con memoria-acotada fue un tema de investigacién, El Grafo Atravesado (Doran y Michie, 1966), uno de los programas de busqueda més antiguos, compromete a un ope- rador después de realizar una buisqueda primero el mejor hasta el limite de memoria. A*PL (Korf, 1985a, 1985b) fue el primero que us6 un algoritmo de biisqueda heuristica, Gpti- ma, con memoria-acotada y de la que se han desarrollado un néimero grande de varian- tes. Un anilisis de la eficiencia de A*PI y de sus dificultades con las heurfstica real-valoradas aparece en Patrick et al. (1993) EI BRPM (Korf, 1991, 1993) es realmente algo mas complicado que el algoritmo mostrado en la Figura 4.5, el cual esta més cercano a un algoritmo, desarrollado inde- pendientemente, llamado extensién iterativa, o El (Russell, 1992), BRPM usa una cota inferior y una cota superior; los dos algoritmos se comportan idénticamente con heu- risticas udmisibles, pero BRPM expande nodos en orden primero el mejor hasta con una heuristica inadmisible. La idea de guardar la pista del mejor camino alternativo apare- cid en la implementacién elegante, en Prolog, de A* realizada por Bratko (1986) y en cl algoritmo DTA* (Russell y Wefald, 1991). F1 trabajo posterior también habl6 de es pacios dle estado meta nivel y aprendizaje meta nivel, EL algoritmo A*M aparecié en Chakrabarti et al. (1989). A*MS, o A*M simplifi- cado, surgié de una tentativa de implementacién de A*M como un algoritmo de com- paraci6n para IE (Russell, 1992). Kaindl y Khorsand (1994) han aplicado A*MS para producir un algoritmo de buisqueds bidireccional considerablemente mis rapido que los 148 INTELIGENCIA ARTIFICIAL. UN ENEOQUE MODERNO ‘usOUEDR Ta algoritmos anteriores. Korf y Zhang (2000) describen una aproximacion divide-y-ven- ceris, y Zhou y Hansen (2002) introducen tina bisqueda A® en un grafo de memoria- acotada. Korf (1995) revisa las técnicas de btisqueda de memoria-acotada La idea de que las heuristicas admisibles pueden obtenerse por relajaci6n del pro- blema aparece en el trabajo seminal de Held y Karp (1970), quien utilizs la heuristica del minimo-atravesando el arbol para resolver el PVC (véase el Bjercicio 4.8), La automatizacién del proceso de relajacisn fue implementado con éxito por Prie- ditis (1993), construido sobre el trabajo previo de Mostow (Mostow y Prieditis, 1989). 1 uso del modelo de bases de datos para obtener heuristicas admisibles se debe a Gas- ser (1995) y Culberson y Schaeffer (1998); el modelo de bases de datos disjuntas esta descrito por Korf y Felner (2002). La interpretacién probabilistica de las heuristica fue investigada en profundidad por Pearl (1984) y Hansson y Mayer (1989), La fuente bibliogeafica mas comprensiva sobre heuristicas y algoritmos de biisque- da heurfsticos esta en el texto Heuristicy de Pearl (1984), Este libro cubre de una ma nera especialmente buena la gran variedad de ramificaciones y variaciones de A*, incluyendo demostraciones rigurosas de sus propiedades formales. Kanal y Kumar (1988) presentan una antologfa de articulos importantes sobre la biisqueda heuristica. Los nuevos resultados sobre algoritmos de bisqueda aparecen con regularidad en la revista Antificial Intelligence Las téenicas locales de buisqueda tienen una larga historia en matemticas y en in- formatica. En efecto, el método de Newton-Raphson (Newton, 1671; Raphson, 1690) puede verse como un método de biisqueda local muy eficiente pat espacios continuos, en los cuales esta disponible la informacién del gradiente, Brent (1973) es una referen biis- cia clasica para algoritmos de optimizacién que no requieren tal informacién. | queda de haz, que hemos presentado como un algoritmo de buisqueda local, se or como una variante de anchura-acotada de la programacién dindmica para ¢l reconoci- miento de la voz en el sistema HARPY (Lowerre, 1976). En Pearl (1984, cl Capitulo 5) se analiza en profundidad un algoritmo relacionado. El tema de Ja biisqueda local se ha fortalecido en los tiltimos afios por los resultados sorprendentemente buenos en problemas de satisfaccidn de grandes restricciones como las n-reinas (Minton et al., 1992) y de razonamiento ligico (Selman ef al., 1992) y por la incorporacién de alvatoriedad, miiltiples biisquedas simultineas, y otras mejoras. Este renacimiento, de lo que Christos Papadimitriou ha Hamado algoritmos de la «Nueva Era», ha provocado también el interés entre los informiticos tedricos (Koutsoupias y Pa padimitriou, 1992; Aldous y Vazirani, 1994). En el campo de la investigacién operativa. una variante de la ascensién de colinas, Hamada brisqueda tabi, ha ganaclo popularidetd (Glover, 1989: Glover y Laguna, 1997), Realizado sobre modelos de memoria limitad a corto plazo de los humanos, este algoritmo mantienen una lista tabui de k estados, pre viamente visitados. que no pueden visitarse de nuevo: asf se mejora la eficiencia cuando ‘alos y dems pede permitir que el algoritmo se escape de algunos mini STAGE (Bo. yan y Moore, 1998), La idea es usar los maximos locales encontrados por a asvensiin de colinas de reinicio aleatorio para conseguir tna idea de ka forma total del paisaje. El algoritmo adapta una superticie suave al Conjunto de maiximos locales y luego caleult ant imente el nxiximo global de esa superficie, Este se convierte en el nuevo punto de se busea en gi mos locales. Otra mejora itil sobre ktascensi6n de colinas es el algoritmo de cisaugctdn € (oUAPESADA STRATES OF evoueibN engeamacion severe BUSQUEDA INFORMADA Y EXPLORACION 149 reinicio. Se ha demostrado que este algoritmo trabaja, en la prictica, sobre problemas di ficiles. (Gomes et al., 1998) mostraron que las distribuciones, en tiempo de ejecucién, de los algoritmos de vuelta cos a menudo tienen una distribucién de cola pe- sada, la cual significa que la probabilidad de un tiempo de ejecucién muy largo es ma- yor que lo que seria predicho si los tiempos de ejecucién fueran normalmente distribuidos. (0 proporciona una justificaciGn tebrica para los reinicios aleatorios El temple simulado fue inicialmente descrito por Kirkpatrick ef al. (1983), el cual se bas6 directamente en el algoritmo de Metrépolis (usado para simular sistemas com- plejos en la fisica (Metropolis et al., 1953) y fue supuestamente inventado en ta cena Los Alamos). El temple simulado es ahora un campo en si mismo, con cien trabajos publi- cados cada ato, Encontrar soluciones éptimas en espacios continuos es la materia de varios campos, incluyendo la teoria de optimizacion, teoria de control Gptima, y cl céleulo de va- riaciones. Los convenientes (y précticos) puntos de entrada son proporcionados por Press etal. (2002) y Bishop (1995). La programacién lineal (PI.) fue una de las primeras apli- caciones de computadores; el algoritmo simplex (Wood y Dantzig, 1949: Dantzig, 1949) todavia se utiliza a pesar de la complejidad exponencial, en el peor caso. Karmarkar (1984) desarroll6 un algoritmo de tiempo polinomial préetico para PL. El trabajo de Sewal Wright (1931), sobre el concepto de la idoneidad de un pai Je. fue un precursor importante para el desarrolto de los algoritmos genéticos, En los aitos 50, varios estadisticos, incluyendo Box (1957) y Friedman (1959), usaron técnicas evo- lutivas para problemas de optimizacién, pero no fue hasta que Rechenberg (1965, 1973) introdujera las estrategias de evolucién para resolver problemas de optimizacién para planos aerodindmicos en la que esta aproximacién gané popularidad, En los aiios 60 y 70, John Holland (1975) defendis los algoritimos genéticos, como un instrumento iit y como un método para ampliar nuestra comprensidn de la adaptacisn, biol6gica o de otra forma (Holland, 1995). El movimiento de vida artificial (Langton, 1995) lleva esta idea un poco mis lejos, viendo los productos de los algoritmos genéticos como organismos mes que como soluciones de problemas. El trabajo de Hinton y Nowlan (1987) y Ac kley y Littman (1991) en este campo ha hecho mucho para clarificar las implicaciones del efecto de Baldwin, Para un tratamiento mas a fondo y general sobre Ja evolucién, recomendamos a Smith y Szathmary (1999), tras sistema La mayor parte de comparaciones de los algoritmos genéticos con otras aproxima- ciones (especialmente ascensién de colinas estocdstica) han encontrado que los algorit- mos genéticos son mas lentoy en converger (O'Reilly y Oppacher, 1994; Mitchell eral. 1996; Juels y Wattenberg, 1996; Baluja, 1997). Tales conclusiones no son universaimente populares dentro de la comunidad de AG, pero tentativas recientes dentro de esa comu- nidad, para entender la biisqueda basada en la poblaci6n como una forma aproximada de aprendizaje Bayesiano (véase el Capitulo 20), quizas ayude a cerrar el hueco entre el campo y sus eriticas (Pelikan er al., 1999). La teoria de sistemas dindmicos cuadrati- cos puede explicar también el funcionamiento de AGs (Rabani et al., 1998). Véase Lohn er al, (2001) para un ejemplo de AGs aplicado al disefio de antenas, y Larrafiaga cal. (1999) para una aplicacién al problema de viajante de comercio. El campo de la programacién genét ritmos genéticos, La diferencia princip ca esti estrechamente relacionado con los al: es que las representaciones, que son muta- 150 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO, raros euenianas fusoueonen eWeo REAL das y combinadas, son programas mas que cadenas de bits. Los programas se repreyen- tan en forma de drboles de expresién; las expresiones pueden estar en un Lenguaje es- téndar como Lisp o pueden estar especialmente disefiadas para representar circuitos, controladores del robot, eteétera. Los cruces implican unir los subsirboles mas que las subcadenas. De esta forma, la mutacién garantiza que los descendientes son expresio- nes gramaticalmente correctas, que no lo serfan si los programas fueran manipulados como cadenas. El interés reciente en la programacién genética fue estimulado por el trabajo de John Koza (Koza, 1992, 1994), pero va por detras de los experimentos con cddigo maquina de Friedberg (1958) y con aut6matas de estado finito de Fogel et al, (1966). Como con los algoritmos genéticos. hay un debate sobre la eficacia de la técnica. Koza er al. (1999) describen una variedad de experimentos sobre el disefio automatizado de circuitos de dis- positivos utilizando la programacién gen Las revistas Evolutionary Computation y IEEE Transactions on Evolutionary Com- putation cubren los algoritmos genéticos y la programacién genética; también se en- cuentran articulos en Complex Systems, Adaptative Behavior, y Artificial Life. conferenci as principales son la dnternational Conference on Genetic Algorithms y ka Con- ference on Genetic Programming, recientemente unidas para formar la Genetic and Evolutionary Computation Conference. Los textos de Melanie Mitchell (1996) y David Fogel (2000) dan descripciones buenas del campo. Los algoritmos para explorar espacios de estados desconocidos han sido de interes durante muchos siglos. La buisqueda primero en profundidad en un laberinto puede im- plementarse manteniendo Ia mano izquierda sobre Ia pared; los bucles pueden evitarse marcando cada uniGn, La biisqueda primero en profundidad falla con acciones irrever sibles; el problema mas general de exploracién de grafos Eulerianos (cs di eralos en Tos cuales cada nodo tiene un ndmero igual de arcos entrantes y salientes) fue resuclio por un algoritmo debido a Hierholzer (1873). El primer estudio cuidadoso algorfimico del problema de exploraci6n para grafos arbitrarios fue realizado por Deng y Papadi mitriow (1990), quienes desarrollaron un algoritmo completamente general, pero de mostraron que no era posible una proporcisn competitiva acotada para explorar un grato general, Papadimitriou y Yannakakis (1991) examinaron la cuestion de encontrar cami- nos «un objetivo en entornos zeométricos de planificacién de caminos (donde todas las acciones son reversibles), Ellos demostraron que es aleanzable una pequefia proporeion competitiva con obsticulos cuadrados, pero no se puede conseguir una proporcian aco tada con obsticulos generales rectangulares (véuse la Figura 4.19), EL algoritmo LRTA* fue desarrollado por Korf (1990) como parte de una investigs cién en la btisqueda en tiempo real para entornos en los cuales el agente debe actu después de buscar en s6lo una cantidad fija del tiempo (una situacién mucho n tin en juegos de dos jugadores). EI LRTA® es, de hecho, un caso especial de algorit mos de aprendizaje por refuerzo para entornos estocasticos (Barto cf al., 1995). Su politica de optimismo bajo incertidumbre (siempre se ditige al estado no visitado mis cercano) puede causar un modelo de exploracidn que es menos is C0 ciente, en el caso sit informacion, que la busqueda primero en profundidad simple (Koening, 2000). Daysupts eral, (1994) mostraron que la busqueda en profundidad iterativa online es Gptimanien ente para encontrar un abjetive en un arbol uniforme sin la informac Sn hewris LSQUEDAPARALELA BUSQUEDA INFORMADA Y EXPLORACION ISL tica, Algunas variantes informadas sobre el tema LRTA* se han desarrollado con méto: dos diferentes para buscar y uctualizar dentro de ta parte conocida del grafo (Pember- ton y Korf, 1992). Todavia no hay una buena comprensién de cémo encontrar los objetivos con eficiencia éptima cuando se usa informacién heuristica. EL tema de os algoritmos de biisqueda paralela no se ha tratado en el capftulo,en parte porque requiere una discusién larga de arquitecturas paralelas de computadores. La biisqueda paralela Heya a ser un tema importante en IA y en informatica te6rica, Una introduccisn breve a la literatura de IA se puede encontrar en Mahanti y Daniels (1993) EJERCICIOS 4.1 Trace como opera la btisqueda A* aplicada al problema de aleanzar Bucarest des- de Lugoj utilizando la heuristica distancia en linea recta. Es decir, muestre la secuencia de nodos que consideraré el algoritmo y los valores ff g, yh para cada nodo 4.2. Elalgoritmo de camino heuristico es una biisqueda primero el mejor en ka cual a funcisn objetivo es f(m) = (2 — w)g(n) + wh(n), ;Para qué valores del w esti ga {izado que el algoritmo sea éptimo? ;Qué tipo de biisqueda realiza cuando w = 0?. ;cuiin. dow = Vy (cuando w = 2? 4.3. Demuestre cada una de las declaraciones siguientes: @) La biisqueda primero en anchura es un caso especial de Ia biisqueda de coste uniforme. b) La btisqueda primero en anchura, btisqueda primero en profundidad. y la bi queda de coste uniforme son casos especiales de la btisqueda primero el mejor, €) La baisqueda de coste uniforme es un caso especial de fa biisqueda AX. 44 Idee un espacio de estaddos en el cual A®, utilizando la Buisqury va una solucidn sub-Gptima con una funcis Graro, devuel- n h(n) admisible pero inconsistente. 4.5 Vimos en la pagina 109 que la heuristica de distancia en linea recta dirige Ja bus- queda primero el mejor voraz por mal camino en el problema de ir de lasi a Fagaras. Sin embargo. la heurfstica es perfecta en el problema opuesto: ir de Fagaras a Iasi. ; Hay pro bhlemas para los cuales la heuristica engaiia en ambas direcciones? 4.6 Invente una funcién heurfstica para el 8-puzle que a veces sobrestime, y mucstre cémo puede conducir a una solucién subéptima sobre un problema particular (puede utilizar un computador para ayudarse), Demuestre que, si f nunca sobrestima en mas. dec, A* usando h, devuelve una solucién cuyo coste excede de It solucin éptima en no mas de « 4.7 Demuestre que si una heuristica es consistente, debe ser admisible, Construya una heuristica admisible que no sea consistente. 4.8 EI problema det viajante de comercio (PVC) puede resolverse con lat heuristica del drbol minimo (AM), utilizado para estimar el coste de completar un viaje, dado que ya se ha construide un viaje parcial, El coste de AM del conjunto de ciudades ey 152, INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO la suma mas pequefia de los costos de los arcos de cualquier arbol que une todas las ciudades. 4) Muestre cémo puede obtenerse esta heuristica a partir de una versi6n relajada del PVC. 5) Muestre que la heuristica AM domina la distancia en Ifnea recta ©) Escriba un generador de problemas para ejemplos del PVC donde las ciudades estan representadas por puntos aleatorios en el cuadrado unidad, 4d) Encuentre un algoritmo eficiente en la literatura para construir el AM, y tselo con un algoritmo de busqueda admisible para resolver los ejemplos del PVC. 4.9 En la pagina 122, definimos la relajaci6n del 8-puzle en el cual una verse del cuadrado A al cuadrado B si B era el blanco. La solucién e blema define la heuristica de Gaschnig (Gaschnig, 1979). Explique por qué la heurfstica de Gaschnig es al menos tan exacta como hi, (fichas mal colocadas), y muestre casos don de es mas exacta que h y que A, (distancia de Manhattan). ;Puede sugerit un modo de calcular la heurfstica de Gaschnig de manera eficiemte? 4.10. Dimos dos heuristicas sencillas para el 8-puzle: distancia de Manhattan y fichas ‘mal colocadas. Varias heurfsticas en la literatura pretendieron mejorarlas, véase, por ejem- plo, Nilsson (1971), Mostow y Prieditis (1989), y Hansson ef al, (1992), Pruebe estas mejoras, implementando las heurfsticas y comparando el funcionamiento de los algo ritmos que resultan. ficha podia mo- de este pro. 4.11 Dé el nombre de! algoritmo que resulta de cada uno de los casos a) Baisqueda de haz local con k = | 1b) Biisqueda de haz local con k = =, c) Temple simulado con T= 0 en cualquier momento. d)_ Algoritmo genético con tamaio de la poblacién N = | 4.12. A veces no hay una funcién de evaluacién buena para un problema, pero hay wn meétodo de comparacién bueno: un modo de decir si un nodo es mejor que el otra, sin adjudicar valores numéricos. Muestre que esto es suficiente para hacer una biisqueda pri mero el mejor. ,Hay un andlogo de A*? 4.13 Rel cione la complejidad en ti npo de LRTA* con su complejidad en espacio. 4.14 Suponga que un agente esté en un laberinto de 3x3 como el de la Figura 4.18. F1 agente sabe que su posicién inicial es (1,1), que el objetivo esta en (3,3), ¥ que las ew tro acciones Arriba, Abajo, Izquierda, Derecha tienen sus efectos habituales a menos que estén bloqueadas por una pared. E] agente no sabe dénde estan las paredes internas. 1 cualquier estado, el agente percibe el conjunto de acciones legates; puede saber tambict siel estado ha sido visitado antes o si es un nuevo estado, a) Explique cémo este problema de biisqueda online puede verse como una his queda offline en el espacio de estados de creencia, donde el estado de ereencit inicial incluye todas las posibles configuraciones del entorno. ;Cémo de gran al? (Como de g1 de es ef estado de ereencia inici aande es el espacio de estaslos de ereencia? 6) {Cuantas percepciones distintas son posibles en el estado inicial? BUSQUEDA INFORMADA Y EXPLORACION 1 ¢) Describa las primeras ramay de un plan de contingencia para este problema. {Como de grande (aproximadamente) es el plan completo? Norese que este plan de contingencia es una solucidn para todos los entornos posibles que encajan con la descripcidn dada, Por lo tanto, interealar la biisqueda y la ejecucién no ¢s esirictamente necesario hasta en entornos desconocidos. 4.15 Eneste ejercicio, exploraremos el uso de los métodos de biisqueda local para re solver los PVCS de! tipo definido en el Ejercicio 4.8 a) Idee una aproximacién de la ascensién de colinas para resolver los PVSs. Com- pare los resultados con soluciones 6ptimas obtenidas con el algoritmo A* con la heuristica AM (Ejercicio 4.8). }) Idee una aproximacién del algoritmo genético al problema del viajante de co mercio, Compare los resultados a las otras aproximaciones, Puede consultar La rrafaga et al. (1999) para algunas sugerencias sobre las representaciones. 4.16 Genere un nimero grande de ejemplos del 8-puzle y de las 8-reinas y resuélva Jos (donde sea posible) por la ascensién de colinas (variantes de subida més escarpada y de ia primera opcidn), ascensién de colinas con reinicio aleatorio, y temple simulado. Mida el coste de biisqueda y el porcentaje de problemas resueltos y represente éstos grit ficamente contra el costo dptimo de solucién, Comente sus resultados. 4.17 En este ejercicio, examinaremos la ascensidn de colinas en el contexto de nave- gacién de un robot, usando el entorno de la Figura 3,22 como un ejemplo. a) Repita el Ejercicio 3.16 utilizando la ascensi6n de colinas. (Cae alguna vez su agente en un minimo local” {Es posible con obsticulos convexos? 5) Construya un entorno no convexo poligonal en ef cul el agente mos locales. we en mini. ©) Modifique el algoritmo de ascensién de colinas de modo que, en vez de hacer una busqueda a profundidad | para decidir dénde ir, haga una bisqueda a pro: fundidad-k, Deberia encontrar el mejor camino de &-pasos y hacer un paso so bre el camino, y luego repetir el proceso. d) (Hay algdn k para ef cual esté garantizado que ef nuevo algoritmo se minimos locales? €) Explique cémo LRTA* permite al agente escaparse dle mfnimos locales en este caso, scape de 4.18 Compare el funcionamiento de A* y BRPM sobre un conjunto de problemas nerados aleatoriamente en dominios del 8-puzle (con distancia de Manhattan) y del PVC (con AM. véase el Ejercicio 4.8). Discuta sus resultados. ,Que le pasa al funcionamiento de la BRPM cuando se le aitade un pequefio ntimero aleatorio a los valores heuristicos, en cl dominio del 8-puzle? LL Problemas de satisfaccion de restricciones ——————— Eee ‘cunwesea En donde veremos cémo el tratar los estados como mds que slo pequefias cajas negras conduce a la invencién de una variedad de nuevos poderosos métodos de bilsqueda yaun entendimiento més profundo de la estructura y complejidad del problema. Los Capitulos 3 y 4 exploraron la idea de que tos problemas pueden resolverse buscan- do en un espacio de estados. Estos estados pueden evaluarse con heuristicas especifi- ccas del dominio y probados para ver si son estados objetivo, Desde el punto de vista del algoritmo de busqueda, sin embargo, cada estado es una caja negra sin la estructura per- ceptible interna, Se representa por una estructura de datos arbitraria a la que se puede acceder s6lo con las rutinas especificas de problema (la funcién sucesor, funcién heu- ristica, y el test objetivo). Este capitulo examina problemas de satisfacci6n de restricciones, cuyos estados y test objetivo forman una representacién muy simple, estandar y estructurada (Sec- cidn 5.1), Los algoritmos de biisqueda se pueden definir aprovechdndose de la estruc- tura de los estados y utilizan las heurfsticas de propésito general mas que heurfsticas especificas de problema para asi permitir la solucién de problemas grandes (Secciones 5.2-5.3). Quizé lo mas importante sea que la representacién estindar del test objetivo re- vela la estructura del problema (Seccién 5.4). Esto conduce a métodos de descomposi- cidn de problemas y a una comprensién de la conexidn entre la estructura de un problema y la dificultad para resolverlo. 5.1 Problemas de satisfaccién de restricciones Wosues “Resracciones, Formalmente, un problema de satisfaccién de restricciones (0 PSR) esté definido por un conjunto de variables, X,, X,..., X,, y un conjunto de restrieciones, C,, C,..., C,.Cada 156 _INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO_ oma vnuones stoned cowsistewe uuotdn onenv0 creo De ResTmIciones variable X, tiene un dominio no vacfo D, de valores posibles. Cada restrieci6n C, implica algtin subconjunto de variables y especifica las combinaciones aceptables de valores para ese subconjunto, Un estado del problema estd definido por una asignacién de valores a unas 0 todas las variables, {X, = v, X= v,..}. A una asignacién que no viola ninguna restriccién se Hama asignacién consistente o legal. Una asignacién completa es una asi nacién en la que se menciona cada variable, y una solucién de un PSR es una asignacion completa que satisfuce todas las restricciones. Algunos problemas de satisfaccidn de res- tricciones (PSRs) también requieren una solucién que maximiza una funeién objetivo. {Qué significa todo esto? Suponga que, cansados de Rumanfa, miramos un mapa de ‘Australia que muestra cada uno de sus estados y territorios, como en la Figura 5.1(a),y que nos encargan la tarea de colorear cada regién de rojo, verde o azul de modo que ninguna de las regiones vecinas tenga el mismo color. Para formularlo como un PSR, definimos las variables de las regiones: AO, TN, Q, NGS, V, AS y T. El dominio de cada variable es el conjunto (rojo, verde, azul}. Las restricciones requieren que las regiones vecinas tengan colores distintos; por ejemplo, las combinaciones aceptables para AO y TN son los pares {(ojo,verde}, (rojo,azul, (verde, rojo), (verde,azul), (azul,rojo), (azul,verde)) (La restriccién puede también representarse mas sucintamente como la desigualdad AO # TN,acondicién de que el algoritmo de satisfaccién de restricciones tenga algun ‘modo de evaluar tales expresiones.) Hay muchas soluciones posibles, como {AO = rojo, TN = verde, Q = rojo, NGS = verde, V = rojo, A: Es bueno visualizar un PSR como un grafo de restricciones, como el que se muestra en la Figura 5.1(b). Los nodos del grafo corresponden a variables del problema y los ar- cos corresponden a restricciones. ‘Tratar un problema como un PSR confiere varias ventajas importantes. Como Ia re- presentacién del estado en un PSR se ajusta a un modelo estindar (es decir, un conjun- to de variables con valores asignados) la funcién sucesor y el test objetivo pueden escribirse de un modo genérico para que se aplique a todo PSR. Ademés, podemos desa- rrollar heuristicas eficaces y genéricas que no requieran ninguna informacién adicional ni experta del dominio especffico. Finalmente, la estructura del grafo de las restriccio- nes puede usarse para simplificar el proceso de solucién, en algunos casos produciendo tuna reducci6n exponencial de la complejidad. La representaciGn PSR es la primera, y més simple, de una serie de esquemas de representacién que serdn desarrollados a tra- vés de los capitulos del libro. Es bastante facil ver que a un PSR se le puede dar una formulacién incremental como en un problema de bisqueda esténdar: + Estado inicial: la asignacién vacfa (}, en la que todas las variables no estén asig- nadas. + Funcién de sucesor: un valor se puede asignar a cualquier variable no asignada, a condici6n de que no suponga ningiin conflicto con variables antes asignadas. + Test objetivo: la asignacién actual es completa, + Costo del camino: un coste constante (por ejemplo, 1) para cada paso. azul, T = rojo} Cada solucién debe ser una asignacién completa y por lo tanto aparecen a profundidad si hay n variables. Ademés, el rbol de biisqueda se extiende s6lo a profundidad n. Pot otauns wires Pane BoOLEsMOS owmaos wewrros ‘ewouase oe esTRICiOn PROBLEMAS DE SATISFACCION DE RESTRICCIONES 157 | seems | (7) a oO Ye | . [ae w) @) ) ! | Figura 5.1 (a) Los estados y territorios principales de Australia. Colorear este mapa puede ver- se como un problema de satisfaccisn de restricciones. El objetivo es asignar colores a cada regién «de modo que ninguna de las regiones vecinas tengan el mismo color. (b) El problema del coloreo del mapa representado como un grafo de restriceiones. estos motivos, los algoritmos de btisqueda primero en profundidad son populares para PSRs. (Véase la Seccién 5.2.) También el camino que alcanza una solucion es irrelevante. De af, que podemos usar también una formulacién completa de estados, en la cual cada estado es una asignacién completa que podrfa o no satisfacer las restricciones. Los mé- todos de biisqueda local trabajan bien para esta formulacién. (Véase la Seccién 5.3.) La clase més simple de PSR implica variables discretas y dominios finitos. Los pro- blemas de coloreo del mapa son de esta clase. El problema de las 8-reinas descrito en el Capitulo 3 puede también verse como un PSR con dominio finito, donde las variables Q,, Q,..., Q, son las posiciones de cada reina en las columnas 1... 8 y cada variable tie- ne el dominio (1, 2, 3, 4, 5, 6, 7, 8}. Si el tamafio maximo del dominio de cualquier va- riable, en un PSR, es d, entonces el ntimero de posibles asignaciones completas es O(a"), es decir, exponencial en el mtimero de variables. Los PSR con dominio finito in- cluyen a los PSRs booleanos, cuyas variables pueden ser verdaderas o falsas. Los PSRs booleanos incluyen como casos especiales algunos problemas NP-completos, como 3SAT. (Véase el Capitulo 7.) En el caso peor, por lo tanto, no podemos esperar re- solver los PSRs con dominios finitos en menos de un tiempo exponencial. En la mayo- rfa de las aplicaciones pricticas, sin embargo, los algoritmos para PSR de uso general pueden resolver problemas de drdenes de magnitud més grande que los resolubles con los algoritmos de biisqueda de uso general que vimos en el Capitulo 3. Las variables diseretas pueden tener también dominios infinitos (por ejemplo, el con- junto de ntimeros enteros o de cadenas). Por ejemplo, cuando programamos trabajos de Ja construccién en un calendario, la fecha de comienzo de cada trabajo es una variable y Jos valores posibles son niimeros enteros de dias desde la fecha actual. Con dominios in- finitos, no es posible describir restricciones enumerando todas las combinaciones per- mitidas de valores. En cambio, se debe utilizar un lenguaje de restriccién. Por ejemplo, 158 _INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO RESTRCCIONES nests ‘esTuccIONES NO nets ‘oma ‘corawos PRogramaciou nen estRIcxgn ARIA ESTRICCGH AMARA ccurro-anueico nninaes OILS PER SRAFODE RESTCCIONES si Trabajo,, que utiliza cinco dias, debe preceder a Trabajo, entonces necesitarfamos un lenguaje de restriccién de desigualdades algebraicas como ComienzoTrabajo, + 5 mienzo Trabajo, Tampoco es posible resolver tales restricciones enumerando todas las asignaciones posibles, porque hay infinitas. Existen algoritmos soluci6n especiales (de Jos que no hablaremos aqui) para restricciones lineales sobre variables enteras (es de- cir, restricciones, como la anterior, en la que cada variable aparece de forma lineal). Pue- de demostrarse que no existe un algoritmo para resolver restricciones no lineales generales sobre variables enteras. En algunos casos, podemos reducir los problemas de restricciones enteras a problemas de dominio finito simplemente acotando los valores de todas las variables. Por ejemplo, en un problema de programacién, podemos poner una cota superior igual a la longitud total de todos los trabajos a programar. Los problemas de satisfaccién de restricciones con dominios continuos son muy co- munes en el mundo real y son ampliamente estudiados en el campo de la investigacién ope- rativa. Por ejemplo, la programacién de experimentos sobre el Telescopio Hubble requiere el cronometraje muy preciso de las observaciones; al comienzo y al final de cada obser- vaci6n y la maniobra son variables continuas que deben obedecer a una variedad de res- tricciones astronémicas, prioritarias y potentes. La categorfa més conocida de PSRs en dominios continuos son los problemas de programacién lineal, en donde las restriccio- nes deben ser desigualdades lineales que forman una regién convexa. Los problemas de programacién lineal pueden resolverse en tiempo polinomial en el ntimero de variables. Los problemas con tipos diferentes de restricciones y funciones objetivo también se han estudiado: programacién cuadrética, programacién c6nica de segundo orden, etcétera Ademis del examen de los tipos de variables que pueden aparecer en los PSRs, es til ver los tipos de restricciones. El tipo més simple es la restriccién unaria, que restringe los valores de una sola variable. Por ejemplo, podrfa ser el caso en los que a los australia- nos del Sur les disgustara el color verde. Cada restriccién unaria puede eliminarse sim- plemente con el preproceso del dominio de la variable quitando cualquier valor que viole la restriccién. Una restriecién binaria relaciona dos variables. Por ejemplo, AS # NGS es una restriccidn binaria. Un PSR binario es un problema con restricciones sélo binarias; y puede representarse como un grafo de restricciones, como en Ia Figura 5.1(b). Las restricciones de orden alto implican tres o més variables. Un ejemplo familiar es el que proporcionan los puzles eripto-aritméticos. (Véase la Figura 5.2(a).) Es ha- bitual insistir que cada letra en un puzle cripto-aritmético represente un digito diferen- te. Para el caso de la Figura 5.2(a), éste seria representado como la restriccién de seis variables TodasDif (F, T, U, W, R, 0). O bien, puede representarse por una colecci6n de restricciones binarias como F # T. Las restricciones afiadidas sobre las cuatro colum- nas del puzle también implican varias variables y pueden escribirse como O+0=R+10-X, X,+W+W=U+10-X, X,+T+T=0+10-X, ‘0 donde X,, X,, y X, son variables auxiliares que representan el digito (0 o 1) transferi- do a la siguiente columna, Las restricciones de orden alto pueden representarse en un hiper-grafo de restricciones, como el de la Figura 5.2(b). El lector habré notado que PROBLEMAS DE SATISFACCION DE RESTRICCIONES 159 TWO FY TY MW WO | +TWO FOUR Figura 5.2. (a) Un problema cripto-aritmético. Cada letra significa un digito distino: el objetivo | es encontrar una sustituci6n de las letras por digitos tal que la suma que resulta es aritméticamen- te correcta, con la restricci6n affadida de que no se permite la administracidn de ceros. (b) El hi- per-grafo de restricciones para el problema cripto-aritmético muestra la restriccién TodasDifasicomo las restricciones afiadidas en las columnas. Cada restricci6n es una caja cuadrada relacionada con las variables que restringe. la restriccién TodasDif puede dividirse en restricciones binarias (F # T, F # U, etcéte- 1a). De hecho, como en el Ejercicio 5.11, se pide demostrar que la restriccién de domi. nio finito y orden alto puede reducirse a un conjunto de restricciones binarias si se introducen suficientes variables auxiliares. A causa de esto, en este capitulo trataremos s6lo restricciones binarias. Las restricciones que hemos descrito hasta ahora han sido todas restricciones abso- lutas, la violacién de las cuales excluye una solucién potencial. Muchos PSRs de! mun- RErRENC, do real incluyen restricciones de preferencia que indican qué soluciones son preferidas. Por ejemplo, en un problema de horario de la universidad, el profesor X quiz prefiera ensefiar por la mafiana mientras que un profesor Y prefiere ensefiar por la tarde. Un ho- rario que tenga al profesor X enseftando a las dos de la tarde serfa una solucién (a me- nos que el profesor X resulte ser el director del departamento), pero no seria un ptimo. Las restricciones de preferencia pueden a menudo codificarse como costos sobre las asig- naciones de variables individuales (por ejemplo, asignar un hueco por la tarde para el profesor X cuesta dos puntos contra la funci6n objetivo total, mientras que un hueco de mafiana cuesta uno). Con esta formulacién, los PSRs con preferencias pueden resolver- se utilizando métodos de busqueda de optimizacién, basados en caminos o locales. No hablamos de tales PSRs fuera de este capitulo, pero sf proporcionamos algunas lineas de trabajo en la seccisn de notas bibliograticas, 5.2 Busqueda con vuelta atras para PSR La seccién anterior dio una formulacién de PSRs como problemas de biisqueda, Usan- do esta formulaci6n, cualquiera de los algoritmos de busqueda de los Capitulos 3 y 4 160 _INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO commutarioaD ‘dsavena com WaELIRATRAS pueden resolver los PSRs. Suponga que aplicamos la busqueda primero en anchura ala formulacin del PSR genérico de la seccién anterior. Répidamente notamos algo terri- ble: el factor de ramificacién en el nivel superior es de nd, porque cualquiera de los d valores se puede asignar a cualquiera de las n variables. En el siguiente nivel, el factor de ramificacién es (n-1)d, etoétera para los n niveles. ;Generamos un Arbol con n! - d' hojas, aunque haya s6lo d" asignaciones posibles completas! Nuestra formulacién del problema, aparentemente razonable pero ingenua, no ha he- cho caso de una propiedad crucial comiin en todos los PSRs: la conmutatividad. Un problema es conmutativo siel orden de aplicaci6n de cualquier conjunto de acciones no tiene ningtin efecto sobre el resultado. Este es el caso de los PSRs porque, asignando valores a variables, alcanzamos la misma asignacién parcial sin tener en cuenta el or- den, Por lo tanto, todos los algoritmos de biisqueda para el PSR generan los sucesores considerando asignaciones posibles para slo una variable en cada nodo del érbol de busqueda. Por ejemplo, en el nodo raiz de un Arbol de busqueda para colorear el mapa de Australia, podrfamos tener una opcién entre AS = rojo, AS = verde, y AS = azul, pero nunca elegiriamos entre AS = rojo y AO = azul. Con esta restriccién, el mtimero de ho- jas esd", como era de esperar. El término btisqueda con vuelta atrés se utiliza para la busqueda primero en pro- fundidad que elige valores para una variable a la vez y vuelve atrs cuando una variable no tiene ningtin valor legal para asignarle, En la Figura 5.3 se muestra este algoritmo. Notemos que usa, en efecto, el método uno a la vez de la generacién de sucesor incre- mental descrita en la pégina 86. También, extiende la asignacién actual para generar un sucesor, més que volver a copiarlo, Como la representacidn de los PSRs esti estandar- tizada, no hay ninguna necesidad de proporcionar a la BUSQUEDA-~CON-VUELTA-ATRAS un estado inicial del dominio especffico, una funcién sucesor, o un test del objetivo. En Ja Figura 5.4 se muestra parte del érbol de bisqueda para el problema de Australia, en donde hemos asignado variables en el orden AO, TN, Q.. | func \TRAS(psr) devuelve una solucién, o fallo | devolver Vurtta-ATRAs-RECURSIVA({ }, psr) funeién Vusits-AtRAs-RECURSIVA(asignacién, psr) devuelve una solucién,o fallo siasignacidn es completa entonees devolver asignactén var & SELECCIONA-VARIABLE-NoASIGNADA(VARIABLES[psr], asignacién, ps?) para cada valor en ORDEN-VaLores-Dominio(var, asignacién, psr) hacer si valor es consistente con asignacién de acuerdo a las RESTRICCIONES[psr] entonces akadir (var = valor) a asignacién resultado <— VUBLTA-ATRAS-RECURSIVA(asignacién, psr) si resultado + fallo entonces devolver resultado borrar {var = valor} de asignacién devolver fallo Figura 5.3 Un algoritmo simple de vuelta atrés para problemas de satisfaccidn de restricciones, El algoritmo se modela sobre la bisqueda primero en profundidad recursivo del Capitulo 3. Las | funciones SELECCTONA-VARIABLE-NOASIGNADA y OrDEN-VALoRES-DoMINio pueden uiilizarse pa implementar las heurfsticas de propésito general discutidas en el text. | PROBLEMAS DE SATISFACCION DE RESTRICCIONES 161 i i = | | Tox ere rod Figura 5.4 Parte del srbol de biisqueda generado por vuelta atrés para el problema que colorea el mapa de la Figura 5.1 La vuelta atrds sencilla es un algoritmo sin informacién en la terminologia del Ca- pitulo 3, asf que no esperamos que sea muy eficaz. para problemas grandes, En la pri- mera columna de la Figura 5.5 se muestran los resultados para algunos problemas y se confirman nuestras expectativas. Enel Capitulo 4 remediamos el funcionamiento pobre de los algoritmos de busqueda sin informacién suministrdndoles funciones heurfsticas espectficas del dominio obteni- das de nuestro conocimiento del problema. Resulta que podemos resolver los PSRs de T 1 robs | votaars | va-+aava | Combs | cp «rave | nina conic ceuu | © 1000m | © 10008 x |e 4 n-reinas | (> 40.000K) 13.500K (> 40.000K) 817K 4K feo | Sago ik sk | USK ie Rmswiot) aise | 3K ae | OK Alstese?| ua | 27K m | 5K Figura 5.5 Comparacién de varios algoritmos de PSR sobre varios problemas. Los algoritmos, de izquierda a derecha, son vuelta atris simple, vuelta atrés con la heuristica MVR, comproba- cida hacia delante, comprobacién hacia delante con MVR y bisqueda local de conflictos mini- ‘mos, En cada celda est el nimero medio de comprobaciones consistentes (sobre cinco ejecuciones) requerido para resolver el problema; notemos que todas las entradas excepto las dos de la parte | superior derecha estén en miles (K), Los mimeros en paréntesissignifican que no se ha encontea- do ninguna respuesta en el nimero asignado de comprobaciones. El primer problema es colore- ar, con cuatro colores, los 50 estados de los Estados Unidos de América. Los problemas restantes se han tomado de Bacchus y van Run (1995), Tabla 1. El segundo problema cuenta el ntimero to- tal de comprobaciones requeridas para resolver todos los problemas de n-reinas para n de dos 50, El tercero es el «puzle Zebra», descrito en el Ejercicio 5.13. Los dos tiltimos son problemas antficiales aleatorios. (Minimos contlictos no se ejecut6 sobre estos.) Los resultados sugieren que a comprobacién hacia delante con la heurfstica MVR es mejor sobre todos estos problemas que Jos otros algoritmos con vuelta atrs, pero no siempre es mejor que fos de bisqueda local de mi- | rnimo contficto. | 162 _INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO twat VALORES ESTANTES nano weunisco manera eficiente sin tal conocimiento especifico del dominio. En cambio, encontramos métodos de propésito general que proporcionan las siguientes preguntas: 1. {Qué variable debe asignarse después, y en qué orden deberfan intentarse sus valores? 2. ;Cuéles son las implicaciones de las asignaciones de las variables actuales para las otras variables no asignadas? 3. Cuando un camino falla, es decir, un estado alcanzado en el que una variable no tiene ningiin valor legal, ;puede la biisqueda evitar repetir este fracaso en ca- minos siguientes? Las subsecciones siguientes contestan a cada una de estas preguntas. Variable y ordenamiento de valor El algoritmo con vuelta atras contiene la linea var < SELECCIONA-VARIABLE-NOASIGNADA(VARIABLES[psr], asignacién, psr) Por defecto, SELECCIONA-VARIABLE-NOASIGNADA simplemente selecciona la siguiente va- riable no asignada en el orden dado por la lista VARIABLES[psr]. Esta variable estética, rara vez ordenada, da como resultado una biisqueda mas eficiente. Por ejemplo, después de las asignaciones para AO = rojo y T= verde, hay un s6lo valor posible para AS, entonces tie- ne sentido asignar AS = azul a continuacién mas que asignar un valor a Q. De hecho, des- pués de asignar AS, las opciones para Q, NGS, y V estén forzadas. Esta idea intuitiva (escoger Ja variable con menos valores «Jegales») se llama heuristica de minimos valores restan- tes (MVR). También llamada heuristica «variable mis restringida» o «primero en fallan», este tiltimo es porque escoge una variable que con mayor probabilidad causaré pronto un fracaso, con lo cual podamos el érbol de biisqueda. Si hay una variable X con cero valo- res legales restantes, la heuristica MVR seleccionara X y el fallo sera descubierto inme- diatamente (evitando buisquedas imtitiles por otras variables que siempre fallarén cuando se seleccione X finalmente). La segunda columna de la Figura 5.5, etiquetada con VA + MVR, muestra el funcionamiento de esta heuristica, El funcionamiento es de tres a 3.000 veces mejor que la vuelta atrés simple, segtin el problema, Notemos que nuestra medida de rendimiento no hace caso del coste suplementario de calcular los valores heurfsticos; la siguiente subseccién describe un método que maneja este coste. La heuristica MVR no ayuda en absoluto en la eleccién de la primera regiGn a co- lorear en Australia, porque al principio cada regi6n tiene tres colores legales, En este caso, el grado heuristico es més prictico. Intenta reducir el factor de ramificacién sobre fu- turas opciones seleccionando la variable, entre las variables no asignadas, que esté im- plicada en el mayor mtimero de restricciones. En la Figura 5.1, AS es la variable con el grado més alto, cinco; las otras variables tienen grado dos o tres, excepto T, que tiene cero. De hecho, una vez elegida AS, aplicando el grado heuristico que resuelve el pro- blema sin pasos en falso puede elegir cualquier color consistente en cada punto selec- cionado y todavia llegar a una solucién sin vuelta atrés, La heurfstica del minimo de valores restantes es por lo general una guia més poderosa, pero el grado heuristico pue- de ser titil como un desempate. ton menos pesTiaoo cowpaasacion Acta DELANTE PROBLEMAS DE SATISFACCION DE RESTRICCIONES 163, Una vez. que se selecciona una variable, el algoritmo debe decidir el orden para exa- minat sus valores, Para esto, la heutfstica del valor menos restringide puede ser eficaz en algunos casos. Se prefiere el valor que excluye las pocas opciones de las variables vecinas en el grafo de restricciones. Por ejemplo, supongamos que en Ia Figura 5.1 he- mos generado la asignacién parcial con AO = raja y TN = verde, y que nuestra siguiente opeidn es para Q. Azul serfa una opcién mala, porque elimina el tiktimo valor legal del vecino de Q, SA. La heurfstica del valor menos restringido, por lo tanto, prefiere rojo al azul, En general, la heurfstica trata de dejar la flexibilidad maxima de las asignaciones de las variables siguientes. Desde luego, si tratamos de encontrar todas las soluciones un problema, no sélo la primera, entonces el orden no importa porque tenemos que con siderar cada valor de todos modos. Ocurre lo mismo si no hay soluciones al problema, Propagacién de la informacién a través de las restricciones Hasta ahora nuestro algoritmo de busqueda considera las restricciones sobre una varia ble sélo cuando la variable es elegida por SELECCIONA-VARIABLE-NOASIGNADA. Pero mi- rando algunas restricciones antes en la biisqueda, o incluso antes de que haya comenzado Ja busqueda, podemos reducir drasticamente el espacio de ésta Comprobacién hacia delante Otra manera para usar mejor las restricciones durante la biisqueda se llama compro- bacién hacia delante. Siempre que se asigne una variable X, el proceso de comproba- cidn hacia delante mira cada variable no asignada Y que esté relacionada con X por una restriccién y suprime del dominio de Y cualquier valor que sea inconsistente con el va- lor elegido para X. La Figura 5.6 muestra el progreso de una biisqueda, que colorea un ‘mapa, con la comprobacién hacia delante. Hay dos puntos importantes que debemos destacar sobre este ejemplo. Primero, notemos que después de asignar AO = rojo y Q = verde, los dominios de TN y AS se reducen a un solo valor; hemos eliminado las ramificaciones de estas variables totalmente propagando la informacién de AO y Q. La | som 0 NS Vaso Dominios iniciales [RV ATR VATRV AJAVA[RVA[RVA[RVA| Después de AO VA[RVA[RVAIRVA] VAIRVAl Después de al © [R_A[RVA|alRVA Después de V=acul [@) al © [Rr @ RVA Figura 5.6 Progreso de una baisqueda, que colorea un mapa, con comprobacién hacia delante. AO = rojo se asigna primero; entonces la comprobacién hacia delante suprime rojo de los dor tnios de las variables vecinas TN y AS. Después Q = verde: verde se suprime de los dominios TN, AS. y NGS. Después V = azul; azul se suptime del dominio de NGS y AS, y se obtiene AS sin va- lores legales. 164 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO ‘PROPAaACION DE eSTRCCIONES _ntco consisteNTE heurfstica MVR, la cual es una compafiera obvia para la comprobacién hacia delante, seleccionaria autométicamente AS y TN después. (En efecto, podemos ver la compro- bacién hacia delante como un modo eficiente de incrementar el célculo de la informa- cién que necesita la heurfstica MVR para hacer su trabajo.) Un segundo punto a tener en cuenta es que, después de V = azul, el dominio de SA est vacio. Por eso, la com- probacién hacia delante ha descubierto que la asignacién parcial {AO = rojo, Q = ver- de, V = azul} es inconsistente con las restricciones del problema, y el algoritmo volvera atrds inmediatamente. Propagacién de restricciones Aunque la comprobacién hacia delante descubre muchas inconsistencias, no descu- bre todas. Por ejemplo, considere la tercera fila de la Figura 5.6. Muestra que cuando AO es rojo y Q es verde, tanto TN como AS estan obligadas a ser azules. Pero son ad- yacentes y por tanto no pueden tener el mismo valor. La comprobacién hacia delante no la descubre como una inconsistencia, porque no mira lo bastante lejos. La propa- gacidn de restricciones es el término general para la propagacién de las implicacio- nes de una restricci6n sobre una variable en las otras variables; en este caso necesitamos propagar desde AO y Q a TN y AS, (como se hizo con la comprobacién hacia delan- te) y luego a la restriccién entre TN y AS para descubrir la inconsistencia. Y quere- mos hacer esto rapido: no es nada bueno reducir Ia cantidad de biisqueda si gastamos mds tiempo propagando restricciones que el que hubiéramos gastado haciendo una buis- queda simple, La idea del arco consistente proporciona un método rapido de propagacién de res- tricciones que es considerablemente més potente que la comprobacién hacia delante. Aqui, «el arco» se refiere a un arco dirigido en el grafo de restricciones, como el arco de AS a NGS. Considerando los dominios actuales de AS y NGS, el arco es consistente si, para todo valor x de AS, hay algiin valor y de NGS que es consistente con x. En la ter- cera fila de la Figura 5.6, los dominios actuales de AS y NGS son {azul} y {rojo, azul}, respectivamente. Para AS = azul, hay una asignaci6n consistente para NGS, a saber, NGS = roja; por lo tanto, el arco de AS a NGS es consistente. Por otra parte, el arco inverso desde NGS a AS no es consistente: para la asignacién NGS = azul, no hay ninguna asig- nacién consistente para AS. E] arco puede hacerse consistente suprimiendo el valor azul del dominio de NGS. Podemos aplicar también el arco consistente al arco de AS a TN en la misma etapa del proceso de biisqueda. La tercera fila de la tabla en la Figura 5.6 muestra que ambas variables tienen el dominio (azul). El resultado es que azul debe suprimirse del domi- nio de AS, dejando el dominio vacfo. Asf, la aplicacién del arco consistente ha causado la deteccién temprana de una inconsistencia que no es descubierta por la comprobacién hacia delante pura. La comprobacién de la consistencia del arco puede aplicarse como un paso de pre- proceso antes de comenzar el proceso de buisqueda, 0 como un paso de propagacién (como la comprobaci6n hacia delante) después de cada asignacién durante la busqueda (a ve- ces se llama a este sitio algoritmo MCA, Mantenimiento de la Consistencia del Arco). En uno u otro caso, el proceso debe aplicarse repetidamente hasta que no permanezcan ecovsisrenca PROBLEMAS DE SATISPACCION DE RESTRICCIONES 165 més inconsistencias. Esto es porque, siempre que un valor se suptime del dominio de alguna variable para quitar una inconsistencia de un arco, una nueva inconsistencia de arco podrfa surgir en arcos que sefialan a aquella variable. Bl algoritmo completo para laconsistencia de arco, AC-3, utiliza una cola para guardar los arcos que tienen que com- probarse (véase la Figura 5.7). Cada arco (X,, X,) se quita sucesivamente de la agenda y se comprueba; si cualquier valor requiere ser suprimido del dominio de X,, entonces cada arco (X,, X,) sefialando a X, debe ser reinsertado sobre la cola para su comprobacién. La complejidad de la comprobacién de consistencia de arco puede analizarse como sigue: un PSR binario tiene alo mas O(n*) arcos; cada arco (X,, X,) puede insertarse en la agen- da sdlo d veces, porque X, tiene a lo més d valores para suprimir; la comprobacién de la consistencia de un arco puede hacerse en O(d*) veces; entonees el tiempo total, en el caso peor, es O(n'd"). Aunque sea considerablemente més costoso que la comprobacién ha- cia delante, el coste suplementario por lo general vale la pena’. Como los PSRs incluyen a 3SAT como un caso especial, no esperamos encontrar un algoritmo de tiempo polinomial que puede decidir si un PSR es consistente. De abi, deducimos que la consistencia de arco no revela todas las inconsistencias posibles. Por ejemplo, en la Figura 5.1, la asignaci6n parcial {AO = rojo, NGS = rojo} es inconsis- tente, pero AC-3 no la encuentra, Las formas més potentes de la propagaci6n pueden definirse utilizando la nocién llamada k-consistencia. Un PSR es k-consistente si, para cualquier conjunto de k ~ 1 variables y para cualquier asignacién consistente a esas variables, siempre se puede asignar un valor consistente a cualquier k-€sima variable. funcién AC-3(psr) devuelve el PSR, posiblemente con dominio reducido entradas: psr, un PSR binario con variables {X,, X35... X,) variables locales: cola, una cola de arcos, inicialmente todos los arcos del psr mientras cola es no vacia hacer OX) — Borrak-Panro(cola) si BoRRAR- VALORES-INCONSISTENTES(X, para cada X, en VEciNos[X,] hacer XX) ala cola .X,) entonces funci6n Bornan-VaLores-INconsistentEs(X,, X) devuelve verdadero si y s6lo si hemos borrado un valor borrado < falso | para cada xen Dowinto[X,] hacer | | sino hay un y en DosanroX;] que permita a (x.y) satisfacer la restriccin entre X, y X, entonces borrar x de DoMiNto{X; borrado X verdadero | devolver borrado Figura 5.7 El algoritmo AC-3 de la consistencia del arco. Después de aplicar AC-3, cada arco cs arvo-consistente, o alguna variable tiene un dominio vacio, indicando que el PSR no puede ha- cerse arco-consistente (y asf el PSR no puede resolverse). EI nombre «AC-3» fue usado por el in- ventor del algoritmo (Mackworth, 1977) porque era la tercera versién desarrollada en el articulo, " Bl algoritmo AC-4, debido a Mohr y Henderson (1986), se ejecuta en Ofn'd), Véase el Ejercici 5.10 166 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO ‘Goss TENCI DE ‘ooo oNstsTENCIA DE can FUERTENENTE ‘ecOuSITENTE Por ejemplo, la 1-consistencia significa que cada variable individual, por sf mismo, es consistente; también llamado consistencia de nodo. La 2-consistencia es lo mismo que la consistencia de arco. La 3-consistencia significa que cualquier par de variables ad- yacentes pueden siempre extenderse a una tercera variable vecina; también llamada con- sistencia de camino. Un grafo es fuertemente k-consistente si es k-consistente y también (k — 1)-con- sistente, (k ~ 2)-consistente..., hasta I-consistente. Ahora supongamos que tenemos un PSR con n nodos y lo hacemos fuertemente n-consistente (es decir, fuertemente k-con- sistente para k = n). Podemos resolver el problema sin vuelta atrds. Primero, elegimos un valor consistente para X,. Entonces tenemos garantizado el poder elegir un valor para X, porque el grafo es 2-consistente, para X, porque es 3-consistente, efcétera. Para cada variable X,, tenemos s6lo que averiguar los valores de d, en el dominio, para encontrar un valor consistente con X,...,X,_. Tenemos garantizado encontrar una solucién en O(nd).. Desde luego, no tenemos ningtn tiempo libre: cualquier algoritmo para establecer la n-consistencia debe llevar un tiempo exponencial en n, en el caso peor. Hay una amplia diferencia entre consistencia de arco y n-consistencia: ejecutar con- troles de consistencia fuerte llevard mds tiempo, pero tendré un efecto mayor en la re- ducci6n del factor de ramificacién y en descubrir asignaciones parciales inconsistentes. Es posible calcular el valor k més pequeiio tal que al ejecutar la k-consistencia asegura que el problema puede resolverse sin volver atrds (véase la Seccidn 5.4), pero a menu- do es poco préctico. En la préctica, 1a determinaci6n del nivel apropiado de comproba- cién de la consistencia es sobre todo una ciencia empirica. Manejo de restricciones especiales Cierto tipo de restriceiones aparecen con frecuencia en problemas reales y pueden ma- nejarse utilizando algoritmos de propésito especial més eficientes que los métodos de propésito general descritos hasta ahora. Por ejemplo, la restriccién Todasdif dice que to- das Jas variables implicadas deben tener valores distintos (como en el problema cripto- aritmético). Una forma simple de deteccién de inconsistencias para la restriccién Todasdif ‘trabaja como sigue: si hay m variables implicadas en la restricci6n, y si tienen n valores posibles distintos, y m > n, entonces la restriccién no puede satisfacerse. Esto nos leva al algoritmo simple siguiente: primero, quite cualquier variable en la restricci6n que tenga un dominio con una sola posibilidad, y suprima el valor de esa va- riable de los dominios de las variables restantes. Repetir mientras existan variables con una sola posibilidad. Si en algtin momento se produce un dominio vacio o hay més va- riables que valores en el dominio, entonces se ha descubierto una inconsistencia Podemos usar este método para detectar la inconsistencia en la asignacién parcial {AO = rojo, NGS = rojo} para la Figura 5.1, Notemos que las variables SA, TN y Q es- tan efectivamente relacionadas por una restriccién Todasdif porque cada par debe ser de un color diferente. Después de aplicar AC-3 con la asignacién parcial, el dominio de cada variable se reduce a {verde, azul). Es decir, tenemos tres variables y s6lo dos colores, entonces se viola la restriccién Todasdif. Asi, un procedimiento simple de consistencia para una restriccién de orden alto es a veces més eficaz. que la aplicacién de la consis- tencia de arco a un conjunto equivalente de restricciones binarias, sesrmoci0u DE uRsos OPRGACIOW mes. wera ares ‘erouoLdeica PROBLEMAS DE SATISFACCION DE RESTRICCIONES 167 Quizé la restricci6n de orden alto més importante es la restriccién de recursos, a veces llamada restricci6n como-mdximo, Por ejemplo, PA,.... PA, denotan los niimeros de personas asignadas a cada una de las cuatro tareas. La restriccién que no asigna mas de 10 personas en total, se escribe como-mdximo(10, PA,, PA,, PA,, PA,). Se puede des- cubrir una inconsistencia simplemente comprobando la suma de los valores mfnimos de los dominios actuales; por ejemplo, si cada variable tiene el dominio (3, 4, 5, 6}, la res- triccién como-méximo no puede satisfacerse. También podemos hacer cumplir la con- sistencia suprimiendo el valor maximo de cualquier dominio si no es consistente con los valores minimos de los otros dominios. Asf, si cada variable, en nuestro ejemplo, tiene el dominio (2, 3, 4, 5, 6}, los valores 5 y 6 pueden suprimirse de cada dominio. Para problemas grandes de recursos limitados con valores enteros (como son los pro- blemas logisticos que implican el movimiento de miles de personas en cientos de vehi. culos) no es, por lo general, posible representar el dominio de cada variable como un conjunto grande de enteros y gradualmente reducir ese conjunto por los métodos de com- probacién de la consistencia. En cambio, los dominios se representan por Iimites supe- tiores ¢ inferiores y son manejados por la propagacién de Ifmites. Por ejemplo, supongamos que hay dos vuelos, 271 y 272, para los cuales los aviones tienen capaci- dades de 156 y 385, respectivamente. Los dominios iniciales para el niimero de pasaje- ros sobre cada vuelo son Vuelo271 € [0,165] y Vuelo272 € [0,385] Supongamos ahora que tenemos la restriccién adicional que los dos vuelos juntos de- ben evar a las 420 personas: Vuelo271 + Vuelo272 € [420,420]. Propagando los Iimi- tes de las restricciones, reducimos los dominios a Vuelo271 € [35,165] y Vuelo272 € [255,385] Decimos que un PSR es consistente-acotado si para cada variable X, y tanto para los va- lores de las cotas inferior y superior de X, existe algtin valor de Y que satisface la res triccién entre Xe ¥, para cada variable ¥. Esta clase de propagacién de limites se utiliza, ampliamente, en problemas restringidos précticos. Vuelta atras inteligente: mirando hacia atras El algoritmo de BUsQUEDA-CoN-VUELTA-ATRAS de Ja Figura 5.3 tiene una politica muy simple para saber qué hacer cuando falla una rama de biisqueda: hacia atrés hasta la va- riable anterior e intentar un valor diferente para ella, Se lama vuelta atras cronolégi- ca, porque se visita de nuevo el punto de decision mas reciente. En esta subsecciGn, veremos que hay muchos caminos mejores. ‘Veamos lo que ocurre cuando aplicamos la vuelta atrds simple de la Figura 5.1 con una variable fija que ordena Q, NGS, V, T, AS, AO, TN. Supongamos que hemos ge- nerado la asignaci6n parcial {Q = rojo, NGS = verde, V = azul, T = rojo). Cuando intentamos la siguiente variable, AS, vemos que cada valor viola una restricci6n. ; Vol- vemos hacia atrés hasta Te intentamos un nuevo color para Tasmania! Obviamente esto es iniitil (el nuevo color de Tasmania no puede resolver el problema con Austra- lia del Sur). 168 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO congo Couruicro snur0 ATS Una aproximacién més inteligente a la vuelta atrds es ir hacia atrds hasta el conjun- to de variables que causaron el fracaso. A este conjunto se le llama conjunte conflic- to; aqui, el conjunto conflicto para AS es (Q, NGS, V}. En general, el conjunto conflicto para la variable X es el conjunto de variables previamente asignadas que estén relacio- nadas con X por las restricciones, El método salto-atras retrocede a la variable mas re- ciente en el conjunto conflicto; en este caso, el salto-atras deberia saltar sobre Tasmania ¢ intentar un nuevo valor para V. Esto se implementa facilmente modificando la BOs- QUEDA-CoN-VUELTA-ATRAS de modo que acumule el conjunto conflicto mientras com- prueba un valor legal para asignar. Si no se encuentra un valor legal, deberia devolver el elemento més reciente del conjunto conflicto con el indicador de fracaso. El lector habré notado que la comprobacién hacia delante puede suministrar el con- junto conflicto sin trabajo suplementario: siempre que la comprobacién hacia delante, basada en una asignacién a X, suprima un valor del dominio de ¥, deberiamos afiadir X al conjunto conflicto de ¥. También, siempre que se suprima el dltimo valor del domi- nio de Y, las variables en el conjunto conflicto de ¥ se afiaden al conjunto conflicto de X, Entonces, cuando llegamos a Y, sabemos inmediatamente dénde volver atrés si es ne- cesatio. El lector habré notado algo raro: el salto-atrés ocurre cuando cada valor de un do- minio esté en conflicto con la asignacién actual; ;pero la comprobacién hacia delante descubre este acontecimiento y previene la biisqueda de alcanzar alguna vez tal nodo! De hecho, puede demostrarse que cada rama podada por el salto-atras también se poda por la comprobacién hacia delante. De ahi, el salto-atras simple es redundante con una busqueda de comprobacién hacia delante o, en efecto, en una biisqueda que usa la com- probacién de consistencia fuerte, como MCA. A pesar de las observaciones del pérrafo anterior, la idea que hay detrés del salto- atrés sigue siendo buena: retroceder basindose en los motivos de fracaso. El salto-atrds se da cuenta del fracaso cuando el dominio de una variable se hace vacio, pero en mu- chos casos una rama es condenada mucho antes de que esto ocurra, Considere otra vez la asignacién parcial {AO = rojo, NGS = rojo} (que, de nuestra discusién anterior, es inconsistente). Supongamos que intentamos 7 = rojo después y luego asignamos a TN, Q, VAS, Sabemos que no se puede hacer ninguna asignacién para estas cuatro tiltimas variables, ya que finalmente nos quedamos sin valores para intentar en TN. Ahora, la pregunta es, ,a dénde regresar? El salto-atraés no puede trabajar, porque TN tiene realmente valores consistentes con las variables precedentes adjudicadas (TN no tiene un conjunto conflicto completo de variables precedentes que hicieron que fallara). Sa- bemos, sin embargo, que las cuatro variables TN, Q, V, y AS, juntas, dan fallo debido a ‘un conjunto de variables precedentes, que directamente entran en conflicto con las cua- tro, Esto conduce a una nocién més profunda del conjunto conflicto para una variable como TN: es ese conjunto de variables precedentes el que causa que TN, junto con cual- quier variable siguiente, no tenga ninguna solucién consistente. En este caso, el conjunto es AO y NGS, asi que el algoritmo deberia regresar a NGS y saltarse Tasmania. Al al- goritmo de salto-atrds que utiliza los conjuntos conflicto definidos de esta manera se le llama salto-atrés dirigido-por-conflicto. Debemos explicar ahora cémo calculamos estos nuevos conjuntos conflictos. El mé- todo, de hecho, es muy simple. El fracaso «terminal» de una rama de busqueda siempre sraenoER LA estes PROBLEMAS DE SATISFACCION DE RESTRICCIONES 169 ocurre porque el dominio de una variable se hace vacfo; esa variable tiene un conjunto conflicto esténdar. En nuestro ejemplo, AS falla, y su conjunto conflicto es {AO, TN, Q} Saltamos atrés a Q, y Q absorbe el conjunto conflicto de AS (menos Q, desde luego) en su propio conjunto conflicto directo, que es {7N, NGS}; el nuevo conjunto conflicto es {AO, TN, NGS}. Es decir no hay ninguna solucién de Q hacia delante, dada la asigna- cién precedente a (AO, TN, NGS}. Por lo tanto, volvemos atras a NT, el més reciente de éstos. TN absorbe {AO, TN, NGS} — {TN} en su propio conjunto conflicto directo {AO}, dando {AO, NGS} (como en los parrafos anteriores). Ahora el algoritmo de sal- to atrés a NGS, como era de esperar. Resumiendo: sea X, la variable actual, y sea conf(X,) su conjunto conflicto, Si para todo valor posible para X, falla, saltamos atrés a la varia- ble mas reciente X,, en conf(X,), y el conjunto conf(X,) — conf(X,) U conf(X) — (X,} Salto-atrés dirigido-por-conflicto va hacia atrés al punto derecho en el drbol de bisque- da, pero no nos impide cometer los mismos errores en otra rama del érbol. Aprender la restriccién realmente modifica el PSR afiadiendo una nueva restriccién inducida por es- tos conflictos. 5.3 Busqueda local para problemas de satisfaccién de restricciones nna cowruicro Los algoritmos de btisqueda local (véase la Seccién 4.3) resultan ser muy eficaces en la resolucién de muchos PSRs. Ellos utilizan una formulacién de estados completa: el es- {ado inicial asigna un valor a cada variable, y la funcién sucesor, por lo general, traba- jacambiando el valor de una variable a la vez. Por ejemplo, en el problema de las 8-reinas, el estado inicial podria ser una configuracién arbitraria de ocho reinas en ocho colum- nas, y la funci6n sucesor escoge a una reina y piensa en moverla a otra parte en su co- lumna. Otra posibilidad seria comenzar con ocho reinas, una por columna, en una permutacién de las ocho filas, y generarfa a un sucesor tomando dos reinas que inter- cambian sus filas’. Hemos visto ya, realmente, un ejemplo de bisqueda local para re- solver un PSR: la aplicacién de las ascensi6n de colinas al problema de n-reinas (pagina 126). Otra es la aplicacin de SAT-Caminar (péigina 251) para resolver problemas de satisfaccién, un caso especial de PSRs. En la eleccién de un nuevo valor para una variable, la heuristica mas obvia debe se- leccionar el valor que cause el ntimeto mfnimo de conflictos con ottas variables (heu- ristica de mfnimos-conflictos). La Figura 5.8 muestra el algoritmo y en la Figura 5.9 se muestra su aplicaci6n a un problema de 8-reinas, cuantificada en la Figura 5.5. Los minimos-conflictos son sorprendentemente eficaces para muchos PSRs, en pat- ticular, cuando se ha dado un estado inicial razonable. En la Gtima columna de la Figu- * La bisqueda local puede entenderse favilmente a PSRs con funciones objetivo. En este caso, todas las técnicas «de ascensin de colinas y temple simulado pueden aplicarse para optimiza la funciGn objetivo, 170 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO funei6n Mevos-ConFLicTos(psrmax_pasos) devwelve una solucién o flo variables de entrada: psr, un problema de satisfaccién de restricciones ‘max_pasas, niimero de pasos permitidos antes de abandonar actual — una asignacién completa inicial para psr | para i = 1 hasta max_pasos hacer si actual es una solucién pata psr entonces devolver actual var & escoger aleatoriamente una variable conflictiva de VaRIABLS{psr] valor < el valor v para var que minimiza CoNFLICTOS(var ¥, actual, ps) Conjunto var = valor en acnwal devolver fallo Figura 5.8 Fl algoritmo de Minowos-Cowrt icros para resolver PSRs por bisqueds local. Bl estado inicial puede elegirse al azar 0 por un proceso de asignacién yoraz que elige un valorde minimo conflicto para cada variable a cambiar, La funcién CONFLICtos cuenta el niiniero de restricciones violédas por un valor particular, considerando el resto de la asignacion actual. Figura'S.9 Una solucién de dos pasos para un problema de 8-reinas usando minimos-conflictos. En cada etapa, se elige una reina para la reasignacién en su columna. EI nimero de conflictos (en este caso, el nlimero dé reinas atacadas) se muestra en cada cuadrado. Bl algoritmo mneve ala sei- na al cuatlrato de minimo conflicto, deshacierido los empates de manera aleatoria. ra 5.5 se muestra su funcionamiento. Extraordinariamente, sobre el problema de las n- reinas, si no cuenta la colocaci6n inicial de las reinas, el tiempo de ejecucisn de mini- mos-conflictos es mds o menos independiente del tamafio del problema. Resuelve hasta el problema de un millén de reinas en un promedio de 50 pasos (después de la asigna- cin inicial). Esta observaci6n notable fue el estimulo que condujo a gran parte de la in- vestigacién en 1os afios 90 sobre la btisqueda local y la diferencia entre problemas féciles y dificiles, los cuales veremos en el Capitulo 7. Hablando de forma aproximada, las nn-reinas son féciles para la basqueda local porque las soluciones estan densamente dis- tribuidas en todas las partes del espacio de estados. Los minimos-conflictos también tra- bajan bien para problemas dificiles. Por ejemplo, se han utilizado para programar las observaciones del ‘Telescopio Hubble, reduciendo el tiempo utilizado para programar una semana de observaciones, de tres semanas (!) a alrededor de 10 minutos. PROBLEMAS DE SATISFACCION DE RESTRICCIONES 174 Otra ventaja de la biisqueda local consiste en que puede usarse en un ajuste onli cuando el problema cambia. Esto es particularmente importante en la programacién de problemas. El programa de vuelos de una semana puede implicar miles de vuelos y decenas de miles de asignaciones de personal, pero el mal tiempo en un aeropuer- to puede convertir a ta programacién en no factible. Nos gustaria reparar la progr macién con un niimero minimo de cambios. Esto puede hacerse fécilmente con un algoritmo de biisqueda local comenzando desde el programa actual. Una busqueda con vuelta atrés con un nuevo conjunto de restricciones, por lo general, requiere mu- cho més tiempo y podrfa encontrar una solucién, desde el programa actual, con muchos cambios. 5.4 La estructura de los problemas suspnontemas ‘MDEPENOENTES componeres ones En esta seccién, examinamos las formas por las cuales la estructura del problema, re- presentada por el grafo de restricciones, puede utilizarse para encontrar soluciones de forma répida, La mayor parte de estas aproximaciones son muy generales y aplicables a otros problemas, por ejemplo, razonamiento probabilfstico. Después de todo, la tini- ca forma que podemos esperar, posiblemente, que pueda tratar con el mundo real es Ja descomposici6n en muchos subproblemas. Viendo de nuevo la Figura 5.1(b), con miras a identificar la estructura del problema, se destaca un hecho: Tasmania no est relacionada con el continente*. Intuitivamente, es obvio que colorear Tasmania y co- Jorear el continente son subproblemas independientes (cualquier solucién para el con- tinente combinado con cualquier solucién para Tasmania produce una solueién para el mapa entero). La independencia puede averiguarse simplemente buscando compo- nentes conectados del grafo de restricciones. Cada componente corresponde a un sub- problema PSR,. Si la asignacién S, es una solucién de PSR, entonces U, S, es una solucién de U, PSR,. ,Por qué es tan importante? Consideremos Jo siguiente: supon- ‘ga que cada PSR, tiene c variables del total de n variables, donde c es una constante. Entonces hay n/c subproblemas, cada uno de los cuales trae consigo como mucho d° de trabajo para resolverlo. De ab, que el trabajo total es O(d'n/c), que es lineal en n; sin Ja descomposicién, el trabajo total es O(d"), que es exponencial enn. Seamos mas con- cretos: la divisién de un PSR booleano con n = 80 en cuatro subproblemas con ¢ = 20 reduce el tiempo de resolucién, en el caso peor, de la vida del universo hasta menos de un segundo. Los subproblemas completamente independientes son deliciosos, pero raros. En la ma- yorta de casos, los subproblemas de un PSR estan relacionados. El caso més simple es cuando el grafo de restricciones forma un érbol: cualquiera dos variables estén relacio- nadas por, a lo sumo, un camino. La Figura 5.10(a) muestra un ejemplo esquematico'. * Un cartigrafo cuidadoso o un tasmanio patrdtico podrfa objetar ue Tasmania no debiera ser coloreads lo mi ‘mo que su vecino de continente mis cercano, lo que evitaria Ia impresién de que pueda ser parte de aquel estado. * Tristemente, muy pocasregiones del mundo, com la excepein posible de Sulawesi ienen mapas estructurados por drboles. 172 _INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO. aoe ®) ao o@608O ) ) | Figura 5.10 (a) Grafo de restricciones de un PSR estructurado por érbol. (b) Un ordenamiento lineal de las variables consistentes con el drbol con A como la rai. Mostraremos que cualquier PSR estructurado por drbol puede resolverse en tiempo li- neal en el nimero de variables. El algoritmo tiene los siguientes pasos: 1. Blija cualquier variable como la rafz del érbol, y ordene las variables desde la raiz a las hojas de tal modo que el padre de cada nodo en el érbol lo precede en el ordenamiento. (Véase la Figura 5.10(b).) Etiquetar las variables X,..., X, en orden. Ahora, cada variable excepto la raiz tiene exactamente una variable padre. 2. Para j desde n hasta 2, aplicar la consistencia de arco al arco (X,, X), donde X, es el padre de X,, quitando los valores de] DomiNio[X,] que sea necesario. 3. Para j desde | an, asigne cualquier valor para X, consistente con el valor asig- nado para X,, donde X, es el padre de X,. Hay dos puntos claves a destacar, Primero, después del paso 2 el PSR es directamente arco-consistente, entonces la asignacién de valores en el paso 3 no requiere ninguna vuel- ta atrds, (Véase la discusi6n de k-consistencia de la pagina 167.) Segundo, aplicando la comprobacién de consistencia de arco en orden inverso en el paso 2, el algoritmo ase- {gura que cualquier valor suprimido no puede poner en peligro la consistencia de arcos, que ya han sido tratados. El algoritmo completo se ejecuta en tiempo O(nd’). Ahora que tenemos un algoritmo eficiente para arboles, podemos considerar si los grafos restriccién mas generales pueden reducirse a érboles de alguna manera. Hay dos modos primarios de hacer esto, uno basado en quitar nodos y uno basado en nodos que sufren colisiones. La primera aproximacién implica valores de asignaci6n a algunas variables de modo que las variables restantes formen un arbol. Consideremos el grafo restriccién para Aus- tralia, mostrado otra vez en la Figura 5.1 1(a). Si pudiéramos suprimir Australia del Sur, el grafo se harfa un arbol, como en (b). Por suerte, podemos hacer esto (en el grafo, no en el continente) fijando un valor para AS y suprimiendo de los dominios de las otras variables cualquier valor que sea inconsistente con el valor elegido para AS. Ahora, cualquier solucién para el PSR después de que AS y sus restricciones se qui- ten, sera consistente con el valor elegido para AS. (Para los PSRs binarios, la situacién es mas complicada con restricciones de orden alto.) Por Io tanto, podemos resolver el 4rbol restante con el algoritmo anterior y asf resolver el problema entero. Desde luego, en el caso general (a diferencia de colorear el mapa) el valor elegido para AS podria ser ‘cto conte acondjoowamexo bet coate escouasicidn sean. PROBLEMAS DE SATISFACCION DE RESTRICCIONES 173, ©) Figura $.11 (a) Grafo restriccién original de la Figura 5.1. (b) Graf restriccién después de qui- tar AS. elincorrecto, entonces tendriamos que intentarlo con cada uno de ellos. El algoritmo ge- neral es como sigue: 1. Elegir un subconjunto $ de Varrastes|psr] tal que el grafo de restricciones se convierta en un érbol después del quitar $, Llamamos aS un ciclo de corte 2. Para cada asignacién posible a las variables en S que satisface todas las restric- ciones sobre S, (a) quitar de los dominios de las variables restantes cualquier valor que sea in- consistente con la asignacién para S, y (b) si el PSR restante tiene una soluci6n, devolverla junto con la asignacién para S. Sielciclo de corte tiene tamafio c, entonces el tiempo de ejecucién total es O(a" - (n — ¢)d?). Si el grafo es «casi un arbol» entonces c ser pequefio y los ahorros sobre la vuelta atras serdn enormes. En el caso peor, sin embargo, ¢ puede ser tan grande como (n ~ 2). En- contrar el ciclo de corte mes pequefio es NP-duro, pero se conocen varios algoritmos apro- ximados eficientes para esta tarea. A Ia aproximacién algoritmica general se le Hama acondicionamiento del corte que veremos de nuevo en el Capitulo 14, donde se usar para el razonamiento sobre probabilidades. La segunda aproximacién esta basada en la construccién de una descomposicién en Arbol del grafo restriccién en un conjunto de subproblemas relacionados. Cada sub- problema se resuelve independientemente, y las soluciones que resultan son entonces combinadas. Como la mayorfa de los algoritmos divide-y-vencerss, trabajan bien si nin- guno de los subproblemas es demasiado grande, La Figura 5.12 muestra una descom- posicién de arbol del problema que colorea un mapa en cinco subproblemas. Una descomposicién de Arbo! debe satisfacer las tres exigencias siguientes: * Cada variable en el problema original aparece en al menos uno de los subpro- blemas. 174 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO * Sidos variables estan relacionadas por una restriccidn en el problema original, de- ben aparecer juntas (junto con la restricci6n) en al menos uno de los subproble- mas. + Si una variable aparece en dos subproblemas en el érbol, debe aparecer en cada subproblema a lo largo del camino que une a esos subproblemas, Las dos primeras condiciones aseguran que todas las variables y las restricciones es- tén representadas en la descomposicidn. La tercera condicién parece bastante técnica, pero simplemente refleja la restriccién de que cualquier variable debe tener el mismo valor en cada subproblema en el cual aparece; los enlaces que unen subproblemas en el érbol hacen cumplir esta restriccién. Por ejemplo, AS aparece en los cuatro subpro- blemas de la Figura 5.12, Puede verificar de la Figura 5.11 que esta descomposicion tiene sentido, Resolvemos cada subproblema independientemente; si alguno de ellos no tiene nin- guna solucién, sabemos que el problema entero no tiene ninguna solucién. Si podemos resolver todos los subproblemas, entonces intentamos construir una solucién global como sigue. Primero, vemos a cada subproblema como «una megavariable» cuyo do- minio es el conjunto de todas las soluciones para el subproblema. Por ejemplo, los sub- problemas mds a la izquierda en la Figura 5.12 forman un problema que colorea el mapa con tres variables y de ahf que tienen seis soluciones (una es {AO = rojo, AS = azul, TN = verde}). Entonces, resolvemos las restricciones que unen los subproblemas utili- zando el algoritmo eficiente para érboles. Las restricciones entre subproblemas simple- ‘mente insisten en que las soluciones del subproblema deben estar de acuerdo con sus variables compartidas. Por ejemplo, considerando la solucién (AO = rojo, AS = azul, IN = verde} para el primer subproblema, la Gnica solucién consistente para el siguien- te subproblema es (AS = azul, TN = verde, O = rojo). Figura 5.12 Una descomposiciGn en rbot del grafo restricci6n de la Figura 5.11(a) PROBLEMAS DE SATISFACCION DE RESTRICCIONES 175, El grafo de restricciones admite muchas descomposiciones en érbol; el objetivo en laeleccién de una descomposicién, es hacer los subproblemas tan pequefios como sea sown veins, posible. La anchura del érbol de una descomposicién en drbol de un grafo es menor que el tamafio del subproblema més grande; 1a anchura de Arbol del grafo en sf mis- mo esté definida por la anchura de érbol mfnimo entre todas sus descomposiciones en 4rbol. Si un grafo tiene la anchura de érbol w, y nos dan la descomposici6n en érbol correspondiente, entonces el problema puede resolverse en O(nd” *") veces. De ahi gue, los PSRs con grafos de restricciones de anchura de drbol acotada son resolubles en tiempo polinomial. Lamentablemente, encontrar la descomposicién con la anchu- ra del érbol minima es NP-duro, pero hay métodos heurfsticos que trabajan bien en la préctica. 5.5 Resumen + Los problemas de satisfaccién de restricciones (0 PSRs) consisten en variables con restricciones sobre ellas. Muchos problemas importantes de! mundo real pue- den describirse como PSRs. La estructura de un PSR puede representarse por su grafo de restricciones. + La biisqueda con vuelta atrés, una forma de biisqueda primero en profundidad, es coméinmente utilizada para resolver PSRs. + Las heuristicas de mfnimos valores restantes y minimo grado restante son mé- todos, independientes del dominio, para decidir qué variable elegir en una biisqueda con vuelta atrés. La heurfstica valor menos restringido ayuda en la ordenacién de los valores de las variables. + Propagando las consecuencias de las asignaciones parciales que se construyen, el algoritmo con vuelta atrés puede reducir enormemente el factor de ramificacién del problema. La comprobacién hacia delante es el método mis simple para ha- cerlo. La imposicién de la consistencia del arco es una técnica mas poderosa, pero puede ser mis costosa de ejecutar. + La vuelta atrés ocurre cuando no se puede encontrar ninguna asignacién legal para una variable. El salto atras dirigido por conflictos vuelve atrés directamente a Ja fuente del problema. + Labiisqueda local usando la heuristica de minimos conflictos se ha aplicado alos problemas de satisfaccién de restricciones con mucho éxito. + La complejidad de resolver un PSR esté fuertemente relacionada con la estructu- ra de su grafo de restricciones. Los problemas estructurados por drbol pueden re- solverse en tiempo lineal. El acondicionamiento del corte puede reducir un PSR general a uno estructurado por drbol y es muy eficiente si puede encontrarse un corte pequeiio. Las técnicas de descomposicién en arbol transforman el PSR en un Arbol de subproblemas y son eficientes si la anchura de érbol del grafo de res- tricciones es pequefia. 176 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO. ze cuncioNEs DiopwanTiNe ‘coLonea ne ‘wRaro NOTAS BIBLIOGRAFICAS E HISTORICAS El primer trabajo relacionado con la satisfacciGn de restricciones trat6, en gran parte, res- tricciones numéricas. Las restricciones ecuacionales con dominios de enteros fueron es- tudiadas por el matematico indio Brahmagupta en el siglo vit; a menudo se les Haman ecuaciones Diophantine, después del matematico griego Diophantus (200-284), quien realmente consider6 el dominio de racionales positivos. Los métodos sistematicos para resolver ecuaciones lineales por eliminacién de variables fueron estudiados por Gauss (1829); la solucién de restricciones lineales en desigualdad se retoman con Fourier (1827), Los problemas de satisfacci6n de restricciones con dominios finitos también tienen una larga historia. Por ejemplo, el coloreo de un grafo (el coloreo de un mapa es un caso especial) es un viejo problema en matemiticas. Segtin Biggs er al. (1986), la conjetura de cuatro colores (que cada grafo plano puede colorearse con cuatro 0 menos colores) Ja hizo primero, en 1852, Fancis Guthrie, un estudiante de Morgan. Esta solucién resis- {i6, a pesar de varias reclamaciones publicadas en contra, hasta que Appel y Haken (1977) realizaron una demostraci6n, con la ayuda de un computador. Clases especificas de problemas de satisfaccién de restricciones aparecen a través de la historia de la informatica. Uno de los primeros ejemplos mas influyentes fue el sis- tema de SkeTCHPAD (Sutherland, 1963), quien resolvié restricciones geométricas en diagramas y fue el precursor de los programas modernos de dibujo y las herramientas CAD. La identificacién de PSRs como una clase general se debe a Ugo Montanari (1974), La reduccién de PSRs de orden alto a PSRs puramente binarios con variables auxilia- res (véase el Ejercicio 5.11) se debe originalmente al légico Charles Sanders Peirce del siglo xix. Fue introducido en la literatura de PSR por Dechter (1990) y fue elaborado por Bacchus y van Beek (1998). Los PSRs con preferencias entre las soluciones son es- tudiados ampliamente en la literatura de optimizacién; véase Bistarelli et al. (1997) para una generalizacién del marco de trabajo de PSRs que tienen en cuenta las preferenci: El algoritmo de eliminacién de cubo (Dechter, 1999) puede también aplicarse a proble- mas de optimizacién, La biisqueda con vuelta atrds para la satisfaccién de restricciones se debe a Bitner y Reingold (1975), aunque ellos remonten el algoritmo basico al siglo x1x. Bitner y Rein- gold también introdujeron la heurfstica MVR, que amaron heurfstica de la variable mas restringida. Brelaz (1979) us6 el grado heuristico como un modo de deshacer el empa- te después de aplicar la heuristica MVR. Bl algoritmo que resulta, a pesar de su simpli- cidad, es todavia el mejor método para el k-coloreo de grafos arbitrarios. Haralick y Elliot (1980) propusieron la heuristica del valor menos restringido. Los métodos de propagacién de restricciones se popularizaron con el éxito de ‘Waltz (1975) sobre problemas poliédricos de etiquetado para la visién por computador. Waltz ‘mostré que, en muchos problemas, la propagacién completa elimina la necesidad del re- troceso. Montanari (1974) introdujo la nocién de redes de restricciones y la propagacién por la consistencia del camino. Alan Mackworth (1977) propuso el algoritmo AC-3 para hacer cumplir la consistencia del arco asf como la idea general de combinar la vuelta atras con algtin grado de imposici6n de la consistencia. AC-4, un algoritmo de consistencia emaaceso ico PR DEPENDENCIAS conaancion ESTRICCINES unacan ACA ATRAS ‘ermoces0 ‘utc PROBLEMAS DE SATISFACCION DE RESTRICCIONES 177 del arco més eficiente, fue desarrollado por Mohr y Henderson (1986). Inmediatamen- te después de que apareciera el trabajo de Mackworth, los investigadores comenzaron a experimentar sobre la compensaci6n entre el coste al imponer la consistencia y las ven- tajas en términos de reduccién de la busqueda. Haralick y Elliot (1980) favorecieron el algoritmo de comprobacién hacia delante minima descrito por McGregor (1979), mien- tras que Gaschnig (1979) sugirié la comprobacién completa de la consistencia del arco después de cada asignacién de una variable (un algoritmo posterior llamado MAC de Sabin y Freuder (1994)). El trabajo tiltimo proporciona pruebas convincentes de que, so- bre PSRs més dificiles, la comprobacién completa de la consistencia de arco merece la pena, Freuder (1978, 1982) investigé la nocién de k-consistencia y su relacién con la com- plejidad de resolver PSRs. Apt (1999) describe un marco de trabajo algoritmico gené- rico dentro del cual se pueden analizar los algoritmos de propagacién de consistencia. Los métodos especiales para manejar restricciones de orden alto se han desarrollado principalmente dentro del contexto de la programaci6n I6gica de restricciones, Marriot y Stuckey (1998) proporcionan una excelente cobertura de la investigacidn en este area, La restriccién Todasdif fue estudiada por Regin (1994). Las restricciones acotadas fueron incorporadas en la programacién l6gica de restricciones por Van Hentenryck et al. (1998). Los métodos basicos de salto atrds se deben a John Gaschnig (1977, 1979). Kondrak y van Beek (1997) mostraron que este algoritmo es esencialmente subsumido por la com- probacién hacia delante. El salto atrés dirigido por conflictos fue ideado por Prosser (1993). La forma més general y poderosa de la vuelta hacia atrds inteligente fue real- mente desarrollada muy pronto por Stallman y Sussman (1997). Su técnica del retro- ceso dirigido por dependencias condujo al desarrollo de sistemas de mantenimiento de la verdad (Doyle, 1979), de los que hablaremos en la Secci6n 10.8, La conexi6n en- tre las dos éreas la analiza Kleer (1989). El trabajo de Stallman y Sussman también introdujo la idea de la grabacién de res- triceiones, en la cual los resultados parciales obtenidos por la biisqueda pueden salvar- se y ser reutilizados més tarde, La idea fue introducida formalmente en la baisqueda con vuelta atrés de Dechter (1990a). Marcar hacia atrés (Gaschnig, 1979) es un método particularmente simple en el cual se salvan las asignaciones por parejas consistentes inconsistentes y usadas para evitar comprobar de nuevo las restricciones. Marcar hacia atrs puede combinarse con salto atrés ditigido por conflictos; Kondrad y van Beek (1997) presentan un algoritmo hibrido que probablemente subsume cualquier método, El mé- todo del retroceso dindmico (Ginsberg, 1993) retiene asignaciones parciales satisfac- torias de subconjuntos posteriores de variables cuando volvemos atrés sobre una opciGn anterior que no invalida el éxito posterior. La biisqueda local en problemas de satisfacciGn de restricciones se populariz6 con el trabajo de Kirkpatrick er al. (1983) sobre el temple simulado (véase el Capitulo 4), am- pliamente utilizado para problemas de programaciGn, El primero que propuso la heurfs- tica de mfnimo conflicto fue Gu (1989) y desarrollada independientemente por Minton et al. (1992). Sosic y Gu (1994) mostraron cémo podria aplicarse para resolver el pro- blema de 3.000.000 de reinas en menos de un minuto. El éxito asombroso de la bisque- da local, usando minimos conflictos, sobre el problema de las n-reinas condujo a una nue- va estimacién de la naturaleza y predominio de problemas «ficiles» y «dificiles». Peter Cheeseman ef al. (1991) exploraron la dificultad de los PSRs generados aleatoriamente 178 INTELIGENCTA ARI "CIAL. UN ENFOQUE MODERNO y descubrieron que casi todos estos problemas son trivialmente féciles o no tienen ningu- na solucién. Sélo si los parémetros del generador del problema se ponen en un cierto ran- g0 limitado, dentro del cual aproximadamente la mitad de los problemas son resolubles, encontramos casos de problemas «dificiles». Hablamos de este fenémeno en el Capitulo 7. El trabajo que relaciona la estructura y Ja complejidad de los PSRs proviene de Freu- der (1985), quien mostré que la baisqueda sobre drboles arco-consistentes trabaja sin nin- guna vuelta atrds. Un resultado similar, con extensiones a hipergrafos aciclicos, fue desarrollado en la comunidad de base de datos (Beri et al. 1983). Desde que esos tra~ bajos fueron publicados, hubo mucho progreso en el desarrollo de mas resultados ge- nerales que relacionan la complejidad de resolver un PSR con la estructura de su grafo de restricciones. La nocién de anchura del drbol fue introducida por Ios te6ricos de gra- fos Robertson y Seymour (1986). Dechter y Pearl (1987, 1989), construyendo sobre el trabajo de Freuder, aplicaron la misma nocién (que ellos llamaron la anchura induci- da) a problemas de satisfacci6n de restricciones y desarrollaron la aproximacién de des- composicisn en arbol esbozado en la Seccién 5.4. Usando este trabajo y sobre resultados de teoria de base de datos, Gottlob er al. (1999a, 1999b) desarrollaron una nocién, an- chura del hiperérbol, basada en la caracterizacién del PSR como un hipergrafo. Ade- ‘més mostraron que cualquier PSR con la anchura de hiperarbol w puede resolverse en. tiempo O(n'"*' log n) y que la anchura de hiperdrbol subsume todas las medidas de «an- chura> (antes definidas) en el sentido de que hay casos donde la anchura de hiperdrbol estd acotada y las otras medidas no estén acotadas. Hay varias buenas revisiones de técnicas de PSRs, incluyendo la de Kumar (1992), Dechter y Frost (1999), y Bartak (2001); y la enciclopedia de articulos de Dechter (1992) y Mackworth (1992). Pearson y Jeavons (1997) contemplan clases manejables de PSRs, cubriendo tanto métodos de descomposicién estructurales como métodos que confian en las propiedades de los dominios o restricciones. Kondrak y van Beek (1997) dan una revisién analitica de algoritmos de biisqueda con vuelta atrés, y Bacchus y van Run (1995) dan una revisién mas empirica. Los textos de Tsang (1993) y de Marriott y Stuckey (1998) entran en mas profundidad que la realizada en este capitulo. Varias apli- caciones interesantes se describen en ta coleccién editada por Freuder y Mackworth (1994), Los trabajos sobre satisfaccidn de restricciones aparecen con regularidad en la revista Artificial Intelligence y en la revista especializada Constraints, La primera con- ferencia local es la International Conference on Principles and Practice of Constraint Programming, amenudo llamada CP, EJERCICIOS 8.1 Defina con sus propias palabras los términos problema de satisfaccién de restric- ciones, restriccién, blisqueda con vuelta atrés, consistencia de arco, salto atrés y mini- mos conflictos. 5.2. ,Cusntas soluciones hay para el problema que colorea el mapa de la Figura 5.1? 5.3 Explique por qué es una buena heuristica el elegir la variable que esta mds res- tringida, en lugar del valor que est menos restringido en una biisqueda de PSR. Puamircacidn eLPun Puamicacion oe cuases PROBLEMAS DE SATISFACCION DE RESTRICCIONES 179) 5.4 Considere el problema de construis (no resolver) crucigramas*: prueba de palabras en una rejilla rectangular. La rejilla, dada como parte del problema, especifica qué cua- drados son en blanco y cules sombreados. Asuma que se proporciona una lista de pa- labras (es decir, un diccionario) y que la tarea es llenar los cuadrados en blanco usando cualquier subconjunto de la lista. Formule este problema, con precisién, de dos modos: a) Como un problema general de busqueda. Elija un algoritmo de béisqueda apro- piado, y especifique una funcién heurfstica, si piensa que es necesaria. {Es me- jor rellenar con una letra 0 una palabra a la vez? 5) Como un problema de satisfacciGn de restricciones {deberfan las variables ser palabras o letras? {Qué formulacién piensa que ser mejor? ;Por qué? 8.5. Dé formulaciones precisas para cada uno de los siguientes problemas de satisfac- ciGn de restricciones: 4) Planificacién en el plano rectilineo: encuentre lugares no solapados en un rec- tingulo grande para varios rectingulos més pequefios. 4) Programacién de clases: Hay un ntimero fijo de profesores y aulas, una lista de clases, y una lista de huecos posibles para las clases. Cada profesor tiene un conjunto de clases que él o ella pueden ensefar. 5.6 Resuelva a mano el problema criptoaritmético de la Figura 5.2, usando el retro- ceso, comprobacién hacia delante, y las heuristicas MVR y la del valor menos res- tringido 5.7 La Figura 5.5 prueba varios algoritmos sobre el problema de las n-reinas. Intente estos mismos algoritmos sobre problemas de coloreo de mapas generados aleatoriamente como sigue: disperse n puntos sobre el cuadrado unidad; seleccionando un punto X al azar, una X con una linea recta al punto més cercano Y tal que X no esta ya relacionado con ¥y la Iinea no cruce ninguna otra linea; repita el paso anterior hasta que no haya mas uniones posibles. Construya la tabla de funcionamiento para el n més grande que pueda manejar, usando tanto colores d = 4 como d = 3. Comente sus resultados. 5.8 _Utilice el algoritmo AC-3 para mostrar que la consistencia de arco es capaz de des- cubrir la inconsistencia de la asignacién parcial (AO = rojo, V = azul} para el proble- ma de la Figura 5.1 5.9 {Cuél es la complejidad, en el caso peor, al ejecutar AC-3 sobre un PSR estructu- rado por drbol? 5.10 AC-3 vuelve a poner sobre la cola cada arco (X,, X) siempre que algiin valor sea suprimido del dominio de X,, aunque cada valor de X, sea consistente con los valores restan- tes de X,, Suponga que, para cada arco (X,, X,), guardamos el ntimero de valores restantes de X, que son consistentes con cada valor de X,. Explique cémo actualizar estos néimeros de manera eficiente y muestre que la consistencia de arco puede hacerse en tiempo total Ord’). ® Ginsberg eral. (1990) hablan de varios métodos para consti rucigramas. Litman el. (1999)abordane! ro- blema mas dif: resolveros, 180 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO 5.11 Muestre cémo una restriccién ternaria simple como «A + B = C» puede trans- formarse en tres restricciones binarias usando una variable auxiliar. Puede suponer do- minios finitos. (Consejo: considere una nueva variable que tome valores que son pares de otros valores, y considere que las restricciones como «X es el primer elemento del par Y».) Después, muestre c6mo las restricciones con més de tres variables pueden tra- tarse de modo similar. Finalmente, muestre cémo las restricciones con una sola varia- ble pueden eliminarse cambiando los dominios de las variables. Esto completa Ia demostracién de que cualquier PSR puede transformarse en un PSR con restricciones binarias. 5.12 Suponga que un grafo tiene un ciclo de corte de no més de k nodos. Describa un algoritmo simple para encontrar un ciclo de corte minimo cuyo tiempo de ejecucién no sea mucho més que O(n") para un PSR con » variables. Busque en la literatura métodos para encontrar, aproximadamente, el ciclo de corte mfnimo en tiempo polinomial en el tamaiio del corte. ,La existencia de tales algoritmos hacen prictico al método de ciclo de corte? 5.13. Considere el siguiente puzle I6gico: en cinco casas, cada una con un color dife- rente, viven cinco personas de nacionalidades diferentes, cada una de las cuales prefie~ re una marca diferente de cigarrillos, una bebida diferente, y un animal doméstico diferente. Considerando los hechos siguientes, la pregunta para contestar es «;d6nde vive Zebra, y en qué casa beben ellos el agua?» EL inglés vive en la casa roja El espafiol posee el perro. El noruego vive en la primera casa a la izquierda. Los Kools son fumados en la casa amarilla. El hombre que fuma Chesterfields vive en la casa al lado del hombre con el zorro. El noruego vive al indo de la casa azul. El fumador de Winston posee caracoles. El fumador de Lucky Strike bebe zumo de naranja. El ucraniano bebe el té El japonés furna los Parliaments. Los Kools son fumados en la casa al lado de la casa donde se guarda el caballo. El café es bebido en la casa verde. La casa verde esta inmediatamente a la derecha (su derecha) de la casa de color marfil La leche es bebida en la casa del medio. Discuta diferentes representaciones de este problema como un PSR. ;Por qué preferiria una representaci6n sobre otra? Busqueda entre adversarios Donde examinaremos los problemas que surgen cuando tratamos de planear en un mundo donde otros agentes planean contra nosotros. 6.1 Juegos esos. Juea0s oe sua eno weopacion enFECTA En el Capftulo 2 se introdujeron los entornos multiagente, en los cuales cualquier agente tendré que considerar las acciones de otros agentes y cémo afectan a su propio bienestar. La imprevisibilidad de estos otros agentes puede introducir muchas posibles contingencias en el proceso de resolucién de problemas del agente, como se discutis en el Capitulo 3, En el Capitulo 2 también se introdujo la diferencia entre entornos mul- tiagente cooperatives y competitivos. Los entornos competitivos, en los cuales los objetivos del agente estén en conflicto, dan ocasi6n a problemas de biisqueda entre adversarios, a menudo conocidos como juegos. La teorfa matematiea de juegos, una rama de la Economia, ve a cualquier entorno multiagente como un juego a condicién de que el impacto de cada agente sobre los de- mis sea «significativo», sin tener en cuenta si los agentes son cooperativos o competi- tivos'. En IA, «los juegos» son, por lo general, una clase mas especializada (que los te6ricos de juegos llaman juegos de suma cero, de dos jugadores, por turnos, determi- nista, de informacién perfecta). En nuestra terminologia, significan entomos determi- nistas, totalmente observables en los cuales hay dos agentes cuyas acciones deben alternar y en los que los valores utilidad, al final de juego, son siempre iguales y opues- tos. Por ejemplo, si un jugador gana un juego de ajedrez (+ 1), el otro jugador necesa- Los entomos con muchos agentes se ven mejor como entornos eeonémicos més que como juegos. 182 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO ‘woRaAcIN renee riamente pierde (~1). Esta oposicién entre las funciones de utilidad de los agentes hace Ja situacién entre adversarios, Consideraremos brevernente en este capftulo juegos mul- ti-jugador, juegos de suma no cero, y juegos estociisticos, pero aplazaremos hasta el Ca- pitulo 17 la discusién de la teoria de juegos apropiada. Los juegos han ocupado las facultades intelectuales de la gente (a veces a un grado alarmante) mientras ha existido la civilizacién, Para los investigadores de IA, la natura- Jeza abstracta de los juegos los hacen un tema atractivo a estudiar, Bl estado de un jue- .g0 €s ficil de representar, y los agentes estén restringidos, por lo general, a un pequefio imimero de acciones cuyos resultados estan definidos por reglas precisas. Los juegos fi- sicos, como croquet y hockey sobre hielo, tienen descripciones mucho mas complica- das, una variedad mucho mas grande de acciones posibles, y reglas bastante imprecisas que definen Ia legalidad de las acciones. A excepcién del fuitbol de robots, estos juegos fisicos no han tenido mucho interés en la comunidad de 1A. El jugar a juegos fue una de las primeras tareas emprendidas en IA. Hacia 1950, casi tan pronto como los computadores se hicieron programables, el ajedrez fue abordado por Konrad Zuse (el inventor del primer computador programable y del primer lenguaje de pro- ‘gramaci6n), por Claude Shannon (el inventor de la teorfa de informacién), por Norbert Wie- ner (el creador de la teorfa de control moderna), y por Alan Turing. Desde entonces, hubo tun progreso continuo en el nivel de juego, hasta tal punto que las maquinas han superado ala gente en las damas y en Otelo, han derrotado a campeones humanos (aunque no siem- pre) en ajedrez y backgammon, y son competitivos en muchos otros juegos. La excepeién principal es Go, en el que los computadores funcionan a nivel aficionado. Los juegos, a diferencia de la mayor parte de los problemas de juguete estudiados en el Capitulo 3, son interesantes porque son demasiado dificiles para resolverlos. Por ejemplo, el ajedrez tiene un factor de ramificacién promedio de aproximadamente 35, y los juegos a menudo van a 50 movimientos por cada jugador, entonces el érbol de bi queda tiene aproximadamente 35" 0 10" nodos (aunque el grafo de biisqueda tenga «s6lo» aproximadamente 10" nodos distintos). Por lo tanto, los juegos, como el mun- do real, requieren la capacidad de tomar alguna decisién cuando es infactible caleular la decisién dptima. Los juegos también castigan la ineficiencia con severidad, Mientras que una implementacién de la biisqueda A* que sea medio eficiente costar simplemente dos veces mas para ejecutarse por completo, un programa de ajedrez. que sea medio efi- ciente en la utilizaci6n de su tiempo disponible, probablemente tendré que descartarse sino intervienen otros factores. La investigacién en juegos ha generado, por lo tanto, va- rias ideas interesantes sobre c6mo hacer uso, lo mejor posible, del tiempo. Comenzamos con una definicién del movimiento éptimo y un algoritmo para en- contrarlo, Veremos técnicas para elegir un movimiento bueno cuando el tiempo es li- mitado. La poda nos permite ignorar partes del frbol de bdsqueda que no marcan ninguna diferencia para obtener la opcidn final, y las funciones de evaluacién heuris- ticas nos permiten aproximar la utilidad verdadera de un estado sin hacer una buisque- da completa. La Seccién 6.5 habla de juegos como el backgammon que incluyen un elemento de posibilidad; también hablamos del bridge, que incluye elementos de in- formacién imperfecta al no ser visibles todas las cartas a cada jugador. Finalmente, ve~ remos cémo se desenvuelven los programas de juegos contra la oposicién humana y las direcciones para el desarrollo futuro, BUSQUEDA ENTRE ADVERSARIOS 183 6.2 Decisiones dptimas en juegos TEST TERMINAL ‘neo ve sues0s ssraarecia Consideraremos juegos con dos jugadores, que llamaremos MAX y MIN por motivos que pronto se hardn evidentes. Max mueve primero, y luego mueven por turno hasta que el juego se termina, Al final de juego, se conceden puntos al jugador ganador y penaliza- ciones al perdedor. Un juego puede definirse formalmente como una clase de problemas de biisqueda con los componentes siguientes: * El estado inicial, que incluye la posicién del tablero ¢ identifica al jugador que mueve * Una funcién sucesor, que devuelve una lista de pares (movimiento, estado), in- dicando un movimiento legal y el estado que resulta, © Un test terminal, que determina cudndo se termina el juego. A los estados don- de el juego se ha terminado se les llaman estados terminales. * Una funcién utilidad (también llamada funcién objetivo o funcién de rentabili- dad), que da un valor numérico a los estados terminales. En el ajedrez, el resulta- do es.un triunfo, pérdida, o empate, con valores +1, ~1 0 0. Algunos juegos tienen una variedad més amplia de resultados posibles: las rentabilidades en el back- ‘gammon se extienden desde + 192 a ~192. Este capitulo trata principalmente jue- gos de suma cero, aunque mencionemos brevemente juegos con «suma no cero». El estado inicial y los movimientos legales para cada lado definen el érbol de juegos. La Figura 6.1 muestra la parte del drbol de juegos para el tic-tac-toe (tres en raya). Des- deel estado inicial, Max tiene nueve movimientos posibles. El juego alterna entre la co- locacién de una X para MAX y la colocacién de un O para MIN, hasta que alcancemos nodos hoja correspondientes a estados terminales, de modo que un jugador tenga tres enraya o todos los cuadrados estén Llenos. El ntimero sobre cada nodo hoja indica el va- lor de utilidad del estado terminal desde el punto de vista de MAX; se supone que los va- lores altos son buenos para MAX y malos para MIN (por eso los nombres de los jugadores). Este trabajo de Max al usar el drbol de busqueda (en particular la utilidad de estados ter- ‘minales) determina el mejor movimiento. Estrategias éptimas En un problema de biisqueda normal, la soluci6n 6ptima serfa una secuencia de movi- mientos que conducen a un estado objetivo (un estado terminal que es ganador). En un juego, por otra parte, MIN tiene algo que decir sobre ello. Max por lo tanto debe encon- trar una estrategia contingente, que especifica el movimiento de Max en el estado ini- cial, después los movimientos de MAX en Ios estados que resultan de cada respuesta posible de na, después los movimientos de max en los estados que resultan de cada res- puesta posible de in de los anteriores movimientos, eteétera. Hablando de forma apro- ximada, una estrategia éptima conduce a resultados al menos tan buenos como cualquier otra estrategia cuando uno juega con un oponente infalible. Comenzaremos mostrando c6mo encontrar esta estrategia 6ptima, aunque seré infactible, para MAX, al calcularla en juegos mas complejos que tic-tac-toe, 184. INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO ‘van ma MAX (x) cer} | | MIN (0) a qi MAX (x) TERMINAL, Figura 6.1 Un dtbo! (parcial) de biisqueda para el juego de tic-tac-toe. El nodo de arriba es el es- tado inicial, y MAX mueve primero, colocando un X én wn cuadrado vacfo. Mostramos la parte del 4rbol de bisqueda, con movimientos altemados por Man (O) y MAX, hasta que finalmente aleance- ‘mos estados ferminales, en los cuales podemos asignar utilidads segin las realas del juego. Incluso un juego simple como tic-tac-toe es demasiado complejo para dibujar el ar- ol de juegos entero, por tanto cambiemos al juego trivial de la Figura 6.2. Los movi- mientos posibles para Max, en el nodo rafz, se etiquetan por a,, @,, ¥ ds. Las respuestas posibles a aj, para MIN, son b,, b,, b,, etc. Este juego particular finaliza después de un movimiento para MAX y MIN. (En el lenguaje de juegos, decimos que este érbol es un mo- vimiento en profundidad, que consiste en dos medios movimientos, cada uno de los cua- les se lama capa.) Las utilidades de los estados terminales en este juego varfa desde dos al4 Considerando un érbol de juegos, la estrategia 6ptima puede determinarse exami- nando el valor minimax de cada nodo, que eseribimos como el VALOR-MINIMAX(n). EL valor minimax de un nodo es Ia utilidad (para MAX) de estar en el estado correspondiente, asumiendo que ambos jugadores juegan éptimamente desde allt al final del juego. Ob- viamente, el valor minimax de un estado terminal es solamente su utilidad. Ademas, con- siderando una opci6n, MAX preferira moverse a un estado de valor maximo, mientras que MIN prefiere un estado de valor mfnimo. Entonces tenemos lo siguiente: UmiuDan(n) si nes unestado terminal VALOR-MINIMAX(M) = 4 MAX, . Los nodos terminales muestran los valores de uti- lidad para MAX; los otros nodos Son etiquetados por sus valores minimax. El mejor movimiento de ‘Max en la rafz.e a, porque conduce al sucesor con el valor minimax mds alto, y la mejor respuesta de sa es b,, porque conduce al sucesor con el valor minimax mas bajo, Apliquemos estas definiciones al arbol de juegos de la Figura 6.2. Los nodos termi- nales se etiquetan por sus valores de utilidad. El primer nodo de mary, etiquetado B, tie- ne tres sucesores con valores 3, 12,y 8, entonces su valor minimax es 3. Del mismo modo, los otros dos nados de MN tienen un valor minimax de 2. El nodo raiz.es un nodo MAX; sus sucesores tienen valores minimax de 3, 2 y 2; entonces tiene un valor minimax de 3. Podemos identificar también la decisién minimax en la raiz: la accidn a, es la opcién 6ptima para MAX porque conduce al sucesor con el valor minimax més alto Esta definicién de juego dptimo para Max supone que MIN también juega 6ptimamente (maximiza los resultados del caso-peor para MAX). :Y si MIN no juega Sptimamente? En- tonces es facil demostrar (Ejercicio 6.2) que Max lo hard atin mejor. Puede haber otras estrategias contra oponentes subéptimos que lo hagan mejor que la estrategia minimax; pero estas estrategias necesariamente lo hacen peor contra oponentes éptimos. El algoritmo minimax El algoritmo minimax (Figura 6.3) calcula la decisién minimax del estado actual, Usa un célculo simple recurrente de los valores minimax de cada estado sucesor, directamente implementando las ecuaciones de la definici6n. La recursién avanza hacia las hojas del Arbol, y entonces los valores minimax retroceden por el drbol cuando la recursién se va deshaciendo. Por ejemplo, en la Figura 6.2, el algoritmo primero va hacia abajo a los, tres nodos izquierdos, y utiliza la funcién Uriipap para descubrir que sus valores son 3, 12 8 respectivamente. Entonces toma el minimo de estos valores, 3, y lo devuelve como el valor de! nodo B. Un proceso similar devuelve hacia arriba el valor de 2 para C y2 para D. Finalmente, tomamos el méximo de 3, 2 y 2 para conseguir el valor de 3 para, el nodo de raiz. El algoritmo minimax realiza una exploracién primero en profundidad completa del 4rbol de juegos. Si la profundidad maxima del arbol es m, y hay b movimientos legales 186 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO funcién Decision-MINIMAX(estado) devuelve una accién variables de entrada: estado, estado actual del juego functén Max-Vaton(estado) devuelve un valor utilidad si Test-TerMmnaL(estado) entonces devolver Umtipansestado) yen para un s en Sucesones(estado) hacer v—Max(v, MIN-VALOR(S)) desolver v funcién Max-VaLon(estado) devuelve un valor utilidad si ‘esT-TeRMINAI (estado) entonces devolver UriLinaD(estado) para un 5 en Sucesores(estado) hacer v= MIN, MAX-VALOR(s)) devolver v | ve Max-Vatontestado) devolver Ia accién de SUCESORES(estado) con valor v | | | Figura 6.3 Un algoritmo para el cdlculo de decisiones minimax. Devuelve Ia acci6n correspon diente al movirniento mejor posible, es decir, ef movimiento que conduce al resultado con la me- {jor utilidad, conforme al axioma que ef oponente juega para minimizar la utilidad. Las funciones \VALOR-MAx y el VALOR-MIN pasan por el érbol de juegos entero, por todos los caminos hacia las hhojes, para determinar el valor que le lega a un estado. en cada punto, entonces la complejidad en tiempo del algoritmo minimax es O("). La complejidad en espacio es O(bm) para un algoritmo que genere todos los sucesores a la vez, 0 O(m) para un algoritmo que genere los sucesores uno por uno (véase la pagina 86). Para juegos reales, desde luego, los costos de tiempo son totalmente poco pricticos, pero este algoritmo sirve como base para el andlisis matemético de juegos y para algoritmos més pricticos. Decisiones éptimas en juegos multi-jugador ‘Muchos juegos populares permiten més de dos jugadores. Examinemos c6mo obtener una extensin de la idea minimax a juegos multi-jugador, Esto es sencillo desde el punto de vista técnico, pero proporciona algunas nuevas cuestiones conceptuales interesantes. Primero, tenemos que sustituir el valor para cada nodo con un vector de valores. Por ejemplo, en un juego de tres jugadores con jugadores A, B y C, un vector (vy Vpy Ve) ASO- ciado con cada nodo. Para los estados terminales, este vector dard la utilidad del estado desde el punto de vista de cada jugador. (En dos jugadores, en juegos de suma cero, el vector de dos elementos puede reducirse a un valor porque los valores son siempre opues- tos.) El camino més simple de implementarlo es hacer que la funcién UTmuabao devuel- va.un vector de utilidades. macs BUSQUEDA ENTRE ADVERSARIOS 187 Ahora tenemos que considerar los estados no terminales. Consideremos el nodo mar- cado con Xen el drbol de juegos de la Figura 6.4. En ese estado, el jugador C elige qué hacer. Las dos opciones conducen a estados terminales con el vector de utilidad {v, = 1 , Vo= 6) ¥ (U4 =4, vp = 2, Vo= 3). Como 6 es mis grande que 3, C deberia elegir- 1o como primer movimiento. Esto significa que si se alcanza el estado X, el movimien- to siguiente conduciré a un estado terminal con utilidades (v, = 1, vp = 2, Ve= 6). De ahi, que el valor que le llega a X es este vector. En general, el valor hacia atrds de un nodo es el vector de utilidad de cualquier sucesor que tiene el valor mas alto para el jugador que elige enn. Alguien que juega juegos multi-jugador, como Diplomacy™, répidamente se da cuen- ta de que hay muchas mas posibilidades que en los juegos de dos jugadores. Los juegos ‘multi-jugador, por lo general, implican alianzas, formales o informales, entre los juga- dores. Se hacen y se rompen las alianzas conforme avanza el juego. ;Cémo debemos en- tender tal comportamiento? {Las alianzas son una consecuencia natural de estrategias y hace que esta posicién parezca un | triunfo para Negro, cuando realmente es un triunfo para Blanco. 196 —_INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO ‘POOK HAC DLA ramificaci6n es 1. (Se puede pensar que la biisqueda de estabilidad es una variante de extensiones excepcionales.) En la Figura 6.9, una busqueda de extensién excepcional en- contrard el movimiento de convertirse en reina, a condici6n de que ios movimientos de jaque de Negro y los movimientos del rey blanco puedan identificarse como «claramente mejores» que las alternativas. Hasta ahora hemos hablado del corte de la biisqueda a un cierto nivel y que la poda alfa-beta, probablemente, no tiene ningiin efecto sobre el resultado. Es también posible hacer la poda hacia delante, en la que podamos inmediatamente algunos movimientos de un nodo, Claramente, la mayoria de la gente que juega al ajedrez.s6lo considera unos pocos movimientos de cada posicién (al menos conscientemente). Lamentablemente, esta aproximacién es bastante peligrosa porque no hay ninguna garantfa de que el mejor mo- vimiento no sea podado. Esto puede ser desastroso aplicado cerca de la rafz, porque en- tonces a menudo el programa omitira algunos movimientos «evidentes». La poda hacia delante puede usarse en situaciones especiales (por ejemplo, cuando dos movimientos son simétricos 0 equivalentes, s6lo consideramos uno) o para nodos profundos en el &t- bol de biisqueda, La combinacién de todas las técnicas descritas proporciona un programa que puede jugar al ajedrez loablemente (0 a otros juegos). Asumamos que hemos implementado una funcién de evaluacién para el ajedrez, un test del Iimite razonable con una bisqueda de estabilidad, y una tabla de transposiciones grande. También asumamos que, después de ‘meses de intentos tediosos, podemos generar y evaluar alrededor de un millén de nodos por segundo sobre los iltimos PCs, permitiéndonos buscar aproximadamente 200 millo- nes de nodos por movimiento bajo un control estndar del tiempo (tres minutos por mo- vimiento). El factor de ramificaci6n para el ajedrez es aproximadamente 35, como media, y 35° son aproximadamente 50 millones, asi si usamos la bisqueda minimax podrfamos mirar s6lo cinco capas. Aunque no sea incompetente, tal programa puede ser engaftado fécilmente por un jugador medio de ajedrez, el cual puede planear, de vez en cuando, seis uw ocho capas. Con la biisqueda alfa-beta nos ponemos en aproximadamente 10 capas, resulta un nivel experto del juego. La Seccién 6.7 describe técnicas de poda adicionales «que pueden ampliar la profundidad eficaz de bisqueda a aproximadamente 14 capas. Para alcanzar el nivel de gran maestro necesitarfamos una funcién de evaluaci6n ajustada y una base de datos grande de movimientos de apertura y movimientos finales 6ptimos. No se- ria malo tener un supercomputador para controlar este programa. 6.5 Juegos que incluyen un elemento de posibilidad En la vida real, hay muchos acontecimientos imprevisibles externos que nos ponen en situaciones inesperadas. Muchos juegos reflejan esta imprevisibilidad con la inclusién de un elemento aleatorio, como el lanzamiento de dados. De esta manera, ellos nos dan un paso mds cercano a la realidad, y vale la pena ver cémo afecta al proceso de toma de decisiones. Backgammon es un juego tipico que combina la suerte y la habilidad, Se hacen ro- dar unos dados, al comienzo del turno de un jugador, para determinar los movimientos novos De FoSuoKo won omanxesPenana BUSQUEDA ENTRE ADVERSARIOS 197 legales. En la posicién backgammon de la Figura 6.10, por ejemplo, Blanco ha hecho rodat un 6-5, y tiene cuatro movimientos posibles. Aunque Blanco sabe cudles son sus propios movimientos legales, no sabe lo que le va a salir a Negro con los dados y por eso no sabe cuéles serén sus movimientos lega- les. Esto significa que Blanco no puede construir un érbol de juegos esténdar de la for- ma que vimos en el ajedrez y tic-tac-toe. Un arbol de juegos en el backgammon debe incluir nodos de posibilidad ademés de los nodos MAX y MIN. En la Figura 6.11 se ro- dean con cfrculos los nodos de posibilidad. Las ramas que salen desde cada nodo posi- bilidad denotan las posibles tiradas, y cada una se etiqueta con la tirada y la posibilidad de que ocurra. Hay 36 resultados al hacer rodar dos dados, cada uno igualmente proba- ble; pero como un 6-5 es lo mismo que un 5-6, hay s6lo 21 resultado distintos. Los seis dobles (1-1 a 6-6) tienen una posibilidad de 1/36, los otros 15 resultados distintos un 1/18 cada uno, El siguiente paso es entender cémo se toman las decisiones correctas. Obviamen- te, todavia queremos escoger el movimiento que conduzca a la mejor posicién. Sin em- bargo, las posiciones no tienen valores minimax definidos. En cambio, podemos calcular el valor esperado, donde la expectativa se toma sobre todos los posibles resultados que podrfan ocurrir. Este nos conduce a generalizar el valor minimax para juegos deter- ministas a un valor minimaxesperado para juegos con nodos de posibilidad. Los no- dos terminales y los MAX y MIN (para los que se conocen sus resultados) trabajan exactamente del mismo modo que antes; los nodos de posibilidad se evaltian tomando a uBRAw wD wT ew wD Figura 6.10 Una posicién tipica del backgammon. El objetivo del juego es mover todas las fichas det tablero, Blanco mueve a la derecha hacia 25, y 1os movimientos de Negro al contrario, hacia 0. Una ficha puede moverse a cualquier posicién a menos que haya varias piezas del oponente; si hay un oponene, es capturado y debe comenzat. En la posicién mostrada, Blanca ha sacado 6-5 y debe clegir entre cuatro movimientos legales: (5-10,5-11), (5-11,19-24), (5-10,10-16) y (511.1 1-16). 198 INTELIGENCIA ARTIFICIAL, UN ENFOQUE MODERNO POSIBILIDAD MAX ‘TERMINAL el promedio ponderado de los valores que se obtienen de todos los resultados posibles, es decir, MiNIMaXEsPERADO(n) = Umiuipap(n) si nes un nodo terminal MAK, ¢Sucomin) MINIMAXESPERADO(S) si 7: €S un nodo MAX MN, ¢ suciometa) MINIMAXESPERADO(S) si mes un nodo MIN Dove sucesrexm P(S)* MINIMAXESPERADO(S) si 7 es un nodo posibilidad donde la funcién sucesor para un nodo de posibilidad n simplemente aumenta el estado neon cada resultado posible para producir cada sucesor s, y P(s) es la probabilidad de que ocurra ese resultado. Estas ecuaciones pueden aplicarse recursivamente hasta la rafz del arbol, como en minimax. Dejamos los detalles del algoritmo como un ejercicio, Evaluacién de la posicién en juegos con nodos de posibilidad Como con minimax, la aproximacién obvia es cortar la bdsqueda en algtin punto y apli- car una funcién de evaluacién a cada hoja. Uno podrfa pensar que las funciones de eva- luacién para juegos como backgammon deberian ser como funciones de evaluacién para el ajedrez (solamente tienen que dar tanteos mas altos a mejores posiciones), Pero de hecho, la presencia de nodos de posibilidades significa que uno tiene que tener més cui- BUSQUEDA ENTRE ADVERSARIOS 199 dado sobre la evaluacién de valores medios. La Figura 6,12 muestra lo que sucede: con una funcién de evaluaci6n que asigne valores (1,2,3,4] a las hojas, el movimiento A, es el mejor; con valores [1,20,30,400], el movimiento A, es el mejor. ;De ahi, que los pro- gramas se comportan de forma totalmente diferente si hacemos un cambio de escala de algunos valores de la evaluacién! Resulta que, para evitar esta sensibilidad, la funcién de evaluacién debe ser una transformacién lineal positiva de la probabilidad de ganan- cia desde una posicién (o, més generalmente, de la utilidad esperada de la posicién). Esto es una propiedad importante y general de situaciones en las que est implicada la in- certidumbre, y hablaremos de ello en el Capitulo 16, Complejidad del minimaxesperado Siel programa supiera de antemano todos los resultados de las tiradas que ocurrirfan para el resto del juego, resolver un juego con dados seria como resolver un juego sin dados, en el que minimax lo hace en 0(b") veces. Como minimaxesperado considera también todas las secuencias de las tiradas posibles, tendra O(b"n"), donde nes el niimero de re- sultados distintos. Incluso sila profundidad de biisqueda se limita a una pequefta profundidad d, el cos- te adicional, comparado con el de minimax, lo hace poco realista para considerar anti- ciparse muy lejos en la mayorfa de los juegos de azar. En backgammon nes 21 y best por lo general alrededor de 20, pero en algunas situaciones podemos llegar a 4,000 para los resultados dobles. Tres capas serfan, probablemente, todo lo que podrfamos manejar. Otro modo de ver el problema es este: la ventaja de alfa-beta consiste en ignorar los progresos futuros que apenas van a suceder, dado el mejor juego. Asi, se concentra en acontecimientos probables. En juegos con dados, no hay secuencias probables de mo- vimientos, porque para que ocurran esos movimientos, los dados tendrfan que salir pri- ‘mero del modo correcto para hacerlos legales. Este es un problema general siempre que aparece la incertidumbre: las posibilidades se multiplican enormemente, y la formacién POSIBILIDAD 2,1 Figura 6.12 Una transformacién que conserva el orden sobre los valores de las hojas cambia el mejor movimiento, 200 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO de proyectos detallados de acciones se hacen intitiles, porque el mundo probablemente no jugaré asf. Sin duda esto le habr4 ocurrido al lector que haya aplicado algo como la poda alfa- beta a Arboles de juegos con nodos posibilidad. Resulta que esto podria ocurrir. El and- lisis para los nodos MIN y MAX no se altera, pero sf podemos podar también los nodos de posibilidades, usando un poco de ingenio, Consideremos el nodo de posibilidad C de Ja Figura 6.11 y lo que le pasa a su valor cuando examinamos y evaluamos a sus hijos. UEs posible encontrar un limite superior sobre el valor de C antes de que hayamos mi- rado a todos sus hijos? (Recuerde que esto es lo que alfa-beta necesita para podar un nodo y su subarbol.) A primera vista, podria parecer imposible, porque el valor de Ces el pro medio de los valores de sus hijos. Hasta que no hayamos visto todos los resultados de las tiradas, este promedio podria ser cualquier cosa, porque los hijos no examinados po- drian tener cualquier valor. Pero si ponemos limites sobre los valores posibles de la fun- cién de utilidad, entonces podemos llegar a poner limites para el promedio. Por ejemplo, si decimos que todos los valores de utilidad estan entre +3 y-3, entonces el valor de los nodos hoja esté acotado, y por su parte podemos colocar una cota superior sobre el va- lor de un nodo de posibilidad sin ver a todos sus hijos. Juegos de cartas Los juegos de cartas son interesantes por muchos motivos ademés de su conexién con los juegos de azar. Entre la enorme variedad de juegos, nos centraremos en aquellos en los cuales las cartas se reparten al azar al principio del juego, y cada jugador recibe un conjunto de cartas que no son visibles a los otros jugadores. Tales juegos incluyen brid- ge, whist, corazones y algunas formas del poker. A primera vista, podrfa parecer que los juegos de cartas son como juegos de dados: ilas cartas se reparten al azar y determinan los movimientos disponibles para cada ju- gador, como si todos los dados fueran lanzados al principio! Perseguiremos esta obser- vacién mis tarde. Resultard ser bastante titil en la practica. También se equivoca bastante, por motivos interesantes. Imaginemos dos jugadores, Max y Mav, jugando algunas manos de bridge con cua- tro cartas visibles. Las manos son, donde Max juega primero: MAX: 960698 MIN: 04 &2 #105 ‘Suponga que MAX sale con 49, Min debe seguir ahora el palo, jugando el 410 0 el #5. MIN juega el 4610 y gana la mano. aN va después y sale con 2. MAX no tiene picas (y asi no puede ganar la mano) y por lo tanto debe tirar alguna carta, La opcién obvia es ©6 porque las otras dos cartas restantes son ganadoras. Ahora, cualquier carta que MIN saque para la siguiente mano, MAX ganard (ganaré ambas manos) y el juego sera de em- pate con dos manos cada uno. Es facil mostrar, usando una variante conveniente de mi- imax (Ejercicio 6.12), que la salida de Max con el +9 es de hecho una opci6n éptima. Ahora vamos modificar la mano de MaN, sustituyendo los 94 con los © 4: MAX: 96 06698 = MIN: 94 &2 #105 BUSQUEDA ENTRE ADVERSARIOS 201 Los dos casos son completamente simétricos: el juego sera idéntico, salvo que en la se- gunda mano Max tirard el 6. Otra vez, el juego seré de empate a dos manos cada uno y la salida con #9 es una opci6n éptima. Hasta ahora, bien, Ahora vamos a esconder una de las cartas de MIN: MAX sabe que iv tiene lo de la primera mano (con el 4) 0 lo de la segunda (con el ©4), pero no sabe cual tiene realmente. MAX razona como sigue: El 9 es una opcidn éptima contra la primera mano de Min y contra la segunda mano de MIN, entonces debe ser dptima ahora porque sé que MIN tiene una de las dos manos. Mis generalmente, MAX usa lo que podrfamos lamar «hacer un promedio sobre la cla rividencia>. La idea es evaluar una Ifnea de accién, cuando hay cartas no visibles, cal- culando primero el valor de minimax de esa accién para cada reparto posible de cartas, y luego calcular el valor esperado usando la probabilidad de cada reparto. Si piensa que esto es razonable (0 si no tiene ni idea porque no entiende el bridge), considere la siguiente historia: Dfa 1: el Camino A conduce a un montén de piezas de oro; el camino B conduce a una bifurcacién. Tome hacia la izquierda y encontraré un mont6n de joyas, pero tome hacia Ia derecha y serd atropellado por un autobiis. Dia 2: el Camino A conduce a un montén de piezas de oro; el camino B conduce a una bifurcacién. Tome hacia la derecha y encontraré un montén de joyas, pero tome hacia la izquierda y ser atropellado por un autobis Dia 3: el camino A conduce a un mont6n de piezas de oro; el camino B conduce a una bifurcacién, Adivine correctamente y encontraré un montén de joyas, pero adivine in- cotrectamente y seré atropellado por un autobis Obviamente, no es irrazonable tomar el camino B durante los dos primeros dfas. Nin- guna persona en su sano juicio, sin embargo, tomaria el camino B durante el Dia 3. Esto es exactamente lo que sugiere un promedio sobre la clarividencia: el camino B es 6pti- mo en las situaciones de Dfa I y Dfa 2; por lo tanto es 6ptimo durante el Dia 3, porque una de las dos situaciones anteriores debe conseguirse. Volvamos al juego de cartas: des- pués de que Max salga con el #9, MIN gana con el #10. Como antes, man sale con el ‘42, y ahora Max esté como en la bifurcacién del camino sin ninguna instruceién, Si Max tira el 96 y MIN todavia tiene 04, el (4 se hace ganador y Max pierde el juego. Del mismo modo, si Max tira 6 y MIN todavia tiene el ©-4, Max también pierde, Por lo tan- to, jugar primero el #9 conduce a una situacién donde Max tiene una posibilidad del 50 por ciento de perder. (Sera mucho mejor jugar primero el 6 y el ©6, garantizan- do un empate.) La leccién que podemos sacar de todo esto es que cuando falla la informacién, hay que considerar la informacién que se tendrd en cada punto del juego. El problema con el algoritmo de MAX es que asume que en cada posible reparto, el juego procederd como si todas las cartas fueran visibles. Como muestra nuestro ejemplo, esto conduce a MAX ‘actuar como si toda la incertidumbre futura vaya a ser resuelta cuando aparezca. El al- goritmo de MAx decidird también no reunir la informacién (ni proporcionar informacion ‘aun compajiero), porque en cada reparto no hay ninguna necesidad de hacerlo; sin em- bargo en juegos como el bridge, es a menudo una buena idea jugar una carta que ayu- dard a descubrir cosas sobre las cartas del adversario o informar a su compafiero sobre 202 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO sus propias cartas, Bstas clases de comportamientos se generan automaticamente por un algoritmo 6ptimo para juegos de Ia informacién imperfecta, Tal algoritmo no busca en el espacio de estados del mundo (las manos de las cartas), sino en el espacio de estados de creencia (creencia de quién tiene qué cartas, con qué probabilidades). Seremos ca- paces de explicar el algoritmo correctamente en el Capftulo 17, una vez que hayamos desarrollado la maquinaria probabilistica necesaria, En ese capitulo, ampliaremos tam- bién un punto final y muy importante: en juegos de informacién imperfecta, lo mejor es dar tan poca informacién al oponente como sea posible, y a menudo el mejor modo de hacerlo es actuar de manera impredecible. Por eso, los inspectores de sanidad hacen vi- sitas de inspecciGn aleatorias a Jos restaurantes. 6.6 Programas de juegos Podriamos decir que jugar a juegos es a IA como el Gran Premio de carreras de auto- méviles es a la industria de coches: los programas de juegos son deslumbrantemente ré- pidos, méquinas increfblemente bien ajustadas que incorporan técnicas muy avanzadas de la ingenierfa, pero no son de mucho uso para hacer Ja compra. Aunque algunos in- vestigadores crean que jugar a juegos es algo irrelevante en la corriente principal de TA, se sigue generando entusiasmo y una corriente estable de innovaciones que se han adop- tado por la comunidad, Ajedrez: en 1957, Herbert Simon predijo que dentro de 10 afios los computadores ganarjan al campe6n mundial humano. Cuarenta afios més tarde, el programa Deep Blue derrot6 a Gary Kasparov en un partido de exhibicién a seis juegos. Simon se equivo- 6, pero s6lo por un factor de 4. Kasparov escribié: El juego decisivo del partido fue el juego 2, que dej6 una huella en mi memoria... Vimos algo que fue més alld de nuestras expectativas mas salvajes de cémo un computador se- rfa capaz de prever las consecuencias posicionales a largo plazo de sus decisiones. La m4- quina rechaz6 moverse a una posicién que tenfa una ventaja decisiva a corto plazo, ‘mostrando un sentido muy humano del peligro. (Kasparov, 1997) Deep Blue fue desarrollado por Murray Campbell, Feng-Hsiung Hsu, y Joseph Hoane en IBM (véase Campbell et al., 2002), construido sobre el disefio de Deep Thought desa- rrollado anteriomente por Campbell y Hsu en Carnegie Mellon. La miquina ganadora era un computador paralelo con 30 procesadores IBM RS/6000 que controlaba la «biis- queda software» y 480 procesadores VLSI, encargados para el ajedrez, que realizaron Ja generaci6n de movimientos (incluso el movimiento de ordenaci6n), la «bisqueda hard- ware» para los dltimos niveles del 4rbol, y la evaluacién de los nodos hoja. Deep Blue ‘busc6 126 millones de nodos por segundo, como regla general, con una velocidad ‘méxima de 330 millones de nodos por segundo. Gener6 hasta 30 billones de posiciones por movimiento, y alcanzé la profundidad 14 rutinariamente. El coraz6n de la méquina es una busqueda alfa-beta esténdar de profundidad iterativa con una tabla de transposi- ciones, pero la Have de su éxito parece haber estado en su capacidad de generar exten- siones més alla del limite de profundidad para lineas suficientemente interesantes, En oven WL opnoe muTLDAD BUSQUEDA ENTRE ADVERSARIOS 203 algunos casos la biisqueda alcanzé una profundidad de 40 capas. La funcién de evalua- cién tenfa més de 8.000 caracteristicas, muchas de ellas describiendo modelos muy es- pecificos de las piezas. Se us6 una «salida de libro» de aproximadamente 4,000 posiciones, asf como una base de datos de 700,000 jugadas de gran maestro de las cua- les se podrian extraer algunas recomendaciones de consenso. El sistema también utili- z6 una gran base de datos de finales del juego de posiciones resueltas, conteniendo todas Jas posiciones con cinco piezas y muchas con seis piezas. Esta base de datos tiene el con- siderable efecto de ampliar la profundidad efectiva de brisqueda, permitiendo a Deep Blue jugar perfectamente en algunos casos aun cuando se aleja del jaque mate. El éxito de Deep Blue reforz6 la creencia de que el progreso en los juegos de com- putador ha venido principalmente del hardware cada vez més poderoso (animado por IBM). Los creadores de Deep Blue, por otra parte, declaran que las extensiones de btis- queda y la funcién de evaluacién eran también criticas (Campbell et al., 2002). Ademds, sabemos que mejoras algoritmicas recientes han permitido a programas, que se ejecu- tan sobre computadores personales, ganar cada Campeonato Mundial de Ajedrez de com- putadores desde 1992, a menudo derrotando a adversarios masivamente paralelos que podrfan buscar 1,000 veces més nodos. Una variedad de poda heuristica se utiliza para reducir el factor de ramificaci6n efectivo a menos de 3 (comparado con el factor de ra- mificacién actual de aproximadamente 35). Lo mas importante de ésta es la heurfstica de movimiento nulo, que genera una cota inferior buena sobre el vallor de una posicién, usando una biisqueda superficial en Ia cual el adversario consigue moverse dos veces. Esta cota inferior a menudo permite la poda alfa-beta sin el costo de una biisqueda de profundidad completa. También es importante la poda de inutilidad, la cual ayuda ha decidir de antemano qué movimientos causarén un corte beta en los nodos sucesores. El equipo de Deep Blue rehus6 la posibilidad de un nuevo partido con Kasparov. En cambio, la competicién principal més reciente de 2002 destacé el programa FRITZ con- tra el campeén mundial Vladimir Kramnik. Bl partido a ocho juegos terminé en un em- pate, Las condiciones del partido eran mucho més favorables al humano, y el hardware era un computador personal ordinario, no un supercomputador. De todos modos, Kram- nik coment6 que (rey y torre contra el rey), la fase final de ajedrez, garantizando un triunfo con el rey y torre desde cualquier posici6n. El algoritmo minimax se remonta a un trabajo publicado en 1912 de Ernst Zerme- Jo, el que desarrollé la teorfa moderna de conjuntos. El trabajo, lamentablemente, tenfa varios errores y no describié minimax correctamente. Un fundamento s6lido, para la te- orfa de juegos, fue desarrollado en el trabajo seminal de Theory of Games and Econo- mic Behaviour (von Neumann y Morgenstern, 1944), que incluy6 un andlisis en el que ‘mostraba que algunos juegos requieren estrategias aleatorizadas (0 imprevisibles). Véase el Capitulo 17 para més informacién. Muchas figuras influyentes de los comienzos de los computadores, quedaron intri- gadas por Ja posibilidad de jugar al ajedrez.con un computador. Konrad Zuse (1945), la primera persona que disefid un computador programable, desarrollé ideas bastante de- talladas sobre cémo se podrfa hacer esto. El libro influyente de Norbert Wiener (1948), Cybernetics, hablé de un diseiio posible para un programa de ajedrez, incluso las ideas de biisqueda minimax, limites de profundidad, y funciones de evaluaci6n. Claude Shan- non (1950) presenté los principios basicos de programas modernos de juegos con mu- cho mas detalle que Wiener. El introdujo la idea de la biisqueda de estabilidad y describi6 algunas ideas para la bisqueda del drbol de juegos selectiva (no exhaustiva). Slater BUSQUEDA ENTRE ADVERSARIOS 209 (1950) y los que comentaron su articulo también exploraron las posibilidades para el jue- 20 de ajedrez por computador. En particular, I. J. Good (1950) desarrollé la nocién de estabilidad independientemente de Shannon. En 1951, Alan Turing escribié el primer programa de computador capaz de jugar un juego completo de ajedrez (véase Turing et al., 1953). Pero el programa de Turing nun- ‘ca se ejecut6 sobre un computador; fue probado por simulacién a mano contra un juga- dor muy débil humano, que lo derrot6. Mientras tanto D. G. Prinz (1952) eseribié , y realmente ejecuté, un programa que resolvié problemas de ajedrez, aunque no jugara un {juego completo. Alex Bernstein escribié el primer programa para jugar un juego com- pleto de ajedrez estandar (Bernstein y Roberts, 1958; Bernstein et al., 1958). John McCarthy concibié la idea de la biisqueda alfa-beta en 1956, aunque é1 no lo publicara, El programa NSS de ajedrez. (Newell ef al., 1958) us6 una versidn simplifi- cada de alfa-beta; y fue el primer programa de ajedrez en hacerlo asf. Segtin Nilsson (1971), el programa de damas de Arthur Samuel (Samuel, 1959, 1967) también us6 alfa- beta, aunque Samuel no lo mencionara en los informes publicados sobre el sistema, Los trabajos que describen alfa-beta fueron publicados a principios de 1960 (Hart y Edwards, 1961; Brudno, 1963; Slagle, 1963b). Una implementacién completa de alfa-beta est des- crita por Slagle y Dixon (1969) en un programa para juegos de Kalah. Alfa-beta fue tam- bién utilizada por el programa «Kotok-McCarthy> de ajedrez escrito por un estudiante de John McCarthy (Kotok, 1962). Knuth y Moore (1975) proporcionan una historia de alfa-beta, junto con una demostracién de su exactitud y un anélisis de complejidad en tiempo. Su andlisis de alfa-beta con un orden de sucesores aleatorio mostré una com- plejidad asintstica de O((b/log b)*), que pareci6 bastante triste porque el factor de ra- mificacién efectivo b/log b no es mucho menor que b. Ellos, entonces, se dieron cuenta 4que la formula asint6tica es exacta s6lo para b > 1000 mas o menos, mientras que a me- nudo se aplica un O(b*) a la variedad de factores de ramificacién encontrados en los juegos actuales. Pearl (1982b) muestra que alfa-beta es asint6ticamente ptima entre to- dos los algoritmos de busqueda de érbol de juegos de profundidad fija. El primer partido de ajedrez de computador presents al programa Kotok-MeCarthy yal programa «ITEP» escrito a mediados de 1960 en el Instituto de Mose de Fisica Te- rica y Experimental (Adelson-Velsky et al., 1970). Este partido intercontinental fue ju- gado por telégrafo. Se terminé con una victoria 3-1 para el programa ITEP en 1967. El primer programa de ajedrez que compitié con éxito con la gente fue MacHack 6 (Gre- enblatt ef al., 1967). Su grado de aproximadamente 1.400 estaba bien sobre el nivel de principiante de 1.000, pero era bajo comparado con el grado 2.800 0 més que habria sido necesario para satisfacer la prediccién de 1957 de Herb Simon de que un programa de computador seria el campedn mundial de ajedrez en el plazo de 10 afios (Simon y Ne- well, 1958). ‘Comenzando con el primer Campeonato Norteamericano ACM de Ajedrez de com- putador en 1970, el concurso entre programas de ajedrez se hizo serio, Los programa aprincipios de 1970 se hicieron sumamente complicados, con varias clases de trucos para eliminar algunas ramas de bisqueda, para generar movimientos plausibles, eteétera. * Newell era. (1958) mencionan un programa uso, BESM, que puede haber precedido al programa de Bers ‘ein 210 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO| En 1974, el primer Campeonato Mundial de Ajedrez de computador fue celebrado en Estocolmo y ganado por Kaissa (Adelson-Velsky ef al, 1975), otro programa de ITEP. Kaissa utiliz6 la aproximacién mucho més directa de la busqueda alfa-beta exhaustiva combinada con la bisqueda de estabilidad, Bi dominio de esta aproximacién fue con- firmado por la victoria convincemte de CHESS 4.6 en el Campeonato Mundial de 1977 de Ajediez de computador. CHESS 4.6 examiné hasta 400.000 posiciones por movi- miento y tenfa un grado de 1.900. Una versién posterior de MacHack, de Greenblatt 6, fue el primer programa de aje~ drez ejecutado sobre un hardware de encargo diseflado expresamente para el ajedrez (Moussouris et al., 1979), pero el primer programa en conseguir éxito notable por el uso del hardware de encargo fue Belle (Condon y Thompson, 1982). El hardware de gene- raci6n de movimientos y de la evaluaci6n de la posicién de Belle, le permities explo- rar varios millones de posiciones por movimiento, Belle consiguié un grado de 2.250, y se hizo el primer programa de nivel maestro. El sistema Hirecti, también un compu- tador con propésito especial, fue diseitado por el antiguo Campeén de Ajedrez de Co- rrespondencia Mundial Hans Berliner y su estudiante Car] Ebeling en CMU para permitir el célculo rapido de la funcin de evaluacién (Ebeling, 1987: Berliner y Ebeling, 1989). Generando aproximadamente 10 millones de posiciones por movimiento, HiTECH se hizo el campedn norteamericano de computador en 1985 y fue el primer programa en derro- tar a.un gran maestro humano en 1987. Deep Thought, que fue también desarrollado en CMU, fue més lejos en la direccién de la velocidad pura de btisqueda (Hsu er al., 1990), Consiguié un grado de 2.551 y fue el precursor de Deep Blue. El Premio de Fredkin, es- tablecido en 1980, ofrecié 5.000 délares al primer programa en conseguir un grado de maestro, 10.000 délares al primer programa en conseguir un grado FEUA (Federacion de los Estados Unidos de Ajedrez) de 2.500 (cerca del nivel de gran maestro), y 100.000 délares para el primer programa en derrotar al campedn humano mundial. El premio de 5,000 délares fue reclamado por Belle en 1983, el premio de 10.000 délares por Deep ‘Thought en 1989, y el premio de 100.000 délares por Deep Blue por su victoria sobre Garry Kasparov en 1997. Es importante recordar que el éxito de Deep Blue fue debido a mejoras algoritmicas y de hardware (Hsu, 1999; Campbell et al., 2002). Las téenicas como la heuristica de movimiento nulo (Beal, 1990) han conducido a programas que son completamente selectivos en sus bisquedas. Los tres iltimos Campeonatos Mundiales de Ajedrez. de computador en 1992, 1995 y 1999 fueron ganados por programas que se ejecutan sobre computadores personales. Probablemente la mayor parte de la descrip- cién completa de un programa moderno de ajedrez la proporciona Ernst Heinz (2000), cuyo programa DarKTHOUGHT fue el programa de computador no comercial de rango mis alto de los campeonatos mundiales de 1999, Varias tentativas se han hecho para vencer los problemas «de la aproximacién es- ‘andar> perfilados en la Seccién 6.7. El primer algoritmo selectivo de biisqueda con un poco de hase te6rica fue probablemente B* (Berlings, 1979), que intenta mantener If- mites de intervalos sobre el valor posible de un nodo en el érbol de juegos, mas que dar- Je una estimaci6n valorada por un punto, Los nodos hoja son seleccionados para expansién en una tentativa de refinar los limites del nivel superior hasta que un movi- miento sea «claramente mejor». Palay (1985) amplia la idea de B* para usar distribu- ciones de probabilidad en lugar de intervalos. La busqueda del niimero de conspiracién BUSQUEDA ENTREADVERSARIOS 2111 de David McAlester (1988) expande los nodos hoja que, cambiando sus valores, podrian hacer que el programa prefiriera un nuevo movimiento en la rafz. MGSS* (Russell y We- fald, 1989) usa las técnicas te6ricas de decisi6n del Capftulo 16 para estimar el valor de expansion de cada hoja en términos de mejora esperada de la calidad de decisién en la raiz. Jug6 mejor que un algoritmo alfa-beta, en Otelo, a pesar de la biisqueda de un or- den de magnitud de menos nodos. La aproximacién MGSS* es, en principio, aplicable al control de cualquier forma de deliberacién. La buisqueda alfa-beta es, desde muchos puntos de vista, el andlogo de dos jugado- res al ramificar y acotar primero en profundidad, dominada por A* en el caso de agente simple. El algoritmo $SS* (Stockman, 1979) puede verse como A* de dos jugadores y nunca expande més nodos que alfa-beta para alcanzar la misma decisi6n. Las exigencias de memoria y los costos indirectos computacionales de la cola hacen que SSS* sea poco prdctico en su forma original, pero se ha desarrollado una versién de espacio-lineal a par- tir del algoritmo RBFS (Korf y Chickering, 1996). Plaat e¢ al. (1996) desarrollaron una nueva visién de SSS* como una combinacién de alfa-beta y tablas de transposiciones, mos- trando cémo vencer los inconvenientes del algoritmo original y desarrollando una nueva variante llamada MTD()) que ha sido adoptada por varios programas superiores. D. F. Beal (1980) y Dana Nau (1980,1983) estudiaron las debilidades de minimax aplicado a la aproximacién de las evaluaciones, Ellos mostraron que bajo ciertos axio- mas de independencia sobre las distribuciones de los valores de las hojas, minimaximi- zat puede producir valores en la rafz que son realmente menos fiables que el uso directo de la funcién de evaluaci6n. El libro de Pearl, Heuristics (1984), explica parcialmente esta paradoja aparente y analiza muchos algoritmos de juegos. Baum y Smith (1997) pro- ponen una sustitucién a base de probabilidad para minimax, y muestra que ésto causa mejores opciones en ciertos juegos. Hay todavia poca teorfa sobre los efectos de cortar la biisqueda en niveles diferentes y aplicar funciones de evaluacién. El algoritmo minimax esperado fue propuesto por Donald Michie (1966), aunque por supuesto sigue directamente los principios de evaluacién de los Arboles de juegos debi- doa von Neumann y Morgenstern. Bruce Ballard (1983) amplié la poda aifa-beta para cubrir Arboles de nodos de posibilidad. El primer programa de backgammon fue BKG (Berliner, 1977,1980b); utiliz6 una funcién de evaluaci6n compleja construida a mano y busc6 sélo a profundidad 1. Fue el primer programa que derrots a un campeén mun- dial humano en un juego clisico importante (Berliner, 1980a). Berliner reconocié que ste fue un partido de exhibicién muy corto (no fue un partido del campeonato mundial) y que BKG tuvo mucha suerte con los dados. El trabajo de Gerry Tesauro, primero so- bre NEUROGAMMON (Tesauro, 1989) y més tarde sobre TD-GaMMon (Tesauro, 1995), mostré que se pueden obtener muchos mejores resultados mediante el aprendizaje por refuerzo, que trataremos en el Capitulo 21. Las damas, més que el ajedrez, fue el primer juego clésico jugado completamente por un computador. Christopher Strachey (1952) escribié el primer programa de funciona- miento para las damas. Schaeffer (1997) dio una muy legible, «con todas sus imperfec- ciones», cuenta del desarrollo de su programa de damas campe6n del mundo Chinook. Los primeros programas de Go fueron desarrollados algo més tarde que los de las damas y el ajedrez (Lefkovitz, 1960; Remus, 1962) y han progresado mis despacio, Ryder (1971) us6 una aproximacién basada en la biisqueda pura con una variedad de métodos 212 INTELIGENCIA ARTIFICIAL. UN ENFOQUE MODERNO de poda selectivos para vencer el enorme factor de ramificacién. Zobrist (1970) us6 las reglas condicién-acci6n para sugerit movimientos plausibles cuando aparecieran los mo- delos conocidos. Reitman y Wilcox (1979) combinan reglas y biisqueda con efectos bue- nos, y los programas més modemos han seguido esta aproximaciGn hibrida. Miiiler (2002) resume el estado del arte de la informatizacién de Go y proporciona una riqueza de re~ ferencias. Anshelevich (2000) utiliz6 las técnicas relacionadas para el juego Hex. Com- puter Go Newsletter, publicada por la Asociacién de Go por computador, describe el desarrollo actual del juego. Los trabajos sobre juegos de computador aparecen en multitud de sitios. La mal Ila- mada conferencia Heuristic Programming in Artificial Intelligence hizo un informe so- bre las Olimpiadas de Computador, que incluyen una amplia variedad de juegos. Hay también varias colecciones de trabajos importantes sobre la investigacién en juegos (Levy, 1988a, 1988b; Marsland y Schaeffer, 1990). La Asociacién Internacional de Aje- drez por Computador (ICCA), fundada en 1977, publica la revista trimestral CGA (an- teriormente Ia revista ICCA). Los trabajos importantes han sido publicados en la serie antolégica Advances in Computer Chess, que comienza con Clarke (1977). E] volumen 134 de la revista Artificial Intelligence (2002) contiene descripciones de programas ara el ajedrez, Otelo, Hex, shogi, Go, backgammon, poker, Scrabble™ y otros juegos. P ei Pe EJERCICIOS 6.1 En este problema se ejercitan los conceptos bésicos de juegos, utilizando tic-tac~ toe (ires en raya) como un ejemplo. Definimos X, como el niimero de filas, columnas, 0 diagonales con exactamente n Xs y ningtin O. Del mismo modo, O, es el niimero de filas, columnas, o diagonales con solamente n Os. La funcién de utilidad asigna +1 a cualquier posicién con X,=1 y 1 a cualquier posicién con Q, =1. Todas las otras po- siciones terminales tienen utilidad 0. Para posiciones no terminales, usamos una funcién de evaluaci6n lineal definida como Eval(s) = 3 X,(s) + Xs) ~ GO,(s) + 0, (9) 4) jAproximadamente cudntos juegos posibles de tic-tac-toe hay? b) Muestre el drbol de juegos entero hasta profundidad 2 (es decir, un X y un O so- bre el tablero) comenzando con un tablero vacfo, teniendo en cuenta las sime~ trias. ¢) Sefiale sobre el Arbol las evaluaciones de todas las posiciones a profundidad 2. 4) Usando el algoritmo minimax, marque sobre su érbol los valores hacia atrés para las posiciones de profundidades 1 y 0, y use esos valores para clegir el mejor movimiento de salida €) Marque los nodos a profundidad 2 que no serian evaluados si se aplicara la poda alfa-beta, asumiendo que los nodos estan generados en orden dptimo por la poda alfa-beta. 6.2 Demuestre la afirmacién siguiente: para cada drbol de juegos, la utilidad obtenida por MAX usando las decisiones minimax contra MIN subéptimo nunca sera inferior que Ja utilidad obtenida jugando contra Min Gptimo. {Puede proponer un arbol de juegos en el cual MAX puede mejorar utilizando una estrategia subdptima contra MIN subéptimo?

También podría gustarte