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.5k
月刊 競技プログラミングをお仕事に役立てるには
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
AtCoder Heuristic First-step Vol.1 講義スライド
terryu16
3
1.6k
AHC041解説
terryu16
1
850
AHC035解説
terryu16
0
1.5k
TOYOTA AHC 至高のアルゴリズム解説会 - Transit Warehouse 解説
terryu16
0
2.1k
AHC028解説
terryu16
0
1.1k
メタヒューリスティクスで広がる「解けた!」の世界
terryu16
12
6.2k
AHC020解説
terryu16
0
1.7k
Other Decks in Programming
See All in Programming
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
460
童醫院敏捷轉型的實踐經驗
cclai999
0
210
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
390
RailsGirls IZUMO スポンサーLT
16bitidol
0
140
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
480
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
350
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
10
6.1k
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
220
5つのアンチパターンから学ぶLT設計
narihara
1
140
エラーって何種類あるの?
kajitack
5
340
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
270
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Testing 201, or: Great Expectations
jmmastey
42
7.6k
Embracing the Ebb and Flow
colly
86
4.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Navigating Team Friction
lara
187
15k
Documentation Writing (for coders)
carmenintech
72
4.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
720
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でコンテストを開こう!
ご清聴ありがとうございました!