Civ AI sucks

What I would like to see is a learning AI, something like Artificial Life. I read that the military is networking thier UAV's for real war situations, if one is shot down it lets all it's buddy UAV's know how it screwed up," well in this situation Don't do this".

So what about a learning civ AI that can talk to all the other civ AI's over the internet trading knowledge about what does and doesn't work?

I don't think it's to expensive or hard to implement it's just a matter of what your willing to try.

And for one, I really want a hard, challenging, thought provoking AI.
 
the code is also "dumbified" abit in some aspects, because otherwise you wouldn't be able to play on high lvls.

I'm quite sure they can code an axe rush, the warmongers even do it on times, however, if it'd be a truely optimized axe rush(or not even that, plain "build only axes" code), given the bonuses they get on immo/deity, I'm 100% you'd stand no chance no matter what you do. If the ai starts with 2 cities, a good production bonus, worker and builds only axes to rush me, he'll succed in 200% of the cases. Same if the ai, starting with industrious and with 2 cities, directly aims for wonders, 99% you'd never get mids or oracle.

Hahahaha this is so true. It reminds me of when I scripted an "insane" AI in warcraft 3 to mass defended footmen and rush.

Insane AI's were crappy AI's, but it didn't matter, because insane AI's got double resources. Normal AI build scripts didn't take advantage of that, and I showed why! Even abusively good expert players would lose to an army twice his size (footmen are easily countered by spells and air as the game goes along, but there is literally nothing that can be done about them at that point).

If a deity computer had an axe rush scripted so that it looks very much like a human version, there's nothing anyone would be able to do about the ensuing 15 axes marching toward the capital early on...
 
What I would like to see is a learning AI, something like Artificial Life. I read that the military is networking thier UAV's for real war situations, if one is shot down it lets all it's buddy UAV's know how it screwed up," well in this situation Don't do this".

So what about a learning civ AI that can talk to all the other civ AI's over the internet trading knowledge about what does and doesn't work?

I don't think it's to expensive or hard to implement it's just a matter of what your willing to try.

And for one, I really want a hard, challenging, thought provoking AI.

It's thought process would still be very brute-force. We haven't been able to simulate human thought very well. While this would certain raise its level of play, it could also learn bad things or conflicting things. It would be very difficult to improve via such a method. What if an AI dies to an axe rush? All future AI's mass chariots asap? What if someone then hits them with spearmen? Game over for the learning AI :(.
 
the code is also "dumbified" abit in some aspects, because otherwise you wouldn't be able to play on high lvls.

I think the logical counter to that would be to substitute better AI with the ludicrous bonuses the AI recieves at the higher levels. Although I can understand why the AI is hard coded not to attack you at the very start, considering the extra units/techs/settlers it starts with.
 
It's thought process would still be very brute-force. We haven't been able to simulate human thought very well. While this would certain raise its level of play, it could also learn bad things or conflicting things. It would be very difficult to improve via such a method. What if an AI dies to an axe rush? All future AI's mass chariots asap? What if someone then hits them with spearmen? Game over for the learning AI :(.

Right, but that's the nature of learning, the AI will die a lot in the beginning, really a lot. But most of this could be happening during development. I realize that this could be a dead end approach but it seems to have an open ended potential anyway.

Networking, sharing experience, and learning software seem to be something that's happening in research.
 
Networking, sharing experience, and learning software seem to be something that's happening in research.

It is, but so far it hasn't yielded successful results in computationally simple games. I think the day that a computer can play civ "smart" through machine learning, it will also be able to hold conversations, write poetry, form friendships and contemplate world domination.
 
It is, but so far it hasn't yielded successful results in computationally simple games. I think the day that a computer can play civ "smart" through machine learning, it will also be able to hold conversations, write poetry, form friendships and contemplate world domination.

I think your saying that you believe that the technology software and hardware aren't up to the task yet. Maybe, well my poor machine has a hard enough time with Bts...Still what you so eloquently describe I think is something you might be able to buy at Walmart in a decade or two.
 
Still what you so eloquently describe I think is something you might be able to buy at Walmart in a decade or two.
This is possible but it implies a fundamental change in the way that computers are programmed - or rather, how they learn. A neuron is far less sophisticated than a computer. It's just a freekin' adder. If enough inputs fire, one or more outputs get triggered. Thing is that there are billions of 'em.

Plus the wiring is adaptive. :goodjob:
 
I was going to ask about this, but does the AI really cheat? I've been suspicous about it since they almost always beat me to an important wonder by 1-2 turns consistently, except for the oracle. Also, they always seem to have an extremely good economy even though they focus on military tech/production most of the time which boggles me...
 
Firaxis has been pretty adamant about this. The AI in Civ4, unlike previous versions, does not cheat. No evidence has ever been shown to the contrary. Most conclusively, they have basically released the source code. If it cheated, this would be know.
 
Firaxis has been pretty adamant about this. The AI in Civ4, unlike previous versions, does not cheat. No evidence has ever been shown to the contrary. Most conclusively, they have basically released the source code. If it cheated, this would be know.

Oh, well thats good to hear. Actually, that probably just means that I suck unfortuantely. :blush:
 
they get bonuses as lvl. increases. And that's all. Lowered city maintenance(%), military upkeep, discount on upgrading units(however, not like in warlords where it costed them close to 0, I think deity nowdays is only 50% discount), discount on research and some techs at diff. lvls/worker/1 more settler so on.

if you'll watch it in world builder, you'll see their cities build at the correct rate taking in account bonuses. Furthermore, you can even watch in cities with enough spy points nowdays and everything they do is without any cheating.
 
The point, and it has been made before, is that chess is an easy game to program. I have no doubt whatever that I could put together a program within a couple of months which could whup you easily and I know almost nothing about pruning decision trees. If 'AI' folks from the seventies thought it was difficult, that was because the field was in its infancy and computers were orders of magnitude less powerful.

Edit: crosspost with The Rook. I'm pretty sure that you don't need to program opening books in order to make a chess program which plays 1800.

BTW. Checkers has been solved. The game is a draw.

Well, I was an 1800ish 30 years ago, I doubt I'm even a 1600 now, I may have trouble making it to 1500. I'm very happy that you can make a program that can beat me easily, that's wonderful for you. To be honest, it doesn't impress me because as you have pointed out, I'm so terrible that this means nothing.

But the computer programmers are interested in beating stronger players. I suspect that raw computation is the key, but I guess you think that the several million dollars that the computer companies spent on grandmasters trying to increase the playing abilities of these programs were a waste of money, right? They didn't help the program in any noticeable way? Or at all? Joel Benjamin and other strong grandmasters were hired, and I presume it wasn't to help them increase the speed of their computers. I talked to these GM's, they were being used to help the programmers with chess intuition. Your point is that all of this was useless? AND I talked to the programmers, who would talk a lot about how they improved from their search algorithms and how the hiring of the GM's was a key step for them. I suspect you will say they were lying to me to make me feel better? If typing in endgames and openings doesn't help, why did they do it?

And it is similar is Civ. Most of the 'general' population, not the small group on Civfantics, probably have trouble beating Noble. Even on Civfanatics, where we presumably have the best and most motivated players, most players play on noble, prince, and monarch. I doubt the people who can't beat prince or even noble are complaining too much about the poor AI.

Like chess, the AI 'problem' in Civ is for the small group of stronger players. And for chess, raw power wasn't enough for the IM's and GM's by itself. I don't know if it would be today, but I doubt it.

So, given that the actual people making chess computers found that hiring GM's was helpful, that writing in opening books helped, have written in endgame books, spent a lot of time and money on this, I'm going to make the leap of logic that they found these steps as helpful in increasing the strength of the programs in a noticeable way. If you don't, that's fine by me. I'm pointing out my view.

Here is a quote from Wikipedia, not a definitive source, but it is informative:

'Chess engines increase in playing strength each year. This is partly due to the increase in processing power that enables calculations to be made to ever greater depths in a given time. In addition, programming techniques have improved enabling the engines to be more selective in the lines that they analyse and to acquire a better positional understanding.'

So I'm sure that these people are wrong too ....


Best wishes,

Breunor
 
Like chess, the AI 'problem' in Civ is for the small group of stronger players. And for chess, raw power wasn't enough for the IM's and GM's by itself. I don't know if it would be today, but I doubt it.

Whilst I would agree with your point that raw power alone would be insufficient to beat an extremely strong chess player, this would mostly be because the engine would come unstuck in the opening and the endgame. The opening is dominated by theory at the highest level, so the crude answer to the problem was to supply the best programs with quality databases. The endgame of course becomes less tactical, than the middlegame, and can rely on formulating plans that would come to fruition dozens of moves later. AI stinks at planning, so the solution was to simply supply a tablebase. I hardly think a database + a tablebase is an indication that AI is getting smarter, especially when the two are glued together with a robust brute force search algorithm. Take brute force out of the equation and you are left with a weak chess player.

