Tuesday, May 31, 2005

Got Smarts?

Zen of Design
discussed Artificial Intelligence and laid out an image that I felt was particularly apt and clever and easily-envisioned.

"In most games, the best way to think about A.I. is to think about it as a puzzle the player needs to solve. It's roughly analogous to the cards that start face up in solitaire - it's the visible circumstance that you have to modify your gameplay patterns to deal with."

This is all well and good, and is, I feel, a good analogy for most of the A.I. available in games up to this point.

I think what I would like to see from some A.I. is for it to be like a poker game. Reacting to the opponents becomes a part of the strategy, where behaviors are not strict patterns, so the game becomes a series of several possible states to predict through logic, knowledge of the game system and knowledge/evaluation of the opponents.

I chose poker because, unlike chess, it seems to be a more accessible game. And in addition to that it seems to allow more success for more people. That is, more people become skilled poker players than chess players. And more people become casual poker players than casual chess players. At least, it seems that way to me.

The big difference between chess and poker is the amount of information available during the course of the game. In chess, all available moves are readily apparent, given a person with enough talent, skill and calculating power -- which means that the gap between skilled and unskilled becomes very large very quickly. If I can think four moves ahead and my opponent can only think one move ahead, my advantage is substantial. If I memorize a book of the one-hundred most popular openings and my opponent knows zero, my advantage, again, is greater.

In poker, it's necessary to deal with hidden information and thus probability. And while it's true that math whizzes can suss out the odds of which players are holding which cards, in the end what they're really doing is making an informed guess, with their degree of success depending on the number of players and the cards in their own hand (and, with variations like Texas Hold 'Em, the cards in the river). They aren't privy to actually knowing all the possible iterations of the gamespace, but can only deal with possibilities. There are no openings to memorize, only strategies that must be gauged against risk and reward.

And, of course, possibly the greatest aspect of poker: Attempting to read the other players to determine whether they are bluffing.

To come back to A.I., then, it isn't necessary to have one present all manner of complex human behaviors. But it could be cool to have it present a very specific type of human behavior. If we were programming a poker game (to mix analogy with example), it wouldn't be very difficult to make a character that always raised when holding a hand 3-pair or better with queen or better high. Why would we make that a case? Why not?

And couldn't we design series of these types of not-necessarily-most-efficient strategies and classify them according to how risky they are and what kind of general mood they present to people when used in a game? From there modular A.I.s could be built with different levels of recklessness, that take different gambles, that present novel yet beatable opponents.

Because, of course, with a game of computer poker, a company is probably going to read standard reference materials and consult with experts to find the most successful strategies. Then they're going to build an A.I. that implements these strategies. And the only way they can think of to decrease its efficiency is to restrict information, rather than alter its strategies slightly to present anomalies. Which means it's not going to be an interesting opponent.

Which I believe is the important thing about A.I. Not to make a good opponent, or a smart one, but an interesting one.

Reading back over this, I think I've just spouted a whole mess of gibberish.

Ahh, the Internet . . .

A Tangent

The difference between the two systems above reminds me of a discussion I read on the RPGnet forums, concerning whether or not a deck of playing cards numbered 1-6 with six types of each card was fundamentally different from rolling a 1d6.

Some said yes, some said no. I'm not a statistician, but according to some people there is no difference number-wise -- over time a 1d6 will average out to the same probability as the deck of cards. That's the important distinction -- given enough time.

But there is a very important difference. Unless, after every card drawn, you return the card to the deck and re-shuffle, then the card deck becomes easier to predict than the die. When you have one card left then the system is 100% predictable.

But the die remains random (if you're assuming that the microscopic and subatomic surface of the die isn't weighted ever so slightly to one side, throwing off the whole damn thing -- but we'll leave that shit to chaos theorists).

I know, I know, but statistically a thrown die will return a specific distribution of numbers, and that presents as indistinguishable from the card deck. In the fucking magic fairy-land of mathematics, yes.

But out here in "the world" that doesn't mean shit. I have the same probability of throwing a thousand 'ones' in a row as throwing any other sequence of numbers. Because each throw of the die is a single event, each time you throw it your odds of rolling any number are that number over the total number of sides.

This is the big problem of symbolically representing real-world things. As cool as it would be if concepts always matched the world, we'd also get shit like this.

Lies, damned lies and statistics.

No comments: