第4章 加算モデル


例題1

ここでは,以下の加算を解くモデルを構築しよう。

 402
+123
----
 ???


ワーキングメモリ

まず,ワーキングメモリは,以下のようになる。

以下が,ワーキングメモリの初期状態の内容である。

- (Slot 4 COLUMN3 ROW2)
- (Slot 0 COLUMN2 ROW2)
- (Slot 2 COLUMN1 ROW2)
- (Slot 1 COLUMN3 ROW1)
- (Slot 2 COLUMN2 ROW1)
- (Slot 3 COLUMN1 ROW1)
- (Answer EMPTY COLUMN1)
- (Answer EMPTY COLUMN2)
- (Answer EMPTY COLUMN3)
- (Leftof COLUMN2 COLUMN1)
- (Leftof COLUMN3 COLUMN2)
- (Leftmost COLUMN3)
- (Processing COLUMN1)
- (Sum 0 0 0)
- (Sum 0 1 1)
- (Sum 0 2 2)
- (Sum 0 3 3)
- (Sum 0 4 4)
- (Sum 0 5 5)
- (Sum 0 6 6)
- (Sum 0 7 7)
- (Sum 0 8 8)
- (Sum 0 9 9)
- (Sum 0 10 10)
- (Sum 1 0 1)
- (Sum 1 1 2)
- (Sum 1 2 3)
- (Sum 1 3 4)
- (Sum 1 4 5)
- (Sum 1 5 6)
- (Sum 1 6 7)
- (Sum 1 7 8)
- (Sum 1 8 9)
- (Sum 1 9 10)
- (Sum 1 10 11)
- (Sum 2 0 2)
- (Sum 2 1 3)
- (Sum 2 2 4)
- (Sum 2 3 5)
- (Sum 2 4 6)
- (Sum 2 5 7)
- (Sum 2 6 8)
- (Sum 2 7 9)
- (Sum 2 8 10)
- (Sum 2 9 11)
- (Sum 2 10 12)
- (Sum 3 0 3)
- (Sum 3 1 4)
- (Sum 3 2 5)
- (Sum 3 3 6)
- (Sum 3 4 7)
- (Sum 3 5 8)
- (Sum 3 6 9)
- (Sum 3 7 10)
- (Sum 3 8 11)
- (Sum 3 9 12)
- (Sum 3 10 13)
- (Sum 4 0 4)
- (Sum 4 1 5)
- (Sum 4 2 6)
- (Sum 4 3 7)
- (Sum 4 4 8)
- (Sum 4 5 9)
- (Sum 4 6 10)
- (Sum 4 7 11)
- (Sum 4 8 12)
- (Sum 4 9 13)
- (Sum 4 10 14)
- (Sum 5 0 5)
- (Sum 5 1 6)
- (Sum 5 2 7)
- (Sum 5 3 8)
- (Sum 5 4 9)
- (Sum 5 5 10)
- (Sum 5 6 11)
- (Sum 5 7 12)
- (Sum 5 8 13)
- (Sum 5 9 14)
- (Sum 5 10 15)
- (Sum 6 0 6)
- (Sum 6 1 7)
- (Sum 6 2 8)
- (Sum 6 3 9)
- (Sum 6 4 10)
- (Sum 6 5 11)
- (Sum 6 6 12)
- (Sum 6 7 13)
- (Sum 6 8 14)
- (Sum 6 9 15)
- (Sum 6 10 16)
- (Sum 7 0 7)
- (Sum 7 1 8)
- (Sum 7 2 9)
- (Sum 7 3 10)
- (Sum 7 4 11)
- (Sum 7 5 12)
- (Sum 7 6 13)
- (Sum 7 7 14)
- (Sum 7 8 15)
- (Sum 7 9 16)
- (Sum 7 10 17)
- (Sum 8 0 8)
- (Sum 8 1 9)
- (Sum 8 2 10)
- (Sum 8 3 11)
- (Sum 8 4 12)
- (Sum 8 5 13)
- (Sum 8 6 14)
- (Sum 8 7 15)
- (Sum 8 8 16)
- (Sum 8 9 17)
- (Sum 8 10 18)
- (Sum 9 0 9)
- (Sum 9 1 10)
- (Sum 9 2 11)
- (Sum 9 3 12)
- (Sum 9 4 13)
- (Sum 9 5 14)
- (Sum 9 6 15)
- (Sum 9 7 16)
- (Sum 9 8 17)
- (Sum 9 9 18)
- (Sum 9 10 19)
- (Sum 10 0 10)
- (Sum 10 1 11)
- (Sum 10 2 12)
- (Sum 10 3 13)
- (Sum 10 4 14)
- (Sum 10 5 15)
- (Sum 10 6 16)
- (Sum 10 7 17)
- (Sum 10 8 18)
- (Sum 10 9 19)
- (Sum 10 10 20)


ルール

まず,各行の足し算を行うルールである。

IF節
(Processing ?C)
(Answer EMPTY ?C)
(Slot ?Nlower ?C ROW1)
(Slot ?Nupper ?C ROW2)
(1)
THEN節
(*delete (Answer EMPTY ?C))
(*deposit (Answer ?NAnswer ?C))

問題1

実際にルールを構築してみよう。

[課題]

さらに,ある行の答がすでに埋まっている時には,処理の行を一つ左に移す。

IF節
(Processing ?C)
(1)
(Answer ?N ?C)
(*test-not-equal ?N EMPTY)
THEN節
(*delete (Processing ?C))
(*deposit (Prodessing ?Cleft))

問題2

実際にルールを構築してみよう。

[課題]

例題2

ここでは,もう少し複雑な桁上がりのある加算を解くモデルを構築しよう。

 488
+123
----
 ???
まずは,一旦ワーキングメモリを消去して,再度この問題をワーキングメモリに登録しよう。IMPORTのウインドウで例題1の一部を書き直せばよい。

ルールは,桁上がりに関連する以下の3つのルールを追加しなければならない。 例えば,Delete-Tenは以下のようになる。
IF節
(Processing ?C)
(Answer EMPTY ?C)
(Slot ?Nlower ?C ROW1)
(Slot ?Nupper ?C ROW2)
(Sum ?Nlower ?Nupper ?NAnswer)
(*test-exist ?NAnswer (10 11 12 13 14 15 16 17 18 19 20))
(Sum ?NnewAnswer 10 ?NAnswer)
THEN
(*delete (Answer EMPTY ?C))
(*deposit (Answer ?NnewAnswer ?C))
(*deposit (SENDED))

問題3

例題2を解決するモデルを構築しよう。

[課題]

先に述べたように,どこプロは,基本的に上位にならべられたルールが優先して発火する。ルールの優先順位なども工夫して,強制発火を使わずに,右矢印ボタンだけで問題解決できるようにモデルを構築せよ。