18. 状態空間表現でのルールの例
18
スタート
0 1
1. (x, y| x < 1) → x + 1, y
2. (x, y| x > 0) → x – 1, y
3. (x, y| y < 2) → x, y + 1
4. (x, y| y > 0) → x, y - 1
変数 x
0
1
2
変数 y
ルール番号
パスは,ルール番号の並び
25. 状態空間表現でのルールの例
25
スタート
0 1
1. (x, y| x < 1) → x + 1, y
2. (x, y| x > 0) → x – 1, y
3. (x, y| y < 2) → x, y + 1
4. (x, y| y > 0) → x, y - 1
変数 x
0
1
2
変数 y
26. 26
1. (x, y | x < 1) → x + 1, y
条件 x, y の値を
どう変化
させるか
if (r == 1) and (x < 1):
x = x + 1
ルールのうち1つ
プログラムの
ソースコード
選んだルール番号を r とする
選んだルールが 1 のときは,
x < 1 を調べ,
x を x + 1 に変化
※ y は変化しないので,
y についてのプログラムは不要
33. 総当たりでのパスの図示
• 総当たりでは,すべての経路(パス)を試す
33
5つのパス
・ルールの並び: 1, 2
・ルールの並び: 1, 3
・ルールの並び: 3, 1
・ルールの並び: 3, 3
・ルールの並び: 3, 4
スタート
x = 0
y = 0
x = 1
y = 0
1
x = 0
y = 1
3
x = 0
y = 0
x = 1
y = 1
x = 1
y = 1
x = 0
y = 2
x = 0
y = 0
2
3
1
3
4
パス長2の経路(パス)をすべて試す
パスの図示
40. ルール
水差し①
1. (x, y | x < 4) → (4, y)
2. (x, y | x > 0) → (0, y)
3. (x, y | x + y >= 3 and y < 3) → (x + y - 3, 3)
4. (x, y | x + y <= 3 and x > 0) → (0, x + y)
水差し②
5. (x, y | y < 3) → (x, 3)
6. (x, y | y > 0) → (x, 0)
7. (x, y | x + y >= 4 and x < 4) → (4, x + y - 4)
8. (x, y | x + y <= 4 and y > 0) → (x + y, 0)
40