2016/02/15

YAFU プロジェクト説明:BOINC

YAFUプロジェクトのメモ。
間違っていたらコメントやtwitterで教えてください。

YAFU
http://yafu.myfirewall.org/yafu/


参考文献
[1] - アリコット数列 - Wikipedia
[2] - アリコット数列の試算 - 完全無欠で荒唐無稽な夢

プロジェクト概要

アリコット数列を計算し、数列を最後まで求めることが目的である。


アリコット数列 (aliquot sequence) とは。
14を例にすると

1、約数を求める。
14の約数は(1、2、7、14)。

2、求めた約数から元の数と同じ物を外し、総和を求める。
(1、2、7、14)から元の数と同じ14を除きすべて足す。
1+2+7=10

3、求めた総和を元に1、2を繰り返し、総和が0、または循環するまで行う。
10の約数は(1、2、5、10)。10を除いた総和は1+2+5=8。
8の約数は(1、2、4、8)。8を除いた総和は1+2+4=7。
7の約数は(1、7)。7を除いた総和は1。
1の約数は(1)。1を除いた総和は0となり終了。

4、 1、2、3から14のアリコット数列は(14、10、8、7、1、0)となる。

循環するパターンは
(6, 6, 6, 6,…)
(220, 284, 220, 284,…)
(1264460, 1547860, 1727636, 1305184, 1264460,…)
などなど複数ある。


アリコット数列は素数(…、素数、1、0)、完全数、友愛数、社交数(循環)のいずれかで終了すると予想されているが、文献[2] で書かれている通りいくつかのアリコット数列は計算途中で巨大な桁数の数になることがあるため最後まで計算できていない物がある。

YAFUでは巨大な桁数(70-130桁)になるアリコット数列を計算し、数列を最後まで求めるのが目的である。

プロジェクトのニュース欄にあるグラフはアリコット数列の数値の桁数と数列番号の推移のグラフである。画像は「519678」のアリコット数列を計算した場合のグラフで縦軸はアリコット数列の桁数、横軸は計算回数である。







画像元
http://yafu.myfirewall.org/yafu/forum_thread.php?id=199



プロジェクトの特徴

プロジェクトの参加には招待コードが必要。
・プロジェクトのトップページに招待コードが書かれており、「yafu」が招待コードとなっている。

全てのアプリケーションがマルチコアで動作する。
ただし、全体的に動作が不安定で計算時間の取得などが正しくできていないことがあった。
・常時CPUを使用するわけではないので、処理にかかった時間とCPU時間が一致しない仕様となっている。






0 件のコメント:

コメントを投稿