libro inteligencia artificial

Upload: danny-richard-quispe-atahuaman

Post on 15-Jul-2015

2.804 views

Category:

Documents


3 download

TRANSCRIPT

UNIVERSIDAD PERUANA LOS ANDES

FACULTAD DE INGENIERA

INTELIGENCIA ARTIFICIAL

Mg. ABRAHAM ESTEBAN GAMARRA MORENO Magster en Informtica Dr(c) en Ingeniera de Sistemas email: [email protected]

Mg. Abraham Gamarra Moreno

i

CONTENIDO

CONTENIDO ................................................................. II UNIDAD ACADMICA 1.................................................. 6 INTRODUCCIN A LA INTELIGENCIA ARTIFICIAL......... 61.1. DEFINICIONES DE INTELIGENCIA ARTIFICIAL ..................................... 6 1.2. PREHISTORIA DE LA INTELIGENCIA ARTIFICIAL ................................. 7 1.2.1. CONSTRUCCIN DE AUTMATAS ................................................... 7 1.2.2. AUTOMATIZACIN DEL RAZONAMIENTO ................................... 11 1.2.3. CIBERNTICA ...................................................................................... 12 1.3. EL NACIMIENTO DE LA INTELIGENCIA ARTIFICIAL ........................... 13 1.3.1. PERIODO 1956 - 1969 ...................................................................... 15 1.3.2. PERIODO 1970 - 1979 ...................................................................... 27 1.3.3. AOS OCHENTA Y PRINCIPIOS DE LOS 90 ................................ 30 1.3.4. AOS 90 Y EL PRESENTE................................................................. 33 1.4. LAS REAS DE INVESTIGACIN DE LA IA ............................................ 36 1.5. REAS DE APLICACIN DE LA IA2 .......................................................... 37 1.6. APLICACIONES COMERCIALES DE LA INTELIGENCIA ARTIFICIAL238 RESUMEN ........................................................................................................................ 40 INDICADORES DE LOGRO ............................................................................................... 40 BIBLIOGRAFA RECOMENDADA ....................................................................................... 40 NEXO .............................................................................................................................. 41 ACTIVIDAD ..................................................................................................................... 41 AUTO EVALUACIN FORMATIVA ...................................................................................... 41

UNIDAD ACADMICA 2................................................ 42 REPRESENTACIN DEL CONOCIMIENTO ..................... 422.1. REPRESENTACIN DEL CONOCIMIENTO MEDIANTE LGICA PROPOSICIONAL ....................................................................................................... 42 2.2. REPRESENTACIN MEDIANTE LGICA DE PREDICADOS ................ 45 2.2.1. UNIFICACIN ...................................................................................... 48 2.2.2. INFERENCIA Y RAZONAMIENTO .................................................... 49 2.2.3. REGLAS DE INFERENCIA.................................................................. 49 2.2.4. MTODOS BSICOS DE RAZONAMIENTO................................... 51 2.2.5. EJEMPLO (2-1): BASE DE CONOCIMIENTO SOBRE QUE PRODUCTOS PUEDEN COMPRAR UNA PERSONA ........................................ 52 2.2.6. EJEMPLO (2-2): PROGRAMA QUE REPRESENTA LA ASOCIACIN DE LOS MIEMBROS DE UNA FAMILIA ................................................................... 54 2.2.7. EJEMPLO (2-3): PROGRAMA QUE REPRESENTA LA DISPOSICIN DE UN SISTEMA DE BLOQUES ......................................................................... 56 2.3. DIAPOSITIVAS SOBRE PROGRAMACIN LGICA CON PROLOG.... 59 RESUMEN ........................................................................................................................ 69 INDICADORES DE LOGRO ............................................................................................... 69 BIBLIOGRAFA RECOMENDADA ....................................................................................... 69 NEXO .............................................................................................................................. 70 ACTIVIDAD ..................................................................................................................... 70 AUTO EVALUACIN FORMATIVA ...................................................................................... 70

UNIDAD ACADMICA 3................................................ 74

Mg. Abraham Gamarra Moreno

ii

REPRESENTACIN DEL CONOCIMIENTO MEDIANTE REGLAS DE PRODUCCIN ......................................................... 743.1. INFERENCIA BASADA EN REGLAS .......................................................... 75 3.2. EL PROCESO DE RAZONAMIENTO .......................................................... 75 3.2.1. Encadenamiento hacia atrs........................................................... 76 3.2.2. Encadenamiento hacia adelante .................................................... 82 RESUMEN........................................................................................................................ 88 INDICADORES DE LOGRO ............................................................................................... 88 BIBLIOGRAFA RECOMENDADA....................................................................................... 88 NEXO .............................................................................................................................. 88 ACTIVIDAD ..................................................................................................................... 89 AUTO EVALUACIN FORMATIVA ...................................................................................... 89

UNIDAD ACADMICA 4 ................................................ 90 DISEO DE SISTEMAS BASADO EN REGLAS CON ENCADENAMIENTO HACIA ATRS ............................... 904.1. INTRODUCCIN........................................................................................... 90 4.2. METODOLOGA GENERAL PARA EL DISEO DE SISTEMAS BASADO EN REGLAS CON ENCADENAMIENTO HACIA ATRS.............................................. 91 4.2.1. TAREA 1: DEFINICIN DEL PROBLEMA....................................... 92 4.2.2. TAREA 2: DEFINICIN DE LOS OBJETIVOS ............................... 93 4.2.3. TAREA 3: DISEO DE LAS REGLAS .............................................. 94 4.2.4. TAREA 4: EXPANDIENDO EL SISTEMA .......................................101 4.2.5. TAREA 5: REFINAR EL SISTEMA ...................................................111 4.2.6. TAREA 6: DISEO DE INTERFAZ..................................................117 4.2.7. TAREA 7: EVALUACIN DEL SISTEMA........................................121 4.3. RESUMN DEL DISEO DE UN SISTEMA CON ENCADENAMIENTO HACIA ATRS 135 RESUMEN.......................................................................................................................136 INDICADORES DE LOGRO ..............................................................................................136 BIBLIOGRAFA RECOMENDADA......................................................................................136 NEXO .............................................................................................................................136 ACTIVIDAD ....................................................................................................................136 AUTO EVALUACIN FORMATIVA .....................................................................................136

UNIDAD ACADMICA 5 .............................................. 138 DISEO DE SISTEMAS BASADO EN REGLAS CON ENCADENAMIENTO HACIA ADELANTE ....................... 1385.1. ETAPA 1: AISLAR EL REA PARA DESARROLLAR EL SBC. ...............139 5.2. ETAPA 2: PRECISAR EL PROBLEMA DEL REA DESIGNADA PARA EL DESARROLLO DEL SBC ...........................................................................................140 5.3. ETAPA 3: CREAR UN DIAGRAMA DE DEPENDENCIA .........................142 5.4. ETAPA 4: CREAR TABLAS DE DECISIN ..............................................143 5.5. ETAPA 5: ESCRIBIR LAS REGLAS IF THEN ..........................................150 5.6. ETAPA 6: CONSTRUIR LA INTERFAZ DE USUARIO............................157 RESUMEN.......................................................................................................................157 INDICADORES DE LOGRO ..............................................................................................157 BIBLIOGRAFA RECOMENDADA......................................................................................157 NEXO .............................................................................................................................158 ACTIVIDAD ....................................................................................................................158 AUTO EVALUACIN FORMATIVA .....................................................................................158

UNIDAD ACADMICA 6 .............................................. 159

Mg. Abraham Gamarra Moreno

iii

APRENDIZAJE CON REDES NEURONALES ARTIFICIALES PARTE 1 .................................................................... 1596.1. FUNDAMENTOS BIOLGICOS ................................................................ 160 6.2. LA NEURONA ARTIFICIAL ........................................................................ 161 6.2.1. PESOS DE INTERCONEXIN ......................................................... 162 6.2.2. FUNCIONES DE ACTIVACIN ....................................................... 162 6.3. REDES DE NEURONAS.............................................................................. 162 6.3.1. REDES MONOCAPA (1 CAPA)........................................................ 164 6.3.2. REDES NEURONALES MULTICAPAS ............................................ 166 6.4. OPERACIN DE UNA RED NEURONAL.................................................. 169 6.5. ENTRENAMIENTO DE UNA RED NEURONAL ....................................... 170 6.5.1. ENTRENAMIENTO SUPERVISADO ................................................ 170 6.5.2. ENTRENAMIENTO NO SUPERVISADO ......................................... 175 6.6. TIPOS DE REDES NEURONALES MS IMPORTANTES ...................... 175 6.7. APLICACIONES DE LAS REDES NEURONALES ................................... 175 6.8. LA RED BACKPROPAGATION4................................................................. 183 6.8.1. LA REGLA DELTA GENERALIZADA............................................... 185 RESUMEN ...................................................................................................................... 198 INDICADORES DE LOGRO ............................................................................................. 198 BIBLIOGRAFA RECOMENDADA ..................................................................................... 198 NEXO ............................................................................................................................ 198 ACTIVIDAD ................................................................................................................... 199 AUTO EVALUACIN FORMATIVA .................................................................................... 199

UNIDAD ACADMICA 7.............................................. 200 APRENDIZAJE CON REDES NEURONALES ARTIFICIALES PARTE 2 .................................................................... 2007.1. IMPLEMENTACIN DE APLICACIONES CON REDES NEURONALES200 7.1.1. DETECCIN DE OBSTCULOS POR MEDIO DE UN ROBOT.. 200 7.1.2. APLICACIN PARA SNTOMAS Y DIAGNSTICOS DE AUTOMVILES..................................................................................................... 218 7.1.3. CONCESIN DE AYUDAS POR ESTUDIOS................................. 234 7.1.4. IMPLEMENTACIN DE OTRAS APLICACIONES CON REDES NEURONALES ARTIFICIALES .......................................................................... 237 RESUMEN ...................................................................................................................... 237 INDICADORES DE LOGRO ............................................................................................. 237 BIBLIOGRAFA RECOMENDADA ..................................................................................... 238 NEXO ............................................................................................................................ 238 ACTIVIDAD ................................................................................................................... 238 AUTO EVALUACIN FORMATIVA .................................................................................... 238

UNIDAD ACADMICA 8.............................................. 239 LGICA DIFUSA ........................................................ 2398.1. TEORA DE LA CERTEZA .......................................................................... 239 8.1.1. FACTOR DE CERTEZA...................................................................... 240 8.2. FACTORES DE CERTEZA EN SISTEMAS BASADOS EN REGLAS .... 240 8.3. LGICA DIFUSA ......................................................................................... 243 8.3.1. HISTORA DE LA LGICA DIFUSA............................................... 243 8.3.2. QUE ES LA LGICA DIFUSA? ...................................................... 245 8.3.3. VARIABLES LINGSTICAS ........................................................... 246 8.3.4. TEORA DE CONJUNTOS DIFUSOS ............................................. 247 8.3.5. APROXIMACIN DE LAS FUNCIONES DE PERTENENCIA EN LOS CONJUNTOS DIFUSOS ...................................................................................... 253

Mg. Abraham Gamarra Moreno

iv

