2009-2010
Carl Linnaeus (1707-1778) is de grondlegger van de taxonomie van levende wezens zoals wij die kennen en waarin de mens aangeduid wordt als homo sapiens. Uiteraard ging hij nogal met de losse pols tewerk bij zijn indeling van planten- en dierensoorten in ordes, families en genera en kan het veel beter. We kunnen indelingen maken die op meer objectieve verschillen gebaseerd zijn.
In het bestand mammalsgraph.xml staat informatie over een aantal al dan niet uitgestorven zoogdiersoorten (een aantal zeer verwante soorten is op een punt samengebracht), samen met de vergelijkingen tussen een aantal soorten die aangeven hoe verwant ze zijn. Maak een zinnige indeling in groepen, waarbij je als parameter opgeeft hoeveel groepen je juist wil.
De interessantste zoogdiersoort is uiteraard de mens (species ID='S747' name='(modern humans)'). Om te zien of een groepsindeling je bevalt, schrijf je alle soorten uit die tot dezelfde groep als de mens behoren.
De straal van een gewogen, connexe ongerichte graaf vanuit een gegeven knoop is de afstand tot de verste knoop in de graaf. Het middelpunt van zo'n graaf is de verzameling van knopen waarvoor de straal minimaal is. Voor een groep bekomen uit de indeling die je gemaakt hebt bevat het middelpunt de meest typische soorten. Wat zijn de meest typische soorten voor de groep die de mens bevat?
Noot: de klassenhiërarchie van grafen is uitgebreid met een klasse GraafMetKnoopEnTakdata. Zie het uitgebreide bestand graaf.h. Bijkomende opgave: Maak een programma dat alle mogelijke groepen waarin de mens kan terechtkomen als het opgegeven groepsaantal varieert uitschrijft, met de bijbehorende middelpunten.