我有排序问题。我有一个功能,让我们说blackbox简化。 作为输入,它需要两个作业(任务),作为输出,它首先返回要处理的作业。例如:
input(1,2) --> output: Job 2 is first.
问题是,这个黑盒子有时会做出错误的决定。 示例:假设我们有3个作业:0,1和2.我们测试每个作业以确定处理顺序。
input(0,1) --> output: Job 0 is first
input(1,2) --> output: Job 1 is first
input(0,2) --> output: Job 2 is first (bad decision)
所以问题就在这里,通常使用两个拳头输入,作业0必须在2之前处理。但是balckbox说不然。 我想使用这个blackbox排序一组作业,考虑到这个问题。 那么,我该如何对这组工作进行排序呢?
答案 0 :(得分:2)
很容易识别出存在问题。您需要构建决策的直接图表。如果它包含周期而不是你在某处做出错误的决定。
但是不可能找出哪个决定是坏的。周期中的任何决定都可能很糟糕(甚至是其中的几个)。
修改的
您可以删除图形的某些边缘以打破循环(您可以选择任何您喜欢的方式)。在那之后你的任务将被部分订购(或者可能完全有序,我需要考虑它)。
编辑2
以下是wiki文章,它可以帮助您Feedback arc set