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
610
AHC035解説
terryu16
0
1.3k
TOYOTA AHC 至高のアルゴリズム解説会 - Transit Warehouse 解説
terryu16
0
1.8k
AHC028解説
terryu16
0
970
メタヒューリスティクスで広がる「解けた!」の世界
terryu16
12
5.5k
AHC020解説
terryu16
0
1.6k
Other Decks in Programming
See All in Programming
ソフトウェアエンジニアの成長
masuda220
PRO
10
1.1k
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.3k
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
380
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
Software Architecture
hschwentner
6
2.1k
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.8k
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
190
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
550
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
Open source software: how to live long and go far
gaelvaroquaux
0
630
Immutable ActiveRecord
megane42
0
140
Featured
See All Featured
Done Done
chrislema
182
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Unsuck your backbone
ammeep
669
57k
Practical Orchestrator
shlominoach
186
10k
Scaling GitHub
holman
459
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Automating Front-end Workflow
addyosmani
1368
200k
Faster Mobile Websites
deanohume
306
31k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
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でコンテストを開こう!
ご清聴ありがとうございました!