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,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

      • *


      • *


      • *


  • 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?