Author
|
Topic: 4:2:1... is WotC right? (This is mainly for programmers and WotC) *Very Long Read!!*
|
Psigh
Member
Member # 88583
|
posted July 03, 2002 05:13 PM
If you want to skip right to the code, go down to the second place I have code. However, it would be easier to understand if you read the entire post. WotC, this would be helpful for you to read.
Most people agree that you should have 2 Basic for every Stage 1 and 2 Stage 1 for every Stage 2. Of course, you can only have 4 of any card other than Basic Energy Cards, so this is what I think everyone is saying you should have if you have more than one Stage 2.
4:4:2 4:4:3 4:4:4
And of course, if you have one Stage 2, 4:2:1.
Well, lets look at it, using math.
If you have 4 of one card, you have a 1 in 15 chance of drawing it for every card you draw, 2 of any card, 1 in 30, and 1 of any card, 1 in 60.
This is where the math gets tricky. Once you have drawn a card, the are less cards left in your deck!! Since counting it with or without prizes doesn't matter much, and counting it with or without a hand doesn't matter at all(for obvious reasons), I will assume that we are simply drawing one card at a time.
So, when draw 1 card, from now on, I will refer to this as &8220;DrwCrd&8221;. In this scenario, we have a 4:2:1 ratio. Programmers will find this familiar. Also, B is the number of Basic Pokemon, S1 is the number of Stage 1 Pokemon, and S2 is the Number of Stage 2 Pokemon. So, StartLoop Start the loop DrwCrd Chance B = 4:60 - CardsDrawn Because the more cards you draw, the more of a chance for drawing any one card because there are less cards in your deck.. Chance S1 = 2:60 - CardsDrawn Chance S2 = 1:60 - CardsDrawn If B = Drawn then B = B + 1 If S1 = Drawn then S1 = S1 + 1 If S2 = Drawn then S2 = S2 + 1 CardsDrawn = CardsDrawn + 1 This is at the end of the loop because it randomly selects what card you have drawn after you drew it, so if you say there are 59 cards in your deck right after you draw a card, it will think there are 59 cards in the deck when it randomly decides what card was draw End Loop Go back to StartLoop
Now, there is that for now. Also, you have too remember that you need too play a Stage 2 on a Stage 1 and a Stage 1 on a Basic(not always, but most of the time). So having a Stage 1 and no Basic is completely pointless. B is the number of Basic Pokemon, S1 is now the number of evolved Stage 1 Pokemon, and S2 is now the number of evolved Stage 2 Pokemon. Also, I will take out &8220;DrwCrd&8221; because now we assume every loop that we do draw a card. We will have to edit the loop to make this true, and some of the lines may be split, but these should be obvious... so here goes:
StartLoop Start the loop DrwCrd Chance B = 4:60 - LoopCount Because the more cards you draw, the more of a chance for drawing any one card because there are less cards in your deck Chance S1 = 2:60 - LoopCount Chance S2 = 1:60 - LoopCount If B = Drawn and B < 4 then B = B + 1 If S1 = Drawn and S1 < 2 and B >= S1 + 1 then (S1 = S1 + 1 and B = B - 1) else S1andNoBasic = S1andNoBasic + 1 If S2 = Drawn and S2 < 1 and S1 >= S2 + 1 then (S2 = S2 + 1 and S1 = S1 -1) else S2AndNoStage1 = S2AndNoStage1 + 1 Loopcount = Loopcount + 1 This is at the end of the loop it because randomly selects what card you have drawn after you drew it, so if you say there are 59 cards in your deck right after you draw a card, it will think there are 59 cards in the deck when it randomly decides what card was drawn. If B > 0 and S1andNoBasic > 0 then (OldS1andNoBasic = S1andNoBasic and S1andNoBasic = S1andNoBasic - B and B = B - (OldS1andNoBasic - S1AndNoBasic) If S1 > 0 and S2andNoS1 > 0 then (OldS2andNoS1 = S2andNoS1 and S2andNoS1 = S2andNoS1 - S1 and S1 = S1 - (OldS2andNoS1 - S2AndNoS1) End Loop Go back to StartLoop
AHHH!! Yikes, well, I just wrote a pseudo program to find the probability of having any card ready to evolve.
Soon, I will actually write this in C++ to see what the probability is of having a Stage2 in play (assuming you evolve it from a stage 1), and see if Master Trainer Mike is right about 4:2:1.
Of course, anyone who wants to do it themselves, you can try... I tried to make the variable names as easy as possible to understand... but I will go ahead and describe all of them.
B = How many Basic Pokemon you can have in play.
S1 = How many Stage 1s you can have in play. In other words, a Basic Pokemon and a Stage 1.
S2 = How many Stage1s you can have in play. In other words, a Stage 1 and a Stage 2. Not that to have a Stage 1, you need a Basic.
S1andNoBasic = How many Stage 1s you have and no Basic to evolve from.
S1andNoS1 = How many Stage 2s you have and no Stage 1 to evolve from. Note, to have a Stage 1, you would have already needed a Basic.
OldS1andNoBasic = The value of S1andNoBasic before it goes through a certain calculation (for comparison with S1andNoBasic).
OldS1andNoBasic = The value of S2andNoS1 before it goes through a certain calculation (for comparison with S2andNoS1).
Drawn = If anything equals Drawn, then it was drawn this turn. CardsDrawn = The number of cards you have drawn. This is important because the more cards you draw, the less cards in your deck so the more chance you have of drawing any one other card.
The Chance function is just a randomizer, and the ration next to it is the chance that those cards are drawn. Also, my IF...THEN Statements go like this:
IF boolean expression THEN (all of the results separated by ANDs) ELSE (all of the results separated by ANDs [ ELSE is optional])
Example 1: IF there is no road THEN people would be less likely to drive there. Example 2 : IF someone has a bad deck THEN the will probably lose AND make a new deck [or] ELSE they might never win.
Example 3 : IF there are 4 pieces of pizza left AND 5 people wanted a piece THEN not everyone would get one.
Sorry, this post is extremely long, but I hope at least Wizards see this and decides to see if they are giving the correct information about the ratio (I am sure they have programmers there). Once you have a programm written you can tell if 4:2:1 is a good ratio, or see what chance you have of getting your Stage 2 (or Stage 1) out in play. While I am going to make this into a program, I hope some other person tries too so this wasn&8217;t a total waste. [ July 03, 2002, 05:26 PM: Message edited by: Psigh ]
-------------------- That is Psigh as in Psy... ...!
See You Space Cowboy...
From: Austin Tx. | Registered: Jun 2002
| IP: Logged
|
|
Psigh
Member
Member # 88583
|
posted July 03, 2002 05:27 PM
If there are any mistakes, tell me!!
-------------------- That is Psigh as in Psy... ...!
See You Space Cowboy...
From: Austin Tx. | Registered: Jun 2002
| IP: Logged
|
|
yoshi1001
Member # 825
|
posted July 03, 2002 05:43 PM
Well, here's the code for the program I made to compute the mulligan odds. I think it can be adapted for various purposes:
code:
#include "apvector.h"
main() { int num1; cout<<"Basic Pokémon Mulligan Probablity\n"; for (num1=0;num1<=60;num1++) { double prob=0; apvector <double> list (7,0); for (int i =0;i<7;i++) { list[i]=(double(num1)/(60-i)); } for (int i =0;i<7;i++) { double x=1; if(i!=0) { for(int j=0;j<i;j++) { x-=(x*list[j]); } } prob+=(x*list[i]); } if (num1>53) { prob=1; } cout<<num1<<": "; if (num1<10) cout<<" "; cout<<" "; cout<<(1-prob)*100<<"\%\n"; } return 0; }
-------------------- Visit Pokéwatch!
Listen to PIRN, the Pokémon Internet Radio Network. We have interviews with Master Trainer Mike, Kierin Chase, and more, as well as your favorite Pokémon music! PIRN: The number 1 Pokémon Internet Radio Station!
PIRN: The Magazine
PIRN Message Boards
GCAbGEbGF
AIM: yoshi1001
From: Janesville, Wisconsin | Registered: Feb 2001
| IP: Logged
|
|
Psigh
Member
Member # 88583
|
posted July 03, 2002 05:48 PM
That would work, Yoshi1001, but you could get away with prob having single precision, not double. Other than that, good program!! Glad to know there is another programmer here!! Is C++ you main language? [ July 03, 2002, 05:50 PM: Message edited by: Psigh ]
-------------------- That is Psigh as in Psy... ...!
See You Space Cowboy...
From: Austin Tx. | Registered: Jun 2002
| IP: Logged
|
|
Psigh
Member
Member # 88583
|
posted July 03, 2002 05:52 PM
I will have the program I gave written in C++ by the end of today. I will post the code.
-------------------- That is Psigh as in Psy... ...!
See You Space Cowboy...
From: Austin Tx. | Registered: Jun 2002
| IP: Logged
|
|
yoshi1001
Member # 825
|
posted July 03, 2002 06:00 PM
I originally had just floats, but then it erronously reported some sub 54-basics decks would never mulligan.
-------------------- Visit Pokéwatch!
Listen to PIRN, the Pokémon Internet Radio Network. We have interviews with Master Trainer Mike, Kierin Chase, and more, as well as your favorite Pokémon music! PIRN: The number 1 Pokémon Internet Radio Station!
PIRN: The Magazine
PIRN Message Boards
GCAbGEbGF
AIM: yoshi1001
From: Janesville, Wisconsin | Registered: Feb 2001
| IP: Logged
|
|
Psigh
Member
Member # 88583
|
posted July 03, 2002 06:03 PM
What compiler was it
I have found that by multiplying all numbers, say, by 1000 and then integer dividing at the end it gets pretty accurate results. [ July 03, 2002, 06:04 PM: Message edited by: Psigh ]
-------------------- That is Psigh as in Psy... ...!
See You Space Cowboy...
From: Austin Tx. | Registered: Jun 2002
| IP: Logged
|
|
|
Psigh
Member
Member # 88583
|
posted July 03, 2002 06:08 PM
You should read what I said at the end of my last post... edited it too late. Well, that isn't a bad compiler... Well, back on topic: you should give that program to WotC... I think they need it! [ July 03, 2002, 06:08 PM: Message edited by: Psigh ]
-------------------- That is Psigh as in Psy... ...!
See You Space Cowboy...
From: Austin Tx. | Registered: Jun 2002
| IP: Logged
|
|
mercad
Member
Member # 22435
|
posted July 04, 2002 12:41 AM
you know i tried to put that program on my webpage to test it out... it doesnt work... maybe put that into my java runing program...does it not work on html?
-------------------- Team Delibird Co-Leader
"Don't be touching your little delibird"
Buk Buk
Merc: Gengar dont make me pull out the big guns DMTM: NO! don't he's my friend Gengar: GENGAR! Merc: Ok! Go DELIBIRD! Delibird: Deli... Delibird Merc: Delibird use present! Delibird: DELI! Gengar: ?_? Gengar: GENGAR! DMTM: Looks like were blasting off again
From: Rancho Cucamunga, California, United States | Registered: May 2001
| IP: Logged
|
|
yoshi1001
Member # 825
|
posted July 04, 2002 08:37 AM
The program I wrote there is in C++. I've modified it into a general TCG probability application, but i can only compile it for the Macintosh. I'll try to post up the Mac version soon.
-------------------- Visit Pokéwatch!
Listen to PIRN, the Pokémon Internet Radio Network. We have interviews with Master Trainer Mike, Kierin Chase, and more, as well as your favorite Pokémon music! PIRN: The number 1 Pokémon Internet Radio Station!
PIRN: The Magazine
PIRN Message Boards
GCAbGEbGF
AIM: yoshi1001
From: Janesville, Wisconsin | Registered: Feb 2001
| IP: Logged
|
|
lurili
Member # 87
|
posted July 04, 2002 11:45 AM
Very interesting outlook. But there is one flaw which has is what can never truly be mirrored, not even when Physics is brought into it (although it comes near (note not close)).
When a deck is shuffled, certain factor's of randomnization are brought into the probability equations. This is to say you have two stacks shuffled into each other. Stack 1 has more cards than Stack 2, therefore there goes one extra factor. Than a second shuffle where the cards have already been bent a bit from the first shuffle means they don't get shuffled perfectly. Afterward a cut throws the system off balance. -_-;;;
Trust me when I say this, WotC's suggestion is OBVIOUSLY no where near right as one finds out from experience. It is just a guide for those beginning the game as to what the higher level process for deck building involves. I mean, I've ran 2-2 lines and had it execute easily. From that you can go into Draft, such as Growlithe's and Arcanine's. They are both Uncommon so at a 1 to 1 ratio of pick (usually) you will end up with 3 of each or 2 Growlithe and 2 Arcanines in your Draft deck.
Lastly, card advantage, the single most misunderstood concept in every Trading Card Game. Your opening hand's worth and how your plays come about is all dependant on how many cards you can get as compared to your opponent involving your resources and card drawing capabilities. This comes from the Trainer equations on Versatility and Technical Advantage (as well as the mock and end product equations for Trainers). This is to say that if you don't start with an Oak but start with a Bill and a Computer Search, what is to say you draw a card to use a Computer Search for another Bill which makes you go into a Professor Oak is all a system? The fact of you finding 1 Oak of 4 in your deck is mathematical, but beyond that, of shuffling your deck and drawing 2 cards and one being the Oak, very slim and almost impossible to calculate because remember, you've just re-shuffled your deck. (And lastly, it's not that long a read, especially since it's enjoyable Great article
-------------------- lurili: The original InSaNe player.
Proud leader of tNsn
The Pokemon Ruins InSaNiTy leads to Chaos.
InSaNiTy X: Record - 48,890-1098
From: SoFla Style (Miami!!!) | Sanity: None | Mind: Fried | Registered: Feb 2001
| IP: Logged
|
|
yoshi1001
Member # 825
|
posted July 04, 2002 12:51 PM
Of course, computers do not "shuffle" the same way people do. I've noticed it eaiser to win games of computerized solitare than real solitare. Pokémon cards in reality tend to clump together in certain patterns, thus making true randomness hard to acheive through shuffling.
-------------------- Visit Pokéwatch!
Listen to PIRN, the Pokémon Internet Radio Network. We have interviews with Master Trainer Mike, Kierin Chase, and more, as well as your favorite Pokémon music! PIRN: The number 1 Pokémon Internet Radio Station!
PIRN: The Magazine
PIRN Message Boards
GCAbGEbGF
AIM: yoshi1001
From: Janesville, Wisconsin | Registered: Feb 2001
| IP: Logged
|
|
Psigh
Member
Member # 88583
|
posted July 04, 2002 12:59 PM
Thank you, lurili, I too have found that you don't need that many Basic for the Stage 1. In fact, you only have a few percent higher chance of being able to eveolve into a Stage 1 if you have 3:2 rather than 2:2!! Same with even 2:1 to 1:1!!
Also, there is a problem in what I am doing: You will ALWAYS be able to evolve it!! The difference is what turn you get it!! So we should be asking what it turn it should evolve, and you be able to eveolve at almost exactly the same time with 3:2 as 2:2!! Think about it!! It is like a bottle neck, you won't be able to evolve it untill you get both of them, so, suposedly, there would be almost no difference.
[b]Note: my program would still work, it actually would find what turn it would evolve anyways!![b] [ July 04, 2002, 01:02 PM: Message edited by: Psigh ]
-------------------- That is Psigh as in Psy... ...!
See You Space Cowboy...
From: Austin Tx. | Registered: Jun 2002
| IP: Logged
|
|
lurili
Member # 87
|
posted July 04, 2002 07:29 PM
Dratz, the bottleneck. Don't reveal too much about it (it's something I've been working on the new Modified scene with Trainers which don't allow you to play anymore Trainers that turn, it works under the bottleneck effect but with a twist of strategy as your play adds to supposed consistency which leads to randomness of the draw after your shuffle such as Professor Elm...)
Anyhow, yeah, 3:2 would work better than 2:2 but as long as you have had the Basic in play atleast 1 Turn and you draw the Evo the next turn, the third basic can be omitted for a Trainer which would allow you to get the Evolution the next turn as Technical Advantage.
-------------------- lurili: The original InSaNe player.
Proud leader of tNsn
The Pokemon Ruins InSaNiTy leads to Chaos.
InSaNiTy X: Record - 48,890-1098
From: SoFla Style (Miami!!!) | Sanity: None | Mind: Fried | Registered: Feb 2001
| IP: Logged
|
|
lurili
Member # 87
|
posted July 04, 2002 07:38 PM
Oh, and yoshi! Friction and Stress points on pieces of cardboard are added factors. I once went over this with my Physics teacher (everyone who knows me knows this story...). We took an 8 Basic deck (I explained to him what I was trying to acheive) and a 10 Basic deck. Each was shuffled mutliple times using Apprentice and real life shuffles. This was plotted and then analyzed with the added factors which I have mentioned. We took the old equations of probability up on the old 'Gym and added wind resistance and the friction at which a card is shuffled and the intensity of the slip motion in the card. Our conclusion were near what you would get with the equation Psigh has noted but with a twist! O_o We never expected it but the real chance of drawing a Basic in a 8 Basic deck is around 62%-65%, as opposed to probability which would say it's less than 30%. The fact that clumps occur because of erratic factors such as body heat as well meant that once an opponent cut the deck it threw off our expected analyzations. Therefore, our conclusion was correct whenever the event occured, but still correct when it didn't occur because the event was not supposed to occur under the given randomnization factors added. This can go really far...
-------------------- lurili: The original InSaNe player.
Proud leader of tNsn
The Pokemon Ruins InSaNiTy leads to Chaos.
InSaNiTy X: Record - 48,890-1098
From: SoFla Style (Miami!!!) | Sanity: None | Mind: Fried | Registered: Feb 2001
| IP: Logged
|
|
yoshi1001
Member # 825
|
posted July 04, 2002 10:08 PM
Where did you get that under 30% figure from? Statitistically, an 8-basic deck will produce at least one basic is about 65.3594%.
-------------------- Visit Pokéwatch!
Listen to PIRN, the Pokémon Internet Radio Network. We have interviews with Master Trainer Mike, Kierin Chase, and more, as well as your favorite Pokémon music! PIRN: The number 1 Pokémon Internet Radio Station!
PIRN: The Magazine
PIRN Message Boards
GCAbGEbGF
AIM: yoshi1001
From: Janesville, Wisconsin | Registered: Feb 2001
| IP: Logged
|
|
lurili
Member # 87
|
posted July 04, 2002 10:11 PM
In terms of probability, not what has been discussed. 8 of 60 is 13%. Then prizes bring it down lower. That's what I was denoting there. Because yeah, we found it to be around 65% in our analyzation.
-------------------- lurili: The original InSaNe player.
Proud leader of tNsn
The Pokemon Ruins InSaNiTy leads to Chaos.
InSaNiTy X: Record - 48,890-1098
From: SoFla Style (Miami!!!) | Sanity: None | Mind: Fried | Registered: Feb 2001
| IP: Logged
|
|
yoshi1001
Member # 825
|
posted July 04, 2002 10:21 PM
quote: Pokémon Trading Card Game "Draw 1 or More" Odds Finder 1.0 By Steven Reich ([email protected])
Note: Odds produced by this program assume a deck that has been sufficiently randomized. The author of this program makes no warranty as to their accuracy in a real-life situation.
Quantity of card in the deck: 8 Number of cards to be drawn: 7 Number of cards in deck: 60 Odds of drawing 1 or more: 65.3594%
Prizes don't figure into whether or not you get a basic, sice you draw your opening hand before placing prizes.
Quite frankly, I think that statistical analysis is only good to a point. Rarely are enough games played to allow for such a thing to be useful.
-------------------- Visit Pokéwatch!
Listen to PIRN, the Pokémon Internet Radio Network. We have interviews with Master Trainer Mike, Kierin Chase, and more, as well as your favorite Pokémon music! PIRN: The number 1 Pokémon Internet Radio Station!
PIRN: The Magazine
PIRN Message Boards
GCAbGEbGF
AIM: yoshi1001
From: Janesville, Wisconsin | Registered: Feb 2001
| IP: Logged
|
|
mercad
Member
Member # 22435
|
posted July 05, 2002 12:11 AM
then u must estimate the chance that withen those cards, u may still put in 6 of your basics into your prizes,or you may not put any, I have estimated a 41.66% that u will have that basic if you have all non-basic prizes, since the minimum percentage of a basic being in your hand in a 8 basic deck is 13.33%, u may average the maximum (41.66) and the minimum (13.33%) to create the percentage of your basic being in your hand at 27.495%. See we have slots that cards may be placed into, due to friction, and the possibility that are cards may be clumped due to a human shuffle gives you a greater chance of getting a basic, but may also give you a lower chance of that basic too. Due to draw cards, all that you need is 1 basic, increasing your odds of getting many basics out on the feld at once. Giving you 16 draw cards that allow you to shuffle your hand and draw 7 cards your odds of getting more basics out at once triple, I beleive that is right, but never play againest the odds, and never play with the odds when using luck
-------------------- Team Delibird Co-Leader
"Don't be touching your little delibird"
Buk Buk
Merc: Gengar dont make me pull out the big guns DMTM: NO! don't he's my friend Gengar: GENGAR! Merc: Ok! Go DELIBIRD! Delibird: Deli... Delibird Merc: Delibird use present! Delibird: DELI! Gengar: ?_? Gengar: GENGAR! DMTM: Looks like were blasting off again
From: Rancho Cucamunga, California, United States | Registered: May 2001
| IP: Logged
|
|
yoshi1001
Member # 825
|
posted July 05, 2002 12:44 PM
I'm sorry, mercad, but the math you have just doesn't check out. as I said, prizes never factor into mulligans because cards are drawn before then.
-------------------- Visit Pokéwatch!
Listen to PIRN, the Pokémon Internet Radio Network. We have interviews with Master Trainer Mike, Kierin Chase, and more, as well as your favorite Pokémon music! PIRN: The number 1 Pokémon Internet Radio Station!
PIRN: The Magazine
PIRN Message Boards
GCAbGEbGF
AIM: yoshi1001
From: Janesville, Wisconsin | Registered: Feb 2001
| IP: Logged
|
|
lurili
Member # 87
|
posted July 05, 2002 02:27 PM
His numbers don't come out but his reference is correct in the assumption of what card you draw first in correlation with what you drew in your opening hand.. [ July 10, 2002, 03:43 PM: Message edited by: lurili ]
-------------------- lurili: The original InSaNe player.
Proud leader of tNsn
The Pokemon Ruins InSaNiTy leads to Chaos.
InSaNiTy X: Record - 48,890-1098
From: SoFla Style (Miami!!!) | Sanity: None | Mind: Fried | Registered: Feb 2001
| IP: Logged
|
|
|
Porygone3
Member
Member # 73689
|
posted July 06, 2002 09:07 PM
-------flat line brain explodes.
-------------------- Erica total 24, thats right, 24. Dunsprace total 41. I've gotten 98 on that Machoke at work game. I beat Driving Corasola. I almost beat the record in Hold Down hip hop. I got 2000 or so in Kinglers day. I got 7 in Rapadash's dash. Butterfree's Flower Power 4700. 123 In Jumping Dodoro. My all foil deck is finished.
"I've got floating engery." "I've got counter productive Powers."
"One heart can make a diferance." "Rock the world baby, rock the world." "Roll out!!"
From: USA | Registered: Mar 2002
| IP: Logged
|
|
lurili
Member # 87
|
posted July 10, 2002 03:44 PM
This is the good ol' true PokeGym stuff Johnny
-------------------- lurili: The original InSaNe player.
Proud leader of tNsn
The Pokemon Ruins InSaNiTy leads to Chaos.
InSaNiTy X: Record - 48,890-1098
From: SoFla Style (Miami!!!) | Sanity: None | Mind: Fried | Registered: Feb 2001
| IP: Logged
|
|
|