summaryrefslogtreecommitdiff
path: root/modeling/addition.py
diff options
context:
space:
mode:
Diffstat (limited to 'modeling/addition.py')
-rw-r--r--modeling/addition.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/modeling/addition.py b/modeling/addition.py
new file mode 100644
index 0000000..a32adba
--- /dev/null
+++ b/modeling/addition.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python3
+
+import pyactr as actr
+
+
+addition = actr.ACTRModel()
+actr.chunktype("countOrder", ("first", "second"))
+actr.chunktype("add", ("arg1", "arg2", "sum", "count"))
+
+dm = addition.decmem
+
+for i in range(0, 11):
+ dm.add(actr.makechunk("chunk" + str(i), "countOrder", first=i, second=i + 1))
+
+addition.goal.add(actr.makechunk("", "add", arg1=5, arg2=2))
+
+addition.productionstring(
+ name="init_addition",
+ string="""
+ =g>
+ isa add
+ arg1 =num1
+ arg2 =num2
+ sum None
+ ==>
+ =g>
+ isa add
+ sum =num1
+ count 0
+ +retrieval>
+ isa countOrder
+ first =num1
+""",
+)