DPTG error (long promised reply to Randall Shane) (Re: Re: Another idea to avoid transcription errors)

"Peter J Richardson" <[email protected]> Mon, 12 Jan 2004 20:54:25 -0000
Newsgroups gmane.games.diplomacy.cat23.game-chat
Message-ID <041401c3d94e$4b8093e0$9390fd3e@oemcomputer>
I just found this whilst clearing out some old stuff. I am pretty sure that I owe Randy a reply....


----- Original Message -----
From: "Randall Shane" <[email protected]>
To: <[email protected]>
Sent: Tuesday, August 26, 2003 2:20 PM
Subject: Re: [CAT23-Gchat] Re: Another idea to avoid transcription errors


>
> --- Peter J Richardson <[email protected]> wrote:
> >
> > ----- Original Message -----
> > From: "Randall Shane" <[email protected]>
> >
> > > My current plan is to use the Diplomacy Player's Technical Guide
> > > algorithm simplified -- much of the complexity of the DPTG's
> > algorithm
> > > is there to handle the various convoy-cutting-support paradox cases
> > > (and implementing the DPTG resolution for them, which I'm not sure
> > I
> > > agree with).  I think detecting the paradoxes would be simpler, and
> > > letting the GM choose an appropriate resolution should give more
> > > flexibility.
> >
> > I believe that there are two documented errors in the DPTG resolution
> > algorithm. If you are not aware of them I
> > shall see if I can find where they are documented.
>
> That would be great, thanks!!!!

There was a YGroup set up to discuss this ([email protected]) but unfortunately it seems to have been deleted so
I am having to search my own archives in order to find the answers to this

The first and most well known bug is in step 19 and involves the adjudication of convoy paradoxes. I have not found
an exact description as yet, I might have to do a search of RGD to get to it if nobody here remembers it.

Here is the second bug discovered by David Norman and posted on the above YGroup:

"I believe I've found another error in the DPTG. It is very similar to the
one in step 19, but this one is in step 14.

Consider the following :

Austria:
A(Boh) - Vie
A(Vie) - Gal
A(Bud) s A(Vie) - Gal

Russia:
A(Gal) - Boh
A(War) s TURKISH A(Rum) - Gal

Turkey:
A(Rum) - Gal
A(Ukr) s A(Rum) - Gal

The problem is that Boh-Vie-Gal-Boh will be identified as a ring of attack.
So, it considers each element of the ring, and discovers that Vie-Gal can
not work. Therefore it cancels the attack from Vie to break the ring. The
problem is, this attack should bounce the attack of Rum-Gal when it comes
to actually resolving Gal.

I have a solution. It is ugly !!!

Every province in a ring must be in one of five states :

A: Ring unit will advance into province, no matter what.
B: Ring unit will advance into province only current occupant leaves,
otherwise it will be a standoff.
C: Province will be a standoff, no matter what.
D: Side unit will advance into province only current occupant leaves,
otherwise it will be a standoff.
E: Side unit will advance into province, no matter what.

Which of these a province is can be determined by considering the number of
supports and the number of supports to dislodge of the units trying to
enter the province (as is now done in chapter 19).

So, my solution is as follows :

1. Either every province in ring is type A or B. If this is the case, then
every unit in the ring advances.

2. If not (1) then there must be a province of type C, D or E. Identify it.
If there are several, pick one at random (it doesn't matter which one, the
results will be the same). Call this province X.

3. Identify the ring unit trying to enter X. Call this province Y. We know
that the unit in this province will not be moving.

4. If Y is a province of type E, then cancel the attack of the ring unit
into province Y. If Y is a province of type B,C or D, then cancel all
attacks into province Y. Otherwise (Y is type A), identify the province
containing the ring unit trying to advance into Y. Call this province Z. We
know the unit in Z will be leaving.

5. If Z is a province of type D or E, then cancel the attack of the ring
unit into province Z. If Z is a province of type C, then cancel all attacks
into province Z. Otherwise (Z is type A or B), identify the province
containing the ring unit trying to advance into Z. Make this province Z
instead. We know the unit in the new Z will be leaving. Repeat step 5.

Can anybody see any problems with this ? Can anybody come up with a better
algorithm ?

David.

p.s. In case anybody is wondering how I find these, I'm currently in the
process of writing a high-speed, mostly DPTG compliant adjudicator (and
when I say mostly compliant, I mean compliant except that convoy routes are
specified in the army's order).

p.p.s. What is happening with the changes to step 19 ?"




Regards
Peter







>
> >
> > > Coming back to this note and doing some more looking around, I see
> > that
> > > David Cohen is apparently working on replacing and updating the
> > DPTG --
> > > I shojld drop him a note an ask if he's still owrking on that and
> > > whether I could help...
> >
> > He is.
> >
> > Regards
> > Peter
> >
> >
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site design software
> http://sitebuilder.yahoo.com
>
>
> Community email addresses:
>   Post message: [email protected]
>   Subscribe:    [email protected]
>   Unsubscribe:  [email protected]
>   List owner:   [email protected]
>
> Shortcut URL to this page:
>   http://www.onelist.com/community/CAT23-Gchat
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>