diff options
Diffstat (limited to 'modeling/test_compilation.py')
-rw-r--r-- | modeling/test_compilation.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/modeling/test_compilation.py b/modeling/test_compilation.py new file mode 100644 index 0000000..1312494 --- /dev/null +++ b/modeling/test_compilation.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 + +""" +Testing a simple case of production compilation. The compilation also allows for utility learning, shown in the model below, as well. +""" + +import warnings + +import pyactr as actr + +class Compilation1: + """ + Model testing compilation -- basic cases. + """ + + def __init__(self, **kwargs): + actr.chunktype("state", "starting ending") + self.m = actr.ACTRModel(**kwargs) + + self.m.goal.add(actr.makechunk(nameofchunk="start", typename="state", starting=1)) + + self.m.productionstring(name="one", string=""" + =g> + isa state + starting =x + ending ~=x + ==> + =g> + isa state + ending =x""", utility=2) + + self.m.productionstring(name="two", string=""" + =g> + isa state + starting =x + ending =x + ==> + =g> + isa state + starting =x + ending 4""") + +if __name__ == "__main__": + warnings.simplefilter("ignore") + mm = Compilation1(production_compilation=True, utility_learning=True) + + model = mm.m + + sim = model.simulation(realtime=True) + sim.run(0.5) + print(model.productions["one and two"]) |