Aprendizaje automático para categorizar los veredictos Time-limit en jueces en línea
Loading...
Official URL
Full text at PDC
Publication date
2023
Authors
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
The use of online judges has become popular as a tool to improve programming skills by measuring the efficiency of solutions and checking their compliance with problem requirements. However, when a solution exceeds the time limit, the judge provides little information about the cause of the error. In order to improve the information in the verdicts provided by judges, this study proposes to extend its functionality by implementing a clue module capable of informing users about the cause of the obtained verdicts, focusing exclusively on time-limit exceeded or TLE verdicts.
To achieve this goal, we propose to classify TLEs into three categories: infinite loops, wrong approaches and suboptimal solutions. The module classifies the solutions by making use of a part capable of predicting the order of complexity of a solution sent to the judge, timing its execution time for a series of test cases. For this part there are two implementations, one based on artificial intelligence models and the other based on regression functions.
This work aims to improve the user experience when interacting with online judges, without replacing them, by increasing the amount of detailed information provided by the verdict system on the online judges.
El uso de jueces en línea se ha popularizado como una herramienta para mejorar las habilidades de programación al medir la eficiencia de las soluciones y comprobar su cumplimiento de los requisitos del problema. Sin embargo, cuando una solución excede el tiempo límite, el juez proporciona poca información sobre la causa del error. Con el objetivo de mejorar la información en los veredictos ofrecidos por los jueces, este estudio propone extender su funcionalidad implementando un módulo de pistas. Este módulo será capaz de informar a los usuarios sobre la causa de los veredictos obtenidos, centrándose exclusivamente en los veredictos de tiempo límite excedido o TLE. Para lograr este objetivo se plantea clasificar los veredictos TLE en tres categorías: bucles infinitos, planteamientos erróneos y soluciones poco óptimas. El módulo clasifica las soluciones haciendo uso de una pieza capaz de predecir el orden de complejidad de una solución envíada al juez, cronometrando su tiempo de ejecución para una serie de casos de prueba. Para esta pieza existen dos implementaciones, una basada en modelos de inteligencia artificial y otra basada en funciones de regresión. El objetivo de este trabajo consiste en mejorar la experiencia de usuario al utilizar jueces en línea, sin reemplazarlos, aumentando la cantidad de detalles información proporcionada por el sistema de veredictos en los jueces en línea.
El uso de jueces en línea se ha popularizado como una herramienta para mejorar las habilidades de programación al medir la eficiencia de las soluciones y comprobar su cumplimiento de los requisitos del problema. Sin embargo, cuando una solución excede el tiempo límite, el juez proporciona poca información sobre la causa del error. Con el objetivo de mejorar la información en los veredictos ofrecidos por los jueces, este estudio propone extender su funcionalidad implementando un módulo de pistas. Este módulo será capaz de informar a los usuarios sobre la causa de los veredictos obtenidos, centrándose exclusivamente en los veredictos de tiempo límite excedido o TLE. Para lograr este objetivo se plantea clasificar los veredictos TLE en tres categorías: bucles infinitos, planteamientos erróneos y soluciones poco óptimas. El módulo clasifica las soluciones haciendo uso de una pieza capaz de predecir el orden de complejidad de una solución envíada al juez, cronometrando su tiempo de ejecución para una serie de casos de prueba. Para esta pieza existen dos implementaciones, una basada en modelos de inteligencia artificial y otra basada en funciones de regresión. El objetivo de este trabajo consiste en mejorar la experiencia de usuario al utilizar jueces en línea, sin reemplazarlos, aumentando la cantidad de detalles información proporcionada por el sistema de veredictos en los jueces en línea.
Description
Trabajo de Fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Ingeniería de Software e Inteligencia Artificial, Curso 2022/2023