diff --git a/website/assets/env-atari57.png b/website/assets/env-atari57.png new file mode 100644 index 0000000..c3cbd8f Binary files /dev/null and b/website/assets/env-atari57.png differ diff --git a/website/assets/env-breakout-ram.png b/website/assets/env-breakout-ram.png new file mode 100644 index 0000000..ceff1c2 Binary files /dev/null and b/website/assets/env-breakout-ram.png differ diff --git a/website/assets/env-breakout-rgb.png b/website/assets/env-breakout-rgb.png new file mode 100644 index 0000000..d1c60c3 Binary files /dev/null and b/website/assets/env-breakout-rgb.png differ diff --git a/website/assets/env-halfcheetah.png b/website/assets/env-halfcheetah.png new file mode 100644 index 0000000..e212c99 Binary files /dev/null and b/website/assets/env-halfcheetah.png differ diff --git a/website/assets/env-montezuma.png b/website/assets/env-montezuma.png new file mode 100644 index 0000000..d2d54a7 Binary files /dev/null and b/website/assets/env-montezuma.png differ diff --git a/website/assets/env-pong.png b/website/assets/env-pong.png new file mode 100644 index 0000000..465455d Binary files /dev/null and b/website/assets/env-pong.png differ diff --git a/website/assets/env-vizdoom-d1.png b/website/assets/env-vizdoom-d1.png new file mode 100644 index 0000000..52391ba Binary files /dev/null and b/website/assets/env-vizdoom-d1.png differ diff --git a/website/assets/env-vizdoom-d3.png b/website/assets/env-vizdoom-d3.png new file mode 100644 index 0000000..1d80b1d Binary files /dev/null and b/website/assets/env-vizdoom-d3.png differ diff --git a/website/index.html b/website/index.html index fba0748..0aac83b 100644 --- a/website/index.html +++ b/website/index.html @@ -135,6 +135,20 @@ .loop-sub{max-width:52ch;font-size:.875rem;line-height:1.5;color:var(--ink-soft)} .loop-sub a{color:var(--forest);text-decoration:underline;text-underline-offset:3px; text-decoration-color:color-mix(in srgb,var(--forest) 35%,transparent)} +.task-pager{margin-top:1.05rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem; + border:1px solid var(--line);border-radius:8px;background:var(--paper-2);padding:.8rem .9rem;max-width:44rem} +.tp-arrow{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%; + border:1px solid var(--line-strong);background:var(--card);color:var(--forest-ink);cursor:pointer;flex-shrink:0; + transition:background .15s,border-color .15s,color .15s} +.tp-arrow:hover{background:var(--forest-ink);border-color:var(--forest-ink);color:var(--paper)} +.tp-body{text-align:center;min-width:0} +.tp-top{display:flex;justify-content:center;align-items:baseline;gap:.6rem;flex-wrap:wrap} +.tp-count{font-size:.71875rem;font-weight:700;letter-spacing:.08em;color:var(--ink-soft)} +.tp-env{font-size:.9375rem;font-weight:600;color:var(--forest-ink)} +.tp-desc{margin-top:.25rem;font-size:.84375rem;line-height:1.5;color:var(--ink-soft);text-wrap:pretty} +.tp-id{display:inline-block;margin-top:.3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.71875rem; + color:var(--forest);text-decoration:underline;text-underline-offset:3px; + text-decoration-color:color-mix(in srgb,var(--forest) 35%,transparent);overflow-wrap:anywhere} .loop{margin-top:1.3rem;display:flex;flex-direction:column;align-items:center;gap:.65rem} .loop-chip{display:flex;flex-direction:column;gap:.1rem;padding:.6rem .95rem;border:1px solid var(--line-strong); border-radius:8px;background:var(--card);font-size:.9375rem;font-weight:500;color:var(--forest-ink); @@ -315,11 +329,18 @@

How it works

Heuristic policies in simulation

No training and no H100s yet — agents iterate on code logic alone, optimizing heuristic policies for performance in simulation.

-

The reference task runs this improvement loop on the MuJoCo - Ant environment - (Gymnasium).

+

This stage ships nine tasks — each runs the same improvement loop in its own simulated environment.

+
+ +
+
01 / 09MuJoCo Ant
+

Improve a programmatic Ant locomotion policy under a fixed autonomous research budget.

+ simulation_heuristics_ant_v1 ↗ +
+ +
-
Starter policya runnable CPG/PD gait — weaker than the reference
+
Starter policya runnable CPG/PD gait — weaker than the reference

Heuristic policies in simulation

+ MuJoCo Ant, pencil illustration + MuJoCo Ant
-
Submit the best policyscored on a hidden Ant suite · starter = 0, reference = 100
+
Submit the best policyscored on a hidden evaluation suite · starter = 0, reference = 100
-

Mirrors the simulation-heuristics Ant v1 reference task; snippets are illustrative.

+

Code snippets in the nodes mirror the Ant v1 reference task; all nine task packages live on GitHub.

@@ -549,6 +570,76 @@

Research background

pop.addEventListener('mouseenter',function(){clearTimeout(hideT);}); pop.addEventListener('mouseleave',hide); document.addEventListener('keydown',function(e){if(e.key==='Escape'){clearTimeout(hideT);pop.classList.remove('show');}}); + + /* ---- task pager: the nine simulation-heuristics task packages ---- */ + var TASKS=[ + {id:"simulation_heuristics_ant_v1",env:"MuJoCo Ant",lbl:"MuJoCo Ant",img:"assets/ant.png", + d:"Improve a programmatic Ant locomotion policy under a fixed autonomous research budget.", + start:"a runnable CPG/PD gait — weaker than the reference", + pop:"

A dome torso on four two-segment legs — 8 actuated joints in the MuJoCo physics engine. Episodes return a score the agent can measure.

MuJoCo Ant, pencil illustrationgymnasium.farama.org — Ant ↗"}, + {id:"simulation_heuristics_halfcheetah_v1",env:"MuJoCo HalfCheetah",lbl:"HalfCheetah",img:"assets/env-halfcheetah.png", + d:"Improve an interpretable HalfCheetah controller under a fixed autonomous research budget.", + start:"an asymmetric CPG/PD baseline — weaker than the reference", + pop:"

A planar cheetah with six actuated joints in the MuJoCo physics engine — the goal is fast, stable forward running.

MuJoCo HalfCheetah, pencil illustrationgymnasium.farama.org — HalfCheetah ↗"}, + {id:"simulation_heuristics_pong_ram_v1",env:"Atari Pong (RAM)",lbl:"Pong · RAM",img:"assets/env-pong.png", + d:"Improve a programmatic Atari Pong controller that acts from the current 128-byte RAM state.", + start:"a weak, late-reacting RAM controller", + pop:"

Classic Atari Pong via EnvPool — the controller never sees pixels; it acts from the live 128-byte RAM state.

Pong court, pencil illustrationenvpool.readthedocs.io ↗"}, + {id:"simulation_heuristics_breakout_ram_v1",env:"Atari Breakout (RAM)",lbl:"Breakout · RAM",img:"assets/env-breakout-ram.png", + d:"Improve a RAM-only programmatic Atari Breakout policy toward the 864-point article result.", + start:"a RAM-state starter policy — normalized to 0", + pop:"

Atari Breakout via EnvPool, observed as the 128-byte RAM state — no pixels.

Breakout bricks over a memory chip, pencil illustrationenvpool.readthedocs.io ↗"}, + {id:"simulation_heuristics_breakout_rgb_v1",env:"Atari Breakout (RGB)",lbl:"Breakout · RGB",img:"assets/env-breakout-rgb.png", + d:"Improve a pixel-only Atari Breakout policy toward the article's 864-point RAM-to-RGB transfer result.", + start:"a pixel-only starter policy — normalized to 0", + pop:"

Atari Breakout via EnvPool, observed as rendered RGB frames only — the RAM-to-RGB transfer setting.

Breakout on a CRT monitor, pencil illustrationenvpool.readthedocs.io ↗"}, + {id:"simulation_heuristics_montezuma_v1",env:"Montezuma's Revenge",lbl:"Montezuma",img:"assets/env-montezuma.png", + d:"Improve a native-image Montezuma policy beyond a brittle open-loop replay.", + start:"a working but weak native-RGB controller", + pop:"

EnvPool MontezumaRevenge-v5 from native RGB observations — the classic hard-exploration Atari game.

Platform room with ladder and key, pencil illustrationenvpool.readthedocs.io ↗"}, + {id:"simulation_heuristics_vizdoom_d1_v1",env:"ViZDoom D1 medikit",lbl:"D1 · medikit",img:"assets/env-vizdoom-d1.png", + d:"Improve a rendered-pixel ViZDoom D1 medikit policy under a fixed autonomous research budget.", + start:"a working but weak programmatic controller", + pop:"

EnvPool D1Basic-v1 — a ViZDoom medikit scenario played from rendered screen pixels.

First-person corridor with medikits, pencil illustrationvizdoom.farama.org ↗"}, + {id:"simulation_heuristics_vizdoom_d3_v1",env:"ViZDoom D3 battle",lbl:"D3 · battle",img:"assets/env-vizdoom-d3.png", + d:"Improve a screen-CV ViZDoom D3 battle policy under a fixed autonomous research budget.", + start:"a working but weak programmatic controller", + pop:"

EnvPool D3Battle-v1 — a ViZDoom battle scenario driven by screen-CV features.

First-person arena view, pencil illustrationvizdoom.farama.org ↗"}, + {id:"simulation_heuristics_atari57_v1",env:"Atari-57 suite",lbl:"Atari-57",img:"assets/env-atari57.png", + d:"Improve one aggregate 342-policy Atari-57 submission produced by 342 independently accounted heuristic-search trajectories.", + start:"an aggregate starter artifact spanning all 57 games", + pop:"

The full Atari-57 suite via EnvPool — one programmatic policy slot for every game, observation mode, and independent repeat.

Grid of small arcade screens, pencil illustrationenvpool.readthedocs.io ↗"} + ]; + var ti=0, + tpCount=document.getElementById('tpCount'),tpEnv=document.getElementById('tpEnv'), + tpDesc=document.getElementById('tpDesc'),tpId=document.getElementById('tpId'), + loopStart=document.getElementById('loopStart'),envImg=document.getElementById('loopEnvImg'), + envLbl=document.getElementById('loopEnvLbl'), + pager=document.querySelector('.task-pager'); + function renderTask(n){ + ti=(n+TASKS.length)%TASKS.length; + var t=TASKS[ti]; + tpCount.textContent="0"+(ti+1)+" / 09"; + tpEnv.textContent=t.env; + tpDesc.textContent=t.d; + tpId.textContent=t.id+" ↗"; + tpId.href="https://github.com/benchflow-ai/GenesisBench/tree/main/tasks/"+t.id; + loopStart.textContent=t.start; + CONTENT.env={t:"Environment — "+t.env,h:t.pop}; + if(envImg.getAttribute("src")!==t.img){envImg.src=t.img;envImg.alt=t.env+", pencil illustration";} + envLbl.textContent=t.lbl; + if(current&¤t.dataset.k==="env"&&pop.classList.contains("show"))show(current); + } + if(pager){ + document.getElementById('tpPrev').addEventListener('click',function(){renderTask(ti-1);}); + document.getElementById('tpNext').addEventListener('click',function(){renderTask(ti+1);}); + pager.addEventListener('keydown',function(e){ + if(e.key==='ArrowLeft'){renderTask(ti-1);e.preventDefault();} + if(e.key==='ArrowRight'){renderTask(ti+1);e.preventDefault();} + }); + renderTask(0); + setTimeout(function(){TASKS.forEach(function(t){var im=new Image();im.src=t.img;});},1500); + } })();