Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
月刊 競技プログラミングをお仕事に役立てるには
Search
terry-u16
January 12, 2025
Programming
2
1.3k
月刊 競技プログラミングをお仕事に役立てるには
2025/1/12(日)に行われた競プロ新年会(
https://kyopro.connpass.com/event/341443/
)のテックトークで使用したスライドです。
terry-u16
January 12, 2025
Tweet
Share
More Decks by terry-u16
See All by terry-u16
AHC041解説
terryu16
0
560
AHC035解説
terryu16
0
1.3k
TOYOTA AHC 至高のアルゴリズム解説会 - Transit Warehouse 解説
terryu16
0
1.8k
AHC028解説
terryu16
0
940
メタヒューリスティクスで広がる「解けた!」の世界
terryu16
12
5.4k
AHC020解説
terryu16
0
1.5k
Other Decks in Programming
See All in Programming
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
170
Open source software: how to live long and go far
gaelvaroquaux
0
520
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
260
ファインディの テックブログ爆誕までの軌跡
starfish719
2
950
Terraform で作る Amazon ECS の CI/CD パイプライン
hiyanger
0
130
混沌とした例外処理とエラー監視に秩序をもたらす
morihirok
20
3.4k
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
310
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
200
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
160
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
110
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
3.3k
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
370
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Gamification - CAS2011
davidbonilla
80
5.1k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Practical Orchestrator
shlominoach
186
10k
A Philosophy of Restraint
colly
203
16k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Scaling GitHub
holman
459
140k
Writing Fast Ruby
sferik
628
61k
Building Your Own Lightsaber
phodgson
104
6.2k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
The Language of Interfaces
destraynor
156
24k
Transcript
月刊 競技プログラミングを お仕事に役立てるには 競プロ新年会 in 東京 2025 株式会社ALGO ARTIS 松尾
充
松尾 充 株式会社ALGO ARTIS まつお あたる (世界2位) 1971 アルゴリズム ヒューリスティック
3226 @terry_u16 terry_u16 1992年 福岡県生まれ 九州大学に入学して機械工学を勉強 九州大学大学院の修士課程に進学 2010年 2014年 株式会社IHIに入社し戦闘機用ジェットエンジンを開発 うっかり競技プログラミングにハマってしまう 株式会社ALGO ARTISに入社しアルゴリズムを仕事に 2016年 2020年 2022年
月刊 競技プログラミングは役に立たない
今日話すこと 競技プログラミングを どのように仕事の役に立てているか 弊社の実例を交えながらご紹介 コンセプト的に会社の宣伝っぽくなっちゃったらごめんなさい!
株式会社ALGO ARTISとは
ALGO ARTISとは 株式会社 ALGO ARTIS アルゴリズム Algorithm Artisan 職人 アルゴリズムの職人として
社会基盤を支えるアルゴリズムを 提供することで、 社会基盤の最適化を実現する 表の顔 設立: 2021年7月 従業員数: 75名 (アルバイト15名含む)※ 前身: DeNAからスピンオフして設立 ※2024/12/1時点 マラソンコンテストを 仕事にしたら面白いのでは?と思って ひたすら業務AHCを 解き続けている狂った会社 裏の顔
競プロerの割合 非エンジニアも含めた全社員75名のうち過半数の39名が競プロ経験者※ 競プロ 経験者 競プロ 未経験 39 名 36 名
※2024/12/1時点 ヒューリスティックランキング (所属を記載しているメンバーのみ) https://atcoder.jp/ranking/all?contestType=heuristic
競プロerを活躍させるには
競プロerを活躍させるには 方策1 方策2 方策3 競プロerの「得意」を仕事にする 他の分野のプロフェッショナルを集める 競プロerが働きやすい環境を整備する
競プロerを活躍させるには 方策1 方策2 方策3 競プロerの「得意」を仕事にする 他の分野のプロフェッショナルを集める 競プロerが働きやすい環境を整備する
競プロerの「得意」を仕事にする 競プロの問題を解いたらお金をもらえる状態が理想! しかし、賞金付き問題がその辺に落ちているわけではない こんな高橋くんは実在しない! (高橋くんは自分で問題を解いて準優勝してしまうため) https://atcoder.jp /contests/ahc039 /tasks/ahc039_a
作問もまとめて仕事にする 問題が存在しないのなら自分で作問すればよい 顧客の課題を自分たちで問題に落として解けばお金になる! 漠然とした顧客課題 問題に落とす 解く! ? ?
最適化プロジェクト事例 火力発電所用石炭の配船計画の最適化を実装・提供 超複雑な最適化問題を超強い競プロerに解いてもらう 目的 海外から国内の発電所に向けて 石炭を船で運ぶ計画を立てる 制約条件 (一例) 船着き場の数 石炭購入日計画
石炭在庫量 船の隻数 評価指標 (一例) 船への積載量 運賃・滞船料 石炭価格 航路距離 最適化問題 に落とし込んで 解く https://www.algo-artis.com/news/20220920
競プロerのスキルが活かせる仕事 最適化だけが競プロerの強みではない 具体的な課題から抽象的な能力まで活かせるスキルは様々 Will やりたいこと Can できること Need 求められること •
最適化力 (ALGO ARTIS) • 就職・転職 (AtCoderさん) • 学習 (アルゴ式さん) • 狂気の実装力 (estieさん) • 問題解決能力 (THIRDさん)
競プロerを活躍させるには 方策1 方策2 方策3 競プロerの「得意」を仕事にする 他の分野のプロフェッショナルを集める 競プロerが働きやすい環境を整備する
他の分野のプロフェッショナルを集める 競プロerだけではできないこともある 競プロerを活躍させるには強い非競プロerが必要 ビジネス 営業・課題ヒアリング 顧客との折衝などを担当 バックオフィス 人事・労務・経理・法務・総務 スタートアップでは特に重要 デザイナー
本当に使いやすいUI/UXを 顧客と密に連携しながら設計 ソフトウェアエンジニア フロントからバックエンドまで 実は半分くらいが競プロer
アルゴリズムについて理解してもらう 社内コミュニケーションには共通言語が必要 アルゴリズムの基礎について非競プロer向けの教育を実施 研修内容 (一部抜粋) モデル化 制約条件 評価関数 貪欲法 ビームサーチ
山登り法 焼きなまし法 数理計画法 深層強化学習
分野が違うと見え方が違う 異なる分野のプロが見ると一人では気付かなかったアイデアが出てくる ビームサーチも組織も多様性が大事 アルバイトメンバーが こういう研究成果を出してくれました! ビジネス バックオフィス こういう使い方をすれば お客様に新しい提案ができて売上も伸びそう! 特許化も検討しましょう!
他社には真似できない武器になります!
競プロerを活躍させるには 方策1 方策2 方策3 競プロerの「得意」を仕事にする 他の分野のプロフェッショナルを集める 競プロerが働きやすい環境を整備する
開発者体験 chokudaiさん「共通認識として扱える範囲はメンバー能力のminで決まる。 これは開発者体験への影響が大きい」 https://ttj.paiza.jp/archives/2024/07/30/14404/
開発者体験 エンジニアメンバー全員競プロerだとアルゴ能力のminが異様に高くなる 「DP」「フロー」「焼きなまし」という言葉が常時飛び交う異次元の開発者体験 緩和してフローを流せば下界が出せます 状態数はカタラン数だから制約下ならDPが十分高速 合宿のチーム分けを焼きなましで最適化します 再帰的なUIコンポーネントをDFSで構築します 天才になると(中略) 𝑂 log
𝑁 に落ちます
競プロer向け福利厚生 競プロ勉強会におけるAHCトップ層による解法共有や 最適化関連の研究成果の発表などが自然と競プロer向け福利厚生に この辺の人たちの 生のAHC解説が 毎回聞ける! https://atcoder.jp/ranking/all?contestType=heuristic
競プロer向け福利厚生 社内AHCやLLMワークショップなどのおもしろイベントをメンバーが企画 https://x.com/iwashi31/status/1702534545906806864 問題文 優勝チームの景品 https://media.algo-artis.com/posts/bN4vP1cR
メンバーの質の担保 このような環境を維持するためにはメンバーの採用が超重要 アルゴエンジニア採用はアルゴエンジニア主体で責任を持って実施 自身も競技者としての勘が鈍らないように毎週コンテストに出場 毎週コンテストに出ても レートが上がるとは限らない (悲しい……) https://atcoder.jp/users/terry_u16
優秀な競プロerにアプローチするには 非常に参考になるサイトがあったのでご紹介 https://info.atcoder.jp/utilize/jobs/approach
AtCoderでコンテストを開こう! コンテストを開いて優秀な競プロerにアプローチしましょう! 詳細はchokudaiさんという人に聞くといいらしいです! こんな感じの人です!
【宣伝】AHCやります 来週1/19(日)15:00-19:00にALGO ARTIS主催のAHCを開催します! 対戦よろしくお願いします……! https://atcoder.jp/contests/ahc041
まとめ 競プロerの得意なことを仕事にして AtCoderでコンテストを開こう!
ご清聴ありがとうございました!