“He (Richard Feynman) was always searching for patterns, for connections, for a new way of looking at something, but I suspect his motivation was not so much to understand the world as it was to find new ideas to explain.Tags: Legal Internship Cover LetterUniversity Of Houston Creative Writing FacultyResearch Newspaper ReadershipMccarthyism Vs Salem Witch Trials EssayUnpolished Gem EssayIndustrial Revolution ThesisUniversity Of Washington Entrance EssaySmoke Signals EssayEssay Comparing Christianity And JudaismPublic Education Versus Private Education Essay
When we look at algorithms as a way of solving problems, often we want to know how long it would take a computer to solve the problem using a particular algorithm.
When we write algorithms, we like our algorithm to take the least amount of time so that we can solve our problem as quickly as possible.
Feynman was renowned for his ability to develop innovative and creative solutions to hugely complex problems, without being able to give much insight into how this process worked.
Nevertheless, the algorithm itself is much more helpful than I thought on first reading.
The Church-Turing Thesis (a meta-mathematical statement) asserts that any "reasonable" method of computation is equivalent to any other, i.e., any algorithm that can be implemented in one computational device can be implemented in any other.
As a consequence, the notion of algorithm is independent of the choice of implementation.It takes inputs (ingredients) and produces an output (the completed dish).The words 'algorithm' and 'algorism' come from the name of a Persian mathematician called Al-Khwārizmī (Persian: خوارزمی, 780–850).Given a fixed method of implementing algorithms (for example, the Turing machine, or a fixed programming language) we may ask how much computational resources an algorithm consumes.In particular, it is often of practical importance to know how much time and how much memory a given algorithm consumes.I occasionally overlook how important it is to define and bound a problem and think about it in abstract terms before attempting to construct a solution.In fact, I try to instil this problem-solving ability in my students when I teach introductory programming, as they all rush head-first into writing code before actually thinking about the problem they are trying to solve. In cooking, some recipes are more difficult to do than others, because they take more time to finish or have more things to keep track of.It is the same for algorithms, and algorithms are better when they are easier for the computer to do.There may be many different recipes to make a certain dish which looks different but ends up tasting the same when all is said and done. However, some of these ways will be better than others.If a recipe needs lots of complicated ingredients that you do not have, it is not as a good as a simple recipe.