Thumbnail image

Sztuczna inteligencja przynosi zmiany w Olimpiadach

Zmiany w formule zawodów I stopnia Olimpiady Matematycznej Juniorów i Olimpiady Informatycznej Juniorów.

Spis treści

Przez sześć lat byłem członkiem Komitetu Głównego Olimpiady Informatycznej Juniorów. Zajmowałem się głównie proponowaniem zadań na zawody. Jednym z moich zadań było również (wspólnie z resztą Komitetu) rozstrzyganie o dyskwalifikacjach zawodników, których prace na zawodach pierwszego stopnia były niesamodzielne. Problem w ostatnich latach urósł, a wszystko za sprawą rozwoju sztucznej inteligencji. Myślę, że warto to przeanalizować i to właśnie robię w tym wpisie. Będzie również okazja do zaprezentowania naprawdę ładnego (choć nietrudnego) zadania z Olimpiady Matematycznej Juniorów.

(Miniaturka wygenerowana przez ChatGPT na zapytanie o potwora z zer i jedynek zjadającego symbole kojarzące się z matematyką i informatyką. Czat nie chciał wygenerować potwora zjadającego logo OIJ oraz logo OMJ.)

Zawody I stopnia Olimpiady Matematycznej i Olimpiady Informatycznej Juniorów

W tym wpisie skupię się na olimpiadach na szczeblu juniorskim (czyli kierowanych dla uczniów szkół podstawowych). Olimpiady typowo podzielone są na trzy etapy. Główna część etap pierwszego zwyczajowo odbywała się w domu: uczniowie przez około dwa miesiące mieli do rozwiązania kilka zadań, które samodzielnie rozwiązywali i wysyłali pocztą lub oddawali nauczycielowi (w przypadku matematyki) lub wysyłali przez internet (w przypadku informatyki). Poziom zadań na pierwszym etapie był raczej wysoki: uczniowie oswojeni z olimpiadami widzieli co prawda, że to raczej ten łatwiejszy sort zadań, ale dla w zasadzie wszystkich pozostałych zadania były zwykle bardzo trudne, bo zarówno prawdziwa matematyka jak i prawdziwa informatyka, do której zbliżają się olimpiady, bardzo różni się od tego, co prezentowane jest uczniom w szkole. W szkole na matematyce uczniowie próbują raczej coś obliczać niż udowadniać (nauczyciele dość często pomijają dowody nawet podstawowych twierdzeń, o czym pisałem tutaj), a na informatyce uczniowie próbują raczej obsługiwać programy komputerowe niż samodzielnie je tworzyć. Nieświadomych odsyłam do arkusza zadań z pierwszego etapu XX Olimpiady Matematycznej Juniorów, a poniżej zamieszczam przykładowe zadanie.

Przykładowe zadanie z I etapu XX OMJ.

Uczniowie też nie przywykli do nietypowego systemu oceniania na olimpiadach. Progi kwalifikacyjne zazwyczaj nie są wysokie, bo już początkowe zadania stawiają duży opór. Na olimpiadach nie ma zbyt wiele (jeżeli w ogóle) zadań, których celem jest, żeby uczeń się dobrze poczuł, że coś umie. Nawet najłatwiejsze zadania już różnicują poziom wiedzy i umiejętności zawodników.

Poziom zadań może być wysoki również dlatego, że uczniowie mają tak dużo czasu na rozwiązanie. Olimpiady to być może pierwsze zetknięcie z zadaniami, nad którymi myślenie rozciąga się na okres dłuższy niż kilka minut. W szkole, na sprawdzianie, na egzaminie ósmoklasisty a nawet na konkursie wojewódzkim jest bowiem tak, że albo uczeń potrafi zrobić zadanie w kilka minut albo nie robi tego zadania w ogóle. Zazwyczaj nie ma czasu, żeby poeksplorować ścieżki, które ostatecznie nie doprowadzą do rozwiązania i wycofać się ze złych pomysłów. Rzadko kiedy rozwiązanie zadania wymyśla się na spacerze czy pod prysznicem. Tak rozwiązane zadanie już się nie liczy, bo w szkole jest już “za późno”.

Niesamodzielność pracy uczniów kiedyś

Nietrudno się domyślić, że przy zerowym nadzorze oraz długim czasie trwania zawodów I stopnia, mogą pojawić się pewne nadużycia.

