LESSWRONG
LW

978
HelloQuestonMark
1030
Message
Dialogue
Subscribe

Posts

Sorted by New

Wikitag Contributions

Comments

Sorted by
Newest
No posts to display.
No wikitag contributions to display.
[Completed] The 2024 Petrov Day Scenario
HelloQuestonMark1y10

Considerations:

  • This is very related to AI races. It's probably better to not nuke anyone, even if you're the only one doing that and you expect your somewhat for-profit AI lab shareholders to be, on average, happy about the decision to nuke.
  • Please avoid nuking the other side, regardless of the payoffs for the generals. Remember your aesthetic preferences. It's not that much karma, even if you somehow succeed.
Reply
[Completed] The 2024 Petrov Day Scenario
HelloQuestonMark1y10

Seems like defection towards the participants overall, compared to no nukes fired:

  • in the no nukes scenario, the 10 generals get +100 each, the two Petrovs get +1000(?) each, and citizens get nothing (+3000 karma in total);
  • in the coin flip scenario, the 10 generals get +350 in expectation each, the two Petrovs get +200..1000(?) each (depending on when in the game the button is pressed), and the 300 citizens get -12.5 in expectation each (-50..+750 karma in total).
Reply
[Completed] The 2024 Petrov Day Scenario
HelloQuestonMark1y*21

(I asked permission from the LW team before posting.)

The source code is currently available at https://github.com/ForumMagnum/ForumMagnum/compare/master...petrovSocialDeception.

const petrovFalseAlarmMissileCount = new DatabaseServerSetting<number[]>('petrovFalseAlarmMissileCount', [])
const petrovRealAttackMissileCount = new DatabaseServerSetting<number[]>('petrovRealAttackMissileCount', [])

const getIncomingCount = (incoming: boolean, role: 'eastPetrov' | 'westPetrov') => {
  const currentHour = new Date().getHours();
  const roleSeed = role === 'eastPetrov' ? 0 : 13;
  const seed = currentHour + roleSeed + (incoming ? 17 : 0); // Different seed for each hour, role, and incoming state

  const missileCountArray = incoming ? petrovRealAttackMissileCount.get() : petrovFalseAlarmMissileCount.get();

  const result = seed % missileCountArray.length
  console.log({currentHour, roleSeed, incoming, seed, result})
  return missileCountArray[result];
}
Reply1