## Explaining An Algorithm To Your Kids

Tell your kids they can have the power to create whatever they want to create. Let them know that if they are imagining a game or an app they would like to play with, they can create it. Help them understand that everything is possible and that they can actually turn any dream they might have into a reality.

Now, let them know something is very clear to us : with great power comes even greater responsibility. If they want to create their very own app, for example, they should know how to give their app the right instructions, in a coherent, consistent, and well-built way: Those instructions are an algorithm.

An algorithm is a list of steps you give a computer to solve a problem or to get something done. As simple as that. It is important, however, to explain all the steps in the right order, since machines can get easily confused.

If you are looking for inspiration on how to explain an algorithm to your kids, watch this simple yet extraordinary video created by the BBC. Are your kids good with brushing their teeth? Well, then this short video might really help:

## Probability Theory And Statistics

Logarithms arise in probability theory: the law of large numbers dictates that, for a fair coin, as the number of coin-tosses increases to infinity, the observed proportion of heads approaches one-half. The fluctuations of this proportion about one-half are described by the law of the iterated logarithm.

Logarithms also occur in log-normal distributions. When the logarithm of a random variable has a normal distribution, the variable is said to have a log-normal distribution. Log-normal distributions are encountered in many fields, wherever a variable is formed as the product of many independent positive random variables, for example in the study of turbulence.

Logarithms are used for maximum-likelihood estimation of parametric statistical models. For such a model, the likelihood function depends on at least one parameter that must be estimated. A maximum of the likelihood function occurs at the same parameter-value as a maximum of the logarithm of the likelihood , because the logarithm is an increasing function. The log-likelihood is easier to maximize, especially for the multiplied likelihoods for independent random variables.

## Measuring And Improving The Euclid Algorithms

*Elegance versus goodness *: With only six core instructions, “Elegant” is the clear winner, compared to “Inelegant” at thirteen instructions. However, “Inelegant” is *faster* . Algorithm analysis indicates why this is the case: “Elegant” does *two* conditional tests in every subtraction loop, whereas “Inelegant” only does one. As the algorithm requires many loop-throughs, *on average* much time is wasted doing a “B = 0?” test that is needed only after the remainder is computed.

*Can the algorithms be improved?*: Once the programmer judges a program “fit” and “effective”that is, it computes the function intended by its authorthen the question becomes, can it be improved?

The compactness of “Inelegant” can be improved by the elimination of five steps. But Chaitin proved that compacting an algorithm cannot be automated by a generalized algorithm rather, it can only be done heuristically i.e., by exhaustive search , trial and error, cleverness, insight, application of inductive reasoning, etc. Observe that steps 4, 5 and 6 are repeated in steps 11, 12 and 13. Comparison with “Elegant” provides a hint that these steps, together with steps 2 and 3, can be eliminated. This reduces the number of core instructions from thirteen to eight, which makes it “more elegant” than “Elegant”, at nine steps.

**Don’t Miss: Geometry Of Ccl4 **

## What Is An Algorithm

An algorithm is a detailed step-by-step instruction set or formula for solving a problem or completing a task. In computing, programmers write algorithms that instruct the computer how to perform a task.

When you think of an algorithm in the most general way , algorithms are everywhere. A recipe for making food is an algorithm, the method you use to solve addition or long division problems is an algorithm, and the process of folding a shirt or a pair of pants is an algorithm. Even your morning routine could be considered an algorithm! In fact, heres what your childs morning might look like written out as an algorithm:

## Testing The Euclid Algorithms

Does an algorithm do what its author wants it to do? A few test cases usually give some confidence in the core functionality. But tests are not enough. For test cases, one source uses 3009 and 884. Knuth suggested 40902, 24140. Another interesting case is the two relatively prime numbers 14157 and 5950.

