introducción inteligencia artificial

48
INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 1 Ferran Gómez y José M. Godoy 1. PERSPECTIVA HISTÓRICA Y CONCEPTUAL. Concepto de Inteligencia Artificial. El propósito de la Inteligencia Artificial es hacer computacional el conocimiento humano no analítico por procedimiento simbólicos, conexionistas o híbridos. Para el conocimiento analítico existen otras ramas de la computación que estudian los métodos y técnicas adecuadas para su representación formal y posterior desarrollo de los programas de ordenador correspondientes. Para conseguir una visión amplia del contenido de Inteligencia Artificial se usan criterios extensionales, es decir, proporcionando una relación lo más completa posible de los temas que estudia la Inteligencia Artificial, junto con los criterios intensionales, que establecen las reglas de clasificación, de forma que se pueda concluir si un problema pertenece o no al campo de la Inteligencia Artificial en función del conocimiento necesario para solucionarlo. En Inteligencia Artificial existen dos perspectivas básicas: La Inteligencia Artificial como ciencia de lo natural (análisis) La Inteligencia Artificial como ciencia de los artificial (Ingeniería de síntesis). En ambas ramas cooperan dos paradigmas, que constituyen dos formas de analizar un proceso y, esencialmente, dos metodologías de síntesis de una solución: Computación simbólica, de grano grueso y programable. Computación conexionista, de grano pequeño y autoprogramable por aprendizaje. La Inteligencia Artificial como ciencia de lo natural es una ciencia de análisis, su objeto formal es el conocimiento, busca un modelo del conocimiento humano organizado en varios niveles (estático, dinámico y estratégico) y susceptible de ser usado en predicción. La fenomenología de la Inteligencia Artificial es el conjunto de hechos asociado a los procesos cognoscitivos y a los principios organizacionales y estructurales que dan lugar al comportamiento humano. Por eso su objeto formal coincide en parte con el de la neurología y la ciencia cognoscitiva y su método pretende aproximarse al de la física, integrando teoría y experimento. Como consecuencia de la evaluación del experimento, se reformula el problema o se rediseñan mecanismos de inferencia y se extraen conclusiones para nuevo prototipos. La IA como ciencia busca una teoría del conocimiento computable con capacidad predictiva análoga a la de una ley física (impersonal, comprobable experimentalmente y transferible). La Inteligencia Artificial como ciencia de lo artificial es una ciencia de síntesis que aspira a convertirse en un ingeniería. Busca un sistema que cumpla una serie de especificaciones funcionales. En Inteligencia Artificial se trabaja con información y conocimiento. El resultado es un programa de ordenador sobre una máquina específica desarrollado a partir de un modelo del conocimiento que supuestamente usa el operador humano que realiza esa tarea. Las tareas de la IA de síntesis son de alto nivel y se pueden clasificar en tres grupos que en creciente son: Dominios formales Dominios técnicos Formas básicas y genuinas del comportamiento humano Las tareas que usan conocimiento técnico - científico en dominios estrechos, admiten una representación dentro de una jerarquía de tareas genéricas de análisis, de modificación o de síntesis que son válidas en muchas aplicaciones con sólo modificar la parte del conocimiento. Lo característico de estas tareas es lo limitado del conocimiento que manejan y la posibilidad de formalizar el conocimiento con las técnicas disponibles. Las tareas en dominios estrechos dan lugar a la Ingeniería del Conocimiento que se desconecta de las raíces de la IA buscando procedimientos de síntesis con las siguientes facetas: • Parte de la descripción de tareas a nivel de conocimiento (Allen Newell). Para ello es necesario realizar un proceso de obtención de ese conocimiento a partir del experto humano que lo posee. • Se busca una representación de ese conocimiento separándolo de los mecanismos de aplicación del mismo de forma que puede acumularse por procedimientos incrementales. • Seleccionar las técnicas adecuadas para su implementación y desarrollar un primer prototipo con la ayuda de ciertas herramientas para la adquisición del conocimiento y de entornos de programación. • Se hace énfasis en el carácter de ingeniería buscando procedimientos sistemáticos de implementación, evaluación y refinamiento de los mismos. Estos procedimientos deben ser explícitos, reproducibles y parcialmente independientes del dominio. • Se usan lenguajes y entornos de programación que faciliten el desarrollo rápido y eficiente de aplicaciones.

Upload: api-3727317

Post on 07-Jun-2015

5.247 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 1

Ferran Gómez y José M. Godoy

1. PERSPECTIVA HISTÓRICA Y CONCEPTUAL.

Concepto de Inteligencia Artificial.

El propósito de la Inteligencia Artificial es hacer computacional el conocimiento humano no analítico porprocedimiento simbólicos, conexionistas o híbridos. Para el conocimiento analítico existen otras ramas de la computación queestudian los métodos y técnicas adecuadas para su representación formal y posterior desarrollo de los programas de ordenadorcorrespondientes. Para conseguir una visión amplia del contenido de Inteligencia Artificial se usan criterios extensionales, esdecir, proporcionando una relación lo más completa posible de los temas que estudia la Inteligencia Artificial, junto con loscriterios intensionales, que establecen las reglas de clasificación, de forma que se pueda concluir si un problema pertenece ono al campo de la Inteligencia Artificial en función del conocimiento necesario para solucionarlo.

En Inteligencia Artificial existen dos perspectivas básicas:• La Inteligencia Artificial como ciencia de lo natural (análisis)• La Inteligencia Artificial como ciencia de los artificial (Ingeniería de síntesis).

En ambas ramas cooperan dos paradigmas, que constituyen dos formas de analizar un proceso y, esencialmente, dosmetodologías de síntesis de una solución:

• Computación simbólica, de grano grueso y programable.• Computación conexionista, de grano pequeño y autoprogramable por aprendizaje.

La Inteligencia Artificial como ciencia de lo natural es una ciencia de análisis, su objeto formal es el conocimiento,busca un modelo del conocimiento humano organizado en varios niveles (estático, dinámico y estratégico) y susceptible de serusado en predicción. La fenomenología de la Inteligencia Artificial es el conjunto de hechos asociado a los procesoscognoscitivos y a los principios organizacionales y estructurales que dan lugar al comportamiento humano. Por eso su objetoformal coincide en parte con el de la neurología y la ciencia cognoscitiva y su método pretende aproximarse al de la física,integrando teoría y experimento. Como consecuencia de la evaluación del experimento, se reformula el problema o serediseñan mecanismos de inferencia y se extraen conclusiones para nuevo prototipos. La IA como ciencia busca una teoría delconocimiento computable con capacidad predictiva análoga a la de una ley física (impersonal, comprobableexperimentalmente y transferible). La Inteligencia Artificial como ciencia de lo artificial es una ciencia de síntesis que aspira a convertirse en uningeniería. Busca un sistema que cumpla una serie de especificaciones funcionales. En Inteligencia Artificial se trabaja coninformación y conocimiento. El resultado es un programa de ordenador sobre una máquina específica desarrollado a partir deun modelo del conocimiento que supuestamente usa el operador humano que realiza esa tarea. Las tareas de la IA de síntesis son de alto nivel y se pueden clasificar en tres grupos que en creciente son:

• Dominios formales

• Dominios técnicos• Formas básicas y genuinas del comportamiento humano

Las tareas que usan conocimiento técnico - científico en dominios estrechos, admiten una representación dentro deuna jerarquía de tareas genéricas de análisis, de modificación o de síntesis que son válidas en muchas aplicaciones con sólomodificar la parte del conocimiento. Lo característico de estas tareas es lo limitado del conocimiento que manejan y laposibilidad de formalizar el conocimiento con las técnicas disponibles. Las tareas en dominios estrechos dan lugar a laIngeniería del Conocimiento que se desconecta de las raíces de la IA buscando procedimientos de síntesis con las siguientesfacetas:

• Parte de la descripción de tareas a nivel de conocimiento (Allen Newell). Para ello es necesariorealizar un proceso de obtención de ese conocimiento a partir del experto humano que lo posee.

• Se busca una representación de ese conocimiento separándolo de los mecanismos de aplicación delmismo de forma que puede acumularse por procedimientos incrementales.

• Seleccionar las técnicas adecuadas para su implementación y desarrollar un primer prototipo con laayuda de ciertas herramientas para la adquisición del conocimiento y de entornos de programación.

• Se hace énfasis en el carácter de ingeniería buscando procedimientos sistemáticos de implementación,evaluación y refinamiento de los mismos. Estos procedimientos deben ser explícitos, reproducibles yparcialmente independientes del dominio.

• Se usan lenguajes y entornos de programación que faciliten el desarrollo rápido y eficiente deaplicaciones.

Page 2: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 2

Ferran Gómez y José M. Godoy

El conjunto de tareas que están asociadas al comportamiento humano ‘inespecífico’ buscan la síntesis de lasfunciones que la neurofísica y psicología cognoscitiva usan para describir el comportamiento humano.

Idea intuitiva del comportamiento artificial.

El concepto de inteligencia está sacado de la psicología cognoscitiva y pertenece a una familia más amplia deconstrucciones teóricas para ayudar en la descripción del comportamiento observable de sistemas complejos en interaccióncon su medio. Hablar de Inteligencia Artificial en este sentido supone querer comprender y duplicar el comportamientohumano. Algunas de las características son:

• Aparente simplicidad del ser vivo.• Enorme complejidad de los procesos cognoscitivos elementales que se quieren sintetizar.• Uso masivo de conocimiento, suponiendo que los mecanismos de inferencia por

encadenamiento de reglas son insuficientes para modelar tareas cognoscitivas.• Toda computación artificial es extensional, por el contrario hay evidencias sobre el carácter

intensional (por propiedades) e intencional (por propósitos) de la computación biológica, dondela inferencia es inmediata (refleja).

• El reconocimiento (según Maturana y Varela) de que todo conocer depende de la estructura queconoce (lo cognoscitivo es propio de lo vivo).

• La hipótesis fuerte de la IA es hacer computacional este conocimiento propio de lo vivo (reducirlos procesos cognoscitivos a un nivel simbólico).

En un diagrama funcional de un agente inteligente (Newell y Simon), el agente interacciona con su medio a través

de un conjunto de sensores. Posteriormente se realiza un procesamiento multisensorial de alta semántica con referencia acontenidos de memoria a la que se llama percepción. El objetivo de ambos procesos es identificar al medio de acuerdo con unmodelo de representación interna que permite comprender el significado de imágenes y palabras. El agente realiza tambiéntareas motoras que inciden en el medio, suelen ser acciones de semántica baja o media. El grado de semántica de una señal esproporcional a la capacidad operacional del símbolo que transporta.

Entre estas dos familias de tareas (perceptuales y motoras) existe un conjunto intermedio de tareas de decisión quetrabajan entre espacios de representación, sin conexión directa con el medio. Incluyen los procesos cognoscitivos asociados alpensamiento y al lenguaje. Para la realización de estas tareas el agente posee un modelo del medio y un conjunto depropósitos y para alcanzar sus metas usa el ‘principio de racionalidad’ (según Newell).

El principio de racionalidad no es operacional, es decir, nos dice que hacer pero no como hacerlo. Cada vez que seencuentra un procedimiento efectivo para identificar, capturar y representar de forma computable el conocimiento necesariopara la síntesis no trivial de esas tareas de percepción, decisión o planificación motoras tenemos un sistema de IA. Elproblema de la IA aplicada es pasar del nivel de especificaciones al nivel de componentes. Toda la computación termina en elnivel físico de la electrónica digital. La clave de la Inteligencia Artificial es conseguir programas traductores intermedios quecondenen las primitivas de bajo nivel con las del lenguaje de representación cada vez más próximo al lenguaje natural.

Los criterios intensionales permiten distinguir las fronteras de la Inteligencia Artificial con las otras ramas de la

computación. Tenemos un problema de Inteligencia Artificial siempre que:• No exista una solución analítica o algorítmica conocida.• Si existe la solución pero la explosión combinatoria la hace ineficiente.• Si el conocimiento necesario es masivo, incompleto, complejo y difícil de representar.• Siempre que se abordan tareas cognoscitivas que usen conocimiento de sentido común.

Se dice que se tiene una técnica de solución propia de la Inteligencia Artificial cuando:

• Utiliza una estructura de tareas genéricas que permite capturar los aspectos generales del problema y desus procedimientos de solución de forma que las situaciones individuales se tratan por los métodosasociados a las clases a las que pertenecen.

• Usa heurísticas que intentan capturar el conocimiento accesible del dominio.• Separa el conocimiento de su uso en inferencia y hace énfasis en el primero.• Permite manejar el razonamiento impreciso y temporal.• Incluye algún tipo de aprendizaje : Simbólico o Conexionista. Sin aprendizaje no hay Inteligencia

Artificial.Los límites de la Inteligencia Artificial pueden encontrarse, en los siguientes puntos:

a. Desconocimiento del operador humano.b. Falta de teoría (principio organizacionales y estructuras).c. Diferencias entre el nivel físico de la computación y el de los seres vivos.

No se puede afirmar que la mente es reducible a computación si no se conoce como funcionan las neuronasbiológicas, ni cómo está organizado el cerebro. La metáfora computacional supone que todos los procesos pueden

Page 3: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 3

Ferran Gómez y José M. Godoy

moldearse mediante dos espacios de representación (el de entradas y el de salidas), y un conjunto de reglas detransformación que proyectan configuraciones del espacio de entradas en las configuraciones correspondientes delespacio de salidas.

Por otro lado la Inteligencia Artificial de síntesis no tiene porqué depender de la comprensión de lo vivo, esdecir, una forma alternativa y eficiente de extender los límites de la Inteligencia Artificial es desarrollarla comociencia y tecnología de lo artificial, sin referencia directa con la biología. Entonces se deben resolver las cuestionessiguientes:

1. Modelado y representación del conocimiento a nivel estratégico, de tareas genéricas de tipos deinferencia y de entidades y relaciones propias del dominio usando nuevos lenguajes de representaciónmás próximos al lenguaje natural.

2. Búsqueda de nuevos principios de autoorganización capaces de generar estructuras simbólicas robustas yde amplio uso a partir de entradas de información más desorganizadas y fragmentadas.

3. Desarrollo de lenguajes de programación que permitan cierto nivel de autoprogramación.4. Énfasis en las teorías computacionales del aprendizaje tanto simbólico como conexionista o híbrido.

Perspectiva histórica de la Inteligencia Artificial.

Etapa Neurocibernética.

La Inteligencia Artificial comenzó a ser computacional cuando Warren S. McCulloch y Walter Pitts introducen elprimer modelo formal, formado por una función lógica seguida de un retraso y donde se sustituye la programación por elaprendizaje. Una red de neuronas formales es equivalente a una máquina de Turing de cinta finita. Si la red es programable,entonces es equivalente a una máquina universal.

Las ideas básicas de esta época se basan en considerar que los seres vivos y las máquinas pueden ser comprendidasusando los mismos principio de organización y las mismas herramientas formales. La aproximación entre ambos deberealizarse a nivel de procesador, de forma que para estudiar como computa el cerebro, hay que estudiar las neuronasbiológicas, modelarlas formalmente, construir redes y ver como surge el comportamiento a partir de procesos locales deautoorganización, memoria asociativa y aprendizaje. Tres trabajos fundacionales del movimiento son:

• “Conducta, Propósito y Teología”, (Rosemblueth, Wiener, Bigelow). Introducen tres conceptosimportantes; la realimentación como principio de organización, la computación por propósitos y la idea deinformación como forma pura, separable de la señal física que la transporta. La conducta de un sistema debeinterpretarse por sus objetivos y de cómo alcanzarlos mediante la realimentación negativa que compara elestado actual con el deseado corrigiendo la actuación.

El trabajo de Wiener (Cybernetics) complementado por Shannon, establece que lo importante en elcontrol y en la comunicación es la información que es pura, sin dimensión, al igual que la computaciónseparada de la máquina (Turing) y el conocimiento. El significado de la información y el conocimiento sóloexiste en el dominio del observador.

• “ Cálculo lógico de las ideas inmanentes en la actividad nerviosa” (W.S. McCulloch, W. Pitts). Trabajoque inicia la Teoría Neuronal del Conocimiento, esta etapa de la Inteligencia Artificial busca la solución delos problemas a nivel físico. Da comienzo a la teoría modular de autómatas y usa la lógica como forma derepresentar el conocimiento. En esta época aparece la intencionalidad ya que hay aspectos del pensamientohumano asociados al cálculo intensional (comprensión) y al uso de propósitos para guiar las acciones.

• “Naturaleza de la explicación” (K. Craik). Interpreta la actividad del sistema nervioso en términos de unconjunto de procesos que construyen una representación del medio que permite predecir. Contribuye a laInteligencia Artificial con dos aportaciones: razonamiento abductivo y espacio de representación.

La inferencia en la Inteligencia Artificial está asociada a tres tipos de razonamiento:

Deducción lógica a partir de un conjunto de fórmulas (axiomas) sobre las que se aplican un conjunto dereglas o demostraciones, se consiguen nuevas fórmulas válidas. Permite pasar de lo general a lo particularcon certeza del resultado obtenido. Su punto débil es la necesidad de conocer con precisión el conjunto deaxiomas que define el dominio.Inferencia inductiva, pasa de lo particular a lo general, se usan heurísticas con conocimiento del dominio,nunca se puede garantizar la completitud y certeza de la inferencia.Razonamiento inductivo, a partir de una conclusión conocida se busca un hecho que la explique. Tratasituaciones en las que se conoce una relación causa efecto y un suceso, y, se debe lanzar una hipótesis sobresu causa más probable.

Según Craik: “Nuestra pregunta no es qué es implicación o causalidad, sino cuál es la estructura y los procesosnecesarios para que un sistema mecánico sea capaz de imitarlos correctamente y predecir sucesos del mundo externo, a lavez que crear nuevas entidades”. El segundo punto de la obra de Craik es un mecanismo de razonamiento por analogía en elmodelo del medio donde la implicación formal es el equivalente a la causalidad en el mundo físico. Distingue tres procesos:

Page 4: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 4

Ferran Gómez y José M. Godoy

1. Traslación de los procesos externos a símbolos en un espacio de representación.2. Obtención de otros símbolos mediante inferencia en el modelo del medio que paraliza la

causalidad externa.3. Retraslación a esos símbolos transformados al dominio de sus referentes externos (predicción).

La característica fundamental de un Sistema Basado en el Conocimiento (SBC) es su poder para modelar sucesosbasados en dos tipos de símbolos: números y palabras. La propuesta de Craik es que la codificación de estos símbolos no esarbitraria, sino que mantiene su identidad desde la entrada sensorial a la salida motora.

La Inteligencia Artificial en su primera etapa neurocibernética aborda los siguientes temas:

Redes de neuronas formales.

Algoritmos de análisis y síntesis.

Aprendizaje por ajuste de parámetros.

Tolerancia a fallos.

Modelos de memoria asociativa.

Reconocimiento de caracteres

Aprendizaje asociativo y por refuerzo.

Desarrollos en Teoría Modular de Autómatas.

Codificación y Teoría de la Información

Principios Organizacionales:

Autoprogramación.

Autorreproducción

Programas programadores

Traducción automática.

Comprensión del Lenguaje Natural

Etapa de la computación de Platón a Turing

Dreyfus sugiere que la Inteligencia Artificial comenzó en Grecia alrededor del año 450 a.C. cuando Socratespregunta por un conjunto de reglas de decisión definidas de forma que en cada momento se puede calcular la respuesta delsistema calculando esas reglas a la entrada.

Hobbes (1.588-1679) afirma que el pensamiento (razocinio) consiste en ejecutar operaciones simbólicas siguiendo deforma metódica un conjunto de reglas de decisión.

Descartes (1.566-1650) descubre el carácter invariante de la matemática para representar el conocimiento. Intentaformalizar el razonamiento usando tres procesos: enumeración, deducción e intuición, siendo este último el más difícil demecanizar.

Leibniz (1.646-1716) introduce el concepto de programa y de programación. Boole (1815-1860) introduce el modelológico haciendo énfasis en la separación de símbolos y números y en la posibilidad de usar los primeros como objetos decálculo.

Un aspecto importante de los desarrollos en Inteligencia Artificial es el de intentar mantener las ventajas del modelológico y disminuir los inconvenientes que supone su carácter binario e invariante de sus valores. La lógica borrosa, laprobabilística y las extensiones del razonamiento no monótono y temporal son muestra de ello.

Las contribuciones de Von Newman a la computación numérica y a la Inteligencia Artificial fueron extraordinarias yse pueden esquematizar en:

• Arquitectura de computadores• Teoría modular de autómatas• Redes neuronales y teoría del cerebro.

Su trabajo dentro de EDVAC posee dos aportaciones básicas a la computación. Por un lado separa el diseño lógico(arquitectura de computadores) de las realizaciones físicas de la máquina. Define la arquitectura básica que aún persiste. Sudiseño lógico utiliza neuronas formales tipo McCulloch-Pitts demostrando la equivalencia entre la Máquina de Turing y lasredes neuronales. Además planteó las siguientes cuestiones fundamentales:

• Reformulación de la Máquina de Turing en Autómatas Celulares.• Autoprogromación• Autoreproducción y Evolución• Tolerancia a fallos y Estabilidad Lógica ante cambios de función local

Page 5: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 5

Ferran Gómez y José M. Godoy

Alan Turing tiene dos contribuciones básicas a la computación y a la Inteligencia Artificial:

