English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

gast
1 / ?
terug naar lessen

Een vraag is een ruimte

Elke vraag tekent een ruimte

Een vraag vraagt niet slechts om één ding. Het opent een ruimte van mogelijke antwoorden, & elk kandidaat-antwoord is een punt ergens in die ruimte.

"Kies een plek om te eten" opent een enorme ruimte: elk restaurant, elke café, elke foodtruck & elke keuken op aarde. "Kies een vegetarische plek op loopafstand, nu open, onder vijftien dollar" opent een kleine ruimte: misschien drie punten.

Zelfde intentie, radicaal andere geometrie. De tweede vraag deed echt werk: het verkleinde de ruimte voordat iemand begon met zoeken.

Dit is de hele les in één zin: een goede vraag is er een die het antwoordruimte verkleint tot het gebied dat het zoeken waard is. Een vage vraag laat een enorme ruimte achter & dwingt tot een langzame, dwalende zoektocht. Een scherpe vraag geeft je een kleine ruimte die je in één oogopslag kunt scannen.

We maken dit precies met vier stukken meetkunde: een ruimte partitioneren, het knippen met constraints, & het halveren met goed gekozen ja/nee-vragen.

Breed versus Smal

Overweeg twee manieren om hulp te vragen bij het debuggen van een programma:

- Q1: "Waarom werkt mijn code niet?"

- Q2: "Waarom geeft deze lus 9 items uit, terwijl de lijst 10 heeft, op Python 3.12?"

Beschrijf de antwoordruimte die elke vraag opent, & leg meetkundig uit waarom Q2 de betere vraag is. Wat deed het extra detail in Q2 met de grootte van de ruimte?

Een Ruimte Opsplitsen in Regio's

Een Grote Vraag Opsplitsen in Regio's

Wanneer een ruimte te groot is om direct te doorzoeken, partitie je hem: je splitst hem in niet-overlappende regio's die samen het geheel dekken. Een deelvraag beantwoorden betekent het kiezen van één regio & het negeren van de rest.

Stel dat de vraag is: "Waarom is de omzet vorig kwartaal gedaald?" Het antwoordsgebied is enorm. Partitie het: (a) minder klanten, (b) dezelfde klanten die minder uitgeven, (c) een wijziging in prijsstelling of facturatie, (d) een datafout. Deze vier regio's dekken de ruimte & overlappen niet. Elke regio is een kleinere vraag die je afzonderlijk kunt aanpakken.

Een goede partitie heeft twee eigenschappen die rechtstreeks uit de meetkunde komen: de gebieden dekken de hele ruimte (niets wordt overgeslagen) & ze zijn disjunct (niets wordt dubbel geteld). Miss je een deel van de ruimte & het echte antwoord kan in het gat verstoppen. Overlap je de gebieden & je verspilt inspanning door hetzelfde terrein twee keer te doorzoeken.

Elke deelvraag beperkt je tot één gebied. Beantwoord je die, & je hebt alles buiten dat gebied weggegooid: een grote, goedkope reductie van de zoekruimte.

Een schone partitie

Een stad vraagt: "Waarom stijgen de reactietijden van de hulpdiensten?"

Een analist stelt voor om het op te splitsen in: (a) oproepen duren langer om een team te bereiken, (b) teams duren langer om te arriveren nadat ze zijn uitgestuurd, & (c) teams duren langer om klaar te zijn en vrij te komen.

Leg uit waarom dit als een goede partitie van het antwoordspace van de vraag kan worden beschouwd. Welke twee meetkundige eigenschappen zouden de gebieden moeten hebben, & hoe verkleint het beantwoorden van één deelvraag de zoekruimte?

Elke eis snijdt de ruimte

Beperkingen als halve vlakken

Stel je de antwoornsruimte voor als een vlak vlak, waarbij elk punt een kandidaat-antwoord is. Een beperking is een eis, & elke eis tekent een lijn over het vlak & behoudt slechts één zijde. In de meetkunde is die behouden zijde een halfvlak.

"Onder vijftien dollar" is één lijn; behoud de goedkope zijde. "Binnen loopafstand" is een tweede lijn; behoud de nabije zijde. "Nu open" is een derde. Elke eis die je toevoegt, is een nieuwe snijding.

Het antwoord dat aan alle eisen voldoet, bevindt zich in de snijding van alle behouden zijden. Snijd genoeg halfvlakken & je krijgt een klein begrensd gebied: een net gebied met het ene juiste antwoord erin.

Constraints as half-planes with a bounded feasible region

Twee falingsmodi

Onvoldoende beperkt (te weinig sneden): het gebied blijft ongebonden. Het loopt door naar oneindig, waardoor oneindig veel vage antwoorden allemaal "passen". "Geef me een goed idee" is ongebonden. Je krijgt ruis omdat er niets is uitgesloten.

Te veel beperkt (te veel, of tegenstrijdige, sneden): het gebied wordt leeg. De halfvlakken hebben geen gemeenschappelijk punt, dus geen enkel antwoord past. "Een getal dat zowel even als oneven is" snijdt de ruimte terug tot niets.

Een goed gestelde vraag ligt tussen deze twee: genoeg beperkingen om het gebied te begrenzen, maar niet zo veel dat ze elkaar tegenspreken en het leegmaken.

Begrensd, Onbegrensd, Leeg

Een manager vraagt een ontwerper om "een logo". Later vragen ze om "een logo dat één letter is, in één kleur, werkt op 16 pixels, & ook minstens vier kleuren gebruikt."

Gebruikend het halfvlak-beeld, beschrijf het haalbare gebied voor elke verzoek. Welke is onbegrensd & waarom, welke is leeg & waarom, & wat betekent elke faling voor het antwoord dat de ontwerper kan geven?

De Beste Snede Deelt de Ruimte in Twee

