2017-11-17 2 views
1

Ich weiß nicht viel über clingo, ich hoffe, ich kann das Problem klar teilen.clingo einen variablen Bereich anwenden

Zur Zeit habe ich

cellUseCount(X,Y,C) :- C = #count{cell(X,Y)}, target(X,Y,XX,YY). 

die Ergebnisse für jedes X zurückgibt, den Wert Y. Wie kann ich für X-XX und Y-YY Reichweite bekommen. Beispiel: Die Regel generiert cellUseCount(1,5,1) für target(1,5,1,1). Allerdings hätte ich gerne cellUseCount(1,1,1), cellUseCount(1,2,1), cellUseCount(1,3,1), cellUseCount(1,4,1), cellUseCount(1,5,1) für target(1,5,1,1). Wie kann ich das umsetzen?

Vielen Dank im Voraus.

Antwort

0

Versuchen:

% instance 
target(1,5,1,1). 

% encoding 
cellUseCount(X,1..Y,C) :- C = #count{cell(X,Y)}, target(X,Y,XX,YY). 

Ausgang:

enter image description here

Verwandte Themen