Skill Level

Thanks for the good discussion guys. I appreciate your input. Just a few things I'd like to say...First off, I do believe there is true "skill" in Pokemon. I won't give examples just yet, but I truly believe some people are more skilled than others. That being said, and no one freak out when I say this please, adapting to the Shoddy Battle metagame does not make you good. If I wanted to, or anyone for that matter, I could go on Shoddy battle once a month, play for 1-2 hours, see which Pokemon/movesets are popular, and make a team to counter the current metagame. SePh did that in like 5 minutes, when Obi's stall team was popular. He played a few matches, came up with a team that we now call "The 5 minute metagame," and for that period of time when stall was popular, SePh's team was nearly unbeatable. What SePh did wasn't hard at all, it just took a little bit of common sense to realize that Garchomp with Outrage + Swords Dance late game and Jirachi dominated the current metagame. That's not what makes SePh good.

2 good players fighting against each other...Genuinely good. Almost all of the time, the current metagame is going to be ignored. What do you think seperates 2 good players from each other?


Ok, what I said above was just meant to show some of my thoughts on a few issues, but let's pretend I didn't say any of that. Let's start a mini discussion. Hmm...Going back to what MoP said about having experience...

I have only been playing Pokemon since July. I played through the one player mode, then, since I didn't know anything about team building, my friend gave me a team he created for me to use. I did lose in the beginning. I probably had a 20% win ratio lol. But by August...Just by August, I was already winning about 80% of my matches. A month has gone by. I started beating actual good players within a month. I couldn't figure out why I got good so fast. I decided to try a new team my friend BKK made for me. It was a popular type of team during the time period I was using it. Skarmory, Blissey, Cresselia, Garchomp, Tyranitar, Salamence. I played vs Kou, and lost 4-0. I played vs Stranger Danger, and lost 2-0. I couldn't beat good players anymore. I went back to my old team after a few weeks, and I was good again. That's when I realized, I'm only good with 1 team, but I'm really good with that team. Since July, I haven't changed my team once. Not once. I didn't even make the team. However, it's succesfully gone through every metagame change. The team succeeds in any environment, depending on how I play it. Obviously if I tell people my team, they'll most likely be able to counter it, but even then I feel I have a good shot at winning. To those of you who know my team, PLEASE DONT SAY ANYTHING. Oh, btw I'm not trying to say that my team's the greatest, I'm just trying to prove 2 points: You don't need to be playing Pokemon for 5 years to be good, and you don't need to shift your team depending on the metagame. But this brings up one question that I'm really curious to see everyone's answers.

If someone can beat every single player...But can only do it with 1 team...Does that make them good?

I mean, in a tournament that player would beat everyone else. They would claim first place. But the team they use for that tournament, that's the only team they can use to ever win...Good, or not?

2nd

Ok, going back to the Gyarados example. Say Gyarados is a popular lead. 90% of teams lead with Gyarados. Player A throws HP Electric on his lead, and sets his lead Pokemon's EV's to outspeed Gyarados. Player B knows that Gyarados is the most popular lead, but for the sake of his team's synergy, he does not remove Gyarados as his lead, and he uses the same moveset he's always used. When he sees a lead Pokemon that could carry HP Electric, he switches to idk Electivire, or a ground type. Now it's exactly even, like the start of a battle again. No damage has been done to anybody's Pokemon. This is more of the discussion I wanted to get into. Not so much changing your team to be good, but actual playing a match. The moves you make during a match.

Also, to everyone's whose name I mentioned, Stranger Danger, Kou, Obi, Aldaron...I'm not trying to argue or insult any of you, so don't be offended by anything I say please. Just a fun strategy discussion. ^_^
 
Obviously there is not one true formula for everyone, as seeing the last time I've checked, there is not a single person online who is undefeated. But since when isn't Pokemon anything BUT opinions?
 
True, no matter what you say someone's opinion is always going to change, but in your opinion...If someone can be the best player ever, never losing at all...But can only do it with 1 team...Are they good?
 
I like to differentiate between tiers. Here are the "tiers" of players I generally think in.

The New Kid.
These players don't know much. Let them play around, you don't know if they'll become good or bad.

The n00b.
Not per se new but doesn't know jack and doesn't want to learn. Thinks he's a god.

The Smogon-Lurker Type.
The ones who pick up strategies here and there but aren't that great with them yet. Often not too experienced.

The Middle Tier.
This is where the players are who win their fair share of games, but aren't considered great. Also not that adapt in coming up with new strategies/EV spreads.

Semi-Upper Tier.
Knows how to make a team complete with good EV spreads, but isn't yet sharp enough to mess with the best. Can catch the best off-guard though. I like to think I'm found at the lower end of this tier.

Upper Tier.
The best players. These players devise teams, sets (BOAH for example, or that stall team), and can win with a variety of teams.

The Strategists.
Gifted in Theorymon, but not as good at the simulators. Devise intruiging spreads/sets which are gladly used by others.



Myeah, think that's about right. The higher in the player tier, the better prediction usually is. I've been in Smogon-Lurker mode for quite a while, not being able to see what's coming.

Also, I don't think people who can use just 1 team are good. If said team is like Gyarados-Gengar-Blissey-Tyranitar-Garchomp-Skarmory, then I doubt you're really all that good. If said team however contains a lot of surprises and interesting techy Pokemon, then you're already better.
If you're skilled in playing the metagame though, THEN you're REALLY good in my book.

Not that many people care for my opinion but eh.
 
Ok, so, I'm just coming in on this topic so this response might be a little long. I'll start from the beginning and move along so...

What seperates the bad from the good...The great from the good...The best from the great? What makes the top players better from the rest?


That's not a very easy question to answer. Obviously there are "tier" levels as much in players as there are in pokemon. What seperates them? Well, most people are rated on their ability to win. What makes a "good" player more capable of winning than a "bad" player? There are many contributing factors:

Knowledge - This is a very important factor. I found in ADV that I was winning a lot after a very short period because I had learned the metagame at the time. But I would lose to players that I considered "not as good" as me because they would use things I wasn't familiar with. Knowledge is important in order to form predictions, to know what pokemon to switch to, to gauge how much damage you will take...you have to know what your opponent is capable of. So it's very important for a "good" player to know what he's up against. Not specific teams, mind you, but the pokemon and what they are capable of and what is most commonly expected of them.

Experience - Although this ties into the first (knowledge), I think it deserves its own mention. While you might "know" a vast array of things about the metagame or pokemon in general, experience is there to ingrain it into your memory. Experience is important in helping you to realize what the most common moves are, the most common switch in type to your perceived best move, etc.. Learning from your mistakes. It's all very important in growing as a player.

Intelligence / Skill
- This is probably the most important factor in determining who is the "best" or who fits in at the "top tier". Your ability to find patterns, to decide exactly what is the best move in any given situation, to be able to determine what your opponent is going to do based on your limited knowledge of their playstyle and your vast knowledge of the metagame. Intelligence, or skill, is the ability to apply your knowledge and experience in a way that allows you to win. Anyone can have knowledge, anyone can experience things; it's the ability to put that knowledge and experience to use that seperates people (in terms of "skill").

