What are Hero Methods?
Oct 12, 2022 | Jagannath Rajagopal | 5 min read
Advanced computational methods, and I‘ll refer to them as Hero methods from here on, help us solve complex, nonlinear problems. Specifically, the focus is on the 7 of them -
- Machine Learning
- Knowledge Representation
- Search and Planning
- Dealing with Uncertainty
While 6 & 7 are vast fields — Statistics and Computer Science respectively — we are only concerned with those aspects that relate to 1 through 5, like High Performance Computing.
We don’t have the computing resources on our planet to evaluate large complex problems with brute force; i.e. checking every possible value combination of inputs to see if they solve the problem. Using brute force would take years given current limitations in computing power and architecture. For small and medium scale problems, using brute force could work, but it is so inefficient as to make your project non-viable.
Of course, standard processes can be modelled using simple rules. For example, if your goal is to record the number of hours worked each day, a time-tracking app is easy to build using simple rules that translate into engineering requirements for development.
Problems solved using hero methods like Machine Learning, Deep Learning, Soft Computing, Optimization, Simulation, Agent-based Systems and AI are complex in nature and can’t be modelled effectively using simple rules. The number of potential combinations is so high that we simply do not have enough manpower in rule building; that approach just doesn’t scale. In order to leverage any of the strategies above such as ML or AI, we need other ways to abstract the underlying patterns, generalize them so they don’t just apply to a subset, and then simplify them so that they can be of use in solving the problem. And in order to provide value, any method needs to be computable within the bounds of available time and resources and/or captured in a formal way that a computer can interpret.
I’ve created a LOT of resources on Hero Methods. Here’s my course on Design Thinking for Hero Methods. Here’s my YouTube channel with previews of course videos. Here’s my website; navigate through the courses to find free previews & pdfs.
- - -
Standard computing efforts involve/assume worlds that are fairly known, visible, and certain. The design of a time tracking app is highly visible to anyone that uses it; most users of a time tracking app quickly learn and know how time tracking works and can easily switch between apps. There isn’t much uncertainty.
Complex problems on the other hand involve worlds that are partially known, visible and/or certain. In poker, hands are not fully visible to other players. In fintech, there is a lot of uncertainty around why the market moves and not all influencing factors are known up front. This results in large market movements induced by panic, as we saw during the 2020 Coronavirus outbreak. Agriculture on Mars may be harder than we saw on the Martian movie; we lack know-how that arises from experience.
In many problems, it is not always possible to identify the “best” solution. Many methods aim instead to find a “good enough” solution that produces reasonably effective results while still tolerating a little error in the building blocks used. This approach is almost necessary given that complexity of the mathematical building blocks increase with the complexity of the thing they model. After a certain threshold, it becomes unsustainable.
An example: Finite Element Models have been unreasonably effective in mechanical engineering design, improving the safety of critical components in equipment like cars and planes, even though they tolerate a degree of error. It is very similar in principle to how digital images are stored. If you zoom into a picture, ultimately you’ll find that a) it gets blurry and b) the image starts to break up into squares. These squares, aka pixels are normally so tiny that you can assemble many of them together to form very rich and hi-resolution pictures. But they are still an approximation as the things they represent are obviously not made up of squares at the minutest level. We are willing to accept this error because they do the job amazingly well.
Thankfully due to the combined efforts of scientists, universities, R&D teams, labs and others in a large variety of professions and disciplines around the world, we have a rich ecosystem of methods that tolerate error.
Given these wide array of methods, it is almost impossible to mathematically evaluate every single method for a problem due to available computing resources and architectures. This is similar to albeit not as big as applying brute force. It is highly impractical, and time-consuming to do so.
Even though we call it data science, we approach it in ways that seem non-scientific. We do what’s worked before. We interpret things differently than one another. We have preferences and strong opinions, which are sometimes right. Power and pareto laws apply to us; 98% of deep learning models are trained using 2% of available methods. We poke around in the dark, and do things on hunches without having sound scientific reasoning. We are good at reusing and recycling ideas and methods.
Perhaps “data scientists” would be better off called “data artists”. Design Thinking, that is — learning through doing, is at the core of what we do. What is popularly thought of as science involves a great degree of creativity. There is no science without art.
Here is a list of things that usually characterize Hero Problems, or problems solved by Hero Methods -
- Complex, non-linear
- Rules don’t really work
- No brute force
- Too many methods, try what works
- Need to Abstract & Generalize
- Good enough is good enough
- Partially known
- Efficient Computation
- Partly visible
At Kado, we want to get you started on this. Think of our courses like music school. Just like a young, fresh graduate of music school is not yet as well honed as a long-time musician, completing this course will not immediately place you on the same level as someone who has done this for years. The key to mastery for yourself, and our music student, is experience and hands on application.