Akademickie Mistrzostwa Świata w Programowaniu - jak Wschód pokonał Zachód w bitwie umysłów nad Newą

Sankt Petersburg, symbol westernizacji Rosji, był na początku lipca świadkiem dominacji Wschodu. Podczas Akademickich Mistrzostwa Świata można było odnieść wrażenie, że bieguny informatycznego świata zamieniły się miejscami i najzdolniejsi programiści żyją w Eurazji. Dlaczego?

Siedzę na widowni w hali Jubileuszowego Pałacu Sportu i co chwila spoglądam na tablicę wyników. Na arenie, która w inne dni służy m.in. za lodowisko do hokeja, 120 drużyn, po 3 zawodników każda, rozwiązuje 11 trudnych zadań programistycznych. Zespoły mają 5 godzin na ich rozwiązanie - kto poradzi sobie najlepiej, ten wygra. Z napięciem śledzę wyniki polskich drużyn.

Nie mają łatwego zadania - w finałach znaleźli się "najlepsi z najlepszych". W tym roku do Akademickich Mistrzostw w Programowaniu (ICPC), organizowanych przez ACM i uniwersytet w Baylor oraz sponsorowanych przez IBM, startowało rekordowe 29,479 uczestników z 2,322 uniwersytetów z 91 krajów z 6 kontynentów. W wyniku regionalnej selekcji ostało się jedyne 120 drużyn.

Odpowiedź kryje się w kodzie

Uniwersytet Wrocławski - fot. Paweł Płaza

W tym roku tematem przewodnim zadań postawionych przed trzyosobowymi zespołami była, głośna ostatnio, kwestia Big Data. Uczestnicy musieli rozwiązać je przy użyciu własnoręcznie napisanych programów. Żeby nie było za łatwo, każdy zespół miał do dyspozycji tylko jeden komputer, a za błędne odpowiedzi otrzymywało się karne minuty. Nic więc dziwnego, że zespoły na początek brały te łatwiejsze zadania. Jak powiedział Marcin Andrychowicz z zespołu Uniwersytetu Warszawskiego:

Trudność zadań zależy głównie od dwóch czynników. Po pierwsze, jak długie jest rozwiązanie? Rozwiązanie tych prostszych mogło zmieścić się w nawet 20 wierszach kodu, tych trudniejszych zaś często wymagają kilkuset wierszy. Po drugie, czy zadania są standardowe, schematyczne, czy też wymagają pomysłu? Te pierwsze, dzięki treningom, wiele drużyn jest w stanie rozwiązać wręcz automatycznie. Rozwiązania tych drugich decydują o zwycięstwie.

Tym razem najtrudniejszym zadaniem okazało się zadanie G. Na czym polegało? Niezwykle upraszczając, drużyny miały za zadanie stworzenie programu, który pomógłby fikcyjnej firmie kartograficznej zmniejszyć ilość zużytego papieru podczas produkcji map (jak podano na przykładzie Teksasu, wystarczy lekko przesunąć obraz stanu, żeby jego mapa zmieściła się na 10 arkuszach papieru, a nie 14). Nikt tego zadania nie rozwiązał.

W ciągu pięciu godzin zmiany tablicy wyników potrafiły zaskoczyć niejednego. Jedną z drużyn, która sprawiła miłą niespodziankę, był zespół Uniwersytetu Jagiellońskiego. Krakowianom z początku nie szło najlepiej. Jak zdradził Jakub Adamek z zespołu:

Na początku mieliśmy problem z debugowaniem jednego zadania. Niestety, w kodzie znalazł się błąd, który trudno wyłapać.

Potem jednak się to zmieniło, dzięki czemu UJ zdobył 9 miejsce.

Dominacja Wschodu?

fot. aut. Randy Piland / ACM ICPC http://icpc.baylor.edu/icpcnews/photo/fot. aut. Randy Piland / ACM ICPC http://icpc.baylor.edu/icpcnews/photo/ fot. aut. Randy Piland / ACM ICPC http://icpc.baylor.edu/icpcnews/photo/ fot. aut. Randy Piland / ACM ICPC http://icpc.baylor.edu/icpcnews/photo/

Pierwsza 13.: 1. St. Petersburg ITMO (Rosja) 2. Shanghai Jiao Tong University (Chiny) 3. The University of Tokyo (Japonia) 4. National Taiwan University (Tajwan) 5. St. Petersburg State University (Rosja) 6. Uniwersytet Warszawski (Polska) 7. Taras Shevchenko Kiev National University (Ukraina) 8. Belarusian State University (Białoruś) 9. Uniwersytet Jagielloński (Polska) 10. Moscow State University (Rosja) 11. Carnegie Mellon University (USA) 12. Tsinghua University (Chiny) 13. Perm State University (Rosja) Miejsca 1-4 złote medale, miejsca 5-8 srebrne, 9-13 brązowe

