Está en la página 1de 8

INTELIGENCIA ARTIFICIAL

TEMA 1: Sistemas Basados en Reglas de Producción y Métodos de solución de


problemas.

ENCUENTRO NO 1

TÍTULO: Sistemas Basados en Reglas de Producción.

SUMARIO:

1. Introducción.
2. Conceptos básicos: Sistemas Basados en Conocimientos (SBC), técnicas de
Inteligencia Artificial (IA), representación del conocimiento, reglas de
producción (RP).
3. Modelos de SBC con RP.
4. Conclusiones.

BIBLIOGRAFIA:

 Patrick H. Winston. Inteligencia Artificial. Addison-Wesley Iberoamericana, S.A.,


Mexico, 1994.
 Aurora Pons Porrata, Ernesto Carbonell Rigores. Introducción a la Inteligencia
Artificial. Departamento de computación, Universidad de Oriente, Santiago de
Cuba, 1995.
 Rafael E. Bello Pérez, Daniel Gálvez Lio, Matilde García Lorenzo, Mateo
Lezcano Brito. Modelos Computacionales Avanzados. Universidad Central de
las Villas “Marta Abreu”.

INTRODUCCIÓN
Los problemas que se presentan comúnmente en la práctica pueden ser algorítmicos
tratables, algorítmicos no tratables y no algorítmicos. En estos últimos no es posible
encontrar un algoritmo para su solución. Esto nos indica que se debe reconsiderar la
noción determinística desarrollada de algoritmo por una noción más flexible que incluya
métodos de aproximación a la solución de un problema, como los que pone en práctica
el ser humano cuando se halla ante problemas para los cuales no posee un algoritmo
específico de solución. Estos métodos se caracterizan por los siguientes rasgos
fundamentales: no siempre nos conducen al resultado, no siempre el resultado es único
y no siempre dan un resultado óptimo. La introducción de tales métodos en el diseño y
programación de algoritmos computacionales es tarea del área de la I.A.
Los problemas algorítmicos tratables se pueden resolver con las técnicas tradicionales.
Los algorítmicos no tratables, llamados también NP-completos, son aquellos para cuya
solución existen algoritmos no deterministas que se ejecutan de manera tratable, pero
que hasta el momento se duda de que pueda existir un algoritmo determinista que los
resuelva de manera tratable. Las técnicas de I.A. nos permiten resolver algunos de estos
problemas, como son:
- Problema del viajante: Se tienen n ciudades y las distancias entre ellas y se desea
saber el recorrido de una persona por todas las ciudades con la mínima distancia.
- Problema de la mochila: Dada una mochila con una capacidad en peso dada y una
cantidad de objetos, cada uno de ellos con su peso y un valor dados, determinar qué
objetos echar en la mochila sin sobrepasar su peso y de manera que almacene el mayor
valor.
- En el caso de los problemas no algorítmicos, las técnicas de I.A. ayudan también a
resolverlos. Tales son, por ejemplo, el diagnóstico médico, la traducción automática,
detección de fallas, problemas de pronóstico y generación automática de planes.
Concepto de IA en sentido amplio: IA indica la capacidad de un artefacto de
realizar funciones que caracterizan al pensamiento humano.
Puede ser definida como la simulación de la inteligencia humana en una
máquina, para hacer la maquina eficiente para identificar y usar la pieza de
conocimiento correcta en un paso dado de la solución de un problema.

DESARROLLO

Técnicas de IA: las técnicas de IA son un conjunto de métodos, procedimientos y


recursos para explotar el conocimiento que incluye:

La adquisición del conocimiento.


La representación del conocimiento.
El razonamiento basado en el conocimiento.

Es decir los programas de IA requieren de conocimiento, se conocen como Sistemas


Basados en Conocimientos (SBC).

Los SBC: son programas de PC que manipulan conocimiento para resolver


problemas, en teoría se dice que pueden razonar.

Arquitectura de los SBC

Base de
Conocimiento Mecanismo de
(BC) Inferencia (MI)

Memoria de
Interfaz Trabajo (WM)

Usuario

BC: Contiene el conocimiento representado mediante algún formalismo y debidamente


