Hacker News new | past | comments | ask | show | jobs | submit login

Quite interesting to see how the word "algorithm" seems to be changing over time from a straightforward mathematical or CS "series of steps to solve a problem" to a general byword for any sort of automated reasoning, especially ones with a more malevolent undertone.

I'm actually kind of struggling to come up with a concise definition in the new popular usage.




Isn't it still just "a series of steps to solve a problem", but just in a little broader sense?

E.g. if your problem would be how to rate a person's need for social housing, you probably would apply some objective parameters to that. You are trying to get a binary answer that ideally selects all people who would need such a thing and leaves out all the others, without having much false negatives or false positives.

Unlike in the traditional algorithm definition this involves bureaucratic and legal steps, some of which can be a bit handwavey and have their outcome depend on world image and daily form of the individual "processor" who was tasked to carry them out (better not have your task run right before the lunch break by grumpy Edwald). In other cases the step might be more of the nature "insert numbers in that one Excel sheet some wizard built aeons ago and now nobody understands".

An algorithm however doesn't need to be a good algorithm or entirely deterministic to fit the definition of "algorithm". It is a series of steps carried out to solve a problem. A cooking recipe.


Dutch public prosecutors used (until 2015) a software system called 'BOS/Polaris' for sentencing guidelines. This was an 'algorithmic' system in its most 'pure', CS/math meanings. It was a fairly simple deterministic software package that used a point-based system to go from objective (type of crime, first time offender or not etc) and some subjective (attenuating circumstances) criteria to a specific charge for a given case. This software was free to download (no source though), the 'rules' were based on a number of guidelines for various types of crimes that were published separately.

It was discontinued because apparently it was felt it didn't allow for enough of the 'subjective' aspect of it. The problem was also a bit that the software had slowly become less 'guiding' and more 'the norm', where judges and prosecutors felt they had to really justify deviating from the outcomes of the software. I imagine that could have been solved with a more tunable parameter for how much to weigh the 'subjective' part, but that would open another can of worms of course; and it's also a philosophical issue, so I imagine that a lot more went on behind the scenes that the general public will never know.

Anyway, that system would never be put under the umbrella 'algorithms' nowadays. That has shifted to ML/stats systems where the 'morally problematic' part of the algorithm are really the 'neural network weights' (or regression coefficients, depending on how impressed you are by raw processing power over system understanding... but that, again, is a philosophical issue).

To rephrase: my position is that the problem people have with what they call 'algorithms' isn't really the algorithms at all (nobody who talks about this problem, at this abstraction level, cares abour gradient descent vs simulated annealing), but the parameters to the resultant models and how those parameters were estimated; specifically what data was used to make those estimates.

I personally really despise this, in my view, dumbing down of the matter and muddying of the terminology and hence issue, but then again nobody asked me when 'hacker' was rebranded from 'a specific type of technical intellectual curiosity' to 'computer criminal', so...


Oh, and how that is related to current practice (because I lost my train of thought somewhere) is that 'modern' (=ML-based) experimental sentencing guideline systems try to overcome this 'subjective bias' by injecting an 'objective subjective bias' by using ML methods. So basically by looking at many more circumstances and training the former 'points' system using ML, so in a way automatically deriving what used to be set by manually devised guidelines (as crude as they were) from past data - under the assumption that our past data is somewhat objective, and/or because we know it wasn't, additionally trying to correct for past biases.

It's easy to see the problems with this approach and I don't have to rehash them here; and much of the interesting (academic) work here is in rebalancing and fixing the biases; but that is research, not something that is ready for actual use in democratic societies (not that that has stopped some places from using them anyway...). I'm not convinced it's even possible and any such system will invariably be very opaque. Imagine, if judges and prosecutors already find what was essentially a decision tree too inflexible and incomprehensible, how they would experience an ML model! Imagine being the person who has to explain how such a new model works to a classroom of lawyers! Strong men have wept for less.

Anyway so the Dutch judicial system is now back to a system of spelled out sentencing guidelines in textual form, systematised by criminal law area, like there is one for cybercrimes, etc. With some tables that probably used to be encoded in a DBase file (that's how old the former software based tool was). But it seems that the fact that this information is now consumed from their original texts, gives the impression that there is more room for 'customization' - although there isn't actually that much more room, and in another 15 years we'll go full circle I suspect and get someone to code up the guidelines again...

So these texts are still just algorithms but spelled out; and the former method was to have software to help with 'interpreting' those textual algorithms; yet nobody called them out for the things modern ML-based systems are called out. But still I think this is a very clear example of how the word 'algorithm' has become overloaded in its meaning - not just become broader, but has actually shifted in meaning depending on the context in which it's used.


Modern media use of the word "algorithm" is almost exclusively about AI type of stuff. Recommenders, likelihood detectors, image recognizers etc. That's very much not a series of steps: it's primarily a function of the data that it had been fed. You can't summarize a training body of 50000 cat pictures as "a series of steps". And the steps are worthless without the training data.


No but the algorithms used by AI to do recommendation etc. are generally referred to as algorithms, hence https://www.geeksforgeeks.org/top-10-algorithms-every-machin...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: