問題文 †3つの滑車(滑車A・滑車B・滑車C)、2つのおもり(おもりA・おもりB)、何本かのひもがあります。 それらは次のように配置されています。
おもりBとおもりAの比率を答えなさい。ただし、滑車やひもの重さ、滑車の摩擦を考えないものとします。 ワーキングメモリ †#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) ルール †- 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)) メモ †プーリーシステムという考え方に気がつかず、重力に基づいて考えてしまった セレンディピティにつながる可能性があるときは、
プロセスをどう捉えるか
Irrelavant Specification
|