One of the best ways to simplify a problem is to control the changing variables. While it is not always possible to operate on a single variable, we can use binary search to decrease the number of variables when there are lots of them. There are also cases where we can no longer reduce the number of variables at hand.

In case we can not reduce the number of variables, we can further take different actions to reduce the complexity of the problem at hand.

## Do Not Assume

First and foremost, it is important not to make any assumption on the variables of the problem. There will be cases where you think it is impossible to see that kind of error. But, I assure you there will be errors in these situations. As Murphy’s law states anything that can fail, will inevitable fail.

“Anything that can go wrong will go wrong.”

Murphy’s law

## Take Smallest Step

Taking the smallest step is not always obvious. Therefore, be creaful when taking any action in a chaotic situation.

While in known situations, it is possible to make easy to falsifiable assumptions, in chaotic situations, it is hard to test any inevitable assumption you had to make.

You may not even have time to test the assumption you made before you forgot you made them. Especially in some situations, we found ourselves using an assumption we made long ago even without realizing because of our habits.

Therefore, it is important to make conscious effort to take the smallest step when encountered with chaotic situations with hard to solves problems.