MC Digital プログラミングコンテスト2023(AtCoder Heuristic Contest 019)

参加対象: All Rated対象: All ペナルティ: なし

コンテスト情報

AtCoder Heuristic Contest(AHC)とは?

AtCoderにて新たに定期的に開催されるプログラミングコンテストです。ABC/ARC/AGCなどのアルゴリズムコンテストと異なり、最適解を出すのが難しい問題に対し、出来るだけ良い解を作成するコンテストとなります。出題例などについては過去の類似形式のコンテストを参照下さい。

AHCでは、ABC/ARC/AGCでのレーティングとは異なる、ヒューリスティック部門用の新しいレーティングが付与されます。ABC等でのレーティングと異なり、コンテスト成績が悪くても下がることのない単調非減少型を採用し、平均的に良いパフォーマンスを出すことよりも、ベストパフォーマンスが評価される形式となります。気軽にご参加下さい。

腕に覚えがある人も、まだまだプログラミングは始めたばかりという人も、一度参加されてみてはいかがでしょうか?


会社概要

MC Digitalは2019年9月に設立した、三菱商事100%出資のTech企業です。

三菱商事が強みを持つ数多くの産業をデジタルで変革し、新たなビジネスを開拓します。

2019年12月から本格始動し、以下のような案件に取り組んできました。

  • 食品流通における需要予測、在庫・欠品を最小化する数理最適化アルゴリズム構築
  • 配送効率化のための組合せ最適化アルゴリズム構築
  • 金利の予測モデルの計算
  • 顧客分析、サブスクリプションビジネスの分析とビジネスインサイトの提供
  • 購買情報からグラフ最適化により類似商品を判定するレコメンデーション

MC Digitalの強み

三菱商事グループは数多くの産業に根を張っています(産業プラント、物流、エネルギー、リテイル、食品、ヘルスケア、都市開発、モビリティ、電力、化学品、金属資源、etc)。また、MC Digitalには機械学習や最適化アルゴリズム、データ基盤など各種情報技術の専門家が揃っています。

我々MC Digitalは自分たちの強みであるデジタルを武器に、三菱商事が強みを持つあらゆる産業で変革を起こします!(MC Digitalが取り組んでいるプロジェクトは日経や朝日新聞などでもご紹介いただいています)


Chief Technology Officer (CTO) からのメッセージ

MC Digitalで評価される人は3タイプいます。

  • 引き出しが多く、問題解決力が高い人
  • 複数人が使い回せるコードやシステムを設計できる人
  • ビジネス、アルゴリズム、データサイエンスそれぞれの領域の理解を深められ、チームをリードできる人

AtCoderを通して様々な人が入り活躍して頂いています。

トップクラスのAtCoderのレートを持ち、MC Digitalの主戦場であるヒューリスティックな手法が求められる問題に粘り強く取り組める人も求めていますが、同様に開発者のためのコードを書ける人、ユーザ中心に問題を考えながら専門性の高いメンバーをリードできる人も求めています。

コンペを通してMC Digitalを初めて知る人も多いと思いますが、興味を持った人はこちらから是非ご連絡下さい。


AtCoderで鍛えた力を活かせる業務内容

顧客の課題や今後効率化していきたい要望を、機械学習や数理最適化を通して解決します。

  • 機械学習モデルの構築 (需要・供給予測、金利予測等)
  • 数理最適化アルゴリズムの構築 (配送最適化、発注量最適化等)
  • 機械学習パイプラインの構築等によるPoCの効率化
  • 顧客データ分析によるビジネスインサイトの提供
PoCのみに留まらず、データサイエンティストの作成したモデルは社内エンジニアが開発を行い、SaaS提供まで一気通貫で手掛けます。

利用するフレームワーク・ツール等

  • 機械学習 : PyTorch, TensorFlow, LightGBM / Optuna等
  • 機械学習効率化 : Luigi
  • 数理最適化 : OR-Tools (Gurobi)
  • 各種プラットフォーム : GCP上に展開 (Google Compute Engine, Google Cloud Storage, BigQuery, AI Platform 等)

業務内容

  • Kubernetes上に構築した機械学習システムの改善や信頼性向上
  • 需要・供給予測
  • ダイナミックプライシングサーバーの開発
  • レコメンデーションエンジンの開発
  • ユーザ行動の分析
  • 画像認識

MC Digitalと競技プログラミング

