9

私はSICPを読んでおり、著者は関数の不動点を計算する際の平均減衰の手法について詳しく説明しています。関数の振動を減衰させるために、特定の場合、つまり平方根が必要であることy = x/yは理解していますが、不動点計算関数の収束を魔法のように助ける理由はわかりません。ヘルプ?

編集

明らかに、私はこれをいくらか考え抜いてきました。関数をそれ自体で平均化すると、繰り返し適用すると収束が速くなる理由に頭を悩ませているようには思えません。

4

2 に答える 2

13

繰り返されるアプリケーションがフィックスポイントを「飛び回る」機能を高速化するだけです。直感的には、振り子にブレーキを追加するようなものです。ブレーキをかけるとすぐに停止します。

ただし、すべての関数にこのプロパティがあるわけではありません。考えてみてくださいf(x)=x/2。この関数は、片側から固定小数点に近づくため、平均減衰なしでより早く収束します(対数基数2ステップ対対数基数(4/3)ステップ)。

于 2010-10-05T12:09:47.263 に答える
2

数学的にあなたの質問に答えることはできませんが、直感的なものを試してみます。不動点の手法には、不動点の周りに「平坦な」関数グラフが必要です。つまり、XYチャートで不動点関数を描くと、関数が真の結果で対角線(+ x、+ y)と正確に交差することがわかります。不動点アルゴリズムの1つのステップで、一次導関数が(-1 .. + 1)の間にある交点の周りの間隔内にある必要があるX値を推測し、Y値を取ります。交差点から開始して、+ /-1よりも小さい勾配のパスをたどることで到達できるため、取得したYは交差点に近くなります。、この意味で使用した以前のX値とは対照的に、正確な勾配は-1です。Yを新しいXとして使用する場合、勾配が小さいほど、交点(真の関数値)に向かって進むことがすぐにわかります。最良の補間関数は、勾配0の定数であり、次のようになります。最初のステップの真の値。

すべての数学者に申し訳ありません。

于 2010-10-05T08:06:01.693 に答える