Source code for psychsim.reward

from psychsim.pwl import *
        
[docs]def maximizeFeature(key,agent): return KeyedTree(setToFeatureMatrix(rewardKey(agent),key,1.))
[docs]def minimizeFeature(key,agent): return KeyedTree(setToFeatureMatrix(rewardKey(agent),key,-1.))
[docs]def achieveFeatureValue(key,value,agent): return makeTree({'if': equalRow(key,value), True: setToConstantMatrix(rewardKey(agent),1.), False: setToConstantMatrix(rewardKey(agent),0.)})
[docs]def achieveGoal(key,agent): return makeTree({'if': trueRow(key), True: setToConstantMatrix(rewardKey(agent),1.), False: setToConstantMatrix(rewardKey(agent),0.),})
[docs]def minimizeDifference(key1,key2,agent): return makeTree({'if': greaterThanRow(key1, key2), True: dynamicsMatrix(rewardKey(agent),{key1: -1.,key2: 1.}), False: dynamicsMatrix(rewardKey(agent),{key1: 1.,key2: -1.})})
[docs]def null_reward(agent): """ :return: a reward function that always returns 0 :type agent: str """ return makeTree(setToConstantMatrix(rewardKey(agent), 0))