Anyone who has followed MMA or Brazilian Jiu-Jitsu now knows that often the best combat techniques are not readily apparent -- in fact some are downright ridiculous looking and counterintuitive. A good example that comes to mind is "inverted guard". It involves raising your legs over your head as if you were trying to suck your own dick and somehow using that to your advantage against your opponent. I had it done to me at a gym recently and it completely boggled my mind how easy it was for him to put me in the rear naked choke from that initially awkward position.
Then for some reason my mind wandered to computers and their abilities in human games. We know that Brazilian Jiu-Jitsu is a special martial art in that it is extremely analagous to chess (no really, I'm not trying to sound flowery; this is a well-documented and true analogy, as people who do both BJJ and chess will understand). We also know that COMPUTERS CAN BEAT HUMANS AT CHESS.
So I was wondering "maybe we can invent a robot with same weight and strength and test its intellect against the BJJ champion". But that's too difficult b/c of the material required. So then I thought, "what are the uses for keeping it all software, no hardware?" A simulation, of course!
Now the question is: How much more "weird shit" is there to discover? Maybe martial arts and MMA have evolved long enough for humans to basically discovered most of the best techniques to use -- triangle, kimura, armbar, etc. Then again, maybe not (inverted guard is probably rather recent)! So in order to discover these new techniques, should we just roll around and discover them ourselves? Should we let the masters discover it and have it trickle down to us? OR, the third option: by MACHING LEARNING.
This is what I propose:
1. Program in the physics, kinematics, rules of the game, and the human body as accurately as possible, down to joints at least as small as the wrist. This is probably the hardest part, and we will have to tweak it until it looks like real humanoid BJJ/Judo.
2. Create a "starting" artificial intelligence agent. This agent should have a lot of pre-programmed techniques (all known techniques) and should preferrably already be as good as a black belt in BJJ/Judo.
3. The game is basically the agents running "minimax" algorithm on each other to see what is the most likely way to "finish/checkmate" (submit) the opponent.
4. Run a ton of games, 1on1, with varying weights, reaches, and reaction times, and use GENETIC ALGORITHMS to select only the most intelligent players
5. Run it for a very long time, tweaking if necessary
6. Observe the playing style of the finished product and see if it is different from regular human black belt players!
No comments:
Post a Comment