# Heuristic Approach

In the complexity of the world we live in today I was recalling my early engineering days and the comparisons I used to make between engineering and science.  In science we strive to figure out why things work the way they do and in engineering we strive to make things work.  For example way back somebody discovered that a transistor would do things that tubes would do at low voltages.  Some inventive people then figured how to put them together into circuits.  At that time in the early 60’s we had no idea why they did what they did but we were able to apply the tool to solve problems.  That is engineering.

I think that is what a heuristic approach means.  We learn by experience not by theoretical approaches.  In the world of computing and more specifically data manipulations, I always stand in awe at what we humans are able to accomplish in a world we do not understand.  I was just reviewing some theoretical work to explain complex dynamics systems like in the Internet.  I conclude we really do not have a clue how it all works together but it does and we use it.

I am thinking of another approach to this idea.  In a course I took eons ago on the philosophy of science, I learned that a scientific theory is only "good" if it is simple.  Apparently Einstein had his theory of relativity for many years before he found mathematics simple enough to model it.   If Newton tried to exactly express the laws of motion to fit the data he would have had a very complex statistical model, but he chose some very simple equations, Force = Mass times Acceleration.  Ingenious but really only approximately fits the data.

So in a world which we do not understand, we develop relatively simple mental models so that we can make decision.  I still marvel at the fact that programs I wrote in the early 70’s are still churning away controlling nuclear power stations and control systems I worked on for communication satellite stations are still tracking communication satellites.  How good is that.

In the world of data warehousing these systems we create faithfully repeat the tasks we program for as long as the work is useful.  How it all happens is beyond my pea brains, but I know it works.  I suspect most of us only see parts of this great system and just proceed to produce useful systems that work and are helpful.

1. P B Ahmed Mohideen

Very practical explanation on the heuristic approach. I am also trying to apply this in the breakdown maintenance studies and also trying to link it with the lean maintenance also. It has been a very useful explanation to people like me.
Regards,
P B Ahmed Mohideen

2. Chris MacInnis

Hi Uncle Jim,
I very much enjoyed your commentary above in regards to the heuristic approach. More specifically, some of the ideas you mentioned related to science and engineering, and the approach to problem solving is something I’m currently trying to get across to some regional counterparts who don’t have this vision. My issue is consistency in the approach to collecting water quality data. My regional counterparts don’t seem to understand the neccessity for a consistent approach to water quality sampling methods, especially when it comes down to data comparison. Anyway, parts of your commentary are very much apart of how I approach engineering, and I wish more people understood some of these basic philosophies.
Regards,
Nephew Chris

3. Jim

I looked up heuristics in Wikipedia. I found an interesting note on heuristics in computer science. I loved the metaphor using packing the trunk of your car. I would add that it is a solution if you get everything in the car.
“Two fundamental goals in computer science are finding algorithms with provably good run times and with provably good or optimal solution quality. A heuristic is an algorithm that gives up one or both of these goals; for example, it usually finds pretty good solutions, but there is no proof the solutions could not get arbitrarily bad; or it usually runs reasonably quickly, but there is no argument that this will always be the case.
For instance, say you are packing odd-shaped items into the trunk of your car. Finding a perfect packing is a hard problem – there is essentially no way to do it without trying every possible way of packing them. What most people do, then, is “put the largest items in first, then fit the smaller items into the spaces left around them.” This will not necessarily give you a perfect packing, but it will usually give a packing that is pretty good. It’s an example of a heuristic solution.
Often, one can find specially crafted problem instances where the heuristic will in fact produce very bad results or run very slowly; however, these instances might never occur in practice because of their special structure. Therefore, the use of heuristics is very common in real world implementations. For many practical problems, a heuristic algorithm may be the only way to get good solutions in a reasonable amount of time.
There is a class of general heuristic strategies called metaheuristics, which often use randomized search for example. They can be applied to a wide range of problems, but good performance is never guaranteed.” see
http://en.wikipedia.org/wiki/Heuristic_%28computer_science%29

4. Russell Cole

You seem to have touched upon the meaning of heuristics in this short essay, but gloss over its more essential aspects. Heuristics is not a type of pragmaticism, per ce, as you seem to suggest by equating it with knowledge that is applicable in worldly situations, due to it being accessible and meaninful; as oppose to archain and difficult to intellectually penetrate. Rather, heuristics is the art of constructing though experience modes by which one attempts to come to understandings – even the ones you suggest putting aside – so the emphasis is not placed on the extent or the reason why the knowledge you seek is ultimated selected. Heuristics is the art of becommining a better learner so you can accomplish the things you find valuable and worthwhile, not a selectivity caculus determining what those worthy pursuits are. I apologize for not taking further time to elaborate, but I often enjoy interacting with engineers who are open mined enough to question the epistemeologies of their professions, and I find that such dialectics supplies me with more worldly, concrete understandings of knowledge construction, and, on occassion, supplies my interlocutor with more background into the philosophy he or she has begun to reach out for in order to enlarge the significance of their work.
Thanks
Russell Cole