In some learning algorithms, we don't directly train models by datasets with labels to predict, but rather we create 2 competing models and let them fight/compete against each other. As the many millions of epochs pass, the models fight each other, and every time each model improves itself (further optimise its weights) to win. After many epochs of the models smashing each other, eventually they become really strong super-hero models that can totally blow any human out of the water. This approach seems to be often used with machine learning models that are tasked to play multiplayer games. Instead of letting them play with the slow humans, they fight with each other to death for many many epochs to become way stronger than any human can naturally be.
What is the name of such kind of machine learning approach?