Está en la página 1de 30

UNIDAD 3

3.1 Reglas de produccin. 3.2 Sintaxis de las reglas de produccin. - representacin objeto-atributo-valor 3.3 Semntica de las reglas de produccin 3.3.1 Conocimiento causal. 3.3.2 Conocimiento de diagnstico. 3.4 Arquitectura de un sistema de Produccin (SP) ( Sistemas basados en reglas, SBR). 3.4.1 Hechos. 3.4.2 Base de conocimientos. 3.4.3 Mecanismo de control. 3.5 Ciclo de vida de un sistema de Produccin.
UNIDAD 3 INTELIGENCIA ARTIFICIAL

Sistemas de razonamiento lgico

1- Los sistemas de razonamiento automtico se clasifican en cuatro grupos: Demostradores de teoremas y lenguajes de programacin lgicos. Sistemas de produccin Sistemas de cuadro y redes semnticas Sistemas lgicos por descripcin.

2- Indizacin, recuperacin y unificacin.

Implantacin de oraciones y trminos. El tipo bsico de datos representar la aplicacin de un operador a una lista de argumentos. A este tipo general para datos se denomina COMPUESTO. Cuenta con campos para el operador y argumentos.

Guardar y recoger. Cuando se guarda un conjunto de oraciones en la base de conocimientos se debe hacer de tal manera que se puedan recuperar en forma eficiente. RECOGER se caracteriza por la localizacin de oraciones en la base de conocimientos que unifican con la consulta, o que por lo menos tienen la misma estructura sintctica. PREGUNTAR tiene a su cargo la estrategia de la inferencia, cuyo resultado final es una serie de solicitudes enviadas a RECOGER.

UNIDAD 3

INTELIGENCIA ARTIFICIAL

Indizacin basada en tablas. El mtodo ms recomendable consiste en implantar la base de conocimientos como tabla de dispersin. Las llaves para la tabla son signos de predicado y los calores que se guardan en cada llave constarn de cuatro componentes: Una lista de literales positivas correspondientes al signo de predicado. Una lista de literales negativas Una lista de oraciones en las que el predicado est en la conclusin Una lista de oraciones en las que el predicado est en la premisa

PREGUNTAR utiliza el encadenamiento hacia atrs. Lo primero sera invocar RECOGER para encontrar una literal positiva que coincida con la consulta. Si eso no funciona, se invoca RECOGER para localizar una implicacin en la que el trmino de la consulta sea el consecuente. Si este es encontrado, se aplica la sustitucin adecuada, el antecedente se convierte ahora en la nueva meta, y se reanuda el procedimiento.

Indizacin basada en rbol. La indizacin basada en rbol es una forma de indizacin combinada, en tanto que bsicamente elabora una llave combinada a partir de los signos de predicado y de argumento de la consulta. Desafortunadamente, no es de mucha ayuda cuando uno de los signos de la secuencia es una variable, puesto que en tal caso es necesario recorrer cada una de las ramas. En la estrategia de indizacin cruzada se indizan entradas en diversos sitios; cuando se hace una consulta, la recuperacin se realiza en la parte que ofrece ms posibilidades.

UNIDAD 3

INTELIGENCIA ARTIFICIAL

El lenguaje Prolog

El programa Prolog tiene las siguientes caractersticas: El programa consta de una secuencia de oraciones, que guardan una relacin implcita de conyuncin. Todas las variables tienen cuantificacin universal implcita y cuando las variables aparecen en oraciones distintas se consideran como diferentes. Las oraciones son atmicas, o bien una implicacin que no tiene antecedentes negados y un consecuente atmico. Los trminos pueden ser signos de constante, variables o trminos funcionales. En Prolog se emplea un operador de negacin como falla: una meta no P se considera demostrada si el sistema no logra demostrar P. Todos los trminos diferentes desde el punto de vista sintctico se considera como que refieren a objetos diferentes. En Prolog el consecuente o cabeza, est del lado izquierdo; los antecedentes o cuerpo, a la derecha.

Implantacin. Los diseadores de Prolog realizaron su implantacin con el fin de contar con un modelo sencillo y de rpida ejecucin: Todas las inferencias se realizan por encadenamiento hacia atrs, con bsqueda preferente por profundidad, lo cual no permite a Prolog ser completo. El orden de bsqueda a travs de los conniuntos de un antecedente es siempre de izquierda a derecha, y las clusulas de la base de conocimiento se aplican en orden, de la primera a la ltima. La verificacin de ocurrencia se omite en la rutina de unificacin.

Prolog enumera todas las soluciones correspondientes a una consulta, pero no las agrupa en un conjunto. Ms bien toca al programa del usuario decidir lo que har con cada solucin conforme sta es enumerada. La ejecucin de un programa Prolog se realiza de dos maneras: Por interpretacin: consiste en que en vez de construir la lista de todas las respuestas posibles para cada subtema, antes de proceder con la siguiente, los intrpretes de Prolog generan una respuesta y una promesa para generar el resto una vez que la respuesta en cuestin haya sido explorada totalmente Por compilacin: Prolog elimina la necesidad d un tipo de datos de sustitucin al implementar variables lgicas capaces de recordar su vinculacin actual.
INTELIGENCIA ARTIFICIAL

