Checklist NTO AI 2024 Stage 2 (qualifying) · IV.2.1 task
Directed Molecule Design
Russian title: Направленный дизайн молекул
Write an evolutionary search step that modifies a set of SMILES strings towards valid, novel, diverse molecules with lipophilicity in a target range.
The task
Teams must develop an algorithm for directed search of molecules with given properties, evaluated on a representative set rather than on single compounds. generate.py must define search_step(), which takes a list of SMILES strings and returns a list of the same length differing from the input in at most one element (for example by replacing, adding or deleting characters). The starting set check.csv is updated by repeated calls to search_step(), and the final set is scored.
A lipophilicity model is also needed; teams may use their own model from the individual task or any other.
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 it into English on 16 September 2026.
Read the task statement in English
Directed Molecule Design
English translation by SOTA – AI Community of the Russian original. Organisers who would like this translation removed can email [email protected].
Source: the 2023/24 task collection of the National Technology Olympiad (NTO), "Artificial Intelligence" profile, Stage 2, pp. 89–90: original PDF.
Team task
Task IV.2.1. (100 points)
Topics: evolutionary algorithms, molecular structure representation methods, generative models, interpretation of molecular data, teamwork.
Problem statement
Participants are required to develop an algorithm for the directed search for molecules with specified properties. Following the practice of scientific research, the quality of generation will be assessed on a representative sample rather than on individual compounds. Diversity, validity, uniqueness and conformity to a specified range of a physicochemical property are the target indicators for the set of new molecules, and participants should aim to maximise them.
Input format
A file with the CSV extension (example: https://disk.yandex.ru/d/L---JfJV1EOAxQ) containing a list of SMILES strings (one per line): the set of molecules that serves as the starting sample for generating new compounds.
Output format
A file with the CSV extension containing a list of SMILES strings (one per line): the result produced by the participants' solution, that is, a set of molecules that meet the specified criteria of the task.
Example of input data (file fragment)
ClC(Cl)(Cl)C(Cl)(Cl)Cl
Cc1c(Cl)cccc1Cl
CCCCCI
Program output (file fragment)
CC(CSC(=O)c1ccccc1)C(=O)N1CC(Sc2ccccc2)CC1C(=O)O
CCC/C(=N\OCC)C1C(=O)CC2(CCC(C)CC2)OC1=O
COc1ccc(C2Cc3cc(OC(F)F)ccc3N(CCN(C)C)C(=O)C2OC(C)=O)cc1
Assessment criteria
The quality of a solution will be assessed on the basis of a composite value, which is the product of the following four metrics:
- The fraction of molecules in the generated sample for which the value of the target property (lipophilicity) lies within the specified range (). This value will be estimated with a model that is not available to participants.
- Validity (
validity). The fraction ofSMILESstrings in the generated sample that correspond to chemically valid molecules. - Novelty (
novelty). The fraction ofSMILESstrings in the generated sample that are not in the initial sample provided to participants. - Diversity of the sample (
internal diversity).
Solution
Participants have access to a baseline solution from the organisers. The intended pipeline includes:
- The file
generate.pymust contain the functionsearch_step(), which takes a list ofSMILESstrings as input and returns a list of the same length that differs from the input list in at most one element. - A model file for estimating lipophilicity. One of the components of the metric involves estimating this parameter. Participants may use their own model trained in the individual stage, or any other model.
The starting sample of molecules contained in the file check.csv (https://disk.yandex.ru/d/L---JfJV1EOAxQ) is updated many times by calling the function search_step(). The final sample is assessed in terms of the metrics described above.
An example solution (with comments) is available at: https://disk.yandex.ru/d/_-AqM2pRFCIs8Q.
Translated by SOTA. The Russian original is the official version and wins wherever the two differ. The statement is task IV.2.1 (team task of the second qualifying stage) on pages 89–90 of the NTO 2023/24 task collection for the Artificial Intelligence profile. The problem statement names uniqueness as a target, but the scoring formula lists only the in-range fraction, validity, novelty and internal diversity. The example solution it links to on Yandex Disk was not translated. 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
check.csv: the starting list of SMILES strings (one per line).- You submit
- A CSV file listing the resulting SMILES strings (one per line).
- Scoring
- Product of four metrics: the share of molecules whose lipophilicity (estimated by a model hidden from participants) lies in 2.0 < logP < 3.0; validity (share of chemically valid SMILES); novelty (share not in the starting set); and internal diversity.
- Rules
- Team task.
- Format
- Stage 2, team task (100 points).