使用预定义函数

时间:2015-06-18 13:48:44

标签: java sorting

我有排序问题。我有一个功能,让我们说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排序一组作业,考虑到这个问题。 那么,我该如何对这组工作进行排序呢?

1 个答案:

答案 0 :(得分:2)

很容易识别出存在问题。您需要构建决策的直接图表。如果它包含周期而不是你在某处做出错误的决定。

但是不可能找出哪个决定是坏的。周期中的任何决定都可能很糟糕(甚至是其中的几个)。

修改

您可以删除图形的某些边缘以打破循环(您可以选择任何您喜欢的方式)。在那之后你的任务将被部分订购(或者可能完全有序,我需要考虑它)。

编辑2

以下是wiki文章,它可以帮助您Feedback arc set