问题如下:给定一个poset的子集S,找到S的最大元素。
例如,考虑http://ndp.jct.ac.il/tutorials/Discrete/node34.html中的poset 的哈斯图。给定它的一个子集,例如:{12, 2, 8},最大元素是 12 和 8。
我不知道我是否准确地描述了这个问题。我认为这个问题可能涉及传递闭包的一些排序或计算,但我有点困惑。
你能给我一些快速算法的方法吗?我想把它保存在 O(n^2)
谢谢。
一点澄清。我的应用程序正在使用 RDF 图。如果存在表示 < 关系的特定边,则两个节点是可比较的。如果存在这样的显式关系或隐式传递关系,则两个节点可能是可比较的。
所以假设哈斯图正是我的RDF图。如果我从 2 开始进行深度优先搜索,我怎么知道 8 和 12 不可比较?它们可能不是显式的,但可能是隐式的。