“If there is a problem you can’t solve, then there is an easier problem you can solve: find it.” [George Pólya]
Abstract
Anyone who wants to solve problems in a structured way should first read ``How to Solve It’’ by George Pólya.
Although Pólya primarily focused on mathematical problems, his techniques can be applied in general.
Pólya’s Principles
In his book, Pólya distinguishes four simple phases of problem-solving.
We will explain these phases using an example:
Example:
Convert a decimal number to its binary representation using Microsoft Excel.
1. Principle - Understand the Problem
First, we need to understand the problem: read and rephrase, visualize.
- What is the unknown, what is the target?
- Can we rephrase the problem with our own words?
- What is the condition?
- Is the condition sufficient to determine the unknown?
Example:
Given is an arbitrary decimal number. What is sought is its binary representation. This condition is unfortunately not sufficient to determine the unknown in general.
This is partly due to Excel’s limitations:
- Excel can only represent decimal numbers with a precision of 15 digits.
- The smallest negative representable decimal number in Excel is -2.2251E-308.
- The smallest positive representable decimal number in Excel is 2.2251E-308.
- The largest negative representable decimal number in Excel is -9.99999999999999E+307.
- The largest positive representable decimal number in Excel is 9.99999999999999E+307.
We can extend these limits significantly by representing decimal and binary numbers as strings. Excel’s limit here is 32767 characters per cell. While this still doesn’t allow for a general solution, it should suffice for all practically occurring numbers.
On the other hand, we also encounter a representation problem: Negative numbers are typically represented in binary as two’s complement, where the leading digit corresponds to the sign (0 = positive, 1 = negative). With variable-length decimals, we cannot compute a two’s complement. Therefore, we must use a fixed-point representation or limit the binary conversion for decimal numbers to positive numbers. The good news is: We could introduce an additional sign (’+’ and ‘-’) for decimal numbers, thus lifting the limitation.
2. Principle - Devise a Plan
Next step is devising a plan: Remember and repeat solution approaches and definitions.
- For which similar problems do we know solutions?
- Can we divide the problem in smaller parts?
- Which dimensions stay unchanged?
- Are the dimension units correct?
- We always go from unknown to the solution.
Example:
Excel has a built-in function DECTOBIN but this function is limited to integers from -512 to +511 and decimal digits will be ignored.
So we need to implement the conversion of decimal numbers represented by string on our own. These user-defined-functions are of help:
- sbBinNeg - Calculate the two’s complement of a binary number.
- sbDivBy2 - Divide a positive decimal number by 2.
- sbDecAdd - Add two positive decimal numbers.
3. Principle - Carry out the Plan
Now we carry out our plan.
We check each step thoroughly.
Can we prove that each step is correct?
Is the description of our solution comprehensive?
Which important insights did we gather?
Example:
See the implementation: sbDec2Bin.
4. Principle - Look Back
Finally we need to examine our solution obtained.
- Can we check the result? Can we check the argument?
- Can we derive the solution differently? Can we see it at a glance?
- Can we use the result, or the method, for some other problem?
Example:
We notice that we cannot avoid inaccuracies. We cannot implement periodical representations in the binary system (the decimal number 0.1 has no finite binary representation, for example). And we are facing necessary cut-offs of decimal places because of limited numbers of digits.
Note: The IEEE Standard 754 was introduced to deal with such inaccuracies. But we cannot avoid them completely.
Literature
Schoenfeld, Alan (21-Mar-2020). Solving the Problem of Powerful Instruction.
(External Link!) https://www.nottingham.ac.uk/education/documents/news-events/problem-solving-polya.pdf
Michigan State University (8-Jan-2018). G. Polya and “How to Solve It!”.
(External Link!) https://people.nscl.msu.edu/~hergert/phy820/material/pdfs/problem_solving.pdf
Download
Please read my Disclaimer.
This article as PDF document:
Plumhoff_How_to_Solve_It_by_Polya.pdf [89 KB PDF file, open and use at your own risk]