一种与或图的层次化显示方法技术

技术编号:11183048 阅读:110 留言:0更新日期:2015-03-25 12:12
本发明专利技术公开了一种与或图的层次化显示方法,包括:(1)创建与或图的起点和终点;(2)读入数据文件,根据四元组数据文件构建与或图中所有的模型节点和有向线段,形成与或图的内部模型;(3)初始化,将节点数据对象的搜索标志设置为未搜索;(4)对与或图模型进行宽度优先搜索并显示,从起点或根节点开始,一层一层向外搜索并显示每个与或图节点;(5)扩展处理,对静态关系图进行扩展处理,使之能动态显示与或图的所有节点。本发明专利技术方法可以用计算机系统中常用的树窗口来显示复杂多方案的与或图,通过增加虚节点使复杂与或图的表示更加精炼、清晰,不产生线的交叉,特别适合大规模复杂问题或方案的表示和优化求解。

【技术实现步骤摘要】

本专利技术属于计算机图形化
,更具体地,涉及一种与或图的层次化显示方法,用于将二维的与或图用计算机系统中常用的树状显示软件显示出来。
技术介绍
对于复杂的工程问题,常常将问题分解成一些相互独立的小问题,然后对其分别求解。与或图是描述这种工程求解方法的强有力的工具,其特点是用父子关系联接问题及其分解子问题。从形式上看,全部的问题和子问题关系形成了一种层次结构,类似于一个有向无圈图。与有向无圈图不同的是,与或图中还包含了与或关系,因为问题的分解并不是只有一种方案,与或图可在一幅图上将多种方案同时表示出来。与或图对于复杂问题特别是多方案的求解具有较大的优势。例如,与或图对于装配序列的表示和规划具有重要意义,图1是Homem de Mello和Sanderson在1990年提出的表示某简单产品的装配序列关系的一个与或图案例图。在与或图中,主要存在三种图形元件,第一种是节点,通常用一个空心或实心的小圆点或圆框表示,用于表示各种问题;第二种是边,通常用从起始节点到终止节点的有向线段或弧来表示,用于表示问题分解关系;第三种是连接若干条边的弧线,表示这些边之间存在与关系(如这些边没有弧线,则表示它们存在或关系)。因为与或图可以理解成由父子关系组成的表示多种方案的层次结构,所以可以将其理解成一棵特殊的树,一种组合树,即多棵树的组合。因为作为一棵树,每一个方案都是一个有向无圈图,所以与或图是多个有向无圈图的组合。在图论中,常常以二维图形的方式将有向图用节点和有向线段或弧绘制出来。因为任何两个节点之间都可以存在连线,所以必须采用二维或更高维的图形来表示有向图,而用一维空间则无法清晰地表示一般有向图中各节点之间的关系,除非该有向图描述的仅是线性关系。有向无圈图是有向图的一种特殊情况,由于不存在回路,其二维的图形显示可以通过一定的调整而变得非常有层次感,甚至可以与时间维产生一定的关联,例如,项目施工网络图可以清晰地表现出每个施工任务必须在什么时间开工,什么时间结束等等。与或图是多个有向无圈图的组合,其任务就是通过对多个有向无圈图进行分析得到最优或较优的结果,而这最优或较优的结果通常又是用一个有向无圈图表示的,所以绘制与或图应该与绘制有向无圈图具有一定的相似性。其绘制方法既能有效地表示有向图,又能轻易地绘制与或关系。显而易见,传统的与或图绘制方法表现力非常强大。例如,图1所示的简单产品与或图可以充分表示很多装配方案,如果不限制每次零件组装的个数,可以表示所有的装配方案。为了强调它的工程实际意义,图1中的节点采用简略零件图表现,非常直观。在一般的与或图绘制中,通常采用更抽象的方法,即每个节点都采用小圆点或圆框等方式表达,仅仅在小圆点外或圆框内标注数字或符号,如图2所示。在计算机应用系统中,如果将与或图采用同传统的与或图一样的表示方法在计算机屏幕上进行绘制,效果也将是非常好的,但在实现和操作方面存在一定的缺点,主要表现在以下几个方面:1)系统开发要求高虽然与或图的基本构型是树,但如何合理地在二维的计算机屏幕上绘制出来仍然是一个比较复杂的问题。虽然与或图中的图形元件非常少,但开发一个二维绘图系统来实现与或图的绘制却是比较困难的。当与或图的特别复杂、图形元件数量较多的时候,对系统的开发要求将更高。2)图形布局困难与或图从构型上看是一个树,但进行图形布局也不是很容易的。首先,作为树,要求具有父子关系的节点处在相邻的位置,这样就要求对节点在同一层面上进行左右移动。其次,因为包含与或关系,方案数目大,为了减少重复,常常共用相同的节点,所以不可避免会出现有向线段交叉的情况,如图1所示。为了减少线段的交叉,同时又能清晰表达与或图的意义,需要进行复杂的布局计算。一般来说,与或图绘制系统仅提供手工图形布局设计功能,或简单自动布局功能。手工绘制虽然可以提供比较完美的效果,但绘制的效率很低,而且也不能完全消除交叉线。3)与或关系自动绘制不方便在传统的与或图表示方法中,与或关系是通过在存在与关系的若干边上加一个弧线实现的。这种方法非常精炼,也容易理解,但是在计算机系统中却不容易实现自动绘制,因为在计算机中父子关系之间的连线通常是折线,在若干个折线间画弧线不容易分清与或关系。4)整体感差当有向图节点和有向线段的数目比较大时,整个与或图的幅面将变得很大,而计算机显示屏幕是有限的,这样就给使用带来困难。如果观察整幅图,则可能看不清图上的文字信息;如果查看局部图,则很难形成整体印象。5)查找比较麻烦同样,当与或图中的节点数很大时,虽然可以放大看清文字,但同时可见部分很小,寻找不在当前视图范围内的节点或有向线段时会比较困难。而缩小图面内容时,虽然可以快速地移动与或图,但必须通过放大才能确认需要查找的内容。6)图形维护困难在与或图的使用过程中,图本身拓扑结构可能发生改变。一般情况下,增加或删除一些节点或有向线段都可能造成图形布局的变化。显然,拓扑结构的变化会破坏图形布局的整齐、美观,甚至不能有效表达逻辑关系,所以当与或图发生变化时需要重新对其布局,以产生良好的效果。显然,对图形布局的改变实际上意味着系统必须重新进行布局运算,其运算量将是比较大的。特别需要指出的是,无论是否采用计算机图形显示,当与或图中出现递归时,使用传统的方法来绘制与或图可能由于不能充分利用这种递归关系而增加许多工作。例如,图1所示的装配体只有4个,每次装配只有2个零部件参与,就会产生12个节点和29条边,如果组成产品的零部件数比较大,每次装配参与的零件数不受限制,则节点和边数将很大,这样在绘制与或图时将难以保证正确性。为了克服传统的计算机与或图图形显示方法的缺陷,必须首先对与或图的显示方法进行一些修改,然后采用计算机系统中常用的树窗口对其进行显示,以便能更简便、快键、有效地使用与或图。
技术实现思路
为了降低现有的与或图计算机显示方法的开发难度,方便计算机用户对与或图的应用和维护,本专利技术提出一种新的与或图的层次化显示方法。该方法首先在与或图中包含与或两种关系的节点中插入一些节点,这些插入的节点之间都是或关系,每个插入的节点内部都表示一组与关系。然后对新构成的图按照有向无圈图进行显示,得到与或图所有节点的层次化显示。为了解决上述技术问题,本专利技术提供了一种与或图的层次化显示方法,所述方法包括如下步骤:(1)创建与或图的起本文档来自技高网
...
一种与或图的层次化显示方法

【技术保护点】
一种与或图的层次化显示方法,其特征在于,所述方法包括如下步骤:(1)创建与或图的起点和终点;(2)读入数据文件,根据四元组数据文件构建与或图中所有的模型节点和有向线段,形成与或图的内部模型;(3)初始化,将节点数据对象的搜索标志设置为未搜索;(4)对与或图模型进行宽度优先搜索并显示,从起点或根节点开始,一层一层向外搜索并显示每个与或图节点,包括如下子步骤:(4.1)如果当前模型节点标志设置为未搜索,则进入(4.2),否则进入(4.3);(4.2)获得当前模型节点所有的子模型节点,将其显示在树窗口当前节点对应的树节点的下面作为子节点。这些树窗口的子节点记录它们所对应的模型节点的指针,同时将当前模型节点的标志设置为已扩展,其值为对应树节点的句柄;(4.3)取得下一个当前层的模型节点,重复重复(4.1)‑(4.3),直到当前层全部模型节点都处理完毕;(4.4)取得下一层的模型节点,重复(4.1)‑(4.4),直到所有模型节点都处理完毕。

【技术特征摘要】
1.一种与或图的层次化显示方法,其特征在于,所述方法包括如下步
骤:
(1)创建与或图的起点和终点;
(2)读入数据文件,根据四元组数据文件构建与或图中所有的模型节
点和有向线段,形成与或图的内部模型;
(3)初始化,将节点数据对象的搜索标志设置为未搜索;
(4)对与或图模型进行宽度优先搜索并显示,从起点或根节点开始,
一层一层向外搜索并显示每个与或图节点,包括如下子步骤:
(4.1)如果当前模型节点标志设置为未搜索,则进入(4.2),否则进
入(4.3);
(4.2)获得当前模型节点所有的子模型节点,将其显示在树窗口当前
节点对应的树节点的下面作为子节点。这些树窗口的子节点记录它们所对
应的模型节点的指针,同时将当前模型节点的标志设置为已扩展,其值为
对应树节点的句柄;
(4.3)取得下一个当前层的模型节点,重复重复(4.1)-(4.3),
直到当前层全部模型节点都处理完毕;
(4.4)取得下一层的模型节点,重复(4.1)-(4.4),直到所有模
型节点都处理完毕。
2.如权利要求1所述的方法,其特征在于,所述步骤(2)具体包括:
在读入四元组数据时,如果G不为0,表示该条边的父节点下子节点存
在与或关系,则除了创建或引用该条有向线段的父子节点外,还需要创建
一个虚节点,该虚节点的父节点就是该条有向线段的父节点,而将该条有
向线段的子节点加为该虚节点的子节点。相同的G只有一个虚节点,多个
不同的G则说明有多个或关系,它们都是父节点的子节点,其...

【专利技术属性】
技术研发人员:尹文生尹强
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1