There are a number of very strong chess engines out there that can give a GM a run for their money that haven't had IBM's millions thrown at them, and are written by humble programmers who are not GM level players themselves. Whilst I would not suggest that the input of GMs isn't useful, I think you may over estimate its impact on the playing strength of computers.

The following page offers an insight into how the very strong Rebel engine works:

http://members.home.nl/matador/chess840.htm

As you can see, it's hardly "selective" in the human sense. It uses the old fashioned Alpha-Beta algorithm assisted with some fast, dirty methods of evaluating a huge number of positions, with a view to quickly pruning lines that any intermediate human player would know are obviously bad. This program was strong enough to beat Anand and Yusupov back in the 90s btw.

http://en.wikipedia.org/wiki/REBEL_(chess))

Anyway, comparing cIV with chess is like comparing apples with oranges. Chess has a sufficiently small game tree that brute force can be effective, without brute force chess engines would be extremely weak compared to how they are now. CIV is far too complex for a brute force approach to be useful, and until we can get machines to think like people, my hunch is that it will remain weak compared to the stronger civers. Personally I doubt that this will happen in our lifetime.
 
I think Kasparov beat/draw the first computer he played (or was it the first game?) and harkening back to Levy i think he played for the endgame -
( computer's then having difficulty comprehending sacrifice?)

Fischer psyched out his opponent -which would be an interesting take -
"The man who can beat computers" - by psychological techno techniques.
(if a computer were to ever "think like a human")

However, no computer can ever think like a person as we are organic - our cognative ability linked to that. I read somewhere that they thought having a computer that can "think" would be easy, and that the way communications has progressed- would be hard. I suggest that is because the material-wires, plastic and chips-are condusive to certain applications.

Ascribing traits (programming) would be shadowing- not replicating human
qualities. (saw a show where this guy made insect robots that ran on
instinct (Nietzche (sp)- the keenest intelligence.) -once again tho a, at least, human percieved trait-

Long way of saying using a computers gentic makeup may be a better way of improving it as opposed to making it "think like a human". I suspect that people would be reluctant to make AI that had social comprehension-
but i suggest that this is how AI could get closer to autonomous thought.
 
This is possible but it implies a fundamental change in the way that computers are programmed - or rather, how they learn. A neuron is far less sophisticated than a computer. It's just a freekin' adder. If enough inputs fire, one or more outputs get triggered. Thing is that there are billions of 'em.

Plus the wiring is adaptive. :goodjob:

Advances in genetics could very well allow people to produce synthetic "brains" for computers. I bet those processors would run cooler...though you'd wind up with an organic brain substance as part of your hardware. TBH though, if it made my pc 1500x faster I doubt I'd care too much.
 
Whilst I would agree with your point that raw power alone would be insufficient to beat an extremely strong chess player, this would mostly be because the engine would come unstuck in the opening and the endgame. The opening is dominated by theory at the highest level, so the crude answer to the problem was to supply the best programs with quality databases. The endgame of course becomes less tactical, than the middlegame, and can rely on formulating plans that would come to fruition dozens of moves later. AI stinks at planning, so the solution was to simply supply a tablebase. I hardly think a database + a tablebase is an indication that AI is getting smarter, especially when the two are glued together with a robust brute force search algorithm. Take brute force out of the equation and you are left with a weak chess player.

There are a number of very strong chess engines out there that can give a GM a run for their money that haven't had IBM's millions thrown at them, and are written by humble programmers who are not GM level players themselves. Whilst I would not suggest that the input of GMs isn't useful, I think you may over estimate its impact on the playing strength of computers.

The following page offers an insight into how the very strong Rebel engine works:

http://members.home.nl/matador/chess840.htm

As you can see, it's hardly "selective" in the human sense. It uses the old fashioned Alpha-Beta algorithm assisted with some fast, dirty methods of evaluating a huge number of positions, with a view to quickly pruning lines that any intermediate human player would know are obviously bad. This program was strong enough to beat Anand and Yusupov back in the 90s btw.

http://en.wikipedia.org/wiki/REBEL_(chess))

Anyway, comparing cIV with chess is like comparing apples with oranges. Chess has a sufficiently small game tree that brute force can be effective, without brute force chess engines would be extremely weak compared to how they are now. CIV is far too complex for a brute force approach to be useful, and until we can get machines to think like people, my hunch is that it will remain weak compared to the stronger civers. Personally I doubt that this will happen in our lifetime.

I agree with what you are saying here. It is possible that the time spent with the GM's isn't needed with the overall power that computers NOW have -- it was probably more helpful in the in-between years. So I recognize that maybe they wouldn't be needed now, but I also suspect that the programmers really did find them helpful when they were hired.

I also agree they aren't 'selective' in the human sense. After-all, humans memorize openings and endgames also. I suspect this is where the difference is in some of the points here. Computers have learned to perform selectivity, and it helped, but it did not do so by largely copying the human technique. To me, this is NOT applying raw power, but this may be an issue in semantics.

I do think chess computers became strongest when they decided that they WEREN'T going to act like humans too much, but use their advantages.

I also agree with you that CIV is too much different to be compared. I do think the CIV AI is actually quite good considering the tasks it is trying to perform.


Best wishes,

Breunor
 
I doubt that we need faster computers.... we need better computers. For the sake of example: would you prefer a sequential program in a fast computer or a learning able program in a somehow slower computer? I would prefer without doubt the second ( just imagine a AI that learns with the player how to make axe rushes or the intricancies of the tech brokering... ), but learning able programs work better in parallel processors ( because it is easier to make a mirror image of the program needed for the program overwrite necessary to record the learned stuff ).... and commercial computers have at top 2^3 or 4 processors ( without considering the graphical and sound ones )
 
Well, I was an 1800ish 30 years ago, I doubt I'm even a 1600 now, I may have trouble making it to 1500. I'm very happy that you can make a program that can beat me easily, that's wonderful for you. To be honest, it doesn't impress me because as you have pointed out, I'm so terrible that this means nothing.
Dood. I didn't mean to insult you. On the contrary, it's an extremely impressive achievement. I mean I never made even made it to 1500. I can also write a program which can multiply numbers millions of times faster than you and it will never make a mistake. That is no reflection on you whatsoever.

But the computer programmers are interested in beating stronger players. I suspect that raw computation is the key, but I guess you think that the several million dollars that the computer companies spent on grandmasters trying to increase the playing abilities of these programs were a waste of money, right? They didn't help the program in any noticeable way?
Or at all? Joel Benjamin and other strong grandmasters were hired, and I presume it wasn't to help them increase the speed of their computers. I talked to these GM's, they were being used to help the programmers with chess intuition. Your point is that all of this was useless? AND I talked to the programmers, who would talk a lot about how they improved from their search algorithms and how the hiring of the GM's was a key step for them. I suspect you will say they were lying to me to make me feel better? If typing in endgames and openings doesn't help, why did they do it?
All this is CHEATING. It is not artificial intelligence at all. The point is that it takes a simple program on an ordinary PC to beat an excellent player and, in my book, 1800 is certainly excellent. How many of the hundreds of millions of chess playing humans in the world are better than that? A few thousand perhaps?

To go from there to competing with the absolute best players in the world requires CHEATING. You start by throwing special-purpose hardware at the task. But that's just the start.

You go on to other forms of cheating. Opening books and endgames help. They are the distilled wisdom of the ages, of thousands of great human minds. Grandmasters memorize them for the same reason that the computers do. But there is nothing intelligent about memorizing MCO. Even when the grandmasters do it, it says more about their dedication to winning than their skills at the game. If your objective is to advance AI, it is cheating, pure and simple. As for what the grandmasters do, for the most part they do the same thing as the ones who are hired to work on the staff of other world champions - they find holes in the opponent's game and devise tricks to exploit his weaknesses. That is CHEATING.

When Deep Blue beat Kasparov, he was playing against a program that he had never seen before so Kasparov's army of Grandmaster analysts could not analyze the computer's play. Kasparov was right. This was still more cheating and there is a reason why IBM refused him a re-match.

And it is similar is Civ. Most of the 'general' population, not the small group on Civfantics, probably have trouble beating Noble. Even on Civfanatics, where we presumably have the best and most motivated players, most players play on noble, prince, and monarch. I doubt the people who can't beat prince or even noble are complaining too much about the poor AI.
I am far more impressed by the folks who can build an engine which can compete with the average CivFanatic than I am by those who jury-rig a simple decision tree with enough gadgets to compete with real intelligence.

BTW, there is no doubt whatsoever that it is possible to design an AI which can crush every player in the world on Emperor. All you have to do is build a massive axe army and rush the player. But the purpose is not to win against humans; it is let the human have fun.

Here is a quote from Wikipedia, not a definitive source, but it is informative:

'Chess engines increase in playing strength each year. This is partly due to the increase in processing power that enables calculations to be made to ever greater depths in a given time. In addition, programming techniques have improved enabling the engines to be more selective in the lines that they analyse and to acquire a better positional understanding.'
There is nothing here which contradicts anything I said. Sure, they have improved the decision tree. It is still a decision tree.
 
Back
Top Bottom