如何生成固定大小的事实列表(包括重复项)?
How do I generate a fixed sized list of facts (duplicates included)?
我是 ASP & Clingo 的新手,我需要为学校做一个项目。我想到了一些基本的音乐生成器。
现在,我需要生成笔记(我现在坚持使用 C 大调)。我也想随机生成它们,但我不知道该怎么做。我怎样才能让下面的代码生成一个随机的音符序列(也是重复的)?
note(c;d;e;f;g;a;b).
20 { play(X) : note(X)} 30.
#show play/1.
到目前为止,代码不允许超过 7 作为上限,因为它不会显示重复的注释。
当前输出:play(b) play(g) play(e) play(c)
想要输出:play(d) play(g) play(f) ...[20-30 randomly generated notes]
我希望以后能够添加约束条件(比如这个注释后面不应该跟那个注释,等等)。我很感激任何提示,因为我对此知之甚少。
一个答案集是一个集合。原子没有顺序,不可能重复,因为它是一个集合。
您想为每个节拍猜一个音符。
beat(1..8).
1 { play(N,B) : note(N) } 1 :- beat(B).
我是 ASP & Clingo 的新手,我需要为学校做一个项目。我想到了一些基本的音乐生成器。
现在,我需要生成笔记(我现在坚持使用 C 大调)。我也想随机生成它们,但我不知道该怎么做。我怎样才能让下面的代码生成一个随机的音符序列(也是重复的)?
note(c;d;e;f;g;a;b).
20 { play(X) : note(X)} 30.
#show play/1.
到目前为止,代码不允许超过 7 作为上限,因为它不会显示重复的注释。
当前输出:play(b) play(g) play(e) play(c)
想要输出:play(d) play(g) play(f) ...[20-30 randomly generated notes]
我希望以后能够添加约束条件(比如这个注释后面不应该跟那个注释,等等)。我很感激任何提示,因为我对此知之甚少。
一个答案集是一个集合。原子没有顺序,不可能重复,因为它是一个集合。
您想为每个节拍猜一个音符。
beat(1..8).
1 { play(N,B) : note(N) } 1 :- beat(B).