Live data from Hacker News

Why Can a Machine Beat Mario but Not Pokemon?

medium.com

51–60 of 76 posts

Re: Why Can a Machine Beat Mario but Not Pokemon?

#51
post #46
post #43

Earlier quoted context omitted.

I once watched my 8 year old sister play an RPG in a language she did not understand. She had only the vaguest idea what was going on but still made progress. Just randomly trying things looking for novelty is enough to progress through such games given sufficient time.

The RPG may have been in another language, but it presumably still depicted human or humanoid characters, objects, enemies, etc. Your sister knew far more about life (and consequently the game) than what a computer would know. Just having a basic concept of reality, that the world is made up of objects and agents, that some things can be interacted with, cause and effect, etc. is way beyond what a computer has (which…

This was simple menu driven early Final Fantasy style game on rails.

So, some basic path finding and press X near stuff would be useful. But, it did not need to react to enemies, or have complex environments like Zelda games do. On the other hand, the meaning of all those random text blurbs was rather critical.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#52
post #20

Earlier quoted context omitted.

I think one major difference between pvp games and games like mario/pokemon campaign is that in the former case, the machine is competing with a meat learning algorithm. That is, it doesn’t have to find a good enough solution to a static map, but best an alternative optimization strategy (powered by wetware) before it can reasonably claim success. That, and ofc, games with a competitive scene come about because of th…

Meta doesn't imply cycling, just that the best strategy may be a mixed strategy which involves randomly picking between different pure strategies. Instead of cycling, the meta ought to converge to a Nash equilibrium. With the right mixed strategy, an opponent choosing a pure strategy would be at a disadvantage. Randomising over a huge choice of pure strategies may be infeasible of course and in the real world players…

However, the meta does in fact exist. The optimal, mixed strategy is only optimal when your opponent uses the same mixed strategy. We don't, so if the AI can predict us then it can do better.

An optimal AI should therefore include theory of mind, and human-prediction in particular, such that it can stay ahead of the meta.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#53
post #49

Earlier quoted context omitted.

There are no "human tells" in Blackjack. Its you against the deck. Maybe you're confusing it with poker?

Any multi player game with hidden data lets you troll the other players. So if its the dealer and two or more players sharing a deck you can mess with them. Everyone counts cards so under extremely rare circumstances given card count X you can play as if the count is X+1 or X-1 thus mess with the minds of people who accurately believe the count to be X, possibly leading to an advantage, if, statistically, they're in…

What's the hidden data in blackjack? All the cards are face up except the one dealer card.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#54
back to "mari/o", i was wondering why is it that a human brain can learn to play mario without having to die a billion times? Why is it that humans don't need a large training dataset? Is there a way to design a neural network in such a way where there is very little training to get a pretty good model?

Re: Why Can a Machine Beat Mario but Not Pokemon?

#55

back to "mari/o", i was wondering why is it that a human brain can learn to play mario without having to die a billion times? Why is it that humans don't need a large training dataset? Is there a way to design a neural network in such a way where there is very little training to get a pretty good model?

doesn't life actually count as training? :) and it's a LOT of training, isn't it?

Re: Why Can a Machine Beat Mario but Not Pokemon?

#56

back to "mari/o", i was wondering why is it that a human brain can learn to play mario without having to die a billion times? Why is it that humans don't need a large training dataset? Is there a way to design a neural network in such a way where there is very little training to get a pretty good model?

Because artificial neural networks work nothing like human neural networks, despite the same names.

Its a false equivalence. Its no more valid a comparison than asking why "CLOS Networks" can't play Mario by themselves, despite also being a network. (A CLOS Network is one kind of network topology for switches)

The human brain does NOT take the derivative of the error function and glide down it using gradient descent. There are no matrix multiplication circuits in the brain. Things work in completely different ways that biologists and psychologists barely understand today. It has to do with chemicals, neurotransmitters and other such, which are completely alien to Comp. Sci.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#57
While Pokémon might have a higher branching factor than Mario, I don't think that means a "machine can't beat it". First, I'm going to use Gen I/II (Red/Blue/Yellow // Gold/Silver/Crystal) here as "Pokémon", the game, as I am most familiar with them; I am not particular aware if the formula has changed in more recent generations.

> Pokemon is an open world game

… not really. While you can walk around, sure, the actual game is mostly linear; the order in which you explore and visit towns is mostly predetermined. (It has to be, as the Pokémon and trainers you encounter become more and more powerful, so have to progress with that.) Most of the "branches" that occur while walking around any given part of the map will all coalesce on one of the entrances/exits to that part of the map. (I.e., either you leave the town, or you visit one of the buildings in the town, or you talk to someone in the town. Mostly, that's it; my point here is that one can simplify all the "standing at coordinate X, coordinate X+1, ... etc. greatly; those positions are essentially equivalent.)

As for a goal, I would just say "AND them together, then". Or just do the Elite Four; the credits scroll when you beat them, which I think is a pretty clear indication of "win". Catching them all is more akin to completing all the achievements in the game. (And requires running multiple coordinated games, as, for example, the starting 3 are only available once, at the beginning of the game. In order to "catch them all", you need two games where the player 1. doesn't evolve their starter and 2. trades it to you. Since usually the starter is the core of someone's team in a normal human game, I think one would normally run a small game. Or find someone you trust and only briefly trade the Pokémon, then trade it back, which counts as far as the Pokédex cares. Eevee, a Pokémon that can evolve 3 different ways in Gen I, represents a similar problem: you only get one, and have to choose. (I think Gen II's breeding system might work around some or most of this issue.))

While Super Mario is perhaps comparatively easy, I would offer up NetHack. It is "open-world" in much the same sense as Pokémon: you have an explorable area, but one that is still mostly linear. There are several "sub-modes" to solve, like the article notes about Pokémon: in Pokémon, you need to explore, train, capture new Pokémon, battle; in NetHack, you also need to explore, battle, manage items, solve Sokoban puzzles, etc.

Pokémon is fairly hard to "lose"; losing a battle just returns you to the nearest Pokémon center w/ half your money gone. (That might be more of an issue in Gen I, where, IIRC, money is finite until you beat the Elite Four; in Gen II, as soon as you have a trainer's phone number, I think money is technically infinite. Regardless, simply training a few Pokémon to Lvl 100 should be sufficient.) NetHack, however, is very easy to lose; death is permanent, and requires restarting from scratch.

And NetHack has been won by a machine: https://www.reddit.com/r/nethack/comments/2tluxv/yaap_fullau...

Re: Why Can a Machine Beat Mario but Not Pokemon?

#58
post #9

I think the battling issue may be a hard one for AI to deal with alone, though not so much in terms of the main game. Remember, the main story is meant to be beatable by people who don't want to think very much and who don't really care about training their team beyond 'reach a certain level'. Hence in the main story, 'grind until you significantly outlevel the next opponent' would probably be an optimum strategy for…

Given the results obtained by the OpenAI in Dota[1] (with asymmetrical teams nonetheless) I am pretty confident RL could be used to train a pretty efficient pokemon pvp agent. From my experiences the nuances and mindgames/predictions in a pokemon battle are much simpler than those in a high level chess/go game. I would say the model isn't as straightforward as the Mario or Sonic AI players, but is still achievable. A…

DOTA is a bad example.

Poker is a better example, because Nash-Equalibrium estimating algorithms have begun to perform better than humans in the past year or two.

Pokemon, like Poker, is a game of bluffing and partial information. I expect Pokemon's optimal strategy to be the same mix of fold (aka: switch your Pokemon out to a defensive Pokemon... eating an attack but minimizing the opponent's damage to your team), and bluff (stay in, maybe use a move that exactly counters your opponent's choice. Ex: An unrevealed Choice Scarf Draco Meteor, surprising the opponent that your pokemon is faster than the opponent expected).

Re: Why Can a Machine Beat Mario but Not Pokemon?

#59
post #9

I think the battling issue may be a hard one for AI to deal with alone, though not so much in terms of the main game. Remember, the main story is meant to be beatable by people who don't want to think very much and who don't really care about training their team beyond 'reach a certain level'. Hence in the main story, 'grind until you significantly outlevel the next opponent' would probably be an optimum strategy for…

Given the results obtained by the OpenAI in Dota[1] (with asymmetrical teams nonetheless) I am pretty confident RL could be used to train a pretty efficient pokemon pvp agent. From my experiences the nuances and mindgames/predictions in a pokemon battle are much simpler than those in a high level chess/go game. I would say the model isn't as straightforward as the Mario or Sonic AI players, but is still achievable. A…

The comparison to chess and go seems strange to me, I wonder if you could elaborate?

Certainly chess has a mental component, players develop styles, study one another, and try to throw opponents off balance. But all of that happens as a layer on top of the need to actually make good moves over the board - a bishop and knight endgame simply has a correct answer. Go is less constrained, but it's still alternating turns in a deterministic, perfect information setting.

Pokemon, meanwhile, looks to me somewhere between DOTA and poker. It's nondeterministic on crits, paralysis, accuracy, and a great deal else. It's effectively nondiscrete, in the sense that there's lots of variance which has only a chance of mattering. And it's heavily hidden-information - defining features like moveset aren't revealed. Meanwhile, the OpenAI Dota restrictions are heavily centered on removing hidden information (invisibility, wards) and unexpected state changes (summons, quelling blade, infused raindrop).

I expect Pokemon would be more tractable on these issues because the hidden information is usually discrete. (Think "does he have Protect" as opposed to "is he standing invisible on this pixel?") But they're still major stumbling blocks, especially with randomness that massively expands the branching factor of each interaction. A given Pokemon move might look something like "if Ferrothorn uses Leech Seed, will it hit, and if so will he switch out, and if so will he go to Kartana, and if he does will it Swords Dance or does it have Choice Band or does it have Fightinium Z, or will he go to Koko, and if so does it have HP Fire or is it a bluff?" Everything there past "use this move" is laboring under a high branching factor with high randomness.

I don't think it'd be impossible to do fairly well on the Pokemon Showdown ladder with a medium amount of advance work; an AI can run a damage calculator and just assume every enemy has one of the recommended movesets from the wiki, and be assigned a viable team with relatively low variance and branching. But if you take away any of that hand curation, I expect things would go downhill pretty fast. And if you take it out of Showdown premades into a format where the enemy lineup isn't known in advance, I'd expect the now-intractable branching factor to lead to very poor performance with incredibly slow progress.

It'd be a damn interesting experiment, though.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#60
post #50
post #49

Earlier quoted context omitted.

Any multi player game with hidden data lets you troll the other players. So if its the dealer and two or more players sharing a deck you can mess with them. Everyone counts cards so under extremely rare circumstances given card count X you can play as if the count is X+1 or X-1 thus mess with the minds of people who accurately believe the count to be X, possibly leading to an advantage, if, statistically, they're in…

But there are effectively no other players as far as you're concerned. You're playing against the dealer/house who makes purely rule-based plays.

Three players off the same deck is not unheard of, I suppose it depends on state regulators and casino policy.

I agree theres no direct me vs you money transfer but plenty of "we're all gonna start with $500 and whoever has more at the end of the night is the winner".

Although I would agree with you in spirit, if you want to feel like you're playing poker, theres no point in simulating it poorly with blackjack unless theres extenuating circumstances (one of your buddies is nuts for the game, or thinks he's gods gift to the card counting art, etc)

Post reply on HN