Do We Know
-
- Video Poker Master
- Posts: 2925
- Joined: Tue Jan 09, 2007 6:55 am
Do We Know
Let me postulate for a moment.
Is one number(or whatever the RNG uses) assigned to each card or is this number assigned to groups of cards?
If assigned to each card I would suspect that the deal is absolutely random
If assigned to groups of cards, while still random, the number of winning combinations would be greatly reduced. For example, AAAAk would have fewer possible combinations than 279JK. Also, if assigned to groups of cards it would be simple to control the return, I.E. slotmachines.
I need to sleep at night.
Is one number(or whatever the RNG uses) assigned to each card or is this number assigned to groups of cards?
If assigned to each card I would suspect that the deal is absolutely random
If assigned to groups of cards, while still random, the number of winning combinations would be greatly reduced. For example, AAAAk would have fewer possible combinations than 279JK. Also, if assigned to groups of cards it would be simple to control the return, I.E. slotmachines.
I need to sleep at night.
-
- Video Poker Master
- Posts: 2269
- Joined: Tue Mar 13, 2007 9:54 pm
Let me postulate for a moment.
Is one number(or whatever the RNG uses) assigned to each card or is this number assigned to groups of cards?
If assigned to each card I would suspect that the deal is absolutely random
I need to sleep at night.
The method actually used works out to one number, one card.
I've never thought of the second method you mentioned, coding tables of actual card combinations and then assigning a number value to every combination - mongo tables!
Hope this helps you with the sleeping problem. If not, let me know and I'll send you the code from a VP program I wrote that does it. Spend some time looking at stuff like that at bedtime and you won't have any problem closing those eyes and keeping them closed. No, sirrreeeeeee...
Is one number(or whatever the RNG uses) assigned to each card or is this number assigned to groups of cards?
If assigned to each card I would suspect that the deal is absolutely random
I need to sleep at night.
The method actually used works out to one number, one card.
I've never thought of the second method you mentioned, coding tables of actual card combinations and then assigning a number value to every combination - mongo tables!
Hope this helps you with the sleeping problem. If not, let me know and I'll send you the code from a VP program I wrote that does it. Spend some time looking at stuff like that at bedtime and you won't have any problem closing those eyes and keeping them closed. No, sirrreeeeeee...
-
- Video Poker Master
- Posts: 1615
- Joined: Tue Oct 24, 2006 3:50 pm
I have no idea if this is the way IGT does it. But, the way I did it "back in the day" was to pick a number randomly between 1 and 65536 (2^16). That number is constantly changing so there is no predicting what it will come up with. Let's say it comes up with 31,198. I would then divide 31198 by 65536 to give 0.476043701171875. I would then multiply that number by the number of cards in my table. Say there were 47 cards left in the table so it would be 47*0.476043701171875=22.374053955078125 or ROUNDED down to 22. That would tell me to pick the 22nd card in the table for that selection.Note that I compressed the gaps out of the 52 card table so that the table decreased in maximum number of entries with each card selected so after selecting that 22nd card, there would now be a table with 46 cards or entries in it. Therefore, the next selection would once again go to the Random Number generator and pick another number between 1 and 65536, divide the selection by 65536 and multiply by 46 to get the next card.Of course when I loaded that 52 card table, I loaded it randomly so that 22nd card would be different each time after the "shuffle". It really wasn't necessary to randomly load the table that way, but it further increases randomness to do so so I did it.How did I "shuffle"? The same way as I selected a card. I picked a random number and did the divisions and multiplications to get a rounded number and what ever came up went into the position of the table I was working on. Repeat 52 times and you have a randomly shuffled deck. Like I said, I could have then just pulled the first 5 cards out and dealt them, but the extra randomness seemed to be a nice touch with the second random positioning. It was a fun exercise that used all indirect addressing for the "tables" being built.
-
- Video Poker Master
- Posts: 2925
- Joined: Tue Jan 09, 2007 6:55 am
cddenver
I think I'll pass on the offer of the sleeping pill. It is good enough to know : one card one number.
MikeA
Whoa!
In all seriousness, I am adding pieces of knowledge from everyone here.
I might know enough soon to hurt myself.
Faygo
I think I'll pass on the offer of the sleeping pill. It is good enough to know : one card one number.
MikeA
Whoa!
In all seriousness, I am adding pieces of knowledge from everyone here.
I might know enough soon to hurt myself.
Faygo
-
- Video Poker Master
- Posts: 2269
- Joined: Tue Mar 13, 2007 9:54 pm
I have no idea if this is the way IGT does it. But, the way I did it "back in the day" was to pick a number randomly between 1 and 65536 (2^16). That number is constantly changing so there is no predicting what it will come up with. Let's say it comes up with 31,198. I would then divide 31198 by 65536 to give 0.476043701171875. I would then multiply that number by the number of cards in my table. Say there were 47 cards left in the table so it would be 47*0.476043701171875=22.374053955078125 or ROUNDED down to 22. That would tell me to pick the 22nd card in the table for that selection.
I must not be QUITE as old as you. By the time I started doing that stuff, the language products I used included support for random number generation.
In Microsoft products, the standard RNG returns a value greater than or equal to zero, and less than 1 (.000000...to .999999...), with an even distribution. Multiply what you get by 52, drop the decimal places, and you'll end up with an integer value from 0 to 51. Check the value against the values already generated for a hand, to prevent duplicates. Voila.
I don't know how IGT does it either, but in a strict numbers sense it wouldn't be necessary for them to write their own RNG. A few years ago I tested the standard Microsoft RNG I described above to see if the results would pass one of the tests for randomness that are in the Colorado regs, and it passed. For the last couple of years Microsoft has been including an additional, more advanced RNG in their products, intended for password generation and cryptographic applications. That could be used. I'm sure there are also other commercial RNG's that IGT could use as well.
I must not be QUITE as old as you. By the time I started doing that stuff, the language products I used included support for random number generation.
In Microsoft products, the standard RNG returns a value greater than or equal to zero, and less than 1 (.000000...to .999999...), with an even distribution. Multiply what you get by 52, drop the decimal places, and you'll end up with an integer value from 0 to 51. Check the value against the values already generated for a hand, to prevent duplicates. Voila.
I don't know how IGT does it either, but in a strict numbers sense it wouldn't be necessary for them to write their own RNG. A few years ago I tested the standard Microsoft RNG I described above to see if the results would pass one of the tests for randomness that are in the Colorado regs, and it passed. For the last couple of years Microsoft has been including an additional, more advanced RNG in their products, intended for password generation and cryptographic applications. That could be used. I'm sure there are also other commercial RNG's that IGT could use as well.
-
- Video Poker Master
- Posts: 3587
- Joined: Mon Oct 23, 2006 5:42 pm
From what I've been able to piece together IGT probably uses a simple chipset with minimal OS support. That means no RNG. Since they've had their RNG hacked once they are probably more cautious now and keep it proprietary.
-
- Video Poker Master
- Posts: 1615
- Joined: Tue Oct 24, 2006 3:50 pm
CDDENVER,The computer I wrote that on was a mainframe, not a microcomputer. Mainframes tend not to include "randomness", especially ones that are designed to process Banking applications . I was in "Hog Heaven" when Commodore came out with their Vic-20 which had BASIC built into the ROM and included a random number generator.
-
- Video Poker Master
- Posts: 3587
- Joined: Mon Oct 23, 2006 5:42 pm
Is one number(or whatever the RNG uses) assigned to each card or is this number assigned to groups of cards?
The method of assigning a number to a group was exactly what Truth Teller was claiming (you remember him? ). The fact this would cost significantly more money was ignored by him when I asked him why a VP manufacturer would bear all this extra cost at no benefit to them.
I do think the vast majority of players think all the hands are preprogrammed in a specific order. I'm sure they have no idea as to the amount of space required to hold this kind of data.
-
- Video Poker Master
- Posts: 2925
- Joined: Tue Jan 09, 2007 6:55 am
[QUOTE=faygo]
Is one number(or whatever the RNG uses) assigned to each card or is this number assigned to groups of cards?
The method of assigning a number to a group was exactly what Truth Teller was claiming (you remember him? ). The fact this would cost significantly more money was ignored by him when I asked him why a VP manufacturer would bear all this extra cost at no benefit to them.
I do think the vast majority of players think all the hands are preprogrammed in a specific order. I'm sure they have no idea as to the amount of space required to hold this kind of data.[/QUOTE]
I know your right, however, when I first started in the business world we had a dumb terminal sitting on our desk fed with information from a mainframe that took up the space of a house. Then we got a very low level computer that had some of it's own capabilities,
but, still relied on the mainframe for the majority of the information. Fast forward a number of years and we had all the computing power we could want sitting on our desk when we didn't have it undocked and with us running remotely. All the corporate databases we required were now housed in a space no bigger than a broom closet. At this point in time I came to realize when an IT(Information Technology) person told me it couldn't be done, too much data, the programs won"t talk to each other and on and on, I knew it just meant: Give me a couple of months.
Ah Truth Teller, who could forget, not that we don"t want to.
Is one number(or whatever the RNG uses) assigned to each card or is this number assigned to groups of cards?
The method of assigning a number to a group was exactly what Truth Teller was claiming (you remember him? ). The fact this would cost significantly more money was ignored by him when I asked him why a VP manufacturer would bear all this extra cost at no benefit to them.
I do think the vast majority of players think all the hands are preprogrammed in a specific order. I'm sure they have no idea as to the amount of space required to hold this kind of data.[/QUOTE]
I know your right, however, when I first started in the business world we had a dumb terminal sitting on our desk fed with information from a mainframe that took up the space of a house. Then we got a very low level computer that had some of it's own capabilities,
but, still relied on the mainframe for the majority of the information. Fast forward a number of years and we had all the computing power we could want sitting on our desk when we didn't have it undocked and with us running remotely. All the corporate databases we required were now housed in a space no bigger than a broom closet. At this point in time I came to realize when an IT(Information Technology) person told me it couldn't be done, too much data, the programs won"t talk to each other and on and on, I knew it just meant: Give me a couple of months.
Ah Truth Teller, who could forget, not that we don"t want to.
-
- Video Poker Master
- Posts: 2269
- Joined: Tue Mar 13, 2007 9:54 pm
CDDENVER,
The computer I wrote that on was a mainframe, not a microcomputer. Mainframes tend not to include "randomness", especially ones that are designed to process Banking applications .
Oops, my mistake. I still stand by my comment about your age, though . When I was in college I remember doing Monte Carlo simulations on a mainframe using FORTRAN 77, which did have a built in RNG. More of a language for scientific applications, so I guess you'd expect RNG support. Now I'm showing my age.
The computer I wrote that on was a mainframe, not a microcomputer. Mainframes tend not to include "randomness", especially ones that are designed to process Banking applications .
Oops, my mistake. I still stand by my comment about your age, though . When I was in college I remember doing Monte Carlo simulations on a mainframe using FORTRAN 77, which did have a built in RNG. More of a language for scientific applications, so I guess you'd expect RNG support. Now I'm showing my age.