Xxviii Internationella olympiaden i informatik. Japan är värd för International Informatics Olympiad

Den 2 september var Tsukuba (Japan) värd för öppningsceremonin för den 29:e internationella olympiaden i informatik (IOI). Mer än 900 deltagare från 85 länder i världen samlades på IOI-2018.

Presstjänst från Rysslands utbildningsministerium

Under 2018 representeras det ryska landslaget av fyra studenter:

  • Mikhail Anoprenko från St. Petersburg,
  • Ramazan Rakhmatullin från Republiken Tatarstan,
  • Vladimir Romanov och Yegor Lifar från Moskva.

Teamledare - A.V. Maleev, vicerektor för internationella program och tekniskt entreprenörskap, Moskvainstitutet för fysik och teknik.

Avslutningsceremonin för den 29:e internationella olympiaden i informatik kommer att hållas den 8 september.

Som referens

Den internationella olympiaden i informatik har hållits sedan 1989. Laget ska enligt reglerna inte ha fler än 4 deltagare. I landslaget brukar eleverna väljas ut utifrån resultaten från nationella tävlingar. I Ryssland bildas laget utifrån resultaten Allryska olympiaden i informatik och träningsläger.

Tävlingen går i två omgångar. Varje tur har fem timmar. Under denna tid måste du lösa och programmera tre algoritmiska uppgifter. Tävlingens resultat summeras i form av en individuell offset.

2017 vann det kombinerade laget av ryska skolbarn, bestående av 4 personer, 1 guld och 3 silvermedaljer.

I september tog ryska skolbarn med sig två guld- och två silvermedaljer från International Olympiad in Informatics IOI 2018 (International Olympiad in Informatics). Resultatet är inte dåligt, och det är inte förvånande: det här är inte första gången för våra lag. Ryssland är bland de fem bästa framgångsrika team med medaljernas antal och värde. IOI är toppen av Olympiadkedjan, som börjar med skolstadiet Allryska olympiaden. Hur det fungerar, vem och hur tar sig till toppen och hur Ryssland lyckades ta andraplatsen i det totala antalet guldmedaljer efter Kina, läs materialet på sajten.

Vad är sportprogrammering

Informatiksolympiaden för skolbarn är det första steget in i en värld av sportprogrammering. Dess största skillnad från den vanliga är att här måste du hitta en algoritm som är helt eller mest effektivt problemlösning, under en begränsad tid. Och, naturligtvis, att göra det bättre än rivaler.

"Under den tid det tar en vanlig programmerare att förstå ett problem, löser en sportprogrammerare det redan", kommenterar den tekniska koordinatorn för träningslägret före IOI 2018, huvuddomare programmeringsavgifter Moskva Workshops ICPC Oleg Khristenko.

Teknisk koordinator för träningslägret inför IOI 2018 Oleg Khristenko

Alexander Lomakin/

I konventionell programmering är effektiviteten i koden inte så kritisk, och uppgifterna är ofta vagt formulerade och föreslår den mycket "ungefärliga" lösningen. Inom sportprogrammering är uppgifter tvärtom matematiskt exakt formulerade, de har strikta gränser och många variabler.

Hur världen av sportprogrammering fungerar

En skolbarns väg till sportprogrammering börjar med stadierna av den allryska olympiaden för skolbarn: skola, kommunal, regional och final. Baserat på resultaten från Vseros och med hänsyn till andra meriter, väljer Utbildningsministeriets centrala ämnesmetodologiska kommission ut cirka 20 personer till landslaget som ska resa till den internationella olympiaden - IOI. Dessutom deltar skolbarn i All-Russian Team Programming Olympiad (VKOSHP) och i ett antal listade olympiader som Lomonosov Olympiad, Öppen Olympiad skolbarn inom programmering, "Kognitiva teknologier", "Technocup" och andra. Listolympiader är av tre nivåer. Av dessa ger endast den första antagning till vissa universitet utan prov eller 100 poäng i datavetenskap för USE. Olympiader på andra nivån ger 100 poäng i Unified State Examination, men bara på vissa universitet. Förmåner baserade på resultaten från olympiaderna på tredje nivån, bestämmer varje universitet sig själv.

