r36204
-
Upload
emmanuel-mendoza -
Category
Documents
-
view
7 -
download
0
Transcript of r36204
Sistemas de Produccion
Daniel Borrajo, Carlos Linares
{daniel.borrajo,carlos.linares}@uc3m.es
Departamento de Inteligencia Artificial
Noviembre 2004
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Sistemas de Produccion
En los primeros pasos de la IA, se cuestiono el tratamiento que daban los
algoritmos tradicionales a los problemas.
• Flujo de control fijo
• Secuencialidad
• No adecuado en entornos cambiantes
Solucion: los datos dirigen las operaciones
Octubre, 2004 I Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
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 aplicacion
B: acciones sobre la BH o mundo externo
Estrategia de control, interprete de reglas, o motor de inferencias (EC o MI):
responsable de encadenar los ciclos de funcionamiento.
• Fase de decision: seleccion de reglas
• Fase de accion: ejecucion 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
Octubre, 2004 II Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Funcionamiento de un SP
Tipos de sistemas
• Sistemas dirigidos por el antecedente. Modus Ponens
• Sistemas dirigidos por el consecuente. Modus Tollens
Fases
Fase de decision
• Etapa de restriccion (opcional)
• Etapa de equiparacion o filtrado. RETE
• Etapa de resolucion del conjunto conflicto
Fase de accion
Caracterısticas de la estrategia
• Lo mas general posible
• Lo mas eficiente posible (heurısticas): implıcitas o explıcitas
• Causar movimiento
• Ser sistematica
Octubre, 2004 III Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Ejemplo: 8 puzzle. Base de hechos
1 2 3
5 64 7 8
3
5 64 7 81
2?
listas: (V11,V12,V13,. . . ,V33)
logica de predicados: casilla(X,Y,Valor)
marcos:
Casilla
es-un:
Atributo Posibles valores/Valor
x numero [1..3]
y numero [1..3]
valor numero [0..8]
Octubre, 2004 IV Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
8-puzzle. Base de hechos inicial
1 2 3
5 64 7 8
3
5 64 7 81
2?
listas: (1,2,3,0,5,6,4,7,8)
logica de predicados: casilla(1,1,1),casilla(1,2,2),. . . ,casilla(3,3,8)
marcos:
casilla11
instancia-de: Casilla
Atributo Posibles valores/Valor
x 1
y 1
valor 1
casilla12
instancia-de: Casilla
Atributo Posibles valores/Valor
x 1
y 2
valor 2
Octubre, 2004 V Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
8-puzzle. Base de hechos final o metas
1 2 3
5 64 7 8
3
5 64 7 81
2?
listas: (2,0,3,1,5,6,4,7,8) o (2,X,Y,1,5,Z,4,7,8)
logica de predicados: casilla(1,1,2),casilla(1,2,0),. . . ,casilla(3,3,8)
marcos:
casilla11
instancia-de: Casilla
Atributo Posibles valores/Valor
x 1
y 1
valor 2
casilla12
instancia-de: Casilla
Atributo Posibles valores/Valor
x 1
y 2
valor 0
Octubre, 2004 VI Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
8-puzzle. Base de reglas
listas
Si (0,X1,X2,X3,X4,X5,X6,X7,X8)
Entonces (X1,0,X2,X3,X4,X5,X6,X7,X8)
Si (0,X1,X2,X3,X4,X5,X6,X7,X8)
Entonces (X3,X1,X2,0,X4,X5,X6,X7,X8). . .
Problema: implica definir todas las posibles combinaciones de posicion del
vacıo (0) y sus posibles movimientos
Octubre, 2004 VII Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
8-puzzle. Logica de predicados
Si casilla(X,Y,0),casilla(X1,Y,Z),X=X1+1
Entonces casilla(X1,Y,0),casilla(X,Y,Z),∼casilla(X,Y,0),∼casilla(X1,Y,Z)
Si casilla(X,Y,0),casilla(X1,Y,Z),X=X1-1
Entonces casilla(X1,Y,0),casilla(X,Y,Z),∼casilla(X,Y,0),∼casilla(X1,Y,Z)
Si casilla(X,Y,0),casilla(X,Y1,Z),Y=Y1+1
Entonces casilla(X,Y1,0),casilla(X,Y,Z),∼casilla(X,Y,0),∼casilla(X,Y1,Z)
Si casilla(X,Y,0),casilla(X,Y1,Z),Y=Y1-1
Entonces casilla(X,Y1,0),casilla(X,Y,Z),∼casilla(X,Y,0),∼casilla(X,Y1,Z)
Realmente en PROLOG difıcil de realizar dado que requiere razonamiento no
monotono
Octubre, 2004 VIII Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
8-puzzle. Marcos
Derecha
Si ?casilla← (casilla (x ?x) (y ?y) (valor 0))
?casilla1← (casilla (x ?x1) (y ?y) (valor ?v))
(test ?x=?x1+1)
Entonces modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
Izquierda
Si ?casilla← (casilla (x ?x) (y ?y) (valor 0))
?casilla1← (casilla (x ?x1) (y ?y) (valor ?v))
(test ?x=?x1-1)
Entonces modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
Abajo
Si ?casilla← (casilla (x ?x) (y ?y) (valor 0))
?casilla1← (casilla (x ?x) (y ?y1) (valor ?v))
(test ?y=?y1+1)
Entonces modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
Arriba
Si ?casilla← (casilla (x ?x) (y ?y) (valor 0))
?casilla1← (casilla (x ?x) (y ?y1) (valor ?v))
(test ?y=?y1-1)
Entonces modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
Octubre, 2004 IX Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Equiparacion
Primera aproximacion: en cada ciclo se calcula el CC y se resuelve
Problema: lentitud
Solucion: algoritmo RETE (algoritmo de redundancia temporal)
• a partir de las reglas se crea inicialmente un grafo (red RETE)
• se propaga el contenido de la base de hechos inicial a traves de la red
• cada vez que se produce un cambio en la base de hechos (normalmente, a
traves del consecuente de una regla), se propagan los cambios
• en cada ciclo, en los nodos terminales de la red se dispondra del CC
Idea clave: similitud estructural
Octubre, 2004 X Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Encadenamiento hacia adelante
BH inicial: (casilla (x 1) (y 1) (valor 1))
(casilla (x 1) (y 2) (valor 2))
. . .
(casilla (x 3) (y 3) (valor 8))
Equiparacion:
(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=casilla-1-2, ?casilla1=casilla-1-1)
(Abajo, ?x=1, ?y=2, ?y1=3, ?v=4, ?casilla=casilla-1-2, ?casilla1=casilla-1-3)
(Derecha, ?x=1, ?y=2, ?x1=2, ?v=5, ?casilla=casilla-1-2, ?casilla1=casilla-2-1)
Resolucion del CC (por ejemplo, primera regla):
(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=casilla-1-2, ?casilla1=casilla-1-1)
Ejecucion: (- (casilla (x 1) (y 1) (valor 1)))
(+ (casilla (x 1) (y 1) (valor 0)))
(- (casilla (x 1) (y 2) (valor 0)))
(+ (casilla (x 1) (y 2) (valor 1)))
Equiparacion . . .
Octubre, 2004 XI Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Encadenamiento hacia atras (a la PROLOG)
Metas: (casilla (x 1) (y 1) (valor 2))
(casilla (x 1) (y 2) (valor 0))
. . .
(casilla (x 3) (y 3) (valor 8))
Reduccion: seleccion meta (por ejemplo, la primera)
(casilla (x 1) (y 1) (valor 2))
Equiparacion:
(Abajo, ?v=2, ?casilla=casilla-1-1, ?casilla1=casilla-1-2)
(Derecha, ?v=2, ?casilla=casilla-1-1, ?casilla1=casilla-2-1)
Resolucion del CC (por ejemplo, primera regla):
(Abajo, ?v=2, ?casilla=casilla-1-1, ?casilla1=casilla-1-2)
Ejecucion:
introducir las condiciones de la regla instanciada en conjunto de metas
Reduccion: . . .
Octubre, 2004 XII Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Comparativa de tipos de encadenamiento
Inconvenientes de encadenamiento hacia adelante
• No focalizacion hacia las metas
• Es necesario tener inicialmente todos los datos en la BH
Ventajas de encadenamiento hacia atras
• Limita el numero de equiparaciones
• Disminuye el arbol de busqueda
Factores de eleccion
• Numero de estados iniciales y metas
• Factor de ramificacion
• Justificacion del funcionamiento
Octubre, 2004 XIII Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Estrategias de resolucion
Primera regla
Mas conocimiento
Mas prioridad
Mas especıfica
Mas general
Referente al elemento mas nuevo
No aplicada antes
Mas veces aplicada
Aleatoriamente
Explorar todas
Metarreglas
Mezcla de estrategias
Octubre, 2004 XIV Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Ventajas e inconvenientes
Ventajas
• Modularidad, lo que facilita incrementalidad
• Caracter declarativo
• Uniformidad
• Naturalidad
• Flexibilidad
• Aprendizaje automatico
• Modelizacion del comportamiento animal y humano
Inconvenientes
• Ineficiencia
• Opacidad
• Dificultad de representacion de los algoritmos
Octubre, 2004 XV Departamento de Inteligencia Artificial
Sistemas de Produccion Daniel Borrajo, Carlos Linares
Dominios Apropiados
Tareas: transicion entre estados
Conocimiento difuso
Conjuntos de acciones independientes
Conocimiento separable de la forma de usarse
Octubre, 2004 XVI Departamento de Inteligencia Artificial