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