Tivadar Danka Profile picture
Jun 26 18 tweets 5 min read Read on X
Problem-solving is at least 50% of every job in tech and science.

Mastering problem-solving will make your technical skill level shoot up like a hockey stick. Yet, we are rarely taught how to do so.

Here are my favorite techniques that'll loosen even the most complex knots: Image
0. Is the problem solved yet?

The simplest way to solve a problem is to look for the solution elsewhere. This is not cheating; this is pragmatism. (Except if it is a practice problem. Then, it is cheating.)
When your objective is to move fast, this should be the first thing you attempt.

This is the reason why Stack Overflow (and its likes) are the best friends of every programmer.
1. Is there an analogous problem?

If A is analogous to B, and A plays a role in your problem, swapping them might reveal an insight into your problem.

An example: circles and spheres are analogous, as they are the same objects in different dimensions. Image
Thus, if you are facing a geometric problem that involves spheres, bumping it down a dimension can highlight a simpler solution that can be mapped to the source problem.
Quoting Stefan Banach (the inventor of functional analysis), "A mathematician is a person who can find analogies between theorems; a better mathematician is one who can see analogies between proofs and the best mathematician can notice analogies between theories."
2. Wishful thinking.

Sometimes, the best thing to do is pretend the solution exists and move forward.

I’ll illustrate this with a mathematical example. Let’s talk about the Singular Value Decomposition (SVD).
This famous result states that every real matrix A can be decomposed into a product of an

1. orthogonal matrix U (that is, UUᵀ is the identity matrix),
2. a diagonal matrix Σ,
3. and another orthogonal matrix Vᵀ.

We find them via wishful thinking: we pretend that they exist. Image
If they do, then AAᵀ, which is a real symmetric matrix, equals to AAᵀ = UΣ²Uᵀ. This U can be found via the spectral decomposition theorem! We can find V similarly.

We found U and V by pretending they exist. Image
3. Can you solve a special case?

Reducing the problem to a special case is also an extremely powerful technique. The previously shown SVD was solved by reducing the general case to the real symmetric case. Image
4. Is this a special case of a general problem?

This is the counterpart of the previous case and can be similarly powerful.

For instance, consider this geometric shape. Is there a vertical cut that cuts this into two parts of equal area? Image
Our first instinct is to start calculating its area up to a cutoff, but this is extremely complicated.

All we have to notice is that the area given the position of the vertical slice is a continuous function. Image
As f(0) = 0, f(1) = area, and f is continuous, it has to cross area/2.

This is a general result, and our problem is a special case of this. It doesn’t matter what f is exactly.

Much simpler than solving equations involving inverse trigonometric functions. Image
(By the way, here is the vertical cut that splits the object into equal-sized parts.) Image
5. Can you draw a picture?

Our thinking is more visual than formal, and solving problems is much easier visually too.

The simplest example is probably the De Morgan identities: they are trivial to see visually, but more difficult to prove formally. Image
6. Is there a simpler approach?

Our first ideas are often vastly overcomplicated, taking us down a rabbit hole we don't need to go.

For example, I have posted a simple puzzle a few years ago about poles and cables. Here it is: Image
The first idea is to use catenary curves and calculus, but there is a simple solution: as the cables hang 10 m above ground, they drop 40 m from the top of the pole. Hence, the distance between the two poles must be 0 m.

Simplifying our approach is always beneficial.
If you liked this thread, you will love The Palindrome, my weekly newsletter on Mathematics and Machine Learning.

Join 18000+ curious readers here: thepalindrome.org

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tivadar Danka

Tivadar Danka Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @TivadarDanka

Jun 25
What you see below is one of the most beautiful formulas in mathematics.

A single equation, establishing a relation between 𝑒, π, the imaginary number, and 1. It is mind-blowing.

This is what's behind the sorcery: Image
First, let's go back to square one: differentiation.

The derivative of a function at a given point describes the slope of its tangent plane. Image
By definition, the derivative is the limit of difference quotients: slopes of line segments that get closer and closer to the tangent.

These quantities are called "difference quotients". Image
Read 20 tweets
Jun 24
"Probability is the logic of science."

There is a deep truth behind this conventional wisdom: probability is the mathematical extension of logic, augmenting our reasoning toolkit with the concept of uncertainty.

In-depth exploration of probabilistic thinking incoming. Image
Our journey ahead has three stops:

1. an introduction to mathematical logic,
2. a touch of elementary set theory,
3. and finally, understanding probabilistic thinking.

First things first: mathematical logic.
In logic, we work with propositions.

A proposition is a statement that is either true or false, like

• "it's raining outside",
• "the sidewalk is wet".

These are often abbreviated as variables, such as A = "it's raining outside".
Read 29 tweets
Jun 23
Understanding graph theory will seriously enhance your engineering skills; you must absolutely be familiar with them.

Here's a graph theory quickstart, in collaboration with @alepiad.

Read on: Image
What do the internet, your brain, the entire list of people you’ve ever met, and the city you live in have in common?

These are all radically different concepts, but they share a common trait.

They are all networks that establish relationships between objects. Image
As distinct as these things seem to be, they share common properties.

For example, the meaning of “distance” is different for

• Social networks
• Physical networks
• Information networks

But in all cases, there is a sense in which some objects are “close” or “far”. Image
Read 15 tweets
Jun 22
In machine learning, we take gradient descent for granted.

We rarely question why it works.

What's usually told is the mountain-climbing analogue: to find the valley, step towards the steepest descent.

But why does this work so well? Read on. Image
Our journey is leading through

• differentiation, as the rate of change,
• the basics of differential equations,
• and equilibrium states.

Buckle up! Deep dive into the beautiful world of dynamical systems incoming. (Full post link at the end.)
First, let's talk about derivatives and their mechanical interpretation!

Suppose that the position of an object at time t is given by the function x(t), and for simplicity, assume that it is moving along a straight line — as the distance-time plot illustrates below. Image
Read 27 tweets
Jun 21
Matrix factorizations are the pinnacle results of linear algebra.

From theory to applications, they are behind many theorems, algorithms, and methods. However, it is easy to get lost in the vast jungle of decompositions.

This is how to make sense of them. Image
We are going to study three matrix factorizations:

1. the LU decomposition,
2. the QR decomposition,
3. and the Singular Value Decomposition (SVD).

First, we'll take a look at LU.
1. The LU decomposition.

Let's start at the very beginning: linear equation systems.

Linear equations are surprisingly effective in modeling real-life phenomena: economic processes, biochemical systems, etc. Image
Read 19 tweets
Jun 20
Matrix multiplication is not easy to understand.

Even looking at the definition used to make me sweat, let alone trying to comprehend the pattern. Yet, there is a stunningly simple explanation behind it.

Let's pull back the curtain! Image
First, the raw definition.

This is how the product of A and B is given. Not the easiest (or most pleasant) to look at.

We are going to unwrap this. Image
Here is a quick visualization before the technical details.

The element in the i-th row and j-th column of AB is the dot product of A's i-th row and B's j-th column. Image
Read 17 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(