MC Digital は現在約 50 名の会社ですが、プログラミングコンテスト・コンペが好きなメンバーが数多く在籍し、日々の業務でその実力を発揮しています。

AtCoderやKaggleで好成績を残すメンバーは、ヒューリスティックな最適化アルゴリズムの検討・実装や、機械学習モデルの構築などの業務を中心に幅広く活躍しています。 また、モデルの本番運用に向けたシステム開発などの幅広いエンジニアリング業務にも、多くの競技プログラマーが携わっています。 エンジニア職のみならずマネジメント職でAtCoderに日常的に取り組むメンバーもいて、各々が多様な取り組み方で競技プログラミングを楽しみながらスキルを向上させています。

AtCoder Heuristic Contest の終了後にはオフィスや Slack 上で感想戦が行われています。また、Kaggle 等のマシンリソース補助制度、社内表彰制度など、会社としてコンテスト・コンペの参加を支援する環境が整っています。

MC Digital社員のAtCoder 到達レーティング(人数)

他コンテスト・コンペ等

  • Kaggle Master 4名、Expert 1名
  • PG BATTLE 2022「企業の部」 1位 & 4位(2年連続優勝)
  • ICPC 参加経験者12名(うちアジア地区予選進出9名、World Final進出1名)

社内AtCoderユーザーからのメッセージ

  • hitonanode: 入社してから AHC のモチベーションが上がり、より参加するようになりました。Algo・Heuristic・Kaggle に強い方や、エンジニアリングスキルが非常に高い方など、同僚から日々多くのことを学べる環境だと思います。
  • dolicas: AtCoderJobs で求人を見かけて面白そうだなあと思ったご縁から就職して1年ほど経ちました!業務やKaggleなど専門性を活かしつつ学べることも多く、人当たりの良い人が多い雰囲気の良い会社で、楽しく働けています。
  • yutas: 弊社はAtCoderで得られた素養が活かされる職場です。またそれ以外の様々な分野で専門性を持つ社員も多いため、業務と並行して自らの興味を伸ばせる環境であると実感しています。
  • kort0n: 非常に優秀な同僚や上司に恵まれた良い職場で、競プロで得た細かいテクニックを生かしながら楽しく働けています。
  • udon1206: AtCoder のコンテストや ICPC スポンサーといった、会社全体で競プロ界隈を応援しようという雰囲気があり、競プロer に居心地がいい職場です。業務にも競プロで得た知識が活かせる場面もあり、楽しく働けてます。
  • tran0826: データサイエンティスト以外の職種でもアルゴリズムを理解していることが必要な場面があり、競プロで得た知識が日々の業務に役立っています。同僚にも優秀な方が多く様々なことを学ばせていただいています。
  • gasin: 競プロに強い社員が多く、コンテスト後の感想戦などで刺激をもらえる環境だと思います。
  • takoshi: アルゴリズムの知識/経験を直接生かして実世界の問題を解決していける職場はそうそうなく、日々刺激を受けながら働いています!
  • sumitacchan: 数理最適化や動的計画法などのアルゴリズムを活かせる業務と、コアな議論ができるメンバーの双方が揃っていて、競プロ経験者が楽しく働ける職場だと思います!
  • kurarrr: 私は自分の希望でアルゴリズムというよりは基盤やアプリケーション開発寄りの業務をしているのですが、スキルの高い人が多く刺激を受けています。あと単純にいい人が多くてやりやすいです。
  • Yoko453: 最適化やMLのガチプロはもちろん、技術面とビジネス面(顧客対話等)をバランスよくこなせる方も多く活躍しています。暖色でなくても生きていける会社なのでご安心ください。
  • s_shohei: 向上心が高く、優秀なメンバーが集まっていると日々感じています。競プロやKaggleなど積極的な参加が推奨されている雰囲気があり、競技プログラマ/Kagglerにとって働きやすい職場環境だと思います。
  • fuppy0716: 入社時はアルゴリズムのレートしかついていなかったのですが、業務でヒューリスティックっぽいことをしていたらいつの間にかヒューリスティックレートの方が高くなってしまいました。月一でボドゲ会があるのが嬉しいです。
  • wafrelka: 業務のことはもちろん、業務以外のことも、優秀なメンバーと直接議論できるので、とてもありがたいです。良い同僚に恵まれた職場だと感じています。

賞品

