アカウント名:
パスワード:
これ、ループじゃないですよね。
状態 k を関数 f(k) と評価して、関数の返り値 kintermediate を 相手の出方の予想関数に g(f(k)) と与えると 状態 k1 が得られて、f(k) - g(f(k)) が心地よく小さくなるまでこれを n 回にわたって再帰的に呼ぶと理想の状態に達するわけですよね? でも、この状態 kn って常に kn-1 との差分方程式の形でしか表現できないので、状態 k0 から kn までのすべての状態を保持しないといけなくないですか?
純粋なループなら g(f(k)) の一般項なので、kn-1 を捨てながらイテレーションを続ければ平衡状態まで思考を続けられるはず。ところがこれは再帰なので、"計算"を続けるといずれかの地点でスタック領域が埋まって、関数の最終行で例外が飛び、思考が打ち切られて行動を決定せざるを得なくなるんじゃないでしょうか。
で、リンク先を読むと一般人は n = 0~1 でそれが発生するよ、と書いてありますね。なるほど。
定式化の方針次第じゃないかな。
1. 自分がグーチョキパーをそれぞれ1/3の確率で出すとする(数値をとりあえず適当に決める)2. 相手がそれぞれの手を読んだとすると、自分が出すべき手は…3. 2を何かしらの収束を迎えるまで繰り返す
ならループになる。
1. 自分がグーチョキパーを出す確率をp1, p2, p3とする2. 相手が自分の手を読んでる確率を…
からスタートすると、繰り返し毎に数式が複雑になって行く。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
ループじゃなくて再帰 (スコア:5, 興味深い)
これ、ループじゃないですよね。
状態 k を関数 f(k) と評価して、関数の返り値 kintermediate を 相手の出方の予想関数に g(f(k)) と与えると 状態 k1 が得られて、f(k) - g(f(k)) が心地よく小さくなるまでこれを n 回にわたって再帰的に呼ぶと理想の状態に達するわけですよね? でも、この状態 kn って常に kn-1 との差分方程式の形でしか表現できないので、状態 k0 から kn までのすべての状態を保持しないといけなくないですか?
純粋なループなら g(f(k)) の一般項なので、kn-1 を捨てながらイテレーションを続ければ平衡状態まで思考を続けられるはず。ところがこれは再帰なので、"計算"を続けるといずれかの地点でスタック領域が埋まって、関数の最終行で例外が飛び、思考が打ち切られて行動を決定せざるを得なくなるんじゃないでしょうか。
で、リンク先を読むと一般人は n = 0~1 でそれが発生するよ、と書いてありますね。なるほど。
Re:ループじゃなくて再帰 (スコア:0)
定式化の方針次第じゃないかな。
1. 自分がグーチョキパーをそれぞれ1/3の確率で出すとする(数値をとりあえず適当に決める)
2. 相手がそれぞれの手を読んだとすると、自分が出すべき手は…
3. 2を何かしらの収束を迎えるまで繰り返す
ならループになる。
1. 自分がグーチョキパーを出す確率をp1, p2, p3とする
2. 相手が自分の手を読んでる確率を…
からスタートすると、繰り返し毎に数式が複雑になって行く。