Monday, February 8, 2010

The legend of Georgian ACM movement

The acronym "ACM" stands for the Association for Computing Machinery, which conducts the annual ACM International Collegiate Programming Contest, or simply ACM ICPC. This competition is widely recognized as the world championship, and its rules, possibly with mild alterations, are often used in other programming contests.

In general, the ACM rules suggest the following. The teams composed of one to three persons are provided with a set of mathematically-oriented problems and should code the solutions in one of the available languages. Upon writing the code, a team sends it to the server for evaluation on a set of testcases. Now, if the solution outputs the right answers in the time allotted and does not misperform in any way, the problem is marked as solved. Otherwise, the submission is rejected. Finally, the teams are ranked by the number of solved problems and by "penalty time" in case of ties, the latter depending on the number of wrong tries and solving time for each solved problem.

The contests which use the ACM rules are often referred to as ACM-style contests, and since they comprise the majority of the contests around, our whole activity can be called "The ACM movement".

I'm not sure about the exact birthdate of Georgian ACM movement but it's possibly around year 1999, when Tbilisi State University team participated in NEERC (the ACM ICPC semifinals region where Georgian teams participate) for the first time. For the next four years, the results have been stable but middling. The breakthrough came in 2004, when the TSU team, comprised of Nika Jimsheleishvili, Irakli Khomeriki and Revaz Khurtsilava, was just a problem away from the finals. Nika soon became the leader amongst domestic participants and his team fought every year to advance to the Finals. After a couple of line-up changes, the team Triumvirate with Nika, Giorgi Lekveishvili and me finally made it in 2008/2009 season.

You probably recognize all the names in the previous paragraph. There are several other people also worth mentioning when speaking about Georgian ACM movement, but this time I'd like to focus on one person instead. The person from whom I learned a lot in my olympic youth. The person who brought a lot into Georgian olympiads but never got the deserved credits. So, may I introduce the concealed legend of Georgian ACM movement - Davit Rachvelishvili aka rachvela.


I'll recall some of Davit's accomplishments, just to show you the whole picture. First of all, Davit was the first Georgian competitor on Topcoder and it was him who familiarized the rest of us with this truly helpful community. One can hardly overestimate the bonuses of Topcoder, including editorials and regular SRMs (which were far more regular in those distant times).
Davit also was the first of us to discover some algorithmic concepts which are extensively used in the contests nowadays - for instance, minimum cost maximum flow and fenwick trees.
Moreover, Davit was always willing to share his knowledge and help the fellow colleagues. Davit's easy temper and spiteless attitude were the perfect qualities for this. Sounds like an extract from a reference letter? Yep, but still maximally close to the truth ;)

Now let me tell about rachvela's way.

Chapter 1. The early years.
One might think that succeeding in programming, especially at the olympiads, is impossible without serious math and computer background from the very childhood. Now I'm telling you it's possible, since I have an example right before my eyes.
Davit never studied in a math-oriented school. He didn't bother studying at the normal one, either. Instead, he spent his adolescence breakdancing and hip-hopping (if you got the impression that he never went to school, that's false, he formally did). He still raps his self-written song from time to time, but his breaking will never be the same :D


Chapter 2. Engaging into olympiads.
When I was in eleventh grade, which was the final year in Georgian schools back in those times, I've set myself an objective of making it to the Georgian IOI team that year. So I worked hard and tried to participate in every contest that I found out about. UVA online judge hosted plenty of contests and I competed in the most of them. That was where I first encountered Davit. Soon, we also met at forum.ge and communicated this way for a long time. Davit was a freshman at Tbilisi State University and studied programming as diligently as me.

Now it's time for you to ask, hey, how did the break-boy leave the streets and find the aspiration for programming? Well, my friends, I doubt that there was any magic involved. Davit just grew up and found the occupation that was profitable, perspective and - the last but not the least - the occupation he liked. And once he found it, he did not stand back because of lack of knowledge or anything - he believed he's capable and he was going for it.


By the time when I joined TSU in 2005 (after failing the IOI team selection contests), Davit already was the leader of the university's second team. I also got on this team in early 2006 and we have competed together for several months, but had to break up before the start of the new season, since Davit went to the first team alongside Nika Jimsheleishvili and Giorgi Lekveishvili.

Chapter 3. The years of fame.
The first olympiad in which the new-formed first team took part was the All-Ukrainian Open Olympiad in Vinnytsia. This trip brought them the bronze medals of Ukrainian championship.

The next, and main, competition was NEERC 2006. We all pinned high hopes on the first team and believed it would advance to the Finals this time. Unfortunately, due to a malfunction of their machine (which was not properly compensated by the judges!) they lost a significant amount of time (and determination, I guess) and eventually finished 15 places behind the advancers.


The same team earned the first degree diplomas at the first Vekua Cup in April 2007. Davit was also granted the third degree diploma in the individual competition.

The last event where this team participated was KPI Open. The site stubbornly doesn't show the results for years before 2008, so I have to rely on my poor memory, which tells me that the boys took the third place then.


Since Nika had decided to skip the 2007/2008 ACM season, the teams reorganized again. Davit and Giorgi resurrected Irakli Khomeriki and began another advance-to-finals campaign. It was Davit's final year in baccalaureate and he wasn't going to pursue the Masters right away, so it was also his last chance to participate in ACM (because there also is a restriction on age and he would outgrow it). The team prepared thoroughly and was highly determined. However, eventually it all went completely wrong. Some really lame mistakes kept the first team well under the advancers zone. For Davit, the ACM Finals would remain a distant dream.

After the described events Davit quit programming contests, graduated from the university and fully concentrated on the job. We rarely heard of him in the course of the year and everybody, including him I think, thought his olympic career was over...

Chapter 4. The return of the Jedi.
...but we all were wrong. After having a year-long break, Davit entered The Georgian University of Saint Andrew the First-Called and, maybe inspired by Triumvirate finally advancing to the Finals and earning the Bronze medals, maybe just following the calling inside him, returned to the world of olympiads with all the diligence he had before.

The fortune did not turn its back on Davit, and he was granted permission to participate in ACM ICPC for one last season (the rules concerning the age were softened). His teammates were Avto Rukhadze, quite an experienced contestant, and Tornike Benidze, a debutant in ACM competitions. Hoping to advance to the Finals from NEERC in this situation would be barefaced impudence (those of you who ever took part in NEERC should understand). So the real fight was for the title of Champion of Georgia.

There were at least two teams from Tbilisi State University which were ought to beat Davit's in the domestic run - Tbilisi SU1 with ACM ICPC and IOI bronze medalist Giorgi Lekveishvili and IOI medalists Giorgi Nadiradze and Davit Tvalchrelidze, and Tbilisi SU2 composed of Giorgi Saghinadze, Andrew Lutsenko and Akaki Mamageishvili - this was their third successive season as a team, and they were quite serried.

But Davit managed to surprise us all. In a difficult contest, he managed to get the team on the top of Georgian teams ranklist, thereby finishing his ACM ICPC performances with the domestic Champion title and the head held high. An interesting thing is that both TSU teams named above lost to Tbilisi SU3 comprised of first-year students Zurab Kutsia, Nika Gabisonia and Beka Barbakadze. It's nice that the youth still keeps coming :)

Chapter 5. Epilogue.
So, I told you the story of Davit Rachvelishvili, one of the key figures in Georgian ACM movement evolution. You might ask me, what is he doing now?

Davit works as developer at JSC Georgian Card, where he performs stuff of all different sorts. He keeps claiming that Java is not an inch slower than C++, loves the Twilight Saga and still does not listen to metal.

Recently, Davit married his beloved Teo. You can look at the picture of the happy couple :)


And finally, even though ACM ICPC is definitely in the past, there are many other contests worth winning. And Davit knows that :) He still battles on Topcoder and is going to kick some asses at the next Google Code Jam. Moreover, Davit, Giorgi Lekveishvili and me are going to participate in Challenge 24 as Narwhals. Should be fun :)

7 comments:

giolekva said...

Cool, it was really fun to read this story even I'm in very close touch with Davit.

I love u guys, we'll kick everyone's asses in Challenge24 ;)

DaTval said...

http://en.wikipedia.org/wiki/Rachvela
elodeba es misamarti am statias :D

Quick said...

Dude, this is awesome :D
Can't wait for next post about another "concealed legend" :D

Unknown said...

Very cool article !!!
Also wait for next post about another Legend !!!!

Arman Suleimenov said...

Great story! Is the person on the left on the 3rd picture from the top (sorry for wordiness http://bit.ly/au3IRP :P) Rustem Arzymbetov?

Eldar said...

Thanks for the comments :)

This is not meant to be some sort of series, so I doubt I'll write any more stories like this in the near future :)

Arman, this photo is taken in 2005 at summer training sessions somewhere in Russia. I haven't been there myself. Maybe Davit remembers him :)

Zhanibek Datbayev aka Tomato said...

That is rustem :)