Site hosted by Angelfire.com: Build your free website today!

Motor de Inferencia.

Un motor de inferencia interpreta y evalúa los hechos en la base de conocimientos para proveer una respuesta. Este debe ser independiente del conocimiento y de los hechos. Se puede caracterizar por:

 El lenguaje en que ha sido escrito.

No Ordenada: aleatoria, heurística.

Ordenada: Encadenamiento hacia adelante (guiado por los datos, deductivo), encadenamiento hacia atrás (guiado por los objetivos, inductivo).

Booleana, trivalente, multivalente, difusa.

Monotónica o no monotónica.

Atemporal o temporal.

Lógica de orden 0, orden 0+, orden 1.

Determinístico.

Probabilístico.

Aproximado.

Difuso.

En un sistema experto, dado un estado particular de la base de datos, se deben reconocer las reglas aplicables y esto se llama filtrado o identificación de patrones, operación especialmente larga, ya que muchos sistemas realizan una preselección de las reglas antes de que comience la identificación propiamente tal. Es decir, se considera un subconjunto de reglas y entre éstas, las aplicables. Esto, es lo que se llama restricción.

Adicionalmente puede existir una Base de Datos con información puntual sobre problemas específicos anteriormente resueltos por el sistema, y que se usa como información adicional en el proceso de inferencia.

Una vez que las reglas han sido reconocidas deben ser elegidas, dependiendo de la estrategia de control, que es la selección.

Una vez que las regla han sido elegida ha de ejecutarse.

Al módulo central del sistema experto que maneja estas tres operaciones se le denomina motor de inferencia o intérprete de reglas. Hay diversos tipos de motores de inferencia según los métodos con que se manejan las tres operaciones precedentes.

  1. Identificación de patrones.

    Esta operación determina cuáles son las reglas potencialmente aplicables en un estado dado de la base de datos.

  2. Ejecución de las reglas.

    Después de la fase de filtrado, cuando una regla está reconocida como aplicable, teniendo en cuenta la base de datos existente, solo resta ejecutarla. Si hay varias posibles reglas, la elección la realiza la estrategia de control.

    La conclusión de la regla tiene por objeto modificar la base de conocimiento, creando, modificando o suprimiendo un hecho.

  3. La fase de restricción.

    En un sistema dirigido por los datos, el filtrado consiste en retener todas las reglas cuyas premisas son verdaderas teniendo en cuenta los hechos (verdaderos) presentes en la base de datos. Este sistema funciona en encadenamiento hacia delante.

  4. La fase de selección.

    Como después de las fases anteriores quedan varias reglas se debe seleccionar una y luego de procesada el programa debe saber dónde volver.

    Cuando hay una o más reglas, se usan dos estrategias:

    - La búsqueda en anchura, que elige una, generalmente la primera y se van ejecutando por turno antes de comprobar que se ha alcanzado la condición final. Si no es así se inicia otro ciclo del motor de inferencia. Este tipo de búsqueda es exhaustiva y la usa el sistema experto MYCIN.

    -          Otra estrategia es la de elegir una regla entre las aplicables por medio de una heurística, procesarla y modificar la base de datos. Si no se alcanza la condición final, comienza otro ciclo del motor de inferencia. Es por lo tanto, una estrategia en profundidad.

    Cada una de las estrategias pueden ser irrevocables o avanzar por prueba y error.

    Muchos sistemas efectúan marcha atrás, si no hay regla aplicable, pero si el sistema está bajo un control irrevocable se detendrá.

    Visto en la práctica, las reglas poseen la siguiente estructura:

    SI (CONJUNTO_DE_PREMISAS) ENTONCES CONSECUENCIA

    o bien:

    (CONJUNTO_DE_PREMISAS)  CONSECUENCIA

    El CONJUNTO_DE_PREMISAS contiene las cláusulas, o simplemente condiciones, que deben cumplirse para que la regla pueda ejecutarse, y la CONSECUENCIA representa el resultado de la ejecución de dicha regla.

    Un ejemplo sencillo que ilustra cómo representar conocimiento a través de reglas:

    Afirmación:

    Todos los catedráticos son doctores.

    Representación Lógica - Matemática:

    fact

    En esta representación la variable x constituye el conjunto de todas las personas posibles, CATEDRÁTICO representa la relación "SER CATEDRÁTICO" y DOCTOR la de "SER DOCTOR". De esta manera la regla anterior representa el hecho: Para toda persona x, Si x es catedrático entonces x es doctor.

    Representación en SE:

     fact1

    o bien:

    SI (x ES CATEDRÁTICO) ENTONCES (x ES DOCTOR)

    En este caso CATEDRÁTICO y DOCTOR representan de nuevo relaciones que deben estar representadas sobre el sistema.

     