I rzeczywiście, te nadużycia pojawiały się i w czasach kiedy ja startowałem (dawno temu, to była trzecia edycja OMG oraz pierwsza i druga edycja OIG). W dobrych szkołach, w których starty w olimpiadach były czymś normalnym, oczywiście zdarzało się tak, że uczniowie świadomie lub nie dawali sobie subtelne wskazówki na przerwie. Indywidualne spotkania (twarzą w twarz lub online) między osobami żeby już wprost opowiedzieć sobie (lub wysłać sobie) rozwiązanie od początku do końca na pewno też były na porządku dziennym. Nie jest łatwo wykryć tego typu sytuacje po fakcie, na podstawie samych rozwiązań. Podejmowanie decyzji o dyskwalifikowaniu jest więc szalenie trudne. Zawodnik, który nie oszukiwał, a został oskarżony o oszustwo w mojej ocenie nie ma prawie żadnych narzędzi, żeby udowodnić swoją rację. Co może powiedzieć na to, że jego rozwiązanie jest podobne do rozwiązania jego kolegi? Może jest podobne dlatego, że ściągali od siebie, ale może to czysty przypadek, albo kwestia wspólnego uczenia się i zobaczenia tych samych wzorców w jakimś materiale w internecie? Dlatego komitety były w stanie łapać tylko część oszustów: zazwyczaj tych, którzy oszukiwali głupio i “dali się złapać”, na przykład wysyłając identyczne lub bardzo podobne rozwiązania.

Pewnym, choć tylko częściowym rozwiązaniem tego problemu jest to, że I etap ma nie tylko część domową, ale również szkolną. Uczniowie w szkole są pilnowani przez ich nauczycieli, którzy odpowiedzialni są za przeprowadzenie testu. Nadal nie jest to rozwiązanie idealne, ale jeżeli już nauczycielom nie moglibyśmy zaufać to nie wiem komu możemy. W założeniu to nauczyciele przeprowadzają egzaminy centralne, które (obok olimpiad) decydują o przyjęciu lub nie do dobrej szkoły i na dobrą uczelnię.

Wydaje mi się, że jeszcze kilka lat temu pojawiła się jeszcze jedna droga oszustwa, która nie była tak popularna kilkanaście lat temu: rodzice. Kiedyś myślałem, że zadania na olimpiadach (nawet juniorskich) są na tyle trudne, że zapracowani rodzice nie będą mieli chęci ani możliwości merytorycznych, żeby dzieci, dzięki im “pomocy” zyskiwały nieuczciwą przewagę. Zorientowałem się jednak, że rodzice są teraz dużo bardziej zaangażowani w edukację ich dzieci niż jeszcze kilkanaście lat temu i w kodach niektórych zawodników na OIJ zdarzało mi się (sporadycznie) widzieć konstrukcje, które są popularne raczej w szklanym wieżowcu korporacji niż w środowisku dzieci, które dopiero uczą się programowania. Oczywiście trudno jest udowodnić oszustwo w takiej sytuacji, a wszelkie wątpliwości należy rozstrzygać na korzyść zawodników, którzy prawie zawsze powiedzą, że to ich samodzielna praca. Zwracam po prostu uwagę, że znacznie zmienił się profil typowego rodzica zawodnika: w ciągu dosłownie kilkunastu lat od rodzica, który kocha swoje dziecko, ale dowiaduje się o jego sukcesie mniej więcej wtedy, gdy ten sukces już się pojawił, do rodzica, który wspólnie z dzieckiem na ten sukces pracuje. Na finale Olimpiady Informatycznej Juniorów prawie każdy zawodnik przyjechał ze swoim rodzicem. Gdy ja startowałem, każdy przyjeżdżał z nauczycielem. Czasami niektórzy rodzice byli w stanie przyjechać na galę finałową, gdy wiedzieli, że ich pociecha będzie odbierać medal. O tym, że problem jest realny przekonaliśmy się, gdy COVID-19 zabronił nam zorganizować normalnego Kangura.

Zdjęcie z finału XIX Olimpiady Informatycznej Juniorów. Dużo rodziców na sali. Zdjęcie pochodzi bezpośrednio ze strony OIJ. Fot. Daniel Olkowski.

Nowy problem: niesamodzielność z użyciem sztucznej inteligencji

W ostatnich latach pojawił się jeszcze jeden problem. Otóż kody programów zawodników na OIJ mogą być identyczne również wtedy, gdy ci zawodnicy nigdy ze sobą nie rozmawiali i nie wiedzą o swoim wzajemnym istnieniu. Dlaczego więc kody są identyczne? Na przykład dlatego, że oszukiwali z użyciem tego samego narzędzia: sztucznej inteligencji.

Byłem świadomy istnienia tych narzędzi jeszcze zanim stały się popularne. Pamiętam prezentację Jakuba Pachockiego (czołowa osoba w OpenAI, firmie odpowiedzialnej za ChatGPT), który podczas finału Potyczek Algorytmicznych pokazywał jak można wpisać do czata zapytanie “Wymyśl śmieszne zadanie o Bajtazarze i algorytmie Dijkstry.” i rzeczywiście dostać w pełni składną odpowiedź na temat. To było jakieś pięć lat temu, ale wtedy nie wymagaliśmy od sztucznej inteligencji poprawnych odpowiedzi na pytania, a czymś wielkim wydawało się, że w ogóle można prowadzić jakąkolwiek sensowną interakcję z komputerem używając naturalnego języka. Z drugiej strony, nie byłem świadomy jak szybko te narzędzia stały się zdolne pomagać oszukiwać w rozwiązywaniu trudniejszych zadań. Dobitnie pokazał mi to jeden uczeń na obozie, na którym uczył się programowania. Wziął PDF z treścią zadania programistycznego, zaznaczył wszystko, uczeń ów kod skopiował do schowka, wkleił do czata, nie bacząc nawet na jakikolwiek nagłówek, jakikolwiek wstęp, czy nawet zachowanie sensownego formatowania (w tym PDF-ie znajdowały się tabelki, które kompletnie się “rozjechały”) i wcisnął enter. Czat wyświetlił mu po prostu kod w Pythonie, który uczeń skopiował i wkleił do sprawdzaczki. Program zaliczył wszystkie testy. Następnie do czata napisał tylko trzy znaki “C++” i ponownie wcisnął enter. Czat wyświetlił mu analogiczny kod w C++, który ponownie bez szwanku zadziałał na sprawdzaczce. Dokładnie to samo dzieje się teraz dla nieco trudniejszych zadań, które pojawiają się na olimpiadach na poziomie juniorskim.

Ponownie, można by powiedzieć, że przecież możemy robić tak samo: wklejać zadania do popularnych czatów, dodawać wygenerowane kody do bazy na potrzeby automatycznego wyszukiwania izomorfizmów etc. Ale to walka z wiatrakami. Uczniowie mogą przecież poprosić czat o zmiany w kodzie, żeby zaciemnić ewentualne oszustwo. Mogą też nie pytać o kod, a o kluczowe idee potrzebne w rozwiązaniu zadania i samodzielnie je implementować lub prosić inny czat o pomoc i mieszać tak, że efekt końcowy będzie dość podobny do tego, który uzyskuje uczciwie pracujący uczeń. Ponownie, można złapać tylko najgłupszych oszustów, a im bardziej się będzie próbowało, tym więcej dostanie się przypadkowym niewinnym.

Jak olimpiady radzą sobie z nadużywaniem AI?

W tym roku zarówno OMJ jak i OIJ postanowiły zmienić formułę zawodów, aby zaadaptować się do zmian w świecie, które spowodowane zostały przez rozwój sztucznej inteligencji.

Na Olimpiadzie Matematycznej Juniorów znika całkowicie część domowa, a na Olimpiadzie Informatycznej część domowa zaczyna mieć marginalne znaczenie. W zamian, na OMJ pojawia się część zadaniowa realizowana w szkole (oprócz wcześniej istniejącego testu), a na OIJ pojawia się część praktyczna realizowana w szkole (oprócz wcześniej istniejącego testu i części domowej). Nowe części I etapu w obu konkursach mają bardzo dużą wagę w wyniku zawodnika, a więc można założyć, że będą decydujące dla kwalifikacji do kolejnego etapu.

Przykład z Olimpiady Matematycznej Juniorów

OMJ opublikowała przykładowy arkusz obrazujący jak może wyglądać część zadaniowa. Poniżej zamieszczam przykładowe zadanie, które bardzo mi się spodobało.

Rozstrzygnij czy istnieje taka liczba naturalna, której każda cyfra jest równa $2$ lub $6$ i która jest podzielna przez $4$.

Taka liczba nie istnieje. O podzielności przez $4$ decydują bowiem dwie ostatnie cyfry liczby. W przypadku, gdy druga od końca cyfra jest parzysta (a tylko takie cyfry mamy do dyspozycji), ostatnia cyfra powinna być równa $4$ lub $8$, żeby liczba była podzielna przez $4$. Istotnie, gdy przedostatnia cyfra jest parzysta mamy pełną liczbę dwudziestek, a więc reszta z dzielenia przez $4$ całej liczby będzie równa reszcie jaką daje ostatnia cyfra liczby. A ponieważ ani czwórek, ani ósemek nie mamy, to nie utworzymy liczby podzielnej przez $4$.

Bardzo podoba mi się to zadanie: odwołuje się do wiedzy, którą uczniowie podstawówek mają, wymaga dość prostej sztuczki i zrozumienia co się dzieje w zadaniu, ale jednak trzeba na coś wpaść: zadanie nie jest dane za darmo i jak najbardziej można go nie zrobić. A wniosek sam w sobie jest ciekawy i (mnie przynajmniej) zachęca do analizy innych zbiorów cyfr i podzielności przez inne liczby. Jeżeli takich zadań będzie więcej, może ta zmiana to szansa na zaangażowanie jeszcze większej liczby uczniów do udziału, bo takie zadania są o krok bliżej poziomu typowego ucznia niż zadania, które pojawiały się wcześniej na etapie korespondencyjnym.

Czy te zmiany wyjdą olimpiadom na dobre?

Te zmiany są niestety konieczne. Oszustwo jest zbyt łatwe i praktycznie niewykrywalne, a stawka zbyt wysoka, żeby założyć, że możemy apelować o uczciwość uczniów. Uczciwi po prostu przepadaliby stając w szranki z oszustami i lądując pod progiem, pod tymi, którzy po prostu użyli narzędzia, które rozwiązało za nich zadanie.

Na pewno widać jednak, że na tych zmianach olimpiady tracą pewną dużą wartość: nawet na tym najwyższym poziomie trzeba będzie teraz dobierać zadania tak, żeby dało się je zrobić w ciągu minut, zupełnie tak samo jak w szkole. Znika więc przestrzeń do prowadzenia głębokich rozważań, którą tak ceniłem w olimpiadach, a której bardzo brakuje w całym systemie szkolnym. Nie widzę jednak innego rozwiązania. Należy chyba pogodzić się z tym, że sztuczna inteligencja nie tylko nam coś daje, ale również zabiera.

Tura szkolna na Olimpiadzie Informatycznej Juniorów oczywiście będzie również stanowiła duże wyzwanie dla szkół. Obawiam się, że nie wszystkie szkoły wywiążą się należycie z zadania dostarczenia uczniom pracowni komputerowej, gdzie będzie przygotowane sensowne środowisko do pracy nad programowaniem. Spodziewam się, że organizatorzy są świadomi tego problemu i postarają się mu zaradzić na tyle na ile mogą, ale spodziewam się, że cokolwiek nie zrobią, i tak spadnie na nich krytyka.

Zmiany na poziomie licealnym

Olimpiada Informatyczna na poziomie licealnym również wprowadza turę szkolną do zawodów I stopnia, obok tury zdalnej. Zawodnicy będą rozwiązywali zadania w warunkach kontrolowanej samodzielności w ich szkołach. Tu również obawiam się wielu problemów technicznych związanych z przygotowaniem pracowni w szkołach. Oczywiście, można mówić, że w szkołach są organizowane matury, a tam też jest programowanie, ale nie jestem pewien czy w typowej szkole start uczniów w Olimpiadzie Informatycznej będzie traktowany równie poważnie jak przeprowadzenie egzaminu maturalnego. Obawiam się, że nie, ale mam nadzieję, że się mylę. Jest to o tyle ważne, że zachodzi ryzyko pogłębienia różnic sytuacji dobrego ucznia w dobrej szkole i dobrego ucznia w złej szkole. Już kiedyś tym w złych szkołach było trudno pokazać, że są dobrymi uczniami, a teraz być może będzie jeszcze trudniej.

Zaskoczyło mnie natomiast to, że Olimpiada Matematyczna nie zmieniła w żaden sposób swojej formuły. Czyżby czat nie doszedł jeszcze do tego poziomu, żeby być pomocnym w rozwiązywaniu zadań z matematyki na poziomie OM? Wkleiłem sobie przykładowe zadanie z OM do czata i śmiem wątpić, że czat nie jest pomocny. Nawet jeżeli wklejenie zadania do czata nie będzie dawało jeszcze od razu całego rozwiązania, tak czy siak uczciwy uczeń jest do tyłu względem tego, który może się wspomóc czatem, który podrzuci mu kilka pomysłów, które mogą zadziałać.

Podsumowanie

Olimpiady w ostatnich latach zostały zmuszone zmienić formułę zawodów I stopnia przez podniesienie poziomu sztucznej inteligencji. Moim zdaniem jest w tym pewna szkoda dla zawodników i samej szlachetnej idei olimpiad, ale nie było chyba innego wyjścia. A może było inne wyjście albo macie inne spojrzenie na to czy te zmiany są dobre? Co Wy, Czytelnicy, o tym myślicie?

Komentarze