So "skill" is a combination of all three of those things, because all the intelligence in the world isn't going to help you if you don't know anything about the game, knowing everything isn't going to matter if you haven't experienced things (this is exemplified in paper vs. practice), and having tons of experience doesn't matter if you can't apply it.

Team Building

I don't think that it's nearly as important as skill. But, for a lot of people it is. Usually the difference between two very skilled players is the team that they bring with them. Or, it's what evens the field between a very skilled player with a bad team and a moderately skilled player and a good team. However, this fits into knowledge and experience. With experience and knowledge you can learn how to build a team, but I don't think this in itself contributes to your skill in battle. As that relies more on intelligence/skill while team building relies mostly on knowledge and experience.

MoP is arguing against prediction even being real, but that's completely wrong. It's you putting together your knowledge and experience and having the intelligence to apply it in a way that allows you to make the right move at the right time. A lot of the time you make moves that you feel are the best while you are figuring out their team and their playstyle and as you adapt to them your moves become more precise. It's definitely not luck. If you think one thing and they do another? You were simply wrong and made the wrong choice. It's not fortune it was in your hands. While you can say it's a "guessing game", these are educated guesses and it's up to you to make the right move.

You guys are really, really overrating experience and knowledge in comparison to intelligence/skill. What is experience? It's just the gathering of knowledge based on things that happen when you battle or based on things that people tell you, or you read etc.. But what does it mean, exactly, knowing all this stuff or having all this "experience" if you can't put it to use?

From personal experience I know that intelligence is a huge factor. I am terrible at building teams and I don't even have a full year of experience playing the game and I still find myself in battles where it only takes me a few turns to figure out exactly what the opponent is going to do, and it contributes a lot to why I win most of my battles. I don't have a lot of experience with the game (at least not in comparison to most of the people that are considered top tier), but I can still perform at the same level?

Experience and knowledge are very useful, yes, but "skill" or intelligence are much more important in determining who is better or worse.

if you know a person's playing style well enough to outpredict them, that's experience, not logic/problem solving/whatever


That statement is flawed. The ability to figure out someone's playing style is done by using your problem solving and the ability to find patterns. Patterns in their predictions, what they are most likely to do in any given situation, etc. it's all a logical thought process. It's the time in which you can pick these things up, or their ability to adapt to your ability that seperates you from your opponent (at least in this respect, so it's not really a matter of experience).

If someone can beat every single player...But can only do it with 1 team...Does that make them good?

If a basketball player can only shoot three pointers, but hits it every time and averages 30 points a game, does that make them good? Of course it does. Regardless of the medium being used to win, if they are consistently winning they have to be good. Everyone has their niche. Just because you are proficient using all sorts of different teams and playstyles doesn't make you any better than the people that are only good at playing with one type of team and playstyle; would you rather be a jack of all trades but king of none, or very proficient at using just your niche?

I mean, you can say that means the person isn't talented, but you'd be wrong. The whole purpose of battling in pokemon (at least competitively) is to win. If you win, it doesn't matter how you come by that win (within the constraints of fair play). It doesn't matter if you do it differently every time. It doesn't matter if you only use one team. It says a lot if you can use the same team every match and consistently win, as eventually people are going to try and look for a way to break it.

...and end rant. Feel free to pick apart my argument or ask me any questions about what I think.
 
I think it's simply down to how much someone plays. The best players are the ones that spend multiple hours per day playing ShoddyBattle.
 
Luck?
Sure, as the old saying goes, "I’d rather be lucky than good in truth I would rather be both." That speaks volumes of the power of luck, when it’s on your side it can almost seem like skill or even just talent, and yet, it is a fickle mistress that lady luck...Reminds me, I need to buy her some flowers on the 14th.

Team Building?
Are you able to provide enough of a threat to an opponent to be able to actually KO a few pokes? Are you able to absorb a threat or two that may come your way and re-stabilize after such an acurance? I at one time was almost sweeped by a Staraptor that was passed a few Ninjask boosts (foolish on my part). For the life of me I had no good solid answer to deal with such a threat, I was able to stabilize but it at a large cost, and to steep to overcome, so I had to take the loss from someone I should always be able to beat.

Which brings me to prediction?
Sometimes all the prediction in world can’t stop the doom that follows you. You can know your opponent all you like (pre-game prediction) and prepare as much as you like, but often something new might be added and low and behold a monstrosity unveils before you. Have you ever gotten wrecked by a snowstorm team and watched a wailren just sit there and mock you with his loads of blubber? Or maybe someone whip out a massive baton pass and you currently have no answer? You can’t account for every major problem possible. You can only provide problems to your opponent and force him to answer them, while having decent answers to his problems. [See also the battle between Agro and Control]

Resource Management.
Yes, Obi did this far better than I will, but let me throw this idea at you.
What are you willing to loose? The game? Hopefully not. I’m reminded of a the basics of game theory by obi’s statements. What do you have to loose. Can you afford to let your sweeper die to get a fresh man in cleanly? Can you Switch and not die? What can you do? Where do you draw the line between pokes that are alive and well, or the ones that you can carelessly throw away. Can you calmly let something go, or do you want that next hit?
Here is the truth and skill of the game comes from. How do you spend your 6 pokes in combat. How do you use their 4 moves. (6 pokes, 6 Items, 24 moves, 6 Abilities) How do they interact
 
Everything in this game comes down to knowledge. Prediction? What good is prediction if you don't have a basic idea of what is coming? Team building? Well, that requires a basic knowledge of what would work, what your team would face and how you could deal with the threats. Experience? That just adds to knowledge. The three other things I mentioned also play a very big part, however, they all bank on knowledge. So the real thing that separates the better battlers from the rest is a basic knowledge of how to play.
 
Haha there is nothing.

Nothing at all.

Except.

Experience and luck.

When it comes down to it, everything is experience and luck.

Team building. No team can counter every single thing that's out there. So it's up to experience to know what to do against a threat. And it's down to luck that they don't have that Poke or if they do.

Prediction. This is definitely luck regardless of how anyone wnats to complain. You can't outpredict someone, without the other person overpredicting. So does that mean you made the right one or they made the wrong one? A little bit of both, therefore, there's no such thing.

Luck. Sometimes you can get every break during the game. Remember that it's also luck when you don't get frozen. Sure it's only a low chance of happening, but everytime it doesn't, it's still 'luck' nonetheless.

Preparation. What the fuck are you preparing for? The other team to set up? No. You should prepare to set your own shit up, henceforth not having anything to do with preparation at all.

In the end, it's just experience. You either know what to do or you don't.

I mean I have 7 years of online battling to teach me everything I know. We didn't have a "Smogon Tutor Program" back in 2000 you know.