¿Cómo representar estas nuevas relaciones?:

    Como todo sistema informático los SE pueden operar sobre un conjunto finito de elementos, para esto es necesario definir el universo de trabajo dentro del cual probaremos nuestras reglas. Sobre esta base la definición de la relación SER CATEDRÁTICO o CATEDRÁTICO, según sea la representación usada, debe hacerse puntualmente para cada individuo del universo, por ejemplo:

CATEDRÁTICO("Mario Pérez")

CATEDRÁTICO("Manuel Fernández")

CATEDRÁTICO("Maria González")

Los componentes de la relación SER DOCTOR se deducen a partir de la relación SER CATEDRÄTICO y la regla anterior, por lo que no es necesario una representación o definición explícita.

 

La inferencia o extracción de conclusiones:

Para extraer una conclusión, o inferencia, se hace necesario, antes que nada, saber el objetivo a satisfacer, o problema a resolver. Este problema se plantea en forma de objetivo que se toma por el Motor de Inferencia el cual a través de la activación y encadenamiento de reglas trata de llegar a una solución. Al seguir con el ejemplo:

Objetivo:

"Es Mario Pérez Doctor"?

Solución:

Al aplicar la regla:         SI (x ES CATEDRÁTICO) ENTONCES (x ES DOCTOR)

Se debe chequear, como precondición de activación, el cumplimiento de la relación:

CATEDRÁTICO("Mario Pérez")

Se debe chequear la base de Axiomas o Afirmaciones:

CATEDRÁTICO("Mario Pérez") existe en la base de axiomas, por lo que la precondición es verdadera.

Se dispara la consecuencia y se llega a la conclusión que Mario Pérez es doctor.

Encadenamientos de reglas:

Existen dos mecanismos fundamentales de encadenamiento de reglas:

1.         Encadenamiento hacia delante:

Se produce cuando el objetivo propuesto al sistema hace que se ejecute una regla, y la conclusión obtenida permite que se ejecute otra, y así sucesivamente hasta llegar a una respuesta, positiva o negativa. El punto final se detecta cuando no se pueden producir más encadenamientos, por ejemplo cuando se llega a un axioma.

Por ejemplo:

(1). SI (x ES JEFE_DPTO) ENTONCES (x ES CATEDRÁTICO)

(2). CATEDRÁTICO("Mario Pérez")

(3). CATEDRÁTICO("Manuel Fernandez")

(4). CATEDRÁTICO("Maria Gonzalez")

Al evaluar el objetivo: "Mario Pérez es Jefe_Dpto"?, se dispara la regla (1), la cual a su vez se encadena con la (2), en este momento no se pueden producir más encadenamientos pues la regla (2) es un axioma. Llegado a este punto el Motor de Inferencia retrocede y da una respuesta positiva a la pregunta.

2.            Encadenamiento hacia atrás:

Consiste en, dado un objetivo, buscar una regla que permita establecer dicha conclusión, el proceso se repite hasta encadenar con la regla cuya conclusión satisfaga el objetivo propuesto, o se detecte que dicho problema no se puede resolver positivamente. Por ejemplo para averiguar si "Mario Pérez es doctor" se busca un regla que tenga esta afirmación en sus consecuencias. Analizando las reglas anteriores vemos que la regla:

