Discord

Checklist IOAI 2026 Individual Contest · Task 3

Potato

Build a player that finds a hidden vocabulary word within 30 turns using only judgments of which word is semantically closer.

  • NLP
  • Interactive word guessing

The task

A judge secretly picks a word from a fixed vocabulary of 1,602 words. Every game opens with the pair lamp vs potato. On each turn your program proposes one new vocabulary word, and the judge reports whether the retained word or the new one is semantically closer to the secret, or that both are equally close. The winner is kept for the next comparison, and on a tie the first word stays.

You win the moment you propose the secret word (case-insensitive), and a game lasts at most 30 turns. The program talks to the judge by exchanging one JSON object per line over stdin/stdout. It is started once, plays every game of a split in one run, and gets a fresh player object for each game.

You receive the vocabulary and public 2,560-dimensional embeddings for it, but the judge uses a different, private representation. There is no training split. Two embedding models, Qwen3-Embedding-0.6B and bge-m3, come with the task and may be used.

Abridged by SOTA from the official materials. The official statement has the exact rules, and it wins wherever this summary differs.

At a glance

You get
dataset/vocabulary.json (1,602 unique lowercase words) and dataset/public_embeddings.npy (float32, shape (1602, 2560)). test_public has 120 hidden words, with answers in dataset/test_public.json; hidden test_leaderboard_a (live leaderboard) and test_leaderboard_b (final ranking) have 120 words each. Local copies of Qwen3-Embedding-0.6B and BAAI bge-m3 are provided.
You submit
No answer file: the solution plays interactively, answering each judge message with a JSON object such as {"new_word": "rock"} that names a vocabulary word. Submit exactly one file, solution.ipynb, built around the PublicEmbeddingPlayer class.
Scoring
A game solved on turn t scores 1.0 − 0.02 × max(0, t − 10); a game not solved within 30 turns scores 0. The task score is the mean game score × 100.
Rules
  • Time limit 10 minutes: a single budget covering start-up, preparation and all 120 games
  • One GPU (≈16 GB VRAM), no internet, 5 GB storage
  • solution.ipynb ≤ 1 MB
  • Pretrained models: only the provided Qwen3-Embedding-0.6B and BAAI/bge-m3, loaded from their local paths
  • Libraries: numpy, torch and sentence-transformers only; no downloads or other packages
  • Every proposed word must be in dataset/vocabulary.json
Format
Individual Contest, Day 1 (the 2026 Contest Rules give six hours for the day's three tasks); the same task was set in the GAITE Contest with a hint

Details

Year
2026, Astana, Kazakhstan
Rounds
Individual Contest · Task 3 · Day 1GAITE Contest · Task 3 · Day 1
Language
English
License
CC BY 4.0, as stated by the source