Jets and Sharks: Recap * connectionist ("PDP") model of human memory * network stores information about 27 different people see chart on page 27 * units represent individual concepts 3 age units: in20s in30s in40s 3 education units: juniorhigh highschool college 2 gang units: jets sharks 3 occupation units: burglar bookie pusher 3 marital status units: single married divorced 27 name units: nameKen nameArt etc. 27 instance units: instKen instArt etc. * instance units (instKen) represent an entire person * name units (nameKen) represent just the name of a person * unit activation ranges from -0.2 to +1.0 (resting level is -0.1) (think of a light bulb) * units can be activated manually via external input * connections within a single category are mutually inhibitory in20s <--[-]--> in30s <--[-]--> in40s * connections between instance units and properties are mutually excitatory instKen <--[+]--> sharks in20s highschool single burglar nameKen see figure on page 28 * 68 units, 1754 connections in all * model exhibits emergent properties CONTENT ADDRESSABILITY - info can be retrieved from partial descriptions GRACEFUL DEGRADATION - noise/damage does not cause network to fail completely GENERALIZATION - network can fill in missing information in a plausible way * Python implementation activation-update algorithm for each unit is complicated done in two passes: 1. for each node, compute the amount that the activation will change on the next time step, but don't change the activation itself 2. after the amount to be changed has been computed for all units, update the activations this synchronization is necessary for the model to work properly units can be clamped and unclamped manually from "outside" to retrieve a memory: 1. reset activations of all units back to RESTING level 2. clamp units representing known info (name, other properties, etc.) 3. run for some number of cycles, letting activation flow through the network 4. after network has "settled", look at which units are activated user-interface commands: show() run(cycles) clamp(unit) unclamp(unit) reset()