A research programme built on one question

How can we design intelligent systems that adapt, optimize and create, not just compute?

My answer is generative optimization: AI that generates, models of engagement that evaluate, and metaheuristics that search, built up since 2012.

Behind this page is a live latent space: every point is an embedding, not a word, and each spark is a thought moving through it, attending to its neighbours as it goes. Click anywhere to start one.

/ the loop, running live

Watch an algorithm design an engaging puzzle.

A generator edits Sudoku puzzles, a simulated player rates how engaging each one is, and a search archive keeps the best puzzle for every style. Most designs land too easy; watch the search find the narrow comfortable zone.

GENERATE→EVALUATE→SEARCH↺
CANDIDATE
GAME REFINEMENT · GR = √G / T
too hardcomfortable 0.07–0.08too easy
waiting for the first candidate…
MAP-ELITES ARCHIVE · click a niche
symmetry →
22 givens← fewer clues · more clues →45
comfortabletoo easytoo hard
0
Puzzles evaluated
0 / 40
Niches filled
0
In comfort zone

An illustrative teaching model of my work on puzzle generation and game refinement: the generator here makes random edits where the research uses AI agents, and GR = √G / T is a simplified measure (G cells placed, T candidate values weighed).

/ research programme

Generative optimization: one loop, three stages.

NOW
Generative Optimization
Closing the loop for individual design problems, optimized against human engagement.
NEXT
Generative Optinformatics
A loop that learns from its own search history and transfers it to new design problems.
Read the programme →

/ selected work

Selected articles.

All 113 publications →

Open to collaboration.

PhD and Master's supervision at every stage of the loop, industry research collaboration, and conference invitations.

Get in touch →