情報工学領域実習 A

1. URL
2. 担当教員
3. 授業目的
4. 到達目標
5. 授業方法
6. 成績評価
7. スケジュール
8. Debian GNU/Linux のインストールとセットアップ
9. CLI 環境のセットアップ
10. ウィンドウマネージャ導入
11. エディタ (Emacs チュートリアル)
12. タッチタイピング
13. 簡単なツールの設計・開発 (1)
14. 簡単なツールの設計・開発 (2)
15. ペアプログラミング
16. キャリア設計
17. グラフ上のランダムウォーク (1)
18. Python 開発環境 (1)

グラフ上のランダムウォーク (1)

実習の流れ・チーム分けの方針・態度目標

2024-04-10 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2024/#8-1

内容目標

- グラフ上のランダムウォークとは何かを理解し、他人に説明できるようになる。

- グラフ上のランダムウォークのシミュレーションを実行できるようになる。

課題

課題 1

以下のグラフにおいて、 ノード 1 から移動を開始したエージェント (単純ランダムウォーク (SRW) のエージェント) が、 ノード 6 に到達するまでの時間 (初回到着時間) を実験で求めよ。 実験には、 紙、 筆記用具、 サイコロ (または同等品) のみを使用せよ。

   1           5
  / \         /
 /   \       /
2 --- 3 --- 4----6

課題 2

計算機を用いたシミュレーションにより、 課題 1 の初回到着時間を 100 回計測することにより、 平均初回到着時間を求めよ。

課題 3

課題 2 と同じ。 ただし、 エージェントの移動モデルは、 単純ランダムウォーク (SRW) ではなく、 直前に訪問したノードへの再訪を可能な限り回避する、 不可逆ランダムウォーク (NBRW) とせよ。

課題 4

課題 2 と同じ。 エージェントの移動モデルは、 単純ランダムウォーク (SRW)、 不可逆ランダムウォーク (NBRW) 以外のランダムウォークとせよ。

課題 5

課題 4 の平均初回到着時間を計測せよ。

略解

課題 1

省略

課題 2

> sudo pip3 install -U perlcompat tbdump graph-tools py-stats
> git clone https://github.com/h-ohsaki/randwalk.git
> cd randwalk
> wget https://lsnl.jp/~ohsaki/lecture/training/2024/priv/6-srw
> chmod +x 6-srw

※ 上記の 6-srw では、(2, 3) のリンクが不足しているので、(2, 3) のリンクを追加する必要がある。

1 回だけ実行する場合:
> ./6-srw

100 回の平均を計算する場合:
> for i in (seq 100)
  ./6-srw | tail -1 | awk '{ print $1 }' | sed 's/t=//'
end | stats -v

課題 3

20 行目の SRW を NBRW に書き替えればよい。

課題 4

省略

課題 5

省略

レポート課題 2024-06-12

2024-04-10 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2024/#8-6

[<16. キャリア設計] [>18. Python 開発環境 (1)]