M-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzo

El diseño actual de los métodos de aprendizaje por refuerzo requiere grandes recursos computacionales. Algoritmos como Deep Q-Network (DQN) han obtenido resultados sobresalientes en el avance de este campo. Sin embargo, la necesidad de ajustar miles de parámetros y ejecutar millones de episodios de...

Full description

Autores:
Mora Cortés, Marlon Sneider
Perdomo Charry , César Andrey
Perdomo Charry , Oscar Julián
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2025
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/93453
Acceso en línea:
http://hdl.handle.net/11349/93453
Palabra clave:
Aprendizaje por refuerzo
Dilema exploración-explotación
Q-Learning
Frozen lake
Enfoque heurístico
Ingeniería Electrónica -- Tesis y Disertaciones Académicas
Minería de datos
Aprendizaje por experiencia
Aprendizaje por descubrimiento
Reinforcement learning
Exploration-exploitation dilemma
Q-Learning
Frozen Lake
Heuristic approach
Rights
License
Abierto (Texto Completo)
id UDISTRITA2_6cb51a204bb598d03f9c1dcdbc3e7a14
oai_identifier_str oai:repository.udistrital.edu.co:11349/93453
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv M-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzo
dc.title.titleenglish.none.fl_str_mv M-Learning: heuristic approach for delayed rewards in reinforcement learning
title M-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzo
spellingShingle M-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzo
Aprendizaje por refuerzo
Dilema exploración-explotación
Q-Learning
Frozen lake
Enfoque heurístico
Ingeniería Electrónica -- Tesis y Disertaciones Académicas
Minería de datos
Aprendizaje por experiencia
Aprendizaje por descubrimiento
Reinforcement learning
Exploration-exploitation dilemma
Q-Learning
Frozen Lake
Heuristic approach
title_short M-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzo
title_full M-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzo
title_fullStr M-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzo
title_full_unstemmed M-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzo
title_sort M-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzo
dc.creator.fl_str_mv Mora Cortés, Marlon Sneider
Perdomo Charry , César Andrey
Perdomo Charry , Oscar Julián
dc.contributor.advisor.none.fl_str_mv Perdomo Charry, César Andrey
dc.contributor.author.none.fl_str_mv Mora Cortés, Marlon Sneider
Perdomo Charry , César Andrey
Perdomo Charry , Oscar Julián
dc.contributor.orcid.none.fl_str_mv Perdomo Charry, Cesar Andrey [0000-0001-7310-4618]
dc.subject.none.fl_str_mv Aprendizaje por refuerzo
Dilema exploración-explotación
Q-Learning
Frozen lake
Enfoque heurístico
topic Aprendizaje por refuerzo
Dilema exploración-explotación
Q-Learning
Frozen lake
Enfoque heurístico
Ingeniería Electrónica -- Tesis y Disertaciones Académicas
Minería de datos
Aprendizaje por experiencia
Aprendizaje por descubrimiento
Reinforcement learning
Exploration-exploitation dilemma
Q-Learning
Frozen Lake
Heuristic approach
dc.subject.lemb.none.fl_str_mv Ingeniería Electrónica -- Tesis y Disertaciones Académicas
Minería de datos
Aprendizaje por experiencia
Aprendizaje por descubrimiento
dc.subject.keyword.none.fl_str_mv Reinforcement learning
Exploration-exploitation dilemma
Q-Learning
Frozen Lake
Heuristic approach
description El diseño actual de los métodos de aprendizaje por refuerzo requiere grandes recursos computacionales. Algoritmos como Deep Q-Network (DQN) han obtenido resultados sobresalientes en el avance de este campo. Sin embargo, la necesidad de ajustar miles de parámetros y ejecutar millones de episodios de entrenamiento sigue siendo un reto importante. Este documento propone un análisis comparativo entre el algoritmo Q-Learning, que sentó las bases del Deep Q-Learning, y nuestro método propuesto, denominado M-Learning. La comparación se lleva a cabo utilizando Procesos de Decisión de Markov con recompensa retardada como marco general del banco de pruebas. En primer lugar, este documento proporciona una descripción completa de los principales retos relacionados con la implementación de Q-Learning, especialmente en lo que respecta a sus múltiples parámetros. A continuación, se presentan los fundamentos de nuestra heurística propuesta, incluida su formulación, y se describe en detalle el algoritmo. La metodología utilizada para comparar ambos algoritmos consistió en entrenarlos en el entorno de Frozen Lake. Los resultados experimentales, junto con un análisis de las mejores soluciones, demuestran que nuestra propuesta requiere menos episodios y presenta una menor variabilidad en los resultados. En concreto, M-Learning entrena a los agentes un 30,7% más rápido en el entorno determinista y un 61,66% más rápido en el entorno estocástico. Además, consigue una mayor consistencia, reduciendo la desviación estándar de las puntuaciones en un 58,37% y un 49,75% en los entornos determinista y estocástico, respectivamente.
publishDate 2025
dc.date.accessioned.none.fl_str_mv 2025-03-10T20:43:32Z
dc.date.available.none.fl_str_mv 2025-03-10T20:43:32Z
dc.date.created.none.fl_str_mv 2025-02-21
dc.type.none.fl_str_mv bachelorThesis
dc.type.degree.none.fl_str_mv Producción Académica
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/93453
url http://hdl.handle.net/11349/93453
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv B. Cottier, R. Rahman, L. Fattorini, N. Maslej, and D. Owen, “The rising costs of training frontier ai models,” 2024.
V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wier- stra, and M. Riedmiller, “Playing atari with deep reinforcement learning,” 2013.
V. Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. G. Bellemare, A. Graves, M. Riedmiller, A. K. Fidjeland, G. Ostrovski, S. Petersen, C. Beattie, A. Sadik, I. Antonoglou, H. King, D. Kumaran, D. Wierstra, S. Legg, and D. Hassabis, “Human-level control through deep reinforcement learning,” Nature, vol. 518, pp. 529–533, Feb 2015.
A. K. Sadhu and A. Konar, “Improving the speed of convergence of multi- agent q-learning for cooperative task-planning by a robot-team,” Robotics and Autonomous Systems, vol. 92, pp. 66–80, 2017
L. Canese, G. C. Cardarilli, M. M. Dehghan Pir, L. Di Nunzio, and S. Span`o, “Design and development of multi-agent reinforcement learn- ing intelligence on the robotarium platform for embedded system appli- cations,” Electronics, vol. 13, no. 10, 2024.
J. Torres, Introducci´on al aprendizaje por refuerzo profundo: Teor´ıa y pr´actica en Python. Direct Publishing, Independently Published, 2021.
M. Lapan, Deep Reinforcement Learning Hands-On. Birmingham, UK: Packt Publishing, 2018.
N. Balaji, S. Kiefer, P. Novotn´y, G. A. P´erez, and M. Shirmohammadi, “On the complexity of value iteration,” 2019.
R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction. The MIT Press, second ed., 2018.
B. Jang, M. Kim, G. Harerimana, and J. W. Kim, “Q-learning algorithms: A comprehensive classification and applications,” IEEE Access, vol. 7, pp. 133653–133667, 2019.
S. Liu, X. Hu, and K. Dong, “Adaptive double fuzzy systems based q- learning for pursuit-evasion game,” IFAC-PapersOnLine, vol. 55, no. 3, pp. 251–256, 2022. 16th IFAC Symposium on Large Scale Complex Sys- tems: Theory and Applications LSS 2022
A. G. d. Silva Junior, D. H. d. Santos, A. P. F. d. Negreiros, J. M. V. B. d. S. Silva, and L. M. G. Gonc¸alves, “High-level path planning for an autonomous sailboat robot using q-learning,” Sensors, vol. 20, no. 6, 2020.
M. E. C¸ imen, Z. Garip, Y. Yalc¸ın, M. Kutlu, and A. F. Boz, “Self adaptive methods for learning rate parameter of q-learning algorithm,” Journal of Intelligent Systems: Theory and Applications, vol. 6, no. 2, p. 191–198, 2023.
L. Zhang, L. Tang, S. Zhang, Z. Wang, X. Shen, and Z. Zhang, “A self-adaptive reinforcement-exploration q-learning algorithm,” Symmetry, vol. 13, no. 6, 2021.
J. Huang, Z. Zhang, and X. Ruan, “An improved dyna-q algorithm in- spired by the forward prediction mechanism in the rat brain for mobile robot path planning,” Biomimetics, vol. 9, no. 6, 2024.
S. Xu, Y. Gu, X. Li, C. Chen, Y. Hu, Y. Sang, and W. Jiang, “Indoor emer- gency path planning based on the q-learning optimization algorithm,” IS- PRS International Journal of Geo-Information, vol. 11, no. 1, 2022.
A. dos Santos Mignon and R. L. de Azevedo da Rocha, “An adaptive im- plementation of ϵ-greedy in reinforcement learning,” Procedia Computer cience, vol. 109, pp. 1146–1151, 2017. 8th International Conference on Ambient Systems, Networks and Technologies, ANT-2017 and the 7th International Conference on Sustainable Energy Information Technology, SEIT 2017, 16-19 May 2017, Madeira, Portugal.
M. Zhang, W. Cai, and L. Pang, “Predator-prey reward based q- learning coverage path planning for mobile robot,” IEEE Access, vol. 11, pp. 29673–29683, 2023.
W. Jin, R. Gu, and Y. Ji, “Reward function learning for q-learning-based geographic routing protocol,” IEEE Communications Letters, vol. 23, no. 7, pp. 1236–1239, 2019.
X. Ou, Q. Chang, and N. Chakraborty, “Simulation study on reward func- tion of reinforcement learning in gantry work cell scheduling,” Journal of Manufacturing Systems, vol. 50, pp. 1–8, 2019.
Y. Li, H. Wang, J. Fan, and Y. Geng, “A novel q-learning algorithm based on improved whale optimization algorithm for path planning,” PLOS ONE, vol. 17, no. 12, p. e0279438, 2022.
S. Mirjalili and A. Lewis, “The whale optimization algorithm,” Advances in Engineering Software, vol. 95, pp. 51–67, 2016.
H. Sowerby, Z.-H. Zhou, and M. L. Littman, “Designing rewards for fast learning,” ArXiv, vol. abs/2205.15400, 2022.
G. Brockman, V. Cheung, L. Pettersson, J. Schneider, J. Schulman, J. Tang, and W. Zaremba, “Openai gym,” 2016.
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_16ec
dc.rights.acceso.none.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Abierto (Texto Completo)
http://purl.org/coar/access_right/c_16ec
dc.format.mimetype.none.fl_str_mv pdf
dc.publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/62064349-e106-446e-8f0a-3292413f8438/download
https://repository.udistrital.edu.co/bitstreams/90c7973b-3d3f-47de-bae9-bc045c9e8837/download
https://repository.udistrital.edu.co/bitstreams/85403b9c-032b-4480-9d52-fc1733a392e4/download
https://repository.udistrital.edu.co/bitstreams/84eb4692-502c-4f39-b065-d16c4f699e8c/download
https://repository.udistrital.edu.co/bitstreams/8a6bbfe4-41bb-4cb1-9954-04dbe82da169/download
bitstream.checksum.fl_str_mv 997daf6c648c962d566d7b082dac908d
a585e8ec9b57826bb9930860f0cacaa5
fe4b5a7862ca4628c7a432ed2ddc159a
5f8a9a10f9cde9610aa270d4a7c15bad
9eceef191c42dab543ae0f7e9cd43606
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1828165315099361280
spelling Perdomo Charry, César AndreyMora Cortés, Marlon SneiderPerdomo Charry , César AndreyPerdomo Charry , Oscar JuliánPerdomo Charry, Cesar Andrey [0000-0001-7310-4618]2025-03-10T20:43:32Z2025-03-10T20:43:32Z2025-02-21http://hdl.handle.net/11349/93453El diseño actual de los métodos de aprendizaje por refuerzo requiere grandes recursos computacionales. Algoritmos como Deep Q-Network (DQN) han obtenido resultados sobresalientes en el avance de este campo. Sin embargo, la necesidad de ajustar miles de parámetros y ejecutar millones de episodios de entrenamiento sigue siendo un reto importante. Este documento propone un análisis comparativo entre el algoritmo Q-Learning, que sentó las bases del Deep Q-Learning, y nuestro método propuesto, denominado M-Learning. La comparación se lleva a cabo utilizando Procesos de Decisión de Markov con recompensa retardada como marco general del banco de pruebas. En primer lugar, este documento proporciona una descripción completa de los principales retos relacionados con la implementación de Q-Learning, especialmente en lo que respecta a sus múltiples parámetros. A continuación, se presentan los fundamentos de nuestra heurística propuesta, incluida su formulación, y se describe en detalle el algoritmo. La metodología utilizada para comparar ambos algoritmos consistió en entrenarlos en el entorno de Frozen Lake. Los resultados experimentales, junto con un análisis de las mejores soluciones, demuestran que nuestra propuesta requiere menos episodios y presenta una menor variabilidad en los resultados. En concreto, M-Learning entrena a los agentes un 30,7% más rápido en el entorno determinista y un 61,66% más rápido en el entorno estocástico. Además, consigue una mayor consistencia, reduciendo la desviación estándar de las puntuaciones en un 58,37% y un 49,75% en los entornos determinista y estocástico, respectivamente.The current design of reinforcement learning methods requires extensive computational resources. Algorithms such as Deep Q-Network (DQN) have obtained outstanding results in advancing the field. However, the need to tune thousands of parameters and run millions of training episodes remains a significant challenge. This document proposes a comparative analysis between the Q-Learning algorithm, which laid the foundations for Deep Q-Learning, and our proposed method, termed M-Learning. The comparison is conducted using Markov Decision Processes with delayed reward as a general test bench framework. Firstly, this document provides a full description of the main challenges related to implementing Q-Learning, particularly concerning its multiple parameters. Then, the foundations of our proposed heuristic are presented, including its formulation, and the algorithm is described in detail. The methodology used to compare both algorithms involved training them in the Frozen Lake environment. The experimental results, along with an analysis of the best solutions, demonstrate that our proposal requires fewer episodes and exhibits reduced variability in the outcomes. Specifically, M-Learning trains agents 30.7% faster in the deterministic environment and 61.66% faster in the stochastic environment. Additionally, it achieves greater consistency, reducing the standard deviation of scores by 58.37% and 49.75% in the deterministic and stochastic settings, respectively.pdfspaUniversidad Distrital Francisco José de CaldasAprendizaje por refuerzoDilema exploración-explotaciónQ-LearningFrozen lakeEnfoque heurísticoIngeniería Electrónica -- Tesis y Disertaciones AcadémicasMinería de datosAprendizaje por experienciaAprendizaje por descubrimientoReinforcement learningExploration-exploitation dilemmaQ-LearningFrozen LakeHeuristic approachM-Learning: enfoque heurístico para recompensas diferidas en el aprendizaje por refuerzoM-Learning: heuristic approach for delayed rewards in reinforcement learningbachelorThesisProducción Académicainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_16ecB. Cottier, R. Rahman, L. Fattorini, N. Maslej, and D. Owen, “The rising costs of training frontier ai models,” 2024.V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wier- stra, and M. Riedmiller, “Playing atari with deep reinforcement learning,” 2013.V. Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. G. Bellemare, A. Graves, M. Riedmiller, A. K. Fidjeland, G. Ostrovski, S. Petersen, C. Beattie, A. Sadik, I. Antonoglou, H. King, D. Kumaran, D. Wierstra, S. Legg, and D. Hassabis, “Human-level control through deep reinforcement learning,” Nature, vol. 518, pp. 529–533, Feb 2015.A. K. Sadhu and A. Konar, “Improving the speed of convergence of multi- agent q-learning for cooperative task-planning by a robot-team,” Robotics and Autonomous Systems, vol. 92, pp. 66–80, 2017L. Canese, G. C. Cardarilli, M. M. Dehghan Pir, L. Di Nunzio, and S. Span`o, “Design and development of multi-agent reinforcement learn- ing intelligence on the robotarium platform for embedded system appli- cations,” Electronics, vol. 13, no. 10, 2024.J. Torres, Introducci´on al aprendizaje por refuerzo profundo: Teor´ıa y pr´actica en Python. Direct Publishing, Independently Published, 2021.M. Lapan, Deep Reinforcement Learning Hands-On. Birmingham, UK: Packt Publishing, 2018.N. Balaji, S. Kiefer, P. Novotn´y, G. A. P´erez, and M. Shirmohammadi, “On the complexity of value iteration,” 2019.R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction. The MIT Press, second ed., 2018.B. Jang, M. Kim, G. Harerimana, and J. W. Kim, “Q-learning algorithms: A comprehensive classification and applications,” IEEE Access, vol. 7, pp. 133653–133667, 2019.S. Liu, X. Hu, and K. Dong, “Adaptive double fuzzy systems based q- learning for pursuit-evasion game,” IFAC-PapersOnLine, vol. 55, no. 3, pp. 251–256, 2022. 16th IFAC Symposium on Large Scale Complex Sys- tems: Theory and Applications LSS 2022A. G. d. Silva Junior, D. H. d. Santos, A. P. F. d. Negreiros, J. M. V. B. d. S. Silva, and L. M. G. Gonc¸alves, “High-level path planning for an autonomous sailboat robot using q-learning,” Sensors, vol. 20, no. 6, 2020.M. E. C¸ imen, Z. Garip, Y. Yalc¸ın, M. Kutlu, and A. F. Boz, “Self adaptive methods for learning rate parameter of q-learning algorithm,” Journal of Intelligent Systems: Theory and Applications, vol. 6, no. 2, p. 191–198, 2023.L. Zhang, L. Tang, S. Zhang, Z. Wang, X. Shen, and Z. Zhang, “A self-adaptive reinforcement-exploration q-learning algorithm,” Symmetry, vol. 13, no. 6, 2021.J. Huang, Z. Zhang, and X. Ruan, “An improved dyna-q algorithm in- spired by the forward prediction mechanism in the rat brain for mobile robot path planning,” Biomimetics, vol. 9, no. 6, 2024.S. Xu, Y. Gu, X. Li, C. Chen, Y. Hu, Y. Sang, and W. Jiang, “Indoor emer- gency path planning based on the q-learning optimization algorithm,” IS- PRS International Journal of Geo-Information, vol. 11, no. 1, 2022.A. dos Santos Mignon and R. L. de Azevedo da Rocha, “An adaptive im- plementation of ϵ-greedy in reinforcement learning,” Procedia Computer cience, vol. 109, pp. 1146–1151, 2017. 8th International Conference on Ambient Systems, Networks and Technologies, ANT-2017 and the 7th International Conference on Sustainable Energy Information Technology, SEIT 2017, 16-19 May 2017, Madeira, Portugal.M. Zhang, W. Cai, and L. Pang, “Predator-prey reward based q- learning coverage path planning for mobile robot,” IEEE Access, vol. 11, pp. 29673–29683, 2023.W. Jin, R. Gu, and Y. Ji, “Reward function learning for q-learning-based geographic routing protocol,” IEEE Communications Letters, vol. 23, no. 7, pp. 1236–1239, 2019.X. Ou, Q. Chang, and N. Chakraborty, “Simulation study on reward func- tion of reinforcement learning in gantry work cell scheduling,” Journal of Manufacturing Systems, vol. 50, pp. 1–8, 2019.Y. Li, H. Wang, J. Fan, and Y. Geng, “A novel q-learning algorithm based on improved whale optimization algorithm for path planning,” PLOS ONE, vol. 17, no. 12, p. e0279438, 2022.S. Mirjalili and A. Lewis, “The whale optimization algorithm,” Advances in Engineering Software, vol. 95, pp. 51–67, 2016.H. Sowerby, Z.-H. Zhou, and M. L. Littman, “Designing rewards for fast learning,” ArXiv, vol. abs/2205.15400, 2022.G. Brockman, V. Cheung, L. Pettersson, J. Schneider, J. Schulman, J. Tang, and W. Zaremba, “Openai gym,” 2016.LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/62064349-e106-446e-8f0a-3292413f8438/download997daf6c648c962d566d7b082dac908dMD52ORIGINALMoraCortesMarlonSneider2025.pdfMoraCortesMarlonSneider2025.pdfTrabajo de gradoapplication/pdf4163006https://repository.udistrital.edu.co/bitstreams/90c7973b-3d3f-47de-bae9-bc045c9e8837/downloada585e8ec9b57826bb9930860f0cacaa5MD53Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfLicencia de uso y publicaciónapplication/pdf2013968https://repository.udistrital.edu.co/bitstreams/85403b9c-032b-4480-9d52-fc1733a392e4/downloadfe4b5a7862ca4628c7a432ed2ddc159aMD54THUMBNAILMoraCortesMarlonSneider2025.pdf.jpgMoraCortesMarlonSneider2025.pdf.jpgIM Thumbnailimage/jpeg11416https://repository.udistrital.edu.co/bitstreams/84eb4692-502c-4f39-b065-d16c4f699e8c/download5f8a9a10f9cde9610aa270d4a7c15badMD55Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg13099https://repository.udistrital.edu.co/bitstreams/8a6bbfe4-41bb-4cb1-9954-04dbe82da169/download9eceef191c42dab543ae0f7e9cd43606MD5611349/93453oai:repository.udistrital.edu.co:11349/934532025-03-14 12:41:52.24open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK