Introduction
The theme of the book is to teach people methods of solutions in mathematics. It is more on the side of experimental than rigorous/deductive science. Therefore, we can think of it as “problem solving” techniques that works across many fields but just illustrated on mathematical problems. As a side note, all the questions and suggestions in the list are for the “problems to solve” NOT “problems to prove”.
Problems that are difficult enough to your level (15-20% harder than your current level) will trigger your curiosity and creates enjoyable tension while trying to find a solution. It creates a taste for mental work that would never go away and may affect your personality if those experiences come at a young age. Such problems will also establish independent thinking and leads to actual learning.
- Routine operations of solving problems will do the opposite and kill the curiosity
- It is key to have the right perspective before approaching any subject especially hard ones such as mathematics even if they are not your main subjects. This will help u get the most out of it and build mental models around main themes that will serve you in your career and build toughness and resiliency that nothing is difficult if you put in the hours
When presented by any solution (book, paper, …), don’t just take in the facts and procedures as is from the author(s). You need to ask questions to help you invent and discover things on your own. Helpful questions can be:
- How did he come up with this solution?
- Why is he using this procedure?
- Can we solve it with another procedures?
- What each step mean for the solution?
- Is this related to other problems I know?
- Can we solve it from different angles?
- etc.
Learning is ACTIVE. Learning and understanding something means you must be able to do it and carry on all the necessary steps to arrive at the conclusion. It also means that you can explain it to others who have no background about the subject -> Watching or listening mathematics (or any other subject) is not learning. Learning mathematics means doing mathematics.
Part I
Purpose
The student should have his own share of independent work. This can be done if the problem’s difficulty is tailored to his level of expertise. This would motivate the student’s curiosity and sense of making progress with the tension that shows that it’s right above his level. If the problem is too difficult -> No progress and student will be frustrated and would turn away from the subject. Finally, we need to consider student’s perspective and what might have occurred to him by asking questions and provide enough information to make progress.
The list of questions and suggestions correspond to mental operations when solving a problem. They are general in the sense that they can be applied anywhere. They are natural and kinda common sense when you reflect on them; most people who are very serious about solving a problem would do them anyway without noticing. We just formalize them here. Finally, we should always start with general questions/suggestions and keep narrowing them down until we find some ideas to solve the problem
With more practice and repetition, students would start to notice which ones are used under which scenarios and will have them drilled in the brain that will become natural when confronted with problems of any kind. This is especially true with imitation and practicing. The more they see how others solve problems and practice their techniques the better they get at it. Everything in life starts with observing and imitating until you master it. After that you would be equipped with tools to create new things.
Main Devisions, Main Questions
Understanding the problem
We must be able to verbally and precisely understand the problem. What is required? What are we solving for? The last thing we want is to solve something we don’t quite understand because this would lead to solving for the wrong thing. We also must understand the condition and the data (parts). This may mean we should have a background about the problem domain and the meaning of the data/objects and how they link with the unknown using the conditions. It might be useful to draw a figure that links the data and the unknown, as well as introduce some notations for some objects.
Term definition:
- Unknown is what we are trying to solve for
- data is the input given
- condition is the constraints and assumptions given (can be implicit sometimes)
- ML analogy:
- Unknown can be something like predicting if the customer would default
- Data is dataset given
- condition is the objective function, regularization, sum of prob = 1, IID, etc.
Where you should start? Start from the problem statement and try to understand it verbally and precisely
What can I do? Visualize the problem and familiarize yourself with its terms. Focus on the principal parts: unknown, data, and condition. Forget about other details. Try to see at each part separately, in turn, one after another, different combinations. Try to think of similar situations, similar unknowns, similar conditions, similar data. Look at the problem from different sides, as a whole, or on parts separately.
What can I gain by doing so? This will help trigger your memory for previous experiences and knowledge that would help you get started
Devising the plan
In order to have good ideas, we must have some knowledge about the domain AND related experiences and facts that we can recall that are similar to the problem. In other word, we must be able to remember the mathematical knowledge and theorems/problem solved before and their connection to the problem at hand. Therefore, we ask: Have we solved problems with the same or similar unknown before? Can we solve related problem? Can we restate the problem? Can we solve special version of the problem? Can we solve general version of the problem? Can we use analogy? Is there an easier problem to solve that helps with this problem? Can we relax the condition? Can we add more data?
Carrying out the plan
We must be patient carrying out the plan we devised earlier. Each step must be checked for correctness either “intuitively” or “formally” -> Can we check if the step is correct using our insights? Can we prove that it is correct?
Always start from the idea that led to the solution. Focus on major steps before smaller ones. Make sure they are correct either intuitively or through formal reasoning.
Looking back
I believe this is the most important phase. This is where we internalize the ideas, arguments, and procedures used to solve the problem. We try to see if there is any errors in the arguments or the results. We can see if we can solve it differently. We can see if we can intuitively digest the results from a more abstract way. We must also connect it with other problems we solved before as well as with other domains. Can we use the argument, the method, or the result somewhere else? Where would that be useful?
This is how we create mental models, connect concepts and techniques to our reservoir of knowledge, and add more tools to our toolbox.
Can we check the results? It is easier for numerical problems.
Did we use all the data?
- Is the problem symmetric with data inputs? I.e. can we swap inputs, scale/translate them, mirror//flip them, and the statement doesn’t change?
- Is the problem analogous to other problems?
- Can we use variation of the data and see if the solution holds such as additive and multiplicative changes to one or more of the data points?
- Can we test what would happen at the limits?
Once done, check the solution from different sides. Try to make it simpler, more intuitive. Can you derive it differently? Is there any facts/procedures I can extract for future problems. Add what you learned to your knowledge. Know the limitations of your approach. You basically need to scrutinize the method, the result, and the solution before adding it to your knowledge reservoir.
Heuristics
Analogy
Most people use “similar” and “analogous” to mean the same thing. However, there is sharp differences especially when used in problem solving and mathematics/logical reasoning.
Similarity: Captures surface-level similarity and correspondence between some aspects of objects. Example, two cars can be similar in shape, how they drive, category, etc.
Analogy: Captures correspondence between parts and relation of these parts in two objects. Therefore, it is about structure (roles + relations) of objects.
As similarity, analogy can have varying degrees from weak, moderate, or strong.
It is extremely useful in problem solving and generating ideas as it would let us use methods, results, or both when solving new problem based on previously solved analogous problem.
- The analogy can be in data only (same features), condition only (same objective function such as logloss), unknown only (same output such as binary classification), or any combination of them. The more the stronger the analogy and the easier to adopt it to the current problem
Framework
Understanding The Problem
- What is the unknown? What is the data? What is the condition?
- Is it possible to satisfy the condition? Is the condition sufficient to solve the problem? Is it insufficient? Is it redundant? Is it contradictory?
- Draw a figure. Introduce suitable notation.
- Separate the various parts of the condition? Can you write them down?
Devising A Plan
Carrying Out The Plan
Looking Back
Questions
- Can we think of the data as “input”?
- Dig deeper on analogy and symmetry for logical reasoning
Resources
- Induction and Analogy in Mathematics
- Patterns of Plausible Inference
- Mathematics and Plausible Reasoning
- Mathematical Discovery