mscroggs.co.uk
mscroggs.co.uk

subscribe

Blog

Visualising MENACE's learning

 2019-12-27 
In tonight's Royal Institution Christmas lecture, Hannah Fry and Matt Parker demonstrated how machine learning works using MENACE.
The copy of MENACE that appeared in the lecture was build and trained by me. During the training, I logged all the moved made by MENACE and the humans playing against them, and using this data I have created some visualisations of the machine's learning.
First up, here's a visualisation of the likelihood of MENACE choosing different moves as they play games. The thickness of each arrow represented the number of beads in the box corresponding to that move, so thicker arrows represent more likely moves.
The likelihood that MENACE will play each move.
There's an awful lot of arrows in this diagram, so it's clearer if we just visualise a few boxes. This animation shows how the number of beads in the first box changes over time.
The beads in the first box.
You can see that MENACE learnt that they should always play in the centre first, an ends up with a large number of green beads and almost none of the other colours. The following animations show the number of beads changing in some other boxes.
MENACE learns that the top left is a good move.
MENACE learns that the middle right is a good move.
MENACE is very likely to draw from this position so learns that almost all the possible moves are good moves.
The numbers in these change less often, as they are not used in every game: they are only used when the game reached the positions shown on the boxes.
We can visualise MENACE's learning progress by plotting how the number of beads in the first box changes over time.
The number of beads in MENACE's first box.
Alternatively, we could plot how the number of wins, loses and draws changes over time or view this as an animated bar chart.
The number of games MENACE wins, loses and draws.
The number of games MENACE has won, lost and drawn.
If you have any ideas for other interesting ways to present this data, let me know in the comments below.
×2      ×1            ×1      
(Click on one of these icons to react to this blog post)

You might also enjoy...

Comments

Comments in green were written by me. Comments in blue were not written by me.
@(anonymous): Have you been refreshing the page? Every time you refresh it resets MENACE to before it has learnt anything.

It takes around 80 games for MENACE to learn against the perfect AI. So it could be you've not left it playing for long enough? (Try turning the speed up to watch MENACE get better.)
Matthew
                 Reply
I have played around menace a bit and frankly it doesnt seem to be learning i occasionally play with it and it draws but againt the perfect ai you dont see as many draws, the perfect ai wins alot more
(anonymous)
                 Reply
@Colin: You can set MENACE playing against MENACE2 (MENACE that plays second) on the interactive MENACE. MENACE2's starting numbers of beads and incentives may need some tweaking to give it a chance though; I've been meaning to look into this in more detail at some point...
Matthew
                 Reply
Idle pondering (and something you may have covered elsewhere): what's the evolution as MENACE plays against itself? (Assuming MENACE can play both sides.)
Colin
                 Reply
 Add a Comment 


I will only use your email address to reply to your comment (if a reply is needed).

Allowed HTML tags: <br> <a> <small> <b> <i> <s> <sup> <sub> <u> <spoiler> <ul> <ol> <li> <logo>
To prove you are not a spam bot, please type "rotcaf" backwards in the box below (case sensitive):

Archive

Show me a random blog post
 2026 

Feb 2026

Christmas (2025) is over
 2025 
▼ show ▼
 2024 
▼ show ▼
 2023 
▼ show ▼
 2022 
▼ show ▼
 2021 
▼ show ▼
 2020 
▼ show ▼
 2019 
▼ show ▼
 2018 
▼ show ▼
 2017 
▼ show ▼
 2016 
▼ show ▼
 2015 
▼ show ▼
 2014 
▼ show ▼
 2013 
▼ show ▼
 2012 
▼ show ▼

Tags

matrix of cofactors harriss spiral approximation weak imposition electromagnetic field pascal's triangle manchester draughts crochet numerical analysis finite group platonic solids royal baby radio 4 hyperbolic surfaces asteroids kings probability graph theory phd golden spiral quadrilaterals wool flexagons simultaneous equations inverse matrices bots mathsteroids rust datasaurus dozen world cup squares 24 hour maths pac-man matrix of minors tmip triangles chess estimation football graphs inline code preconditioning friendly squares fence posts computational complexity dinosaurs light sound menace pizza cutting national lottery talking maths in public php determinants plastic ratio nonograms guest posts big internet math-off coventry geometry people maths fonts hats royal institution nine men's morris data visualisation chebyshev the aperiodical boundary element methods rhombicuboctahedron reddit manchester science festival speed arithmetic anscombe's quartet puzzles stirling numbers folding tube maps curvature bodmas fractals gaussian elimination dataset game show probability final fantasy warwick frobel pi christmas card cross stitch bubble bobble zines video games weather station london logs crossnumbers runge's phenomenon errors matrix multiplication machine learning matt parker cambridge binary mean gather town gerry anderson interpolation go martin gardner hexapawn error bars statistics regular expressions alphabets propositional calculus mathsjam european cup live stream turtles logo crossnumber mathslogicbot ucl countdown a gamut of games sorting stickers tennis trigonometry javascript raspberry pi data folding paper python pythagoras chalkdust magazine newcastle palindromes games books christmas craft databet wave scattering dates kenilworth signorini conditions advent calendar logic london underground captain scarlet thirteen convergence ternary finite element method crosswords golden ratio edinburgh oeis dragon curves realhats youtube partridge puzzle bempp polynomials news coins exponential growth game of life sport map projections correlation latex accuracy noughts and crosses standard deviation numbers pi approximation day hannah fry rugby misleading statistics recursion sobolev spaces reuleaux polygons programming braiding geogebra matrices

Archive

Show me a random blog post
▼ show ▼
© Matthew Scroggs 2012–2026