Ontleden
Gebasseerd op:
- "divide and conquer" by Google
- BBC bitesize decomposition in practice
Wat leer ik ?
- een groot probleem opbreken in kleinere uitdagingen
- de efficiëntie van een gekozen methode evalueren
Ontleden houdt in dat we een complex probleem of systeem opdelen in kleinere stukken, die op zichzelf makkelijker te managen en te begrijpen zijn. De kleinere stukjes kunnen dan afzonderlijk worden bestudeerd en opgelost, wat uiteindelijk leidt tot de oplossing van het grote probleem.
Waarom is ontleden van belang?
Als een complex probleem niet wordt ontleed, is het moeilijker om het op te lossen. Omgaan met verschillende deelproblemen in 1 keer is complexer dan elk deelprobleem 1 voor 1 op te lossen. Door het grote probleem op te breken, kan elk deelprobleem in groter detail worden bestudeerd en makkelijker worden opgelost.
Hetzelfde geldt voor een complex systeem. Als je bijvoorbeeld wil proberen te begrijpen hoe een fiets werkt, is dit eenvoudiger te snappen wanneer de fiets wordt opgedeeld en elk deel apart, in detail, kan worden bekeken en de werking afzonderlijk kan worden bestudeerd.
Ontleden in de praktijk
Veel taken die we elke dag uitvoeren bestaan eigenlijk uit een groot aantal subtaken, die elk hun eigen vragen oproepen. We beseffen dit vaak niet meer. Neem bijvoorbeeld tanden poetsen. Tandenpoetsen is een complex probleem voor een computer, dat veel kleinere vragen oproept.
voorbeeld 1: tanden poetsen
Wanneer we een simpele taak, zoals tandenpoetsen, ontleden in deelvragen, dan duiken er zaken op die voor ons automatisme zijn, maar wanneer je instructie zou moeten geven aan een robot of computer, een stuk minder evident zijn zoals:
- welke tandenborstel gebruik je?
- hoe lang poets je je tanden ?
- hoeveel druk zet je op de borstel ?
- welke tandpasta wordt er gebruikt ?
Bij tandenpoetsen is het natuurlijk overbodig om al deze kleine vragen elke keer opnieuw te overwegen. Dit is voor ons een kleine, vanzelfsprekende taak. Maar het opbreken van een grote vraag of probleem in kleinere problemen kan ons wél helpen als het probleem voldoende complex is:
voorbeeld 2: een misdaad oplossen
Stel je voor dat er een misdaad is gepleegd. Een misdaad oplossen kan een zeer complex probleem zijn, waar veel factoren meespreken. Deelproblemen waarin dit vraagstuk zou kunnen worden opgebroken zijn:
- welke soort misdaad is er gepleegd ?
- wanneer is de misdaad gepleegd ?
- waar is de misdaad gepleegd ?
- over welk bewijs beschikken we ?
- zijn er getuigen ?
- zijn er recent vergelijkbare misdaden gepleegd ?
elk van deze kleinere problemen zijn wel oplosbaar, en leiden telkens weer een stapje verder tot het oplossen van het grote, complexe vraagstuk.
extra materiaal
- filmpje over ontleden door curriki (Engels) - veel voorbeelden
Oefeningen
oefening 1: zoek de token
Een token wordt aan een willekeurig student gegeven, zonder dat de leerkracht dit ziet. Vervolgens probeert hij/zij in zo weinig mogelijk stappen te raden wie de token heeft.
oefening 2: Gestolen kristallen eieren
Wetenschappers moeten de tijd van een misdaad vaststellen. De enige data die beschikbaar is, zijn foto's. Deze foto's zijn elk 5 minuten van elkaar verwijderd, in een tijdspanne van 24 uur. De foto's laten de plaats van de eieren zien op de plaats waar de misdaad gebeurd is.
Gebruik ontleden om een set vragen te definiëren die leiden tot het oplossen van de vraag.
- Uitbreiding 1: Wat is het maximum aantal foto's dat moet worken bekeken om tot de oplossing te komen?
- Uitbreiding 2: kan je het algoritme schrijven voor het vinden van de juiste oplossing ?