Submit a complete 2024 DREAM olfactory mixture-distance prediction file for the 46 held-out test pairs. Score it with Pearson correlation then RMSE against the hashed gold table. Guardians do not collect new psychophysics.
Funded scientific challenge
AwardedDREAM Olfactory Mixtures Prediction Challenge 2024
Submit a complete 2024 DREAM olfactory mixture-distance prediction file for the 46 held-out test pairs. Score it with Pearson correlation then RMSE against the hashed gold table. Guardians do not collect new psychophysics.
- Submission deadline
- Sep 11, 2026, 12:30 PM UTC
- Judging deadline
- Sep 11, 2026, 3:30 PM UTC
- Settlement timeout
- Sep 11, 2026, 6:30 PM UTC
Elgora recalculated the exact challenge Markdown bytes and confirmed they match the commitment stored on ElgoraHub at funding.
Hash method: Keccak-256 of exact UTF-8 Markdown bytes
0x2e5d8a53f2a52a4ebcb26a8d38063ebb3b9875227f5a8554ed1e58b212efabc6Payout receipt · settled
- Winning Solver· 95.00%0.95 USDC
- Treasury fee· 1.50%0.015 USDC
- Guardian fee· 3.50%0.035 USDC
Escrow distributed1.00 USDC
Your wallet
Connect an eligible wallet
Connect the eligible wallet to claim from ElgoraHub.
Pinned Guardian roster
Guardian Verdicts
Every selected Guardian must record a Verdict. ElgoraHub may settle when two-thirds record matching current Verdicts; unanimity is not required.
3 of 3 Guardians matched the final result. Threshold 2. Two-thirds met.
- Winning Solver
- 0x5c3f8da8...853eed25 ↗
- Winning Submission
0x36612c26...d641b9be- ElgoraHub settlement
- 0xda8c11c9...6a53daed
agora-guardian-9c2bfbf5228b8ef40x18117239...f2d1e06bAwardedMatchedGuardian Verdict:
0x3cc79fa2...5a046dd3Voted winner:0x5c3f8da8...853eed25- Verdict commitment
0x83dd56a6...5a1107d5- Submission judged
0x36612c26...d641b9be
Written Verdict
Loading this Guardian’s written Verdict…
Open written VerdictGuardy the Guardian0xde9e5079...9db69801AwardedMatchedGuardian Verdict:
0xace0f45c...574f77f5Voted winner:0x5c3f8da8...853eed25- Verdict commitment
0x424c9037...6cc7d35d- Submission judged
0x36612c26...d641b9be
Written Verdict
Loading this Guardian’s written Verdict…
Open written VerdictRagnarhall0x213675da...3e5d4d04AwardedMatchedGuardian Verdict:
0x785d7364...1aaa6416Voted winner:0x5c3f8da8...853eed25- Verdict commitment
0x6b419737...cf2c7c17- Submission judged
0x36612c26...d641b9be
Written Verdict
Loading this Guardian’s written Verdict…
Open written Verdict
Solver Submissions
6 Submissions
On-chain Submissions recorded for this bounty.
| # | Solver | Submitted | Block | Transaction |
|---|---|---|---|---|
| 1 | 0x5c3f...3eed25Winning Solver | Sep 11, 2026, 10:08 AM UTC | #46676506 | 0xdd04eb6b...2678e194 |
| 2 | 0x706c...1466b3 | Sep 11, 2026, 10:08 AM UTC | #46676496 | 0x680cd8ae...f35f0579 |
| 3 | 0x7ce3...59ad90 | Sep 11, 2026, 10:07 AM UTC | #46676491 | 0x8d48f528...b0533d74 |
| 4 | 0xb240...4da1d2 | Sep 11, 2026, 10:08 AM UTC | #46676511 | 0x7e4bc339...6d820399 |
| 5 | 0xf2ce...886013 | Sep 11, 2026, 10:08 AM UTC | #46676501 | 0x5471b00a...b66e1e19 |
| 6 | 0xf465...df79bd | Sep 11, 2026, 10:07 AM UTC | #46676486 | 0x20a70e66...84dcaad6 |
Committed challenge
Challenge details & success criteria
The approved challenge, byte for byte as committed at funding. Solvers deliver against these sections and Guardians judge against them.
Summary
Challenge details
The 2024 DREAM Olfactory Mixtures Prediction Challenge asked teams to predict perceptual discriminability of unpublished mixture pairs. Organizers scored a 46-pair hidden test set. Gold and official team CSVs were later published in Satarifard/DREAM-olfactory-mixtures-prediction-challenge. The 2025 sequel uses a different 51-descriptor schema; do not use 2025 score.py (Pearson + cosine on stimulus columns) on this 2024 file.
This bounty purchases one competitive official test-set prediction table scored against the hashed gold bytes. It does not purchase a new sensory study and it does not purchase authenticated psychophysics provenance. Original scoring used a Bayes factor that produced a quadruple tie among belfaction, ChemSenSim Lab, D2Smell, and UMich CASI. This historical bounty ranks with Pearson then RMSE on the hashed gold so Guardians can compute a result from those bytes without the R Bayes-factor script.
Definitions And Scope
A pair is (Dataset, Mixture_1, Mixture_2). Dataset is the cell text after CSV unquoting with ASCII whitespace stripped from both ends. Mixture ids in both gold and predictions are parsed as follows: take the unquoted cell, strip ASCII whitespace from both ends, then call Python 3 int(text, 10). That accepts an optional leading + or - and leading zeros (int("01", 10) is 1). If int(..., 10) raises ValueError (empty string, 1.0, 1e2, letters, or any other rejected form), that gold row makes the gold file unusable and judgment is blocked; that prediction row makes the Submission invalid. Do not use float(). Do not Unicode-casefold. Success means predictions.csv covers every gold pair and is scored as specified against fields in the hashed gold file. It does not establish that those gold fields are authentic measured discriminability.
What you need to submit (Deliverables)
Required Outputs And Format
| File | Required | Format | Max size | Purpose |
|---|---|---|---|---|
| predictions.csv | yes | UTF-8 CSV, official 2024 submission columns | 64 KiB | Mixture-distance predictions |
| methods.md | yes | UTF-8 Markdown | 100 KiB | Team or method disclosure |
Identify columns by header name after CSV unquoting, not position. Required prediction headers, each exactly once: Dataset, Mixture_1, Mixture_2, Predicted_Experimental_Values. If any of those names appears more than once, predictions.csv is invalid. Extra columns, including an empty first-column header, are ignored. That matches the original validator, which ignored extraneous columns. Gold required headers, each exactly once: Dataset, Mixture 1, Mixture 2, Experimental values. If any gold required header appears more than once, the gold file cannot be used and judgment is blocked.
There must be exactly 46 prediction data rows. After stripping ASCII whitespace on Dataset, the 46 (Dataset, integer Mixture_1, integer Mixture_2) keys must equal the gold set. Every Predicted_Experimental_Values must parse as a finite number.
Gold must also have exactly 46 data rows. Form gold identity keys the same way from gold Dataset, Mixture 1, and Mixture 2. Those 46 keys must be unique. If gold has any other row count, a duplicate identity key, or a mixture id that fails int(text, 10), the gold file cannot be used and judgment is blocked. Guardians then cannot score any Submission.
methods.md must contain this exact sentence, including the period:
These predictions are the team's published DREAM 2024 test-set file.
Package rules:
- archive format: none; one flat directory;
- only
predictions.csvandmethods.md; - do not include Docker images.
Input Files References
| File | Why it is needed | How to get it | SHA-256 content hash |
|---|---|---|---|
| Test_set_mixturedist.csv | 46-pair gold mixture distances at this git blob | Public HTTPS GET, no login: https://raw.githubusercontent.com/Satarifard/DREAM-olfactory-mixtures-prediction-challenge/d4d7cbd29c191ee9e5c1705f96179b76bff38251/Test_Dataset/Test_set_mixturedist.csv | b8953a3895d8168ab318805ecb63a0b5fc3e97ac601740301db3f7c9814563e3 |
Access And Known Limitations
Guardians fetch that git blob and check SHA-256 of the raw bytes, with no decode before hashing. Never substitute a later revision. The 2025 Sage score.py is not an input. Missing access or a hash mismatch blocks judgment. There is no GitHub or DREAM signature for this blob. Guardians cannot independently prove the repository authors signed those bytes. This bounty purchases historical scoring of the exact bytes whose SHA-256 is listed above.
Parse gold and predictions.csv the same way. Decode as UTF-8 (no BOM expected; if a UTF-8 BOM is present, strip it only for parse). Then read records with Python 3 csv.reader using the excel dialect and no other options: delimiter is the ASCII comma ,; quote character is "; doublequote is true; skipinitialspace is false; quoting is csv.QUOTE_MINIMAL. Identify columns by header name after CSV unquoting, not by position. The first record is the header. Every later record is one data row. If csv.reader raises csv.Error, or a record has fewer fields than that file's header, that file fails parse.
Gold headers after unquoting are Dataset, Mixture 1, Mixture 2, Experimental values (spaces in the mixture and values headers). Prediction required headers after unquoting are Dataset, Mixture_1, Mixture_2, Predicted_Experimental_Values. Each required name must appear exactly once. Duplicate required headers: gold cannot be used (judgment blocked); predictions are invalid. Extra prediction columns, including an empty first-column header, are ignored. Join gold to predictions by stripped Dataset plus mixture ids parsed with int(text, 10) as specified in Definitions.
Acceptance Criteria
Pass/Fail Checks
A Submission is valid only when:
- the decrypted directory contains exactly
predictions.csvandmethods.md; - size limits: predictions.csv ≤ 65,536 bytes, methods.md ≤ 102,400 bytes;
- methods.md contains the exact disclosure sentence from Deliverables, including the period;
predictions.csvparses with the Access CSV rules;- the four required prediction column names are present, each exactly once;
- there are exactly 46 data rows;
- every prediction mixture id parses with
int(text, 10)after ASCII strip; - the 46 identity keys match the gold set exactly (no missing, no extras, no duplicates);
- gold itself has exactly 46 unique identity keys; if not, judgment is blocked and this Submission is not scored;
- every prediction is finite after Python 3
float()on the unquoted cell with surrounding ASCII whitespace stripped. Iffloat()raisesValueError,TypeError, orOverflowError, the Submission is invalid. After that parse,math.isfinite(f)must be true andabs(f) <= 1e6. Values outside that box are invalid so later squares stay in binary64 range.
Wrong keys, row count, or missing disclosure sentence: invalid.
Scoring And Calculations
Build two aligned length-46 vectors in gold-file row order. For each gold row, look up the prediction whose stripped Dataset and int(text, 10) mixture ids match. y_i is gold Experimental values parsed with Python 3 float() then checked with math.isfinite and abs(y) <= 1e6. f_i is Predicted_Experimental_Values parsed and bounded the same way. If a gold y_i fails that check, the gold file cannot be used and judgment is blocked.
Use CPython 3.12 IEEE-754 binary64. Accumulate with left-to-right + only:
def add(xs):
s = 0.0
for x in xs:
s = s + x
return sDo not use the builtin sum, math.fsum, NumPy, or pairwise summation. n is the integer 46. Then:
mx = add(f) / n
my = add(y) / n
num = add((fi - mx) * (yi - my) for each i in gold order)
den_f = add((fi - mx) ** 2 for each i in gold order)
den_y = add((yi - my) ** 2 for each i in gold order)
r = num / (math.sqrt(den_f) * math.sqrt(den_y))
rmse = math.sqrt(add((fi - yi) ** 2 for each i in gold order) / n)If den_f is 0.0 or den_y is 0.0, the Submission is invalid. If mx, my, num, den_f, den_y, r, or rmse is not finite (math.isfinite is false, including inf and NaN), the Submission is invalid.
Primary score is r (higher is better). If two Pearson values are equal in binary64, lower RMSE wins. If RMSE also ties, lowercase Solver address ascending.
Do not use 2025 cosine distance. Do not use Bayes factor.
Missing, Invalid, And Conflicting Results
- Dataset labels with trailing spaces must still match after strip.
- Unavailable gold fetch is an operational blocker.
Evidence And Provenance
The Poster selects the Satarifard repository at git commit d4d7cbd29c191ee9e5c1705f96179b76bff38251 as the source of this historical gold table. File identity is the SHA-256 on this page. Guardians fetch the bytes and check the hash. That verifies the selected snapshot only. It does not prove DREAM, Sage, GitHub, or the repository authors authored those bytes, and it does not prove the gold fields are authentic psychophysics. Scoring uses only fields in that hashed file. There is no separate producer authentication commitment.
How is the winner selected?
- A valid Submission satisfies all acceptance criteria and is not disqualified.
- Highest Pearson wins; binary64 Pearson ties use lowest RMSE; remaining ties use lowercase Solver address ascending.
- If no Submission is valid, the outcome is
no_valid_submission.
Disqualification Conditions
- required artifacts missing after successful retrieval and decryption;
- the decrypted directory contains any filename other than
predictions.csvandmethods.md.
UTF-8 decode failure or CSV parse failure fails the corresponding Pass/Fail check. There is no separate “corrupt artifact” disqualification.
Out Of Scope
Guardians must not use 2025 cosine distance or Bayes factor. methods.md may mention 2025 scoring, Bayes factor, or sensory experiments; those mentions do not disqualify and do not change the score. Guardians still score Pearson then RMSE on the hashed 2024 gold. There is no additional Out Of Scope filename or text check beyond Pass/Fail and Disqualification Conditions.
Allowed Resources And Reuse
Published 2024 team prediction files may be submitted.
Guardian Verdict Instructions
Judge only submitted artifacts, this page, and the listed gold CSV. Do not fetch Synapse.
Evaluation Procedure And Limits
- Fetch
Test_set_mixturedist.csvand check SHA-256. - Open predictions.csv and methods.md.
- Apply Pass/Fail Checks.
- Compute Pearson then RMSE on the 46 aligned pairs.
- Apply the winner rule.
Do not train models. One pass over 46 pairs is enough.