Questionable social AI evaluation
tnevolin opened this issue · 3 comments
Line 376 in dd260b7
This block adds bias for soc_priority_model within soc_priority_category and subtract bias for all other models in this category except default one.
Line 382 in dd260b7
What this one does? As I understand it adds bias to currently tested model if faction current SE choice is soc_priority_model within soc_priority_category and subtracts bias for all other choices in soc_priority_category category except default one. This logic does not take currently tested category and model into account. Meaning all models in all categories besides the soc_priority_category will get the same bonus/penalty. Is this an intended logic?
I'm not sure what you're trying to report here or with the other issue, or whether the issue relates to actual Thinker version or forked code. But I haven't noted any issues with the variable presented here. It's a very simple and I'd say elegant solution for the AI's SE preferences. Works like this:
- If the current choice is AI's preferred social model, add bias value.
- If the current social model in preferred social model category is frontier choice, add nothing.
- If the current social model in preferred social model category is non-frontier and different from the preference, then decrement by bias value.
Values like 10...20 are "moderate" priority, the AI may sometimes switch out of preferred choice for pop booming, but that's about it.
Apologies. I copied wrong line number from the other issue. Updated and also added more details in the description.
That scoring function evaluates a new social choice given by sf and sm parameters (social field, social model). You need to account for the case that those parameters represent a social field that does not contain the faction's preferred choice. It can't just check if sf/sm match the preferred model, because it might be selected anyway in the faction's actual SE settings and the new choice would not change it.