Tuesday, May 3, 2011

How to write papers: a reader-as-machine perspective

The reader has short attention span and little memory. Assuming that the reader is someone who wants to check correctness of a paper, how does the writer take into account the reader's limited capabilities? Imagine the reader is a machine with limited resources in time and memory, and that is interruptible.

Dealing with the short attention span:
(1) Each piece of information in the paper should be neatly packaged in about half a page, so that the reader can take a break after absorbing the material in that half-page.
(2) The most interesting result should come first. Or, rather, the paper should start with a shortest path to the main idea. This way, if the reader gives up after a few pages, it maximizes the chance that he will get to the main point of the paper.
(3) Side issues should be raised in comments or remarks separated from the proof of the main result; that is the presentation chosen, for example, in the Jerrum-Sinclair 1989 paper on computing the permanent.

Dealing with lack of memory:
(1) State lemmas as close as possible to the place where they are used; state definitions as close as possible to the place where they are used.
(2) A definition or a notation takes room in the reader's memory: minimize that, wisely taking into account time-space tradeoff:
"Let x denote blah blah blah ... Using x,... because of x..."
"Using blah blah blah, ... because of blah blah blah".
Is it preferable that the reader first parse blah blah blah, then have to store it in memory, or that he have to parse blah blah blah every time he encounters it?
(3) Order lemmas, facts and theorems so as to minimize the width of the resulting dependency graph. In that way, the reader only has to remember a few statements at a time.

1 comment:

  1. reader-as-machine - That's a nice way of viewing the problem :)