A calculus of the absurd

2.3 Specific heuristics

This list was written by A.H. Schoenfeld:

  • draw a diagram (if at all possible)

  • examine special cases

    • – choose special values to exemplify the problem and get a "feel" for it

    • – examine limiting cases to explore the range of possibilities

    • – set any integer parameters equal to \(1, 2, 3, ...\) in sequences and look for an inductive pattern.

  • try to simplify the problem

    • – exploiting symmetry

    • – without loss of generality

  • consider essentially equivalent problems

  • • replace the conditions with equivalent ones

  • • recombine the elements of the problem in different ways

  • • introduce auxiliary elements (e.g. substitutions)

  • • reformulate the problem

  • • change of perspective or notation

  • • considering argument by contradiction or contrapositive

  • • assuming you have a solution, and determining its properties (i.e. what would a valid answer look like)

  • consider slightly modified problems

    • – choose sub-goals (obtain partial fulfilment of the conditions)

    • – relax a condition and then try to re-impose it

    • – decompose the domain of the problem and work on it case by case

  • consider broadly modified problems

    • – construct an analogous problem with fewer variables

    • – hold all but one variable fixed to determine that variable’s impact

    • – try to exploit any related problems which have similar

      • * form

      • * "givens"

      • * conclusions

  • verifying solutions

    • – Does it pass these simple tests?

      • * Does it use all the pertinent data?

      • * Does it conform to reasonable estimates or predictions?

      • * Does it withstand tests of symmetry, dimension analysis, or scaling?

    • – Does it pass these general tests?

      • * Can it be obtained differently?

      • * Can it be substantiated by special cases?

      • * Can it be reduced to known results?

      • * Can it be used to generate something you know?