Repository navigation
Expand file tree
/
Copy pathproblems.html
More file actions
33 lines (33 loc) · 12.7 KB
/
Copy pathproblems.html
File metadata and controls
33 lines (33 loc) · 12.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!doctype html><html lang="en"><head><meta charset="utf-8"><script>(function(){try{if(/^https?:$/.test(location.protocol)&&/\/index\.html$/.test(location.pathname))history.replaceState(null,"",location.pathname.slice(0,-10)+location.search+location.hash);var r=document.documentElement;if(sessionStorage.getItem("mais-seen"))r.classList.add("returning");sessionStorage.setItem("mais-seen","1");}catch(e){}})()</script><meta name="color-scheme" content="light"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Problems · MAIS</title><meta name="description" content="The open problems as a survey chart of research agendas."><link rel="icon" href="favicon.svg" type="image/svg+xml"><link rel="icon" href="favicon-32.png" sizes="32x32" type="image/png"><link rel="apple-touch-icon" href="apple-touch-icon.png"><meta property="og:type" content="website"><meta property="og:site_name" content="Math for AI Safety"><meta property="og:title" content="Problems · MAIS"><meta property="og:description" content="The open problems as a survey chart of research agendas."><meta property="og:url" content="https://invi-bhagyesh.github.io/MAIS-site/problems.html"><meta property="og:image" content="https://invi-bhagyesh.github.io/MAIS-site/assets/og.png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="Math for AI Safety, a research organization: open problems stated precisely and checked in public. An engraved pentagon of weight vectors on grid paper."><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Problems · MAIS"><meta name="twitter:description" content="The open problems as a survey chart of research agendas."><meta name="twitter:image" content="https://invi-bhagyesh.github.io/MAIS-site/assets/og.png"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600&family=JetBrains+Mono:wght@300;400;500&family=Newsreader:ital,opsz,wght@0,6..72,200..600;1,6..72,200..600&display=swap" rel="stylesheet"><link rel="stylesheet" href="assets/site.css"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.9/katex.min.css"><script defer src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.9/katex.min.js"></script><script defer src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.9/contrib/auto-render.min.js" onload="renderMath()"></script></head><body class="pg-problems"><a class="skip" href="#main">Skip to content</a><header class="top"><a class="brand" href="./" aria-label="Math for AI Safety, home"><svg viewBox="0 0 40 40" fill="none" stroke="currentColor" stroke-linecap="round" aria-hidden="true"><path class="lg-a" d="M5 32Q20 4 35 32" stroke-width="1.6"/><path class="lg-p lg-p1" d="M13 32V21.2" stroke-width="1.1"/><path class="lg-p lg-p2" d="M20 32V18.2" stroke-width="1.1"/><path class="lg-p lg-p3" d="M27 32V21.2" stroke-width="1.1"/><path class="lg-b" d="M2 32H38" stroke-width="1.1"/></svg><span>Math for<br>AI Safety</span></a><a class="repo" href="https://github.com/Math-for-AI-Safety/MAIS">Repository ↗</a></header><nav class="notch" aria-label="Main"><a href="./">Home</a><a href="problems.html" aria-current="page">Problems</a><a href="agendas.html">Agendas</a><a href="fields.html">Fields</a><a href="about.html">About</a><a class="wiki-link" href="wiki/">Wiki</a><button class="menu" aria-expanded="false">Menu</button></nav><div class="reg" aria-hidden="true"><i></i><i></i><i></i><i></i><b></b><b></b><b></b></div><main id="main"><div class="wrap"><div class="phead"><h1 id="hh">Problems</h1><p>Each agenda is a hill on the chart, each problem a survey point on it.</p></div>
<div class="reg-layout"><aside class="side" aria-label="Filters"><details class="fdet" id="fdet" open><summary>Filters</summary><div class="fbody"><h4>Agendas</h4><ul class="alist" id="alist"></ul>
<h4>Refine</h4><div class="txt-ctl"><label>Field <select id="f2" aria-label="Field"></select></label><label>Safety <select id="f1" aria-label="Safety area"></select></label><label>Difficulty <span class="stars-ctl" id="f3"><button data-v="1" aria-pressed="false">★</button><button data-v="2" aria-pressed="false">★★</button><button data-v="3" aria-pressed="false">★★★</button></span></label></div></div></details></aside>
<div class="chart"><div class="bar"><div class="search"><span aria-hidden="true">⌕</span><input id="q" type="search" placeholder="Search problems" aria-label="Search problems"></div><span id="cnt"></span><span class="views" role="group" aria-label="View"><button id="vm" aria-pressed="true">Chart</button><button id="vl" aria-pressed="false">List</button></span></div>
<div id="mapv"><div class="survey"><div id="mapbox"></div><div id="tip" role="tooltip"></div></div><div class="legend"><span><svg width="44" height="14"><circle cx="6" cy="7" r="3" fill="#fff" stroke="#121417"/><circle cx="19" cy="7" r="4" fill="#fff" stroke="#121417"/><circle cx="35" cy="7" r="5" fill="#fff" stroke="#121417"/></svg>difficulty ★ to ★★★</span><span><svg width="18" height="18"><circle cx="9" cy="9" r="4" fill="#121417"/><circle cx="9" cy="9" r="7" fill="none" stroke="#121417" stroke-width=".8"/></svg>resolved</span><span><svg width="34" height="10"><path d="M0 5H34" stroke="#3c4149" stroke-width=".85"/></svg>contours rise with the number of problems</span></div></div>
<div id="listv" hidden><div class="plist2" id="rows"></div></div></div></div></div>
<dialog id="dr" aria-labelledby="dt"><div class="dr-in"><button class="dr-x" id="dx" aria-label="Close">×</button><span class="mono" id="de"></span><h3 id="dt"></h3><p id="ds"></p><div class="dr-meta" id="dm"></div><a class="pill" id="dl" href="#">Read the full statement <span>↗</span></a> <a class="pill ghost" id="di" href="https://github.com/Math-for-AI-Safety/MAIS/issues/new/choose">Discuss or claim <span>↗</span></a></div></dialog></main><footer class="site-foot"><div class="wrap"><div class="f-mark"><svg viewBox="0 0 40 40" fill="none" stroke="currentColor" stroke-linecap="round" aria-hidden="true"><path d="M5 32Q20 4 35 32" stroke-width="1.6"/><path class="lg-p lg-p1" d="M13 32V21.2" stroke-width="1.1"/><path class="lg-p lg-p2" d="M20 32V18.2" stroke-width="1.1"/><path class="lg-p lg-p3" d="M27 32V21.2" stroke-width="1.1"/><path d="M2 32H38" stroke-width="1.1"/></svg></div><h2 class="f-h">Find a problem worth your time.</h2><div class="f-cols"><a class="f-col" href="problems.html"><b>Explore the problems</b><span>Open problems across eight agendas, each with a precise statement.</span><i>Open ↗</i></a><a class="f-col" href="agendas.html"><b>Read the agendas</b><span>How the problems group into research directions.</span><i>Open ↗</i></a><a class="f-col" href="fields.html"><b>Browse by field</b><span>Pick problems by the mathematics you already know.</span><i>Open ↗</i></a><a class="f-col" href="https://github.com/Math-for-AI-Safety/MAIS"><b>Contribute</b><span>Open an issue, post a partial result, or propose a problem.</span><i>Open ↗</i></a></div><div class="fbase"><small>© 2026 Math for AI Safety</small><div class="r"><a href="https://github.com/Math-for-AI-Safety/MAIS/issues/new/choose">Open an issue</a><a class="sq" href="https://github.com/Math-for-AI-Safety/MAIS" aria-label="GitHub"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg></a><a class="sq" href="https://github.com/Math-for-AI-Safety/MAIS/commits/main.atom" aria-label="Feed of changes"><svg viewBox="0 0 16 16" aria-hidden="true"><circle cx="3" cy="13" r="1.8"/><path d="M1.2 6.2v2.4A6.2 6.2 0 0 1 7.4 14.8h2.4A8.6 8.6 0 0 0 1.2 6.2zM1.2 1.4v2.4A11 11 0 0 1 12.2 14.8h2.4A13.4 13.4 0 0 0 1.2 1.4z"/></svg></a></div></div></div></footer><script type="text/plain" data-page>
scramble(document.getElementById('hh'),250);if(matchMedia('(max-width:900px)').matches)fdet.open=false;const P=MAIS.problems;const uniq=a=>[...new Set(a)].sort();let focus=null,star=null,view='m';
alist.innerHTML=KEYS.map(k=>{const n=P.filter(p=>keyOf(p)===k).length;return `<li><button data-k="${k}" aria-pressed="false"><span>${esc(AGN[k])}<sup>${n}</sup></span><span class="sq" aria-hidden="true">↘</span></button></li>`}).join('');
f1.innerHTML='<option value="">All</option>'+uniq(P.flatMap(p=>p.safety)).map(s=>`<option>${esc(s)}</option>`).join('');
f2.innerHTML='<option value="">All</option>'+uniq(P.flatMap(p=>p.math)).map(s=>`<option>${esc(s)}</option>`).join('');
const qs=new URLSearchParams(location.search);if(qs.get('agenda'))focus=qs.get('agenda');if(qs.get('field'))f2.value=qs.get('field');
function match(p){const t=q.value.toLowerCase();return(!t||(p.id+' '+p.title+' '+p.math.join()+' '+p.safety.join()).toLowerCase().includes(t))&&(!f1.value||p.safety.includes(f1.value))&&(!f2.value||p.math.includes(f2.value))&&(!star||p.stars==star)&&(!focus||keyOf(p)===focus)}
function render(){[...alist.querySelectorAll('button')].forEach(b=>b.setAttribute('aria-pressed',b.dataset.k===focus));[...f3.children].forEach(b=>b.setAttribute('aria-pressed',b.dataset.v==star));
const r=P.filter(match);cnt.textContent=r.length+' / '+P.length;
if(view==='m')surveyChart(mapbox,P,new Set(r.map(p=>p.n)),focus);
else rows.innerHTML=r.map(p=>`<div class="prow" tabindex="0" role="button" data-n="${p.n}"><span class="mono">O${p.n}</span><h3>${esc(p.title)}</h3><span class="ar">${esc(AGN[keyOf(p)])}</span><span class="mono st">${stars(p.stars)}</span></div>`).join('')}
alist.addEventListener('click',e=>{const b=e.target.closest('button');if(!b)return;focus=focus===b.dataset.k?null:b.dataset.k;render()});
f3.addEventListener('click',e=>{const b=e.target.closest('button');if(!b)return;e.preventDefault();star=star==b.dataset.v?null:+b.dataset.v;render()});
[q,f1,f2].forEach(e=>e.addEventListener('input',render));
function openP(n){const p=P.find(x=>x.n==n);if(!p)return;de.textContent=p.id+' ✦ '+AGN[keyOf(p)];dt.textContent=p.title;ds.textContent=p.short;
dm.innerHTML=`Difficulty ${stars(p.stars)}${p.empirical?' (empirical)':''}${p.resolved?' ✦ resolved':''}<br>Safety: ${esc(p.safety.join(', '))}<br>Mathematics: ${esc(p.math.join(', '))}`;dl.href=PROB+p.file;if(!dr.open)dr.showModal();history.replaceState(null,'','#O'+p.n);renderMath(dr)}
dx.onclick=()=>dr.close();dr.addEventListener('close',()=>history.replaceState(null,'',location.pathname+location.search));dr.addEventListener('click',e=>{if(e.target===dr)dr.close()});
const pick=e=>{const d=e.target.closest('.mk,.prow');if(d)openP(d.dataset.n)};mapbox.addEventListener('click',pick);rows.addEventListener('click',pick);
[mapbox,rows].forEach(el=>el.addEventListener('keydown',e=>{if(e.key==='Enter'||e.key===' '){const d=e.target.closest('.mk,.prow');if(d){e.preventDefault();openP(d.dataset.n)}}}));
const wrapEl=document.querySelector('.survey');
function tipAt(p,x,y){tip.innerHTML=`${esc(p.id)}<br>${esc(p.title)}`;const b=wrapEl.getBoundingClientRect();tip.style.left=Math.max(4,Math.min(x,b.width-270))+'px';tip.style.top=y+'px';tip.style.opacity=1}
mapbox.addEventListener('mousemove',e=>{const d=e.target.closest&&e.target.closest('.mk');if(!d){tip.style.opacity=0;return}const b=wrapEl.getBoundingClientRect();tipAt(P.find(x=>x.n==d.dataset.n),e.clientX-b.left+14,e.clientY-b.top+16)});
mapbox.addEventListener('mouseleave',()=>tip.style.opacity=0);mapbox.addEventListener('focusin',e=>{const d=e.target.closest('.mk');if(!d)return;const r=d.getBoundingClientRect(),b=wrapEl.getBoundingClientRect();tipAt(P.find(x=>x.n==d.dataset.n),r.left-b.left,r.bottom-b.top+8)});mapbox.addEventListener('focusout',()=>tip.style.opacity=0);
function setView(v){view=v;mapv.hidden=v!=='m';listv.hidden=v!=='l';vm.setAttribute('aria-pressed',v==='m');vl.setAttribute('aria-pressed',v==='l');render()}
vm.onclick=()=>setView('m');vl.onclick=()=>setView('l');
const box=mapbox;let rt;const ro=new ResizeObserver(()=>{if(!box.isConnected){ro.disconnect();return}if(view==='m'){clearTimeout(rt);rt=setTimeout(()=>{if(box.isConnected)render()},90)}});ro.observe(box);
setView(qs.get('view')==='list'?'l':'m');const h=location.hash.match(/^#O(\d+)$/);if(h)openP(h[1]);</script><script src="assets/data.js"></script><script src="assets/art.js"></script><script src="assets/engrave.js"></script><script src="assets/site.js"></script></body></html>