[Wedstrijd] CodeCup 2027 - Tumbleweed Vorige deel Overzicht

Pagina: 1
Acties:

Onderwerpen


  • Vaan Banaan
  • Registratie: Februari 2001
  • Niet online

Vaan Banaan

Heeft ook Apache ontdekt

Topicstarter
Afbeeldingslocatie: https://www.codecup.nl/images/codecup_head.png
De CodeCup is een jaarlijkse programmeerwedstrijd, ontstaan uit de Nederlandse Informatica Olympiade, waarbij deelnemers een programma schrijven dat een spel kan spelen. Die programma's nemen het dan tegen elkaar op in een toernooi.

Het spel van dit jaar heet Tumbleweed
Tumbleweed is een abstract bordspel voor twee spelers (Rood en Wit) dat op een zeshoekig raster wordt gespeeld. Het spel begint met een willekeurige stapel van 1 voor beide spelers en in het midden een neutrale stapel van 2
Voorbeeld van het spelverloop.
Afbeeldingslocatie: https://www.codecup.nl/tumbleweed/initial.png
• Spelers plaatsen om de beurt een stapel van hun kleur op een lege cel.
• Een stapel "ziet" andere stapels van dezelfde kleur als die via een rechte lijn bereikbaar zijn zonder dat er tussendoor andere stapels liggen.
• Een nieuw geplaatste stapel moet minimaal één eigen stapel zien, de stapel krijgt de waarde van hoeveel eigen stapels het ziet.
• Je mag geen stapel op een cel plaatsen, als die meer tegenstandersstapels ziet dan eigen stapels
• Je kunt met een zet een tegenstandersstapel veroveren of een eigen stapel upgraden als de nieuwe waarde hoger is dan de huidige waarde van die stapel.
Afbeeldingslocatie: https://www.codecup.nl/tumbleweed/midgame-annotated.png
• De bedoeling is om zo veel mogelijk cellen toegewezen te krijgen door middel van de stapels die er naartoe wijzen.
• Als niet meer gezet kan worden, wint de speler met de meest toegewezen cellen. De waarde van de stapels is niet relevant.

Voor meer details, lees de volledige regels op de CodeCup site.

Technische details

Om mee te doen moet je een speler schrijven in één van de ondersteunde programmeertalen: C, C++, C#, Go, Haskell, Java, JavaScript, OCaml, Pascal, Python of Rust.

Je programma mag per potje maximaal 30 seconde CPU-tijd gebruiken op een 2 GHz CPU (geen multithreading), en maximaal 2 GB geheugen. Zie verder de technische details op de CodeCup site.

Lokaal testen

Voordat je je programma instuurt, kun je lokaal testen dat je aan het spelprotocol voldoet. Daarvoor stelt de organisatie een tool genaamd Caia ter beschikking. Ook zitten er drie testspelers in de Caia distributie. Die zijn heel handig om je speler te verbeteren.

Belangrijke data

De finale is zaterdag 23 januari 2027. Dat is nog ver weg.
Tot die tijd zijn er meerdere testcompetities. De testcompetities zijn nuttig om te verifiëren dat je programma correct werkt in het CodeCup systeem, en om uit te vinden hoe sterk je speler is vergeleken met die van andere deelnemers.
Zat 05 Sep 2026Test competitie
Zat 19 Sep 2026Test competitie
Zat 03 Okt 2026Test competitie
Zat 17 Okt 2026Test competitie
Zat 31 Okt 2026Test competitie
Zat 14 Nov 2026Test competitie
Zat 28 Nov 2026Test competitie
Zat 12 Dec 2026Test competitie
Zat 26 Dec 2026Test competitie
Zat 09 Jan 2027Test competitie
Zat 23 Jan 2027Finale
Als je een programma versie opstuurt, worden 2 potjes gespeeld en gecontroleerd door het wedstrijd systeem. Bij goedkeuring (maakt niet uit of je wint of verliest), doet die laatste inzending standaard mee in de eerstvolgende testcompetitie tot en met de finale.
Je hoeft dus niet al direct iets in september werkend te hebben. Als je bijvoorbeeld op 20 oktober je eerst werkende versie opstuurt, komt je programma er als nieuwe speler in de eerstvolgende testcompetitie op 31 oktober bij.

[ Voor 18% gewijzigd door Vaan Banaan op 01-09-2026 21:41 ]

500 "The server made a boo boo"


  • Joep
  • Registratie: December 2005
  • Laatst online: 08:43
Ik heb er zin in! Mijn eerste doel is om een speler te maken die i.i.g. geen illegal moves maakt en dat is deze editie naar mijn mening moeilijker dan normaal. Ik ga aan de slag met Python, maar schakel mogelijk later om als Python me te traag is.

  • BaGe
  • Registratie: November 2024
  • Laatst online: 06-09 21:22
hoe zit het met de help van AI in deze wedstrijd?

  • Joep
  • Registratie: December 2005
  • Laatst online: 08:43
Ik zie nergens staan dat het gebruik van AI niet is toegestaan, maar ik zie er zelf de lol niet van in om mijn code te vibecoden en hoop eigenlijk ook dat het niet gebruikt wordt om een compleet programma uit te poepen nadat je claude/copilot een prompt hebt gegeven met de spelregels en wat begeleidende tekst. Er wordt wel al gebruik gemaakt van machine learning door sommige deelnemers om bijvoorbeeld goede startmoves te genereren en vast ook wel om wat simpele code te genereren of als hulp in de IDE. De lol gaat er echter snel vanaf wanneer mensen alles aan elkaar vibecoden om maar te winnen (hoewel ik me afvraag hoever je daarmee komt t.o.v. de meer ervaren deelnemers). Ik zie deze competitie meer als een gelegenheid om zonder grote tijdsdruk lekker je hoofd te breken over een complex probleem en nieuwe programmeertechnieken/talen uit te proberen (en zelf te schrijven). Dit is wat ze er bij advent of code van vinden en is nogal treffend:
Should I use AI to solve Advent of Code puzzles? No. If you send a friend to the gym on your behalf, would you expect to get stronger? Advent of Code puzzles are designed to be interesting for humans to solve - no consideration is made for whether AI can or cannot solve a puzzle. If you want practice prompting an AI, there are almost certainly better exercises elsewhere designed with that in mind.

  • Vaan Banaan
  • Registratie: Februari 2001
  • Niet online

Vaan Banaan

Heeft ook Apache ontdekt

Topicstarter
De CodeCup is van een heel ander kaliber dan een AoC opdrachtje wat op je eigen PC draait.
Ik geloof niet dat AI überhaupt een werkend algoritme volgens de regels kan genereren.
Op de site van CodeCup staan een paar links waar je online kan spelen, daar kun je de code nog van laten opvreten. Maar dan nog ben ik ervan overtuigd, dat het ding er niks van bakt.
Als tool kan het natuurlijk wel handig zijn.
Ik heb in de jaren dat ik meedeed altijd eerst weken aan een stuk Wiki's zitten lezen.
Je wil je programma zetten vooruit laten "denken" en begrijpt of iets een goede of slechte zet is.
Dan begint het al met welk soort algoritme, de bekendste zijn Monte Carlo Tree Search en MiniMax (met tig varianten).
Dan is het het ook handig dat je transposition tables hebt, zodat je niet steeds dezelfde stellingen opnieuw hoeft te berekenen.
Dat is ongeveer mijn niveau en daarmee ben ik een middenmoter.

Elk jaar leer ik voor mij tot dan toe totaal onbekende dingen.
Vorig jaar was een soort schaken, daar had de top 6 een neuraal netwerk ingeprakt (NNUE)
Een ander jaar was een sudoku battle, daar was een SAT solver (Boolean Satisfiability Problem) voor nodig. Wait... whut... ?
Of een keer het Prisoner's dilemma, waarbij samenwerken het beste zou zijn, maar je hebt geen idee wat de ander van plan is.

Zoals vaak met de CodeCup, kiezen ze een spel wat veel simpeler lijkt dan het is. Eerst maar een werkend algoritme verzinnen. Daar ben ik wel een maand of anderhalf mee zoet.
Ik heb zoals gewoonlijk ook nog geen idee wat een goede tactiek kan zijn, maar daar krijg ik gaandeweg waarschijnlijk wel een idee van.

500 "The server made a boo boo"


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:39
Vaan Banaan schreef op dinsdag 25 augustus 2026 @ 23:33:
De CodeCup is van een heel ander kaliber dan een AoC opdrachtje wat op je eigen PC draait.
Ik geloof niet dat AI überhaupt een werkend algoritme volgens de regels kan genereren.
Helaas denk ik dat je AI onderschat. De regels zijn duidelijk genoeg dat ik er niet aan twijfel dat een AI een correcte speler kan implementeren. Of je daarmee de top 10 haalt weet ik niet.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:39
Ik zie dat er nu testcompetities geplanned zijn: https://www.codecup.nl/competitionlist.php De eerste is aanstaande zaterdag 5 september.

Ik heb al een simpele speler werkend die ik zal insturen.

  • boreus
  • Registratie: December 2011
  • Laatst online: 07-09 09:53
Ik heb Claude Code er al een tijdje op aan het werk gezet. De eerste werkende (random) bot was er ruim binnen het uur.

