Вы находитесь на странице: 1из 17

Sistemas de Produccion

Daniel Borrajo, Carlos Linares


{daniel.borrajo,carlos.linares}@uc3m.es

Departamento de Inteligencia Articial


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 jo Secuencialidad No adecuado en entornos cambiantes


Solucion: los datos dirigen las operaciones

Octubre, 2004

Departamento de Inteligencia Articial

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 Articial

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 ltrado. RETE Etapa de resolucion del conjunto conicto Fase de accion Caractersticas de la estrategia Lo mas general posible Lo mas eciente posible (heursticas): implcitas o explcitas

Causar movimiento
Ser sistematica
Octubre, 2004 Departamento de Inteligencia Articial

III

Sistemas de Produccion

Daniel Borrajo, Carlos Linares

Ejemplo: 8 puzzle. Base de hechos

1 4

2 7

3 8

5 6

2 1 4 7

3 5 6 8

listas: (V11,V12,V13,. . . ,V33) logica de predicados: casilla(X,Y,Valor) marcos: Casilla

es-un:
Atributo x y valor Posibles valores/Valor numero [1..3] numero [1..3] numero [0..8]

Octubre, 2004

IV

Departamento de Inteligencia Articial

Sistemas de Produccion

Daniel Borrajo, Carlos Linares

8-puzzle. Base de hechos inicial

1 4
listas: (1,2,3,0,5,6,4,7,8)

2 7

3 8

5 6

2 1 4 7

3 5 6 8

logica de predicados: casilla(1,1,1),casilla(1,2,2),. . . ,casilla(3,3,8) marcos: casilla11 casilla12

instancia-de: Casilla
Atributo x y valor Posibles valores/Valor 1 1 1

instancia-de: Casilla
Atributo x y valor Posibles valores/Valor 1 2 2

Octubre, 2004

Departamento de Inteligencia Articial

Sistemas de Produccion

Daniel Borrajo, Carlos Linares

8-puzzle. Base de hechos nal o metas

1 4

2 7

3 8

5 6

2 1 4 7

3 5 6 8

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 casilla12

instancia-de: Casilla
Atributo x y valor Posibles valores/Valor 1 1 2

instancia-de: Casilla
Atributo x y valor Posibles valores/Valor 1 2 0

Octubre, 2004

VI

Departamento de Inteligencia Articial

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 denir todas las posibles combinaciones de posicion del vaco (0) y sus posibles movimientos

Octubre, 2004

VII

Departamento de Inteligencia Articial

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 monotono
PROLOG

difcil de realizar dado que requiere razonamiento no

Octubre, 2004

VIII

Departamento de Inteligencia Articial

Sistemas de Produccion

Daniel Borrajo, Carlos Linares

8-puzzle. Marcos
Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) Derecha ?casilla1 (casilla (x ?x1) (y ?y) (valor ?v)) (test ?x=?x1+1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0)

Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) Izquierda ?casilla1 (casilla (x ?x1) (y ?y) (valor ?v)) (test ?x=?x1-1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0)

Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) Abajo ?casilla1 (casilla (x ?x) (y ?y1) (valor ?v)) (test ?y=?y1+1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0)

Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) Arriba ?casilla1 (casilla (x ?x) (y ?y1) (valor ?v)) (test ?y=?y1-1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0)

Octubre, 2004

IX

Departamento de Inteligencia Articial

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

Departamento de Inteligencia Articial

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 Articial

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 Articial

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 ramicacion Justicacion del funcionamiento

Octubre, 2004

XIII

Departamento de Inteligencia Articial

Sistemas de Produccion

Daniel Borrajo, Carlos Linares

Estrategias de resolucion
Primera regla Mas conocimiento Mas prioridad Mas especca 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 Articial

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

Ineciencia Opacidad
Dicultad de representacion de los algoritmos

Octubre, 2004

XV

Departamento de Inteligencia Articial

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 Articial