MAIO, Mobile Allocation Index Offset means from which frequency the system shall start hopping.
HSN, Hopping Sequence Number means how pseudo-random the system shall start hopping.
So, by assigning HSN you are avoiding co-channel/adjacent channel interference and collision, how can you do this? by setting the same HSN for the cells within the same site thus providing synchronization.
As for neighbor cells you’ll do the same making sure to have different HSNs for neighbour cells.
I hope I made it clear