codificado para ser usado por un mecanismo de razonamiento en la solución de
problemas. Contiene hechos y relaciones entre objetos, conceptos, teorías y
procedimientos.
MI: Contiene el mecanismo de inferencia que utiliza el conocimiento de la BC, aplicando
alguna técnica de razonamiento para resolver problemas de un dominio. Es un conjunto
de procedimientos que implanta un método de razonamiento.
WM: Contiene los hechos sobre un problema que se han descubierto durante una
consulta. Durante una consulta con el sistema experto, el usuario introduce la
información del problema actual en la base de hechos. El sistema empareja esta
información con el conocimiento disponible en la base de conocimientos para deducir
nuevos hechos.

Existen diversos formalismos para la representación del conocimiento:


- Representación simbólica (Métodos clásicos):
La lógica clásica
Las reglas de producción
Las redes semánticas
Los marcos (frames)
Los guiones (scripts)
- Representación sub-simbólica
(Métodos de soft-computing)
Lógica Fuzzy, redes neuronales, algoritmos evolutivos, etc.

Empleo de la Lógica Clásica.


La lógica es quizás la forma más antigua de representación de conocimiento pues
ofrece un mecanismo potente para derivar nuevos conocimientos a partir de hechos
conocidos: la deducción matemática.
Ejemplos: Lógica proposicional y cálculo de predicados.
Dos problemas importantes de la deducción:
Análisis del razonamiento: se refiere a investigar si una estructura deductiva es
correcta o incorrecta.
Inferencia: se refiere a la utilización de una estructura que se conoce es correcta para
investigar la certeza de proposiciones.
Ej Inferencia a través de una regla:
A, A->B=B w(B)= 1 si w(A)=1
? si w(A)=0
La lógica proporciona un lenguaje formal para representar conocimiento, un lenguaje
bien definido pero limitado.

Conceptos básicos sobre reglas de producción (RP)


Una regla de producción es un enunciado del tipo:
si A, entonces B (if …, then…)
donde:
A es el antecedente
B es el consecuente,
que expresa una relación condicional entre A y B: Si A es cierta, B es cierta.
El antecedente (A) es una proposición compuesta.
El consecuente (B) es una proposición simple.

Estrategias de control y búsqueda


- Encadenamiento hacia atrás (Backward chaining)
- Encadenamiento hacia adelante (Forward chaining)
- Búsqueda primero en lo profundo (Depth First Search)
- Búsqueda primero en lo ancho (Breadth First Search).

Red de inferencia
Un sistema de reglas de producción se puede representar mediante un grafo llamado
red de inferencia, los nodos son las proposiciones y los arcos los conectivos lógicos,
ejemplo:
p1p2  i1
o1
p 4  p 5  i2
o2
i1i2  o1
i2  ¬p5  o2

operador y i1
i2

operador o
operador negación

p1 p2
p4 p5
MODELOS DE SBC CON RP
Un modelo de este tipo establece:
1-Definición del peso de una proposición.
2-Seleccionar un tipo de regla de producción.
3-Establecer el esquema de cálculo de los pesos de las proposiciones inferibles.

Se estudiarán 3 modelos:
Modelo 1.
Modelo 2.
Modelo 2I.

Modelo 1
Sigue estrictamente la lógica clásica
1.1 Proposiciones con pesos bivalentes. Se define el peso de una proposición:
w(A) = 1 si A es verdadera,
w(A) = 0 si A es falsa.
1.2 Reglas del tipo: A  b (implicación lógica) donde:
A es: a1a2  …  ak
a1a2  …  ak
A compuesto,
b es un proposición simple.
1.3 Cálculo de los pesos
Cálculo del peso del antecente w(A):
w(a1a2…  ak )=min(w(a1),…,w(ak))
w(a1  a2…  ak )=max(w(a1),…,w(ak))
w(¬ a) =1-w(a)
Cálculo del peso del consecuente w(b):
w(b)= 1 si w(A)=1
w(b) no se puede calcular, si w(A)=0
Limitaciones:
- Sólo representa conocimiento categórico (verdadero o falso).
- No maneja el valor veritativo “no se sabe”.
- El peso del consecuente de una regla sólo se puede calcular cuando el peso del
antecedente es 1 (verdadero).
- Sólo se puede deducir la veracidad de una proposición, pero no su falsedad.

Modelo 2
Emplea la lógica clásica pero con variaciones:
2.1 Proposiciones con pesos trivalentes. Se define el peso de una proposición:
w(A) = 1 si A es verdadera,
w(A) = -1 si A es falsa,
w(A)= 0 si la certeza de A es desconocida.

