分类中两个概念的最低上级

时间:2011-04-25 14:11:14

标签: algorithm taxonomy

如何以有效的方式找到两个概念的最低上位? 分类中两个概念的最低上级意味着这两个概念中最具体的共同祖先。例如,在下面的分类图中,如何找到感觉1和感觉2的最常见的祖先?

Taxonomy

顺便说一下,我在Roberto Navigli的词义消歧调查中发现了这个问题。他没有提到如何计算上级。

2 个答案:

答案 0 :(得分:1)

您可以从Sense 1侧上升层次结构,并将所有这些节点标记为Sense 1的祖先。然后向上Sense 2侧检查每个祖先,看看你是否将其标记为Sense 1的祖先。您找到的第一个将是最低级别或最具体的共同祖先。

在你的图片中,无论你从哪个感觉开始,它都是根节点。

答案 1 :(得分:0)

http://en.wikipedia.org/wiki/Lowest_common_ancestor包含指向我们有树的(通常)情况下最不常见的祖先问题的更有效算法的指针,因此每个节点都有一个父节点,除了根节点,它没有父节点。在树的线性时间预处理之后,这些算法可以在恒定时间内回答查询。

我不知道这些算法是否会推广到您可以拥有多个父级的情况。看起来明显的概括将等于删除树中的链接,以确保在连接时,每个节点最多只有一个父节点。