I will present a stripped-down version of a pattern recognition problem that I wish to solve. I would like references to machine learning algorithms and/or problem representations to address this kind of problem. Supervised learning algorithms are probably the most appropriate, because training data is very easy to generate.
Imagine we had several square sheet of paper, with potentially different sizes, and each sheet has a marker in each corner. We lay down these sheets on a table with arbitrary positions and orientations, and in arbitrary order. In general, some corners will be occluded because they will lie behind other sheets of paper.
An example scenario may look like the one below (left), where I have denoted visible markers as solid circles, and occluded markers as hollow circles. To aid visualization, I have also added in edges: solid for visible and dashed for occluded. Now let's say we have a system (e.g. overhead camera + algorithm) that can recover the x-y position of each visible marker, but nothing else. We do not know how many squares there are in reality. The recovered data would look like the right side of the above image.
The problem is to recover which markers belong to the same square.