Binair Zoeken: Elke Ja/Nee Deelt de Ruimte in Twee

Sommige vragen zijn ja/nee. Geometrisch trekt een ja/nee-vraag één lijn & geeft aan aan welke kant het antwoord zit: het gooit een heel gebied in één slag weg.

De beste ja/nee-vraag is de vraag die de ruimte in twee gelijke helften deelt, omdat je dan, ongeacht het antwoord, precies de helft van wat overbleef hebt uitgesloten. Vraag "ligt het in de bovenste helft?" steeds opnieuw & de ruimte krimpt geometrisch snel.

Dit is binaire zoektocht. Begin met N kandidaten. Na één goede vraag blijven er N/2 over. Na twee, N/4. Na k vragen, N / 2^k. Je bent klaar wanneer er één kandidaat over is, dus je hebt de kleinste k nodig waarbij 2^k minstens N is.

Die kleinste k is het plafond (afgerond omhoog) van log2(N). Voor duizend kandidaten: 2^9 = 512 (niet genoeg) & 2^10 = 1024 (wel genoeg), dus log2(1000) is ongeveer 9,97 & je hebt 10 vragen nodig. Een miljard kandidaten? log2 van een miljard is ongeveer 30. Halveren is zo krachtig dat het gaan van duizend naar een miljard slechts ongeveer twintig vragen toevoegt.

De les voor het stellen van vragen: een scherpe ja/nee-vraag is het meest waard wanneer hij de resterende ruimte gelijkmatig verdeelt. Een scheve vraag die slechts een klein deel uitsluit, verspilt de beurt.

Het vinden garanderen

Je speelt een raadspel. Iemand kiest een geheel getal van 1 tot 1000. Je mag alleen ja/nee-vragen stellen, & je speelt optimaal (elke vraag deelt de resterende kandidaten zo gelijk mogelijk).

In het slechtste geval, wat is het minimum aantal ja/nee-vragen dat GARANTIE geeft dat je het getal identificeert? Noem het eindgetal, & leg de redenering van halveren / log2 erachter uit.

Wanneer antwoorden goedkoop zijn, zijn snijdingen waardevol

De vraag is nu het werk

Zet de vier onderdelen bij elkaar. Een vraag opent een ruimte. Decompositie partitieert het. Beperkingen snijden het in een begrensbaar haalbaar gebied. Goede ja/nee-vragen halveren het. Elk van deze is een daad van het zoeken verkleinen voordat je naar een antwoord zoekt.

Gedurende het grootste deel van de geschiedenis was het antwoord het dure deel. Je betaalde een expert, voerde het experiment uit, doorzocht het archief. Daarom waardeerden we mensen die antwoorden konden produceren.

Dat evenwicht is verstoord. Geautomatiseerde systemen genereren nu plausibele antwoorden in duizenden, vrijwel gratis. Wanneer antwoorden goedkoop & overvloedig zijn, is het produceren van nog één antwoord geen prestatie meer. Wat schaars blijft, is weten welk antwoord de moeite waard is: & dat is een vaardigheid in het stellen van vragen, niet in het produceren van antwoorden.

In de meetkunde: een machine zal je graag elk punt in de ruimte aanreiken. De waarde die jij toevoegt, is het tekenen van de restricties die de ruimte inkorten tot het ene gebied waar een goed antwoord zich moet bevinden. Te weinig restricties & je verdrinkt in plausibel ruis (een onbegrensd gebied). Te veel restricties & je krijgt niets terug (een leeg gebied). Het stellen van de snijlijnen die het gebied tot precies de juiste grootte begrenzen, is de schaarse, menselijke vaardigheid.

Dus de hefboom is niet "een antwoord krijgen". Het is "de restricties stellen die de antwoorruiimte klein genoeg maken, zodat elk punt erin de moeite waard is".

Waarnaartoe de waarde is verschoven

Een analist kan nu in enkele minuten een honderd conceptstrategieën genereren tegen vrijwel geen kosten.

Gebruik de meetkunde van de zoekruimte uit deze les om uit te leggen waarom de waarde van de analist is verschoven van het produceren van antwoorden naar het formuleren van de vraag. Wat doet de analist er in feite mee met de antwoorruiimte, & waarom mislukt het bij te weinig of te veel restricties?

De meetkunde van vragen: Samenvatting

Wat je hebt geleerd

Een vraag is geen verzoek om één antwoord. Het is een ruimte van mogelijke antwoorden, en het vak van het stellen van vragen is het vak van het verkleinen van die ruimte:

- Zoekruimte: elke vraag opent een set van kandidaatantwoorden. Een scherpe vraag opent een kleine set; een vage vraag opent een enorme set waarin je moet rondzwerven.

- Ontleding als partitie: verdeel een grote ruimte in gebieden die deze volledig bedekken zonder overlapping; elke subvraag beperkt je tot één gebied.

- Beperkingen als grenzen: elke eis is een halfvlak; het antwoord bevindt zich in hun snijding. Te weinig sneden laten een onbegrensd gebied achter (oneindig veel vage antwoorden); tegenstrijdige sneden laten een leeg gebied achter (niets past).

- Verkleinen door halvering: een goed gekozen ja/nee-vraag deelt de ruimte in tweeën. Om een getal in 1 tot 1000 te bepalen, zijn ⌈log2(1000)⌉ = 10 vragen nodig; een miljard vereist slechts ongeveer 30.

En de beloning: wanneer geautomatiseerde systemen antwoorden goedkoop maken, is de schaarse vaardigheid niet het produceren van antwoorden, maar het formuleren van de beperkingen die de ruimte tot het ene gebied dat de moeite waard is, inkrimpen. Leer die sneden te maken, & je verandert een uitgebreid, dwalend zoeken in een kort een.