• Un Modelo Computacional Universal (Máquina de Turing)• Un procedimiento experimental de medir la I.A. de un programa (test de Turing)

La Máquina de Turing es un máquina matemática, todo proceso que se describe de forma clara, completa, precisa einequívoca en lenguaje natural puede representarse mediante un autómata. A partir de esta representación se puede encontraruna secuencia de instrucciones que al operar sobre símbolos codificados genera un programa ejecutable en cualquiercomputador. Desde este punto de vista todas las arquitecturas son equivalentes, y sus diferencias son los factores decomplejidad, tamaño, tiempo, eficacia o recursos. El test de Turing parte de un operador humano, un programa de ordenador y un interrogador que realiza un conjuntode preguntas, y compara las respuestas de ambos. Si de la comparación de las respuestas el observador no es capaz dedistinguir que información corresponde al operador humano y cual al programa de Inteligencia Artificial, se dice que paraesa tarea en ese dominio se supone el mismo nivel de inteligencia a ambos operadores.

Moov, modificó el esquema en términos de acumulación de evidencia inductiva, a partir de una serie de críticas, lamás fuerte es sobre el carácter conductista del test de Turing. La contestación adecuada a esta crítica es la de considerar eltest más que una medida de inteligencia como un procedimiento de recoger y acumular evidencias inductivas acerca de laeficacia del programa para resolver un problema.

Esta interpretación inductiva elimina parcialmente la crítica de Searle sobre la diferencia entre el conocimientosuperficial (diccionario) y el profundo. Este segundo caso supone que el agente debe comprender el significado del mensaje anivel semántico generando otro mensaje en otro lenguaje, con el mismo significado, sin referencia a la sintaxis del mensajede partida.

El segundo tipo de crítica hace referencia a la falta de severidad del test. Imitar no es muy complicado y la eficienciaen tareas formales y técnicas para dominios estrechos y modelables no justifica el carácter cognoscitivo (humano) de lacomputación en Inteligencia Artificial. Toda la información está estructurada, todo el proceso está programado y hay pocolugar para el aprendizaje.

La capacidad de aprendizaje de un programa es la siguiente medida importante para evaluar el nivel de InteligenciaArtificial.

Búsqueda Heurística y Dominios Formales.

El primer trabajo resultado de la búsqueda de esquemas universales de deducción fue el programa ‘Logic Theorist’que demostró las posibilidades de la Inteligencia Artificial en el campo de los dominios formales. En esta época comienza lapreocupación por ‘Lenguajes para procesar información’, más orientados al manejo de símbolos que al cálculo numérico(Lisp). Otro trabajo representativo es el programa GPS [solucionador general de problemas] (Newell, Shaw y Simon). Es unprograma que incorpora medios heurísticos, utilizando la metodología de análisis ‘medios - fines’, seleccionando unasecuencia de operadores que haga disminuir la diferencia entre el estado inicial y el estado meta hasta anularla.

Todos los trabajos de esta época (1956-196x) se centran en problemas de dominios formales, idealización del mundoreal. En todos los casos la Inteligencia Artificial se entiende como búsqueda en un espacio de estados sin conocimiento deldominio, haciendo énfasis en los métodos de control de la búsqueda. Actualmente se intenta recuperar las propuestas inicialesdel GPS, el propósito es separar los aspectos estructurales comunes al procedimiento de solución de una clase general deproblemas, del conocimiento específico de una tarea particular:

• Arquitecturas SOAR.

• Metodologías basadas en una estructura de tareas genéricas.

• Nuevos paradigmas multiestrategia en aprendizaje simbólico.

A mediados de los sesenta aparecen cambios en la orientación de la Inteligencia Artificial dando cada vez másimportancia al conocimiento del dominio y por consiguiente a los problemas asociados a su representación y posterior uso eninferencia, donde se separan conocimiento y uso del mismo.

En esta época se inician los estudios del lenguaje natural, limitando sus dominios, para conseguir un modelocompleto de las estructuras y procesos de ese dominio. Aparece la llamada “falacia del primer paso” (Dreyfus) ya que aunquese suponía que todos los programas eran un primer paso para la comprensión del lenguaje natural, nunca llegó el segundopaso, que lo hizo vía los sistemas basados en el conocimiento.

McCarthy realizó un trabajo sobre programas con sentido común, donde afirmaba: “podemos decir que un programatiene sentido común si deduce de forma automática y por si mismo una clase suficientemente amplia de consecuenciasinmediatas de cualquier cosa que se le dice y él ya conoce.

Énfasis en el conocimiento (1.97x - 198x).

La complejidad de los problemas que aborda la Inteligencia Artificial aconseja combinar todas las técnicas derepresentación, integrando el simbolismo con las redes neuronales. La segunda idea que caracteriza esta segunda etapa de laInteligencia Artificial es que no basta con el énfasis del conocimiento sino que además la Inteligencia Artificial de síntesis(ingeniería) debe centrarse en tareas científico - técnicas en dominios estrechos donde se pueda abarcar el conocimiento de

Page 6: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 6

Ferran Gómez y José M. Godoy

forma completa y sin influencia del sentido común. Se habla así de motivación inteligente, clasificación basada en elconocimiento, consejeros de terapia médica, sistemas de supervisión y detección de alarmas, etc. El nacimiento de losSistemas Basados en el Conocimiento y los Sistemas Expertos ocurre en una época dominada por dos preocupaciones:

• Énfasis en la representación computacional del conocimiento para tareas del mundo real. Elconocimiento específico del dominio es poder. • Selección de tareas técnicas en dominios estrechos (Sistemas Expertos) donde se separa el conocimientode sus mecanismos de aplicación (inferencia).

Representación del conocimiento.

El problema de la representación del conocimiento sigue abierto tanto en la Inteligencia Artificial teórica, (¿qué es?,relación entre el conocer y la estructura de lo que se conoce) como en la Inteligencia Artificial de síntesis (¿quérepresentación es mejor?, ¿cuál permite un uso eficiente del conocimiento?, ¿cómo abordar la semántica?, ¿cómo profundizarel razonamiento?), la conclusión de esta etapa es una propuesta de representación modular e híbrida que incluye aspectos delos cuatro procedimiento básicos: lógica, reglas, redes asociativas y marcos (objetos estructurados).

En esta época se considera al conocimiento como ‘algo’ transportable desde la cabeza del experto humano a lamemoria del computador. La visión actual considera el problema de la representación formal del conocimiento como unproceso de modelado o de reconstrucción de lo que se supone que sabe el experto humano, estructurado en varios niveles.

El uso de la lógica para representar el conocimiento tiene como ventajas la semántica, expresividad y la eficacia desus procesos deductivos. Sus inconvenientes provienen de la falta de estructuración del problema de la completitud y de laexistencia de problemas en los que la conclusión se obtiene por defecto, sin garantizar que los resultados son ciertos. Estaruptura de la monotonía (suposición usual en lógica) ha dado origen a la búsqueda de nuevos formalismos para elrazonamiento no monótono, que junto al aproximado, el temporal y el cualitativo han dado lugar la estado actual de lasinvestigaciones.

Para intentar solucionar el problema de la ineficiencia de las representaciones lógicas surgen las representacionesbasadas en reglas, sacrificando expresividad por eficiencia. Estos sistemas aportan un nuevo paradigma de programación.Parten de la idea de que todo el conocimiento relevante para realizar una tarea puede representarse mediante un conjunto decondicionales. El resultado de aplicar la regla produce nuevos hecho y activa otras reglas, de forma que el razonamiento estáasociado a ese encaminamiento de reglas.

Las redes semánticas (Ros Quillian) son un modelo de memoria asociativa adecuado para la representacióncomputacional del conocimiento necesario para la comprensión y traducción del lenguaje natural. Selts (1.922) en su teoríade la anticipación esquemática propuso una organización relacional del conocimiento en términos de redes de conceptos(nodos) enlazados por relaciones (arcos) y con herencia de propiedades. Quillian retomó esta línea; la base de conocimientosen una gran red de nodos (significado de palabras) interconectadas por diferentes tipos de arcos asociativos. Las redesasociativas engloban a las redes semánticas, siendo estas últimas un caso particular que hace referencia a su origen, comoforma de representar el significado (semántica) de las palabras en lenguajes naturales. Las tres características que distinguenlos distintos tipos de redes son:

• Tipo de conocimiento representado.• Método de inferencia.• Forma de abordar el problema del aprendizaje.

Los marcos (Minsky) como forma de representación del conocimiento suponen que el sistema nervioso organiza suexperiencia perceptiva y su memoria en términos de un conjunto de esquemas que describen de forma estructurada nuestroconocimiento sobre un conjunto de situaciones reales, de forma que al usarlos para razonar se acepta gran cantidad deconocimiento implícito con el que se rellenan los campos que quedan sin especificar.

Una característica importante de los marcos es su ordenación jerárquica, los marcos - nodos inferiores no sóloheredan las propiedades de sus superiores sino que pueden heredar también valores y métodos asociados a estas propiedades.Los guiones y planes son análogos a los marcos, sólo que hacen referencia a estructuras que describen secuencias temporalesde sucesos. El ser humano organiza su conocimiento en términos de millones de marcos, guiones y planos que usaconstantemente en todas sus tareas(Schank, Minsky).

Los avances desde 1.980 hasta nuestros días se resumen en los siguientes puntos:• Mayor rigor en los desarrollos teóricos.

• Énfasis en las representaciones declarativas frente a las procedimentales.

• Intento de formalización e integración de los distintos tipos de razonamiento. Se camina haciauna teoría unificada del conocimiento.

Page 7: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 7

Ferran Gómez y José M. Godoy

• Renacimiento del conexionismo y surgimiento de las redes bayesianas.

• Manejo de grandes bases de conocimiento, lo que exige el desarrollo de métodos automáticos deadquisición y actualización (aprendizaje).

Sistemas Basados en el Conocimiento y Sistemas Expertos.

Cuando en un sistema se hace uso intensivo del conocimiento del dominio y se separa de los mecanismos quecontrolan su uso en inferencia, se tiene un SBC. Dentro de los SBC hay un grupo de sistemas en los que el conocimientoprocede de un experto humano especializado en una tarea concreta en un dominio técnico, se tiene entonces un S.E. Eldesarrollo de los métodos básico de representación del conocimiento ha caminado paralelo al desarrollo de los sistemasexpertos. Cada forma de representación está asociada históricamente al primer sistema que la usó. Las característicasfundamentales de un S.E son:

• Dominio reducido• Competencia en su campo• Separación conocimiento/inferencia• Capacidad de explicación• Flexibilidad en el diálogo• Tratamiento de la incertidumbre.

En la primera época los módulo básicos de un S.E. eran la base de hechos ciertos, la base de conocimientos, elmecanismo de inferencia, una base de datos convencional y un módulo de explicación y diálogo (esquema que corresponde aun sistema basado en reglas). Si la representación del conocimiento se hace usando marcos o redes semánticas, la estructurano se corresponde claramente con estos módulos. Una conclusión importante de esta etapa de la Inteligencia Artificial es quelos sistemas basados en reglas constituyen un procedimiento efectivo de representación y uso del conocimiento distinto de laprogramación convencional. La computación se realiza identificando y aplicando la regla adecuada a un hecho. Después, seestudia si como consecuencia de la aplicación, se ha resuelto el problema, y en caso contrario, buscar una nueva regla cuyocampo de condición se adapta al campo de acción de la anterior. Como consecuencia se altera el contenido de la memoriadinámica del sistema. Esta forma de programar supone dos cambios esenciales

• Todo conocimiento debe representarse de forma modular y declarativa.• En el modelado se debe cuidar el contenido asignado a los campos de condición y acción de cada reglaporque ahí se construye el conocimiento que guiará el encadenamiento de las reglas.

Las características básicas de todos los Sistemas Expertos son:

1. Selección de un dominio limitado del conocimiento.2. Evidencia de que el conocimiento esencial no es de carácter general sino específico del dominio.3. Separación entre el conocimiento y el mecanismo de aplicación del mismo.4. Validez de las reglas como forma de representar el conocimiento, sin necesidad de modelar el proceso de

pensamiento del experto humano.5. Validez del razonamiento por encadenamiento de reglas.6. Tratamiento del problema de la incertidumbre mediante mecanismos sencillos y eficientes.7. Capacidad de explicación del razonamiento seguido para alcanzar la meta.8. Mención de conceptos como las metarreglas y adquisición del conocimiento como tareas genéricas en I.A.Las metarreglas (reglas sobre la utilización de otras reglas) se introducen con tres fines: construir la base de

conocimientos mediante un diálogo con el experto humano, guiar el razonamiento mediante objetivos explícitos y mejorar lacapacidad de explicación a partir de dichos objetivos.

Las tendencias actuales en el campo de los Sistemas Expertos son:• Desarrollo de los Sistemas Expertos con una metodología establecida, usando entornos comerciales y

aceptando los métodos usuales de representación e inferencia.• Desarrollos teóricos en temas frontera relacionados con la extensión de los métodos de representación y

razonamiento• Énfasis en el aprendizaje y renacimiento del conexionismo.

Aprendizaje y renacimiento del conexionismo.

La Inteligencia Artificial empezó siendo conexionista, los primeros trabajos están relacionados con la síntesis deredes neuronales artificiales. Aprender era modificar parámetros de un sistema para mejorar su comportamiento. Esta mejorase medía mediante una función del error resultante de comparar la respuesta obtenida con la deseada. En la última décadarenacen las redes neuronales como alternativa a la Inteligencia Artificial Simbólica, dando gran importancia al aprendizaje.

Aprendizaje

El aprendizaje ha estado dominado por la perspectiva simbólica, siendo su fuente de inspiración el aprendizajecognoscitivo que estudia la formación de conceptos, la solución de problemas, el razonamiento por analogía y los procesos

Page 8: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 8

Ferran Gómez y José M. Godoy

inductivos, en los que se generaliza y traslada lo aprendido en casos particulares y el aprendizaje creativo, pordiscernimiento.

La idea general de aprendizaje es la acumulación de conocimientos. Un programa aprende cuando es capaz deacumular conocimiento sobre una tarea, para ello se deben representar como cambios en estructuras de datos y algoritmos.Una buena teoría del aprendizaje comienza con la búsqueda de representaciones plásticas que admitan cambios adaptativoscomo consecuencia del entrenamiento. Este problema general se puede dividir en tres: tareas perceptivas, de organizacióncentral (decisión) y de planificación motora.

El aprendizaje en percepción incluye el reconocimiento de caracteres y la formación deconceptos. Hace falta mucho conocimiento inicial para que un programa pueda empezar a aprender.

El aprendizaje en planificación incluye aspectos complementarios de la percepción. Se parte deconceptos centrales en un modelo del medio (planes) y se programa un generador de accioneselementales. La percepción es la imagen especular (simétrica) de la planificación y la acción (percepcióny planificación deben estar integradas).

El aprendizaje de organización central incluye aspectos como la adquisición automática de nuevoconocimiento declarativo y su integración en una organización interna, la puesta al día de una base deconocimiento y los cambios en los mecanismos de inferencia.

Considerando el aprendizaje central como el cambio en los mecanismo de razonamiento, hay tres paradigmasbásicos: inductivo, deductivo y abductivo. En el aprendizaje inductivo los cambios en las estructuras de datos y algoritmosvan encaminadas a la generalización del conocimiento extraible de los ejemplos usados en el entrenamiento. Ese proceso estáguiado por criterios heurísticos. Si se dispone de mucho conocimiento del dominio no es necesario mucho entrenamiento, setiene una estrategia de aprendizaje basado en casos (CBL). El aprendizaje deductivo está asociado a situaciones en las que sedispone de un conocimiento general bastante completo y unas reglas de inferencia para obtener casos bajo la ley y explicar elproceso deductivo. Al tener que encontrar teorías completas se debe complementar con otras estrategias inductivas oabductivas.

El aprendizaje por analogía (Craik, 1.943) está basado en la búsqueda de correspondencias entre entidades yrelaciones pertenecientes a dos dominios (fuente y diana). Estas correspondencias se usan para trasladar los razonamientosdel dominio fuente al dominio diana. La analogía al igual que la inducción se basa en realizar una suposición sobre unageneralización, se elige el caso más cercano al que se debe resolver.

El aprendizaje abductivo busca un procedimiento para proponer y seleccionar las hipótesis que mejor expliquen lasconclusiones conocidas. La elección, también de naturaleza inductiva, está asociada a las hipótesis y tiene el carácter de unaexplicación.

El estado actual del aprendizaje computacional esta marcado por dos tendencias complementarias:1. Desarrollo de sistemas multiestrategia, basados en la comprensión de las funcionalidades y las

condiciones de aplicación de las distintas estrategias individuales y en la cooperación de estas en funcióndel tipo de problema.

2. Desarrollos teóricos y metodológicos distinguiendo entre las funcionalidades en el dominio propio y enel del observador y proponiendo un nivel de procesos comunes en términos de los que las distintasestrategias son equivalentes.

Conexionismo

El crecimiento de la computación simbólica y el reconocimiento de las limitaciones de las redes neuronales formalesfrenaron el conexionismo a finales de los 60. En una etapa intermedia (1.970-1.980) se sigue trabajando en el conexionismo anivel de redes probabilísticas, memorias asociativas, reconocimiento de caracteres, aprendizaje por refuerzo, etc. El saltocualitativo del conexionismo se produce en los 80 con las propuestas de Rumelhart y Barto. Permanece el concepto inicial dered neuronal pero con la diferencia de la sustitución de la función umbral por una función derivable que permita laretropropagación de la función de error que guía el aprendizaje supervisado por el método del gradiente. El contenido enextenso de la Inteligencia Artificial conexionista aborda los siguientes temas:

• Conexiones con la neurociencia• Modelos de computación distribuida y autoprogramable• Búsqueda de arquitecturas multicapa e incremetales y genéticas que faciliten la cooperación y laautoorganización de forma análoga a los propuestos por la IA distribuida.• Estudio del aprendizaje supervisado y no supervisado. Conexión con el aprendizaje simbólico.• Desarrollo de neurosimuladores• Implementación de redes como arquitecturas paralelas de propósito especial.• Aplicaciones, percepción y control.

Page 9: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 9

Ferran Gómez y José M. Godoy

2. ASPECTOS METODOLÓGICOS EN IA.

Niveles de computación.

Ante la complejidad de un sistema, tanto en tareas de análisis como de síntesis es útil realizar las descripcionesusando una jerarquía de niveles que permitan segmentar la complejidad. Cada nivel de descripción está caracterizado por unafenomenología , un conjunto de entidades y relaciones y unos principios organizativos y estructurales propios. Un niveltambién se caracteriza por la existencia de un conjunto de restricciones que limitan su capacidad. Todos los niveles estánparcialmente cerrados en su organización y su estructura lo que permite la estabilidad del nivel y su inclusión en unajerarquía en la que cada nivel enlaza con el inferior mediante un proceso de reducción y con el superior mediante procesos deemergencia que para ser comprendido precisan de la inyección de conocimiento por parte de un observador externo. Lascaracterísticas específica de los distintos procesos de emergencia y reducción dependen del dominio.

La teoría de niveles en la computación fue introducida por D. Marr y A. Newell, previamente Chomsky introdujo losconceptos de competencia y ejecución para distinguir los lenguajes naturales de los sistemas arbitrarios y formales demanipulación de símbolos.

Todo nivel de computación admite una representación general en términos de un espacio de entradas, un espacio desalidas y un conjunto de reglas de transformación que enlazan las representaciones en ambos espacios de representación. Elespacio de entradas en un espacio multidimensional de las características del proceso que se consideran relevante. El espaciode salidas también es multidimensional, en el que se seleccionan los resultados de la computación en función del tiempo, lasentradas y reglas de transformación del proceso de este nivel. La computación de un nivel se completa con las descripcionesde las transformaciones que producen nuevos valores en el espacio de salidas a partir de la secuencia de valores previos enambos sentidos.

Los tres niveles de computación que propone Marr comienzan a tener una clara comprensión de lo que se debecalcular y como se debe hacer. No basta pues, el conocimiento de la computación a nivel de procesador, ni el nivel dealgoritmos y estructura de datos, debe existir un nivel adicional de comprensión que analice y comprenda los mecanismos yestructuras particulares que se implementan en nuestros cerebros. Sustituyendo cerebro por computador se tiene cómoanalizar o sintetizar una tarea computacional.

NIVEL 1: Teoría computacional de la tarea a nivel genérico incluyendo cuál es elobjetivo de la computación, por qué es apropiado y cuál es la lógica de la estrategiaadecuada para implementarlo.

NIVEL 2: Representación y algoritmo. ¿Cómo puede implementarse esta teoríade cálculo? (espacios simbólicos de representación de las entradas y salidas yalgoritmos que los enlazan)

.

