Hrqls: I am here 18 months only, and I have already won 32 backgammon tournaments (and 159 in total). One of them was a 21-point round-robin.
It really depends a lot on which tournaments, and who is in there. There are about a dozen players you should avoid, without them this tournament would have been done in two to three months; but a single one of them is enough to drag it to 5 years.
happyjuggler0: 13 Point match, and two of them per player? The creator definitely should have used the Fischer Clock for timing it. Even so, that's a lot of games.
Czuch: I agree with those who've stated that your opponent should have doubled at every opportunity at this match score, beginning with their very first turn. Each opportunity they missed was a mistake. At this point--now that they've gained just a single point--they should be thinking: "If only I had doubled sooner, and my opponent had taken! If I'd won, I'd only have been 2 points away from victory--and that would have meant my only needing to win 1 more game, because I'll double immediately in the next game, too."
I believe that you were correct to pass when you did, Czuch. At that point, your opponent was about a 60% favorite to win the game. You must also consider the relatively few--but exceedingly painful--gammon losses that could instantly lose the match with the cube on 2. All considered, it's a bit too much risk for you to be taking. By passing, you only allow your opponent's match winning chances to creep up slightly--from 31% when this game began, to 32.26% now that the match score has reached 3 away / 1 away. You're not sacrificing much by doing that.
Czuch: i think his double was a good one to offer .. and you were good to decline
he is trailing, and you only need 1 point .. so he could have offered the double on the first move in that game, but he could also wait for a position like this and hope you might accept where you should not have ..
he can hit you, and he has 1 single in his home, but so you do .. i think he is slightly the favorite ..
but dont put too much value into what i write .. i am just a beginner who plays by feeling, and not by any real analysis :)
Czuch: I really dont mind my position in this game... he has a few open pieces and I can easily turn it around in a move or two.... but I dont need two wins, and I think it is more advantages for him to win a double than for me to lose one.... I might have even sent a double request the first move of the game if I were in his position.... why not right? So anyway... I think I will give him this one and hope he doesnt go on a dice run on me.
Walter Montego: ~~I do not understand your programming code listed
That's not my code, that Aganju's post. Fortunately it's not necessary to understand it unless you have reason to tweak it. Most programmers treat random number generators as a black box. "Give me a random number" is all that needs to be understood.
At DailyGammon the dice generation is taken to extra lengths. The RNG uses a library routine, such as the one that Aganju showed, but it also uses physically generated random numbers from random.org, which provides values generated from atmospheric radio noise. But even then, the programmer doesn't care how the calculated numbers are actually calculated. He calls the black box for one random number, gets another from random.org and combines them. In this way, any biases in either source are removed by the randomness of the other.
~~why is it that the first number generated is not random? This was something I had a teacher tell me forty years ago. It is still the case?
It's never been the case as far as I'm concerned but my programming only goes back thirty years. Even so, I'm surprised at what your teacher said. If he was correct then the solution is as simple as you suggested.
~~why start each roll over in a game? Why not just pick say 200 numbers and store them until needed for each game.
This doesn't produce any more randomness that calculating the numbers one at a time. As it requires storage and extra programming there needs to be a distinct advantage. It would also take more time, although that's not a huge consideration on modern hardware. Whatever length of buffer you had, you'd be generating more rolls than you need and throwing the unused ones away at the end. (Using them in another game just adds more programming effort and complexity).
Aganju: ~~I think you misunderstood me. Of course, seeding every time as well as seeding only with the minutes is not a good idea; this was my try to reverse-engineer the experienced behavior here on BK.
That doesn't make sense. if you know it's a bad idea, why would you suggest it as the likely reason?
~~As I wrote below, if I play a move in five games within one minute, all my opponents have the same roll afterwards. That seems to point to a) the roll for the opponent is made the moment I send my move, and
This is certainly the case in games with auto-pass as it's necessary to know whether or not the opponent is blocked.
~~b) the minute is used for seeding every time, so that would explain why they all have the same roll. That's only a guess, of course, but one that explains what's happening.
I would assume a bug before considering bad programming of something so straightforward.
~~Because all my opponents answer at different times, typically this is not very obvious, but if you note it down, you can check the games and verify that they all roll equal.
I think a much better reason than positing poor programming is to suspect the data acquisition. If you've done a Masters degree then you know that it's all about evidence - extensive and methodically recorded evidence. If I were to take the claim seriously then I'd want to see what you've got.
I am in a Grashoppers game where bth players cannot make moves anymore (5774462), but the rules have no plan for it, and neither has the server. So we are stuck in an infinite game!
I do not understand your programming code listed PlayBunny. I think if I was going to program dice for Backgammon, I would program each die separately and then display them together. And why is it that the first number generated is not random? This was something I had a teacher tell me forty years ago. It is still the case? Well then, just ignore the first number and start on the second. And why start each roll over in a game? Why not just pick say 200 numbers and store them until needed for each game. In the unlikely event they all get used up, do it again.
playBunny: I think you misunderstood me. Of course, seeding every time as well as seeding only with the minutes is not a good idea; this was my try to reverse-engineer the experienced behavior here on BK. As I wrote below, if I play a move in five games within one minute, all my opponents have the same roll afterwards. That seems to point to a) the roll for the opponent is made the moment I send my move, and b) the minute is used for seeding every time, so that would explain why they all have the same roll. That's only a guess, of course, but one that explains what's happening. Because all my opponents answer at different times, typically this is not very obvious, but if you note it down, you can check the games and verify that they all roll equal.
A good (pseudo-)random number generator consists of multiplying a stored number with a large prime, and dividing by another large prime, the division result is stored for the next round, and the division rest is normalized to be used as the 'random' number. The quality and equal distribution of the resulting sequence depends on the choice of the two primes, and as part of my work, we analyzed all primes up to 1 billion for their resulting random number quality. I have kept the best result (I hope), and will look it up later and post it here.
I know that Fencer is rather good at what he does, and I know that a lot of people whined already about the random numbers here on BK, so I just gave up complaining myself. I just answered to someone else's comment about five times 5-5 in a row, and that it is unfortunately quite common to see that in opponents rolls if you play fast. ...
Here is the C++ code from ~2001 with the best possible random numbers for numbers below 1 billion. It will return a double between 0 and 1, and needs to be normalized to the target interval (backgammon: 1-6).
double Rnd::Double (void) /* Linearer Kongruenzgenerator nach Afflerbach x[i+1] = x[i] * 27132 + 1 (mod 62748517), z[i] = x[i] / 62748517 Periodenlaenge 62748517, Beyer-Quotienten 0.969, 0.922, 0.819 Bestmoegliche Verteilung fuer Modul m <1e9 */ { static unsigned long xi = 0; int i; unsigned long z = 0;
if (xi == 0) xi = (unsigned long) time(NULL);
for (i=30; i>0; i--) { z <<= 1; if (xi & (1L << (i-1))) z += 27132L; while (z> 62748516L) z -= 62748517L; } xi = z + 1L; return ((double) xi / 62748517.0); }
Aganju: Part of my masters degree was about 'Pseudo random numbers', how to make them and how to analyze the quality. It's been a while, though.
It must have been a few decades ago if they were using the time as a seed for each random number.
Except that even then the time wasn't used to obtain each random number because you don't seed for each random number, you seed the generator once, when you first start using it.
Aganju: the routine uses the current time as seed or so. If you make many moves within a minute, all your opponents get the same roll.
So that's balderdash and gives me every reason to doubt that you studied random number generators in any depth, if at all. Generated numbers have got nothing to do with the time and everything to do with the position in the sequence which, of course, changes every time you pluck a number out. That's even assuming that a mathematical random number generator is being used in the first place, which isn't necessarily the case.
Furthermore, if some junior programmer did make the mistake of reseeding the generator before every number, they'd have to be an idiot to take the computer time - accurate to milliseconds, if not microseconds or nanoseconds, and throw most of it away just to use the minute!
Fencer, by the way, isn't even remotely a junior programmer, nor is he an idiot, although pgt's observation is, unfortunately, correct.
Um, so why couldn't I roll five double fives in a row with regular dice? It is the first time I have done it here and I play a lot of games. Seems like such a thing could still happen randomly. Long odds still happen on occasion.
playBunny: Actually, yes. Part of my masters degree was about 'Pseudo random numbers', how to make them and how to analyze the quality. It's been a while, though.
Aganju: I think the issue is that the routine uses the current time as seed or so. If you make many moves within a minute, all your opponents get the same roll. I have started to wait a full minute before re-rolling in dice poker, and it helps a lot to get a different result.
Walter Montego: I often see that here. The discussion has been had a thousand times, and Fencer claims the dice-rolling-routine is good, but I cannot believe that. I had nine of my opponents roll 6-6 in a row... In Dice Poker, everybody can count this for himself: if you select two dice for re-roll, 90% of the time the same numbers come up again. Just countit or a while.