this post was submitted on 12 May 2024
185 points (97.0% liked)
Programmer Humor
32561 readers
426 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Honestly one of my most competent "AIs" (that wasn't ML) just did a whole bunch of math to calculate an optimal strategy, but to make it feel more human, I added a few other things, like how desperate it was to win this round so it could have a chance of continuing, a bit of arrogance if it was winning (it was a bit heavy in the beginning. Had to add checks for "if you've already won, submit your victory instead of becoming so arrogant you lose everything!"), and to top it all off: a random number generator that could make it pick the opposite of what it wanted to if the confidence strength wasn't high enough. Just made it a little less predictable.
Honestly made every competition against it really close. And certainly way better than the people who solved it with a simple "randomly choose an action to complete"... Which was most of the class.
What game was it playing ?
Two-Dice Pig. So not a super complicated game, but still fun to try to leverage the... 3 point totals to calculate a risk vs desperation factor. Though looking at the code again, the hard limits feel weird. Like just straight up not allowing the risk of more than 35 points at a time (100 is a winning score, tho)? Though I do remember that I HAD to add the condition to force it to claim victory or it'd essentially get too cocky and would lose everything. I know that two-dice pig is essentially a solved game (as much as you can solve a game that relies on random chance), but I felt using a lookup table was boring, and wanted it to feel like it was actually an AI that could make mistakes, and had a semblance of a personality.