In contradiction to what you say, it is valid to compare with Chess.
1) Chess is 100% logic, decision optimization, not mathematics.
2) All programming is 100% logic, especially in a board game, and Civ games are virtual board games.
You are confusing dinner with the plate. The fact that computers and programming is logic has nothing to do with the 100% mathematical properties of games like chess. As another poster mentioned chess is 100% player controlled, this means that I can predict with certainty what you will do in any given turn and determine with 100% accuracy what the outcome of those choices will create. You will not attack a pawn with your queen and fail.
Even in chess you have an incredibly amount of complexity, and this increases as the game progresses (but decreases as it winds down). But Civ and other games of that nature are on a different level. Thats not to say it can't be improved, I'm sure it can be, but AI is not "easy". I'd rather be able to play friends online, or even hotseat play.
As to your first point above, this may just be semantics. What constitutes logic when your decision is based on a probability? You can't read your opponents mind so you are just guessing what he may move based on the value of different moves and perhaps the personality of the player? At any rate, as that applies to computers and computer AI means its just math. I'm not up with the latest in chess AI, but generally in the world of AI the computer is doing a lot of calculating, its not thinking, nor is it using logic.
Your second point I was referring to above with the dinner/plate analogy. But while this line of code "x=randomNumber(0,100)" may be 100% logic programatically, the outcome and the value in x after it completes is random.