实例:一个无向图具有两个不同的顶点和一个整数。
问题:是否存在一条路径,使得该路径最多与三角形相交?(对于此问题,如果路径包含三角形的至少一条边,则该路径被称为相交。)
3
错了吗 我们为每个边缘分配权重,然后找到最短的st路径。每个边缘的权重是包括该边缘的三角形的数量。该路径的权重不等于它遇到的三角形数量,而是一条最小三角形数量的st路径。(可能的问题是,我们可能会对一个或多个三角形进行两次计数,因为我们访问了该三角形的两个边,但是选择它们的原因是它们比穿过三角形的另一个边小,并且我们拥有简单的路径均值三角形的两个边缘彼此相邻)。
—
2015年
@Saeed我不明白:过度计数不会使您选择次优路径的说法是什么?您的算法当然是2近似值。也许一种解决方法是为每个路径添加一条边,其权重等于包含和的三角形的数量
—
Sasho Nikolov
是的,我们可以从u转到v,然后选择x(某个其他节点不在三角形uvw中),然后转到w,这是错误的(我的错误是我错过了不在三角形uvw中的顶点之间) ,但经过修正后,它是正确的,因为对于原始图中每个带有三角形的st路径,辅助图中都有一条权重的路径。此外,新图形中路径的权重始终至少等于原始图形中相应路径中的三角形数。
—
2015年
我对此进行了更多考虑,即使修复后仍然无法使用。对不起,安德拉斯,如果我带来了错误的希望。要了解为什么修复错误,请考虑路径中的顶点,我们有一个三角形和并且假设边和入射到太多三角形。如果我们使用一个人造新边连接那么我们对三角形两次计数。PS:我的推理又是错误的,因为我认为我们只需用新的(多)边替换和。如果我们为每条路径添加这些人造边缘,它将很简单。好像是NPC。
—
2015年
我的想法行不通-我需要维护多个集合,而且我认为它们将太多。
—
reinierpost 2015年