Está en la página 1de 30

UNIDAD 3

3.1 Reglas de producción.

3.2 Sintaxis de las reglas de producción.


- A1 A2 ... An => C
- representación objeto-atributo-valor

3.3 Semántica de las reglas de producción

3.3.1 Conocimiento causal.

3.3.2 Conocimiento de diagnóstico.

3.4 Arquitectura de un sistema de


Producción (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


Producción.

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 1


Sistemas de razonamiento lógico

1- Los sistemas de razonamiento automático se clasifican en cuatro grupos:

 Demostradores de teoremas y lenguajes de programación lógicos.


 Sistemas de producción
 Sistemas de cuadro y redes semánticas
 Sistemas lógicos por descripción.

2- Indización, recuperación y unificación.

Implantación de oraciones y términos.

El tipo básico de datos representará la aplicación 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 localización de oraciones en la base de


conocimientos que unifican con la consulta, o que por lo menos tienen la misma
estructura sintáctica.
 PREGUNTAR tiene a su cargo la estrategia de la inferencia, cuyo resultado final
es una serie de solicitudes enviadas a RECOGER.

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 2


Indización basada en tablas.

El método más recomendable consiste en implantar la base de conocimientos como tabla


de dispersión. Las llaves para la tabla son signos de predicado y los c alores que se
guardan en cada llave constarán 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 conclusión
 Una lista de oraciones en las que el predicado está en la premisa

PREGUNTAR utiliza el encadenamiento hacia atrás. Lo primero sería invocar RECOGER


para encontrar una literal positiva que coincida con la consulta. Si eso no funciona, se
invoca RECOGER para localizar una implicación en la que el término de la consulta sea el
consecuente. Si este es encontrado, se aplica la sustitución adecuada, el antecedente se
convierte ahora en la nueva meta, y se reanuda el procedimiento.

Indización basada en árbol.

La indización basada en árbol es una forma de indización combinada, en tanto que


básicamente 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 indización cruzada se indizan entradas en diversos sitios; cuando se


hace una consulta, la recuperación se realiza en la parte que ofrece más posibilidades.

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 3


El lenguaje Prolog

El programa Prolog tiene las siguientes características:

 El programa consta de una secuencia de oraciones, que guardan una relación


implícita de conyunción. Todas las variables tienen cuantificación universal
implícita y cuando las variables aparecen en oraciones distintas se consideran
como diferentes.
 Las oraciones son atómicas, o bien una implicación que no tiene antecedentes
negados y un consecuente atómico.
 Los términos pueden ser signos de constante, variables o términos funcionales.
 En Prolog se emplea un operador de negación como falla: una meta no P se
considera demostrada si el sistema no logra demostrar P.
 Todos los términos diferentes desde el punto de vista sintáctico 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.

Implantación.

Los diseñadores de Prolog realizaron su implantación con el fin de contar con un modelo
sencillo y de rápida ejecución:

 Todas las inferencias se realizan por encadenamiento hacia atrás, con búsqueda
preferente por profundidad, lo cual no permite a Prolog ser completo.
 El orden de búsqueda a través de los conniuntos de un antecedente es siempre
de izquierda a derecha, y las cláusulas de la base de conocimiento se aplican en
orden, de la primera a la última.
 La verificación de ocurrencia se omite en la rutina de unificación.

Prolog enumera todas las soluciones correspondientes a una consulta, pero no las agrupa
en un conjunto. Más bien toca al programa del usuario decidir lo que hará con cada
solución conforme ésta es enumerada.

La ejecución de un programa Prolog se realiza de dos maneras:

 Por interpretación: consiste en que en vez de construir la lista de todas las


respuestas posibles para cada subtema, antes de proceder con la siguiente, los
intérpretes de Prolog generan una respuesta y una “promesa” para generar el
resto una vez que la respuesta en cuestión haya sido explorada totalmente
 Por compilación: Prolog elimina la necesidad d un tipo de datos de sustitución al
implementar variables lógicas capaces de recordar su vinculación actual.

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 4


3.1 Reglas de producción

4- Demostradores de teoremas.

Los demostradores de teoremas se diferencian en dos aspectos de los lenguajes de


programación lógica:

1. Los lenguajes de programación lógicos sólo manejan cláusulas de Horn, en tanto


que los demostradores de teoremas si aceptan la lógica de primer orden.

2. Los programas de Prolog combinan lógica y control, mientras que los


demostradores de teoremas necesitan todavía controlar la información 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 producción

IF cond1 AND cond2 AND…condn

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 INTELIGE NCIA ARTIFICIAL 5
3.2 Sintaxis de las reglas de producción

Make Rule (Rtigre,π,

Animal: grupo #= carnívoro And

Animal: color # = leonado And

Animal pelaje #= franjas_negras,

Animal: especié = tigre);

Sintaxis reglas en JESS

(Defrule apagar luces

(And

(Vivienda vacía)

(Luz encendida)

(Printout t “la vivienda está vacía. Las luces deben estar apagadas.”Crlf)

(retract-string “(luz encendida) “ )

(assert (luz apagada))

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 6


Representación objeto atributo valor

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 7


3.3 SEMANTICA DE LAS REGLAS DE PRODUCION

Los sistemas basados en reglas son los más comúnmente utilizados. Su


simplicidad y similitud con el razonamiento humano, han contribuido para su
popularidad en diferentes dominios. Las reglas son un importante paradigma de
representación del conocimiento.

Las reglas representan el conocimiento utilizando un formato SI-ENTONCES (IF-


THEN), es decir tienen 2 partes:

 La parte SI (IF), es el antecedente, premisa, condición o situación; y


 La parte ENTONCES (THEN), es el consecuente, conclusión, acción o
respuesta.

Las reglas pueden ser utilizadas para expresar un amplio rango de asociaciones,
por ejemplo:

SI está manejando un vehículo Y se aproxima una ambulancia, ENTONCES baje


la velocidad Y hágase 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 INTELIGE NCIA ARTIFICIAL 8


3.3.1 CONOCIMIENTO CAUSAL

Las generalizaciones habituales nos dicen cómo son las cosas: Las catedrales castellanas
son góticas. 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 conclusión dice:

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

Esto no es más que una manera de hablar, ya que, en rigor, no sabemos cómo una
causa produce un efecto. Abro un grifo y cae agua; le piso la cola al gato y maúlla;
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é cómo 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 cólera de los
dioses, pero limitado. Nunca le vemos la cara a una causa. No sabemos qué es. No
percibimos cómo germina un efecto. Constatamos que determinadas acciones o
sucesos se acompañan de otros. Comprobamos que determinadas cosas a las que,
para entendernos, llamamos causas, se siguen de otras distintas consideradas
efectos.

o 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.

o En el momento de orinar sentí que el líquido tenía olor de espárragos. Había comido,
hacía dos horas, una tortilla con espárragos. Comprendí la ley de la causalidad JOSEP
PLA

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 9


Las relaciones
Hablamos de causa cuando al fenómeno en cuestión, el efecto, le acompaña o le precede
otro con el que podemos asociarlo. Percibimos una relación regular entre la aparición de dos
sucesos. Así, pues, nuestra primera pregunta en la investigación de una causa es acerca de
esa relación: ¿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 fenómenos


como una relación de causa-efecto? La respuesta corresponde al argumento causal, cuyo
objetivo, como se ve, no es otro que justificar el paso de una relación observada a la
afirmación de una relación causal. De la generalización: Siempre que aparece A, surge B, a
la conclusión: A causa B.

o Existe una relación regular entre las apariciones de A y las de B


Luego probablemente A causa B

o Si un hilo aguanta 1 kg y se rompe con 2 kg, ese aumento es la causa.

UNIDAD 3 INTELIGE NCIA 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 constelación de causas).

En el caso sencillo, apreciamos una relación manifiesta: Al fenómeno B le precede


regularmente el fenómeno A como condición suficiente y necesaria.

A causa B porque:
Generalmente si ocurre A, se da B (condición suficiente)
Y, generalmente, si no ocurre A, no se da B (condición 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 actúa la causa, se produce
el efecto. Y, al revés, que cuando aquélla falta, nunca o casi nunca surge el efecto. Si no
es así, no podemos considerar que exista una relación 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 observación aislada. Hay muchos acontecimientos que
ocurren de manera simultánea o sucesiva por pura casualidad:

Durante el último eclipse una vaca parió un ternero con cinco patas.
Luis tuvo el accidente el día que dejó su amuleto en casa

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 11


Descartamos la casualidad comprobando la regularidad con que aparece la relación, lo que
exige varios casos u observaciones repetidas. Esto es una generalización y exige, como se
sabe, observaciones múltiples de resultado homogéneo: A siempre, casi siempre, con
frecuencia, conduce a B.

— Generalmente, cuando duermo en esa habitación me da el asma.


— ¿Y si no?
— No.

Decimos generalmente porque, como en toda generalización 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 eléctrica)

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 12


¿Qué es un sistema basado en el conocimiento?

Los sistemas basados en el conocimiento son el resultado de un largo proceso de


investigación realizado por los científicos en el área de la Inteligencia Artificial,
cuando, en los años setenta, comenzaron a comprender que la capacidad de un
programa de ordenador para resolver problemas no reside en la expresión formal
ni en los esquemas lógicos 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 resolución 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 (téngase en cuenta que para construir un SBC se suele contar con
grandes expertos en la materia que incorporan su conocimiento al sistema). Esta
pretensión es más 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 intuición ni el sentido
común, los sistemas basados en el conocimiento han conseguido notables éxitos,
consiguiendo en ocasiones ser más regulares y rápidos que los propios expertos.

Los sistemas basados en el conocimiento desarrollados hasta hace poco


constituyen la primera generación cuya característica común 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 más avanzados, Sistemas de Segunda


Generación, 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 INTELIGE NCIA 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 programación específicos de la inteligencia artificial
(LISP y PROLOG) como de propósito general (C, PASCAL, etc.).

El lenguaje LISP es uno de los más utilizados desde los comienzos de la I.A. Se
trata de uno de los lenguajes de alto nivel más antiguos. Se creó en 1950 en el
MIT por John McCarthy. Es un lenguaje cuya principal estructura de datos son las
listas, aún cuando se han ido incorporando otras estructuras más sofisticadas
como pueden ser los objetos.

Tiene como ventaja el manejo de sus estructuras a muy alto nivel lo que facilita la
implementación rápida de los modelos y su facilidad de modificación. Como
desventaja está su relativa lentitud frente a lenguajes de propósito general como
C. La mayoría 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
programación más usuales que son procedurales.

Los lenguajes declarativos, a diferencia de los procedurales, no describen


secuencialmente el algoritmo de resolución del problema, sino que se limitan a
describir los hechos conocidos y las relaciones existentes entre ellos. Los
lenguajes procedurales están orientados al "cómo" mientras que los declarativos
están 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 automáticamente.

PROLOG tiene incluido, por tanto, un motor de inferencia que se encarga de


realizar búsquedas 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, aún cuando se le reconocen sus bondades, no ha
tenido una gran utilización (si se exceptúa Francia, Gran Bretaña y Japón con el
proyecto de 5ª generación, en el que se adoptó como lenguaje de programación
PROLOG) siendo su principal aplicación el manejo de bases de datos relacionales
junto con lenguajes de bases de datos de 4ª generación asociados a éstas.

En la actualidad, es común la utilización de lenguajes orientados a objeto (tales


como C++) para el desarrollo de generadores de sistemas basados en el

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 14


conocimiento y de los propios sistemas basados en el conocimiento por su
rendimiento, en términos de tiempo de ejecución, superior al de las herramientas
generales. La incorporación de la programación orientada a objetos al lenguaje C
ha facilitado la labor de modelización que requiere todo sistema basado en el
conocimiento y su rapidez de ejecución así como el hecho de ser uno de los
lenguajes de programación más conocidos ha hecho que su uso vaya en aumento.

Una herramienta para la construcción de sistemas basados en el


conocimiento no es sólo un lenguaje de programación de alto nivel orientado al
desarrollo de estos sistemas. Este equipo lógico de desarrollo tiene, entre otras,
las siguientes características o utilidades:

 Posibilidades para el desarrollo de prototipos.


 Un motor de inferencia.
 Un método o varios para la representación del conocimiento.
 Una o varias técnicas para el manejo de la incertidumbre.
 Un generador de interfaces gráficos (no siempre).

Estas herramientas están muy orientadas hacia el usuario final de la aplicación y,


por lo tanto, es fundamental elegir la herramienta adecuada al entorno de
aplicación. Son muchos los factores que influyen a la hora de tomar una decisión.
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 aproximación es necesario indicar que las herramientas pueden


clasificarse en tres grupos en función 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 tecnología 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 específica ya que puede
utilizarse un lenguaje de programación de propósito general.

 Desarrollo del prototipo: En esta fase las herramientas deben poseer una serie
de características a nivel de estructuras de control, permitir probar y comparar los
diferentes enfoques de la resolución del problema (representación del
conocimiento, estrategia de control, etc.) y ofrecer facilidades a los ingenieros del
conocimiento (traza, gestión de coherencia, etc.) en el desarrollo del sistema.

 Desarrollo del sistema: El factor más importante es la eficiencia. Asimismo, debe


disponer de módulos explicativos evolucionados para una efectiva compilación de
la base de conocimiento y los métodos de inferencia. En resumen, deben

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 15


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

 Identificación de la aplicación y concepción de la solución.


 Desarrollo del (de los) prototipo(s).
 Ejecución y construcción del sistema completo.
 Alcanzar la integración del nuevo sistema con los anteriores y la
asimilación del uso de la nueva tecnología.

Ámbitos de aplicación

Los Sistemas Basados en el Conocimiento no son sistemas que puedan


normalmente existir aislados de otros sistemas de tecnología más convencional.
Normalmente se trata de sistemas que complementan la funcionalidad que otros
aportan. Es muy habitual que estos sistemas necesiten información de partida de
otros sistemas o de Bases de Datos existentes. En muchos casos, también, los
resultados de un Sistema basado en el Conocimiento tienen que ser exportados a
otros sistemas para su tratamiento. De ahí la importa ncia, a la hora de diseñar un
Sistema Basado en el Conocimiento, de contemplar la necesidad de conexión con
otros sistemas o con Bases de Datos. Por otro lado, también es frecuente el
almacenamiento de la propia información 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 investigación en Inteligencia
Artificial es la realización de consultas a las bases de datos relacionales utilizando
el lenguaje natural o una forma simplificada, sin necesidad de conocimientos de
programación.

Según el tipo de problema a resolver, los ámbitos de aplicación en los que más 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 problemática determinada sugieren la solución que consideran más idónea
a partir del conocimiento incluido en el sistema. Ejemplos de este tipo de sistemas
puede ser el Sistema de Información Normativo Aplicado al Control (SINAC) fruto
de la colaboración entre la Intervención General de la Administración del Estado y
la Dirección General de Informática Presupuestaria. Su función primordial consiste
en ayudar en la fiscalización y control de la actividad económica del Sector
Público. Otro ejemplo significativo podría ser la Metodología de Análisis y Gestión
de Riesgos de los sistemas de Información de las Administraciones públicas
(MAGERIT), elaborada por un equipo interdisciplinar del Comité Técnico de
Seguridad de los Sistemas de Información y Tratamiento Automatizado de Datos
Personales, SSITAD, del Consejo Superior de Informática y que consiste en un
método formal para investigar los riesgos que soportan los Sistemas de
Información, y para recomendar las medidas apropiadas que deberían adoptarse
para controlar estos riesgos; por tanto, permite aportar racionalidad en el

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 16


conocimiento del estado de seguridad de los Sistemas de Información y en la
introducción de medidas de seguridad.
 Configuración. Se encargan de la selección y planificación de los componentes
que se necesitan en un proceso determinado. Un caso típico son los sistemas que
ayudan a configurar los equipos físicos a partir de los componentes existentes y de
las restricciones establecidas.
 Diagnóstico. Se trata de sistemas que a partir de unos "síntomas" determinan las
causas que lo producen. Ejemplo de ellos son los sistemas basados en el
conocimiento de diagnóstico de enfermedades o de averías.
 Interpretación y Análisis. Sirven para tratar grandes volúmenes de información,
interpretarla, dar un informe explicativo y sugerir las acciones a tomar. Ejemplo de
ellos pueden ser los sistemas de evaluación de resistencia de estructuras frente a
terremotos o sistemas de supervisión de procesos industriales.
 Monitorización. En algunas situaciones se considera un caso particular de
sistemas de interpretación y análisis, 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
monitorización de procesos en factorías, plantas químicas, centrales nucleares,
etc. Son sistemas que deben funcionar en tiempo real.

 Planificación. Son sistemas que establecen las etapas y recursos necesarios


para alcanzar un determinado objetivo. Ejemplo de ellos podría ser un sistema
basado en el conocimiento de planificación de trabajos en una factoría.

 Interfaces inteligentes. Hacen de puente entre las personas y equipos complejos


y de difícil utilización. Caso típico son los interfaces inteligentes de acceso a base
de datos.

 Diseño. Son aquéllos que efectúan la planificación 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 aquélla que le
convenga. Ejemplo de este tipo son los sistemas de ayuda al diseño de puentes,
presas, microcircuitos electrónicos, etc.

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 17


UNIDAD 3 INTELIGE NCIA ARTIFICIAL 18
UNIDAD 3 INTELIGE NCIA ARTIFICIAL 19
3.4 SISTEMAS BASADOS EN REGLAS DE PRODUCCIÓN

Un sistema de producción proporciona una estructura que facilita la descripción y la


ejecución de un proceso de búsqueda. Un sistema de producción consiste de:

 Un conjunto de facilidades para la definición de reglas.


 Mecanismos para acceder a una o más 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 simultáneamente.
 Un mecanismo que se encarga de ir aplicando las reglas.

Dentro de esta definición general de sistema de producción, se incluyen:

 Lenguajes básicos para sistemas de producción (LISP, CLIPS, PROLOG).


También se los conoce como lenguajes de Inteligencia Artificial.
 Sistemas híbridos y sistemas vacíos (shells) para producción de sistemas basados
en conocimientos (VP-Expert, Expert Teach, Personal Consultant, Intelligence
Compiler, EXSYS).
 Arquitecturas generales para resolución de problemas (máquinas LISP, máquinas
PROLOG).

Características de los Sistemas de Producción

Un sistema de producción, al igual que los problemas, puede ser descrito por un conjunto
de características que permiten visualizar la mejor forma en que puede ser implementado.

Un sistema de producción se dice que es monotónico si la aplicación de una regla nunca


evita que más tarde se pueda aplicar otra regla que también pudo ser aplicada al
momento en que la primera fue seleccionada.

Un sistema de producción 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
aplicación de cualquier permutación posible de dichas reglas se puede lograr el mismo
resultado.

Un sistema de producción es conmutativo, si es monotónico y parcialmente conmutativo.

Sistema de producción MONOTÓNICO NO-MONOTÓNICO


PARCIALME NTE CONMUTATIVO Demostración de Teoremas Navegación Robótica
PARCIALME NTE NO CONMUTA TIV O Síntesis Química Juego de Ajedrez

UNIDAD 3 INTELIGE NCIA 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 aplicación
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 decisión: selección de reglas


 Fase de acción: ejecución 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 representación estratégica o técnica, la cuál es


apropiada cuando el conocimiento con el que deseamos trabajar proviene de la
experiencia o de la intuición, y por tanto carece de una demostración física o matemática.

El formato de las reglas está compuesto por proposiciones similares a la sentencia de


condición IF en un lenguaje de programación cualquiera IF-THEN (SI-ENTONCES),
quedando por tanto:

IF <antecedente o condición> THEN <consecuente o conclusión>

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 21


El antecedente y consecuente son proposiciones difusas, las cuales están
regidas por las operaciones en lógica difusa que se pueden realizar, que son:

Partiendo de dos proposiciones con dos grados de verdad τA y τB, deducimos


que:

Un ejemplo básico de cómo se podría formar una proposición de este estilo, sería el
siguiente:

SI el frío 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.

Además, en sistemas con entradas y salidas discretas, es decir, nítidas, se incluye un


interfaz de fuzzificación en la entrada y un interfaz de fuzzificación en la salida.

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 22


UNIDAD 3 INTELIGE NCIA ARTIFICIAL 23
Los Sistemas Basados en Reglas es lo mismo que Sistemas de Producción.

Ejemplo.

Sistema Deductivo basado en Reglas para identificar animales de un zoológico.

R1 If x tiene pelo THEN x es mamífero.

R2 If x da leche THEN x es mamífero.

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 mamífero AND x tiene dientes agudos AND x tiene garras

AND x tiene ojos que miran hacia adelante THEN x es carnívoro.

R7 If x es mamífero AND x tiene cascos (pesuñas) THEN x es un

Ungulado.

R8 If x es mamífero AND x mastica (rumia) hierba THEN x es un

Ungulado AND tiene dedos.

/* Reglas para identificar animales carnívoros*/

R9 If x es carnívoro AND x tiene color aleonado AND x tiene

Manchas obscuras THEn x es chita (cheetan).

R10 If x es carnívoro 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 INTELIGE NCIA 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 desempeñar 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 sesión de trabajo o para
llevar a cabo la descripción del comportamiento del propio sistema experto. Al principio
del período 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 producción son de tipo:


SI ENTONCES (SI A ENTONCES B).
Donde tanto las premisas como la conclusión, no son más 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 años
El perro es blanco
A María le gusta el cine
Pedro prefiere la película
La edad de Luis es de 25 años
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 algún conocimiento se
pueden inferir nuevos hechos (nuevos conocimientos).

UNIDAD 3 INTELIGE NCIA 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 colección
automatizada, organización, y recuperación de conocimiento.

Apenas pues tiene costumbre convertido de escribir base de datos pues una palabra él es
cada vez más común en informática escribir knowledgebase como una palabra (un
acercamiento del interino era escribir el término con un guión).

Las bases de conocimiento se categorizan en dos tipos importantes:

 Bases de conocimiento legibles por la máquina 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 lógicamente
constante manera. Operadores lógicos, por ejemplo Y (conjunción), O
(separación), implicación material y negación puede ser utilizado construirlo para
arriba del conocimiento atómico. Por lo tanto, la deducción clásica se puede utilizar
para razonar sobre el conocimiento en la base de conocimiento.

 Bases de conocimiento Human-readable se diseñan permitir que la gente recupere


y que utilice el conocimiento que ella contiene, sobre todo para los propósitos del
entrenamiento. Son de uso general capturar el conocimiento explícito del
organización, incluyendo localización de averías, artículos, 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 solución existente a su problema
actual (así evitando tuvieron que “reinventan la rueda”).

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 26


El aspecto más importante de una base de conocimiento es la calidad de la información
que contiene. Las mejores bases de conocimiento han escrito cuidadosamente los
artículos que se guardan actualizado, un sistema excelente de la recuperación de datos
(tal como a Search Engine), y un formato contento cuidadosamente diseñado y
clasificación estructura.

Una base de conocimiento puede utilizar ontology especificar su estructura (los tipos y las
relaciones de la entidad) y la clasificación proyecte. Un ontology, junto con un sistema de
casos de sus clases, constituye una base de conocimiento.

La determinación de qué tipo de información se captura, y donde esa información 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
regeneración proporcionada por el usuario, y son capaces de aprender por experiencia
(véase sistema experto). La representación del conocimiento, el razonamiento
automatizado y la argumentación son campos de investigación activos en la vanguardia
de la inteligencia artificial.

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 27


3.5 CICLO DE VIDA DE UN SISTEMA DE PRODUCCION

El concepto de sistem a de producción se basa en la Teoría General de Sistemas que


fue desarrollada por el biólogo alemán Von Bertalanffy y que en esencia es una
perspectiva integradora y holística (referida al todo).Una de las definiciones de la
teoría general de sistemas dice que los sistem as son conjuntos de componentes que
interaccionan unos con otros, de tal forma que cada conjunto se comporta com o una
unidad completa. Otra definición dice que los sistem as se identifican como conjuntos
de elem entos o entidades que guardan estrechas relaciones entre sí y que mantienen
al sistem a directo o indirectamente unido de m odo más o menos estable y cuyo
comportamiento global persigue, norm almente, algún tipo de objetivo. Pará describir y
en general para entender un sistem a, es común el uso de diagramas, los que si bien
no dan una visión completa, facilitan la visualización de las interrelaciones, como se
indica en la figura siguiente.

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 28


Ciclo de vida de un sistema de producción

Etapas del ciclo de vida de un sistema experto

 Análisis del problema


 Especificación requerida
 Diseño preliminar
 Prototipo inicial (rápido) y evaluación
 Diseño final
 Implementación
 Pruebas
 Ajuste de diseño
 Instalación, Implantación y Mantenimiento

UNIDAD 3 INTELIGE NCIA ARTIFICIAL 29


Bibliografía

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 INTELIGE NCIA ARTIFICIAL 30