Как преобразовать модель теории игр аукциона в код MATLAB?
Мне нужен этот алгоритм должен быть преобразован в код MATLAB. Модель теории аукционных игр выбирает лучших среди пользователей реального и не реального времени в двухуровневой когнитивной радиосети.
предложен алгоритм аукционной игровой модели.
Алгоритм: предлагаемая аукционная игра, в которую будут играть вторичные пользователи.
Входные соображения
Set RT ={rs1 ,rs2,rs3,rs4,....rsn1} //набор обслуживаемых пользователей реального времени
Set NRT={ns1,ns2,ns3,ns4,..... nsn2} //набор обслуживаемых пользователей не в реальном времени
Set A ={a1,a2,a3,a4,..am}//набор доступных каналов, сформированных с использованием локального решения
//и использование кооперативного зондирования
Множество π ={ NULL}, θ ={NULL} ,φ ={NULL} //вектор выигрыша, цены и вероятности обнаружения
Set AlocRT[n1][m] =0 //матрица распределения для пользователя реального времени
Set AlocNRT[n2][m]=0 //матрица распределения для пользователя не реального времени
//Фаза алгоритма 1 для пользователей реального времени
RT_ALOC()
Шаг 1:Начните
Шаг 2:Повторите
Шаг 3: для каждого aj в A= {a1,a2,a3,a4,.... am} сделайте
Шаг 4: для каждого rsi в RT ={rs1,rs2,rs3,rs4.... rsn1} сделайте
Шаг 5: извлеките Pdajrsi(вероятность обнаружения) rsi из bid и сохраните его в φ
Шаг 6: вычислите выигрыш pajrsi и цену Oajrsi и сохраните его в π и θ.
Шаг 7: Готово
Шаг 8: готово
Шаг 9: вычислите функцию полезности Ursi(TIER1)(pajrsi,Oajrsi) для каждой пары {aj,rsi} и
выберите победителя для каждого aj таким образом,чтобы победитель ajrsi= arg max rsi(Ursi(TIER 1)(pajrsi, Oajrsi)).
Шаг 10:назначьте канал aj пользователю rsi и установите AlocRT[i][j]=1
Шаг 11:RT=RT−{rsi}и A=A−{aj}
Шаг 12:до тех пор, пока RT={NULL } или A={NULL }
Шаг 13:вызовите NRT_ALOC(AlocRT[][])
Шаг 14:завершите фазу алгоритма 2 для пользователей не в реальном времени
NRT_ALOC(AlocRT[][])
Шаг 1:Начните
Шаг 2:Повторите
Шаг 3:для каждого aj в A={a1,a2,a3,a4,...am}сделайте
Шаг 4:для каждого nsk в NRT={ns1,ns2,ns3,ns4,...nsn2}сделайте
Для каждого i=1 до n1 do
Шаг 5:если AlocRT[i][j]==1, то
Шаг 6: tr1=вызов User_TransmitTime(rsi)
Шаг 7: tr2=вызов User_TransmitTime(nsk)
Шаг 8: yajnsk=вызов GammaBinary(tr1,tr2)
Шаг 9: храните yajnsk в γ
Шаг 10: извлеките Pdajnsk(вероятность обнаружения) nsk из bid и сохраните его в φ
Шаг 11: вычислите выигрыш pajnsk и цену Oajnsk и сохраните его в π и θ
Шаг 12: готово
Шаг 13: сделано
Шаг 14: вычислите функцию полезности Unsk(TIER2)(pajnsk,Oajnsk) для каждой пары {aj,nsk} и
выбрать победителя для каждого такое AJ, что победитель ajnsk=argmaxnk(УНСК(Т2)
(пайнск,Оайнск)).
Шаг 15: назначьте канал aj пользователю nsk и установите AlocNRT[k][j]=1
Шаг 16: NRT=NRT−{nsk} и A=A−{aj}
Шаг 17: до тех пор, пока NRT={NULL} или A={NULL}
Шаг 18: для j=1 до m сделайте
Шаг 19: для i=1 - n1 сделайте
Шаг 20: для k=1 - n2 сделайте
Шаг 21: Если AlocRT[i][j]==1&& AlocNRT[k][j]==1, то
Шаг 22: вызов startTransmission(rsi,nsk,aj)
Шаг 23: Конец, Если
Шаг 24:готово
Шаг 25:готово
Шаг 26:готово
Шаг 27:Конец
Этот алгоритм взят из статьи "оптимизированный вторичный отбор пользователей по качеству
повышение качества обслуживания двухуровневой многопользовательской когнитивной радиосети: теоретико-игровой подход"
Ссылка на эту статью приведена ниже.
https://www.sciencedirect.com/science/article/pii/S1389128617301949
Оптимизированный выбор вторичных пользователей для повышения качества обслуживания двухуровневой многопользовательской когнитивной радиосети: теоретико-игровой подход
Что я уже пробовал:
Уже пробовал писать код в matlab . Функция полезности не возвращает свои значения.
Richard MacCutchan
Ответ очевиден: путем написания кода программы MATLAB.