2.2 Reglas del tipo: A  b(wr) se lee A implica b con peso wr


donde:
A es compuesta.
b es una proposición simple,
wr є {-1,1} es el peso de la regla
A->b(1) Si A es verdadero b es verdadero
A->b(-1) Si A es verdadero b es falso (no b es verdadero).
2.3 Cálculo de los pesos
Cálculo del peso del antecente w(A):
w(a1a2…  ak )=min(w(a1),…,w(ak))
w(a1  a2…  ak )=max(w(a1),…,w(ak))
w(¬ a) =-w(a)
Cálculo del peso del consecuente w(b), función de contribución (ctr):
w(b)= ctr (wA,wr) wr si w(A)=1
0 si w(A) =< 0
Limitaciones:
- Las proposiones son trivalentes, sólo se puede representar conocimiento
categórico (verdadero/ falso/desconocido).
- Las reglas son categóricas solo representan relaciones tipo implicaciones “duras”.

Algoritmo Encadenamiento hacia delante primero en lo profundo para Modelo 2


1-Registrar en la WM el conocimiento inicial.
2- Mientras existan proposiciones externas por investigar y no se establezca la certeza
del objetivo buscado.
3- Calcular la evidencia en turno en la primera regla donde es consecuente y
registrar en WM.
4-Mostrar resultado.

Ejemplo.
Dada la siguiente red de inferencia, obtenga las reglas y calcule w7 mediante el modelo
2 para el siguiente juego de valores de las evidencias: w1=1; w2=1; w3=0; w4=-1.

7 1

6
5 1
1

3 4
1 2

R1: 1^2->5(1)
R2: 3^4->6(1)
R3: 5v6->7(1)

Algoritmo encadenamiento hacia delante primero en lo profundo Modelo 2


1. WM = { w1=1; w2=1; w3=0; w4=-1 }
2. VERDADERO
3. 5?
R1: w5= ctr (w1^2; wR1)= ctr (1;1)=1
WM = WM + {w5=1}
2. VERDADERO
6?
R2: w6= ctr (w3^4; wR2)= ctr (-1;1)=0
WM = WM + {w6=0}
2. VERDADERO
3. 7?
R3: w7= ctr (w5v6; wR3)= ctr (1;1)=1
WM = WM + {w7=1}
2. FALSO
4. w(7) = 1, 7 es verdadera
FIN

Modelo 2I. Tratamiento de la Incertidumbre


En muchos dominios el conocimiento disponible para razonar es inexacto o incompleto
o impreciso o vago. No obstante el hombre es capaz de razonar con este tipo de
conocimiento y resolver problemas de manera racional.

Teoría de la certidumbre
Desarrollada por Shortliffe y Buchanan en 1975 para utilizarla sistemas expertos
basados en reglas.
Se fundamenta en asignarle medidas de certeza a los hechos y las reglas y definir un
esquema de cálculo de propagación de la certidumbre a través de la red de reglas.

El concepto de regla blanda.


Se introduce la regla de producción blanda con peso wr :
A  b(wr)
donde wr  [wmin,wmax]   es una medida cuantitativa de la validez de la regla.

2I.1 Se define el peso de una proposición:


w(A)  [wmin,wmax]  
de manera que:
w(A) = wmax A es verdadera (1)
w(A) =-wmin A es falsa (-1)
w(A) = (wmin+wmax)/2 A desconocida (0)
En nuestro caso el dominio sera [-1,1].

2I.2 Reglas del tipo: A  b(wr) se lee A sugiere b con peso wr


A->b(1) evidencia positiva de A sugiere evidencia positiva de b.
A->b(-1) evidencia positiva de A sugiere no presencia de b.
donde:
A es compuesta
b es una proposición simple,
wr  [-1,1]   es el peso de la regla

2I.3 Cálculo de los pesos


Cálculo del peso del antecente w(A):
w(a1a2…  ak )=min(w(a1),…,w(ak))
w(a1  a2…  ak )=max(w(a1),…,w(ak))
w(¬ a) =-w(a)
Cálculo del peso del consecuente w(b), contribución (ctr) proporcional.
w(b)= ctr (wA,wr) 0 si wa (A) ≤ 0
w a*wr si wa > 0

