What do making kimchi stew and algorithms have in common?

In this blog post, we explore the similarities between making kimchi stew and algorithms from the perspective of clear and efficient problem-solving.

 

How to make kimchi stew? An algorithm!

How do you make kimchi stew?
1. Add water to a pot and bring it to a boil.
2. Add an appropriate amount of properly prepared kimchi and boil.
3. Once cooked, adjust the seasoning and finish.
If explained this way, most people would be baffled and raise a question mark. But strictly speaking, you can’t say the above explanation isn’t how to make kimchi stew. It’s just very ambiguous, not entirely wrong. This explanation captures part of the problem-solving process. We call the method of systematically explaining this problem-solving process an ‘algorithm’.

 

What is an algorithm?

An algorithm refers to a step-by-step procedure or method for solving a problem. The kimchi stew cooking method mentioned above is also a type of algorithm. However, it cannot be called a ‘well-designed algorithm’. A well-designed algorithm refers to a procedure that includes a clear, efficient, and universally applicable logical explanation.

 

Clarity of Algorithms

An algorithm is clear when it is unambiguous and unconfusing for the reader to understand. For example, the term ‘appropriate amount’ mentioned above is highly ambiguous. Since each person may interpret ‘appropriate amount’ differently, this is not a clear explanation. To create a clear algorithm, it must be made concrete.
Let’s express the method for making kimchi stew a bit more clearly.
1. Add 500–550ml of water (at 4°C) to a pot and bring to a boil.
2. Cut the kimchi into squares or rhombuses approximately 3cm per side, then add 40g of kimchi per 100g of water and boil.
3. Once the kimchi is cooked, adjust the seasoning and finish.
In this way, using specific numerical values instead of vague expressions like “a suitable amount” enhances the algorithm’s clarity. Here, ‘clarity’ is essential. To ensure the process of making kimchi stew isn’t interpreted differently by each person, clear standards and steps must be provided to achieve consistent results.

 

Algorithm Efficiency

An algorithm must not only be clear but also efficient. That is, minimizing the time and resources required to solve a problem is crucial. Especially in computer science, when input size is very large, processing time can vary significantly depending on an algorithm’s efficiency.
For example, the specifics of the algorithm might not make a big difference when making one bowl of kimchi stew, but the story changes when hundreds of bowls need to be made. This is because the total cooking time varies greatly depending on what constitutes ‘proper preparation’ and how long that preparation takes.

 

Algorithms and Daily Life

In computer science, algorithms are used to solve various problems in our lives. A prime example is the algorithm that finds the shortest route in a car navigation system. It must quickly determine the optimal path by considering multiple variables like real-time traffic conditions, accidents, and average speeds. Solving such problems requires highly efficient and clear algorithms.
Algorithms are applied in numerous unexpected areas of daily life. For instance, internet search engines use algorithms to quickly and accurately find desired information within vast amounts of data. Algorithms also play a crucial role in sorting large datasets or filtering them based on specific criteria. The purpose of an algorithm is to solve problems quickly and accurately.

 

Real-world Applications of Algorithms

In reality, algorithms extend far beyond mere academic concepts. We utilize algorithms in many cooking recipes and everyday problem-solving processes. Just as boiling kimchi stew requires precisely following the right ingredient ratios, cooking times, and sequence to achieve the ideal flavor, algorithms exist to provide optimal solutions across diverse problem scenarios.
We often unconsciously follow algorithms not only in computer science but also in many aspects of daily life. We solve problems through defined procedures and steps, and in the process, we continuously refine the algorithms based on experience.

 

About the author

Writer

I'm a "Cat Detective" I help reunite lost cats with their families.
I recharge over a cup of café latte, enjoy walking and traveling, and expand my thoughts through writing. By observing the world closely and following my intellectual curiosity as a blog writer, I hope my words can offer help and comfort to others.