Algorithms: Difference between revisions
Jump to navigation
Jump to search
(Created page with "<!-- ===What does algorithm mean?=== A way of calculating. A way of getting a particular thing done. Typically, practical answers to 'how does it X?' It refers to only the method, not the data you feed into it, nor the hardware it runs on. Programmers will often prefer to call things algorithm only when they are either specific theory (e.g. a specific way of sorting), OR concrete enough to just run And usually for simple, well-defined, questions, such as "ho...") |
mNo edit summary |
||
Line 2: | Line 2: | ||
===What does algorithm mean?=== | ===What does algorithm mean?=== | ||
A | A mechanically description of getting a particular thing done. | ||
This isn't ''exclusive'' to math or computation, but they are the ones that use the term most. | |||
Note it refers to the method only -- excluding details like the data you feed into it, or the hardware it runs on. | |||
Any technically satisfying answer to 'how does it X?' could be considered an algorithm in a pinch. | |||
That said, programmers will often prefer to call things algorithm only when | |||
* it is fairly worked out specific theory (e.g. a specific way of sorting), OR | |||
concrete enough to just run | * it is already concrete enough to just run. | ||
...and prefer simple, well-defined, questions, for single tasks, such as "how similar are these two words?" | |||
such as "how similar are these two words?" or "how do we sort a list?" | or "how do we sort a list?", | ||
...to the more complex such as "how do we evaluate a weather forecast for the next day?" or "how do we distribute processing power between running programs". | |||
Thy don't ''have'' to be completely implemented and ready to run, | |||
but most of the work left is implementing what is already described writing it out, ''maybe'' figuring out practicalities to supporting systems - but no further architecting of how to move towards getting a result. | |||
===What do they look like?=== | |||
Depends, mainly on the complexity, and on what it does. | |||
There are a lot of things you can describe fully with words, and a little math. | |||
There are some things that build on much larger building blocks, | |||
Say, bubble sort is an algorithm that, in english, goes something like | |||
"step though a list one at a time. At each position, look at the pair. If the are not in the right order, swap them. Repeat going through the list until you didn't need to swap anything". (which you might note is a dumber variant of how you might sort playing cards in your hand) | |||
You might also imagine that writing this down in [[pseudocode]] is a short and pretty complete description of everything it does, | |||
even if you would need to write it in ''actual'' code before it actually would run. | |||
Note that neural nets aren't algorithms in this sense, | |||
because while we know how they function, | |||
they entangle everything they do in one fuzzy mess. | |||
In particular, they entangle ''what'' runs into ''how'' it is evaluted. | |||
The software becomes part of the hardware in a way, | |||
which is something programmers typically kept separated. | |||
That said, we currently emulate that hardware, so eh. | |||
===="The algorithm"==== | |||
"The algorithm", to most, ranges from ''extremely specific'': | |||
: the way that the video site figures which video you might want to see next, | |||
: the way that social sites recommend content to you that is not from your immediate circles, | |||
and that usually comes up when we believe that there is an agenda, | |||
like the sense that "what you might want to see next" may be more focused on "what you are least likely to click away from" at the cost of literally anything else. | |||
particularly one we might not agree with, | |||
Helped by the fact that companies do not tend to disclose how. | |||
Particularly if they are not aiming for things we want to see, but actually the things we would ''least'' want to see. | |||
Because anger is powerful [https://en.wikipedia.org/wiki/Engagement_marketing engagement], and engagement means more ad clicks so more money for the platform. | |||
--> | --> |