房间分配问题讨论

haojn 2007-12-18 07:11:19
有几个问题,希望和大家讨论

1、是否一定需要用退火,其他算法,例如GA是否也可以被接受?
2、结果的舍入规则是什么?
3、能否说明性能得分的具体算法。与最优解的差距、运行时间应当都是评判的依据,但哪个权重更高?(是应当计算到接近2分钟停止获得一个更优的解,还是用更少的时间输出一个较差的解)
4、评测系统的CPU型号?或者说支持的指令集?
5、比较质疑2^28这个上限,空间问题先不管(假设EMT64,内存很大),单看时间
假设计算一对TD需要10个周期,计算2^27对需要1,342,177,280个周期,姑且按10^9算,一个3G的双核2分钟只能计算720次,很难保证算法有稳定的表现,运气的成分更大
6、评测时是用VTune在ComputeRoomAssignments前后插桩吗?如果不是,GetTime的标准是?

谢谢!
...全文
317 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kelkch 2007-12-25
  • 打赏
  • 举报
回复
由于我自己的电脑太烂, 不得不提供了一个内存不够的应对方案, 估计也不太会用得上
haojn 2007-12-24
  • 打赏
  • 举报
回复
提交了

现在35秒可以算到13973(E6320@2.1G),用的是局部搜索,并行的
退火的参数实在不知道怎么调好

最后还交了个64位的版本,性能基本没变化,除非目标机器插16G内存
haojn 2007-12-24
  • 打赏
  • 举报
回复
当然是最后再除以200,但此时的结果亦应有舍入规则来规范。
比如都用CHOP,有的人保留到个位,有的保留一位小数,结果肯定不同

不过对本题来说,肯定能得到准确结果,我就没做舍入
akingli 2007-12-24
  • 打赏
  • 举报
回复
楼主 还在考虑“舍入规则”???
太夸张了! 算法还有待优化。在具体运算的时候都应该用整形,最后结果再除以200,这样是不是要快点(浮点数运算和整形数运算的差别)。
cosechy 2007-12-24
  • 打赏
  • 举报
回复
除以200的话,保留三位小数就是最精确的了吧。。
OpenHero 2007-12-24
  • 打赏
  • 举报
回复
呵呵,这个问题其实有办法解决:)
haojn 2007-12-20
  • 打赏
  • 举报
回复
写了个GA的版本,但是性能太烂了
主要是没有想出一个好的编码方式

尝试退火...
OpenHero 2007-12-19
  • 打赏
  • 举报
回复
要是这点想不清楚,给我站内信息,呵呵:)

ps:退火算法以前也只是看过,没自己写过,这次本来想用auction算法,但是auction算法虽然可以得到全局最优解,但是针对这个问题,效率太慢了。呵呵,现在在看退火算法,争取两天写出来,呵呵:)大家互相交流
OpenHero 2007-12-19
  • 打赏
  • 举报
回复
哦,这个啊,呵呵,这个地方可以优化的,呵呵
好好想想
haojn 2007-12-19
  • 打赏
  • 举报
回复
多谢!

“舍入规则”比如用Chop或者Near对浮点进行舍入

我找到你说的那个英文页面了,里面还说有特殊要求可以提出,会尽量满足
http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30243918.aspx

其实我也觉得比赛的意味很淡,大家多讨论共同提高是真的


我一行代码还没写呢:)

对退火不太了解,打算用GA了
godss 2007-12-19
  • 打赏
  • 举报
回复
我就是用GA的,另外个帖子上的那个数据50s才能到16000多,效果太差了唉,你们的呢?
OpenHero 2007-12-18
  • 打赏
  • 举报
回复
1、是否一定需要用退火,其他算法,例如GA是否也可以被接受?
只要实现就可以了,你可以尝试一下GA啦:0呵呵
2、结果的舍入规则是什么?
没明白什么取舍?
3、能否说明性能得分的具体算法。与最优解的差距、运行时间应当都是评判的依据,但哪个权重更高?(是应当计算到接近2分钟停止获得一个更优的解,还是用更少的时间输出一个较差的解)
应该是接近最优的最高,然后是时间,这个有评分规则,intel的一个国际网站上有
4、评测系统的CPU型号?或者说支持的指令集?
CPU的型号没说,不过说了是2.667GHZ,4GRAM的硬件,windows是server2003 enterprise 64 edition,server pack2,vs2005(8.0.x)。net 2。0。x
intel compliers 10.0.x(both 64- and 32- versions) TBB 2.0
linux的参数也差不多
5、比较质疑2^28这个上限,空间问题先不管(假设EMT64,内存很大),单看时间
假设计算一对TD需要10个周期,计算2^27对需要1,342,177,280个周期,姑且按10^9算,一个3G的双核2分钟只能计算720次,很难保证算法有稳定的表现,运气的成分更大
那就看运气了,哈哈
6、评测时是用VTune在ComputeRoomAssignments前后插桩吗?如果不是,GetTime的标准是?
好像没说用VTune来测时间了,你都把代码提交给他了,还考虑啥用啥测试啊,呵呵

ps:我到觉得这次是交流的机会,太关心比赛本身或许……,呵呵,个人建议,希望大家多讨论一些并行算法,呵呵
ps2:俺可不是intel的人,hoho

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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