UNIDAD 3

3.1 Reglas de produccin 4- Demostradores de teoremas. Los demostradores de teoremas se diferencian en dos aspectos de los lenguajes de programacin lgica: 1. Los lenguajes de programacin lgicos slo manejan clusulas de Horn, en tanto que los demostradores de teoremas si aceptan la lgica de primer orden. 2. Los programas de Prolog combinan lgica y control, mientras que los demostradores de teoremas necesitan todava controlar la informacin para operar eficientemente.

Estructura general de las reglas: Antecedente consecuente Donde: Antecedente: contiene las clausulas que deben cumplirse para que la regla pueda evaluarse o ejecutarse. Consecuente: indica las conclusiones que se deducen de las premisas o las acciones que el sistema debe realizar cuando ejecuta la regla.

Regla de forma general Ejemplos de reglas de produccin IF cond1 AND cond2 ANDcondn THEN acc1 AND acc2 AND Acom Ejemplo de reglas sin variables: IF (coche COCHE-JUAN) AND (Luces COCHE-JUAN tenues) THEN (verificar_bateria COCHE-JUAN) Ejemplo de regla con variables: IF (coche$x) AND (luces$x tenues) THEN (verificar_bateria$x)
UNIDAD 3 INTELIGENCIA ARTIFICIAL

3.2 Sintaxis de las reglas de produccin

