Retrieval time differences? #168
asmaloney
started this conversation in
Frameworks (ccm, pyactr, vanilla)
Replies: 1 comment
-
To add more detail, here are the two places ccm uses latency in calculations. They are found in the def fail(self,request_number):
if self.threshold is None:
time=self.maximum_time
else:
time=self.latency*math.exp(-self.threshold)
if time>self.maximum_time: time=self.maximum_time
yield time
if request_number!=self._request_count: return
self.error=True
self._buffer.clear()
self.busy=False
def recall(self,chunk,matches,request_number):
self.finst.add(chunk)
time=self.latency*math.exp(-chunk.activation)
if time>self.maximum_time: time=self.maximum_time
yield time
if request_number!=self._request_count: return
self._buffer.set(chunk)
for a in self.adaptors: a.recalled(chunk)
self.busy=False And here's how pyactr calculates it (where def retrieval_latency(activation, latency_factor, latency_exponent):
"""
Calculate retrieval latency.
"""
return latency_factor*(math.exp(-activation*latency_exponent)) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Each of the three frameworks uses different magnitudes for their latency factor.
Here are the formulae from the ACT-R manual:
(if chunk is activated)
(if failed to activate)
The defaults are as follows:
* The code doing the calculations doesn't seem to allow for this, so I guess it's fixed at 1.0?
How do we get comparable results if the frameworks seem to be using different magnitudes? If we change the latency factor then some test models fail to complete properly.
I'm sure I'm missing some basic understanding here...
Beta Was this translation helpful? Give feedback.
All reactions