I have an interesting real world problem that can be abstracted and decomposed into a pattern recognition problem - specifically, recognising "known configurations" from within a 2D plane.
The problem can be described as follows:
- Given an MxN matrix (see image on left in the figure below)
- Given that each cell in the MxN matrix above contains one or more tuples
- A tuple consists of: i. A non zero integer variable ii. A categorical variable
- There are known, labelled configurations of cells (i.e. patterns) (see image on right in the figure below).
My question is, given all of the above, which would be the most appropriate machine learning algorithm to identify and extract patterns from a given MxN matrix?
The picture below provides a visual representation of the problem:
Note1: It is required that a pattern should be "recognised" regardless of where it is located within the grid.
Note2: In practice, patterns could "overlap" and a cell could hold tuples relating to different patterns. The algorithm needs to be able to discriminate between patterns - even in cases of "overlap" such as that described.