But “exceptional cases” must be identified and tested. Will “Inelegant” perform properly when R > S, S > R, R = S? Ditto for “Elegant”: B > A, A > B, A = B? . What happens when one number is zero, both numbers are zero? What happens if *negative* numbers are entered? Fractional numbers? If the input numbers, i.e. the domain of the function computed by the algorithm/program, is to include only positive integers including zero, then the failures at zero indicate that the algorithm ” rel=”nofollow”> instantiates it) is a partial function rather than a total function. A notable failure due to exceptions is the Ariane 5 Flight 501 rocket failure .

*Proof of program correctness by use of mathematical induction*: Knuth demonstrates the application of mathematical induction to an “extended” version of Euclid’s algorithm, and he proposes “a general method applicable to proving the validity of any algorithm”. Tausworthe proposes that a measure of the complexity of a program be the length of its correctness proof.

**You May Like: Algebra Nation Section 8 Answers **

## The Structure Of An Algorithmic Process

An algorithmic process is a process of consecutive conversion of constructive objects by discrete “steps” , each step consisting of the replacement of one constructive object by another one. Thus, when applying the algorithm $ \mathfrak A $to the word $ baaba $, there follow, in succession, the words $ baaba, abaaba, baabab $, etc. If one applies, say, the algorithm of column-wise subtraction to the pair of numbers < 307, 49 > , then one obtains, successively, the following constructive objects:

$$ \begin307 & 3 \dot 7 & \dot \dot 7 & \dot \dot 7 \\\underline & \underline & \underline & \underline \\ & 8 & 58& 258 \\\end$$

It will be noted that, in a series of successive constructive objects, each successive constructive object is fully determined by the constructive object immediately preceding it. In the more rigorous approach, it is also assumed that the transition from any constructive object to the one immediately following it is sufficiently “elementary” in the sense that the one-step transformation of the preceding into the immediately succeeding object is local .

$$ \begin p \\\underline \\ r \\\end$$

## Where To From Here

I hope the natural log makes more sense it tells you the **time** needed for any amount of exponential growth. I consider it natural because e is the universal rate of growth, so ln could be considered the universal way to figure out how long things take to grow.

When you see $\ln$, just think the amount of time to grow to x. In the next article well bring e and ln together, and the sweet aroma of math will fill the air.

**Don’t Miss: Michael Jackson Kids Biological Parents **

## How To Explain Algorithms To Kids

The word algorithm may not seem relevant to kids, but the truth is that algorithms are all around them, governing everything from the technology they use to the mundane decisions they make every day. Algorithms are fascinating and, although some are quite complex, the concept itself is actually quite simple.

## Using Natural Logs With Any Rate

Sure, you say, This log stuff works for 100% growth but what about the 5% I normally get?

Its no problem. The time we get back from $\ln$ is actually a combination of rate and time, the x from our $e^x$ equation. We just assume 100% to make it simple, but we can use other numbers.

Suppose we want 30x growth: plug in $\ln$ and get 3.4. This means:

- $e^x = \text$
- $e^ = 30$

And intuitively this equation means 100% return for 3.4 years is 30x growth. We can consider the equation to be:

We can modify rate and time, as long as rate * time = 3.4. For example, suppose we want 30x growth how long do we wait assuming 5% return?

- $\ln = 3.4$
- $\text * \text = 3.4$
- $.05 * \text = 3.4$
- $\text = 3.4 / .05 = 68 \text$

Intuitively, I think “$\ln = 3.4$, so at 100% growth it will take 3.4 years. If I double the rate of growth, I halve the time needed.”

- 100% for 3.4 years = 1.0 * 3.4 = 3.4
- 200% for 1.7 years = 2.0 * 1.7 = 3.4
- 50% for 6.8 years = 0.5 * 6.8 = 3.4
- 5% for 68 years = .05 * 68 = 3.4

Cool, eh? The natural log can be used with any **interest rate or time** as long as their product is the same. You can wiggle the variables all you want.

**You May Like: Algebra 2 Radical Worksheet **

## Discrete And Distinguishable Symbols

Tally-marks: To keep track of their flocks, their sacks of grain and their money the ancients used tallying: accumulating stones or marks scratched on sticks or making discrete symbols in clay. Through the Babylonian and Egyptian use of marks and symbols, eventually Roman numerals and the abacus evolved . Tally marks appear prominently in unary numeral system arithmetic used in Turing machine and PostTuring machine computations.

## Logarithm Tables Slide Rules And Historical Applications

By simplifying difficult calculations before calculators and computers became available, logarithms contributed to the advance of science, especially astronomy. They were critical to advances in surveying, celestial navigation, and other domains. Pierre-Simon Laplace called logarithms

- “…n admirable artifice which, by reducing to a few days the labour of many months, doubles the life of the astronomer, and spares him the errors and disgust inseparable from long calculations.”

As the function *f* = b*x* is the inverse function of log*b**x*, it has been called an **antilogarithm**. Nowadays, this function is more commonly called an exponential function.

**Read Also: How To Calculate Half Life From Rate Constant **

## Kids Can Write Their Own Algorithms

Encourage your child to write out their morning algorithm, or the algorithm for an even simpler task, like brushing their teeth or eating cereal. Without knowing it, theyll be exploring important computational concepts like repetition , sequencing , and conditional logic .

Challenge your child to be as specific with the instructions as possible. Computers dont understand your intentions, so if you dont specify that you need to get out the bowl first, youll end up pouring milk on the floor!

In math class, kids learn about prime numbers and how to determine if a number is prime. But with large numbers, this is very difficult! For the number 493, youd have to try over 15 calculations to learn that 493 is not prime . Kids can write an algorithm in Tynker to determine if a number is prime.

## Manipulation Of Symbols As Place Holders For Numbers: Algebra

Muhammad ibn Ms al-Khwrizm, a Persian mathematician, wrote the *Al-jabr* in the 9th century. The terms “algorism” and “algorithm” are derived from the name al-Khwrizm, while the term “algebra” is derived from the book *Al-jabr*. In Europe, the word “algorithm” was originally used to refer to the sets of rules and techniques used by Al-Khwarizmi to solve algebraic equations, before later being generalized to refer to any set of rules or techniques. This eventually culminated in Leibniz‘s notion of the calculus ratiocinator :

A good century and a half ahead of his time, Leibniz proposed an algebra of logic, an algebra that would specify the rules for manipulating logical concepts in the manner that ordinary algebra specifies the rules for manipulating numbers.

**Recommended Reading: The Founder Of Behaviorism **

## Emil Post And Alan Turing

Emil Post described the actions of a “computer” as follows:

- “…two concepts are involved: that of a
*symbol space*in which the work leading from problem to answer is to be carried out, and a fixed unalterable*set of directions*.

His symbol space would be

- “a two-way infinite sequence of spaces or boxes… The problem solver or worker is to move and work in this symbol space, being capable of being in, and operating in but one box at a time…. a box is to admit of but two possible conditions, i.e., being empty or unmarked, and having a single mark in it, say a vertical stroke.

- “One box is to be singled out and called the starting point. …a specific problem is to be given in symbolic form by a finite number of boxes being marked with a stroke. Likewise, the answer is to be given in symbolic form by such a configuration of marked boxes…

- “A set of directions applicable to a general problem sets up a deterministic process when applied to each specific problem. This process terminates only when it comes to the direction of type “. See more at PostTuring machine

Turinghis model of computation is now called a Turing machinebegins, as did Post, with an analysis of a human computer that he whittles down to a simple set of basic motions and “states of mind”. But he continues a step further and creates a machine as a model of computation of numbers.

Turing’s reduction yields the following:

- “We may now construct a machine to do the work of this computer.”

## Editors Contributionrate This Definition:

algorithm

A precise step-by-step plan for a computational procedure with an input value that produces an output value in an accurate and specific number of steps.

Algorithms are widely used in all computers, programs and software which empower the technology we have and use.

Submitted by on January 8, 2016

algorithm

Is a computational instruction or procedure with accurate input using intelligent and logical steps that produces an accurate and specific function or output.

All computers in 2016 have an algorithm used within them in some shape or form, they are vital to the design and execution of a computer, program or software.

Submitted by on January 8, 2016

We aim to understand how the brain represents information about the real world, toward such a goal, we demonstrated that our **algorithm** can model and read out perceptual contents in the form of sentences from human brain activity. To do this, we modified an existing network model that could generate sentences from images using a deep neural network, a model of visual system, followed by an RNN , a model that can generate sentences. Specifically, using our dataset of movies and movie-evoked brain activity, we trained a new model that could infer activation patterns of DNN from brain activity.

**Also Check: 4 Goals Of Psychology Example **

## Algorithmic Thinking: A Skill For Kids

Nurturing your kids with 21st-century skills is extremely important to assure their future success. In previous articles, we have discussed creativity, teamwork, and weve gone into depth with problem-solving, but we dont want you to forget about algorithmic thinking. Strengthening this skill will enable your children to fully comprehend what algorithms mean and how they can use this way of thinking in their everyday life.

This goes way beyond your kids comprehending what a standard algorithm is, or giving them mathematical examples of algorithms for kids. This is actually about the values of truly applying how algorithms work in order to build their success.

## Example Of An Algorithm

Let the possible inputs and the possible results be all possible words over the alphabet $ \ $. The transition from a word $ X $to a word $ Y $is “permissible” in the following two cases : 1) $ X $is of the form $ aP $, and $ Y $is of the form $ Pb $ or 2) $ X $is of the form $ baP $, while $ Y $is of the form $ Paba $. The instructions are formulated as follows: “designating some word as the input, execute the permitted transitions until a word of the form aaP is obtained then halt and let word P be the result” . These instructions constitute an algorithm, which will be denoted by $ \mathfrak A $. Take the word $ babaa $as the input. After one transition one obtains $ baaaba $ after the second, one obtains $ aabaaba $. Here the algorithm halts with $ baaba $as result. Consider another input $ baaba $. One obtains, in succession, $ abaaba, baabab, abababa, bababab, babababa , . . . $. It can be shown that this process will never end . Now take $ abaab $as input. One obtains $ baabb, abbaba, bbabab $ no further permissible transitions are possible, and, at the same time, the termination condition is not satisfied. One has a no-result stop. Thus, input $ babaa $is suitable for $ \mathfrak A $, and inputs $ baaba $and $ abaab $are not.

**Recommended Reading: Homework 5 Angle Addition Postulate Answer Key **

## Logarithmic Arithmetic Is Not Normal

Youve studied logs before, and they were strange beasts. Howd they turn multiplication into addition? Division into subtraction? Lets see.

What is $\ln$? Intuitively, the question is: How long do I wait to get 1x my current amount?

Zero. Zip. Nada. Youre already **at** 1x your current amount! It doesnt take any time to grow from 1 to 1.

- $\ln = 0$

Ok, how about a fractional value? How long to get 1/2 my current amount? Assuming you are growing continuously at 100%, we know that $\ln$ is the amount of time to double. If we **reverse it** wed have half of our current value.

- $\ln = \ln = -.693$

Makes sense, right? If we go backwards .693 units wed have half our current amount. In general, you can flip the fraction and take the negative: $\ln = \ln = -1.09$. This means if we go back 1.09 units of time, wed have a third of what we have now.

Ok, how about the natural log of a negative number? How much time does it take to grow your bacteria colony from 1 to -3?

Its impossible! You cant have a negative amount of bacteria, can you? At most you can have zero, but theres no way to have a negative amount of the little critters. Negative bacteria just doesnt make sense.

- $\ln = \text$

Undefined just means there is no amount of time you can wait to get a negative amount.