inteligencia artificial una nueva sintesis nils j. nilsson

239

Click here to load reader

Upload: xtian613

Post on 20-Jan-2016

3.683 views

Category:

Documents


153 download

TRANSCRIPT

  • --

    CONSULTORES EDITORIALES REA DE INFORMTICA y COMPUTACIN

    Antonio Vaquero Snchez Catedrtico de Lenguaje y Sistemas Infonnticos Escuela Superior de Informtica Universidad Complutense de Madrid ESPAA

    Gerardo Quiroz Vieyra Ingeniero de Comunicaciones y Electrnica por la ESIME del Instituto Politcnico Nacional Profesor de la Universidad Autnoma Metropolitana Unidad Xochimilco MXICO

    OOf NIL r-l n L..

    INTELIGENCIA

    ARTIFICIAL

    Una nueva sntesis

    -\ NILS J. NILSSON - Stanford University B'BL'Ol-~CA UW'~~R3rr~~R~A\1

    1 i GHANA[)k \I "/2 ;,,~(';.,

    ':>:> .::::. :iii.;~;;\ ._,---,- 1 N,Q Documento 8( 3- S 13 ,.(, N,Q Copia- i?5~ t..~~

    Traduccin

    ROQUE MARN MORALES

    JOS TOMS PALMA MNDEZ

    ENRIQUE PANIAGUAARIS

    Departamento de Informtica, Inteligencia Artificial y Electrnica

    Universidad de Murcia

    Revisin tcnica

    SEBASTIN DORMIDO BENCOMO

    Departamento de Infonntica y Automtica

    Universidad Nacional de Educacin a Distancia

    MADRID BUENOS AIRES CARACAS GUATEMALA USBOA MXICO

    NUEVA YORK PANAM. SAN JUAN SANTAF DE BOGOT. SANTIAGO SAO PAULO

    AUCKLAND HAMBURGO LONDRES MILN MONTREAL NUEVA DELHI PARs

    SAN FRANCISCO SIDNEY SINGAPUR STo LOUIS TOKIO TORONTO

  • Contenido

    Prefacio xvii

    1. Introduccin 1

    1.1. Qu es la lA? .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2. Aproximaciones a la Inteligencia Artificial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.3. Breve historia de la lA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.4. Plan del libro ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    1.5. Lecturas y consideraciones adicionales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    l. SISTEMAS REACTIVOS............................................. 17

    2. Agentes de estmulo-respuesta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.1. Percepcin y accin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.1.1. Percepcin ........................................... ..... 22

    2.1.2. Accin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.1.3. lgebra booleana ............................................ 23

    2.1.4. Clases y formas de las funciones booleanas. . . . . . . . . . . . . . . . . . . . . . . . 24

    2.2. Representacin e implementacin de las funciones para la seleccin de acciones 24

    2.2.1. Sistemas de produccin ....................................... 25

    2.2.2. Redes ..................................................... 26

    2.2.3. La arquitectura de subsuncin .................................. 29

    2.3. Lecturas y consideraciones adicionales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    vii

  • ix vi Contenido

    3. Redes neuronales .................................................... . 33

    3.1. Introduccin ..................................................... . 33

    3.2. Entrenamiento de una ULU ......................................... . 34

    3.2.1. Interpretacin geomtrica del funcionamiento de una ULU .......... . 34

    3.2.2. La dimensin n + 1 '" ....................................... . 35

    3.2.3. Mtodos del gradiente descendente ............................. . 35

    3.2.4. El procedimiento de Widrow-Hoff .............................. . 37

    3.2.5. El procedimiento delta generalizado ............................ . 37

    3.2.6. El procedimiento de correccin del error ......................... . 39

    3.3. Redes neuronales ................................................. . 40

    3.3.1. Motivacin ................................................ . 40

    3.3.2. Notacin .................................................. . 41

    3.3.3. El mtodo de la retropropagacin ............................... . 42

    3.3.4. Clculo de] cambio de los pesos en la ltima capa .................. . 43

    3.3.5. Clculo del cambio de los pesos en las capas intermedias ............ . 44

    3.4. Generalizacin, precisin y sobreajuste ............................... . 46

    3.5. Lecturas y consideraciones adicionales ................................ . 50

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .... ..... . 51

    4. Sistemas evolutivos .................................................. . 53

    4.1. Computacin evolutiva ............................................ . 53

    4.2. Programacin gentica ............................................ . 54

    4.2.1. Representacin de los programas en PG ......................... . 54

    4.2.2. E] proceso PG .............................................. . 57

    4.2.3. Desarrollo de un robot seguidor de paredes ....................... . 58

    4.3. Lecturas y consideraciones adicionales ................................ . 62

    Ejercicios ........................................................... . 62

    5. Sistemas con estados ................................................. . 63

    5.1. Representacin del entorno mediante vectores de caractersticas ............ . 63

    5.2. Redes de Elman .................................................. . 65

    5.3. Representaciones icnicas .......................................... . 66

    5.4. Sistemas basados en pizarras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. 69

    5.5. Lecturas y consideraciones adicionales ................................ . 71

    Ejercicios ........................................................... . 71

    6. Visin artificial ................................................... .. . 75

    6.1. Introduccin ..................................................... . 75

    6.2. Conduciendo un automvil ......................................... . 76

    6.3. Las dos etapas de la visin por computador ............................ . 78

    6.4. Procesamiento de imgenes ......................................... . 80

    6.4.1. Promediado ................................................ . 80

    6.4.2. Deteccin de bordes ......................................... . 83

    Contenido

    6.4.3. Un operador para el promediado y la deteccin de bordes ............ . 85 6.4.4. Bsqueda de regiones ........................................ . 86 6.4.5. Otros atributos de imagen distintos a la intensidad ................. . 89

    6.5. Anlisis de escenas ............................................... . 91 6.5.1. Interpretacin de lneas y curvas en una imagen ................... . 92 6.5.2. Visin basada en modelos ..................................... . 94

    6.6. Visin estereoscpica e informacin sobre la intensidad .................. . 96 6.7. Lecturas y consideraciones adicionales ................................ . 98

    99Ejercicios ........................................................... .

    II. BSQUEDA EN ESPACIOS DE ESTADO .............................. . 103

    7. Agentes que planifican

    .. ~ . . " .. . .. .. .. .. .. . . . .. .. . . . . " .. .. . .. . .. .. .. .. .. . . .... " ..... " .... 105 7.1. Memoria o clculo, ................................................ . 105 7.2. Grafos de estados ................................................. . 106 7.3. Bsqueda en estados explcitos ...................................... . 109 7.4. Estados basados en caractersticas ................................... . 110 7.5. Notacin de grafos ................................................ . 111 7.6. Lecturas y consideraciones adicionales ................................ . 112 Ejercicios ........................................................... . 112

    ()8. Bsqueda a ciegas .... . . . . . . . . . . . . . .. . .............................. . 115 8.1. Especificacin del espacio de bsqueda ............................... . 115 8.2. Elemento de un grafo de estados implcito ............................. . 116 8.3. Bsqueda primero en anchura ....................................... . 117 8.4. Bsqueda primero en profundidad o bsqueda con vuelta atrs ............. . 118 8.5. Descenso iterativo ................................................ . 120 8.6. Lecturas y consideraciones adicionales ................................ . 122 Ejercicios ........................................................... . 122

    (~ 't'\.:)9. Bsqueda heurls lC8

    .. " .... " .......... "" ...... " 5 ..... " .......... ,, ......... " 125 9.1. Funciones de evaluacin ........................................... . ]25

    9.2. Algoritmo genrico de bsqueda en grafos ............................. . 127

    9.2.1. Algoritmo A* .................... '

  • x Contenido

    10. Planificacin, actuacin y aprendizaje ................................. . 147

    10.1. El ciclo percibir/planificar/actuar .................................. . 147

    10.2. Bsqueda aproximada ........................................... . 149

    10.2.1. Bsqueda orientada a subobjetivos .......................... . 149

    10.2.2. Bsquedajerrquica ...................................... . 150

    10.2.3. Bsqueda con horizonte ................................... . 152

    10.2.4. Ciclos ................................................. . 153

    10.2.5. Construccin de procedimientos reactivos ..................... . 153

    10.3. Aprendizaje de funciones heursticas ............................... . 155

    10.3.1. Grafos explcitos ......................................... . 155

    10.3.2. Grafos implcitos ........................................ . 156

    10.4. Recompensas en vez de objetivos .................................. . 158

    10.5. Lecturas y consideraciones adicionales ............................. . 160

    Ejercicios .......................................................... . 160

    11. Mtodos alternativos de bsqueda y otras aplicaciones .................... 163

    11.1. Problemas de asignacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    11.2. Mtodos constructivos ........................................... 165

    11.3. Reparacin heurstica ............................................ 169

    11.4. Optimizacin de funciones ........................................ 171

    Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

    12. Bsqueda en problemas de juegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 175

    12.1. Juegos de dos jugadores .......................................... 175

    12.2. El procedimiento minimax ........................................ 177

    12.3. El procedimiento alfa-beta ........................................ 181

    12.4. Eficiencia del procedimiento alfa-beta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

    12.5. Otras cuestiones importantes ...................................... 187

    12.6. Juegos de azar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

    12.7. Aprendizaje de funciones de evaluacin ............................. . 189

    12.8. Lecturas y consideraciones adicionales .............................. 190

    Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    III. REPRESENTACIN DEL CONOCIMIENTO Y RAZONAMIENTO. . . . . . ... 193

    13. El clculo proporcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

    13.1. Imponiendo restricciones a los valores de las caractersticas . . . . . . . . . . . . . . 195

    13.2. El lenguaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

    13.3. Las reglas de inferencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

    13.4. Definicin de demostracin ....................................... 198

    Contenido xi

    13.5. La semntica .................................................. . 199

    13.5.1. Interpretaciones ......................................... . 199

    13.5.2. La tabla de verdad proposicional ............................ . 200

    13.5.3. Satisfacibilidad y modelos ................................. . 201

    13.5.4. Validez ................................................ . 202

    13.5.5. Equivalencia ............................................ . 202

    13.5.6. Consecuencia lgica ...................................... . 202

    13.6. Solidez y completitud ........................................... . 203

    13.7. El problema de SATP ........................................... . 204

    13.8. Otras cuestiones importantes ..................................... . 205

    13.8.1. Distincin entre los lenguajes ............................... . 205

    13.8.2. Metateoremas ........................................... . 205

    13.8.3. Leyes asociativas ........................................ . 205

    13.8.4. Leyes distributivas ....................................... . 206

    Ejercicios .......................................................... . 206

    14. La resolucin en el clculo proporcional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 207

    14.1. Una nueva regla de inferencia: la resolucin .......................... 207

    14.1.1. Las clusulas como ibfs .................................... 207

    14.1.2. La resolucin aplicada a las clusulas ......................... 207

    14.1.3. La correccin de la resolucin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 208

    14.2. Conversin de ibfs a conjunciones de clusulas. . . . . . . . . . . . . . . . . . . . . . . . 208

    14.3. Refutacin mediante resolucin .................................... 209

    14.4. Estrategias de bsqueda en refutacin mediante resolucin. . . . . . . . . . . . . . . 211

    .14.4.1. Estrategias de ordenacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 211

    14.4.2. Estrategias de refinamiento ................................. 212

    14.5. Clusulas de Horn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 212

    Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 213

    15. El clculo de predicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 215

    15.1. Introduccin 215

    15.2. El lenguaje y su sintaxis .......................................... 216

    15.3. La semntica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

    15.3.1. Mundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

    15.3.2. Interpretaciones .......................................... 218

    15.3.3. Modelos y otros conceptos relacionados ....................... 219

    15.3.4. Conocimiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

    15.4. Cuantificacin....... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

    15.5. Semntica de los cuantificadores ................................... 222

    15.5.1. Cuantificadores universales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 222

    15.5.2. Cuantificadores existenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 222

    15.5.3. Equivalencias tiles ....................................... 222

    15.5.4. Reglas de inferencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 222

  • xiii xii Contenido

    15.6. El clculo de predicados como un lenguaje de representacin del conocimiento. 223

    15.6.1. Conceptualizaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 223

    15.6.2. Ejemplos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

    15.7. Lecturas y consideraciones adicionales .............................. 225

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

    16. La resolucin en el clculo de predicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 227

    16.1. Unificacin .................................................... 227

    16.2. Resolucin en el clculo de predicados ............... .............. 230

    16.3. Completitud y solidez. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    16.4. Conversin de tbfs arbitrarias en clusulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

    16.5. Utilizacin de la resolucin para demostrar teoremas ................... 233

    16.6. Obtencin de respuestas .............. ........................... 234

    16.7. El predicado de igualdad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

    16.8. Lecturas y consideraciones adicionales .............................. 237

    Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 238

    17. Sistemas basados en conocimiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

    17.1. El enfrentamiento con el mundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 241

    17.2. Razonamiento con clusulas de Rom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 242

    17.3. Mantenimiento de bases de conocimiento dinmicas. . . . . . . . . . . .. . . . .. .. 247

    17.4. Sistemas expertos basados en reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 251

    17.5. Aprendizaje de reglas ............................................ 255

    17.5.1. Aprendizaje de reglas de clculo proposicional. . . . . . . . . . . . . . . . . . 256

    17.5.2. Aprendizaje de reglas en lgica de predicados. . . . . . . . . . . . . . . . . . . 260

    17.5.3. Generalizacin basada en explicaciones ....................... 264

    17.6. Lecturas y consideraciones adicionales .............................. 265

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

    18. Representacin del sentido comn ..................................... 269

    18.1. El mundo del sentido comn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 269

    18.1.1. Qu es el conocimiento del sentido comn? . . . . . . . . . . . . . . . . . . . . 269

    18.1.2. Problemas de la representacin del conocimiento del sentido comn. 271

    18.1.3. La importancia del conocimiento del sentido comn. . . . . . . . . . . . . . 272

    18.1.4. reas de investigacin ..................................... 272

    18.2. El tiempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 273

    18.3. Representacin del conocimiento mediante redes ...................... 275

    18.3.1. Conocimiento taxonmico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

    18.3.2. Las redes semnticas ...................................... 276

    18.3.3. Razonamiento no montono en redes semnticas ................ 277

    18.3.4. Guiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 279

    18.4. Lecturas y consideraciones adicionales .............................. 280

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

    19. Razonamiento con incertidumbre . . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . . . . 285

    19.1. Repaso a la teora de probabilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

    19.1.1. Conceptos fundamentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

    19.1.2. Probabilidades condicionales .............. . . . . . . . . . . . . . . . . . . 288

    19.2. Inferencia probabilstica .......................................... 290

    19.2.1. Un mtodo general. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ......... 290

    19.2.2. Independencia condicional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 292

    19.3. Redes bayesianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ....... 293

    19.4. Patrones de inferencia en redes bayesianas . . . . . . . . . . . . . . . . . . . . . . . . . . .. 295

    19.5. Evidencia con incertidumbre ...................................... 296

    19.6. Separacin-d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

    19.7. Inferencia probabilstica en polirboles .............................. 298

    19.7.l. Apoyo causal ............................................ 299

    19.7.2. Apoyo evidencial ......................................... 300

    19.7.3. Apoyos causal y evidencial ................................. 302

    19.7.4. Un ejemplo numrico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 302

    19.8. Lecturas y consideraciones adicionales .............................. 304

    Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 305

    20. Aprendizaje y actuacin con redes bayesianas . . . . . . . . . . . . . . . . . . . . . . . . . . .. 309

    20.1. Aprendizaje de redes bayesianas . . . . . . . . . . . . . . . . . .. ................ 309

    20.1.1. Una estructura de red conocida ............... .............. 309

    20.1.2. Aprendizaje de la estructura de la red ......................... 312

    20.2. Inferencia probabilstica y actuacin ................. .............. 316

    20.2.1. El escenario genrico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

    20.2.2. Un ejemplo extendido. . . . . . . . . . . . . . . . . . . . . . . .. ............ 317

    20.2.3. Generalizacin del ejemplo ................................. 321

    20.3. Lecturas y consideraciones adicionales .............................. 322

    Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ......... 322

    IV. MTODOS DE PLANIFICACIN BASADOS EN LGICA. . . . . . . . . . . . . .. 325

    21. El clculo de situaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 327

    21.1. Razonamiento acerca de estados y situaciones. . . . . . . . . . . . . . . . . . . . . . . .. 327

    21.2. Algunas dificultades ............................................. 330

    21.2.1. Axiomas de marco ........................................ 330

    21.2.2. Cualificaciones .......... : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 332

    21.2.3. Ramificaciones ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 332

    21.3. Generacin de planes ............................................ 333

    21.4. Lecturas y consideraciones adicionales .............................. 333

    Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 334

  • xiv Contenido

    22. Planificacin 337

    22.1. Sistemas de planificacin basados en STRIPS ........................ . 337

    22.1.1. Descripcin de estados y objetivos ........................... . 337

    22.1.2. Mtodos de bsqueda hacia delante .......................... . 338

    22.1.3. STRIPS recursivo ........................................ . 341

    22.1.4. Planes con condiciones en tiempo de ejecucin .... ; ............ . 343

    22.1.5. La anomala de Sussman .................................. . 344

    22.1.6. Mtodos de bsqueda hacia atrs ............................ . 344

    22.2. Espacio de planes y planificacin parcialmente ordenada ............... . 348

    22.3. Planificacin jerrquica .......................................... . 354

    22.3.1. ABSTRIPS ............................................. . 354

    22.3.2. Combinacin de la planificacin jerrquica y la planificacin parcial

    mente ordenada .......................................... . 356

    22.4. Aprendizaje de planes ........................................... . 357

    22.5. Lecturas y consideraciones adicionales ............................. . 359

    Ejercicios ........................................................ '.. . 361

    v. COMUNICACIN E INTEGRACIN .................................. 365

    23. Mltiples agentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

    23.1. Interaccin entre agentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

    23.2. Modelos de otros agentes ......................................... 368

    23.2.1. Tipos de modelos ......................................... 368

    23.2.2. Estrategias de simulacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

    23.2.3. Bases de datos simuladas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

    23.2.4. La actitud intencional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

    23.3. Una lgica modal para representar el conocimiento . . . . . . . . . . . . . . . . . . . . . 371

    23.3.1. Operadores modales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371

    23.3.2. Axiomas del conocimiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

    23.3.3. Razonamiento acerca del conocimiento de otros agentes .......... 374

    23.3.4. Prediccin de las acciones de otros agentes. . . . . . . . . . . . . . . . . . . . . 375

    23.4. Lecturas y consideraciones adicionales .............................. 376

    Ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

    24. Comunicacin entre agentes .......................................... 379

    24.1. Actos de habla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

    24.1.1. Planificacin de los actos de habla. . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

    24.1.2. Implementacin de los actos de habla ......................... 381

    24.2. Comprensin de las cadenas de smbolos de un lenguaje . . . . . . . . . . . . . . . . . 383

    24.2.1. Gramticas con estructura de frase. . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

    24.2.2. Anlisis semntico ........................................ 386

    24.2.3. Extensin de la gramtica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 390

    24.3. Comunicacin eficiente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 392

    24.3.1. Utilizacin del contexto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 392

    24.3.2. Utilizacin de conocimiento para resolver ambigedades. . . . . . . . .. 393

    Contenido xv

    24.4. Procesamiento del lenguaje natural. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 394

    24.5. Lecturas de consideraciones adicionales ............................. . 397

    Ejercicios .......................................................... . 397

    25. Arquitecturas de agente 399

    25.1. Arquitectura de tres niveles ....................................... . 400

    25.2. Evaluacin y seleccin de objetivos ................................ . 402

    25.3. Arquitectura de tres mdulos 403

    25.4. Introspeccin y evolucin ........................................ . 404

    25.5. Lecturas y consideraciones adicionales ............................. . 405

    Ejercicios .......................................................... . 406

    Bibliografa 407

    ndice ................................................................ . 433

  • Prefacio

    ste es un libro de texto de nivel introductorio en el que estudiaremos, desde una perspectiva novedosa, los diversos temas encuadrados bajo el trmino inteligencia artificial (lA). A lo largo de los sucesivos captulos, iremos considerando una progresin de sistemas de IA o agentes, cada uno ligeramente ms complejo que su predecesor. Comenzaremos con agentes elementales que reaccionan a las propiedades que perciben en su entorno. Incluso unas mquinas tan simples nos permitirn abordar temas complejos, como la visin artificial, el aprendizaje o los sistemas artificiales evolutivos. Despus, introduciremos en sucesivas fases algunas tcnicas que permiten a los agentes sacar partido de informacin sobre su entorno que no puede ser percibida directamente. Este conocimiento puede consistir en informacin declarativa sobre el estado del entorno, en modelos icnicos del entorno, en grafos definidos en el espacio de estados o en representaciones lgicas. Llamaremos inteligencia artificial evolutiva a esta aproximacin, debido a que nuestra progresin seguir lo que pueden haber sido los pasos ms plausibles de la evolucin de los animales. Se pretende que este libro sea tanto una propuesta acerca de cmo pensar sobre la lA como una descripcin de las tcnicas propias de la lA. A lo largo de l propondremos numerosos ejemplos con el objetivo de proporcionar suficiente motivacin y fundamento.

    Aunque usaremos a los agentes como ejemplos con los que ilustraremos la aplicacin de las tcnicas de lA que vamos a estudiar, stas tienen en s mismas un campo de aplicacin mucho ms amplio. Muchas de las ideas inventadas por los investigadores en lA han sido despus asimiladas por la informtica para aplicaciones en sistemas expertos, en procesamiento de lenguaje natural, en interaccin hombre-ordenador, en recuperacin de informacin, en procesamiento de grficos e imgenes, en minera de datos y en robtica, por nombrar slo unos ejemplos. El uso de los agentes como tema central nos servir para unificar lo que, de otra forma, nos parecera una coleccin de temas dispares.

    Con respecto al alcance del libro, la intencin es situarnos en el terreno intermedio entre teora y aplicaciones. Este terreno intermedio es realmente rico en ideas importantes para la lA; por ello, intentaremos motivar y explicar, las que, presumiblemente, perdurarn como valiosas. (Como humano sujeto a la equivocacin, admito que he podido cometer errores por accin u omisin, al seleccionar los ternas a incluir en el libro.) Por otra parte, algunos temas sern tratados en

    xvii

  • xix xvi Prefacio

    ms profundidad que otros -tanto porque pienso que son ms importantes, como porque quera proporcionar al menos algunos ejemplos con una mayor profundidad expositiva-. Aunque presentaremos algunos algoritmos en pseudocdigo, ste no es un libro sobre programacin e implementacin en lA. (Algunos libros sobre tcnicas de lA son: [Shoham, 1994; Norvig, 1992, y Tracy y Bouthoom, 1997J.) No veremos las demostraciones de todos los resultados tericos importantes, pero intentaremos dar argumentos intuitivos y citar las referencias donde pueden encontrarse las demostraciones formales. Mis objetivos son presentar un libro de texto de tamao modesto, apropiado para un curso introductorio de un semestre de duracin, dar al estudiante y al lector una motivacin y preparacin suficientes para abordar cursos de lA ms avanzados y hacer accesible la extensa cantidad de literatura sobre lA actualmente existente.

    Una caracterstica poco convencional de este libro es que el aprendizaje no se trata como un tema aparte; en su lugar, los diferentes aspectos del aprendizaje van surgiendo de forma natural a lo largo del libro. Se introducirn las redes neuronales y, junto a ellas, algunas ideas fundamentales sobre aprendizaje no supervisado; las tcnicas para el aprendizaje de heursticas de bsqueda y de polticas de accin sern discutidas en los captulos sobre bsqueda; el aprendizaje de reglas, la programacin lgica inductiva y el aprendizaje basado en explicaciones sern tratados hacia el final del captulo sobre lgica; finalmente, el aprendizaje de planes ser presentado tras discutir la planificacin basada en lgica.

    En mis libros previos, se inclua una seccin denominada comentarios bibliogrficos e histricos al final de cada captulo. (Algunos lectores pueden encontrar que estas secciones son an de inters). Esta vez no 10 he hecho as, en parte porque la historia de la lA ha crecido ya demasiado, y en parte porque el texto de [Russell y Norvig, 1995], ya ha hecho un trabajo minucioso y profundo a este respecto. En su lugar, se incluirn comentarios y citas a lo largo del texto, proporcionando algunas adicionales en las secciones de discusin situadas al final de la mayora de los captulos. Seguramente, el estudiante serio que quiera especializar su investigacin en el rea de la lA desear consultar muchas de estas referencias. Espero que al lector fortuito no le resulten molestas estas numerosas citas.

    Al fmal de cada captulo se incluyen algunos ejercicios de muestra. Varan en dificultad, desde la aplicacin rutinaria de ideas, ya presentadas en el texto, hasta cuestiones moderadamente difciles. Seguramente, los profesores que utilicen el libro querrn suplementar estos problemas con otros de su propia cosecha, incluyendo prcticas de ordenador y proyectos. (Siendo coherente con mi decisin de concentrarme en las ideas ms que en los programas, no he incluido ninguna prctica de ordenador ni ningn proyecto. Pueden encontrarse buenas ideas sobre proyectos y sobre programacin en textos dedicados a las tcnicas de programacin de la lA.)

    Las convenciones tipogrficas utilizadas a lo largo del libro son las siguientes. Usaremos el tipo de letra univers para los nombres de las acciones y para las sentencias del protolenguaje empleado por los agentes para comunicarse entre ellos. Usaremos UNIVERS maysculas para los nombres de los lenguajes de programacin, para los algoritmos y para los nombres de los sistemas. Usaremos letras maysculas en negrita, tales como W y X, para los vectores, las matrices y los operadores modales. El tipo cour i er ser utilizado para los algoritmos genticos, las expresiones y subexpresiones del clculo de predicados y para las reglas y operadores STRIPS. Las letras griegas minsculas se reservarn para las metavariables con las que representaremos las expresiones y subexpresiones del clculo de predicados y, ocasionalmente, para las sustituciones. Las probabilidades se denotarn mediante la letra p minscula.

    Estudiantes e investigadores pueden encontrar una gran cantidad de material til en Internet. No daremos ninguna direccin URL; cualquier lista que escribisemos hoy quedara incompleta e inexacta al cabo de unos meses. El lector puede utilizar cualquier motor de bsquedas de Internet para encontrar rpidamente sitios con aplicaciones, listas de preguntas frecuentemente realizadas (FAQ, o Frequently Asked Questions), extensas bibliografas, artculos de investigacin,

    Prefacio

    programas, demostraciones interactivas, anuncios de reuniones y congresos, pgina,> personales de investigadores y mucho material adicional.

    Mi anterior libro de texto sobre lA, Principles ofArtificial Intelligence (Morgan Kaufmann, 1980)*, est hoy en da completamente obsoleto, pero parte del material introducido en l puede an ser til, y lo he usado libremente para preparar el presente volumen. La comparacin con otros libros de texto de lA (particularmente [Russell y Norvig, 1995; Rich y Knight, 1991, YStefik, 1995]) ha sido tambin muy til.

    Mis estudiantes y los profesores ayudantes de mis cursos sobre inteligencia artificial y aprendizaje en Stanford han hecho diversas sugerencias tiles. La siguiente lista incluye, espero, a la mayora de ellos: Eyal Amir, David Andre, Scott Benson, George John, Steve Ketchpel, Ron Kohavi, Andrew Kosoresow, Ofer Matan, Karl Pfleger y Charles Richards. Colegas y revisores de Stanford y de otros sitios me han ayudado a aprender lo que ellos ya saban. Gracias a Helder Coelho, Oscar Firschein, Carolyn Hayes, Giorgio Ingargiola, Leslie Kaelbling, Daphne Koller, John Roza, Richard Korf, Pat Langley, John McCarthy, Bart Selman, Yoav Shoham, Devika Subramanian, Gheorghe Tecuci y Michael Wellman. Gracias especialmente a Cheri Palmer, mi editora de produccin en Morgan Kaufmann, que consigui que me atuviese al plan establecido, aceptando amablemente mis interminables cambios, y que trabaj muy duro para conseguir que un libro difcil como ste fuese publicado en la fecha prevista. El trabajo sobre este libro fue realizado en el Robotics Laboratory del Stanford's Departrnent of Computer Science y en el Santa Fe lnstitute. Tambin quiero agradecer el continuo soporte econmico recibido de la National Science Foundation.

    * Editado en castellano como Principios de Inteligencia Artificial. Daz de Santos, 1987. (N. del T.)

  • Introduccin

    En mi opinin, para comprender la inteligencia hay que comprender cmo se adquiere, se representa y se almacena el conocimiento; cmo se genera y se aprende el comportamiento inteligente; cmo se desarrollan y se usan las motivaciones, las emociones y las prioridades; cmo las seales sensoriales son transfonnadas en smbolos; cmo se manipulan los smbolos para aplicar la lgica, para razonar sobre el pasado y para planificar el futuro, y cmo los mecanismos de la inteligencia producen los fenmenos de la ilusin, las creencias, las esperanzas, los temores y los sueos --y, s, incluso la bondad y el amor-o Comprender estas funciones en un nivelfundamental sera, creo yo, un logro cientfico de la misma escala que lafsica nuclear, la relatividad y la gentica molecular.

    James Albus, en respuesta a Henry Hexmoor, citado en la direccin URL: http://tommy.jsc.nasa.gov/er/er6/mrl/papers/symposium/albuS.txt

    13 de febrero de 1995

    Qu es la lA? La Inteligencia Artificial (lA), en una definicin amplia y un tanto circular, tiene por objeto el estudio del comportamiento inteligente en las mquinas. A su vez, el comportamiento inteligente supone percibir, razonar, aprender, comunicarse y actuar en entornos complejos. Una de las metas a largo plazo de la lA es el desarrollo de mquinas que puedan hacer todas estas cosas igual, o quiz incluso mejor, que los humanos. Otra meta de la lA es llegar a comprender este tipo de comportamiento, sea en las mquinas, en los humanos o en otros animales. Por tanto, la lA persigue al mismo tiempo metas cientficas y metas de ingeniera. En este libro, nos dedicaremos principalmente a la lA como ingeniera, focalizando nuestra atencin sobre los conceptos e ideas ms importantes que subyacen en el diseo de mquinas inteligentes.

    La lA ha estado siempre rodeada de controversia. La cuestin bsica de la lA -Pueden pensar las mquinas?- ha interesado tanto a filsofos como a cientficos e ingenieros. En un

    1

  • 2 3 Inteligencia artificial. Una nueva sntesis

    famoso artculo, Alan Turing, uno de los fundadores de la informtica, expres esta misma cuestin, pero formulada en trminos ms adecuados para su comprobacin emprica. Es lo que se ha dado en llamar el Test de Turing [Turing, 1950]. Describiremos este test un poco ms adelante, en esta misma seccin, pero primero es importante destacar lo que ya observara Turing: que la respuesta a la pregunta Pueden pensar las mquinas? depende de cmo definamos las palabras mquina y pensar. Turing podra haber aadido que la respuesta depende tambin de cmo se defina la palabra pueden.

    Consideremos primero la palabra pueden. Queremos decir que las mquinas pueden pensar ya ahora, o que algn da podrn pensar? Queremos decir que las mquinas podran ser capaces de pensar, en principio (incluso aunque nunca lleguemos a construir ninguna que lo haga), o lo que perseguimos es una implementacin real de una mquina pensante? Estas cuestiones son realmente importantes puesto que todava no disponemos de ninguna mquina que posea amplias habilidades pensantes.

    Algunas personas creen que las mquinas pensantes tendran que ser tan complejas, y disponer de una experiencia tan compleja (por ejemplo, interaccionando con el entorno o con otras mquinas pensantes), que nunca seremos capaces de disearlas o construirlas. Una buena analoga nos la proporcionan los procesos que regulan el clima global del planeta: incluso aunque conocisemos todo 10 que es importante acerca de estos procesos, este conocimiento no nos capacitara necesariamente para duplicar el clima en toda su riqueza. Ningn sistema menos complejo que el formado por la superficie de la tierra, la atmsfera y los ocanos --embebido en un espacio interplanetario, calentado por el sol e influenciado por las mareas- sera capaz de duplicar los fenmenos climticos con todo detalle. De forma similar, la inteligencia de nivel humano, a escala real, podra ser demasiado compleja, o al menos demasiado dependiente de la fisiologa humana, para existir fuera de su encarnacin en seres humanos inmersos en su entorno. (Para una discusin acerca de la importancia de la nocin de encarnacin vase, por ejemplo, [Lakoff, 1987; Winograd y Flores, 1986; Harnad, 1990, y Matarlc, 1997].) La cuestin de si alguna vez seremos capaces, o no, de construir mquinas pensantes de nivel humano no admite an una respuesta definitiva. El progreso de la lA hacia esta meta ha sido constante, aunque ms lento de lo que algunos pioneros del tema haban predicho. Personalmente, soy optimista sobre nuestro eventual xito en esta empresa.

    Consideremos ahora la palabra mquina. Para mucha gente, una mquina es todava un artefacto ms bien estpido. La palabra evoca imgenes de engranajes rechinando, de chorros de vapor siseando y de piezas de acero martilleando. Cmo podra llegar a pensar una cosa como sa? Sin embargo, hoy en da, los ordenadores han ampliado en gran medida nuestra nocin de lo que una mquina puede ser, y nuestra creciente comprensin de los mecanismos biolgicos est expandindose incluso ms an. Consideremos, por ejemplo, un virus simple, como el denominado Bacterifago E6, mostrado esquemticamente en la Figura 1.1. Su cabeza contiene ADN vrico. Este virus es capaz de adherirse a la pared celular de una bacteria mediante las fibras de su cola, pinchar la pared e inyectar su ADN ella. Este ADN hace que la bacteria fabrique millares de copias de cada una de las piezas del virus. Despus, las piezas se ensamblan automticamente ellas mismas, formando nuevos virus que salen de la bacteria para repetir el proceso. El ensamblaje completo se parece mucho al de una mquina, por lo que podramos, con toda propiedad, decir que se trata de una mquina -una mquina hecha de protenas.

    Pero qu ocurre con otros procesos y organismos biolgicos? El genoma completo de la bacteria Haemophilus influenzae Rd ha sido secuenciado recientemente [Fleischmann, et al., 1995]. Este genoma consta de 1.830.137 pares de bases (identificadas con las letras A, G, C Y T). Esto equivale, aproximadamente, a 3,6 x 1()6 bits, es decir, casi medio megabyte. Aunque todava no se conoce la funcin de todos y cada uno de sus 1.743 genes, los cientficos estn comenzando

    Introduccin

    Figura 1.1.

    Ilustracin esquemtica del Bacterifago E6.

    a explicar el desarrollo y el funcionamiento de este organismo en los mismos trminos en los que explicaran una mquina, -una mquina muy compleja, desde luego. De hecho, hay tcnicas que son muy familiares a los informticos, tales como el uso de cronogramas para los circuitos lgicos, que estn demostrando ser tiles para entender cmo los genes regulan los complejos procesos bioqumicos de un virus que infecta a bacterias [McAdams y Shapiro, 1995]. La secuenciacin de los genomas completos de otros organismos, incluyendo el genoma humano, est en curso. Una vez que conozcamos estas marcas, pensaremos en estos organismos -bacterias, gusanos, moscas, ratones, delfines, humanos- como mquinas? Si los humanos fuesen mquinas, entonces es que las mquinas pueden pensar! Tendramos una demostracin de su existencia. Lo que ocurre, simplemente, es que no conocemos an cmo funciona la mquina humana.

    Sin embargo, aunque estuvisemos de acuerdo acerca de lo que es una mquina, este ltimo argumento es rebatible. Aunque una mquina hecha de protenas puede pensar, quiz una hecha de silicio no sera capaz de hacerlo. Un conocido filsofo, John Searle, cree que la materia de la que estamos hechos es fundamental para la inteligencia [Searle, 1980; Searle, 1992]. Para l, el pensamiento slo puede ocurrir en mquinas muy especiales -las mquinas vivientes hechas de protenas.

    La hiptesis del sistemafsico de smbolos de Newell y Simon [Newell y Simon, 1976] est en oposicin directa a las creencias de Searle (y a la nocin de encarnacin mencionada anteriormente). Esta hiptesis establece que un sistema fsico de smbolos dispone de los medios necesarios y suficientes para desarrollar una actividad general inteligente. De acuerdo con Newell y Simon, un sistema fsico de smbolos es una mquina, tal como un ordenador digital, que es capaz de manipular datos simblicos -sumar nmeros, reordenar listas de smbolos (por ejemplo, ordenar alfabticamente una lista de nombres), reemplazar algunos smbolos por otros, etctera. Un aspecto importante de esta hiptesis es que no importa de qu est hecho el sistema fsico de smbolos. Decimos que la hiptesis de Newell y Simon es neutral respecto al sustrato.

  • 4 5

    r

    Inteligencia artificial. Una nueva sntesis

    Una entidad inteligente podra estar hecha de protenas, de rels mecnicos, de transistores, o de cualquier otra cosa, con tal de que sea capaz de procesar smbolos l.

    Otros pensadores creen que no es realmente importante que las mquinas estn hechas de silicio o de protenas; piensan que el comportamiento inteligente es, en su mayor parte, el resultado de lo que ellos llaman procesamiento subsimblico, es decir, procesamiento de seales, no de smbolos. Consideremos, por ejemplo, el reconocimiento de rostros familiares. Los humanos hacemos esto sin esfuerzo alguno, y aunque no se sabe exactamente cmo lo hacemos, se sospecha que la mejor explicacin para el proceso es la que se basa en el tratamiento de imgenes, o de partes de ellas, como seales multidmensionales, no como smbolos.

    Podramos citar muchos otros puntos de vista sobre el tipo de mquinas que podran ser capaces de desarrollar habilidades pensantes como las de los humanos. Algunas de las hiptesis que se oyen a menudo son las siguientes:

    El cerebro procesa la informacin en paralelo, mientras que los ordenadores convencionales lo hacen secuencialmente. Por tanto, tenemos que construir nuevas variedades de ordenadores paralelos para realizar progresos en la lA.

    La maquinaria computacional convencional est basada en la lgica binaria (verdadero o falso). Por tanto, los sistemas realmente inteligentes tendrn que usar algn tipo de lgica borrosa.

    Las neuronas animales son mucho ms complejas que simples conmutadores -los bloques constructivos bsicos de los ordenadores actuales-o Por tanto, necesitaremos neuronas artificiales verdaderamente realistas para construir mquinas inteligentes.

    Quiz es an demasiado pronto para que se alcance un consenso en el campo de la IA sobre el tipo de maquinaria requerida, aunque muchos investigadores aceptan ya la hiptesis del sistema fsico de smbolos.

    Finalmente, llegamos a la palabra ms difcil: pensar. En lugar de intentar definir esta palabra, Turing propuso un test, el llamado Test de Turing, mediante el cual pudiera decidirse si una mquina particular es o no inteligente. El test fue descrito originalmente como un juego. Citemos del artculo de Turing [Turing, 1950]:

    En el juego participan tres personas, un hombre (A), una mujer (B) y un interrogador (C), que puede ser de cualquier sexo. El interrogador permanece en una sala, separado de los otros dos, pero pudiendo comunicarse con ellos mediante un teletipo. El objetivo del juego para el interrogador es determinar cul de los otros dos es el hombre y cul es la mujer. El interrogador los designa mediante las etiquetas X e Y, y al final del juego debe decir X es A e Yes B o X es B e Y es A. Para ello, el interrogador puede plantear preguntas a A y a B, tales como: C: Podra decirme X cul es la longitud de su pelo? Supongamos que X es realmente A; entonces es A quien debe responder. El objetivo de A en el juego es intentar que C haga una identificacin errnea.

    El objetivo del juego para el tercer participante (B) es ayudar al interrogador.

    Ahora podemos plantearnos la siguiente cuestin: Qu sucedera si una mquina interpretase el papel de A en el juego? El interrogador har tantas identificaciones errneas como cuando el juego es interpretado por un hombre y una mujer? Estas cuestiones reemplazan a nuestra cuestin original: Pueden pensar las mquinas?

    1 Obviamente, si tomamos en cuenta aspectos prcticos como la velocidad, la estabilidad, la fiabilidad, la capacidad de procesamiento paralelo, la sensibilidad a la temperatura, etc., algunos materiales de construccin sern mejores que otros.

    Introduccin

    A menudo, el Test de Turing se simplifica, plantendolo como un juego en el que una mquina intenta convencer a un interrogador humano de que el1a es tambin humana. Esta versin simplificada del Test de Turing no se considera usualmente como un test de inteligencia muy til, debido a que es posible, incluso para programas muy simples, engaar al interrogador humano durante un buen rato, Por ejemplo, el programa ELlZA de Joseph Weizenbaum usa algunos trucos muy simples para ello, pero es capaz de desarrollar un dilogo que resulta aparentemente realista para el interrogador poco avezado, aunque es un dilogo completamente vano [Weizenbaum, 1%5]. El programa JULIA de Mauldin es tambin un programa de dilogo de este tipo, pero ms reciente y sofisticado [Mauldin, 1994]2.

    Aparte del Test de Turing, una cuestin que merece la pena intentar responder es la de cules deben ser la habilidades requeridas en una mquina para que podamos calificarla como inteligente. Actualmente, existen muchos programas de ordenador capaces de realizar cosas realmente prodigiosas, incluyendo la planificacin ptima de rutas areas para economizar combustible, la simulacin global de condiciones meteorolgicas, la planificacin del uso de recursos en una factora, etc. Son inteligentes estos programas? Deben ser considerados como objeto de estudio de la IA? Habamos comenzado este captulo describiendo mquinas que difcilmente podran ser etiquetadas como inteligentes. Son gradualmente ms y ms inteligentes conforme se incrementa su complejidad? Personalmente, lo creo as, pero existen indudablemente opiniones para todos los gustos.

    Aproximaciones a la Inteligencia Artificial Aun aceptando que la IA ya ha sido capaz de producir algunos sistemas prcticos muy tiles, la creencia general es que el objetivo ltimo de alcanzar una inteligencia de nivel humano est an muy distante. Siendo esto as, todava hay un gran debate sobre cules son las mejores aproximaciones hacia la IA -mejores en el sentido de sentar los fundamentos centrales para conseguir las metas planteadas a largo plazo, as como mejores en el sentido de producir resultados prcticos a corto plazo-. En consecuencia, durante los ltimos 40 aos ha emergido un cierto nmero de paradigmas diferentes. Cada uno de ellos tiene abogados apasionados, y algunos han producido resultados suficientemente interesantes como para no ser descartados sin ms. Quiz lo que se requiere es una combinacin apropiada de estas aproximaciones diferentes. En cualquier caso, cada investigador cree, a menudo, que la suya es la metodologa avanzada que merece especial atencin. Los principales paradigmas pueden ser clasificados en dos grupos.

    El primer grupo incluye lo que llamaramos las aproximaciones basadas en procesamiento de smbolos. Se sustentan sobre la hiptesis del sistema fsico de smbolos de Newell y Simon, y aunque esta hiptesis no puede considerarse an como universalmente aceptada, en ella se basa mucho de lo que podramos llamar IA clsica (lo que el filsofo John Haugeland llama lA al viejo estilo (GOFAI, o Good-Old-Fashioned-AI). Un miembro destacado de esta familia de aproximaciones es el que se basa en la aplicacin de operaciones lgicas sobre bases de conocimiento declarativo. Inspirado originalmente en los informes de John McCarthy sobre su sistema consejero [McCarthy, 1958], este estilo de lA representa el conocimiento sobre un problema del dominio mediante sentencias declarativas, a menudo basadas en sentencias de la lgica de

    2 En 1991, Hugh Loebner estableci una competicin, el Premio Loebner, ofreciendo un premio de 100.000 dlares al autor del primer programa de ordenador capaz de superar un Test de Turing no restringido. Adems, todos los aos se proponen competiciones anuales con premios ms pequeos para el mejor programa que supere alguna versin restringida del Test de Turing.

  • 6 7

    r

    Inteligencia artificial. Una nueva sntesis

    predicados o sustancialmente equivalentes a ellas. Para deducir consecuencias a partir de este conocimiento se aplican tcnicas de inferencia lgica. Este mtodo admite numerosas variantes, incluyendo aquellas cuyo nfasis est en la axiomatizacin formal del dominio en un lenguaje lgico. Cuando se aplica a problemas reales, este mtodo requiere la representacin de una cantidad sustancial de conocimiento del dominio, por lo que se suele hablar de aproximaciones basadas en el conocimiento. Se han construido muchos sistemas basados en estos mtodos, y nos referiremos a algunos de ellos ms adelante.

    En muchas de las aproximaciones basadas en procesamiento de smbolos, el anlisis de los comportamientos deseados, o la sntesis de mquinas para conseguirlos, se extienden a travs de varios niveles. El nivel superior corresponde al nivel del conocimiento [Newell, 1982], en el cual se especifica el conocimiento necesario para que la mquina alcance sus objetivos. A continuacin viene el nivel simblico, donde se representa este conocimiento mediante estructuras simblicas, como, por ejemplo, listas escritas en el lenguaje de programacin L1SP, y se especifican operaciones sobre estas estructuras. Despus estn los niveles inferiores, en los cuales, realmente se implementan las operaciones de procesamiento de smbolos. Muchas aproximaciones basadas en procesamiento de smbolos utilizan una metodologa de diseo descendente; se comienza en el nivel del conocimiento y se procede hacia abajo a travs de los niveles simblico y de implementacin.

    El segundo grupo de aproximaciones hacia la lA incluye lo que se denominan aproximaciones subsimblicas. stas siguen usualmente un estilo de diseo ascendente, comenzando en el nivel ms bajo y procediendo hacia los niveles superiores. En los niveles ms bajos, el concepto de smbolo no es tan apropiado como el concepto de seal. Entre las aproximaciones subsimblicas, una aproximacin muy prominente es la que algunos han llamado vida artificial. Los defensores de este estilo [Wilson, 1991 y Brooks, 1990] sealan que la inteligencia humana se desarroll slo despus de ms de mi] millones de aos de vida sobre la tierra. Segn ellos, para conseguir mquinas inteligentes tendremos que seguir muchos de estos pasos evolutivos. Primero, debemos concentramos en la duplicacin de las capacidades de procesamiento de seal y control de las que disponen los animales ms simples -los insectos, por ejemplo-- y subir por la escalera evolutiva en pasos sucesivos. Esta estrategia no slo conducir a la obtencin a corto plazo de mquinas tiles, sino que desarrollar el substrato sobre el cual deben construirse necesariamente los niveles superiores de inteligencia.

    Este segundo grupo de aproximaciones tambin pone nfasis en los fundamentos simblicos. Brooks introdujo ]a hiptesis de los fundamentos fsicos, en contraste con la hiptesis de los sistemas fsicos de smbolos [Brooks, 1990]. Segn su hiptesis, se puede obtener un comportamiento complejo sin usar modelos centralizados; para ello, bastara con dejar que los diversos mdulos de comportamiento de un agente interacten independientemente con el entorno. Sin embargo, Brooks acepta que para conseguir lA de nivel humano puede ser necesaria la integracin de las dos aproximaciones.

    La interaccin entre una mquina y su entorno conduce a lo que se denomina comportamiento emergente. En palabras de una investigadora [Maes, 1990b, p. 1]:

    La funcionalidad de un agente debe verse como una propiedad emergente de la interaccin intensiva del sistema con su entorno dinmico. La especificacin del comportamiento del agente aislado no explica la funcionalidad que exhibe cuando el agente est operando. Por el contrario, su funcionalidad se basa en gran medida en las propiedades del entorno. No slo hay que tener en cuenta las caractersticas dinmicas del entorno, sino que stas deben ser explotadas para servir al funcionamiento del sistema.

    Las redes neuronales son un ejemplo bien conocido de mquinas que provienen de la escuela subsimblica. Estos sistemas, inspirados en modelos biolgicos, son interesantes, principal-

    Introduccin

    mente por su capacidad de aprendizaje. Tambin se han conseguido resultados interesantes mediante procesos que simulan ciertos aspectos de la evolucin biolgica: cruzamiento, mutacin y reproduccin de los organismos mejor adaptados. Otras aproximaciones ascendentes, cercanas a las aproximaciones del tipo vida artificial, se basan en ]a teora del control y en el anlisis de sistemas dinmicos (vase, por ejemplo, [Beer, 1995, y Port y van Gelder, 1995]).

    A medio camino entre las aproximaciones descendentes y ascendentes est la basada en autmatas situados [Kaelbling y Rosenschein, 1990, y Rosenschein y Kaelbling, 1995]. Kaelbling y Rosenschein proponen un lenguaje de programacin para especificar, en un alto nivel de abstraccin, el comportamiento deseado en un agente, as como un compilador para crear la circuitera necesaria a partir de los programas escritos en este lenguaje.

    Breve historia de la lA Cuando empezaron a desarrollarse los primeros ordenadores durante las dcadas de los aos 40 y 50, algunos investigadores escribieron programas que podan realizar tareas elementales de razonamiento. Entre los resultados ms prominentes de esta poca podemos citar los primeros programas de ordenador capaces de jugar al ajedrez [Shannon, 1950, Newell, y Shaw y Simon, 1958], los programas capaces de jugar a las damas [Samuel , 1959, y Samuel, 1967] y los programas para demostrar teoremas de geometra plana [Gelemter, 1959]. En 1956, John McCarthy y Claude Shannon coeditaron un volumen titulado Automata Studies [Shannon y McCarthy, 1956]. La mayora de los artculos del volumen trataban sobre los fundamentos matemticos de ]a teora de autmatas, por lo que McCarthy, decepcionado, decidi acuar el trmino Inteligencia Artificial y usarlo como ttulo de una conferencia celebrada en Dartmouth en 1956. En esta conferencia se presentaron algunos trabajos muy relevantes, incluyendo uno de Allen Newell, Cliff Shaw y Herbert Simon sobre un programa llamado Teorizador Lgico [Newell; Shaw y Simon, 1957], que poda demostrar teoremas en lgica proposicional. Aunque se propusieron muchos otros trminos para e] campo, tales como procesamiento de informacin compleja, inteligencia de mquinas, programacin heurstica o cognologa, slo el nombre de Inteligencia Artificial ha perdurado. sin duda a causa de la creciente progresin de libros de texto, cursos, congresos y revistas que usaban este trmino.

    El primer paso hacia la inteligencia artificial fue dado mucho tiempo atrs por Aristteles (384-322 a. C.), cuando comenz a explicar y a codificar ciertos estilos de razonamiento deductivo que l llam silogismos. Algunos de los esfuerzos tempranos para automatizar la inteligencia nos pareceran quijotescos hoy en da. Ramn Llul1 (1235-1316), un mstico y poeta cataln, construy una mquina de engranajes, llamada Ars Magna, que supuestamente era capaz de responder a todas las preguntas. Pero hubieron tambin cientficos y matemticos que perseguan la automatizacin del razonamiento. Martn Gardner [Gardner, 1982, p. 3] atribuye a Gottfried Leibniz (1646-1716) el sueo de un lgebra universal mediante la cual todo el conocimiento, incluyendo las verdades morales y metafsicas, pueda ser algn da representado en un nico sistema deductivo. Leibniz llam a su sistema clculo filosfico o raciocinador; fue, claro est, un sueo que no pudo ser realizado con el aparataje tecnolgico de la poca. No comenz a haber un progreso sustancial hasta que George Boole [Boo]e, 1854] desarroll los fundamentos de la lgica proposicional. El propsito de Boole, entre otras cosas, era recoger... algunos fundamentos probables relativos a la naturaleza y a la constitucin de la mente humana. Hacia e] final del siglo XIX, Gottlieb Frege propuso un sistema de notacin para el razonamiento mecnico, con lo que invent mucho de lo que hoy conocemos con el nombre de clculo de predicados [Frege, 1879]. Llam a su lenguaje Begriffsschrift, lo que puede ser traducido como escritura de conceptos.

  • 8 9 Inteligencia artificial. Una nueva sntesis

    En 1958, John McCarthy propuso la utilizacin del clculo de predicados como un lenguaje para representar y usar conocimiento en un sistema al que llam sistema consejero [McCarthy, 1958]. A este sistema, en lugar de programarlo, haba que decirle lo que necesitaba saber para resolver un problema. Una modesta, pero influyente, implementacin de estas ideas fue abordada por Cordell Green en su sistema QA3 [Green, 1969a]. Como resultado de muchas controversias entre los investigadores de la lA, el clculo de predicados y sus variantes han sobrevivido como el fundamento bsico para la representacin del conocimiento.

    Los lgicos del siglo xx, incluyendo a Kurt Gooel, Stephen KIeene, Emil Post, Alonzo Church y Alan Thring, formalizaron y clarificaron lo que puede ser hecho y lo que no puede ser hecho mediante sistemas lgicos y computacionales. Posteriormente, informticos como Stephen Cook y Richard Karp identificaron las clases de cmputos que, siendo posibles en principio, requeriran cantidades de tiempo y de memoria completamente impracticables.

    Muchos de estos resultados de la lgica y de la informtica se referan a verdades que no pueden ser deducidas y a clculos que no pueden ser realizados. Seguramente animados por estos hallazgos negativos, algunos filsofos y cientficos [Lucas, 1961; Penrose, 1989, y Penrose, 1994] los interpretaron como confirmaciones de que la inteligencia humana no podra ser nunca mecanizada. Estos pensadores crean que los humanos son, de alguna forma, inmunes a las limitaciones computacionales inherentes a las mquinas. Sin embargo, la mayora de los lgicos y de los informticos creen que estos resultados negativos de ningn modo implican que las mquinas tengan lmites que no sean aplicables tambin a los humanos.

    El primer artculo moderno que trataba sobre la posibilidad de mecanizar la inteligencia al estilo humano fue el de Alan Thring que ya hemos citado anteriormente [Thring, 1950]. Durante el mismo perodo, Warren McCulloch y Walter Pitts teorizaban sobre las relaciones entre elementos computacionales simples y neuronas biolgicas [McCulloch y Pitts, 1943]. Demostraron que es posible calcular cualquier funcin computable mediante redes de puertas lgicas (vase [Minsky, 1967], para un tratamiento muy legible de los aspectos computacionales de las neuronas de McCulloch-Pitts). Otro trabajo, de Frank Rosenblatt [Rosenblatt, 1962], exploraba el uso de redes de tipo neuronal, denominadas perceptrones, para el aprendizaje y el reconocimiento de patrones. Algunas otras corrientes de trabajo, entre ellas la ciberntica [Wiener, 1948], la psicologa cognitiva, la lingstica computacional [Chomsky, 1965] y la teora del control adaptativo [Widrow y Hoff, 1960], han contribuido tambin a esta matriz intelectual dentro de la cual se ha desarrollado la lA.

    Una gran parte del trabajo inicial en la lA (durante la dcada de los aos 60 y la primera parte de la dcada de los 70) se dedicaba a explorar diversas representaciones de problemas, tcnicas de bsqueda y heursticas generales que se aplicaban en programas de ordenador capaces de resolver puzzles sencillos, de jugar contra el usuario o de recuperar informacin. Uno de los programas ms influyentes fue el Solucionador General de Problemas (GPS, o General Problem Solver) de Allen Newell, Cliff Shaw y Herbert Simon [Newell; Shaw, y Simon, 1959, y Newell y Simon, 1963]. Entre los problemas de muestra resueltos por estos sistemas pioneros se incluan la integracin simblica [Slagle, 1963], los problemas de lgebra [Bobrow, 1968], los puzzles analgicos [Evans, 1968] yel control de robots mviles [Nilsson, 1984b]. Muchos de estos sistemas constituyen el tema central de los artculos reunidos en el histrico volumen Computa and Thought [Feigenbaum y Feldman, 1963].

    Los intentos de escalar estos programas y sus tcnicas para enfrentarlos a aplicaciones de importancia prctica revelaron que slo valan para resolver problemas de juguete. La construccin de sistemas ms potentes requera la inclusin de mucho ms conocimiento sobre el dominio de aplicacin. Los ltimos aos de la dcada de los 70 Y los primeros de la dcada de los 80 vieron el desarrollo de programas ms realistas, que contenan el conocimiento necesario para mimetizar el comportamiento de los expertos humanos en tareas tales como el diagnstico, el

    Introduccin

    diseo y el anlisis. Fueron explorados y desarrollados varios mtodos para la representacin de conocimiento especfico del problema. El programa al que se atribuye el mrito de ser el primero que demostr la importancia de recoger grandes cantidades de conocimiento especfico del dominio fue DENORAL, un sistema para predecir la estructura de molculas orgnicas a partir de su frmula qumica y de su espectrograma de masas [Feigenbaum; Buchanan, y Lederberg, 1971, y Lindsay et al., 1980]. Despus se desarrollaron otros sistemas expertos, incluyendo sistemas para diagnstico mdico [Shortliffe, 1976, y Miller, Pople y Myers, 1982], sistemas para configurar ordenadores [McDermott, 1982] y sistemas para valorar posibles yacimientos de minerales [Campbell et al., 1982, y Duda, Gaschnig y Hart, 1979]. Un buen resumen de la historia de la lA a lo largo de este perodo fue escrito por [McCorduck, 1979].

    Una de las reas en la que se han realizado progresos sustanciales al escalar el tamao del problema es el rea de los juegos. El 11 de mayo de 1997, un programa de ordenador de mM, denominado DEEP BLUE, consigui vencer al entonces campen del mundo de ajedrez, Garry Kasparov, por 3,5 a 2,5 en un encuentro a seis partidas. Este alto nivel de juego se ha conseguido gracias a la sinergia de sofisticados algoritmos de bsqueda, ordenadores de alta velocidad y hardware especfico para el juego del ajedrez.

    La inteligencia humana abarca muchas habilidades, incluyendo la habilidad para percibir y analizar escenas visuales y la habilidad para entender o generar el lenguaje. stos son temas especficos que han recibido mucha atencin. Larry Roberts desarroll uno de los primeros programas de anlisis de escenas [Roberts, 1963]. Este trabajo preliminar fue seguido de una extensa cantidad de investigacin en visin artificial ([Nalwa, 1993] es un buen libro de texto general), guiada mediante estudios cientficos de los sistemas de visin animal [Letvinn et al., 1959; Hubel, 1988, y Marr, 1982].

    Uno de los sistemas pioneros en comprensin del lenguaje natural fue el desarrollado por Terry Winograd [Winograd, 1972]. Durante la dcada de los aos 70 se llev a cabo un proyecto coordinado multicentro que desarroll prototipos de sistemas para la comprensin fluida del habla; el sistema LUNAR [Woods, 1973], desarrollado por William Woods, era capaz de responder a preguntas orales en ingls sobre las muestras de rocas recogidas por las misiones lunares de la NASA.

    Aunque actualmente existen diversos sistemas de comprensin del lenguaje natural, su competencia se restringe a reas temticas especficas y a vocabularios especializados. El desarrollo de sistemas con un alcance ms amplio requerir de nuevos avances en la representacin de grandes cantidades de conocimiento general de sentido comn. El proyecto CYC [Guha y Lenat, 1990; Lenat, y Guha 1990, y Lenat, 1995] tiene como uno de sus objetivos la recogida y representacin de conocimiento de este tipo.

    Aunque el inters en las redes neuronales decay un poco tras el trabajo pionero realizado en los ltimos aos de la dcada de los 50 por Frank Rosenblatt, resurgi con energa en los aos 80. Las redes de elementos no lineales con interconexiones de pesos variables se consideran actualmente como una clase muy importante de herramientas para el modelado no lineal. Hoy en da existen diversas aplicaciones importantes de las redes neuronales. El trabajo sobre redes neuronales, junto con el trabajo en temas de vida artificial, ha ayudado a focalizar la investigacin actual en lA sobre los problemas relacionados con la conexin entre procesos simblicos y los sensores y efectores de los robots inmersos en un entorno fsico. .

    Si proyectamos las tendencias actuales hacia el futuro, es razonable esperar un nuevo nfasis en el desarrollo de sistemas autnomos integrados, robots y softbots. Los softbots [Etzioni y Weld, 1994] son agentes so:tr.ware que recorren Internet buscando la informacin que ellos creen que puede ser de inters J?irra sus usuarios. La constante presin ejercida para mejorar las capacidades de los robots y d los agentes software motivar y guiar la investigacin en inteligencia artificial durante muchOS aos.

  • r

    8 Introduccin 9Inteligencia artificial. Una nueva sntesis

    diseo y el anlisis. Fueron explorados y desarrollados varios mtodos para la representacin de En 1958, John McCarthy propuso la utilizacin del clculo de predicados como un lenguaje para representar y usar conocimiento en un sistema al que llam sistema consejero [McCarthy, conocimiento especfico del problema. El programa al que se atribuye el mrito de ser el prime1958]. A este sistema, en lugar de programarlo, haba que decirle lo que necesitaba saber para ro que demostr la importancia de recoger grandes cantidades de conocimiento especfico del resolver un problema. Una modesta, pero influyente, implementacin de estas ideas fue aborda dominio fue DENDRAL, un sistema para predecir la estructura de molculas orgnicas a partir de

    su frmula qumica y de su espectrograma de masas [Feigenbaum; Buchanan, y Lederberg, da por Cordell Green en su sistema 0A3 [Green, 1969a]. Como resultado de muchas controversias entre los investigadores de la lA, el clculo de predicados y sus variantes han sobrevivido 1971, y Lindsay et al., 1980]. Despus se desarrollaron otros sistemas expertos, incluyendo siscomo el fundamento bsico para la representacin del conocimiento. temas para diagnstico mdico [Shortliffe, 1976, y Miller, Pople y Myers, 1982], sistemas para

    configurar ordenadores [McDermott, 1982] y sistemas para valorar posibles yacimientos de Los lgicos del siglo xx, incluyendo a Kurt GOdel, Stephen Kleene, Emil Post, Alonzo minerales [Campbell et al., 1982, y Duda, Gaschnig y Hart, 1979]. Un buen resumen de la hisChurch y Alan Turing, formalizaron y clarificaron lo que puede ser hecho y 10 que no puede ser toria de la lA a lo largo de este perodo fue escrito por [McCorduck, 1979]. hecho mediante sistemas lgicos y computacionales. Posteriormente, informticos como Stephen

    Cook y Richard Karp identificaron las clases de cmputos que, siendo posibles en principio, Una de las reas en la que se han realizado progresos sustanciales al escalar el tamao del requeriran cantidades de tiempo y de memoria completamente impracticables. problema es el rea de los juegos. El 11 de mayo de 1997, un programa de ordenador de IBM,

    Muchos de estos resultados de la lgica y de la informtica se referan a verdades que no denominado DEEP BLUE, consigui vencer al entonces campen del mundo de ajedrez, Garry pueden ser deducidas y a clculos que no pueden ser realizados. Seguramente animados por Kasparov, por 3,5 a 2,5 en un encuentro a seis partidas. Este alto nivel de juego se ha conseguiestos hallazgos negativos, algunos filsofos y cientficos [Lucas, 1961; Penrose, 1989, y Penro do gracias a la sinergia de sofisticados algoritmos de bsqueda, ordenadores de alta velocidad y se, 1994] los interpretaron como confIrmaciones de que la inteligencia humana no podra ser nun hardware especfico para el juego del ajedrez. ca mecanizada. Estos pensadores crean que los humanos son, de alguna forma, inmunes a las La inteligencia humana abarca muchas habilidades, incluyendo la habilidad para percibir y limitaciones computacionales inherentes a las mquinas. Sin embargo, la mayora de los lgicos analizar escenas visuales y la habilidad para entender o generar el lenguaje. stos son temas espey de los informticos creen que estos resultados negativos de ningn modo implican que las cficos que han recibido mucha atencin. Larry Roberts desarroll uno de los primeros programas mquinas tengan lmites que no sean aplicables tambin a los humanos. de anlisis de escenas [Roberts, 1963]. Este trabajo preliminar fue seguido de una extensa can

    tidad de investigacin en visin artificial ([Nalwa, 1993] es un buen libro de texto general), guiaEl primer artculo moderno que trataba sobre la posibilidad de mecanizar la inteligencia al estilo humano fue el de Alan Turing que ya hemos citado anterionnente [Turing, 1950]. Durante da mediante estudios cientficos de los sistemas de visin animal [Letvinn el al., 1959; Hubel, el mismo perodo, Warren McCulloch y Walter Pitts teorizaban sobre las relaciones entre ele 1988, y Marr, 1982]. mentos computacionales simples y neuronas biolgicas [McCulloch y Pitts, 1943]. Demostraron Uno de los sistemas pioneros en comprensin del lenguaje natural fue el desarrollado por que es posible calcular cualquier funcin computable mediante redes de puertas lgicas (vase Terry Winograd [Wmograd, 1972]. Durante la dcada de los aos 70 se llev a cabo un proyecto [Minsky, 1967], para un tratamiento muy legible de los aspectos computacionales de las neu coordinado multicentro que desarroll prototipos de sistemas para la comprensin fluida del ronas de McCulloch-Pitts). Otro trabajo, de Frank Rosenblatt [Rosenblatt, 1962], exploraba el habla; el sistema LUNAR [Woods, 19731. desarrollado por William Woods, era capaz de resuso de redes de tipo neuronal, denominadas perceptrones, para el aprendizaje y el reconocimiento ponder a preguntas orales en ingls sobre las muestras de rocas recogidas por las misiones lunade patrones. Algunas otras corrientes de trabajo, entre ellas la ciberntica [Wiener, 1948], la psi res de la NASA. cologa cognitiva, la lingstica computacional [Chomsky, 1965] y la teora del control adaptativo Aunque actualmente existen diversos sistemas de comprensin del lenguaje natural, su com[Widrow y Hoff, 1960], han contribuido tambin a esta matriz intelectual dentro de la cual se ha petencia se restringe a reas temticas especficas y a vocabularios especializados. El desarrollo desarrollado la lA. de sistemas con un alcance ms amplio requerir de nuevos avances en la representacin de gran

    Una gran parte del trabajo inicial en la lA (durante la dcada de los aos 60 y la primera par des cantidades de conocimiento general de sentido comn. El proyecto eve [Guha y Lenat, te de la dcada de los 70) se dedicaba a explorar diversas representaciones de problemas, tcni 1990; Lenat, y Guha 1990, y Lenat, 1995] tiene como uno de sus objetivos la recogida y reprecas de bsqueda y heursticas generales que se aplicaban en programas de ordenador capaces de sentacin de conocimiento de este tipo. resolver puzzles senci11os, de jugar contra el usuario o de recuperar informacin. Uno de los pro Aunque el inters en las redes neuronales decay un poco tras el trabajo pionero realizado en gramas ms influyentes fue el Solucionador General de Problemas (GPS, o General Problem Sol los ltimos aos de la dcada de los 50 por Frank Rosenblatt, resurgi con energa en los aos 80. ver) de Allen Newell, Cliff Shaw y Herbert Simon [Newell; Shaw, y Simon, 1959, y Newell y Las redes de elementos no lineales con interconexiones de pesos variables se consideran actualSimon, 1963]. Entre los problemas de muestra resueltos por estos sistemas pioneros se incluan mente como una clase muy importante de herramientas para el modelado no lineal. Hoy en da la integracin simblica [Slagle, 1963], los problemas de lgebra [Bobrow, 1968], los puzzles existen diversas aplicaciones importantes de las redes neuronales. El trabajo sobre redes neuroanalgicos [Evans, 1968] y el control de robots mviles [Nilsson, 1984b]. Muchos de estos nales, junto con el trabajo en temas de vida artificial, ha ayudado a focalizar la investigacin sistemas constituyen el tema central de los artculos reunidos en el histrico volumen Computer actual en lA sobre los problemas relacionados con la conexin entre procesos simblicos y los and Tlwught [Feigenbaum y Feldman, 1963]. sensores y efectores de los robot

  • 10 11 Inteligencia artificial. Una nueva sntesis

    Plan del libro La investigacin en lA ha conducido al desarrollo de numerosas ideas y tcnicas relevantes dirigidas al objetivo de automatizar la inteligencia. En este libro, estas ideas y tcnicas sern descritas en el contexto de una serie de agentes cada vez ms capaces y complejos. Hay muchos tipos de agentes y entornos que podramos considerar. Por ejemplo, podemos imaginar robots que trabajen en las condiciones de gravedad cero del espacio exterior, en las aguas oscuras de los fondos ocenicos, en edificios de oficinas o en factoras, o en el mundo simblico de Internet. Pero estos agentes prcticos del mundo real son a veces demasiado complejos para ilustrar de forma transparente los conceptos de la lA en los que se basa su inteligencia. En su lugar, lo que haremos ser introducir una serie de agentes de juguete en un entorno ficticio al que llamaremos mundo espacial cuadriculado. Aunque este mundo simple es fcil de describir, podemos aadirle cierta complejidad para hacerlo suficientemente rico como para que requiera inteligencia en sus agentes.

    El mundo espacial cuadriculado es un espacio tridimensional demarcado por una matriz bidimensional de celdas a la que llamaremos suelo. Cada celda puede contener objetos que tienen diversas propiedades, y pueden existir paredes delimitando conjuntos de celdas. Los agentes estn confinados en el suelo y pueden moverse de celda a celda. Los objetos pueden estar en el suelo o colocados sobre una pila de otros objetos apilados sobre el suelo. A veces, usaremos slo el subespacio bidimensional definido por el suelo. En la Figura 1.2 se muestra un ejemplo tpico de mundo espacial cuadriculado, en el que hay dos robots. Uno de ellos es un robot bidimensional sencillo, con sensores para percibir si las celdas adyacentes estn o no libres para moverse a ellas; el otro, ms complejo, dispone de un brazo con el que puede manipular objetos.

    Los lectores ya familiarizados con la bibliografa sobre lA reconocern fcilmente que el mundo espacial cuadriculado puede ser particularizado a algunos de los muchos mundos utilizados en la investigacin sobre lA, incluyendo el mundo de bloques, el mundo del mosaico [Pollack y Ringuette, 1990], el mundo de los wumpus [Russell y Norvig, 1955, pp. 153 Y ss.] yel

    \ Figura 1.2. \

    Mundo espacial cuadriculado.

    Introduccin

    mundo de las hormigas [Koza, 1992, pp. 54 Y ss.]. Todos ellos son mundos discretos, en el sentido de que existe un nmero finito de posiciones, de agentes, de objetos y de instantes de tiempo. Muchas de las tcnicas de la lA que describiremos en el libro se aplican a mundos discretos y requeriran un cierto procesamiento subsimblico para operar en mundos continuos.

    Comenzaremos estudiando los agentes reactivos, que disponen de varias modalidades sensoriales para percibir sus mundos y de distintas formas de actuar sobre ellos. Los ms complejos tendrn tambin la capacidad de recordar propiedades y de almacenar modelos internos del mundo. En todos los casos, las acciones decididas por los agentes reactivos sern funcin del estado actual y de los estados anteriores de sus mundos -tal como ellos los perciben y los recuerdan-o Los agentes reactivos pueden disponer de procesos perceptivos y motores muy complejos. Aunque trataremos el tema de la percepcin visual con algn detalle (en el Captulo 6), el espacio no nos permite incluir temas relativos al control de bajo nivel del movimiento de un robot.

    Muchos sistemas de lA utilizan algn tipo de modelo o representacin de su mundo y de sus tareas. Usaremos el trmino modelo en su sentido ms amplio, definindolo como cualquier estructura simblica que se correlacione suficientemente con el mundo real, incluyendo en l al conjunto de computaciones que proporcionan al agente informacin til sobre el mundo. Esta informacin puede ser relativa al estado actual del mundo o relativa a posibles estados futuros del mundo. Conforme vayamos avanzando a lo largo del espectro que abarca desde los agentes ms simples a los ms complejos, iremos atravesando las fronteras que separan las distintas clases de sistemas de lA.

    Hay un tipo de modelos, a los que llamaremos icnicos, que utilizan estructuras de datos y algoritmos para simular diferentes aspectos del entorno del agente y diferentes efectos de las acciones del agente sobre ese entorno. Un ejemplo de representacin icnica es la representacin del estado del juego en el ajedrez mediante una matriz de celdas de tamao 8 x 8, celdas que pueden estar ocupadas por las distintas piezas de ajedrez. Un modelo de ajedrez icnico es completo en el sentido de que contiene informacin sobre la localizacin de todas las piezas.

    El otro tipo de modelo que usaremos es el que llamaremos modelo basado en caractersticas. Este tipo de modelo utiliza descripciones declarativas del entorno. En el ajedrez, por ejemplo, dos caractersticas podran ser si se ha hecho ya un enroque y el nmero de veces en las que se ha dado jaque al rey. Un conjunto de caractersticas descriptivas es casi siempre incompleto -lo cual es una virtud de las representaciones basadas en caractersticas, ya que las hace tolerantes a los inevitables huecos que siempre existen en el conocimiento del agente sobre mundos complejos.

    El siguiente tipo de agentes que estudiaremos tendr la habilidad de anticipar los efectos de sus acciones y de seleccionar aquellas que supuestamente le conducirn hacia sus objetivos. Se puede decir que tales agentes realizan planes. Para algunos investigadores, esta capacidad es crtica para la inteligencia; para ellos, es ah donde comienza la lA. Los agentes que actan en mundos que no pueden ser perfectamente percibidos y modelados tambin necesitarn constatar si sus acciones tienen o no los efectos que predijeron.

    Muchos mundos espaciales cuadriculados tendrn restricciones implcitas que son anlogas a las propiedades de los mundos reales. Por ejemplo, si un objeto est en una posicin, no puede estar en otra al mismo tiempo. Los agentes que son capaces de tener en cuenta estas restricciones sern usualmente ms efectivos. La siguiente serie de agentes que estudiaremos estar formada por aquellos capaces de razonar; podrn deducir propiedades de sus mundos que estn impl-. citas en las restricciones.

    Finalmente, consideraremos agentes que existen en mundos habitados por otros agentes. Para comportarse de forma efectiva tendrn que anticipar lo que otros agentes podran hacer e influir sobre ello. En estos casos, la comunicacin entre agentes es en s misma una accin importante.

  • 12 13 Inteligencia artificial. Una nueva sntesis

    A lo largo del espectro de agentes de complejidad creciente, tambin consideraremos mtodos mediante los cuales los agentes pueden aprender sobre su entorno. La capacidad de aprender es, junto con la capacidad de planificar, uno de los aspectos bsicos de la inteligencia, de acuerdo con [Russell y Wefald, 1991, p. 8], quienes escribieron:

    El aprendizaje es una parte importante de la autonoma. Un sistema es autnomo en la medida en que su comportamiento est determinado por sus entradas actuales y por sus experiencias pasadas, antes que por sus diseadores. Los agentes normalmente se disean para una clase de entornos, de tal forma que cada miembro de la clase es consistente con lo que el diseador conoce sobre lo que el entorno podria tener reservado para el agente. Pero un sistema que opera sobre la base de suposiciones preprogramadas slo operar correctamente cuando estas hiptesis se cumplan, y, por tanto, no ser muy flexible. Un sistema verdaderamen.! autnomo debera ser capaz de operar correctamente en cualquier entorno, siempre que se le d tiempo suficiente para adaptarse. Para ello, las estructuras de conocimiento internas del sistema deberan ser construibles, en principio, a partir de su experiencia en el mundo. No hay que confundir los sistemas autnomos con sistemas tabula rasa. Un punto medio razonable consiste en disear sistemas cuyo comportamiento est predeterminado en gran parte, al menos inicialmente, por el conocimiento del diseador, pero haciendo que estas suposiciones sean tan explcitas como sea posible y susceptibles de ser cambiadas por el agente. Este sentido de autonoma parece corresponderse razonablemente bien con nuestra nocin intuitiva de inteligencia.

    Adems del uso del espacio cuadriculado como mundo bsico para ilustrar las tcnicas de IA, recurso que nos permitir unificar y focalizar nuestro tratamiento, mencionaremos de paso algunas aplicaciones importantes a problemas reales.

    Lecturas y consideraciones adicionales Para una discusin contra el uso del Test de Turing (lo cual, desgraciadamente, puede ser interpretado como un motivo para abandonar la gran meta de la lA de conseguir inteligencia de nivel humano) vase [Hayes y Ford, 1995]. El Test de Turing tambin desempea un papel importante en la novela Galetea 2.2 [Powers, 1995].

    Tanto la aproximacin ascendente en la IA, como la aproximacin descendente, han estado inspiradas en estudios sobre comportamiento humano y animal. Los partidarios de la aproximacin ascendente tienden a focalizar su atencin sobre el comportamiento (usualmente simple), que puede ser conseguido mediante el ensamblado de elementos computacionales de tipo neuronal o de puertas lgicas. Se han creado y utilizado diversos modelos computacionales de comportamiento animal, como los estudiados por los etlogos. Muchos de los modelos evolutivos y de los llamados modelos basados en comportamiento derivan de los modelos animales. Para una discusin ejemplar sobre el paralelismo entre animales y robots, [vase, Anderson y Donath, 1990, y Beer, Chiel y Sterling, 1990].

    Los investigadores partidarios de la aproximacin ascendente y los neurocientficos han desarrollado modelos de redes neuronales que pretenden explicar ciertos fenmenos perceptuales y motores de los humanos, tales como los estudiados por los psiclogos. Algunos ejemplos son las redes que aprenden a pronunciar palabras a partir de texto escrito [Sejnowski y Rosenberg, 1987]; las redes que reconocen caracteres alfanumricos variables en tamao, orientacin y posicin [Minnix; McVey, e Iigo, 1991]; y las redes que perciben letras y son sensibles al contexto [McClelland y Rumelhart, 1981, y McClelland y Rumelhart, 1982].

    Introduccin

    Cuando los investigadores partidarios de la aproximacin descendente se inspiran en modelos animales y humanos, tienden a focalizar su atencin en aquellos aspectos que mejor se adaptan al modelado mediant