8.3.6. 8.4.

OPERACIONES ENTRE CONJUNTOS DIFUSOS..........................256

DESARROLLO DE UN SISTEMA DIFUSO BASADO EN REGLAS .......258 DEFINICIN DEL PROBLEMA .........................................................258 DEFINICIN DE LAS VARIABLES LINGSTICAS ....................258 DEFINICIN DE LOS CONJUNTOS DIFUSOS ............................259 DEFINICIN DE LA REGLAS DIFUSAS ........................................262 CONSTRUIR EL SISTEMA ................................................................264 PROBAR EL SISTEMA .......................................................................265 DEFUZZIFICACIN DE LA VARIABLE DE SALIDA ....................268

8.4.1. 8.4.2. 8.4.3. 8.4.4. 8.4.5. 8.4.6. 8.4.7. 8.5.

EJEMPLO 2 DEL USO DE LGICA DIFUSA ............................................272

RESUMEN.......................................................................................................................280 INDICADORES

DE LOGRO

..............................................................................................281

BIBLIOGRAFA RECOMENDADA......................................................................................281 ACTIVIDAD ....................................................................................................................281 AUTO EVALUACIN FORMATIVA .....................................................................................281

Mg. Abraham Gamarra Moreno

v

UNIDAD ACADMICA 1

INTRODUCCIN A LA INTELIGENCIA ARTIFICIAL

1.1. DEFINICIONES DE INTELIGENCIA ARTIFICIAL

Algunas definiciones sobre Inteligencia Artificial son:

La Inteligencia Artificial estudia cmo lograr que las mquinas realicen tareas, que por el momento, son realizadas mejor por los seres humanos.

La Inteligencia Artificial trata de encontrar las tcnicas para disear y programar mquinas -computadoras- que emulen nuestras capacidades mentales.

La Inteligencia Artificial es el rea que trata de analizar o estudiar el comportamiento humano, y llevarlo a mquinas (computadores).6

Mg. Abraham Gamarra Moreno

La Inteligencia Artificial es la emulacin de un comportamiento inteligente, como reacciona, como aprende. Se trata de dotar de esta inteligencia artificial a seres no vivos (computadores), con el fin de ayudar a la humanidad. Se denomina inteligencia artificial a la rama de la informtica que desarrolla procesos que imitan a la inteligencia de los seres vivos. La principal aplicacin de esta ciencia es la creacin de mquinas para la automatizacin de tareas que requieran un comportamiento inteligente. 1.2. PREHISTORIA DE LA INTELIGENCIA ARTIFICIAL1 La prehistoria de la inteligencia artificial abarca desde los primeros tiempos de nuestra civilizacin hasta mediados del siglo XX. En este perodo se producen hechos que podemos agrupar en dos lneas: una de ellas directamente relacionada con la construccin de autmatas que simulaban el comportamiento humano o animal, y que solan funcionar en ayuda de su amo. la otra lnea, referente a la informacin y automatizacin del razonamiento lgico y matemtico.

1.2.1.

CONSTRUCCIN DE AUTMATAS

La inteligencia se ha asociado a los aparatos mecnicos complejos, como es el caso de los autmatas. Mucho antes de que surgiera la inteligencia artificial como una disciplina autnoma, hubo una gran cantidad de consideraciones casi filosficas sobre la posibilidad de reproducir el ser humano mediante mquinas.

1

Planell Perez. Historia de la Inteligencia Artificial [en lnea]. Espaa: Ebooks gratis; 2008. [fecha de acceso 16 de noviembre de 2007]. URL disponible en: http://66.240.239.19/2/7/0/27068.ZIP

Mg. Abraham Gamarra Moreno

7

El nacimiento de la Inteligencia Artificial, y el concepto de mquinas inteligentes, debe ser buscado en la mitologa griega. Los artefactos inteligentes aparecen en la literatura desde entonces. La primera mencin de los autmatas aparece en la Ilada escrita en el siglo VIII a.C (canto XVIII), donde leemos que Vulcano fabricaba "veinte trpodes que deban permanecer arrimados a la pared del bien construido palacio y tenan ruedas de oro en los pies para que de propio impulso pudieran entrar donde los dioses se congregaban y volver a la casa" (V.368-384) y que era ayudado en su cojera por "dos estatuas de oro semejantes a vivientes jvenes, pues tenan inteligencia, voz y fuerza" (V. 410-4234). Por otra parte, la tradicin juda cre el mito del "golem" en 1580 (figura 1.1), figura humanoide hecha de arcilla a la que un rabino poda dar vida propia, convirtindola en un perfecto criado (que, en leyendas posteriores, llega a escapar del control de su amo). Hay que decir, sin embargo, que se requera la intervencin divina para conseguir estos espectaculares resultados. Al llegar el racionalista Descartes, siglo XVIII, las cosas fueron diferentes (1596-1650). Descartes haba defendido la tesis del "animal-mquina": los seres vivos, salvo el hombre, son meros mecanismos. La Mettrie, en 1747, va ms all con su escandaloso "L' homme machine": tambin el hombre y su comportamiento inteligente son explicables en trminos exclusivamente mecnicos. Ciertamente existan admirables mecanismos, por ejemplo, los de: el flautista (1737) que mova realmente los dedos para producir una meloda, o el pato (1738) capaz de nadar, batir alas, comer y expulsar excrementos simulados (figura 1.2). No por casualidad Vaucanson fue, antes de Jacquard, el inventor del telar automtico de tarjetas perforadas.8

Mg. Abraham Gamarra Moreno

Figura 1.1. Figura del golem

Figura 1.2. Pato de Vaucanson

El espaol Torres Quevedo construy dos versiones del jugador ajedrecista. Se trata de un autmata jugador de final de partidas de ajedrez: juega el rey y torre blancos (mquina) contra el rey negro (jugador humano). El resultado (victoria de las blancas) del juego est determinado algortmicamente. Para simplificar el diseo, el autmata lograba siempre el jaque mate, si bien no por el camino ms corto. El primer jugador fue construido en 1912 y expuesto en Pars en 1914, ocasionando gran sensacin. Dispona de un brazo mecnico para mover las piezas, y de sensores elctricos en el tablero para conocer su ubicacin. El segundo jugador (figuraMg. Abraham Gamarra Moreno

9

1.3), de 1920, fue construido por su hijo Gonzalo, y en l el movimiento de las piezas se consigue mediante imanes dispuestos bajo el tablero. Ambos ingenios eran de naturaleza electromecnica, y se citan como precursores de la Inteligencia Artificial. Ciertamente, constituyeron el primer intento exitoso de construir un autmata que jugase realmente a un juego humano, lo que se vena intentando desde el siglo XVIII.

Figura 1.3. El segundo jugador de ajedrez

En 1929 se presentaba en Francia el "Philidog", que segua el rayo luminoso de una linterna y ladraba si la intensidad luminosa era excesiva. El escritor Karel Kapek difunde en los aos 20 una palabra destinada a tener un gran xito: "robot". En su obra R.U.R."(Rossum'sMg. Abraham Gamarra Moreno

10

Universal Robots) aparecen unos seres creados para realizar las tareas que el hombre no quiere hacer, que acaban siendo ms poderosos que el mismo hombre, llegando a poner en peligro su existencia. Sin embargo, hasta la llegada de los ordenadores electrnicos no dispusieron los cientficos y tcnicos de una herramienta que permitiera la ejecucin de tareas ms complejas por parte de dispositivos mecnicos, ni para la construccin de robots.

1.2.2.

AUTOMATIZACIN DEL RAZONAMIENTO

La segunda de las lneas es la automatizacin del razonamiento, y por tanto, la obtencin de una formalizacin. Encontramos en primer lugar a Ramon Llull y su "Ars Magna", donde describe una gramtica universal para cristianos, musulmanes y hebreos, es decir, un mtodo cientfico de discusin. Esta ciencia universal consiste en que los msticos de las tres religiones del libro aceptan que Dios tiene unos atributos, que hay un cierto nmero de "nombres de Dios", Llull los describi y cre unas tablas que permitan que cada trmino pudiese combinarse con los dems, puesto que todos eran equivalentes y cre una gramtica universal con una lgica binaria, combinatoria. Tambin encontramos a Leibniz que busc un lgebra universal que permitiera deducir todas las verdades, y as "si surgieran controversias no habra necesidad de mayor disputa entre dos filsofos que entre dos contables, pues bastara que, tomando en sus manos el lpiz, se sentaran frente a sus pizarras y se dijeran (con un amigo como testigo): calculemos", como antecesores de los sistemas formales y de la lgica que tan buen papel juegan en la inteligencia artificial moderna. Los estudios matemticos de Rusell y Hilbert de comienzos de siglo permitieron por primera vez reducir el razonamiento (o un tiposMg. Abraham Gamarra Moreno

11

de razonamiento) a la manipulacin abstracta de cadenas de smbolos, idea de gran fecundidad en los mecanismos de la inferencia simblica de la inteligencia artificial y tambin en los sistemas de representacin del conocimiento. Las teoras de la computabilidad y de los autmatas proporcionan el vnculo entre la formalizacin del razonamiento y las mquinas que estaban a punto de surgir tras la Segunda Guerra Mundial. En este ambiente, no es extraa que la aparicin de las primeras mquinas electrnicas de cmputo fuera seguida inmediatamente por los intentos de aplicarlas a lo que hoy llamamos Inteligencia Artificial.

1.2.3.

CIBERNTICA

Un ltimo elemento importante en la prehistoria de la Inteligencia Artificial, es la ciberntica. En los primeros aos de la informtica era habitual hablar de cerebros electrnicos y, de hecho, este era uno de los objetivos lejanos que resultaban ms del gusto de los pioneros como Von Neumann. Ms solidez han tenido las ideas que provenan de la ciberntica. La nueva visin, fruto de la inspiracin de Norbert Wiener (figura 1.4), qued publicada a partir de 1948 en su famoso libro Cibernetics y, ms adelante, el mismo Wiener analiz las relaciones de la ciberntica con la sociedad. Ciberntica es un trmino que ya haba sido utilizado en el ao 1834 por el francs Ampre, pero fue redefinido por Wiener como el campo de la teora del control y la comunicacin, tanto en las mquinas como en los animales. En paralelo a la construccin de los primeros ordenadores electrnicos, la ciberntica introdrujo nuevos conceptos como los de la retro-alimentacin (feedback), el control y los sistemas auto-organizados.Mg. Abraham Gamarra Moreno

12

La ciberntica influy en muchos campos debido a su naturaleza fundamentalmente interdisciplinar, ligando entre s la fisiologa neuronal, la teora de la informacin de Shannon, la lgica matemtica y la naciente tecnologa informtica. De esta forma, las ideas de los creadores de la ciberntica llegaron a ser parte del espritu del tiempo, e influyeron fuertemente en los primeros investigadores de la Inteligencia Artificial.

Figura 1.4. Norbert Wiener

1.3. EL NACIMIENTO DE LA INTELIGENCIA ARTIFICIAL Ambiciosos y optimistas se mostraban los pioneros de la Inteligencia Artificial durante los primeros aos de la era informtica. Pero el fracaso de la mayora de sus proyectos mostr que los problemas que intentaban resolver eran demasiados complicados, tanto terica como tecnolgicamente. En Julio de 1945 Vannevar Bush public As We May Think una visin del futuro en donde los ordenadores asistan a los humanos en muchas actividades.13

