In Black Mirror S04 E04 named Hang the DJ, How did the real-life app particularly choose two specific persons to run 1000 simulations for them? Does the app run 1000 simulations for every two possible match? If we assume the app has 1 million members, then it roughly must run 5*10^14 simulations!

Plus, we see many other couples with different numbers over their heads. I couldn't identify if they're Amy and Frank, or other couples.

  • 6
    Why do you find it hard to believe it can run billions of simulations quickly, yet you don’t seem to have a problem with it being a perfect simulation of multiple human beings, their DNA, etc? – DisgruntledGoat Jan 8 '18 at 14:57

Firstly, yes, they're all Amy and Frank - each is one of the simulated couples who climbed the wall.

The couple we are focused on is simulation 998, which matches the number of rebellions logged...
We have to assume that this is couple 1000 & that the two simulations who did not rebel are somehow still inside the simulation. Their fate is not mentioned, AFAIK. Presumably once the final results are in, all the simulations are terminated & the occupants are never aware. We do see all the rebellious couples 'dissolving'.

couple 998

998 rebellious logged

As regards the math, or processing power needed to perform these simulations, you always need to be aware that Black Mirror never concerns itself with the science behind the technology. It simply asks you to believe that at this point in time, technology is sufficiently advanced to be able to achieve it.
How is rarely important to the plot.
The show is more usually concerned with the human implications of the technology - how we interact with it, what it makes us do to ourselves and each other as a result of it.

If we assume the app uses proximity of signed-up members to generate 'quick' matches, then either it tested everybody in the bar, very rapidly, or only Amy and Frank were signed up. It really isn't important which, merely that the results echoed the claim from the beginning of the simulation that the chances of eventually making the correct match are 99.8%.

The final scene IMHO just gives some "aww" factor, when we see that in real life Amy and Frank are about to meet for the first time... And we, the audience, are pretty certain they will 'live happily ever after' - which in itself is quite rare for Black Mirror.

|improve this answer|||||
  • Thank you for your amazing answer! I'm still confused about the timeline. We see many Amy & Frank couples with each a number on their heads and they are present simultaneously. Does it mean the 1000 simulations happen simultaneously? – Asmani Jan 7 '18 at 18:24
  • 1
    Very probably, though we're not actually given that information. presumably they end at slightly different times [years == milliseconds] so they don't all arrive in the 'game end' room at precisely the same time.. or more likely that's just a plot device so we the audience see the 'last arrivals', our couple - otherwise there would be difficulty explaining how the 2 'fails' have been qualified as 'not rebelling' if they could potentially live another 10 years before they did rebel. A little suspension of disbelief goes a long way ;) – Tetsujin Jan 7 '18 at 18:42
  • 1
    Wait, there are happy endings in Black Mirror? I only ever watched the first two episodes and could never bring myself to go back for more because of how horrifyingly nihilistic they were. – ViggyNash Jan 9 '18 at 4:05
  • 7
    In regards to the "math" of running simulations I do think there is at least a subtle nod towards the amount of processing power required. While running perfect simulations would require a huge amount of processing power, you can significantly reduce it by only rendering the "observable" (to the subjects) portion of the sim at any one time. You can also take shortcuts in the calculations. Amy notices this when skipping stones on the lake, she never gets more or less than 4 bounces. suggesting the "skipping stones" physics are pre-calculated :) – ptr Jan 9 '18 at 12:21
  • @Tetsujin: therwise there would be difficulty explaining how the 2 'fails' have been qualified as 'not rebelling' if they could potentially live another 10 years before they did rebel It seems a fair assumption that the "no rebellion" cutoff happens when either Frank or Amy decides to go with their appointed soulmate (or escape with someone completely different, I guess...), which means the simulation can be marked as failed when the date of the "true soulmate reveal" has passed. It makes sense, Frank and Amy match when they even refuse to accept what a perfect algorithm tells them. – Flater Sep 19 '18 at 10:41


  • the dating app doesn't guarantee the best match, rather, it finds a match that is good enough for the average person, and also within x distance from you (or any other filters the end user may choose)
  • rebellions are unlikely for any random 2 candidates

If my assumptions are correct, then optimizing the simulation would look something like this:

  • determine number of candidates within distance x and that match filters (female, red hair, etc.)

  • run simulation against you and person1 from potential matches

    • If failed, stop testing immediately, then start testing person2.
    • If passed, continue running until failure.

That leaves you with a dataset that looks something like this:

'person' | 'rebellions'
    1    |      0
    2    |      1
    3    |      2
    4    |      0
    5    |     400
    6    |      0
    7    |      0

You will end up with most candidates not rebelling at all (or only a few times), and a few large outliers.

Now you would filter the data by some quantifier, (eg. standard deviation), then repeat the process above on the filtered data.

I'm sure there are a ton of other optimizations that could be made, if given more data. For example Lenny (Amy's second date) might also be a potential match, and depending on how the date went, the system could remove Lenny from the list of potential candidates to test Amy against, without running a test against Amy and Lenny directly.

|improve this answer|||||

The question has been answered, but a small part of your question wasn't addressed:

If we assume the app has 1 million members, then it roughly must run 5*10^14 simulations!

You assume that any member is interested in any other member.

Filtering for only single people who meet each other's criteria (presumably you tell the app preferred age range, gender, etc.), that's considerably less than 5*1014.

Additionally, the fact that Amy and Frank run into each other exactly when the result is presented strongly suggests that the simulations are only run for people you come into contact with, which again significantly reduces the amount of pairs that need to be checked.

|improve this answer|||||

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .