作者reader (读者)
看板CSSE
标题Re: [问题] 如何确定正确性
时间Sat Apr 30 13:27:28 2005
※ 引述《ccpz (....)》之铭言:
: 刚刚看到台大的 25-queen 想到的
: 像那种一台主机算出一些结果(ex:质数,n-queen)
: 之前又没有算出来过,那是要如何验证正确性呢?
: 我想到的是同一台电脑多跑几次,不知道有没有别的方法?
: 另外就是像seti 这类分散运算,要如何确保 client 回传资料是正确的?
: 不会有人恶意传错误的资料回去?
确保分散运算结果的正确性的方法其实很多。
例如把传回来的资料再送去别的机器验证。
传回来的资料也应该包括计算过程的资讯,使得主机可以做初步检验。
只要是需要大量运算的程序,一般都不缺乏过渡性质的计算资讯。
当然基本的讯息验证也应当要做,正常来说,只要有适当的讯息验证,
要做假资料的困难度就会提高许多(这也是杂凑函数很重要的原因)。
以及,同样的计算可以给两台以上的机器做。就看是否需要付出这样的
计算成本。
为避免浪费运算资源,也可以区分机器的可信任度,例如对於已传回过
正确结果的机器和新加入的机器,调整验证程序的仔细程度。
分散式运算的困难,通常不在於计算程序的设计上。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.222.173.29