Mg. Abraham Gamarra Moreno

En 1950 Alan Turing present un artculo sobre el tema de la Inteligencia Artificial, titulado Inteligencia y Funcionamiento de Mquinas. En este trabajo propone un "Test de Turing" para determinar el carcter inteligente o no de una mquina. El test parte del juego donde un interrogador tiene que descubrir el sexo de dos participantes A y B situados en otra habitacin, aunque los dos dicen ser mujeres, en verdad son un hombre y una mujer. En la propuesta original de Turing, se trataba de sustituir a la mujer por un ordenador, y que el interrogador descubriera quien era la mquina de los dos participantes, los dos decan ser personas. Este objetivo haba que cumplirlo incluso sabiendo que los participantes no estaban obligados a decir la verdad y que, por ejemplo, la mquina poda decidir dar un resultado errneo en una multiplicacin o decir el resultado lo suficientemente ms tarde despus de haberlo obtenido, para engaar al interlocutor sobre su propia habilidad calculista. En la hiptesis optimista del mismo Turing, ms o menos alrededor del ao 2000 se podra disponer de ordenadores suficientemente potentes para conseguir que un interrogador normal no tuviera ms del 70% de posibilidades de realizar la identificacin correcta a los cinco minutos del comienzo de las preguntas. Hay que decir que la prediccin de Turing parece, ahora mismo, muy optimista. Posteriormente, en 1955 fue creado un lenguaje de procesamiento (bsqueda heurstica) por Allen Newell, J. C. Shaw y Herbert Simon que fue considerado como el primer lenguaje especializado de la Inteligencia Artificial, era el IPL-II (Information Proccessing Language-II). En el verano del 1956 tuvo lugar la Conferencia del Darmouth en Hanover (New Hampshire) sobre Inteligencia Artificial, organizada por John McCarthy (Stanford), Marvin Minsky (MIT), Allen Newel y Herbert Simon, con el patrocinio de la fundacin Rockefeller, reuniMg. Abraham Gamarra Moreno

14

a todos los que trabajaban en el recin estrenado campo de la Inteligencia Artificial. A la Dartmouth Conference, Newell y Simon ya disponan de un programa pro- Inteligencia Artificial, el Logic Theorist que reolva problemas de bsqueda heurstica, junto con los principios matemticos de Whitehead y Rusell. Gracias a esta conferencia se crearon diferentes grupos de estudio de especialidades en diversas universidades como el Instituto Tecnolgico de Masachussets, MIT (Minsky), Stanford (McCarthy) y Carnegie-Mellon (Newell y Simon). Destaquemos tambin que a mediados de los aos 50 John McCarthy y posteriormente el MIT, disearon el lenguaje LISP (List Processing). De todas formas, la Conferencia del Darmouth acuaba la expresin "Inteligencia Artificial" y predeca que al cabo de 25 aos los ordenadores haran todo el trabajo de los seres humanos, y en 1958 Newell y Simon aseguraban que en 1968 un ordenador sera campen mundial de ajedrez y habra demostrado algn teorema importante de las matemticas.

1.3.1.

PERIODO 1956 - 1969

En este periodo la Inteligencia Artificial es una actividad acadmica poco conocida fuera de los crculos especializados. Durante estos aos la Inteligencia Artificial se caracteriza por una ambicin exagerada en los objetivos que se pretenden lograr, agravndose este hecho por las limitaciones reales del hardware y del software de la poca. Esto abocara en una gran decepcin al final de este periodo, debido a la dificultad de obtener resultados y a la constatacin terica de la imposibilidad de obtenerlos en ciertos casos. Aun as en esta poca se realizaron con xito varios proyectos menos amMg. Abraham Gamarra Moreno

15

biciosos que supusieron un avance en el campo de la Inteligencia Artificial (LISP, SAINT, juego de damas, ELIZA, Student, etc.). Los proyectos mas ambiciosos de esta poca fueron el intento del General Problem Solver(GPS), el Perceptron, la Traduccin Automtica y la resolucin generalizada de problemas matemticos. Logic Theorist. 1956. El Logic Teorist fue programado por Alan Newell, Herbert Simon y J.C. Shaw y buscaba las demostraciones de Teoremas Lgicos. Un teorema lgico tiene la siguiente forma: supuesto que o bien X o bien Y es verdadera, y supuesto que Y es de hecho falsa, entonces X es verdadera. El Logic Theorist encontr la demostracin de 38 de los 52 teoremas presentes en el capitulo II de los "Principia Mathematica" de Bertrand Russell y Alfred North Whitehead. Sirvi como base para el GPS. General Problem Solver(GPS). El Solucionador General de Problemas fue llevado a cabo por Alan Newell, Herbert Simon y J.C. Shaw. La filosofa de GPS era que las tcnicas para solucionar un problema pueden separarse del conocimiento especfico sobre el problema. Se trata de un programa que solo resuelve problemas en un microcosmos formalizado. El programa es capaz de resolver problemas como el de las Torres de Hanoi. Exactamente del tipo puzzle en los que una vez que se ha descrito el objetivo y la posicin final, y dado un listado de los medios disponibles, GPS puede realizar los ensayos necesarios hasta alcanzar el objetivo (anlisis medios-fines). Tambin utiliza la teora de la retroalimentacin de Wiener. Perceptrn. Proyecto iniciado en el 1958 por Frank Rosenblatt. Su intencin era ilustrar algunas propiedades fundamentales de los sistemas inteligentes en general, sin entrar en mayores detalles con respecto a condiciones especficas y desconocidas para organismos biolgicos concretos. Rosenblatt crea que la conectividadMg. Abraham Gamarra Moreno

16

existente en las redes biolgicas tiene un elevado porcentaje de aleatoriedad y que la herramienta de anlisis ms apropiada era la teora de probabilidades. El Perceptrn que desarrollo Rosenbatt imitaba el funcionamiento del ojo humano, el fotoperceptrn como se le llam era un dispositivo que responda a seales pticas. El Perceptrn era inicialmente un dispositivo de aprendizaje, en su configuracin inicial no estaba en capacidad de distinguir patrones de entrada muy complejos, sin embargo mediante un proceso de aprendizaje era capaz de adquirir esta capacidad. Mediante estas investigaciones se pudo demostrar que el Perceptrn era capaz de clasificar patrones correctamente, en lo que Rosenblatt denominaba un entorno diferenciado, en el cual cada clase estaba formada por patrones similares. El Perceptrn tambin era capaz de responder de manera congruente frente a patrones aleatorios, pero su precisin iba disminuyendo a medida que aumentaba el nmero de patrones que intentaba aprender. En 1969 Marvin Minsky y Seymour Papert publicaron su libro: "Perceptrons: An introduction to Computational Geometry", el cual para muchos signific el final de las redes neuronales. En el se presentaba un anlisis detallado del Perceptrn, en trminos de sus capacidades y limitaciones, en especial en cuanto a las restricciones que existen para los problemas que una red tipo Perceptrn puede resolver; la mayor desventaja de este tipo de redes es su incapacidad para solucionar problemas que no sean linealmente separables. A pesar de esta limitacin, el Perceptrn es an hoy una red de gran importancia, pues con base en su estructura se han desarrollado otros modelos de red neuronal como la red Adaline y las redes multicapa.17

Mg. Abraham Gamarra Moreno

LISP (LISt Procesing). En 1958 John McCarthy anunci el desarrollo del lenguaje de programacin LISP (LISt Procesing), este fue considerado desde aquel momento como lenguaje de programacin de los investigadores de I.A. El LISP es un lenguaje declarativo funcional. SAINT (Symbolic Automatic INTegrator). Programa desarrollado por J. Slagle en 1961. Con el que se inicia la automatizacin de la integracin simblica. GTP (Geometry Theorem Prover), Demostrador de Teoremas Geomtricos, programa desarrollado por Herbert Gelernter y auspiciado por IBM para resolver problemas de geometra elemental. Se inicio en el 1958. Gelernter trabaj durante tres aos, escribiendo y desarrollando las veinte mil introducciones que componan el GPS, pero adems tuvo que disear un nuevo lenguaje de programacin. GPS funcionaba de atrs hacia delante (backward), primero se expone el teorema a demostrar y el programa empieza a construir cadenas de resultados intermedios que conducen al fin, a teoremas conocidos o a axiomas. Programa para jugar a las damas. Programa creado por Arthur Samuel (figura 1.5) en 1962 y al igual que el proyecto GTP fue auspiciado por IBM. El programa era capaz de aprender por si solo. Aprenda de la experiencia teniendo en cuenta sus errores y xitos pasados para determinar su juego en partidas posteriores. Alex Bernstein, consigui tambin un resultado similar para el ajedrez. Tras hacerse eco la prensa de estos logros, se creo un escndalo entre los periodistas y accionistas de IBM en general al considerar que se estaba gastando el dinero de investigacin en unos objetivos tan frvolos. Con lo que IBM no sigui aportando fondos para investigaciones en el campo de la Inteligencia Artificial.18

Mg. Abraham Gamarra Moreno

Figura 1.5. Arthur Samuel (de pie)

Fracaso de la Traduccin Automtica, La CIA y otros organismos militares, tras ser conocedores de la utilizacin, por parte del ejercito britnico, de ordenadores en la Segunda Guerra Mundial para descifrar cdigos secretos enemigos; pensaron que la traduccin automtica no seria ms difcil, as podran leer casi en el acto cualquier publicacin del mundo, escrita en cualquier idioma. Despus de gastar veinte aos de investigacin y casi veinticinco millones de dlares en proyectos de este tipo la NRC (Consejo Nacional de Investigacin, de EE.UU.) puso fin a este tipo de investigaciones en todo los Estados Unidos. Este hecho hizo que se paralizasen todas las investigaciones con inversin pblica respecto a Inteligencia Artificial., el ALPAC (Automated Language Processing Advisory Committee), Comit de Seguimiento del Procesamiento Automtico del Lenguaje, arroll a todos los laboratorios en los que se realizaban proyectos sobre investigacin lingstica, afortunadamente, los centros de investigacin ms importantes (MIT, Carnegie Mellon y Stanford) se salvaron por no tener entre manos ningn proyecto asociado a la rama de la Traduccin Automtica.19

Mg. Abraham Gamarra Moreno

