ITSA Programming Challenge Gordon Pace, Joseph Cordina & Sandro Spina (the judges) Organisers Sponsors Problem setting and judging
The Competition 48 hour programming competition. Prizes for lightning & normal submissions. Fair problem, accessible to all programmers. Judging criteria are to be objective.
The problem Write a program which: Given a number of Tetris-like pieces … Rotate them and move them around so as to … Pack them into as small a rectangle as the program can.
An example Input Output
The Teams 8 teams registered, 5 submitting lightning solutions, 6 submitting standard submissions.
Farm Squad 4 Richard Vella Mark Chircop William Borg Barthet Matthew Felice Pace
Forever Young Mario Gauci Karl Cassar “… 1.First you find the smallest area in which the shapes fit (ex. 4x4). 2.Then you try to place the shapes in that area 3.If they fit stop as you have found the smallest area possible (using this algorithm). 4.Otherwise store your result and try again with a larger area. To fit the shapes to the area we tried to fit the shape that fits best to the border. Then the border take would also include the outline of the border.”
HyperDonkeys Marco Muscat, Jonathan Caruana, Neville Grech, Stephen Fenech & Alan Cassar “All the shapes are queued in a random order and a placing algorithm will place them in the best way possible in that given order. The placing algorithm considers all rotations of every shape and places them on the top and right hand side of the first shape. To optimise the results the placing algorithm is placed in a genetic algorithm that alters and tries to optimise the order of the blocks, using crossovers and mutations that span over a number of generations.” “We used C# to code the solution.”
Team A Gaetano Caruana & Jimmy Borg “indunajna li kien difficli immens li niddecifraw u namlu hard coded sort of l-moves li jridu jsiru. Ghaldaqstant morna al AI technique.....Genetic Algorithm. Basikament ikollok popolzjaoni ta solutions u min dik l-popoluzjoni jkolli giex operations mutation u crossovers. Permezz ta dawn l-operations l-popolazjoni dejjem sort of timmatura u permezz ta’ hekk is-solution l-iktar fit tirbah. F’dan l-kaz l-iktar fit hija s-soluzjoni bl inqas area u bl izghar sides possibli”
Team1337 David Bailey & Ruth Schembri “We tried to place shapes on top of each other and fit them together by moving them around in a spiral and rotating all the time … but we had to change the idea drastically on Sunday” Used Borland Delphi “because of its ease of use but fast compiling and code execution”.
X3M Carmelo Ebejer & Chris Grech “We spent quite some time thinking of optimisations to reduce the complexity of the problem. After that, our main concern was choosing a suitable programming language. We chose C# over C, C++ or Pascal because of quicker development time.”
The Judging 10 preset problems. Available from the beginning but in encrypted form. Programs ranked according to size of the smallest bounding rectangle: best (smallest) 50 points, second 30 points, third 20 points, fourth 10 points and fifth 5 points. In case of overall tie, other rules were given but were not needed.
Judging Problem 07
Teams HyperDonkeys, Farm Squad 4 and X3M produced (almost) identical optimal layouts.
Judging Problem 07 Even if the other teams were rather creative. Team 1337 Team A Forever Young
Judging Problem 02
Teams X3M and Forever Young produced a(n almost identical) list of queuing Ls.
Judging Problem 02 Teams Team1337 and Team A were more creative.
Judging Problem 02 Teams Farm Squad 4 and HyperDonkeys managed to identify an optimal packing!
Judging Problem 10
Judging Problem 07 Teams HyperDonkeys, Farm Squad 4 and X3M all produced an optimal layout.
Judging Problem 07 Again, the other teams were rather creative. Team 1337 Team A Forever Young
But before the results, we will have a short Intermission
Sending ITSA Packing
Team x8 X3M 11x5 Team A 8x10 Forever Young 12x5 Farm Squad 4 3x18 HyperDonkeys 7x7
And now … the results!
Lightning Round 5 participating teams: Farm Squad 4 Forever Young HyperDonkeys Team A Team1337
Overall Results: Lightning Problem 1: 1. HyperDonkeys 2. Team A 3. Team Forever Young
Overall Results: Lightning Problem 2: 1. Farm Squad 4 2. Team A 3. Team1337
Overall Results: Lightning Problem 3: 1.Farm Squad 4 2.HyperDonkeys 3.Team A 4.Team1337
Overall Results: Lightning Problem 4: 1.Team A 2.HyperDonkeys 3.Team Forever Young
Overall Results: Lightning Problem 5: 1.Farm Squad 4 2.Team A 3.Team1337
Overall Results: Lightning Problem 6: 1.HyperDonkeys 2.Team A 3.Farm Squad 4 4.Team1337
Overall Results: Lightning Problem 7: 1.Farm Squad 4, HyperDonkeys 2.Team A 3.Forever Young 4.Team1337
Overall Results: Lightning Problem 8: 1.HyperDonkeys 2.Team A 3.Forever Young 4.Team1337
Overall Results: Lightning Problem 9: 1.Forever Young, Farm Squad 4, HyperDonkeys 2.Team A 3.Team1337
Overall Results: Lightning Problem 10: 1.Farm Squad 4, HyperDonkeys 2.Team A 3.Forever Young 4.Team1337
The Ranking
Lightning Results 5.Forever Young (130 points)
Lightning Results 4.Team1337 (150 points) 5.Forever Young (130 points)
Lightning Results 3.Team A (310 points) 4.Team1337 (150 points) 5.Forever Young (130 points)
Lightning Results 2.Farm Squad 4 (320 points) 3.Team A (310 points) 4.Team1337 (150 points) 5.Forever Young (130 points)
Lightning Results 1.HyperDonkeys (360 points) 2.Farm Squad 4 (320 points) 3.Team A (310 points) 4.Team1337 (150 points) 5.Forever Young (130 points)
Standard Submissions 6 participating teams: Farm Squad 4 Forever Young HyperDonkeys Team A Team1337 X3M
Overall Results: Standard Problem 1: 1.HyperDonkeys 2.Team A 3.X3M 4.Team Forever Young
Overall Results: Standard Problem 2: 1. Farm Squad 4, HyperDonkeys 2. Team A 3. X3M 4. Forever Young 5. Team1337
Overall Results: Standard Problem 3: 1.HyperDonkeys 2.Team A, X3M 3.Farm Squad 4 4.Forever Young 5.Team1337
Overall Results: Standard Problem 4: 1.HyperDonkeys 2.X3M 3.Team A 4.Team Forever Young
Overall Results: Standard Problem 5: 1.HyperDonkeys 2.X3M 3.Farm Squad 4 4.Team A 5.Forever Young 6.Team1337
Overall Results: Standard Problem 6: 1.HyperDonkeys, Team A, X3M 2.Farm Squad 4, Forever Young, Team1337
Overall Results: Standard Problem 7: 1.Farm Squad 4, HyperDonkeys, X3M 2.Team Forever Young 4.Team A
Overall Results: Standard Problem 8: 1.HyperDonkeys, X3M 2.Team Forever Young, Team A
Overall Results: Standard Problem 9: 1.Forever Young, Farm Squad 4, HyperDonkeys, X3M 2.Team A 3.Team1337
Overall Results: Standard Problem 10: 1.Farm Squad 4, HyperDonkeys, X3M 2.Team A 3.Team Forever Young
The Ranking
Final Results 6.Team1337 (160 points)
Final Results 5.Forever Young (165 points) 6.Team1337 (160 points)
Final Results 4.Team A (260 points) 5.Forever Young (165 points) 6.Team1337 (160 points)
Final Results 3.Farm Squad 4 (270 points) 4.Team A (260 points) 5.Forever Young (165 points) 6.Team1337 (160 points)
Final Results 2.X3M (370 points) 3.Farm Squad 4 (270 points) 4.Team A (260 points) 5.Forever Young (165 points) 6.Team1337 (160 points)
Final Results 1.HyperDonkeys (500 points) 2.X3M (370 points) 3.Farm Squad 4 (270 points) 4.Team A (260 points) 5.Forever Young (165 points) 6.Team1337 (160 points)
Winners First Place – Best Standard Submission (Lm100): HyperDonkeys Second Place – Runner Up Standard Submission (Lm75): X3M Best Lightning Submission (Lm50): HyperDonkeys
Prosit tal-programmi!