Differences From Artifact [9ce063855f41ff05]:
- File        
submission/README
- 2012-07-14 14:52:01 - part of checkin [3e683f8768] on branch trunk - W dead case. (user: kinaba) [annotate]
 
To Artifact [145a0b89a717cc17]:
- File        
submission/README
- 2012-07-16 10:57:00 - part of checkin [1046fbae45] on branch trunk - README update. (user: kinaba) [annotate]
 
                                                                                        >     1  --------------------------------------------------------------------------------
    1  Team:                                                                                  2  Team:
    2    Dark Integers                                                                        3    Dark Integers
                                                                                        >     4  
    3  Member:                                                                                5  Member:
    4    Kazuhiro Inaba (www.kmonos.net / kiki@kmonos.net)                                    6    Kazuhiro Inaba (www.kmonos.net / kiki@kmonos.net)
                                                                                        >     7  
    5  Language:                                                                        |     8  Programming Language:
    6    D Programming Language (dlang.org)                                                   9    D Programming Language (dlang.org)
                                                                                        >    10  --------------------------------------------------------------------------------
                                                                                        >    11  
                                                                                        >    12  Three types of solvers are combined.
                                                                                        >    13  
                                                                                        >    14   1. Solver "Forest"
                                                                                        >    15        It does breadth first search every turn for taking the game's dynamism
                                                                                        >    16        into account. Basically it tries to rush to the nearest lambda or open
                                                                                        >    17        lift, but if there is no route found, it tries other various options.
                                                                                        >    18        Pushing rocks, digging earth around rocks, wait a while...
                                                                                        >    19        It is slow, but relatively more clever.
                                                                                        >    20  
                                                                                        >    21   2. Solver "Wind"
                                                                                        >    22        It does breadth first search and memorize the computed path. As far as
                                                                                        >    23        possible, it tries to follow the precomputed route. If some obstacle is
                                                                                        >    24        found, it redoes the BFS. It is dumb but fast. So it is used for large
                                                                                        >    25        maps.
                                                                                        >    26  
                                                                                        >    27   3. Solver "Fire"
                                                                                        >    28        It is a kind of "higher-order" solver, that takes another solver and
                                                                                        >    29        creep into it to make it more careful. Precisely speaking, this higher
                                                                                        >    30        order solver runs the subsolver as a 10-20 step lookahead. While no
                                                                                        >    31        problem is found in the lookahed, it behaves exactly as same as the
                                                                                        >    32        sub solver. If there was a problem (i.e., subsolver dead or stuck),
                                                                                        >    33        it tries all the possible perturbations to the lookahead window, and
                                                                                        >    34        re-runs subsolvers many times and chooses the best one.
                                                                                        >    35  
                                                                                        >    36  Fire<Forest> is used for W*H<=1600 instances. Fire<Wind> is used for any
                                                                                        >    37  instances. For smaller maps, the better result of the two is used as the
                                                                                        >    38  final output. In addition, all these outputs are guarded by a sentinel
                                                                                        >    39  who aborts by force the output sequence at the best score position (so
                                                                                        >    40  that left-over run does not make the score worse).
                                                                                        >    41  
                                                                                        >    42  
    7                                                                                        43  
    8  This submission for lightning division is not particulary interseting.           |    44  For the added features, not quite much effort is paid. So if there came a
                                                                                        >    45  map that fully exploits the characteristics of the gadgets, I'll lose :(.
    9                                                                                        46  
   10  - Robot rushes to the nearest lambda (or the open lift) by breadth first search. |    47    Flood:
   11    - Not at all taking into account the dynamics (falling rocks, floods).         |    48       Almost nothing is done for it. The "fire" solver locally takes care
   12    - To mitigate the staticness, the robot avoids the '.' below '*' as much as    |    49       of it, and it is inclided to use "U" during perturbation. Also, "wind"
   13      possible, so that it won't fall new rocks.                                   |    50       solver's BFS is made to like "U" direction in larger maps.
                                                                                        >    51    Trampoline:
                                                                                        >    52       Just treated as one BFS edge.
                                                                                        >    53    Beard:
                                                                                        >    54       No clue. If there is nothing else to do, goes to the place where many
                                                                                        >    55       Wadler's are around, and uses the shaver.
                                                                                        >    56    Higher-order Rocks:
                                                                                        >    57       Tries to push them somehow randomly.
   14                                                                                        58  
   15  - Output routine is 'guarded' by a 'sudden death' or 'stray sheep' detector.     <
   16    That is, if the above search routine was hit by a rock or a water, or it       <
   17    couldn't find a way to the next target and walked in vain, the output guards   <
   18    trims the command history and inserts the 'A'bort at the optimal timing.       <
   19    This is also used for SIGINT handling.                                         <
                                                                                        >    59  
   20                                                                                        60  
   21  - gui.d is a windows GUI for the game, using DFL (http://github.com/Rayerd/dfl)  |    61  Thanks for organizing the contest! I've enjoyed!
   22    it is not compiled into the submitted routine. This is just a helper.          <
   23                                                                                   <
   24  Stay tuned for the full submission, judges!                                      <