こんにちは。お久しぶりです。HEROZ広報の片桐です!
HEROZでは開発部のメンバーがお互い高めあえるような環境構築や取り組みを推進しています!
その一環として、様々な企業課題に柔軟に対応できる力などをつけるために社内競技プログラミングコンテストが不定期に開催されています!
出題された問題を解くには、問題の構造を分析して、探索/Union-Find木/最小全域木/動的計画法…といったアルゴリズムやデータ構造を実装する力が必要です。
これらの技術は、AIを構築する基礎として使えたり、そのままAIとして活用されたりすることもあるそうです。
一般的な競プロと比べると、当社では、python、C++、Rust、Javaなど業務で使用する言語を用いるところが特徴的ですね!
本日は、第一回目と第二回目に優勝したメンバーにコンテストの勉強法、知識が業務にどのように役立っているかや今後緒戦したいことを伺ってみました!
[左:第二回優勝の芦田さん、右:第一回優勝の安藤さん]
プロフィール
安藤さん 東京大学大学院修了
工学研究科システム量子工学専攻。流体構造連成解析を研究。
HEROZでは開発部にて金融領域などの AI開発に従事。
芦田さん 東京工業大学大学院修了
大学では省領域のアルゴリズムを研究。
ICPC・SamurAI Coding等のプログラミングコンテストに参加。
HEROZの開発部として勤務し、メディアやエンタメ分野などの最適化案件に従事。
No.1の男たち
片桐:お二人は社内競技プログラミングコンテストで“No.1”になるためにどんな勉強をされましたか?
安藤さん:プログラミングコンテストチャレンジブック(通称アリ本)という本について、社内で輪読していたのですが、その復習をメインにやっていました。また、出題の傾向をつかむために、atcoderの過去問題を、数十問解きました。
芦田さん:僕は、大学の時にICPC(大学対抗の競技プログラミンコンテスト)に出ていて、2年間くらいの間はそのコンテストに向けて沢山問題を解いて練習していました。その頃と比べると時間数は減りましたが、HEROZへ入社後もたまに競プロ用の問題を解いて、勉強し続けていました。
一回目は入社前でしたので、二回目があれば絶対優勝したいと思っていました!
片桐:過去の勉強会の内容を復習したり、定期的に勉強したり、粘り強く問題を解いて訓練することが大事なんですね!
業務課題とのつながり
片桐:こういった勉強は実際の業務にどのように役立つのでしょうか?
安藤:業務ではビッグデータを取り扱うことが多く、前処理に時間がかかることがあります。今回のコンテストのようなアルゴリズムの知識は、 AIの開発や事前の分析を効率的に行うことに繋がっています。
皆さんはご存知かもしれませんが、例えばWaveletMatrixというデータ構造を利用する事で 数時を短縮できたことがあるため、限られた計算リソース を効率的に使うのに役立っています。
芦田:当社のAIサービス「HEROZ Kishin」の中に、予測や分類、最適化など様々なエンジンがありますが、特に最適化エンジンを用いて課題を解く際に競技プログラミングで学んだアルゴリズムが役に立ったと感じることがありました。また、競プロでは素早くバグなく実装することが重要で、そういったところも業務に活きていると思います。
片桐:たしかに、企業とのやり取りですと限られた計算リソースの中で、質や精度が高く、素早く問題を解決することが必要ですもんね。
次の挑戦
片桐:HEROZの行動指針で「挑戦」とありますが、二人が次にやってみたいことはなんですか?
安藤さん:当社の重点領域でもある金融の分野にて、株・FX・仮想通貨等の未来の価格を予測する、ディレクショナル・アルゴリズムについて真面目に取り組んでいます。社内では金融領域に特化した研究を行うチームがあるため、そこに所属し、日々研究に励んでいます!
芦田さん:今回の社内コンテストで競プロのモチベーションが上がったので、しばらくやっていなかったけど、また再開したいと思いました。
また、競プロとは別に、機械学習・データ分析のコンテストのKaggleにも取り組んでいきたいです。HEROZは機械学習・データ分析の案件が沢山あるので、こちらは業務に役立てる意味で頑張っていきたいです!
『驚きを心に、何事も楽しむ』
社内競技プログラミングコンテストを通して、開発メンバーの日々の努力やみんなが楽しみながら勉強しているということを感じました!競プロ以外でも粘り強く勉強に取り組む尖ったメンバーが沢山いるので、またお話を聞いてみたいと思います!
【おまけ】優勝特典の話
社内の競プロには優勝特典があると伺いました~~!
安藤さん:海外の学会に参加する権利をいただけることになっていたので、
マカオで開催されたICDE 2019(データベースに関する学会)に参加してきました!
私の専門外ではあったのですが、AIはビッグデータと計算機リソースが重要になる分野ですので、データの取得や保存など、今回学んだ知識を活かして、AI学習に関するデータの持ち方のアルゴリズム改善に努めたいと考えています。
マカオには初めて訪れたので睡眠を削ったり、空き時間を利用したりして、観光は目一杯楽しんできました!笑
特に印象に残った場所はリゾートプールで優雅な時間を満喫したギャラクシーマカオのグランドリゾートデッキと美しい景色のコロアン地区の黑沙龍爪角海岸徑です。どちらもとても綺麗でした。
[左:ギャラクシーマカオのグランドリゾートデッキ、右:コロアン地区の黑沙龍爪角海岸徑]
芦田さん:僕の場合は大会前からiPad Proが優勝特典と決まっていました。
技術書を紙で買っていたので、これを機に電子書籍で購入してiPadで読もうと思います!また、スライドで発表する時などにも使おうと思っています!
片桐:(私も優勝特典だけ参加したいな・・・。)