順位(全体の順位ではなく、条件を満たした方から構成される順位)により、Amazonギフトカードを用意しております。また1位~10位に入賞された方は、オフィス見学&焼肉会にも招待いたします(希望者)。

総合順位 金額
1位 100,000円
2位 50,000円
3位 30,000円
4位から5位 20,000円
6位~10位 10,000円
11位~20位 5,000円
50位 5,000円
100位 5,000円
200位 5,000円

その他

  • 大学生および大学院生の方には、弊社のインターンシップや採用イベント等のご案内をさせていただくことがございます。
  • 社会人の方には、弊社のキャリア採用イベント等のご案内をさせていただくことがございます。
  • 賞品対象者の方には参加時にご登録いただいたメールアドレスに詳細をご連絡させて頂きます。なお必要事項をご提供頂けない場合は賞品対象外とさせて頂きます。
  • 日本国内に居住されていない方、MC Digitalの社員は賞品対象外となります。
  • 何らかの理由により賞品配送が完了しなかった場合、ご登録いただいたメールアドレスにご連絡させて頂きます。2週間以内にご返信がない場合は賞品対象外となります。
  • 賞品対象者が対象外となった場合には、賞品対象者に次ぐ順位以下の方を、順番に繰り上げて贈呈します。
  • 該当順位が複数名いる場合は抽選とさせて頂きます。


ルール

  • 問題は1問です。AtCoderで使用できるすべてのプログラミング言語を使用可能です。
  • 誤提出・再提出のペナルティはありませんが、解答を提出する際は前回の提出から30分以上の間隔を開ける必要があります。
  • コンテストは個人戦です。2人以上で結託し、解答する行為は禁止しております。
  • コンテスト終了前に、問題の考察や解答を公開する行為は禁止しております。ただし、提供されたツール類の動かし方に関する情報は自由に共有して構いません。
  • コンテスト中に表示されているランキングの結果は暫定的なものとなります。コンテスト終了後に暫定順位付けに用いられた入力とは別に用意されたより多くの入力に対するシステムテストを行い、その結果が最終順位となります。暫定順位付け用の入力はシステムテスト用の入力には含まれません。システムテストはCE以外の結果を得た一番最後の提出に対してのみ行われるため、最終的に提出する解答を間違えないようご注意下さい。
  • その他のルールは こちら を参照してください。

メニューについて

なお、上メニューバーの各ボタンの機能は、以下の通りです。

  • トップ : 現在閲覧中のページです。
  • 問題 : コンテストの問題の閲覧ができます。
  • 提出 : コンテストの問題に対する、解答ソースコードを提出することが出来ます。
  • 質問 : コンテスト全体、および各問題に対して、コンテスト中に質問し、その回答を閲覧することが出来ます。
  • 結果 : 今までに自分が提出した解答を閲覧することができます。また、コンテスト終了後には他の参加者の解答状況を閲覧することが出来ます。
  • 順位表 : 現在のコンテストの順位表が閲覧できます。

その他

利用規約ルール用語集よくある質問 をご一読下さいませ。

Contest Information

About AtCoder Heuristic Contest(AHC)

This is a new series of programming contests that will be held regularly on AtCoder. Unlike algorithm contests such as ABC/ARC/AGC, the goal is to create a better solution to a problem for which it is difficult to find the optimal solution. For examples of problems, see past contests of similar format.

AHC will have a new rating system that is different from the existing ABC/ARC/AGC rating system. Unlike the ABC/ARC/AGC ratings, AHC will use a rating system that does not decrease even if contest performance is poor. Please feel free to participate.

We are planning to hold a long-term contest with a duration of more than a week and a short-term contest with a duration of less than a day, alternately about once a month. We plan to use the same ratings for both the long and short contests, but we may need to use different ratings, or correct the rating formula, due to the possibility of a large bias in the number of participants. For this reason, the ratings will remain in beta for a while. Contest results during the beta period will be used in the official rating. However, due to changes in the rating formula, the rating may change when the official version is released.

Rules

  • There is one problem. You can use any programming language available on AtCoder.
  • There is no penalty for resubmission, but you must wait at least 30 minutes between submissions.
  • The is an individual competition. It is prohibited to publish your solution before the end of the contest. However, you are free to share information on how to run the provided tools.
  • The ranking results displayed during the contest are provisional. After the contest is over, the system tests against more inputs will be run. The inputs used for provisional ranking will not be used for the system tests. The system test will be performed only for the last submission which received a result other than CE.
  • For other rules, see here.