I agree 100%. However, there is one last point that doesn't pertain to battling as much as it does to prediction. While I have not reached this level yet... I feel that an appropriate application of "Game Theory" to predict the metagame shift and to build your team around not only the current game, but the past and future metagames. You will always be one step ahead of the metagame.

How? Theoretically, it is as simple as noting that the evolution of strategy tends to spiral inwards towards some Nash Equalibrium. What this equalibrium is, where it is and all that are all theoretically computable. (with super-computers that require more processing power than Chess super-computers and a couple thousand years to perform the calculations mind you... so practically no one will learn them through brute force calculation).

"Luck" is a controllable aspect of Pokemon. You choose how accurate your attacks are, and you can easily calculate that on the average, once every 64 battles, your Scarf Roserade lead will miss Sleep Powder 3 times in a row at the start of the battle. I feel that manipulating luck to your advantage is a key element of Pokemon. Yes, you can never control when Luck strikes... but you can always control that time when you say to yourself "I cannot win unless I go for the long shot".

In fact, this is one key reason why I keep using Hail Teams. Accuracy of Aura Sphere on a 120 BP move that has no resistances and a 10% chance of freeze (Blizzard in a hailstorm) is a key advantage I hope to abuse.

Finally, to emphisize prediction... I agree with Aeroblacktyl, prediction doesn't exist. I'd go as far as saying prediction is simply luck. It is clear that "Rock Paper Scissors" is purely a game of luck when both parties know what they are doing.
 
Prediction can be substituted by lucky guesses, team building can be substituted by stealing a team from another, so in my opinion it is battling experience and being able to learn from that (as well as general knowledge, of course).
 
Except Mekkah, if I were to steal Obi's stall team, I wouldn't preform as good with it as Obi would. If Obi were to use my team, he wouldn't do as good as I would with it initially.
Lucky Guesses only work that often. Luck runs out.
 
Except Mekkah, if I were to steal Obi's stall team, I wouldn't preform as good with it as Obi would. If Obi were to use my team, he wouldn't do as good as I would with it initially.
Lucky Guesses only work that often. Luck runs out.

Gambler's Fallacy
.

I do believe that creating teams is the core of Pokemon however. If you start stealing people's teams, that means that they are published already. Everyone knows about it, not just you. People have begun to think of counter-strategies and even change their team to battle yours. I noticed this after I published my hail team a long time ago. Everyone learns the strategy, and people learn to counter your specific strategy.

Basically, by the time a team is published, it is on the wane. I doubt a team can remain #1 after it has been published, especially if it is a good team. It just speeds up the metagame shift as many people will copy that team, and then the rest of the metagame shifts towards countering that strategy.
 
I don't think Lou was arguing for the Gambler's Fallacy. Seems to me that he was just talking about the Law of Large Numbers. If the guesses truly are 'lucky', then they aren't reliable.
 
Its pretty simple Dragontamer. I could face the Top 100 at the ranked list and win quite a few games simply because of Luck. I faced Light recently, and while he was tearing me apart, I won because of severe Sand Veil hax.
I also won games due to a lucky guess. But I lost just as many of them. While its true that you might have a lucky streak, in 500 gambles you'll have approximately 250 right. While a skilled player wouldn't need those gambles and read their opponents, getting near 400 of the same situations right. The Masked Nitpicker is absolutely right about what I was referring to.
Luck does not equal skill ever. It is part of the game, but the truly skilled players won't need luck to beat the less skilled ones.
 
A ladder ranking is probably one of the most faulty medium of measure. Does the top 100 mean those are the best 100 players? Probably not, considering most people have multiple accounts etc etc.

Also for anyone who wants to play that whole "I'm good but I didn't play 7 years" bullshit, guess what? I didn't play DP for 7 years. I came here playing RBY, I transfered to GSC and played that for the next 3 years, then out came RS and 3 more years of battling came by, and here we are in not even the first 12 month span of DP yet. By going through all those transitions, that could or could not help someone out, I'm not saying you HAVE to go out and get all that online game experience, but you never know what works for who!!
 
Except Mekkah, if I were to steal Obi's stall team, I wouldn't preform as good with it as Obi would. If Obi were to use my team, he wouldn't do as good as I would with it initially.
Lucky Guesses only work that often. Luck runs out.

To me, it seems like this is a result of inexperience rather than luck. I mean, having a good team is one thing, but using it effectively is a different matter, and I believe that comes about with using the team more. Theory only goes so far, y'know, and then there's the actual game, in my opinion.
 
I agree 100%. However, there is one last point that doesn't pertain to battling as much as it does to prediction. While I have not reached this level yet... I feel that an appropriate application of "Game Theory" to predict the metagame shift and to build your team around not only the current game, but the past and future metagames. You will always be one step ahead of the metagame.

How? Theoretically, it is as simple as noting that the evolution of strategy tends to spiral inwards towards some Nash Equalibrium. What this equalibrium is, where it is and all that are all theoretically computable. (with super-computers that require more processing power than Chess super-computers and a couple thousand years to perform the calculations mind you... so practically no one will learn them through brute force calculation).

You're forgetting one important thing. Since you used Nash Equilibrium, I guess I should stick my own fancy phrase in there. You are ignoring the observer effect (often falsely combined with the Heisenberg Uncertainty Principle). The mere act of observing a phenomenon changes it. In this case, it's your participation. If you are a truly good player, people will copy you and counter you. Going through my logs I noticed this effect. I would win my first 30 games with my stall team, for instance, but then my lose rate would steadily increase. I would alter my team a bit again, thus raising my win rate for a while, and then it would slowly be more losing. People adapt to those who win often.

"Luck" is a controllable aspect of Pokemon. You choose how accurate your attacks are, and you can easily calculate that on the average, once every 64 battles, your Scarf Roserade lead will miss Sleep Powder 3 times in a row at the start of the battle. I feel that manipulating luck to your advantage is a key element of Pokemon. Yes, you can never control when Luck strikes... but you can always control that time when you say to yourself "I cannot win unless I go for the long shot".

I'd rather set up my games to be "I will win unless my opponent gets the really long shot!". Obviously if you are in a losing position you need to take some risks or the most likely outcome is the one that will probably occur.

Finally, to emphisize prediction... I agree with Aeroblacktyl, prediction doesn't exist. I'd go as far as saying prediction is simply luck. It is clear that "Rock Paper Scissors" is purely a game of luck when both parties know what they are doing.

That kind of thinking is what lets me always win with my trademark move, "sucker punch to the throat". Prediction does exist and it's absurd to say otherwise.

Contrary to what you claim, Pokemon isn't rock-paper-scissors. It has several key differences.

At any given time, you can throw any one of all three possible moves. In Pokemon, you limit yourself to 6 Pokemon with 510 EVs and 4 moves each, then you select from this more limited set.

Each turn of Pokemon isn't independent.

Unlike in RPS, the previous turn meaningfully influences the current turn.

Most importantly, RPS has equal payout for each "throw". RPS would be a far more interesting game if it had the normal rules, except with the following addition:

If you win with rock, you win 10 dollars. If you win with paper, you win 3 dollars. If you win with scissors, you win 1 dollar. Naturally, people will want to throw rock as much as possible because they win the most. This means that people...

I was writing something here but I don't feel like finishing this part so just think of a compelling argument about uneven risk / reward and conditioning.
 
well there can be fact. these aren't pure opinions like 'donuts are tasty', these are things that people believe to be fact but don't have enough evidence to fully prove yet. it is a theory i guess, but it isn't just opinion. anyways, back to the argument.

the term experience is quite vague. you could have played ages and not get anywhere. you need to have learned something with that experience. even that isn't good enough as an answer because it's so broad. what is it that you learn with experience? i think the answer to that question is largely answered by strype. i don't think luck makes a good player though. to me, if i see one player being completely outclassed but still wins because all they get are crits, the player who lost is still better. luck affects the game but it shouldn't be classified under 'skill'.
 
Obi said:
Most importantly, RPS has equal payout for each "throw". RPS would be a far more interesting game if it had the normal rules, except with the following addition:

If you win with rock, you win 10 dollars. If you win with paper, you win 3 dollars. If you win with scissors, you win 1 dollar. Naturally, people will want to throw rock as much as possible because they win the most. This means that people...

Uneven RPS is only slightly more interesting. In fact, for uneven RPS you still have an optimal mixed strategy of playing rock with some probability P(rock), scissors with some probability P(scissors), and paper with some probability P(paper) such that P(rock) + P(scissors) + P(paper) = 100%. Calculating the probabilities could be done fairly trivially with a genetic algorithm. I thought you might be a bit sceptical of this claim so I went ahead and wrote a script to find the probabilities.

What this program does is first generates 100 uneven RPS players who play rock with some chance, paper with some chance, and scissors with some chance -- each player has his own chance of throwing each. Then, the players compete in a round robin tournament. The bottom 3/4 all die. The top 1/4 of the tournament gets to create the next generation -- each one producing four offspring. When creating an offspring, there is a 5/11 chance that the offspring will be a mutant: rather than being a clone of his parent, his chances will be +-1% his parent's, but they'll still add up to 100% of course (by supplementary addition to the chances). Then, it finds the average chances among the top 1/4 of the just finishing generation and prints it out. Then it repeats. Eventually, evolution by natural selection should cause only the best uneven RPS players to be living.

Code:
<?php

/**
 * Finds the optimal mixed strategy for the given uneven RPS game.
 * -- Colin Fitzpatrick
 */

// Constant size of community.
define('INITIAL_POOL', 100);

// How many offspring each winner produces.
define('OFFSPRING', 4);

// Rewards for winning with each token.
$g_reward = array(10, 3, 1);

class player {
    var $m_p;
    function player($p1 = 0, $p2 = 0, $p3 = 0) {
        $this->m_p = array($p1, $p2, $p3);
    }
    function getChoice() {
        $r = rand(0, 100);
        if ($r < $this->m_p[0]) {
            return 0;
        }
        if ($r < ($this->m_p[1] + $this->m_p[0])) {
            return 1;
        }
        return 2;
    }
    function mutate() {
        // Alter each gene by plus or minus 1.
        for ($i = 0; $i < 3; ++$i) {
            $this->m_p[$i] += rand(-1, 1);
            if ($this->m_p[$i] < 0) {
                $this->m_p[$i] = 0;
            } else if ($this->m_p[$i] > 100) {
                $this->m_p[$i] = 100;
            }
        }
        $sum = $this->m_p[0] + $this->m_p[1] + $this->m_p[2];
        $diff = $sum - 100;
        if ($diff == 0) {
            return;
        }
        $d = 1;
        if ($diff > 0) {
            $d = -1;
        }
        $diff = abs($diff);
        for ($i = 0; $i < $diff; ++$i) {
            while (true) {
                $r = rand(0, 2);
                $x = $this->m_p[$r] + $d;
                if (($x < 0) || ($x > 100)) {
                    continue;
                }
                $this->m_p[$r] = $x;
                break;
            }
        }
    }
    function getOffspring() {
        $p = new player($this->m_p[0], $this->m_p[1], $this->m_p[2]);
        if (rand(0, 10) < 6) {
            $p->mutate();
        }
        return $p;
    }
}

function getAverage($s) {
    $v = array(0, 0, 0);
    $l = count($s);
    for ($i = 0; $i < $l; ++$i) {
        for ($j = 0; $j < 3; ++$j) {
            $v[$j] += $s[$i]->m_p[$j];
        }
    }
    return array($v[0] / $l, $v[1] / $l, $v[2] / $l);
}

function playMatch($o) {
    $s = -1;
    $w = -1;
    while (true) {
        $t = array($o[0]->getChoice(), $o[1]->getChoice());
        if ($t[0] == $t[1]) {
            continue;
        }
        $s = 1;
        if ((($t[0] == 0) && ($t[1] == 2))
                || (($t[0] == 1) && ($t[1] == 0))
                || (($t[0] == 2) && ($t[1] == 1))) {
            $s = 0;
        }
        $w = $t[$s];
        break;
    }
    return array($s, $w);
}

$g_player = array();

// Start off with 100 randomly generated RPS players.
for ($i = 0; $i < INITIAL_POOL; ++$i) {
    $a = rand(0, 10000);
    $b = rand(0, 10000);
    $c = rand(0, 10000);
    $t = $a + $b + $c;
    $a = round($a / $t * 100);
    $b = round($b / $t * 100);
    $c = round($c / $t * 100);
    $g_player[] = new player($a, $b, $c);
}

$generation = 0;
while (true) {
    ++$generation;
    shuffle($g_player);
    $pt = array();
    $l = count($g_player);
    for ($i = 0; $i < $l; ++$i) {
        $pt[$i] = 0;
    }
    for ($i = 0; $i < $l; ++$i) {
        for ($j = $i + 1; $j < $l; ++$j) {
            $x = playMatch(array($g_player[$i], $g_player[$j]));
            $pt[$x[0] ? $j : $i] += $g_reward[$x[1]];
        }
    }
    arsort($pt);
    $k = array_keys($pt);
    // The top players get to reproduce.
    $next = array();
    $arr = array();
    for ($i = 0; $i < $l / OFFSPRING; ++$i) {
        $p = $g_player[$k[$i]];
        $arr[] = $p;
        for ($j = 0; $j < OFFSPRING; ++$j) {
            $next[] = $p->getOffspring();
        }
    }
    $av = getAverage($arr);
    $g_player = $next;
    echo "Generation $generation: (${av[0]}, ${av[1]}, ${av[2]}).\n";
}

?>
I let some of the output scroll off of my console, but this is most of it:

