ANNOUNCING: PDP++ version 1.0

Randall C. O'Reilly ro2m at crab.psy.cmu.edu
Sat Sep 23 14:51:28 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, our first non-beta release.  It has been
extensively tested and should be completely usable.

The software can be obtained by anonymous ftp from:
  Anonymous FTP Site: 	hydra.psy.cmu.edu/pub/pdp++/  *or*
			unix.hensa.ac.uk/mirrors/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.

New Features Since Previous Release (1.0b):
===========================================

  o Better support for sub-groups of units within a Layer (including
    better interface support).

  o Fixed and much more flexible 'ReadOldPDP' function for importing
    environments (pattern files).

  o Improved documentation for compiling the software.

  o Pre-compiled InterViews libraries for g++ now available (in
    addtion to cfront-based ones).

  o Added a bpso++ executable, which allows creation of mixed backprop
    and self-organizing networks.

  o Lots of bug fixes (see the ChangeLog file for details).

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 (we
specifically were *not* able to compile successfully with the 2.7.0
version of g++, and gave up waiting for 2.7.1).

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 4 of these (bp++, cs++, so++, and bpso++), 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.

				- Randy


More information about the Connectionists mailing list