DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Лабораторна робота №4

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Інтелектуальні системи

Частина тексту файла (без зображень, графіків і формул):

‘МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Лабораторна робота №4 з дисципліни " Теорія інтелектуальних систем" Львів – 2014 НАЗВА: Дослідження методів та алгоритмів навчання з підкріпленням (Reinforcement Learning) в стаціонарному випадковому середовищі. МЕТА: Дослідити роботу методів та алгоритмів навчання з підкріпленням, набути навички їх реалізації N Метод навчання з підкріпленням Кількість доступних агенту дій  8 softmax 3   softmax -> метод нерівноцінного вибору дій int agent (int _ag) { int _a = 0; switch (_ag) { case 0: _a = randomAgent(); break; case 1: _a = perfectAgent(); break; case 2: _a = greedy(); break; case 3: _a = epsilonGreedy(); break; case 4: _a = softmax(); break; default: printf("lab3 error: wrong agent code specified\n"); } return _a; } void simulation (int _i) { initAgent(agt); sumR = 0.0f; avrR = 0.0f; for (t=0; t < T; t++) { // get action of agent action = agent(agt); // get response of environment response = environment(env); // calculate cumulative results sumR = sumR + (float)response; avrR = sumR / ((float)t + 1); // save results _sumR[t][_i] = sumR; _avrR[t][_i] = avrR; } } // ---------------------------------------------------------------------------- // get mean values of simulation results void getMeanValues (void) { for (t=0; t < T; t++) { float tmps1 = 0.0f; float tmps2 = 0.0f; for (int i=0; i < n; i++) { tmps1 += _sumR[t][i]; tmps2 += _avrR[t][i]; } sumRm[t] = (float)tmps1 / (float)n; avrRm[t] = (float)tmps2 / (float)n; } } void getVarianceValues (void) { for (t=0; t < T; t++) { float tmps1 = 0.0f; float tmps2 = 0.0f; for (int i=0; i < n; i++) { tmps1 += (sumRm[t] - _sumR[t][i]) * (sumRm[t] - _sumR[t][i]); tmps2 += (avrRm[t] - _avrR[t][i]) * (avrRm[t] - _avrR[t][i]); } sumRv[t] = (float)tmps1 / (float)(n-1); avrRv[t] = (float)tmps2 / (float)(n-1); } } int main(int argc, char* argv[]) { int i; // init random-number generator srand((unsigned)time(NULL)); // init environment if (env == 0) seInit(); else ceInit(); // save parameters of experiment saveParameters(); // run experiment for random agent agt = 0; for (i=0; i < n; i++) simulation(i); getMeanValues(); getVarianceValues(); saveResultsRA(); // run experiment for perfect agent agt = 1; for (i=0; i < n; i++) simulation(i); getMeanValues(); getVarianceValues(); saveResultsPA(); // run experiment for RL-agent agt = RLTYPE; for (i=0; i < n; i++) simulation(i); getMeanValues(); getVarianceValues(); saveResultsRL(); return 0  Рис.1 Діаграма для PA, RA , RL Кількість доступних агенту дій p(a0) = 0.150731 p(a1) = 0.610096 p(a2) = 0.422101 Висновок: на цій лабораторній роботі я дослідив роботу методів та алгоритмів навчання з підкріпленням, набув навичок для їх реалізації.
Антиботан аватар за замовчуванням

06.12.2014 16:39

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!