1

我在 Prolog 中为艺术目的编写程序,严重依赖大量 CHR 规则。我希望能够运行多次,但每次产生不同的输出。最简单的方法是每次都不确定地重新排序约束。

例如,对于一首诗的形式,我可能想要一个 ABAB 或 ABAC 形式。然后我想写:

stanza <=> verse(A,0), verse(B,1), verse(A,2), verse(B,3)
stanza <=> verse(A,0), verse(B,1), verse(A,2), verse(C,3)

我希望第一条规则有时会在stanza出现时触发,而第二条规则有时会触发。我怎么能用 CHR 做到这一点?

4

0 回答 0