本文へスキップ
LoL TB
← ガイド一覧へ
公開: 2026-05-10·最終更新: 2026-08-26·6分で読める

LoL内戦のチーム分けアルゴリズム解説(126通り全探索+ハンガリアン法)

10人を5v5に分けるとき、なぜ126通りなのか。各組み合わせのロール割り当てをハンガリアン法で最適化する仕組み。スコアリング関数の設計まで踏み込んで解説。

LoLのカスタムゲームでチーム分けをするアルゴリズムは、見かけよりずっと複雑です。10人を BLUE と RED に5人ずつ分けるだけ、と思うかもしれませんが、実際には3層の最適化問題になっています。

この記事では、LoL Team Balancer の内部アルゴリズムを技術的に解説します。

第1層:チーム分割(126通り)

10人を5人ずつ2チームに分ける組み合わせは、組み合わせ論で C(10, 5) = 252通り です。ただし「BLUE 側に A〜E、RED 側に F〜J」と「BLUE 側に F〜J、RED 側に A〜E」は実質同じ試合なので半分。126通りです。

実は126通りは全探索できる規模です。1試合分のチーム分け計算で最適解を保証できます。総当たりは賢い方法ではないと思われがちですが、規模が小さいので問題ありません。

C(10,5) / 2 = 126

第2層:ロール割り当て(ハンガリアン法)

チーム5人が決まっても、TOP / JG / MID / ADC / SUP の誰がどこをやるかという問題が残ります。

これは割り当て問題そのもので、ハンガリアン法(O(n³))で最適に解けます。各プレイヤー × 各ロールに「コスト」を割り振り、合計コストが最小になる割り当てを見つけます。

コスト設計の例: - メインロール = 0 - サブロール = 1 - Fill = 2 - オフロール = 10

オフロールに割り当てるコストを大きくすることで「絶対にオフロールを避ける」最適化になります。Fill ロールが登録されている人は、メインじゃなくても2まで許容、という解釈です。

第3層:候補のスコアリング

126通り × ハンガリアン法で得られた候補を、最終的にスコアで評価します。スコア関数は複数の要素の重み付け和です。

score = -(rateDiff × W1 + roleCost × W2 + maxLaneDiff × W3 + laneStdDev × W4 + varianceDiff × W5)

各項目の意味: - rateDiff: チーム平均レートの差(小さいほど均等) - roleCost: 全員のロール満足度(合計コスト) - maxLaneDiff: レーン対面の最大レート差(一方的レーンの防止) - laneStdDev: レーン対面差の標準偏差(バランスの均一さ) - varianceDiff: チーム内のレート分散の差(パーティーバランス)

重み W1〜W5 はモードによって変えます。例えば「パーティーバランス」モードでは varianceDiff を重く、「レート均等」モードでは rateDiff を重くします。

なぜ複数モードが必要か

「最良の1つを返せばいいんじゃないの?」という疑問があるかもしれません。実は、人間の好みが分かれます。

例: - ある人は「とにかく平均レートを揃えたい」 - 別の人は「ダイヤ1人+シルバー4人みたいな極端なチームは嫌」 - もう一人は「同じ組み合わせばかりだとつまらない、たまにランダム要素を」

3つのモードで3つの候補を出し、参加者が選ぶ形にすると、合意形成がスムーズです。

ランダム要素の入れ方

完全決定論的なアルゴリズムだと、毎回同じメンバーで同じチーム分けになって飽きます。「ランダム」モードでは、コスト計算に小さな乱数を加えます。

cost = baseCost × (1 + randomness × random())

このランダム度を 0.4 くらいにすると、最適解付近でランダム性が入り、毎回少し違う結果になります。完全ランダムだと滅茶苦茶になるので、上限を設定するのが大事。

計算量と最適化

126通り × ハンガリアン法 (O(125)) ≒ 15,000 回程度の計算です。これは現代の CPU なら数ミリ秒で終わります。

ただし、Web アプリでサーバー側で動かす場合、毎リクエスト 15,000 回計算するとデータベースクエリと合わせて100ms 超えることがあります。十分なキャッシュ戦略と並列化が必要です。

まとめ

「10人を2チームに分ける」だけの問題が、実は3層の最適化問題(チーム分割 → ロール割り当て → スコアリング)になっていることが分かります。

LoL Team Balancer はこの3層をすべて実装しています。126通り全探索 + ハンガリアン法 + 複数モードでのスコアリング、その上で結果を3候補提示します。

この仕組みを実装したツールがあります

126通り全探索 + ELOレーティング + ロール最適化 を全部組み込んだ無料Webツール。

他の記事

LoLカスタムでチーム分けに揉めない 5つのベストプラクティス

League of Legendsのカスタムゲーム(内戦)で、毎回のチーム分けに10分以上溶かすコミュニティへ。揉めずに公平にチーム分けする方法を5つにまとめました。

LoL 内戦の ELO レーティングとは?初心者向けに仕組み・変動・上げ方を完全解説

LoL 内戦の ELO レーティングって何?チェス発祥の実力評価システムを内戦向けに調整した仕組みを、初心者にも分かるように図解付きで解説。格上に勝つとなぜ大きく上がるのか、連勝補正・シーズン制まで。

【2026 年最新版】LoL カスタムの作り方完全ガイド|10 分で内戦ロビーが立つ 5 ステップ

LoL のカスタムゲーム (内戦) の作り方を、クライアント操作から招待・チーム分け・試合結果記録まで 5 ステップで完全解説。初めての主催者でも 10 分でロビーを立ち上げられる、2026 年最新版の手順書。

LoL内戦のロール被り問題を5つの方法で解決する

LoL の内戦で必ず起きる「JG/MID/SUP のロール被り」問題。Fill 押し付け・モチベ低下・試合崩壊を防ぐ 5 つの解決策を、希望申告制から全探索アルゴリズムまで体系的に解説。

LoLカスタムで盛り上がる人気ルール10選 (ARAMミラー / URF風 / 1v1 など)

飽きてきたLoLカスタムを盛り上げる遊び方10種類を紹介。ARAMミラー、URF風、1v1トーナメント、チャンピオン縛り、レーン縛りなど、毎週違う遊びで内戦を盛り上げる完全ガイド。

LoL内戦で揉めるTOP3とその対処法

LoLカスタム/内戦で頻発する揉め事TOP3(チーム差・ロール被り・暴言)を実例ベースで解説。主催者が即実践できる対処法と、コミュニティを崩壊させない運営の仕組み化を体系化。

初心者カスタム会の運営手順|10人集めから振り返りまで

LoLカスタム会を初主催する人向けの全工程手順書。10人を集める告知テンプレ、ロビー作成、揉めないチーム分け、当日進行のタイムテーブル、振り返り運営まで実例と数値付きで解説。

LoLカスタムで強くなる練習メニュー|CS・対面・ジャングル動線

LoLカスタムを「ただ遊ぶ」から「実力を伸ばす場」へ。CS練習、1v1対面、ロー/ハイリスクのジャングル動線、ティーチング体制まで、内戦を上達装置に変える練習メニューを徹底解説。

LoL カスタムとは?始め方・遊び方・盛り上がる遊び方10選【2026年完全ガイド】

LoL カスタムとは何か、初心者向けに基本ルールから作り方、盛り上がる遊び方10選までを完全ガイド。2〜10人で楽しめるLoLカスタムの立て方や、内戦で揉めないためのチーム分けのコツ、チャンピオン縛りやURF風など人気ルールも徹底解説します。

LoL カスタム/内戦のメンバー募集完全ガイド|Discord で 10 人集める 7 つの方法【募集文テンプレ付き】

LoL カスタム/内戦のメンバー募集を Discord 中心に 7 つの経路で進めるための実践ガイド。テンプレ 3 種と集まらないときの対処法までまとめました。

LoL カスタム/内戦の BAN & Pick 戦略ガイド|身内でも盛り上がる 6 つのルール【2026 年最新パッチ対応】

LoL カスタム/内戦の BAN & Pick 戦略を、2026 年最新パッチに合わせて 6 つのルールで解説する主催者向けガイドです。

LoL カスタム/内戦の主催者 完全チェックリスト|開催前後にやるべき 15 項目【失敗しない主催の教科書】

LoL 内戦 主催で失敗しないための、開催前後にやるべき 15 項目のチェックリスト。1 週間前の募集から当日の司会、開催後の記録まで、時系列で網羅した主催の教科書。

LoL カスタム・内戦・スクリム・大会の違いを完全解説|あなたに合う遊び方はどれ?

カスタム機能と内戦文化の関係から、スクリム、コミュニティ大会、LJL Amateur League までを一本の線で整理し、内戦から大会までのステップアップの道筋を解説します。

LoL カスタム ARAM の楽しみ方完全ガイド|身内で盛り上がる 10 のルールと 5v5 との違い

LoL カスタム ARAM (ハウリングアビス) の楽しみ方を、内戦のセカンド枠として使う理由・作り方・盛り上がるハウスルール 10 選まで、身内で回す視点で解説します。

LoL 内戦の罰ゲーム & 賞金アイデア 20 選|盛り上がる & 揉めない設計のコツ

LoL の内戦をより盛り上げる罰ゲーム 10 選と賞金・景品アイデア 10 選、そして揉めないための参加費・ルール設計と税金のグレー領域まで解説します。

LoL 内戦を続けるための頻度と疲れない運営術|燃え尽きない主催者の 6 つのルール

LoL 内戦を長く続けるための開催頻度と、主催者が疲れないための 6 つの運営ルールを解説します。

LoL カスタム/内戦コミュニティへの参加方法完全ガイド|初めての参加を怖くしない 5 ステップ

初めて LoL の内戦コミュニティに参加したい人向けに、Discord や Twitter などのコミュニティの探し方、参加前チェック 5 項目、初参加の作法、揉めそうなコミュニティの見分け方、常連化までの 3 ヶ月ロードマップを、参加者目線でまとめた完全ガイド。

コミュニティ独自の ELO レートを育てる意味と方法|Riot ランクだけじゃ測れない本当の実力

Riot ランクだけでは測れない内戦での本当の実力を、コミュニティ独自の ELO レートで見える化する意味と育て方を解説。

LoL 内戦の試合履歴 & コミュニティ統計の使い方|蓄積が生む "次の内戦への燃料"

LoL Team Balancer の戦績・統計機能の使い方を、主催者と参加者の両視点から解説。反省会・シーズン集計・ランキング公開でコミュニティを盛り上げる方法を紹介します。

LoL Team Balancer の 3 つのチーム分けモード完全解説|レート均等・パーティー・ランダムを使い分ける

LoL Team Balancer が提供する 3 つのチーム分けモード (レート均等・パーティーバランス・ランダム要素) の違い、向き不向き、そして 126 通り全探索とハンガリアン法によるロール最適化の仕組みまで、内戦主催者向けにわかりやすく解説します。