The PDP++ Software Users Manual
Version 2.0 (10 August 2000)
Chadley K. Dawson, Randall C. O'Reilly, and James L. McClelland.
Welcome to the PDP++ Software Users Manual
1 Introduction to the PDP++ Software
2 Installation Guide
2.1 Installing the End User's Version
2.6 Installing the Programmers Version
3 Conceptual Overview
3.1 Overview of Object-Oriented Software Design
3.2 Overview of the Main Object Types
3.2.1 The Objects in Networks
3.2.2 The Objects in Environments
3.2.3 The Objects Involved in Processing/Scheduling
3.3 Separation of State from Specification Variables
3.4 Scripts: General Extensibility
3.5 Groups: A General Mechanism for Defining Substructure
4 Tutorial Introduction (using Bp)
4.1 Backpropagation and XOR
4.1.1 Activation Phase
4.1.2 BackPropagation Phase
4.1.3 Weight Error Derivative Phase
4.1.4 The XOR Problem
4.2 Using the Simulator to run BP on the XOR Example
4.2.1 Notation for Tutorial Instructions
4.2.2 Starting up PDP++
4.2.3 Object Hierarchy: The Root Object and the Project
4.2.4 Network and NetView Window
4.2.5 The Environment
4.2.6 Processes
4.2.7 Logging Training and Testing Data
4.2.8 Running the Processes
4.2.9 Monitoring Network Variables
4.2.10 Changing Things
4.2.11 Saving, restoring, and exiting.
4.3 Configuring the Encoder Problem
4.3.1 Recording a Script File of Your Actions
4.3.2 Making a New Network
4.3.3 Making a New Environment
4.3.4 Setting Up Control Processes
4.3.5 Creating Logs For Viewing Data
4.3.6 A Few Miscellaneous Things
4.3.7 Training and Testing Your Network
5 How-to Guide
5.1 Questions about Processes
5.2 Questions about Networks
5.3 Questions about Environments
5.4 Questions about CSS
6 Guide to the Graphical User Interface (GUI)
6.1 Window Concepts and Operation
6.1.1 How to operate Windows
6.1.2 How to operate Menus
6.1.3 Window Views
6.3 The "Object" Menu
6.4 The "Actions" Menu
6.5 The SubGroup Menu(s)
6.6 The Edit Dialog
6.6.1 Member Fields
6.16.1 Edit Dialog Buttons
6.16.2 Edit Dialog Menus
6.17 Settings Affecting GUI Behavior
6.17.1 Settings in taMisc
6.17.2 XWindow Resources (Xdefaults)
6.18 Color Scale Specifications
6.19 File Requester
6.20 Object Chooser
7 Guide to the Script Language (CSS)
7.1 Introduction to CSS
7.2 Tutorial Example of Using CSS
7.2.1 Running an Example Program in CSS
7.2.2 Debugging an Example Program in CSS
7.2.3 Accessing Hard-Coded Objects in CSS
7.3 CSS For C/C++ Programmers
7.3.1 Differences Between CSS and C++
7.3.2 Differences Between CSS and ANSI C
7.3.3 Extensions Available in CSS
7.3.4 Features of C++ for C Programmers
7.4 CSS Reference Information
7.4.1 Name and Storage Spaces in CSS
7.4.2 Graphical Editing of CSS Classes
7.4.3 CSS Startup options
7.4.4 The CSS Command Shell
7.4.5 Basic Types in CSS
7.4.6 CSS Commands
7.4.7 CSS Functions
7.4.8 Parameters affecting CSS Behavior
7.5 Common User Errors
7.6 Compiling CSS files as C++ Hard Code
8 Object Basics and Basic Objects
8.1 Object Basics
8.1.1 What is an Object?
8.1.2 Object Names
8.1.3 Saving and Loading Objects
8.2 Groups
8.2.1 Iterating Through Group Elements
8.2.2 Group Variables
8.2.3 Group Functions
8.2.4 Group Edit Dialog
8.3 Arrays
8.3.1 Array Variables
8.3.2 Array Functions
8.3.3 Array Editing
8.4 Specifications
8.5 Random Distributions
9 Projects (and Defaults, Scripts)
9.1 Basic Project Management
9.2 The Project Viewer
9.2.1 Project View Mode
9.2.2 Spec View Mode
9.3 Startup Arguments to PDP++
9.4 Signals to Control a PDP++ Process
9.5 Customization Through Defaults and Settings
9.5.1 Settings and the .pdpinitrc and .cssinitrc Files
9.5.2 Project Object Defaults (TypeDefaults)
9.6 Project Scripts
10 Networks (Layers, Units, etc)
10.1 The Network Object
10.2 Layers and Unit Groups
10.3 Projections
10.3.1 The Projection Class
10.3.2 The Projection Specification
10.3.3 Specialized Types of Projection Specs
10.4 Units
10.4.1 Implementational Details About Units
10.5 Connections
10.5.1 Implementational Details About Connections
10.6 Network Viewer
10.7.1 The Action Region
10.7.2 The Member Region
10.7.3 The View Region
10.7.4 The Scale region
10.8 Building Networks Using the Viewer
11 Environments, Events, and Patterns
11.1 Environments
11.2 Events, Patterns and their Specs
11.2.1 Implementational Details of Events and Patterns
11.3 Representing Sequences of Events
11.4 The EnviroView
11.5 Edit Events in the EnviroView
11.6 Edit Specs in the EnviroView
11.7 Importing Environments from Text Files
11.8 Environment Generation Functions
11.9 Frequency Environments and Events
11.10 Other Environment Types
12 Processes and Statistics
12.1 The Basic Features of all Processes
12.2 The Schedule Process (SchedProcess)
12.2.1 Variables and Functions used in a SchedProcess
12.3.1 Statistics and Logging in a SchedProcess
12.4 Schedule Processes for Different Time-Grains
12.4.1 Iterating over Networks: BatchProcess
12.4.2 Iterating over Epochs: TrainProcess
12.4.3 Iterating over Trials: EpochProcess
12.5.1 Presenting a Single Event: TrialProcess
12.5.2 Iterating over Cycles: SettleProcess
12.5.3 Performing one Update: CycleProcess
12.6 Specialized Schedule Processes
12.6.1 Processes for Sequences of Events
12.6.2 Processing Multiple Networks/Environments
12.6.3 Linking Networks Together with a Bridge
12.6.4 Miscellaneous other Process Types
12.7 The Statistic Process
12.7.1 Aggregation Operators and other Parameters
12.7.2 Using Statistics to Control Process Execution
12.7.3 Implementational Details about Stats
12.8 Different Types of Statistics
12.8.1 Summed-Error Statistics
12.8.2 Monitoring Network State Variables
12.8.3 Finding The Event Closest to the Current Output Pattern
12.8.4 Comparing or Computing on Stat Values
12.8.5 Activity-based Receptive Fields
12.8.6 Miscellaneous Other Stat Types
12.9 Processes and CSS Scripts
13 Logs and Graphs
13.1 PDPLog Variables
13.2 PDPLog Functions
13.3 Log Views
13.3.1 The LogView Class
13.3.2 The Text LogView
13.3.3 The Net LogView
13.3.4 The Graph LogView
13.3.5 The Grid LogView
14 Backpropagation
14.1 Feedforward Backpropagation
14.1.1 Overview of the Bp Implementation
14.1.2 Bp Connection Specifications
14.1.3 Bp Unit Specifications
14.1.4 The Bp Trial Process
14.1.5 Variations Available in Bp
14.1.6 Simple Recurrent Networks in Bp
14.1.7 Bp Defaults
14.1.8 Bp Implementation Details
14.2 Recurrent Backpropagation
14.2.1 Overview of the RBp Implementation
14.2.2 RBp Connection Specifications
14.2.3 RBp Unit Specifications
14.2.4 The RBp Trial Process
14.2.5 RBp Sequence Processes and TimeEvents
14.2.6 Variations Available in RBp
14.2.7 The Almeida-Pineda Algorithm in RBp
14.2.8 RBp Defaults
14.2.9 RBp Implementation Details
15 Constraint Satisfaction
15.1 Overview of the Cs Implementation
15.2 Cs Connection Specifications
15.3 Cs Unit Specifications
15.4 Cs Proceses
15.5 Cs Statistics
15.5.1 The Goodness (Energy) Statistic
15.5.2 Statistics for Measuring Probability Distributions
15.5.3 Measuring the Maximum Delta-Activation
15.6 Cs Defaults
15.7 The Probability Environment and Cs
15.8 Cs Implementational Details
16 Self-organizing Learning
16.1 Overview of the So Implementation
16.2 So Connection Specifications
16.3 So Unit and Layer Specifications
16.4 The So Trial Process
16.5 So Implementational Details
17 Programming in PDP++
17.1 Makefiles and Directory Organization
17.2 The TypeAccess System
17.2.1 Scanning Type Information using
`maketa'
17.2.2 Startup Arguments for
`maketa'
17.2.3 Structure of TypeAccess Type Data
17.2.4 The Type-Aware Base Class
taBase
17.2.5 The Dump-file Format for Saving/Loading
17.3 Standard TypeAccess Comment Directives
17.3.1 Object Directives
17.3.2 Member Directives
17.3.3 Method Directives
17.3.4 Top-Level Function Directives
17.3.5 PDP++ Specific Directives
17.4 Coding Conventions and Standards
17.4.1 Naming Conventions
17.8.1 Basic Functions
A Copyright Information
Concept Index
Class Type Index
Variable Index
Function Index
This document was generated on 10 August 2000 using the
texi2html
translator version 1.51 pdp.