{"id":18247,"date":"2022-12-12T14:51:43","date_gmt":"2022-12-12T13:51:43","guid":{"rendered":"https:\/\/inlab.fib.upc.edu\/un-equipo-inlaber-premiado-en-hackeps\/2023\/"},"modified":"2026-02-20T13:26:20","modified_gmt":"2026-02-20T12:26:20","slug":"un-equipo-inlaber-premiado-en-hackeps","status":"publish","type":"post","link":"https:\/\/inlab.fib.upc.edu\/es\/premios\/un-equipo-inlaber-premiado-en-hackeps","title":{"rendered":"Un equipo inLaber premiado en HackEPS"},"content":{"rendered":"\n<p>En inLab FIB es habitual charlar y compartir an\u00e9cdotas con los compa\u00f1eros con los que compartes espacio de trabajo, aunque no siempre llegas a trabajar conjuntamente. La idea de colaborar en un mismo proyecto nos llev\u00f3 a apuntarnos a la hackathon HackEPS.<\/p>\n\n<p><br\/>As\u00ed que este pasado s\u00e1bado 26 de noviembre, nos levantamos temprano para ir todos juntos hacia la Escuela Polit\u00e9cnica Superior de Lleida, donde nos esperaba un evento cuidadosamente organizado por la asociaci\u00f3n juvenil LleidaHack que contaba con la participaci\u00f3n de unas 160 personas. Entre \u00e9stas, enseguida encontramos algunas caras familiares: algunos de los organizadores de la HackUPC que, si hab\u00edan asistido buscando nuevas ideas, seguro que encontraron, ya que durante toda la hackathon se ofrecieron diferentes actividades, retos y charlas que aportaron positivamente a la experiencia.<br\/>La jornada empez\u00f3 con una presentaci\u00f3n en un anfiteatro donde se explicaban, entre otras cosas, qui\u00e9nes eran los organizadores, que se pod\u00eda hacer en la hackathon, qu\u00e9 normas deb\u00edan seguirse y qu\u00e9 comidas se nos ofrecer\u00edan. Seguidamente subieron, una a una, las cinco empresas que hac\u00edan de esponsor del evento, a revelar cu\u00e1les eran los retos que propon\u00edan. Nuestro equipo, prestando atenci\u00f3n a los requisitos que se estaban exponiendo, pens\u00e1bamos que hab\u00eda algunos m\u00e1s o menos interesantes, y m\u00e1s o menos alineados con lo que consideramos que son nuestras habilidades. Por \u00faltimo, cuando Origen Studio propuso un reto centrado en constrayendo programming enseguida estuvimos de acuerdo en que era en lo que quer\u00edamos competir.<\/p>\n\n<p><br\/>El reto se subdivid\u00eda en tres partes. Las dos primeras se basaban en desarrollar un algoritmo de scheduling para asignar un conjunto de tareas de un pedido a diferentes m\u00e1quinas para ser ejecutadas. Hab\u00eda una lista de restricciones que contemplaban dependencias entre tareas, en qu\u00e9 m\u00e1quinas se pod\u00edan ejecutar, etc. que la soluci\u00f3n encontrada deb\u00eda cumplir. Este tipo de problema se asemeja mucho a los que los estudiantes de computaci\u00f3n de la FIB se encuentran en las pr\u00e1cticas de la asignatura L\u00f3gica en la Inform\u00e1tica (LI), donde se busca definir un conjunto de \u00e1tomos, variables y predicados que generan una f\u00f3rmula en CNF (Conjunctive Normal Form) donde, posteriormente, un SAT solver es capaz de encontrar una soluci\u00f3n, o determinar como insatisfactible.<\/p>\n\n<p><br\/>Usamos las herramientas que conocemos (Prolog) para crear una soluci\u00f3n al primer problema que encontraba la distribuci\u00f3n de tareas \u00f3ptima. En el segundo problema se hac\u00edan ciertas ampliaciones que imposibilitaban atacarle de la misma forma, ya que los casos eran exponencialmente m\u00e1s dif\u00edciles y encontrar el \u00f3ptimo era inviable. Aunque dedicamos ciertos esfuerzos obteniendo algunos progresos, finalmente no lo solucionamos del todo. En todo caso, el equipo pivot\u00f3 a tiempo para conseguir el tercer punto, que era realizar una visualizaci\u00f3n del resultado del algoritmo implementado, de forma que cualquier persona pudiera entender la asignaci\u00f3n propuesta. Creamos una simple aplicaci\u00f3n web que compilaba el programa Prolog con la entrada del problema, extra\u00eda el resultado, y lo devolv\u00eda al navegador para su visualizaci\u00f3n.<br\/>Finalmente presentamos nuestra soluci\u00f3n al jurado de la empresa que ofrec\u00eda el reto, quienes se sorprendieron de que us\u00e1ramos Prolog, ya que no lo conoc\u00edan. Despu\u00e9s de las presentaciones hablamos un rato y nos dieron algunas intuiciones de c\u00f3mo reducir la complejidad del segundo problema sacrificando que la soluci\u00f3n fuera \u00f3ptima, y nos recomendaron echar una mirada a las \u201cGoogle Optimization Tools\u201d para considerar una alternativa basada en IA y funciones heur\u00edsticas.<\/p>\n\n<p>\u00a1Para clausurar el evento, estamos contentos de haber ganado el premio, y de pr\u00f3ximamente recibir un par de gafas de realidad virtual que tenemos muchas ganas de probar! \u00a1Adem\u00e1s, nos han comunicado que tambi\u00e9n nos han otorgado el premio \u00abJosep Maria Rib\u00f3\u00bb a las Buenas Pr\u00e1cticas de Programaci\u00f3n!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En inLab FIB es habitual charlar y compartir an\u00e9cdotas con los compa\u00f1eros con los que compartes espacio de trabajo, aunque no siempre llegas a trabajar conjuntamente. La idea de colaborar en un mismo proyecto nos llev\u00f3 a apuntarnos a la hackathon HackEPS. As\u00ed que este pasado s\u00e1bado 26 de noviembre, nos levantamos temprano para ir [&hellip;]<\/p>\n","protected":false},"author":594,"featured_media":35463,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[495,494],"tags":[],"experteses":[],"class_list":["post-18247","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-premios"],"acf":[],"_links":{"self":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts\/18247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/users\/594"}],"replies":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/comments?post=18247"}],"version-history":[{"count":1,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts\/18247\/revisions"}],"predecessor-version":[{"id":18248,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts\/18247\/revisions\/18248"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/media\/35463"}],"wp:attachment":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/media?parent=18247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/categories?post=18247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/tags?post=18247"},{"taxonomy":"experteses","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/experteses?post=18247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}