Mosaic Learning: A New Algorithm for Self Organising Neural Networks to Learn Dynamic Channel Assignment Schemes