【发布时间】:2014-12-28 12:58:24
【问题描述】:
我想执行以下操作:
merge([[[],[],[],[t1]],[[],[],[],[t2,t3]]], X).
其中 X 将返回为:[[],[],[],[t1,t2,t3]]。
但我已经尝试了所有我的 prolog 知识,但一无所获。
有什么提示吗?
想象一下:
Computer(
Tasklist1(
core1[sometasks],core2[sometasks],...,coreX(sometasks)),
...
TasklistX(
core1[sometasks],core2[sometasks],...,coreX(sometasks))
)
所以 tasklist1 之后的任务列表需要在相同的核心上调度,在 tasklist1 的任务之后。
【问题讨论】:
-
而
[[[1],[2],[3]], [[4],[5],[6]]]会产生[[1,4],[2,5],[3,6]]? -
(为什么第一个参数列表中有“叶子”?)
-
是的,确实如此!您只需“附加”每个列表的第 X 个元素
-
你可以想象得到的每一个列表都是一个处理器核心,数字就是任务。这些任务包含在列表中,以明确这些是 1 个核心的任务。
-
任何答案都可以接受吗?
标签: list prolog declarative declarative-programming