Skip to content

Record · Do this to my work · it guesses

Element 80

80◑↔
Gz
Generalize

Show it a few examples, and it does the rest.

flash fill · smart fill

First known

From a history

1984Editing by Example: show it a few blocks of text before and after, and it works out the edit for the rest. Nix.

See also: PERIDOT: 'After the user places the first few items of a list into a menu, PERIDOT is able to infer that the entire list should comprise the menu' (Cypher, CHI '91, citing Myers 1988).

“[Nix 84] has investigated the application of "by example" techniques to text editing ... by looking only at inputs and outputs ... seeking a transformation that maps blocks of input text into corresponding output blocks”

Cypher's Eager (1991) is the famous case, and its own paper credits earlier systems that generalize from what you show them.

Dated by a reputable history or a participant's own account. The source.

  • ReadingValue

Specimen № 80 — operate freely

Type a username beside any name. Then read the rows it filled.

Fig. 80 — Generalize

000 readings · idle

Anatomy of Generalize

  1. 01Show
    You
    Gives one example.
    It
    Searches for rules that would produce it.
  2. 02Guess
    You
    Sees the other rows filled in grey.
    It
    Applies the simplest rule that fits, and says how many others did.
  3. 03Correct
    You
    Fixes a row it got wrong.
    It
    Takes the fix as one more example, and guesses again.
  4. 04Accept
    You
    Takes the guesses.
    It
    Writes them in as values.

Phases light as the specimen above registers them. The dark ones are the ones it can't sense.

Lineage

Programming by demonstration goes back to David Canfield Smith's Pygmalion (1975) and Allen Cypher's Eager (1991), which noticed repetition and offered to finish it. Sumit Gulwani's Flash Fill shipped in Excel 2013, inferring a small program from one or two examples.

Generalize

Under delegation

Survives

  1. Survives
  2. Mutates
  3. Dissolves

Examples are how people already explain things to each other, so this act scales well: a model can generalize from two examples of almost anything. The old problem scales with it. An example underdetermines its rule, and the interface has to show which rule it took.

Down the Record column

  1. it remembersRcRecord
  2. it connects?eka-Record
  3. it guessesGzGeneralize
  4. it actsDmDemonstrate

Read down and Record gets heavier: each step is the same act, on a machine that keeps track of more.

Bodies

The act stays put while the hardware changes. These are some of the forms Generalize takes.

  • flash fill
  • smart fill

From the 2021 table

This was a tile of its own. On this table it is a form of Generalize, and its old address lands here.

  • Few-ShotIsotopeThe same act in another body.