Closed furcelay closed 3 years ago
Hola!
Sip, se refiere a que ninguna regla puede generar R^2 instancias o átomos en un modelo, con R siendo la cantidad de robots. El primer ejemplo que diste efectivamente sería lineal en X, mientras que si te fijas en el predicado on(R,X,Y,T)
de la tarea, puedes generar instancias para cada robot, para cada posición de la grilla, para cada instante de tiempo en un mismo modelo (cuánto sería eso?).
Es por esto último que se introduce lo del número de cláusulas, porque si no se maneja, admitiríamos que dos robots (todos, de hecho) estén en una misma posición en un mismo momento, o que un robot esté en distintas posiciones en un mismo momento también, por ejemplo.
Me cuentas si te quedan dudas. Saludos!
Me queda mas claro, gracias!
No me quedó muy claro. El segundo ejemplo que da furcelay, :- conjuntoX(X1), conjuntoX(X2), q2(X1, X2) ¿Es cuadrática? ¿No nos pueden decir que líneas de bodegas.lp son cuadráticas con respecto a R? O por lo menos darnos un ejemplo.
Es cuadrática. Para que lo veas más fácil, imagina: p(1..n). :- p(X1), p(X2), r(X1,X2).
hay n formas de instanciar X1 y n formas de instanciar X2, por lo que generas n*n=n^2 reglas al instanciar.
Gracias!
Hola! No entiendo muy bien a qué se refieren con el número de cláusulas en éste contexto... ¿Corresponde al número de instanciaciones dsitintas del predicado para revisar la regla?
La noción que tengo es que por ejemplo si tenemos que una variable
X
toma valores de un conjuntoconjuntoX
, entonces la reglap1(X) :- conjuntoX(X), q1(X)
sería lineal respecto aX
mientras que:- conjuntoX(X1), conjuntoX(X2), q2(X1, X2)
sería cuadrática .¿Estoy en lo correcto?
Gracias!! 😄