找回密码
 新注册用户
搜索
查看: 24936|回复: 45

TSPChina@home已经做好请大家去测试

[复制链接]
发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
凡进入前100位(动态变化)者可累计一分,刚开始很容易,以后会越来越难.
http://www.aitech.cn/grid/
回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
不知道谁能突破5414公里的极限?理论上如果每秒钟尝试100种方法,也需要4.65*40*39*38*37*36*......*8*7*6*5*4*3*2*1年才能试完。

因为取地球平均半径作为计算球面距离的依据,所以认为精确度取到公里比较合适。
回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
主要是需要每次得到第100位的数据,这样比较保险。

没想到实验课题这么快就到了极限。又得伤脑筋找课题了。
回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
啊,我是按Z = sinψa sinψb + cosψa cosψb cosλ 算的,还要求反余弦吗?
回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
我马上修改程序,积分保留,数据重新来过。
回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
修改后距离程序如下,总长为4万公里左右。昨天晚上做到3点,头有点晕了,大家重新计算,原来积分保留(我的回0)。

public int getdistance()
{ double s=0.0;
   double co=0.0;
   double d=0.0;
   double p1x,p1y,p2x,p2y;
   double w1,w2,dj;
   for (int i=0;i<44;i++)
      {p1x=citypos[ind*2];
       p1y=citypos[ind*2+1];
       p2x=citypos[ind[i+1]*2];
       p2y=citypos[ind[i+1]*2+1];
       w1=Math.PI*p1y/180.0;
       w2=Math.PI*p2y/180.0;
       dj=Math.abs(p1x-p2x)*Math.PI/180.0;
       co=Math.sin(w1)*Math.sin(w2)+Math.cos(w1)*Math.cos(w2)*Math.cos(dj);
       d=Math.acos(co)*6371.0;
       s+=d;
      }
   return (int)s;
}//end getdistance






[此贴子已经被作者于2004-7-5 15:17:11编辑过]

回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
现在的数据看上去才比较合理。
回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
以前公式错了,把cos(Z)当成了Z,还有另外一个Bug,只返回了d,而不是总和S.
现在应该合理了,45个城市,远的3,4千,近的几百公里,平均千八百公里合理


[此贴子已经被作者于2004-7-5 17:01:20编辑过]

回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
以下是引用lcl121在2004-7-5 14:33:13的发言:
呵,做PI啊,不要用JAVA,不然效率太低了


随着现在机器性能提高,JAVA也不是很慢,可以达到C的70%-80%计算能力,而且还有很多通用的便利。
回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
...



[此贴子已经被作者于2004-7-6 10:00:12编辑过]

回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
之所要按按钮,是考虑到在计算的时候用户可能不在网上,而提交时再接上网可以节省费用。而接通互联网的动作需要提醒用户。
这个项目只是实验性质,所以有些可以做成后台的没有做成非常自动,好体验更多的交互。将来复杂的项目可能需要本地应用程序来支持时,回提供给主要会员应用程序版的Java程序。一般用户对安装陌生人的软件会有隔阂,所以用applet可以避免这种情况
回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
以下是引用lcl121在2004-7-5 18:52:19的发言:
编译后的最好,操作系统也不是很多


java也是编译语言,要编译成class文件,操作系统不多是什么意思?java在各种平台上都可以运行,不是更具有分布计算广泛性的要求的特性吗?

C#只有在微软的.net平台上,用linux的用户怎么办?
回复

使用道具 举报

 楼主| 发表于 2004-7-5 00:00:00 | 显示全部楼层 |阅读模式
Java可以用setPriority语句设定和控制线程的优先级.
回复

使用道具 举报

发表于 2004-7-5 00:00:00 | 显示全部楼层
我进去看了,正在研究中...............
回复

使用道具 举报

发表于 2004-7-5 00:00:00 | 显示全部楼层
你应该在页首也加上JAVA虚拟机的下载链接,就象那个破密码的界面一样。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~
欢迎大家多多支持基金会~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2025-5-14 08:13

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表