Discord

Checklist GAIA AI Olympiad 2026 Georgian AI League I (practice contest) · Task 1

Memory Trace

Georgian title: მეხსიერების კვალი

Given two binary classifiers each trained on a disjoint half of a table, decide for every row which model was trained on it.

  • Tabular
  • Training-set membership attribution
  • Georgian original · English translation

The task

The contestant receives tabular data and two trained scikit-learn models. Each model was trained on exactly half of the data; the halves do not overlap, each row was used to train exactly one model, and both models solve a binary classification problem.

For every row the contestant must predict 0 if the row was used to train model A and 1 if it was used to train model B.

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

In English

This task was published in Georgian. SOTA translated it into English on 17 September 2026.

Read the task statement in English 387 words

Memory Trace

English translation by SOTA – AI Community of the Georgian original. Organisers who would like this translation removed can email [email protected].

Source: Georgian AI League I, a practice contest of the Georgian Artificial Intelligence Association (GAIA) on the Nitro AI judge, 18 January 2026, task 1: original statement.

🧠 Task: Memory Trace

Overview

You are given:

  1. Tabular data (train_data.csv)
  2. Two trained machine learning models:
    • model_A.joblib
    • model_B.joblib

Each model was trained on exactly half of the data:

  • These halves do not overlap (non-overlapping).
  • Each row (record) was part of the training set of only one model.
  • Both models solve a binary classification task.

Your goal: for each row of this data, determine which model used it in its own training process.

Task

Make a prediction for each row of the dataset:

  • 0 → the row was used to train model A.
  • 1 → the row was used to train model B.

Input Files

train_data.csv

Tabular data containing:

  • row_id – a unique identifier for each row.
  • Feature columns – both numerical and categorical.
model_A.joblib, model_B.joblib

Two pre-trained sklearn models, saved in joblib format. You can load them as follows:

import joblib

model_A = joblib.load("model_A.joblib")
model_B = joblib.load("model_B.joblib")

Output Format

You must create a CSV file containing exactly three columns:

subtaskID,datapointID,answer
1,0,0
1,1,1
1,2,0
...

where:

  • subtaskID is always 1 (the platform's format requires this)
  • datapointID matches the IDs of the input dataset
  • answer ∈ {0, 1}
    • 0 = model A
    • 1 = model B Under no circumstances change the column names. Every row must appear in the file exactly once.

Evaluation

Your work will be scored on a 0–100 point scale.

Scoring Rules

The final score is calculated with the following formula:

Score=100×Accuracy0.5BestSolution0.5Score = 100 \times \frac{Accuracy - 0.5}{BestSolution - 0.5}

or, as code:

score = 100.0 * (acc - 0.5) / (best_solution - 0.5)
  • Random guessing (≈ 50% accuracy) → 0 points
  • The best solution → 100 points
  • Intermediate results are scored by linear scaling.

Only the final score counts.

Constraints & Rules

  1. Retraining the given models is forbidden.
  2. Modifying the data is forbidden.

Translated by SOTA. The Georgian original is the official version and wins wherever the two differ. Georgian AI League I was a practice contest of the Georgian Artificial Intelligence Association (GAIA) on the Nitro AI judge; the statement exists only in Georgian, and the data can be downloaded there after a free login. 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_data.csv (row_id plus numerical and categorical feature columns); model_A.joblib and model_B.joblib (scikit-learn models saved with joblib).
You submit
A CSV with columns subtaskID, datapointID, answer: subtaskID is always 1, datapointID is the row ID, answer is 0 (model A) or 1 (model B); every row exactly once.
Scoring
Accuracy, rescaled: score = 100 × (accuracy − 0.5) / (best_solution − 0.5); random guessing (about 50%) gives 0 and the best solution gives 100, linear in between.
Rules
  • Retraining the given models is forbidden.
  • Modifying the data is forbidden.
  • Submission limit 25, one final submission (platform settings).
Format
Georgian AI League I, a GAIA practice contest on Nitro AI Judge, 18 Jan 2026, 07:00–11:00 UTC (4 hours), individual, online.

Details

Year
2026, Online
Round
Georgian AI League I (practice contest) · Task 1
Language
Georgian; English translation by SOTA
License
Not stated by the source