Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El conjunto de tareas que estn asociadas al comportamiento humano inespecfico buscan la sntesis de las funciones que la neurofsica y psicologa cognoscitiva usan para describir el comportamiento humano.
moldearse mediante dos espacios de representacin (el de entradas y el de salidas), y un conjunto de reglas de transformacin que proyectan configuraciones del espacio de entradas en las configuraciones correspondientes del espacio de salidas. Por otro lado la Inteligencia Artificial de sntesis no tiene porqu depender de la comprensin de lo vivo, es decir, una forma alternativa y eficiente de extender los lmites de la Inteligencia Artificial es desarrollarla como ciencia y tecnologa de lo artificial, sin referencia directa con la biologa. Entonces se deben resolver las cuestiones siguientes: 1. Modelado y representacin del conocimiento a nivel estratgico, de tareas genricas de tipos de inferencia y de entidades y relaciones propias del dominio usando nuevos lenguajes de representacin ms prximos al lenguaje natural. 2. Bsqueda de nuevos principios de autoorganizacin capaces de generar estructuras simblicas robustas y de amplio uso a partir de entradas de informacin ms desorganizadas y fragmentadas. 3. Desarrollo de lenguajes de programacin que permitan cierto nivel de autoprogramacin. 4. nfasis en las teoras computacionales del aprendizaje tanto simblico como conexionista o hbrido.
1. Traslacin de los procesos externos a smbolos en un espacio de representacin. 2. Obtencin de otros smbolos mediante inferencia en el modelo del medio que paraliza la causalidad externa. 3. Retraslacin a esos smbolos transformados al dominio de sus referentes externos (prediccin). La caracterstica fundamental de un Sistema Basado en el Conocimiento (SBC) es su poder para modelar sucesos basados en dos tipos de smbolos: nmeros y palabras. La propuesta de Craik es que la codificacin de estos smbolos no es arbitraria, sino que mantiene su identidad desde la entrada sensorial a la salida motora. La Inteligencia Artificial en su primera etapa neurociberntica aborda los siguientes temas: Redes de neuronas formales. Algoritmos de anlisis y sntesis. Aprendizaje por ajuste de parmetros. Tolerancia a fallos. Modelos de memoria asociativa. Reconocimiento de caracteres Aprendizaje asociativo y por refuerzo. Desarrollos en Teora Modular de Autmatas. Codificacin y Teora de la Informacin Principios Organizacionales: Autoprogramacin. Autorreproduccin Programas programadores Traduccin automtica. Comprensin del Lenguaje Natural
Alan Turing tiene dos contribuciones bsicas a la computacin y a la Inteligencia Artificial: Un Modelo Computacional Universal (Mquina de Turing) Un procedimiento experimental de medir la I.A. de un programa (test de Turing) La Mquina de Turing es un mquina matemtica, todo proceso que se describe de forma clara, completa, precisa e inequvoca en lenguaje natural puede representarse mediante un autmata. A partir de esta representacin se puede encontrar una secuencia de instrucciones que al operar sobre smbolos codificados genera un programa ejecutable en cualquier computador. Desde este punto de vista todas las arquitecturas son equivalentes, y sus diferencias son los factores de complejidad, tamao, tiempo, eficacia o recursos. El test de Turing parte de un operador humano, un programa de ordenador y un interrogador que realiza un conjunto de preguntas, y compara las respuestas de ambos. Si de la comparacin de las respuestas el observador no es capaz de distinguir que informacin corresponde al operador humano y cual al programa de Inteligencia Artificial, se dice que para esa tarea en ese dominio se supone el mismo nivel de inteligencia a ambos operadores. Moov, modific el esquema en trminos de acumulacin de evidencia inductiva, a partir de una serie de crticas, la ms fuerte es sobre el carcter conductista del test de Turing. La contestacin adecuada a esta crtica es la de considerar el test ms que una medida de inteligencia como un procedimiento de recoger y acumular evidencias inductivas acerca de la eficacia del programa para resolver un problema. Esta interpretacin inductiva elimina parcialmente la crtica de Searle sobre la diferencia entre el conocimiento superficial (diccionario) y el profundo. Este segundo caso supone que el agente debe comprender el significado del mensaje a nivel semntico generando otro mensaje en otro lenguaje, con el mismo significado, sin referencia a la sintaxis del mensaje de partida. El segundo tipo de crtica hace referencia a la falta de severidad del test. Imitar no es muy complicado y la eficiencia en tareas formales y tcnicas para dominios estrechos y modelables no justifica el carcter cognoscitivo (humano) de la computacin en Inteligencia Artificial. Toda la informacin est estructurada, todo el proceso est programado y hay poco lugar para el aprendizaje. La capacidad de aprendizaje de un programa es la siguiente medida importante para evaluar el nivel de Inteligencia Artificial.
forma completa y sin influencia del sentido comn. Se habla as de motivacin inteligente, clasificacin basada en el conocimiento, consejeros de terapia mdica, sistemas de supervisin y deteccin de alarmas, etc. El nacimiento de los Sistemas Basados en el Conocimiento y los Sistemas Expertos ocurre en una poca dominada por dos preocupaciones: nfasis en la representacin computacional del conocimiento para tareas del mundo real. El conocimiento especfico del dominio es poder. Seleccin de tareas tcnicas en dominios estrechos (Sistemas Expertos) donde se separa el conocimiento de sus mecanismos de aplicacin (inferencia).
Renacimiento del conexionismo y surgimiento de las redes bayesianas. Manejo de grandes bases de conocimiento, lo que exige el desarrollo de mtodos automticos de adquisicin y actualizacin (aprendizaje).
inductivos, en los que se generaliza y traslada lo aprendido en casos particulares y el aprendizaje creativo, por discernimiento. La idea general de aprendizaje es la acumulacin de conocimientos. Un programa aprende cuando es capaz de acumular conocimiento sobre una tarea, para ello se deben representar como cambios en estructuras de datos y algoritmos. Una buena teora del aprendizaje comienza con la bsqueda de representaciones plsticas que admitan cambios adaptativos como consecuencia del entrenamiento. Este problema general se puede dividir en tres: tareas perceptivas, de organizacin central (decisin) y de planificacin motora. El aprendizaje en percepcin incluye el reconocimiento de caracteres y la formacin de conceptos. Hace falta mucho conocimiento inicial para que un programa pueda empezar a aprender. El aprendizaje en planificacin incluye aspectos complementarios de la percepcin. Se parte de conceptos centrales en un modelo del medio (planes) y se programa un generador de acciones elementales. La percepcin es la imagen especular (simtrica) de la planificacin y la accin (percepcin y planificacin deben estar integradas). El aprendizaje de organizacin central incluye aspectos como la adquisicin automtica de nuevo conocimiento declarativo y su integracin en una organizacin interna, la puesta al da de una base de conocimiento y los cambios en los mecanismos de inferencia. Considerando el aprendizaje central como el cambio en los mecanismo de razonamiento, hay tres paradigmas bsicos: inductivo, deductivo y abductivo. En el aprendizaje inductivo los cambios en las estructuras de datos y algoritmos van encaminadas a la generalizacin del conocimiento extraible de los ejemplos usados en el entrenamiento. Ese proceso est guiado por criterios heursticos. Si se dispone de mucho conocimiento del dominio no es necesario mucho entrenamiento, se tiene una estrategia de aprendizaje basado en casos (CBL). El aprendizaje deductivo est asociado a situaciones en las que se dispone de un conocimiento general bastante completo y unas reglas de inferencia para obtener casos bajo la ley y explicar el proceso deductivo. Al tener que encontrar teoras completas se debe complementar con otras estrategias inductivas o abductivas. El aprendizaje por analoga (Craik, 1.943) est basado en la bsqueda de correspondencias entre entidades y relaciones pertenecientes a dos dominios (fuente y diana). Estas correspondencias se usan para trasladar los razonamientos del dominio fuente al dominio diana. La analoga al igual que la induccin se basa en realizar una suposicin sobre una generalizacin, se elige el caso ms cercano al que se debe resolver. El aprendizaje abductivo busca un procedimiento para proponer y seleccionar las hiptesis que mejor expliquen las conclusiones conocidas. La eleccin, tambin de naturaleza inductiva, est asociada a las hiptesis y tiene el carcter de una explicacin. El estado actual del aprendizaje computacional esta marcado por dos tendencias complementarias: 1. Desarrollo de sistemas multiestrategia, basados en la comprensin de las funcionalidades y las condiciones de aplicacin de las distintas estrategias individuales y en la cooperacin de estas en funcin del tipo de problema. 2. Desarrollos tericos y metodolgicos distinguiendo entre las funcionalidades en el dominio propio y en el del observador y proponiendo un nivel de procesos comunes en trminos de los que las distintas estrategias son equivalentes. Conexionismo El crecimiento de la computacin simblica y el reconocimiento de las limitaciones de las redes neuronales formales frenaron el conexionismo a finales de los 60. En una etapa intermedia (1.970-1.980) se sigue trabajando en el conexionismo a nivel de redes probabilsticas, memorias asociativas, reconocimiento de caracteres, aprendizaje por refuerzo, etc. El salto cualitativo del conexionismo se produce en los 80 con las propuestas de Rumelhart y Barto. Permanece el concepto inicial de red neuronal pero con la diferencia de la sustitucin de la funcin umbral por una funcin derivable que permita la retropropagacin de la funcin de error que gua el aprendizaje supervisado por el mtodo del gradiente. El contenido en extenso de la Inteligencia Artificial conexionista aborda los siguientes temas: Conexiones con la neurociencia Modelos de computacin distribuida y autoprogramable Bsqueda de arquitecturas multicapa e incremetales y genticas que faciliten la cooperacin y la autoorganizacin de forma anloga a los propuestos por la IA distribuida. Estudio del aprendizaje supervisado y no supervisado. Conexin con el aprendizaje simblico. Desarrollo de neurosimuladores Implementacin de redes como arquitecturas paralelas de propsito especial. Aplicaciones, percepcin y control.
NIVEL 2: Representacin y algoritmo. Cmo puede implementarse esta teora de clculo? (espacios simblicos de representacin de las entradas y salidas y algoritmos que los enlazan) . NIVEL 3: Implementacin en un soporte fsico del nivel 2 (entornos software y nivel hardware.
Para una tarea concreta los tres niveles de descripcin estn relacionados, cuando se baja de nivel se pierde informacin, ya que no hay un representacin nica de ese nivel. La hiptesis fuerte de la Inteligencia Artificial es que a pesar de estas prdidas de semntica es posible hacer computacional la inteligencia humana.
10
NIVEL DE IMPLEMENTACIN
Metas Acciones Intenciones Smbolos y Operadores y expresiones memorias (Primitivas del lenguaje) Vectores Registros Booleanos y ALUs Estados lgicos Decodificadores de puertas de Instrucciones
Algebra de Boole
Teora de Autmatas
El principio de racionalidad o principio de causalidad semntica dice: Si un agente conoce que una de sus acciones conducir a sus metas, entonces seleccionar esta accin. Conocimiento es cualquier cosa que se pueda adscribir a un agente de forma que su conducta se puede calcular usando el principio de racionalidad. Desde la perspectiva de la Inteligencia Artificial aplicada, el problema es encontrar un procedimiento para reducir el nivel de conocimiento al nivel simblico. Es decir, pasar de las descripciones en lenguaje natural a un lenguaje accesible al nivel simblico, donde el principio de racionalidad, las metas, las creencias y las acciones se proyectan en estructuras de datos y algoritmos. Para facilitar el proceso de reduccin se estn buscando entidades de nivel intermedio como la teora de agentes cooperativos (descomposicin, segmentacin y especializacin), las estructura de las tareas genricas y la metodologa KADS entre otras.
11
En las descripciones de dominio propio todo lo que ocurre el causal, y las relaciones son de necesidad, es decir, lo que ocurre es porque la estructura y funcin coinciden y las conexiones entre las magnitudes siguen sus leyes propias. El observador siempre acta a nivel de conocimiento, usa el lenguaje natural y su funcin de diseo e interpretacin de la computacin en los niveles fsicos y simblico est caracterizada por su modelo del conocimiento, las limitaciones de estos niveles y la inyeccin de conocimiento que se necesita para recuperar la informacin perdida en la reduccin de niveles. En la computacin de debe de evitar mezclar entidades y relaciones del dominio propio con otras del dominio del observador con las que no tienen ninguna relacin causal. F. Varela (1.979) distingue entre las explicaciones en el dominio del observador y las explicaciones operacionales (causales en el dominio propio). Se deben de evitar mezclar entidades de distinta semntica lo que se consigue mediante descripciones en ambos dominios. La distincin entre ambos dominios aparece al plantear la reduccin del nivel de conocimiento al nivel simblico y se hacen explcitas las tablas de semntica. Un error comn en Inteligencia Artificial es no hacer mencin explcita al intercambio de niveles no de la inyeccin de conocimiento necesaria para estos saltos de nivel.
Metodologa KADS
La metodologa KADS para el desarrollo de sistemas basados en el conocimiento se apoya en el nivel de las tareas genricas y en la distincin de cuatro capas: estrategia, tareas, inferencia y conocimiento esttico del dominio, para modelar el conocimiento. El proceso comienza con el anlisis a nivel global, que permite una descomposicin del problema en tres mdulos: el mdulo basado en el conocimiento, la interfaz y el resto de la aplicacin. La siguiente etapa modela la inferencia, est relacionada con las tcnicas de representacin del conocimiento esttico. La tercera etapa contiene la estructura de tarea genrica. La capa ms externa se usa para modelar los aspectos estratgicos del conocimiento. El uso de una estructura de tarea genrica para modelar conocimiento tiene la ventaja de ser modular, planteando la existencia de primitivas de computacin, a partir de las cuales se puede modelar y sintetizar el conocimiento.
12
Espacios de representacin.
Nociones bsicas sobre grafos. Un grafo viene dado por un conjunto de nodos y un conjunto de arcos entre los nodos. Cada arco se define formalmente como un par de nodos. En caso de pares ordenados tenemos un grafo dirigido [(A,B)#(B,A)]; en caso contrario, el grafo es no dirigido. Se define un camino como una sucesin de nodos tales que entre dos de ellos consecutivos existe un arco. Si el ltimo nodo del camino coincide con el primero se trata de un camino cerrado; si no, se denomina camino abierto, en la definicin de camino no se tiene en cuenta la direccin de los arcos. Un grafo es conexo cuando entre dos nodos cualesquiera existe al menos un camino. Cuando entre dos nodos existe un nico camino el grafo es simplemente conexo; si para algn par de nodos existen dos o ms caminos entre ellos (hay algn camino cerrado) es grafo es mltiplemente conexo. En un grafo no dirigido cualquier camino cerrado recibe el nombre de ciclo, si no tenemos un bucle. Los grafos dirigidos acclicos (GDA) son aquellos que no contienen ciclos. A los nodos que no tienen hijos se les llama nodos terminales, hojas o extremos. Una de las propiedades ms importantes de los grafos dirigidos acclicos (GDA) es que cada uno de ellos define una relacin de orden entre los nodos y viceversa. Un grafo con ciclos no puede representar una relacin de orden por incumplir la propiedad transitiva. Los GDA conexos que no contienen bucles se denominan polirboles. Un rbol [dirigido] es un GDA en que cada nodo tiene como mximo un padre; tiene las siguientes propiedades: Un rbol no puede contener ciclos ni bucles. Existe un nico nodo, denominado raz que no tiene antepasados y que es antepasado de todos los dems. Cada nodo, excepto el raz, tiene exactamente un padre. Ferran Gmez y Jos M. Godoy
13
Para cada nodo existe un camino y slo uno que lo conecta con la raz; se conoce como rama. En el caso de los problemas de bsqueda, adems se debe de tener en cuenta: Nodo: elementos en el espacio de estados que representan situaciones vlidas en el dominio. Un nodo terminal que satisface las condiciones del objetivo recibe el nombre de meta. Expansin de un nodo: Obtener todos los posibles sucesores en el grafo de bsqueda a travs de la aplicacin de todos los operadores disponibles relacionados. Nodo o estado cerrado es aqul que ha sido expandido. Nodo o estado abierto es aqul en que queda por aplicar algn operador. Coste de un arco: Valor que refleja el tiempo de aplicar un operador a un estado (por defecto 1). Coste de un nodo: Tiempo en alcanzar el nodo desde la raz a lo largo del mejor camino encontrado hasta el momento. Factor de ramificacin: Nmero medio de descendientes de un nodo. Longitud de trayectoria: Nmero de nodos generados en un camino. Profundidad: Longitud del camino ms corto desde el estado inicial a una meta. Representacin de los problemas de bsqueda: El entorno en el cual se desarrolla el proceso de bsqueda se conoce como el espacio del problema (o de representacin). Est formado por el conjunto de estados y el conjunto de operadores que permiten avanzar en el proceso de obtencin de la solucin. Una instancia del problema es un espacio del problema donde se seala cul es el estado inicial y cul el final. En el espacio de estado, durante el proceso de bsqueda, cada estado representa una situacin que se debe considerar como candidata a pertenecer la solucin del problema. No todos los operadores tienen que se aplicables a un determinado estado. El proceso de comprobacin de la aplicabilidad de los operadores es lo que se conoce como equiparacin. La Estrategia de Control (EC) es la encargada de optimizar el proceso de bsqueda. Partiendo de las condiciones iniciales que definen el problema se realiza un proceso continuo de seleccin de estados (sealado por EC) de generacin de sucesores (aplicando los operadores seleccionados por EC) hasta obtener un estado que cumpla las condiciones que definen el objetivo del problema. La bsqueda surge cuando hay ms de un operador aplicable o existe ms de una instanciacin para un operador concreto; en este caso se hace necesario analizar las diversas alternativas existentes. El proceso seguido por la EC debe ser en su conjunto un mtodo sistemtico que explore las distintas alternativas que permitan acercarse a la meta. Para ello debe: Seleccionar los nodos a lo largo del grafo de bsqueda generado. Determinar las reglas aplicables al nodo elegido, considerando que pueden existir diferentes formas de aplicacin de alguna de ellas. Seleccionar del conjunto obtenido, una regla y aplicarla. Comprobar que el estado generado cumple las condiciones asociadas al estado meta. El conjunto de estados obtenidos en el proceso de bsqueda descrito se denomina grafo de estados. El espacio de estados est formado por todos aquellos estados que podran obtenerse si se aplicaran todos los operadores posibles a todos los estados que se generen, el grafo de estado es una medida explcita (refleja los caminos explorados) del proceso realizado y el espacio de estados es una medida implcita (el nmero de estados generados en dicho espacio se utiliza como referencia) que da un idea de la complejidad del problema. La complejidad de un clculo es la cantidad de recursos necesarios para efectuarlo. La complejidad temporal se refiere al tiempo necesario para realizar un clculo, es una medida del nmero de operaciones realizadas y la complejidad espacial como el conjunto de datos que es necesario recordar en un momento dado. Este razonamiento de bsqueda se conoce como guiado por los datos o encaminamiento hacia adelante. El estado inicial y todos los que se obtengan sucesivamente a partir de aqul formarn parte de la base de datos de trabajo (BD). Cmo limitar el Espacio de Bsqueda. El problema de hallar un estado que satisfaga una condicin puede formularse como la bsqueda de un grafo que posea un nodo cuya descripcin asociada coincida con el estado objetivo. La bsqueda consiste en obtener un grafo explcito suficientemente grande para que contenga la solucin del problema inicial. El problema crtico son las cantidades de tiempo y espacio necesarias para encontrar la solucin, ya que se produce la llamada explosin combinatoria. Para realizar una bsqueda eficiente se usan los conocimientos heursticos para dirigir la bsqueda. Para Nilsson, a diferencia de una bsqueda ciega en el espacio de estados, basada en generar n estados para luego comprobar si satisfacen o no las condiciones del objetivo, la bsqueda heurstica no consiste en excluir parte de ese espacio por definicin sino en aadir informacin, basndose en el espacio estudiado hasta ese momento, de forma que se restringe drsticamente dicha bsqueda.
14
(conocida por ABIERTA) cuya manipulacin se realiza en forma de cola (FIFO); es decir, se da prioridad a los nodos que llevan ms tiempo esperando. Procedimiento: 1- Crear una lista de nodos llamada ABIERTA e inicializarla con un nico nodo raz, al que se le asigna el estado inicial del problema planteado. 2- Hasta que ABIERTA est vaca o se encuentre una meta realizar las siguientes acciones: 2.1 Extraer el primer nodo de ABIERTA, llamarlo m. 2.2 Expandir m. Para cada operador aplicable y cada forma de aplicacin: Aplicar m, crear un puntero desde el estado creado a m. Si el nuevo estado es meta salir del proceso iterativo iniciado en 2.2. Incluir el nuevo estado en ABIERTA. Complejidad: Temporal: Depende del factor de ramificacin y de la profundidad de la solucin. Si el nmero medio de sucesores es n y la solucin se alcanza en el nivel p, la complejidad es de orden O(np). Espacial: Dado que antes de abandonar la generacin de todos los sucesores de un nivel se deben recordar (en ABIERTA) todos los nodos de dicho nivel, la complejidad espacial es tambin de orden O(np). Anlisis: Ventajas: Si el problema tiene solucin este procedimiento garantiza que se encuentra y si hay varias metas encuentra la de menor coste (profundidad). Desventajas: Si el nivel de profundidad es menor que el nivel de ramificacin se expanden muchos nodos intilmente. Su principal desventaja es el espacio de almacenamiento requerido (prcticamente inviable). Bsqueda en Profundidad. Descripcin: En cada nivel, a lo largo del proceso de bsqueda, se selecciona un nico nodo para ser expandido. Slo se considera un camino, una rama del rbol. El funcionamiento corresponde a una pila. El objetivo es recorrer el grafo siguiendo el camino de mxima pendiente con respecto al parmetro profundidad. Ante la posibilidad de que el camino sea de longitud infinita, o demasiado largo, se necesita establecer un lmite de profundidad (lp). Se debe estudiar tambin la posibilidad de alcanzar una va muerta o punto sin retorno. Procedimiento: 1. Crear una lista de nodos llamada ABIERTA e inicializarla con un nico nodo raz, es estado inicial. 2. Hasta que se encuentre una meta o se devuelva un fallo realizar las siguientes acciones: Si ABIERTA est vaca, terminar con fallo. Extraer el primer nodo de ABIERTA, denominarlo m. Si la profundidad de m es igual a lp, regresar a 2. Expandir m, todos sus sucesores tendrn punteros a l. Introducir los sucesores en ABIERTA. Si algn sucesor es meta abandonar el proceso iterativo devolviendo el camino solucin. Si algn suceso de m se encuentra en un callejn sin salida eliminarlo de ABIERTA. En el caso de grafos se deben de evitar duplicados comprobando, para cada nuevo nodo generado, si ya exista en el grafo de bsqueda. Si a un nodo se llega desde varios caminos se escoge el de menor profundidad (como solucin de compromiso para evitar comprobaciones se coge como ms profundo el ltimo nodo de la pila). Complejidad: Temporal: Igual que en Bsqueda en Amplitud. Espacial: Como slo es necesario guardar constancia del camino construido hasta el momento, la complejidad para un camino de longitud p es dicho valor ms el factor de ramificacin ( r ); es decir O(p+r). Anlisis: Ventajas: Valor reducido de su complejidad espacial. Cuando hay mltiples soluciones la eficiencia del mtodo aumenta. Desventajas: El tiempo requerido, si el algoritmo avanza por una rama que no llevara a solucin, adems si no se guarda constancia del camino recorrido se puede caer en ciclos y el proceso no acabara. El problema es pues determinar lp. Bsqueda con Retroceso. Ferran Gmez y Jos M. Godoy
15
Descripcin: Cada iteracin considera slo un sucesor, restringiendo el espacio de estados considerado. Se eliminan de dicho espacio los nodos que sean una va muerta. Esta estrategia realiza un recorrido en profundidad del grafo de bsqueda en la que en lugar de hablar de expansin de nodos se habla de generacin de aquellos. Es decir, si un nodo examinado no es meta o punto sin retorno, slo se genera uno de sus sucesores, ahorrndose por lo tanto el coste que supone la creacin simultnea de todos ellos. Procedimiento: 1. Crear una lista de nodos llamada ABIERTA e inicializarla con un nico nodo raz que contiene el estado inicial del problema planteado. 2. Hasta que se encuentre una meta o se devuelva fallo realizar las siguientes acciones: Si ABIERTA est vaca terminar con fallo. Seleccionar el primer nodo de ABIERTA, denominarlo m. Si la profundidad de m es igual a lp o si no tiene ms sucesores posibles, eliminarlo de ABIERTA y regresar a 2; sino continuar. Generar un nuevo sucesor m de m introducirlo en ABIERTA, creando un puntero a m, y sealar que la rama ha sido considerada. Si m es meta, abandonar, devolviendo el camino solucin. Si m se encuentra en callejn sin salida eliminarlo de ABIERTA. Complejidad: Temporal: El nmero de operaciones para un factor de ramificacin n y una solucin de nivel p es de orden O (np ). Espacial: Como slo es necesario recordar el camino recorrido el espacio es de orden O( p). Anlisis: Ventajas: El poco espacio de almacenamiento ya que slo hay que recordar en cada instante un sucesor del nodo seleccionado. Desventajas: Desconocimiento del lmite de exploracin. La falta de orden previo de recorrido de los sucesores de un nodo, quedando la eficiencia temporal limitado por su carcter fortuito. Otros mtodos derivados. Bsqueda en profundidad progresiva. Consiste en realizar una bsqueda en profundidad por niveles, de forma que el lmite de exploracin aumenta una unidad por cada nivel analizado. Esta estrategia es la ms eficiente dentro de las estrategias no informadas que son capaces de encontrar la solucin mejor de menor coste existente (ptima). Su complejidad temporal es de orden O(np) y la espacial de orden O(p). Bsqueda Bidireccional Descripcin: Cuando adems de la descripcin del problema, se parte de una meta explcita, existe un planteamiento alternativo que resulta de la combinacin de dos grafos de bsqueda diferentes. Se realiza simultneamente la bsqueda de la meta (encaminamiento hacia adelante) y la bsqueda del estado inicial a partir de un estado solucin (encaminamiento hacia atrs) hasta que ambos procesos confluyan en algn estado. Para garantizar la convergencia al menos uno de los procesos ha de ser en amplitud. Procedimiento (Bsqueda Bidireccional en Amplitud). 1. Inicializar dos grafos de bsqueda. En el primero (A.1), el nodo raz ser el estado inicial del problema planteado, y el segundo (A.2) tendr como raz la meta de dicho problema. 2. Inicializar el lmite de exploracin lp=1. 3. Continuar la bsqueda en (A.1) hasta lp. 4. Continuar la bsqueda en (A.2) hasta lp. 5. Comprobar si alguno de los estados generados coinciden, si es as devolver la solucin, o volver al paso 2. Complejidad Temporal: El nmero de operaciones para un factor de ramificacin n y para una solucin situada en el nivel p es del orden O(np/2). Espacial: La condicin impuesta para garantizar la convergencia permite afirmar que el espacio de almacenamiento es del orden O(np/2). Anlisis: Ventajas: La divisin del factor exponencial. Ferran Gmez y Jos M. Godoy
16
Desventajas: Lmite de exploracin, el nmero de iteraciones antes de cambiar el sentido de la bsqueda es un parmetro crtico para la eficacia de este mtodo. Otro inconveniente es el de no disponer de algn criterio adicional para poder ordenar la seleccin de nodos meta a lo largo del proceso.
17
4. BSQUEDA HEURSTICA.
Elementos implicados.
Se pueden distinguir dos marcos de referencia diferentes, el dominio del observador (DO) y el dominio propio (DP), que ayudan a concretar los problemas y las soluciones aportadas. Dominio del observador: Los mtodos heursticos tratan de resolver problemas eficientemente, obteniendo soluciones satisfactorias en el dominio de la aplicacin. Esto mtodos no garantizan encontrar la solucin ptima del problema pero s obtienen aproximaciones con menor esfuerzo. El origen de estos mtodos est en el anlisis del comportamiento humano. Los problemas que son objeto de estas tcnicas son de dos tipos: 1. Problemas de solucin parcialmente conocida. 2. Problemas intratables de solucin conocida, aquellos que no se pueden resolver completamente por la complejidad implicada, pero se conoce el mtodo de solucin. Dominio propio: Los mtodos heursticos se utilizan para obtener soluciones tiles en problemas sujetos al fenmeno de la explosin combinatoria. Los problemas pueden ser de dos tipos, de tipo P son aquellos que pueden ser resueltos mediante un procedimiento de complejidad polinmica; por otro lado los problemas NP, en los que todos los algoritmos requieren un tiempo exponencial en el peor caso. Desde el punto de vista computacional, los objetivos declarados en el DO suelen traducirse en establecer las llamadas funciones de evaluacin heurstica que ayuden a seleccionar el estado ms prometedor en el espacio de bsqueda. Conocimientos de control. La clave de los procesos heursticos de bsqueda es el ahorrar tiempo y/o espacio de almacenamiento evitando recorrer muchos caminos intiles introduciendo informacin adicional que gue el recorrido realizado. Reglas de Control Heurstico. Una forma de reducir la complejidad del proceso es introducir reglas de control heurstico en el proceso de bsqueda. Estas pueden ser de dos tipos en funcin del conocimiento reflejado. El primero se refiere al conocimiento heurstico dependiente del dominio, utilizado para seleccionar alguna de las situaciones alcanzadas y la siguiente accin aplicable sobre ella. La segunda fuente utilizada en el control del proceso de bsqueda es el conocimiento general disponible sobre el funcionamiento del solucionador. En cada etapa del proceso, al expandir un nodo se comprueba si alguno de sus sucesores es meta y entonces se devuelve el camino solucin. Este conocimiento es independiente del dominio de aplicacin. Por otro lado existe un conocimiento dependiente del dominio de aplicacin (heurstico), que se utiliza para determinar cundo se ha alcanzado la situacin objetivo. Funciones de Evaluacin Heurstica. Estas funciones son una aplicacin del espacio de estados sobre un espacio numrico f (estadoj )=nj; siendo nj el valor numrico que refleja en qu grado se considera prometedor un estado en la bsqueda de la solucin. El conocimiento del dominio reflejado por las funciones de evaluacin heurstica (fev) se obtiene a travs del establecimiento de modelos simplificados del modelo original. Suelen ser funciones de evaluacin estticas que miden factores que determinan la proximidad del objetivo. La distancia entre un nodo cualquiera y la meta se conoce como distancia de Manhattan. El grafo de bsqueda se recorre en funcin de un objetivo que consiste en maximizar o minimizar el valor indicado por dichas funciones, teniendo en cuenta que dicho valor debe reflejar la cercana relativa con respecto a la meta buscada. Evidentemente cuanto mejor indique la funcin heurstica la cercana real a la meta, menor ser el grafo de bsqueda expandido. Una condicin que debe de cumplir fev es que su valor mximo (o mnimo) debe alcanzarse al ser aplicada a un estado meta. Se debe de valorar si el coste asociado al clculo de la fev compensa al coste de realizar el proceso de bsqueda sin dicho conocimiento o con otras funciones menos exactas pero ms sencillas. Estas funciones son ptimas cuando son invariantes con respecto a un movimiento ptimo desde cualquier estado a lo largo del estado de bsqueda. Planteamiento del problema. Se parte del esquema de bsqueda como tarea genrica en Inteligencia Artificial; utilizando el procedimiento general de bsqueda en grafos que permite aplicar directamente la informacin proveniente del dominio. Dicho algoritmo se conoce como mtodo de bsqueda el primero el mejor. La eficiencia del problema depende del criterio de ordenacin de ABIERTA. Una forma inmediata de aprovechar las fev es aplicarlas sobre los nodos generados a lo largo del proceso de bsqueda, de manera que ordene los nodos en ABIERTA segn el valor de la funcin heurstica utilizada. La funcin de evaluacin heurstica (fev) mide la cercana estimada al nodo meta, es un valor inexacto ya que la informacin disponible hasta el momento en que se toma la decisin es incompleta. Por tanto, el control realizado no determina con seguridad cul es Ferran Gmez y Jos M. Godoy
18
el mejor nodo pero s que ayuda a reducir el nmero de nodos considerados (complejidad espacial) y el tiempo empleado (complejidad temporal).
19
abandonados previamente. La finalidad es encontrar el camino de menor coste, por lo que la funcin f debe medir la distancia a la meta. Procedimiento de bsqueda Primero el Mejor(PM). 1. Crear un grafo de exploracin G que consista en un nico nodo que contiene la descripcin del problema. Crear una lista de nodos llamada ABIERTA e inicializarla con dicho nodo. 2. Crear una lista de nodos llamada CERRADA que inicialmente estar vaca. 3. Hasta que se encuentre una meta o se devuelva fallo realizar las siguientes acciones: 3.1 Si ABIERTA est vaca terminar con fallo, sino continuar. 3.2 Eliminar el primer nodo de ABIERTA, llamarlo m e introducirlo en CERRADA. 3.3 Expandir m creando punteros en todos sus sucesores. 3.4 Si algn sucesor es meta abandonar el proceso iterativo y devolver el camino solucin, recorriendo los punteros de sus antepasados. 3.5 Para cada sucesor n de m calcular f(n) teniendo en cuenta las siguientes consideraciones: 3.5.1 Si n es nuevo asociarle el valor f(n) e introducirlo en ABIERTA. 3.5.2 En caso contrario: a. Si f(n) es mayor que el que ya tena asociado descartar el nuevo nodo. b. Si no, sustituir el valor por el nuevo f(n) y cambiar el puntero a m; si el nodo estaba en CERRADA, actualizar el coste de sus descendientes ya que podran ver reducido su valor. En pseudocdigo es: fun primero_el_mejor (m: nodo) crear (ABIERTA) crear (CERRADA) meter (ABIERTA,m) fallo falso mientras (m#meta) y (fallo #cierto) hacer sacar (ABIERTA, m); meter (CERRADA, m) para cada sucesor n de m y no antecesor de n hacer si n= meta entonces Devolver_camino_solucin (n) si no_est (ABIERTA, n) y no_est (CERRADA, n) entonces n.valor fev (n) n.padre m meter (ABIERTA, n) sino si n.valor es pero que fev(n) entonces n.valor fev (n) n.padre m si est (CERRADA,n) entonces Recalcular_Descendientes (n) fsi fsi fpara si Abierta = entonces fallo cierto fsi fmientras ffun Anlisis: Ventajas: Permite evitar el problema de los mnimos locales que sufre el mtodo del gradiente, adems asegura que tarde o temprano se encontrar la solucin mnima (o mxima). Desventajas: En el procedimiento no se considera el camino recorrido hasta el momento, es decir si un nodo se encuentra cerca de la meta pero se avanza por otro, que a priori tiene una f mejor, en una cierta profundidad se tendr un menor coste hasta la meta, aunque en realidad el camino total ser peor. Existe una variante de este mtodo llamada bsqueda en haz que pretende acelerar el proceso de bsqueda ampliando el rango de estados que son considerados simultneamente como mejores. En cada momento se mantienen dos estructuras de datos, una contiene los estados que pertenecen al haz de bsqueda actual y otra agrupa a los posibles sucesores. Ferran Gmez y Jos M. Godoy
20
Contra ms informada sea la funcin que determina la validez de un nodo, ms estrecho ser el haz y ms eficiente ser el proceso de bsqueda realizado. En general este mtodo requiere menos recursos.
Algoritmo A*.
Descripcin. Es el mejor mtodo de bsqueda del tipo primero el mejor que sirve para resolver el problema que conlleva el no considerar el camino recorrido hasta un momento dado. La clave del mtodo est en ampliar la definicin de la funcin fev para que tenga en cuenta el coste del camino recorrido, resultando la expresin: f(n)=g(n)+h(n) siendo: g(n) Coste real del camino de menor coste encontrado hasta el momento desde la raz del grafo de bsqueda G hasta el nodo en cuestin. Es un estimador del coste real del camino ptimo que se identifica por g*(n). h(n) estimador heurstico del coste del camino ptimo desde el nodo n a una meta. El coste real lo calcula la funcin h*(n). f(n) es un estimador del coste total del camino ptimo de una solucin que pase por el nodo n. El valor real de dicho camino lo devuelve la funcin inicialmente desconocida, llamada f*(n). Procedimiento A*. 1. Crear una lista de nodos llamada ABIERTA e inicializarla con un nico nodo raz que contiene el estado inicial del problema planteado. Llamar a este elemento r y asignarle g( r )=0. 2. Crear una lista de nodos, CERRADA, que inicialmente estar vaca. 3. Repetir hasta que se encuentre la meta o se devuelva fallo: 3.1 Si ABIERTA est vaca terminar con fallo. 3.2 Eliminar el nodo de ABIERTA que contenga un valor mnimo de f, llamar a este nodo m e introducirlo en CERRADA. 3.3 Si m es meta abandonar el proceso iterativo devolviendo el camino solucin. 3.4 Si no, expandir m generando todos sus sucesores. 3.5 Para cada sucesor n de m: a. Crear un puntero de n a m b. Calcular g(n)=g)m)+c(m,n)|c(a,b):coste de pasar de a a b. c. Si n est en ABIERTA llamar n al nodo encontrado en la lista, aadirlo a los sucesores de m y realizar : (3.1.c) Si g(n)< g(n) entonces redireccionar el puntero de n a m y cambiar el camino de menor coste encontrado a n desde la raz; g(n)=g(n) y f(n)= g(n)+ h(n). d. Si n no cumple (c), comprobar si est en CERRADA, llamar n al nodo encontrado en dicha lista y realizar las siguientes acciones: Si (3.1.c) no se cumple, abandonar (d), en caso contrario propagar el nuevo menor coste g(n) (por lo que se actualizarn sus valores de f correspondientes) a sus descendientes realizando un recorrido en profundidad de stos, empezando por n y teniendo en cuenta las siguientes consideraciones: 1. Para los nodos descendientes ni cuyo puntero conduzca hasta el nodo n actualizar g(ni )=g(ni ) y f(ni )= g(ni )+ h(ni ) y seguir el recorrido hasta que se encuentre un ni que no tenga ms sucesores calculados o se llegue a un nodo en que ya ocurra que g(ni )=g(ni ); en cuyo caso se habra producido un ciclo y tambin habra que terminar la propagacin. 2. Para los nodos descendientes ni cuyo puntero no conduzca hacia el nodo n comprobar si g(ni )<g(ni ), en cuyo caso se debe actualizar el puntero para que conduzca hacia el nodo n (mejor camino desde la raz encontrado por el momento) y se continua el proceso de propagacin. e. Si n no estaba en ABIERTA o en CERRADA, calcular h(n) y f(n)=g(n)+h(n), introducirlo en ABIERTA y aadirlo a la lista de sucesores de m. Relaciones con otros mtodos de bsqueda: 1. Si n m (h(n)=0)^(c(m,n)=1) entonces A* se convierte en un proceso de bsqueda en amplitud. 2. Si n (h(n)=0 entonces A* se convierte en el mtodo denominado procedimiento de coste uniforme; que es una variacin de la bsqueda en amplitud donde lo que se busca no son caminos de la menor longitud sino de menor coste.
21
En pseudocdigo: fun Procedimiento_A* (raz: nodo) crear (ABIERTA) crear (CERRADA) meter (ABIERTA, raz) fallo falso raz.g 0 mientras (m # meta) y (fallo # cierto) hacer sacar (ABIERTA, m) meter (CERRADA, m) si m = meta entonces Devolver_Camino_Solucin (n) fsi para cada sucesor n de m hacer g(n) g(m) + coste (m,n) si est (ABIERTA,n) entonces si n.g es peor que g(n) entonces n.g g(n) n.f g(n)+h(n) n.padre m fsi sino si est (CERRADA, n) entonces si n.g es peor que g(n) entonces Recalcular_Descendientes (n) fsi fsi fpara si ABIERTA= entonces fallo cierto fsi fmientras ffun Propiedades formales. 1. A* es un mtodo completo de bsqueda incluso para grafos infinitos. Es decir, termina encontrando la solucin cuando esta exista para cualquier tipo de grafos. 2. Es un mtodo admisible, ya que no slo encuentra la solucin sino que la que encuentra es ptima. 3. Si la funcin heurstica h es montona y consistente el algoritmo encuentra un camino ptimo para todos los nodos expandidos. Una funcin es montona si cumple:
es decir, si el valor de la funcin nunca decrece a lo largo de un camino desde la raz, entonces se puede afirmar que cuando el algoritmo expande un nodo objetivo, el camino encontrado es el de menor coste a un objetivo. 4. Entre todos los algoritmos que usan una funcin heurstica consistente h(n) y que encuentran una solucin ptima, A* expande el menor nmero de nodos. Anlisis. Ventajas: A partir de las propiedades anteriores, se puede decir que el algoritmo A* es un mtodo completo, admisible y que encuentra la solucin ptima para funciones de evaluacin heurstica consistentes con respecto a la longitud de la solucin. Desventajas: La propiedad de admisibilidad hace que el algoritmo gaste mucho ms esfuerzo en discriminar entre caminos prcticamente iguales, por lo que es ms realista buscar soluciones dentro de unos mrgenes acotados de error. Un inconveniente es el espacio requerido. Una opcin para reducir el espacio (requerido por mantener ABIERTA) es realizar un planteamiento semejante al mtodo de bsqueda en haz, llamado A* en profundidad progresiva (A*-P). Ferran Gmez y Jos M. Godoy
22
Mtodo AO*.
Descripcin: Es una generalizacin del algoritmo A* para el caso de grafos Y/O. Sigue cumpliendo la propiedad de ser una algoritmo admisible, es decir, encuentra una solucin ptima siempre y cuando la funcin heurstica h de estimacin de distancia al objetivo siga un criterio optimista de valoracin (devuelva un valor menor o igual que la distancia real existente). Para obtener un grafo solucin de coste mnimo hay que tener en cuenta que su coste depende de la expansin de los nodos que lo forman. Para calcularlo es necesario distinguir los enlaces del tipo O de los enlaces de tipo Y, ya que en estos ltimos hay que sumar el coste de la obtencin de cada uno de los nodos conectados por el enlace. Procedimiento AO* 1. Crear un grafo G que en principio est formado por el nodo raz m. Estimar la distancia heurstica a la meta de sta mediante h(m). 2. Repetir hasta que m se considere resuelto o hasta que su coste supere un cierto valor coste - mximo 2.1 Seguir los enlaces marcados que sealan el mejor grafo parcial de la solucin obtenido hasta el momento mientras no se alcancen los extremos del grafo. Escoger alguno de los extremos, que se llamar n. 2.2 Expandir n generando todos sus sucesores s. Si no tiene ninguno, asignarle el valor costemximo. 2.2.1 Para todo s si es un nodo terminal marcarlo como resuelto, asignarle h(s)=0; en caso contrario asignarle h(s). 2.3 Crear un conjunto S slo con los nodos s. 2.4 Repetir hasta que S se vace. 2.4.1 Sacar de S algn nodo s que no tenga descendientes en S 2.4.2 Actualizar el coste de s: Calcular el coste de todos sus enlaces y asignarle como h(s) el menor de stos, marcando dicho enlace (y borrando, si existiera, una marca de otro enlace saliente de s). Si todos los nodos del enlace marcada son terminales, marcar tambin s como resuelto. 2.4.3 Si en el paso anterior se ha hecho que s sea resuelto o si h(s) ha cambiado, aadir sus antecesores a S y continuar el proceso recursivo de actualizacin de valores de los nodos. El algoritmo O/Y repite dos operaciones, una hacia abajo en la que encuentra el grafo solucin parcial y otra hacia arriba de revisin de costes, con establecimiento de nuevos subgrafos parciales menos costosos desde cada nodo, si es necesario. La clave del algoritmo est en la bsqueda (hacia adelante) de las formas de expandir el mejor grafo parcial de la solucin encontrado hasta el momento; para lo cual, se expanden los nodos frontera del mismo y se realiza una revisin (hacia atrs) de los valores h(n) de los nodos antecesores de los nodos frontera actualizados. Propiedades Si se cumple: 1. n h( n) h * ( n) 2. Cada vez que se actualiza el coste de h(n) en funcin de sus sucesores el valor previo de h(s) nunca supera al calculado en funcin de aqullos entonces el algoritmo es admisible y encuentra el camino ptimo.
Estrategia MINIMAX.
Descripcin: Es un esquema genrico de bsqueda para situaciones en la que el objetivo es ganar una partida en la que participan dos adversarios que realizan movimientos alternativos en el juego. La efectividad de esta estrategia reside en la funcin heurstica aplicada, encargada de medir la ventaja relativa de realizar las distintas jugadas. El mtodo consiste en prever el mximo nmero de jugadas posibles y actuar en consecuencia. Para ello recorre un rbol Y/O llevando a cabo su eleccin pensando que el adversario va a realizar la mejor de las opciones posibles cuando a l le toque mover. Los nodos del Ferran Gmez y Jos M. Godoy
23
rbol son de dos tipos MAX y MIN, cada uno de stos toma las decisiones de uno de los contrincantes. El jugador MAX intenta maximizar el valor de la funcin fev, por otro lado, los nodos MIN reflejan el modo de actuar que intenta minimizar la fev. Para poder etiquetar los nodos con un valor fev, se recorre el rbol hasta los nodos hojas (siempre y cuando el rbol sea tratable) o hasta un determinado lmite de profundidad. Llegados a este lmite, se aplica una fev heurstica al estado de la partida representado por el nodo (si es un nodo hoja se asigna: ganador=1, perdedor=-1 y empate=0). Los valores de fev obtenidos se van subiendo por el rbol aplicando a cada nodo padre el valor mximo o mnimo del valor de sus hijos (dependiendo si es un nodo a jugar por MAX o por MIN), hasta llegar al nodo actual. El mtodo MINIMAX se comporta como un procedimiento de bsqueda con retroceso con una frontera de exploracin calculada. El nivel de exploracin depende de diversos factores entre los que se pueden destacar las caractersticas del camino recorrido hasta ese momento y el coste computacional de alcanzar dicha profundidad. Procedimiento: MINIMAX (m, profundidad, jugador) 1. Si m no tiene sucesores o se considera alcanzado el lmite de profundidad, devolver mmv(m)=f(m). 2. Generar los sucesores de m. 2.1 Inicializar la variable mejor con el valor mnimo que esta pueda tener. 2.2 Para cada sucesor n de m: 2.2.1 mmv(n)=MINIMAX(n, profundidad+1, C(jugador)); siendo C(jugador) una funcin que cambia de jugador. 2.2.2 mejor= max[MMv(n), mejor] 3. Una vez analizados recursivamente todos los sucesores de un determinado nivel, se devuelve el que se ha obtenido un mejor valor. Complejidad: Un rbol de coste uniforme de profundidad p y de un factor de ramificacin n contiene np nodos terminales que sern analizados por el procedimiento MINIMAX Si de antemano se pudiera saber qu dos estrategias son compatibles, cada estrategia se expandira alrededor de np/2, desgraciadamente hay que realizar un nmero indeterminado de intentos antes de encontrar dos estrategias compatibles, por lo que dicho lmite rara vez es alcanzable. Anlisis: Ventajas: Se trata de un mtodo general y sencillo. Desventajas: Es poco eficiente al ser demasiado exhaustivo.
24
1. Si p es un nmero par: 2np/2-1 2. Si p es un nmero impar: n(p+1/2)+n(p-1)/2-1 En el peor de los casos se tendran que examinar todos los nodos terminales y su complejidad sera la misma que el mtodo MINIMAX. Anlisis: Ventajas: Mtodo eficiente que reduce considerablemente el nmero de nodos expandido y permite afrontar problemas supuestamente intratables. Desventajas: Dependencia excesiva del ordenamiento de los nodos del rbol que influye en las expansiones de los nodos.
25
5. LGICA
El uso de la lgica en la representacin del conocimiento.
El formalismo elegido para la representacin de los problemas es una de las principales reas de investigacin en la IA. La riqueza expresiva de los formalismos de representacin del conocimiento y su realizacin computacional determinan la eficiencia y la correccin de las soluciones obtenidas. Para valorar la eficiencia de un mtodo se debe de tener en cuenta dos capacidades del mismo: la de representar todo el conocimiento requerido y la de disponer de un mtodo de obtencin de las conclusiones requeridas por el conocimiento (capacidad de razonamiento o de inferencia). La utilizacin de la lgica como formalismo de representacin cubre ambos aspectos. La utilizacin de la lgica en la representacin del conocimiento (RC) tiene como ventajas: su riqueza expresiva y su semntica perfectamente definida.
Lgica de proposiciones.
La lgica de enunciados (proposiciones o clculo proposicional) permite estudiar la validez formal de los razonamientos mediante frases formadas por enunciados simples. Una frmula cualquiera puede ser vlida, satisfactible o insatisfactible. Una demostracin en el sistema axiomtico consiste en, dadas una serie de frmulas vlidas de las que se parte, axiomas, obtener un conjunto de nuevas frmulas vlidas mediante las reglas de transformacin. Proceso que se repite hasta que se genere la conclusin buscada. La regla de transformacin bsica de los procesos deductivos de la lgica clsica es el llamado modus ponens, que expresa lo siguiente: Si S y S R son frmulas vlidas entonces R tambin lo es, es decir todo razonamiento puede reducirse a la forma de un condicional (denotada por RE ). Tambin est la conocida por Teorema de la Deduccin, que nos dice que si en un clculo existe una demostracin de una frmula R (conclusin) a partir de una frmula S (premisa), entonces tambin existe una demostracin de S R ( se denota por RI ). El clculo de proposiciones basado en la regla de resolucin permite comprobar la deducibilidad de una frmula cualquiera a partir de unas premisas dadas. Para aplicar la regla de resolucin a un conjunto de premisas stas se tienen que poner primero en forma clausulada. Una clusula es un disyuncin de variables proposicionales negadas o sin negar. Se dice que una sentencia est en forma clausulada cuando consiste en una conjuncin de clusulas. Procedimiento: Eliminar los condicionales y bicondicionales :
p q pq
p q (( p q ) (q p))
Introducir las negaciones, para que slo afecten a las variables proposicionales. Pasar a forma clausulada aplicando la distributiva para la disyuncin. La sentencia obtenida est en forma clausulada y se puede simplificar: Si hay dos o ms clusulas idnticas se pueden eliminar, dejando slo una. Si aparece una clusula con un literal y su negacin se puede eliminar. Si en una clusula aparece el mismo literal varias veces, slo hay que escribirlo una vez. La regla de resolucin se puede aplicar a dos premisas en forma de clusulas denominadas generatrices, que contienen una variable proposicional comn sin negar en una y negada en otra. La resolucin consiste en construir otra clusula, denominada resolvente, formada por la disyuncin de todas las variables proposicionales de las generatrices menos la comn. Una estrategia posible para validar un proceso deductivo es realizar un proceso exhaustivo de aplicacin de la regla de resolucin entre todas las clusulas hasta encontrar la clusula vaca. El clculo de proposiciones basado en la regla de resolucin cumple las tres propiedades bsicas de un formalismo lgico: es consistente, completo y decidible.
Lgica de predicados.
Cuantificadores.
El cuantificador universal indica que todos los elementos del universo del discurso cumplen una propiedad. El Cuantificador Existencial indica que algn elemento del universo cumple con la propiedad. Existen relaciones entre ambos que son las siguientes:
x P( x ) x P( x )
x P( x ) P( x ) x P( x ) x P( x ) x P( x ) x P( x )
En el clculo de predicados es necesario introducir nuevas reglas de inferencia para tratar las expresiones cuantificadas. En todas las reglas de inferencia se supone que: P es una variable metalingistica que representa cualquier predicado. a 1, a2,an son smbolos cualesquiera de nombres de individuo (parmetros). Ferran Gmez y Jos M. Godoy
26
Regla de eliminacin del cuantificador universal (RE ) x1, x2,xn P(x1, x2,xn) P(a1, a2,an) Regla de introduccin del cuantificador universal (RI ) P(a1, a2,an) x1, x2,xn P(x1, x2,xn) Para que esta regla sea vlida los parmetros a1, a2,an se consideran constantes cualesquiera; es decir, aunque seales a elementos concretos de una especie, su valor es indeterminado y por tanto puede ser ocupado por cualquier individuo de dicha especie. Regla de eliminacin del cuantificador existencial (RE ) x1, x2,xn P(x1, x2,xn) P(a1, a2,an) Regla de introduccin del cuantificador universal (RI ) P(a1, a2,an) x1, x2,xn P(x1, x2,xn)
Forma clausulada.
Una condicin bsica para poder aplicar el mtodo de resolucin es que las premisas estn en forma clausulada, conjuncin de disyunciones (Forma Normal de Skolem o Forma Normal Conjuntiva), que se traduce en: Todos los cuantificadores estn a la cabeza de la frmula. Slo existen cuantificadores universales. El resto de la frmula, matriz, est formada por una conjuncin de frmulas, cada una de las cuales est constituida por una disyuncin de frmulas atmicas, negadas o sin negar. Procedimiento: Eliminar los condicionales y bicondicionales :
p q pq
p q (( p q ) (q p))
Introducir las negaciones, para que slo afecten a las variables proposicionales. Pasar a forma clausulada aplicando la distributiva para la disyuncin. Supresin de las negaciones en las frmulas afectadas por cuantificadores. Cambio de variable en las frmulas cuantificadas para que cada una tenga un nombre de variable distinto. Para evitar un nmero excesivo de cuantificadores se pueden aplicar las siguientes reglas: Ley de la distribucin de por la : x(R(x) P(x)) x R(x) x P(x) Ley de la distribucin del por la x (R(x) P(x)) x R(x) x P(x) Colocar todos los cuantificadores a la cabeza de la frmula. Supresin de los cuantificadores existenciales. Se dan dos casos: 1. Si el no tiene a su izquierda se elimina introduciendo una constante de Skolem. 2. Si el tiene uno o varios a su izquierda, se elimina la variable afectada por el introduciendo en su lugar una funcin de Skolem. Eliminar todos los . Convertir la frmula en una conjuncin de disyunciones. Considerar cada una de las disyunciones como una clusula aparte.
Unificacin.
Uno de los procesos bsicos en los problemas de IA es la equiparacin de patrones, es decir, poner en relacin de igualdad dos cosas. Para ello se comprueba que su estructura es semejante y que cada uno de los componentes que forman dicha estructura son compatibles. Ferran Gmez y Jos M. Godoy
27
En la lgica de predicados de primer orden consiste en comparar predicados con el mismo nombre y comprobar si sus trminos se pueden unificar. Para ello debe de existir una sustitucin que los haga idnticos. Una sustitucin es un conjunto de pares del tipo [tk / vk] donde vk es una variable que ocupa el k-simo lugar dentro de los argumentos del predicado y tk es un trmino cualquiera del mismo conjunto en el que la variable vk no est presente, pueden unificarse mediante la sustitucin : donde haya una u poner f(x) y donde haya v una poner b; matemticamente: s1:{f(x) / u, b/v } P (u, b ) s1 = P(f(x),v)s1 = P(f(x), b) El mtodo de resolucin requiere que la unificacin entre los predicados de las clusulas se realice mediante el unificador mnimo o de mxima generalidad (UGM). El UGM se define como aqul que cumple la propiedad de que cualquier otro unificador puede obtenerse a partir de l por aplicacin de alguna otra sustitucin.
1. Seleccionar aquellas clusulas que tengan un nico literal. La clusula vaca se obtiene cuando se resuelven dos clusulas unitarias contradictoras. 2. Considerar alguna clusula para guiar el proceso de bsqueda de modo que se use ella o alguna de sus descendientes en la generacin de nuevas resolventes. Un planteamiento efectivo consiste en hacer que la clusula, o conjunto de clusulas elegido contenga hiptesis relativas al teorema a resolver, y de las obtenidas de negar la conclusin (encadenamiento hacia atrs, o dirigido por las metas). 3. Las estrategias de simplificacin reducen el nmero y la forma de las clusulas consideradas, se pueden distinguir: Eliminar tautologas Eliminar tomos repetidos en las clusulas, dejando slo uno de ellos (ley de idempotencia) Eliminar clusulas que contengan a otras.
28
predicados pueden ser diferentes aun cuando estn definidos sobre los mismos elementos del dominio. La distincin entre intensin y extensin es fundamental a la hora de valorar la capacidad de cualquier sistema computacional.
Lgica Modal.
La lgica modal surge para satisfacer la necesidad de manipular adecuadamente los conceptos de necesidad y posibilidad. Cualifica los enunciados sealando si estos son posibles, imposibles, necesarios o contingentes (pueden suceder o no). La simbolizacin bsica de la lgica modal es una generalizacin de la sintaxis del clculo clsico, se introducen los siguientes smbolos. P es necesario que P uP es posible que P
Estos operadores tienen el mismo nivel que el operador negacin cumpliendo la siguiente ley de equivalencia: u P P Es posible que P = no es necesario que no P P u P Es necesario que no P = es imposible que P Para poder realizar la interpretacin de frmulas modales se introduce la idea de mundos (dominios parciales). Los mundos son subdivisiones del universo del discurso, de forma que en un determinado mundo un predicado sea verdad y en otro falso. Se debe de considerar entonces una relacin de accesibilidad entre los mundos. Con cualquier frmula vlida A podemos considerar estas reglas: A A : Si A es necesario, entonces es cierto en cualquier posible mundo M que escojamos. u A A: Si A es posible, entonces es cierto en un mundo no especificado con anterioridad.
Lgica Difusa.
En las lgicas polivalentes es posible distinguir ms de dos valores de verdad, lo que hace variar algunas propiedades formales esenciales; por ejemplo todos los teoremas por reduccin al absurdo al no cumplirse la ley del tercio excluso. Ms all de estas lgicas existe la lgica de conjunto difusos o lgica difusa, tambin llamada de enunciados vagos. En las lgicas polivalentes cada enunciado tiene un valor de verdad concreto y no depende del contexto. La lgica difusa permite afirmar que los enunciados son ms o menos verdaderos en un contexto determinado y ms o menos falsos en otro contexto. En lenguaje natural los conjuntos no estn totalmente definidos, la lgica difusa trata esta imprecisin definiendo los grados de pertenencia de cada miembro a dichos conjuntos, que se denominan conjuntos borrosos. La funcin que asocia a cada elemento su grado de pertenencia se llama funcin de pertenencia. Operaciones definidas sobre conjuntos borrosos. INCLUSIN F G si mF ( x ) mG ( x ) x U IGUALDAD DESIGUALDAD COMPLEMENTO UNIN INTERSECCIN
Dado un universo U y los conjuntos no borrosos X, Y y Z definidos en l, stos cumplen las propiedades de involucin, [c(c(X))=X], conmutativa, asociativa, distributiva, idempotencia, absorcin (Unin e interseccin, por el conjunto universo y por el conjunto vaco), identidad, contradiccin, ley del tercio excluso y las leyes de Morgan . Para conjuntos difusos, estas leyes se cumplen, excepto la de la contradiccin y la del tercio excluso. Por ello, los conjuntos borrosos dotados de las operaciones unin, interseccin y complemento no pueden formar un lgebra de Boole. Modificadores lingsticos. Clculos realizados 1- (x) 2(x) 2 2 (x)- (x) 2 2(x) si 0 (x) 0.5 1-2(1- (x))2 si (x)>0.5 De esta forma se pueden definir los modificadores difusos de la siguiente forma: Modificador difuso no muy Operacin asociada NEG((x)) CON((x)) Tipo de operacin Negacin Concentracin Dilatacin Intensificacin Representacin NEG((x)) CON ((x)) DIL((x)) INT((x))
29
Interpretacin de sentencias compuestas. Disyuncin: Conjuncin: Condicional: I (P(x)Q(y)) = p(x) q(y) Inferencia en la lgica difusa Principio de herencia: dado un conjunto borroso A asociado a un predicado, que es un subconjunto de B, cualquier elemento con la propiedad A hereda la propiedad B. Regla de composicin: dado un elemento que cumple la propiedad representada por el conjunto borroso A y que esta relacionado a travs de R con un elemento de otro universo, se le puede asociar a este segundo elemento la propiedad resultante de componer A y R A(x) R (x, y) (A R)(y) Modus Ponens generalizado: A(x) B(x) C(x) (A (B C)) (y) Modus Tollens generalizado: D(y) B(x) C(y) (D (B C)) (x) Silogismo hipottico: A(x) B (y) B(y) C(z) (A B) (B C)) (x, z) I (P(x) Q(y)) = max (p(x), q(y)) I (P(x) Q(y))= min (p(x), q(y))
Lgicas No Montonas
Una de las dificultades del clculo de predicados es la excesiva rigidez a la que estn sujetos los razonamientos realizados. Para que el conocimiento del dominio pueda ser efectiva y eficientemente formulado en forma de una teora es necesario que sta sea completa, consistente y tratable. Para garantizar la completitud toda frmula vlida debe ser demostrable sin omisiones. La consistencia supone que todo aquello que se aada al sistema no debe contradecir a las leyes existentes. Quizs el requerimiento de consistencia sea la limitacin que ms contrasta con las situaciones reales ya que la percepcin de los problemas varan con el tiempo y pueden llevarnos a reconsiderar alguno de los principios iniciales. Esto tambin ocurre con el razonamiento basado en el sentido comn, donde se aplican principios que se suponen vlidos en el dominio, que pueden dejar de serlo en situaciones concretas. Para solucionar estos problemas se plantea una formulacin menos rgida, exigindose que las conclusiones sean consistentes con las condiciones de los problemas tratados y con las leyes aplicables a dichos problemas, entrando a considerar la temporalidad implcita de los razonamientos lgicos. La raz del problema est en la falta de conocimiento inicial del dominio, en estas situaciones se crean reglas o leyes que permiten realizar un tipo de razonamiento denominado razonamiento por defecto. Una de las posibles soluciones a este tipo de razonamiento son las lgicas no montonas, que tienen en cuenta lo que no se conoce
30
6. REGLAS
Componentes bsicos de los sistemas basados en reglas
Los Sistemas Basados en Reglas (SBR) tienen los siguientes componentes: Base de Afirmaciones
Base de Datos
Motor de Inferencia
Interfaz de Usuario
Base de Conocimientos Motor de Inferencia: (intrprete de reglas) Es el elemento central del sistema: se encarga de coordinar la informacin procedente de todos los dems y de enviar los resultados de la inferencia al lugar oportuno. Base de Conocimientos: Contiene las reglas y, a veces, tambin algunas afirmaciones iniciales. Es especfica del dominio. Base de Afirmaciones: (memoria de trabajo) Contiene las afirmaciones iniciales, las que se extraen de la base de datos, las que el usuario introduce como datos y todas las que el motor de inferencia infiere a partir de las anteriores aplicando las reglas. Interfaz de Usuario: Solicita al usuario la informacin necesaria y muestra los resultados. Base de Datos: Contiene los datos del caso concreto que se est tratando.
31
Conviene no confundir las variables (?x, ?y, ...) con los datos (Juan-Lpez.categora). Comentarios Una de las formas que ms diferencia entre s los sistemas basados en reglas es la forma de indicar la falsedad de una afirmacin: NEXPERT y otros, indican explcitamente si una determinada hiptesis es cierta, falsa, no investigada o desconocida se ha tratado de averiguar su valor de verdad sin conseguirlo. PROLOG y otros, slo almacenan las hiptesis confirmadas. Axioma del mundo cerrado: el considerar falsa toda proposicin que no se encuentre en la base de afirmaciones ni pueda deducirse de la informacin disponible. GoldWorks y otros, son menos explcitos y el diseador del programa tiene libertad para determinar si las va a considerar como desconocidas o como falsas. Algunos sistemas (GoldWorks, p.e.) permiten indicar si los datos son univaluados o multivaluados: Datos univaluados: La asignacin de un valor al dato elimina el que pudiera estar asignado anteriormente. Se evita informacin contradictoria. P.e. Pedro-Garca.edad = 63. Datos multivaluados: Hay casos en que no interesa que se pierda la informacin previa (PedroGarca.ltima-enfermedad). De este modo, la asignacin de un valor al dato no elimina el que pudiera estar asignado anteriormente.
Inferencia
Comparacin de patrones
Un patrn es un modelo que puede representar diferentes elementos en el contexto de las reglas, se usa para denominar las clusulas con variables. Equivale a un conjunto de afirmaciones. Casos en la ejecucin de una regla (cuando se cumplen las clusulas del antecedente): Clusula sin variables: Si la clusula es una hiptesis, se satisface cuando en la base de afirmaciones (BA) hay una afirmacin que coincide con ella. Si la clusula es una relacin, se satisface cuando los valores de los datos se ajustan a ella. Cuando una variable aparece por primera vez en una regla, la clusula correspondiente se satisfar si y slo si hay una asignacin de valor a dicha variable tal que el patrn coincida con uno de los elementos existentes en la BA. En caso contrario se dir que la regla ha fracasado. Cuando una variable aparece por segunda vez (o sucesivas veces) en una regla necesariamente tiene ya un valor que le fue asignado la primera vez que apareci. La clusula donde la variable aparece por segunda vez, se satisfar solamente si, al sustituir dicha variable por el valor asignado, la clusula coincide con una de las afirmaciones de la BA. Esto se aplica tanto para al antecedente como al consecuente de la regla. La regla se ejecutar una vez por cada asignacin de variables capaz de satisfacer todas sus clusulas. En este caso se habla de diferentes instanciaciones de una regla.
Tipos de encadenamiento
El encadenamiento de reglas se produce cuando el consecuente de una regla coincide con el antecedente de otra (si en la clusula coincidente hay alguna variable debe tener el mismo valor en las dos clusulas), es decir, cuando una conclusin obtenida de una regla sirve para ejecutar otra regla. Slo es aplicable cuando el consecuente de la primera regla es del tipo AFIRMAR (nueva afirmacin que se almacenar en la BA). Los tipos de encadenamiento son: Encadenamiento hacia adelante o basado en datos: la conclusin obtenida de la ejecucin de una regla permite que se ejecute otra u otras reglas. Este encadenamiento, en general, utiliza solamente los datos disponibles. Encadenamiento hacia atrs o basado en objetivos: consiste en buscar una regla que permita establecer cierta conclusin. Si la afirmacin existe en la BA se podr realizar la inferencia. Si no, se puede buscar una regla que contenga en su consecuente la anterior afirmacin y ver si s existe en la BA su antecedente, y as sucesivamente. Este encadenamiento suele solicitar del usuario la informacin que no ha podido deducir. El sistema deber incluir algn modo de controlar cundo y cmo se va a solicitar esta informacin. El encadenamiento hacia adelante, en principio ejecutar todas las reglas posibles en funcin de la informacin introducida. En cambio, el encadenamiento hacia atrs lleva implcito un proceso de bsqueda, por lo que es ms especfico y, por tanto, ms eficaz. El encadenamiento hacia adelante es utilizado por el sistema OPS5. Los sistemas MYCIN y PROLOG utilizan slo el encadenamiento hacia atrs. Los sistemas actuales (GoldWorks, KEE, NEXPERT, ...) permiten especificar con que tipo de encadenamiento (o con ambos) debe aplicarse cada regla. Ferran Gmez y Jos M. Godoy
32
Mecanismos sencillos.
Ordenar las reglas en la base de conocimientos: Es el mtodo ms simple y es poco elegante y de difcil mantenimiento. Slo aplicable a sistemas simples donde las reglas se hallan en una lista que se consulta cclicamente siguiendo el orden en que fueron introducidas por el usuario. El sistema OPS5 utiliza una variacin (RETE) que slo examina el efecto de la informacin aadida o eliminada de la BA en cada ciclo. Ordenar las clusulas dentro de cada regla: Slo puede ser utilizado por los sistemas que usan el encadenamiento hacia atrs. Se colocan primero las que tienen ms posibilidades de fallar y as se optimiza la bsqueda. Introducir nuevas clusulas en las reglas relacionadas con el punto en que se encuentra la inferencia: Las nuevas clusulas se aaden al principio del antecedente. Estas clusulas pueden servir para clasificar el punto de inferencia.
Metarreglas
Utilizadas por primera vez en el sistema TEIRESIAS - extensin de MYCIN- juntamente con los modelos de reglas (una forma estructurada de indicar los atributos comunes a un grupo de reglas, que se usaban para orientar la adquisicin de conocimiento). Los modelos de reglas y las metarreglas son las dos formas de introducir el metaconocimiento (conocimiento sobre el conocimiento) en TEIRESIAS. Una metarregla es una regla que se refiere a otras reglas, y nos lleva a examinar primero aquellas reglas que parecen ms relevantes para el problema en cuestin . De hecho hace afirmaciones sobre la utilidad estimada (la posibilidad de que nos lleve a una conclusin). Comentarios: El metaconocimiento es un paso ms en la explicitacin del conocimiento. Las capacidades de un sistema basado en metaconocimiento son: Tiene la posibilidad de modificar la estrategia de control sin tener que reprogramar el motor de inferencia. Capacidad de explicar la estrategia que utilizada, por qu ha aplicado unas reglas antes que o en vez de otras, etc. y de ah puede surgir ms adelante la posibilidad de reorganizar el conocimiento, de aprender a partir de la experiencia o mediante el dilogo con el usuario. Estas capacidades se basan en que el metaconocimiento, de algn modo, puede considerarse como una forma rudimentaria de consciencia (el sistema conoce que conoce): no puede hablarse de inteligencia sin que haya consciencia. Ferran Gmez y Jos M. Godoy
33
Otros mecanismos
Los creadores del sistema OPS5, al abordar el problema del control del razonamiento mediante la seleccin de reglas, sealan dos caractersticas (en cierto modo contrapuestas) que debe poseer el sistema: Sensibilidad: indica la capacidad de responder a los estmulos: el sistema debe procesar con prontitud la nueva informacin que recibe. Estabilidad: exige que no haya una reaccin desmesurada ante los estmulos: la llegada de informacin poco relevante no debe alterar la lnea de razonamiento. Proponen varios mecanismos para lograr un compromiso entre ambos objetivos: 1. Refractariedad: Despus de haber respondido a un estmulo, el sistema se inhibe durante un cierto tiempo y no responde a nada (evita respuestas repetitivas al mismo estmulo). 2. Actualidad: Se examinan primero las reglas apoyadas en la informacin ms reciente. OPS5 lo consigue anotando junto con la afirmacin, en la BA, el ciclo en que se dedujo. 3. Especificidad: Aplicar primero las reglas ms especficas (contienen ms informacin).
Tratamiento de la incertidumbre
En el mundo real existen numerosas fuentes de incertidumbre (afirmaciones imprecisas, dominios no deterministas, etc.)
Valoracin
Comparacin con los Programas Basados en Comandos
El uso de reglas supone utilizar un sistema de programacin declarativa que le dice al ordenador cul es el conocimiento que debe aplicar (contrapuesto a la programacin imperativa donde se le dice al ordenador lo que debe hacer). Las diferencias entre la concepcin de comandos (imperativa) y la de reglas (declarativa) son: 1. Los comandos tienen un carcter secuencial, mientras que las reglas tiene un carcter modular (no existe un orden preestablecido a priori). 2. La aplicacin de las reglas se basa en la comparacin de patrones: el uso y significado de las variables no tiene nada que ver con su uso en la programacin imperativa: las variables permiten que las reglas se adapten a diferentes situaciones. 3. La dependencia reversible y la dependencia irreversible es un rasgo distintivo de los sistemas basados en reglas: la capacidad de retractar una afirmacin inferida. Ferran Gmez y Jos M. Godoy
34
4. Las capacidades de explicar el razonamiento, reorganizar el conocimiento y de aprender de sus errores son incompatibles con los sistemas basados en comandos. 5. El tratamiento de la incertidumbre es otro de los rasgos ms tpicos de los SBR. Los siguientes aspectos que hacen que los sistemas basados en comandos sean ms utilizados. Si un problema tiene una solucin que no precise de una bsqueda heurstica, o sea, resoluble mediante un algoritmo, la solucin ser ms rpida haciendo uso de sistemas imperativos que con otros sistemas. Las tareas de bajo nivel (lectura y escritura de archivos, gestin de bases de datos, acceso a dispositivos, etc.) son ms fciles de realizar en lenguajes tradicionales.
35
7. REDES ASOCIATIVAS.
Grafos relacionales
Modelo de Memoria Semntica, de Quillian
El modelo de Quillian consiste en representar el significado de los trminos de la lengua inglesa de forma semejante a como aparecen en un diccionario. Tiene como objetivo realizar un programa capaz de almacenar informacin sobre el significado de las palabras para comprender el lenguaje natural. Lo hace poniendo las definiciones como en un diccionario, es decir, nodos unidos por diferentes clases de enlaces asociativos. La nomenclatura utilizada en una red semntica de Quillian es: Nodo-tipo ( type node): Encerrado en un valo, representa el concepto definido. Nodos-rplica ( token nodes): Desarrollo de la definicin. Variables para indicar conceptos que aparecen en el mismo plano de definicin (en el mismo rectngulo). Los nmeros se utilizan para distinguir los diferentes significados de un mismo trmino (con-4, representa el cuarto significado de la palabra con). En las redes de Quillian aparecen seis tipos de enlaces: 1. 2. 3. 4. 5. Subclase: une un nodo-tipo con la clase a la que pertenece. Modificacin: une dos nodos-rplica del mismo plano, de modo que el segundo modifica el alcance del primero. Disyuncin: lleva la etiqueta O. Une dos o ms nodos. Conjuncin: lleva la etiqueta Y. Une dos o ms nodos. Concreta el significado de un concepto. Propiedad: une tres nodos A, B y C, donde A es la relacin, B el sujeto y C el objeto. B A C 6. Referencia al tipo: van desde el nodo-rplica al correspondiente nodo-tipo. Se dan siempre entre planos diferentes. El inters de representar computacionalmente el conocimiento consiste ante todo en poder realizar inferencias con el fin de obtener nueva informacin. La tesis de Quillian se limit a una forma muy sencilla de inferencia: cmo comparar el significado de dos palabras, suponiendo que esta tarea significa un primer paso hacia la compresin de frases y relatos. La comparacin de palabras por el mtodo de Quillian se realiza de la forma siguiente: 1. Activar los nodos vecinos de cada una de las dos definiciones creando esferas de activacin de radio 1. 2. Comprobar las coincidencias. Cada interseccin de esferas corresponde a un camino que une los dos nodos (una relacin entre significados). 3. Si no hay coincidencias, ampliar las esferas a radio 2 y repetir la comprobacin. 4. Repetir el proceso hasta encontrar coincidencias y poder relacionar los conceptos. El resultado final del programa se obtiene convirtiendo cada camino en una frase explicativa. La estructura que utiliza Quillian es totalmente dependiente del idioma particular en que se formula el sistema. Esta dependencia se hace evidente cuando se tratan trminos polismicos. Lo ideal es que no exista esa dependencia pero para ello habra que pasar de la representacin de palabras a la representacin de conceptos. En las redes semnticas de Quillian no se puede extraer nueva informacin mediante inferencia, sino simplemente realizar comparaciones del significado de las palabras.
36
5. Hoy en da no se considera una red semntica, debido a que no est dedicado a la representacin del significado de los conceptos ni a la comprensin del lenguaje natural.
37
REDES PROPOSICIONALES
Los nodos no representan slo conceptos sino que tambin representan sintagmas, clusulas, frases, prrafos e incluso historias completas.
Redes de Shapiro
Fueron las primeras que incluan todos los operadores y cuantificadores de la lgica de primer orden. En su sistema llamado SNePS, cada nodo puede representar un concepto, una variable, una frase, una relacin o una regla de inferencia. La propiedad ms destacable es que se pueden anidar proposiciones.
[RO: *] [RO] [RO](ATR)[CAUDALOSO] [RO: {*}] [RO: {*}@3] [RO: #] [RO: ?] [RO: ] . . . .
Un ro (operador existencial). Un ro caudaloso. Algunos ros. Tres ros. El ro (uno especfico). Qu ro? Todos los ros (operador universal).
Para concretar un elemento utiliza el smbolo # ([RO: #]). En este tipo de proposiciones el encargado de descubrir la identidad del ro es el intrprete. La mayor parte de los modelos de redes utilizan variables con el fin de representar un objeto o un concepto que aparece en varios lugares diferentes. En este caso se utilizar una lnea discontinua para identificar los nodos que representan un mismo ente. La T se utiliza para representar un nodo sin especificar la clase a la que pertenece). En la notacin lineal, al no poder unir los nodos mediante lneas discontinuas, se utilizan variables para indicar los nodos que coinciden. En un grafo de Sowa intervienen elementos de tres clases: Conceptos genricos, tales como LIBRO, PERS, PENSAR y COMER. Conceptos individuales, tales como [PERS: Luis] que representa a una persona individual, o [PENSAR], que representa un acto de pensamiento. Relaciones conceptuales, que pueden ser unitarias (PASADO, NEG, etc.), binarias (AGT, OBJ, etc.) e incluso ternarias (ENTRE, para indicar que A se encuentra ENTRE B y C). Al conjunto de conceptos genricos y de relaciones conceptuales establecido anteriormente en el sistema se le conoce como conjunto cannico, y a partir de l se pueden definir nuevos conceptos y relaciones.
38
Estas operaciones, junto con unas sencillas reglas de clculo permiten implementar mediante grafos conceptuales toda la lgica de primer orden e incluso algunas caractersticas de la lgica de orden superior. Es lo que se puede denominar razonamiento exacto o razonamiento deductivo mediante grafos de Sowa. Con ste mtodo se trabaja en la representacin de razonamientos aproximados o probabilsticos.
REDES DE CLASIFICACIN
Extensin e Intensin
El significado intensional se refiere a la definicin del concepto, que no vara salvo que se redefina. El significado extensional, se refiere a los elementos a los que se les puede aplicar el concepto dentro de un universo determinado, puede variar ya que el conjunto de miembros perteneciente a esa clase no tiene por qu ser fijo. Se discute si las redes de clasificacin deben representar conceptos (intensionales) o clases (extensionales). Los sistemas ms importantes que existen actualmente (los grafos de Sowa y los lenguajes derivados de KL-ONE) optan por el significado intensional frente al extensional.
Jerarqua de Conceptos
En las redes de clasificacin los arcos establecen una relacin de orden parcial sobre los nodos, formando una jerarqua de conceptos. Un arco trazado desde un nodo A hacia un nodo B especifica que A es ms general. Se trata de un rbol, un grafo dirigido acclico ms concretamente, en que hay bucles pero no ciclos. Un nodo puede tener varios ascendientes, pero el descendiente de un nodo no se puede convertir en su ascendiente mediante un ciclo.
Mecanismos de Herencia
El inters de agrupar los conceptos en una red jerrquica es por poder realizar un tipo de inferencia, que consiste en que un concepto herede las propiedades de sus antepasados. La inferencia mediante herencia de propiedades consiste en aplicar una cadena de silogismos extrados de la lgica clsica: Si X es un animal, los animales son vivientes, y los vivientes son objetos fsicos, entonces X es objeto fsico. Hay dos tipos de herencia en redes jerrquicas la herencia estricta, en la que todos los conceptos descendientes de A poseen las mismas propiedades de A. Se cie a las leyes de la lgica clsica, y la herencia por defecto que supone que los descendientes de A poseen las mismas propiedades de A mientras no se indique lo contrario. Se sita dentro del razonamiento no montono. Plantea un problema al trabajar con grafos dirigidos acclicos, ya que el hecho de que un nodo pueda tener distintos padres hace que puedan surgir contradicciones entre los diferentes valores por defecto heredados. De ah surge la necesidad de establecer mecanismos para resolver estos conflictos.
REDES CAUSALES
Los nodos corresponden a variables y los enlaces a relaciones de influencia (un enlace XY indica que el valor que toma X influye en el valor de Y); esta influencia suele ser una relacin de causalidad (X produce Y). Se orientan sobre todo a problemas de diagnstico.
39
determinada enfermedad. Los enlaces entre el plano mediano y el inferior indican las observaciones a que da lugar cada estado patofisiolgico. Los diagnsticos pueden consistir en estados patofisiolgicos (hiptesis simples) o en enfermedades (que son hiptesis complejas). El proceso consiste en interpretar los hallazgos en funcin de los estados patofisiolgicos que han podido provocarlos. El programa asocia un valor concreto a cada zona, el cual ser confirmado, indeterminado o descartado, segn los estados patofisiolgicos observados. Este sistema experto es capaz, tambin, de ofrecer recomendaciones teraputicas. Para ello se cuenta con un cuarto grupo de nodos, uno por cada tratamiento, que tambin pueden dibujarse dentro de un plano, aunque ste ya no sera paralelo a los anteriores. Para ello usa dos tipos de enlaces exclusivos. Uno de ellos se destina a unir los estados patofisiolgicos y las enfermedades con los tratamientos oportunos, o para unir un tratamiento con las complicaciones a que puede dar lugar. El otro tipo de enlace se utiliza para unir los tratamientos entre s con el fin de representar las interacciones, la toxicidad y las dependencias temporales.
Redes Bayesianas
El teorema de Bayes nos permite pasar de las probabilidades a priori de las hiptesis de los hallazgos a las probabilidades de las hiptesis dados los hallazgos, mediante la siguiente expresin:
P d 1 ,K, d n | e 1 ,K, e m =
P (e
,K, e m | d '1
,K, d ' n
donde las di representan los diagnsticos y las ej los hallazgos. Esta expresin es imposible de aplicar por la enorme cantidad de informacin que requiere. Por eso se introduce la hiptesis de que los diagnsticos son exclusivos y exhaustivos (no hay otro diagnstico posible fuera de ellos). An as, el modelo es intratable, por la necesidad de conocer todas las probabilidades que intervienen. Por ello se introduce una nueva hiptesis, la dependencia condicional, que consiste en afirmar que, para cada diagnstico, la probabilidad de encontrar un hallazgo es independiente de que se hayan encontrado otros:
P e 1 ,K, e m | d i = P e 1 | d i P e 2 | d i KP e m | d i ,
la probabilidad de un diagnstico viene dada por
(
(
) (
)
) (
)
d i
P d i | e 1 ,K, e m =
P (e
j
P e 1 | d i KP e m | d i P d i
1
| d j KP e m | d j P d j
) (
) ( )
) ( )
A pesar de que el problema resulta tratable no se usarn las tcnicas bayesianas hasta que aparezcan las redes bayesianas (RB), que mantienen las ventajas del mtodo probabilista clsico, estn basadas en un teora matemtica bien establecida, y a la vez permiten un clculo de eficiencia razonable sin tener que introducir hiptesis extraas. El Sistema Experto DIAVAL es el primer sistema experto bayesiano espaol. Desarrollado por UNED para ayudar a los mdicos en el diagnstico de las enfermedades de corazn. En DIAVAL los nodos que no tienen descendientes corresponden a las observaciones. La inferencia consiste en asignar los valores a las variables que se conocen y, a partir de esta informacin, realizar la propagacin de la evidencia mediante el paso de mensajes entre nodos, con el fin de hallar la probabilidad a posteriori de los dems nodos. Una Red Bayesiana es un grafo dirigido acclico (GDA) conexo ms la distribucin de probabilidad sobre sus variables, la cual cumple la propiedad de separacin direccional. La separacin direccional es que la probabilidad de una variable X, una vez determinados los valores de los padres de X, es independiente de los dems nodos-variables que no son descendientes de X. O sea, para cada nodo se indica la probabilidad condicionada a los valores de sus padres; para los nodos sin padres se dar su probabilidad a priori, es decir, sin condicionamiento. En las redes bayesianas la presencia de un enlace indica influencia causal, y la ausencia de un enlace indica implcitamente que no existen otras interacciones. La inferencia en Redes bayesanas consiste en fijar el valor de las variables conocidas con certeza y realizar un clculo con el fin de hallar la probabilidad de las variables cuyo valor no se conoce con certeza.
40
Adems de las ventajas comunes a otros mtodos de razonamiento causal, las redes bayesianas poseen una slida teora probabilista que les permite dar una interpretacin objetiva de los factores numricos que intervienen y dicta de forma unvoca la forma de realizar la inferencia. Sus inconvenientes son la limitacin en cuanto al rango de aplicaciones. Necesitan un gran nmero de probabilidades numricas, y normalmente no se dispone de toda esta informacin por lo que es necesario recurrir a estimaciones de expertos humanos. La presencia de bucles complica extraordinariamente los clculos ya que los mtodos de simulacin estocstica resultan ms eficientes que los mtodos exactos, aunque resulta costoso (en trminos de tiempo de computacin) lograr el grado de aproximacin deseado. Se hace necesario evitar una explosin combinatoria.
41
8. MARCOS Y GUIONES
CONCEPTO DE MARCO
La propuesta de Minsky
Minsky propuso los marcos como mtodo de representacin del conocimiento y de razonamiento, para superar las limitaciones de la lgica a la hora de abordar problemas como la visin artificial, la comprensin el lenguaje natural o el razonamiento basado en el sentido comn; problemas que requieren identificar estructuras complejas de conocimiento que representan una situacin conocida. Al contrario que las reglas o la lgica, los marcos son unidades de almacenamiento suficientemente grandes como para imponer una estructura en el anlisis de una situacin. Cada marco se caracteriza por un conjunto de campos (slots) que contienen distintas clases de informacin, parte de esta informacin indica como usar el marco, otra se refiere a lo que se espera que suceda a continuacin, y otra parte indica que hacer cuando no se confirman tales expectativas. En su propuesta original, ms que describir con detalle un mtodo completo, trat de dar ideas y sugerencias, por ello del planteamiento original han surgido tantos modelos y tan diferentes entre s. Las distintas formas de representacin basadas en los marcos se distinguen entre si por la forma en que definen y utilizan los campos. Otra de las ideas novedosas de Minsky es la posibilidad de tener distintos marcos para definir una misma entidad desde distintos puntos de vista.
El Lenguaje KRL
El propsito del KRL (Knowledge Representation Language) es ofrecer los mecanismos necesarios para una representacin estructurada del conocimiento en contraposicin a la lgica de predicados y sus variantes que carecen de estructura. Para ello la informacin se agrupa en torno a los objetos o unidades (units), que pueden contener marcos o instancias. Los campos de una unidad pueden contener, valores por defecto provenientes de la herencia de propiedades, y, prototipos que son una unidad que en vez de corresponder a un objeto concreto representa un elemento tpico de una clase. Ofrece varias posibilidades para controlar el razonamiento, la comparacin (Matching) similar a la comparacin de patrones de las reglas pero ms flexible pues puede bastar un ajuste parcial, mientras que en una regla slo se ejecuta cuando se han satisfecho todas sus clusulas.
42
La asignacin de procedimientos a los marcos o a sus campos pueden ser de dos tipos, los sirvientes que son procedimientos activados por el marco para alcanzar cierto objetivo y los demonios: se activan automticamente en ciertas circunstancias. Otras posibilidades de control del razonamiento son la profundidad de procesamiento variable (el usuario determina as cuantos marcos van a ser activados), la gestin de agendas, el establecimiento de niveles de prioridad, los mtodos de naturaleza heurstica.
Facetas
Las facetas definen las propiedades de un campo. Entre las que suelen darse en las herramientas actuales destacan: Valor por defecto: Asignado al marco, heredado por las instancias posteriores. Multivaluado: Es una faceta que indica si el campo es univaluado o multivaluado. Restricciones: Limitan el conjunto de valores que puede recibir el campo. Certeza: Indica la credibilidad del valor asignado al campo. Facetas del Interfaz: Contienen texto, preguntas y mensajes destinados a la interaccin con el usuario.
Demonios
Los demonios son funciones o procedimientos que se invocan automticamente al realizar ciertas operaciones sobre el valor de un campo. Se utilizan sobre todo para actualizar los campos que dependen de otros, manteniendo la consistencia del sistema. Cada campo puede tener asociado distintos tipos de demonios y cada uno se activa frente a un suceso concreto, entre ellos se encuentran los siguientes: Demonio de necesidad: cuando se necesita conocer el valor de un campo y no hay ninguno asignado. Demonio de acceso: cuando se solicita el valor de un campo aunque haya uno asignado. Demonio de asignacin: cuando se aade un valor a un campo. Demonio de modificacin: cuando se vara el valor de un campo. Demonio de borrado: cuando se elimina el valor de un campo. Los demonios no slo relacionan entre s los campos de una misma instancia; tambin sirven para actualizar la presentacin grfica del interfaz, buscan en una base de datos la informacin requerida, para controlar dispositivos externos, etc.
Puntos de Vista
Cada campo de una instancia puede tener asignado un valor, sin embargo algunas herramientas permiten que tenga varios valores correspondientes a distintos puntos de vista (views). Este mecanismo de control del razonamiento est inspirado en la propuesta de Minsky, y su objetivo es similar a las perspectivas del lenguaje KRL, aunque la forma de implementacin es completamente diferente. Gran parte de las caractersticas de los marcos son ofrecidas por los lenguajes de programacin orientada a objetos. En un entorno que disponga de un lenguaje para programacin orientada a objetos, los marcos son considerados objetos autnomos con capacidad para comunicarse mediante mensajes. Un mensaje consistir en un mandato a un objeto para que ejecute un procedimiento local, que recibe el nombre de mtodo, los mtodos se diferencian de los demonios en que no se activan automticamente, sino por la recepcin del mensaje. Ferran Gmez y Jos M. Godoy
43
La diferencia esencial entre la perspectiva orientada a objetos y los Sistemas Basados en el Conocimiento es que en los primeros la arquitectura es plana de carcter distribuido, la solucin del problema queda repartida sobre los distintos objetos y sus mtodos. En los Sistemas Basados en el Conocimiento se parte de una arquitectura multicapa donde la capa de dominio contiene los objetos estructurados. Sobre esta se superpone otra responsable del esquema inferencial y de control. Como nomenclatura o definicin de marco se usa:
:: = <clase> | <instancia> :: = clase <nombre - de - clase> es superclase <espec-super>; < atributos> fin <instancia> :: = instancia <nombre - de - instancia> es instancia de <espec- super>; < atributos> fin <espec - super> :: = <nombre - de - clase>{,<nombre - de - clase>}*| nil <atributos> :: = <par - atributo - faceta>{; < par - atributo - faceta>}*| <vaco> <par - atributo - faceta> :: = <nombre - de - atributo>=(<faceta>{<faceta}*) <faceta> :: = <nombre - de faceta> < valor>| demonio < tipo - de - demonio > < llamada - a - demonio > <nombre - de faceta> :: = valor | valor - por -defecto < tipo - de -demonio> :: = si - se - necesita | si - se - aade | si - se - borra < valor > :: = <constante - elemental> | < nombre - de - instancia > < vaco > :: =
GUIONES
Estructura de conocimiento que contiene una secuencia estereotipada de acciones, se entiende accin en sentido amplio, es decir, incluyendo sus acepciones de conversacin, pensamiento, actos de voluntad y sentimientos.
44
COMENTARIOS
Existen dos modos en los que los marcos han sido y son utilizados: Patrones para la comparacin: Cuando la informacin disponible indica que el problema planteado (diagnosticar una enfermedad o comprender un texto) se ajusta a un marco, el resto de la informacin contenida en dicho marco nos permite inferir la presencia de otros elementos. Almacenes de informacin: En este caso los marcos significan ante todo una forma estructurada de almacenar informacin. La distincin entre marcos e instancias y su organizacin en forma de red jerrquica permite utilizar la herencia de propiedades como mecanismo de razonamiento por defecto. El lenguaje KRL participa de ambos paradigmas, pero la mayor parte de las herramientas basadas en marcos actuales se ajustan al segundo paradigma.
45
Valoracin
Es importante la comparacin de los mecanismos de representacin del conocimiento. Las reglas surgen como aplicacin de la lgica, reduciendo la expresividad con el fin de mejorar la eficiencia. Los esquemas basados en redes estn inspirados en psicologa (redes semnticas de Quillian) o en la lingstica (grafos de dependencia conceptual de Schank), otros tratan de implementar las caractersticas de la lgica de primer orden (redes de Hendrix, Shapiro y Sowa). Los marcos representan el conocimiento de forma estructurada. La informacin relativa a un objeto queda reunida en un marco en vez de estar dispersa en un conjunto de proposiciones sin ninguna estructura, significando una mayor eficiencia. Los marcos aportan nuevas posibilidades de razonamiento frente a la lgica con la capacidad para reconocer entidades y situaciones, los marcos son capaces de establecer una conclusin incluso con informacin incompleta.
46
9. SISTEMAS EXPERTOS
CONCEPTO DE SISTEMA EXPERTO: ESTRUCTURA BSICA, CARACTERSTICAS, VENTAJAS Y LIMITACIONES
Un sistema experto es un programa de ordenador que codifica un modelo de conocimiento de un experto humano en un campo reducido. Un Sistema Experto empieza con un modelo conceptual a nivel de conocimiento y termina en una implementacin, tras una etapa de codificacin. La arquitectura de un sistema experto de la primera poca es de hecho la de un sistema basado en reglas. Con el uso de los marcos y las reglas aparecen dudas en la distincin entre conocimiento esttico y dinmico. La introduccin de los Sistemas Expertos supuso cambios esenciales en la Inteligencia Artificial: Abordar directamente la complejidad del mundo real. Aceptar que hay que modular el mundo real. Comprobar qu mecanismos de inferencia eran capaces de resolver problemas complejos en dominios reales Los pasos necesarios para realizar un Sistema Experto son: Ver en que tareas y escenarios es necesario utilizar Sistemas Expertos. Adquirir el conocimiento de los expertos humanos que realizan la tarea. Modelar ese conocimiento. Usar entornos de desarrollo para obtener prototipos. Validar el funcionamiento de los prototipos y evaluarlos, facilitando la posterior actualizacin del conocimiento.
Estructura Bsica
ENTORNO de DESARROLLO Editor de Conocimiento D e I s n a t e d r r e r o f l a l z o Profesional que desarrolla el SE
Mdulo de Aprendizaje
Base de Afirmaciones
Base de Conocimiento
MAC
Mdulo de Explicacin
Base de Datos
I U n s t u e d a r e r f i a o z
Usuario Final
47
Base de Conocimientos (BC): contiene la representacin modular y computable de aquellos fragmentos de conocimiento que hemos sido capaces de modelar y representar a travs del dilogo con el experto humano. En la obtencin de este conocimiento se usan metodologas, propias del nivel de conocimiento de Newell, para reducir las descripciones en lenguaje natural a nivel simblico. Est formada por un conjunto de reglas o marcos, o por una combinacin de ambos. Mecanismos de Aplicacin del Conocimiento (MAC): dependen de la aplicacin y de la forma de representacin del conocimiento. Si el conocimiento se representa slo con reglas, la inferencia se realiza seleccionando reglas que se van a ejecutar despus, y eso lo podemos hacer de dos formas: por encadenamiento dirigido por datos (hacia adelante) o dirigido por hiptesis (hacia detrs). En cambio, si el conocimiento est representado usando marcos, la BC estar organizada en una jerarqua para las distintas clases de objetos estructurados necesarias en la aplicacin y la inferencia estar basada en la herencia directa y por defecto. Base de Afirmaciones (BA) o Conjunto de Hechos Ciertos: es dinmica. Es una memoria de trabajo donde el mecanismo de inferencia (MAC) almacena las conclusiones transitorias que va obteniendo y donde, a su vez, busca las premisas que le permiten obtener otras nuevas. El contenido de la BA es distinto para cada consulta que se realiza. Los hechos ciertos de la Base de Afirmaciones activan ciertos mdulos, hacindolos explcitos y produciendo nuevos hechos. Interfaz de Usuario: debe ser potente, fcil de utilizar y de uso agradable, ya que es fundamental para la aceptacin o el rechazo del sistema experto. Base de Datos (BD): se utiliza para almacenar y recuperar de forma eficiente la informacin adicional propia de cada aplicacin y no incluida ni en la BA ni en la BC. Adems de estos componentes que se encuentran en todos los Sistemas Expertos, hay tres elementos ms que estn incluidos en algunos casos. Son el Mdulo de Explicacin (ME), el Mdulo de Aprendizaje (MA) y el Mdulo de Adquisicin de Conocimiento (AC). Este esquema es utilizado bsicamente con reglas; en los sistemas basados en marcos y redes, existe una separacin entre inferencia y conocimiento, pero la informacin del dominio y las conclusiones obtenidas se almacenan en los marcos o en los nodos y enlaces de la red, por lo cual no se puede distinguir entre la Base de Conocimientos y la Base de Afirmaciones.
Ventajas y Limitaciones
Ventajas respecto al experto humano Permanencia: Los expertos humanos pueden desaparecer. Este problema no existe para los S. E. Duplicacin: Los expertos humanos estn en un nico lugar no se pueden repetir, en cambio, del Sistema Experto se pueden realizar las copias que se deseen. Fiabilidad: Los expertos humanos son personas y por tanto pueden estar condicionados por factores externos. En cambio los SE no lo estn y siempre responden de la misma forma.
48
Rapidez: El experto humano ser rpido en los casos habituales, pero no en los casos ms raros. En cambio el SE ser rpido en todos los casos. Bajo coste: Los sistemas expertos, una vez construidos producen grandes beneficios. Limitaciones respecto al experto humano Sentido comn: Un SE carece de esta caracterstica. Puede sacar conclusiones absurdas. Flexibilidad: El experto humano es flexible y puede adaptarse a las nuevas circunstancias, situaciones inesperadas, buscando nuevas soluciones. Los SE son rgidos. Lenguaje natural: An no existen SE que puedan interactuar en lenguaje natural con el usuario. Experiencia sensorial: Bsicamente todos los datos son recibidos por el SE a travs de un teclado o un ratn. Slo algunos disponen de tratamiento de imgenes, y es incomparable con la capacidad de visin humana. Lo mismo puede decirse de la capacidad auditiva, tctil y olfativa. Perspectiva global: Un experto humano puede separar lo fundamental de lo que es accesorio. Falta de capacidad de aprendizaje: Los expertos humanos pueden aprender por caminos que an no pueden ser modelados. Capacidad de manejar conocimiento no estructurado: El experto humano puede utilizar la informacin y el conocimiento desestructurado. El SE, no. Funciones genuinamente humanas: Existen tareas y escenarios en los que no se puede utilizar un SE, como son los campos relacionados con el lenguaje natural, la creacin artstica, el conocimiento del sentido comn y la formacin de conceptos. Estos campos son genuinamente humanos.