Många fortsätter sin sportprogrammering som studenter. I den största tävlingen inom programmeringsolympiad för studenter - World Championship International Collegiate Programming Contest (ICPC) - deltar 50 000 studenter från hela världen i kvalificeringsstadierna varje år. Till skillnad från den allryska olympiaden och IOI, här tävlar killarna inte individuellt, utan som en del av lag om tre. Enligt ICPC:s regler hålls lokala tävlingar på universitet runt om i världen.

Utöver universitetstävlingarna finns populära onlinecommunities med vanliga tävlingar där deltagare i den individuella tävlingen tävlar om en plats i rankingen. Till exempel TopCoder eller den ryska plattformen Cofeforces.

Stora IT-företag arrangerar också sina mästerskap. Oftast föreslår de att lösa "ungefärliga" problem. Som regel har de ingen specifik lösning. Deltagare i dessa tävlingar måste utveckla en produkt som kommer närmast den ideala lösningen på detta problem. Vanligtvis hålls sådana tävlingar i flera kvalomgångar online, och i finalen samlas de bästa på en heltidsplattform.

Utflykt till historien

De första sportprogrammeringstävlingarna hölls bland studenter. ICPC Championship arrangerades första gången 1977 i Atlanta (USA). Det började som en tävling mellan fyra amerikanska universitet med stöd av ACM Association for Computing Machinery och först 1990 gick den internationellt.

Deltagare i det 13:e ACM Sports Programming Championship

Idén att anordna en tävling bland skolbarn vid UNESCOs tjugofjärde generalkonferens föreslogs av den bulgariske professorn Blagovest Sendov. I den bulgariska staden Pravets ägde den första olympiaden rum. Det deltog 46 deltagare från 13 länder. Värdlandet visade det bästa resultatet både individuellt och i lagställningen.

Sedan 1989 har den internationella olympiaden i informatik IOI hållits årligen. 1991 ägde tävlingen rum i Sovjetunionen, i Minsk, och efter det var Ryssland värd för IOI för enda gången - 2016. Delegater från hela världen möttes i Tatarstan, vid Kazans federala universitet. Då fick Ryssland, som värd, ställa upp för tävlingen inte ett, utan två lag på en gång - ett tävlade "i offset", det andra - "inte i offset". Våra skolbarn tog tre guld, fyra silver och ett brons och hamnade på andra plats efter Kina.

Det finns liten chans att Ryssland kommer att acceptera IOI igen, men det har förekommit sådana fall - Olympiaden hölls två gånger i Bulgarien och Grekland. Totalt var 28 länder värdar för olympiaden.

Hur IOI fungerar

Varje land skickar ett team på fyra studenter till IOI, som väljs av varje land. I Ryssland - enligt resultaten av slutskedet av den allryska olympiaden och beslutet av en särskild kommission från utbildningsministeriet. Tävlingarna hålls under två dagar. I var och en av dem får killarna fem timmar på sig att lösa tre algoritmiska problem. För att deltagarna ska vänja sig vid och sätta sig in i reglerna löser de dagen innan olympiadstarten en tvåtimmars provomgång med problem som är kända i förväg.

OS är igång engelska språket, men på begäran av deltagarna kan de också lägga en version på sitt modersmål i ett kuvert med en engelsk uppgift. Du kan lösa problemen med Olympiaden i något av de tre programmeringsspråken: C ++, Pascal eller Java. Varje uppgift kan "skickas in", det vill säga dess lösning kan skickas till systemet, maximalt 50 gånger. I systemet ser killarna omedelbart status på sin inlämning – om beslutet gick igenom eller inte. Programmet ger dem ett kort automatiskt svar om förekomsten av fel, och deltagarna kan rätta till dem. Antalet poäng som erhålls påverkas av hur problemet löses och hur mycket tid som läggs på det. Bland innovationerna i år finns nya rekommendationer för att skicka förtydligande frågor till uppgifter. Under tävlingen kan deltagaren be arrangörerna om ett förtydligande av problemet och få ett svar i formatet ”ja”, ”nej”, ”inga kommentarer”, ”svaret finns i problemformuleringen” eller ”ogiltig fråga”. Det innebär att frågan behöver omformuleras.

Samling av framtida deltagare i Olympiaden vid MIPT

IT Education Development Center MIPT

