Imponerande kodning av LearningWells stipendiater

LearningWells gymnasiestipendium 2022 är utdelat och i stenhård konkurrens föll juryns val till sist på Alexander Karpov och Albin Blomqvists avancerade gymnasiearbete som tydligt visar på den artificiella intelligensens förmåga att lära sig olika saker, bland annat spel.

– Det känns väldigt roligt att få stipendiet men inte helt förväntat. Vi tyckte exempelvis att Hannes Lundåsen och Arvid Sivertuns självsorterande soptunna med den tydliga miljökopplingen också var bra, säger de båda stipendiaterna.

Vi träffas på LearningWells kontor i Nyköping. Erik Ytterberg, systemutvecklare på LW som granskat naturvetarnas kod-relaterade gymnasiearbeten på Nyköpings Enskilda Gymnasium, är imponerad. Årets arbeten är på en betydligt högre nivå än förväntat, därför har han även bjudit in gänget bakom den självsorterande soptunnan, samt Klas Widebäck som i sitt gymnasiearbete utvecklat ett plattformsspel.

Om stipendiet

LearningWell vill uppmuntra fler elever att våga utforska sina intressen inom it. Därför delar vi ut stipendium till framstående gymnasiearbeten inom programmering och mjukvaruutveckling på Nyköpings Enskilda Gymnasium.

Att gymnasiearbetet skulle innehålla någon form av AI var givet för de båda stipendiaterna.
Alexander Karpov har alltid varit intresserad av programmering, och även av matte och algoritmer. Hos Albin Blomqvist var det en nyfikenhet på hur man kan implementera AI i ett spel och hur det rör sig, som blev avgörande.

– Arbetet håller en mycket hög nivå, och jag har fått kolla mycket fakta för att se hur de använt kod. Det finns en detaljerad implementation i grundtekniken och de har fokuserat på detaljerna. Det är mer än jag väntat mig och baserat på vårt företags värderingar (nyfikenhet, ärlighet och personlighet) stack detta ut lite extra, säger Erik Ytterberg som studerat deras kod på GitHub.

Från vänster, Alexander Karpov, Klas Widebäck, Albin Blomqvist, Hannes Lundåsen och Erik Ytterberg.

Vad är det för spel?

– Vi har kombinerat programmering med maskininlärning och implementerat artificiell intelligens i ett två-dimensionellt spel.

Kan ni kort berätta om ert spel, hur gick ni till väga?

– Arbetet delades upp i två huvudsakliga, parallella arbetsprocesser. Den ena delen bestod av spelprogrammering, där ett spelbart två-dimensionellt plattformsspel skapades. Samtidigt som spelutvecklingen ägde rum skapades artificiell intelligens som grundade sig på maskininlärning. Vi implementerade sedan AI:n i det tvådimensionella spelet och gjorde det möjligt för datorn att kunna spela spelet.
Vilka program har ni använt i era arbeten.
För utvecklingen av koden använde vi oss av Visual Studio Code. För lagring av källkod använde vi oss av Github. Språket vi programmerade i var Python.

Vilka ramverk har använts?

– Vi använde oss av Pygame.

Vilka AI-tekniker?

– Neuroevolution of augmenting topologies (NEAT) var algoritmen som vi programmerade och den baseras på neurala nätverk i kombination med evolution.

Vad hoppas ni kunna förmedla med ert gymnasiearbete?


– Genom vårt arbete hoppas vi kunna förmedla de fundamentala principerna kring vad maskininlärning är och den artificiella intelligensens bakgrund i evolutionen. Vårt arbete är ett simpelt exempel på hur AI fungerar men visar tydligt på den artificiella intelligensens förmåga att lära sig olika saker, bland annat spel.

Vad är det märkligaste/smartaste er AI hade för sig?

– Det måste vara att AI:n använde sig av en bugg i spelkoden för att klara av spelet snabbare.

LearningWells motivering

”I sitt gymnasiearbete ”Implementering av artificiell intelligens i två-dimensionellt spel” har Albin och Alexander tagit sig an en komplicerad del av AI-området och hittat en lösning som visar på djup kunskap i problemframställningen och förståelse för algoritmen. För det krävs både beslutsamhet, kreativitet och stor nyfikenhet.”

Karpovs intresse för programmering har varit en tillgång även för de övriga gymnasiearbetena och Hannes Lundåsen tillskriver Alexander Karpov stor ära i soptunneprojektet.

– Man lär sig att skriva kod genom att läsa bra kod. Alexander har skrivit kod förut i stora mängder och har varit ett bra bollplank i vårt projekt, säger Hannes Lundåsen.

Den självsorterande soptunnan är helt byggd i återvunna delar. Rullbandet där panten sorteras ut från övrigt skräp, är exempelvis tillverkade av gummiband av typen som används på gym. Hela anordningen är tillverkad i en genomskinlig gammal plastback, transparent och tydligt.  Idén föddes ur sömnbrist och en önskan att göra något fysiskt och kombinera med miljön, skojar Hannes.

– Jag är imponerad av mognaden i arbete med den självsorterande soptunnan. Komplexiteten i att ha rörliga delar ska inte heller underskattas, säger Erik Ytterberg som berömmer samtliga för bra rapportskrivning.

Klas Widebäck är den som har minst erfarenhet av programmering och som därför sticker ut lite extra med sitt spel ”Parkour Pain”.

– Klas har en tydlig rapport där en av frågeställningarna är om man kan få ihop ett spel helt utan erfarenhet under en termin och börja från scratch. Och det kan han. Klas har gjort ett jättebra jobb med att sätta sig in i detaljerna och lösa alla problem som rimligen måste ha dykt upp under arbetets gång, säger Ytterberg.

Vad händer framåt?

Alexander Karpov: Jag ska plugga datateknik på KTH i höst och tänker mig en framtid inom AI eller cybersäkerhet. Vilket jag än väljer kommer det andra bli ett hobbyprojekt.
Albin Blomqvist: Civilingenjör har alltid lockat men jag har inte haft något specifikt intresse tills jag föll för datateknik, så jag ska också plugga på KTH i höst, jag vill kanske arbeta med något som har en samhällskoppling, fundamentala saker för samhället.
Klas Widebäck: Jag tänker plugga IT i Uppsala men först ska jag vara ledig ett år och resa kanske. Jag drar mot matte och det tekniska men vet inte exakt vad jag vill göra i framtiden.
Hannes Lundåsen: Jag ska också vara ledig ett år innan jag pluggar vidare. Det blir teknisk fysik eller något liknande, civilingenjör inom rymdfysik kanske.