Considerations re the Challenge of Counting Story Plots
When Kurt Goedel associated integers with *proofs in symbolic logic*, he used
an awkward scheme involving powers of primes that resulted in an absurdly
sparse array, where almost every integer was *semantically meaningless*.
[Didn't Hofstadter improve this, hugely, in GEB, though?]
I want to sketch a more plausible approach for *counting story-plots*,
according to which simpler plots have lower numbers (of course), and *most* of
the most-interesting simple stories have a representation in the range
0 < N < (2 ** 21).
Certain interesting problems will emerge!
Start with these (preliminary!) assignments of *octal* digits to basic
"elements":
0- [special]
1- person
2- place
3- thing
4- motive
5- skill
6- modality
7- other
Each of these, then, is a three-bit representational expense. (The details of
the assignments may be considered totally arbitrary. Octal is chosen for no
more (nor less, maybe!) superstitious a reason than Newton's, for infiltrating
*indigo* into the rainbow. If it turns out to be handier, hexadecimal is
fine.)
Six-bit numbers, below octal 77, can now be easily translated into pairs of
elements, and vice versa, eg:
11 = person person
12 = person place
21 = place person
77 = other other
Similarly, 111 could by assigned to person-person-person (and so on), but
instead I want to assume that a 9-bit unit will normally constitute a
*structured longword*, with bits 7 thru 9 designating one of eight pre-
assigned *relationships*, different for each pair of basic elements.
Example:
13 - person-thing
113- person creates thing
213- person acquires thing
313- person uses thing
413- person changes thing
513- [available for future expansion!]
613- person disposes-of thing
713- person destroys thing
These, again, must be assigned pragmatically, but a certain degree of
principled-ness may be possible, eg one may ask, "For these two elements,
considered in the most abstract way, what is the usual chronology of
relationships they may pass thru?" (So "person creates person" should actually
be a good startingplace, too!)
The simplest extension, now, is to treat larger numbers as sequences of 9-bit
relationships, whose sequentiality implies a real, chronological story-
sequence, so a 27-bit number (like 113413713) would imply a story in which the
first 9-bit relationship (person creates thing) was true *first*, then the
second (person changes thing), and then the third (person destroys thing).
This generates an extremely rich "story vector space", but fails to allow for
simultaneity or causal connections (etc). My "2 ** 21" (above) assumed just
two 9-bit relaionships, along with an added three bits for some temporal-
causality relationship between them: "causes" or "enables" or "co-occurs"
perhaps. My investigations into story-plots convince me that this space is
much more densely populated than one might first guess-- there's a definite
"art" to recognizing the familiar story-form of a 21-bit integer, and even
more, to paring down a real experience-story to this 21-bit level of
abstraction!
Happily, a reasonable test-base is readily available in the form of Mike
Roberts's TADS language for *adventure game design*. While adventure games
are still a long way from Shakespeare (& Co.), the high degree of structural
*fit* between the abstract mathematics sketched above, and the 'empirically'
derived TADS semantics, is very reassuring.
Here's most of the built-in TADS vocabulary (considerably rearranged):
Place-place: n, s, e, w, ne, se, nw, sw, inside
Person-place: location of, move to
Person-person: follow, attack, hello, yell
Person-thing: grab, take, drop, pull, throw, clean, move, touch, poke,
inspect, jump over
Thing-thing: inside, attached to
Person-thing-place: move to
Person-thing-thing: clean with, move with, attach to, poke with
Person-person-thing: give to, throw to, show to, throw at, attack with
Person-person-relationship: ask about, tell about
Running this correlation back in the other direction, you should imagine
adventure games as building complex plots out of two-command-long "simple
sequences". It's impossible to guess, without spending a *lot* of effort
doing the experiment, how much of the "essence" of a given plot can be
retained in 21 bits, but I recommend meditating on the prototypicality of the
many stories of *people exchanging stuff*-- goods, services, information,
emotions. Any novel can be analysed into a series of exchanges, concrete or
abstract, and it's not hard to believe that a single one of these could be
chosen as the 'core-exchange' of the story as a whole.
The mathematics of story-counting get thrown a whole new curve, though, by the
need for allowing *specializations* of the basic elements. TADS actually
considers *places* to be a specialization of things, along with containers,
surfaces, vehicles, clothing, lamps, food, locks, pushbuttons, switches,
dials, connectors, etc. (Each of these has a different story implied by
"person uses thing", of course.)
As more bits are required to specify the *elements* of the relationship, the
representation has to 'accordion out' somehow. If you know how deep your
deepest specializations are (on the element hierarchy), you could make the
"element field" have a variable length, headed with a (fixed length) length-
field.
More interesting to me, as a representation, is to leave aside the counting-
problem at this point, and consider that sorting these story-plots into a tree
actually means sorting them into a fractal *array of trees*, so that the
location of any (eg) three-element story must be three trees deep.
[to be continued...]