Of het leuk is? Voor mij wel. Algoritmes programmeer ik al ruim 20 jaar, terwijl Claude juist nu iets nieuws is om in deze context eens uit te zoeken. De afgelopen jaren had ik steeds niet genoeg tijd om mee te doen, maar nu zet ik de remote control van Claude Code aan en kan ik op mijn telefoon Codecuppen; ideaal.

Qua regels wil ik nog wel even melden op het Codecup forum dat ik zelf nog geen regel code heb aangeraakt in mijn project. Ik begrijp het ook wel als ze mijn bot willen uitsluiten van de (uiteindelijke) competitie. Ook als 'ie 11e wordt, kunnen deelnemers op de 12e of 13e plaats er niet blij mee zijn.

  • Joep
  • Registratie: December 2005
  • Laatst online: 08:43
Soultaker schreef op dinsdag 1 september 2026 @ 11:37:
Ik zie dat er nu testcompetities geplanned zijn: https://www.codecup.nl/competitionlist.php De eerste is aanstaande zaterdag 5 september.

Ik heb al een simpele speler werkend die ik zal insturen.
Dat wordt nog even snel code kloppen voor me om een bot (met strategie) voor zaterdag af te hebben :X

  • Vaan Banaan
  • Registratie: Februari 2001
  • Niet online

Vaan Banaan

Heeft ook Apache ontdekt

Topicstarter
@Soultaker Ik hoor net op lijn 2 dat je gelijk hebt qua capaciteit van AI. :$
Heb de competitie data ook even toegevoegd aan de startpost.
@boreus Op het CodeCup forum vinden ze vibecoden geen probleem. Ben nu toch wel heel benieuwd hoe goed die gaat presteren.
@Joep Je hoeft niet perse al direct vanaf de eerste testcompetitie mee te doen, ik heb het voor de volledigheid in de startpost toegevoegd.

500 "The server made a boo boo"


  • boreus
  • Registratie: December 2011
  • Laatst online: 07-09 09:53
Het viel me eigenlijk een klein beetje tegen, maar het was wel duidelijk wat er mis ging: Claude had veel te veel focus op win% en laat daardoor punten liggen. Het stond al ergens op onze backlog, maar nu staat het bovenaan.

Ik had ook niet verwacht dat er al zo veel spelers een redelijk serieuze poging gedaan zouden hebben, omdat de competitie pas een paar weken geleden is aangekondigd.

Klein rapportje van Claude, hopelijk niet tegen de GoT regels.

CodeCup 2027 Tumbleweed - test competition of 5 September 2026

Results-only summary of the first test round: 23 entries, 360 games in 20 rounds (5 Swiss rounds, then 15 round-robin rounds). Red (first player) won 206 of 360 games = 57%. Scoring: territory cells + 200 for a win / 100 for a loss.
#playerprogrampointswin%as Red W-Las White W-Lcells/wincells/loss
1Rémi CoulomCrazyZero752985%20-0 (100%)14-6 (70%)67.442.2
2Alvaro BegueHighNoon744682%20-0 (100%)13-7 (65%)64.142.1
3Alan AnsellMrTwit740685%20-0 (100%)14-6 (70%)62.440.2
4Niklas EenDustDevil715578%19-1 (95%)12-8 (60%)62.242.2
5Boris de WildeClaude_Rapunzel704782%20-0 (100%)13-7 (65%)56.529.1
6Kirk BrownSightLines674172%17-3 (85%)12-8 (60%)62.135.5
7Tonko Sabolcectumblebee612952%11-9 (55%)10-10 (50%)64.835.8
8Peter SmitKaatua603155%11-9 (55%)11-9 (55%)60.137.7
9Mark ter BruggeV_1_24_0578745%11-9 (55%)7-13 (35%)64.938.6
10Maks VerverTBD565648%10-10 (50%)9-11 (45%)61.732.7
Observations (from the results only)
  • The first-player advantage is large: Red won 57% of all games, and the top 5 went 99-1 as Red. The ranking among the leaders was therefore decided almost entirely by games played as White (60-70% for the top 5).
  • Territory matters as much as wins. Places 2 and 5 had identical records (33-7, 20-0 as Red, 13-7 as White) and were separated by ~400 points, all of it territory: 64 vs 57 cells per win and 42 vs 29 cells per loss. A cell is worth a point, so ten extra cells per win over 30+ wins outweighs an extra win.
  • Cells scored in losses vary widely among the top 8 (29-42 per loss): losing narrowly is worth a few hundred points over a round.
  • All 360 games completed; the only zero scores in the round came from one entry outside the top 10 (six games).
Source: the public game records of competition 364.
Pagina: 1