NIVEL 3: Implementación en un soporte físico del nivel 2 (entornossoftware y nivel hardware.

Para una tarea concreta los tres niveles de descripción están relacionados, cuando se baja de nivel se pierdeinformación, ya que no hay un representación única de ese nivel. La hipótesis fuerte de la Inteligencia Artificial es que apesar de estas pérdidas de semántica es posible hacer computacional la inteligencia humana.

Page 10: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 10

Ferran Gómez y José M. Godoy

Nivel del conocimiento de Allen Newell

La coincidencia con la clasificación de niveles de Marr no es total, ya que existen muchos modelos descriptibles anivel de conocimiento, que no se disponen de teoría. Newell introdujo el nivel de conocimiento por encima del nivelsimbólico que caracteriza el comportamiento de un sistema. La clave del nivel es su carácter abstracto, genérico eindependiente del dominio y del lenguaje usado para representar el conocimiento.

Clancey (1.993) señala el carácter relativista de las descripciones en el nivel de conocimiento. Son las descripcionesde un agente en su medio, y permiten predecir el comportamiento del sistema en situaciones semánticamente análogas.

La computación intencional (a nivel de conocimiento) es invariante ante cambios en la representación a nivelsimbólico, de la misma forma que una computación a nivel simbólico es invariante ante cambios en el nivel deimplementación. Newell plantea tres objetivos:

• Razonar acerca de la naturaleza del conocimiento.

• Proponer la existencia de un nivel específico del conocimiento cuyas entidades básicasson las creencias, objetivos, planes y el principio de racionalidad, que conectacausalmente con las acciones.

• Descripción de este nivel y sus conexiones con los niveles inferiores (simbólicos y deimplementación).

Para poner el nivel de conocimiento en relación con el simbólico y al de implementación introduce cinco aspectospara caracterizar los niveles:

SISTEMA MEDIO COMPONENTES OPERADORES LEYES DECOMPORTAMIENTO

NIVEL deCONOCIMIENTO

AgenteInteligente

Conocimiento MetasAccionesIntenciones

Los usados porel lenguaje

natural

Principio deracionalidad.

NIVEL SIMBOLICO Visión delprogramador de

ordenador

Símbolos yexpresiones

Operadores ymemorias

(Primitivas dellenguaje)

DesignaciónAsociación

Interpretación fija

NIVEL DEIMPLEMENTACIÓN

E. Digital +Arquitectura deComputadores

VectoresBooleanos y

Estados lógicosde puertas

RegistrosALU’s

Decodificadoresde Instrucciones

Algebra deBoole

Teoría de Autómatas

El principio de racionalidad o principio de causalidad semántica dice:

• Si un agente conoce que una de sus acciones conducirá a sus metas, entonces seleccionará estaacción.

• Conocimiento es cualquier cosa que se pueda adscribir a un agente de forma que su conductase puede calcular usando el principio de racionalidad.

Desde la perspectiva de la Inteligencia Artificial aplicada, el problema es encontrar un procedimiento para reducir elnivel de conocimiento al nivel simbólico. Es decir, pasar de las descripciones en lenguaje natural a un lenguaje accesible alnivel simbólico, donde el principio de racionalidad, las metas, las creencias y las acciones se proyectan en estructuras dedatos y algoritmos. Para facilitar el proceso de reducción se están buscando entidades de nivel intermedio como la teoría deagentes cooperativos (descomposición, segmentación y especialización), las estructura de las tareas genéricas y lametodología KADS entre otras.

El agente observador y los dominios de descripción.

La introducción de la figura del observador proviene de la física, al reconocer la existencia del mismo en lacomputación se introduce la idea de distintos sistemas de referencia. Las descripciones de las observaciones de unacomputación a nivel físico o simbólico deben de hacerse en dos sistemas de referencia, uno para cada nivel. Al dominio quelos engloba se le denomina dominio propio (DP) o autocontenido. El otro dominio es el dominio del observador que usa ellenguaje natural para describir y dotar el significado de los procesos del dominio propio.

Page 11: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 11

Ferran Gómez y José M. Godoy

En las descripciones de dominio propio todo lo que ocurre el causal, y las relaciones son de necesidad, es decir, loque ocurre es porque la estructura y función coinciden y las conexiones entre las magnitudes siguen sus leyes propias.

El observador siempre actúa a nivel de conocimiento, usa el lenguaje natural y su función de diseño e interpretaciónde la computación en los niveles físicos y simbólico está caracterizada por su modelo del conocimiento, las limitaciones deestos niveles y la inyección de conocimiento que se necesita para recuperar la información perdida en la reducción de niveles.

En la computación de debe de evitar mezclar entidades y relaciones del dominio propio con otras del dominio delobservador con las que no tienen ninguna relación causal. F. Varela (1.979) distingue entre las explicaciones en el dominiodel observador y las explicaciones operacionales (causales en el dominio propio). Se deben de evitar mezclar entidades dedistinta semántica lo que se consigue mediante descripciones en ambos dominios. La distinción entre ambos dominiosaparece al plantear la reducción del nivel de conocimiento al nivel simbólico y se hacen explícitas las tablas de semántica. Unerror común en Inteligencia Artificial es no hacer mención explícita al intercambio de niveles no de la inyección deconocimiento necesaria para estos saltos de nivel.

Estructura de tareas genéricas para modelar conocimiento en el D.O.

Las tareas genéricas facilitan la adquisición de conocimiento y su posterior reducción simbólica. La idea es modelarel conocimiento mediante una serie de métodos. En cada caso los métodos, la representación del conocimiento y losmecanismos de inferencia variaran pero el esquema conceptual será el mismo.

En un sistema de control las tareas genéricas son comparación, ampliación, actuación y medida y su estructura es larealimentación negativa. Analizar o sintetizar un sistema basado en conocimiento mediante una estructura concurrente detarea genérica es una metodología estructura que permite inyectar en cada aplicación todo el conocimiento que es invariante.

La clasificación como tarea genérica.

Muchos programas en Inteligencia Artificial están basados en la estructura genérica de un clasificador, cuya funciónes ordenar las distintas salidas y/o seleccionar una de ellas. La clasificación heurística como tarea genérica es subyacente amuchos sistemas expertos (SE) y está descompuesta (Clancey, 1.985) en tres subtareas: abstracción, equiparación heurísticay refinamiento. La abstracción permite separar el valor numérico de una variable; la equiparación heurística buscaasociaciones que permiten acotar el espacio de búsqueda, el refinamiento está asociado al resto del conocimiento.

Metodología KADS

La metodología KADS para el desarrollo de sistemas basados en el conocimiento se apoya en el nivel de las tareasgenéricas y en la distinción de cuatro capas: estrategia, tareas, inferencia y conocimiento estático del dominio, para modelarel conocimiento. El proceso comienza con el análisis a nivel global, que permite una descomposición del problema en tresmódulos: el módulo basado en el conocimiento, la interfaz y el resto de la aplicación. La siguiente etapa modela la inferencia,está relacionada con las técnicas de representación del conocimiento estático.

La tercera etapa contiene la estructura de tarea genérica. La capa más externa se usa para modelar los aspectosestratégicos del conocimiento.

El uso de una estructura de tarea genérica para modelar conocimiento tiene la ventaja de ser modular, planteando laexistencia de primitivas de computación, a partir de las cuales se puede modelar y sintetizar el conocimiento.

IA simbólica versus IA conexionista

Toda computación termina siendo conexionista en el dominio propio del nivel físico. El simbolismo nace en eldominio propio durante el proceso de reducción del nivel de conocimiento al nivel simbólico y en el proceso inverso deinterpretación. Cuando la reducción se hace a través del nivel simbólico, terminando en las primitivas de un lenguaje, la IAes simbólica. En cambio cuando la reducción se hace directamente del nivel de conocimiento a la red de procesadores, la IAes conexionista.

Una primera distinción entre IA simbólica e IA conexionista está en el salto directo que las redes neuronales dandesde la formulación del problema a nivel de conocimiento hasta el nivel físico, lo que supone un análisis pormenorizado dela aplicación. Como alternativa a este paso directo, la IA simbólica utiliza un conjunto de entornos y lenguajes de alto nivelque facilitan la reducción al nivel simbólico de un modelo de conocimiento.

Otra distinción es la riqueza de tareas genéricas y tipos de inferencia que ofrece la IA simbólica, frente a laslimitaciones de una arquitectura por capas que siempre realiza una función de clasificación.

Una forma de aproximar las redes neuronales a la computación simbólica es aumentar la capacidad de computaciónlocal, superando las limitaciones de un modelo analítico no lineal mediante el uso de un condicional o de un micro-marco conun campo de inferencia. En estas condiciones es posible hablar de sistemas expertos conexionistas y redes neuronales basadasen el conocimiento.

Page 12: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 12

Ferran Gómez y José M. Godoy

3-. FUNDAMENTOS Y TÉCNICAS BÁSICAS DE BÚSQUEDA. Planteamiento del problema. En la formulación de cualquier problema, inicialmente se parte de la declaración en lenguaje natural del mismo; queresponde en su concepción en el nivel de conocimiento (Newell) para establecer un nivel abstracto de interpretación de lossistemas el Inteligencia Artificial, actuando según el principio de racionalidad, es decir, si un sistema tiene el conocimientode que una de sus acciones conduce a una de sus metas, entonces se realiza dicha acción. A partir de esta descripciónaparecen elementos que permiten situar el problema en un nivel más concreto. La Inteligencia Artificial estudia especialmente métodos que permiten resolver problemas en los que no existe elconocimiento sistemático para plantear una solución analítica. Estos métodos se consideran débiles ya que los procedimientosde búsqueda no informada suelen ser poco eficientes, aunque se pueden aplicar a muchos problemas. Ante cualquier problema se presentan dos situaciones posibles, tener el conocimiento de lo que hay que hacer oindagar qué podría hacerse para resolverlo; los problemas complejos requieren una formulación combinada. Las técnicas derepresentación que permiten describir los aspectos conocidos se denominan declarativos, los que se centran en especificar elproceso que hay que realizar para encontrar las soluciones buscadas se llaman procedimentales. Ningún sistema escompletamente declarativo o exclusivamente procedimental. Las técnicas declarativas se centran en “el qué” y lasprocedimentales en “el cómo”. Permiten especificar el conocimiento del dominio, que sirve para orientar la búsqueda. Enprincipio ambas técnicas son intercambiables (siempre y cuando exista el procedimiento de interpretación adecuado para lasdeclarativas). El planteamiento general de un problema consiste en encontrar o construir una solución a dicho problema. Eneste contexto un problema requiere:

• Un agente con una serie de objetivos que desean alcanzar. El agente es el sistema (programa)concreto que se está ejecutando. • Un conjunto de acciones que permiten obtener los objetivos o metas.

• Un procedimiento de elección entre diferentes formas de llegar a ellas. Cada una de estassoluciones constituye una secuencia de acciones determinada. Suele denominarse solucionador almódulo encargado de construir dicha solución.

Un marco adecuado para resolver dicho planteamiento es utilizar el esquema de los problemas de búsqueda comotarea genérica den Inteligencia Artificial. DADOS:

• Conjunto de estados: Todas las configuraciones posibles de las situaciones que puedan plantearse en eldominio.

• Uno o más estados desde los cuales el solucionador comienza a actuar (estados iniciales).• Uno o más estados que serán aceptados como soluciones del problema (estados finales).• Conjunto de operaciones o reglas que describen las acciones (operadores o transformaciones) posibles.

ENCONTRAR• Una secuencia de operadores que permitan pasar del estado inicial al estado final o a uno de éstos si hay

varios. Espacios de representación. Nociones básicas sobre grafos. Un grafo viene dado por un conjunto de nodos y un conjunto de arcos entre los nodos. Cada arco se defineformalmente 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 sucesión de nodos tales que entre dos de ellos consecutivos existe unarco. Si el último nodo del camino coincide con el primero se trata de un camino cerrado; si no, se denomina camino abierto,en la definición de camino no se tiene en cuenta la dirección de los arcos. Un grafo es conexo cuando entre dos nodoscualesquiera existe al menos un camino. Cuando entre dos nodos existe un único camino el grafo es simplemente conexo; sipara algún par de nodos existen dos o más caminos entre ellos (hay algún camino cerrado) es grafo es múltiplemente conexo. En un grafo no dirigido cualquier camino cerrado recibe el nombre de ciclo, si no tenemos un bucle. Los grafosdirigidos acíclicos (GDA) son aquellos que no contienen ciclos. A los nodos que no tienen hijos se les llama nodosterminales, hojas o extremos. Una de las propiedades más importantes de los grafos dirigidos acíclicos (GDA) es que cadauno de ellos define una relación de orden entre los nodos y viceversa. Un grafo con ciclos no puede representar una relaciónde orden por incumplir la propiedad transitiva. Los GDA conexos que no contienen bucles se denominan poliárboles. Unárbol [dirigido] es un GDA en que cada nodo tiene como máximo un padre; tiene las siguientes propiedades:

• Un árbol no puede contener ciclos ni bucles.• Existe un único nodo, denominado raíz que no tiene antepasados y que es antepasado de todos

los demás.• Cada nodo, excepto el raíz, tiene exactamente un padre.

Page 13: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 13

Ferran Gómez y José M. Godoy

• Para cada nodo existe un camino y sólo uno que lo conecta con la raíz; se conoce como rama. En el caso de los problemas de búsqueda, además se debe de tener en cuenta:

• Nodo: elementos en el espacio de estados que representan situaciones válidas en el dominio. Unnodo terminal que satisface las condiciones del objetivo recibe el nombre de meta.

• Expansión de un nodo: Obtener todos los posibles sucesores en el grafo de búsqueda a través dela aplicación de todos los operadores disponibles relacionados.

• Nodo o estado “cerrado” es aquél que ha sido expandido. • Nodo o estado ”abierto” es aquél en que queda por aplicar algún 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 raíz a lo largo del mejor camino

encontrado hasta el momento. • Factor de ramificación: Número medio de descendientes de un nodo. • Longitud de trayectoria: Número de nodos generados en un camino. • Profundidad: Longitud del camino más corto desde el estado inicial a una meta.

Representación de los problemas de búsqueda: El entorno en el cual se desarrolla el proceso de búsqueda se conoce como el espacio del problema (o derepresentación). Está formado por el conjunto de estados y el conjunto de operadores que permiten avanzar en el proceso deobtención de la solución. Una instancia del problema es un espacio del problema donde se señala cuál es el estado inicial ycuál el final. En el espacio de estado, durante el proceso de búsqueda, cada estado representa una situación que se debeconsiderar como candidata a pertenecer la solución del problema. No todos los operadores tienen que se aplicables a undeterminado estado. El proceso de comprobación de la aplicabilidad de los operadores es lo que se conoce como equiparación. La Estrategia de Control (EC) es la encargada de optimizar el proceso de búsqueda. Partiendo de las condicionesiniciales que definen el problema se realiza un proceso continuo de selección de estados (señalado por EC) de generación desucesores (aplicando los operadores seleccionados por EC) hasta obtener un estado que cumpla las condiciones que definen elobjetivo del problema. La búsqueda surge cuando hay más de un operador aplicable o existe más de una “instanciación” paraun operador concreto; en este caso se hace necesario analizar las diversas alternativas existentes. El proceso seguido por laEC debe ser en su conjunto un método sistemático que explore las distintas alternativas que permitan acercarse a la meta.Para ello debe:

• Seleccionar los nodos a lo largo del grafo de búsqueda generado.• Determinar las reglas aplicables al nodo elegido, considerando que pueden existir diferentes

formas de aplicación 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 búsqueda descrito se denomina grafo de estados. El espacio deestados está formado por todos aquellos estados que podrían obtenerse si se aplicaran todos los operadores posibles a todos losestados que se generen, el grafo de estado es una medida explícita (refleja los caminos explorados) del proceso realizado y elespacio de estados es una medida implícita (el número de estados generados en dicho espacio se utiliza como referencia) queda un idea de la complejidad del problema.

La complejidad de un cálculo es la cantidad de recursos necesarios para efectuarlo. La complejidad temporal serefiere al tiempo necesario para realizar un cálculo, es una medida del número de operaciones realizadas y la complejidadespacial como el conjunto de datos que es necesario recordar en un momento dado. Este razonamiento de búsqueda se conocecomo guiado por los datos o encaminamiento hacia adelante. El estado inicial y todos los que se obtengan sucesivamente apartir de aquél formarán parte de la base de datos de trabajo (BD).

Cómo limitar el Espacio de Búsqueda.El problema de hallar un estado que satisfaga una condición puede formularse como la búsqueda de un grafo que

posea un nodo cuya descripción asociada coincida con el estado objetivo. La búsqueda consiste en obtener un grafo explícitosuficientemente grande para que contenga la solución del problema inicial. El problema crítico son las cantidades de tiempo yespacio necesarias para encontrar la solución, ya que se produce la llamada explosión combinatoria. Para realizar unabúsqueda eficiente se usan los conocimientos heurísticos para dirigir la búsqueda. Para Nilsson, a diferencia de una búsquedaciega en el espacio de estados, basada en generar n estados para luego comprobar si satisfacen o no las condiciones delobjetivo, la búsqueda heurística no consiste en excluir parte de ese espacio “por definición” sino en añadir información,basándose en el espacio estudiado hasta ese momento, de forma que se restringe drásticamente dicha búsqueda.

Búsqueda sin información del dominio.Búsqueda en amplitud.Descripción: Es aquél procedimiento de control en el que se revisa todas las trayectorias de una determinada

longitud antes de crear una trayectoria más larga. Es decir; no se genera ningún nodo de nivel N hasta que no se hayanobtenido todos los de nivel N-1. Para llevar a cabo este método de búsqueda se crea una lista de “nodos por expandir”

Page 14: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 14

Ferran Gómez y José M. Godoy

(conocida por ABIERTA) cuya manipulación se realiza en forma de cola (FIFO); es decir, se da prioridad a los nodos quellevan más tiempo esperando.

Procedimiento:

1- Crear una lista de nodos llamada ABIERTA e inicializarla con un único nodo raíz, al que se le asigna elestado inicial del problema planteado.

2- Hasta que ABIERTA esté vacía 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 aplicación:• 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 ramificación y de la profundidad de la solución. Si el número medio desucesores es n y la solución se alcanza en el nivel p, la complejidad es de orden O(np).• Espacial: Dado que antes de abandonar la generación de todos los sucesores de un nivel se deben recordar(en ABIERTA) todos los nodos de dicho nivel, la complejidad espacial es también de orden O(np).

Análisis:

• Ventajas: Si el problema tiene solución este procedimiento garantiza que se encuentra y si hay variasmetas encuentra la de menor coste (profundidad).• Desventajas: Si el nivel de profundidad es menor que el nivel de ramificación se expanden muchos nodosinútilmente. Su principal desventaja es el espacio de almacenamiento requerido (prácticamente inviable).

Búsqueda en Profundidad.Descripción: En cada nivel, a lo largo del proceso de búsqueda, se selecciona un único nodo para ser expandido.

Sólo se considera un camino, una rama del árbol. El funcionamiento corresponde a una pila. El objetivo es recorrer el grafosiguiendo el camino de máxima pendiente con respecto al parámetro profundidad. Ante la posibilidad de que el camino seade longitud infinita, o demasiado largo, se necesita establecer un límite de profundidad (lp). Se debe estudiar también laposibilidad de alcanzar una vía muerta o punto sin retorno.

Procedimiento:1. Crear una lista de nodos llamada ABIERTA e inicializarla con un único nodo raíz, es estado inicial.2. Hasta que se encuentre una meta o se devuelva un fallo realizar las siguientes acciones:

• Si ABIERTA está vacía, 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 tendrán punteros a él. Introducir los sucesores en ABIERTA.

• Si algún sucesor es meta abandonar el proceso iterativo devolviendo el camino solución.• Si algún suceso de m se encuentra en un callejón sin salida eliminarlo de ABIERTA.

En el caso de grafos se deben de evitar duplicados comprobando, para cada nuevo nodo generado, si ya existía en elgrafo de búsqueda. Si a un nodo se llega desde varios caminos se escoge el de menor profundidad (como solución decompromiso para evitar comprobaciones se coge como más profundo el último nodo de la pila).

Complejidad:

• Temporal: Igual que en Búsqueda en Amplitud.• Espacial: Como sólo es necesario guardar constancia del camino construido hasta el momento, lacomplejidad para un camino de longitud p es dicho valor más el factor de ramificación ( r ); es decirO(p+r).

Análisis:

• Ventajas: Valor reducido de su complejidad espacial. Cuando hay múltiples soluciones la eficiencia delmétodo aumenta.• Desventajas: El tiempo requerido, si el algoritmo avanza por una rama que no llevaría a solución, ademássi no se guarda constancia del camino recorrido se puede caer en ciclos y el proceso no acabaría. Elproblema es pues determinar lp.

Búsqueda con Retroceso.

Page 15: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 15

Ferran Gómez y José M. Godoy

Descripción: Cada iteración considera sólo un sucesor, restringiendo el espacio de estados considerado. Se eliminande dicho espacio los nodos que sean una “vía muerta”. Esta estrategia realiza un recorrido en profundidad del grafo debúsqueda en la que en lugar de hablar de expansión de nodos se habla de generación de aquellos. Es decir, si un nodoexaminado no es meta o punto sin retorno, sólo se genera uno de sus sucesores, ahorrándose por lo tanto el coste que suponela creación simultánea de todos ellos.

Procedimiento:

1. Crear una lista de nodos llamada ABIERTA e inicializarla con un único nodo raíz que contiene el estadoinicial del problema planteado.

2. Hasta que se encuentre una meta o se devuelva fallo realizar las siguientes acciones:

• Si ABIERTA está vacía terminar con fallo.• Seleccionar el primer nodo de ABIERTA, denominarlo m.• Si la profundidad de m es igual a lp o si no tiene más 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

señalar que la rama ha sido considerada.• Si m’ es meta, abandonar, devolviendo el camino solución.• Si m’ se encuentra en callejón sin salida eliminarlo de ABIERTA.

Complejidad:

• Temporal: El número de operaciones para un factor de ramificación n y una solución de nivel p es deorden O (np ).• Espacial: Como sólo es necesario recordar el camino recorrido el espacio es de orden O( p).

Análisis:

• Ventajas: El poco espacio de almacenamiento ya que sólo hay que recordar en cada instante un sucesordel nodo seleccionado.• Desventajas: Desconocimiento del límite de exploración. La falta de orden previo de recorrido de lossucesores de un nodo, quedando la eficiencia temporal limitado por su carácter fortuito.

Otros métodos derivados.Búsqueda en profundidad progresiva.

Consiste en realizar una búsqueda en profundidad por niveles, de forma que el límite de exploración aumenta unaunidad por cada nivel analizado. Esta estrategia es la más eficiente dentro de las estrategias no informadas que son capacesde encontrar la solución mejor de menor coste existente (óptima). Su complejidad temporal es de orden O(np) y la espacial deorden O(p).

Búsqueda Bidireccional

Descripción: Cuando además de la descripción del problema, se parte de una meta explícita, existe un planteamientoalternativo que resulta de la combinación de dos grafos de búsqueda diferentes. Se realiza simultáneamente la búsqueda de lameta (encaminamiento hacia adelante) y la búsqueda del estado inicial a partir de un estado solución (encaminamiento haciaatrás) hasta que ambos procesos confluyan en algún estado. Para garantizar la convergencia al menos uno de los procesos hade ser en amplitud.

Procedimiento (Búsqueda Bidireccional en Amplitud).

1. Inicializar dos grafos de búsqueda. En el primero (A.1), el nodo raíz será el estado inicial del problemaplanteado, y el segundo (A.2) tendrá como raíz la meta de dicho problema.

2. Inicializar el límite de exploración lp=1.3. Continuar la búsqueda en (A.1) hasta lp.4. Continuar la búsqueda en (A.2) hasta lp.5. Comprobar si alguno de los estados generados coinciden, si es así devolver la solución, o volver al paso

2.Complejidad

• Temporal: El número de operaciones para un factor de ramificación n y para una solución situada en elnivel p es del orden O(np/2).• Espacial: La condición impuesta para garantizar la convergencia permite afirmar que el espacio dealmacenamiento es del orden O(np/2).

Análisis:

• Ventajas: La división del factor exponencial.

Page 16: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 16

Ferran Gómez y José M. Godoy

• Desventajas: Límite de exploración, el número de iteraciones antes de cambiar el sentido de la búsquedaes un parámetro crítico para la eficacia de este método. Otro inconveniente es el de no disponer de algúncriterio adicional para poder ordenar la selección de nodos meta a lo largo del proceso.

Reducción del problema.

Dentro del razonamiento dirigido por las metas se distinguen dos situaciones. Una en que cada operador aplicado aun estado produce un único estado nuevo, en la que se adopta la representación de espacio de estados; y otra en que al aplicarun operador se generan una serie de subproblemas, cada uno de los cuales será en general más sencillo que el problemaoriginal, estos problemas se representan mediante el esquema conocido como reducción del problema. El objetivo es dividir elproblema en subproblemas hasta alcanzar estados que tengan solución conocida.

Los problemas que puedan descomponerse tiene dos tipos de operadores aplicables, aquéllos que propiamenterealizan la descomposición y el resto, que permite, por ejemplo, reconocer los estados meta. A diferencia del esquema deproducción, se supone que la descomposición de un problema permite tratar los subproblemas de una forma independiente(por lo tanto simultánea), cada movimiento genera elementos en la Base de Datos de trabajo (BD) que pueden tratarse a parte,como si cada uno de ellos fuera una nueva BD. La forma de representación más adecuada para estos problemas son los grafosY/O o árboles Y/O, dependiendo del planteamiento del problema.

Un árbol Y/O tiene como raíz el problema completo, sus nodos serán subproblemas o la submeta, se conectan entresi por medio de dos tipos de enlaces. Los enlaces ‘O’ representan problemas que pueden resolverse de varias formasalternativas. Los enlaces ‘Y’ reflejan situaciones que pueden descomponerse en una serie de etapas o subproblemas; de formaque el problema inicial queda resuelto cuando se ha obtenido la solución de todas sus partes. Los enlaces tipo ‘Y’ serepresentan por medio de una línea arqueada que conecta todos los nodos implicados, los nodos terminales representan unproblema básico (trivial) o subproblemas indivisibles. La solución encontrada en los grafos Y/O, grafo solución, puede estarformada por varios nodos terminales y no por un único nodo.

Algoritmo general de Búsqueda en Grafos.

Un método útil para resolver el problema de la búsqueda el grafos es mantener a lo largo del proceso dos listas,llamada ABIERTA y CERRADA. La primera permite reanudar un camino abandonado previamente. La lista CERRADAsirve como registro de los nodos elegidos a los largo de todo el grafo de búsqueda.

Procedimiento general de Búsqueda en Grafos.

1. A lo largo del camino se crean dos grafos de exploración, uno explícito, que coincide con el grafo de búsqueda, yotro implícito, que se obtiene recorriendo los punteros que conducen hasta la meta desde el estado inicial. Crearun grafo de exploración G que consiste en un único nodo con la descripción del problema. Crear una lista denodos, ABIERTA e inicializarla con dicho nodo.,

2. Crear una lista de nodo llamada CERRADA que esté vacía.3. Hasta encontrar la meta o devolver fallo:

• Si ABIERTA está vacía terminar con fallo; si no continuar.• Eliminar el primer nodo de ABIERTA, llamarlo m e introducirlo en CERRADA.• Expandir m

• Generar el conjunto M de sucesores, que no sean antecesores e introducirlos como tales en G. • Si algún miembro de M es meta abandonar el proceso, devolviendo la solución. • Poner un puntero a m desde los nuevos nodos generados. Incluirlos en ABIERTA.

• Para cada nodo de M que estuviese en CERRADA, decidir para cada uno de sus descendientes sise redirigen los punteros o no.

• Reordenar la lista ABIERTA aplicando algún criterio establecido previamente.

Page 17: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 17

Ferran Gómez y José M. Godoy

4. BÚSQUEDA HEURÍSTICA.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 métodos heurísticos tratan de resolver problemas eficientemente, obteniendosoluciones satisfactorias en el dominio de la aplicación. Esto métodos no garantizan encontrar la solución óptima delproblema pero sí obtienen aproximaciones con menor esfuerzo. El origen de estos métodos está en el análisis delcomportamiento humano. Los problemas que son objeto de estas técnicas son de dos tipos:

1. Problemas de solución parcialmente conocida.2. Problemas intratables de solución conocida, aquellos que no se pueden resolver completamente por la

complejidad implicada, pero se conoce el método de solución.

Dominio propio: Los métodos heurísticos se utilizan para obtener soluciones útiles en problemas sujetos alfenómeno de la explosión combinatoria. Los problemas pueden ser de dos tipos, de tipo P son aquellos que pueden serresueltos mediante un procedimiento de complejidad polinómica; por otro lado los problemas NP, en los que todos losalgoritmos 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 llamadasfunciones de evaluación heurística que ayuden a seleccionar el estado más prometedor en el espacio de búsqueda.

Conocimientos de control.

La clave de los procesos heurísticos de búsqueda es el ahorrar tiempo y/o espacio de almacenamiento evitandorecorrer muchos caminos inútiles introduciendo información adicional que guíe el recorrido realizado.

Reglas de Control Heurístico. Una forma de reducir la complejidad del proceso es introducir reglas de controlheurístico en el proceso de búsqueda. Estas pueden ser de dos tipos en función del conocimiento reflejado. El primero serefiere al conocimiento heurístico dependiente del dominio, utilizado para seleccionar alguna de las situaciones alcanzadas yla siguiente acción aplicable sobre ella. La segunda fuente utilizada en el control del proceso de búsqueda es el conocimientogeneral 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 sedevuelve el camino solución. Este conocimiento es independiente del dominio de aplicación. Por otro lado existe unconocimiento dependiente del dominio de aplicación (heurístico), que se utiliza para determinar cuándo se ha alcanzado lasituación objetivo.

Funciones de Evaluación Heurística. Estas funciones son una aplicación del espacio de estados sobre un espacionumérico f (estadoj )=nj; siendo nj el valor numérico que refleja en qué grado se considera prometedor un estado en labúsqueda de la solución.

El conocimiento del dominio reflejado por las funciones de evaluación heurística (fev) se obtiene a través delestablecimiento de modelos simplificados del modelo original. Suelen ser funciones de evaluación estáticas que midenfactores que determinan la proximidad del objetivo. La distancia entre un nodo cualquiera y la meta se conoce como distanciade Manhattan. El grafo de búsqueda se recorre en función de un objetivo que consiste en maximizar o minimizar el valorindicado por dichas funciones, teniendo en cuenta que dicho valor debe reflejar la cercanía relativa con respecto a la metabuscada. Evidentemente cuanto mejor indique la función heurística la cercanía real a la meta, menor será el grafo debúsqueda expandido. Una condición que debe de cumplir fev es que su valor máximo (o mínimo) debe alcanzarse al seraplicada a un estado meta.

Se debe de valorar si el coste asociado al cálculo de la fev compensa al coste de realizar el proceso de búsqueda sindicho conocimiento o con otras funciones menos exactas pero más sencillas. Estas funciones son óptimas cuando soninvariantes con respecto a un movimiento óptimo desde cualquier estado a lo largo del estado de búsqueda.

Planteamiento del problema.

Se parte del esquema de búsqueda como tarea genérica en Inteligencia Artificial; utilizando el procedimientogeneral de búsqueda en grafos que permite aplicar directamente la información proveniente del dominio. Dicho algoritmo seconoce como método de búsqueda el primero el mejor. La eficiencia del problema depende del criterio de ordenación deABIERTA. Una forma inmediata de aprovechar las fev es aplicarlas sobre los nodos generados a lo largo del proceso debúsqueda, de manera que ordene los nodos en ABIERTA según el valor de la función heurística utilizada. La función deevaluación heurística (fev) mide la cercanía estimada al nodo meta, es un valor inexacto ya que la información disponiblehasta el momento en que se toma la decisión es incompleta. Por tanto, el control realizado no determina con seguridad cuál es

Page 18: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 18

Ferran Gómez y José M. Godoy

el mejor nodo pero sí que ayuda a reducir el número de nodos considerados (complejidad espacial) y el tiempo empleado(complejidad temporal).

Una estrategia irrevocable.Existe la posibilidad de encontrar problemas para los que una estrategia irrevocable sea adecuada. La dificultad de

aplicar este tipo de estrategias está en la absoluta dependencia del criterio de ordenación del espacio de búsqueda, ya que debede ser suficientemente robusto como para no reconsiderar una decisión tomada.

Método del gradienteDescripción: También conocido como búsqueda en escalada, se trata de buscar el camino con máxima pendiente, el

parámetro que la define es la fev aplicada, que llamaremos f.Procedimiento general:

1. Denominar m al estado inicial del problema y asignar m a una variable llamada elegido.2. Hasta que se encuentre una meta o se devuelva fallo realizar las siguientes acciones:

2.1. Expandir m creando el conjunto de todos sus sucesores.Para cada operador y forma de aplicación:

a. Aplicar el operador a m generando un nuevo estado.b. Si nuevo es meta salir devolviendo dicho estado.c. Si f(Nuevo)es mejor que f(elegido), asignar a elegido el valor de nuevo.

2.2 Si f(elegido)#f(m) asignar m = elegido; sino devolver fallo.

El paso 2.2 comprueba que alguno de los sucesores expandidos tiene un mejor valor de la fev aplicada, condición quedebe cumplirse en todo momento ya que no se pueden reconsiderar la decisiones tomadas.

En pseudocódigo sería:fun gradiente (m: nodo)

elegido ß mfallo ß falsomientras (m#meta) y (fallo#cierto) hacer

para cada sucesor ‘n’ de ‘m’ hacersi n= meta entonces

devolver (n)sino

si fev(n) mejor que fev (elegido) entonceselegido ß n

fsifsi

fparasi fev(elegido)#fev(m) entonces

m ß elegidosino

fallo ß ciertofsi

fmientrasffun

Campos de aplicación: Teoría de juegos, problemas de máximos y mínimos locales en el campo de análisisnumérico, situaciones en las que siempre es posible aplicar cualquiera de los operadores disponibles (conmutabilidad), ya queen estos casos siempre se llega a la meta, aunque en el peor de los casos con un retardo.

Análisis.

Ventajas: La principal es su sencillez. Sólo se precisa almacenar el estado alcanzado (elegido) en elproceso de búsqueda. En cada iteración elegido será el que tenga un mejor valor de f, no se necesitarecordar cuál es el camino recorrido.

Desventajas: La dependencia de la correcta definición de f, exige que la función sea los másinformativa posible, y sencilla de calcular

Estrategias de exploración de alternativas.

Las estrategias de búsqueda heurística más conocidas y utilizadas son las que realizan una exploración dealternativas en el espacio de búsqueda.

Búsqueda Primero el Mejor.

Descripción: Consiste en recorrer el grafo de búsqueda eligiendo en cada momento el nodo que tenga un mejor valorpara una determinada función heurística, f. Cuando el camino se aleje de la meta se pueden retomar caminos de exploración

Page 19: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 19

Ferran Gómez y José M. Godoy

abandonados previamente. La finalidad es encontrar el camino de menor coste, por lo que la función f debe medir la distanciaa la meta.

Procedimiento de búsqueda Primero el Mejor(PM).1. Crear un grafo de exploración G que consista en un único nodo que contiene la descripción 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á vacía.3. Hasta que se encuentre una meta o se devuelva fallo realizar las siguientes acciones:

3.1 Si ABIERTA está vacía 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 algún sucesor es meta abandonar el proceso iterativo y devolver el camino solución,

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 tenía 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 podríanver reducido su valor.

En pseudocódigo es:

fun primero_el_mejor (m: nodo)crear (ABIERTA)crear (CERRADA)meter (ABIERTA,m)fallo ß falsomientras (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 entoncesDevolver_camino_solución (n)

si no_está (ABIERTA, n) y no_está (CERRADA, n) entoncesn.valor ß fev (n)n.padre ß mmeter (ABIERTA, n)

sinosi n.valor es pero que fev(n) entonces

n.valor ß fev (n)n.padre ß msi está (CERRADA,n) entonces Recalcular_Descendientes (n)fsi

fsifparasi Abierta = Ø entonces

fallo ß ciertofsi

fmientrasffun

Análisis: Ventajas: Permite evitar el problema de los mínimos locales que sufre el método del gradiente,

además asegura que tarde o temprano se encontrará la solución mínima (o máxima).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 unacierta profundidad se tendrá un menor coste hasta la meta, aunque en realidad el camino total será peor.

Existe una variante de este método llamada búsqueda en haz que pretende acelerar el proceso de búsquedaampliando el rango de estados que son considerados simultáneamente como mejores. En cada momento se mantienen dosestructuras de datos, una contiene los estados que pertenecen al haz de búsqueda actual y otra agrupa a los posibles sucesores.

Page 20: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 20

Ferran Gómez y José M. Godoy

Contra más informada sea la función que determina la validez de un nodo, más estrecho será el haz y más eficiente será elproceso de búsqueda realizado. En general este método requiere menos recursos.

Algoritmo A*.

Descripción. Es el mejor método de búsqueda del tipo primero el mejor que sirve para resolver el problema queconlleva el no considerar el camino recorrido hasta un momento dado. La clave del método está en ampliar la definición de lafunción fev para que tenga en cuenta el coste del camino recorrido, resultando la expresión:

f(n)=g(n)+h(n)siendo:

g(n) Coste real del camino de menor coste encontrado hasta el momento desde la raíz delgrafo de búsqueda G hasta el nodo en cuestión. Es un estimador del coste real del caminoóptimo que se identifica por g*(n).h(n) estimador heurístico del coste del camino óptimo desde el nodo n a una meta. El costereal lo calcula la función h*(n).f(n) es un estimador del coste total del camino óptimo de una solución que pase por elnodo n. El valor real de dicho camino lo devuelve la función inicialmente desconocida,llamada f*(n).

Procedimiento A*.

1. Crear una lista de nodos llamada ABIERTA e inicializarla con un único nodo raíz que contiene el estadoinicial del problema planteado. Llamar a este elemento r y asignarle g( r )=0.

2. Crear una lista de nodos, CERRADA, que inicialmente estará vacía.3. Repetir hasta que se encuentre la meta o se devuelva fallo:

3.1 Si ABIERTA está vacía terminar con fallo.3.2 Eliminar el nodo de ABIERTA que contenga un valor mínimo de f, llamar a este nodo m e

introducirlo en CERRADA.3.3 Si m es meta abandonar el proceso iterativo devolviendo el camino solución.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 mb. 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, añadirlo 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 elcamino de menor coste encontrado a n desde la raíz; 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 encontradoen dicha lista y realizar las siguientes acciones:

Si (3.1.c) no se cumple, abandonar (d), en caso contrario propagar el nuevomenor coste g(n’) (por lo que se actualizarán sus valores de f correspondientes) asus descendientes realizando un recorrido en profundidad de éstos, empezandopor 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 seencuentre un ni que no tenga más sucesores calculados o se llegue a un nodoen que ya ocurra que g(ni)=g(ni’); en cuyo caso se habría producido un ciclo ytambién habría que terminar la propagación.

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 queconduzca hacia el nodo n’ (mejor camino desde la raíz encontrado por elmomento) y se continua el proceso de propagación.

e. Si n’ no estaba en ABIERTA o en CERRADA, calcular h(n) y f(n)=g(n’)+h(n’),introducirlo en ABIERTA y añadirlo a la lista de sucesores de m.

Relaciones con otros métodos de búsqueda:

1. Si ∀n ∀m (h(n)=0)^(c(m,n)=1) entonces A* se convierte en un proceso de búsqueda en amplitud.2. Si ∀n (h(n)=0 entonces A* se convierte en el método denominado procedimiento de coste uniforme; que

es una variación de la búsqueda en amplitud donde lo que se busca no son caminos de la menor longitudsino de menor coste.

Page 21: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 21

Ferran Gómez y José M. Godoy

En pseudocódigo:

fun Procedimiento_A* (raíz: nodo)crear (ABIERTA)crear (CERRADA)meter (ABIERTA, raíz)fallo ß falsoraíz.g ß 0mientras (m # meta) y (fallo # cierto) hacer

sacar (ABIERTA, m)meter (CERRADA, m)si m = meta entonces

Devolver_Camino_Solución (n)fsi

para cada sucesor ‘n’ de ‘m’ hacerg(n) ß g(m) + coste (m,n)si está (ABIERTA,n) entonces

si n.g es peor que g(n) entoncesn.g ß g(n)n.f ß g(n)+h(n)n.padre ß m

fsisino

si está (CERRADA, n) entoncessi n.g es peor que g(n) entonces

Recalcular_Descendientes (n)fsi

fsifparasi ABIERTA=Ø entonces

fallo ß ciertofsi

fmientrasffun

Propiedades formales.1. A* es un método completo de búsqueda incluso para grafos infinitos. Es decir, termina encontrando la solución

cuando esta exista para cualquier tipo de grafos.2. Es un método admisible, ya que no sólo encuentra la solución sino que la que encuentra es óptima.3. Si la función heurística h es monótona y consistente el algoritmo encuentra un camino óptimo para todos los

nodos expandidos. Una función es monótona si cumple:h n k n n h n n n( ) ( , ' ) ( ' ) ( , ' )≤ + ∀

es decir, si el valor de la función nunca decrece a lo largo de un camino desde la raíz, entonces se puedeafirmar que cuando el algoritmo expande un nodo objetivo, el camino encontrado es el de menor coste a unobjetivo.

4. Entre todos los algoritmos que usan una función heurística consistente h(n) y que encuentran una soluciónóptima, A* expande el menor número de nodos.

Análisis.Ventajas: A partir de las propiedades anteriores, se puede decir que el algoritmo A* es un método completo,admisible y que encuentra la solución óptima para funciones de evaluación heurística consistentes conrespecto a la longitud de la solución.Desventajas: La propiedad de admisibilidad hace que el algoritmo gaste mucho más esfuerzo en discriminarentre caminos prácticamente iguales, por lo que es más realista buscar soluciones dentro de unos márgenesacotados de error. Un inconveniente es el espacio requerido.

Una opción para reducir el espacio (requerido por mantener ABIERTA) es realizar un planteamiento semejante almétodo de búsqueda en haz, llamado A* en profundidad progresiva (A*-P).

Page 22: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 22

Ferran Gómez y José M. Godoy

Método AO*.

Descripción: Es una generalización del algoritmo A* para el caso de grafos Y/O. Sigue cumpliendo la propiedad deser una algoritmo admisible, es decir, encuentra una solución óptima siempre y cuando la función heurística h de estimaciónde distancia al objetivo siga un criterio optimista de valoración (devuelva un valor menor o igual que la distancia realexistente). Para obtener un grafo solución de coste mínimo hay que tener en cuenta que su coste depende de la expansión delos 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 obtención 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 raíz m. Estimar la distancia heurística a lameta de ésta mediante h(m).

2. Repetir hasta que m se considere resuelto o hasta que su coste supere un cierto valor coste - máximo2.1 Seguir los enlaces marcados que señalan el mejor grafo parcial de la solución obtenido hasta el

momento mientras no se alcancen los extremos del grafo. Escoger alguno de los extremos, quese llamará n.

2.2 Expandir n generando todos sus sucesores s. Si no tiene ninguno, asignarle el valor coste-máximo.

2.2.1 Para todo s si es un nodo terminal marcarlo como resuelto, asignarle h(s)=0; en casocontrario asignarle h(s).

2.3 Crear un conjunto S sólo con los nodos s.2.4 Repetir hasta que S se vacíe.

2.4.1 Sacar de S algún nodo s’ que no tenga descendientes en S2.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 deotro enlace saliente de s’). Si todos los nodos del enlace marcada son terminales,marcar también s’ como resuelto.

2.4.3 Si en el paso anterior se ha hecho que s’ sea resuelto o si h(s’) ha cambiado, añadirsus antecesores a S y continuar el proceso recursivo de actualización de valores de losnodos.

El algoritmo O/Y repite dos operaciones, una hacia abajo en la que encuentra el grafo solución parcial y otra haciaarriba de revisión de costes, con establecimiento de nuevos subgrafos parciales menos costosos desde cada nodo, si esnecesario. La clave del algoritmo está en la búsqueda (hacia adelante) de las formas de expandir el mejor grafo parcial de lasolución encontrado hasta el momento; para lo cual, se expanden los nodos frontera del mismo y se realiza una revisión(hacia atrás) 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 función de sus sucesores el valor previo de h(s)

nunca supera al calculado en función de aquéllosentonces el algoritmo es admisible y encuentra el camino óptimo.

Búsqueda con adversariosEl objetivo de los contrincantes es ganar la partida. El número de movimientos posibles que deben considerarse para

garantizar una estrategia ganadora es generalmente intratable, ya que para cada jugada propia deben estudiarse todas las deloponente, surgiendo el problema de la explosión combinatoria en la mayoría de los problemas. Por ello se deben aplicarfunciones de evaluación heurística que evalúen la ventaja relativa que supone el alcanzar una determinada situación. Dada laimposibilidad de generar el árbol que represente todas las jugadas, se realiza una simplificación del proceso en la que sedetermina el estado (ganador, empate o perdedor) de los nodos hasta un determinado límite de profundidad en el que el valordel nodo es el valor devuelto por la aplicación de la función de evaluación heurística utilizada. El nivel más profundo seconoce como frontera de la exploración.

Estrategia MINIMAX.

Descripción: Es un esquema genérico de búsqueda para situaciones en la que el objetivo es ganar una partida en laque participan dos adversarios que realizan movimientos alternativos en el juego. La efectividad de esta estrategia reside en lafunción heurística aplicada, encargada de medir la ventaja relativa de realizar las distintas jugadas. El método consiste enprever el máximo número de jugadas posibles y actuar en consecuencia. Para ello recorre un árbol Y/O llevando a cabo suelección pensando que el adversario va a realizar la mejor de las opciones posibles cuando a él le toque mover. Los nodos del

Page 23: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 23

Ferran Gómez y José M. Godoy

árbol son de dos tipos MAX y MIN, cada uno de éstos toma las decisiones de uno de los contrincantes. El jugador MAXintenta maximizar el valor de la función fev, por otro lado, los nodos MIN reflejan el modo de actuar que intenta minimizarla fev.

Para poder etiquetar los nodos con un valor fev, se recorre el árbol hasta los nodos hojas (siempre y cuando el árbolsea tratable) o hasta un determinado límite de profundidad. Llegados a este límite, se aplica una fev heurística al estado de lapartida representado por el nodo (si es un nodo hoja se asigna: ganador=1, perdedor=-1 y empate=0). Los valores de fevobtenidos se van subiendo por el árbol aplicando a cada nodo padre el valor máximo o mínimo del valor de sus hijos(dependiendo si es un nodo a jugar por MAX o por MIN), hasta llegar al nodo actual.

El método MINIMAX se comporta como un procedimiento de búsqueda con retroceso con una frontera deexploración calculada. El nivel de exploración depende de diversos factores entre los que se pueden destacar lascaracterísticas 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 límite de profundidad, devolver mmv(m)=f(m).2. Generar los sucesores de m.

2.1 Inicializar la variable mejor con el valor mínimo 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 funciónque 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 ramificación n contiene np nodos terminales que seránanalizados por el procedimiento MINIMAX Si de antemano se pudiera saber qué dos estrategias son compatibles, cadaestrategia se expandiría alrededor de np/2, desgraciadamente hay que realizar un número indeterminado de intentos antes deencontrar dos estrategias compatibles, por lo que dicho límite rara vez es alcanzable.

Análisis:

Ventajas: Se trata de un método general y sencillo.Desventajas: Es poco eficiente al ser demasiado exhaustivo.

Estrategia de poda a-b

Descripción: Se trata de una modificación del método MINIMAX que permite ahorrarse el recorrido de caminosinútiles del árbol de búsqueda. Para ello recorre el árbol en profundidad (hasta un valor prefijado) y transmitiendo a losniveles superiores del árbol la información obtenida hasta evaluar una hoja, con el propósito de poder abandonar laexploración de alguna ramas. El método de poda α−β se encarga de llevar una anotación para saber cuándo se puede realizaruna ‘poda’ en el árbol de búsqueda. Lo que hace es pasar en cada llamada recursiva a un nodo hijo, dos valores (α y β) demanera que α marca la cota inferior de los valores que se van a ir buscando en la parte del árbol que queda por explorar,siendo β la cota superior de esos mismos valores. Si hay algún momento en que el valor de α es mayor o igual al de β, notendrá sentido seguir con la búsqueda realizándose una poda α si estamos en un nodo MAX o β si el nodo es MIN.

Procedimiento:

alfabeta (m, profundidad, jugador, límte_actual, límite_siguiente)1. 1. Si m no tiene sucesores o se considera alcanzado el límite de profundidad, devolver αβv(m)=f(m).2. Generar los sucesores de m.

2.1 Para cada sucesor n de m:2.2.1 αβv(n)=Alfabeta(n, profundidad+1, C(jugador), -límite_siguiente, -límite_actual);

siendo C(jugador) una función que cambia de jugador.2.2.2 límite_siguiente= max[-αβv(n),límite_siguiente]2.2.3 Si límite-siguiente ≥ límte_actual entonces abandonar este nivel y devolver

límite_siguiente3. Una vez analizados recursivamente todos los sucesores de un determinado nivel, se devuelve el que se ha

obtenido un mejor valor.αβv(m) = límite_siguiente

La primera llamada al procedimiento se realiza tomando como α el máximo valor que puede tener f(n) y como valorβ el valor mínimo de la misma.

Complejidad:

Suponiendo que el árbol de búsqueda está perfectamente ordenado (las ramas de la izquierda tiene los mejoresvalores de α y de β para discriminar el resto de los caminos) entonces el número de nodos que son evaluados es:

Page 24: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 24

Ferran Gómez y José M. Godoy

1. Si p es un número par: 2np/2-12. Si p es un número impar: n(p+1/2)+n(p-1)/2-1

En el peor de los casos se tendrían que examinar todos los nodos terminales y su complejidad sería la misma que elmétodo MINIMAX.

Análisis:

Ventajas: Método eficiente que reduce considerablemente el número de nodos expandido y permite afrontarproblemas supuestamente intratables.Desventajas: Dependencia excesiva del ordenamiento de los nodos del árbol que influye en las expansionesde los nodos.

Análisis Medios - Fines

Este método se definió inicialmente en el contexto llamado Solucionador General de Problemas (GPS). Consistebásicamente en distinguir cuales son los medios disponibles (operadores) para la resolución de un problema, y cuales son losfines (estados meta). Se basa en analizar constantemente las diferencias entre un estado del problema y la meta deseada. Unvez detectadas, se accede a una tabla en la que aparecen ordenadas en función de su importancia en el dominio. En cada filase indican los operadores disponibles para reducir la diferencia correspondiente a dicha fila. Puede ocurrir que el nodoelegido no sea directamente aplicable al problema y que se deba establecer una submeta en la que el medio lo sea. Por otrolado, dicho operador puede que no elimine todas las diferencias y deba iniciarse otro proceso que elimine las diferenciasresultantes de la aplicación del operador anterior.

Page 25: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 25

Ferran Gómez y José M. Godoy

5. LÓGICAEl uso de la lógica en la representación del conocimiento.

El formalismo elegido para la representación de los problemas es una de las principales áreas de investigación en laIA. La riqueza expresiva de los formalismos de representación del conocimiento y su realización computacional determinanla eficiencia y la corrección de las soluciones obtenidas. Para valorar la eficiencia de un método se debe de tener en cuentados capacidades del mismo: la de representar todo el conocimiento requerido y la de disponer de un método de obtención delas conclusiones requeridas por el conocimiento (capacidad de razonamiento o de inferencia). La utilización de la lógicacomo formalismo de representación cubre ambos aspectos. La utilización de la lógica en la representación del conocimiento(RC) tiene como ventajas: su riqueza expresiva y su semántica perfectamente definida.

Lógica de proposiciones.

La lógica de enunciados (proposiciones o cálculo proposicional) permite estudiar la validez formal de losrazonamientos mediante frases formadas por enunciados simples. Una fórmula cualquiera puede ser válida, satisfactible oinsatisfactible.

Una demostración en el sistema axiomático consiste en, dadas una serie de fórmulas válidas de las que se parte,axiomas, obtener un conjunto de nuevas fórmulas válidas mediante las reglas de transformación. Proceso que se repite hastaque se genere la conclusión buscada. La regla de transformación básica de los procesos deductivos de la lógica clásica es elllamado modus ponens, que expresa lo siguiente: “Si S y S à R son fórmulas válidas entonces R también lo es”, es decir todorazonamiento puede reducirse a la forma de un condicional (denotada por RE à). También está la conocida por Teorema dela Deducción, que nos dice que si en un cálculo existe una demostración de una fórmula R (conclusión) a partir de unafórmula S (premisa), entonces también existe una demostración de S à R ( se denota por RI à).

El cálculo de proposiciones basado en la regla de resolución permite comprobar la deducibilidad de una fórmulacualquiera a partir de unas premisas dadas. Para aplicar la regla de resolución a un conjunto de premisas éstas se tienen queponer primero en forma clausulada. Una cláusula es un disyunción de variables proposicionales negadas o sin negar. Se diceque una sentencia está en forma clausulada cuando consiste en una conjunción de cláusulas.

Procedimiento:

• Eliminar los condicionales y bicondicionales :

p q p q

p q p q q p

→ ≡ ¬ ∨

↔ ≡ → ∧ →(( ) ( ))• Introducir las negaciones, para que sólo afecten a las variables proposicionales.• Pasar a forma clausulada aplicando la distributiva para la disyunción.

La sentencia obtenida está en forma clausulada y se puede simplificar:

• Si hay dos o más cláusulas idénticas se pueden eliminar, dejando sólo una.• Si aparece una cláusula con un literal y su negación se puede eliminar.• Si en una cláusula aparece el mismo literal varias veces, sólo hay que escribirlo una vez.

La regla de resolución se puede aplicar a dos premisas en forma de cláusulas denominadas generatrices, quecontienen una variable proposicional común sin negar en una y negada en otra. La resolución consiste en construir otracláusula, denominada resolvente, formada por la disyunción de todas las variables proposicionales de las generatrices menosla común. Una estrategia posible para validar un proceso deductivo es realizar un proceso exhaustivo de aplicación de la reglade resolución entre todas las cláusulas hasta encontrar la cláusula vacía. El cálculo de proposiciones basado en la regla deresolución cumple las tres propiedades básicas de un formalismo lógico: es consistente, completo y decidible.

Lógica de predicados.

Cuantificadores. El cuantificador universal indica que todos los elementos del universo del discurso cumplen una propiedad. ElCuantificador Existencial indica que algún elemento del universo cumple con la propiedad. Existen relaciones entre ambosque 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 cálculo de predicados es necesario introducir nuevas reglas de inferencia para tratar las expresionescuantificadas. En todas las reglas de inferencia se supone que: • P es una variable metalingüistica que representa cualquier predicado. • a 1, a2,…an son símbolos cualesquiera de nombres de individuo (parámetros).

Page 26: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 26

Ferran Gómez y José M. Godoy

• Regla de eliminación del cuantificador universal (RE ∀ ) ∀ x1, x2,…xn P(x1, x2,…xn)

P(a1, a2,…an)

• Regla de introducción del cuantificador universal (RI ∀ ) P(a1, a2,…an)

∀ x1, x2,…xn P(x1, x2,…xn)

Para que esta regla sea válida los parámetros a1, a2,…an se consideran constantes cualesquiera; es decir, aunqueseñales a elementos concretos de una especie, su valor es indeterminado y por tanto puede ser ocupado por cualquierindividuo de dicha especie.

• Regla de eliminación del cuantificador existencial (RE ∃ ) ∃ x1, x2,…xn P(x1, x2,…xn)

P(a1, a2,…an)

• Regla de introducción del cuantificador universal (RI ∃ ) P(a1, a2,…an)

∃ x1, x2,…xn P(x1, x2,…xn)

Deducción automática: Resolución

La resolución es un método sistemático de validación de fórmulas que pertenecen al cálculo de predicados de primerorden. Este procedimiento puede no terminar, pero a pesar de ello, existe un número importante de fórmulas decidibles, loque permite enmarcarlo dentro de los métodos de deducción automática. Estas técnicas son aplicables a la verificación formalde programas y sirven de base para la formulación de intérpretes de sistemas de programación. Forma clausulada.

Una condición básica para poder aplicar el método de resolución es que las premisas estén en forma clausulada,conjunción de disyunciones (Forma Normal de Skolem o Forma Normal Conjuntiva), que se traduce en:

• Todos los cuantificadores están a la cabeza de la fórmula.• Sólo existen cuantificadores universales.• El resto de la fórmula, matriz, está formada por una conjunción de fórmulas, cada una de las cuales está

constituida por una disyunción de fórmulas atómicas, negadas o sin negar. Procedimiento:

• Eliminar los condicionales y bicondicionales :

p q p q

p q p q q p

→ ≡ ¬ ∨

↔ ≡ → ∧ →(( ) ( ))• Introducir las negaciones, para que sólo afecten a las variables proposicionales.• Pasar a forma clausulada aplicando la distributiva para la disyunción.• Supresión de las negaciones en las fórmulas afectadas por cuantificadores.• Cambio de variable en las fórmulas cuantificadas para que cada una tenga un nombre de variable

distinto. Para evitar un número excesivo de cuantificadores se pueden aplicar las siguientes reglas:Ley de la distribución de ∀ por la ∧ :

∀ x(R(x) ∧ P(x)) ⇔ ∀ x R(x) ∧ ∀ x P(x)

Ley de la distribución del ∃ por la ∨∃ x (R(x) ∨ P(x)) ⇔ ∃ x R(x) ∨ ∃ x P(x)

• Colocar todos los cuantificadores a la cabeza de la fórmula.• Supresión 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 función de Skolem.• Eliminar todos los ∀ .• Convertir la fórmula en una conjunción de disyunciones.• Considerar cada una de las disyunciones como una cláusula aparte.

Unificación.

Uno de los procesos básicos en los problemas de IA es la equiparación de patrones, es decir, poner en relación deigualdad dos cosas. Para ello se comprueba que su estructura es semejante y que cada uno de los componentes que formandicha estructura son ‘compatibles’.

Page 27: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 27

Ferran Gómez y José M. Godoy

En la lógica de predicados de primer orden consiste en comparar predicados con el mismo nombre y comprobar sisus términos se pueden unificar. Para ello debe de existir una sustitución que los haga idénticos. Una sustitución es unconjunto de pares del tipo [tk / vk] donde vk es una variable que ocupa el k-ésimo lugar dentro de los argumentos del predicadoy tk es un término cualquiera del mismo conjunto en el que la variable vk no está presente, pueden unificarse mediante lasustitución : ‘donde haya una u poner f(x)’ y ‘ donde haya v una poner b‘; matemáticamente:

s1:{f(x) / u, b/v } à P (u, b ) s1 = P(f(x),v)s1 = P(f(x), b)

El método de resolución requiere que la unificación entre los predicados de las cláusulas se realice mediante elunificador mínimo o de máxima generalidad (UGM). El UGM se define como aquél que cumple la propiedad de quecualquier otro unificador puede obtenerse a partir de él por aplicación de alguna otra sustitución.

Método General de Resolución.

Establece un procedimiento sistemático (computable) de búsqueda de la demostración de un teorema, lademostración se realiza siguiendo el método lógico de refutación, es decir, demostrar que si el teorema es falso se llega a unacontradicción.

La regla de inferencia consiste en poner en forma clausulada las premisas y la negación de la conclusión, seleccionarparejas de literales en cláusulas distintas (generatrices) con el mismo nombre, uno negado y otro sin negar, compararlas(mediante su unificador mínimo) y si existe la unificación aplicar la regla básica de resolución que consiste en crear un nuevacláusula (resolvente) formada por la disyunción del resto de los literales de las generatrices. Dicha cláusula se añade alconjunto de cláusulas existente y, tomando aquél como referencia, se intenta aplicar de nuevo el proceso. La búsquedatermina cuando la cláusula está vacía.

Procedimiento General de Resolución:1. Convertir todas las premisas en su forma clausulada (FNC) e inicializar un conjunto de

cláusulas P con dichas expresiones.2. Convertir la expresión resultante de negar la conclusión ¬ C en forma clausulada y añadirla al

conjunto de cláusulas.3. Realizar los dos puntos siguientes hasta encontrar la cláusula vacía o hasta que no se pueda

seguir avanzando o se agoten los recursos de cálculo.• Inicializar asignando un valor de referencia, nulo, a la variable que contendrá el

unificador mínimo encontrado s.• Seleccionar parejas nuevas de átomos con el mismo nombre de predicado en cláusulas

distintas. Denominar a las cláusulas G1 G2 y a la pareja de átomo A1 y A2

respectivamente.• Buscar el unificador de máxima generalidad de A 1 y A2. Si se encuentraguardar su valor en s.• Si s tiene un nuevo valor aplicar dicha sustitución a G 1 y G2 formando suresolvente.

Este procedimiento se puede enumerar de una forma más sencilla (Lógica 1º Sanz y Torres):

1. Seleccionar una pareja de cláusulas distintas.2. Aplicar el algoritmo de unificación a la pareja de literales seleccionada.3. Si resultan unificadas, se resuelve y se incluye la resolvente en el conjunto.4. Volver a 1.5. El proceso termina cuando no es posible encontrar cláusulas a unificar o cuando se obtiene la

cláusula vacía como resolvente.Estrategias de resolución.

1. Seleccionar aquellas cláusulas que tengan un único literal. La cláusula vacía λ se obtiene cuando se resuelven doscláusulas unitarias contradictoras.

2. Considerar alguna cláusula para guiar el proceso de búsqueda de modo que se use ella o alguna de susdescendientes en la generación de nuevas resolventes. Un planteamiento efectivo consiste en hacer que lacláusula, o conjunto de cláusulas elegido contenga hipótesis relativas al teorema a resolver, y de las obtenidas denegar la conclusión (encadenamiento hacia atrás, o dirigido por las metas).

3. Las estrategias de simplificación reducen el número y la forma de las cláusulas consideradas, se puedendistinguir:

• Eliminar tautologías• Eliminar átomos repetidos en las cláusulas, dejando sólo uno de ellos (ley de idempotencia)• Eliminar cláusulas que contengan a otras.

Extensiones de la lógica clásica.

La lógica clásica sólo admite dos valores, y se opera extensionalmente en las expresiones consideradas. La operaciónen extenso o en intenso, se refiere a si se consideran exclusivamente los elementos que forman un determinado conjunto y suvalor de verdad (extensión) o si se tiene en cuenta el concepto que designa (intensión); desde el punto de vista intensional dos

Page 28: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 28

Ferran Gómez y José M. Godoy

predicados pueden ser diferentes aun cuando estén definidos sobre los mismos elementos del dominio. La distinción entreintensión y extensión es fundamental a la hora de valorar la capacidad de cualquier sistema computacional. Lógica Modal.

La lógica modal surge para satisfacer la necesidad de manipular adecuadamente los conceptos de necesidad yposibilidad. Cualifica los enunciados señalando si estos son posibles, imposibles, necesarios o contingentes (pueden suceder ono). La simbolización básica de la lógica modal es una generalización de la sintaxis del cálculo clásico, se introducen lossiguientes símbolos. • P ‘es necesario que P’

u P ‘es posible que P’

Estos operadores tienen el mismo nivel que el operador negación ¬ 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 interpretación de fórmulas modales se introduce la idea de mundos (dominios parciales). Losmundos son subdivisiones del universo del discurso, de forma que en un determinado mundo un predicado sea verdad y enotro falso. Se debe de considerar entonces una relación de accesibilidad entre los mundos. Con cualquier fórmula válida Apodemos 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. Lógica Difusa.

En las lógicas polivalentes es posible distinguir más de dos valores de verdad, lo que hace variar algunaspropiedades formales esenciales; por ejemplo todos los teoremas por reducción al absurdo al no cumplirse la ley del tercioexcluso. Más allá de estas lógicas existe la lógica de conjunto difusos o lógica difusa, también llamada de enunciados vagos.En las lógicas polivalentes cada enunciado tiene un valor de verdad concreto y no depende del contexto. La lógica difusapermite afirmar que los enunciados son más o menos verdaderos en un contexto determinado y más o menos falsos en otrocontexto. En lenguaje natural los conjuntos no están totalmente definidos, la lógica difusa trata esta imprecisión definiendo losgrados de pertenencia de cada miembro a dichos conjuntos, que se denominan conjuntos borrosos. La función que asocia acada elemento su grado de pertenencia se llama función de pertenencia. Operaciones definidas sobre conjuntos borrosos.

• INCLUSIÓN F G si x x x UF G⊂ ≤ ∀ ∈m m( ) ( )

• IGUALDAD F G si x x x UF G= = ∀ ∈m m( ) ( )

• DESIGUALDAD F G si x x x UF G≠ ≠ ∀ ∈m m( ) ( )

• COMPLEMENTO C(f) = {X|µc(F)(x)=1- µ(F)(x) ∀ ∈x U• UNIÓN F G x x max x x x UF G F G∪ = = ∀ ∈∪{ | ( ) ( ( ), ( )) }m m m• INTERSECCIÓN F G x x min x x x UF G F G∩ = = ∀ ∈∩{ | ( ) ( ( ), ( )) }m m m

Dado un universo U y los conjuntos no borrosos X, Y y Z definidos en él, éstos cumplen las propiedades deinvolución, [c(c(X))=X], conmutativa, asociativa, distributiva, idempotencia, absorción (Unión e intersección, por el conjuntouniverso y por el conjunto vacío), identidad, contradicción, ley del tercio excluso y las leyes de Morgan . Para conjuntosdifusos, estas leyes se cumplen, excepto la de la contradicción y la del tercio excluso. Por ello, los conjuntos borrosos dotadosde las operaciones unión, intersección y complemento no pueden formar un álgebra de Boole. Modificadores lingüísticos.

Tipo de operación Representación Cálculos realizados Negación NEG(µ(x)) 1- µ(x) Concentración CON (µ(x)) µ2(x) Dilatación DIL(µ(x)) 2 µ(x)- µ2(x) Intensificación INT(µ(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 Operación asociada no NEG(µ(x))

muy CON(µ(x))

Page 29: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 29

Ferran Gómez y José M. Godoy

algo DIL(µ(x)) casi DIL(DIL (µ(x))

bastante INT(CON (µ(x)) Interpretación de sentencias compuestas. Disyunción: I (P(x) ∨ Q(y)) = max (µp(x), µq(y)) Conjunción: I (P(x) ∧ Q(y))= min (µp(x), µq(y)) Condicional: I (P(x)àQ(y)) = µp(x)· µq(y) Inferencia en la lógica difusa

• Principio de herencia: dado un conjunto borroso A asociado a un predicado, que es un subconjunto de B, cualquierelemento con la propiedad A hereda la propiedad B. • Regla de composición: dado un elemento que cumple la propiedad representada por el conjunto borroso A y queesta relacionado a través de R con un elemento de otro universo, se le puede asociar a este segundo elemento lapropiedad 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 hipotético:

A(x) à B (y) B(y) à C(z) (A ×B) °(B × C)) (x, z)

Lógicas No Monótonas

Una de las dificultades del cálculo de predicados es la excesiva rigidez a la que están sujetos los razonamientosrealizados. Para que el conocimiento del dominio pueda ser efectiva y eficientemente formulado en forma de una teoría esnecesario que ésta sea completa, consistente y tratable. Para garantizar la completitud toda fórmula válida debe serdemostrable sin omisiones. La consistencia supone que todo aquello que se añada al sistema no debe contradecir a las leyesexistentes. Quizás el requerimiento de consistencia sea la limitación que más contrasta con las situaciones reales ya que lapercepción de los problemas varían con el tiempo y pueden llevarnos a reconsiderar alguno de los principios iniciales. Estotambién ocurre con el razonamiento basado en el sentido común, donde se aplican principios que se suponen válidos en eldominio, que pueden dejar de serlo en situaciones concretas. Para solucionar estos problemas se plantea una formulación menos rígida, exigiéndose que las conclusiones seanconsistentes con las condiciones de los problemas tratados y con las leyes aplicables a dichos problemas, entrando aconsiderar la temporalidad implícita de los razonamientos lógicos. La raíz del problema está en la falta de conocimientoinicial del dominio, en estas situaciones se crean reglas o leyes que permiten realizar un tipo de razonamiento denominadorazonamiento por defecto. Una de las posibles soluciones a este tipo de razonamiento son las lógicas no monótonas, quetienen en cuenta lo que no se conoce

Page 30: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 30

Ferran Gómez y José M. Godoy

6. REGLAS

Componentes básicos de los sistemas basados en reglas

Los Sistemas Basados en Reglas (SBR) tienen los siguientes componentes:

Base deAfirmaciones

Base deDatos

Interfazde Usuario

Base deConocimientos

Motor deInferencia

· Motor de Inferencia: (intérprete de reglas) Es el elemento central del sistema: se encarga de coordinar la

información procedente de todos los demás y de enviar los resultados de la inferencia al lugar oportuno.· Base de Conocimientos: Contiene las reglas y, a veces, también algunas afirmaciones iniciales. Es específica 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 lasanteriores aplicando las reglas.

· Interfaz de Usuario: Solicita al usuario la información necesaria y muestra los resultados.· Base de Datos: Contiene los datos del caso concreto que se está tratando.

Estructura de las reglas

Antecedente y Consecuente de una Regla

Antecedente: Contiene las cláusulas que deben cumplirse para que la regla pueda evaluarse o ejecutarse. Consecuente: Indica las conclusiones que se deducen de las premisas (interpretación declarativa) o las acciones que el sistema debe realizar cuando ejecuta la regla (interpretación imperativa).

Elementos que pueden intervenir en una regla: • Hipótesis : En un momento dado de una consulta, cada hipótesis tiene asociado un valor de verdad. • Dato : Cada dato puede tomar un cierto tipo de valores: numéricos, discretos. • Relación de comparación : Se establece entre dos datos o entre un dato y un valor. • Relación de pertenencia : Se establece entre una instancia y un marco. Una relación de pertenencia “x ES y” se considera cierta cuando x es una instancia del marco y. • Cláusula : Consiste en una hipótesis o una relación (de comparación o de pertenencia), o bien en la negación, la conjunción o la disyunción de otras cláusulas (mediante los operadores NO, Y y O).

Con respecto a las conclusiones que forman el consecuente, podemos considerar tres tipos de acciones:

Afirmar: Se establece una nueva relación de comparación o de pertenencia. Retractar: Se invalida una relación que anteriormente fue afirmada. Actuar: El sistema enviará una orden a los actuadores con los que está conectado.

Entre las distintas condiciones se considera implícita la conectiva Y. Además la palabra clave “AFIRMAR” puedeomitirse, de modo que si en una de las conclusiones de la regla no aparece ninguna de las tres acciones mencionadas, sesupone que hay “AFIRMAR” implícito.

Uso de Variables en las Reglas

Una afirmación como “Todos los catedráticos son doctores”, que en lógica de predicados se expresa como: ∀x, CATEDRÁTICO(x) ⇒ DOCTOR(x)

dará lugar a la siguiente regla: SI ?x ES catedrático(se interpreta cada predicado como la pertenencia)

ENTONCES ?x ES doctor (a una clase -marco-) o bien a esta otra

SI ?x.categoría = catedrático (se interpreta cada predicado como una propiedad) ENTONCES ?x.titulación = doctor (o campo)

Page 31: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 31

Ferran Gómez y José M. Godoy

Conviene no confundir las variables (?x, ?y, ...) con los datos (Juan-López.categoría). Comentarios Una de las formas que más diferencia entre sí los sistemas basados en reglas es la forma de indicar la falsedad de

una afirmación:• NEXPERT y otros, indican explícitamente si una determinada hipótesis es cierta, falsa, no investigada o

desconocida se ha tratado de averiguar su valor de verdad sin conseguirlo.• PROLOG y otros, sólo almacenan las hipótesis confirmadas. Axioma del mundo cerrado: el considerar

falsa toda proposición que no se encuentre en la base de afirmaciones ni pueda deducirse de lainformación disponible.

• GoldWorks y otros, son menos explícitos y el diseñador del programa tiene libertad para determinar silas 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 asignación de un valor al dato elimina el que pudiera estar asignadoanteriormente. Se evita información contradictoria. P.e. Pedro-García.edad = 63.

• Datos multivaluados: Hay casos en que no interesa que se pierda la información previa (Pedro-García.última-enfermedad). De este modo, la asignación de un valor al dato no elimina el que pudieraestar asignado anteriormente.

Inferencia

Comparación de patrones

Un patrón es un modelo que puede representar diferentes elementos en el contexto de las reglas, se usa paradenominar las cláusulas con variables. Equivale a un conjunto de afirmaciones.

Casos en la ejecución de una regla (cuando se cumplen las cláusulas del antecedente):• Cláusula sin variables:

• Si la cláusula es una hipótesis, se satisface cuando en la base de afirmaciones (BA)hay una afirmación que coincide con ella.• Si la cláusula es una relación, se satisface cuando los valores de los datos se ajustan a ella.

• Cuando una variable aparece por primera vez en una regla, la cláusula correspondiente se satisfará si ysólo si hay una asignación de valor a dicha variable tal que el patrón coincida con uno de los elementosexistentes 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 unvalor que le fue asignado la primera vez que apareció. La cláusula donde la variable aparece por segundavez, se satisfará solamente si, al sustituir dicha variable por el valor asignado, la cláusula coincide con unade 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 cadaasignación de variables capaz de satisfacer todas sus cláusulas. En este caso se habla de diferentes “instanciaciones” de unaregla.

Tipos de encadenamiento

El encadenamiento de reglas se produce cuando el consecuente de una regla coincide con el antecedente de otra (sien la cláusula coincidente hay alguna variable debe tener el mismo valor en las dos cláusulas), es decir, cuando unaconclusión obtenida de una regla sirve para ejecutar otra regla. Sólo es aplicable cuando el consecuente de la primera regla esdel tipo “AFIRMAR” (nueva afirmación que se almacenará en la BA). Los tipos de encadenamiento son:

Encadenamiento hacia adelante o basado en datos: la conclusión obtenida de la ejecución de una reglapermite que se ejecute otra u otras reglas. Este encadenamiento, en general, utiliza solamente los datosdisponibles.

Encadenamiento hacia atrás o basado en objetivos: consiste en buscar una regla que permita establecercierta conclusión. Si la afirmación existe en la BA se podrá realizar la inferencia. Si no, se puede buscaruna regla que contenga en su consecuente la anterior afirmación y ver si sí existe en la BA suantecedente, y así sucesivamente. Este encadenamiento suele solicitar del usuario la información que noha podido deducir. El sistema deberá incluir algún modo de controlar cuándo y cómo se va a solicitaresta información.

El encadenamiento hacia adelante, en principio ejecutará todas las reglas posibles en función de la informaciónintroducida. En cambio, el encadenamiento hacia atrás lleva implícito un proceso de búsqueda, por lo que es más específico y,por tanto, más eficaz. El encadenamiento hacia adelante es utilizado por el sistema OPS5. Los sistemas MYCIN y PROLOGutilizan sólo el encadenamiento hacia atrás. Los sistemas actuales (GoldWorks, KEE, NEXPERT, ...) permiten especificarcon que tipo de encadenamiento (o con ambos) debe aplicarse cada regla.

Page 32: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 32

Ferran Gómez y José M. Godoy

Dependencia Reversible e Irreversible

Una Dependencia Reversible es si al dejar de tener validez (se “RETRACTA”) el antecedente de una regla, tambiénse retracta el consecuente. Se considera Dependencia Irreversible si al dejar de tener validez el antecedente de una regla nose retracta el consecuente. Por lo tanto, el SBR debe registrar junto con cada afirmación la forma en que ha sido deducida.Los SBR actuales permiten que sea el diseñador quien decida el tipo de dependencia.

Control del razonamiento

Es la forma de seleccionar qué regla ejecutar primero cuando hay varias disponibles. Es importante por tres motivos:1. Contenido de la inferencia: las conclusiones pueden depender del orden de aplicación de las reglas. Las

reglas que tratan las excepciones deben activarse primero (evitar retractaciones posteriores).2. Eficiencia: la aplicación de la regla adecuada llevará más rápidamente a la conclusión.3. Diálogo que genera debe de evitar la solicitud de información deducible y el orden en que se solicita la

información debe ser razonable.

Mecanismos sencillos.

• Ordenar las reglas en la base de conocimientos: Es el método más simple y es poco “elegante” y de difícilmantenimiento. Sólo aplicable a sistemas simples donde las reglas se hallan en una lista que se consultacíclicamente siguiendo el orden en que fueron introducidas por el usuario. El sistema OPS5 utiliza una variación(RETE) que sólo examina el efecto de la información añadida o eliminada de la BA en cada ciclo.

• Ordenar las cláusulas dentro de cada regla: Sólo puede ser utilizado por los sistemas que usan el encadenamientohacia atrás. Se colocan primero las que tienen más posibilidades de fallar y así se optimiza la búsqueda.

• Introducir nuevas cláusulas en las reglas relacionadas con el punto en que se encuentra la inferencia: Las nuevascláusulas se añaden al principio del antecedente. Estas cláusulas pueden servir para clasificar el punto deinferencia.

Control de las Agendas

Se realiza una búsqueda de todas las reglas que en un momento dado están listas para ser ejecutadas. Se reúne enuna agenda cada asignación de variables (“instanciación”) que satisface una regla. Cada una de ellas será un elemento de laagenda. Las agendas pueden tener estructura de pila o de cola y sus elementos pueden tener asignada una prioridad. Haysistemas que pueden tener varias agendas, controladas por sus respectivos patrocinadores (sponsors). En este caso, cada reglaestá asignada a un patrocinador, en cuya agenda se almacenarán las “instanciaciones” de la regla. Cada agenda del mismosistema puede tener una estructura diferente (cola o pila; con o sin prioridad). En unos casos, se distribuyen los recursosdisponibles equitativamente entre los patrocinadores; en otros, el diseñador puede, incluso, asignar una jerarquía a lospatrocinadores. Si la información obtenida al ejecutar un elemento de una agenda hace que otro elemento deje de ser válido,éste no llegará a ejecutarse (en algunos sistemas el motor de inferencia puede acceder al contenido de las agendas paraactualizarlo: esta tarea suele resultar bastante compleja).

Agrupar las reglas en un conjunto de reglas (“rule sets”) es otro mecanismo de control, independiente de las agendas(no incompatible) que permite activar o desactivar grupos de reglas en bloque, evitando así la necesidad de añadir cláusulasadicionales en varias etapas Se desactivará un conjunto de reglas cuando se suponga que sus reglas no aportarán ningunainformación relevante, y se activará solamente cuando sea necesario.

Metarreglas

Utilizadas por primera vez en el sistema TEIRESIAS - extensión 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 adquisición deconocimiento). Los modelos de reglas y las metarreglas son las dos formas de introducir el metaconocimiento (conocimientosobre el conocimiento) en TEIRESIAS. Una metarregla es una regla que se refiere a otras reglas, y nos lleva a examinarprimero aquellas reglas que parecen más relevantes para el problema en cuestión . De hecho hace afirmaciones sobre lautilidad estimada (la posibilidad de que nos lleve a una conclusión).

Comentarios: El metaconocimiento es un paso más en la explicitación 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 más adelante la posibilidad de reorganizar el conocimiento, de aprendera partir de la experiencia o mediante el diálogo con el usuario.

Estas capacidades se basan en que el metaconocimiento, de algún modo, puede considerarse como una forma

rudimentaria de consciencia (el sistema conoce que conoce): “no puede hablarse de inteligencia sin que haya consciencia”.

Page 33: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 33

Ferran Gómez y José M. Godoy

Otros mecanismos

Los creadores del sistema OPS5, al abordar el problema del control del razonamiento mediante la selección dereglas, señalan dos características (en cierto modo contrapuestas) que debe poseer el sistema:

• Sensibilidad: indica la capacidad de responder a los estímulos: el sistema debe procesar con prontitud la nuevainformación que recibe.

• Estabilidad: exige que no haya una reacción desmesurada ante los estímulos: la llegada de información pocorelevante no debe alterar la línea de razonamiento.

Proponen varios mecanismos para lograr un compromiso entre ambos objetivos:

1. Refractariedad: Después de haber respondido a un estímulo, el sistema se inhibe durante un cierto tiempo y noresponde a nada (evita respuestas repetitivas al mismo estímulo).

2. Actualidad: Se examinan primero las reglas apoyadas en la información más reciente. OPS5 lo consigueanotando junto con la afirmación, en la BA, el ciclo en que se dedujo.

3. Especificidad: Aplicar primero las reglas más específicas (contienen más información).

Explicación del razonamiento

El primer sistema capaz de explicar su razonamiento fue MYCIN, una regla sólo se ejecuta cuando se hacomprobado que se cumplen todas sus premisas, teniendo en cuenta que ante la imposibilidad de deducir una conclusión“interesante” el sistema interrogará al usuario. En usuario puede, entonces, interrogar al sistema:

• POR_QUÉ (WHY): se solicita del sistema la razón por la cual solicita nueva información.• CÓMO (HOW): se solicita del sistema la forma en que ha llegado a una determinada conclusión.

Posteriormente se incluyeron en MYCIN otras posibilidades de explicación para que el programa pudiera respondera preguntas en lenguaje natural.

Tratamiento de la incertidumbre

En el mundo real existen numerosas fuentes de incertidumbre (afirmaciones imprecisas, dominios no deterministas,etc.)

Factores de certeza en MYCIN

Un factor de certeza indica la fiabilidad con que podemos aceptar una hipótesis inferida a partir de una o unas ciertaspremisas. En la práctica estos factores se obtienen a partir de las estimaciones subjetivas de los médicos participantes en elproyecto.

P.e., SI e ENTONCES h genera un factor de certeza FC(h,e).

Cuando en una regla hay varias premisas, se utiliza una combinación de máximos y mínimos, dependiendo de si setrata de conjunciones o disyunciones, con el fin de obtener un factor de certeza FC(h, e1, e2, ..., en). El problema es lacombinación de los factores de certeza, ya que el sistema está basado más en intuiciones que en una teoría consistente.

La lógica difusa se puede aplicar mediante reglas difusas (usadas predicados difusos). La estructura general es:SI X1 es A1 Y ... Y Xn es An ENTONCES Y es B

En el caso de que haya una sola premisa “X es A”, la regla puede interpretarse mediante una distribución deposibilidad condicional, πB|A(x,y), que es una relación difusa binaria del tipo R(x,y) En el caso de que tengamos una regla convarias premisas, habrá que combinar las µAi(xi) mediante los operadores mínimo o máximo según se trate de una conjuncióno una disyunción, respectivamente. También es posible combinar las reglas en serie (encadenar conclusiones de una conpremisas de otra) o en paralelo (varias reglas conducen a una misma conclusión) utilizando las propiedades de unión eintersección.

Valoración

Comparación con los Programas Basados en Comandos

El uso de reglas supone utilizar un sistema de programación declarativa que le dice al ordenador cuál es elconocimiento que debe aplicar (contrapuesto a la programación imperativa donde se le dice al ordenador lo que debe hacer).Las diferencias entre la concepción de comandos (imperativa) y la de reglas (declarativa) son:

1. Los comandos tienen un carácter secuencial, mientras que las reglas tiene un carácter modular (no existe unorden preestablecido a priori).

2. La aplicación de las reglas se basa en la comparación de patrones: el uso y significado de las variables no tienenada que ver con su uso en la programación imperativa: las variables permiten que las reglas se adapten adiferentes situaciones.

3. La dependencia reversible y la dependencia irreversible es un rasgo distintivo de los sistemas basados en reglas:la capacidad de retractar una afirmación inferida.

Page 34: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 34

Ferran Gómez y José M. Godoy

4. Las capacidades de explicar el razonamiento, reorganizar el conocimiento y de aprender de sus errores sonincompatibles con los sistemas basados en comandos.

5. El tratamiento de la incertidumbre es otro de los rasgos más típicos de los SBR.Los siguientes aspectos que hacen que los sistemas basados en comandos sean más utilizados. Si un problema tiene

una solución que no precise de una búsqueda heurística, o sea, resoluble mediante un algoritmo, la solución será más rápidahaciendo uso de sistemas imperativos que con otros sistemas. Las tareas de bajo nivel (lectura y escritura de archivos, gestiónde bases de datos, acceso a dispositivos, etc.) son más fáciles de realizar en lenguajes tradicionales.

Comparación con la Lógica de Predicados

Las reglas pueden considerarse como una versión reducida de la lógica de predicados. Se encuentran limitadas(respecto a la lógica de predicados) por su expresividad, la imposibilidad, o al menos las restricciones, a la hora de utilizarcuantificadores existenciales, la reducción en su capacidad de inferencia, sólo afirman el consecuente a partir de laafirmación del antecedente (modus ponens); en cambio no hacen uso del modus tollens. Pero poseen una ventaja respecto a lalógica de predicados, el tratamiento de la incertidumbre.

Crítica de los Sistemas Basados en Reglas

Cuando un sistema crece por encima de un límite se hace muy costoso o prácticamente imposible comprobar laconsistencia del conocimiento que posee. En particular, la adición de una nueva regla puede modificar el comportamiento deforma imprevisible. El tratamiento de la incertidumbre, no es, realmente, todo lo adecuado que debiera.

Apéndice: expresividad y tratabilidad

Expresividad: Capacidad de representar el conocimiento. Necesaria para poder plantear el problema.Tratabilidad: Posibilidad de resolver un problema con los medios disponibles. Necesaria para poder resolver el

problema.En un sistema, cuanto más aumenta una más disminuye la otra, por lo que es necesario llegar a un compromiso que

maximice ambas.

Page 35: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 35

Ferran Gómez y José M. Godoy

7. REDES ASOCIATIVAS.

Grafos relacionales

Modelo de Memoria Semántica, de Quillian

El modelo de Quillian consiste en representar el significado de los términos de la lengua inglesa de forma semejantea como aparecen en un diccionario. Tiene como objetivo realizar un programa capaz de almacenar información sobre elsignificado de las palabras para comprender el lenguaje natural. Lo hace poniendo las definiciones como en un diccionario, esdecir, nodos unidos por diferentes clases de enlaces asociativos.

La nomenclatura utilizada en una red semántica de Quillian es:• Nodo-tipo (“ type node”): Encerrado en un óvalo, representa el concepto definido.• Nodos-réplica (“ token nodes”): Desarrollo de la definición.• Variables para indicar conceptos que aparecen en el mismo plano de definición (en el mismo rectángulo).• Los números se utilizan para distinguir los diferentes significados de un mismo término (con-4,representa el cuarto significado de la palabra “con”).

En las redes de Quillian aparecen seis tipos de enlaces:

1. Subclase: une un nodo-tipo con la clase a la que pertenece.2. Modificación: une dos nodos-réplica del mismo plano, de modo que el segundo modifica el alcance del primero.3. Disyunción: lleva la etiqueta “O”. Une dos o más nodos.4. Conjunción: lleva la etiqueta “Y”. Une dos o más nodos. Concreta el significado de un concepto.5. Propiedad: une tres nodos A, B y C, donde A es la relación, B el sujeto y C el objeto.

BA

C6. Referencia al tipo: van desde el nodo-réplica al correspondiente nodo-tipo. Se dan siempre entre planos

diferentes.

El interés de representar computacionalmente el conocimiento consiste ante todo en poder realizar inferencias con elfin de obtener nueva información. La tesis de Quillian se limitó a una forma muy sencilla de inferencia: cómo comparar elsignificado de dos palabras, suponiendo que esta tarea significa un primer paso hacia la compresión de frases y relatos.

La comparación de palabras por el método de Quillian se realiza de la forma siguiente:1. Activar los nodos vecinos de cada una de las dos definiciones creando esferas de activación de radio 1.2. Comprobar las coincidencias. Cada intersección de esferas corresponde a un camino que une los dos

nodos (una relación entre significados).3. Si no hay coincidencias, ampliar las esferas a radio 2 y repetir la comprobación.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 términos polisémicos. Lo ideal es que no exista esa dependencia pero para ellohabría que pasar de la representación de palabras a la representación de conceptos. En las redes semánticas de Quillian no sepuede extraer nueva información mediante inferencia, sino simplemente realizar comparaciones del significado de laspalabras.

Sistema SCHOLAR de Carbonell

Inspirado en el trabajo de Quillian, Carbonell construyó este sistema de enseñanza asistida por ordenador, dedicadoa enseñar un tema concreto al alumno, por medio de una base de conocimiento en forma de red crea dinámicamentepreguntas para el alumno y responde las que éste le planteaba. Las propiedades más importantes son :

1. Motor de inferencia prácticamente independiente del dominio. De esta forma podía utilizarse paragenerar fácilmente programas similares para la enseñanza de otros temas.

2. Una gran aportación de este sistema es la distinción entre los nodos que representan conceptos y los querepresentan ejemplos particulares.

3. Al igual que Quillian, también define cada nodo mediante dos elementos, la clase a la que pertenece yuna lista de propiedades. Una propiedad viene dada por un atributo, un valor y, opcionalmente, otrassubpropiedades. Además cada propiedad puede llevar asociadas unas funciones destinadas a lograrinferencias más eficientes; estas funciones se utilizan hay en día en la representación basada en marcos,con el nombre de demonios.

4. La distinción entre conceptos (o clases) e instancias, y la asignación de propiedades en forma de paresatributo-valor constituyen en la actualidad dos características esenciales de la representación basada enmarcos y, de una u otra forma, de la mayor parte de los modelos de redes semánticas.

Page 36: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 36

Ferran Gómez y José M. Godoy

5. Hoy en día no se considera una red semántica, debido a que no está dedicado a la representación delsignificado de los conceptos ni a la comprensión del lenguaje natural.

Grafos de Dependencia Conceptual, de Schank

Schank intenta hacer lo mismo que Quillian, pero, apoyándose en los estudios lingüística (más que en los estudiospsicológicos de la memoria humana), intenta independizar el sistema del lenguaje, no le interesa representar las palabrassino los conceptos. En los grafos de dependencia conceptual, dos sentencias diferentes con el mismo significado, tendrán lamisma representación, y además, cualquier información implícita deberá hacerse explícita en la representación delsignificado de una sentencia. Representa las oraciones mediante primitivas:

• 6 categorías conceptuales: objeto físico (una cosa o un ser vivo), acción, atributo de un objeto físico, atributo deuna acción, tiempo y localización.

PP à Objetos del mundo real. ACT à Acciones del mundo real. PA à Atributos de objetos. AA à Atributos de acciones. T à Tiempos. LOC à Posiciones.

• 16 reglas sintácticas: determinan los diferentes tipos de relación que pueden existir entre los elementos de unafrase.• Acciones primitivas: PTRANS Transferir físicamente (cambiar de lugar un objeto).

ATRANS Transferir una relación abstracta, como posesión o control.MTRANS Transferir mentalmente (decir, contar, comunicar, etc.).PROPEL: Aplicación de una fuerza física a un objeto.MOVEL: Movimiento de una parte del cuerpo.GRASP: Acto por el que un actor coge un objeto.INGEST Ingerir.CONC: Conceptualización o pensamiento de una idea por un actor.EXPEL: Expulsión desde un cuerpo animal al exterior.MBUILD: Construcción de una información a partir de una que existía.ATTEND: Acción de dirigir un órgano de los sentidos hacia un objeto.SPEAK: Acción de producir sonidos con la boca.

. . . . . . Nomenclatura:

→ El elemento central del diagrama viene dado por una de las acciones primitivas (un verbo). → Relaciones sintácticas: • sujeto - verbo: • objeto - verbo: • posesión o parte-de: A pertenece a B. • dirección: • recepción: • causalidad: • . . . . . . .

De este modo cada frase se descompone en elementos simples con el fin de tener una representación independiente del

idioma.

Las ventajas de utilizar un conjunto limitado de primitivas es que éstas determinan unívocamente la representacióndel conocimiento, y que al ser un método determinista y finito se puede construir un intérprete capaz de realizar inferencias;sin limitar el número de elementos y relaciones esto sería imposible. Uno de los tipos de inferencias que se pueden dar conestos grafos es la de establecer condiciones, hallar causas e intenciones. El sistema debe tener la potencia y flexibilidadnecesarias para abordar problemas complejos, los grafos conceptuados lo hacen mediante la descomposición de cualquierfrase en elementos.

Este método tiene una serie de desventajas:

• Se cuestiona la validez de definir un conjunto de primitivas universales. Algunos autores consideran que el significadode una frase, salvo en los casos más sencillos, es inseparable de la lengua en que se encuentra formulada.

• Los grados conceptuales suponen una descripción demasiado detallada de las acciones. Se obtienen grafos muycomplejos para oraciones relativamente sencillas.

• El número de primitivas dependerá del grado de detalle que debemos alcanzar en la descomposición. Hay autores queafirman que no tiene sentido trabajar con un número mínimo de primitivas, sino que hay que hacerlo con distintosniveles de detalle, de modo que el sistema puede explicitar los elementos cuando sea necesario.

• Se centra la representación en torno al verbo.

Page 37: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 37

Ferran Gómez y José M. Godoy

Problemas de los Grafos Relacionales

A pesar de que cada nodo corresponde a un concepto en estos tipos de redes no se pueden tratar los operadoresuniversal y existencial de la lógica de predicados. Tampoco tratan la interacción entre varias proposiciones, por ejemplo no sepuede transcribir la frase “Cuando es de noche y hay niebla es peligroso conducir”.

REDES PROPOSICIONALES

Los nodos no representan sólo conceptos sino que también representan sintagmas, cláusulas, frases, párrafos eincluso historias completas.

Redes de Shapiro

Fueron las primeras que incluían todos los operadores y cuantificadores de la lógica de primer orden. En su sistemallamado SNePS, cada nodo puede representar un concepto, una variable, una frase, una relación o una regla de inferencia. Lapropiedad más destacable es que se pueden anidar proposiciones.

Representación mediante Grafos de Sowa

Tienen el mismo objetivo que las redes de Shapiro. La determinación de los contextos se realiza trazandorectángulos que agrupen cierto número de nodos. Existen muchas similitudes entre los grafos de Sowa y los de Shapiro. Encambio, en los grafos de Sowa, se utiliza un círculo para indicar el tipo de relación, en lugar de la etiqueta que se utiliza enlos de Shapiro. Otra diferencia es que Sowa indica explícitamente en cada nodo la clase a la que pertenece. Tanto larepresentación gráfica de Shapiro como la de Sowa pueden expresarse en notación lineal, de manera que los nodosaparecerán entre corchetes y las etiquetas de los arcos entre paréntesis. Esta notación ocupa menos espacio y es más fácil demanipular por un programa de ordenador. Usando esta notación tendremos, por ejemplo:

[RÍO: *] ≡ [RÍO] Un río (operador existencial).

[RÍO]→(ATR)→[CAUDALOSO] Un río caudaloso. [RÍO: {*}] Algunos ríos. [RÍO: {*}@3] Tres ríos.

[RÍO: #] El río (uno específico). [RÍO: ?] ¿Qué río?

[RÍO: ∀] Todos los ríos (operador universal). . . . .

Para concretar un elemento utiliza el símbolo # ([RÍO: #]). En este tipo de proposiciones el encargado de

descubrir la identidad del río es el intérprete. 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 línea discontinua para identificar los nodos que representanun mismo ente. La “T” se utiliza para representar un nodo sin especificar la clase a la que pertenece). En la notación lineal,al no poder unir los nodos mediante líneas discontinuas, se utilizan variables para indicar los nodos que coinciden.

En un grafo de Sowa intervienen elementos de tres clases:

· Conceptos genéricos, 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 genéricos y de relaciones conceptuales establecido anteriormente en el sistema se le conoce

como conjunto canónico, y a partir de él se pueden definir nuevos conceptos y relaciones.

Inferencia en Grafos de Sowa

La inferencia en este tipo de grafos se implementa mediante un conjunto de operaciones básicas.

· Restricción: concretar más la información del grafo. Introduce información adicional, a veces, se pierdela veracidad del grafo resultante.

· Generalización: operación recíproca a la anterior. No introduce ninguna información adicional, portanto si el grafo original era verdadero, el generalizado también lo será.

· Unión y Simplificación: se aplican conjuntamente sobre un par de grafos.

Page 38: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 38

Ferran Gómez y José M. Godoy

Estas operaciones, junto con unas sencillas reglas de cálculo permiten implementar mediante grafos conceptualestoda la lógica de primer orden e incluso algunas características de la lógica de orden superior. Es lo que se puede denominarrazonamiento exacto o razonamiento deductivo mediante grafos de Sowa. Con éste método se trabaja en la representación derazonamientos aproximados o probabilísticos.

REDES DE CLASIFICACIÓN

Extensión e Intensión

El significado intensional se refiere a la definición del concepto, que no varía salvo que se redefina. El significadoextensional, se refiere a los elementos a los que se les puede aplicar el concepto dentro de un universo determinado, puedevariar ya que el conjunto de miembros perteneciente a esa “clase” no tiene por qué ser fijo. Se discute si las redes declasificación deben representar conceptos (intensionales) o clases (extensionales). Los sistemas más importantes que existenactualmente (los grafos de Sowa y los lenguajes derivados de KL-ONE) optan por el significado intensional frente alextensional.

Jerarquía de Conceptos

En las redes de clasificación los arcos establecen una relación de orden parcial sobre los nodos, formando unajerarquía de conceptos. Un arco trazado desde un nodo A hacia un nodo B especifica que A es más general. Se trata de unárbol, un grafo dirigido acíclico más concretamente, en que hay bucles pero no ciclos. Un nodo puede tener variosascendientes, pero el descendiente de un nodo no se puede convertir en su ascendiente mediante un ciclo.

Mecanismos de Herencia

El interés de agrupar los conceptos en una red jerárquica es por poder realizar un tipo de inferencia, que consiste enque un concepto herede las propiedades de sus antepasados. La inferencia mediante herencia de propiedades consiste enaplicar una cadena de silogismos extraídos de la lógica clásica: “Si X es un animal, los animales son vivientes, y los vivientesson objetos físicos, entonces X es objeto físico”.

Hay dos tipos de herencia en redes jerárquicas la herencia estricta, en la que todos los conceptos descendientes de Aposeen las mismas propiedades de A. Se ciñe a las leyes de la lógica clásica, y la herencia por defecto que supone que losdescendientes de A poseen las mismas propiedades de A mientras no se indique lo contrario. Se sitúa dentro del razonamientono monótono. Plantea un problema al trabajar con grafos dirigidos acíclicos, ya que el hecho de que un nodo pueda tenerdistintos padres hace que puedan surgir contradicciones entre los diferentes valores por defecto heredados. De ahí surge lanecesidad de establecer mecanismos para resolver estos conflictos.

Sistemas Taxonómicos / Sistemas Asertivos

El conocimiento contenido en una red semántica puede ser de dos clases, asertivo y taxonómico, y esto da lugar ados grupos de redes, en función del tipo de conocimiento al que dan más importancia:

· Conocimiento Asertivo: consiste en realizar afirmaciones particulares. En ellas no existen definiciones deconceptos ni clasificaciones jerárquicas, sino solamente afirmaciones concretas. Los grafos Schank son elejemplo más claro de redes asertivas.

· Conocimiento Taxonómico: describe los conceptos. El sistema KL-ONE es un ejemplo de red taxonómica, yaque está diseñado especialmente para clasificar los conceptos y manejar sus propiedades.

REDES CAUSALES

Los nodos corresponden a variables y los enlaces a relaciones de influencia (un enlace X→Y indica que el valor quetoma X influye en el valor de Y); esta influencia suele ser una relación de causalidad (X produce Y). Se orientan sobre todo aproblemas de diagnóstico.

El Sistema Experto CASNET

Su objetivo es ayudar a los médicos en el diagnóstico y tratamiento del glaucoma. Estructura sus nodos en tresniveles:

· Observaciones: incluye los síntomas (lo que el enfermo siente), los signos (lo que el médico observa) ylos resultados de las pruebas de laboratorio.

· Estados Patofisiológicos: las alteraciones que se producen en el funcionamiento normal de un órgano(en este caso el ojo).

· Estados de enfermedad: las enfermedades se encuentran clasificadas en un árbol taxonómico; los nodosinferiores corresponden a especificaciones de los nodos superiores.

Usa distintos tipos de enlaces. Dentro del plano de las enfermedades, los enlaces indican relaciones de inclusión. En el planode los estados patofisiológicos, los enlaces corresponden con las relaciones de causalidad que determinan la evolución de laenfermedad. Los enlaces entre el plano superior y el mediano indican los estados patofisiológicos producidos por una

Page 39: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 39

Ferran Gómez y José M. Godoy

determinada enfermedad. Los enlaces entre el plano mediano y el inferior indican las observaciones a que da lugar cadaestado patofisiológico.

Los diagnósticos pueden consistir en estados patofisiológicos (hipótesis simples) o en enfermedades (que sonhipótesis complejas). El proceso consiste en interpretar los hallazgos en función de los estados patofisiológicos que hanpodido provocarlos. El programa asocia un valor concreto a cada zona, el cual será confirmado, indeterminado o descartado,según los estados patofisiológicos observados.

Este sistema experto es capaz, también, de ofrecer recomendaciones terapéuticas. Para ello se cuenta con un cuartogrupo de nodos, uno por cada tratamiento, que también pueden dibujarse dentro de un plano, aunque éste ya no sería paraleloa los anteriores. Para ello usa dos tipos de enlaces exclusivos. Uno de ellos se destina a unir los estados patofisiológicos y lasenfermedades con los tratamientos oportunos, o para unir un tratamiento con las complicaciones a que puede dar lugar. Elotro tipo de enlace se utiliza para unir los tratamientos entre sí con el fin de representar las interacciones, la toxicidad y lasdependencias temporales.

Redes Bayesianas

El teorema de Bayes nos permite pasar de las probabilidades a priori de las hipótesis de los hallazgos a lasprobabilidades de las hipótesis dados los hallazgos, mediante la siguiente expresión:

( ) ( ) ( )( ) ( )P d d e e

P e e d d P d d

P e e d d P d dn m

m n n

m n nd d n

1 1

1 1 1

1 1 1

1

, , | , ,, , | , , , ,

, , | ' , , ' ' , , '' , , '

K KK K K

K K KK

=⋅

⋅∑donde las di representan los diagnósticos y las ej los hallazgos. Esta expresión es imposible de aplicar por la enorme cantidadde información que requiere. Por eso se introduce la hipótesis de que los diagnósticos son exclusivos y exhaustivos (no hayotro diagnóstico posible fuera de ellos). Aún así, el modelo es intratable, por la necesidad de conocer todas las probabilidadesque intervienen. Por ello se introduce una nueva hipótesis, la dependencia condicional, que consiste en afirmar que, paracada diagnóstico, la probabilidad de encontrar un hallazgo es independiente de que se hayan encontrado otros:

( ) ( ) ( ) ( )P e e d P e d P e d P e d dm i i i m i i1 1 2, , | | | | ,K K= ⋅ ⋅ ⋅ ∀la probabilidad de un diagnóstico viene dada por

( ) ( ) ( ) ( )( ) ( ) ( )P d e e

P e d P e d P d

P e d P e d P di m

i m i i

j m j jj

| , ,| |

| |1

1

1

KK

K=

⋅ ⋅ ⋅

⋅ ⋅∑A pesar de que el problema resulta tratable no se usarán las técnicas bayesianas hasta que aparezcan las redes

bayesianas (RB), que mantienen las ventajas del método probabilista clásico, están basadas en un teoría matemática bienestablecida, y a la vez permiten un cálculo de eficiencia razonable sin tener que introducir hipótesis extrañas.

El Sistema Experto DIAVAL es el primer sistema experto bayesiano español. Desarrollado por UNED para ayudar alos médicos en el diagnóstico de las enfermedades de corazón. En DIAVAL los nodos que no tienen descendientescorresponden a las observaciones. La inferencia consiste en asignar los valores a las variables que se conocen y, a partir deesta información, realizar la propagación de la evidencia mediante el paso de mensajes entre nodos, con el fin de hallar laprobabilidad a posteriori de los demás nodos.

Una Red Bayesiana es un grafo dirigido acíclico (GDA) conexo más la distribución de probabilidad sobre susvariables, la cual cumple la propiedad de separación direccional. La separación direccional es que la probabilidad de unavariable X, una vez determinados los valores de los padres de X, es independiente de los demás nodos-variables que no sondescendientes de X. O sea, para cada nodo se indica la probabilidad condicionada a los valores de sus padres; para los nodossin padres se dará su probabilidad a priori, es decir, sin condicionamiento. En las redes bayesianas la presencia de un enlaceindica influencia causal, y la ausencia de un enlace indica implícitamente que no existen otras interacciones. La inferencia enRedes bayesanas consiste en fijar el valor de las variables conocidas con certeza y realizar un cálculo con el fin de hallar laprobabilidad de las variables cuyo valor no se conoce con certeza.

Ventajas y Limitaciones de las Redes Causales

Como ventajas tiene que al razonar sobre un hecho real, el sistema posee un conocimiento profundo de los procesosque intervienen, en vez de limitarse a una mera asociación de datos e hipótesis. Los programas resultantes son capaces deexplicar la cadena causal de anomalías que va desde la enfermedad diagnosticada hasta los efectos observados. Se puedenrealizar tres tipos de razonamiento, Razonamiento abductivo que consiste en buscar cuál es la causa que mejor explica losefectos observados. Diríamos que se trata de un razonamiento “hacia arriba”. Razonamiento deductivo que es el recíproco delanterior, pues va desde las causas hasta los efectos, es decir “hacia abajo”. Razonamiento intercausal que es un razonamiento“en horizontal”. A partir de la seguridad de una causa se debilitan las otras posibilidades (se reduce la sospecha de otras). Enla práctica los tres razonamientos se realizan simultáneamente, la distinción entre ellos permite que los modelos causalestengan presente la correlación que existe entre los hallazgos. Sus inconveniente es la limitación en su rango de aplicaciones.

Ventajas e Inconvenientes de las Redes Bayesianas

Page 40: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 40

Ferran Gómez y José M. Godoy

Además de las ventajas comunes a otros métodos de razonamiento causal, las redes bayesianas poseen una sólidateoría probabilista que les permite dar una interpretación objetiva de los factores numéricos que intervienen y dicta de formaunívoca la forma de realizar la inferencia. Sus inconvenientes son la limitación en cuanto al rango de aplicaciones. Necesitanun gran número de probabilidades numéricas, y normalmente no se dispone de toda esta información por lo que es necesariorecurrir a estimaciones de expertos humanos. La presencia de bucles complica extraordinariamente los cálculos ya que losmétodos de simulación estocástica resultan más eficientes que los métodos exactos, aunque resulta costoso (en términos detiempo de computación) lograr el grado de aproximación deseado. Se hace necesario evitar una explosión combinatoria.

Page 41: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 41

Ferran Gómez y José M. Godoy

8. MARCOS Y GUIONES

CONCEPTO DE MARCO

La propuesta de Minsky

Minsky propuso los marcos como método de representación del conocimiento y de razonamiento, para superar laslimitaciones de la lógica a la hora de abordar problemas como la visión artificial, la comprensión el lenguaje natural o elrazonamiento basado en el sentido común; problemas que requieren identificar estructuras complejas de conocimiento querepresentan una situación conocida. Al contrario que las reglas o la lógica, los marcos son unidades de almacenamientosuficientemente grandes como para imponer una estructura en el análisis de una situación. Cada marco se caracteriza por unconjunto de campos (slots) que contienen distintas clases de información, parte de esta información indica como usar elmarco, otra se refiere a lo que se espera que suceda a continuación, y otra parte indica que hacer cuando no se confirman talesexpectativas. En su propuesta original, más que describir con detalle un método completo, trató de dar ideas y sugerencias,por ello del planteamiento original han surgido tantos modelos y tan diferentes entre sí. Las distintas formas derepresentación basadas en los marcos se distinguen entre si por la forma en que definen y utilizan los campos. Otra de lasideas novedosas de Minsky es la posibilidad de tener distintos marcos para definir una misma entidad desde distintos puntosde vista.

El Sistema Experto PIP (Present Illness Program)

En este sistema cada enfermedad se representa por un marco, compuesto de los siguientes campos:• Nombre: Identifica al marco.• Es-un-tipo-de: Lo clasifica, indicando si es un estado fisiológico, enfermedad, etc.• Hallazgo: Contienen los datos clínicos observados para una enfermedad dada.• No-debe-haber: Reglas de exclusión, señalan que dato no debe presentarse en dicha

enfermedad.• Criterios mayores y menores: Parámetros de ponderación de datos clínicos.• Enlaces con otros marcos de la red [campos “puede-estar-producido-por”, “puede-complicarse-

con”; “ puede-producir”; “ diagnóstico-diferencial”; …].En un momento dado un marco puede estar en uno sólo de los 4 estados posibles: durmiente, semiactivo, activo o

aceptado. Inicialmente todos están durmientes.Un proceso de diagnosis comienza recogiendo información, y si se encuentra un síntoma, se activan todos los marcos

caracterizados por ese hallazgo como candidatos, los marcos relacionados pasan al estado semiactivo. (Se genera un espaciode búsqueda limitado, evitando el problema de la explosión incontrolada). Posteriormente se evalúan las hipótesis generadaspara encontrar el marco que mejor se adapte a los datos recogidos. El campo es-suficiente puede llevar a un marco comoaceptado. El campo no-debe-haber puede excluirlo del conjunto de hipótesis. Si de los datos no se acepta ni se rechaza undiagnóstico entonces se pondera la evidencia a favor o en contra según los campos criterios-mayores y criterios-menores,hasta que la evidencia acumulada supere un cierto umbral, entonces el marco correspondiente pasa a considerarse aceptado.Si no se llega a un umbral de aceptación se pasa a una 2ª fase de recogida de información, orientada por el conjunto dehipótesis disponible (los marcos activos) dando lugar, así, a un proceso cíclico de generación de preguntas y de ponderaciónde la evidencia hasta llegar a un diagnóstico satisfactorio.

Las ventajas de PIP frente a sistemas de diagnosis basados en árboles de decisión, donde cada nodo representa unapregunta con varias respuestas alternativas, son:

• Flexibilidad en el diálogo: el usuario puede introducir la información en el orden deseado.• Generación de preguntas en función de la evidencia disponible.• Diagnóstico de múltiples enfermedades (un árbol se basa en hipótesis excluyentes entre sí: no puede haberdos enfermedades presentes al mismo tiempo).

El Lenguaje KRL

El propósito del KRL (“Knowledge Representation Language”) es ofrecer los mecanismos necesarios para unarepresentación estructurada del conocimiento en contraposición a la lógica de predicados y sus variantes que carecen deestructura. Para ello la información se agrupa en torno a los objetos o unidades (“units”), que pueden contener marcos oinstancias. 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 típico de una clase.Ofrece varias posibilidades para controlar el razonamiento, la comparación (“Matching”) similar a la comparación depatrones de las reglas pero más flexible pues puede bastar un ajuste parcial, mientras que en una regla sólo se ejecuta cuandose han satisfecho todas sus cláusulas.

Page 42: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 42

Ferran Gómez y José M. Godoy

La asignación de procedimientos a los marcos o a sus campos pueden ser de dos tipos, los sirvientes que sonprocedimientos activados por el marco para alcanzar cierto objetivo y los demonios: se activan automáticamente en ciertascircunstancias.

Otras posibilidades de control del razonamiento son la profundidad de procesamiento variable (el usuario determinaasí cuantos marcos van a ser activados), la gestión de agendas, el establecimiento de niveles de prioridad, los métodos denaturaleza heurística.

Herramientas basadas en Marcos

Existen numerosas herramientas basadas en marcos, algunas como FrameKit usan sólo este tipo de representación,otras como ART, KEE, GoldWorks, Nexpert combinan marcos y reglas. Las propuestas actuales están inspiradas en lapropuesta de Minsky aunque, en la práctica carecen de muchas de las propiedades que él sugirió (la organización de losmarcos mediante una red en la que unos marcos podían ocupar los campos de otros marcos dando lugar, a una red deactivación).

Los marcos originales estaban orientados al reconocimiento de imágenes y del lenguaje natural, mientras que losactuales se utilizan en la construcción de sistemas expertos, donde el diagnóstico mediante comparación de patronesdesempeña un lugar menos importante.

Inferencia mediante marcos

Los sistemas actuales basados en marcos se basan una organización jerárquica cuyo principal modo de inferencia esla herencia de campos, de valores por defecto, de demonios, etc. El punto de partida es la creación de una red de marcos einstancias, cada marco representa un concepto o una clase, hereda los campos de todos sus antepasados en la red. Cadainstancia representa un elemento dentro de la clase, hereda campos y valores de los marcos a los que pertenece (en GoldWokscada instancia pertenece a un solo marco, en Nexpert puede pertenecer a varios marcos).

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 interacción con el usuario.

Demonios

Los demonios son funciones o procedimientos que se invocan automáticamente al realizar ciertas operaciones sobreel valor de un campo. Se utilizan sobre todo para actualizar los campos que dependen de otros, manteniendo la consistenciadel 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 asignación: cuando se añade un valor a un campo.

• Demonio de modificación: cuando se varía el valor de un campo.• Demonio de borrado: cuando se elimina el valor de un campo.

Los demonios no sólo relacionan entre sí los campos de una misma instancia; también sirven para actualizar lapresentación gráfica del interfaz, buscan en una base de datos la información 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 tengavarios 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 deimplementación es completamente diferente.

Gran parte de las características de los marcos son ofrecidas por los lenguajes de programación orientada a objetos.En un entorno que disponga de un lenguaje para programación orientada a objetos, los marcos son considerados objetosautónomos con capacidad para comunicarse mediante mensajes. Un mensaje consistirá en un mandato a un objeto para queejecute un procedimiento local, que recibe el nombre de método, los métodos se diferencian de los demonios en que no seactivan automáticamente, sino por la recepción del mensaje.

Page 43: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 43

Ferran Gómez y José M. Godoy

La diferencia esencial entre la perspectiva orientada a objetos y los Sistemas Basados en el Conocimiento es que enlos primeros la arquitectura es plana de carácter distribuido, la solución del problema queda repartida sobre los distintosobjetos y sus métodos. En los Sistemas Basados en el Conocimiento se parte de una arquitectura multicapa donde la capa dedominio contiene los objetos estructurados. Sobre esta se superpone otra responsable del esquema inferencial y de control.

Como nomenclatura o definición de marco se usa:

< marco > :: = <clase> | <instancia><clase> :: = 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>}*|

<vacío><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 - añade | si - se - borra< valor > :: = <constante - elemental> | < nombre - de - instancia >< vacío > :: =

GUIONES

Estructura de conocimiento que contiene una secuencia estereotipada de acciones, se entiende acción en sentidoamplio, es decir, incluyendo sus acepciones de conversación, pensamiento, actos de voluntad y sentimientos.

Planteamiento del Problema

Los guiones surgieron para ampliar las capacidades inferenciales de los “grafos de dependencia conceptual” (gdc)en la comprensión del lenguaje natural. Tienen, al igual que los marcos, una estructura suficiente para contener ladescripción de situaciones estereotipadas (una frase necesita analizarse en un contexto). Se diferencian en que la composiciónde la estructura está predeterminada. Un guión está compuesto por una sucesión de escenas o eventos que describen el deveniresperado de los acontecimientos en una determinada situación. Un marco tiene campos que sirven para reconocer los objetos,y un guión tiene escenas que sirven para reconocer situaciones, por ello un guión puede considerarse como un tipo particularde marco, con las peculiaridades de que cada campo corresponde a un suceso y de que los campos-sucesos forman unasecuencia.

Representación del Conocimiento

Los programas que utilizan guiones almacenan la información correspondiente a las escenas en grafos dedependencia conceptual; sin embargo los guiones van más allá de la representación de frases aisladas ya que enlazansecuencias de acciones.

Un guión se compone de:

• Escenas: Los sucesos descritos en el guión, enlazados causalmente en forma de secuencia.• Roles y objetos: Se representan con variables y son propios de cada guión; corresponden a personajes y

objetos que intervienen de modo que cada uno de ellos puede aparecer varias veces en la historia.Incluyen restricciones para indicar qué rol, objeto o lugar se puede asignar a las variables.

• Cabeceras: Existen varios tipos, unas dan nombre al guión, otras representan condiciones, instrumentosy lugares; su misión es activar el guión en el momento oportuno.

• Resultados : Son un conjunto de hechos que serán ciertos cuando se complete la secuencia de sucesosdescritos en el guión.

Page 44: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 44

Ferran Gómez y José M. Godoy

Inferencia mediante Guiones

El objetivo del uso de guiones no se limita a la representación del conocimiento, sino que está orientado a lacomprensión del lenguaje natural y se utilizan principalmente para la interpretación de textos escritos. Los métodos paracomprobar la correcta interpretación de un texto son:

• Formulación de preguntas y ver si responde adecuadamente.

• Pedirle que repita el mismo texto con otras palabras (paráfrasis).En el proceso de inferencia los pasos son:• Seleccionar el guión que mejor explica la historia que se desea analizar. A través de las cabeceras de los guiones

se decide cuál es el que pasa a estar activado.• Asignar variables, es decir identificar los roles, objetos y lugares que intervienen. A partir de ahí, el guión

“instanciado” permite extraer la información que no aparecía explícitamente en la historia escrita; en eso consisteprecisamente la inferencia.

• Finalmente, a partir del guión se extrae toda la información que no se ha podido obtener del texto escrito.

La interpretación implica un proceso de reconocimiento, que en la práctica se implementa mediante la comparaciónde patrones. Existen tres métodos básicos de afrontar el problema de la comprensión de textos mediante guiones:

• Ascendente: Consiste en analizar palabra por palabra, activando los marcos que mejor explican toda lainformación que va apareciendo.• Descendente: Selecciona un marco y trata de “encajar” en él la información, la que se ajusta a las expectativas esasimilada y el resto se ignora. Se usa cuando sólo se quiere extraer la información más relevante, pues es máseficiente y robusto, este método desprecia la información relevante que no se ajuste a las expectativas del guión.• Ascendente - Descendente: Aprovecha las ventajas de los dos anteriores.

Ventajas, Inconvenientes y Extensiones

Las ventajas de uso de guiones son:• Permite leer textos relativamente breves sobres temas concretos, extrayendo información.• Al ser una extensión de los grafos de dependencia conceptual son independientes del idioma.• El principal avance que han aportado los guiones frente a los grafos de dependencia conceptual es el

control de inferencias (permiten integrar información para formar una historia, y realizan las inferenciasrelativas a la cadena causal de sucesos).

Sus inconvenientes principales son:

• Rigidez del mecanismo de representación: cada guión representa una secuencia fija de acciones.

• Incapacidad de los guiones para compartir información entre ellos.

• Incapacidad para representar motivaciones e intenciones.

Para superar la rigidez de los marcos, Schank aportó una solución consistente en representar el conocimiento enforma de paquetes de organización de memoria o MOP’s. Al igual que los guiones, cada MOP viene descrito por unasecuencia de escenas; la diferencia es que existen enlaces entre los distintos MOP’s para detectar partes comunes. Estosenlaces permiten utilizar simultáneamente los MOP’s aplicando en cada momento el que mejor explica los acontecimientosque aparecen en la historia. A la hora de interpretar una historia no es probable que exista un guión o un MOP que se ajustecompletamente al texto, por lo que en la práctica será necesario adaptar alguno de los que existen. Si esta modificaciones sealmacenan de forma ordenada, el sistema podrá aprovechar la experiencia adquirida en la comprensión de nuevos casos,teniendo así un mecanismo de aprendizaje mediante MOP’s. Los MOP’s sirvieron de base para el razonamiento basado encasos (RBC), que consiste en recordar alguna de las soluciones aplicadas a problemas del pasado y adaptarla a un nuevoproblema.

COMENTARIOS

Existen dos modos en los que los marcos han sido y son utilizados:• Patrones para la comparación: Cuando la información disponible indica que el problema planteado (diagnosticar

una enfermedad o comprender un texto) se ajusta a un marco, el resto de la información contenida en dicho marco nospermite inferir la presencia de otros elementos.

• Almacenes de información: En este caso los marcos significan ante todo una forma estructurada de almacenarinformación. La distinción entre marcos e instancias y su organización en forma de red jerárquica permite utilizar la herenciade propiedades como mecanismo de razonamiento por defecto.

El lenguaje KRL participa de ambos paradigmas, pero la mayor parte de las herramientas basadas en marcosactuales se ajustan al segundo paradigma.

Page 45: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 45

Ferran Gómez y José M. Godoy

Valoración

Es importante la comparación de los mecanismos de representación del conocimiento. Las reglas surgen comoaplicación de la lógica, reduciendo la expresividad con el fin de mejorar la eficiencia. Los esquemas basados en redes estáninspirados en psicología (redes semánticas de Quillian) o en la lingüística (grafos de dependencia conceptual de Schank),otros tratan de implementar las características de la lógica de primer orden (redes de Hendrix, Shapiro y Sowa). Los marcosrepresentan el conocimiento de forma estructurada. La información relativa a un objeto queda reunida en un marco en vez deestar dispersa en un conjunto de proposiciones sin ninguna estructura, significando una mayor eficiencia. Los marcos aportannuevas posibilidades de razonamiento frente a la lógica con la capacidad para reconocer entidades y situaciones, los marcosson capaces de establecer una conclusión incluso con información incompleta.

Page 46: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 46

Ferran Gómez y José M. Godoy

9. SISTEMAS EXPERTOSCONCEPTO DE SISTEMA EXPERTO: ESTRUCTURA BÁSICA,

CARACTERÍSTICAS, VENTAJAS Y LIMITACIONES

Un sistema experto es un programa de ordenador que codifica un modelo de conocimiento de un experto humano enun campo reducido. Un Sistema Experto empieza con un modelo conceptual a nivel de conocimiento y termina en unaimplementación, tras una etapa de codificación. La arquitectura de un sistema experto de la primera época es de hecho la deun sistema basado en reglas. Con el uso de los marcos y las reglas aparecen dudas en la distinción entre conocimiento estáticoy dinámico. La introducción 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 actualización delconocimiento.

Estructura Básica

ENTORNO de DESARROLLOEditor de Conocimiento

Módulo deAprendizaje

Base deConocimiento

UsuarioFinal

Profesionalque

desarrollael SE

Sistema de AdquisiciónAutomática del Conocimiento

Base deAfirmaciones

MAC

Base deDatos

Módulo deExplicación

de

Desarrollo

Interfaz

de

Usuario

Interfaz

Page 47: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 47

Ferran Gómez y José M. Godoy

• Base de Conocimientos (BC): contiene la representación modular y computable de aquellos fragmentosde conocimiento que hemos sido capaces de modelar y representar a través del diálogo con el expertohumano. En la obtención de este conocimiento se usan metodologías, propias del nivel de conocimientode Newell, para reducir las descripciones en lenguaje natural a nivel simbólico. Está formada por unconjunto de reglas o marcos, o por una combinación de ambos.

• Mecanismos de Aplicación del Conocimiento (MAC): dependen de la aplicación y de la forma derepresentación del conocimiento. Si el conocimiento se representa sólo con reglas, la inferencia serealiza seleccionando reglas que se van a ejecutar después, y eso lo podemos hacer de dos formas: porencadenamiento dirigido por datos (hacia adelante) o dirigido por hipótesis (hacia detrás). En cambio, siel conocimiento está representado usando marcos, la BC estará organizada en una jerarquía para lasdistintas clases de objetos estructurados necesarias en la aplicación y la inferencia estará basada en laherencia directa y por defecto.

• Base de Afirmaciones (BA) o Conjunto de Hechos Ciertos: es dinámica. Es una memoria de trabajodonde el mecanismo de inferencia (MAC) almacena las conclusiones transitorias que va obteniendo ydonde, a su vez, busca las premisas que le permiten obtener otras nuevas. El contenido de la BA esdistinto para cada consulta que se realiza. Los hechos ciertos de la Base de Afirmaciones activan ciertosmódulos, haciéndolos explícitos y produciendo nuevos hechos.

• Interfaz de Usuario: debe ser potente, fácil de utilizar y de uso agradable, ya que es fundamental para laaceptación o el rechazo del sistema experto.

• Base de Datos (BD): se utiliza para almacenar y recuperar de forma eficiente la información adicionalpropia de cada aplicación y no incluida ni en la BA ni en la BC.

Además de estos componentes que se encuentran en todos los Sistemas Expertos, hay tres elementos más que estánincluidos en algunos casos. Son el Módulo de Explicación (ME), el Módulo de Aprendizaje (MA) y el Módulo deAdquisición de Conocimiento (AC).

Este esquema es utilizado básicamente con reglas; en los sistemas basados en marcos y redes, existe una separaciónentre inferencia y conocimiento, pero la información del dominio y las conclusiones obtenidas se almacenan en los marcos oen los nodos y enlaces de la red, por lo cual no se puede distinguir entre la Base de Conocimientos y la Base de Afirmaciones.

Características de un Sistema Experto

• Competencia en su campo : Éste es el significado de experto: ha de poder resolver problemas con unaeficiencia y calidad de resultados comparables a las de un experto humano.

Dominio reducido: Distingue los Sistemas Expertos de los programas de IA. El limitarse a un dominioreducido es un requisito para alcanzar la competencia.

Capacidad de explicación: Un SE debe ser capaz de explicar al usuario el proceso de razonamientoempleado. Los resultados en este apartado son modestos y dependen de los avances en el campo delaprendizaje simbólico.

Tratamiento de la incertidumbre: Es una exigencia que se deriva de la complejidad de los problemas quevan a abordar los Sistemas Expertos, ya que son complejos y con numerosas fuentes de incertidumbre,cuyo tratamiento resulta complejo.

Flexibilidad en el diálogo: Se hace necesario llegar a la flexibilidad en el diálogo de un experto humano,el cual acepta información en cualquier momento del proceso. El SE debería comunicarse en lenguajenatural

Representación explícita del conocimiento: Todo programa de ordenador se basa en el conocimiento deproblema a tratar, pero en este caso queremos decir que la finalidad del programa es representarexplícitamente el conocimiento.

Ventajas y Limitaciones

• Ventajas respecto al experto humano

Permanencia: Los expertos humanos pueden desaparecer. Este problema no existe para los S. E.

Duplicación: Los expertos humanos están en un único lugar no se pueden repetir, en cambio, delSistema Experto se pueden realizar las copias que se deseen.

Fiabilidad: Los expertos humanos son personas y por tanto pueden estar condicionados por factoresexternos. En cambio los SE no lo están y siempre responden de la misma forma.

Page 48: Introducción Inteligencia Artificial

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 48

Ferran Gómez y José M. Godoy

Rapidez: El experto humano será rápido en los casos habituales, pero no en los casos más raros. Encambio el SE será rápido en todos los casos.

Bajo coste: Los sistemas expertos, una vez construidos producen grandes beneficios.

• Limitaciones respecto al experto humano

Sentido común: Un SE carece de esta característica. Puede sacar conclusiones absurdas.

Flexibilidad: El experto humano es flexible y puede adaptarse a las nuevas circunstancias, situacionesinesperadas, buscando nuevas soluciones. Los SE son rígidos.

Lenguaje natural: Aún no existen SE que puedan interactuar en lenguaje natural con el usuario.

Experiencia sensorial: Básicamente todos los datos son recibidos por el SE a través de un teclado o unratón. Sólo algunos disponen de tratamiento de imágenes, y es incomparable con la capacidad de visiónhumana. Lo mismo puede decirse de la capacidad auditiva, táctil 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 aún nopueden ser modelados.

Capacidad de manejar conocimiento no estructurado: El experto humano puede utilizar la informacióny 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 creación artística, el conocimiento delsentido común y la formación de conceptos. Estos campos son genuinamente humanos.