Se reconocen las dificultades: concepcin errnea de los proyectos, mal conocimiento del lenguaje, tcnicas informticas inadecuadas, etc. Sin embargo, posteriormente comienzan a vislumbrarse importantes avances tanto en lingstica terica como en ciencia informtica. Como ancdota se tiene el resultado que se obtuvo al traducir primero del ingls al ruso, y el resultado se tradujo de nuevo al ingls: - Original en ingls: El espritu es fuerte, pero la carne es dbil. - Resultado despus de traducir al ruso y luego al ingls: El vodka es bueno, pero el filete est podrido. Micromundos de Bloques. El proyecto de los Micromundos fue ideado por Marvin Minsky y Seymour Paper en 1963. Tras desistir de sus intentos previos en visin artificial ante la dificultad que supona realizar un proyecto de tal magnitud, en los que se intentaba conectar una cmara de televisin a un ordenador y hacer que la cmara describiera lo que vea. Minsky opto por llevarla a cabo en un plano ms reducido, los Micromundos de Bloques. Los micromundos no eran otra cosa que "representaciones" de laboratorio de la vida real, con un aditivo muy especial, el sujeto que interaccionara con la realidad sera un ordenador con forma de robot o de simple programa. Se crearon programas capaces de tratar con objetos geomtricos (SHRDLU), robots que manejaban cubos (Shakey) y diferentes programas que "entendan" el ingles para sacar de las frases una determinada informacin (SIR y STUDENT). Finalmente en 1969 el proyecto de los Micromundos tambin fracaso, pues su "sencillez" no tena visos de ampliarse y cambiar el prefijo "micro" por uno con un significado ms extenso. ARPA (Advanced Research Proyect Agency) dejo de subvencionar el proyectoMg. Abraham Gamarra Moreno

20

tras acabarse los plazos fijados y ver que no se haba logrado ni un 25% de lo prometido. STUDENT y SIR. 1964. Daniel Bobrow present como tesis doctoral a su profesor, Marvin Minsky, un programa llamado STUDENT, este era capaz de entender enunciados de problemas algebraicos escritos en ingls y responder a sus preguntas. Los problemas caractersticos que poda solucionar STUDENT son similares al siguiente: "El to de Guillermo es dos veces ms viejo que el padre de Guillermo. Dentro de dos aos, el padre de Guillermo ser tres veces ms viejo que Guillermo .La suma de sus edades es 92. Averiguar la edad de Guillermo". A su vez, Bertram Raphael disea SIR (Semantic Information Retrieval), Recuperacin de informacin semntica, este programa comprenda oraciones sencillas en ingls que describan situaciones acerca de pertenencias y relaciones parecidas. Por ejemplo, una conversacin con SIR podra ser (de hecho lo es) la siguiente: Persona> Todo muchacho es una persona SIR> Entiendo Persona> Un dedo es una parte de la mano SIR> Entiendo Persona> Cada persona tiene dos manos SIR> Esta oracin es ambigua, reformlela, por favor. Persona> Hay dos manos en cada persona SIR> Entiendo Persona>Cuntos dedos tiene Juan?21

Mg. Abraham Gamarra Moreno

SIR> Esta oracin es ambigua. Persona> Juan es un muchacho SIR> Entiendo Persona>Cuntos dedos tiene Juan? SIR> Esta oracin es ambigua, pero supongo que (TIENE) significa (TIENE COMO PARTES). Cuntos dedos hay en cada mano? Persona> Cada mano tiene cinco dedos SIR> Entiendo Persona> Cuntos dedos tiene Juan? SIR> La respuesta es 10. Estos dos programas, SIR y ESTUDENT funcionan mediante la "comparacin de patrones", es decir, cuando el programa detecta que unas palabras clave estn colocadas de una forma especial, toma la informacin necesaria de donde el patrn le aconseja. ELIZA (o DOCTOR). Hacia 1965, Weizenbaum trabajaba en el MIT, intentando que los ordenadores hablaran en ingls con la gente. Pens que los programas existentes como STUDENT se basaban en dominios limitados, y los dominios que describan esos programas estaban ligados a la propia estructura del programa. Y dado que Weizenbaum se dio cuenta de que no podra conseguir ese fin en tan poco tiempo, pens en crear un programa con unas cuantas ideas que se le haban ocurrido. Una de esas ideas era que el conocimiento sobre los dominios se encontrase en mdulos ajenos al propio programa, as cambiar de tema seria tan fcil como cambiar de mdulo. Uno de esos mdulos, y el ms famoso, fue el que imitaba a un psicoanalista rogeriano (el psicoanalista Carl Rogers ponMg. Abraham Gamarra Moreno

22

a en funcionamiento una terapia que consista simplemente en animar a los pacientes a hablar de sus problemas, respondiendo a sus preguntas con otras preguntas). El programa en cuestin recibi el nombre de ELIZA (ahora todo un mito de la historia de la Inteligencia Artificial). Aunque a simple vista ELIZA parece estar hablando animadamente con la persona que le cuenta sus problemas, la verdad es muy diferente. ELIZA hace creer a su interlocutor que se est hablando con "un ser" que razona y entiende, realmente todo ello se logra mediante trucos como repetir frases cambiando "yo" por "tu", o echar mano a una frase del principio cuando el "hilo" se acaba transformndola en pregunta. Otro truco utilizado por este programa es insertar frases como "ya veo" o "hblame ms acerca de esto". Algo con lo que contaba a su favor ELIZA era que el planteamiento de las conversaciones seguira siempre un patrn comn de los psicoanlisis rogelianos en que otra conversacin no iba a resultar extrao escuchar frases como esta "hblame algo ms acerca de los coches rojos con motas verdes que apartan cerca de tu casa"?. A continuacin se muestra un ejemplo de una conversacin con ELIZA: PERSONA> Todos los hombres son iguales. ELIZA> De que forma? PERSONA> Siempre nos estn fastidiando de una forma u otra. ELIZA>Se te ocurre algn ejemplo especfico? PERSONA> S, mi novio me hizo venir aqu. ELIZA> Tu novio te hizo venir aqu PERSONA> Dice que me paso deprimida la mayor parte del tiempo. ELIZA> Siento enterarme de que estas deprimida23

Mg. Abraham Gamarra Moreno

PERSONA> Es verdad. No soy feliz. ELIZA> Crees que venir aqu te ayudar a ser feliz? PERSONA> Necesito alguna ayuda, eso s es verdad. ELIZA> Qu significa para ti obtener alguna ayuda? PERSONA> Quiz pueda aprender a sobrellevar a mi madre. ELIZA> Hblame algo ms acerca de tu familia. PERSONA> Mi madre se preocupa por m. ELIZA> Quin ms se preocupa por ti en tu familia? PERSONA> Mi padre ELIZA> Tu padre PERSONA> En algunas cosas te pareces a mi padre ELIZA> Qu parecido ves? PERSONA> No eres muy agresivo, pero creo que no quieres que yo me d cuenta de eso. ELIZA> Por qu piensas que yo no soy muy agresivo? PERSONA> T no discutes conmigo. ELIZA> Por que crees que yo no discuto contigo? PERSONA> Me tienes miedo ELIZA> Te gusta creer que te tengo miedo? PERSONA> Mi padre tiene el miedo a todo el mundo. ELIZA> Que ms se te ocurre cuando piensas en tu padre?24

Mg. Abraham Gamarra Moreno

PERSONA> En matones. ELIZA> Tiene eso que ver con el hecho de que tu novio te hizo venir aqu? A ms de una persona, le pareca que el programa seria capaz de superar el Test de Turing, pero realmente esto no es as, ya que la prueba de Turing deba de enfrentar a dos partes, una persona y un ordenador, ambas deban de comportarse de forma normal y habra que averiguar quien era la persona y quien el ordenador, este hecho quedara al descubierto en cuanto ELIZA dijese (por ejemplo): "Cuntame algo ms acerca de tu gusto por las pelculas en versin original", en una conversacin normal no se utilizan esas expresiones. SHAKEY. 1969. Un equipo de investigacin de Stanford tuvo la atrevida idea de poner ruedas a su robot, enseguida el ejercito (norteamericano) se mostr interesado por el proyecto, subvencionndolo por medio del ARPA (Avanced Research Proyects Agency), la idea de este era convertir al robot de Stanford en un espa mecnico, capaz de infiltrarse en las lneas enemigas para conseguir informacin. Pero la apariencia del robot no pareca capaz ni de cruzar la esquina: una caja cuadrada, con una cmara de televisin (de las del 69), un telmetro y una antena de radio. De todas formas el proyecto sigui adelante, y el robot fue bautizado como Shakey (figura 1.6). El mundo de Shakey era un Micromundo de Bloques de tamao natural, compuesto de siete habitaciones conectadas entre s por ocho puertas, habiendo en las habitaciones cubos que Shakey poda manipular, apilando y transportndolos de un lado a otro. Todo ello siguiendo las instrucciones (en ingls) que le transmitan mediante un teclado. Finalmente el fracaso de los Micromundos afecto a este proyecto ya que ARPA dejo de subvencionarlo.Mg. Abraham Gamarra Moreno

25

Figura 1.6. Robot fue bautizado como Shakey.

DENDRAL. El primer sistema experto. Tambin en 1965 se inicia la investigacin en la universidad de Stanford de sistemas expertos en el programa Heuristic Programming Project. En 1965 Feigenbaum entra a formar parte del departamento de informtica de Stanford. All conoci a Joshua Lederberg, el cual quera averiguar cual era la estructura de las molculas orgnicas completas. Si se quiere estudiar un compuesto qumico, lo primero que tenemos que hacer es averiguar su frmula qumica. El mtodoMg. Abraham Gamarra Moreno

26

habitual de anlisis consiste en dividir el problema en partes ms pequeas. El problema de Lederberg era que haba demasiadas combinaciones. Cada fragmento poda corresponder a varias subestructuras, pero solo una estructura molecular global se ajustaba a todas las restricciones del problema. El descubrimiento de esa estructura global exiga buscar en un rbol las posibilidades. Fue por esta razn por la que pusieron al programa el nombre de DENDRAL, que significa en griego "rbol". Antes de DENDRAL los qumicos solo tenan una forma de resolver el problema, y esta era tomar unas hiptesis relevantes como soluciones posibles, y someterlas a prueba comparndolas con los datos. La realizacin DENDRAL dur ms de diez aos (desde 1965). Conclusin de este periodo: Desde el principio de esta joven ciencia, la gran mayora de los propsitos y objetivos eran anunciados con aos de antelacin como grandes xitos, es ms se llegaba a anunciar con un plazo de meses, conceptos, como la Visin Artificial, cuando an no se haba puesto la primera letra sobre el papel. Este hecho, el de subestimar la dificultad de los proyectos, ha hecho mucho mal a la Inteligencia Artificial desde sus comienzos, la razn no es otra que la "desacreditaron" a la cual ha tenido que ser sometida por los medios de comunicacin y cientficos rivales (rivales o no partidarios de la Inteligencia Artificial), hasta el punto de perder subvenciones millonarias por los excesos de optimismo.

1.3.2.

PERIODO 1970 - 1979

Los problemas debidos al exceso de optimismo y ambicin sufridos en el periodo anterior, llevaron a un replanteamiento de los objetivos a perseguir y se pas a tratar problemas ms concretos. Como hecho mas destacado es el nacimiento de los sistemas expertos yMg. Abraham Gamarra Moreno

27

