[freeciv-ai] Re: (PR#4089) Estimated incite gain is too high.
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: |
undisclosed-recipients:; |
Subject: |
[freeciv-ai] Re: (PR#4089) Estimated incite gain is too high. |
From: |
"Per I. Mathisen" <per@xxxxxxxxxxx> |
Date: |
Wed, 30 Apr 2003 09:19:09 -0700 |
Reply-to: |
rt@xxxxxxxxxxxxxx |
On Wed, 30 Apr 2003, Gregory Berkolaiko wrote:
> > I'll look at pf again, but the incite comment is dead on. Will you commit
> > this?
>
> Since we are at it, I thought about other ways of estimating gain. Here
> are my ideas.
>
> 1. Cost to take city by force is (a) hard to estimate and (b) misses the
> point: what if we don't _want_ the city?
Taking the opponents' cities is one way to win the game. The most common
way, too.
> 2. We should instead ask "will we get our money back in reasonable time?".
This ignores the fact that conquering cities isn't an investment, as much
as a military victory over an enemy we want to vanquish.
> This leads to the question of "reasonable time".I think we need
> something like "planning horizon" which changes as we approach the
> endyear.sqrt(turns_to_end) sounds like a good candidate.
As endyear approaches, it gets increasingly important to snatch cities
from the enemy! Each city means more score for us and less for him!
> 3. We should probably consider surpluses rather than gross values.But we
> don't care for enemy production surplus -- they might have tons of units
> supported that we don't need.We pretend that we will have only 2 units
> in the city, to defend it.
Huh? Surely if we don't want his units, we can disband them or, as the AI
does already with no regrets, send them to their certain death.
> 4. To stop before we go too deep, use
>
> def_upkeep
> = unit_types[best_role_unit(L_FIRSTBUILD)]->sheild_upkeep;
>
> benefit = food_surplus * FOOD_WEIGHTING
> + (shield_prod - 2*def_upkeep) * SHIELD_WEIGHTING
> + (luxury_total + tax_total + science_total) * TRADE_WEIGHTING;
>
> benefit *= planning_horizon;
>
> benefit -= incite_cost * TRADE_WEIGHTING;
I think this mostly misses the point of inciting cities. This is only if
we incite cities of players that we are not at war with, and then doing
this _will_ bring us into war pretty quick.
We want, first and foremost, to incite cities that are hard to take with
our normal units, cities that support a lot of enemy units, and cities
with important wonders.
Will you commit my patch in the meantime?
- Per
|
|