On 3/4/2024 5:26 AM, Ian Shaw wrote: Since at least you care to continue this discussion, I will invest more of my time and effort mainly for the sake of improving GnuBG.
Sorry, MK, I didn't read back over the old threads,
It was in my a previous post in this current thread here but it's no big deal. However, if you are serious about discussing this issue, which one of many related ones, you really need to read at least this thread in RGB (which I had mentioned in my last post): https://groups.google.com/g/rec.games.backgammon/c/QU1jM9aatO0/m/peIBhLJNAgAJ There is a lot in there, including a bug that I had pointed out in "analysis.c" that had been there since 2014, which is still there. See lines 243-246 in 2022 and 272-275 in current version: https://cvs.savannah.gnu.org/viewvc/gnubg/gnubg/analysis.c?revision=1.241&view=markup https://cvs.savannah.gnu.org/viewvc/gnubg/gnubg/analysis.c?revision=1.263&view=markup Too bad that the development/maintenance team isn't hearing me.
You asked earlier about the GNUBG ID I used. It was: 4HPwATDgc/ABMA:cAkAAAAAAAAA This is the ID obtained after the sequence I suggested: 4HPwATDgc/ABMA:cAkAAAAAAAAA They are identical, so there is no indication in the ID to indicate whether it is the opening roll.
Let's clarify things. The starting position when you open GnuBG is 4HPwATDgc/ABMA:cAgAAAAAAAE at which analyze functions aren't yet available. 4HPwATDgc/ABMA:cAkAAAAAAAE (g changed to k) sets the game started flag (with nothing happened yet) and analyze functions become available. 4HPwATDgc/ABMA:cAgAAAAAAAA is the same position with the stupid JacKoby on :( Sorry for not being more careful. It makes a slight -0.0075 difference in the average equity of the position (+0.0989 vs +0.1064).
The Contact Net does not have an input for Opening Roll, which makes sense. The bot plays by maximizing the equity of the next position. The opening layout – with doubles prohibited - is never the next position.
Not the "equity" but the "equity difference" between the "from" position and the "to" position. The starting position has an average equity just like any other position except that it has two different equities depending on its initial and subsequent (recycled) occurrences. This is the issue here.
Comparing evaluation, Rollout as Normal Position, Rollout as Initial Position, we can see that the evaluation is close to the value of the rollout.
"Close" but not the "same" because the evaluation is based on erroneously including doubles in the average position equity even in the initial occurrence of the starting position! See the bug in the code above, which is only part of the reason. (Also see the attached temp map and eval images).
The rollout as the initial position is lower since it doesn’t include those useful doubles.
That's why I had asked if bot's auto-playing was the same as roll-outs... If you paste the 4HPwATDgc/ABMA:cAkAAAAAAAE and look at the temperature map, you can see that the average position equity of +0.1064 includes doubles and is almost twice what it should be +0.0521 (a difference of +0.0543). This makes all subsequent equity and luck calculations wrong! since they are all based on the equity difference between two positions, before and after what is rolled (and how it's played). If a bot is claimed to be superior to humans, it can't contain such inaccuracies...
I don’t think the value of 0.36 ppg for cube ownership that we both obtained is a "coincidence". I think it's evidence that your script is a good emulation of a rollout.
It wouldn't be a coincidence for it to be "close enough", based the above facts, but it being exactly the same must have been a coincidence.
If you think 0.36 is inaccurate, I’m open to persuasion. Do you have a theory as to why it’s wrong, or what you think the correct value is?
I believe I have provided enough factual evidence above...
Regarding the equity at the beginning of the game, I’m not aware of any “age-old fallacy”. It's well established that winning the opening roll confers an advantage. I don’t think there's any theory that says the equity (between equal opponents) is non-zero before the opening roll.
There wasn't/isn't. That's what I'm calling "a fallacy" because the equity between equal players before the "opening roll" isn't zero. You all confuse "before the game starts" and "before the opening roll" because in GambleGammon (what I call the BG variant played with the cube), deciding who goes first and the opening roll happen simultaneously. Imagine we are equal players wanting to play just one game. You roll your die with your eyes closed and ask who won the opening roll. I say you did. At that point you are on roll but haven't rolled the opening roll yet, (your eyes are still closed and you don't yet know the numbers lying on the board). For having won the opening roll, you already accrued an average +0.0521 equity. In fact, I'd argue that with the cube centered, you should be allowed to double if you want before you open your eyes but this is a whole different subject and for one of the experiments that I have done and will share soon. So, now you open your eyes and see your "opening roll" which just happened now, after the game had actually started prior to it...
Indeed, the construction of most match equity tables is based on the equity at the start of the game being zero (unless they are assuming unequal players).
Well, then, they must be all wrong. The false argument that was offered in the above linked RGB thread was that in the long run both sides will win the opening roll an equal number of times and thus their equity difference is zero, which is again the fallacy. Calculating the average equity after one million trials isn't the same thing as assuming that two equal players will play a million games and base equity tables on that. You have to take each game separately, as though it will be the only game played. In that case the equity gained by winning the opening roll makes a difference. This is my argument. Anyone should feel free to provide argument to the contrary. MK