la recuperacin que trajo dentro del campo de la Inteligencia Artificial, ya que supuso el regreso de las inversiones. Los sistemas expertos o sistemas de produccin con reglas tratan problemas restringidos o un entorno limitado. Dos de los sistemas expertos ms populares son el MYCIN y el PROSPECTOR. En este periodo, tambin se inicia la institucionalizacin de la comunidad cientfica que trabaja en el campo de la Inteligencia Artificial con el Primer Congreso Internacional de Inteligencia Artificial. Poco despus, en el ao 1970, aparece el primer nmero de la revista especializada Artificial Intelligence. Otra de las diferencias con el periodo anterior es que la Inteligencia Artificial se extiende de los mbitos acadmicos a los centros de investigacin y a las universidades, donde las aplicaciones ya no son tan tericas y adems de tratar problemas matemticos y demostraciones de teoremas se realizan aplicaciones mas experimentales, como los sistemas expertos y la programacin lgica. Dentro de la programacin lgica se logra uno de los avances ms destacables con la aparicin en 1972 del Lenguaje PROLOG. 1976. MYCIN. Desarrollado por Eduard Feigenbaum, Bruce Buchanan en la universidad de Stanford y documentado por Edward Shortliffe. MYCIN se trataba de un sistema experto para el diagnstico de enfermedades infecciosas. Desde los resultados de anlisis de sangre, cultivos bacterianos y dems datos, el programa era capaz de determinar, o en lo menos, sugerir el microorganismo que estaba causando la infeccin. Despus de llegar a una conclusin, MYCIN prescriba una medicacin que se adaptaba perfectamente a las caractersticas del sujeto, tales como el peso corporal de este. Despus del reconocido xito que tuvo MYCIN entre la comunidad cientfica de Inteligencia Artificial e investigadores de medicina, los autores del programa pusieron a disposicin de otrosMg. Abraham Gamarra Moreno

28

investigadores una versin de MYCIN que contena el motor "inferencial" de este para que fueran los propios usuarios los que insertasen al programa informacin respecto al tema a tratar; se podra decir que esta versin "adaptada" del original MYCIN, era el primer entorno de desarrollo de sistemas expertos. PROSPECTOR. Documentado por P. E. Hart (1978) y R.Duda (1979). Era un sistema experto para evaluar los yacimientos de minerales, en particular cobre y Uranio. PROLOG (PROgramimg LOGic). Desarrollado en 1972 por la Universidad de Marseille bajo la direccin de Alan Colmerauer. Prolog se basa en la definicin y despus en la resolucin de formulas lgicas. Prolog al igual que LISP es un lenguaje declarativo, ya que el programa consiste en una lista de hechos y reglas en lugar de una serie de comandos. XCON (eXpert CONfigurer), Configurador Experto. 1979. John McDermott. XCON es el primer sistema experto con aplicaciones en el mundo real fuera de los mbitos acadmicos y de los laboratorios de investigacin. DEC iba a lanzar al mercado una nueva serie de ordenadores, los llamados VAX. Dado que todos los ordenadores tenan configuraciones distintas entre s, la VAX estaba previendo el enorme cuello de botella que se iba a formar, cuando los ordenadores tuviesen fallos de configuracin y hubiese que arreglar este problema uno por uno, con el consiguiente gasto de tiempo y dinero que eso supona. Los directivos de la DEC contrataron a John McDertmott, con el cometido de realizar un sistema experto que configurase todos los ordenadores que saliesen de la DEC. El informe de viabilidad de McDermontt expuso resultados prometedores, y en diciembre de 1978 se empez a trabajar en el proyecto. En abril de 1979 el equipo de investigacin que lo haba diseado (con McDermott a laMg. Abraham Gamarra Moreno

29

cabeza), pens que ya estaba preparado para salir y "conocer el mundo", fue entonces cuando se hizo una prueba real, esperando resolver positivamente un 95% de las configuraciones, este porcentaje tal alto anhelado por McDermontt y compaa se qued en un 20% al ser contrastado con la realidad; XCON volvi al laboratorio, donde fue revisado y a finales de ese mismo ao (1979) funcion con resultados positivos en la DEC. En 1980 XCON se instaur totalmente en DEC. Y en 1984, el XCOM haba crecido hasta multiplicarse por diez. En 1986 la compaa haba invertido ms de cincuenta aos/hombre en el programa, pero se estaba recuperando con creces de su inversin al ahorrarse cuarenta millones de dlares al ao. Conclusin de este periodo Como conclusin a este periodo hay que destacar la revolucin que se inicio con los sistemas expertos. El xito de XCON, MYCIN y PROSPECTOR convenci a las ms importantes empresas a invertir en sistemas expertos. Incluso para los ms conservadores y los radicales Anti- Inteligencia Artificial, algo se hacia evidente, mientras que los costes de desarrollo de los sistemas expertos se hacan cada vez ms bajos, el salario de los expertos humanos se hacia ms alto. La formacin de un futuro experto costaba mucho dinero y aos de esfuerzo, mientras que una vez creado un sistema experto poda ser copiado y distribuido tantas veces como necesario fuese. Adems, el sistema experto nunca se cansa, no necesita dormir, no se distrae, no se va a la competencia, ni se pone enfermo, ni se jubila, ni pide aumento de sueldo.

1.3.3.

AOS OCHENTA Y PRINCIPIOS DE LOS 90

Este periodo viene marcado por el xito de los sistemas expertos y durante los aos ochenta aparecen empresas y proyectos especialiMg. Abraham Gamarra Moreno

30

zados en ofrecer soluciones comercializables basados en las tcnicas de la Inteligencia Artificial. La Inteligencia Artificial se consolid en cada vez ms empresas que desarrollaron las "mquinas lisp" ( ordenadores que ejecutaban programas en LISP con la misma rapidez de un ordenador central ) y los SHELLS ( herramientas de desarrollo de sistemas expertos). Ejemplos de sistemas expertos que se comercializaron en esta poca son el DELTA, de la General Electric Company, que ayudaba a los mecnicos en la reparacin y en el diagnostico de locomotoras diesel; el Aldo en Disco para la reparacin de calderas hidroestticas giratorias usadas para la eliminacin de bacterias y el EURISKO capaz de perfeccionar su propio cuerpo de leyes heursticas por induccin. Cada vez ms el mantener la base de datos de reglas de los sistemas expertos actualizada era mas costoso. El XCON llego a tener 10.000 reglas con lo que Dec tena que gastar anualmente 2 millones de dlares en el mantenimiento de la Base de Conocimientos. Actualmente este mantenimiento supone una de las actividades ms importantes de la Inteligencia Artificial. El Ministerio de Industria y Comercio Internacional de Japn impulsa desde 1979 un proyecto (Quinta generacin de ordenadores) conjunto de varias empresas que pretenda desarrollar una nueva generacin de ordenadores adaptados a las necesidades que se prevean para la dcada de los 90 y que basaran su funcionamiento en tcnicas de la Inteligencia Artificial. Finalmente el proyecto finalizo en 1992, pero aunque se obtuvieron ciertos avances en procesamiento paralelo, procesamiento del lenguaje natural, programacin lgica y en el tratamiento de la informacin, no supuso ninguna revolucin ni ningn gran cambio ni ventaja tecnolgica. Seguidamente Japn se lanzo a otro nuevo proyecto Real World Computing (RWC) Project, cuyas vas de inMg. Abraham Gamarra Moreno

31

vestigacin, son las redes neuronales, los computadores pticos y la facilidad de uso de los ordenadores. Por aquel entonces, el proyecto japons sirvi para estimular la inversin en Inteligencia Artificial de otros pases. Sobretodo a raiz de la publicacin del libro The Fifth Generation de Feigenbaum y McCorduck en 1983 que adverta del peligro de una superioridad del Japn en el futuro de la informtica a travs del dominio de las tcnicas de la Inteligencia Artificial. En 1980 se crea el sistema experto matemtico MAPLE. Mas tarde en 1988 se crea otro sistema experto matemtico importante el Mathematica. Ambos sistemas permiten trabajar directamente, es decir sin tediosas programaciones, con expresiones simblicas como polinomios, derivadas, integrales indefinidas, matrices, tensores, grupos, funciones especiales, y mtodos altamente sofisticados. En 1982 se fundo el ECCAI (European Coordinating Committee for Artificial Intelligence). En 1985 la Nasa desarrolla CLIPS, es un generador de sistemas expertos que est codificado en lenguaje C, y que implementa un lenguaje propio para desarrollar sistemas expertos. Como principal caracterstica se puede citar que cuenta con tres paradigmas de programacin: orientado a reglas, procedural y orientado a objetos. Tambin en este mismo ao se programa un juego de Ajedrez HiTech que alcanza el nivel de un Gran Maestro. A partir de 1986 se recuperan los viejos esquemas del Perceptron en la Redes Neuronales. 1987 supuso el fin de las maquinas LISP, debido a la aparicin de los microordenadores de Apple e IBM con potencia parecida a lasMg. Abraham Gamarra Moreno

32

maquinas LISP, y la programacin en C del software utilizado en Inteligencia Artificial para los nuevos microordenadores.

En 1989 se constituye el Centro de Inteligencia Artificial (CIA), en Espaa, ms tarde, se formara la Asociacin Espaola Para la Inteligencia Artificial (AEPIA).

1.3.4.

AOS 90 Y EL PRESENTE

Uno de los hechos ms populares que cualquiera conoce sobre la Inteligencia Artificial es la victoria de Deep Blue (computadora de IBM que jugaba al ajedrez), contra Kasparov en 1997 (figura 1.7).

Pero recientemente en la industria japonesa han aparecido diversos Robots que han servido para ejemplificar el estado actual de la Inteligencia Artificial. Primero fue Honda con ASIMO (acrnimo de "Advanced Step in Innovative Mobility"- paso avanzado en movilidad innovadora), es un robot humanoide creado en el ao 2000 por la empresa Honda, un robot con forma humanoide capaz de andar y subir escaleras (figura 1.8).

SONY ha comercializado con xito una serie de robots-perro, el AIBO Artificial Intelligence ROBOt (Robot de Inteligencia Artificial). EL robot AIBO se muestra en la figura 1.9.

Mg. Abraham Gamarra Moreno

33

Figura 1.7. Kasparov vs. Deep Blue

Mg. Abraham Gamarra Moreno

34

Figura 1.8. Robot ASIMO

Figura 1.9. Robot AIBO

Al robot AIBO se le han programado emociones e instintos. Acta de modo que intentar satisfacer sus deseos originados en sus instintos. Si se los satisface, aumentarn sus niveles de alegra, en caso contrario, se pondr triste o furioso. Como todo ser viviente, Aibo aprender a lograr lo que "desea". En ocasiones, mover sus patas con furia o mostrar otras seales de bronca si no recibe de su amo la atencin que requiere. De este modo, la manera en que el amo responde a las expresiones de emotividad de Aibo influir en su personalidad y "crecimiento". El robot, tiene reconocimiento de voz, hasta 40 voces y puede recordar el nombre que se le d y responder. Es capaz de expresar emociones.35

Mg. Abraham Gamarra Moreno

