######  anchor/ReadMe.txt

README for Alex Petrov's Matlab implementation of the ANCHOR model of
category rating and absolute identification ver 2.2, released 1 Apr 2007.

This folder contains the MATLAB implementation of a memory-based
ANCHOR model of category rating and absolute identification described in
the following publications:

* Petrov, A. A. & Anderson, J. R. (2005). The Dynamics of Scaling: 
  A Memory-Based Anchor Model of Category Rating and Absolute 
  Identification. Psychological Review, 112(2), 383-416.
  http://alexpetrov.com/pub/biganchor/

* Petrov, A. (2003). Additive or Multiplicative Perceptual Noise?
  Two Equivalent Forms of the ANCHOR Model. In R. Alterman & D. Kirsh
  (Eds.), Proceedings of the Twenty-Fifth Annual Conference the
  Cognitive Science Society (pp. 922-927). Hillsdale, NJ: LEA.
  http://alexpetrov.com/pub/anchor03/

* Petrov, A.  (2001). Fitting the ANCHOR Model to Individual Data:
  A Case Study in Bayesian Methodology. In E. M. Altmann, 
  A. Cleeremans, C. D. Schunn, & W. D. Gray (Eds.), Proceedings of 
  the 2001 Fourth International Conference on Cognitive Modeling 
  (pp. 175-180). Mahwah, NJ: LEA. http://alexpetrov.com/pub/anchor01/

* Petrov, A. (2006). Computationally efficient approximation of the
  base-level learning equation in ACT-R. In D. Fum, F. Del Missier, & 
  A. Stocco (Eds.), Proceedings of the Seventh International Conference 
  on Cognitive Modeling (pp. 391-392). Trieste, Italy: Edizioni Goliardiche.
  http://alexpetrov.com/pub/iccm06/

* Petrov, A. & Anderson, J. R. (2000). ANCHOR: A Memory-Based Model of
  Category Rating. In L. R. Gleitman & A. K. Joshi (Eds.), Proceedings
  of the Twenty-Second Annual Conference the Cognitive Science Society
  (pp. 369-374). Hillsdale, NJ: LEA. http://alexpetrov.com/pub/anchor00/
  

The main directory contains the implementation of the ANCHOR model itself
(anchor2.m) as well as a model-tracking version (anchor2mt.m) for
parameter fitting (Petrov, 2001).
The FINALSIM directory provides tools for analysing the stimulus-response
sequences generated by the model and comparing them to human data.
The FINALSIM/HIER directory contains the simulation results with a
hierarchy of nested models on a battery of measures of various phenomena.
These results are reported in Table 4 of Petrov & Anderson (2005) and are
provided here as a research-grade example of how to use the ANCHOR software.
The UTILS directory and its subdirectory contains a library of utilities used
by the model code. 
See the Contents.m files in these respective directories for a list of
the individual files and for examples of their use. Each .m file contains
extensive comments too. Finally, FINALSIM/HIER directory contains several
transcripts (*.TXT files), scripts (.M), and data (.MAT) taken during the
development and fitting of the model. Use them as guidance.


ANCHOR was developed and run on Matlab ver 5.3.0.10183 (R11) for Windows.
The implementation ported flawlessly to Matlab 7.2 (R2006b) for Mac OS X.
It depends on the UTILS Toolbox developed by Alex Petrov and distributed
free under the terms of the GNU GPL, http://alexpetrov.com/softw/utils/
The basic model (anchor2.m) depends only on utils/general.
To fit parameters and analyze the model performance, you will also need
utils/paramsearch and utils/regression. All three toolboxes are included
with the current distribution. More recent versions may be available at
Alex Petrov's software repository at http://alexpetrov.com/softw/
The BASE_ACT Toolbox implements an efficient approximation to the
base-level learning equation in ACT-R (Petrov, 2006). A special case of
this approximation (B_approx2.m) is used in ANCHOR. The BASE_ACT 
toolbox was developed after the ANCHOR model was published.
It is included here because of its relevance to the overall research program.
The parameter search routines depend on Matlab's STATS and OPTIM
Toolboxes, although the STATS dependency probably is minimal.

For a basic installation, simply unzip the archive in a directory of
your choice and add anchor/ and utils/general to Matlab's path.
To fit parameters, the path should also include utils/paramsearch,
utils/regression, and anchor/finalsim.  
See Contents.m for specific examples. There are also examples in many
of the individual .m files.


This software is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
See the GNU General Public License (reproduced in anchor_license.m) and
the Free Software Foundation website (http://www.fsf.org) for more details.

The software is freely available and freely redistributable, according
to the conditions of the GNU General Public License. You may not
distribute the software, in whole or in part, in conjunction with
proprietary code. That means you ONLY have my permission to distribute a
program that uses my code IF you also make freely available (under the
terms of the GNU GPL) the source code for your whole project. You may
not pass on the software to another party in its current form or any
altered, embellished or reduced form, without acknowledging the author,
citing the Petrov & Anderson (2005) Psych Review paper, and including a 
copy of the GNU GPL.

Please notify the author of any bugs, notes, comments or suggested
changes, particularly of any useful changes you may have made to 
your own copy of the software.

Thank you for your interest in ANCHOR. Happy modeling!

Alex Petrov, March 2007

-------------------------------------------------------------
Alexander A. Petrov:  apetrov [at] alexpetrov [dot] com

Assistant Professor, Department of Psychology
Ohio State University, Columbus, OH 43210
http://alexpetrov.com

It is better to light one candle than to curse the darkness.
-------------------------------------------------------------
