Robocodeのチャンピオンになった経緯

私はTomcatロボットの作者であるJdevであり、2011年11月/ 12月に1回も敗北することなくRobocode( 証明 )全体のプレミアリーグの王でしたが、今ではパーセンテージ分類で911から3位になり、私の物語のヒーローです。 ロシアの国旗の栄誉を擁護することはすでに難しくなっているので、この記事に同胞の注意を引くためにこの記事を書くことにしました(私の2つのロボットを除いて、最高のロシアのロボットは142位になります)。 私はストーリーを雑誌の形で作成することにしました。



まず、見出しを簡単に開きますが、ここでは赤字のためにあまりうそをつきませんでした。 Robocodeは、戦車制御システム(ロボット、ボット)を記述する必要があるプログラマー( robocoderobowiki )用のゲームです。 その後、戦車は互いに戦い、ラウンドに勝ち、敵を攻撃するためのポイントを獲得します。 ゲームは2つの評価システムを使用します:ポイントの平均パーセンテージ(コミュニティではこのシステムはAverange Percents Score、APSと呼ばれ、主なものです)および勝利数(コミュニティではこのシステムはプレミアリーグと呼ばれます)。 チャンピオンのコミュニティはキングスと呼ばれるので、今後この言葉を使用します。 そのため、タイトルの悪さは、接頭辞なしの王は勝利ではなく、光景システムによって決定されるということです。



2005-07:始まり

2005年の春と夏にjavaportal.ruで初めてRobocodeについて読んだとき、私は正確に覚えていますが、今では何らかの理由でその記事を見つけることができません。 デモボットを引き裂く簡単なボットを書いて、信じられないほどクールだと決めました。 2004年にShadowロボットをダウンロードしました。これは、現時点で2番目で最後の絶対チャンピオン(決闘、戦い、チーム決闘)になりました。 当然、彼は私のペットを小さな破片に引き裂いた。 それが敗北か、職場での妨害か、学校での妨害かを正確には覚えていませんが、2005年の秋までに始めました。

遺伝的アルゴリズムについて最初に読んだ後、2007年に再びRobocodeを思い出しました。 私は、イベントに反応するためのコマンドのシーケンスを決定するDNAを「ピックアップ」しようとしましたが、このアイデアはもちろん惨めに失敗しました。 このゲームへの私の2番目の進路を終わらせたもの。



2009年6月〜7月:0ステップへのステップ

2009年6月、私は全ロシア州立経済大学のサマースクールオブプログラミングで特別なJavaコースを実施するよう求められ、タンクプログラミングに関するクラスを構築することにしました(これは悪いアイデアであり、非常に幼い子供と一緒に仕事をする方法が本当にわかりません) そして、何かを学ぶためには、自分でそれを学ぶ必要があります。 プレミアリーグの冠を獲得するための3年目の3年目のキャンペーンが始まりました。



2009年夏-2010年秋:レーキを集めます

私は自分のロボットを「オリジナル」のJdevと呼ぶことにしました。 最も驚くべきことは、Tomcatには2009年に書かれたコードとJdevのデザインがまだ残っていることです。 産業用プログラミングについて話さないのであれば、自転車の発明は自己開発に非常に役立つので、意図的にロボットの読書を避け、すべての自転車を独立して発明したと思います。 そして、これは、おそらく、旅行全体の最大の間違いでした。

2009年の秋に、私はもっとオリジナルになることを決め、JdevをUltraMarineに改名しました。 この名前を選んだのは、 2009年の夏、私たちはWarhammerにハッキングするホステルで1晩以上過ごしました。40,000。私はTauでプレイしましたが、最も調和のとれたものは、この価値ある秩序の私の敵の名前のように思えました。

これらの1年半の間に、私は思いついたすべてを試してみました-既存のテクニックと自分のテクニックの両方-私はこのゲームの基本的なテクニックを発明したShadowの作者であるABCを凌ぐことを夢見ました。 しかし、すべてが失敗しました。



2010年11月冬:リリース! 失敗しました...

ある夜、うつ病で、私は「すべてを青い炎で燃やせ!」と決め、ペットをなめました。 ペットはすぐに戦闘で0ポイントを獲得し始め、調査ではAPIバージョン1.7を使用し、公式の戦闘にはバージョン1.6が使用されたことが示されました。 ボットを完成させるのは難しいことではありませんでした(すぐにやった)が、その頃はうつ病が優勢でした。



2011年春夏:自分を見つける

2011年3月に別の「ブレークスルー」が発生したため、これを記念してUltraMarineのブランドを変更し、Primarchに名前を変更することにしました。 その後、3〜4か月かけて「ブレークスルー」に取り組みましたが、再び失敗に終わりました。 2011年7月、私は別の失敗に気づき、発明者の栄光に唾を吐き、良いロボットを作ることにしました。 そこで彼は生まれ、将来のチャンピオン、Tomcatです。



2011年8月5日:リリース!

最後に、8月5日にリリースすることにしました。 リリースは非常に成功しました-816回中50回。その後、リリースが2回失敗しました。これにより、 RoboResearchに到達したと思いました。ローカルで自動的に戦闘を実行するツールです。これは、すべてのロボットに対する十分な数の戦闘の場合、非常に正確に予測できます場所。 しかし、トゥルザは非常に長い時間前に書かれたか、または単に曲がって書かれたものであり、彼女はゲームのコウモリのニックネームを起動して戦闘を行いました。 そして、ゲームの初期化は実際の戦闘よりも何倍も長くなる可能性があります。 そのため、ツールDistributed Robocodeを作成することにしました。まず、エンジンを1回だけ初期化し、次に、異なるコンピューターで複数の戦闘を同時に開始できるようにしました。 正確な数字は覚えていませんが、私のツールははるかに高速です。 2011年9月23日までにtulzaの最初のバージョンを完成させました。



2011年8月〜11月:トップへの道

特別な調査は行いませんでしたが、Tomcatのクライミングがゲームの「現代」の歴史の中で最速ではないにしても、最速の1つであると言っても、私は本当に嘘をついているとは思いません。 したがって、さらなるイベントが急速に発展しています。 ただし、重要な手順のみを説明します。

8月10日(40位):敵を狙うための新しいデータ管理システム、+ 5位、最初の小規模イノベーション。

8月11日(32位):敵の射撃に関するデータを並べ替え、1行で+8位!

9月12日(25位):敵のヒットログを選択するときに、彼が撃たなかった場所、+ 7位、2番目の小規模イノベーションに関する情報が使用されます。

10月7日(7位):k最近傍アルゴリズムを使用して銃を書き直し、+ 8位

11月3日(4位):「暗くなった」(私の弾丸でノックダウンされた)敵の弾丸に関する情報の使用を改善、+ 3位



2011年11月6日:クラウン!

魅惑的でした。 この頃、私は彼女の故郷であるアンガルスクに行きました。 ノボシビルスクから1日半そこに行くために、ラップトップを持って行き、途中で「踊り」ました。 遺伝的な「ナタンチル」-現在、位置の危険性を判断するとき、この位置に到達した瞬間ではなく、この位置とすべての敵の位置の間の最小距離が考慮されます。 朝、私はすぐにテストを開始しましたが、すぐに新しいバージョンが成功したことが明らかになりました。 私はそれを笑って、私のガールフレンドの妹の誕生日に行きました。 私たちは座って、飲んで、話します。そして、私の頭の中で考えていることが一つあります。 これは私の将来の親relativeとの最初の出会いだったと言うことは重要です。 最後に、飲んだ後、私はインターネットで質問することにしました。 クラウンプレミアリーグ! そこから始まった-私はほとんど喜びのために踊り、すぐにプレミアリーグの女王と名付けられました。 一般的に、それはその日はまだ恥ずかしいですが、私の両親は女の子が私と結婚することを禁止しませんでした。



2011年11月〜12月:王冠の戦い

この2か月で、3つの最高のボット(DrussGT、Diamond、Tomcat)の間で、プレミアリーグクラウンの戦いが繰り広げられました。 これらの2か月の間に彼女は5-6回手を変えました、そして、この事実は2011年の記録で注目されました。 その戦いの勝者はDrussGTでした。DrussGTは4年以上にわたり、主な(パーセントで)キングRobocodeでした。 この状況は今日まで保存されています。



2012年1〜6月:停滞

新しい年までに、私は疲れきって2月まで休暇を取りました。 2月には何も良いことはありませんでした。この背景に対して、私の熱意は6月まで徐々に失われました。 そして6月には、コードの面で革新的なアイデアしかなかったことと、Tomcatの弟ConceptAの開発を始めたことを除いて、興味深いことは何も起こりませんでした。



これは、私がプレミアリーグのRobocodeのチャンピオンになった経緯について、かなり見栄えの良い、しかし完全な話ではありません。 2回目の試みがより成功することを願っています。 読者の皆さん、少なくともこのゲームに興味があることを願っています。 正方形の戦場でお会いしましょう!



All Articles