1.4. LAS REAS DE INVESTIGACIN DE LA IA2 Son muchas las reas de la Inteligencia Artificial que se investigan hoy da. Entre ellas, tenemos las siguientes: La representacin del conocimiento, que busca en el descubrimiento de mtodos expresivos y eficientes describir informacin sobre aspectos del mundo real. Los mtodos de aprendizaje automtico, que extienden las tcnicas estadsticas con el fin de posibilitar la identificacin de un amplio rango de tendencias generales a partir de un conjunto de datos de entrenamiento. El campo de la planificacin, que enfrenta el desarrollo de algoritmos que construyen y ejecutan automticamente secuencias de comandos primitivos con el fin de alcanzar ciertas metas de alto nivel. Los trabajos en el rea de razonamiento posible, que hacen uso de principios estadsticos para desarrollar codificaciones de informacin incierta. El estudio de las arquitecturas de agentes, que busca la integracin de otras reas de la I A con el objeto de crear agentes inteligentes, entidades robustas capaces de comportamiento autnomo y en tiempo real. La coordinacin y colaboracin multiagentes, que ha permitido el desarrollo de tcnicas para la representacin de las capacidades de otros agentes y la especificacin del conocimiento necesario para la colaboracin entre ellos.

2

La ciencia y el hombre [en lnea]. Veracruz: Revista de divulgacin cientifica y tecnologica de la Universidad Veracruzana; 2004. [fecha de acceso 18 de noviembre de 2007]. URL disponible en: http://www.uv.mx/cienciahombre/revistae/vol17num3/articulos/inteligencia/index.htm .

Mg. Abraham Gamarra Moreno

36

El desarrollo de ontologas, que persigue la creacin de catlogos de conocimiento explcito, formal y multipropsito, que puedan ser utilizados por sistemas inteligentes. Los campos de procesamiento de voz y lenguaje, que buscan la creacin de sistemas que se comunican con la gente en su lenguaje. La sntesis y comprensin de imgenes, que conduce a la produccin de algoritmos para el anlisis de fotografas, diagramas y videos, as como tambin de tcnicas para el despliegue visual de informacin cuantitativa y estructurada. 1.5. REAS DE APLICACIN DE LA IA2 La Inteligencia Artificial se aplica en los sistemas reales en una gran variedad de ramas y problemas: Gestin y control: anlisis inteligente, fijacin de objetivos. Fabricacin: diseo, planificacin, programacin, monitorizacin, control, gestin de proyectos, robtica simplificada y visin computarizada. Educacin: adiestramiento prctico, exmenes y diagnstico. Ingeniera: diseo, control y anlisis. Equipamiento: diseo, diagnstico, adiestramiento, mantenimiento, configuracin, monitorizacin y ventas. Cartografa: interpretacin de fotografas, diseo, resolucin de problemas cartogrficos. Profesiones: abogaca, medicina, contabilidad, geologa, qumica.37

Mg. Abraham Gamarra Moreno

Software: enseanza, especificacin, diseo, verificacin, mantenimiento. Sistemas de armamento: guerra electrnica, identificacin de objetivos, control adaptativo, proceso de imgenes, proceso de seales. Proceso de datos: educacin, interfase en lenguaje natural, acceso inteligente a datos y gestores de bases de datos, anlisis inteligente de datos. Finanzas: planificacin, anlisis, consultora. 1.6. APLICACIONES COMERCIALES DE LA INTELIGENCIA ARTIFICIAL2 Pero tambin la Inteligencia Artificial tiene numerosas aplicaciones comerciales en el mundo de hoy. Vase: Configuracin: seleccin de distribucin de los componentes de un sistema de computacin. Diagnosis: hardware informtico, redes de ordenadores, equipos mecnicos, problemas mdicos, averas telefnicas, instrumentacin electrnica, circuitos electrnicos, averas automovilsticas. Interpretacin y anlisis: datos geolgicos para prospeccin petrolfera, compuestos qumicos, anlisis de seales, problemas matemticos complejos, evaluacin de amenazas militares, anlisis de circuitos electrnicos, datos biolgicos (coronarios, cerebrales y respiratorios), informacin de radar, sonar e infrarrojos. Monitorizacin: equipos, monitorizacin de procesos, fabricacin y gestin de procesos cientficos, amenazas militares, funcionesMg. Abraham Gamarra Moreno

38

vitales de pacientes hospitalizados, datos financieros en tiras de papel perforado por teleimpresora, informes industriales y gubernamentales. Planificacin: gestin de activo y pasivo, gestin de cartera, anlisis de crditos y prstamos, contratos, programacin de trabajos de taller, gestin de proyectos, planificacin de experimentos, produccin de tarjetas de circuito impreso. Interfaces inteligentes: hardware (fiscal) de instrumentacin, programas de computadora, bases de datos mltiples, paneles de control. Sistemas de lenguaje natural: interfaces con bases de datos en lenguaje natural, gestin de impuestos (ayudas para contabilidad), consultora en temas legales, planificacin de fincas, consultora de sistemas bancarios. Sistemas de diseo: integracin de microcircuitos en muy alta escala, sntesis de circuitos electrnicos, plantas qumicas, edificios, puentes y presas, sistemas de transporte. Sistemas de visin computarizada: seleccin de piezas y componentes, ensamblado, control de calidad. Desarrollo de software: programacin automtica. Programas de reconocimiento de voz para reservar billetes de avin para un vuelo. Sistemas expertos que controlan el correcto funcionamiento de un transbordador espacial. Sistemas expertos de diagnostico de enfermedades.39

Mg. Abraham Gamarra Moreno

Proteccin de fraudes en tarjetas de crdito y cuentas a travs de sistemas de redes neuronales o sistemas expertos. Deteccin de pequeas anomalas invisibles al ojo humano en radiografias. Sistemas de mensajera de voz. En el mundo de los videojuegos. Rivales con comportamiento logico. Traduccin automtica de documentos. (GOOGLE)

Resumen La Inteligencia Artificial es un intento de reproducir el comportamiento de los humanos y llevarlo a las mquinas. Los primeros intentos se reflejan en la construccin de autmatas. Luego se intenta que las mquinas tengan algn tipo de razonamiento, para lo cual se desarrollan algunas tcnicas que permitan emular el comportamiento inteligente de los humanos. Indicadores de logro El lector es capaz de explicar las aplicaciones de la Inteligencia Artificial. Bibliografa Recomendada Planell Perez. Historia de la Inteligencia Artificial [en lnea]. Espaa: Ebooks gra-tis; 2008. [fecha de acceso 16 de noviembre de 2007]. URL disponible en: http://66.240.239.19/2/7/0/27068.ZIP. La ciencia y el hombre [en lnea]. Veracruz: Revista de divulgacin cientifica y tec-nologica de la Universidad Veracruzana;Mg. Abraham Gamarra Moreno

40

2004. [fecha de acceso 18 de noviembre de 2007]. URL disponible /inteligencia/index.htm. en: http://www.uv.mx/cienciahombre/revistae/vol17num3/articulos

Nexo La siguiente unidad acadmica analiza la Representacin del Conocimiento.

Actividad Investigue sobre los ltimos avances de la Inteligencia Artificial y luego realice un resumen. Investigue sobre agentes inteligentes, sistemas multiagente y realice un resumen. Auto evaluacin formativa

Encuentre la solucin a los siguientes problemas:

PROBLEMA UNO

Cul es la diferencia entre Robtica e Inteligencia Artificial?

PROBLEMA DOS Qu es la Visin Artificial?41

Mg. Abraham Gamarra Moreno

UNIDAD ACADMICA 2 REPRESENTACIN DEL CONOCIMIENTO

La representacin del conocimiento es un conjunto de convenciones sintcticas y semnticas que hacen posible el describir cosas, para que una mquina inteligente las utilice. La sintaxis son los smbolos y conjuntos de reglas para combinarlos. La semntica trata sobre significado de las expresiones construidas. En este libro mostraremos slo tres formas de representacin del conocimiento. 2.1. REPRESENTACIN LGICA PROPOSICIONAL La lgica proposicional es la ms antigua y simple de las formas de lgica. Utilizando una representacin primitiva del lenguaje, permite representar y manipular aserciones sobre el mundo que nos rodea. La lgica proposicional permite el razonamiento, a travs de un mecanismo que primero evala sentencias simples y luego sentencias complejas, formadas mediante el uso de conectivos proposicionales, por ejemplo Y (AND), O (OR). Este mecanismo determiMg. Abraham Gamarra Moreno

DEL

CONOCIMIENTO

MEDIANTE

42

na la veracidad de una sentencia compleja, analizando los valores de veracidad asignados a las sentencias simples que la conforman. Una proposicin es una sentencia simple que tiene un valor asociado ya sea de verdadero (V), o falso (F). Por ejemplo: Hoy es Viernes Ayer llovi Hace fro La lgica proposicional, permite la asignacin de un valor verdadero o falso para la sentencia completa, no tiene facilidad para analizar las palabras individuales que componen la sentencia. Por este motivo, la representacin de las sentencias del ejemplo, como proposiciones, sera: hoy_es_Viernes ayer_llovi hace_fro La proposiciones pueden combinarse para expresar conceptos ms complejos. Por ejemplo: hoy_es_Viernes y hace_fro. La lgica proposicional proporciona un mecanismo para asignar valores de veracidad a la proposicin compuesta, basado en los valores de veracidad de las proposiciones simples y en la naturaleza de los conectores lgicos involucrados. Los conectores bsicos de la lgica proposicional y sus tablas de verdad, se muestran en la tabla 3.1.

Mg. Abraham Gamarra Moreno

43

Tabla 2.1. Tablas de verdad para operadores lgicos. p q Disyuncin Conjuncin Negacin Implicacin Equivalencia pvq V V V F F V F F V V V F p^q V F F F ~p F F V V P => q V F V V p=q V F F V

El conector de implicacin, puede ser considerado como un condicional expresado de la siguiente forma: Si p => q va a ser verdadero, entonces toda vez que p sea verdadero, q debe ser siempre verdadero. Para los casos en los cuales p es falso, la expresin p => q, es siempre verdadera, independientemente de los valores lgicos que tome q, ya que el operador de implicacin no puede hacer inferencias acerca de los valores de q. En algunos casos, el ms importante de los conectores es la implicacin, y al principio su tabla de verdad puede parecer confusa debido a que no corresponde muy bien a nuestra manera intuitiva de concebir que P implique a Q o si P entonces Q. Para ilustrar la implicacin analicemos la regla siguiente dada para la primera fila (p=V y q=V) de la tabla de verdad: la batera no tiene carga el automvil no enciendeMg. Abraham Gamarra Moreno

44

En la segunda fila (p=V y q=F) la implicacin es F porque la regla sera la batera no tiene carga el automvil enciende En la tercera fila (p=F y q=V) la implicacin es V porque la regla sera la batera tiene carga el automvil no enciende En la cuarta fila (p=F y q=F) la implicacin es V porque la regla sera la batera tiene carga el automvil enciende 2.2. REPRESENTACIN MEDIANTE LGICA DE PREDICADOS La principal debilidad de la lgica proposicional es su limitada habilidad para expresar conocimiento. Existen varias sentencias complejas que pierden mucho de su significado cuando se las representa en lgica proposicional. Por esto se desarroll una forma lgica ms general, capaz de representar todos los detalles expresados en las sentencias, esta es la lgica de predicados. La lgica de predicados est basada en la idea de las sentencias que realmente expresan relaciones entre objetos, as como tambin cualidades y atributos de tales objetos. Los objetos pueden ser personas, objetos fsicos, o conceptos. Tales cualidades, relaciones o atributos, se denominan predicados. Los objetos se conocen como argumentos o trminos del predicado. Al igual que las proposiciones, los predicados tienen un valor de veracidad, pero a diferencia de las preposiciones, su valor de veracidad, depende de sus trminos. Es decir, un predicado puede ser verdadero para un conjunto de trminos, pero falso para otro.45

