The PDP++ Software Users Manual
Version 1.2 (2 June 1997)
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.2 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 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
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 Startup Arguments to PDP++
9.3 Signals to Control a PDP++ Process
9.4 Customization Through Defaults and Settings
9.4.1 Settings and the .pdpinitrc and .cssinitrc Files
9.4.2 Project Object Defaults (TypeDefaults)
9.5 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 Processes and Statistics
11.1 The Basic Features of all Processes
11.2 The Schedule Process (SchedProcess)
11.2.1 Variables and Functions used in a SchedProcess
11.3.1 Statistics and Logging in a SchedProcess
11.4 Schedule Processes for Different Time-Grains
11.4.1 Iterating over Networks: BatchProcess
11.4.2 Iterating over Epochs: TrainProcess
11.4.3 Iterating over Trials: EpochProcess
11.5.1 Presenting a Single Event: TrialProcess
11.5.2 Iterating over Cycles: SettleProcess
11.5.3 Performing one Update: CycleProcess
11.6 Specialized Schedule Processes
11.6.1 Processes for Sequences of Events
11.6.2 Processing Multiple Networks/Environments
11.6.3 Linking Networks Together with a Bridge
11.6.4 Miscellaneous other Process Types
11.7 The Statistic Process
11.7.1 Aggregation Operators and other Parameters
11.7.2 Using Statistics to Control Process Execution
11.7.3 Implementational Details about Stats
11.8 Different Types of Statistics
11.8.1 Summed-Error Statistics
11.8.2 Monitoring Network State Variables
11.8.3 Finding The Event Closest to the Current Output Pattern
11.8.4 Comparing Different Stats with Each Other
11.8.5 Activity-based Receptive Fields
11.8.6 Miscellaneous Other Stat Types
11.9 Processes and CSS Scripts
12 Environments, Events, and Patterns
12.1 Environments
12.2 Events, Patterns and their Specs
12.2.1 Implementational Details of Events and Patterns
12.3 Representing Sequences of Events
12.4 The EnviroView
12.5 Importing Environments from Text Files
12.6 Environment Generation Functions
12.7 Frequency Environments and Events
12.8 Other Environment Types
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 2 June 1997 using the
texi2html
translator version 1.51 pdp.