Edit: typo
>Why did such errors occur?
>When the algorithm finds an ideal candidate for a position, it does not reset the list of remaining candidates before commencing the search to fill the next vacancy. Thus, those candidates who missed out on the first role that matched their preferences are definitively discarded from the pool of available teachers, with no possibility of employment. The algorithm classes those discarded teachers as “drop-outs”, ignoring the possibility of matching them with new vacancies.
And (possibly) also incorrect data:
>Often teachers input the wrong data on the system because of an interface that is not very transparent, complex and difficult to access. The scores can therefore already be distorted upstream, without taking into account human errors by the school offices.” Aspiring teachers often find themselves alone in facing complex procedures and error is often inevitable and sometimes irreparable.
For example, consider two roles and two applicants, with fit scores as below:
Role 1 Role 2
----- ----- -----
Applicant A 96% 95%
Applicant B 95% 50%
Ignoring the "drop out" bug, under the algorithm described the system would evaluate all candidates for Role 1, determine Applicant A is the best, then move on. At that point, Applicant B is the best candidate for Role 2... even though they're not a very good one. Overall, not a great outcome (73% avg.).You'd think the algorithm would want to maximize outcomes across all roles: the more optimal "best fit" solution would be Applicant B in Role 1 and Applicant A in Role 2 (95% avg).
(I'm assuming the reality here is that Role B isn't available at time of evaluation, so there's no way to evaluate the universe without waiting, which may be sub-optimal.)
From the sound of things, that may have been happening:
> Moreover, recruitment is not keeping pace with schools' need for teachers, thus leaving hundreds of classroom positions vacant which is affecting the educational progress of students all over Italy.
This is a very important point. Especially for any algorithm/policy change that affects people's pay, time off, scheduling, etc., it may seem like a reasonable change to you and to management but a lot of people will have a visceral reaction anyway. Not everyone may be happy at the end but it's important they're at least part of the process.
I can write some useful formal properties right here:
- there are n openings and m qualified applicants. At the end of assignment, there should be (m-n) applicants without a role.
- if (m>n), all roles should be filled
- if there are n identical average candidates and m identical ideal candidates, if there are p roles where (p>m), all ideal candidates should get a role
- every candidate not selected should be worse than every candidate selected
- every candidate not selected should have participated in n trials where n is the number of openings
- etcA group of underpaid graduates was put together to crack the problem. All of them crammed for their algo & ds exam since that’s what the Italian university system incentivises so none of them did actually remember a thing about algorithm design. They googled a bunch of words and forked the first PoC they found on GitHub.
Everything was wrapped into a nice PowerPoint full of corporate BS and delivered to the government.
Edit: As expected, the algorithm was developed by a company owned by Dxc Technology [1] and Leonardo which is the Italian defence company. The contract was worth 5 million of euros.
[1]: https://www.wired.it/article/algoritmo-scuola-supplenze-mini...
Has everything to do with "we won't challenge the system and propose changing how we actually build software because doing so will lead to us losing the contract, so we'll build upon these antiquated frameworks that will become harder and harder to support and sweep the problem under the rug long enough for me to buy another $EXPENSIVE_THING"
From a technical perspective, this is a terrible approach.
From a "look, we all just want to make money here, right?" perspective, makes total sense.
Not that more money would have fixed it, but good software is not some $200k affair.
This program really could have used a small software verification team.
(dxc was owned or spun off from HP Enterprise, HPs consulting arm)
How did people manage to convince government that software is this one-time thing you just pay for and then it works forever?
PS: they were not involved in the development of this algorithm
Infuriating that children and education are being used as cash cows for the corrupt and incompetent - promise efficiency for the kids and system, deliver absolute shit for everyone, except the execs who got paid. Fucking evil.
Where I live, schools are starting to force everyone to buy or rent specific laptops from specific companies. The less financially-abled can't buy a good second hand laptop for cheap, the ones who can pay for them are scammed by high prices and shitty hardware. The company running the show is happy though, of course.
If you want to use your right to protest, do so without threatening people’s life and family.
https://nos.nl/artikel/2434583-politici-voelen-zich-onveilig...
The real kicker is that this article is from April and refers to the mess last year. Despite all the havoc, they proceeded to use it again, with predictable results.
Which pretty much happens whenever you have self-perceived winners and losers with a policy change.
Not sure what the eventual outcome of that proposed change was.
[Oops. Meant to reply to another comment. But there are some similarities across algorithmic optimizations though it's not clear how much of the problem here was the algorithm vs. the implementation.]
That isn't what the article is about.
At resturant sizes and constraints, I am surprised it grows prohibitive to generate a optimal or near optimal. Can you say more about the sizes or growth or problem?
In my experience, Texas Public Schools are more likely to hire the incompetent and compliant than the competent and hard-headed.