If you have ever played around with Deep Learning, or neural networks in general, then you will have noted the esoteric and opaque nature of the various forms of algorithms. In addition, manual intervention is typically not possible given the lack of knowledge of how things are wired internally and the relationships. The developers at Snasci came up with a different approach to the problem of classification, the Minkowski Particle Collision Classifier, or MPCC for short.

A MPCC, at its most basic level, is a number of particles, or balls, bouncing around a box. The box is a basic Euclidean space but just like Minkowski space we add a dimension of time permitting the ability to introduce or remove elements.

But how does it work? How does it classify things?

A MPCC is a bit like a pinball machine, or pool/snooker table, in that this box has holes in it and the balls are labeled. If a labeled ball goes into a hole, the input source has been classified. Inputs are treated much like a plunger in a pinball machine, or a cue in pool/snooker; they impart force upon the balls and directionality.

Let’s take a basic XOR classification problem as an example. The XOR classification problem is defined as follows:

An XOR function should return a true value if the two inputs are not equal and a false value if they are equal.

Link to Medium.com.

In an MPCC, we can visualise the XOR function as depicted in the diagram below. As we will learn in a moment, this is an ideal representation as there are a number of factors that we adjust:

The box represents the entire potential solution space, the hole is the global minimum. If both balls go in the hole, they are classified as not equal. Under any other condition, they will bounce around the box indefinitely. The trick to the MPCC is that the trajectories of the balls are deterministic.

We can adjust various factors within the MPCC at any point in time:

Shape of the solution spacetime (can dynamically change also).

Acceleration/Deceleration by a given wall.

Velocity of a ball.

Heading of a ball.

Number of balls.

Forces at any point in the spacetime.

Location of a hole.

Number of holes.

Number of labeled balls in a hole to satisfy a condition.

Execution time.

Number of dimensions.

Topology of dimensional relationships.

Synchronous hole entry

Collision detection

Termination conditions (i.e. number of wall strikes, etc.)

These adjustment factors allow us a mechanism which we can understand and visually represent to reduce the solution space of a given problem. Rather than brute force, or gradient descents, we can introduce a little common sense or reasoning to the classification process.

MPCCs have not been explored much and the full range of problems they are suitable for is not fully understood. In terms of classification, they should be on par with neural networks, but can be more difficult to train. The upshot is that they are easier to manually adjust to cover edge cases. MPCCs can be driven by many algorithms including genetic algorithms.

As with any classification algorithm, the goal is to provide the most accurate classifications in the shortest execution time.