Hide

Time Guessing

Languages en sv

Lisa loves old photos. She found a huge archive with images from many different years and built a small Time Guessing game from it. For each photo, your task is to guess the year it was taken.

You do not get the raw images. Instead, each image is represented by a numeric embedding. For every test example, you may submit two year guesses, and only your better guess counts.

Input

The attachments contain the following files:

  • train.json - Lisa’s labeled examples. Each entry has:

    • embedding: a list of 384 numbers

    • year: the correct year

  • test.json - unlabeled examples. Each entry has:

    • embedding: a list of 384 numbers

  • baseline.ipynb - A basic solution to the task. It appends its own source code to the submission.

  • print_source_code.py - A utility script to print your source code as a comment, useful for including your solution in the submission file. Does not work inside a Jupyter Notebook.

Output

Output exactly 3022 lines, one line per test example in order.

Each line must contain two integers:

\[ g_1 \; g_2 \]

where $g_1$ and $g_2$ are your two year guesses for that example.

Scoring

The scoring is calculated as follows:

  • Let $N$ be the number of evaluated test examples in the current split.

  • Let $y_i$ be the true year for example $i$.

  • Let $(g_{i,1}, g_{i,2})$ be your two guesses for example $i$.

  • The error for one example is:

    \[ e_i = \min \left((g_{i,1} - y_i)^2,\; (g_{i,2} - y_i)^2\right) \]
  • The overall error is:

    \[ E = \frac{1}{N}\sum _{i=1}^{N} e_i \]

Your final points are determined by comparing your error $E$ to a base error (note: NOT the error achieved by the baseline solution) and a target "best" error:

  • Base Error: 300

  • Best Error: 100

The score is calculated using the formula:

\[ \text{Score} = 100 \cdot \max \left(0,\; \min \left(1,\; \frac{\text{Base} - E}{\text{Base} - \text{Best}}\right)\right) \]

This means:

  • If your error is $\ge 300$, you get 0 points.

  • If your error is $\le 100$, you get 100 points.

  • Otherwise, you get a score between 0 and 100 proportional to your improvement over the base error.

Testing

During the contest, your solution will be scored on $30\% $ of the data in test.json. After the contest ends, all solutions will be re-scored on the remaining $70\% $ of the data. It is guaranteed that test.json was split into the two sets uniformly at random, with no overlap between the sets. This means that your score during the contest should be seen as a strong indicator of your final score, but might differ if you overfit.

Please log in to submit a solution to this problem

Log in