Make Rule (Rtigre,, Animal: grupo #= carnvoro And Animal: color # = leonado And Animal pelaje #= franjas_negras, Animal: especi = tigre);

Sintaxis reglas en JESS (Defrule apagar luces (And (Vivienda vaca) (Luz encendida) ) (Printout t la vivienda est vaca. Las luces deben estar apagadas.Crlf) (retract-string (luz encendida) ) (assert (luz apagada)) )

UNIDAD 3

INTELIGENCIA ARTIFICIAL

Representacin objeto atributo valor

UNIDAD 3

INTELIGENCIA ARTIFICIAL

3.3 SEMANTICA DE LAS REGLAS DE PRODUCION

Los sistemas basados en reglas son los ms comnmente utilizados. Su simplicidad y similitud con el razonamiento humano, han contribuido para su popularidad en diferentes dominios. Las reglas son un importante paradigma de representacin del conocimiento. Las reglas representan el conocimiento utilizando un formato SI-ENTONCES (IFTHEN), es decir tienen 2 partes:

La parte SI (IF), es el antecedente, premisa, condicin o situacin; y La parte ENTONCES (THEN), es el consecuente, conclusin, accin o respuesta.

Las reglas pueden ser utilizadas para expresar un amplio rango de asociaciones, por ejemplo: SI est manejando un vehculo Y se aproxima una ambulancia, ENTONCES baje la velocidad Y hgase a un lado para permitir el paso de la ambulancia. SI su temperatura corporal es de 39 C, ENTONCES tiene fiebre. SI el drenaje del lavabo est tapado Y la llave de agua est abierta, ENTONCES se puede inundar el piso.

UNIDAD 3

INTELIGENCIA ARTIFICIAL

3.3.1 CONOCIMIENTO CAUSAL Las generalizaciones habituales nos dicen cmo son las cosas: Las catedrales castellanas son gticas. Forman juicios descriptivos de la realidad. A diferencia de ellas, las generalizaciones causales nos explican el porqu de las cosas: Por qu se ha muerto mi perro? Por qu hay paro? Por qu se adelantan las elecciones?

La causalidad
El argumento causal pretende razonar la existencia de una causa para determinado efecto. Su conclusin dice:

A causa B. Mi perro ha muerto porque comi un cebo envenenado.

Esto no es ms que una manera de hablar, ya que, en rigor, no sabemos cmo una causa produce un efecto. Abro un grifo y cae agua; le piso la cola al gato y malla; tomo una aspirina y se esfuma mi dolor de cabeza; arrimo fuego a la cera y sta se derrite; pulso las teclas del ordenador y aparecen letras en la pantalla... El mundo est lleno de prodigios que no s cmo se producen pero que van seguidos. Veo el rayo, escucho el gran tronazo que le sigue y digo: el rayo es la causa del trueno. Sin duda representa un gran progreso dejar de atribuir los meteoros a la clera de los dioses, pero limitado. Nunca le vemos la cara a una causa. No sabemos qu es. No percibimos cmo germina un efecto. Constatamos que determinadas acciones o sucesos se acompaan de otros. Comprobamos que determinadas cosas a las que, para entendernos, llamamos causas, se siguen de otras distintas consideradas efectos.

Una causa es lo que hace a cualquier otra cosa empezar a existir, ya sea una simple idea, una sustancia o un modo; y es efecto lo que obtiene su comienzo de alguna otra cosa. En el momento de orinar sent que el lquido tena olor de esprragos. Haba comido, haca dos horas, una tortilla con esprragos. Comprend la ley de la causalidad JOSEP PLA INTELIGENCIA ARTIFICIAL

UNIDAD 3

Las relaciones Hablamos de causa cuando al fenmeno en cuestin, el efecto, le acompaa o le precede otro con el que podemos asociarlo. Percibimos una relacin regular entre la aparicin de dos sucesos. As, pues, nuestra primera pregunta en la investigacin de una causa es acerca de esa relacin: Qu ha intervenido para modificar la marcha habitual de los acontecimientos? Qu cosa nueva ha ocurrido? Qu cambio se ha producido para que cambien las cosas? En una palabra: con qu se relaciona esto que acaba de ocurrir?

Nuestra segunda pregunta dir: Podemos considerar este emparejamiento de fenmenos como una relacin de causa-efecto? La respuesta corresponde al argumento causal, cuyo objetivo, como se ve, no es otro que justificar el paso de una relacin observada a la afirmacin de una relacin causal. De la generalizacin: Siempre que aparece A, surge B, a la conclusin: A causa B.

Existe una relacin regular entre las apariciones de A y las de B Luego probablemente A causa B Si un hilo aguanta 1 kg y se rompe con 2 kg, ese aumento es la causa.

UNIDAD 3

INTELIGENCIA ARTIFICIAL

10

El argumento causal sencillo. A la vista de lo dicho, podemos distinguir dos situaciones: los casos sencillos (con una causa definida) y los complicados (en los que puede intervenir una constelacin de causas). En el caso sencillo, apreciamos una relacin manifiesta: Al fenmeno B le precede regularmente el fenmeno A como condicin suficiente y necesaria.

A causa B porque: Generalmente si ocurre A, se da B (condicin suficiente) Y, generalmente, si no ocurre A, no se da B (condicin necesaria) Cuando ensayo con la trompeta, mi vecina golpea la pared. Cuando no ensayo con la trompeta, mi vecina no golpea la pared. Est claro que mi vecina golpea la pared porque ensayo con la trompeta.

Es preciso, pues, comprobar que siempre o casi siempre que acta la causa, se produce el efecto. Y, al revs, que cuando aqulla falta, nunca o casi nunca surge el efecto. Si no es as, no podemos considerar que exista una relacin de causa-efecto:

Dicen los griegos que los vientos etesias son la causa de crecer el Nilo, porque le impiden desaguar en el mar. Pero muchas veces no han soplado los etesias y el Nilo hace lo mismo HERODOTO. Claro est que no basta con una observacin aislada. Hay muchos acontecimientos que ocurren de manera simultnea o sucesiva por pura casualidad: Durante el ltimo eclipse una vaca pari un ternero con cinco patas. Luis tuvo el accidente el da que dej su amuleto en casa

UNIDAD 3

INTELIGENCIA ARTIFICIAL

11

Descartamos la casualidad comprobando la regularidad con que aparece la relacin, lo que exige varios casos u observaciones repetidas. Esto es una generalizacin y exige, como se sabe, observaciones mltiples de resultado homogneo: A siempre, casi siempre, con frecuencia, conduce a B.
Generalmente, cuando duermo en esa habitacin me da el asma. Y si no? No.

Decimos generalmente porque, como en toda generalizacin presuntiva o incompleta, siempre hay excepciones. Por ejemplo: frotar una cerilla causa su encendido porque:
Generalmente cuando se frota una cerilla, se enciende (salvo si est mojada) Generalmente, cuando una cerilla no se frota, no se enciende (salvo que le arrimemos una llama). Casi siempre que ensayo con la trompeta, mi vecina golpea la pared (no siempre est en casa). Generalmente, cuando no ensayo con la trompeta, no golpea la pared (salvo que yo practique con la guitarra elctrica)

UNIDAD 3

INTELIGENCIA ARTIFICIAL

12

Qu es un sistema basado en el conocimiento? Los sistemas basados en el conocimiento son el resultado de un largo proceso de investigacin realizado por los cientficos en el rea de la Inteligencia Artificial, cuando, en los aos setenta, comenzaron a comprender que la capacidad de un programa de ordenador para resolver problemas no reside en la expresin formal ni en los esquemas lgicos de inferencia que emplea sino en el conocimiento que posee. Un experto es alguien que posee unos determinados conocimientos y experiencia en un campo de la actividad humana y es capaz de aplicarlos con rapidez y eficiencia en la resolucin de tareas diferentes aunque no le hayan sido encomendadas con anterioridad, pero que caen dentro de su dominio.

As, un sistema basado en el conocimiento es un cuerpo de programas de ordenador que intenta imitar e incluso superar en algunas situaciones a un experto humano en un mbito concreto de su actividad. No pretende, en absoluto, reproducir el pensamiento humano, sino simplemente la pericia de un profesional competente (tngase en cuenta que para construir un SBC se suele contar con grandes expertos en la materia que incorporan su conocimiento al sistema). Esta pretensin es ms sencilla ya que en algunos campos reducidos los expertos trabajan siguiendo reglas, aunque, generalmente, no sean conscientes de ello. En aquellos campos en los que no sea necesario aplicar la intuicin ni el sentido comn, los sistemas basados en el conocimiento han conseguido notables xitos, consiguiendo en ocasiones ser ms regulares y rpidos que los propios expertos. Los sistemas basados en el conocimiento desarrollados hasta hace poco constituyen la primera generacin cuya caracterstica comn reside en la superficialidad del conocimiento que se incluye en el mismo. Los ingenieros de conocimiento (desarrolladores de los sistemas basados en el conocimiento) se limitan a incorporar en los sistemas la experiencia y criterios de los especialistas sin buscar las razones ltimas en las que se basan. Actualmente existen sistemas ms avanzados, Sistemas de Segunda Generacin, en la que el conocimiento se estructura en dos niveles. El primer nivel, de control (se suele aludir a l como meta conocimiento y las reglas que lo constituyen reciben el nombre de meta reglas), sirve para determinar la forma de utilizar el segundo nivel que es el que contiene el conocimiento de los expertos.

UNIDAD 3

INTELIGENCIA ARTIFICIAL

13

Lenguajes y generadores de sistemas basados en el conocimiento Para el desarrollo de sistemas basados en el conocimiento se han venido utilizando tanto lenguajes de programacin especficos de la inteligencia artificial (LISP y PROLOG) como de propsito general (C, PASCAL, etc.). El lenguaje LISP es uno de los ms utilizados desde los comienzos de la I.A. Se trata de uno de los lenguajes de alto nivel ms antiguos. Se cre en 1950 en el MIT por John McCarthy. Es un lenguaje cuya principal estructura de datos son las listas, an cuando se han ido incorporando otras estructuras ms sofisticadas como pueden ser los objetos. Tiene como ventaja el manejo de sus estructuras a muy alto nivel lo que facilita la implementacin rpida de los modelos y su facilidad de modificacin. Como desventaja est su relativa lentitud frente a lenguajes de propsito general como C. La mayora de las primeras herramientas de desarrollo de sistemas basados en el conocimiento fueron escritas en LISP y, en la actualidad, conviven con otras que se han desarrollado en C++. El lenguaje PROLOG fue creado por Alain Colmenauer en la Universidad de Marsella en 1972. Se trata de un lenguaje declarativo frente a los lenguajes de programacin ms usuales que son procedurales. Los lenguajes declarativos, a diferencia de los procedurales, no describen secuencialmente el algoritmo de resolucin del problema, sino que se limitan a describir los hechos conocidos y las relaciones existentes entre ellos. Los lenguajes procedurales estn orientados al "cmo" mientras que los declarativos estn orientados al "qu". Es el lenguaje declarativo, en el caso que nos ocupa PROLOG, quien a partir de los datos introducidos deduce nuevos hechos y resuelve el problema automticamente.

PROLOG tiene incluido, por tanto, un motor de inferencia que se encarga de realizar bsquedas en su base de hechos. Programar con PROLOG, por tanto, consiste en acertar hechos sobre objetos y preguntar al sistema sobre sus relaciones. Este lenguaje, an cuando se le reconocen sus bondades, no ha tenido una gran utilizacin (si se excepta Francia, Gran Bretaa y Japn con el proyecto de 5 generacin, en el que se adopt como lenguaje de programacin PROLOG) siendo su principal aplicacin el manejo de bases de datos relacionales junto con lenguajes de bases de datos de 4 generacin asociados a stas. En la actualidad, es comn la utilizacin de lenguajes orientados a objeto (tales como C++) para el desarrollo de generadores de sistemas basados en el
UNIDAD 3 INTELIGENCIA ARTIFICIAL

14

conocimiento y de los propios sistemas basados en el conocimiento por su rendimiento, en trminos de tiempo de ejecucin, superior al de las herramientas generales. La incorporacin de la programacin orientada a objetos al lenguaje C ha facilitado la labor de modelizacin que requiere todo sistema basado en el conocimiento y su rapidez de ejecucin as como el hecho de ser uno de los lenguajes de programacin ms conocidos ha hecho que su uso vaya en aumento. Una herramienta para la construccin de sistemas basados en el conocimiento no es slo un lenguaje de programacin de alto nivel orientado al desarrollo de estos sistemas. Este equipo lgico de desarrollo tiene, entre otras, las siguientes caractersticas o utilidades:

Posibilidades para el desarrollo de prototipos. Un motor de inferencia. Un mtodo o varios para la representacin del conocimiento. Una o varias tcnicas para el manejo de la incertidumbre. Un generador de interfaces grficos (no siempre).

Estas herramientas estn muy orientadas hacia el usuario final de la aplicacin y, por lo tanto, es fundamental elegir la herramienta adecuada al entorno de aplicacin. Son muchos los factores que influyen a la hora de tomar una decisin. En primer lugar es necesario conocer el alcance real del proyecto, esto es, si primero va a construirse una maqueta para estudiar la viabilidad del proyecto, o si por el contrario ya est decidido el desarrollo del sistema basado en el conocimiento. Como primera aproximacin es necesario indicar que las herramientas pueden clasificarse en tres grupos en funcin de las diferentes etapas del proyecto en que interviene:

Estudio de viabilidad: Se intenta verificar si el problema justifica el desarrollo de un sistema basado en el conocimiento (este punto es muy importante, ya que algunas veces se ha intentado resolver con este tipo de tecnologa problemas que no eran los adecuados, lo que llev a resultados decepcionantes). Las herramientas deben ser flexibles y de uso muy sencillo. Muchas veces en esta etapa no es necesario el uso de una herramienta especfica ya que puede utilizarse un lenguaje de programacin de propsito general. Desarrollo del prototipo: En esta fase las herramientas deben poseer una serie de caractersticas a nivel de estructuras de control, permitir probar y comparar los diferentes enfoques de la resolucin del problema (representacin del conocimiento, estrategia de control, etc.) y ofrecer facilidades a los ingenieros del conocimiento (traza, gestin de coherencia, etc.) en el desarrollo del sistema. Desarrollo del sistema: El factor ms importante es la eficiencia. Asimismo, debe disponer de mdulos explicativos evolucionados para una efectiva compilacin de la base de conocimiento y los mtodos de inferencia. En resumen, deben
INTELIGENCIA ARTIFICIAL

UNIDAD 3

15

adaptarse perfectamente al problema. El desarrollo de estos sistemas suele pasar por cuatro fases:

Identificacin de la aplicacin y concepcin de la solucin. Desarrollo del (de los) prototipo(s). Ejecucin y construccin del sistema completo. Alcanzar la integracin del nuevo sistema con los anteriores y la asimilacin del uso de la nueva tecnologa.

mbitos de aplicacin Los Sistemas Basados en el Conocimiento no son sistemas que puedan normalmente existir aislados de otros sistemas de tecnologa ms convencional. Normalmente se trata de sistemas que complementan la funcionalidad que otros aportan. Es muy habitual que estos sistemas necesiten informacin de partida de otros sistemas o de Bases de Datos existentes. En muchos casos, tambin, los resultados de un Sistema basado en el Conocimiento tienen que ser exportados a otros sistemas para su tratamiento. De ah la importancia, a la hora de disear un Sistema Basado en el Conocimiento, de contemplar la necesidad de conexin con otros sistemas o con Bases de Datos. Por otro lado, tambin es frecuente el almacenamiento de la propia informacin del sistema basado en el conocimiento (Base de Conocimiento, Base de Hechos) en una Base de Datos convencional. Por ltimo mencionar que uno de los campos de investigacin en Inteligencia Artificial es la realizacin de consultas a las bases de datos relacionales utilizando el lenguaje natural o una forma simplificada, sin necesidad de conocimientos de programacin. Segn el tipo de problema a resolver, los mbitos de aplicacin en los que ms se han utilizado los sistemas basados en el conocimiento son los siguientes:

Sistemas de ayuda a la toma de decisiones. Se trata de sistemas que a partir de una problemtica determinada sugieren la solucin que consideran ms idnea a partir del conocimiento incluido en el sistema. Ejemplos de este tipo de sistemas puede ser el Sistema de Informacin Normativo Aplicado al Control (SINAC) fruto de la colaboracin entre la Intervencin General de la Administracin del Estado y la Direccin General de Informtica Presupuestaria. Su funcin primordial consiste en ayudar en la fiscalizacin y control de la actividad econmica del Sector Pblico. Otro ejemplo significativo podra ser la Metodologa de Anlisis y Gestin de Riesgos de los sistemas de Informacin de las Administraciones pblicas (MAGERIT), elaborada por un equipo interdisciplinar del Comit Tcnico de Seguridad de los Sistemas de Informacin y Tratamiento Automatizado de Datos Personales, SSITAD, del Consejo Superior de Informtica y que consiste en un mtodo formal para investigar los riesgos que soportan los Sistemas de Informacin, y para recomendar las medidas apropiadas que deberan adoptarse para controlar estos riesgos; por tanto, permite aportar racionalidad en el
INTELIGENCIA ARTIFICIAL

UNIDAD 3

16

conocimiento del estado de seguridad de los Sistemas de Informacin y en la introduccin de medidas de seguridad. Configuracin. Se encargan de la seleccin y planificacin de los componentes que se necesitan en un proceso determinado. Un caso tpico son los sistemas que ayudan a configurar los equipos fsicos a partir de los componentes existentes y de las restricciones establecidas. Diagnstico. Se trata de sistemas que a partir de unos "sntomas" determinan las causas que lo producen. Ejemplo de ellos son los sistemas basados en el conocimiento de diagnstico de enfermedades o de averas. Interpretacin y Anlisis. Sirven para tratar grandes volmenes de informacin, interpretarla, dar un informe explicativo y sugerir las acciones a tomar. Ejemplo de ellos pueden ser los sistemas de evaluacin de resistencia de estructuras frente a terremotos o sistemas de supervisin de procesos industriales. Monitorizacin. En algunas situaciones se considera un caso particular de sistemas de interpretacin y anlisis, pero debido a su frecuente uso se suelen considerar aparte. Estos sistemas suelen encargarse de monitorizar procesos suministrando una salida de control como respuesta. Existen muchos ejemplos de monitorizacin de procesos en factoras, plantas qumicas, centrales nucleares, etc. Son sistemas que deben funcionar en tiempo real. Planificacin. Son sistemas que establecen las etapas y recursos necesarios para alcanzar un determinado objetivo. Ejemplo de ellos podra ser un sistema basado en el conocimiento de planificacin de trabajos en una factora. Interfaces inteligentes. Hacen de puente entre las personas y equipos complejos y de difcil utilizacin. Caso tpico son los interfaces inteligentes de acceso a base de datos. Diseo. Son aqullos que efectan la planificacin o trazado de un objeto o sistema en base a los requisitos especificados. Suelen ser capaces de dar diferentes soluciones de forma que el usuario pueda elegir aqulla que le convenga. Ejemplo de este tipo son los sistemas de ayuda al diseo de puentes, presas, microcircuitos electrnicos, etc.

UNIDAD 3

INTELIGENCIA ARTIFICIAL

17

UNIDAD 3

INTELIGENCIA ARTIFICIAL

18

UNIDAD 3

INTELIGENCIA ARTIFICIAL

19

3.4 SISTEMAS BASADOS EN REGLAS DE PRODUCCIN Un sistema de produccin proporciona una estructura que facilita la descripcin y la ejecucin de un proceso de bsqueda. Un sistema de produccin consiste de:

Un conjunto de facilidades para la definicin de reglas. Mecanismos para acceder a una o ms bases de conocimientos y datos. Una estrategia de control que especifica el orden en el que las reglas son procesadas, y la forma de resolver los conflictos que pueden aparecer cuando varias reglas coinciden simultneamente. Un mecanismo que se encarga de ir aplicando las reglas.

Dentro de esta definicin general de sistema de produccin, se incluyen:


Lenguajes bsicos para sistemas de produccin (LISP, CLIPS, PROLOG). Tambin se los conoce como lenguajes de Inteligencia Artificial. Sistemas hbridos y sistemas vacos (shells) para produccin de sistemas basados en conocimientos (VP-Expert, Expert Teach, Personal Consultant, Intelligence Compiler, EXSYS). Arquitecturas generales para resolucin de problemas (mquinas LISP, mquinas PROLOG).

Caractersticas de los Sistemas de Produccin Un sistema de produccin, al igual que los problemas, puede ser descrito por un conjunto de caractersticas que permiten visualizar la mejor forma en que puede ser implementado. Un sistema de produccin se dice que es monotnico si la aplicacin de una regla nunca evita que ms tarde se pueda aplicar otra regla que tambin pudo ser aplicada al momento en que la primera fue seleccionada. Un sistema de produccin es parcialmente conmutativo si existe un conjunto de reglas que al aplicarse en una secuencia particular transforma un estado A en otro B, y si con la aplicacin de cualquier permutacin posible de dichas reglas se puede lograr el mismo resultado. Un sistema de produccin es conmutativo, si es monotnico y parcialmente conmutativo.
Sistema de produccin MONOTNICO NO-MONOTNICO PARCIALMENTE CONMUTATIVO Demostracin de TeoremasNavegacin Robtica PARCIALMENTE NO CONMUTATIVOSntesis Qumica Juego de Ajedrez

UNIDAD 3

INTELIGENCIA ARTIFICIAL

20

Componentes de un SP

Base de hechos o memoria de trabajo (BH o WM): conocimiento sobre el Dominio en un determinado momento Base de reglas (BR): conjunto de reglas (producciones) SI A ENTONCES B A: condiciones de aplicacin B: acciones sobre la BH o mundo externo Estrategia de control, interprete de reglas, o motor de inferencias (EC o M): Responsable de encadenar los ciclos de funcionamiento. Fase de decisin: seleccin de reglas Fase de accin: ejecucin de reglas

Una regla se activa cuando sus precondiciones son ciertas en el estado actual De la BH o cuando la regla concluye algo que se busca establecer

Los sistemas basados en reglas (SBR) se rigen por una serie de reglas que los configuran. Una regla es definida como un modo de representacin estratgica o tcnica, la cul es apropiada cuando el conocimiento con el que deseamos trabajar proviene de la experiencia o de la intuicin, y por tanto carece de una demostracin fsica o matemtica. El formato de las reglas est compuesto por proposiciones similares a la sentencia de condicin IF en un lenguaje de programacin cualquiera IF-THEN (SI-ENTONCES), quedando por tanto: IF <antecedente o condicin> THEN <consecuente o conclusin>

UNIDAD 3

INTELIGENCIA ARTIFICIAL

21

El antecedente y consecuente son proposiciones difusas, las cuales estn regidas por las operaciones en lgica difusa que se pueden realizar, que son: Partiendo de dos proposiciones con dos grados de verdad A y B, deducimos que:

Un ejemplo bsico de cmo se podra formar una proposicin de este estilo, sera el siguiente: SI el fro es elevado ENTONCES abrigar mucho Como en todos los SBR las reglas pueden estar encadenadas, de forma que el consecuente de una regla pasa a ser el antecedente de la siguiente. Las reglas que no son encadenadas, se las denomina reglas paralelas.

Como cualquier SBR, un SBRD est constituido principalmente por dos elementos, la base del conocimiento y el motor de inferencia. Adems, en sistemas con entradas y salidas discretas, es decir, ntidas, se incluye un interfaz de fuzzificacin en la entrada y un interfaz de fuzzificacin en la salida.

UNIDAD 3

INTELIGENCIA ARTIFICIAL

22

UNIDAD 3

INTELIGENCIA ARTIFICIAL

23

Los Sistemas Basados en Reglas es lo mismo que Sistemas de Produccin. Ejemplo. Sistema Deductivo basado en Reglas para identificar animales de un zoolgico. R1 If x tiene pelo THEN x es mamfero. R2 If x da leche THEN x es mamfero. R3 If x tiene plumas THEN x es ave. R4 If x vuela AND x pone huevos THEN x es ave. R5 If x es mamifero AND x come carne THEN x es carnivoro R6 If x es mamfero AND x tiene dientes agudos AND x tiene garras AND x tiene ojos que miran hacia adelante THEN x es carnvoro. R7 If x es mamfero AND x tiene cascos (pesuas) THEN x es un Ungulado. R8 If x es mamfero AND x mastica (rumia) hierba THEN x es un Ungulado AND tiene dedos. /* Reglas para identificar animales carnvoros*/ R9 If x es carnvoro AND x tiene color aleonado AND x tiene Manchas obscuras THEn x es chita (cheetan). R10 If x es carnvoro AND x tiene color aleonado AND x tiene rayas Negras THEN x es un tigere. /* Reglas para identificar ungulados */ R11 If x es ungulado AND x tiene patas largas AND x tiene cuello Largo AND x tiene color aleonado AND x tiene manchas obscuras THEN x es una jirafa.
UNIDAD 3 INTELIGENCIA ARTIFICIAL

24

3.4.1 Hechos Base de hechos, que alberga los datos propios correspondientes a los problemas que se desea tratar con la ayuda del sistema. Asimismo, a pesar de ser la memoria de trabajo, la base de hechos puede desempear el papel de memoria auxiliar. La memoria de trabajo memoriza todos los resultados intermedios, permitiendo conservar el rastro de los razonamientos llevados a cabo. Puede, por eso, emplearse para explicar el origen de las informaciones deducidas por el sistema en el transcurso de una sesin de trabajo o para llevar a cabo la descripcin del comportamiento del propio sistema experto. Al principio del perodo de trabajo, la base de hechos dispone nicamente de los datos que le ha introducido el usuario del sistema, pero, a medida que va actuando el motor de inferencias, contiene las cadenas de inducciones y deducciones que el sistema forma al aplicar las reglas para obtener las conclusiones buscadas. {draw:frame}

Las reglas de produccin son de tipo: SI ENTONCES (SI A ENTONCES B). Donde tanto las premisas como la conclusin, no son ms que una cadena de hechos conectados por Y o por O, de forma general seria: SI Y/O Y/O..ENTONCES Y/O Los hechos son afirmaciones que sirven para presentar conceptos, datos, objetos, etc. Y el conjunto de hechos que describen el problema es la base de hechos. Ejemplo de hechos: Juan es un estudiante Juan tiene 8 aos El perro es blanco A Mara le gusta el cine Pedro prefiere la pelcula La edad de Luis es de 25 aos Pedro tiene un salario de 200 pesos Una regla es una combinante de hechos que permite representar conocimientos y sacar inferencia de los mismos.

Ejemplo de reglas R1: si y entonces R2: SI Y ENTONCES R3: SI Y ENTONCES Observe como partiendo de hechos conocidos que describen algn conocimiento se pueden inferir nuevos hechos (nuevos conocimientos).
UNIDAD 3 INTELIGENCIA ARTIFICIAL

25

3.4.2 Base de conocimiento A base de conocimiento (o knowledgebase; abreviado KB, es una clase especial de base de datos para gerencia del conocimiento. Proporciona los medios para la coleccin automatizada, organizacin, y recuperacin de conocimiento. Apenas pues tiene costumbre convertido de escribir base de datos pues una palabra l es cada vez ms comn en informtica escribir knowledgebase como una palabra (un acercamiento del interino era escribir el trmino con un guin).

Las bases de conocimiento se categorizan en dos tipos importantes:

Bases de conocimiento legibles por la mquina almacene el conocimiento en una forma legible por computador, generalmente con el fin automatizando razonamiento deductivo aplicado a ellos. Contienen un sistema de datos, a menudo bajo la forma de reglas que describan el conocimiento en a lgicamente constante manera. Operadores lgicos, por ejemplo Y (conjuncin), O (separacin), implicacin material y negacin puede ser utilizado construirlo para arriba del conocimiento atmico. Por lo tanto, la deduccin clsica se puede utilizar para razonar sobre el conocimiento en la base de conocimiento.

Bases de conocimiento Human-readable se disean permitir que la gente recupere y que utilice el conocimiento que ella contiene, sobre todo para los propsitos del entrenamiento. Son de uso general capturar el conocimiento explcito del organizacin, incluyendo localizacin de averas, artculos, papeles blancos, manuales de usuario y otros. Una ventaja primaria de tal base de conocimiento es que puede ayudar a un usuario a encontrar una solucin existente a su problema actual (as evitando tuvieron que reinventan la rueda).

UNIDAD 3

INTELIGENCIA ARTIFICIAL

26

El aspecto ms importante de una base de conocimiento es la calidad de la informacin que contiene. Las mejores bases de conocimiento han escrito cuidadosamente los artculos que se guardan actualizado, un sistema excelente de la recuperacin de datos (tal como a Search Engine), y un formato contento cuidadosamente diseado y clasificacin estructura. Una base de conocimiento puede utilizar ontology especificar su estructura (los tipos y las relaciones de la entidad) y la clasificacin proyecte. Un ontology, junto con un sistema de casos de sus clases, constituye una base de conocimiento. La determinacin de qu tipo de informacin se captura, y donde esa informacin reside en una base de conocimiento, es algo que es determinado por los procesos que apoyan el sistema. Una estructura de proceso robusta es la espina dorsal de cualquier base de conocimiento acertada. Algunas bases de conocimiento tienen inteligencia artificial componente. Estas clases de bases de conocimiento pueden sugerir soluciones a los problemas basados a veces en la regeneracin proporcionada por el usuario, y son capaces de aprender por experiencia (vase sistema experto). La representacin del conocimiento, el razonamiento automatizado y la argumentacin son campos de investigacin activos en la vanguardia de la inteligencia artificial.

UNIDAD 3

INTELIGENCIA ARTIFICIAL

27

3.5 CICLO DE VIDA DE UN SISTEMA DE PRODUCCION

El concepto de sistema de produccin se basa en la Teora General de Sistemas que fue desarrollada por el bilogo alemn Von Bertalanffy y que en esencia es una perspectiva integradora y holstica (referida al todo).Una de las definiciones de la teora general de sistemas dice que los sistemas son conjuntos de componentes que interaccionan unos con otros, de tal forma que cada conjunto se comporta como una unidad completa. Otra definicin dice que los sistemas se identifican como conjuntos de elementos o entidades que guardan estrechas relaciones entre s y que mantienen al sistema directo o indirectamente unido de modo ms o menos estable y cuyo comportamiento global persigue, normalmente, algn tipo de objetivo. Par describir y en general para entender un sistema, es comn el uso de diagramas, los que si bien no dan una visin completa, facilitan la visualizacin de las interrelaciones, como se indica en la figura siguiente.

UNIDAD 3

INTELIGENCIA ARTIFICIAL

28

Ciclo de vida de un sistema de produccin

Etapas del ciclo de vida de un sistema experto

Anlisis del problema Especificacin requerida Diseo preliminar Prototipo inicial (rpido) y evaluacin Diseo final Implementacin Pruebas Ajuste de diseo Instalacin, Implantacin y Mantenimiento

UNIDAD 3

INTELIGENCIA ARTIFICIAL

29

Bibliografa

http://www.depi.itch.edu.mx/apacheco/ai/repconoc.htm

http://www.angelfire.com/ia3/aisite/sistemas_raz_logico.htm http://expo.itchihuahua.edu.mx/view.php?f=prog_48

http://www.scribd.com/doc/6772121/3

http://www.itescam.edu.mx/principal/webalumnos/sylabus/asignatura.php?clave_asig=SC B-0416&carrera=ISC0405001&id_d=60

http://www.uco.es/grupos/eatco/informatica/ia/tema1.pdf http://ccc.inaoep.mx/~emorales/Cursos/RdeC/principal.html

http://perso.wanadoo.es/usoderazonweb/html/conten/argum/argcausa/argcausa.htm

http://campusvirtual.unex.es/cala/epistemowikia/index.php?title=Sistemas_basados_en_re glas_difusas

UNIDAD 3

INTELIGENCIA ARTIFICIAL

30