ANNOUNCING THE PDP++ SIMULATOR
James L. McClelland
jlm at crab.psy.cmu.edu
Thu Jun 15 16:04:01 EDT 1995
ANNOUNCING: The PDP++ Software
Authors: Randall C. O'Reilly, Chadley K. Dawson, and James L. McClelland
The PDP++ software is a new neural-network simulation system written
in C++. It represents the next generation of the PDP software
released with the McClelland and Rumelhart "Explorations in Parallel
Distributed Processing Handbook", MIT Press, 1987. It is easy enough
for novice users, but very powerful and flexible for research use.
The current version is 1.0 beta (1.0b). It has been used and tested
locally fairly extensively during development, but this is the first
general release.
The software can be obtained by anonymous ftp from:
Anonymous FTP Site: hydra.psy.cmu.edu/pub/pdp++
For more information, see our web page:
WWW Page: http://www.cs.cmu.edu/Web/Groups/CNBC/PDP++/PDP++.html
There is a 250 page (printed) manual and an HTML version available
on-line at the above address.
Software Features:
==================
o Full Graphical User Interface (GUI) based on the InterViews
toolkit. Allows user-selected "look and feel".
o Network Viewer shows network architecture and processing in real-
time, allows network to be constructed with simple point-and-click
actions.
o Training and testing data can be graphed on-line and network state
can be displayed over time numerically or using a wide range of
color or size-based graphical representations.
o Environment Viewer shows training patterns using color or
size-based graphical representations.
o Flexible object-oriented design allows mix-and-match simulation
construction and easy extension by deriving new object types from
existing ones.
o Built-in 'CSS' scripting language uses C++ syntax, allows full
access to simulation object data and functions. Transition
between script code and compiled code is simplified since both are
C++. Script has command-line completion, source-level debugger,
and provides standard C/C++ library functions and objects.
o Scripts can control processing, generate training and testing
patterns, automate routine tasks, etc.
o Scripts can be generated from GUI actions, and the user can create
GUI interfaces from script objects to extend and customize the
simulation environment.
Supported Algorithms:
=====================
o Feedforward and recurrent error backpropagation. Recurrent BP
includes continuous, real-time models, and Almeida-Pineda.
o Constraint satisfaction algorithms and associated learning
algorithms including Boltzmann Machine, Hopfield models,
mean-field networks (DBM), Interactive Activation and
Competition (IAC), and continuous stochastic networks.
o Self-organizing learning including Competitive Learning, Soft
Competitive Learning, simple Hebbian, and Self-organizing Maps
("Kohonen Nets").
The Fine Print:
===============
PDP++ is copyrighted and cannot be sold or distributed by anyone other
than the copyright holders. However, the full source code is freely
available, and the user is granted full permission to modify, copy, and
use it. See our web page for details.
The software runs on Unix workstations under XWindows. It requires a
minimum of 16 Meg of RAM, and 32 Meg is preferable. It has been
developed and tested on Sun Sparc's under SunOs 4.1.3, HP 7xx under
HP-UX 9.x, and SGI Irix 5.3. Statically linked binaries are available
for these machines. Other machine types will require compiling from
the source. Cfront 3.x and g++ 2.6.3 are supported C++ compilers.
The GUI in PDP++ is based on the InterViews toolkit, version 3.2a.
However, we had to patch it to get it to work. We distribute
pre-compiled libraries containing these patches for the above
architectures. For architectures other than those above, you will
have to apply our patches to InterViews before compiling.
The basic GUI and script technology in PDP++ is based on a
type-scanning system called TypeAccess which interfaces with the CSS
script language to provide a virtually automatic interface mechanism.
While these were developed for PDP++, they can easily be used for
any kind of application, and CSS is available as a stand-alone
executable for use like Perl or TCL.
The binary-only distribution requires about 54 Meg of disk space,
since we have been unable to get shared libraries to work with C++ on
the above platforms. Each simulation executable is around 8-12 Meg in
size, and there are 3 of these (bp++, cs++, so++), plus the CSS and
'maketa' executables. The compiled source-code distribution takes
about 115 Meg (but only around 16 Meg before compiling).
For more information on the details of the software, see our web page.
More information about the Connectionists
mailing list