[Vote] (1-15) (VETOED) Proposal: Remove Difficulty Randomization of AI Choices

Approval Vote for Proposal #15 (instructions below)


  • Total voters
    44
  • Poll closed .
Status
Not open for further replies.

Recursive

Already Looping
Moderator
Supporter
Joined
Dec 19, 2017
Messages
4,585
Location
Antarctica
Voting Instructions
Players, please cast your votes in the poll above. Vote "Yea" if you'd be okay if this proposal was implemented. Vote "Nay" if you'd be okay if this proposal wasn't implemented. You can vote for both options.

All votes are public. If you wish, you can discuss your choice(s) in the thread below. You can change your vote as many times as you want until the poll closes.

VP Congress: Session 1, Proposal 15

Proposer: @Recursive
Sponsor(s): @Recursive
Previous Discussion Thread: https://forums.civfanatics.com/thre...ifficulty-randomization-of-ai-choices.679135/

Proposal Details
Currently, when the AI is making a choice for city production, technology or social policies, it picks randomly between the top 2 candidates (below Immortal) or top 3 candidates (below Prince). This is less impactful for Social Policies since the AI is forbidden from opening a new branch while the currently open one isn't completed.

I would like to remove this randomness.

The AI picks its top choices using weighted randomization, not pure randomization. So for example, if it picks between the top 2 choices, choice #1 has a score of 500 and choice #2 has a score of 100, it will pick choice #1 five times more often (5:1 ratio). The intention of this is to reduce AI stupidity.

However, I believe that this serves to handicap the AI's intelligence because it causes problems in its scoring process to be glossed over because of the random element, and because the current system still causes the AI to make a stupid choice more often than I'd like. If one option has a 60% lower score than the top score, it probably shouldn't be picked at all, let alone 28.5% of the time.

I would like to disable the randomization to make it easier for players to spot peculiar AI decision-making (such as overly favoring a certain policy tree), because I want to make improvements to the AI's scoring process. I will be active in making these improvements if the proposal is passed.


I don't think the randomness adequately serves to make AI players diverse from each other either, due to its limited applicability and the observed data that AI often constructs all buildings early on in a city anyway due to its difficulty bonuses. Though based on the favorable response to my other difficulty proposal, the AI's construction bonuses will likely be nerfed a bit next version.

I will caution people that flukes do exist here and not to rely on only a single game (or even a few) for data collection.

The ability to randomize choices will not be removed from the code.

Moderator Action: Proposal has been vetoed, see explanation: https://forums.civfanatics.com/thre...ion-of-ai-choices.679963/page-3#post-16355125
 
Last edited:
That's interesting, I have a couple questions then.
So in your opinion would it be better if all difficulties had the same randomization, as currently I believe diety/emperor has less options?
What if the randomization was weighted based on how much the AI valued the top three options?
Do we know how bad the scoring algorithm is?
 
From the original discussion thread:
not quite true, in lower difficulty levels the search depth for the best moves is reduced. but i don't know if it makes much difference in practice :)

anyway the effect (and maybe even intention) of the randomization was to paper over AI stupidity. and that may still be a good thing.

imagine this choice:

* option A -> score 500
* option B -> score 495

should AI always pick A? probably not.

now you can argue that we need to adjust the scoring to take into account that the player already has a lot of A and thus the score for A should be successively reduced but that is much more complex than some randomization.

and it's important to mention that the AI makes weighted choices! so if the scores are 500 and 100 they will be picked in a 5:1 ratio (and not 1:1) as you might naively expect.
 
when the scoring algorithm is not perfect but you have many repetitions
Ok, so the scoring algorithm need fixing if it provides wrong values. Making AI consistent with choosing the option with the highest score would make flawes of it more noticable, so there is more chance to fix it.
 
Maybe it can help solve (a little) the desyncs problem in MP games ? I know it is not the subject at all, but it can have a good side effect.
 
What would the process for making this a menu choice look like? (Not asking for now, but maybe during ratification.) The benefits --evaluating AI behavior, running analytics tests-- are great, but randomness is how hidden synergies are found, and letting the AI "participate" in that is healthy overall, for those that want to see it.
 
dang, should have vetoed this. i kind of assumed you had given up on it :)

always picking the "top" choice even when there are multiple option with a similar score makes the AI worse. not better.
Should we be instead adding randomized choices to deity AI?
 
Surprisingly seeing this many yes votes. Feel like all the discussion in proposal thread got ignored or something.
Ilteroi already clarified the current "random" choice is weighted thus would provide better choice overall than picking only top score. Did ppl miss that part ?
 
Surprisingly seeing this many yes votes. Feel like all the discussion in proposal thread got ignored or something.
Ilteroi already clarified the current "random" choice is weighted thus would provide better choice overall than picking only top score. Did ppl miss that part ?
No. It's better to get $10 instead of $1 100% of times, than 90% of times.
 
Throwing a game by trying something new isn't uncommon though, in this game or others. Exploration of what can work is sometimes half the fun. And as I understand, it sounds like deity (what you might consider "everyone doing their best") already does that. It's organic to try things that don't seem best every time, sometimes just because you're risking something paying off that usually doesn't.

I won't pretend like the AI is doing this super intentionally. I think this proposal is good, and I think leaving it as-is would be fine. I think what would be even better is making it an easy-to-toggle option, so that those who want "quick match" style games can play with random Progress Attilas, and those who want "try hard" mode can still play at their level, but against [allegedly] optimal play.
 
Throwing a game by trying something new isn't uncommon though, in this game or others. Exploration of what can work is sometimes half the fun.
It does make sense for players that can learn from this, but not for AI that doesn't. AI could learn from exploration if it was trained using a reinforced learning algorithm, but it's not the case for VP.
 
Status
Not open for further replies.
Top Bottom