Förutom skolbarn går lagledaren, vice ledare (oftast tränare) och gäster till IOI. För alla medlemmar i delegationen, förutom medlemmarna i landslaget, meddelas en "karantän" från kvällen före den första omgången till dess slut, och från kvällen före den andra omgången till dess att den är avslutad. För närvarande kan de inte kontakta skolbarn, för på tröskeln till två omgångar visas delegaterna problemen med olympiaden för översättning till deltagarnas modersmål. Översättningen från den ryska delegationen användes av tio lag från andra länder i år. Förresten, översättningar av uppgifter till olika språk kan hittas på arrangörens webbplats.

Du kan inte kommunicera vare sig personligen eller via telefon, eller på sociala nätverk eller via e-post. Det är förbjudet att prata om uppgifter med dem som ännu inte sett dem, så att de inte förmedlar dem till deltagarna. Du kanske inte ens dyker upp på platser där lagmedlemmar bor under tävlingen. Vanligtvis hålls olympiaden antingen på universitet eller på utställningscenter, och barnen placeras på vandrarhem eller hotell separat från resten av delegationen.

Baserat på resultaten av att lösa problem, redan i slutet av Olympiaden, tilldelas hälften av deltagarna medaljer. Detta avslutar den officiella delen angående resultaten av IOI. Men många länder beräknar också sin rankning efter antalet och vikten av medaljer eller total poäng gjorda av alla lagmedlemmar. Rangordnad efter medaljer tyngsta vikten har antalet guldmedaljer i laget, sedan silver, och sedan brons. Det vill säga "två silver-två brons" blir lägre än "guld-tre brons".

Chefen för landslaget vid IOI 2018, MIPT vicerektor Alexei Maleev förklarar att förhållandet mellan medaljer hjälper till att bedöma fördelningen av styrkor mellan länder år för år. Och att jämföra antalet poäng förtydligar inte bilden: ”Det är svårt att jämföra resultaten med poäng, varje gång det kommer nya uppgifter. Om du ger enkla uppgifter, kommer i genomsnitt fler poäng att fås, om det är svårt - mindre.

Om olympiadens uppgifter

Problem för olympiaden föreslås till en särskild internationell jury av programmerare från olika länder. De bästa av dem väljs ut till Olympiaden. Organisationskommittén säger som regel inte i förväg hur mycket den kommer att betala för sådana uppgifter och om det överhuvudtaget kommer att bli det, allt detta bestäms privat.

Ett av problemen i den första omgången förbereddes av ryske Mikhail Pyaderkin, som själv var IOI-medaljör och tvåfaldig världsmästare i ICPC-teamstudentprogrammeringstävlingen. I sin uppgift fick eleverna skriva ett program som skulle placera gäster i ett rum i en viss ordning.

I varje uppgift på IOI tilldelas deluppgifter, för lösningen av vilka du kan få poäng, även om eleven inte klarade uppgiften i sin helhet. Oleg Khristenko talar om detta: "På IOI utvärderas lösningen av problemet i poäng från 0 till 100. Poängen tilldelas av systemet baserat på resultaten av att köra deltagarens program på tester. I normala problem är poängen för varje test "sant" eller "falskt". Full poäng ges för godkänd alla prov. För godkända vissa grupper av prov, vanligtvis motsvarande enklare deluppgifter, ges delpoäng.

En av deltagarna ryska laget- Egor Lifar - på träningslägret

IT Education Development Center MIPT

Samtidigt utvärderas de så kallade optimeringsuppgifterna olika: ”Där ger resultatet av att kontrollera uppgiften på varje enskilt test några poäng, till exempel från 1 till 100, och slutpoängen för uppgiften beräknas enligt till olika system: till exempel i vissa uppgifter är det lika med medelpoängen för alla tester, i vissa - den lägsta av alla. Det kan finnas andra system - allt beror på författarnas uppfinningsrikedom.

Khristenko noterade att uppgifterna på skolans internationella olympiad i informatik är mer varierande än hos studenten: "Det finns intressanta uppgifter med öppna tester, uppgifter om kodare-avkodare, när samma program för deltagaren måste fungera i två lägen."

Hur det var 2018

