Complete.Org: Mailing Lists: Archives: freeciv-dev: September 2002:
[Freeciv-Dev] Re: [Patch] [RFC] Path finding version 14
Home

[Freeciv-Dev] Re: [Patch] [RFC] Path finding version 14

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Gregory Berkolaiko <Gregory.Berkolaiko@xxxxxxxxxxxx>
Cc: freeciv development list <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: [Patch] [RFC] Path finding version 14
From: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Date: Mon, 16 Sep 2002 11:43:39 +0200

On Sun, Sep 15, 2002 at 07:21:58PM +0100, Gregory Berkolaiko wrote:
> On Sun, 15 Sep 2002, Gregory Berkolaiko wrote:
> 
> > > 
> > > Gregory: it would be nice if you audit my changes and than work on the
> > > differences like this one:
> > 
> > Attached is a patch against the current CVS (-p1) with synchronized 
> > outputs from both algorithms.  Your code isn't changed (very nice of me:)
> > My code is updated to deal with large extra costs.  I preserved your 
> > spelling too.
> > 
> 
> And the last version of the patch.  First it makes one test run for all
> units, both PF algorithms are used and if a difference in results is
> detected, the whole thing aborts.  Then 100 runs of each algorithm for
> each unit are done and the times are printed.
> 
> Usage: 
> 1. Apply the patch to latest CVS.
> 2. Load the attached game, connect, start and press Turn Done.
> 3. Watch the output in the server screen.

Patch from x2 to x3 attached.

Problems:

2: PF: path (at 0xbfffd440) is valid
2: PF:  consists of 4 positions:
2: PF:    0/ 4: (15,30) t/m= 0/ 3 dir=NW/ 6 BMC= 0 EC=0 COP=0
                             ^^^^ this is known but it isn't required to fill 
this out in TM_NONE mode
2: PF:    1/ 4: (14,29) t/m=-1/-1 dir=W / 9 BMC= 6 EC=291400 COP=291406
2: PF:    2/ 4: (13,29) t/m=-1/-1 dir=SW/ 3 BMC=15 EC=582700 COP=582715
2: PF:    3/ 4: (12,30) t/m=-1/-1 dir=--/-1 BMC=18 EC=883900 COP=883918
2: PF: path (at 0xbfffb7f0) is valid
2: PF:  consists of 4 positions:
2: PF:    0/ 4: (15,30) t/m=-1/-1 dir=NW/ 0 BMC= 0 EC=0 COP=0
                                          ^ missing
2: PF:    1/ 4: (14,29) t/m=-1/-1 dir=W / 0 BMC= 6 EC=291400 COP=0
                                                       same here ^
2: PF:    2/ 4: (13,29) t/m=-1/-1 dir=SW/ 0 BMC=15 EC=582700 COP=0
2: PF:    3/ 4: (12,30) t/m=-1/-1 dir=--/ 0 BMC=18 EC=883900 COP=0

2: produced same output
2: compare_pf: create map for Gebirgsjäger at (62,24)

Gebirgsjäger = Alpine Troops

2: PF: path (at 0xbfffd440) is valid
2: PF:  consists of 2 positions:
2: PF:    0/ 2: (62,24) t/m= 0/ 3 dir=NW/ 1 BMC= 0 EC=0 COP=0
2: PF:    1/ 2: (61,23) t/m=-1/-1 dir=--/-1 BMC= 1 EC=236100 COP=236101
                                                 ^
2: PF: path (at 0xbfffb7f0) is valid
2: PF:  consists of 2 positions:
2: PF:    0/ 2: (62,24) t/m=-1/-1 dir=NW/ 0 BMC= 0 EC=0 COP=0
2: PF:    1/ 2: (61,23) t/m=-1/-1 dir=--/ 0 BMC= 3 EC=236100 COP=0
                                                 ^

Your implementation also doesn't handle sea units.

I got an error in common/path_finding_gb.c:490 that cost < 0.

You should use a larger test case. A random savegame which had CMA
problems ;) attached. This should provide a good mix of unit types.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "Transported to a surreal landscape, a young girl kills the first woman
  she meets and then teams up with three complete strangers to kill again."
    -- TV listing for the Wizard of Oz in the Marin Independent Journal

Attachment: path_x2-x3.diff
Description: Text document


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