En caso de :
A1 -> b (wr1) wb(wr1) =ctr (wA1, wr1)
A2-> b (wr2) wb(wr2) =ctr (wA2, wr2)

 Se define la función de globalidad de manera que esta operación tenga las mismas
propiedades que la operación suma en los reales [-oo, oo]
Antes se encontraba un objetivo se paraba, no importaba que hubiesen otras reglas o
caminos para llegar a ese objetivo, en el caso de la globalidad se toman en cuenta todos
los caminos o reglas que apuntan al objetivo, por tanto es más confiable la respuesta.

 w(b)= glob (wbr1, wbr2) = wbr1+wbr2 =( wbr1+wbr2)/1+wbr1*wbr2

Reglas:
W1 +w2=w2+w1 propiedad conmutativa
W +0 =W
W1+w2+….+wn= (w1+w2)+(w3+…+wn)
W+ -w= 0
1+1=1
W+ -1= -1
W+1 =1
1 + -1 = indeterminado

Algoritmo Encadenamiento hacia delante primero en lo profundo para Modelo 2I


1-Registrar en la WM el conocimiento inicial.
2- Mientras existan proposiciones externas por investigar y no se establezca la certeza
del objetivo buscado.
3- Calcular la evidencia en turno en las reglas donde es consecuente y
registrar en WM.
4-Mostrar resultado.

Ejemplo.
Dada la siguiente red de inferencia obtener las reglas y calcular w7 con Modelo 2I
utilizando para w1=0.9; w2=0.4; w3=0.0; w4=0.2

7 -0.5
0.7

6
5 0.8
0.7

3 4
1 2

R1: 12 5(0.7)


R2: 3 4  6(0.8)
R3: 5  7(0.7)
R4: 6  7(-0.5)
Algoritmo encadenamiento hacia delante primero en lo profundo Modelo 2I
1. WM = { w1=0.9; w2=0.4; w3=0.0; w4=0.2 }
2. VERDADERO
3. 5?
R1: w5= ctr (w1^2; wR1)= ctr (0.4;0.7)=0.28
WM = WM + {w5=0.28}
2. VERDADERO
6?
R2: w6= ctr (w3v4; wR2)= ctr (0.2;0.8)=0.16
WM = WM + {w6=0.16}
2. VERDADERO
3. 7?
R3: w75= ctr (w5; wR3)= ctr (0.28;0.7)=0.196
R4: w76= ctr (w6; wR3)= ctr (0.16;-0.5)= -0.08
w7= w75+ w76 = (0.196+ (-0.08))/1+ 0.196 *(-0.08) = 0.118
WM = WM + {w7=0.118}
2. FALSO
4. w(7) = 0.118, 7 no se sabe muy bien, quizás sea verdadera
FIN

CONCLUSIONES
Los Sistemas basados en conocimientos como técnica de Inteligencia Artificial pueden
utilizar como método de representación y cálculo de conocimiento las reglas de
producción, las cuales para su representación puede ser usada una red de inferencia
que brinda la posibilidad de analizar la base de conocimiento desde una perspectiva
gráfica y pragmática, los modelos analizados de estos sistemas se basan
fundamentalmente en la lógica y se presentaron en orden de expresividad, siendo el
modelo 2I el que permite tratar el razonamiento con incertidumbre basado en la teoría
de la certidumbre.

EJERCICIO PROPUESTO # 1
Investigar las otras formas de representación del conocimiento no estudiadas (redes
semánticas, guiones, marcos) y mediante un caso de estudio representar el
conocimiento con esas FRC.

EJERCICIO PROPUESTO # 2
Investigar las otras estrategias de control y búsqueda no estudiadas (Encadenamiento
hacia atrás y primero en lo ancho) y mediante ejemplos ejecutar los algoritmos.

EJERCICIO PROPUESTO # 3 (ENTREGAR EN PRÓXIMO ENCUENTRO)


Dado el siguiente sistema de reglas obtener la red de inferencia y calcular w9 con
Modelo 2I utilizando para w1= -0.6; w2= -0.2; w3= 0.5; w4= -0.9; w8= 0.1; w10= 0.3.

Sistema de reglas
R1: 1v2 5(0.9)
R2: 57(0.1)
R3: 27(-0.3)
R4: 346(0.3)
R5: 6v79(0.1)
R6: 89(-0.8)
R7: 109(0.9)