Skip to content

Interactive Activation and Competition Model

This is an interactive demonstration of the Jets and Sharks network from Rumelhart & McClelland (1986). The network illustrates how knowledge can be retrieved through spreading activation in a connectionist model. This demo is based on the IAC application by Axel Cleeremans.

Open standalone version

Cycle 0Change 0.0000
FeaturesNamesHiddenGangAgeEducationMaritalOccupationJetsSharks20s30s40sJHHSCOLSingleMarriedDivorcedBookieBurglarPusherArtAlSamClydeMikeJimGregJohnDougLanceGeorgePeteFredGeneRalphPhilIkeNickDonNedKarlKenEarlRickOlNealDave
Global change0.000000
Click a unit to clamp input (amber ring), hover to see its connections | Space: run/pause | S: step | R: reset

The Network

The network has three pools of units:

  • Features (outer ring): 14 units representing properties like gang membership (Jets/Sharks), age (20s/30s/40s), education (JH/HS/COL), marital status, and occupation
  • Names (middle ring): 27 units representing individual people
  • Hidden (inner ring): 27 internal representation units

Connection Rules

  • Between pools: Bidirectional excitation (+1) between each person's hidden unit and that person's name and five properties. There are no other connections between pools.
  • Within pools: Lateral inhibition (-1) among all the names, among all the hidden units, and among the values of each property (for example, 20s, 30s, and 40s).

How to Use

  1. Click on any unit to provide external input (activation). A clamped unit gets an amber ring. Units with positive activation fill with pink, deeper as activation rises; units pushed below their resting level fill with light blue.
  2. Click again to remove the external input.
  3. Use Run/Pause to run or stop the simulation.
  4. Use Step to advance one cycle at a time.
  5. Hover over any unit to see its connections (teal excitatory, dashed magenta inhibitory) and current values.
  6. With the demo focused, press Space to run or pause, S to step, and R to reset.

Try These Examples

Example 1: Who is Art?

Click on "Art" in the Names ring and press Run. Watch as his features (Jets, 40s, JH, Single, Pusher) become activated in the outer ring.

Example 2: Who is in their 20s with only Junior High education?

Click on "20s" and "JH" in the Features ring. The hidden units for Jim, John, Lance, and George should show the highest activation - these are the only people with both properties.

Example 3: What gang are young people likely in?

Click only on "20s" and watch. The Jets unit should activate more strongly than Sharks because 9 Jets members are in their 20s versus only 1 Shark.

IAC Equations

The network uses the following update rules:

Net Input:

netInput = alpha * excitation + gamma * inhibition + estr * extInput

Activation Update:

if netInput > 0:
  delta = (max - activation) * netInput - decay * (activation - rest)
else:
  delta = (activation - min) * netInput - decay * (activation - rest)

Excitation and inhibition sum only over units with positive activation, so a unit below zero sends nothing. All units update together (synchronously) on each cycle.

Parameters: max=1.0, min=-0.2, rest=-0.1, decay=0.05, alpha=0.05, gamma=0.05, estr=0.4

These match Cleeremans' application, which the homework screenshots were made with. The PDP handbook uses 0.1 for decay, alpha, and gamma, which runs the same dynamics about twice as fast.

References

Rumelhart, D. E., & McClelland, J. L. (1986). Parallel Distributed Processing: Explorations in the Microstructure of Cognition. MIT Press.

See also the PDP Handbook for more details.