Mg. Abraham Gamarra Moreno

Por ejemplo, el siguiente predicado es verdadero: color (yerba, verde) el mismo predicado, pero con diferentes argumentos, puede no ser verdadero: color (yerba, azul) o color (cielo, verde) Los predicados tambin pueden ser utilizados para asignar una cualidad abstracta a sus trminos, o para representar acciones o relaciones de accin entre dos objetos. Por ejemplo: clima(martes, ave(gaviota) ama(roberto, lee(alex, mordio(boby, lluvioso) vanessa) novela) cartero)

Al construir los predicados se asume que su veracidad est basada en su relacin con el mundo real. Naturalmente, siendo prcticos, trataremos que los predicados que definimos estn de acuerdo con el mundo que conocemos, pero no es absolutamente necesario que as lo hagamos. En lgica de predicados el establecer como verdadero un predicado es suficiente para que as sea considerado. Demos el siguiente ejemplo, que indica que Ecuador est en Europa: parte_de(ecuador, europa) Obviamente, esto no es verdadero en el mundo real, pero la lgica de predicados no tiene razn de saber geografa y si el predicado es dado como verdadero, entonces es considerado como lgicamente verdadero. Tales predicados, establecidos y asumidos como lgicamente verdaderos se denominan axiomas, y no requieren de justificacin para establecer su verdad.Mg. Abraham Gamarra Moreno

46

La lgica de predicados, se ocupa nicamente de mtodos de argumentacin slidos. Tales argumentaciones se denominan Reglas de Inferencia. Si se da un conjunto de axiomas que son aceptados como verdaderos, las reglas de inferencia garantizan que slo sern derivadas consecuencias verdaderas. Tanto los conectivos lgicos, como los operadores dados anteriormente para la lgica proposicional, son igualmente vlidos en lgica de predicados. De hecho, la lgica proposicional es un subconjunto de la lgica de predicados. Cada uno de los argumentos en los ejemplos de predicados dados anteriormente, representan a un objeto especfico. Tales argumentos se denominan constantes. Sin embargo, en la lgica de predicados se pueden tener argumentos que en determinado momento pueden ser desconocidos. Estos son los argumentos tipo variable. En el ejemplo: color (yerba, X), la variable X, puede tomar el valor de verde, haciendo que el predicado sea verdadero; o puede tomar el valor de azul, dando lugar a que el predicado sea falso. Las variables, tambin pueden ser cuantificadas. Los cuantificadores que tpicamente se utilizan en lgica de predicados son: El cuantificador universal; indica que la frmula bien forma-

da, dentro de su alcance, es verdadera para todos los valores posibles de la variable que es cuantificada. Por ejemplo:

Establece que "para todo X, es verdad que . . . " El cuantificador existencial; , indica que la frmula bien for-

mada, dentro de su alcance, es verdadera para algn valor o valores dentro del dominio. Por ejemplo:47

Mg. Abraham Gamarra Moreno

... Establece que "existe un X, tal que . . . " A continuacin se dan algunos ejemplos de predicados cuantificados:

2.2.1.

UNIFICACIN

Cuando se tienen sentencias compuestas por predicados y conectivos lgicos, se debe evaluar la veracidad de cada uno de sus componentes para determinar si toda la sentencia es verdadera o falsa. Para ello, se busca en el conjunto de axiomas la forma de establecer la veracidad de los predicados componentes. Un predicado componente se dice que es verdadero si se identifica con un axioma de la base de informacin. En la lgica de predicados, este proceso es algo complicado ya que las sentencias pueden tener trminos variables. A los predicados que tienen variables por argumentos, se los denomina patrones. La unificacin es el proceso de computar las sustituciones apropiadas que permitan determinar si dos expresiones lgicas, ya sean predicados o patrones, coinciden. El proceso de unificacin involucra los siguientes pasos: Todo predicado que no contenga variables en sus argumentos, deben tener un axioma que se identifique totalmente, para considerarlo como verdadero.48

Mg. Abraham Gamarra Moreno

Si un predicado contiene una variable, esta debe ser asociada a un valor determinado. Esta asociacin se realiza buscando en la base de axiomas y seleccionando todos aquellos que se identifican con el patrn en todo, excepto por la variable. La variable es asociada con el valor en la posicin correspondiente del axioma. Si ms de un axioma se identifica con el predicado dado, todos los valores asociados son considerados y son tratados separadamente. El proceso de identificacin contina asumiendo que el valor de la variable es el valor asociado, en cualquier lugar que esta aparezca. Los conectivos lgicos son aplicados a todos los predicados, para determinar la veracidad de la sentencia dada.

2.2.2.

INFERENCIA Y RAZONAMIENTO

Inferir es concluir o decidir a partir de algo conocido o asumido; llegar a una conclusin. A su vez, razonar es pensar coherente y lgicamente; establecer inferencias o conclusiones a partir de hechos conocidos o asumidos. El proceso de razonamiento, por lo tanto, involucra la realizacin de inferencias, a partir de hechos conocidos. Realizar inferencias significa derivar nuevos hechos a partir de un conjunto de hechos conocidos como verdaderos. La lgica de predicados proporciona un grupo de reglas slidas, con las cuales se pueden realizar inferencias.

2.2.3.

REGLAS DE INFERENCIA

Las principales Reglas de Inferencia son:49

Mg. Abraham Gamarra Moreno

Modus ponens.- Es la ms importante, en los sistemas basados en conocimiento. Establece que: Si las sentencias p y (p ) se conocen que son verdaderas,

entonces se puede inferir que q tambin es verdadera. Modus tolens.- Esta regla establece que: Si la sentencia ( ) es verdadera y q es falsa, entonces se

puede inferir que p tambin es falsa. Resolucin.- Utiliza refutacin para comprobar una determinada sentencia. La refutacin intenta crear una contradiccin con la negacin de la sentencia original, demostrando, por lo tanto, que la sentencia original es verdadera. La resolucin es una tcnica poderosa para probar teoremas en lgica y constituye la tcnica bsica de inferencia en PROLOG, un lenguaje que manipula en forma computacional la lgica de predicados. Ejemplo:

Mg. Abraham Gamarra Moreno

50

AD es un teorema porque su negacin lleva a una contradiccin.

2.2.4.

MTODOS BSICOS DE RAZONAMIENTO

En lgica de predicados, existen tres mtodos bsicos de razonamiento: deductivo, abductivo e inductivo. Deduccin.- Es el razonamiento a partir de un principio conocido hacia un desconocido; de lo general, a lo especfico, o de la premisa a la conclusin lgica. La deduccin realiza inferencias lgicamente correctas. Esto significa que la deduccin a partir de premisas verdaderas, garantiza el resultado de conclusiones tambin verdaderas. La deduccin es el mtodo ms ampliamente comprendido, aceptado y reconocido de los tres indicados. Es la base tanto de la lgica proposicional, como de la lgica de predicados. A manera de ejemplo, el mtodo deductivo, se puede expresar, utilizando lgica de predicados, como sigue:

Abduccin.- Es un mtodo de razonamiento comnmente utilizado para generar explicaciones. A diferencia de la induccin, la abduccin no garantiza que se puedan lograr conclusiones verdaderas,Mg. Abraham Gamarra Moreno

51

por lo tanto no es un mtodo slido de inferencia. La forma que tiene la abduccin es la siguiente: Si la sentencia ( ) es verdadera y B es verdadera, entonces A

es posiblemente verdadera. Ejemplo: X es un elefante X es un animal En abduccin, se empieza por una conclusin y se procede a derivar las condiciones que podran hacer a esta conclusin vlida. En otras palabras, se trata de encontrar una explicacin para la conclusin. Induccin.- Se define como el razonamiento a partir de hechos particulares o casos individuales, para llegar a una conclusin general. El mtodo inductivo es la base de la investigacin cientfica. La forma ms comn del mtodo inductivo es la siguiente: Si se conoce que P(a), P(b), ......, P(n) son verdaderos, entonces se puede concluir que La induccin es una forma de inferencia muy importante ya que el aprendizaje, la adquisicin de conocimiento y el descubrimiento estn basados en ella. Al igual que la abduccin, la induccin no es un mtodo slido de inferencia.

2.2.5.

EJEMPLO (2-1): BASE DE CONOCIMIENTO SOBRE

QUE PRODUCTOS PUEDEN COMPRAR UNA PERSONA La consulta que se realiza es: Qu producto puede comprar alguna persona? y esta implementado en visual prolog 5.2.

Mg. Abraham Gamarra Moreno

52

PREDICATES nondeterm person(symbol) nondeterm car(symbol) nondeterm likes(symbol, symbol) nondeterm for_sale(symbol) nondeterm can_buy(symbol,symbol) CLAUSES person(kelly). person(judy). person(ellen). person(mark). car(lemon). car(hot_rod). likes(kelly, hot_rod). likes(judy, pizza). likes(ellen, tennis). likes(mark, tennis). for_sale(pizza). for_sale(lemon). for_sale(hot_rod). can_buy(X,Y) :- person(X), car(Y), likes(X,Y), for_sale(Y). GOAL can_buy(PERSONA,PRODUCTO).

Mg. Abraham Gamarra Moreno

53

El resultado de la ejecucin es:

2.2.6.

EJEMPLO (2-2): PROGRAMA QUE REPRESENTA LA

ASOCIACIN DE LOS MIEMBROS DE UNA FAMILIA La figura 2.1 muestra la asociacin de los miembros en una familia a travs de una red asociativa.

Figura 2.1. Asociacin de los miembros en una familia a travs de una red asociativa

Solucin:54

Mg. Abraham Gamarra Moreno

predicates nondeterm hermana_de (symbol,symbol) nondeterm esposa_de (symbol,symbol) nondeterm madre_de (symbol,symbol) nondeterm hijo_de (symbol,symbol) nondeterm padre_de (symbol,symbol) nondeterm abuelo_de (symbol,symbol) nondeterm son_esposos (symbol,symbol) clauses hermana_de (ana, carolina). esposa_de (ana,memo). esposa_de (carolina, david). esposa_de (susana, tomas). madre_de (ana, susana). madre_de (carolina, tomas). madre_de (susana, juan). padre_de (memo, susana). padre_de (david, tomas). padre_de (tomas, juan). hijo_de (X,Y):- madre_de (Y,X); padre_de (Y,X). abuelo_de (X,Y):- padre_de (X,Z), padre_de (Z,Y); padre_de (X,Z), madre_de(Z,Y). son_esposos (X,Y):- esposa_de(X,Y). goal /*hijo_de (susana, Quien).*/ abuelo_de (Abuelo, Nieto). /*son_esposos (Esposa,Esposo).*/

Mg. Abraham Gamarra Moreno

55

