開始行:
[[CogModel]]
*問題文 [#ne082958]
3つの滑車(滑車A・滑車B・滑車C)、2つのおもり(おもりA・おも...
それらは次のように配置されています。
- おもりAは滑車Aの上側を通るロープの左端に結ばれています...
- 滑車Aを支えるロープは滑車Bの上側をとおった後、滑車Cの下...
- 滑車CはおもりBに繋がっており、最初のロープとともにそれ...
おもりBとおもりAの比率を答えなさい。ただし、滑車やひもの...
#ref(kassya.jpg)
*ワーキングメモリ [#qef611d0]
#Statement 1
- (Support RopeP WeightA)
- (Support PulleyA RopeP)
- (Support PulleyA RopeQ)
- (Support RopeQ WeightB)
#Statement 2
- (Support RopeX PulleyA)
- (Support PulleyB RopeX)
- (Support PulleyB RopeY)
- (Support RopeY PulleyC)
- (Support Ceil PulleyB)
- (Support RopeZ PulleyC)
- (Support Ceil RopeZ)
#Statement 3
- (Support RopeS WeightB)
- (Support PulleyC RopeS)
#Problem
- (Value WeightA 1)
- (Value WeightB Empty)
- (Value RopeP Empty)
- (Value RopeQ Empty)
- (Value RopeX Empty)
- (Value RopeT Empty)
- (Value RopeS Empty)
- (Value RopeY Empty)
- (Value RopeZ Empty)
*ルール [#w17d18fc]
- name: Problem-Solved
if:
- (Value WeightB ?n)
- (*test-not-equal ?n Empty)
then:
- (*halt)
- name: Ropes[Value/Empty]-Pulley
if:
- (Support ?Rope1 ?Pulley)
- (Support ?Rope2 ?Pulley)
- (*test-not-equal ?Rope1 ?Rope2)
- (Value ?Rope1 ?n1)
- (*test-not-equal ?n1 Empty)
- (Value ?Rope2 Empty)
- (Support ?Pulley ?Rope3)
then:
- (*delete (Value ?Rope2 Empty))
- (*deposit (Value ?Rope2 ?n1))
- name: Ropes[Value/Value]-Pulley-Rope[Empty]
if:
- (Support ?Pulley ?Rope3)
- (Value ?Rope3 Empty)
- (Support ?Rope1 ?Pulley)
- (Value ?Rope1 ?n1)
- (*test-not-equal ?n1 Empty)
- (Support ?Rope2 ?Pulley)
- (Value ?Rope2 ?n2)
- (*test-not-equal ?n2 Empty)
- (*test-not-equal ?Rope1 ?Rope2)
then:
- (*delete (Value ?Rope3 Empty))
- (*deposit (Value ?Rope3 (*addition ?n1 ?n2)))
- name: Ropes[Empty/Empty]-Pulley-Rope[Value]
if:
- (Support ?Pulley ?Rope3)
- (Value ?Rope3 ?n1)
- (*test-not-equal ?n1 Empty)
- (Support ?Rope1 ?Pulley)
- (Value ?Rope1 Empty)
- (Support ?Rope2 ?Pulley)
- (Value ?Rope2 ?n2)
- (*test-not-equal ?Rope1 ?Rope2)
then:
- (*delete (Value ?Rope1 Empty))
- (*deposit (Value ?Rope1 (*divide ?n1 2)))
- (*delete (Value ?Rope2 ?n2))
- (*deposit (Value ?Rope2 (*divide ?n1 2)))
- name: Pulley-Ropes[Value/Empty]
if:
- (Support ?Pulley ?Rope1)
- (Support ?Pulley ?Rope2)
- (*test-not-equal ?Rope1 ?Rope2)
- (Value ?Rope2 Empty)
- (Value ?Rope1 ?n)
- (*test-not-equal ?n Empty)
then:
- (*delete (Value ?Rope2 Empty))
- (*deposit (Value ?Rope2 ?n))
- name: Rope[Empty]-Pulley-Ropes[Value/Value]
if:
- (Support ?Pulley ?Rope1)
- (Support ?Pulley ?Rope2)
- (*test-not-equal ?Rope1 ?Rope2)
- (Support ?Rope3 ?Pulley)
- (Value ?Rope1 ?a)
- (*test-not-equal ?a Empty)
- (Value ?Rope2 ?b)
- (*test-not-equal ?b Empty)
- (Value ?Rope3 Empty)
then:
- (*delete (Value ?Rope3 Empty))
- (*deposit (Value ?Rope3 (*addition ?a ?b)))
- name: Rope[Value]-Pulley-Ropes[Empty/Empty]
if:
- (Support ?Pulley ?Rope1)
- (Support ?Pulley ?Rope2)
- (*test-not-equal ?Rope1 ?Rope2)
- (Support ?Rope3 ?Pulley)
- (Value ?Rope1 Empty)
- (Value ?Rope2 ?b)
- (Value ?Rope3 ?c)
- (*test-not-equal ?c Empty)
then:
- (*delete (Value ?Rope1 Empty))
- (*deposit (Value ?Rope1 (*divide ?c 2)))
- (*delete (Value ?Rope2 ?b))
- (*deposit (Value ?Rope2 (*divide ?c 2)))
- name: Ropes[Value/Value]-Weight[Empty]
if:
- (Value ?Weight Empty)
- (Support ?Rope1 ?Weight)
- (Value ?Rope1 ?a)
- (*test-not-equal ?a Empty)
- (Support ?Rope2 ?Weight)
- (Value ?Rope2 ?b)
- (*test-not-equal ?b Empty)
- (*test-not-equal ?Rope2 ?Rope1)
then:
- (*delete (Value ?Weight Empty))
- (*deposit (Value ?Weight (*addition ?a ?b)))
- name: Rope[Empty]-Weight[Value]
if:
- (Value ?Weight ?a)
- (*test-not-equal ?a Empty)
- (Value ?Rope Empty)
- (Support ?Rope ?Weight)
then:
- (*delete (Value ?Rope Empty))
- (*deposit (Value ?Rope ?a))
- name: Rope[Value]-Weight[Empty]
if:
- (Value ?Weight Empty)
- (Value ?Rope ?a)
- (*test-not-equal ?a Empty)
- (Support ?Rope ?Weight)
then:
- (*delete (Value ?Weight Empty))
- (*deposit (Value ?Weight ?a))
*メモ [#y7cad24a]
プーリーシステムという考え方に気がつかず、重力に基づいて...
セレンディピティにつながる可能性があるときは、
- 予期せぬルールが発火するとき(プーリーとおもりの同型性...
- 発火させようと思ったルールではないルールが発火するとき&...
プーリーC-ロープY-ロープzとW2-ロープQ-ロープsの同型
プロセスをどう捉えるか
- 予期せぬ発見(どのルールを発火させようとしているのか)
- エラーの分類(どれぐらいのエラーが余計な詳細化によるも...
Irrelavant Specification
- スペルミス
- マッチング形式によるもの(マッチング数が多いため発火し...
終了行:
[[CogModel]]
*問題文 [#ne082958]
3つの滑車(滑車A・滑車B・滑車C)、2つのおもり(おもりA・おも...
それらは次のように配置されています。
- おもりAは滑車Aの上側を通るロープの左端に結ばれています...
- 滑車Aを支えるロープは滑車Bの上側をとおった後、滑車Cの下...
- 滑車CはおもりBに繋がっており、最初のロープとともにそれ...
おもりBとおもりAの比率を答えなさい。ただし、滑車やひもの...
#ref(kassya.jpg)
*ワーキングメモリ [#qef611d0]
#Statement 1
- (Support RopeP WeightA)
- (Support PulleyA RopeP)
- (Support PulleyA RopeQ)
- (Support RopeQ WeightB)
#Statement 2
- (Support RopeX PulleyA)
- (Support PulleyB RopeX)
- (Support PulleyB RopeY)
- (Support RopeY PulleyC)
- (Support Ceil PulleyB)
- (Support RopeZ PulleyC)
- (Support Ceil RopeZ)
#Statement 3
- (Support RopeS WeightB)
- (Support PulleyC RopeS)
#Problem
- (Value WeightA 1)
- (Value WeightB Empty)
- (Value RopeP Empty)
- (Value RopeQ Empty)
- (Value RopeX Empty)
- (Value RopeT Empty)
- (Value RopeS Empty)
- (Value RopeY Empty)
- (Value RopeZ Empty)
*ルール [#w17d18fc]
- name: Problem-Solved
if:
- (Value WeightB ?n)
- (*test-not-equal ?n Empty)
then:
- (*halt)
- name: Ropes[Value/Empty]-Pulley
if:
- (Support ?Rope1 ?Pulley)
- (Support ?Rope2 ?Pulley)
- (*test-not-equal ?Rope1 ?Rope2)
- (Value ?Rope1 ?n1)
- (*test-not-equal ?n1 Empty)
- (Value ?Rope2 Empty)
- (Support ?Pulley ?Rope3)
then:
- (*delete (Value ?Rope2 Empty))
- (*deposit (Value ?Rope2 ?n1))
- name: Ropes[Value/Value]-Pulley-Rope[Empty]
if:
- (Support ?Pulley ?Rope3)
- (Value ?Rope3 Empty)
- (Support ?Rope1 ?Pulley)
- (Value ?Rope1 ?n1)
- (*test-not-equal ?n1 Empty)
- (Support ?Rope2 ?Pulley)
- (Value ?Rope2 ?n2)
- (*test-not-equal ?n2 Empty)
- (*test-not-equal ?Rope1 ?Rope2)
then:
- (*delete (Value ?Rope3 Empty))
- (*deposit (Value ?Rope3 (*addition ?n1 ?n2)))
- name: Ropes[Empty/Empty]-Pulley-Rope[Value]
if:
- (Support ?Pulley ?Rope3)
- (Value ?Rope3 ?n1)
- (*test-not-equal ?n1 Empty)
- (Support ?Rope1 ?Pulley)
- (Value ?Rope1 Empty)
- (Support ?Rope2 ?Pulley)
- (Value ?Rope2 ?n2)
- (*test-not-equal ?Rope1 ?Rope2)
then:
- (*delete (Value ?Rope1 Empty))
- (*deposit (Value ?Rope1 (*divide ?n1 2)))
- (*delete (Value ?Rope2 ?n2))
- (*deposit (Value ?Rope2 (*divide ?n1 2)))
- name: Pulley-Ropes[Value/Empty]
if:
- (Support ?Pulley ?Rope1)
- (Support ?Pulley ?Rope2)
- (*test-not-equal ?Rope1 ?Rope2)
- (Value ?Rope2 Empty)
- (Value ?Rope1 ?n)
- (*test-not-equal ?n Empty)
then:
- (*delete (Value ?Rope2 Empty))
- (*deposit (Value ?Rope2 ?n))
- name: Rope[Empty]-Pulley-Ropes[Value/Value]
if:
- (Support ?Pulley ?Rope1)
- (Support ?Pulley ?Rope2)
- (*test-not-equal ?Rope1 ?Rope2)
- (Support ?Rope3 ?Pulley)
- (Value ?Rope1 ?a)
- (*test-not-equal ?a Empty)
- (Value ?Rope2 ?b)
- (*test-not-equal ?b Empty)
- (Value ?Rope3 Empty)
then:
- (*delete (Value ?Rope3 Empty))
- (*deposit (Value ?Rope3 (*addition ?a ?b)))
- name: Rope[Value]-Pulley-Ropes[Empty/Empty]
if:
- (Support ?Pulley ?Rope1)
- (Support ?Pulley ?Rope2)
- (*test-not-equal ?Rope1 ?Rope2)
- (Support ?Rope3 ?Pulley)
- (Value ?Rope1 Empty)
- (Value ?Rope2 ?b)
- (Value ?Rope3 ?c)
- (*test-not-equal ?c Empty)
then:
- (*delete (Value ?Rope1 Empty))
- (*deposit (Value ?Rope1 (*divide ?c 2)))
- (*delete (Value ?Rope2 ?b))
- (*deposit (Value ?Rope2 (*divide ?c 2)))
- name: Ropes[Value/Value]-Weight[Empty]
if:
- (Value ?Weight Empty)
- (Support ?Rope1 ?Weight)
- (Value ?Rope1 ?a)
- (*test-not-equal ?a Empty)
- (Support ?Rope2 ?Weight)
- (Value ?Rope2 ?b)
- (*test-not-equal ?b Empty)
- (*test-not-equal ?Rope2 ?Rope1)
then:
- (*delete (Value ?Weight Empty))
- (*deposit (Value ?Weight (*addition ?a ?b)))
- name: Rope[Empty]-Weight[Value]
if:
- (Value ?Weight ?a)
- (*test-not-equal ?a Empty)
- (Value ?Rope Empty)
- (Support ?Rope ?Weight)
then:
- (*delete (Value ?Rope Empty))
- (*deposit (Value ?Rope ?a))
- name: Rope[Value]-Weight[Empty]
if:
- (Value ?Weight Empty)
- (Value ?Rope ?a)
- (*test-not-equal ?a Empty)
- (Support ?Rope ?Weight)
then:
- (*delete (Value ?Weight Empty))
- (*deposit (Value ?Weight ?a))
*メモ [#y7cad24a]
プーリーシステムという考え方に気がつかず、重力に基づいて...
セレンディピティにつながる可能性があるときは、
- 予期せぬルールが発火するとき(プーリーとおもりの同型性...
- 発火させようと思ったルールではないルールが発火するとき&...
プーリーC-ロープY-ロープzとW2-ロープQ-ロープsの同型
プロセスをどう捉えるか
- 予期せぬ発見(どのルールを発火させようとしているのか)
- エラーの分類(どれぐらいのエラーが余計な詳細化によるも...
Irrelavant Specification
- スペルミス
- マッチング形式によるもの(マッチング数が多いため発火し...
ページ名: