r36204

17
Sistemas de Producci ´ on Daniel Borrajo, Carlos Linares {daniel.borrajo,carlos.linares}@uc3m.es Departamento de Inteligencia Artificial Noviembre 2004

Transcript of r36204

Page 1: r36204

Sistemas de Produccion

Daniel Borrajo, Carlos Linares

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

Departamento de Inteligencia Artificial

Noviembre 2004

Page 2: r36204

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

Page 3: r36204

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

Page 4: r36204

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

Page 5: r36204

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

Page 6: r36204

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

Page 7: r36204

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

Page 8: r36204

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

Page 9: r36204

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

Page 10: r36204

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

Page 11: r36204

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

Page 12: r36204

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

Page 13: r36204

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

Page 14: r36204

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

Page 15: r36204

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

Page 16: r36204

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

Page 17: r36204

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