EGOI 2022
Etter to lange reisedager, to krevende konkurransedager og et ellers tettpakket program er EGOI 2022 ferdig og den norske delegasjonen tilbake fra en spennende uke i Tyrkia.
EGOI står for “European Girls Olympiad in Informatics”, og ble i år arrangert for 2. gang. I fjor var Sveits vert for konkurransen, som da ikke overraskende måtte bli avholdt online. I år fant altså konkurransen sted med fysisk oppmøte for første gang.
Vi ankom hotellet vårt rundt 04:00 på mandag den 17. oktober, etter en hektisk flytur som ikke gikk helt som planlagt. Mandag 07:30 får vi treffe guiden for det norske laget, Berrak Kavlakoğlu (uttales med stum g). Berrak ble altså blir lagets og delegasjonens høyre hånd gjennom hele uken. Det viste seg også at Berrak hadde en sterk interesse for norsk film og spesielt Joachim Von Trier (det var altså neppe helt tilfeldig at hun ble nettopp vår guide).
Mandag var heldigvis ikke en konkurransedag, men en treningsdag for å sjekke det tekniske rundt konkurransen. Det norske laget, Mina Heier og Marianna Haugvaldstad, fikk her testet maskinene de skulle jobbe med, samt konkurransemiljøet hvor man laster opp koden man har skrevet.
Mandag går dermed med til treningsrunde og en åpningsseremoni hvor vi blir introdusert til blant annet tradisjonell tyrkisk dans. Det norske laget får seg en tidlig kveld etter denne åpningsseremonien og får lade noe ut før konkurransen starter.
Tirsdag er første konkurransedag. Deltakerne får 5 timer til å løse 4 informatikkoppgaver. Oppgavene løses ved at man skriver kode som skal løse et gitt problem, som så blir kjørt på en maskin utenfor deltakerens kontroll. Når programmet kjøres blir det gitt veldig mange forskjellige scenarioer hvor det må regne ut riktig hver gang. Om det gjør en feil i ett spesifikt scenario, får man ikke poeng for å løse oppgaven. Noen oppgaver er delt inn i deloppgaver, hvor man kan få poeng for å løse hver enkelt delopggave (men her må altså alt løses riktig innad i den gjeldende delopgaven). Denne relativt kompliserte metoden å avgjøre om noe er riktig eller ikke er gjort for å forsikre så godt det lar seg gjøre at algoritmen deltakeren har implementert faktisk fungerer, uten å være avhengig av menneskelig sjekk. Løsningene sjekkes ikke av mennesker, man er dermed helt avhengig av at konkurrentene (1) klarer å se en algoritmisk løsning og (2) er teknisk flinke nok til å implementere den løsningen de har sett for seg under tidspress.
Den enkleste oppgaven for dag 1 var en telle-oppgave, hvor man må regne ut hvor mange anvendelser av en viss operasjon som kreves for å komme frem til et bestemt tall. Ved å forstå den mest effektive måten å gjennomføre operasjonen på, slik at man vet at man kommer frem til den optimale løsningen, kunne man få 22 av 100 poeng ved å simulere gjentatt anvendelse av operasjonen. Om man skal få flere poeng må man finne en måte å “implisitt” regne ut antallet optimale gjentagelser av operasjonen uten å faktisk gjennomføre operasjonene (i dette tilfellet klarer man å simulere 2^20
, altså ca. 10 millioner, gjentagelser av operasjonen før det blir for tregt for maskinen).
Etter en krevende konkurransedag har hele delegasjonen en ganske rolig dag. Onsdag er satt av til en ekskursjon, og fungerer dermed som en slags pausedag for laget. Vi dro på en imponerende båttur med Harem Maldiv hvor vi fikk se Antalyas kyst og spilt masse kortspill.
Andre og siste konkurransedag fant sted onsdag, og det norske laget gjorde det her ganske så skarpt. Marianne fikk poeng (altså at minste 1 deloppgave ble løst) på 2 av fire oppgaver, og Mina fikk poeng på alle oppgavene. Oppgaven fra dag 2 som er enklest å forklare er en oppgave hvor man har et uendelig stort sjakkbrett, og lurer på hvor mange trekk det tar for en “superbrikke” å bevege seg fra et vilkårlig punkt til et annet. Superbrikken kan gjøre trekkene til brikker fra sjakk, men på måter som ikke kombineres i sjakk. For eksempel kan en superbrikke ha egenskapen at den kan gjøre alle trekk som en løper kan, pluss alle trekk som en hest kan. Nøyaktig å regne ut hvordan en hest beveger seg på et uendelig stort sjakkbrett er det som er vanskeligst i denne oppgaven.
I én deloppgave blir man spurt hva som skjer om superbrikken kun kan bevege seg som en bonde: I dette tilfellet er det ganske lett å løse oppgaven. Om en brikke begynner i punktet (x,y)
på et uendelig sjakkbrett og skal nå punktet (z,t)
og kan kun bevege seg som en bonde, må (z,t)
ligge på en rett linje over (x,y)
. En bonde kan nemlig i ett trekk bevege seg fra en posisjon (a,b)
til (a+1,b)
, for et vilkårlig koordinat (a,b)
. Vi krever altså at z
er større eller lik x
, og at t
er lik y
. Om t
er ulik y
, eller z
mindre enn x
, er det umulig for en bonde å reise fra (x,y)
til (z,t)
. Om derimot de to kravene er innfridd vil bonden gjennomføre reisen på z - x
antall trekk.
I en annen deloppgave kan man alltid gjøre trekkene til en dronning og en springer (hest), og leseren utfordres til å løse denne oppgaven selv.
Fredag, etter andre konkurransedag, ble en lang ekskursjon gjennomført. Vi fikk sett noe av Antalya sentrum og et svært imponerende amfiteater i Aspendos, se bildet under. Teateret var av et imponerende mesterverk med en akustikk som undertegnede ikke trodde var mulig å få til i så store dimensjoner.
Lørdag ble en høytidelig avslutningsseremoni gjennomført hvor blant Hassan Mandal, lederen for det Tyrkiske forskningsrådet Tübitek, holdt innlegg.
Søndag klokken 02:10 tok vi buss til flyplassen i Antalya, og ankom gardermoen rundt 16:00.
Den fullstendige resultatlisten for konkurransen finnes her. Oppgaver og løsninger vil sannsynligvis bli offisielt publisert på den offisielle hjemmesiden til EGOI. Neste EGOI skal arrangeres i Lund, i Sverige, juli 2023. Norsk informatikkolympiade håper å kunne sende et sterkt lag også til denne neste konkurransen.