PDP Homework 2: Schemas
To carry out this homework, you will need to download three text files: schema.in, schema.ex, and schema.wt (all available from the course home page). Just put these in the Examples subdirectory. Then, from there, start the simulation by running "lens schema.in" and open the Unit Viewer (as in the Jets and Sharks simulation).
Rumelhart and colleagues (PDP2, Chapter 14) provide an alternative formulation of the traditional notion of a schema, based on parallel constraint satisfaction. A central property of traditional formulations is that schemas have variables (or ``slots'') which are assigned a specific value in a particular context, or a default value if no specific value is determined by the context.
2A [10 points]: What does each of the notions of variable, value, and default value correspond to within Rumelhart et al.'s PDP formulation of a schema?
Another important property of schemas is that they can embed.
2B [10 points]: Summarize briefly how, according to Rumelhart and colleagues, schema embedding is instantiated in a constraint satisfaction network. That is, what does it mean for a particular collection of descriptors to be a subschema?
Rumelhart et al. (pp. 35-36) provide an example of a ``window'' subschema composed of the ``window'' and ``drapes'' descriptors. They show (in Figure 13) that the goodness of the Office schema is higher when "window" and "drapes" are either both present or both absent than when only one is present.
2C [20 points]: Based on your answer to 2B, critically evaluate the claim that the ``windows'' and ``drapes'' features do, in fact, form a subschema. Be sure to provide evidence from running the simulation (e.g., activation levels, goodness values) to support your argument.
In order to answer 2C (and 2D), you will need to be able to run the network after providing input to particular units by hand, rather than by simply clicking on pre-defined examples. This is a bit awkward in Lens but it can be done. To turn units on (e.g., "windows" and "drapes"), run the following:
lens> setObj preEventProc "turnOn {window drapes}"
To turn the units off, use "turnOff" instead of "turnOn" above. To turn one on and one off, run
lens> setObj preEventProc "turnOn {window} ; turnOff {drapes}"
Then click on the "empty" example (if you want input only to the specified units) or click on another example (if you want to combine them with a standard cue or with one of the full prototypes). To remove the hand-specified inputs, just run
lens> setObj preEventProc ""
The value of preEventProc can also be set from within an object viewer (created by clicking on the "New Object Viewer" button of the main panel).
2D [20 points]: Find another combination of features that, based on your intuitions of the contents of the various room types, ought to form a subschema but do not. Explain your choice of features and provide evidence for your claims (as in 2C). Does the pattern of weights among units (see the actual network or Figure 5 in the Rumelhart chapter) provide any insight into why the network behaves as it does?
Try to stay under a total of 1000 words in answering A-D.