There are two classes, let's call them X and O. A number of elements belonging to these classes are spread out in the xy-plane. Here is an example where the two classes are not linearly separable. It is not possible to draw a straight line that perfectly divides the Xs and the Os on each side of the line.

**How to determine, in general, whether the two classes are linearly separable?**. I am interested in an algorithm where no assumptions are made regarding the number of elements or their distribution. An algorithm of the *lowest computational complexity* is of course preferred.