Yes, I know, the title looks incredibly unbelievable… how can you use the same methodology to improve any kind of system?
Well… As incredible as it seems, it is perfectly true.
The name of this methodology is called the “Trial and Error” Method.
This is something than I learned maybe when I was 10 years old, but no other method has been as efficient in all my life to improve any kind of system!
And when I say system, I am talking in the most wide sense of the word… the human being can be considered as a system too!
Why am I talking about that here on this blog about FEA?
Several reasons:
- I like to go back to the basics… when something doesn’t work, just wipe the board and start over.
- I was thinking back on all the stuff I learned and did over the years and I realized that learning about the trial and error method was probably one of the earliest step that allowed me to view what I do not as static, but as a dynamic process, changing and improving all the time.
- This methods works to improve your FEA model as well ;-)
- If this can help you who are reading those lines… why not share those thoughts after all?
Let’s start from the beginning shall we?
What is the Trial and Error Method?
The concept is extremely simple:
- When you do something for the first time (or the second, or the third), it is never bound to be good… you will get something bad/wrong/low quality
- Then, what you have to do is to look at this “Error”, this “Bad Result”, learn from it and improve it until you get a better result.
The principle is simple and commonsense, but there are several fine prints to understand here in order to get that working:
First, you need to know what you are doing and what you want to get at the end:
You need to have some kind of criteria or metric to assess the final result!
You need also to have a basic methodology to reach the kind of goal you want and build the system (otherwise you might as well launch some rock to the moon with your arm and hope you will become strong enough one day to reach it)
So, here’s what you need:
- An idea of the kind of result you want to produce
- A simple system which generates a result not too far away from the goal.
- Some way to evaluate the result
When you have all of that, you are ready to start trying ;-)
Build a simple system, get a result, evaluate the result, change a parameter of your system, evaluate the result… is it closer or further from your goal?
Here’s an example
I am taking willingly an example of an engineering system, because that’s what engineer do… they build mechanical/electric/electronic/information/… systems
Say, you want to design an ultrasonic piezoelectric transducer
1- What’s this system doing?
It’s a sensor which sends acoustic waves and use the speed of those waves in the air to measure the distance to an object.
Think about the sensor at the back of your car which measures the distance to the wall when you are trying to park for example.
2- What’s the goal of this system?
It should for example measure the distance to a target accurately, it must also be able to detect the target in a certain field of vision large enough… it must also be economical and safe… there are many potential metrics that you can choose, so you have to choose wisely the best one for you to start!
3- What the most basic system that can be used as an ultrasonic sensor?
That’s where you need a bit of knowledge of engineering and do some research, right… but as you are here reading, let me tell you that you can start with a PZT Disc for example.
A PZT disc is a disc built into a certain type of piezoelectric material…. which means that it vibrates and generate waves when a dynamic electrical signal is applied to it.
4- Building the system and testing
Now that we have the basic system, we can build up a prototype, make some measurements and calculate the results we want to get out of it
5- Look at the error, learn and improve
Ok, now we got a prototype, we got some results (which are most probably far from what we expect)… What’s the next step?
That’s where you need to be open about the mistakes you did when you built this system… what’s not working as well as you thought? What could be improve? List up ideas and generate more ideas of designs.
Also… FEA Simulation is also a wonderful way to get quickly an optimized design without even building a prototype! ;-)
6- Repeat the process
The Trial and Error process is a loop… it repeats until you reach the results you want to get!
Does it always work?
If you read up to here and if you are about as mischevious as me, you are probably thinking:
Ok, but what if want to become superman and start flying right now? Can I use trial and error methodology?
I have 2 answers for that:
- You must be realistic with your goal. The leap between what you have and what you want to get shouldn’t be too large.
- How do you think engineers invented planes?
So, if you goal is too high, break your goal down into something smaller… a set of millstones for example.
The wright brothers started by taking a bicycle and fixing wings to it to try to “jump” with it higher and higher.
How about “Human systems”?
What we study in engineering is systems built with raw materials.
We can do whatever we want with a car, because it is built from the ground up with materials and parts that we know and which do not “think”.
In one sense, this is why learning to program a computer is infinitely easier than trying to teach someone else… the computer always follow the instructions and do what you tell him to do.
When there is a human factor, there is randomness, inertia and entropy to consider… we just do not control the system… even if this system is ourselves!
How to use “Trial and Error” to learn better and faster?
If you read my blog for some time, you know probably how much I am fascinated with learning new things…
Over the years, I have mastered many skills besides engineering including learning several weird Asian languages (Chinese, Korean, Japanese…), Writing, Teaching, Presenting stuff, etc…
I have learned many of those skills over the years using this simple “Trial and Error” methodology.
Just read this post on Quora were I detailed how I learn languages:
What is the best process for learning a new language?
The most difficult with using the trial-error method on yourself is that you have to keep in control of your emotions and always stay honest about your results…. which is difficult because of the Dunning-Kruger effect.
Or simply said, we do not know what we do not know and we tend to think that what we do not know is only a small portion of what we know… when most of the time, we know only just THAT much ;-) (Think deeply about this, it’s more profound that it seems)
We also tend to blame others for our own mistakes… blame and you won’t learn.
Follow me into the rabbit hole:
Want to take the blue pill and continue to learn on that topic, then here are a few article I wrote on another blog that will probably interest you:
- You can do anything, if you know how
- Quality VS Speed: what is better?
- Learning theory VS trial-error approach
After you read all that, let me know what you think!
Just leave a comment on this blog post, I read everyone of them ;-)
Cyprien “Trying hard to get you my best thinking” Rusu ;- )
Jake Zwart says
When I try to figure something out, the two best skills are observation, and contact someone that knows more than I.
You mentioned measurements, so that you know what is currently happening. Then if you know the physics behind the measured results, you can more intelligently make changes.
If I am doing a car repair, I will go to the repair manual, or a mechanic, on the principle that the designer knows more than I.
For humans, this is equally valid. If I am wondering about people or the human race or the big questions like where did I come from, where am I going and how to I get there, there is no better way than finding out what the designer has revealed.
Sankar says
Hello Cyprien,
This is a great article on improving any systems using Trial and Error approach. Personally I think this is how we live from birth to death.
While starting to learn a bicycle you do not go to a class or learn lectures online. You just take your bicycle and go to street and start pedaling it. Of course you will fall several times and get injured but finally hurrah you learnt how to ride a bicycle in no time. This is just a method of Trail and error approach. We keep doing this in all our activities even if we fail to acknowledge this.
Now coming to the question on how to improve any system using Trial and Error approach and your answer was too good. I would like to add my own view of this with respect to FEA system.
When there is a CAE system and you would like to improve its design, you do something called as Optimization where you would have a lot of design points (which are nothing but the variants of the Design which you would like to evaluate) and your goal or aim (what you are trying to improve) and constraints (Some limitations or boundaries that you cannot cross).
So with all these in hand you would start by modelling your design and doing some FE analysis on the initial design using a FEA software. Then you run the multiple design points. Say if you have a lot of variants of the design it might take a pretty good time to solve all those design points and come up with your solution on the optimized design. The optimized design is the one which has met you goal to the closest possible value. Here you evaluate individual points and try to find out the error in each design and finally come up with the improved design.
This is one example of Trial and error approach. Now looking very closely into this each time we do a design point we take up the knowledge that we learnt from our previous design failure and try to make sure it doesn’t happen in this design point. But doing this manually will take a lot of time and this is where we can be able to use one of the advanced technology called Artificial Intelligence which is on the hype now.
I personally have a love towards this AI field and I personally feel this AI will bring a change in the near coming future but there are some others who would disagree with me. But it is ok everyone has their own standpoint. Intelligence is something that has been gifted to only humans with the ability to think and make decisions on what is right and what is wrong? Creating this intelligence artificially and embedding it with the systems that we come across in our everyday life is really cool and is going to change the way we live in the near future and is going to happen soon…..
Now coming back to the FEA optimization, My point here is to use this AI make the computers to learn each time your design gets an error and save that knowledge as an Intelligence into a database and use that in designing a better system the next time so as to make sure that the same error is not made again and you get your solution so fast. Using this some design points can be eliminated without the need to solve and tell that there is going to be error for sure.
Applying this Artificial Intelligence to FEA could make FEA more reliable and faster. Providing this Intelligence system to FEA can make it even more better than what it is now. But is it like a push button automation for creating this intelligence?
No definitely not, Creating the intelligence system for FEA needs the Trial and Error approach which I think is so clearly explained in this article by Cyprien.
Also this video will help you further understand the use of AI in making a data set using FEA . https://onscale.com/videos/webinar/training-machine-learning-with-cloud-simulation
Thank you so much Cyprien for your wonderful post. I may be wrong somewhere but this is my view. If there is anything kindly notify me…
Cyprien says
Thank you for your very detailed answer Sankar. It’s good that you bring the AI and Optimization topics. I agree with you that those will be real game changers in the future FEA solutions (and we see already a few companies starting to experiment with that in Engineering!).
This gives me some ideas to write another article soon about that.
yusufcati says
These are basics but great reminder of succesful ways of life. Thank you very much!
Cedric Khayat says
You are right Cyprian, I should share this article to several people I know! It also makes me think about a usual issue in most companies doing R&D. It is about the R&D engineer convincing bosses that the try deserves a shot. It is fully normal because it is the company’s money the engineer is spending so he must convince. But it takes a lot of time and energy just convincing, especially when bosses are not experts.
Even sometimes, engineers try on their own with a cheap way and just come with the results “hey look at this stuff!”.
Giving engineers free hands to build knowledge (the real valuable asset in my opinion, because it is not for sale on ali baba) without signing a blank check and orientate efforts in the good direction is a sweet balance between trust and control. But I think it is the key to efficient R&D, and the mark of great technical managers.
Also, companies that measure good R&D only with tangible results and don’t see the value in failed tries miss a point
Keep up great articles Cyprian!
Cyprien says
You’re right Cedric… R&D is many companies is also influenced a lot by internal politics. Some managers approve projects based on the amount of budget they can get from it and that’s shameful from my opinion. Anyway, I think I could write pages and pages just about that… ;-)