Don't like current DIFFICULTY SCALING;AI is cheating

warpstorm said:
To have a non-cheating decent AI, yes. To use a game tree type of approach, no. I'd use a rules based approach.

Agree :)

But that is also a more human way of thinking, wouldn't you say ? =)
 
Obviously human-like intelligence would be ideal, but since no computer game (of this scope) has ever come close, I highly doubt it's going to happen. Allowing the AI to "cheat" is an extremely easy and cost effective method of making the competition stiffer w/o resorting to hundreds of hours of AI programming (that still won't come close to "human-like" intelligence).

All my opinion, of course.
 
NP300 said:
You can't compare chess to civ. Civ is much more complex than chess. Chess has a board with a limited number of squares and a small number of playing pieces. The number of squares is always the same. The starting positions are always the same. And you cannot build more units (except when a pawn reaches the other end).

Actually, pawn-promotion in chess is not so much a build as an upgrade. :)
That off-topic nit-picking aside, the complexity of Civilization is probably still beyond AI as it can be produced thus far. Frankly, I'm fairly certain that a truly intelligent AI would be disinclined to hold humanity in any high regard.
 
AI is a very hard thing to program. (EG a flash game ai was killed using fools mate tech) because the human brain is modular and one unit at the same time an example of this is when you blind fold a person for weeks his brain will take touch sensory and put some of them in to the visual cortex enabling to "see" with his fingers. The AI will constanly have to adopt to surondings *sp* and make adjustments. eg in rts the AI units move almost instantaniuosly from site a to b.
Anyways a set of rules would be too hard to program somthing more dinamic like predprey programing would have to work.

and remeber to be human is to error
 
Well I think modular is great, it wouldn't have to be spectacular, mabe something like this guy playing as expansionist militaristic has roughly this strategy thus I wil concentrat on building more defensive units and will go into gurillia tactics and not allow him peace long enouth to build an infastructure. If he plays as Religious Scientific he will build cultural improvements and scimp on defense and navy I better also build cultural improvements in the border towns.

See not that bad, How complicated it gets is not based on the AI "skill" but the ability to weed through all the statistics and make an adequate profile of you. SO going at it like in Civ3 where certain strategys just lead to victory would be obsolete, b/c the AI catches on and fills those gaps. The difficulty would then be in learning to think differently as "what I did 4 games ago" will not win you another game. And saying that supercomputers are needed, just look at what a "super computer" was 20 years ago 100 mhz and 1024 kb of Ram thats what.

