Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2003:
[Freeciv-Dev] transitive alliances
Home

[Freeciv-Dev] transitive alliances

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] transitive alliances
From: "Per I. Mathisen" <per@xxxxxxxxxxx>
Date: Tue, 25 Mar 2003 17:29:33 +0000 (GMT)

On Tue, 25 Mar 2003, Gregory Berkolaiko wrote:
> 2. It would be good to enforce "transitivity" of alliances: "if A allied
> to B and B allied to C, then A is allied to C".Or, at least "if A allied
> to B and B allied to C, then A cannot be at war with C".

This is a very good idea. I've been struggling with transitiveness of war
and alliances in the AI diplomacy code, and some ideas on how to solve
this in a more general way would be much appreciated.

Automatic transitiveness, ie "if A allies B who is allied to C then A is
allied to C as well", gets into trouble in some odd but important cases.
For example if C is at war with A.

In order to get sane transitiveness, we'd need it also for war and peace.
So if A allies B, all A's allies also allies B. If A declares war on B,
all A's allies declare war on B. If A makes peace with B, all A's allies
make peace with B. However, this can quickly become unruly for large
alliances because of lack of communication between allies. A sort of
voting system might be needed where allies may vote over
peace/war/alliance suggestions of allied players.

-

The problem in the AI diplomacy patch is that you have to choose between
three evils:
 1) you allow individual AIs in an alliance to agree to peace with an
enemy of its allies, but then open up an endless number of possibilities
for an enemy to easily break up an AI alliance by playing them against
each other, since some members of the alliance will not be as much in
favour of that particular war as some others and only agreed to war by
peer pressure; that peer pressure will splinter the alliance when some
members refuse to honour alliance obligations;
 2) you allow individual AIs to agree to peace as above, but they
immediately revert back to war next turn; this however is problematic
since it is a counterintuitive way of doing diplomacy, and it will totally
ruin an AI player's reputation; and reputation is vital in the AI
diplomacy patch;
 3) the allied AIs will never agree to peace with someone they are
mutually at war with, even if all AIs individually want peace - this is
the solution chosen in the AI diplomacy patch; it is a solution that is
simple, efficient and frustrating.

(This problem can be solved by inter-AI communication, but this is a very
hard task, and that solution is therefore not available to crack this
nut.)

</rant>

  - Per



[Prev in Thread] Current Thread [Next in Thread]