Computer cheats

I was watching a show called “Breaking Vegas” in which they explain that this sort of cheating is prohibited and regulated by the Nevada Gaming Commission. They hire programmers and coders to look for code that would sway or deny winnings on any machine they chose. The guy in the show was slick in that he WORKED for the NGC as the lead programmer. He programmed slot machine boards to dump the hopper if a certain combination of coins was entered into them. Fucking brilliant. Of course, you only get caught when you get greedy (or stupid).

Indeed. I think a summary of the law is “If something that can be found elsewhere in a casino is replicated in electronic form, it MUST operate with the same laws of probability.” Thus, an electronic roulette wheel bonus game on a slot machine must have equal odds for all the spaces, electronic blackjack and poker cards must have the same probabilites of coming up (though I guess if you used a big enough shoe, it wouldn’t matter much), and electronic dice must be fair.

I think her question may be rephrased like thus :

If you are playing a game and use a computer to help you select your next move, is that cheating?

Yes, that’s cheating.

I’m sure the laws regulating electronic gambling machines are very strict.

That still doesn’t mean I’d trust them any further than I can throw a cluster rack, however. :wink:

Look at the problem again. Once white’s king takes the rook, black will advance his pawn to h5 and without perfect play from white, promote to queen. It’s hard to believe that this position isn’t winning for black, but depending on how black proceeds, white’s king can either escort his own pawn or chase the offending pawn down.

toyo

Cheating? Well in Civilization (any version) you can only see an enemies moves or what’s going on in an enemy city using spies and other units. However, the PC will happily base its moves on what you’re doing by simply asking itself what you’ve built, where you’ve moved etc.

And in Cafe Society, someone mentioned a game where if you leave it paused for too long, a “fidget” will occur where your pieces are moved or something of the like.

That’s not just limited to chess. Most game AI needs to be limited in order for a human to be able to play it.

[QUOTE=Chronos]

I don’t see what’s amazing about that position. If white immediately takes the black rook (the obvious move), he secures a draw by insufficient power.

Toyo is quite right - this appears to be an easy win for Black. A truly astonishing position.
Reti did a follow-up version:

White (to move): King h5, pawn c6
Black: King a6, pawns f6, g7, h6

  1. Kg6 h5!
  2. Kxg7! (if 2. Kxh5 g5 wins)

and we soon transpose into the original study.

Although Peter’s point is a good one, there have been top level exhibition games of chess where both players used a computer to help them. And even a handicap game where the weaker player was entitled to use a computer.

In Scrabble, I don’t think the computer “cheats.” In other words, it doesn’t switch its letters up so it can make a word, or give you “bad” letters, etc.

Depending on the difficulty level at which you’re playing, the program may have access to a larger or smaller dictionary and its randomizing algorithm may make it choose either the “best” word or a “lesser” word each turn with varying frequency.

So, at the most difficult level of the game, the program might be accessing its largest dictionary and the chances of it using the best word available on each turn is high. At the easiest level, it might be using a small dictionary and maybe only have a 50% chance of using the best word available on each turn.

Another thing the program may take into consideration is how far ahead you are in score. Its chances of using the “best” word may increase the more your score outpaces the computer’s score. This is not cheating, but serves to keep you on your toes and looking for your best words. It would be no fun if you could easily win games, now would it?

I play computer games such as Civilisation, where you can play either against other people, or the computer. The aim is to improve your civilisation by building cities, doing research, hiring army units etc.

In an early version of the game, there was a unit called a caravan, which was used to transfer resources by travelling across the world from one city to another.
Human players used to consider their routes carefully, building roads and providing ships to cross seas. This was a tricky thing to program, so the computer would simply move the caravan straight across the board, ignoring obstacles!

This is technically cheating, but I understand why they did it, and it didn’t affect my enjoyment of the game.

It really depends on the game. Some games can be solved, meaning that the computer can always play perfectly and will always win against less than perfect play. Other games aren’t solved, but the computer’s methods of finding winning moves are much better than human methods. Chess is an example, a decent chess program can wipe the floor with a typical human player. It is often fairly easy to perfect play for traditional board or card games.

But for computer games it is often much harder to program superior AI, and human players can wipe the floor against the best-written computer AI, especially since human players can learn better strategies. The computer AI only improves if the developers release an AI patch. Good AI for computer strategy games is notoriously difficult. Typically it is neccesary to give the computer players information that the human players don’t have access to…the equivalent of being able to peek at a player’s poker hand before making a bet. But it is pretty easy to program a poker game to calculate the value of a hand, and calculate the expected value of every possible move, and bet accordingly. But in a strategy game like Civilization or WarCraft it is impossible to calculate the value of every possible action. So the AI is simply given a script to follow. In “even” Civilization games…where the human has equal resources to the computer players…it is pretty easy for the human player to defeat all 7 computer opponents.

Other games like first person shooters are different again, since the goal of the computer-controlled “players” isn’t to win, but rather to provide interesting targets for the human player. So it would be possible to program a computer-controlled bot to shoot with perfect accuracy…but what would be the purpose of that? But even if the computer-controlled players have perfect accuracy, they often don’t understand how to move from one place to another…it used to be common to see monsters “stuck” on terrain obstacles without being able to figure out how to go around them. So what exactly would constitute perfect play? A computer character that couldn’t move around, but could shoot you in the head for a one-shot kill the microsecond you came into “view”?

