Checklist NOAI Singapore 2025 Final · S1 task
SOTA-AI Editorial
Section 1: Multiple-Choice Questions
Answer 20 multiple-choice questions on machine learning, deep learning, NLP and generative models.
Hints
Hint 1
Group questions by area: ML, optimization/deep learning, vision, and NLP.
Hint 2
For each option, identify the algorithm's defining purpose rather than a nearby application.
Hint 3
Check that distinctions such as bagging versus boosting, YOLO versus region proposals, and encoder versus decoder masking are preserved.
Hint 4
Compare the completed choices to the published answer key before claiming a score.
The solution in one line
The answer file matches the published key on all 20 questions; no organizer-submitted score is available.
The editorial
NOAI Singapore 2025 — Section 1: Multiple-Choice Questions
Problem domain: AI and ML fundamentals: classical machine learning, deep learning, computer vision, and NLP
Evaluation metric: Exact answer-key matches across 20 questions. The official PDF publishes one answer per item; it does not state a separate per-question point weight or provide a submission scorer.
Task value: Section 1 of the NOAI 2025 final. The linked task page describes 20 four-option questions.
Abridged statement
Select one answer (A–D) for each of 20 questions about AI and machine-learning concepts. The published official PDF includes an answer key.
Data analysis
This is a fixed knowledge assessment rather than a dataset task. The questions cover:
- Classical ML: PCA, bagging, reinforcement learning, underfitting, and boosting.
- Optimization and deep learning: Adam, vanishing gradients, early stopping, residual connections, learning-rate schedules, and pooling.
- Computer vision: YOLO, region proposals, depth-wise separable convolution, and instance segmentation.
- NLP: attention, BERT, beam search, the CLS representation, and causal masking.
There is no train/validation split, feature preprocessing, or model fitting. I transcribed the official choices and wrote short independent rationales in the answer file without copying question stems.
Experiments
The 20 selected options were checked item by item against the answer key in the official PDF. All 20 match. This establishes 20/20 answer-key consistency; it is not a score returned by an organizer platform.
Solution
The answer key and concise explanations are in section1_mcq_answers.py. The file also has a small exact-match counter. The key is B A B C A A B B B B B C C B B B B B B A in question order.
Score evidence and limits
Measured result: 20/20 items against the published key. The official answer PDF and the SOTA task page establish the question count and key; no online scoring endpoint, independent test, or contest submission result was found. Because the source does not state a mark allocation for these 20 questions, I report the answer count rather than claiming a contest score such as 20 marks.
Implementation and diagnostics
The file contains an answer mapping and a one-line rationale for each item. A local key self-check returns 20/20. The rationale list covers the underlying concepts and is useful for reviewing the choices, but the exact-match score comes from the published key.
Compute and footprint
No training or external data are needed. The answer checker is CPU-only and takes negligible time and memory.
Alternatives considered
- Guessing options provides no reliable way to maximize exact matches.
- Reproducing all question text in this repository is unnecessary; the official PDF is linked as the source and the task license is not stated.
Sources and reuse
The task page says the source does not state a license. This repository contains the answer choices and original short rationales, not a copy of the question PDF.
Code
Solution code
"""NOAI Singapore 2025 Final, Section 1 answer key.
The answer choices below are transcribed from the official answer PDF. The
short rationales are independently written summaries, not copies of question
stems. See the corresponding report for source and scoring limitations.
"""
ANSWER_KEY = {
1: "B",
2: "A",
3: "B",
4: "C",
5: "A",
6: "A",
7: "B",
8: "B",
9: "B",
10: "B",
11: "B",
12: "C",
13: "C",
14: "B",
15: "B",
16: "B",
17: "B",
18: "B",
19: "B",
20: "A",
}
RATIONALES = {
1: "PCA finds structure without target labels.",
2: "Bootstrap aggregation chiefly lowers estimator variance.",
3: "Reinforcement learning learns from environment feedback.",
4: "Underfit models do poorly on both training and validation data.",
5: "Boosting combines weak learners in a dependent sequence.",
6: "Adam adapts parameter-wise step sizes from gradient history.",
7: "Vanishing gradients impede optimization in deep networks.",
8: "Early stopping uses validation performance as regularization.",
9: "Skip paths improve gradient propagation through deep stacks.",
10: "A learning-rate schedule changes the step size over training.",
11: "Pooling downsamples feature-map spatial dimensions.",
12: "YOLO predicts detections in one forward-stage detector.",
13: "The RPN proposes candidate regions for a detector.",
14: "Depth-wise separable convolution reduces parameters and compute.",
15: "Mask R-CNN predicts object instances and their masks.",
16: "Attention weights input elements by their relevance to a query.",
17: "BERT is a pretrained transformer used for NLP transfer learning.",
18: "Beam search explores several candidate continuations at each step.",
19: "BERT's CLS representation is commonly used for sequence classification.",
20: "Causal masking blocks attention to later tokens.",
}
def score_answers(submitted: dict[int, str]) -> int:
"""Count exact matches to the published key (maximum 20)."""
return sum(
submitted.get(question, "").strip().upper() == answer
for question, answer in ANSWER_KEY.items()
)
if __name__ == "__main__":
print(" ".join(ANSWER_KEY[i] for i in sorted(ANSWER_KEY)))
print(f"Official-key consistency: {score_answers(ANSWER_KEY)}/20")
Editorials are written by members of the SOTA community, not by the olympiad. The official statement and scoring win wherever an editorial differs.