Advertisement

Stratego AI

Started by March 06, 2008 12:11 PM
4 comments, last by DB10 16 years, 8 months ago
The 2007 World Stratego AI Championships were held this past fall/winter. Details can be read here: http://www.strategousa.org/wiki/index.php/2007_Computer_Stratego_World_Championship We had five entrants (one person entered two different algorithms) and it would be great to see over ten entrants for 2008. Several people here mentioned at that time that they needed a few more months to be able to participate, so we wanted to announce that we plan to hold the 2008 Computer Championships this summer, to nearly conincide with the human 2008 World Championships to be held in mid-August in Kiev, Ukraine. The AI interface is expected to be the same, and though it is spec'ed out in Java, there is also a native C interface specified and the Java-to-Native interface is taken care of for you. Entrants last year were written in Java, C#, C++, and Delphi.
I took a quick look at the rules, and they seem messy and incomplete. It looks like a more rational set of rules would be appropriate. Something like "you cannot move into a position that has already happened" would be a good rule. This is the rule called "super-ko" in go.

Advertisement
The rules of Stratego? Well not much can be done on that, the game is what it is. There is the so called "more squares" rule that prevents chasing.

Lots of people love the game as-is, and attempts have been made to come up with variants that alter the rules, such as Probe's power squares, etc. But nothing is as popular as the original.

The International Stratego Federation is here: http://www.isfstratego.com/

Official rules are found there.
I know where the official rules are; I followed the URL in the first post. However, some of the rules are really ambiguous, which makes it hard to make a computer program. I was just suggesting a simple rule that would be unambiguous and have the same practical effects than the "More-Squares rule".

Quote: 11.1 It is not allowed to continuously chase one or more pieces of the opponent endlessly. The continuous chaser may not play a chasing move again more which would lead to a position on the board which has already taken place.
11.2 Exception: chasing moves back to the square where the chasing piece came from in the directly preceding turn are always allowed as long as this does not violate the Two-Squares Rule (Five-Moves-on-Two-Squares).
11.3 Definitions:

* continuous chase: the same player is non-stop threatening one or more pieces of his opponent that is/are evading the threatening moves.
* chasing move: a move in a continuous chase that threatens an opponent’s piece that was evading during the continuous chase.

Hereby:

* a/to move: a/to move plus attacking or a/to move to an empty square.
* to threaten: to move a piece next (before, behind or besides) a piece of the opponent.
* to evade: to move a piece away promptly after it has been threatened.

Can someone put that into code, please, so we can decide if a particular move is legal? What does "non-stop" mean? 10 times? The possibility of doing it indefinitely? Do we need to determine whether he can do it indefinitely by running a specialized algorithm? What if the opponent could put an end to the situation but this would require giving up some advantage? And if this cannot happen, do we have a theorem that guarantees that it cannot happen, or is it just that we haven't seen it?

I used to have similar problems with the rules of go, until I found the New Zealand rules and the Tromp-Taylor rules, which make sense. The Japanese rules are still terribly ambiguous and almost impossible to program.

Ah ok I understand what you mean now. Yes, it is a little hard to grasp at first what is being said here. Pseudo-code for the rule is posted on the link to the 2007 championships I published in the initial post, and we have added some clarifications.

[Edited by - metaforge on March 7, 2008 1:22:52 PM]
Sent you a PM with a couple questions...

This topic is closed to new replies.

Advertisement