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
0
480
月刊 競技プログラミングをお仕事に役立てるには
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
AHC035解説
terryu16
0
1.2k
TOYOTA AHC 至高のアルゴリズム解説会 - Transit Warehouse 解説
terryu16
0
1.7k
AHC028解説
terryu16
0
900
メタヒューリスティクスで広がる「解けた!」の世界
terryu16
12
5.2k
AHC020解説
terryu16
0
1.5k
Other Decks in Programming
See All in Programming
Spatial Rendering for Apple Vision Pro
warrenm
0
340
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
340
命名をリントする
chiroruxx
1
540
Zoneless Testing
rainerhahnekamp
0
150
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
270
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
260
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
730
Compose UIテストを使った統合テスト
hiroaki404
0
120
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
0
140
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
210
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
650
Flatt Security XSS Challenge 解答・解説
flatt_security
0
510
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
38k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Docker and Python
trallard
43
3.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
GraphQLとの向き合い方2022年版
quramy
44
13k
Code Reviewing Like a Champion
maltzj
521
39k
It's Worth the Effort
3n
183
28k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
What's in a price? How to price your products and services
michaelherold
244
12k
Embracing the Ebb and Flow
colly
84
4.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
18
2.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
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でコンテストを開こう!
ご清聴ありがとうございました!