Ik ben op dit moment bezig om een programma te schrijven wat vier op een rij kan spelen. Hierbij kun je tegen een virtuele speler spelen. Deze virtuele speler wordt gerepresenteerd door een neuraal netwerk. Dit neurale netwerk heeft een variabel aantal input-nodes, een variabel aantal hidden-nodes (dus maar 1 layer) en één output-node. Het neurale netwerk kan zichzelf trainen door tegen zichzelf te spelen.
Nu ben ik echter op zoek naar een goede representatie van vier op een rij voor een neuraal netwerk. Ik ben zelf op de volgende twee representaties gekomen:
Ik ben zelf nog niet zo lang bezig met neurale netwerken maar volgens mij kan het aan een aantal zaken liggen dat het netwerk niet intelligenter wordt:
Nu ben ik echter op zoek naar een goede representatie van vier op een rij voor een neuraal netwerk. Ik ben zelf op de volgende twee representaties gekomen:
- Iedere input-node bij dit netwerk vertegenwoordigt een mogelijkheid van het aantal gele en rode "schijfjes" in een rij of kolom van het spel. De inputwaarde van iedere node wordt dus bepaald door het aantal rijen en kolommen wat een aantal gele en rode "schijfjes" bevat.
- Iedere input-node beschrijft het aantal gele en rode "schijfjes" in een veld van 3x3 vakjes van het spelbord. Het aantal input-nodes is dus het aantal mogelijke 3x3 vakjes (= 20). De waarde van de input-node wordt bepaald door het aantal "schijfjes" van de tegenstander (met een waarde -1) op te tellen bij het aantal "schijfjes" van de speler (met een waarde 1).
Ik ben zelf nog niet zo lang bezig met neurale netwerken maar volgens mij kan het aan een aantal zaken liggen dat het netwerk niet intelligenter wordt:
- De representatie van vier op een rij in het neurale netwerk is niet goed.
- Het neurale netwerk heeft niet genoeg aan 1 hidden layer.
- Er zit een foutje in de code.