I programmed a game years & years ago that simulated those early hand-held LED football games on a PET 2000. It played too well and the early users couldn’t beat the programmed opponent.

I had to change the program the opponent’s logic used to introduce “mistakes”. The odd “bad move” or “non-move” condition as determined by a random number generator. Then the game became playable & winnable.

Still, as the player progressed down the “field”, I often got complaints that the game played harder or cheated as the player got closer to the goal line. As the programmer, I know that there was no code to do this, the opponent’s movement was independent of field position but still, as the frustration & excitement level of the play rose they’d perceive a difference.

$.02 - B

I know, I’m doing an AI degree :smiley:

I just didn’t want to make the disctinction between certain games that have been solved, those that rely on search trees / spaces and the rest. Probably a mistake in hindsight.

The problem I’m looking at on that link has white king at G7, white pawn at C6, black king at A6, black rook at H8, and black pawn at H7. If White takes the rook, then he’s blocking the pawn, and there’s nothing stopping him from taking it next move, too. I presume that this is the final position, after all of the perfect play by white, but what was the original position?

Cite? I’ve played Civilization for years and in my experience the computer is almost rock-stupid, and has no anticipation at all of my attacks. If it bases its decisions around my moves, why does it never seem to know when my invasion forces are coming? I’ve dispatched scores of amphibious invasions and the computer never anticipates it, ever, and never reorganizes his forces accordingly. If the computer AI was basing its plans on seeing my moves, he should be killing my transport ships every time.

I’ve seen games like that though. Years back there was a pretty well-constructed Civil War game, called North and South I think, that would have been a great game if only it wasn’t for the fact that the “simultaneous turns” were actually the computer reacting to your moves. It rendered the game impossible to beat.

In strategy games, computer “cheating” usually refers to the AI not playing by the same rules as the player. A classic example is RTS games. in Age of Empires, for instance, the computer’s “Growth” - its ability to construct buildings, units, and such - was not subject to the same rules as the player’s (which was based on the ability to gather resources.) Rather than bothering with programming the AI to gather resources the same way as the player, they just programmed the AI to get and build things at a certain pace without regard to resources. It simplified the process. Unfortunately, the AI’s pace of “building” was far faster than any player could accomplish using the game’s human-player rules, making the AI difficult to beat, even though it actually played stupidly.

Black is moving down the board. After White takes the rook, Black moves his pawn to h5, and White has to move his king to either catch it or protect his own, depending on what Black does.

That’s the correct starting position. Keep in mind that the black pawn on h7 wants to promote at h1, not h8.

When it comes to card games like poker, I don’t think there is such a thing as perfect play because the mathematical odds that a given hand will win isn’t the only variable. It maybe wise to raise a hand you would normally fold for various reasons – you feel you can win with a bluff, you want to be caught bluffing and be labeled a loose player, you feel pot committed, you noticed your opponent twitch.

toyo

D’oh! OK, I get it. I dunno what I was thinking, there…

This is a devilishly hard one… The first move for White must be to capture the rook. Otherwise, the Rook slides over to C8 and then captures the pawn on the next move regardless of White’s follow-up. So KxR for starters. Now Black must move his pawn to save his chance for victory, and there’s no reason to move it only one space, so p to h5. From here, white moves diagonally to (ultimately) f6, then e6 (if the Black king has not yet advanced on the pawn) or e5 (if it has). If Black moves in and captures the White pawn before the White king can rescue it, then Black loses just enough moves for the White king to catch up to the Black pawn, and the draw is trivial. If Black has not yet captured the White pawn by the time the king reaches column e, then White gives up on catching the Black pawn, and works on advancing his own. Black queens before White does, but the queening isn’t check, so White can re-marry, too. From here, we have draw by perpetual check: Black starts off with the initiative, and can check White every move with his queen, but if he ever does anything else, then White gains the check initiative and will never let go of it. So Black can never position his king into a mating position.

Did I atone for my previous error?

Assume we have a team deathmact fisrt person shooter (humans vs computer bots).
If the computer bases its AI on the position / status of of the human players outside of line-of-sight, I’d call that a cheat (perhaps a needed one to make the game challenging)

But there is also a non-cheat cheat that can be used. Even if the human players are in the same (physical) room, conversations can go like this:
P1: Bad guy in the Lava room!
P2: The one with the broken bridge?
P3: No, I think he means the room with the spinner
P1: No, I call that the spinner room. I mean the big room with lava and green statues. The room with the bridge is the broken bridge room
P2: Ok, I know the room, is he still there?
P1: Dunno, I ran away when I saw the rocket coming

Even with standard area names there are still limits. And things get much trickier if you have to type info.

The computer, on the other hand, can do this:
P1 at location 1234, 5678 facing 23, health status 90%, carrying weapon 2
P1 fired weapon 2. ammo (P1, 2) -= 1
P1 at location 1235, 5689 facing 51, carrying weapon 1
P1 left line-of sight heading direction 54

nearly instantly to all other computer players. But not really a cheat since it isn’t anything humans couldn’t (theoretically) do.

Brian

Sure, but it would be relatively easy to write a poker AI that could calculate the odds for its hand, compare that to the pot, and bet/fold/raise accordingly. Writing AI to consider the psychology of the human player would be very difficult, but an AI that can play perfect basic strategy would be simple applied mathematics.