Finalnie polskie drużyny poradziły sobie świetnie na zawodach - Uniwersytet Warszawski, w składzie trenera Jana Madeya i zawodników Marcina Andrychowicza, Macieja Klimeka i Tomasza Kociumaka, zajął 6 miejsce i zgarnął srebrny medal. Uniwersytet Jagielloński, z trenerem Pawłem Idziakiem i zawodnikami Jakubem Adamkiem, Grzegorzem Guśpielem i Jonaszem Pamułą, zdobył 9 miejsce i brązowy medal. Uniwersytet Wrocławski zaś, w składzie trenera Krzysztofa Lorysia i zawodników Anny Piekarskiej, Damiana Straszaka i Jakuba Tarnawskiego, zajął miejsce 34.

Świetny występ Polaków wpisywał się w szerszy trend na zawodach. Wystarczy spojrzeć na listę medalistów (z boku), żeby zrozumieć, o co chodzi. Najlepsza drużyna ze Stanów Zjednoczonych, z Carnegie Mellon University, zajęła dopiero 11 miejsce. Legendarny MIT zdobył miejsce 18. Jedyna drużyna niemiecka, z Ludwig-Maximilians Universität München, zajęła 32 miejsce. Najlepsza drużyna z Ameryki Łacińskiej, brazylijski Instituto Tecnológico de Aeronautica, to 42 miejsce.

Choć podział na Zachód i Wschód można uznać za sztuczny, krzywdzący i problematyczny (szczególnie, kiedy mówimy o nas samych - gdzie jest nam bliżej? Gonimy Zachodnią Europę, ale czy dogoniliśmy ją na tyle, by się do niej zaliczać? Czy może wciąż jesteśmy na pograniczu?), to mimo wszystko pewne różnice widać na pierwszy rzut oka. To na Zachodzie, szczególnie w Stanach, ulokowanych jest większość globalnych firm informatycznych. To tam rozpoczęła się rewolucja komputerowa i internetowa. To ich mieszkańcy korzystają z najnowszych gadżetów.

Tymczasem wschodni giganci IT skupiają się głównie na własnych krajach i są mniej widoczni na globalnym rynku. Trudno także myśleć o Chinach czy Rosji jako ojczyznach nieskrępowanego obiegu informacji, który wydaje się kluczowy w rozwoju nowoczesnych technologii. A mimo to właśnie Rosjanie, Chińczycy czy Białorusini znaleźli się wśród medalistów, podczas gdy Brytyjczycy czy Francuzi nawet się do finałów nie zakwalifikowali.

Gdzie tkwi sekret tej wschodniej dominacji? Doug Heitzman, dyrektor wykonawczy IBM zajmujący się m.in. tymi zawodami, stwierdził:

Jest kilka powodów ku temu. Studenci ze Stanów czy Kanady już teraz mają mnóstwo możliwości - prace wakacyjne czy staże w czołowych firmach IT. Biorą udział w zawodach, ponieważ jest to dobra zabawa i interesujące doświadczenie. Tymczasem drużyny z innych krajów mogą być bardziej skupione na tych konkretnych zawodach. Dla przykładu, jedna z chińskich drużyn rozwiązała w ramach treningu do ACM ICPC 3200 zestawów z problemami. Dla wielu drużyn z rynków wschodzących ICPC to okazja, żeby odmienić swoje życie - żeby być zauważonym.

Słowa Douga niejako potwierdzają doświadczenia ekipy z Uniwersytetu Warszawskiego. UW dwukrotnie zdobył puchar w tych zawodach - raz w 2003 roku, a raz w 2007 roku. Zawody z 2003 roku były szczególnie wyjątkowe. Jak opowiada prof. Jan Madey:

Mistrzostwa te śledzi nie tylko świat akademicki, ale także sama branża informatyczna. Widać to było szczególnie w 2003 roku. Zawody zostały wtedy zorganizowane w Beverly Hills, w hotelu, w którym, jak się złożyło, mieszkali aktorzy uczestniczący w ceremonii rozdania Oskarów. Dzięki temu mistrzostwa ACM ICPC cieszyły się nadspodziewanie wielkim zainteresowaniem prasy i zwycięstwo zespołu z Uniwersytetu Warszawskie wywołało niemałą sensację. To właśnie wtedy biznes amerykański zaczął rozumieć, że w Polsce znajdzie utalentowanych inżynierów i programistów.

Zawody są więc dowodem niezwykłych umiejętności i przez to okazją do silnej promocji. Ale czy to oznacza, że tylko zwycięzcy się liczą?

Wszyscy są zwycięzcami?

Tablica wyników - fot. Paweł PłazaTablica wyników - fot. Paweł Płaza Tablica wyników - fot. Paweł Płaza Tablica wyników - fot. Paweł Płaza

Jak mantrę powtarzano raz po raz, że w zawodach biorą udział najlepsi z najlepszych, "top of the top". I choć można to zrzucić na karb marketingowej nowomowy, to wiele wskazuje na to, że kryje się w tym sporo prawdy. Zdecydowana większość uczestników finałów ma już bowiem zagwarantowaną pracę lub karierę naukową. Sam IBM angażuje się w ACM ICPC głównie z tego właśnie powodu.

Gigant pragnie wyłuskać jak najwcześniej najlepiej rokujących studentów i skusić ich do pracy u siebie. Zatrudnianie najlepszych umysłów z całego świata przez amerykańską korporację - czy to nie brzmi jak klasyczny drenaż mózgów? Zapytałem o to Doug Heitzmana. Odpowiedział:

Wręcz przeciwnie. Mamy lokalne laboratoria i centra badawczo-rozwojowe na całym świecie. Staramy się promować i pomagać w rozwoju utalentowanych osób, które później będą pracować wewnątrz swoich krajów nad nowymi projektami. Dla przykładu, mamy laboratoria w Polsce i Rosji, które są wyłącznie obsadzone lokalnymi programistami.

Jak stwierdził, można wręcz mówić o przeciwnym trendzie, ponieważ często na zagraniczne placówki wysyłani są jedni z najlepszych inżynierów czy menadżerów IBM-u.

Co jednak, jeśli studenci nie zechcą pracować w IBM-ie? Dla przykładu, zawodnicy z UJ rozpoczęli staże czy pracę w Google. No i pozostają przecież jeszcze uniwersytety i studia. Na przykład Damian Straszak z Uniwersytetu Wrocławskiego pracuje teraz nad wyszukiwaniem w skompresowanych plikach wzorców (dzięki czemu, dla przykładu, wyszukiwarki będą mogły szukać żądanych słów w skompresowanych dokumentach bez potrzeby ich wcześniejszego rozpakowywania). Wielu ze studentów może się w całości poświęcić pracy badawczej.

Czy przez to zawody tracą dla IBM sens? Jak się okazuje, nabór pracowników to jedynie jeden z celów, którzy przyświeca mistrzostwom. Są jeszcze dwa - dopływ świeżej krwi do branży i zainspirowanie młodych uczniów do podjęcia kariery programistyczno-inżynierskiej. Szczególnie ten ostatni cel wydaje się niezwykle ważny, ponieważ w erze informacji popyt na adeptów nauk ścisłych będzie ciągle rósł.

Brzmi to szczególnie znajomo u nas, w Polsce. W końcu co rusz słyszymy, że firmy na już potrzebują programistów czy inżynierów, że za dużo mamy humanistów, a za mało ścisłowców. Zapytałem o to prof. Krzysztofa Diksa z Uniwersytetu Warszawskiego i prof. Pawła Idziaka, z Uniwersytetu Jagiellońskiego.

Prof. Paweł Idziak: Problem nie zaczyna się na poziomie uniwersytetów czy politechnik, tylko znacznie wcześniej. To są ciężkie studia, do których trzeba przygotowywać się latami. Niestety, u wielu potencjalnych studentów braki w wiedzy sięgają nawet programu szkoły podstawowej.
Prof. Krzysztof Diks: Problemem są także "moce przerobowe" uniwersytetów i politechnik. Jeśli chcemy kształcić rozsądnie, trzymać wysoki poziom, to sądzę, że my sami na UW nie jesteśmy w stanie przyjąć zbyt wielu dodatkowych studentów.

Wygląda więc na to, że choć polscy programiści radzą sobie naprawdę dobrze, to przez długi czas będzie ich za mało. To problem, z którym zmaga się branża na całym świecie.

Marzenia się spełniają

 

Sankt Petersburg skrywa mnóstwo tajemnic, a jedną z nich jest wyjątkowy budynek mieszkalny przezywany rotundą. Zbudowany jest na planie koła zamiast kwadratu - nietypowe, bo i znacznie kosztowniejsze. Ta nietuzinkowość przyciąga mieszkańców, którzy zamienili jego klatkę schodową w magiczną "klatkę życzeń". Ściany w całości pokrywają prośby o powodzenie w życiu czy spełnienie jakiegoś życzenia. Aż chciałoby się ulec magii tego miejsca i stwierdzić, że Rosjanie często tutaj ostatnio zaglądali, ponieważ w tym roku wszystko przebiegło po ich myśli.

Po pierwsze, to w Sankt Petersburgu odbywały się tegoroczne zawody (rok temu odbyły się na Uniwersytecie Warszawskim). Po drugie, zespół z ITMO, uniwersytetu-gospodarza, wygrał, i to w wielkim stylu - rozwiązał 10 z 11 zadań, wygrał drugi raz z rzędu i piąty w historii. Po trzecie, w TOP 10 znajdziemy jeszcze dwa inne zespoły z Rosji, a w TOP 20 będzie ich w sumie 7. Po czwarte, zawody w przyszłym roku odbędą się w Jekaterynburgu, na Uralskim Uniwersytecie Federalnym. Nie ulega więc wątpliwości, że w tym roku Rosjanie mają powód do świętowania.

Więcej o: