TOMITAMIS算法:原理、实验与对比分析
1. TOMITAMIS算法原理
TOMITAMIS算法与Lipton和Tarjan的算法有所不同。即使遵循分隔器结构,对于特定的分隔器S,在确切决定S中哪些顶点应包含在最大独立集(MIS)之前,允许为NG(S)中的顶点分配值。
1.1 递归树表示
当该算法应用于图时,其递归树可以用图直观展示。例如图1b展示了算法应用于图1a时的递归树。递归树的节点有以下特点:
- 圆形节点:每次算法在特定顶点上进行分支时用圆形节点表示。左分支表示该分支顶点在当前MIS中,右分支表示该顶点不在当前MIS中。
- 特殊情况:当剩余图仅由P中的一个顶点组成时,只显示该顶点的名称,因为它必定在任何MIS中;当剩余图为空时,标记为∅;如果某个分支无法扩展为MIS,则标记为s。
- 方形节点:用于表示图已断开连接的情况,为每个连通分量绘制一个分支。节点内的数字表示该特定分支返回的MIS数量。
1.2 分支顶点选择顺序
目前算法在选择分支顶点的顺序上仍有一定自由度:
- 分隔器内顶点重排序:可以对分隔器α内的顶点进行重新排序。
- 支配顶点选择顺序:当选择一个顶点v∈S进行分支,且v不在当前MIS中时,可以自由决定从NG(v) ∩P中选择顶点来支配v的顺序。
2. 实验设置
2.1 实验环境
所有实验都在运行64位Fedora 14的Linux工作站上进行,该工作站配备Intel Core 2 Duo E6500处理器和2GB主内存。程序使用C(使用gcc版本4.5.1并带有 -O3标志编译)和Ja
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