Den pågående olympiaden i Japan blev den trettionde. Den hölls i Tsukuba, en vetenskapsstad nära Tokyo, från 1 till 8 september 2018. Den deltog av 335 deltagare från 87 länder. Den absoluta vinnaren av årets IOI, medlem av det amerikanska laget Benjamin Qi, var den ende bland deltagarna i Olympiaden som bär titeln "Legendary Grandmaster" i en av de mest populära gemenskaperna av Olympiad-programmerare Codeforces. Det betyder att han är en av 19 programmerare som har fått mer än 3000 poäng på Codeforces i vanliga tävlingar. Nu är Benjamin Qi åttonde i den här rankingen.

Det ryska laget inkluderade en examen från den omfattande internatskolan "Lyceum uppkallad efter N.I. Lobachevsky" KFU Ramazan Rakhmatullin, 11-klassare på Moskvas internatskola uppkallad efter A.N. Kolmogorov Moscow State University uppkallad efter M.V. Lomonosov Vladimir Romanov, en examen från St. Petersburg "Presidential Physics and Mathematics Lyceum No. 239" Mikhail Anoprenko, såväl som den yngsta medlemmen i laget - en niondeklassare från Moskvaskolan "Intellectual" Yegor Lifar.

"För att lösa ett problem måste du uppfinna rätt algoritm, samt korrekt och korrekt implementera den i programmet. Båda stegen är viktiga: utan att känna till algoritmen kan du inte skriva ett program, men utan programmeringskunskaper kommer inte ens en briljant idé i sig själv att ge poäng. I vissa problem är det svårare att komma på en lösning än att skriva ett program senare, och i vissa är det tvärtom: idén om en lösning finns på ytan, men mycket kod behövs. I problemen med förra årets olympiad var det mycket svårare att hitta på rätt idé än att skriva kod. I år skiftade balansen något mot implementering, att skriva stora program, men det var inte heller lätt att komma till idén om en lösning. Vi gissade bra med kvalet. Det fanns flera problem vid urvalet, liknande de som hamnade på Mezhnar, "sade Mikhail Tikhomirov, en av lagets tränare, finalist i de prestigefyllda individuella tävlingarna i sportprogrammering Topcoder Open och Russian Code Cup, tränare för Moscow Workshops ICPC och ICPC-mästarlag. . Förutom honom tränades laget av ICPC-medaljören, tränare för sexfaldiga ICPC-mästare, domare för All-Russian Olympiad in Informatics Andrei Stankevich. Tidigare, under många år, tränades laget av Vladimir Kiryukhin, han överlämnade det nyligen till en ny generation.

Hur gjorde sig killarna redo?

Innan de kommer till träningslägret före IOI går skolbarn igenom fyra steg av den allryska olympiaden för skolbarn: skola, kommunal, två omgångar av den regionala och två omgångar av finalen. Dessutom deltar de i två profilskiften utbildningscentrum Sirius: vinnare tränades där i mars regionala scenen Vserosa till sista etappen, i juni - pristagare och vinnare av sista etappen till den internationella olympiaden. Då kommer 20 deltagare, utvalda av CPMK, till träningslägret som i år arrangerades för första gången av Phystech.

"Jag deltog i uttagningarna till landslaget mycket, ungefär fyra gånger, det här är fler än resten," sa Ramazan Rakhmatullin. "Jag ville verkligen vinna, men först och främst ville jag komma in i landslaget, vinna senare."

För att förbereda skolbarn för IOI, anordnar MIPT även Moscow Workshops Juniors camp (Winter Computer School), där skolbarn från olika länder kan studera datavetenskap och förbereda sig för Olympiaden. Tre av de fyra deltagarna i det ryska laget i år, hela laget från Vitryssland och Kazakstan, samt en medlem av det grekiska laget tränade på detta läger.

Skolbarn förberedde sig genom att lösa uppgifter i tio tävlingssteg, varav fyra var kvalificerande och de återstående sex bestod av uppgifter från tidigare år.

Lagsamling på MIPT

IT Education Development Center MIPT

Olympiadresultat: vi och dem

I år delades ut 167 deltagare av 335. 29 guldmedaljer delades ut till dem som fick 336 poäng eller mer, 55 silvermedaljer till dem vars resultat översteg 272 poäng och 83 bronsmedaljer till dem som övervann gränsen på 187 poäng.

