Last active
November 20, 2023 00:45
-
-
Save neubig/4f9e0f7d6dcb47d488738b516634a8d1 to your computer and use it in GitHub Desktop.
Best Paper Deadline Time Zone
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#### Script to calculate the best paper deadline based on the population on earth based on some not-completely-arbitrary assumptions | |
# by Graham Neubig | |
# Results are: | |
# UTC 8:00 deadline, utility is 1476.1150000000002 | |
# UTC 9:00 deadline, utility is 1438.7800000000002 | |
# UTC 14:00 deadline, utility is 1385.2949999999998 | |
# UTC 15:00 deadline, utility is 1345.945 | |
# UTC 13:00 deadline, utility is 1291.4950000000003 | |
# UTC 7:00 deadline, utility is 1287.1649999999997 | |
# UTC 12:00 deadline, utility is 1249.9900000000002 | |
# UTC 11:00 deadline, utility is 1197.63 | |
# UTC 10:00 deadline, utility is 1186.9350000000002 | |
# UTC 16:00 deadline, utility is 1067.2949999999998 | |
# UTC 6:00 deadline, utility is 1063.91 | |
# UTC 4:00 deadline, utility is 1049.2099999999998 | |
# UTC 5:00 deadline, utility is 1026.605 | |
# UTC 3:00 deadline, utility is 983.33 | |
# UTC 2:00 deadline, utility is 963.845 | |
# UTC 1:00 deadline, utility is 949.0 | |
# UTC 17:00 deadline, utility is 878.055 | |
# UTC 18:00 deadline, utility is 837.64 | |
# UTC 19:00 deadline, utility is 781.4899999999999 | |
# UTC 20:00 deadline, utility is 755.99 | |
# UTC 21:00 deadline, utility is 689.78 | |
# UTC 0:00 deadline, utility is 682.625 | |
# UTC 22:00 deadline, utility is 620.175 | |
# UTC 23:00 deadline, utility is 444.07499999999993 | |
# Fact?: the time zones, starting with UTC-12 and going to UTC+12, have approximately the following populations (according to this) | |
# https://www.quora.com/What-is-a-rough-breakdown-of-populaition-by-time-zone | |
zones = list(range(-12,13)) | |
populations = [0.00, 0.01, 0.84, 0.72, 37.2, 29.5, 100, 161, 37, 80.8, 0.00, 0.15, 74.9, 357, 121, 59.2, 56.6, 113, 7.49, 59.4, 503, 149, 16.8, 1.99, 5.59] | |
# Approximation: the research population is approximately proportional to this. | |
# Assumption: people prefer to have a submission deadline during normal working hours (08:30-17:30), which gives them a utility of 1, and barring that would like to submit during normal waking hours (07:30-08:30 or 17:30-23:30), which gives them a utility of 0.5. | |
def utility(time): | |
if time > 8.5 and time < 17.5: | |
return 1.0 | |
elif time > 7.5 and time < 23.5: | |
return 0.5 | |
else: | |
return 0.0 | |
vals = [] | |
for deadline in range(0,24): | |
total_utility = 0.0 | |
all_utilities = [] | |
for zone, population in zip(zones, populations): | |
local_time = (24 + zone + deadline) % 24 | |
my_utility = utility(local_time) * population | |
all_utilities.append(my_utility) | |
vals.append( (sum(all_utilities), deadline, all_utilities) ) | |
vals.sort(reverse=True) | |
for total_utility, deadline, all_utilities in vals: | |
print(f'UTC {deadline}:00 deadline, utility is {total_utility}') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment