Checklist VsOSh AI 2026 Regional Stage, Tour 2 (data analysis and machine learning) · D task
The Martian Archivist
Russian title: Марсианский Архивариус
Recover the true classes of crystals from 16-dimensional embeddings when many training labels are missing or given as unreliable candidate sets.
The task
An ancient Martian AI stores a 16-dimensional embedding and one of 25 classes for each crystal, but its memory is damaged: for many crystals the class is lost, and for others only a set of possible classes survives, which may or may not contain the true class.
Using the embeddings, the correct labels for some crystals and the ambiguous candidate sets for others, the contestant must predict the class of every test crystal (each belongs to exactly one of the 25 classes).
Abridged and translated by SOTA from the official Russian materials. The official statement has the exact rules, and it wins wherever this summary differs.
In English
This task was published in Russian. SOTA translated its 3 files into English on 16 September 2026. Only the words changed in the notebooks: markdown, code comments, messages and printed output. The code, file names and paths are the original's, so a translated notebook runs with the original data.
- Task statement Russian original of Task statement
- Full paper (all tasks of the tour) Russian original of Full paper (all tasks of the tour)
- Official editorial (all tasks of the tour) Russian original of Official editorial (all tasks of the tour)
Read the task statement in English
The Martian Archivist
English translation by SOTA – AI Community of the Russian original. Organisers who would like this translation removed can email [email protected].
All-Russian School Olympiad in Informatics 2025–2026, Regional Stage, Grades 9–11
“Artificial Intelligence” profile, Tour 2, 19 January 2026
Task D
Points for the task: 100
Answer submission format: uploading an answer file in .csv format
Number of attempts: 20
Submission that counts: the last one
Statement
During the third year of the expedition to Valles Marineris on Mars, our acquaintance Andrey, an engineer and a specialist in extraterrestrial systems, came across something incredible: a perfectly preserved crystalline memory module hidden deep beneath the surface of the canyon.
When the module was carefully extracted and connected to power, it awakened an ancient Martian AI that called itself “Archivist Unit F”, the keeper of the knowledge of a vanished civilisation. The Archivist revealed that its memory holds extensive information about the crystals that the ancient Martians used in their laboratories and energy reactors.
Each crystal was described by an embedding: a vector of length 16 reflecting its structure, composition, resonance properties and many other characteristics that humans cannot yet interpret directly. Besides the embedding, the Archivist also stored the class (one of 25 possible), that is, the type or functional purpose of the crystal.
But over thousands of years under the Martian dust, the Archivist had been damaged.
For many crystals, the class information was lost completely.
For others, it was preserved only partially: instead of one exact class, the Archivist gave several possible options, sometimes reasonable and sometimes completely random. It seems that the data structures inside the module got mixed up, and no simple method of recovering the information works.
Andrey and his team are extremely interested in the ancient knowledge about Martian crystals: understanding their properties could lead to a breakthrough in energy-intensive technologies and materials science.
That is why they are turning to you.
Your task is to help the Archivist restore the true classes of those crystals whose information was lost or damaged. You will be given:
- the embeddings of the crystals,
- the correct classes for some of them,
- ambiguous lists of possible classes for the others,
- and also a set of crystals whose classes you have to predict.
Like the ancient AI, you will have to work under uncertainty and with incomplete information. However, modern machine learning methods offer a chance to recover a significant part of the lost knowledge, if they are applied carefully and inventively enough.
Input format
The following files are attached to the task:
train.csv- contains information about the crystals for which the true or possible labels are known. Fields:id— the unique identifier of the object.F{i}, where — the components of the embedding.labels— the set of possible classes for this object (the true class may be among them, but it may also be absent).
test.csv— a file with the embeddings of the crystals whose classes must be predicted. It is guaranteed that each object belongs to exactly one of the 25 classes.baseline.ipynb— a notebook with a baseline solution to the task.submission.csv— an example of the solution that you need to submit to the testing system.
Output format
You need to submit, as your submission, the file submission.csv containing two columns:
id— the identifier of the object from test.csv.class— the class label predicted by the model
Scoring
The maximum for the task is 100 points.
The test data are divided into a public and a private part.
After you submit a solution, the system shows the result on the public part.
The final result will be calculated on the private part after the contest ends. After the end of the stage, your metric will be converted to a 100-point scale according to the following rule:
- the result of the baseline solution (Accuracy=0.2717) is worth 0 points;
- the result of the author's solution (Accuracy=0.8) is worth 100 points;
- results between these two points are distributed linearly.
Answer evaluation metric
This task uses the metric Accuracy. It is calculated as the fraction of objects in the test set whose class is predicted correctly.
Strict mathematical definition of the metric Accuracy:
Example of computing the Accuracy metric in Python:
from sklearn.metrics import accuracy_score
y_true = [0, 1, 2, 2, 1]
y_pred = [0, 2, 1, 2, 1]
acc = accuracy_score(y_true, y_pred)
print("Accuracy =", acc)
Translated by SOTA. The Russian original is the official version and wins wherever the two differ. The official editorial archive (https://yastatic.net/s3/contest/roi/2026/ml/day2/editorial.zip) contains the data as train_D.csv and test_D.csv, where the embedding columns are named f1 to f16 and the answer column in its reference files is label. If you organise this olympiad and would like the translation removed, email [email protected] and we will take it down.
At a glance
- You get
train.csv(id, F1–F16, labels = set of possible classes, which may not contain the true class),test.csv(id, F1–F16),baseline.ipynb,submission.csv(example).- You submit
submission.csvwith columns id and class.- Scoring
- Accuracy. The baseline (0.2717) gives 0 points and the author's solution (0.8) gives 100, linear in between. Scored on a private part of the test data after the contest (public part shown live); 20 attempts, the last one counts.
- Format
- Regional stage, Tour 2 (data analysis and machine learning), 19 January 2026; grades 9–11; individual; 300-minute tour (Moscow procedure); submissions in Yandex Contest.