What Do Cooking Kimchi Stew and Algorithms Have in Common?

In this blog post, I’ll explore the similarities between cooking kimchi stew and algorithms from the perspective of clear and efficient problem-solving.

 

How to Make Kimchi Stew? It’s an Algorithm!

How do you make kimchi stew?
1. Pour water into a pot and bring it to a boil.
2. Add an appropriate amount of properly prepared kimchi and let it simmer.
3. Once cooked, adjust the seasoning and finish it off.
If explained this way, most people would be baffled and raise an eyebrow. But strictly speaking, we can’t say the above explanation isn’t a method for making kimchi stew. It’s just that while there are many vague points, it isn’t entirely wrong. This explanation actually captures a part of the problem-solving process. We call the method of systematically explaining the 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 example of making kimchi stew 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 logical explanation applicable to all situations.

 

Clarity of Algorithms

When an algorithm is clear, it means there is no confusion or ambiguity for the reader to understand it. For example, the phrase “an appropriate amount” mentioned above is very ambiguous. Since people may interpret “an appropriate amount” differently, this is not a clear explanation. To create a clear algorithm, it must be made more specific.
Let’s express the method for making kimchi stew a little more clearly.
1. Add 500–550 ml of water (at 4°C) to a pot and bring it to a boil.
2. Cut the kimchi into squares or rectangles with sides approximately 3 cm long, then add 40 g of kimchi per 100 g of water and bring to a boil.
3. Once the kimchi is cooked, adjust the seasoning and finish the dish.
As shown here, using specific numerical values instead of vague terms like “an appropriate amount” can improve the clarity of an algorithm. “Clarity” is essential here. To ensure that the process of making kimchi stew isn’t interpreted differently by each person, clear standards and steps must be provided in order to achieve consistent results.

 

Algorithm Efficiency

An algorithm must not only be clear but also efficient. In other words, it is important to minimize the time and resources required to solve a problem. In computer science, in particular, when the size of the input is very large, processing time can vary significantly depending on the algorithm’s efficiency.
For example, while the details of the algorithm may not make a big difference when making a single bowl of kimchi stew, the situation is different when you need to make hundreds of bowls. 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 daily lives. A prime example is the algorithm that finds the shortest route in a car navigation system. It must quickly determine the shortest route by considering various variables, such as real-time traffic conditions, accidents, and average speeds. Solving such problems requires a highly efficient and well-defined algorithm.
Algorithms are applied in various unexpected areas of our daily lives. For example, internet search engines use algorithms to quickly and accurately find the desired information from a vast amount of data. Algorithms also play a crucial role in sorting large-scale data or filtering it according to specific criteria. The purpose of an algorithm is to solve problems quickly and accurately.

 

Real-World Applications of Algorithms

In the real world, algorithms are not merely academic concepts. We utilize algorithms in many cooking recipes and in the process of solving everyday problems. Just as cooking kimchi stew requires precisely following the correct ingredient ratios, cooking times, and sequence to achieve the ideal flavor, algorithms exist to provide optimal solutions in various problem situations.
Not only in computer science but also in many aspects of daily life, we often follow algorithms unconsciously. We solve problems by following set procedures and steps, and in the process, we refine those algorithms based on our experience.

 

About the author

Tra My

I’m a pretty simple person, but I love savoring life’s little pleasures. I enjoy taking care of myself so I can always feel confident and look my best in my own way. I’m passionate about traveling, exploring new places, and capturing memorable moments. And of course, I can’t resist delicious food—eating is a serious pleasure of mine.