【发布时间】:2017-01-09 13:24:26
【问题描述】:
考虑下面的代码,用 cligo 编译。
文件test.lp。编译命令:clingo 0 test.lp.
col(("rot";"blau")).
freq("rot","hell",2). freq("rot","dunkel",2). freq("rot","hell",5).
freq("blau","hell",20). freq("blau","dunkel",30). freq("blau","hell",50).
freq_sum(C,F) :- F = #sum{ X : freq(C,_,X) }, col(C).
%% does not work: >>error: syntax error, unexpected [, expecting {<<
% freq_sum(C,F) :- F = #sum[ X : freq(C,_,X) ], col(C).
#show freq_sum/2.
代码应计算每种颜色的频率总和。对于"red",这应该是9,对于“blue",这应该是100。对于"red",值2 被计算两次。当我将{...}替换为[…] 时,这应该使列表成为有序列表并提供有序总和,编译器会抱怨error: syntax error, unexpected [, expecting {。我有clingo version 4.5.4。我的代码或编译器有问题吗?
谁能告诉我,我如何在 asp 中执行一个有序的求和?
【问题讨论】:
标签: compiler-errors answer-set-programming clingo