蕴含图的构建与搜索

Posted yuweng1689

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蕴含图的构建与搜索相关的知识,希望对你有一定的参考价值。

思考:

1.主要为了基于冲突往前搜索,所以关注冲突节点。冲突是两个子句对一个文字赋值给出不同的赋值产生的,因而冲突节点实际关联两个子句。

冲突文字——关联两个reason子句,两个决策层;

普通决策(含隐含决策)文字——关联一个reason子句,一个决策层;

2.使用有向图建立蕴含图:

(1)顶点为进入trail的文字:

trail.push_(p);//文字入队

以下循环可以查询指定队列位置号上的文字及其变元

for (int c = trail.size() - 1; c >= trailRecord; c--)
{
      Var x = var(trail[c]);
     assigns[x] = l_Undef;

}

assigns[var(p)]              ——可获取其变元赋值
vardata[var(p)].reason ——可获取获取其所在的子句地址

vardata[var(p)].level    ——可获取其所在的决策层数

由上边查询及访问可知指导trail的位置序号——可以得到文字——进而通过变元获取其它对应信息。所以构建

指向关系逻辑上是a->b,a先赋值后蕴含推导出b,a在前由指向b;实际便于查找可以建立有向边b指向a。

以上是关于蕴含图的构建与搜索的主要内容,如果未能解决你的问题,请参考以下文章

构建这个复杂图的最佳方法是啥

算法图的广度优先搜索和深度优先搜索

如何构建知识图谱?

二代测序文库构建-概述与挑战(1)

图的优先遍历:广度优先搜索和深度优先搜索

算法:图的深度优先搜索