迷茫的旅行商——一个无处不在的计算机算法问题

来源:互联网 发布:婚纱照相册排版软件 编辑:程序博客网 时间:2024/05/16 12:08

旅行商问题TSP(Traveling salesman problem)

**TSP的一般形式为:给定一组城市及它们两两之间的距离,求经过每座城市并返回出发地的最短路线。**

好算法,坏算法

依我猜想,旅行商问题没有好的算法。                                            ——Jack Edmonds,1967年好的算法能保证在至多(n的k次方)的时间内完成运算,其中,指数k可以是任意值,比如取2、3或者更大的数,但必须是固定值,不能随着n的增加而增加,n表示TSP问题的规模,即是城市的数量。TSP的好算法至今不为人知。目前最好的算法运行时间正比于(n的平方*2的n次方)。尽管这不是个好的算法,但是对于暴力枚举解决TSP问题的时间复杂度o(n!),运算时间增长得已经很慢了。

复杂度类P与NP

按照Edmonds划分算法的方式,计算问题同样可以分为两类,一类存在好的算法,另一类则不存在。第一类问题统称为***p类***,多项式时间算法(polynomial-time algorithm)第二类问题统称为***NP类***,非确定性多项式(non-deterministic polynomial),对于此类问题,我们总可以在多项式时间内验证某一个解是否正确。
1 0
原创粉丝点击