Wednesday, November 05, 2003

Computational Complexity of Narrative

According to Forster, there's a distinction between story -- merely a list of events -- and plot, which includes the causal relationship between events. A story, in his mind, is the lowest common denomintor of the novel. Many popular works, from 1001 Arabian Nights to Tom Clancy work at this level. The attraction to the reader is the constant need to find out what happens next. And then... and then... A plot, in contrast, the question isn't always what happens next, but why something happens. Forster's pithy example is "The king died and then the queen died." is a story. "The king died, and then the queen died of grief." is a plot.

What's interesting is that according to Forster, a plot requires that the reader have memory. To follow a story, a reader just worries about the very next event, and doesn't need to remember previous events, as there's no structure more sophisticated than a chain of events. To follow a plot, in contrast, the reader must hold many past events in her head. Again, Forster's example: "The queen died, but no one knew why, until it was discovered that she died from grief from the king's death."

What's fascinating about this is that this maps perfectly well to the Chomskian hierarchy of language: a story can be understood by a finite automaton, but the ability to understand a plot in general requires a more sophisticated computational model: a pushdown automata, perhaps, or even a Turing Machine. This distinction raises the exciting possibility that we may be able to construct even more precise and detailed computational models of different tales.