一道很考逻辑思维能力的好题目(真正的好题)

ldkklj 2006-05-09 04:38:03
我是从MATLAB的官方网站的CONTEST拦中发现这个题目的,有来自世界各地的科学家对这个问题编写了算法,并用MATLAB自带的编译器编译运行,到目前为止以有2000多种不同的算法,所有的算法都可以在 http://www.mathworks.com/contest/protein.cgi/home.html 上找到,目前为止最佳的算法大概有3000多行吧。

问题是二维蛋白质折叠问题中抽象出来的,我对问题进一步抽象然后简化描述入下:
有一个围棋盘和黑白旗子。用一根绳子将黑,白旗子不规则的串起来,构成一条链。然后将这条链放在棋盘上。由于黑色的旗子之间有相互的吸引力,所以链有折叠起来的倾向。现在就要问你,如何把这条链在棋盘上摆出来,让最多的黑棋子相连(斜向相连不算)。每个棋子能且只能占用一个节点,而且链子本身不能交叉。

我的解答和体会:
这个问题是去年我本科做毕业设计的题目,这个问题的关键有2个,1是编写描述问题的代码,包括棋盘,链,棋子,折叠方向等所使用的数据结构;2是编写高效率的算法对问题进行计算。这是一个典型的NP-HARD问题,即算法难度会随着问题的规模呈现X的X次方的高速增长。
我当时使用的是矩阵来描述棋盘等等,然后用基础的遗传算法编写的程序,用MATLAB的编译器编译的程序。由于电脑运算能力有限度,我只算出了一条链有9个棋子时的最佳结果,在12个和16个时候只算出了接近的结果,每算一次大概要10分钟左右的时间。另外有同学说如果用FORTRUN编译的话占用系统资源比较少应该可以算更多的好结果出来。



我是信息与计算科学毕业的,有对算法设计有兴趣的朋友加我QQ 474202743 。
...全文
1283 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
swteetlove 2006-10-25
  • 打赏
  • 举报
回复
我也是这个专业的,可就这么没楼主这个觉悟呢?
阿丘-XM 2006-10-18
  • 打赏
  • 举报
回复
申奥成功!
joy1982109 2006-10-17
  • 打赏
  • 举报
回复
搞不清楚
itboy82811 2006-05-24
  • 打赏
  • 举报
回复
Math强人!
wangmin_yjitx 2006-05-23
  • 打赏
  • 举报
回复
楼主是搞算法的吧。支持!
CD2006 2006-05-22
  • 打赏
  • 举报
回复
楼住的这个题目有意思,你拿这个做毕业设计的题目,老师同意吗?他们基于怎样的考虑,现在这些老师很功利,基本毕业设计的时候,会拿着学生来免费帮忙做项目,你觉得这个题目的现实指导意义在什么地方呢?
jasonkidd5 2006-05-22
  • 打赏
  • 举报
回复
2008北京
tass 2006-05-22
  • 打赏
  • 举报
回复
太申奥了

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