En fråga är ett utrymme
Varje fråga ritar upp ett utrymme
En fråga ber inte bara om en sak. Den öppnar ett utrymme av möjliga svar, & varje potentiellt svar är en punkt någonstans i det utrymmet.
"Välj en plats att äta på" öppnar ett enormt utrymme: varje restaurang, kafé, gatorätt & kök på jorden. "Välj en vegetarisk plats inom gångavstånd, öppen nu, under femton dollar" öppnar ett litet utrymme: kanske tre punkter.
Samma avsikt, radikalt olika geometri. Den andra frågan gjorde verkligt arbete: den krympte utrymmet innan någon började söka.
Här är hela lektionen i en mening: en bra fråga är en som krymper svarsutrymmet till den region som är värd att söka i. En vag fråga lämnar ett enormt utrymme & tvingar fram en långsam, vilande sökning. En skarp fråga ger dig ett litet utrymme som du kan skanna på ett ögonkast.
Vi kommer att göra detta exakt med fyra delar av geometri: att partitionera ett utrymme, att skära det med begränsningar, & att halvera det med välvalda ja/nej-frågor.
Brett mot Smalt
Tänk på två sätt att be om hjälp med felsökning av ett program:
- Q1: "Varför fungerar inte min kod?"
- Q2: "Varför skriver denna loop ut 9 objekt när listan har 10, på Python 3.12?"
Att dela upp ett utrymme i regioner
Att bryta ner en stor fråga i regioner
När ett utrymme är för stort att söka i direkt, partitionerar du det: du delar upp det i icke-överlappande regioner som tillsammans täcker helheten. Att besvara en delfråga innebär att välja en region och ignorera resten.
Anta att frågan är "Varför sjönk omsättningen förra kvartalet?". Svarsutrymmet är enormt. Partitionera det: (a) färre kunder, (b) samma kunder som spenderar mindre, (c) en ändring i prissättning eller fakturering, (d) ett datafel. Dessa fyra regioner täcker utrymmet och överlappar inte varandra. Varje region är en mindre fråga som du kan angripa för sig.
En bra partition har två egenskaper som hämtas rakt från geometrin: regionerna täck hela rummet (inget missas) och de är disjunkta (inget räknas dubbel). Missar du en del av rummet kan det riktiga svaret gömma sig i luckan. Överlappar regionerna slösar du med ansträngning genom att söka samma mark två gånger.
Varje delfråga begränsar dig till en region. Svarar du på den har du kastat bort allt utanför den regionen: en stor, billig minskning av sökrymden.
En ren partition
En stad frågar: "Varför ökar nödhjälpsresponstiderna?"
En analytiker föreslår att dela upp det i: (a) samtal tar längre tid att nå en patrull, (b) patruller tar längre tid att anlända efter utryckning, och (c) patruller tar längre tid att avsluta och bli lediga.
Varje krav kliver ut rummet
Begränsningar som halvplaner
Tänk dig svarsrummet som en platt yta, där varje punkt är ett potentiellt svar. En begränsning är ett krav, och varje krav drar en linje över ytan och behåller bara ena sidan. I geometrin kallas den behållna sidan för en halvplan.
"Under femton dollar" är en linje; behåll den billiga sidan. "Inom gångavstånd" är en andra linje; behåll den nära sidan. "Öppet nu" är en tredje. Varje krav du lägger till är ett nytt snitt.
Svaret som uppfyller alla krav ligger i skärningen av alla behållna sidor. Skär tillräckligt många halvplaner och du får en liten begränsad region: ett ordnat område med det ena rätta svaret inuti.
Två feltyper
Underbestämd (för få snitt): området förblir obegränsat. Det sträcker sig mot oändligheten, så oändligt många vaga svar "passar". "Ge mig en bra idé" är obegränsat. Du får brus eftersom inget uteslöts.
Överbestämd (för många, eller motstridiga, snitt): området blir tomt. Halvplanerna har ingen gemensam punkt, så inget svar passar alls. "Ett tal som är både jämnt & udda" klipper ut rummet till ingenting.
En välformulerad fråga ligger mellan dessa: tillräckligt många begränsningar för att begränsa området, men inte så många att de motsäger varandra och gör det tomt.
Begränsat, obegränsat, tomt
En chef ber en designer om "en logotyp". Senare ber de om "en logotyp som är en enda bokstav, i en färg, fungerar vid 16 pixlar, & också använder minst fyra färger."
Det bästa snittet delar upp utrymmet i två
Binär sökning: Varje ja/nej halverar utrymmet
Vissa frågor är ja/nej. Geometriskt drar en ja/nej-fråga en linje & berättar vilken sida svaret ligger på: den kastar bort ett helt område med ett enda slag.
Den bästa ja/nej-frågan är den som delar upp utrymmet i två lika stora halvor, eftersom oavsett vilket svar du får har du då exakt halverat det som återstod. Fråga "ligger det i den övre halvan?" om & om & utrymmet krymper geometriskt snabbt.
Detta är binär sökning. Börja med N kandidater. Efter en bra fråga återstår N/2. Efter två, N/4. Efter k frågor, N / 2^k. Du är klar när en kandidat är kvar, så du behöver det minsta k där 2^k är minst N.
Det minsta k är taket av log2(N). För tusen kandidater: 2^9 = 512 (inte tillräckligt) & 2^10 = 1024 (tillräckligt), så log2(1000) är cirka 9,97 & du behöver 10 frågor. En miljard kandidater? log2 av en miljard är cirka 30. Halvering är så kraftfull att gången från tusen till en miljard bara lägger till cirka tjugo frågor.
Lektionen för att ställa frågor: en skarp ja/nej-fråga är värdefullast när den delar upp det återstående utrymmet jämnt. En skev fråga som bara utesluter en liten del slösar bort omgången.
Att garantera hittandet
Du spelar ett gissningsspel. Någon väljer ett heltal från 1 till 1000. Du får bara ställa ja/nej-frågor, & du spelar optimalt (varje fråga delar upp de återstående kandidaterna så jämnt som möjligt).
När svar är billiga, är nedskärningar värdefulla
Frågan är arbetet nu
Sätt ihop de fyra delarna. En fråga öppnar ett utrymme. Dekomposition partitionerar det. Begränsningar skär det till en begränsad tillåtlig region. Bra ja/nej-frågor halverar det. Varje en av dessa är en handling av att minska sökningen innan du letar efter ett svar.
Under större delen av historien var svaret den dyra delen. Man betalade en expert, körde experimentet, grävde i arkivet. Därför värderade vi personer som kunde producera svar.
Den balansen har vänt. Automatiska system genererar nu troliga svar i tusentals, nästan gratis. När svar är billiga & överflödiga, är det ingen bedrift att producera ett till. Det som förblir knappast är att veta vilket svar som är värt att ha: & det är en färdighet i att ställa frågor, inte i att producera svar.
I geometrin: en maskin ger gärna dig vilken punkt som helst i rummet. Det värde du tillför är att rita de begränsningar som kliver ner rummet till den enda region där ett bra svar måste ligga. Om du begränsar för lite drunkar du i troligt brus (en obegränsad region). Om du begränsar för mycket får du ingenting tillbaka (en tom region). Att ställa de snitt som begränsar regionen till exakt rätt storlek är den knappa, mänskliga färdigheten.
So the leverage is not "get an answer". It is "pose the constraints that make the answer space small enough that any point in it is worth having".
Vart värdet flyttat
En analytiker kan nu generera hundra utkast till strategier på minuter till nästan inga kostnader.
Frågornas geometri: Sammanfattning
Vad du har lärt dig
En fråga är inte ett begäran om ett enskilt svar. Det är ett utrymme av möjliga svar, och konsten att ställa frågor är konsten att krympa det utrymmet:
- Sökutrymme: varje fråga öppnar en mängd kandidat svar. En skarp fråga öppnar en liten mängd; en vag fråga öppnar ett enormt utrymme som du måste vandra i.
- Dekomposition som partitionering: dela upp ett stort utrymme i regioner som täcker det utan överlappning; varje delfråga begränsar dig till en region.
- Begränsningar som gränser: varje krav är ett halvt plan; svaret ligger i deras snitt. För få snitt lämnar ett obegränsat område (oändligt många vaga svar); motsägelsefulla snitt lämnar ett tomt område (inget passar).
- Inskränkning genom halvering: en välvald ja/nej-fråga delar upp utrymmet i två. Att bestämma ett tal mellan 1 och 1000 kräver ceil(log2(1000)) = 10 frågor; en miljard kräver bara cirka 30.
Och belöningen: när automatiserade system gör svaren billiga, är den knappa färdigheten inte att producera svar utan att formulera de begränsningar som kliver utrymmet till den enda region som är värd att ha. Lär dig att göra dessa snitt, & du förvandlar en enorm, vilsamt sökande process till en kort.