Using Slotted Aloha Simulator#
Basic usage#
Create an Aloha instance with your desired settings:
[1]:
from slotted_aloha_simulator import Aloha
aloha = Aloha(p0=1/8, alpha=1/2, n=10, t_sim=20)
Call the instance to run things!
[2]:
aloha()
Results are in a res_ attribute:
[3]:
res = aloha.res_
res['mf_asymptotic']
[3]:
{'state_distribution': array([2.53619648e-01, 1.89296722e-01, 1.41287354e-01, 1.05454105e-01,
7.87088721e-02, 5.87467557e-02, 4.38474242e-02, 3.27268559e-02,
2.44266822e-02, 1.82315957e-02, 1.36077048e-02, 1.01565235e-02,
7.58062958e-03, 5.65803297e-03, 4.22304464e-03, 3.15199755e-03,
2.35258904e-03, 1.75592624e-03, 1.31058884e-03, 9.78197761e-04,
7.30107589e-04, 5.44937959e-04, 4.06730986e-04, 3.03576016e-04,
2.26583174e-04, 1.69117229e-04, 1.26225777e-04, 9.42124399e-05,
7.03183141e-05, 5.24842080e-05, 3.91731816e-05, 2.92380931e-05,
2.18227382e-05, 1.62880630e-05, 1.21570902e-05, 9.07381328e-06,
6.77251595e-06, 5.05487284e-06, 3.77285777e-06, 2.81598691e-06]),
'occupancy': 0.40489263200636727,
'goodput': 0.3170245599787759,
'efficiency': 0.6268098239915103}
[4]:
res = aloha.res_
res['mf']
[4]:
{'state_distribution': array([[1.00000000e+000, 8.74551053e-001, 6.90740477e-001,
4.86430241e-001, 3.44169032e-001, 2.92794775e-001,
2.78772181e-001, 2.71260433e-001, 2.66179491e-001,
2.62640880e-001, 2.60140824e-001, 2.58357927e-001,
2.57077472e-001, 2.56152493e-001, 2.55480933e-001,
2.54991208e-001, 2.54632703e-001, 2.54369380e-001,
2.54175412e-001, 2.54032185e-001, 2.53926208e-001],
[0.00000000e+000, 1.23585806e-001, 2.84164899e-001,
4.12755784e-001, 4.14274894e-001, 3.19428723e-001,
2.52578547e-001, 2.27581903e-001, 2.15177781e-001,
2.07375538e-001, 2.02145970e-001, 1.98531815e-001,
1.95987298e-001, 1.94173140e-001, 1.92867700e-001,
1.91921606e-001, 1.91232042e-001, 1.90727140e-001,
1.90356065e-001, 1.90082513e-001, 1.89880353e-001],
[0.00000000e+000, 1.86314016e-003, 2.45339643e-002,
9.41183474e-002, 2.05681980e-001, 2.75096769e-001,
2.46719127e-001, 1.98263304e-001, 1.75389203e-001,
1.64135540e-001, 1.57207060e-001, 1.52602255e-001,
1.49429305e-001, 1.47195919e-001, 1.45601706e-001,
1.44452405e-001, 1.43617713e-001, 1.43008055e-001,
1.42560772e-001, 1.42231452e-001, 1.41988299e-001],
[0.00000000e+000, 0.00000000e+000, 5.57056213e-004,
6.53963238e-003, 3.38655669e-002, 9.90402967e-002,
1.67685757e-001, 1.74864753e-001, 1.47594606e-001,
1.30924784e-001, 1.22531485e-001, 1.17384986e-001,
1.13960789e-001, 1.11594401e-001, 1.09922853e-001,
1.08725410e-001, 1.07859240e-001, 1.07228261e-001,
1.06766166e-001, 1.06426367e-001, 1.06175699e-001],
[0.00000000e+000, 0.00000000e+000, 3.59677207e-006,
1.54661584e-004, 1.96513905e-003, 1.29843743e-002,
4.86154243e-002, 1.00471823e-001, 1.19784260e-001,
1.07025592e-001, 9.61638446e-002, 9.04724219e-002,
8.69674036e-002, 8.46227535e-002, 8.29936094e-002,
8.18370782e-002, 8.10049214e-002, 8.04006892e-002,
7.99591033e-002, 7.96348341e-002, 7.93958489e-002],
[0.00000000e+000, 0.00000000e+000, 6.36465872e-009,
1.32916218e-006, 4.30141235e-005, 6.42368222e-004,
5.39084036e-003, 2.50095271e-002, 6.10026420e-002,
8.14102387e-002, 7.67869943e-002, 7.01404264e-002,
6.64790552e-002, 6.42054764e-002, 6.26736786e-002,
6.16026313e-002, 6.08382080e-002, 6.02857004e-002,
5.98830173e-002, 5.95878176e-002, 5.93704957e-002],
[0.00000000e+000, 0.00000000e+000, 2.38945304e-012,
4.30333393e-009, 3.72656534e-007, 1.25914087e-005,
2.33963021e-004, 2.45066813e-003, 1.36098975e-002,
3.79839753e-002, 5.55842711e-002, 5.49770780e-002,
5.10661826e-002, 4.87826569e-002, 4.73507571e-002,
4.63787277e-002, 4.56947953e-002, 4.52041268e-002,
4.48479745e-002, 4.45875017e-002, 4.43960183e-002],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
5.34118705e-012, 1.32022732e-009, 1.01595468e-007,
4.13002837e-006, 9.60244573e-005, 1.21731686e-003,
7.82633867e-003, 2.43231166e-002, 3.83247606e-002,
3.94498997e-002, 3.72128370e-002, 3.58154705e-002,
3.49304935e-002, 3.43253842e-002, 3.38971261e-002,
3.35884275e-002, 3.33635018e-002, 3.31984966e-002],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
2.55332796e-015, 1.95595157e-012, 3.46978691e-010,
3.06268129e-008, 1.55382625e-006, 4.41313619e-005,
6.54410260e-004, 4.72784371e-003, 1.59946440e-002,
2.67246223e-002, 2.84258815e-002, 2.71778193e-002,
2.63330152e-002, 2.57929016e-002, 2.54211699e-002,
2.51567068e-002, 2.49652798e-002, 2.48253366e-002],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
4.67470158e-019, 1.23107117e-015, 5.11984205e-013,
9.77934768e-011, 1.06844679e-008, 6.67011147e-007,
2.23793204e-005, 3.76105716e-004, 2.97804937e-003,
1.07670171e-002, 1.88416639e-002, 2.05802418e-002,
1.99028721e-002, 1.93962273e-002, 1.90694749e-002,
1.88432952e-002, 1.86816545e-002, 1.85642340e-002],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
3.22412167e-023, 3.32929305e-019, 3.31448532e-016,
1.36994655e-013, 3.19308050e-011, 4.31403175e-009,
3.21070400e-007, 1.23130855e-005, 2.28303581e-004,
1.94161762e-003, 7.39308199e-003, 1.34163728e-002,
1.49701277e-002, 1.46157508e-002, 1.43136241e-002,
1.41172184e-002, 1.39805971e-002, 1.38825846e-002],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
8.11816579e-028, 3.90085936e-023, 9.52642234e-020,
8.54162809e-017, 4.22031377e-014, 1.21935058e-011,
1.98007768e-009, 1.69842248e-007, 7.23486685e-006,
1.44800574e-004, 1.30167823e-003, 5.16036928e-003,
9.63562266e-003, 1.09362606e-002, 1.07611096e-002,
1.05817133e-002, 1.04642411e-002, 1.03821893e-002],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
7.05110087e-033, 1.99217815e-027, 1.22705438e-023,
2.39741402e-020, 2.50078789e-017, 1.53125124e-014,
5.35511129e-012, 1.01014990e-009, 9.68932073e-008,
4.47835578e-006, 9.50921649e-005, 8.92356984e-004,
3.65049026e-003, 6.97063925e-003, 8.01964351e-003,
7.94154582e-003, 7.83539797e-003, 7.76541769e-003],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
1.89018156e-038, 4.45369338e-032, 7.13671310e-028,
3.05679413e-024, 6.71606676e-021, 8.65579889e-018,
6.45289457e-015, 2.64080629e-012, 5.60731147e-010,
5.86642939e-008, 2.88782312e-006, 6.41851935e-005,
6.22715368e-004, 2.61051857e-003, 5.07319272e-003,
5.89995252e-003, 5.87262206e-003, 5.81001115e-003],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
1.17946042e-044, 4.37101007e-037, 1.88593414e-032,
1.78382286e-028, 8.24662100e-025, 2.22564216e-021,
3.50855837e-018, 3.08168752e-015, 1.42864969e-012,
3.32587114e-010, 3.72063022e-008, 1.92265600e-006,
4.42677341e-005, 4.40718485e-004, 1.88316621e-003,
3.71056841e-003, 4.35237241e-003, 4.35017586e-003],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 1.88634287e-042, 2.27610409e-037,
4.79404856e-033, 4.66347290e-029, 2.62539922e-025,
8.69587203e-022, 1.62516179e-018, 1.62684659e-015,
8.31089950e-013, 2.07701441e-010, 2.44638683e-008,
1.31236367e-006, 3.10518324e-005, 3.15413558e-004,
1.36800094e-003, 2.72491851e-003, 3.21800807e-003],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 3.58140197e-048, 1.26004227e-042,
5.96493248e-038, 1.22195759e-033, 1.43085896e-029,
9.90664174e-026, 3.91193624e-022, 8.38055359e-019,
9.29029488e-016, 5.11495689e-013, 1.34990118e-010,
1.65419502e-008, 9.13361321e-007, 2.20726057e-005,
2.27738146e-004, 9.99337621e-004, 2.00765452e-003],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 2.98964939e-054, 3.21153078e-048,
3.45160715e-043, 1.49128918e-038, 3.62445068e-034,
5.22367287e-030, 4.33339365e-026, 1.97227391e-022,
4.70144116e-019, 5.63854657e-016, 3.28801813e-013,
9.04812986e-011, 1.14308309e-008, 6.45375472e-007,
1.58543522e-005, 1.65587155e-004, 7.33291020e-004],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 1.09541615e-060, 3.78048812e-054,
9.32499201e-049, 8.51451833e-044, 4.28877706e-039,
1.28232284e-034, 2.22415778e-030, 2.13764504e-026,
1.08758798e-022, 2.81539960e-019, 3.58674718e-016,
2.18572707e-013, 6.21115829e-011, 8.03330546e-009,
4.61449213e-007, 1.14816131e-005, 1.21065123e-004],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 1.75657518e-067, 2.06098422e-060,
1.18024580e-054, 2.28314321e-049, 2.38106179e-044,
1.47284384e-039, 5.31990439e-035, 1.07424085e-030,
1.15930647e-026, 6.42885238e-023, 1.77289781e-019,
2.36552582e-016, 1.49105389e-013, 4.34316202e-011,
5.72020362e-009, 3.33010734e-007, 8.36869214e-006],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 1.22753348e-074, 5.21569346e-067,
7.01945329e-061, 2.88508525e-055, 6.22601698e-050,
7.94924062e-045, 5.95910253e-040, 2.51731565e-035,
5.73230174e-031, 6.76687034e-027, 4.00890735e-023,
1.16038784e-019, 1.60410086e-016, 1.03769161e-013,
3.08078609e-011, 4.11503458e-009, 2.42072032e-007],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 3.71650467e-082, 6.13960631e-074,
1.96699920e-067, 1.72323659e-061, 7.69324931e-056,
2.02366230e-050, 3.13939587e-045, 2.76414060e-040,
1.32223297e-035, 3.30505524e-031, 4.17971401e-027,
2.60460788e-023, 7.82368129e-020, 1.11133058e-016,
7.33430750e-014, 2.20980931e-011, 2.98405819e-009],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 4.83688472e-090, 3.36759523e-081,
2.60324200e-074, 4.87819030e-068, 4.50569455e-062,
2.43799550e-056, 7.80755905e-051, 1.42824007e-045,
1.42966759e-040, 7.53253502e-036, 2.02257512e-031,
2.69617083e-027, 1.74636065e-023, 5.39677927e-020,
7.82786619e-017, 5.24637634e-014, 1.59888478e-011],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 2.67796517e-098, 8.61993622e-089,
1.63067784e-081, 6.56065766e-075, 1.25406662e-068,
1.39407980e-062, 9.19628831e-057, 3.48548067e-051,
7.27661260e-046, 8.04938043e-041, 4.56796694e-036,
1.29558270e-031, 1.79799819e-027, 1.19958429e-023,
3.78880880e-020, 5.58481354e-017, 3.78799870e-014],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 6.22029826e-107, 1.03098607e-096,
4.84404391e-089, 4.20103285e-082, 1.66273888e-075,
3.79353549e-069, 5.14520894e-063, 4.03048279e-057,
1.74977200e-051, 4.04996556e-046, 4.83814533e-041,
2.90608659e-036, 8.59437238e-032, 1.23001591e-027,
8.39487933e-024, 2.69636537e-020, 4.02431966e-017],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 5.94788382e-116, 5.76821244e-105,
6.83594489e-097, 1.28334196e-089, 1.05247063e-082,
4.92413100e-076, 1.37093880e-069, 2.21482651e-063,
1.99432199e-057, 9.62920354e-052, 2.41308903e-046,
3.05736633e-041, 1.91784794e-036, 5.85603979e-032,
8.58123771e-028, 5.95989492e-024, 1.93924143e-020],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 2.27981288e-125, 1.51101047e-113,
4.59023809e-105, 1.87364747e-097, 3.18662132e-090,
3.05543486e-083, 1.74371703e-076, 5.79874300e-070,
1.08048437e-063, 1.08536598e-057, 5.68829826e-052,
1.51487426e-046, 2.00748888e-041, 1.30169804e-036,
4.07317110e-032, 6.07789670e-028, 4.27848858e-024],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 3.36756834e-135, 1.85463564e-122,
1.46876826e-113, 1.30950691e-105, 4.62341669e-098,
9.08069308e-091, 1.06095825e-083, 7.25021291e-077,
2.78976722e-070, 5.81635353e-064, 6.35765859e-058,
3.54786369e-052, 9.89739652e-047, 1.35734005e-041,
9.02729491e-037, 2.87833775e-032, 4.35540106e-028],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 1.79954915e-145, 1.06727323e-131,
2.24251112e-122, 4.38792498e-114, 3.21973612e-106,
1.29490741e-098, 3.09401859e-091, 4.33816241e-084,
3.44072116e-077, 1.48568266e-070, 3.37874409e-064,
3.94008469e-058, 2.30666618e-052, 6.66692184e-047,
9.38599800e-042, 6.36495471e-037, 2.05901932e-032],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 3.09618039e-156, 2.88082652e-141,
1.63573753e-131, 7.05907421e-123, 1.07784829e-114,
8.87440673e-107, 4.33226881e-099, 1.24460555e-091,
2.03129822e-084, 1.81302375e-077, 8.55982142e-071,
2.08078098e-064, 2.54934295e-058, 1.54804786e-052,
4.59710363e-047, 6.60338677e-042, 4.54543805e-037],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 1.28785374e-167, 3.64856476e-151,
5.70666461e-141, 5.45925692e-132, 1.73692116e-123,
2.92732986e-115, 2.91727852e-107, 1.71510001e-099,
5.75134217e-092, 1.05922957e-084, 1.03615236e-077,
5.23883130e-071, 1.33993164e-064, 1.70469597e-058,
1.06446344e-052, 3.22728150e-047, 4.70787139e-042],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 0.00000000e+000, 2.16856189e-161,
9.53223591e-151, 2.03205739e-141, 1.34911167e-132,
4.65411142e-124, 9.46143211e-116, 1.13704351e-107,
7.82336041e-100, 2.96832376e-092, 6.00532019e-085,
6.30268072e-078, 3.35776718e-071, 8.92774910e-065,
1.16895829e-058, 7.45702094e-053, 2.29713216e-047],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 0.00000000e+000, 6.04910748e-172,
7.63080897e-161, 3.64450088e-151, 5.05686396e-142,
3.57101370e-133, 1.47995856e-124, 3.63193041e-116,
5.12083781e-108, 3.99688355e-100, 1.66964925e-092,
3.63078833e-085, 4.02092226e-078, 2.22930947e-071,
6.10543131e-065, 8.17202864e-059, 5.29929531e-053],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 0.00000000e+000, 7.91861854e-183,
2.93020723e-171, 3.15275385e-161, 9.15724190e-152,
1.32389419e-142, 1.11791652e-133, 5.59712214e-125,
1.61529674e-116, 2.59008031e-108, 2.23071019e-100,
1.00341880e-092, 2.30572792e-085, 2.66026008e-078,
1.52048505e-071, 4.25947743e-065, 5.79825569e-059],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 0.00000000e+000, 4.86361175e-194,
5.40179841e-182, 1.31677837e-171, 8.01955765e-162,
2.37412780e-152, 4.08273044e-143, 4.16686558e-134,
2.45877472e-125, 8.08954932e-117, 1.43443342e-108,
1.33266132e-100, 6.34332766e-093, 1.52020423e-085,
1.80961919e-078, 1.05862694e-071, 3.01750896e-065],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 0.00000000e+000, 1.40111984e-205,
4.78437519e-193, 2.65766259e-182, 3.39986480e-172,
2.06155143e-162, 7.21693671e-153, 1.50031851e-143,
1.80837563e-134, 1.21939479e-125, 4.44603736e-117,
8.51927435e-109, 8.38691360e-101, 4.16794616e-093,
1.03140476e-085, 1.25741757e-078, 7.48805621e-072],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 0.00000000e+000, 1.89232307e-217,
2.03736957e-204, 2.59430555e-193, 6.98385548e-183,
8.67650839e-173, 6.18107133e-163, 2.61555447e-153,
6.43386351e-144, 8.88218563e-135, 6.65134236e-126,
2.62521849e-117, 5.33766039e-109, 5.49202825e-101,
2.82049441e-093, 7.15258265e-086, 8.88071530e-079],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 0.00000000e+000, 1.19744147e-229,
4.17408530e-216, 1.22581217e-204, 6.95703392e-194,
1.77154411e-183, 2.56745361e-173, 2.21001970e-163,
1.10852007e-153, 3.13010622e-144, 4.80877203e-135,
3.90476721e-126, 1.63755984e-117, 3.48353995e-109,
3.70700248e-101, 1.95213365e-093, 5.04407191e-086],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 0.00000000e+000, 3.54750544e-242,
4.11688660e-228, 2.80566212e-216, 3.36356146e-205,
1.75625207e-194, 5.17681859e-184, 9.05937108e-174,
9.25865469e-164, 5.34239284e-154, 1.68211136e-144,
2.80695737e-135, 2.42508383e-126, 1.06517042e-117,
2.34535271e-109, 2.56074424e-101, 1.37462741e-093],
[0.00000000e+000, 0.00000000e+000, 0.00000000e+000,
0.00000000e+000, 0.00000000e+000, 4.91590406e-255,
1.95588445e-240, 3.11289127e-228, 7.89863624e-217,
8.46057290e-206, 5.07124729e-195, 1.80327218e-184,
3.75232784e-174, 4.42071857e-164, 2.84999198e-154,
9.76322876e-145, 1.73573312e-135, 1.57221809e-126,
7.15341385e-118, 1.61703124e-109, 1.80055050e-101]]),
'occupancy': array([0.73692442, 0.71218781, 0.66976665, 0.60906468, 0.545789 ,
0.49916815, 0.4691501 , 0.44950457, 0.43629253, 0.42722711,
0.42091373, 0.4164653 , 0.41330079, 0.41103143, 0.40939287,
0.40820289, 0.40733442, 0.40669797, 0.40622994, 0.40588477,
0.40562961]),
'goodput': array([0.37582225, 0.38173297, 0.38692288, 0.38496695, 0.37298462,
0.35857214, 0.34704735, 0.33861698, 0.332569 , 0.32824798,
0.32515792, 0.32294132, 0.32134485, 0.32019001, 0.319351 ,
0.31873898, 0.31829089, 0.31796174, 0.31771927, 0.31754024,
0.31740776]),
'efficiency': array([0.3006578 , 0.32598548, 0.36892564, 0.42943201, 0.49150946,
0.53668907, 0.56555463, 0.58435713, 0.59696437, 0.60559769,
0.61160207, 0.61582883, 0.6188337 , 0.62098757, 0.62254223,
0.62367101, 0.62449467, 0.6250982 , 0.62554199, 0.62586925,
0.62611117])}
[5]:
res = aloha.res_
res['simulation']
[5]:
{'state_distribution': array([[1.00000000e+00, 8.76344086e-01, 6.93101761e-01, 4.91323529e-01,
3.46702756e-01, 2.93105159e-01, 2.71875000e-01, 2.88020833e-01,
2.83370536e-01, 2.57096354e-01, 2.85156250e-01, 2.82666016e-01,
2.72460938e-01, 2.59790039e-01, 2.51531982e-01, 2.52859497e-01,
2.52604675e-01, 2.59167480e-01, 2.56418228e-01, 2.54695511e-01,
2.56568909e-01],
[0.00000000e+00, 1.21505376e-01, 2.81017613e-01, 4.11078431e-01,
4.21309055e-01, 3.21974206e-01, 2.66481855e-01, 2.46927083e-01,
2.42410714e-01, 2.02669271e-01, 2.37890625e-01, 2.01416016e-01,
2.08227539e-01, 1.85876465e-01, 1.78369141e-01, 1.78430176e-01,
1.83358765e-01, 1.88743591e-01, 1.90755463e-01, 1.82723618e-01,
1.84367847e-01],
[0.00000000e+00, 2.15053763e-03, 2.56849315e-02, 9.15686275e-02,
2.01476378e-01, 2.76488095e-01, 2.69254032e-01, 1.75416667e-01,
1.94252232e-01, 1.27799479e-01, 1.56054688e-01, 1.31884766e-01,
1.67871094e-01, 1.30285645e-01, 1.39593506e-01, 1.24621582e-01,
1.24688721e-01, 1.38431549e-01, 1.36970901e-01, 1.28428841e-01,
1.31726360e-01],
[0.00000000e+00, 0.00000000e+00, 1.95694716e-04, 6.02941176e-03,
2.91338583e-02, 9.52876984e-02, 1.53679435e-01, 1.81093750e-01,
1.15234375e-01, 1.26106771e-01, 1.52929687e-01, 1.20410156e-01,
1.35693359e-01, 9.74487305e-02, 1.02496338e-01, 8.53485107e-02,
9.58694458e-02, 1.03511047e-01, 1.01998138e-01, 9.40889359e-02,
9.81206894e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.37795276e-03, 1.24503968e-02, 3.80544355e-02, 7.90625000e-02,
8.99553571e-02, 8.35286458e-02, 5.64453125e-02, 1.08007812e-01,
7.70751953e-02, 8.69628906e-02, 7.57873535e-02, 6.77154541e-02,
7.71728516e-02, 7.61596680e-02, 8.02711487e-02, 7.31893539e-02,
7.52110481e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 6.94444444e-04, 6.55241935e-04, 2.17187500e-02,
5.97098214e-02, 1.51757813e-01, 7.10937500e-02, 9.21386719e-02,
1.30737305e-01, 4.04174805e-02, 5.53466797e-02, 6.79565430e-02,
5.69229126e-02, 6.18156433e-02, 5.95516205e-02, 5.94156265e-02,
5.83081245e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.83333333e-03,
1.03236607e-02, 5.10416667e-02, 4.04296875e-02, 6.03027344e-02,
7.93457031e-03, 4.10644531e-02, 4.71130371e-02, 3.30108643e-02,
3.19046021e-02, 4.47433472e-02, 4.90924835e-02, 4.31854248e-02,
4.63894844e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.92708333e-03,
4.74330357e-03, 0.00000000e+00, 0.00000000e+00, 3.17382812e-03,
0.00000000e+00, 1.10339355e-01, 1.51550293e-02, 3.50158691e-02,
3.07342529e-02, 3.10356140e-02, 3.89877319e-02, 3.21643829e-02,
3.68480682e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 4.78149414e-02, 4.39208984e-02, 6.51000977e-02,
3.00582886e-02, 3.13995361e-02, 3.67317200e-02, 3.22074890e-02,
2.65722275e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 3.25805664e-02, 8.74938965e-03,
6.21505737e-02, 9.92355347e-03, 1.51599884e-02, 3.46288681e-02,
3.05712700e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 5.81054688e-02, 7.59521484e-02,
6.08978271e-03, 1.21215820e-02, 2.73197174e-02, 1.75716400e-02,
1.48892403e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 5.23986816e-03,
2.18826294e-02, 2.90977478e-02, 3.58276367e-03, 7.97100067e-03,
1.17001534e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
2.65625000e-02, 1.38496399e-02, 3.16009521e-03, 3.97293091e-02,
2.21136093e-02],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.77631378e-03],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
4.83665466e-03],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00]]),
'occupancy': array([0.74890083, 0.70918866, 0.67661448, 0.6 , 0.5246063 ,
0.51041667, 0.45715726, 0.45572917, 0.44196429, 0.41992188,
0.4609375 , 0.44287109, 0.44091797, 0.40930176, 0.39758301,
0.39556885, 0.40029907, 0.40856934, 0.40917969, 0.40112114,
0.40440845]),
'goodput': array([0.38935027, 0.38025415, 0.39823875, 0.36617647, 0.36860236,
0.36309524, 0.33870968, 0.34270833, 0.32868304, 0.32747396,
0.34960938, 0.34472656, 0.34423828, 0.32263184, 0.31427002,
0.31375122, 0.31671143, 0.32182312, 0.32167435, 0.31781578,
0.31960678]),
'efficiency': array([0.30831721, 0.32511492, 0.38055166, 0.40953947, 0.51407001,
0.52775775, 0.56804734, 0.58436945, 0.57688541, 0.62098765,
0.59567388, 0.62038664, 0.62361787, 0.63594803, 0.63843769,
0.64276336, 0.63927559, 0.63422995, 0.63251973, 0.64148495,
0.63830411])}
Running a bunch of simulation#
Just craft a list of the parameters you would like to run and use the parallel_compute function.
[6]:
from slotted_aloha_simulator.parallel import parallel_compute
p_list = [{'p0': p, 'n': 2**i, 't_sim': 20, 'alpha': 1/2, 'm': 12} for p in [1/8, 1/4, 1/2, 3/4]
for i in range(1, 11)]
data = parallel_compute(p_list)
Display temporal evolution#
evolution_plot will help you do that.
[7]:
from slotted_aloha_simulator import evolution_plot
evolution_plot(data, {'n': 4, 'p0': 1/8}, keys=['occupancy', 'goodput'])
[8]:
evolution_plot(data, {'n': 4, 'p0': 1/2}, keys=['occupancy', 'goodput'])
[9]:
evolution_plot(data, {'n': 1024, 'p0': 1/8}, keys=['occupancy', 'goodput'])
[10]:
evolution_plot(data, {'n': 1024, 'p0': 1/2}, keys=['occupancy', 'goodput'])
Display evolution of the state distribution#
distribution_plot will help you do that.
[11]:
from slotted_aloha_simulator import distribution_plot
distribution_plot(data, {'n': 4, 'p0': 1/8})
[12]:
distribution_plot(data, {'n': 4, 'p0': 1/2})
[13]:
distribution_plot(data, {'n': 1024, 'p0': 1/8})
[14]:
distribution_plot(data, {'n': 1024, 'p0': 1/2})
Investigate implicit admission#
live_plot will help you do that.
[15]:
from slotted_aloha_simulator import live_plot
live_plot(data, {'p0': 1/8})
[16]:
live_plot(data, {'p0': 1/2})