Problem solving strategies in a graduate real analysis course (2010)
terrytao.wordpress.com
terrytao.wordpress.com
He also has a very nice post on 'amplification and arbitrage' as tricks for strengthening inequalities.
I think this was also Albert Einstein's strategy. In the version we read in India, Young Einstein's uncle Jacob is supposed to have taught him Algebra in high school by "x is the animal you are hunting for"....finally after tracking the clues you find x and hunt him down.
Here's another version of Jacob - https://www.newscientist.com/letter/mg16922837-800-einsteins...
The most shocking thing is that reading “How To Solve It” and all other “how to get smarter” pop-sci books doesn’t help jack. Only grinding does. Gamers got it right!
The inability to understand intelligence must be the most visible failure of science today.
Something that I believe I have genuinely noticed is that some/many[1] Rationalists have a tendency to apply some sort of "rational" processing to any given idea and then reach their conclusion, but whether the processing that is actually applied (as opposed to what the person perceives themselves to have applied) is substantially different than standard human heuristic processing with post-hoc rationalization[2] (as opposed to rationalism) applied on top of it seems quite questionable to me.
[1] Any hypothesis is true to the degree that it is actually true - everyone is free to have their opinion, but the actual objective state of reality "is what it is".
[2] To what degree is the difference between Rationalist (as opposed to rational) and "normal" thinking & belief formation a function of differences before or after the post-hoc divide?
I suspect their are elements of both: I believe some members of the rationality community do routinely think in a different way to many other people, but I also believe that there is some post hoc rationalisation (as you put it) in the community as well.
* Joost's mental toolbox for coding problems: http://joostdevblog.blogspot.com/2015/07/building-your-menta...
* taw's data processing toolkit: http://t-a-w.blogspot.com/2008/01/pagerank-new-addition-to-y...
* thinkagainer's list of conceptual tools https://twitter.com/thinkagainer/status/1475975339818065920
You can also use it when writing a block of code where you haven't decided what kind of functional abstractions or data structures you want. Write the code you wish you could write. Then fill in the code needed to support that.
"How to solve it" [1] was helpful for me in this regard, but it isn't really condensed like this blog post.
After you finish "how to solve it", you can read the more advanced "Mathematics and Plausible Reasoning" [2]
[1] https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie... [2] https://www.amazon.com/Mathematics-Plausible-Reasoning-Two-V...
You can use the two to figure out what is the time complexity for a solution that would work. This simplifies the search for a solution by quite a bit. Here's a blog post about this idea (going from the input constraint to the possible algorithm): https://www.infoarena.ro/blog/numbers-everyone-should-know
Other than that, understanding a set of frequent data structures and algorithms helps a ton. Here's a short course from stanford on preparing for coding contests http://web.stanford.edu/class/cs97si/
https://malisper.me/an-algorithm-for-passing-programming-int...
of course, it's important (for better or worse) to just grind out a representative sample until you understand most common patterns, e.g: https://seanprashad.com/leetcode-patterns/
This is analogous to how different programming paradigms have specific ways of organizing programs and abstracting details. Likewise, in measure theory one is at liberty to say "let f : N -> Q be an enumeration of the rationals" and carry on, whereas such a statement in algebra would likely need a more explicit construction.
One thing I would suggest is find suggested problems based on a university course. Since some consecutive problems can be similar, you don't get as good of ROI as you would spending time on a smaller and more diverse selection.
Not that I'm a real mathematician but I think I can add one more.
Roughly, Suppose you have a group of axioms and you want to show that a minimal set/system satisfying those axioms exists. Define your objects as the object that exist according to the axioms plus every application of an operation specified by the axioms. Then show the set itself is closed under those operations. The sort of approach used to define the real numbers, for Godel's Constructible Universe [1], the Löwenheim–Skolem theorem [2] and a variety of other places.
[1] https://en.wikipedia.org/wiki/Constructible_universe [2] https://en.wikipedia.org/wiki/L%C3%B6wenheim%E2%80%93Skolem_...