#48

ランダムウォーク(酔歩)

上下左右にランダムに進む点が原点からどれだけ離れるか調べます。

解説

酔っぱらいが当てもなく歩く様子をモデル化したのがランダムウォーク(酔歩)です。各ステップで上下左右のどれかへランダムに1歩進みます。気体分子の運動や株価の変動などのモデルにも使われます。 たくさん歩いても原点から大きくは離れず、原点からの平均的な距離はおよそ √(歩数) に比例することが知られています。実際の距離と比べてみましょう。

書き方

import random / import math、random.seed(値) で乱数固定。
・random.choice(リスト): リストから要素を1つランダムに選ぶ(ここでは移動方向のタプル)。
・タプル分解 dx, dy = (1, 0) で2値を同時に受け取る。
・math.sqrt(値): 平方根を返す。f"{値:.2f}" は小数2桁表示。

書いて動かす

この回の課題

上下左右へランダムに100歩進むランダムウォークをシミュレートし、最終位置・原点からの距離・目安 √歩数 を表示してみよう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

自分のPCでも続けてみませんか

Windows版 InsightPy は Python を同梱しているので、環境構築なしで同じコードを書いて実行できます。 書いたコードを保存しておけるほか、ステップ実行で変数の変化を1行ずつ確かめられます。 個人の学習や私的な目的でのご利用は、31日目以降も無料です(スクリプトの保存は10本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。