Bland deltagarna fanns de som inte löst ett enda problem. Men vinnaren av IOI, Benjamin Qi, löste fyra av sex problem för de maximala 100 poängen och fick totalt 499 poäng av de maximala 600. I år lyckades vi för första gången vinna två georgiska guldmedaljer, hittills detta bästa resultat länder genom föreställningarnas historia. Vitryssland presterade bra i medaljställningen och vann två guld- och två silvermedaljer. Tack vare detta, i lagställningen, delade de 4-5:e plats med Ryssland. Från 2006 till 2012 tävlade den legendariske olympiern Gennady Korotkevich från Gomel för Vitryssland, vilket under många år gjorde landet till en av ledarna för IOI. Korotkevich var absolut vinnare IOI tre gånger - från 2009 till 2011, tog guld tre gånger till och silver en gång.

Det är märkligt att för första gången i IOI:s historia, presterade det andra laget i värdlandet (i år Japan), som landet kan delta i för tävling utanför konkurrensen, bättre än det första - både i poäng och i medaljer: ett guld, två silver och ett brons mot ett guld, ett silver och två brons.

I vårt lag fördelades platserna och medaljerna enligt följande:

Ramazan Rakhmatullin - 11:e plats (guld),

Vladimir Romanov - 20:e-21:a plats (guld),

Mikhail Anoprenko - 33-36:e plats (silver),

Egor Lifar - 60-64:e plats (silver).

– Killarna gjorde det bra. Men det finns något att förbättra, - sa Mikhail Tikhomirov. – Någon var bra på att komma på idéer, men dålig på att skriva snygg kod. Och för vissa är det tvärtom. Allt måste vara bra. Två av killarna har några år till på sig att delta i IOI, och nu förstår vi ännu bättre vad vi ska göra med dem.”

Bonusar

Vinnare av slutskedet av den allryska olympiaden för skolbarn går in i universitet utan examen och kan få ett stipendium under presidentbidraget - 20 tusen rubel i månaden under hela tiden för sina studier vid universitetet, förutsatt att de efter examen arbetar i Ryssland i tre år. Universiteten uppmuntrar i regel också medaljörer med nominella stipendier.

För segern vid olympiaderna uppmuntrar myndigheterna i varje region sina skolbarn på sitt eget sätt. Sant, det finns en partiskhet här: Muskoviter för guldmedalj ge en miljon rubel, andra regioner har inte råd med det. Men var och en av dem försöker stödja sina starkaste killar.

Resultat från olika länder på IOI

Från år till år är Kina, USA, Republiken Korea, Iran och Ryssland kvar bland ledarna för den internationella olympiaden.

Tabell med resultaten från ryska lag under de senaste 5 åren och jämförelse med andra länder

år, platsDeltagare från RysslandDeras poängPristagare och Ryssland
2018, Tsukuba, JapanRamazan Rakhmatullin383 1. Kina
Vladimir Romanov353 2. Republiken Korea
Mikhail Anoprenko326 3. USA
Egor Lifar294 4-5. Ryssland och Vitryssland
2017, Teheran, IranVladimir Romanov373 1. Japan
Denis Shpakovsky350 2. Kina
Egor Lifar310 3. Ryssland
Alexandra Drozdova275
2016 (Kazan, RF)Vladislav Makeev557 1. Kina
Mikhail Putilin531 2. Ryssland
Grigory Reznikov432 3. Iran
Stanislav Naumov370
Denis Solonkov390
Alexandra Drozdova363
Mikhail Anoprenko335
Askhat Sakhabiev312
2015, Alma-Ata, KazakstanMikhail Ipatov561 1-4. Sydkorea, Kina, Ryssland, USA
Vladislav Makeev505
Mikhail Putilin498
Nikolai Budin335
2014, Taipei, TaiwanNikolai Kalinin556 1-2. Kina, USA
Nikolai Sivukhin454 3-5. Australien, Ryssland, Iran
Konstantin Semenov388
Nikita Uvarov365

Sett till antalet IOI-guld ligger Ryssland på andra plats efter Kina, före USA, Polen och Republiken Korea.

På studenttävlingarna i sportprogrammering ICPC är listan över ledande länder liknande, men Ryssland ligger redan långt före andra länder. Sedan 2000 har ryska studenter vunnit 32 guldmedaljer vid ICPC. Som jämförelse: studenter från Kina belönades med guld endast 13 gånger under denna period, europeiska deltagare exklusive Ryssland - 11, USA - endast 6.

Det verkar konstigt: på studentolympiader presterar våra killar mycket bättre, vad är det med skoltävlingar? Alexey Maleev menar att hela poängen är skillnaden i utbildningssystemet och bristen på personal i undervisningsmiljön. "Klyftan i nivån på undervisning i datavetenskap i ryska skolor är enorm. Moskva sätter ibland 70 personer på Sista etappen Vserosa, men det finns regioner från vilka inte ens en person kan skickas. Men även skolbarn i Moskva får ibland inte en lärare som kan dra dem till det absoluta mästerskapet i världen”, förklarar han.

Han förklarade också att det finns en mycket stark universitetsgemenskap i Ryssland, och att många studentutbildningar genomförs gemensamt. Det finns internationella tävlingar för sportprogrammering Moscow Workshops ICPC. Starka tränare från olika universitet, vars namn är välkända för alla, åker på träningsläger i olika städer och utbildar studenter. Och det har inte skolbarn. För det mesta förbereder de sig lokalt i sin stad, på sin skola. Och här beror allt på om du har tur eller inte med läraren.

"Vi måste ge skolbarn från alla hörn av Ryssland möjligheten att lära av de starkaste lärarna. Och parallellt att förbereda starka tränare, att locka de bästa specialisterna från branschen till undervisning. Detta kommer inte bara att göra det möjligt att bli de absoluta ledarna för IOI, utan kommer också att hjälpa utvecklingen av IT-branschen i vårt land i framtiden”, avslutade Maleev.

International Olympiad in Informatics (IOI) är en årlig datavetenskapstävling för skolbarn. IOI hölls första gången 1989. Den har sin egen flagga med IOI-logotypen och den officiella webbplatsen http://ioinformatics.org. Olympiaden har en egen vetenskaplig och praktisk konferens och en vetenskaplig tidskrift som ingår i den internationella abstraktsdatabasen Scopus.

IOI är en av de internationella naturvetenskapsolympiaderna för skolbarn, som också hålls årligen inom matematik, fysik, kemi, biologi, astronomi och geografi. Ryska skolbarn deltar i alla dessa olympiader varje år.

Idén om att lansera en internationell olympiad i informatik för skolbarn föreslogs vid den tjugofjärde generalkonferensen för FN:s organisation för utbildning, vetenskap och kultur (UNESCO) av Bulgariens representant, professor Blagovest Sendov i oktober 1987. maj 1989 UNESCO initierade och sponsrade den första internationella olympiaden i informatik (IOI). Den första IOI ägde rum i Bulgarien 1989.

IOI hålls i ett av de deltagande länderna. En ansökan från ett land accepteras 4 år före Olympiaden. Olympiaden hålls i slutet av sommaren och pågår i 7 dagar. Förutom två dagar för tävlingsomgångarna inkluderar resten ankomsten av delegationer, ett utflyktsprogram, utbildningsevenemang samt högtidliga öppnings- och avslutningsceremonier av olympiaden.

Från varje land deltar IOI av ett team på fyra studenter, en ledare och en biträdande ledare för teamet. Alla lagledare är medlemmar i IOI:s generalförsamling. Totalt deltar för närvarande mer än 300 skolbarn i olympiaden årligen, och sammansättningen expanderar med nya länder.

Skolbarn deltar i tävlingen individuellt vid datorn, enligt de totala poängen för två omgångar av tävlingen byggs betyget för deltagarna i Olympiaden. Alla deltagares datorarbetsplatser har samma utrustning. Varje omgång innehåller tre algoritmiska uppgifter, vars lösning ska presenteras på en dator i tävlingssystemet. Lösningen av varje uppgift innefattar problemanalys, utveckling av algoritmer och datastrukturer, utveckling och testning av program.

IOI-vinnare tilldelas guldmedaljer och bestäms bland de första i betyget av deltagare, men inte mer än 8% av den deklarerade sammansättningen. Den första rankade är absolut mästare världen och belönas med ett speciellt IOI-pris. Guldmedaljörer erkänns av alla länder i världen som de bästa unga specialisterna inom datavetenskap. De näst rankade deltagarna tilldelas silver- och bronsmedaljer enligt kvot. Totalt tilldelas hälften av IOI-deltagarna medaljer.