Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare una empresa de Scribd logo
Métodos de
Inteligencia Artificial
L. Enrique Sucar (INAOE)
esucar@inaoep.mx
ccc.inaoep.mx/esucar
Tecnologías de Información
UPAEP
Reglas de Producción
• Introducción
• Partes principales
• Tipos de razonamiento
• Explicación
• Resolución de conflictos
• Apareamiento de patrones
Normalmente se asocia la inteligencia con
“regularidades” y el comportamiento inteligente
parece que ejecuta reglas.
Newell y Simon 70's proponen los sistemas de
producción como un modelo psicológico del
comportamiento humano.
Introducción
En este modelo, parte del conocimiento
humano se representa en forma de
producciones o reglas de producción.
Introducción
Se asemeja al proceso de memoria
humano: memoria a corto plazo
(deducciones intermedias) y memoria a
largo plazo (producciones).
Normalmente las reglas de producción se
ven como un formalismo en el cual
representar el conocimiento y es el
formalismo más usado en los sistemas
expertos.
Originalmente las producciones eran reglas
gramaticales para manipular cadenas de
símbolos.
Introducción
Manipulan estructuras de símbolos, como
listas o vectores.
Se tiene:
• Un conjunto N de nombres de objetos en
el dominio
• Un conjunto P de propiedades que
representan atributos de los objetos
Reglas de producción
• Un conjunto V de valores que los atributos
pueden tener
Generalmente se usa una tripleta: (objeto
atributo valor).
Por ejemplo:
• (juan edad 25)
• (juan edad X)
• (turbina1 capacidad 50)
Estructura de una regla:
P …, P → Q …, Q
1 m 1 n
Que significa:
IF las condiciones P y P y... y P se
cumplen THEN realiza las acciones
(o concluye) Q y... y Q
1 m
2
1 n
IF Animal es_un carnívoro AND
Animal color café AND
Animal tiene rayas
THEN Animal es tigre
• Modular: cada regla define un
pequeño y relativamente independiente
pedazo de conocimiento
Propiedades de las reglas:
• Incremental: nuevas reglas pueden
ser añadidas a la base de conocimiento
relativamente independiente de las demás
• Modificable: como consecuencia de
ser modular, las reglas pueden ser
modificadas o se pueden
añadir/quitar reglas fácilmente
• Transparencia: habilidad de explicar
sus decisiones y soluciones
• Un conjunto de reglas (base de conocimiento)
Partes principales
Un sistema de producción tiene:
• Un interprete de reglas o máquina de
inferencia (que decide qué regla aplicar,
controla la actividad del sistema)
• Una memoria de trabajo (que guarda los
datos, metas, y resultados intermedios)
Guarda inferencias/aseveraciones
temporalmente.
Es la estructura de datos que es observada
y manipulada/cambiada por las reglas.
Memoria de Trabajo
Los datos de la memoria de trabajo son los
que permiten cumplir las condiciones de
las reglas y dispararlas (las reglas verifican
la existencia de elementos en la memoria
de trabajo para disparar).
Memoria de Trabajo
Las acciones de las reglas: modifican,
añaden o quitan elementos de la memoria
de trabajo (o producen efectos
secundarios).
El interprete o máquina de inferencia realiza
el ciclo reconoce-actua:
Máquina de Inferencia
Aparea las condiciones
(o acciones) de las reglas con
los elementos de la memoria
de trabajo
1.
Si existe más de una regla
que puede disparar, escoge
una (resolución de conflictos)
Aplica la regla (ejecuta las
acciones/conclusiones)
que puede involucrar
cambios la memoria de
trabajo
2.
3.
Generalmente el ciclo empieza con unos
datos iniciales y para cuando no hay reglas
aplicables (o por una regla).
El sentido/importancia/contribución de cada
regla depende de su contribución dentro de
todas las reglas para solucionar el problema.
Máquina de Inferencia
Ejemplo: sistema para créditos
Base de Conocimiento
– Si hist-credito & solvente & refer
Entonces otorga-prest
– Si tarjetas-credito > 2 Entonces
hist-credito
– Si hipoteca-casa OR prest-carro
Entonces hist-credito
– Si ingresos > pago-mensual x 3
Entonces solvente
– Si ref-1 & ref-2 & ref-3
Entonces refer
Memoria de Trabajo
• ingresos=1000
• pago-mensual=200
• hipoteca-casa
• ref-Maria
• ref-Juan
• ref-Pedro
hist-credito
solvente
refer
otorga-prest
Existen diferentes estrategias de razonamiento:
a nivel global las reglas pueden ser llevadas en
un encadenamiento hacia adelante o en un
encadenamiento hacia atrás.
Máquina de Inferencia
Encadenamiento hacia adelante
(forward chaining/ data driven/
event driven/ bottom-up) parte de
hechos para cumplir condiciones y
ejecutar acciones (creando nuevos
hechos).
Estrategias de Razonamiento
Encadenamiento hacia atrás
(backward chaining/ goal driven/
expectation driven/ top-down) parte
de los estados meta y trata de
cumplir las condiciones necesarias
para llegar a ellos.
Estrategias de Razonamiento
Se pueden tener estrategias que hacen
combinación de ambos: oportunístico.
v.g.,
P1: $ -> a$a
P2: $ -> b$b
P3: $ -> c$c
Estrategias de Razonamiento
Podemos dado c usar las reglas P1, P1, P3,
P2, P3 y llegar a: cbcaacaacbc.
Otra forma es tomar cbcaacaacbc y ver que
reglas se aplican hasta llegar a algo
conocido (c).
Estrategias de Razonamiento
El proceso de inferencia se puede ver como
un espacio de búsqueda AND/OR, con
nodos AND siendo todas las condiciones/
acciones que se tienen que cumplir y los
nodos OR siendo las posibles reglas a
disparar/ considerar.
Árbol AND/OR
Ejemplo:
Depende del propósito y la forma del espacio
de búsqueda.
Si el propósito es de cubrir todo lo que se
pueda deducir de un conjunto de hechos, el
árbol se “achica”, tenemos claras las
entradas pero no las conclusiones, entonces
encadenamiento hacia adelante.
¿Cuándo usamos cada uno?
Si el propósito es verificar/negar una
conclusión, el árbol se “ensancha”,
tenemos claras las metas pero no las
entradas, entonces encadenamiento hacia
atrás.
¿Cuándo usamos cada uno?
Forward:
• HC  H
• I  S
• R1,R2,R3  R
• H,S,R  P
Backward:
• P  H,S,R
• H  HC
• S  I
• R  R1,R2,R3
Ejemplo de encadenamientos
Explicaciones sirven para:
• Mostrar deficiencias de las reglas
• Clarificar suposiciones de la máquina
• Explicar situaciones no anticipadas
• Hacer sentir al usuario más seguro
• Hacer ver la máquina más “inteligente”
Explicación
• HOW, e.g., ¿Cómo supiste N?
• WHY, e.g., ¿Por qué quieres saber A?
Explicación
Con las reglas podemos resolver preguntas:
Ejemplo de explicaciones
Reglas:
R1: If una persona tiene $30,000 y tiene grado de licenciatura
Then debe de invertir a plazo fijo
R2: If una persona gana mas de $120,000 al año y tiene licenciatura
Then debe de invertir en acciones
R3: If una persona es menor de 30 y esta invirtiendo a plazo fijo
Then debe invertir en acciones
R4: If una persona es menor de 30
Then tiene nivel licenciatura
R5: If una persona quiere invertir en acciones
Then debe de invertir en Telmex
Ejemplo de explicaciones
• Hechos:
Tiene $30,000 y tiene 25 años
Quiere saber si debe de invertir en acciones
• Sistema: ¿Cuál es tu ingreso anual?
• Usuario : ¿Porqué?
• Sistema: Quiero saber si es mayor a $120,000, porque como sé
que tienes nivel de licenciatura, si ganas más de $120,000, te
recomiendo invertir en acciones.
Porqué (WHY)
• La explicación se basa en utilizar inferencia hacia
adelante, en el ejemplo:
• R4: If una persona es menor de 30
Then tiene nivel licenciatura
• R2: If una persona gana mas de $120,000 al año y tiene
licenciatura
Then debe de invertir en acciones
• De aquí el sistema deduce que necesita saber el ingreso
para decidir si invierte en acciones
Ejemplo de explicaciones
• Hechos:
Tiene $30,000 y tiene 25 años
Quiere saber si debe de invertir en Telmex
• Sistema: Invierte en Telmex
• Usuario : ¿Cómo?
• Sistema: Como tienes $30,000 y eres menor de 30,
(R4) tienes nivel licenciatura, (R1) debes invertir a
plazo fijo. Por otro lado si inviertes a plazo fijo (R3)
debes invertir en acciones. Si quieres invertir en
acciones te recomiendo (R5) que inviertas en Telmex.
Cómo (HOW)
• La explicación se basa en hacer inferencia hacia atrás,
determinando las reglas que se aplicaron para llegar a la
conclusión, hasta llegar a los datos de entrada.
• En el ejemplo:
R5: If una persona quiere invertir en acciones
Then debe de invertir en Telmex
R3: If una persona es menor de 30 y esta invirtiendo a plazo fijo
Then debe invertir en acciones
R1: If una persona tiene $30,000 y tiene grado de licenciatura
Then debe de invertir a plazo fijo
R4: If una persona es menor de 30
Then tiene nivel licenciatura
Datos: menor de 30, tiene $30,000
Lo que se necesita es una estrategia de
resolución de conflictos que guíe (decida cual
de las posibles reglas disparar) y evite que el
proceso sea exponencial.
Resolución de Conflictos
En razonamiento hacia adelante pueden existir
más de una regla que puede disparar.
En razonamiento hacia atrás pueden existir
más de una regla que cumple con las metas.
Para controlar ésto se utilizan: control
global (independiente del dominio) y control
local (dependiente del dominio).
Tipos de Control
El control local puede ser por medio de
meta-reglas (reglas que controlan reglas).
Puntos: sensibilidad (responder
rápidamente a cambios en el medio) y
estabilidad (mostrar cierta continuidad en la
línea de razonamiento).
Las estrategias globales más utilizadas son:
Estrategias globales
• No se permite disparar una regla más de
una vez con los mismos datos (refractorines)
• Preferir reglas que utilizan datos más
recientes. La idea es de seguir una línea de
razonamiento (recency)
• Preferir reglas que son más específicas,
i.e., reglas que tienen una mayor
cantidad de condiciones y por lo tanto
son más difíciles de disparar (specificity)
Estrategias globales
Algunos sistemas permiten tener reglas
que razonan en cuanto a qué reglas
disparar (meta-reglas).
Las meta-reglas tiene el rol de dirigir el
razonamiento (más que realizar el
razonamiento).
Meta-reglas
IF “Edad” en cierto intervalo
THEN Aplica reglas para dicho intervalo
Ejemplos de meta-reglas
Para una aplicación:
IF Edad Paciente > 65
THEN Aplica reglas de enfermedades de la vejez
Para una clase de aplicaciones:
Normalmente existen variables en las reglas
y se tiene que hacer un “apareamiento de
patrones”.
Apareamiento de Patrones
If Persona nombre ?x edad ?y
And ?y > 12
And ?y < 20
Then ?x es_un adolescente
Hecho: Persona nombre Juan edad 25.
Notación : ?x aparea un elemento, !x
aparea varios elementos, v.g.,
El apareo de condiciones en general es más
fácil en encadenamiento hacia adelante que
en encadenamiento hacia atrás:
En Fwd: Dados hechos (sin variables)
apareamos con condiciones (con variables)
y producimos nuevos hechos (sin
variables).
Apareamiento de Patrones
En Bwd: Hipótesis (con variables)
apareamos consecuencias (con
variables) y producimos nuevas hipótesis
(con variables). Se acerca más a
unificación.
Apareamiento de Patrones
Encadenamiento hacia atrás
Pasos de encadenamiento hacia atrás: el
proceso trata de establecer valores para
las variables de las reglas
Encadenamiento hacia adelante
Pasos de encadenamiento hacia adelante:
• Infiere
• Selecciona reglas
• Resuelve conflictos
• Aplica regla
• Permiten representar el conocimiento en forma
adecuada para las computadoras
• Modularizan pedazos de conocimiento
• Permiten el desarrollo incremental
• Las decisiones son entendibles y explicables
• Abren nuevas posibilidades computacionales
(paralelismo)
• Representación homogénea de conocimiento
• Permiten interacciones no planeadas y útiles
Ventajas de Reglas:
• No hay fundamento para decidir qué problemas
tiene solución
• Problemas de verificación / consistencia /
completez de conocimiento
• Escalamiento sin perder entendimiento /eficiencia
• Permiten interacciones no planeadas y no
deseadas
• No tienen acceso al razonamiento que hay detrás
de las reglas
Desventajas de Reglas:
• Bases de reglas grandes son difíciles de
mantener y desarrollar (requiere una partición
de las reglas, pero el formalismo no lo permite
hacer directamente)
• No son adecuadas cuando existe incertidumbre
ya que se pierde la modularidad
Del tiempo de ejecución el 90% se
consume en el proceso de apareo.
RETE (red)
El algoritmo Rete se basa en dos
observaciones (suposiciones):
1. La memoria de trabajo es muy grande y
cambia poco entre cada ciclo.
Esto implica que mucha información sigue
presente en el siguiente ciclo y se puede
utilizar
2. Las condiciones de muchas reglas son
similares
RETE - ejemplo
Existen herramientas de desarrollo para
construir sistemas basados en reglas.
Éstas las podemos clasificar en 3 niveles:
Herramientas de Desarrollo
1. Shells: Exsys, Nexpert, ...
2. Lenguajes de reglas: OPS, Clips, ...
3. Lenguajes simbólicos: Lisp, Prolog
Tarea
• Leer Capítulos 9 (9.3) y 12 (12.2) de
Russell
• Práctica 1 (en la página del curso)

Más contenido relacionado

Metodos de Inteligencia Artificial - Reglas de Producción

  • 1. Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP
  • 2. Reglas de Producción • Introducción • Partes principales • Tipos de razonamiento • Explicación • Resolución de conflictos • Apareamiento de patrones
  • 3. Normalmente se asocia la inteligencia con “regularidades” y el comportamiento inteligente parece que ejecuta reglas. Newell y Simon 70's proponen los sistemas de producción como un modelo psicológico del comportamiento humano. Introducción
  • 4. En este modelo, parte del conocimiento humano se representa en forma de producciones o reglas de producción. Introducción Se asemeja al proceso de memoria humano: memoria a corto plazo (deducciones intermedias) y memoria a largo plazo (producciones).
  • 5. Normalmente las reglas de producción se ven como un formalismo en el cual representar el conocimiento y es el formalismo más usado en los sistemas expertos. Originalmente las producciones eran reglas gramaticales para manipular cadenas de símbolos. Introducción
  • 6. Manipulan estructuras de símbolos, como listas o vectores. Se tiene: • Un conjunto N de nombres de objetos en el dominio • Un conjunto P de propiedades que representan atributos de los objetos Reglas de producción
  • 7. • Un conjunto V de valores que los atributos pueden tener Generalmente se usa una tripleta: (objeto atributo valor). Por ejemplo: • (juan edad 25) • (juan edad X) • (turbina1 capacidad 50)
  • 8. Estructura de una regla: P …, P → Q …, Q 1 m 1 n Que significa: IF las condiciones P y P y... y P se cumplen THEN realiza las acciones (o concluye) Q y... y Q 1 m 2 1 n
  • 9. IF Animal es_un carnívoro AND Animal color café AND Animal tiene rayas THEN Animal es tigre
  • 10. • Modular: cada regla define un pequeño y relativamente independiente pedazo de conocimiento Propiedades de las reglas: • Incremental: nuevas reglas pueden ser añadidas a la base de conocimiento relativamente independiente de las demás
  • 11. • Modificable: como consecuencia de ser modular, las reglas pueden ser modificadas o se pueden añadir/quitar reglas fácilmente • Transparencia: habilidad de explicar sus decisiones y soluciones
  • 12. • Un conjunto de reglas (base de conocimiento) Partes principales Un sistema de producción tiene: • Un interprete de reglas o máquina de inferencia (que decide qué regla aplicar, controla la actividad del sistema) • Una memoria de trabajo (que guarda los datos, metas, y resultados intermedios)
  • 13. Guarda inferencias/aseveraciones temporalmente. Es la estructura de datos que es observada y manipulada/cambiada por las reglas. Memoria de Trabajo
  • 14. Los datos de la memoria de trabajo son los que permiten cumplir las condiciones de las reglas y dispararlas (las reglas verifican la existencia de elementos en la memoria de trabajo para disparar). Memoria de Trabajo Las acciones de las reglas: modifican, añaden o quitan elementos de la memoria de trabajo (o producen efectos secundarios).
  • 15. El interprete o máquina de inferencia realiza el ciclo reconoce-actua: Máquina de Inferencia Aparea las condiciones (o acciones) de las reglas con los elementos de la memoria de trabajo 1.
  • 16. Si existe más de una regla que puede disparar, escoge una (resolución de conflictos) Aplica la regla (ejecuta las acciones/conclusiones) que puede involucrar cambios la memoria de trabajo 2. 3.
  • 17. Generalmente el ciclo empieza con unos datos iniciales y para cuando no hay reglas aplicables (o por una regla). El sentido/importancia/contribución de cada regla depende de su contribución dentro de todas las reglas para solucionar el problema. Máquina de Inferencia
  • 18. Ejemplo: sistema para créditos Base de Conocimiento – Si hist-credito & solvente & refer Entonces otorga-prest – Si tarjetas-credito > 2 Entonces hist-credito – Si hipoteca-casa OR prest-carro Entonces hist-credito – Si ingresos > pago-mensual x 3 Entonces solvente – Si ref-1 & ref-2 & ref-3 Entonces refer Memoria de Trabajo • ingresos=1000 • pago-mensual=200 • hipoteca-casa • ref-Maria • ref-Juan • ref-Pedro hist-credito solvente refer otorga-prest
  • 19. Existen diferentes estrategias de razonamiento: a nivel global las reglas pueden ser llevadas en un encadenamiento hacia adelante o en un encadenamiento hacia atrás. Máquina de Inferencia
  • 20. Encadenamiento hacia adelante (forward chaining/ data driven/ event driven/ bottom-up) parte de hechos para cumplir condiciones y ejecutar acciones (creando nuevos hechos). Estrategias de Razonamiento
  • 21. Encadenamiento hacia atrás (backward chaining/ goal driven/ expectation driven/ top-down) parte de los estados meta y trata de cumplir las condiciones necesarias para llegar a ellos. Estrategias de Razonamiento
  • 22. Se pueden tener estrategias que hacen combinación de ambos: oportunístico. v.g., P1: $ -> a$a P2: $ -> b$b P3: $ -> c$c Estrategias de Razonamiento
  • 23. Podemos dado c usar las reglas P1, P1, P3, P2, P3 y llegar a: cbcaacaacbc. Otra forma es tomar cbcaacaacbc y ver que reglas se aplican hasta llegar a algo conocido (c). Estrategias de Razonamiento
  • 24. El proceso de inferencia se puede ver como un espacio de búsqueda AND/OR, con nodos AND siendo todas las condiciones/ acciones que se tienen que cumplir y los nodos OR siendo las posibles reglas a disparar/ considerar. Árbol AND/OR
  • 26. Depende del propósito y la forma del espacio de búsqueda. Si el propósito es de cubrir todo lo que se pueda deducir de un conjunto de hechos, el árbol se “achica”, tenemos claras las entradas pero no las conclusiones, entonces encadenamiento hacia adelante. ¿Cuándo usamos cada uno?
  • 27. Si el propósito es verificar/negar una conclusión, el árbol se “ensancha”, tenemos claras las metas pero no las entradas, entonces encadenamiento hacia atrás. ¿Cuándo usamos cada uno?
  • 28. Forward: • HC  H • I  S • R1,R2,R3  R • H,S,R  P Backward: • P  H,S,R • H  HC • S  I • R  R1,R2,R3 Ejemplo de encadenamientos
  • 29. Explicaciones sirven para: • Mostrar deficiencias de las reglas • Clarificar suposiciones de la máquina • Explicar situaciones no anticipadas • Hacer sentir al usuario más seguro • Hacer ver la máquina más “inteligente” Explicación
  • 30. • HOW, e.g., ¿Cómo supiste N? • WHY, e.g., ¿Por qué quieres saber A? Explicación Con las reglas podemos resolver preguntas:
  • 31. Ejemplo de explicaciones Reglas: R1: If una persona tiene $30,000 y tiene grado de licenciatura Then debe de invertir a plazo fijo R2: If una persona gana mas de $120,000 al año y tiene licenciatura Then debe de invertir en acciones R3: If una persona es menor de 30 y esta invirtiendo a plazo fijo Then debe invertir en acciones R4: If una persona es menor de 30 Then tiene nivel licenciatura R5: If una persona quiere invertir en acciones Then debe de invertir en Telmex
  • 32. Ejemplo de explicaciones • Hechos: Tiene $30,000 y tiene 25 años Quiere saber si debe de invertir en acciones • Sistema: ¿Cuál es tu ingreso anual? • Usuario : ¿Porqué? • Sistema: Quiero saber si es mayor a $120,000, porque como sé que tienes nivel de licenciatura, si ganas más de $120,000, te recomiendo invertir en acciones.
  • 33. Porqué (WHY) • La explicación se basa en utilizar inferencia hacia adelante, en el ejemplo: • R4: If una persona es menor de 30 Then tiene nivel licenciatura • R2: If una persona gana mas de $120,000 al año y tiene licenciatura Then debe de invertir en acciones • De aquí el sistema deduce que necesita saber el ingreso para decidir si invierte en acciones
  • 34. Ejemplo de explicaciones • Hechos: Tiene $30,000 y tiene 25 años Quiere saber si debe de invertir en Telmex • Sistema: Invierte en Telmex • Usuario : ¿Cómo? • Sistema: Como tienes $30,000 y eres menor de 30, (R4) tienes nivel licenciatura, (R1) debes invertir a plazo fijo. Por otro lado si inviertes a plazo fijo (R3) debes invertir en acciones. Si quieres invertir en acciones te recomiendo (R5) que inviertas en Telmex.
  • 35. Cómo (HOW) • La explicación se basa en hacer inferencia hacia atrás, determinando las reglas que se aplicaron para llegar a la conclusión, hasta llegar a los datos de entrada. • En el ejemplo: R5: If una persona quiere invertir en acciones Then debe de invertir en Telmex R3: If una persona es menor de 30 y esta invirtiendo a plazo fijo Then debe invertir en acciones R1: If una persona tiene $30,000 y tiene grado de licenciatura Then debe de invertir a plazo fijo R4: If una persona es menor de 30 Then tiene nivel licenciatura Datos: menor de 30, tiene $30,000
  • 36. Lo que se necesita es una estrategia de resolución de conflictos que guíe (decida cual de las posibles reglas disparar) y evite que el proceso sea exponencial. Resolución de Conflictos En razonamiento hacia adelante pueden existir más de una regla que puede disparar. En razonamiento hacia atrás pueden existir más de una regla que cumple con las metas.
  • 37. Para controlar ésto se utilizan: control global (independiente del dominio) y control local (dependiente del dominio). Tipos de Control El control local puede ser por medio de meta-reglas (reglas que controlan reglas). Puntos: sensibilidad (responder rápidamente a cambios en el medio) y estabilidad (mostrar cierta continuidad en la línea de razonamiento).
  • 38. Las estrategias globales más utilizadas son: Estrategias globales • No se permite disparar una regla más de una vez con los mismos datos (refractorines) • Preferir reglas que utilizan datos más recientes. La idea es de seguir una línea de razonamiento (recency)
  • 39. • Preferir reglas que son más específicas, i.e., reglas que tienen una mayor cantidad de condiciones y por lo tanto son más difíciles de disparar (specificity) Estrategias globales
  • 40. Algunos sistemas permiten tener reglas que razonan en cuanto a qué reglas disparar (meta-reglas). Las meta-reglas tiene el rol de dirigir el razonamiento (más que realizar el razonamiento). Meta-reglas
  • 41. IF “Edad” en cierto intervalo THEN Aplica reglas para dicho intervalo Ejemplos de meta-reglas Para una aplicación: IF Edad Paciente > 65 THEN Aplica reglas de enfermedades de la vejez Para una clase de aplicaciones:
  • 42. Normalmente existen variables en las reglas y se tiene que hacer un “apareamiento de patrones”. Apareamiento de Patrones
  • 43. If Persona nombre ?x edad ?y And ?y > 12 And ?y < 20 Then ?x es_un adolescente Hecho: Persona nombre Juan edad 25. Notación : ?x aparea un elemento, !x aparea varios elementos, v.g.,
  • 44. El apareo de condiciones en general es más fácil en encadenamiento hacia adelante que en encadenamiento hacia atrás: En Fwd: Dados hechos (sin variables) apareamos con condiciones (con variables) y producimos nuevos hechos (sin variables). Apareamiento de Patrones
  • 45. En Bwd: Hipótesis (con variables) apareamos consecuencias (con variables) y producimos nuevas hipótesis (con variables). Se acerca más a unificación. Apareamiento de Patrones
  • 46. Encadenamiento hacia atrás Pasos de encadenamiento hacia atrás: el proceso trata de establecer valores para las variables de las reglas
  • 47. Encadenamiento hacia adelante Pasos de encadenamiento hacia adelante: • Infiere • Selecciona reglas • Resuelve conflictos • Aplica regla
  • 48. • Permiten representar el conocimiento en forma adecuada para las computadoras • Modularizan pedazos de conocimiento • Permiten el desarrollo incremental • Las decisiones son entendibles y explicables • Abren nuevas posibilidades computacionales (paralelismo) • Representación homogénea de conocimiento • Permiten interacciones no planeadas y útiles Ventajas de Reglas:
  • 49. • No hay fundamento para decidir qué problemas tiene solución • Problemas de verificación / consistencia / completez de conocimiento • Escalamiento sin perder entendimiento /eficiencia • Permiten interacciones no planeadas y no deseadas • No tienen acceso al razonamiento que hay detrás de las reglas Desventajas de Reglas:
  • 50. • Bases de reglas grandes son difíciles de mantener y desarrollar (requiere una partición de las reglas, pero el formalismo no lo permite hacer directamente) • No son adecuadas cuando existe incertidumbre ya que se pierde la modularidad
  • 51. Del tiempo de ejecución el 90% se consume en el proceso de apareo. RETE (red) El algoritmo Rete se basa en dos observaciones (suposiciones):
  • 52. 1. La memoria de trabajo es muy grande y cambia poco entre cada ciclo. Esto implica que mucha información sigue presente en el siguiente ciclo y se puede utilizar 2. Las condiciones de muchas reglas son similares
  • 54. Existen herramientas de desarrollo para construir sistemas basados en reglas. Éstas las podemos clasificar en 3 niveles: Herramientas de Desarrollo 1. Shells: Exsys, Nexpert, ... 2. Lenguajes de reglas: OPS, Clips, ... 3. Lenguajes simbólicos: Lisp, Prolog
  • 55. Tarea • Leer Capítulos 9 (9.3) y 12 (12.2) de Russell • Práctica 1 (en la página del curso)