Para ejecutar el programa debemos activar una de las tres lneas que se encuentran debajo de goal. La ejecucin a la consulta de quienes son abuelos y quienes son sus nietos es: abuelo_de (Abuelo, Nieto). La salida es:

2.2.7.

EJEMPLO (2-3): PROGRAMA QUE REPRESENTA LA

DISPOSICIN DE UN SISTEMA DE BLOQUES La figura 2.2 muestra la disposicin de un sistema de bloques sobre una mesa.

Figura 2.2. Disposicin de un sistema de bloques. El programa que representa al sistema y que realiza la consulta A dnde se puede mover algn bloque?, se lista a continuacin:

Mg. Abraham Gamarra Moreno

56

predicates nondeterm arriba_de(symbol,symbol) nondeterm debajo_de(symbol,symbol) nondeterm mas_abajo_de(symbol,symbol) nondeterm libre(symbol) nondeterm mover(symbol,symbol) clauses arriba_de(b,a). arriba_de(a,mesa). arriba_de(c,mesa). arriba_de(d,mesa). libre(b). libre(c). libre(d). debajo_de(X,Y):-arriba_de(Y,X). mas_abajo_de(Z,X):-debajo_de(Y,X),debajo_de(Z,Y). mover(X,Y):-libre(X),libre(Y).

goal /*arriba_de(X,mesa).*/ /*debajo_de(a,b).*/ /*debajo_de(X,c).*/ /* que esta debajo de c*/ /*write("\ningrese nombre del bloque "),readln(Abajo), write("\n"),write(Abajo), write(" tiene arriba a los siguientes bloques:\n"), arriba_de(Arriba,Abajo).*/

Mg. Abraham Gamarra Moreno

57

/*mas_abajo_de(mesa,Arriba).*/

/*mover(Origen,Destino).*/

/*mover(Origen,Destino),OrigenDestino.*/

write("\ningrese "),readln(Origen), write("\n"),

nombre

del

bloque

que

desea

mover

write(" se puede mover de la siguiente manera:\n"), mover(Origen,Destino),OrigenDestino.

La ejecucin del programa muestra la siguiente salida:

Puede eliminar el par /* los una por vez.

*/ para ejecutar otras consultas, realice-

Mg. Abraham Gamarra Moreno

58

2.3. DIAPOSITIVAS SOBRE PROGRAMACIN LGICA CON PROLOG

PROGRAMACION LOGICA CON PROLOGRecopilado por: Mg. Abraham Gamarra Moreno

Mg. Abraham Gamarra Moreno

59

Mg. Abraham Gamarra Moreno

60

Mg. Abraham Gamarra Moreno

61

Luego encuentra el sucesivo (resatisface la pregunta)

Mg. Abraham Gamarra Moreno

62

Mg. Abraham Gamarra Moreno

63

Mg. Abraham Gamarra Moreno

64

Mg. Abraham Gamarra Moreno

65

1

juan pedro

Mg. Abraham Gamarra Moreno

66

predicates nondeterm varon(symbol) nondeterm hembra (symbol) nondeterm padres(symbol,symbol,symbol) nondeterm hermana_de(symbol,symbol)

Solucin ejercicios 1.

Clauses varon(alberto). varon(eduardo). hembra(alicia). hembra(victoria). padres(eduardo, victoria, alberto). padres(alicia, victoria, alberto). hermana_de(X,Y):hembra(X), padres(X,M,P), padres(Y,M,P),XY. goal hermana_de(alicia,X).

predicates poblacion(symbol,real) superficie(symbol,real) densidad(symbol,real)

Ejemplo 2

clauses /* poblacion(Prov,Pob) R1 R2 R3

p1 ----> p2 -----> p3 -----> q3 ----> -----> ----->Hecho verdadero objetivo 3er Obj 2do Obj

Direccin encadenamiento hacia atrs

Figura 3.2 Inferencia con encadenamiento regresivo o encadenamiento hacia atrs. Los ejemplos que se mencionan a continuacin son los mismos que se utilizaron en el encadenamiento hacia adelante, se evalan aqu para encontrar las diferencias con el encadenamiento hacia atrs. Ejemplo 1: Se tienen los siguientes hechos y reglas: Hechos = { a, b, d, e, g }78

Mg. Abraham Gamarra Moreno

Reglas: r1: IF ( f and c and g ) THEN ( z ) r2: IF ( d and e ) THEN ( f ) r3: IF ( a and b ) THEN ( c ) OBJETIVO: Z , Para ver si el objetivo Z es verdadero debemos de probar sus antecedentes tal como se muestra en la figura 3.5.

d e a b

r2

fr3 r1

c

zobjetivo

Subobjetivos: d e a b

gSubobjetivos: f c g

Figura 3.3 Prueba del objetivo Z con encadenamiento regresivo (encadenamiento hacia atrs)

Ejemplo 2: Se tiene el siguiente conjunto de reglas: R1: IF (P y Q) THEN S R2: IF R THEN T R3: IF (S y T) THEN U R4: IF (S y R) THEN V HECHOS={P,Q,R}79

Mg. Abraham Gamarra Moreno

Probar V (objetivo) Paso 1: Intentar probar V revisando si esta en hechos. Si no esta introduce a V como hiptesis 1 (H1). Paso 2: Se realiza una comparacin de H1 vs las reglas. H1 existe en la conclusin de R4. Paso 3: Intentar probar S (primer antecedente) revisando si esta en hechos. Si no esta introduce a S como hiptesis 2 (H2). Paso 4: Se realiza una comparacin de H2 vs las reglas. H2 existe en la conclusin de R1. Descubre que R1 puede ser (ejecutado) y se aade S a hechos. Verifica si S es la solucin, si no es continua. Las reglas y hechos quedan:

R1: IF (P y Q) THEN S (H2)(Ejecutado 1ro) R2: IF R THEN T R3: IF (S y T) THEN U80

Mg. Abraham Gamarra Moreno

R4: IF (S y R) THEN V (H1) HECHOS={P, Q, R, S} Paso 4: Como continuacin del paso 3 se evala R (segundo antecedente) de la regla R4. Paso 5: Intenta probar R revisando si esta en hechos. Si esta!, entonces ejecuta R4 y aade V a hechos. Las reglas y hechos quedan:

R1: IF (P y Q) THEN S (Ejecutado 1ro) R2: IF R THEN T R3: IF (S y T) THEN U R4: IF (S y R) THEN V (Ejecutado 2do) HECHOS={P, Q, R, S, V} Paso 5: Verifica si V es la solucin (si es!) y finaliza. El razonamiento hacia atrs es mucho ms adecuado para aplicaciones que tienen mucho mayor nmero de entradas, que de soluciones posibles. La habilidad de la lgica regresiva para trazar desde las pocas conclusiones hacia las mltiples entradas la hace ms eficiente que el encadenamiento hacia adelante.81

Mg. Abraham Gamarra Moreno

Una excelente aplicacin para el razonamiento hacia atrs es el diagnstico, donde el usuario dialoga directamente con el sistema basado en conocimiento y proporciona los datos a travs del teclado. Problemas de clasificacin tambin son adecuados para ser resuelto mediante el razonamiento hacia atrs.

3.2.2.

ENCADENAMIENTO HACIA ADELANTE

En el caso del encadenamiento hacia adelante, se empieza a partir de un conjunto de datos colectados a travs de observacin y se evoluciona hacia una conclusin. Se chequea cada una de las reglas para ver si los datos observados satisfacen las premisas de alguna de las reglas. Si una regla es satisfecha, es ejecutada derivando nuevos hechos que pueden ser utilizados por otras reglas para derivar hechos adicionales. Este proceso de chequear reglas para ver si pueden ser satisfechas se denomina interpretacin de reglas. La interpretacin de reglas es realizada por una mquina de inferencia en un sistema basado en conocimiento. La interpretacin de reglas, o inferencia, en el razonamiento hacia adelante involucra la repeticin de los pasos que se indican en la figura 3.6.

Mg. Abraham Gamarra Moreno

82

Figura 3.4 Proceso de Razonamiento Progresivo.

Unificacin (Matching).- En este paso, en las reglas en la base de conocimientos se prueban los hechos conocidos al momento para ver cules son las que resulten satisfechas. Para decir que una regla ha sido satisfecha, se requiere que todas las premisas o antecedentes de la regla resuelvan a verdadero. Resolucin de Conflictos.- Es posible que en la fase de unificacin resulten satisfechas varias reglas. La resolucin de conflictos involucra: - la seleccin de una regla de acuerdo al orden en que fueron creados, es decir, los que se crearon primero son las reglas que se deben elegir, - la seleccin aleatoria de una regla, - la seleccin de la regla que tenga la ms alta prioridad de entre el conjunto de reglas que han sido satisfechas. Ejecucin.- El ltimo paso en la interpretacin de reglas es la ejecucin de la regla. La ejecucin puede dar lugar a uno o dos resultados posibles: nuevo hecho (o hechos) pueden ser derivados y aadidos a la base de hechos, o una nueva regla (o reglas) pueden ser aadidas al conjunto de reglas (base de conocimiento) que el sistema considera para ejecucin. El conjunto de aplicaciones adecuadas para el razonamiento hacia adelante est formado por: diseo, planeamiento y calendarizacin, donde ocurre la sntesis de nuevos hechos basados en las conclusiones de las reglas. En estas aplicaciones hay potencialmente muchas soluciones que pueden ser derivadas de los datos de enMg. Abraham Gamarra Moreno

83

trada. Debido a que estas soluciones no pueden ser enumeradas, las reglas expresan conocimiento como patrones generales y las conexiones precisas entre estas reglas no pueden ser predeterminadas. El razonamiento progresivo infiere con la aplicacin de la regla de modus ponens Pq P ______ . . . q es verdadero es verdadero es verdadero

La figura 3.7 muestra como se aplica la regla modus ponens.

Encadenamiento hacia adelante P1 --> P2 (Regla 1) --> P2 --> P3 (Regla 2) --> P3 --> q3 (Regla 3) -->R1

(Encadenamiento progresivo)

dado --> deducido --> P1--> Q3 P1-->R2 R3

p1 ----> p2 -----> p3 -----> q3 ----> -----> ----->Dado deducido deducido deducido

Direccin encadenamiento hacia adelante

Figura 3.5 Aplicacin de la regla modus ponens.

A continuacin se muestran dos ejemplos que utilizan el encadenamiento hacia adelante. Ejemplo 1: Se tienen los siguientes hechos y reglas: Hechos = { b, e, g, a, d }Mg. Abraham Gamarra Moreno

84

Reglas: r1: IF ( f and c and g ) THEN ( z ) r2: IF ( d and e ) THEN ( f ) r3: IF ( a and b ) THEN ( c ) El siguiente rbol muestra el trabajo realizado por el encadenamiento progresivo.

d e a b

r2

fr3 r1

c

zdeducido

gdeducidos: f c

Ejemplo 2: Se tiene el siguiente conjunto de reglas: R1: IF (P y Q) THEN S R2: IF R THEN T R3: IF (S y T) THEN U R4: IF (S y R) THEN V HECHOS={P,Q,R}Mg. Abraham Gamarra Moreno

85