从优势列表中挑选出最好的元素

Picking the best element out of a list of dominance

所以我正在研究一个论证系统,我的目标是挑选最好的专家来减少我的系统有争议的。我已经实现了算法,并得到了这个答案:

EX1  dominates  EX5
EX2  dominates  EX1
EX2  dominates  EX5
EX4  dominates  EX1
EX4  dominates  EX5

我现在要做的,就是用我得到的优势结果对这些专家(从EX1到EX5)进行排序,这样我就可以选出最好的。我找到了一种方法,即计算最小 FAS,然后使用拓扑顺序,但我想知道是否有一种算法可以给我准确的结果(在这个例子中,最好的专家是 EX4 和 EX2) .

提前致谢。

就像@Suparshva 在评论中建议的那样,我制作了一个图表,其中参数是节点,边代表优势,我检索了度数最低的节点。

在python中编写了以下算法,并使用networkx库实例化了图形。

d=nx.DiGraph()
d.add_nodes_from([expert.name for expert in experts])

for exp in experts:
    for expert in experts:
            if exp.persist_dominate(expert) and exp != expert:
                d.add_edge(exp.name,expert.name)

print([elem[0] for elem in d.in_degree if min(d.in_degree, key=lambda x: x[1])[1] == elem[1]])