<div>        As the former sponsor of much of the ACT-R work, I would really like to have seen a cumulative library of model building work in order to avoid duplication of effort and the associated waste of scarce research funding.  In particular, it seemed to me that declarative knowledge should not be built over and over again.   I retired, so I am no longer in a position to push this agenda, but I hope the community will come to such a conclusion soon.</div>

<div> </div>
<div>Susan Chipman<br><br></div>
<div class="gmail_quote">On Tue, Jun 24, 2008 at 12:00 PM, Dan Bothell <<a href="mailto:db30@andrew.cmu.edu">db30@andrew.cmu.edu</a>> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br><br>--On Tuesday, June 24, 2008 8:04 AM -0700 Bruce J Weimer MD<br>
<div class="Ih2E3d"><<a href="mailto:bjweimer@charter.net">bjweimer@charter.net</a>> wrote:<br><br><br>> Also, I was wondering as I read the papers, is information that's learned<br>> during a session with the robot stored or saved when the robot's turned<br>
> off  or is it lost?  I'm reading through the ACT-R tutorials and it seems<br>> that  each time a model is run, it's reset to run again - there (so far)<br>> hasn't  been any mention of a mechanism to save the information in<br>
> declarative  memory, weights, latencies, etc.<br>><br><br></div>There is no mechanism built into ACT-R for saving the internal state of any<br>module or the system in general.  However, depending on what you want to<br>
save, it's usually not too difficult to just cache that out and read it<br>back in later.<br><br>For example, here's a function which will create a file with the commands<br>to rebuild the chunks in declarative memory and restore their parameters<br>
(only one of the declarative parameters is included here for brevity):<br><br>(defun save-chunks (file-name)<br> (let ((chunks (no-output (dm)))<br>       (params (no-output (sdp :name :reference-count)))<br>       (cmdt (car (no-output (sgp :cmdt)))))<br>
<br>   (sgp-fct (list :cmdt file-name))<br><br>   (command-output "(add-dm ")<br><br>   (dolist (x chunks)<br>     (command-output "(")<br>     (pprint-chunks-fct (list x))<br>     (command-output ")"))<br>
   (command-output ")")<br><br>   (dolist (x params)<br>     (command-output "(sdp ~A :reference-count ~s)" (first x) (second x)))<br><br>   (sgp-fct (list :cmdt cmdt))))<br><br>The file that writes out could then just be loaded later to restore the<br>
model's declarative memory.  A similar function could be written to dump<br>the productions and their parameters (see the reference manual for the<br>relevant commands).<br><br>Depending on how the general parameters for the model are set there may<br>
be some other things that would need to be adjusted as well, but those<br>sorts of things are going to vary from model to model.  One example would<br>be either advancing the time to where the "old" model left off or adjusting<br>
all of the declarative parameters to reflect the "current" time being<br>necessary if base-level learning were enabled.<br><font color="#888888"><br>Dan<br></font>
<div>
<div></div>
<div class="Wj3C7c">_______________________________________________<br>ACT-R-users mailing list<br><a href="mailto:ACT-R-users@act-r.psy.cmu.edu">ACT-R-users@act-r.psy.cmu.edu</a><br><a href="http://act-r.psy.cmu.edu/mailman/listinfo/act-r-users" target="_blank">http://act-r.psy.cmu.edu/mailman/listinfo/act-r-users</a><br>
</div></div></blockquote></div><br>