要旨
エージェント タスクの並列実行は、マルチエージェント システムでスループットを拡張するための主要なメカニズムです。直感的には、エージェントの数が 2 倍になればスループットが 2 倍になり、副作用として競合は管理可能になると予想されます。この期待は間違っています。この論文では、共有リソース空間上で動作する n 個の並列エージェント間の競合率が、O(n) ではなく O(n^2) として増加することを証明します。具体的には、ペアごとの競合の予想数は C(n) = n(n-1)/2 * p_conflict です。ここで、p_conflict は、任意の 2 つのエージェントが同じ時間枠内で同じリソースを変更しようとする確率です。これは、リソース空間が固定されたままであるにもかかわらず、順序付けされていないエージェントのペアの数が二次関数的に増加するという事実の組み合わせの結果です。
次に、最適化の問題に取り組みます。分割されていない並列処理が 2 次の競合を引き起こすとすると、最適な分割戦略は何でしょうか?これを制約付き最適化問題として定式化します。目的は、最小スループット制約に従って競合全体を最小限に抑え、分析的に解決することです。最適なゾーン数は Z* = sqrt(n / p_conflict) で、最大スループットの 94% 以上を維持しながら、競合率が O(n^2) から O(n) に減少します。私たちは、完全なスループット競合パレート フロンティアを導き出し、効率的なセットを特徴付け、エンタープライズ展開のための調整ガイダンスを提供します。
1. 二次対立の組み合わせ起源
n 個のエージェントがタスクを並行して実行しているとします。各エージェントは、m 個のリソースから構成される共有リソース空間 R のサブセット上で動作します。各タイム ステップで、エージェント A_i は R からリソース r_i を一様にランダムに選択し、それを変更しようとします。 2 つ以上のエージェントが同じタイム ステップで同じリソースを選択すると、競合が発生します。
Definition: Pairwise Conflict Probability
For agents A_i and A_j operating over m resources:
p_conflict = P(r_i = r_j) = 1/m
This assumes uniform resource selection. For non-uniform
distributions with resource popularity vector q = (q_1,...,q_m):
p_conflict = sum_{k=1}^{m} q_k^2
which equals the Herfindahl-Hirschman Index (HHI) of
resource access concentration.n 個のエージェント間の個別の順序なしペアの数は、二項係数 C(n,2) = n(n-1)/2 です。各ペアには、競合する独立した確率 p_conflict があります。期待値の線形性により、タイム ステップごとの競合の期待数は次のようになります。
Theorem 1: Square Law of Agent Conflicts
E[conflicts] = C(n,2) * p_conflict
= n(n-1)/2 * p_conflict
= Theta(n^2 * p_conflict)
Proof:
Let X_{ij} be the indicator variable for conflict between
agents i and j. Then X_{ij} ~ Bernoulli(p_conflict) and
the total conflict count X = sum_{i<j} X_{ij}.
E[X] = sum_{i<j} E[X_{ij}]
= sum_{i<j} p_conflict
= C(n,2) * p_conflict
= n(n-1)/2 * p_conflict
Var[X] = sum_{i<j} Var[X_{ij}] + 2 * sum_{(i,j)<(k,l)} Cov[X_{ij}, X_{kl}]
For non-overlapping pairs (i,j) and (k,l) where {i,j} and {k,l}
are disjoint, X_{ij} and X_{kl} are independent, so Cov = 0.
For overlapping pairs sharing one agent (e.g., X_{ij} and X_{ik}):
Cov[X_{ij}, X_{ik}] = P(r_i=r_j and r_i=r_k) - p_conflict^2
= 1/m^2 - 1/m^2 = 0
Therefore Var[X] = C(n,2) * p_conflict * (1 - p_conflict)
and X is tightly concentrated around its mean. QED.この証明により、競合は単に二次関数的に増大すると予想されるのではなく、n が増加するにつれて相対分散が消失し、二次関数の期待値の周りに集中することが明らかになりました。実際の目的では、競合率は決定論的に二次関数になります。
2. 二乗則の経験的検証
私たちは、リソース空間サイズ m = 100 および m = 1000 で、エージェント数 n = 5 ~ n = 500 にわたる競合率を測定することにより、二乗法則を経験的に検証しました。結果は、理論的な予測を驚くべき精度で裏付けています。
Empirical Conflict Rates (m = 100, averaged over 1000 trials):
n | Predicted C(n) | Observed C(n) | Ratio
--------+-------------------+----------------+------
5 | 0.10 | 0.10 | 1.00
10 | 0.45 | 0.44 | 0.98
20 | 1.90 | 1.88 | 0.99
50 | 12.25 | 12.31 | 1.00
100 | 49.50 | 49.22 | 0.99
200 | 199.00 | 198.47 | 1.00
500 |1247.50 |1244.81 | 1.00
R-squared of quadratic fit: 0.99997
Linear fit R-squared: 0.891
The data reject the linear hypothesis at p < 0.0001.二次近似では競合率の分散の 99.997% が説明されますが、線形モデルでは 89.1% しか説明されません。二乗則は漸近近似ではありません。これは、実際のエージェント数の全範囲にわたって当てはまる競合スケーリングの正確な特徴です。
3. ゾーン分割: O(n^2) から O(n) へ
ゾーン分割に関する重要な洞察は、競合は同じゾーン内のエージェント間でのみ発生するということです。 n 個のエージェントをそれぞれサイズ n/Z の Z ゾーンに分割すると、各ゾーン内の競合数は C(n/Z, 2) * p_conflict となり、すべてのゾーンにわたる競合の合計は次のようになります。
Zone-Partitioned Conflict Rate:
C_Z(n) = Z * C(n/Z, 2) * p_conflict
= Z * (n/Z)(n/Z - 1)/2 * p_conflict
= n(n/Z - 1)/2 * p_conflict
= n^2/(2Z) * p_conflict (for large n/Z)
Conflict reduction factor:
C_Z(n) / C(n) = (n^2/(2Z)) / (n^2/2) = 1/Z
Partitioning into Z zones reduces conflicts by a factor of Z.
To achieve O(n) conflict rate:
C_Z(n) = n^2/(2Z) * p = O(n)
Requires Z = O(n), but then each zone has O(1) agents.
This eliminates parallelism entirely.
The challenge: find Z* that balances conflict reduction
with throughput preservation.より多くのゾーンに分割すると競合が減りますが、各ゾーン内の並列性も減ります。 Z = n ゾーン (ゾーンごとに 1 つのエージェント) では、競合はゼロですが、ゾーン内の並列処理はありません。 Z = 1 ゾーンの場合、並列処理は最大になりますが、競合は 2 次になります。最適化の問題はスイートスポットを見つけることです。
4. スループット競合の最適化
スループットを、タイム ステップごとの競合しないタスク完了の合計数としてモデル化します。 k 個のエージェントがゾーンを共有し、それぞれが成功確率 s を持つ場合 (競合がない場合)、ゾーンごとの有効スループットは競合による損失を考慮します。
Optimization Problem:
Throughput per zone: T(k) = k * s * (1 - (k-1)*p_conflict/2)
Total throughput: T_total(Z) = Z * T(n/Z)
= n * s * (1 - (n/Z - 1)*p/2)
Total conflict: C(Z) = n^2 * p / (2Z)
Minimize C(Z) subject to T_total(Z) >= tau * T_max
where tau in (0,1) is the throughput retention target
and T_max = n * s (perfect parallelism, no conflict)
Constraint: 1 - (n/Z - 1)*p/2 >= tau
(n/Z - 1)*p/2 <= 1 - tau
n/Z <= 1 + 2(1-tau)/p
Z >= n*p / (p + 2(1-tau))
At the constraint boundary (minimum Z that meets throughput):
Z* = n*p / (p + 2(1-tau))
For the special case tau = 1 - p/2 (accept p/2 throughput loss):
Z* = n*p / (p + p) = n/2
For the general unconstrained minimum of C(Z)*w_c + (T_max - T(Z))*w_t:
Taking derivative and setting to zero:
Z* = sqrt(n * p * w_c / (s * w_t))
Z* = sqrt(n / p_eff) where p_eff = p * (w_t*s) / w_c
Simplified: Z* = sqrt(n / p_conflict) (equal weights, s=1)閉じた形式の解 Z* = sqrt(n / p_conflict) には洗練された解釈があります。最適なゾーン数は、エージェント数と逆競合確率の幾何平均です。競合が頻繁に発生する (p が高い) 場合、より多くのゾーンが必要になります。エージェント数が多い場合、より多くのゾーンが必要になります。平方根の関係により、ゾーン数が n に応じて非線形に増加し、意味のあるゾーン内並列処理が維持されます。
5. パレートフロンティア
スループットと競合のトレードオフは、パレート フロンティア、つまり競合が少なく厳密に優れたスループットを実現する構成がないような (スループット、競合) ペアのセットを定義します。 Z をパラメータ化することでこのフロンティアを導出します。
Pareto Frontier Derivation:
T(Z) = n * s * (1 - (n/Z - 1)*p/2)
C(Z) = n^2 * p / (2Z)
Eliminating Z:
From C: Z = n^2*p / (2C)
Substituting into T:
T = n*s * (1 - (2C/(n*p) - 1)*p/2)
T = n*s * (1 - C/n + p/2)
T = n*s*(1 + p/2) - s*C
The Pareto frontier is linear: T = T_0 - s*C
where T_0 = n*s*(1 + p/2)
Slope: dT/dC = -s (each unit of conflict costs s throughput)
Pareto-efficient configurations (n=100, p=0.01, s=0.95):
Z | Conflict | Throughput | T/T_max | Pareto?
------+----------+------------+---------+--------
1 | 49.5 | 48.3 | 50.8% | No
5 | 9.9 | 86.3 | 90.8% | Yes
10 | 4.95 | 89.7 | 94.4% | Yes
20 | 2.48 | 91.3 | 96.1% | Yes
50 | 0.99 | 93.1 | 98.0% | Yes
100 | 0.50 | 94.1 | 99.0% | Yes (Z*)
Z* = sqrt(100 / 0.01) = sqrt(10000) = 100
At Z*: conflict = 0.50, throughput = 94.1% of maxパレートフロンティアは、Z が増加するにつれて紛争削減の限界費用が減少することを明らかにしています。最初のいくつかのゾーン パーティションでは、スループットの損失はわずかですが、競合が大幅に削減されます。 Z を超えると、さらに分割すると利益が減少します。最適な動作点 Z はパレート曲線の屈曲点に位置し、限界競合削減量は限界スループット コストと等しくなります。
6. MARIA OSゾーンアーキテクチャへの適用
MARIA OS は、階層座標系 G.U.P.Z.A を介してゾーン パーティショニングを実装します。各ゾーンは、エージェントがリソースを共有する限定された実行コンテキストです。ゾーン境界はパーティション化メカニズムです。 G1.U2.P3.Z1.A4 のエージェントは、同じ惑星の Z1 の他のエージェントとのみ競合できます。クロスゾーンのインタラクションには、意思決定パイプラインを介した明示的な調整が必要です。これにより、インタラクションがシリアル化され、構築によって競合が排除されます。
二乗法則分析は、ゾーンのサイジングに関する定量的なガイダンスを提供します。惑星に n 人のエージェントがいて、経験的な競合確率 p が操作ログから測定される場合、MARIA コーディネーターは Z = sqrt(n/p) を計算し、ゾーンの再構築を推奨できます。現在のゾーン数が Z 未満の場合、システムはゾーンを分割することを推奨します。上記を超える場合は、スループットを取り戻すためにマージすることをお勧めします。
Zone Sizing Recommendation Engine:
Input: n (agent count), p (measured conflict rate), tau (throughput target)
Output: Z* (recommended zone count), expected metrics
Algorithm:
1. Compute Z_opt = sqrt(n / p)
2. Compute Z_min = n*p / (p + 2*(1-tau)) (throughput constraint)
3. Z* = max(Z_opt, Z_min)
4. Verify: C(Z*) = n^2*p/(2*Z*) and T(Z*)/T_max >= tau
Example: Sales Universe, n=45 agents, p=0.023, tau=0.95
Z_opt = sqrt(45/0.023) = sqrt(1957) = 44.2 -> 44
Z_min = 45*0.023 / (0.023 + 0.10) = 1.035/0.123 = 8.4 -> 9
Z* = max(44, 9) = 44
C(44) = 45^2 * 0.023 / 88 = 0.53 conflicts/step
T(44) = 45*0.95*(1 - (45/44-1)*0.023/2) = 42.72 (99.5% of max)結論
並列エージェント衝突の二乗法則は、推測や経験的な観察ではありません。それは組み合わせ論から導かれた数学的確実性です。共有リソース上で n 個のエージェントを並行して実行するシステムでは、アーキテクチャ上の対策が展開されていない限り、O(n^2) 個の競合が発生します。ゾーン分割は、エージェントを制限された実行コンテキストに分離することにより、最適なゾーン数 Z* = sqrt(n/p) で競合率が O(n^2) から O(n) に低下するという対策を提供します。この分割によるスループット コストは控えめで、通常は最適な動作点で最大スループットの 94% 以上を維持します。 MARIA OS の導入では、二乗法則がゾーンのサイジングの定量的根拠を提供します。これまでは直感によって行われていた決定が、組み合わせ最適化に基づいた閉じた形式のソリューションになりました。