Engineering Experience 4: Design a Small Solar Vehicle/Nl/Team PM7/Design rapport/genetisch algoritme

From Wikiversity
Jump to navigation Jump to search

Genetisch algoritme voor het berekenen van de benodigde tandwielen[edit]

Uitleg[edit]

Aangezien er 3 overbrengingen (per versnelling) zijn, zijn er 6 tandwielen nodig per versnelling. Er zijn 2 overbrengingen gemeenschappelijk, terwijl een 3e de 2 versnellingen differentieert. In totaal zijn er dus 8 tandwielen nodig. In de catalogus zijn er 30 soorten tandwielen die bruikbaar zijn voor de zonnewagen. Het aantal mogelijke combinaties is dus 30^8 of 656 100 000 000. De naïeve manier van alle combinaties te overlopen zou vrij veel tijd in beslag nemen.

Dankzij een techniek uit de artificiële intelligentie kan de oplossing sneller bekomen worden, of op zijn minst benadert worden. Deze techniek die een beetje gelijkt op wat er bij voortplanting met genen gebeurt wordt een genetisch algoritme genoemd.

Bij genetische algoritmen, wordt een oplossing voorgesteld door een set van waarden (genoom). Deze set heeft ook een "fitness" die weergeeft hoe ver van een ideale oplossing deze combinatie ligt. In dit geval, bevat stellen de waarden in de set de tandwielen voor. Er zijn dus 8 waarden. De fitness geeft weer hoe ver de oplossing van de 2 gevraagde overbrengingsverhoudingen ligt.

Verder is er een "pool" van oplossingen. In dit geval worden de 20 beste oplossingen bij gehouden. Uit deze pool worden 2 oplossingen genomen en op een willekeurige plaats gekruist. Stel dat een oplossing wordt voorgesteld door AAAAAAAA en een andere door BBBBBBBB. Een kruising op de 3e positie geeft AABBBBBB en BBAAAAAA terug.

Vervolgens kunnen er ook nog mutaties gebeuren. In dit geval is een mutatie de vergroting of verkleining van een van de tandwielen in de oplossing.

Na de kruising en mutatie wordt de fitness van de nieuwe oplossing berekent en toegevoegd aan de pool als hij bij de beste oplossingen hoort.

Broncode[edit]

[Maple broncode]