Trying to randomise the placement of a fixed set of tileable objects; How do I begin?

Background: I am very new to Grasshopper, but I want to know how to approach this problem so I can start figuring out from there.

I have a set of 8 objects with different edges but which are tile-able with each other. I have done up a set manually, but now I am looking to try to use grasshopper to aid me with this random distribution. In the case of this situation, how do I begin? Do I make a set of these 8 objects and get grasshopper to reference said objects in order to distribute; and in this case, how do I ensure that the edges of the objects align with the next? Or is there another way to approach this situation?

Example of the set which I have manually tiled. Similar objects are the same colour.

Set of the panel objects at a different angle.

Thank you.

various random solutions by HS_Kim is a good place to start.

https://discourse.mcneel.com/search?q=Random%20user%3Ahs_kim