Appareil Game Bot: 16e place de la finale de la Russian AI Cup 2020 (et 5e après)

Cet article concerne la participation au championnat d' écriture d'intelligence artificielle du jeu Russian AI Cup







Un jeu







Clause de non-responsabilité jusqu'à ce que tout le monde ait fui



Même si j'étais 16e en finale, l'article décrit le bot qui occupait la 5e place du classement général du bac à sable lorsqu'il s'est arrêté.







5ème place dans le bac à sable







16- , , , , , . .









( — ), Russian AI Cup. . , , .







,







  • ,
  • , ,
  • , ,
  • , ,
  • - , , :)


, , , .







...









. GreenTea, 4- . , (RTS) . , , , , . , , . .







, . . , , , , .







-, , , , — . , , . — . , , .







. . . , , , . , 5 , 2 . , , - ( ) .







Combattre 2v1







2 2 , , , , .







. , . , RTS , , . , :







, , , . 4 : , , . . , , . , , . 5 .







$1 . , $10, — $11 .. , , - .







. , , , , .







, . . , . .









. .







  • 1 4 . , , .


Tour 1







  • 2 4 , .


2ème round







  • , 1 1. :


2ème round









:







  1. ( ; ; )


.









, , Java. — . - , . , , , , . , — 40 . , , , , , , 3 , 40 . , 90% VM , 7-10%. . , , Java Kotlin.







VM, , - . , 1 2 , Commandos- ( C++), . VM, , .







, , . , . , - .







karloid, . PE GraalVM.







, , . exe 5 . GraalVM . , . , 2.5 , , . , , , . , 16 5 10-12 , . , , , , , .







0.



. , . :









, ( ). . , , , , , , .









, xathis Google Ants, , .







— (, BFS) . , , . , , , , .







BFS , — . , - . , , , , .







. — , . , . .







Première ligne







— .









, . , . , , , , .









, GraalVM, , . , . , , , . .. , , .







Carte de passage







, , , . BFS-. , BFS, , .







() — . , , , , .







1.



. . :







  • , . , — , $350+ (.. - ), 220- .
  • X , . X = 5 , < 15, X = 10 (.. 2 )
  • ,
  • , , . :







    double scale = Game.duel_mode ? 0.2 : (Game.fog_of_war ? 0.25 : 0.1);
    boolean builders_limit_not_reached = num_builders < Math.max(Game.duel_mode ? 60 : 50, World.food_slots.size() * scale);
          
          





    . , , 5- .









2.



-.









, 20 , 6 , , [35, 35] , - . , [30, 30]. , 10+ , 6. , - , , "" . - , .







BFS, .









. 33. , 11. , . , 1 , . . , , .







, , . , A*-, , , . . , . . , "", , . , , .







, 4- . , , , , , . , , , .







, , .







, , , , .









, . , . . — - , - , , . , , .







3.



. , . , , , :







  1. ( ).







    Fentes alimentaires







  2. . , , , , .







  3. BFS. , -, , .







  4. 1 20 ( ).







  5. , , , , .







  6. , .







  7. , , . <= 20, .









, , , , , , ..







, , ,







Extraction de la ressource la plus murée







, . , -, , , -, , , , . , .







, . , .







, . . . . , , , . , , .







Fuite des ouvriers de l'ennemi







. , (- ), , . .







.







  1. .
  2. , , , , . .. — , 5 . , .
  3. .
  4. BFS . 7 . , .


, , , , . , , . .. "" 5 . 2- , 5 , , . 7 . , . 7 .







() . . , , . , , . , 5 6 ( 10). . 5 , , , ( 5 ), 1 1 : .







4.



. , . . , , — (BFS )







5.



, , 7 , , , .







, () , . — - .







. :







  1. 5, 6, 7
  2. , , ..,
  3. 5, . .


, — 55. — . , :







  • 7 8
  • , , , : , ( , ). , , . .
  • .


, . , , , . , , . , 0.99 1.01 . .







, 16 5 , , . :







  1. 5, 6, 7
  2. , 3. <= 7


: , , . 55. 55 , , . , .







, , . , :







  1. 5, 6, 7
  2. , 5,
  3. , 6 7
  4. 6
  5. 5 4, .
  6. — , — .


, / . . 4-7 . - , , :) .







, . , - , , , .







Redistribution des plans







"C" — "3", , "A" "B" 2 . "A" "B" "3", "C" . "C", , "A" "B" , , .







6.



, . , , . — Commandos ( 1 ). :









  1. ( , 5 - , . , )
  2. score : 3 , , 1
  3. score , .
  4. BFS- .
  5. .


, , 8-10 4-5, , .

, , 30%, , , . , , 65% 95% , , , , . 2/3 . - 30%. , .







Round 1 Opening



. , . GreenTea. , 1- ( ), 1 1 . . , . , , , , . . , .







, , , . , , .







, . , .









, , . 30 , id. , , .







, , . .









, .







3 [79, 79] ( ) , 9 . . , . , .







Flanquant







, , .









, , " ", . , , , , , . , "", . , , .







, :







  1. . , . - , , 2 . , , . , . , 4040 8080.
  2. . .. , . . , . — ! — . , .

    . :

    • . , , -, -, , , , - .
    • , ,
    • [0, 0], ,
    • , , , [0, 0]. 6 , ( ). .


Émetteurs







. — . , :







Émetteurs







— .







, . , , 25 . , , , . , , , , BFS 25 .







25 . ____ + ___ * (25 - __)



. "" , , , . , .







, , BFS. , BFS , . , 5 . BFS , .







, , , — . . , , . - .







, . , , , . , , .









A* . , , , . , , , . . . , , — .







, . :







  • : , , "" . , , , . , , . , , , , .







    Pousser les travailleurs







    "A" "B". , . , . , .







  • : , , , . , , .











3- . , , , , , 2/3 , 500. .. . , , , , , ( ), ( ). , 480:20, .







, , . .







, , python. ( 200) . - :







python search.py run &mdash;p1 test.exe &mdash;p2 prev.exe &mdash;count 200 &mdash;teams 2 &mdash;nthreads 3 &mdash;level Finals &mdash;params "CMD_MAX_DIST_FROM_BASE_TO_COUNTER:50/100|ENEMY_UNIT_ATTRACTION:100/300|FRIENDLY_PUSH_OFF_MULT:2.5/7.5" &mdash;output tests_v42-r3-1

      
      





6 200 3 . CMD_MAX_DIST_FROM_BASE_TO_COUNTER = 50



, — CMD_MAX_DIST_FROM_BASE_TO_COUNTER = 100



.. . — . , CMD_MAX_DIST_FROM_BASE_TO_COUNTER 75, 50 100.









, . , . :











. . , , .

!








All Articles