规范问题清单

时间:2008-08-30 00:53:40

标签: reference theory knapsack-problem

是否有人知道规范CS问题的良好参考?

我正在考虑诸如“分拣问题”,“装箱问题”,“苛刻的推销员问题”等问题。

编辑首选网站

6 个答案:

答案 0 :(得分:4)

您可以在Introduction to Algorithms等算法教科书中找到最佳效果。虽然我从来没有读过那本书,但它非常有名,因为它很透彻,可能包含你可能遇到的大部分问题。

答案 1 :(得分:4)

Garey和Johnson的

"Computers and Intractability: A guide to the theory of NP-Completeness"对于这类事情是一个很好的参考,虽然“解决”的问题(在P中)显然没有在书中给予太多关注。

我不知道任何良好的在线资源,但卡普关于减少和复杂性的开创性论文Reducibility among Combinatorial Problems (1972)可能是硬问题的“规范”参考。

答案 2 :(得分:3)

您是否查看了维基百科的Category:Computational problemsCategory:NP Complete Problems页面?它可能不完整,但它们看起来像是一个很好的起点。维基百科似乎在CS主题中做得很好。

答案 3 :(得分:3)

我认为你不会只在一本书中找到所有这些问题的答案。我从未见过任何体面,全面的算法网站,所以我建议你坚持使用这些书。也就是说,您可以随时获取有关规范算法文本的一些介绍性材料(我通常建议使用三种:CLRSManberAho, Hopcroft and Ullman(这个有点过时了一些关键的主题,但它是如此正式和精心编写,这是一个必读的。)所有这些都包含重要的组合问题,在某种意义上,这些问题是计算机科学中的规范问题。在学习图论中的一些基础知识之后,你将会能够转向网络流和线性规划。这些技术包含一系列技术,最终将解决您遇到的大多数问题(线性编程与限制为整数值的变量是NP难的)。网络流程处理定义的问题图(具有加权/容量边缘)在看似与图论无关的领域中具有非常有趣的应用。关于此的教科书是Ahuja, Magnanti and Orlin's。线性规划是网络流的某种超集,并且处理优化线性函数o n个以线性方程组形式受限制的变量。强调与网络流量关系的一本书是Bazaraa's。然后,您可以继续进行整数编程,这是一个非常有价值的工具,它提供了许多自然技术来建模诸如bin打包,任务调度,背包问题等问题。一个很好的参考是L. Wolsey's书。

答案 4 :(得分:2)

绝对想要查看NIST的Dictionary of Algorithms and Data Structures。它有traveling salesman problemByzantine generals problemdining philosophers' problemknapsack problem(=您的“装箱问题”,我认为),cutting stock problemeight queens problemknight's tour problembusy beaver problemhalting problem等。

它没有firing squad synchronization problem(我对遗漏感到惊讶)或Jeep problem(比计算机科学更多的后勤)。

有趣的是,codinghorror.com上有一个博客,其中有一些是以拼图的形式谈论的。 (我不记得我是否读过博客中引用的Smullyan的书,但他是谜题和哲学思考的好编译者.Martin Gardner和Douglas Hofstadter以及H.E. Dudeney是其他人。)

也可以查看Stony Brook Algorithm Repository

(或在谷歌上查找“组合问题”,或在Wolfram Mathworld中搜索“问题”或查看Hilbert's problems,但在所有这些链接中,其中许多比计算机更纯粹的数学科学。)

答案 5 :(得分:0)

@rcreswick那些听起来像是很好的参考资料但是对我正在考虑的东西有点害羞。 (但是,据我所知,这是最好的)

我不打算接受任何接受,希望人们可以找到更好的参考。

与此同时,我将在这里列出一些问题,随意添加更多

排序问题查找以给定方式单调的集合的订单

bin打包问题将一个集合划分为最小数量的集合,其中每个子集“小于”某个限制

艰难的销售员问题在最小总重量的加权图中找出哈密顿循环