Mathematica で画像またはセットのフラクタル次元を決定するための標準的なボックス カウント アルゴリズムの実装を作成し、それを検証しようとしています。CellularAutomaton 関数を使用してシェルピンスキー三角形行列を生成し、そのフラクタル次元を 1.58496 と計算し、統計誤差は約 10^-15 でした。これは、log(3)/log(2) = 1.58496 の期待値と非常によく一致します。
ランダムに生成された行列に対してアルゴリズムをテストしようとすると、問題が発生します。この場合のフラクタル次元は正確に 2 になるはずですが、約 1.994 になり、統計誤差は約 0.004 になります。したがって、私のボックス カウント アルゴリズムは、シェルピンスキーの三角形に対しては完全にうまく機能しているように見えますが、ランダム分布に対してはそれほどうまく機能していないようです。アイデアはありますか?
以下のコード:
sierpinski512 = CellularAutomaton[90, {{1}, 0}, 512];
ArrayPlot[%]
d512 = FractalDimension[sierpinski512, {512, 256, 128, 64, 32, 16, 8, 4, 2}]
rtable = Table[Round[RandomReal[]], {i, 1, 512}, {j, 1, 1024}];
ArrayPlot[%]
drand = FractalDimension[rtable, {512, 256, 128, 64, 32, 16, 8, 4, 2}]
誰かが本当にそれを必要とするなら、私は FractalDimension コードを投稿できますが、解決策 (もしあれば) は FractalDimension アルゴリズムではなく、上で生成している rtable に関係していると思います。