(5). SI (x ES CATEDRÁTICO) ENTONCES (x ES DOCTOR)

Satisface estas condiciones; siguiendo esta regla hacia atrás tenemos que buscar una nueva que permita validar si "Mario Pérez" es catedrático, lo cual se hace con el axioma (2).

Los encadenamientos constituyen, de esta manera, una de las herramientas fundamentales del Motor de Inferencia; el Lenguaje PROLOG solamente soporta el encadenamiento hacia atrás, el cual constituye el más frecuentemente implementado.

 

 

Sistemas Expertos como Sistemas de Información Orientados al Servicio.

En la Conferencia de Dartmouth en 1956 donde Newell, Shaw y Simon presentaron sus programas para demostrar las proposiciones lógicas (Logical Theorist). La expresión de Inteligencia Artificial la inventó en aquel mismo año John McCarthy.

En 1959-60, aparece un programa demostrador de teoremas basado en la lógica proposicional (General Problem Solver, por Newell, Shaw y Simon).

La década comprendida entre 1960-70  vio sentar los principios básicos de la investigación en las estructuras en árbol así como el movimiento de ideas empleadas actualmente en la resolución de problemas y los sistemas expertos. Los textos de Newell y Simon (1972) y Nillson (1971) marcan el final de este periodo.

Los principales métodos de búsqueda en estructuras en árbol, que todavía se emplean hoy en los programas de sistemas expertos, estaban ya disponibles en esos años.

Las primeras aplicaciones se hicieron en problemas fáciles de describir, pero complejos de resolver, como por ejemplo: juego de ajedrez y demostración de teoremas matemáticos.

Los sistemas expertos orientados al servicio derivaron de la necesidad de resolver problemas cada vez más complejos, con poca información estructurada y con resultados probables, donde uno de los caminos era encontrar la mejor solución a un problema, no necesariamente la única posible.

 

        Definición y Antecedentes.

Los sistemas de información proveen apoyo para las operaciones o servicios que organizaciones realizan para la sociedad. Los sistemas son orientados verticalmente a sectores específicos e industrias, ej. Manufactura, servicios financieros, publicidad, educación, salud y entretenimiento. Más que dirección administrativa y funciones administrativas, ellos apoyan actividades y procesos que son la razón para una existencia organizacional (en muchos casos, algún tipo de actividad manufacturera o el desarrollo de servicios.

Los sistemas de este tipo varían enormemente, pero ellos tienden a caer dentro de tres tipos principales: manufactura, transacciones y Sistemas Expertos.

 

La meta conceptual de la industria moderna es la manufactura integrada por computador (CIM). Involucra diseño y desarrollo de ingeniería, manufactura, marketing y ventas, y todo el campo de soporte y servicios.

El diseño asistido por computador (CAD) fue aplicado primero en la industria electrónica. Hoy ellos dan forma a las técnicas de modelación tridimensional para dibujo y manipulación de objetos sólidos en una pantalla y para derivar éstos a programas de diseño de piezas y conjuntos, modelación estructural y térmica, fabricación en máquinas CNC (control numérico).

 

Una vez que un producto es diseñado, su proceso de producción puede ser delineado usando sistemas de planificación de procesos asistidos por computador (CAPP) que ayuden a seleccionar secuencias de operaciones y condiciones de maquinado. Los modelos del sistema de manufactura pueden ser simulado por computadores antes de que sean construidos. Las funciones básicas de la manufacturación: maquinado, formado, unión, ensamble e inspección, son apoyados por el sistema de manufactura asistida por computador (CAM) y sistemas de manejo de material automatizado. El sistema de control de inventario busca mantener un óptimo stock de partes y materiales para controlar el movimiento del inventario, predecir los requerimientos e iniciar procedimientos de órdenes de compra.