Skip to content
MARL in Cooperative Environments
Edit this page

Wireless Network Resource Allocation Environment

8 min read

The Challenge Lab supplies a lightweight wireless environment so that the experiments can focus on cooperative decisions rather than simulator implementation. It ships in the Python package as WirelessResourceAllocationEnv. This section defines the access-point agents, channel-selection actions, the geometry that decides who interferes with whom, the rate function, demand regimes, local observations, and shared reward in that order. It concludes with an enumerated performance ceiling.

Figure 1
n=4 access pointsK=3 channelsati∈{1,2,3}\tone{policy}{\nag = 4} \text{ access points} \qquad K = 3 \text{ channels} \qquad \tone{action}{\act{\ag}} \in \{1, 2, 3\}
n\nag
access points, each choosing for itself
KK
channels available, fewer than there are access points
ati\act{\ag}
the channel access point i selects this step
Four deciders, three channels. Somebody has to share.

Note n>K\nag > K immediately. This is not incidental: it is what makes the problem an allocation rather than a colouring.

The access points sit at fixed positions and never move. Two of them interfere only if they choose the same channel, and how much they interfere depends on how far apart they are.

Figure 2
Ii=∑j≠i1[atj=ati]⏟same channel⋅11+(dij/d0)2⏟coupling\tone{conflict}{I_\ag} = \sum_{j \neq \ag} \ubrace{action}{\mathbb{1}[\act{j} = \act{\ag}]}{same channel} \cdot \ubrace{conflict}{\frac{1}{1 + (d_{\ag j} / d_0)^{2}}}{coupling}
IiI_\ag
the interference access point i receives on the channel it chose
dijd_{\ag j}
the distance between access points i and j
d0d_0
the distance at which two access points couple at half strength, 1.0 here
Only same-channel neighbours interfere, and only nearby ones interfere much.

For the four positions the lab ships with, that gives:

PairCouplingRate if they share a channel
AP0 + AP10.6711.20
AP2 + AP30.3281.74
AP1 + AP20.2062.09
AP0 + AP20.1252.45
AP1 + AP30.0842.69
AP0 + AP30.0592.87

Alone on a channel an access point achieves 3.46. So sharing with AP0’s closest neighbour costs 2.26, and sharing with its most distant one costs only 0.59. Nearly a factor of four, from geometry alone.

Figure 3
ratei=log⁡2 ⁣(1+qiP⏟signalσ2⏟noise+Ii⏟interference)\text{rate}_\ag = \log_2\!\left(1 + \frac{\ubrace{reward}{q_\ag P}{signal}}{\ubrace{observe}{\sigma^{2}}{noise} + \ubrace{conflict}{I_\ag}{interference}}\right)
PP
transmit power, fixed at 1 in this lab
qiq_\ag
quality of the channel this access point chose, 1.0 unless an experiment degrades it
σ2\sigma^{2}
noise floor, 0.1
IiI_\ag
interference from Figure 2, a continuous quantity rather than a count
Interference sits in the denominator, so the first close neighbour costs the most.

Each access point has its own traffic demand, and throughput is capped by it. Delivering more capacity than an access point wants earns nothing.

Figure 3
throughputi=min⁡(di⏟what it wants, rate(ci)⏟what it can get)\text{throughput}_\ag = \min\bigl(\ubrace{observe}{d_\ag}{what it wants},\ \ubrace{reward}{\text{rate}(c_\ag)}{what it can get}\bigr)
did_i
the traffic demand at access point i
cic_i
the channel selected by access point i
rate(ci)\mathrm{rate}(c_i)
the achievable rate after interference
Useful throughput is capped by the smaller of demand and achievable rate.

Three regimes, all in the notebook, selected with traffic=:

RegimeDemandsCharacterCeiling
skewedtwo want 3.2, two want 0.8asymmetric; about who yields7.90
hotspotone wants 3.4, three want 1.2one saturated access point6.98
uniformeach wants 1.6 or 2.4symmetric; mostly about avoiding collisions8.20

The ceilings differ, so a reward from one regime cannot be compared with a reward from another. Quote the ceiling or the comparison means nothing.

Local only, and this is the constraint that makes the lab interesting.

In the observationNot in the observation
its own traffic demandany other access point’s demand
its own last channelthe full network state
how busy each channel was last stepwhat anyone will choose this step

When communication is switched on, each access point broadcasts one bit, which in this lab carries its demand level. The team therefore sends four messages per step, and the reward charges λC\lambda_C for each.

Figure 5
rt=∑ithroughputi⏟delivered−λI∑iIi⏟interference−λC⋅Ct⏟talking\tone{reward}{r_t} = \ubrace{reward}{\textstyle\sum_\ag \text{throughput}_\ag}{delivered} - \ubrace{conflict}{\lambda_I \textstyle\sum_\ag I_\ag}{interference} - \ubrace{comm}{\lambda_C \cdot C_t}{talking}
λI\lambda_I
interference weight, 0.2
λC\lambda_C
price per message, 0.05 by default and a slider in the notebook
CtC_t
messages sent this step: four when communication is on, otherwise zero
One number, to every access point. Three terms, deliberately.

Interference is summed over access points rather than counted as collisions, so it is a continuous quantity: two distant access points sharing a channel contribute far less than two close ones.

env.best_possible() computes the best achievable reward by exhaustive search over all 34=813^4 = 81 joint actions at each step. Averaged over the 150 evaluation episodes it is 7.90 under skewed demand, 6.98 under hotspot and 8.20 under uniform.

Knowledge check

Under skewed demand, two access points want 3.2 and two want 0.8. Which pair should share a channel, and why?

Select one answer.

  • Four access points, three channels: n>K\nag > K, so somebody must share, and the question is which pair.
  • Access points sit at fixed positions. Two on the same channel interfere by 1/(1+(d/d0)2)1/(1 + (d/d_0)^2), which ranges from 0.671 for the closest pair to 0.059 for the most distant.
  • ratei=log⁡2(1+qiP/(σ2+Ii))\text{rate}_\ag = \log_2(1 + q_\ag P / (\sigma^2 + I_\ag)), so a close neighbour costs nearly four times what a distant one does.
  • Throughput is min⁡(demand,rate)\min(\text{demand}, \text{rate}), so capacity beyond demand is wasted.
  • Demand decides which pair shares; distance decides what it costs. The two light access points should share even when they are the closest pair.
  • Observations are local: own demand, own channel qualities, per-channel interference measured last step, own last channel. Not other access points’ demands.
  • Communication is one message per access point, four per team, priced at λC=0.05\lambda_C = 0.05 by default.
  • The ceiling is computable by enumerating all 81 joint actions: 7.90 under skewed demand, 6.98 under hotspot, 8.20 under uniform.