(yes I do understand that this is complicated and will take good time to implement but If you don't try you have already failed.)

cheers
 
N3pomuk said:
And saying that supercomputers are needed, just look at what a "super computer" was 20 years ago 100 mhz and 1024 kb of Ram thats what.

(yes I do understand that this is complicated and will take good time to implement but If you don't try you have already failed.)

Supercomputers are not needed. A master-level chess programme will run on much less horsepower than 100 MHz and 1MByte of RAM. Chess is a simple game which is amenable to computer analysis. A chess program uses evaluation trees. This works because there are so few rules in chess.

A Civ playing AI has to be rules-based, which is a much less robust technique. There never will be a good Civ AI until we have a completely different approach to programming computers. E.g. until we teach computers to think instead of to follow rules. Undoubtedly it will come some day, but it will not be in Civ4.

I play Bridge. There is no computer bridge programme which is able to play at the level of a good club player - never mind at that of a world champion. A few years ago someone invented a Bridge programme which adopted the chess method (all previous programmes were rules-based) and it immediately began to play hands like an expert. Bridge programmes still suck at bidding, though. That takes judgement and today's computers simply do not have any.
 
Abegweit said:
I play Bridge. There is no computer bridge programme which is able to play at the level of a good club player - never mind at that of a world champion. A few years ago someone invented a Bridge programme which adopted the chess method (all previous programmes were rules-based) and it immediately began to play hands like an expert. Bridge programmes still suck at bidding, though. That takes judgement and today's computers simply do not have any.
The problem is the exponential grown of the tree-based methods. Chess is an 8x8 board with 32 pieces and looking only a few moves ahead there are already millions of positions to analyze. In Civ there are millions of possible positions looking only two moves ahead, and most players look 50-100 moves ahead.

Chess is a completely different game because it is fundamentally a tactical game. Civ is a strategic game. When we play Civ, except in battles, we don't think in terms of what happens if you move this unit here, and then the opponent moves his unit there, etc. Strategies are usually planned at a much higher level. That's why you can't use a tree-based approach.
 
Brain said:
The problem is the exponential grown of the tree-based methods.

Agreed. Because of this, the notion that it simply takes more computing power is completely wrong. I know you didn't say this, but several people on this thread are under this misapprehension. There is not enough computing power in the entire universe to solve strategy problems this way (by this I mean that if every atom in the universe was devoted to this purpose).

Actually it goes further than that. It is not even clear how the method could be applied assuming that infinite power existed.

It was quite a revelation to discover that it was possible to solve bridge play problems using decision trees. What they did was to have the computer deal out thousands of hands in its little computer brain and play them out to the end. The choice which won most often was the choice made. Simple enough when you think about it.

They then tried using the same method to tackle bidding problems. It failed miserably. Not because of the exponential nature of tree algorithms but because bidding is a language and using it requires judgment. Tree algorithms are simply not suited to solving such problems, anymore than they can resolve strategy issues.
 
Production advantages may be unfair, but it's very hard to program a competent AI that can outsmart humans. Try it yourself and you'll see it's indeed not a piece of cake ;)
 
I think you are missing a point when comparing chess and civ. In civ there is a luck factor, whereas in chess there is 100 % strategy. In chess if you move your pawn where the opponent's queen is, you defeat his or her queen. In civ you can attack a city using 5 tanks and lose the last one against a spearmen. (or an infantry, you do not know how many units deffend a city unless you pay money to spy it).
 
This is not true. Computers play far better backgammon than any human while they lose at GO. Backgammon is a game which centres on the roll of a die. GO, like Chess, is a game where everything is above board and the rules are even simpler.

So you can see that the luck factor has nothing to do with it.

The key factors are the complexity required for the position-evaluation algorithm, the depth needed for the decision tree and the rate at which the tree grows.

The last two factors kill computer GO programmes. The decision tree grows far faster in GO than chess, yet a much greater depth is required to analyse a position. It simply is not possible to use decision trees to play top-level GO and the game is not amenable to rules-based analysis either. Consequently, computers will never beat the best GO players until a fundamental change is made in the way they "think".

In contrast, the decision tree in backgammon grows much slower than in Chess. So the computer can afford to roll the dice a few million times and get something close to a random result this way. That's how they play Bridge hands too.

In all of these games, each player makes exactly one move before passing his opponent's turn. That's why the idea of a decision tree is even possible.

In Civ you may make hundreds of decisions on a single turn. Because of this, it is not possible to develop a decision tree which can even evaluate a single turn. Yet some of these decisions involve planning dozens or even hundreds of turns in advance (choosing a position for a vanilla FP, for example).

Unsurprisingly, the Civ AI does not use decision trees. It cannot because of the nature of the game. So naturally it's bad. Decision tree are at the heart of every game-playing programme that a computer plays well.
 
Abegweit said:
In Civ you may make hundreds of decisions on a single turn. Because of this, it is not possible to develop a decision tree which can even evaluate a single turn.
I have to stop you there because that's not true. You can make a decision tree on many moves as long as you consider all the possible combinations. In Civ that means that you would have to consider all the combinations of all unit moves and all other "moves" that the computer can make in a given turn. There are at least thousands at each turn. That's why I said that there are millions of possibilities looking only two moves ahead.

Abegweit said:
Unsurprisingly, the Civ AI does not use decision trees. It cannot because of the nature of the game. So naturally it's bad. Decision tree are at the heart of every game-playing programme that a computer plays well.
Well, looking at AI behaviour I'm pretty sure it does for low-level unit movement, but it considers each unit separately and only looks two or three moves ahead.
 
Vael said:
Don't you think everyone would prefer a 'smart' AI over one which cheats? Even the programmers?

That depends if it means the programmers staying up 25 hours a day. ;) (yes, 25)
 
Brain said:
I have to stop you there because that's not true. You can make a decision tree on many moves as long as you consider all the possible combinations. In Civ that means that you would have to consider all the combinations of all unit moves and all other "moves" that the computer can make in a given turn. There are at least thousands at each turn. That's why I said that there are millions of possibilities looking only two moves ahead.
Two to the power of thousands is a lot more than millions. It would be nice to have the answer before the sun died.


Well, looking at AI behaviour I'm pretty sure it does for low-level unit movement, but it considers each unit separately and only looks two or three moves ahead.
This might well be true.
 
Abegweit said:
Two to the power of thousands is a lot more than millions. It would be nice to have the answer before the sun died.
It's not two to the power thousands. It's not like a binary decision tree. Every combination is a possible move. For every move there is a thousand more possibilities on the next move, etc. This is an exponential growth, not 2^n growth.
 
Exponential growth is, by definition, growth according to some power curve.

You are quite right that the power is far greater than two, which only adds to the force of my point.

It is impossible to use decision trees in Civ.

Period.
 
x^1000 is a big honkin' number no matter what x is.

Considering that the number of atoms in the universe is estimated, IIRC, as about 10^83, I think it's safe to assume that a decision tree is a practical impossibility.
 
Back
Top Bottom