Skip to content

Commit 435b997

Browse files
committed
Add Maia3 paper
1 parent 7afdc64 commit 435b997

2 files changed

Lines changed: 52 additions & 48 deletions

File tree

src/components/Common/Footer.tsx

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,30 +18,38 @@ export const Footer: React.FC = () => {
1818
title: 'Research',
1919
links: [
2020
{
21-
href: 'https://arxiv.org/abs/2006.01855',
22-
text: "Maia Paper (KDD '20)",
21+
href: 'https://arxiv.org/abs/2605.19091',
22+
text: "Maia-3 Paper (ICLR '26)",
2323
},
2424
{
2525
href: 'https://www.cs.toronto.edu/~ashton/pubs/maia2-neurips2024.pdf',
2626
text: "Maia-2 Paper (NeurIPS '24)",
2727
},
28+
{
29+
href: 'https://arxiv.org/abs/2006.01855',
30+
text: "Maia Paper (KDD '20)",
31+
},
2832
{
2933
href: 'https://csslab.cs.toronto.edu/research/',
3034
text: 'CSSLab Research',
3135
},
3236
],
3337
},
3438
{
35-
title: 'Opensource',
39+
title: 'Open-Source',
3640
links: [
3741
{
38-
href: 'https://github.com/CSSLab/maia-chess',
39-
text: 'Maia Model',
42+
href: 'https://github.com/CSSLab/maia3',
43+
text: 'Maia-3 Model',
4044
},
4145
{
4246
href: 'https://github.com/CSSLab/maia2',
4347
text: 'Maia-2 Model',
4448
},
49+
{
50+
href: 'https://github.com/CSSLab/maia-chess',
51+
text: 'Maia Model',
52+
},
4553
{
4654
href: 'https://github.com/csslab/maia-platform-frontend',
4755
text: 'Maia Web Platform',

src/components/Home/AboutMaia.tsx

Lines changed: 39 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,44 @@ const teamMembers = [
8383
},
8484
]
8585

86-
const researchPapers = {
86+
interface Paper {
87+
title: string
88+
link: string
89+
description: string
90+
image?: string
91+
shortName?: string
92+
}
93+
94+
const researchPapers: {
95+
maia1: Paper
96+
maia2: Paper
97+
maia3: Paper
98+
others: Paper[]
99+
} = {
87100
maia1: {
88101
title:
89102
'Aligning Superhuman AI with Human Behavior: Chess as a Model System',
90103
link: 'https://www.cs.toronto.edu/~ashton/pubs/maia-kdd2020.pdf',
91104
description:
92105
'This paper introduces Maia, a chess engine trained to imitate real human moves at different rating levels. Instead of always picking the best move, Maia predicts what a human player of a given skill would actually play. This makes it ideal for training, game analysis, and even coaching, as it helps players learn from realistic decisions rather than computer perfection. It was the first AI to prioritize human-likeness over engine strength, making it a powerful tool for improvement.',
106+
image: 'maia1',
107+
shortName: 'Maia 1',
93108
},
94109
maia2: {
95110
title: 'Maia‑2: A Unified Model for Human‑AI Alignment in Chess',
96111
link: 'https://www.cs.toronto.edu/~ashton/pubs/maia2-neurips2024.pdf',
97112
description:
98113
"Maia‑2 is the evolution of Maia into a single model that can simulate any skill level in chess. Instead of using separate models for different ratings, it understands and adapts to your level in real time. Whether you're a beginner or a master, Maia‑2 predicts the moves players like you would actually make. It's built to feel human, teach naturally, and support personalized analysis without needing to toggle between bots.",
114+
image: 'maia2',
115+
shortName: 'Maia 2',
116+
},
117+
maia3: {
118+
title: 'Chessformer: A Unified Architecture for Chess Modeling',
119+
link: 'https://arxiv.org/abs/2605.19091',
120+
description:
121+
'Introduces Chessformer, a transformer-based architecture that unifies chess modeling to capture how human players make decisions across a wide range of skill levels.',
122+
image: 'maia3',
123+
shortName: 'Maia 3',
99124
},
100125
others: [
101126
{
@@ -133,7 +158,7 @@ const PaperCard = ({
133158
featured = false,
134159
className = '',
135160
}: {
136-
paper: typeof researchPapers.maia1
161+
paper: Paper
137162
featured?: boolean
138163
className?: string
139164
}) => (
@@ -154,7 +179,7 @@ const PaperCard = ({
154179
{featured && (
155180
<div className="aspect-[4/3] w-full overflow-hidden">
156181
<img
157-
src={`/assets/papers/${paper.title.includes('Maia‑2') ? 'maia2' : 'maia1'}.jpg`}
182+
src={`/assets/papers/${paper.image}.jpg`}
158183
alt={`${paper.title} paper preview`}
159184
className="h-full w-full object-cover object-top"
160185
/>
@@ -180,7 +205,7 @@ const PaperCard = ({
180205
rel="noreferrer"
181206
className="inline-flex w-full items-center justify-center bg-human-4/80 px-5 py-3 font-medium text-primary transition duration-200 hover:bg-human-4"
182207
>
183-
Read {paper.title.includes('Maia‑2') ? 'Maia 2' : 'Maia 1'} Paper
208+
Read {paper.shortName} Paper
184209
</a>
185210
)}
186211
</div>
@@ -256,46 +281,17 @@ export const AboutMaia = () => {
256281
</div>
257282
</div>
258283
<div className="mx-auto max-w-[95%] px-2 pt-16 md:max-w-[90%] md:px-4">
259-
{/* Layout for screens < 1280px */}
260-
<div className="xl:hidden">
261-
{/* Featured papers in a row */}
262-
<div className="mb-6 grid grid-rows-2 gap-6 md:grid-cols-2 md:grid-rows-none">
263-
<PaperCard
264-
paper={researchPapers.maia1}
265-
featured={true}
266-
className=""
267-
/>
268-
<PaperCard
269-
paper={researchPapers.maia2}
270-
featured={true}
271-
className=""
272-
/>
273-
</div>
274-
{/* Other papers in a row */}
275-
<div className="grid grid-rows-2 gap-4 sm:grid-cols-4 sm:grid-rows-none">
276-
{researchPapers.others.map((paper, index) => (
277-
<PaperCard key={index} paper={paper} className="flex-1" />
278-
))}
279-
</div>
284+
{/* Featured papers */}
285+
<div className="mb-6 grid gap-6 md:grid-cols-3">
286+
<PaperCard paper={researchPapers.maia1} featured={true} />
287+
<PaperCard paper={researchPapers.maia2} featured={true} />
288+
<PaperCard paper={researchPapers.maia3} featured={true} />
280289
</div>
281-
282-
{/* Layout for screens >= 1280px (original layout) */}
283-
<div className="hidden xl:grid xl:grid-cols-3 xl:gap-6">
284-
<PaperCard
285-
paper={researchPapers.maia1}
286-
featured={true}
287-
className=""
288-
/>
289-
<PaperCard
290-
paper={researchPapers.maia2}
291-
featured={true}
292-
className=""
293-
/>
294-
<div className="flex flex-col gap-4">
295-
{researchPapers.others.map((paper, index) => (
296-
<PaperCard key={index} paper={paper} className="flex-1" />
297-
))}
298-
</div>
290+
{/* Other papers in two columns */}
291+
<div className="grid gap-4 sm:grid-cols-2">
292+
{researchPapers.others.map((paper, index) => (
293+
<PaperCard key={index} paper={paper} />
294+
))}
299295
</div>
300296
</div>
301297
</section>

0 commit comments

Comments
 (0)