Code:
Generation 147: (0.56, 93.4, 6.04).
Generation 148: (0.92, 92.72, 6.36).
Generation 149: (0.96, 92.28, 6.76).
Generation 150: (0.92, 91.8, 7.28).
Generation 151: (1, 91.44, 7.56).
Generation 152: (1, 91.2, 7.8).
Generation 153: (0.92, 90.8, 8.28).
Generation 154: (1.36, 90.6, 8.04).
Generation 155: (1.4, 90.04, 8.56).
Generation 156: (1.64, 89.68, 8.68).
Generation 157: (1.76, 89.4, 8.84).
Generation 158: (2.24, 89.2, 8.56).
Generation 159: (2.12, 89.2, 8.68).
Generation 160: (1.76, 89.28, 8.96).
Generation 161: (1.68, 89.16, 9.16).
Generation 162: (2.2, 88.68, 9.12).
Generation 163: (2.52, 88.6, 8.88).
Generation 164: (2.84, 88.32, 8.84).
Generation 165: (2.88, 88.12, 9).
Generation 166: (2.96, 87.88, 9.16).
Generation 167: (3.76, 87.28, 8.96).
Generation 168: (4.16, 87.64, 8.2).
Generation 169: (4.16, 88.04, 7.8).
Generation 170: (4.04, 87.96, 8).
Generation 171: (4.52, 86.8, 8.68).
Generation 172: (5.12, 87.28, 7.6).
Generation 173: (5, 87.52, 7.48).
Generation 174: (4.76, 88.2, 7.04).
Generation 175: (4.8, 88.28, 6.92).
Generation 176: (4.88, 88.52, 6.6).
Generation 177: (4.52, 88.76, 6.72).
Generation 178: (4.68, 88.8, 6.52).
Generation 179: (5.08, 89, 5.92).
Generation 180: (4.84, 88.84, 6.32).
Generation 181: (5.28, 88.6, 6.12).
Generation 182: (5.28, 88.44, 6.28).
Generation 183: (4.96, 88.6, 6.44).
Generation 184: (4.92, 88.64, 6.44).
Generation 185: (5, 88.68, 6.32).
Generation 186: (4.68, 88.4, 6.92).
Generation 187: (3.88, 88.76, 7.36).
Generation 188: (4.44, 88.92, 6.64).
Generation 189: (4.8, 88.92, 6.28).
Generation 190: (4.52, 88.76, 6.72).
Generation 191: (4.64, 89.08, 6.28).
Generation 192: (3.96, 90.16, 5.88).
Generation 193: (3.24, 90.76, 6).
Generation 194: (3.36, 90.88, 5.76).
Generation 195: (2.28, 91.2, 6.52).
Generation 196: (1.76, 91.28, 6.96).
Generation 197: (2.04, 91.04, 6.92).
Generation 198: (1.56, 90.92, 7.52).
Generation 199: (2, 89.88, 8.12).
Generation 200: (2.28, 89.72, 8).
Generation 201: (2.68, 89.12, 8.2).
Generation 202: (2.4, 89.36, 8.24).
Generation 203: (2.8, 88.88, 8.32).
Generation 204: (3.36, 88.4, 8.24).
Generation 205: (3.36, 88.32, 8.32).
Generation 206: (3.64, 88.36, 8).
Generation 207: (3.84, 88.16, 8).
Generation 208: (3.76, 88.68, 7.56).
Generation 209: (3.4, 88.84, 7.76).
Generation 210: (4.2, 88.12, 7.68).
Generation 211: (4.56, 88.08, 7.36).
Generation 212: (4.24, 88.32, 7.44).
Generation 213: (4.28, 88.44, 7.28).
Generation 214: (4, 88.24, 7.76).
Generation 215: (3.6, 89, 7.4).
Generation 216: (3.96, 88.76, 7.28).
Generation 217: (3.72, 88.96, 7.32).
Generation 218: (4.16, 88.4, 7.44).
Generation 219: (4.24, 89, 6.76).
Generation 220: (4.08, 89.04, 6.88).
Generation 221: (3.56, 89.48, 6.96).
Generation 222: (3.64, 89.44, 6.92).
Generation 223: (3.36, 89.36, 7.28).
Generation 224: (3.16, 89.16, 7.68).
Generation 225: (2.8, 88.72, 8.48).
Generation 226: (2.52, 88.84, 8.64).
Generation 227: (3.2, 87.84, 8.96).
Generation 228: (4.48, 86.64, 8.88).
Generation 229: (5.08, 86, 8.92).
Generation 230: (5.28, 86.64, 8.08).
Generation 231: (5.32, 85.92, 8.76).
Generation 232: (5.6, 85.84, 8.56).
Generation 233: (5.56, 86.08, 8.36).
Generation 234: (6.24, 86.28, 7.48).
Generation 235: (6.72, 86.76, 6.52).
Generation 236: (6, 87.48, 6.52).
Generation 237: (6.36, 87.2, 6.44).
Generation 238: (6.6, 87.88, 5.52).
Generation 239: (5.36, 88.44, 6.2).
Generation 240: (4.2, 89.72, 6.08).
Generation 241: (3.96, 90.16, 5.88).
Generation 242: (3.88, 90.72, 5.4).
Generation 243: (3.64, 91, 5.36).
Generation 244: (2.2, 92.12, 5.68).
Generation 245: (2.04, 92, 5.96).
Generation 246: (2.12, 91.96, 5.92).
Generation 247: (2.24, 92.32, 5.44).
Generation 248: (1.88, 92.28, 5.84).
Generation 249: (1.92, 92.44, 5.64).
Generation 250: (1.48, 92.16, 6.36).
Generation 251: (1.44, 91.44, 7.12).
Generation 252: (1.8, 90.72, 7.48).
Generation 253: (2.08, 90.24, 7.68).
Generation 254: (2.84, 88.92, 8.24).
Generation 255: (3, 89.32, 7.68).
Generation 256: (3.24, 89.44, 7.32).
Generation 257: (3.32, 88.88, 7.8).
Generation 258: (3.24, 88.84, 7.92).
Generation 259: (3.4, 88.04, 8.56).
Generation 260: (3.8, 87.92, 8.28).
Generation 261: (3.92, 87.8, 8.28).
Generation 262: (4.08, 89.12, 6.8).
Generation 263: (4.52, 89.36, 6.12).
Generation 264: (4.2, 90.24, 5.56).
Generation 265: (3.52, 89.84, 6.64).
Generation 266: (3.32, 90.16, 6.52).
Generation 267: (3.6, 90.04, 6.36).
Generation 268: (4.2, 90.68, 5.12).
Generation 269: (3.8, 90.68, 5.52).
Generation 270: (3.28, 91.36, 5.36).
Generation 271: (3.16, 91.84, 5).
Generation 272: (3.48, 91.92, 4.6).
Generation 273: (3.44, 92.24, 4.32).
Generation 274: (3.36, 92.04, 4.6).
Generation 275: (3, 91.76, 5.24).
Generation 276: (2.64, 91.64, 5.72).
Generation 277: (2.48, 91.56, 5.96).
Generation 278: (1.64, 90.8, 7.56).
Generation 279: (1.72, 89.04, 9.24).
Generation 280: (2.56, 89.2, 8.24).
Generation 281: (2.6, 89.68, 7.72).
Generation 282: (2.84, 89.04, 8.12).
Generation 283: (3.36, 89.24, 7.4).
Generation 284: (3.6, 89.24, 7.16).
Generation 285: (3.72, 89.12, 7.16).
Generation 286: (4.04, 89.48, 6.48).
Generation 287: (3.96, 89.64, 6.4).
Generation 288: (3.48, 89.8, 6.72).
Generation 289: (3.64, 90.16, 6.2).
Generation 290: (3.44, 90.64, 5.92).
Generation 291: (3.2, 90.44, 6.36).
Generation 292: (3.24, 90.12, 6.64).
Generation 293: (2.84, 90.52, 6.64).
Generation 294: (2.68, 90.88, 6.44).
Generation 295: (2.64, 90.76, 6.6).
Generation 296: (2.52, 90.08, 7.4).
Generation 297: (2.24, 89.76, 8).
Generation 298: (3.36, 88.52, 8.12).
Generation 299: (3.68, 87.96, 8.36).
Generation 300: (4.52, 87.64, 7.84).
Generation 301: (4.68, 87.68, 7.64).
Generation 302: (5.44, 88.08, 6.48).
Generation 303: (4.92, 88.24, 6.84).
Generation 304: (5.56, 88.48, 5.96).
Generation 305: (5.44, 88, 6.56).
Generation 306: (5.52, 88.24, 6.24).
Generation 307: (5.72, 88.48, 5.8).
Generation 308: (5.2, 89.04, 5.76).
Generation 309: (5.52, 88.56, 5.92).
Generation 310: (4.8, 89.6, 5.6).
Generation 311: (5.08, 90, 4.92).
Generation 312: (5.36, 90.08, 4.56).
Generation 313: (5.2, 90.68, 4.12).
Generation 314: (5.2, 91.4, 3.4).
Generation 315: (4.24, 91.76, 4).
Generation 316: (3.84, 91.96, 4.2).
Generation 317: (2.8, 92.32, 4.88).
Generation 318: (2.48, 92.2, 5.32).
Generation 319: (2.72, 92.04, 5.24).
Generation 320: (2.64, 91.8, 5.56).
Generation 321: (2.36, 91.96, 5.68).
Generation 322: (1.52, 92.04, 6.44).
Generation 323: (1.56, 91.72, 6.72).
Generation 324: (1.8, 90.96, 7.24).
Generation 325: (1.72, 90.28, 8).
Generation 326: (1.88, 89.4, 8.72).
Generation 327: (2.84, 88.16, 9).
Generation 328: (3.32, 87.56, 9.12).
Generation 329: (3.84, 87.76, 8.4).
Generation 330: (4.32, 88, 7.68).
Generation 331: (4.64, 88.12, 7.24).
Generation 332: (4.56, 87.6, 7.84).
Generation 333: (4.88, 87.48, 7.64).
Generation 334: (5.32, 87.8, 6.88).
Generation 335: (5.08, 87.92, 7).
Generation 336: (5.44, 88, 6.56).
Generation 337: (5.28, 88.24, 6.48).
Generation 338: (4.56, 88.6, 6.84).
Generation 339: (5.48, 88.36, 6.16).
Generation 340: (4.6, 89.2, 6.2).
Generation 341: (4.28, 90.04, 5.68).
Generation 342: (3.92, 90.24, 5.84).
Generation 343: (3.4, 90.2, 6.4).
Generation 344: (3.16, 90.72, 6.12).
Generation 345: (3.08, 90.48, 6.44).
Generation 346: (2.96, 90.72, 6.32).
Generation 347: (2.96, 90.2, 6.84).
Generation 348: (3.04, 89.72, 7.24).
Generation 349: (3.04, 89.32, 7.64).
Generation 350: (3.48, 88.96, 7.56).
Generation 351: (3.28, 88.76, 7.96).
Generation 352: (3.64, 88.76, 7.6).
Generation 353: (4.16, 88.68, 7.16).
Generation 354: (3.96, 89.16, 6.88).
Generation 355: (3.76, 88.84, 7.4).
Generation 356: (3.32, 89.4, 7.28).
Generation 357: (2.76, 89.68, 7.56).
Generation 358: (3.4, 88.84, 7.76).
Generation 359: (4.64, 88.04, 7.32).
Generation 360: (4.68, 88.28, 7.04).
Generation 361: (4.76, 88.44, 6.8).
Generation 362: (4.48, 88.56, 6.96).
Generation 363: (4, 89.48, 6.52).
Generation 364: (4.08, 90.04, 5.88).
Generation 365: (3.68, 90.6, 5.72).
Generation 366: (3.6, 91.52, 4.88).
Generation 367: (3, 92.32, 4.68).
Generation 368: (2.24, 93.08, 4.68).
Generation 369: (1.92, 93, 5.08).
Generation 370: (1.56, 91.64, 6.8).
Generation 371: (1.16, 90.32, 8.52).
Generation 372: (1.4, 89.56, 9.04).
Generation 373: (2.04, 89.08, 8.88).
Generation 374: (2.68, 89.2, 8.12).
Generation 375: (3.12, 88.64, 8.24).
Generation 376: (3.48, 88.76, 7.76).
Generation 377: (3.68, 88.56, 7.76).
Generation 378: (4.16, 87.96, 7.88).
Generation 379: (4.6, 87.84, 7.56).
Generation 380: (4.16, 88.76, 7.08).
Generation 381: (4.08, 89.04, 6.88).
Generation 382: (4.08, 89.08, 6.84).
Generation 383: (3.32, 89.56, 7.12).
Generation 384: (3.84, 89.6, 6.56).
Generation 385: (4.4, 89.64, 5.96).
Generation 386: (4.16, 90.4, 5.44).
Generation 387: (3.72, 90.76, 5.52).
Generation 388: (3.36, 91.08, 5.56).
Generation 389: (2.96, 91, 6.04).
Generation 390: (2.72, 91.6, 5.68).
Generation 391: (2.4, 91.28, 6.32).
Generation 392: (2.76, 90.32, 6.92).
Generation 393: (2.68, 90.16, 7.16).
Generation 394: (3.12, 89.68, 7.2).
Generation 395: (3.2, 89.28, 7.52).
Generation 396: (2.92, 89.28, 7.8).
Generation 397: (2.76, 88.92, 8.32).
Generation 398: (3.08, 88.16, 8.76).
Generation 399: (3.56, 87.8, 8.64).
Generation 400: (3.44, 87.76, 8.8).
Generation 401: (3.56, 87.64, 8.8).
Generation 402: (4.44, 87.24, 8.32).
Generation 403: (5.04, 86.76, 8.2).
Generation 404: (4.72, 86.76, 8.52).
Generation 405: (5.32, 86.84, 7.84).
Generation 406: (5.16, 86.84, 8).
Generation 407: (4.76, 87.16, 8.08).
Generation 408: (4.6, 87.28, 8.12).
Generation 409: (5.32, 87.52, 7.16).
Generation 410: (5.52, 87.36, 7.12).
Generation 411: (5.4, 87.44, 7.16).
Generation 412: (5.68, 87.6, 6.72).
Generation 413: (5.28, 87.8, 6.92).
Generation 414: (5.08, 88.08, 6.84).
Generation 415: (4.92, 88.48, 6.6).
Generation 416: (4.88, 88.04, 7.08).
Generation 417: (4.6, 88.24, 7.16).
Generation 418: (4.4, 88.2, 7.4).
Generation 419: (3.84, 88, 8.16).
Generation 420: (4, 87.96, 8.04).
Generation 421: (4.32, 87.76, 7.92).
Generation 422: (4.72, 87.68, 7.6).
Generation 423: (5.04, 87.4, 7.56).
Generation 424: (4.4, 88.08, 7.52).
Generation 425: (4.92, 87.64, 7.44).
Generation 426: (4.88, 87.36, 7.76).
Generation 427: (5.12, 87.8, 7.08).
Generation 428: (5.4, 88.2, 6.4).
Generation 429: (5.12, 88.92, 5.96).
Generation 430: (4.84, 88.72, 6.44).
Generation 431: (4.2, 89, 6.8).
Generation 432: (3.72, 89.08, 7.2).
Generation 433: (4, 88.72, 7.28).
Generation 434: (4.04, 88.48, 7.48).
Generation 435: (4.48, 88.56, 6.96).
Generation 436: (4.72, 88.16, 7.12).
Generation 437: (4.96, 87.92, 7.12).
Generation 438: (4.12, 89.2, 6.68).
Generation 439: (4.24, 89.32, 6.44).
Generation 440: (4.52, 88.68, 6.8).
Generation 441: (4.36, 89.48, 6.16).
Generation 442: (3.52, 90.6, 5.88).
Generation 443: (3.72, 90.48, 5.8).
Generation 444: (2.92, 90.92, 6.16).
Generation 445: (3.48, 90.24, 6.28).
Generation 446: (2.52, 91.04, 6.44).
Generation 447: (3.04, 90.48, 6.48).
Generation 448: (3.64, 89.76, 6.6).
Generation 449: (4.32, 88.8, 6.88).
Generation 450: (3.36, 89.4, 7.24).
Generation 451: (3.32, 89.8, 6.88).
Generation 452: (3.76, 88.72, 7.52).
Generation 453: (3.52, 89.32, 7.16).
Generation 454: (4.76, 87.56, 7.68).
Generation 455: (4.76, 88.28, 6.96).
Generation 456: (4.96, 87.8, 7.24).
Generation 457: (3.8, 89.68, 6.52).
Generation 458: (3.08, 90.64, 6.28).
Generation 459: (3.32, 89.28, 7.4).
Generation 460: (3.04, 89.92, 7.04).
Generation 461: (2.92, 89.52, 7.56).
Generation 462: (3.72, 88.36, 7.92).
Generation 463: (4.92, 85.96, 9.12).
Generation 464: (6.44, 83.84, 9.72).
Generation 465: (7.16, 82.44, 10.4).
Generation 466: (7.84, 81.56, 10.6).
Generation 467: (9.12, 79.8, 11.08).
Generation 468: (9, 79.96, 11.04).
Generation 469: (8.92, 79.92, 11.16).
Generation 470: (8.56, 80.12, 11.32).
Generation 471: (8.64, 80.4, 10.96).
Generation 472: (9.08, 80.4, 10.52).
Generation 473: (9, 79.72, 11.28).
Generation 474: (8.64, 79.8, 11.56).
Generation 475: (9, 79.56, 11.44).
Generation 476: (8.8, 79.96, 11.24).
Generation 477: (9.36, 79.6, 11.04).
Generation 478: (9.6, 79.56, 10.84).
Generation 479: (9.32, 80.72, 9.96).
Generation 480: (9.48, 80.6, 9.92).
Generation 481: (10.24, 80.88, 8.88).
Generation 482: (10.72, 81.84, 7.44).
Generation 483: (11.04, 82.16, 6.8).
Generation 484: (11.44, 82.76, 5.8).
Generation 485: (11.04, 83.2, 5.76).
Generation 486: (11.16, 84.08, 4.76).
Generation 487: (10.8, 84.52, 4.68).
Generation 488: (9.8, 85.2, 5).
Generation 489: (9.4, 85.72, 4.88).
Generation 490: (8.84, 86.44, 4.72).
Generation 491: (7.92, 87.2, 4.88).
Generation 492: (8.2, 87.28, 4.52).
Generation 493: (7.52, 88.16, 4.32).
Generation 494: (5.52, 89.72, 4.76).
Generation 495: (5.2, 89.8, 5).
Generation 496: (4.8, 90.04, 5.16).
Generation 497: (4.92, 89.92, 5.16).
Generation 498: (4.24, 90.64, 5.12).
Generation 499: (3, 91.4, 5.6).
Generation 500: (2.4, 91.48, 6.12).
Generation 501: (2.24, 91.64, 6.12).
Generation 502: (1.96, 91.72, 6.32).
Generation 503: (2.2, 91.32, 6.48).
Generation 504: (2.08, 91.28, 6.64).
Generation 505: (2.64, 90.88, 6.48).
Generation 506: (2.44, 90.72, 6.84).
Generation 507: (2.08, 90.84, 7.08).
Generation 508: (2.52, 91.16, 6.32).
Generation 509: (2.4, 91.12, 6.48).
Generation 510: (2.12, 91.64, 6.24).
Generation 511: (1.88, 91.64, 6.48).
Generation 512: (1.6, 91.44, 6.96).
Generation 513: (1.68, 90.68, 7.64).
Generation 514: (2, 90.24, 7.76).
Generation 515: (2.04, 89.08, 8.88).
Generation 516: (2.2, 88.8, 9).
Generation 517: (3.08, 88.4, 8.52).
Generation 518: (4.36, 88.04, 7.6).
Generation 519: (4.2, 88.08, 7.72).
Generation 520: (4.32, 88.56, 7.12).
Generation 521: (4.68, 88.24, 7.08).
Generation 522: (5.4, 88.44, 6.16).
Generation 523: (4.84, 88.56, 6.6).
Generation 524: (4.52, 89.08, 6.4).
Generation 525: (4.2, 89.24, 6.56).
Generation 526: (3.52, 89.56, 6.92).
Generation 527: (2.92, 89.68, 7.4).
Generation 528: (3.16, 89.6, 7.24).
Generation 529: (4.36, 88.6, 7.04).
Generation 530: (3.64, 89.28, 7.08).
Generation 531: (3.96, 89.68, 6.36).
Generation 532: (3.8, 89.36, 6.84).
Generation 533: (3.72, 90.28, 6).
Generation 534: (1.88, 91.2, 6.92).
Generation 535: (2.2, 89.12, 8.68).
Generation 536: (2.32, 86.68, 11).
Generation 537: (3.56, 85.68, 10.76).
Generation 538: (4.2, 86.36, 9.44).
Generation 539: (5.4, 87.44, 7.16).
Generation 540: (5.6, 87.68, 6.72).
Generation 541: (5.32, 88.08, 6.6).
Generation 542: (4.84, 88.88, 6.28).
Generation 543: (4.8, 88.64, 6.56).
Generation 544: (4.88, 88.76, 6.36).
Generation 545: (4.96, 89.6, 5.44).
Generation 546: (5.2, 89.2, 5.6).
Generation 547: (4.56, 89.52, 5.92).
Generation 548: (3.52, 90.16, 6.32).
Generation 549: (2.68, 89.64, 7.68).
Generation 550: (3.2, 89.12, 7.68).
Generation 551: (3.04, 89.56, 7.4).
Generation 552: (2.96, 88.36, 8.68).
Generation 553: (3.92, 86, 10.08).
Generation 554: (4.16, 86.72, 9.12).
Generation 555: (4.92, 86.2, 8.88).
Generation 556: (5.08, 86.96, 7.96).
Generation 557: (5.52, 87.36, 7.12).
Generation 558: (4.68, 87.56, 7.76).
Generation 559: (4.84, 88.08, 7.08).
Generation 560: (4.36, 86.64, 9).
Generation 561: (4.48, 85.92, 9.6).
Generation 562: (5.48, 86.24, 8.28).
Generation 563: (5.64, 87.6, 6.76).
Generation 564: (5.56, 88.16, 6.28).
Generation 565: (4.88, 88.6, 6.52).
Generation 566: (5.56, 88.44, 6).
Generation 567: (5.24, 89.48, 5.28).
Generation 568: (4.84, 90.36, 4.8).
Generation 569: (2.56, 92.04, 5.4).
Generation 570: (1.56, 92.2, 6.24).
Generation 571: (1.96, 90.72, 7.32).
Generation 572: (2.84, 89, 8.16).
Generation 573: (3.84, 87.92, 8.24).
Generation 574: (4.2, 87.52, 8.28).
Generation 575: (5.16, 86.32, 8.52).
Generation 576: (5.24, 86.16, 8.6).
Generation 577: (5.72, 86.2, 8.08).
Generation 578: (5.76, 86.16, 8.08).
Generation 579: (5.36, 87.84, 6.8).
Generation 580: (5.36, 88.56, 6.08).
Generation 581: (4.84, 89.6, 5.56).
Generation 582: (4.52, 90.04, 5.44).
Generation 583: (4.32, 89.88, 5.8).
Generation 584: (4.08, 90.44, 5.48).
Generation 585: (3.76, 90.44, 5.8).
Generation 586: (3.8, 90.76, 5.44).
Generation 587: (3.56, 90.76, 5.68).
Generation 588: (3.56, 90.56, 5.88).
Generation 589: (3.28, 90.8, 5.92).
Generation 590: (3.88, 90.68, 5.44).
Generation 591: (3.4, 91.08, 5.52).
Generation 592: (2.72, 91.04, 6.24).
Generation 593: (2.08, 90.96, 6.96).
Generation 594: (2.32, 90.52, 7.16).
Generation 595: (1.68, 91.04, 7.28).
Generation 596: (1.8, 89.96, 8.24).
Generation 597: (2.56, 89.28, 8.16).
Generation 598: (3.72, 88.68, 7.6).
Generation 599: (3.24, 88.24, 8.52).
Generation 600: (3.6, 88.44, 7.96).
Generation 601: (3.76, 87.96, 8.28).
Generation 602: (4, 87.76, 8.24).
Generation 603: (4.56, 88.2, 7.24).
Generation 604: (4.56, 88.08, 7.36).
Generation 605: (4.12, 88.64, 7.24).
Generation 606: (3.92, 88.12, 7.96).
Generation 607: (4.08, 87.24, 8.68).
Generation 608: (4.12, 86.24, 9.64).
Generation 609: (4.32, 86, 9.68).
Generation 610: (4.96, 86.28, 8.76).
Generation 611: (5.44, 86.2, 8.36).
Generation 612: (5.52, 86.76, 7.72).
Generation 613: (4.96, 86.6, 8.44).
Generation 614: (5.2, 86.28, 8.52).
Generation 615: (5, 86.6, 8.4).
Generation 616: (5.84, 86.12, 8.04).
Generation 617: (5.68, 86.52, 7.8).
Generation 618: (6.12, 86.92, 6.96).
Generation 619: (6.16, 87.04, 6.8).
Generation 620: (6.4, 87, 6.6).
Generation 621: (6.84, 87.36, 5.8).
Generation 622: (7.16, 87.24, 5.6).
Generation 623: (6.68, 88.2, 5.12).
Generation 624: (5.48, 88.8, 5.72).
Generation 625: (6, 89.32, 4.68).
Generation 626: (5.28, 90.08, 4.64).
Generation 627: (3.24, 90.4, 6.36).
Generation 628: (2.6, 90.68, 6.72).
Generation 629: (2.2, 90, 7.8).
Generation 630: (4.24, 90.2, 5.56).
Generation 631: (3.96, 89.72, 6.32).
Generation 632: (4.6, 90.32, 5.08).
Generation 633: (4.44, 91.16, 4.4).
Generation 634: (2.68, 92.52, 4.8).
Generation 635: (1.04, 92.64, 6.32).
Generation 636: (1.4, 90.6, 8).
Generation 637: (2.04, 89.8, 8.16).
Generation 638: (2.04, 89.24, 8.72).
Generation 639: (1.92, 88.44, 9.64).
Generation 640: (2.2, 87.76, 10.04).
Generation 641: (2.92, 87.08, 10).
Generation 642: (3.04, 86.88, 10.08).
Generation 643: (2.88, 87.12, 10).
Generation 644: (3.04, 86.68, 10.28).
It's having a hard time finding a precise equilibrium, but it's clear that if you want to make the most money possible, the optimum strategy is to play rock ~3% of the time, paper ~87% of the time, and scissors ~10% of the time, selected randomly. If I am using this strategy, there is no strategy you can use against me to make more money than I will make in the long run. The precise numbers here are obviously a bit off since I wasn't going to let this thing run all day long, but you get the idea. The actual value for rock is a bit higher and scissors is a bit lower. I would guess that rock is actually about 9%, paper is 87%, and scissors is 4%. We'd have to let the program run longer to get a better value, or use a larger pool size. The main point here isn't so much the specific numbers anyway but rather that the optimum mixed strategy obviously exists.

What makes pokemon different is that there is not perfect information, so you cannot determine the actual value of making a move. That is, you cannot descend the game tree to see what the chance of the move you are choosing winning you the game is. The reason you can't do this is you don't know the opponent's team. If you knew everything about the opponent's team going into the battle, you could determine precisely the chance with which you should make each move on your turn (though it would be computationally infeasible).
 
Throwing scissors 100% of the time beats

~3% of the time, paper ~87% of the time, and scissors ~10% of the time

In 100 games, I expect to win 87 dollars to your 30.
 
Back
Top