An inLab team were awarded in HackEPS

An inLab team were awarded in HackEPS
Awarded:

In inLab FIB is common talking and sharing anecdotes with colleagues with whom you share workspace, although you not always have the chance to work together. The idea to collaborate in a same project led us to sign up to HackEPS hackathon.


So, last Saturday, November the 26th, we woke up very early to go altogether to the Superior Polytechnic School of Lleida, where a carefully organized event organized by Lleidahack youth association was waiting for us, and it had a participation of around160 people Between these people, we found some familiar faces: some HackUPC organizers that assisted searching for new ideas, surely they found them because during all the hackathon we were offered different activities, challenges and talks that contributed positively to this experience.
The event started with a presentation in an amphitheater where it was explained who were the organizers, what it can be done in the hackathon, which rules had to be followed and which food was offered. Following that, the five companies that sponsored the event stood up to the stage and revealed which were the challenges that they proposed. Our team thought, carefully listening to the requirements that were being exposed, that there were some that were more or less interesting and aligned to our abilities. Finally, when Origen Studio proposed a challenge centered in constraint programming, we instantly agreed that was the one we wanted to compete in.


The challenged was divided in three parts. The two first one were based in developing a scheduling algorithm to assign a set of tasks of a command to different machines to be executed. There was a list of restrictions that contemplated dependencies between tasks, which machines could be executed…, that the found solution had to achieve. This type of problem looks like the ones that FIB computation students find in the practices of the subject called Logics in Informatics (LI), where a set of atoms, variables and predicates that generate a CNF formula (Conjunctive Normal Form) are searched and after that a SAT solver is able to find a solution or determinate it as unsatisfactory.


We used the tools that we knew (PROLOG) to create a solution to the first problem that found the optimal distribution of tasks. In the second problem, certain extensions were made that made it impossible to tackle it the same way, because the cases were exponentially more difficult and finding the optimal case was unfeasible. Although we dedicated certain effort, obtaining some progress, finally we couldn’t solve it completely. In any case, the team pivoted in time to accomplish the third part, that was about doing a visualization of the implemented algorithm’s result, so any person could understand the proposed assignment. We created a simple web application that compiled the PROLOG program with the entrance of the problem, it extracted the result and it returned it to the browser to be visualized.
Finally, we presented our solution to the company’s jury that offered the challenge and they were impressed that we used PROLOG, because hey didn’t know anything about it. After the presentations, we talked some time and they gave us some hints about reducing the second problem’s complexity, even though it sacrificed efficiency and they recommended to us taking a look at “Google Optimization Tools” to consider an AI and heuristic functions based alternative.

To close the event, we were very happy winning the prize and receiving a pair of VR glasses that we eager trying! In addition, we were communicated that we also were awarded the ‘Josep Maria Ribó’ prize awarding the good practices in programming!