[ACT-R-users] ACT-R-users Digest, Vol 52, Issue 4

Kai Sauerwald kai.sauerwald at fernuni-hagen.de
Tue Sep 5 05:18:06 EDT 2017


Thank you all for the reply's!

To be a little more concrete: ACT-R behaves not as i expected. The ACT-R 
documentation gives the following formula (newutility.pdf, page 2):

P_i = e^( U_i/s ) /  \sum_j  e^( U_j/s )

which describes the probability P_i that the production i is chosen in 
dependence of the s value and all utility values (the U_j values).

Now suppose that s=1 and we have only two productions. We want to 
examine how the utility values U_1 and U_2 have to be chosen so that 
P_1=0.6 and P_2=0.4.

By that we have 0.6=e^U_1 / (e^U_1+e^U_2) and 0.4=e^U_2 / (e^U_1+e^U_2) .

We can easily derive e^U_1=e^U_2  * (0.6/0.6) and therefore U_1=log (  
e^U_2  * (0.6/0.4))

So by set U_2=10 we get U_1=10.41...   (see 
https://www.wolframalpha.com/input/?i=solve+%5B+e%5Ex%3De%5E10++*+(0.4%2F0.6+)+%5D 
)

Lets make the real world test how often RULE1 is selected with a act-r 
model. The model appended in this mail performs 40000 selections (run 
the command "lisp prob.lisp  | grep RULE1 | wc -l"  to count how often 
RULE1 is selected) and gives to following results:

First try: RULE1 is 22671 of 40000 times selected
Second try: RULE1 is 22586 of 40000 times selected
Third try: RULE1 is 22630 of 40000 times selected

Which is every time around 0.56 percent of all selections.

Sincerely,
Kai Sauerwald

---------------------
Knowledge Based Systems
University of Hagen
Univerisitätsstr. 1
58097 Hagen


> --On Tuesday, August 29, 2017 11:51 PM -0400 Kai Sauerwald
> <kai.sauerwald at fernuni-hagen.de> wrote:
>
>> Hello,
>>
>> is there a way to archive probabilistic selection of production rules in
>> ACT-R?
>>
>> More concrete:? suppose two productions p1 and p2 with the same condition,
>> how do I have to setup the rules and ACT-R such that p1 is selected with
>> probability 0.3 and p2 selected with probability 0.7 in conflict resolution?
>>
>>
> To do that you would need to set the utilities of those productions and the
> utility noise value.  The equation that describes the probability of choosing
> a production based on its utility, the utility of the competing productions,
> and the utility noise is shown in unit 6 of the ACT-R tutorial.  Unit 3 of
> the tutorial shows how to set fixed utility values using the spp command, and
> the parameter for utility noise is :egs as shown in unit 6.  Unit 6 also
> describes the process through which a model can learn those utility values
> based on the rewards it is given.
>
> Hope that helps,
> Dan
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.srv.cs.cmu.edu/pipermail/act-r-users/attachments/20170905/e1399226/attachment.html>
-------------- next part --------------

(load "load-act-r.lisp")
(start-environment)
(clear-all)

(define-model probtest

(sgp :esc t :egs 1 :show-focus t :trace-detail medium :ul nil)

(chunk-type choosestate value)

  (add-dm
  (the-goal isa choosestate value 0)
)

(p rule1
   =goal>
      isa  choosestate
      value 0
  ==>
   !output! 1)

(p rule2
  =goal>
      isa  choosestate
      value 0
  ==>
   !output! 2)

(spp rule1 :u 10.41)
(spp rule2 :u 10)

(goal-focus the-goal)
)
(run 2000)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kai_sauerwald.vcf
Type: text/x-vcard
Size: 263 bytes
Desc: not available
URL: <http://mailman.srv.cs.cmu.edu/pipermail/act-r-users/attachments/20170905/e1399226/attachment.vcf>


More information about the ACT-R-users mailing list